commit
955775f5fa
|
@ -886,8 +886,14 @@ ion-alert.core-inapp-notification {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
body.keyboard-is-open core-ion-tabs .tabbar {
|
body.keyboard-is-open {
|
||||||
display: none;
|
.scroll-content, .fixed-content {
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
core-ion-tabs .tabbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item.item-radio, .item.item-checkbox {
|
.item.item-radio, .item.item-checkbox {
|
||||||
|
|
|
@ -5,6 +5,7 @@ core-rich-text-editor {
|
||||||
min-height: 40vh;
|
min-height: 40vh;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
|
||||||
> div {
|
> div {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -11,8 +11,7 @@ core-show-password {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
padding: 0 ($content-padding / 2);
|
padding: 0 ($content-padding / 2);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: $content-padding / 2;
|
@include position(null, 0, $content-padding / 2, null);
|
||||||
right: 0;
|
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +42,6 @@ core-show-password {
|
||||||
bottom: 7px;
|
bottom: 7px;
|
||||||
}
|
}
|
||||||
core-show-password .button[icon-only] {
|
core-show-password .button[icon-only] {
|
||||||
bottom: 12px;
|
@include position(null, 5px, 12px, null);
|
||||||
right: 5px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ core-course-module {
|
||||||
}
|
}
|
||||||
|
|
||||||
.core-module-buttons-more .spinner {
|
.core-module-buttons-more .spinner {
|
||||||
right: 13px;
|
@include position(null, 13px, null, null);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
<core-loading [hideUntil]="courses.loaded" class="core-loading-center">
|
<core-loading [hideUntil]="courses.loaded" class="core-loading-center">
|
||||||
<!-- "Time" selector. -->
|
<!-- "Time" selector. -->
|
||||||
<div padding class="clearfix" [hidden]="showFilter" ion-row justify-content-between>
|
<div padding class="clearfix" [hidden]="showFilter" ion-row justify-content-between>
|
||||||
<ion-select float-start [title]="'core.show' | translate" [(ngModel)]="courses.selected" ion-col (ngModelChange)="selectedChanged()" interface="popover">
|
<ion-select float-start [title]="'core.show' | translate" [(ngModel)]="courses.selected" ion-col (ngModelChange)="selectedChanged()" interface="popover">
|
||||||
<ion-option value="inprogress">{{ 'core.courses.inprogress' | translate }}</ion-option>
|
<ion-option value="inprogress">{{ 'core.courses.inprogress' | translate }}</ion-option>
|
||||||
<ion-option value="future">{{ 'core.courses.future' | translate }}</ion-option>
|
<ion-option value="future">{{ 'core.courses.future' | translate }}</ion-option>
|
||||||
<ion-option value="past">{{ 'core.courses.past' | translate }}</ion-option>
|
<ion-option value="past">{{ 'core.courses.past' | translate }}</ion-option>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<ion-item *ngIf="siteChecked && !isBrowserSSO">
|
<ion-item *ngIf="siteChecked && !isBrowserSSO">
|
||||||
<ion-input type="text" name="username" placeholder="{{ 'core.login.username' | translate }}" formControlName="username" autocapitalize="none" autocorrect="off"></ion-input>
|
<ion-input type="text" name="username" placeholder="{{ 'core.login.username' | translate }}" formControlName="username" autocapitalize="none" autocorrect="off"></ion-input>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item *ngIf="siteChecked && !isBrowserSSO">
|
<ion-item *ngIf="siteChecked && !isBrowserSSO" margin-bottom>
|
||||||
<core-show-password item-content [name]="'password'">
|
<core-show-password item-content [name]="'password'">
|
||||||
<ion-input class="core-ioninput-password" name="password" type="password" placeholder="{{ 'core.login.password' | translate }}" formControlName="password" core-show-password [clearOnEdit]="false"></ion-input>
|
<ion-input class="core-ioninput-password" name="password" type="password" placeholder="{{ 'core.login.password' | translate }}" formControlName="password" core-show-password [clearOnEdit]="false"></ion-input>
|
||||||
</core-show-password>
|
</core-show-password>
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item text-wrap>
|
<ion-item text-wrap>
|
||||||
<ion-label stacked core-mark-required="true">{{ 'core.user.emailagain' | translate }}</ion-label>
|
<ion-label stacked core-mark-required="true">{{ 'core.user.emailagain' | translate }}</ion-label>
|
||||||
<ion-input type="email" name="email2" placeholder="{{ 'core.user.emailagain' | translate }}" formControlName="email2" autocapitalize="none" autocorrect="off" pattern="{{signupForm.controls.email.value}}"></ion-input>
|
<ion-input type="email" name="email2" placeholder="{{ 'core.user.emailagain' | translate }}" formControlName="email2" autocapitalize="none" autocorrect="off" [pattern]="escapeMail(signupForm.controls.email.value)"></ion-input>
|
||||||
<core-input-errors item-content [control]="signupForm.controls.email2" [errorMessages]="email2Errors"></core-input-errors>
|
<core-input-errors item-content [control]="signupForm.controls.email2" [errorMessages]="email2Errors"></core-input-errors>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item *ngFor="let nameField of settings.namefields" text-wrap>
|
<ion-item *ngFor="let nameField of settings.namefields" text-wrap>
|
||||||
|
|
|
@ -283,6 +283,16 @@ export class CoreLoginEmailSignupPage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Escape mail to avoid special characters to be treated as a RegExp.
|
||||||
|
*
|
||||||
|
* @param {string} text Initial mail.
|
||||||
|
* @return {string} Escaped mail.
|
||||||
|
*/
|
||||||
|
escapeMail(text: string): string {
|
||||||
|
return this.textUtils.escapeForRegex(text);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show authentication instructions.
|
* Show authentication instructions.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<p>{{username}}</p>
|
<p>{{username}}</p>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<form [formGroup]="credForm" (ngSubmit)="login()">
|
<form [formGroup]="credForm" (ngSubmit)="login()">
|
||||||
<ion-item>
|
<ion-item margin-bottom>
|
||||||
<core-show-password item-content [name]="'password'">
|
<core-show-password item-content [name]="'password'">
|
||||||
<ion-input class="core-ioninput-password" name="password" type="password" placeholder="{{ 'core.login.password' | translate }}" formControlName="password" [clearOnEdit]="false"></ion-input>
|
<ion-input class="core-ioninput-password" name="password" type="password" placeholder="{{ 'core.login.password' | translate }}" formControlName="password" [clearOnEdit]="false"></ion-input>
|
||||||
</core-show-password>
|
</core-show-password>
|
||||||
|
|
|
@ -203,7 +203,7 @@ export class CoreLoginHelperProvider {
|
||||||
return this.requestPasswordReset(siteUrl).then(() => {
|
return this.requestPasswordReset(siteUrl).then(() => {
|
||||||
return true;
|
return true;
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
return error.available == 1 || error.errorcode != 'invalidrecord';
|
return error.available == 1 || (error.errorcode != 'invalidrecord' && error.errorcode != '');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,9 @@ page-core-mainmenu-more {
|
||||||
$core-more-background-ios: $list-ios-background-color !default;
|
$core-more-background-ios: $list-ios-background-color !default;
|
||||||
$core-more-background-md: $list-md-background-color !default;
|
$core-more-background-md: $list-md-background-color !default;
|
||||||
$core-more-background-wp: $item-wp-body-background-color !default;
|
$core-more-background-wp: $item-wp-body-background-color !default;
|
||||||
|
$core-more-activated-background-ios: color-shade($core-more-background-ios) !default;
|
||||||
|
$core-more-activated-background-md: color-shade($core-more-background-md) !default;
|
||||||
|
$core-more-activated-background-wp: color-shade($core-more-background-wp) !default;
|
||||||
$core-more-divider-ios: $item-ios-divider-background !default;
|
$core-more-divider-ios: $item-ios-divider-background !default;
|
||||||
$core-more-divider-md: $item-md-divider-background !default;
|
$core-more-divider-md: $item-md-divider-background !default;
|
||||||
$core-more-divider-wp: $item-wp-divider-background !default;
|
$core-more-divider-wp: $item-wp-divider-background !default;
|
||||||
|
@ -14,7 +17,7 @@ page-core-mainmenu-more {
|
||||||
$core-more-color-wp: $item-wp-body-text-color !default;
|
$core-more-color-wp: $item-wp-body-text-color !default;
|
||||||
|
|
||||||
.item-block {
|
.item-block {
|
||||||
&.item-ios, &.item-ios p {
|
&.item-ios {
|
||||||
background-color: $core-more-background-ios;
|
background-color: $core-more-background-ios;
|
||||||
color: $core-more-color-ios;
|
color: $core-more-color-ios;
|
||||||
|
|
||||||
|
@ -22,7 +25,7 @@ page-core-mainmenu-more {
|
||||||
border-bottom: $hairlines-width solid $core-more-border-ios;
|
border-bottom: $hairlines-width solid $core-more-border-ios;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.item-md, &.item-md p {
|
&.item-md {
|
||||||
background-color: $core-more-background-md;
|
background-color: $core-more-background-md;
|
||||||
color: $core-more-color-md;
|
color: $core-more-color-md;
|
||||||
|
|
||||||
|
@ -30,7 +33,7 @@ page-core-mainmenu-more {
|
||||||
border-bottom: 1px solid $core-more-border-md;
|
border-bottom: 1px solid $core-more-border-md;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.item-wp, &.item-wp p {
|
&.item-wp {
|
||||||
background-color: $core-more-background-wp;
|
background-color: $core-more-background-wp;
|
||||||
color: $core-more-color-wp;
|
color: $core-more-color-wp;
|
||||||
|
|
||||||
|
@ -38,6 +41,18 @@ page-core-mainmenu-more {
|
||||||
border-bottom: 1px solid $core-more-border-wp;
|
border-bottom: 1px solid $core-more-border-wp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.activated {
|
||||||
|
&.item-ios {
|
||||||
|
background-color: $core-more-activated-background-ios;
|
||||||
|
}
|
||||||
|
&.item-md {
|
||||||
|
background-color: $core-more-activated-background-md;
|
||||||
|
}
|
||||||
|
&.item-wp {
|
||||||
|
background-color: $core-more-activated-background-wp;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ion-icon {
|
ion-icon {
|
||||||
|
|
Loading…
Reference in New Issue