commit
1d204c4c80
|
@ -3,6 +3,7 @@
|
||||||
"completecourse": "Complete course",
|
"completecourse": "Complete course",
|
||||||
"completed": "Completed",
|
"completed": "Completed",
|
||||||
"completiondate": "Completion date",
|
"completiondate": "Completion date",
|
||||||
|
"completionmenuitem": "Completion",
|
||||||
"couldnotloadreport": "Could not load the course completion report. Please try again later.",
|
"couldnotloadreport": "Could not load the course completion report. Please try again later.",
|
||||||
"coursecompletion": "Course completion",
|
"coursecompletion": "Course completion",
|
||||||
"criteria": "Criteria",
|
"criteria": "Criteria",
|
||||||
|
|
|
@ -69,7 +69,7 @@ export class AddonCourseCompletionCourseOptionHandler implements CoreCourseOptio
|
||||||
*/
|
*/
|
||||||
getDisplayData?(injector: Injector, courseId: number): CoreCourseOptionsHandlerData {
|
getDisplayData?(injector: Injector, courseId: number): CoreCourseOptionsHandlerData {
|
||||||
return {
|
return {
|
||||||
title: 'addon.coursecompletion.coursecompletion',
|
title: 'addon.coursecompletion.completionmenuitem',
|
||||||
class: 'addon-coursecompletion-course-handler',
|
class: 'addon-coursecompletion-course-handler',
|
||||||
component: AddonCourseCompletionReportComponent,
|
component: AddonCourseCompletionReportComponent,
|
||||||
};
|
};
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<ion-icon item-start name="warning" color="warning"></ion-icon> {{ 'addon.mod_choice.resultsnotsynced' | translate }}
|
<ion-icon item-start name="warning" color="warning"></ion-icon> {{ 'addon.mod_choice.resultsnotsynced' | translate }}
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<canvas core-chart type="pie" [data]="data" [labels]="labels"></canvas>
|
<canvas core-chart type="pie" [data]="data" [labels]="labels" height="300"></canvas>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-col>
|
</ion-col>
|
||||||
<ion-col *ngIf="choice.publish && results" col-12 col-lg-8>
|
<ion-col *ngIf="choice.publish && results" col-12 col-lg-8>
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-split-view>
|
<core-split-view>
|
||||||
<ion-content>
|
<ion-content [class.has-fab]="canAdd">
|
||||||
<ion-refresher [enabled]="loaded" (ionRefresh)="doRefresh($event)">
|
<ion-refresher [enabled]="loaded" (ionRefresh)="doRefresh($event)">
|
||||||
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
|
@ -60,5 +60,11 @@
|
||||||
<ion-infinite-scroll-content></ion-infinite-scroll-content>
|
<ion-infinite-scroll-content></ion-infinite-scroll-content>
|
||||||
</ion-infinite-scroll>
|
</ion-infinite-scroll>
|
||||||
</core-loading>
|
</core-loading>
|
||||||
|
|
||||||
|
<ion-fab bottom right *ngIf="canAdd">
|
||||||
|
<button ion-fab (click)="openNewEntry()" [attr.aria-label]="'addon.mod_glossary.addentry' | translate">
|
||||||
|
<ion-icon name="add"></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-fab>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
</core-split-view>
|
</core-split-view>
|
||||||
|
|
|
@ -72,3 +72,9 @@
|
||||||
</core-tabs>
|
</core-tabs>
|
||||||
|
|
||||||
</core-loading>
|
</core-loading>
|
||||||
|
|
||||||
|
<ion-fab bottom right *ngIf="canEdit">
|
||||||
|
<button ion-fab (click)="goToNewPage()" [attr.aria-label]="'addon.mod_wiki.createpage' | translate">
|
||||||
|
<ion-icon name="add"></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-fab>
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
height: calc(100% - #{($navbar-ios-height)});
|
height: calc(100% - #{($navbar-ios-height)});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.platform-cordova.ios .core-avoid-header ion-content.statusbar-padding,
|
||||||
.platform-cordova.ios .core-avoid-header .menu-inner > ion-content {
|
.platform-cordova.ios .core-avoid-header .menu-inner > ion-content {
|
||||||
top: $navbar-ios-height + $cordova-ios-statusbar-padding;
|
top: $navbar-ios-height + $cordova-ios-statusbar-padding;
|
||||||
height: calc(100% - #{($navbar-ios-height + $cordova-ios-statusbar-padding)});
|
height: calc(100% - #{($navbar-ios-height + $cordova-ios-statusbar-padding)});
|
||||||
|
|
|
@ -815,3 +815,7 @@ ion-alert.core-inapp-notification {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.keyboard-is-open core-ion-tabs .tabbar {
|
||||||
|
display: none;
|
||||||
|
}
|
|
@ -155,7 +155,6 @@ export class CoreRichTextEditorComponent implements AfterContentInit, OnDestroy
|
||||||
*/
|
*/
|
||||||
protected maximizeEditorSize(): Promise<number> {
|
protected maximizeEditorSize(): Promise<number> {
|
||||||
this.content.resize();
|
this.content.resize();
|
||||||
const contentVisibleHeight = this.content.contentHeight;
|
|
||||||
|
|
||||||
const deferred = this.utils.promiseDefer();
|
const deferred = this.utils.promiseDefer();
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
color: $core-top-tabs-color !important;
|
color: $core-top-tabs-color !important;
|
||||||
font-size: 1.6rem;
|
font-size: 1.6rem;
|
||||||
border: 0;
|
border: 0;
|
||||||
|
padding: 0 !important;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -24,6 +25,7 @@
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
display: block;
|
display: block;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
&[aria-selected=true] {
|
&[aria-selected=true] {
|
||||||
|
|
|
@ -77,6 +77,7 @@ export class CoreAppProvider {
|
||||||
this.keyboard.onKeyboardShow().subscribe((data) => {
|
this.keyboard.onKeyboardShow().subscribe((data) => {
|
||||||
// Execute the callback in the Angular zone, so change detection doesn't stop working.
|
// Execute the callback in the Angular zone, so change detection doesn't stop working.
|
||||||
zone.run(() => {
|
zone.run(() => {
|
||||||
|
document.body.classList.add('keyboard-is-open');
|
||||||
this.isKeyboardShown = true;
|
this.isKeyboardShown = true;
|
||||||
events.trigger(CoreEventsProvider.KEYBOARD_CHANGE, this.isKeyboardShown);
|
events.trigger(CoreEventsProvider.KEYBOARD_CHANGE, this.isKeyboardShown);
|
||||||
});
|
});
|
||||||
|
@ -84,6 +85,7 @@ export class CoreAppProvider {
|
||||||
this.keyboard.onKeyboardHide().subscribe((data) => {
|
this.keyboard.onKeyboardHide().subscribe((data) => {
|
||||||
// Execute the callback in the Angular zone, so change detection doesn't stop working.
|
// Execute the callback in the Angular zone, so change detection doesn't stop working.
|
||||||
zone.run(() => {
|
zone.run(() => {
|
||||||
|
document.body.classList.remove('keyboard-is-open');
|
||||||
this.isKeyboardShown = false;
|
this.isKeyboardShown = false;
|
||||||
events.trigger(CoreEventsProvider.KEYBOARD_CHANGE, this.isKeyboardShown);
|
events.trigger(CoreEventsProvider.KEYBOARD_CHANGE, this.isKeyboardShown);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue