forked from EVOgeek/Vmeda.Online
		
	MOBILE-3320 core: Improve inline loading styles
This commit is contained in:
		
							parent
							
								
									7b097320cd
								
							
						
					
					
						commit
						94ec1c9734
					
				| @ -3,7 +3,7 @@ | ||||
|         <h2>{{ 'addon.block_activitymodules.pluginname' | translate }}</h2> | ||||
|     </ion-label> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="margin"> | ||||
|     <ion-item class="ion-text-wrap item-media" *ngFor="let entry of entries" detail="false" button | ||||
|         (click)="gotoCoureListModType(entry)"> | ||||
|         <img slot="start" [src]="entry.icon" alt="" role="presentation" class="core-module-icon"> | ||||
|  | ||||
| @ -36,7 +36,7 @@ | ||||
|         </core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="margin"> | ||||
|     <div class="safe-padding-horizontal" [hidden]="showFilter || !showSelectorFilter"> | ||||
|         <!-- "Time" selector. --> | ||||
|         <core-combobox [label]="'core.show' | translate" [selection]="selectedFilter" (onChange)="selectedChanged($event)"> | ||||
|  | ||||
| @ -20,7 +20,7 @@ | ||||
|         </core-horizontal-scroll-controls> | ||||
|     </div> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page margin"> | ||||
|     <core-empty-box *ngIf="courses.length == 0" image="assets/img/icons/courses.svg" inline="true" | ||||
|         [message]="'addon.block_recentlyaccessedcourses.nocourses' | translate"></core-empty-box> | ||||
|     <!-- List of courses. --> | ||||
|  | ||||
| @ -5,7 +5,7 @@ | ||||
|         </core-horizontal-scroll-controls> | ||||
|     </div> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page margin"> | ||||
|     <div | ||||
|         [id]="scrollElementId" | ||||
|         [hidden]="!items || items.length === 0" | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
|         <h2>{{ 'addon.block_sitemainmenu.pluginname' | translate }}</h2> | ||||
|     </ion-label> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="margin"> | ||||
|     <ng-container *ngIf="mainMenuBlock"> | ||||
|         <ion-item class="ion-text-wrap" *ngIf="mainMenuBlock.summary"> | ||||
|             <ion-label> | ||||
|  | ||||
| @ -20,7 +20,7 @@ | ||||
|         </core-horizontal-scroll-controls> | ||||
|     </div> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="safe-area-page margin"> | ||||
|     <core-empty-box *ngIf="courses.length == 0" image="assets/img/icons/courses.svg" inline="true" | ||||
|         [message]="'addon.block_starredcourses.nocourses' | translate"></core-empty-box> | ||||
|     <!-- List of courses. --> | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
|         </core-context-menu-item> | ||||
|     </core-context-menu> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="margin"> | ||||
|     <div class="safe-padding-horizontal"> | ||||
|         <core-combobox [selection]="filter" (onChange)="switchFilter($event)"> | ||||
|             <ion-select-option class="ion-text-wrap" value="all"> | ||||
| @ -35,12 +35,12 @@ | ||||
|             </ion-select-option> | ||||
|         </core-combobox> | ||||
|     </div> | ||||
|     <core-loading [hideUntil]="timeline.loaded" [hidden]="sort != 'sortbydates'" [fullscreen]="false"> | ||||
|     <core-loading [hideUntil]="timeline.loaded" [hidden]="sort != 'sortbydates'" [fullscreen]="false" class="margin"> | ||||
|         <addon-block-timeline-events [events]="timeline.events" showCourse="true" [canLoadMore]="timeline.canLoadMore" | ||||
|             (loadMore)="loadMoreTimeline()" [from]="dataFrom" [to]="dataTo"></addon-block-timeline-events> | ||||
|     </core-loading> | ||||
|     <core-loading [hideUntil]="timelineCourses.loaded" [hidden]="sort != 'sortbycourses'" | ||||
|         [fullscreen]="false" class="safe-area-page"> | ||||
|         [fullscreen]="false" class="safe-area-page margin"> | ||||
|         <ion-grid 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"> | ||||
|  | ||||
| @ -128,7 +128,7 @@ | ||||
|     <!-- Scroll bottom. --> | ||||
|     <ion-fab slot="fixed" core-fab vertical="bottom" horizontal="end" *ngIf="loaded && newMessages > 0"> | ||||
|         <ion-fab-button size="small" (click)="scrollToFirstUnreadMessage()" color="light" | ||||
|         [attr.aria-label]="'addon.messages.newmessages' | translate"> | ||||
|             [attr.aria-label]="'addon.messages.newmessages' | translate"> | ||||
|             <ion-icon name="fas-arrow-down" aria-hidden="true"></ion-icon> | ||||
|             <span class="core-discussion-messages-badge">{{ newMessages }}</span> | ||||
|         </ion-fab-button> | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" class="margin"> | ||||
| 
 | ||||
