@sumaris-net/ngx-components 1.23.64 → 1.23.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sumaris-net.ngx-components.umd.js +34 -3
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +3 -0
- package/esm2015/src/app/core/form/entity-editor.class.js +1 -1
- package/esm2015/src/app/core/home/home.js +1 -2
- package/esm2015/src/app/core/services/account.service.js +3 -3
- package/esm2015/src/app/shared/pipes/pipes.module.js +6 -2
- package/esm2015/src/app/shared/pipes/string.pipes.js +22 -2
- package/fesm2015/sumaris-net.ngx-components.js +27 -4
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/form/entity-editor.class.d.ts +1 -1
- package/src/app/core/services/account.service.d.ts +3 -3
- package/src/app/shared/pipes/string.pipes.d.ts +6 -0
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -3258,6 +3258,32 @@
|
|
|
3258
3258
|
name: 'isNilOrBlank'
|
|
3259
3259
|
},] }
|
|
3260
3260
|
];
|
|
3261
|
+
var IsNotNilOrNaNPipe = /** @class */ (function () {
|
|
3262
|
+
function IsNotNilOrNaNPipe() {
|
|
3263
|
+
}
|
|
3264
|
+
IsNotNilOrNaNPipe.prototype.transform = function (value) {
|
|
3265
|
+
return isNotNilOrNaN(value);
|
|
3266
|
+
};
|
|
3267
|
+
return IsNotNilOrNaNPipe;
|
|
3268
|
+
}());
|
|
3269
|
+
IsNotNilOrNaNPipe.decorators = [
|
|
3270
|
+
{ type: i0.Pipe, args: [{
|
|
3271
|
+
name: 'isNotNilOrNaN'
|
|
3272
|
+
},] }
|
|
3273
|
+
];
|
|
3274
|
+
var IsNotNilPipe = /** @class */ (function () {
|
|
3275
|
+
function IsNotNilPipe() {
|
|
3276
|
+
}
|
|
3277
|
+
IsNotNilPipe.prototype.transform = function (value) {
|
|
3278
|
+
return isNotNil(value);
|
|
3279
|
+
};
|
|
3280
|
+
return IsNotNilPipe;
|
|
3281
|
+
}());
|
|
3282
|
+
IsNotNilPipe.decorators = [
|
|
3283
|
+
{ type: i0.Pipe, args: [{
|
|
3284
|
+
name: 'isNotNil'
|
|
3285
|
+
},] }
|
|
3286
|
+
];
|
|
3261
3287
|
var ToStringPipe = /** @class */ (function () {
|
|
3262
3288
|
function ToStringPipe() {
|
|
3263
3289
|
}
|
|
@@ -5158,6 +5184,8 @@
|
|
|
5158
5184
|
MapValuesPipe,
|
|
5159
5185
|
IsNilOrBlankPipe,
|
|
5160
5186
|
IsNotNilOrBlankPipe,
|
|
5187
|
+
IsNotNilOrNaNPipe,
|
|
5188
|
+
IsNotNilPipe,
|
|
5161
5189
|
ToStringPipe,
|
|
5162
5190
|
StrLengthPipe,
|
|
5163
5191
|
StrIncludesPipe,
|
|
@@ -5199,6 +5227,8 @@
|
|
|
5199
5227
|
MapValuesPipe,
|
|
5200
5228
|
IsNilOrBlankPipe,
|
|
5201
5229
|
IsNotNilOrBlankPipe,
|
|
5230
|
+
IsNotNilOrNaNPipe,
|
|
5231
|
+
IsNotNilPipe,
|
|
5202
5232
|
ToStringPipe,
|
|
5203
5233
|
StrLengthPipe,
|
|
5204
5234
|
StrIncludesPipe,
|
|
@@ -16624,8 +16654,8 @@
|
|
|
16624
16654
|
_this.onLogin = new rxjs.Subject();
|
|
16625
16655
|
_this.onLogout = new rxjs.Subject();
|
|
16626
16656
|
_this.onChange = new rxjs.Subject();
|
|
16627
|
-
_this.onAuthTokenChange = new rxjs.
|
|
16628
|
-
_this.onAuthBasicChange = new rxjs.
|
|
16657
|
+
_this.onAuthTokenChange = new rxjs.BehaviorSubject(undefined);
|
|
16658
|
+
_this.onAuthBasicChange = new rxjs.BehaviorSubject(undefined);
|
|
16629
16659
|
_this._listenChangesSubscription = null;
|
|
16630
16660
|
_this._cache = {
|
|
16631
16661
|
loaded: false,
|
|
@@ -22599,7 +22629,6 @@
|
|
|
22599
22629
|
}());
|
|
22600
22630
|
HomePage.decorators = [
|
|
22601
22631
|
{ type: i0.Component, args: [{
|
|
22602
|
-
moduleId: module.id.toString(),
|
|
22603
22632
|
selector: 'app-page-home',
|
|
22604
22633
|
template: "<app-toolbar [canGoBack]=\"false\"\n visible-xs visible-sm visible-mobile>\n\n <!-- change locale button -->\n <ion-button slot=\"end\" *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n</app-toolbar>\n\n<!-- change locale menu -->\n<mat-menu #localeMenu=\"matMenu\">\n <button *ngFor=\"let item of locales\"\n mat-menu-item\n (click)=\"changeLanguage(item.key)\">\n <ion-label>{{item.value}}</ion-label>\n </button>\n</mat-menu>\n\n<ion-content [ngStyle]=\"contentStyle\" no-padding-xs>\n\n <!-- loading spinner -->\n <div class=\"loading-page\" [class.cdk-visually-hidden]=\"!loading\">\n <div class=\"spinner\" *ngIf=\"loading && showSpinner\">\n <p [innerHTML]=\"'COMMON.LOADING_DOTS'|translate\"></p>\n <div class=\"sk-cube1 sk-cube\"></div>\n <div class=\"sk-cube2 sk-cube\"></div>\n <div class=\"sk-cube4 sk-cube\"></div>\n <div class=\"sk-cube3 sk-cube\"></div>\n </div>\n </div>\n\n <!-- Desktop: translucent top toolbar -->\n <div hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar translucent>\n <ion-buttons slot=\"start\">\n <ion-menu-toggle>\n <ion-button color=\"light\" fill=\"clear\">\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n </ion-buttons>\n\n <ion-buttons slot=\"end\">\n <!-- change locale button -->\n <ion-button color=\"secondary\" fill=\"solid\"\n *ngIf=\"currentLocaleCode; let code\"\n [matMenuTriggerFor]=\"localeMenu\">\n <ion-label class=\"ion-text-uppercase\"> {{ code }}</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n </div>\n\n <!-- Install (and upgrade) card -->\n <app-install-upgrade-card [isLogin]=\"isLogin\"\n showInstallButton=\"true\">\n </app-install-upgrade-card>\n\n <!-- Welcome card -->\n <ion-card *ngIf=\"!loading\"\n class=\"main welcome ion-padding ion-text-center ion-align-self-center\"\n @fadeInAnimation>\n <ion-card-header>\n <ion-card-title class=\"ion-text-center\">\n <span *ngIf=\"isWeb\" [innerHTML]=\"'HOME.WELCOME_WEB'|translate: {appName: appName}\"></span>\n <span *ngIf=\"!isWeb\" [innerHTML]=\"'HOME.WELCOME_APP'|translate: {appName: appName}\"></span>\n </ion-card-title>\n <ion-card-subtitle [innerHTML]=\"description\">\n </ion-card-subtitle>\n </ion-card-header>\n <ion-card-content class=\"ion-no-padding\">\n <ion-text color=\"primary\">\n <img class=\"logo\" *ngIf=\"logo\" src=\"{{ logo }}\">\n </ion-text>\n <!-- register help text -->\n <ion-text *ngIf=\"!isLogin && canRegister\">\n <br/>\n <span translate>HOME.REGISTER_HELP</span>\n </ion-text>\n </ion-card-content>\n\n <ion-footer class=\"ion-padding-top\">\n\n <!-- If NOT login -->\n <ng-container *ngIf=\"!isLogin; else loginButtons;\">\n\n <ion-button *ngIf=\"canRegister\" expand=\"block\" color=\"tertiary\" (click)=\"register()\">\n <span translate>HOME.BTN_REGISTER</span>\n </ion-button>\n <ion-button expand=\"block\" color=\"light\" [routerLink]=\"['/']\" (click)=\"login()\">\n <span translate>AUTH.BTN_LOGIN</span>\n </ion-button>\n\n </ng-container>\n\n <!-- If user login -->\n <ng-template #loginButtons>\n\n <!-- Feature buttons -->\n <ng-container *ngIf=\"$filteredButtons | async as buttons\">\n <ng-container *ngFor=\"let item of buttons\">\n <ion-button *ngIf=\"item.path\"\n expand=\"block\" color=\"tertiary\"\n [class]=\"item.cssClass\"\n [routerLink]=\"item.path\"\n routerDirection=\"root\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.icon\" [name]=\"item.icon\"></ion-icon>\n <mat-icon slot=\"start\" class=\"ion-float-start\" *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <ion-text>{{'HOME.BTN_DATA_ENTRY'|translate: {name: (item.title | translate) } }}</ion-text>\n </ion-button>\n\n <!-- divider -->\n <div *ngIf=\"!item.path && !item.action\" [class]=\"item.cssClass\">\n <ion-label translate>{{item.title}} </ion-label>\n </div>\n </ng-container>\n\n <!--<p *ngIf=\"buttons.length\" class=\"visible-mobile\"> </p>-->\n </ng-container>\n\n <ion-button *ngIf=\"showAccountButton\" expand=\"block\" color=\"secondary\" [routerLink]=\"['/account']\">\n <ion-icon slot=\"start\" class=\"ion-float-start\" name=\"person-circle\"></ion-icon>\n <ion-text translate>HOME.BTN_MY_ACCOUNT</ion-text>\n </ion-button>\n\n <p hidden-xs hidden-sm hidden-mobile>\n <ion-text [innerHTML]=\"'HOME.NOT_THIS_ACCOUNT_QUESTION' | translate: {displayName: accountName }\"></ion-text>\n <br/>\n <ion-text>\n <a href=\"#\" (click)=\"logout($event)\">\n <span translate>HOME.BTN_DISCONNECT</span>\n </a>\n </ion-text>\n </p>\n\n\n </ng-template>\n\n </ion-footer>\n </ion-card>\n\n <!-- Page history -->\n <ion-grid *ngIf=\"!loading && isLogin && pageHistory.length; else bottomBanner\"\n class=\"history-container ion-align-self-center\">\n <ion-row>\n <ion-col size=\"12\" size-xl=\"\" *ngFor=\"let page of pageHistory; trackBy: getPagePath\"\n class=\"ion-text-center\">\n <ion-card class=\"ion-align-self-start ion-text-start\" @fadeInAnimation>\n <ion-card-header class=\"ion-no-padding\">\n <!-- top bar -->\n <ion-card-subtitle>\n <button type=\"button\" tabindex=\"-1\"\n (click)=\"settings.removePageHistory(page.path)\"\n mat-icon-button class=\"ion-float-start ion-no-margin\">\n <mat-icon>close</mat-icon>\n </button>\n <ion-label [innerHTML]=\"page.subtitle|translate\"></ion-label>\n <ion-text class=\"ion-float-end\" [title]=\"page.time|dateFormat:{time: true}\">\n <small><ion-icon name=\"time-outline\"></ion-icon> {{ page.time|dateFromNow }}</small> \n </ion-text>\n </ion-card-subtitle>\n\n <!-- main page -->\n <ion-card-title class=\"ion-no-margin ion-no-padding\">\n <ion-item detail=\"true\"\n tappable class=\"text-1x\"\n [routerLink]=\"page.path\"\n routerDirection=\"root\" lines=\"none\">\n <!-- page icon-->\n <ion-icon *ngIf=\"page.icon\" slot=\"start\" [name]=\"page.icon\"></ion-icon>\n <mat-icon *ngIf=\"page.matIcon\" slot=\"start\">{{page.matIcon}}</mat-icon>\n\n <ion-label color=\"primary\" [innerHTML]=\"page.title\"></ion-label>\n </ion-item>\n </ion-card-title>\n </ion-card-header>\n\n <!-- children pages -->\n <ion-card-content class=\"ion-no-padding ion-padding-start\" *ngIf=\"page.children?.length\">\n <ion-list class=\"ion-no-padding\">\n <ion-item detail=\"true\"\n *ngFor=\"let childPage of page.children\"\n tappable class=\"text-1x\"\n [routerLink]=\"childPage.path\"\n routerDirection=\"root\">\n <!-- page icon-->\n <ion-icon *ngIf=\"childPage.icon\" slot=\"start\" color=\"dark\" [name]=\"childPage.icon\"></ion-icon>\n <mat-icon *ngIf=\"childPage.matIcon\" slot=\"start\" color=\"dark\">{{childPage.matIcon}}</mat-icon>\n\n <ion-label color=\"dark\" [innerHTML]=\"childPage.title\"></ion-label>\n </ion-item>\n </ion-list>\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <!-- Display configured Departments logos -->\n <ng-template #bottomBanner>\n <div class=\"bottom-banner ion-text-center ion-padding\" *ngIf=\"!loadingBanner\" @fadeInAnimation>\n <a href=\"{{ item.siteUrl }}\" *ngFor=\"let item of $partners | async \">\n <img class=\"logo\" src=\"{{ item.logo }}\" alt=\"{{item.label}}\" [title]=\"item.label\" />\n </a>\n </div>\n </ng-template>\n\n\n</ion-content>\n",
|
|
22605
22634
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
@@ -35647,6 +35676,8 @@
|
|
|
35647
35676
|
exports.IsLoginAccountPipe = IsLoginAccountPipe;
|
|
35648
35677
|
exports.IsNilOrBlankPipe = IsNilOrBlankPipe;
|
|
35649
35678
|
exports.IsNotNilOrBlankPipe = IsNotNilOrBlankPipe;
|
|
35679
|
+
exports.IsNotNilOrNaNPipe = IsNotNilOrNaNPipe;
|
|
35680
|
+
exports.IsNotNilPipe = IsNotNilPipe;
|
|
35650
35681
|
exports.IsNotOnFieldModePipe = IsNotOnFieldModePipe;
|
|
35651
35682
|
exports.IsOnFieldModePipe = IsOnFieldModePipe;
|
|
35652
35683
|
exports.Job = Job;
|