commit
47251bdc73
|
@ -3,7 +3,7 @@
|
||||||
<h2>{{ 'addon.block_activitymodules.pluginname' | translate }}</h2>
|
<h2>{{ 'addon.block_activitymodules.pluginname' | translate }}</h2>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
<ion-item class="ion-text-wrap item-media" *ngFor="let entry of entries" detail="false" button
|
<ion-item class="ion-text-wrap item-media" *ngFor="let entry of entries" detail="false" button
|
||||||
(click)="gotoCoureListModType(entry)">
|
(click)="gotoCoureListModType(entry)">
|
||||||
<img slot="start" [src]="entry.icon" alt="" role="presentation" class="core-module-icon">
|
<img slot="start" [src]="entry.icon" alt="" role="presentation" class="core-module-icon">
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
</core-context-menu-item>
|
</core-context-menu-item>
|
||||||
</core-context-menu>
|
</core-context-menu>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
<div class="safe-padding-horizontal" [hidden]="showFilter || !showSelectorFilter">
|
<div class="safe-padding-horizontal" [hidden]="showFilter || !showSelectorFilter">
|
||||||
<!-- "Time" selector. -->
|
<!-- "Time" selector. -->
|
||||||
<core-combobox [label]="'core.show' | translate" [selection]="selectedFilter" (onChange)="selectedChanged($event)">
|
<core-combobox [label]="'core.show' | translate" [selection]="selectedFilter" (onChange)="selectedChanged($event)">
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
</core-horizontal-scroll-controls>
|
</core-horizontal-scroll-controls>
|
||||||
</div>
|
</div>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page">
|
||||||
<core-empty-box *ngIf="courses.length == 0" image="assets/img/icons/courses.svg" inline="true"
|
<core-empty-box *ngIf="courses.length == 0" image="assets/img/icons/courses.svg" inline="true"
|
||||||
[message]="'addon.block_recentlyaccessedcourses.nocourses' | translate"></core-empty-box>
|
[message]="'addon.block_recentlyaccessedcourses.nocourses' | translate"></core-empty-box>
|
||||||
<!-- List of courses. -->
|
<!-- List of courses. -->
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
</core-horizontal-scroll-controls>
|
</core-horizontal-scroll-controls>
|
||||||
</div>
|
</div>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page">
|
||||||
<div
|
<div
|
||||||
[id]="scrollElementId"
|
[id]="scrollElementId"
|
||||||
[hidden]="!items || items.length === 0"
|
[hidden]="!items || items.length === 0"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<h2>{{ 'addon.block_sitemainmenu.pluginname' | translate }}</h2>
|
<h2>{{ 'addon.block_sitemainmenu.pluginname' | translate }}</h2>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
<ng-container *ngIf="mainMenuBlock">
|
<ng-container *ngIf="mainMenuBlock">
|
||||||
<ion-item class="ion-text-wrap" *ngIf="mainMenuBlock.summary">
|
<ion-item class="ion-text-wrap" *ngIf="mainMenuBlock.summary">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
</core-horizontal-scroll-controls>
|
</core-horizontal-scroll-controls>
|
||||||
</div>
|
</div>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page">
|
||||||
<core-empty-box *ngIf="courses.length == 0" image="assets/img/icons/courses.svg" inline="true"
|
<core-empty-box *ngIf="courses.length == 0" image="assets/img/icons/courses.svg" inline="true"
|
||||||
[message]="'addon.block_starredcourses.nocourses' | translate"></core-empty-box>
|
[message]="'addon.block_starredcourses.nocourses' | translate"></core-empty-box>
|
||||||
<!-- List of courses. -->
|
<!-- List of courses. -->
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
</core-context-menu-item>
|
</core-context-menu-item>
|
||||||
</core-context-menu>
|
</core-context-menu>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
<div class="safe-padding-horizontal">
|
<div class="safe-padding-horizontal">
|
||||||
<core-combobox [selection]="filter" (onChange)="switchFilter($event)">
|
<core-combobox [selection]="filter" (onChange)="switchFilter($event)">
|
||||||
<ion-select-option class="ion-text-wrap" value="all">
|
<ion-select-option class="ion-text-wrap" value="all">
|
||||||
|
@ -35,12 +35,12 @@
|
||||||
</ion-select-option>
|
</ion-select-option>
|
||||||
</core-combobox>
|
</core-combobox>
|
||||||
</div>
|
</div>
|
||||||
<core-loading [hideUntil]="timeline.loaded" [hidden]="sort != 'sortbydates'" class="core-loading-center">
|
<core-loading [hideUntil]="timeline.loaded" [hidden]="sort != 'sortbydates'" [fullscreen]="false">
|
||||||
<addon-block-timeline-events [events]="timeline.events" showCourse="true" [canLoadMore]="timeline.canLoadMore"
|
<addon-block-timeline-events [events]="timeline.events" showCourse="true" [canLoadMore]="timeline.canLoadMore"
|
||||||
(loadMore)="loadMoreTimeline()" [from]="dataFrom" [to]="dataTo"></addon-block-timeline-events>
|
(loadMore)="loadMoreTimeline()" [from]="dataFrom" [to]="dataTo"></addon-block-timeline-events>
|
||||||
</core-loading>
|
</core-loading>
|
||||||
<core-loading [hideUntil]="timelineCourses.loaded" [hidden]="sort != 'sortbycourses'"
|
<core-loading [hideUntil]="timelineCourses.loaded" [hidden]="sort != 'sortbycourses'"
|
||||||
class="core-loading-center safe-area-page">
|
[fullscreen]="false" class="safe-area-page">
|
||||||
<ion-grid class="ion-no-padding">
|
<ion-grid class="ion-no-padding">
|
||||||
<ion-row class="ion-no-padding">
|
<ion-row class="ion-no-padding">
|
||||||
<ion-col *ngFor="let course of timelineCourses.courses" class="ion-no-padding" size="12" size-md="6">
|
<ion-col *ngFor="let course of timelineCourses.courses" class="ion-no-padding" size="12" size-md="6">
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="refresh($event.target)">
|
<ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="refresh($event.target)">
|
||||||
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
<ion-item *ngIf="showMyEntriesToggle">
|
<ion-item *ngIf="showMyEntriesToggle">
|
||||||
<ion-label>{{ 'addon.blog.showonlyyourentries' | translate }}</ion-label>
|
<ion-label>{{ 'addon.blog.showonlyyourentries' | translate }}</ion-label>
|
||||||
<ion-toggle [(ngModel)]="onlyMyEntries" (ionChange)="onlyMyEntriesToggleChanged(onlyMyEntries)"></ion-toggle>
|
<ion-toggle [(ngModel)]="onlyMyEntries" (ionChange)="onlyMyEntriesToggleChanged(onlyMyEntries)"></ion-toggle>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
</core-context-menu>
|
</core-context-menu>
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
<!-- Period name and arrows to navigate. -->
|
<!-- Period name and arrows to navigate. -->
|
||||||
<ion-grid class="ion-no-padding addon-calendar-navigation">
|
<ion-grid class="ion-no-padding addon-calendar-navigation">
|
||||||
<ion-row class="ion-align-items-center">
|
<ion-row class="ion-align-items-center">
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
<core-empty-box *ngIf="!filteredEvents || !filteredEvents.length" icon="fas-calendar" [message]="'addon.calendar.noevents' | translate">
|
<core-empty-box *ngIf="!filteredEvents || !filteredEvents.length" icon="fas-calendar" [message]="'addon.calendar.noevents' | translate">
|
||||||
</core-empty-box>
|
</core-empty-box>
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<ion-refresher slot="fixed" [disabled]="!confirmedLoaded" (ionRefresh)="refreshData($event.target)">
|
<ion-refresher slot="fixed" [disabled]="!confirmedLoaded" (ionRefresh)="refreshData($event.target)">
|
||||||
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<core-loading [hideUntil]="confirmedLoaded" class="core-loading-center">
|
<core-loading [hideUntil]="confirmedLoaded">
|
||||||
<ion-list class="ion-no-margin">
|
<ion-list class="ion-no-margin">
|
||||||
<ion-item class="ion-text-wrap addon-messages-conversation-item" (click)="selectUser(contact.id)" button
|
<ion-item class="ion-text-wrap addon-messages-conversation-item" (click)="selectUser(contact.id)" button
|
||||||
*ngFor="let contact of confirmedContacts" [attr.aria-label]="contact.fullname" detail="true"
|
*ngFor="let contact of confirmedContacts" [attr.aria-label]="contact.fullname" detail="true"
|
||||||
|
@ -62,7 +62,7 @@
|
||||||
<ion-refresher slot="fixed" [disabled]="!requestsLoaded" (ionRefresh)="refreshData($event.target)">
|
<ion-refresher slot="fixed" [disabled]="!requestsLoaded" (ionRefresh)="refreshData($event.target)">
|
||||||
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<core-loading [hideUntil]="requestsLoaded" class="core-loading-center">
|
<core-loading [hideUntil]="requestsLoaded">
|
||||||
<ion-list class="ion-no-margin">
|
<ion-list class="ion-no-margin">
|
||||||
<ion-item class="ion-text-wrap addon-messages-conversation-item" *ngFor="let request of requests"
|
<ion-item class="ion-text-wrap addon-messages-conversation-item" *ngFor="let request of requests"
|
||||||
[attr.aria-label]="request.fullname" (click)="selectUser(request.id)" button
|
[attr.aria-label]="request.fullname" (click)="selectUser(request.id)" button
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
|
|
||||||
<!-- User and status of the submission. -->
|
<!-- User and status of the submission. -->
|
||||||
<ion-item class="ion-text-wrap" *ngIf="!blindMarking && user" core-user-link [userId]="submitId" [courseId]="courseId"
|
<ion-item class="ion-text-wrap" *ngIf="!blindMarking && user" core-user-link [userId]="submitId" [courseId]="courseId"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
|
|
||||||
<core-loading [hideUntil]="discussions.loaded" class="core-loading-center">
|
<core-loading [hideUntil]="discussions.loaded">
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
(completionChanged)="onCompletionChange()">
|
(completionChanged)="onCompletionChange()">
|
||||||
|
|
|
@ -667,6 +667,9 @@ export class AddonModForumIndexComponent extends CoreCourseModuleMainActivityCom
|
||||||
* @param discussion Discussion.
|
* @param discussion Discussion.
|
||||||
*/
|
*/
|
||||||
async showOptionsMenu(event: Event, discussion: AddonModForumDiscussion): Promise<void> {
|
async showOptionsMenu(event: Event, discussion: AddonModForumDiscussion): Promise<void> {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
const popoverData = await CoreDomUtils.openPopover<{ action?: string; value: boolean }>({
|
const popoverData = await CoreDomUtils.openPopover<{ action?: string; value: boolean }>({
|
||||||
component: AddonModForumDiscussionOptionsMenuComponent,
|
component: AddonModForumDiscussionOptionsMenuComponent,
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
<ion-item class="ion-text-wrap" (click)="editPost()" *ngIf="offlinePost || (canEdit && isOnline)">
|
<ion-item class="ion-text-wrap" (click)="editPost()" *ngIf="offlinePost || (canEdit && isOnline)">
|
||||||
<ion-icon name="fas-pen" slot="start" aria-hidden="true"></ion-icon>
|
<ion-icon name="fas-pen" slot="start" aria-hidden="true"></ion-icon>
|
||||||
<ion-label>
|
<ion-label>
|
||||||
|
|
|
@ -93,9 +93,9 @@
|
||||||
<ion-button fill="clear" size="small"
|
<ion-button fill="clear" size="small"
|
||||||
[attr.aria-controls]="'addon-forum-reply-edit-form-' + uniqueId"
|
[attr.aria-controls]="'addon-forum-reply-edit-form-' + uniqueId"
|
||||||
[attr.aria-expanded]="replyData.replyingTo === post.id"
|
[attr.aria-expanded]="replyData.replyingTo === post.id"
|
||||||
(click)="showReplyForm()">
|
(click)="showReplyForm($event)">
|
||||||
<ion-icon name="fa-reply" slot="start" aria-hidden="true">
|
<ion-icon name="fa-reply" slot="start" aria-hidden="true"></ion-icon>
|
||||||
</ion-icon> {{ 'addon.mod_forum.reply' | translate }}
|
{{ 'addon.mod_forum.reply' | translate }}
|
||||||
</ion-button>
|
</ion-button>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
@import "~theme/globals";
|
@import "~theme/globals";
|
||||||
|
|
||||||
:host .addon-mod_forum-post {
|
:host .addon-mod_forum-post {
|
||||||
background-color: var(--white);
|
background-color: var(--ion-item-background);
|
||||||
border-bottom: 1px solid var(--addon-forum-border-color);
|
border-bottom: 1px solid var(--addon-forum-border-color);
|
||||||
|
|
||||||
.addon-forum-star {
|
.addon-forum-star {
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
ion-icon {
|
ion-icon {
|
||||||
@include margin(0, 6px, 0, 0);
|
@include margin(0, 6px, 0, 0);
|
||||||
|
|
|
@ -306,8 +306,13 @@ export class AddonModForumPostComponent implements OnInit, OnDestroy, OnChanges
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this post as being replied to.
|
* Set this post as being replied to.
|
||||||
|
*
|
||||||
|
* @param event Click event.
|
||||||
*/
|
*/
|
||||||
async showReplyForm(): Promise<void> {
|
async showReplyForm(event: Event): Promise<void> {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
if (this.replyData.isEditing) {
|
if (this.replyData.isEditing) {
|
||||||
// User is editing a post, data needs to be resetted. Ask confirm if there is unsaved data.
|
// User is editing a post, data needs to be resetted. Ask confirm if there is unsaved data.
|
||||||
try {
|
try {
|
||||||
|
@ -323,7 +328,7 @@ export class AddonModForumPostComponent implements OnInit, OnDestroy, OnChanges
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch {
|
||||||
// Cancelled.
|
// Cancelled.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
[autoFocus]="true" [lengthCheck]="2" (onClear)="toggleSearch()" searchArea="AddonModGlossary-{{module.id}}">
|
[autoFocus]="true" [lengthCheck]="2" (onClear)="toggleSearch()" searchArea="AddonModGlossary-{{module.id}}">
|
||||||
</core-search-box>
|
</core-search-box>
|
||||||
|
|
||||||
<core-loading [hideUntil]="entries.loaded" class="core-loading-center">
|
<core-loading [hideUntil]="entries.loaded">
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
(completionChanged)="onCompletionChange()">
|
(completionChanged)="onCompletionChange()">
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
<core-tabs [hideUntil]="loaded" [selectedIndex]="selectedTab">
|
<core-tabs [hideUntil]="loaded" [selectedIndex]="selectedTab">
|
||||||
<!-- Index/Preview tab. -->
|
<!-- Index/Preview tab. -->
|
||||||
<core-tab [title]="'addon.mod_lesson.preview' | translate" (ionSelect)="indexSelected()">
|
<core-tab [title]="'addon.mod_lesson.preview' | translate" (ionSelect)="indexSelected()">
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="loaded" class="safe-area-page">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
</core-navbar-buttons>
|
</core-navbar-buttons>
|
||||||
|
|
||||||
<!-- Content. -->
|
<!-- Content. -->
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded">
|
||||||
|
|
||||||
<!-- Activity info. -->
|
<!-- Activity info. -->
|
||||||
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
<core-course-module-info *ngIf="showCompletion" [module]="module" [showManualCompletion]="true"
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
|
|
||||||
<core-loading [hideUntil]="notesLoaded" class="core-loading-center">
|
<core-loading [hideUntil]="notesLoaded">
|
||||||
<ion-item class="ion-text-wrap" *ngIf="user">
|
<ion-item class="ion-text-wrap" *ngIf="user">
|
||||||
<core-user-avatar [user]="user" [courseId]="courseId" slot="start" [linkProfile]="false"></core-user-avatar>
|
<core-user-avatar [user]="user" [courseId]="courseId" slot="start" [linkProfile]="false"></core-user-avatar>
|
||||||
<ion-label><h2>{{user!.fullname}}</h2></ion-label>
|
<ion-label><h2>{{user!.fullname}}</h2></ion-label>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<ion-list *ngIf="ddQuestion && (ddQuestion.text || ddQuestion.text === '')" class="addon-qtype-ddimageortext-container">
|
<div *ngIf="ddQuestion && (ddQuestion.text || ddQuestion.text === '')" class="addon-qtype-ddimageortext-container">
|
||||||
<!-- Content is outside the core-loading to let the script calculate drag items position -->
|
<!-- Content is outside the core-loading to let the script calculate drag items position -->
|
||||||
<core-loading [hideUntil]="ddQuestion.loaded"></core-loading>
|
<core-loading [hideUntil]="ddQuestion.loaded"></core-loading>
|
||||||
|
|
||||||
|
@ -15,10 +15,13 @@
|
||||||
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" [courseId]="courseId"
|
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" [courseId]="courseId"
|
||||||
(afterRender)="textRendered()">
|
(afterRender)="textRendered()">
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
|
</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item class="ion-text-wrap" [hidden]="!ddQuestion.loaded">
|
||||||
|
<ion-label>
|
||||||
<core-format-text *ngIf="ddQuestion.ddArea" [adaptImg]="false" [component]="component" [componentId]="componentId"
|
<core-format-text *ngIf="ddQuestion.ddArea" [adaptImg]="false" [component]="component" [componentId]="componentId"
|
||||||
[text]="ddQuestion.ddArea" [filter]="false" (afterRender)="ddAreaRendered()">
|
[text]="ddQuestion.ddArea" [filter]="false" (afterRender)="ddAreaRendered()">
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-list>
|
</div>
|
||||||
|
|
|
@ -2,18 +2,29 @@
|
||||||
|
|
||||||
// Style ddimageortext content a bit. Almost all these styles are copied from Moodle.
|
// Style ddimageortext content a bit. Almost all these styles are copied from Moodle.
|
||||||
:host {
|
:host {
|
||||||
.addon-qtype-ddimageortext-container {
|
--ddimageortext-border-drop: var(--gray-darker);
|
||||||
min-height: 80px; // To display the loading.
|
--ddimageortext-draghome-background: nth($core-dd-question-colors, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.addon-qtype-ddimageortext-container {
|
||||||
|
min-height: 80px; // To display the loading.
|
||||||
|
}
|
||||||
|
|
||||||
|
core-format-text ::ng-deep {
|
||||||
|
|
||||||
|
div.ddarea {
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
margin-top: 10px;
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
core-format-text ::ng-deep {
|
|
||||||
.qtext {
|
.qtext {
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.droparea img {
|
div.droparea img {
|
||||||
border: 1px solid var(--gray-darker);
|
border: 1px solid var(--core-dd-question-border);
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,9 +38,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
div.draghome {
|
div.draghome {
|
||||||
border: 1px solid var(--gray-darker);
|
border: 1px solid var(--core-dd-question-border);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-color: #B0C4DE;
|
background-color: var(--ddimageortext-draghome-background);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: auto;
|
height: auto;
|
||||||
width: auto;
|
width: auto;
|
||||||
|
@ -39,37 +50,40 @@
|
||||||
@for $i from 0 to length($core-dd-question-colors) {
|
@for $i from 0 to length($core-dd-question-colors) {
|
||||||
.group#{$i + 1} {
|
.group#{$i + 1} {
|
||||||
background: nth($core-dd-question-colors, $i + 1);
|
background: nth($core-dd-question-colors, $i + 1);
|
||||||
|
color: get_contrast_color(nth($core-dd-question-colors, $i + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.group2 {
|
.group2 {
|
||||||
border-radius: 10px 0 0 0;
|
border-radius: var(--core-dd-question-radius) 0 0 0;
|
||||||
}
|
}
|
||||||
.group3 {
|
.group3 {
|
||||||
border-radius: 0 10px 0 0;
|
border-radius: 0 var(--core-dd-question-radius) 0 0;
|
||||||
}
|
}
|
||||||
.group4 {
|
.group4 {
|
||||||
border-radius: 0 0 10px 0;
|
border-radius: 0 0 var(--core-dd-question-radius) 0;
|
||||||
}
|
}
|
||||||
.group5 {
|
.group5 {
|
||||||
border-radius: 0 0 0 10px;
|
border-radius: 0 0 0 var(--core-dd-question-radius);
|
||||||
}
|
}
|
||||||
.group6 {
|
.group6 {
|
||||||
border-radius: 0 10px 10px 0;
|
border-radius: 0 var(--core-dd-question-radius) var(--core-dd-question-radius) 0;
|
||||||
}
|
}
|
||||||
.group7 {
|
.group7 {
|
||||||
border-radius: 10px 0 0 10px;
|
border-radius: var(--core-dd-question-radius) 0 0 var(--core-dd-question-radius);
|
||||||
}
|
}
|
||||||
.group8 {
|
.group8 {
|
||||||
border-radius: 10px 10px 10px 10px;
|
border-radius: var(--core-dd-question-radius) var(--core-dd-question-radius) var(--core-dd-question-radius) var(--core-dd-question-radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
.drag {
|
.drag {
|
||||||
border: 1px solid var(--gray-darker);
|
border: 1px solid var(--core-dd-question-border);
|
||||||
color: var(--ion-text-color);
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
.drag.placed {
|
||||||
|
border: 1px solid var(--ddimageortext-border-drop);
|
||||||
|
}
|
||||||
.dragitems.readonly .drag {
|
.dragitems.readonly .drag {
|
||||||
cursor: auto;
|
cursor: auto;
|
||||||
}
|
}
|
||||||
|
@ -85,16 +99,11 @@
|
||||||
.drag img {
|
.drag img {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.ddarea {
|
|
||||||
text-align : center;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.dropbackground {
|
.dropbackground {
|
||||||
margin:0 auto;
|
margin:0 auto;
|
||||||
}
|
}
|
||||||
.dropzone {
|
.dropzone {
|
||||||
border: 1px solid var(--gray-darker);
|
border: 1px solid var(--ddimageortext-border-drop);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -104,7 +113,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
div.dragitems div.draghome, div.dragitems div.drag {
|
div.dragitems div.draghome, div.dragitems div.drag {
|
||||||
font:13px/1.231 arial,helvetica,clean,sans-serif;
|
font: 13px/1.231 arial, helvetica, clean, sans-serif;
|
||||||
}
|
}
|
||||||
.drag.beingdragged {
|
.drag.beingdragged {
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<ion-list *ngIf="ddQuestion && (ddQuestion.text || ddQuestion.text === '')" class="addon-qtype-ddmarker-container">
|
<div *ngIf="ddQuestion && (ddQuestion.text || ddQuestion.text === '')" class="addon-qtype-ddmarker-container">
|
||||||
<!-- Content is outside the core-loading to let the script calculate drag items position -->
|
<!-- Content is outside the core-loading to let the script calculate drag items position -->
|
||||||
<core-loading [hideUntil]="ddQuestion.loaded"></core-loading>
|
<core-loading [hideUntil]="ddQuestion.loaded"></core-loading>
|
||||||
|
|
||||||
|
@ -14,9 +14,13 @@
|
||||||
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" [courseId]="courseId"
|
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" [courseId]="courseId"
|
||||||
(afterRender)="textRendered()">
|
(afterRender)="textRendered()">
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
|
</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item class="ion-text-wrap" [hidden]="!ddQuestion.loaded">
|
||||||
|
<ion-label>
|
||||||
<core-format-text *ngIf="ddQuestion.ddArea" [adaptImg]="false" [component]="component" [componentId]="componentId"
|
<core-format-text *ngIf="ddQuestion.ddArea" [adaptImg]="false" [component]="component" [componentId]="componentId"
|
||||||
[text]="ddQuestion.ddArea" [filter]="false" (afterRender)="ddAreaRendered()">
|
[text]="ddQuestion.ddArea" [filter]="false" (afterRender)="ddAreaRendered()">
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-list>
|
</div>
|
||||||
|
|
|
@ -1,150 +1,150 @@
|
||||||
// Style ddmarker content a bit. Almost all these styles are copied from Moodle.
|
// Style ddmarker content a bit. Almost all these styles are copied from Moodle.
|
||||||
:host {
|
.addon-qtype-ddmarker-container {
|
||||||
.addon-qtype-ddmarker-container {
|
min-height: 80px; // To display the loading.
|
||||||
min-height: 80px; // To display the loading.
|
}
|
||||||
|
|
||||||
|
core-format-text ::ng-deep {
|
||||||
|
.ddarea, .ddform {
|
||||||
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
core-format-text ::ng-deep {
|
.qtext {
|
||||||
.ddarea, .ddform {
|
margin-bottom: 0.5em;
|
||||||
user-select: none;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.qtext {
|
.droparea {
|
||||||
margin-bottom: 0.5em;
|
display: inline-block;
|
||||||
display: block;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.droparea {
|
div.droparea img {
|
||||||
display: inline-block;
|
border: 1px solid var(--core-dd-question-border);
|
||||||
}
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
div.droparea img {
|
.dropzones svg {
|
||||||
border: 1px solid var(--gray-darker);
|
z-index: 3;
|
||||||
max-width: 100%;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.dropzones svg {
|
.dragitem.beingdragged .markertext {
|
||||||
z-index: 3;
|
z-index: 5;
|
||||||
}
|
box-shadow: var(--core-dd-question-selected-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
.dragitem.beingdragged .markertext {
|
.dragitems, // Previous to 3.9.
|
||||||
z-index: 5;
|
.draghomes {
|
||||||
box-shadow: var(--core-dd-question-selected-shadow);
|
&.readonly {
|
||||||
}
|
|
||||||
|
|
||||||
.dragitems, // Previous to 3.9.
|
|
||||||
.draghomes {
|
|
||||||
&.readonly {
|
|
||||||
.dragitem,
|
|
||||||
.marker {
|
|
||||||
cursor: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dragitem, // Previous to 3.9.
|
|
||||||
.draghome,
|
|
||||||
.marker {
|
|
||||||
vertical-align: top;
|
|
||||||
cursor: pointer;
|
|
||||||
position: relative;
|
|
||||||
margin: 10px;
|
|
||||||
display: inline-block;
|
|
||||||
&.dragplaceholder {
|
|
||||||
display: none;
|
|
||||||
visibility: hidden;
|
|
||||||
|
|
||||||
&.active {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.unplaced {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
&.placed {
|
|
||||||
position: absolute;
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.droparea {
|
|
||||||
.dragitem,
|
.dragitem,
|
||||||
.marker {
|
.marker {
|
||||||
cursor: pointer;
|
cursor: auto;
|
||||||
position: absolute;
|
|
||||||
vertical-align: top;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
div.ddarea {
|
.dragitem, // Previous to 3.9.
|
||||||
text-align: center;
|
.draghome,
|
||||||
|
.marker {
|
||||||
|
vertical-align: top;
|
||||||
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
margin: 10px;
|
||||||
div.ddarea .dropzones,
|
|
||||||
div.ddarea .markertexts {
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
min-height: 80px;
|
|
||||||
position: absolute;
|
|
||||||
text-align: start;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropbackground {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.dragitems div.draghome,
|
|
||||||
div.dragitems div.dragitem,
|
|
||||||
div.draghome,
|
|
||||||
div.drag,
|
|
||||||
div.draghomes div.marker,
|
|
||||||
div.marker,
|
|
||||||
div.drag {
|
|
||||||
font: 13px/1.231 arial,helvetica,clean,sans-serif;
|
|
||||||
}
|
|
||||||
div.dragitems span.markertext,
|
|
||||||
div.draghomes span.markertext,
|
|
||||||
div.markertexts span.markertext {
|
|
||||||
margin: 0 5px;
|
|
||||||
z-index: 2;
|
|
||||||
background-color: var(--white);
|
|
||||||
border: 2px solid var(--gray-darker);
|
|
||||||
padding: 5px;
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
zoom: 1;
|
&.dragplaceholder {
|
||||||
border-radius: 10px;
|
display: none;
|
||||||
color: var(--ion-text-color);
|
visibility: hidden;
|
||||||
}
|
|
||||||
div.markertexts span.markertext {
|
&.active {
|
||||||
z-index: 3;
|
display: inline-block;
|
||||||
background-color: var(--yellow-light);
|
}
|
||||||
border-style: solid;
|
}
|
||||||
border-width: 2px;
|
|
||||||
border-color: var(--yellow);
|
&.unplaced {
|
||||||
position: absolute;
|
position: relative;
|
||||||
}
|
}
|
||||||
span.wrongpart {
|
&.placed {
|
||||||
background-color: var(--yellow-light);
|
position: absolute;
|
||||||
border-style: solid;
|
opacity: 0.6;
|
||||||
border-width: 2px;
|
}
|
||||||
border-color: var(--yellow);
|
|
||||||
padding: 5px;
|
|
||||||
border-radius: 10px;
|
|
||||||
opacity: 0.6;
|
|
||||||
margin: 5px;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
div.dragitems img.target,
|
|
||||||
div.draghomes img.target {
|
|
||||||
position: absolute;
|
|
||||||
left: -7px; /* This must be half the size of the target image, minus 0.5. */
|
|
||||||
top: -7px; /* In other words, this works for a 15x15 cross-hair. */
|
|
||||||
}
|
|
||||||
div.dragitems div.draghome img.target,
|
|
||||||
div.draghomes div.marker img.target {
|
|
||||||
display: none;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.droparea {
|
||||||
|
.dragitem,
|
||||||
|
.marker {
|
||||||
|
cursor: pointer;
|
||||||
|
position: absolute;
|
||||||
|
vertical-align: top;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
div.ddarea {
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
div.ddarea .dropzones,
|
||||||
|
div.ddarea .markertexts {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
min-height: 80px;
|
||||||
|
position: absolute;
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropbackground {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dragitems div.draghome,
|
||||||
|
div.dragitems div.dragitem,
|
||||||
|
div.draghome,
|
||||||
|
div.drag,
|
||||||
|
div.draghomes div.marker,
|
||||||
|
div.marker,
|
||||||
|
div.drag {
|
||||||
|
font: 13px/1.231 arial, helvetica, clean, sans-serif;
|
||||||
|
}
|
||||||
|
div.dragitems span.markertext,
|
||||||
|
div.draghomes span.markertext,
|
||||||
|
div.markertexts span.markertext {
|
||||||
|
margin: 0 5px;
|
||||||
|
z-index: 2;
|
||||||
|
background-color: var(--ion-item-background);
|
||||||
|
border: 2px solid var(--core-dd-question-border);
|
||||||
|
padding: 5px;
|
||||||
|
display: inline-block;
|
||||||
|
zoom: 1;
|
||||||
|
border-radius: 10px;
|
||||||
|
color: var(--ion-text-color);
|
||||||
|
}
|
||||||
|
div.markertexts span.markertext {
|
||||||
|
z-index: 3;
|
||||||
|
background-color: var(--yellow-light);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
border-color: var(--yellow);
|
||||||
|
position: absolute;
|
||||||
|
color: var(--black);
|
||||||
|
}
|
||||||
|
span.wrongpart {
|
||||||
|
background-color: var(--yellow-light);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
border-color: var(--yellow);
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 10px;
|
||||||
|
opacity: 0.6;
|
||||||
|
margin: 5px;
|
||||||
|
display: inline-block;
|
||||||
|
color: var(--black);
|
||||||
|
}
|
||||||
|
div.dragitems img.target,
|
||||||
|
div.draghomes img.target {
|
||||||
|
position: absolute;
|
||||||
|
left: -7px; /* This must be half the size of the target image, minus 0.5. */
|
||||||
|
top: -7px; /* In other words, this works for a 15x15 cross-hair. */
|
||||||
|
}
|
||||||
|
div.dragitems div.draghome img.target,
|
||||||
|
div.draghomes div.marker img.target {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<ion-list *ngIf="ddQuestion && (ddQuestion.text || ddQuestion.text === '')" class="addon-qtype-ddwtos-container">
|
<div *ngIf="ddQuestion && (ddQuestion.text || ddQuestion.text === '')" class="addon-qtype-ddwtos-container">
|
||||||
<!-- Content is outside the core-loading to let the script calculate drag items position -->
|
<!-- Content is outside the core-loading to let the script calculate drag items position -->
|
||||||
<core-loading [hideUntil]="ddQuestion.loaded"></core-loading>
|
<core-loading [hideUntil]="ddQuestion.loaded"></core-loading>
|
||||||
|
|
||||||
<ion-item class="ion-text-wrap addon-qtype-ddwtos-container" [hidden]="!ddQuestion.loaded">
|
<ion-item class="ion-text-wrap" [hidden]="!ddQuestion.loaded">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<ion-card *ngIf="!ddQuestion.readOnly" class="core-info-card">
|
<ion-card *ngIf="!ddQuestion.readOnly" class="core-info-card">
|
||||||
<ion-item>
|
<ion-item>
|
||||||
|
@ -14,10 +14,12 @@
|
||||||
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" [courseId]="courseId" #questiontext
|
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" [courseId]="courseId" #questiontext
|
||||||
(afterRender)="textRendered()">
|
(afterRender)="textRendered()">
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
|
|
||||||
<core-format-text *ngIf="ddQuestion.answers" [component]="component" [componentId]="componentId"
|
<core-format-text *ngIf="ddQuestion.answers" [component]="component" [componentId]="componentId"
|
||||||
[text]="ddQuestion.answers" [filter]="false" (afterRender)="answersRendered()">
|
[text]="ddQuestion.answers" [filter]="false" (afterRender)="answersRendered()">
|
||||||
</core-format-text>
|
</core-format-text>
|
||||||
|
|
||||||
<div class="drags"></div>
|
<div class="drags"></div>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-list>
|
</div>
|
||||||
|
|
|
@ -1,126 +1,120 @@
|
||||||
@import "~core/features/question/question";
|
@import "~core/features/question/question";
|
||||||
|
|
||||||
// Style ddwtos content a bit. Almost all these styles are copied from Moodle.
|
// Style ddwtos content a bit. Almost all these styles are copied from Moodle.
|
||||||
:host {
|
.addon-qtype-ddwtos-container {
|
||||||
.addon-qtype-ddwtos-container {
|
min-height: 80px; // To display the loading.
|
||||||
min-height: 80px; // To display the loading.
|
}
|
||||||
|
|
||||||
|
core-format-text ::ng-deep, .drags ::ng-deep {
|
||||||
|
.qtext {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
core-format-text ::ng-deep, .drags ::ng-deep {
|
.draghome {
|
||||||
.qtext {
|
margin-bottom: 1em;
|
||||||
margin-bottom: 0.5em;
|
max-width: calc(100%);
|
||||||
display: block;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.draghome {
|
.answertext {
|
||||||
margin-bottom: 1em;
|
margin-bottom: 0.5em;
|
||||||
max-width: calc(100%);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.answertext {
|
.drop {
|
||||||
margin-bottom: 0.5em;
|
display: inline-block;
|
||||||
}
|
text-align: center;
|
||||||
|
border: 1px solid var(--core-dd-question-border);
|
||||||
|
margin-bottom: 2px;
|
||||||
|
border-radius: 5px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.draghome, .drag {
|
||||||
|
display: inline-block;
|
||||||
|
text-align: center;
|
||||||
|
background: transparent;
|
||||||
|
border: 0;
|
||||||
|
white-space: normal;
|
||||||
|
overflow: visible;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
.draghome, .drag.unplaced{
|
||||||
|
border: 1px solid var(--core-dd-question-border);
|
||||||
|
}
|
||||||
|
.draghome {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
.drag {
|
||||||
|
z-index: 2;
|
||||||
|
border-radius: 5px;
|
||||||
|
line-height: 25px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.drag.selected,
|
||||||
|
.drop.selected {
|
||||||
|
z-index: 3;
|
||||||
|
box-shadow: var(--core-dd-question-selected-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
.drop {
|
&.notreadonly .drag,
|
||||||
display: inline-block;
|
&.notreadonly .draghome,
|
||||||
text-align: center;
|
&.notreadonly .drop,
|
||||||
border: 1px solid var(--gray-darker);
|
&.notreadonly .answercontainer {
|
||||||
margin-bottom: 2px;
|
cursor: pointer;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
cursor: pointer;
|
}
|
||||||
}
|
|
||||||
.draghome, .drag {
|
|
||||||
display: inline-block;
|
|
||||||
text-align: center;
|
|
||||||
background: transparent;
|
|
||||||
border: 0;
|
|
||||||
white-space: normal;
|
|
||||||
overflow: visible;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
.draghome, .drag.unplaced{
|
|
||||||
border: 1px solid var(--gray-darker);
|
|
||||||
}
|
|
||||||
.draghome {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
.drag {
|
|
||||||
z-index: 2;
|
|
||||||
border-radius: 5px;
|
|
||||||
line-height: 25px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.drag.selected {
|
|
||||||
z-index: 3;
|
|
||||||
box-shadow: var(--core-dd-question-selected-shadow);
|
|
||||||
}
|
|
||||||
|
|
||||||
.drop.selected {
|
&.readonly .drag,
|
||||||
border-color: var(--yellow-light);
|
&.readonly .draghome,
|
||||||
box-shadow: 0 0 5px 5px var(--yellow-light);
|
&.readonly .drop,
|
||||||
}
|
&.readonly .answercontainer {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
&.notreadonly .drag,
|
span.incorrect {
|
||||||
&.notreadonly .draghome,
|
background-color: var(--core-question-incorrect-color-bg);
|
||||||
&.notreadonly .drop,
|
}
|
||||||
&.notreadonly .answercontainer {
|
span.correct {
|
||||||
cursor: pointer;
|
background-color: var(--core-question-correct-color-bg);
|
||||||
border-radius: 5px;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
&.readonly .drag,
|
@for $i from 0 to length($core-dd-question-colors) {
|
||||||
&.readonly .draghome,
|
.group#{$i + 1} {
|
||||||
&.readonly .drop,
|
background: nth($core-dd-question-colors, $i + 1);
|
||||||
&.readonly .answercontainer {
|
color: get_contrast_color(nth($core-dd-question-colors, $i + 1));
|
||||||
cursor: default;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
span.incorrect {
|
.group2 {
|
||||||
background-color: var(--core-question-incorrect-color-bg);
|
border-radius: var(--core-dd-question-radius) 0 0 0;
|
||||||
}
|
}
|
||||||
span.correct {
|
.group3 {
|
||||||
background-color: var(--core-question-correct-color-bg);
|
border-radius: 0 var(--core-dd-question-radius) 0 0;
|
||||||
}
|
}
|
||||||
|
.group4 {
|
||||||
|
border-radius: 0 0 var(--core-dd-question-radius) 0;
|
||||||
|
}
|
||||||
|
.group5 {
|
||||||
|
border-radius: 0 0 0 var(--core-dd-question-radius);
|
||||||
|
}
|
||||||
|
.group6 {
|
||||||
|
border-radius: 0 var(--core-dd-question-radius) var(--core-dd-question-radius) 0;
|
||||||
|
}
|
||||||
|
.group7 {
|
||||||
|
border-radius: var(--core-dd-question-radius) 0 0 var(--core-dd-question-radius);
|
||||||
|
}
|
||||||
|
.group8 {
|
||||||
|
border-radius: var(--core-dd-question-radius) var(--core-dd-question-radius) var(--core-dd-question-radius) var(--core-dd-question-radius);
|
||||||
|
}
|
||||||
|
|
||||||
@for $i from 0 to length($core-dd-question-colors) {
|
sub, sup {
|
||||||
.group#{$i + 1} {
|
font-size: 80%;
|
||||||
background: nth($core-dd-question-colors, $i + 1);
|
position: relative;
|
||||||
color: var(--ion-text-color);
|
vertical-align: baseline;
|
||||||
}
|
}
|
||||||
}
|
sup {
|
||||||
|
top: -0.4em;
|
||||||
.group2 {
|
}
|
||||||
border-radius: 10px 0 0 0;
|
sub {
|
||||||
}
|
bottom: -0.2em;
|
||||||
.group3 {
|
|
||||||
border-radius: 0 10px 0 0;
|
|
||||||
}
|
|
||||||
.group4 {
|
|
||||||
border-radius: 0 0 10px 0;
|
|
||||||
}
|
|
||||||
.group5 {
|
|
||||||
border-radius: 0 0 0 10px;
|
|
||||||
}
|
|
||||||
.group6 {
|
|
||||||
border-radius: 0 10px 10px 0;
|
|
||||||
}
|
|
||||||
.group7 {
|
|
||||||
border-radius: 10px 0 0 10px;
|
|
||||||
}
|
|
||||||
.group8 {
|
|
||||||
border-radius: 10px 10px 10px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub, sup {
|
|
||||||
font-size: 80%;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
sup {
|
|
||||||
top: -0.4em;
|
|
||||||
}
|
|
||||||
sub {
|
|
||||||
bottom: -0.2em;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,7 @@ ion-button {
|
||||||
ion-select {
|
ion-select {
|
||||||
&::part(icon) {
|
&::part(icon) {
|
||||||
margin: var(--icon-margin);
|
margin: var(--icon-margin);
|
||||||
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
|
@ -115,7 +116,6 @@ ion-button {
|
||||||
width: 19px;
|
width: 19px;
|
||||||
height: 19px;
|
height: 19px;
|
||||||
position: relative;
|
position: relative;
|
||||||
opacity: 0.33;
|
|
||||||
|
|
||||||
.select-icon-inner {
|
.select-icon-inner {
|
||||||
left: 5px;
|
left: 5px;
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
--loading-text-color: var(--ion-text-color);
|
--loading-text-color: var(--ion-text-color);
|
||||||
|
|
||||||
position: static;
|
position: static;
|
||||||
@include core-transition(height, 200ms);
|
|
||||||
color: var(--loading-text-color);
|
color: var(--loading-text-color);
|
||||||
|
|
||||||
ion-spinner {
|
ion-spinner {
|
||||||
|
@ -48,7 +47,7 @@
|
||||||
position: unset;
|
position: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.core-loading-center {
|
&.core-loading-inline {
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
.core-loading-container {
|
.core-loading-container {
|
||||||
|
@ -56,4 +55,14 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.core-loading-loaded.core-loading-inline {
|
||||||
|
position: relative;
|
||||||
|
min-height: 102px;
|
||||||
|
|
||||||
|
.core-loading-container {
|
||||||
|
padding-top: 10px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,8 @@ export class CoreLoadingComponent implements OnInit, OnChanges, AfterViewInit {
|
||||||
|
|
||||||
@Input() hideUntil: unknown; // Determine when should the contents be shown.
|
@Input() hideUntil: unknown; // Determine when should the contents be shown.
|
||||||
@Input() message?: string; // Message to show while loading.
|
@Input() message?: string; // Message to show while loading.
|
||||||
|
@Input() protected fullscreen = true; // Use the whole screen.
|
||||||
|
|
||||||
@ViewChild('content') content?: ElementRef;
|
@ViewChild('content') content?: ElementRef;
|
||||||
|
|
||||||
uniqueId: string;
|
uniqueId: string;
|
||||||
|
@ -69,6 +71,8 @@ export class CoreLoadingComponent implements OnInit, OnChanges, AfterViewInit {
|
||||||
// Default loading message.
|
// Default loading message.
|
||||||
this.message = Translate.instant('core.loading');
|
this.message = Translate.instant('core.loading');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.element.classList.toggle('core-loading-inline', !this.fullscreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -78,11 +82,9 @@ export class CoreLoadingComponent implements OnInit, OnChanges, AfterViewInit {
|
||||||
// Add class if loaded on init.
|
// Add class if loaded on init.
|
||||||
if (this.hideUntil) {
|
if (this.hideUntil) {
|
||||||
this.element.classList.add('core-loading-loaded');
|
this.element.classList.add('core-loading-loaded');
|
||||||
this.content?.nativeElement.classList.add('core-loading-content');
|
|
||||||
} else {
|
|
||||||
this.content?.nativeElement.classList.remove('core-loading-content');
|
|
||||||
this.content?.nativeElement.classList.add('core-loading-content-loading');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.content?.nativeElement.classList.toggle('core-loading-content', !!this.hideUntil);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -99,12 +101,10 @@ export class CoreLoadingComponent implements OnInit, OnChanges, AfterViewInit {
|
||||||
// Change CSS to force calculate height.
|
// Change CSS to force calculate height.
|
||||||
// Removed 500ms timeout to avoid reallocating html.
|
// Removed 500ms timeout to avoid reallocating html.
|
||||||
this.content?.nativeElement.classList.add('core-loading-content');
|
this.content?.nativeElement.classList.add('core-loading-content');
|
||||||
this.content?.nativeElement.classList.remove('core-loading-content-loading');
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.element.classList.remove('core-loading-loaded');
|
this.element.classList.remove('core-loading-loaded');
|
||||||
this.content?.nativeElement.classList.remove('core-loading-content');
|
this.content?.nativeElement.classList.remove('core-loading-content');
|
||||||
this.content?.nativeElement.classList.add('core-loading-content-loading');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger the event after a timeout since the elements inside ngIf haven't been added to DOM yet.
|
// Trigger the event after a timeout since the elements inside ngIf haven't been added to DOM yet.
|
||||||
|
|
|
@ -1,25 +1,24 @@
|
||||||
:host {
|
:host {
|
||||||
background: var(--white);
|
form {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
background: var(--ion-item-background);
|
||||||
|
}
|
||||||
|
|
||||||
form {
|
.core-send-message-input {
|
||||||
position: relative;
|
appearance: none;
|
||||||
display: flex;
|
display: block;
|
||||||
align-items: center;
|
width: 100%;
|
||||||
width: 100%;
|
border: 0;
|
||||||
}
|
font-family: inherit;
|
||||||
|
background: var(--core-send-message-input-background);
|
||||||
.core-send-message-input {
|
color: var(--core-send-message-input-color);
|
||||||
appearance: none;
|
border-radius: 21px;
|
||||||
display: block;
|
line-height: 20px;
|
||||||
width: 100%;
|
padding: 9px 12px 11px;
|
||||||
border: 0;
|
margin: 5px 10px;
|
||||||
font-family: inherit;
|
resize: vertical;
|
||||||
background: var(--core-send-message-input-background);
|
}
|
||||||
color: var(--core-send-message-input-color);
|
|
||||||
border-radius: 21px;
|
|
||||||
line-height: 20px;
|
|
||||||
padding: 9px 12px 11px;
|
|
||||||
margin: 5px 10px;
|
|
||||||
resize: vertical;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
--tabs-color: var(--core-tab-color);
|
--tabs-color: var(--core-tab-color);
|
||||||
--height: 56px;
|
--height: 56px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: block;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
ion-tabs {
|
ion-tabs {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
@ -82,7 +83,7 @@
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
display: block;
|
display: contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
ion-header {
|
ion-header {
|
||||||
|
@ -95,6 +96,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.core-tabs-content-container {
|
||||||
|
flex-grow: 1;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div *ngIf="blocks && blocks.length > 0 && !hideBlocks" [class.core-hide-blocks]="hideBottomBlocks" class="core-course-blocks-side">
|
<div *ngIf="blocks && blocks.length > 0 && !hideBlocks" [class.core-hide-blocks]="hideBottomBlocks" class="core-course-blocks-side">
|
||||||
<core-loading [hideUntil]="dataLoaded" class="core-loading-center">
|
<core-loading [hideUntil]="dataLoaded" [fullscreen]="false">
|
||||||
<ion-list>
|
<ion-list>
|
||||||
<!-- Course expand="block"s. -->
|
<!-- Course expand="block"s. -->
|
||||||
<ng-container *ngFor="let block of blocks">
|
<ng-container *ngFor="let block of blocks">
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
</h2>
|
</h2>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item-divider>
|
</ion-item-divider>
|
||||||
<core-loading [hideUntil]="loaded" class="core-loading-center">
|
<core-loading [hideUntil]="loaded" [fullscreen]="false">
|
||||||
<ion-item *ngIf="block.contents?.content" class="ion-text-wrap core-block-content">
|
<ion-item *ngIf="block.contents?.content" class="ion-text-wrap core-block-content">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<core-format-text [text]="block.contents?.content" contextLevel="block" [contextInstanceId]="block.instanceid"
|
<core-format-text [text]="block.contents?.content" contextLevel="block" [contextInstanceId]="block.instanceid"
|
||||||
|
|
|
@ -12,13 +12,6 @@
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
progress {
|
|
||||||
.progress-bar-fallback,
|
|
||||||
&[value]::-webkit-progress-bar {
|
|
||||||
background-color: var(--white);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +23,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
pointer-events: auto;
|
pointer-events: auto;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: white;
|
background: var(--ion-item-background);
|
||||||
|
|
||||||
img {
|
img {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
transition: all 50ms ease-in-out;
|
transition: all 50ms ease-in-out;
|
||||||
|
|
||||||
&.core-course-color-img {
|
&.core-course-color-img {
|
||||||
background: white;
|
background: var(--ion-item-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<core-loading [hideUntil]="iframeSrc" class="core-loading-center safe-area-page">
|
<core-loading [hideUntil]="iframeSrc" [fullscreen]="false" class="safe-area-page">
|
||||||
<core-iframe *ngIf="iframeSrc" [src]="iframeSrc" iframeHeight="auto" [allowFullscreen]="true" (loaded)="iframeLoaded()">
|
<core-iframe *ngIf="iframeSrc" [src]="iframeSrc" iframeHeight="auto" [allowFullscreen]="true" (loaded)="iframeLoaded()">
|
||||||
</core-iframe>
|
</core-iframe>
|
||||||
<script *ngIf="resizeScript && iframeSrc" type="text/javascript" [src]="resizeScript"></script>
|
<script *ngIf="resizeScript && iframeSrc" type="text/javascript" [src]="resizeScript"></script>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<core-site-picker *ngIf="showSitePicker" [hidden]="!filesLoaded" [initialSite]="siteId" (siteSelected)="changeSite($event)">
|
<core-site-picker *ngIf="showSitePicker" [hidden]="!filesLoaded" [initialSite]="siteId" (siteSelected)="changeSite($event)">
|
||||||
</core-site-picker>
|
</core-site-picker>
|
||||||
|
|
||||||
<core-loading [hideUntil]="filesLoaded" class="core-loading-center">
|
<core-loading [hideUntil]="filesLoaded" [fullscreen]="false">
|
||||||
<ion-list *ngIf="files && files.length > 0">
|
<ion-list *ngIf="files && files.length > 0">
|
||||||
<ng-container *ngFor="let file of files; let idx = index">
|
<ng-container *ngFor="let file of files; let idx = index">
|
||||||
<core-local-file *ngIf="file.isFile" [file]="file" [manage]="manage" [overrideClick]="pick"
|
<core-local-file *ngIf="file.isFile" [file]="file" [manage]="manage" [overrideClick]="pick"
|
||||||
|
|
|
@ -59,7 +59,7 @@ export class CoreSharedFilesUploadHandlerService implements CoreFileUploaderHand
|
||||||
return {
|
return {
|
||||||
title: 'core.sharedfiles.sharedfiles',
|
title: 'core.sharedfiles.sharedfiles',
|
||||||
class: 'core-sharedfiles-fileuploader-handler',
|
class: 'core-sharedfiles-fileuploader-handler',
|
||||||
icon: 'folder',
|
icon: 'fas-folder',
|
||||||
action: (
|
action: (
|
||||||
maxSize?: number,
|
maxSize?: number,
|
||||||
upload?: boolean,
|
upload?: boolean,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<core-loading [hideUntil]="dataLoaded" class="core-loading-center">
|
<core-loading [hideUntil]="dataLoaded" [fullscreen]="false">
|
||||||
<core-compile-html [text]="content" [javascript]="javascript" [jsData]="jsData" [forceCompile]="forceCompile" #compile>
|
<core-compile-html [text]="content" [javascript]="javascript" [jsData]="jsData" [forceCompile]="forceCompile" #compile>
|
||||||
</core-compile-html>
|
</core-compile-html>
|
||||||
</core-loading>
|
</core-loading>
|
||||||
|
|
|
@ -237,7 +237,7 @@ $colors-dark: (
|
||||||
|
|
||||||
$core-course-image-background: #81ecec, #74b9ff, #a29bfe, #dfe6e9, #00b894, #0984e3, #b2bec3, #fdcb6e, #fd79a8, #6c5ce7 !default;
|
$core-course-image-background: #81ecec, #74b9ff, #a29bfe, #dfe6e9, #00b894, #0984e3, #b2bec3, #fdcb6e, #fd79a8, #6c5ce7 !default;
|
||||||
|
|
||||||
$core-dd-question-colors: $white, $blue-light, #DCDCDC, #D8BFD8, #87CEFA, #DAA520, #FFD700, #F0E68C !default;
|
$core-dd-question-colors: #FFFFFF, #B0C4DE, #DCDCDC, #D8BFD8, #87CEFA, #DAA520, #FFD700, #F0E68C !default;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Layout Breakpoints
|
* Layout Breakpoints
|
||||||
|
@ -378,8 +378,8 @@ $addon-forum-avatar-size: 44px !default;
|
||||||
$addon-forum-border-color: $gray !default;
|
$addon-forum-border-color: $gray !default;
|
||||||
$addon-forum-highlight-color: $gray-lighter !default;
|
$addon-forum-highlight-color: $gray-lighter !default;
|
||||||
|
|
||||||
$addon-forum-border-color-dark: $gray-darker !default;
|
$addon-forum-border-color-dark: $gray-dark !default;
|
||||||
$addon-forum-highlight-color-dark: $gray-dark !default;
|
$addon-forum-highlight-color-dark: $gray-darker !default;
|
||||||
|
|
||||||
$core-more-icon: null !default;
|
$core-more-icon: null !default;
|
||||||
$core-more-item-border: null !default;
|
$core-more-item-border: null !default;
|
||||||
|
|
|
@ -104,6 +104,10 @@ ion-header h2 {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
pointer-events: auto;
|
pointer-events: auto;
|
||||||
|
|
||||||
|
.filter_mathjaxloader_equation div {
|
||||||
|
display: inline !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ion-app.md ion-header h1,
|
ion-app.md ion-header h1,
|
||||||
|
@ -477,7 +481,7 @@ ion-card ion-item img.core-module-icon[slot="start"] {
|
||||||
margin-left: 32px;
|
margin-left: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.core-course-module-handler:not(.addon-mod-label-handler) .item-heading .filter_mathjaxloader_equation * {
|
.core-course-module-handler:not(.addon-mod-label-handler) .item-heading .filter_mathjaxloader_equation div {
|
||||||
display: inline !important;
|
display: inline !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -514,6 +518,10 @@ ion-select::part(text) {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ion-select::part(icon) {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
ion-searchbar {
|
ion-searchbar {
|
||||||
.searchbar-search-icon.ios {
|
.searchbar-search-icon.ios {
|
||||||
top: 4px;
|
top: 4px;
|
||||||
|
|
|
@ -117,6 +117,7 @@
|
||||||
--core-question-feedback-background-color: var(--yellow-dark);
|
--core-question-feedback-background-color: var(--yellow-dark);
|
||||||
|
|
||||||
--core-dd-question-selected-shadow: 2px 2px 4px var(--gray-light);
|
--core-dd-question-selected-shadow: 2px 2px 4px var(--gray-light);
|
||||||
|
--core-dd-question-border: var(--gray-light);
|
||||||
|
|
||||||
--addon-messages-message-bg: #{$addon-messages-message-bg-dark};
|
--addon-messages-message-bg: #{$addon-messages-message-bg-dark};
|
||||||
--addon-messages-message-activated-bg: #{$addon-messages-message-activated-bg-dark};
|
--addon-messages-message-activated-bg: #{$addon-messages-message-activated-bg-dark};
|
||||||
|
|
|
@ -275,6 +275,8 @@
|
||||||
--core-question-feedback-background-color: var(--yellow-light);
|
--core-question-feedback-background-color: var(--yellow-light);
|
||||||
|
|
||||||
--core-dd-question-selected-shadow: 2px 2px 4px var(--gray-dark);
|
--core-dd-question-selected-shadow: 2px 2px 4px var(--gray-dark);
|
||||||
|
--core-dd-question-radius: 10px;
|
||||||
|
--core-dd-question-border: var(--gray-darker);
|
||||||
|
|
||||||
@if ($core-more-icon) {
|
@if ($core-more-icon) {
|
||||||
--core-more-icon: #{$core-more-icon};
|
--core-more-icon: #{$core-more-icon};
|
||||||
|
|
Loading…
Reference in New Issue