|     <!-- User and status of the submission. --> | ||||
|     <ion-item class="ion-text-wrap" *ngIf="!blindMarking && user" core-user-link [userId]="submitId" [courseId]="courseId" | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="margin"> | ||||
|     <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-label> | ||||
|  | ||||
| @ -1,8 +1,6 @@ | ||||
| <div class="core-loading-container" *ngIf="!hideUntil" role="status" [@coreShowHideAnimation]> | ||||
|     <span class="core-loading-spinner"> | ||||
|         <ion-spinner color="primary"></ion-spinner> | ||||
|         <p class="core-loading-message" *ngIf="message" role="status">{{message}}</p> | ||||
|     </span> | ||||
|     <ion-spinner color="primary"></ion-spinner> | ||||
|     <p class="core-loading-message" *ngIf="message" role="status">{{message}}</p> | ||||
| </div> | ||||
| <div #content class="core-loading-content" [id]="uniqueId" [attr.aria-busy]="hideUntil" [@coreShowHideAnimation]> | ||||
|     <ng-content *ngIf="hideUntil"> | ||||
|  | ||||
| @ -4,35 +4,44 @@ | ||||
|     --loading-background: var(--ion-background-color); | ||||
|     --loading-spinner: var(--ion-color-primary); | ||||
|     --loading-text-color: var(--ion-text-color); | ||||
|     --loading-inline-margin: 0; | ||||
|     --loading-inline-min-height: 28px; | ||||
| 
 | ||||
|     position: static; | ||||
|     color: var(--loading-text-color); | ||||
| 
 | ||||
|     &.margin { | ||||
|         --loading-inline-margin: 10px; | ||||
|     } | ||||
| 
 | ||||
|     &.core-loading-loaded { | ||||
|         --loading-inline-margin: 0; | ||||
|         --loading-inline-min-height: 0; | ||||
|     } | ||||
| 
 | ||||
|     ion-spinner { | ||||
|         --color: var(--loading-spinner); | ||||
|         color: var(--color); | ||||
|     } | ||||
| 
 | ||||
|     > .core-loading-container { | ||||
|     .core-loading-container { | ||||
|         position: absolute; | ||||
|         @include position(0, 0, 0, 0); | ||||
|         display: table; | ||||
|         display: flex; | ||||
|         height: 100%; | ||||
|         width: 100%; | ||||
|         text-align: center; | ||||
|         clear: both; | ||||
|         justify-content: center; | ||||
|         align-items: center; | ||||
|         flex-direction: column; | ||||
|         z-index: 3; | ||||
|         margin: 0; | ||||
|         padding: 10px 0 0 0; | ||||
|         padding: 0; | ||||
|         background-color: var(--loading-background); | ||||
|         -webkit-transition: all 200ms ease-in-out; | ||||
|         transition: all 200ms ease-in-out; | ||||
|         @include core-transition(all, 200ms); | ||||
|     } | ||||
| 
 | ||||
|         .core-loading-spinner { | ||||
|             display: table-cell; | ||||
|             text-align: center; | ||||
|             vertical-align: middle; | ||||
|         } | ||||
|     .core-loading-message { | ||||
|         @include margin(10px, 0, 0, 0); | ||||
|     } | ||||
| 
 | ||||
|     .core-loading-content { | ||||
| @ -48,21 +57,26 @@ | ||||
|     } | ||||
| 
 | ||||
|     &.core-loading-inline { | ||||
|         display: block; | ||||
| 
 | ||||
|         .core-loading-container { | ||||
|             padding-top: 20px; | ||||
|             position: relative; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     &.core-loading-loaded.core-loading-inline { | ||||
|         --loading-background: transparent; | ||||
|         position: relative; | ||||
|         min-height: 102px; | ||||
|         display: block; | ||||
|         min-height: var(--loading-inline-min-height); | ||||
|         margin-top: var(--loading-inline-margin); | ||||
|         margin-bottom: var(--loading-inline-margin); | ||||
| 
 | ||||
|         .core-loading-message { | ||||
|             @include margin(0, 0, 0, 10px); | ||||
|         } | ||||
| 
 | ||||
|         .core-loading-container { | ||||
|             padding-top: 10px; | ||||
|             position: absolute; | ||||
|             flex-direction: row; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| :host-context(ion-item) { | ||||
|     &.core-loading-inline { | ||||
|         position: static; | ||||
|         display: block; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
| </div> | ||||
| 
 | ||||
| <div *ngIf="blocks && blocks.length > 0 && !hideBlocks" [class.core-hide-blocks]="hideBottomBlocks" class="core-course-blocks-side"> | ||||
|     <core-loading [hideUntil]="dataLoaded" [fullscreen]="false"> | ||||
|     <core-loading [hideUntil]="dataLoaded" [fullscreen]="false" class="margin"> | ||||
|         <ion-list> | ||||
|             <!-- Course expand="block"s. --> | ||||
|             <ng-container *ngFor="let block of blocks"> | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
|         </h2> | ||||
|     </ion-label> | ||||
| </ion-item-divider> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="loaded" [fullscreen]="false" class="margin"> | ||||
|     <ion-item *ngIf="block.contents?.content" class="ion-text-wrap core-block-content"> | ||||
|         <ion-label> | ||||
|             <core-format-text [text]="block.contents?.content" contextLevel="block" [contextInstanceId]="block.instanceid" | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <core-loading *ngIf="!disabled" [hideUntil]="commentsLoaded || !displaySpinner"> | ||||
| <core-loading *ngIf="!disabled" [hideUntil]="commentsLoaded || !displaySpinner" [fullscreen]="false"> | ||||
|     <div *ngIf="!countError" (click)="openComments($event)" [class.core-comments-clickable]="!disabled"> | ||||
|         {{ 'core.comments.commentscount' | translate : {'$a': commentsCount} }} | ||||
|     </div> | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
|                     <ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon> | ||||
|                 </ion-button> | ||||
|                 <ion-button [hidden]="!downloadAllCoursesEnabled || !courses || courses.length < 2 || downloadAllCoursesLoading" | ||||
|                 (click)="prefetchCourses()" [attr.aria-label]="'core.courses.downloadcourses' | translate"> | ||||
|                     (click)="prefetchCourses()" [attr.aria-label]="'core.courses.downloadcourses' | translate"> | ||||
|                     <ion-icon [name]="downloadAllCoursesIcon" slot="icon-only" aria-hidden="true"></ion-icon> | ||||
|                 </ion-button> | ||||
|                 <ion-spinner [hidden]="!downloadAllCoursesEnabled || !courses || courses.length < 2 || | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <core-loading [hideUntil]="dataLoaded" [fullscreen]="false"> | ||||
| <core-loading [hideUntil]="dataLoaded" [fullscreen]="false" class="margin"> | ||||
|     <core-compile-html [text]="content" [javascript]="javascript" [jsData]="jsData" [forceCompile]="forceCompile" #compile> | ||||
|     </core-compile-html> | ||||
| </core-loading> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user