@sumaris-net/ngx-components 1.1.0 → 1.2.2
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 +35 -13
- 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/esm2015/src/app/core/form/editor.class.js +4 -2
- package/esm2015/src/app/core/form/properties.form.js +2 -2
- package/esm2015/src/app/core/install/install-upgrade-card.component.js +20 -8
- package/esm2015/src/app/core/services/platform.service.js +2 -2
- package/fesm2015/sumaris-net.ngx-components.js +24 -10
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/i18n/en-US.json +26 -53
- package/src/assets/i18n/en.json +26 -53
- package/src/assets/i18n/fr.json +20 -51
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -16874,7 +16874,7 @@
|
|
|
16874
16874
|
var location$ = this._downloadingJobs.get(request.uri);
|
|
16875
16875
|
if (location$)
|
|
16876
16876
|
return location$;
|
|
16877
|
-
request = Object.assign({ visibleInDownloadsUi: true, notificationVisibility: ngx$6.NotificationVisibility.VisibleNotifyCompleted, title: request.title || request.filename }, request);
|
|
16877
|
+
request = Object.assign(Object.assign({ visibleInDownloadsUi: true, notificationVisibility: ngx$6.NotificationVisibility.VisibleNotifyCompleted, title: request.title || request.filename }, request), { destinationInExternalFilesDir: Object.assign({ dirType: 'Downloads', subPath: request.filename || request.title || '' }, request.destinationInExternalFilesDir) });
|
|
16878
16878
|
console.debug('[platform] Downloading, using request: ' + JSON.stringify(request));
|
|
16879
16879
|
// Start download
|
|
16880
16880
|
location$ = rxjs.from(this.downloader.download(request));
|
|
@@ -21474,7 +21474,7 @@
|
|
|
21474
21474
|
AppPropertiesForm.decorators = [
|
|
21475
21475
|
{ type: i0.Component, args: [{
|
|
21476
21476
|
selector: 'app-properties-form',
|
|
21477
|
-
template: "\n<!-- Properties -->\n<form [formGroup]=\"form\" class=\"form-container\">\n <ion-grid *ngIf=\"!loading; else propertiesSkeleton\"\n formArrayName=\"properties\" class=\"ion-no-padding\" >\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding ion-align-self-end\" size=\"12\">\n <span class=\"toolbar-spacer\"></span>\n\n <!-- Show more options -->\n <ion-button color=\"light\" *ngIf=\"formArray?.length === 0\"\n [title]=\"'SETTINGS.BTN_SHOW_MORE_HELP'|translate\"\n (click)=\"helper.add()\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-col>\n </ion-row>\n\n <ng-container *ngFor=\"let fieldForm of fieldForms; let i=index\">\n <ion-row class=\"ion-no-padding\" [formGroupName]=\"i\">\n\n <!-- property key -->\n <ion-col size=\"6\" class=\"ion-no-padding\">\n <mat-form-field floatLabel=\"never\">\n <mat-select [formControl]=\"fieldForm.controls.key\"\n [placeholder]=\"'SETTINGS.PROPERTY_KEY'|translate\"\n (selectionChange)=\"updateDefinitionAt(i)\"\n [tabindex]=\"20+i*2\"\n required>\n\n <!-- When option's key not a well known option, add it as first select option -->\n <mat-option *ngIf=\"isUnknownField(fieldForm)\" [value]=\"fieldForm.controls.key.value\">\n {{fieldForm.controls.key.value}}\n </mat-option>\n\n <mat-option *ngFor=\"let item of definitions\" [value]=\"item.key\">{{ item.label | translate }}\n </mat-option>\n\n </mat-select>\n\n <mat-error *ngIf=\"fieldForm.controls.key.hasError('required') && !helper.isLast(i)\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n </ion-col>\n\n <!-- property value -->\n <ion-col class=\"ion-no-padding\" padding-left >\n <app-form-field *ngIf=\"getDefinitionAt(i) else unknownValue; let definition; \"\n floatLabel=\"never\"\n [definition]=\"definition\"\n [formControl]=\"fieldForm.controls.value\"\n [placeholder]=\"'SETTINGS.PROPERTY_VALUE' | translate\"\n [required]=\"true\"\n [tabindex]=\"20+i*2 + 1\">\n </app-form-field>\n <ng-template #unknownValue>\n <mat-form-field floatLabel=\"never\">\n <input type=\"text\" matInput\n [placeholder]=\"'SETTINGS.PROPERTY_VALUE' | translate\"\n [formControl]=\"fieldForm.controls.value\"\n [required]=\"true\"\n [tabindex]=\"20+i*2 + 1\">\n </mat-form-field>\n </ng-template>\n </ion-col>\n\n <ion-col size=\"auto\" class=\"ion-no-padding\">\n <button type=\"button\" mat-icon-button color=\"light\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"removeAt(i)\">\n <mat-icon>close</mat-icon>\n </button>\n <button [hidden]=\"!helper.isLast(i)\"\n type=\"button\"\n mat-icon-button\n color=\"light\"\n [disabled]=\"disabled\"\n [title]=\"'
|
|
21477
|
+
template: "\n<!-- Properties -->\n<form [formGroup]=\"form\" class=\"form-container\">\n <ion-grid *ngIf=\"!loading; else propertiesSkeleton\"\n formArrayName=\"properties\" class=\"ion-no-padding\" >\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding ion-align-self-end\" size=\"12\">\n <span class=\"toolbar-spacer\"></span>\n\n <!-- Show more options -->\n <ion-button color=\"light\" *ngIf=\"formArray?.length === 0\"\n [title]=\"'SETTINGS.BTN_SHOW_MORE_HELP'|translate\"\n (click)=\"helper.add()\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-col>\n </ion-row>\n\n <ng-container *ngFor=\"let fieldForm of fieldForms; let i=index\">\n <ion-row class=\"ion-no-padding\" [formGroupName]=\"i\">\n\n <!-- property key -->\n <ion-col size=\"6\" class=\"ion-no-padding\">\n <mat-form-field floatLabel=\"never\">\n <mat-select [formControl]=\"fieldForm.controls.key\"\n [placeholder]=\"'SETTINGS.PROPERTY_KEY'|translate\"\n (selectionChange)=\"updateDefinitionAt(i)\"\n [tabindex]=\"20+i*2\"\n required>\n\n <!-- When option's key not a well known option, add it as first select option -->\n <mat-option *ngIf=\"isUnknownField(fieldForm)\" [value]=\"fieldForm.controls.key.value\">\n {{fieldForm.controls.key.value}}\n </mat-option>\n\n <mat-option *ngFor=\"let item of definitions\" [value]=\"item.key\">{{ item.label | translate }}\n </mat-option>\n\n </mat-select>\n\n <mat-error *ngIf=\"fieldForm.controls.key.hasError('required') && !helper.isLast(i)\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n </ion-col>\n\n <!-- property value -->\n <ion-col class=\"ion-no-padding\" padding-left >\n <app-form-field *ngIf=\"getDefinitionAt(i) else unknownValue; let definition; \"\n floatLabel=\"never\"\n [definition]=\"definition\"\n [formControl]=\"fieldForm.controls.value\"\n [placeholder]=\"'SETTINGS.PROPERTY_VALUE' | translate\"\n [required]=\"true\"\n [tabindex]=\"20+i*2 + 1\">\n </app-form-field>\n <ng-template #unknownValue>\n <mat-form-field floatLabel=\"never\">\n <input type=\"text\" matInput\n [placeholder]=\"'SETTINGS.PROPERTY_VALUE' | translate\"\n [formControl]=\"fieldForm.controls.value\"\n [required]=\"true\"\n [tabindex]=\"20+i*2 + 1\">\n </mat-form-field>\n </ng-template>\n </ion-col>\n\n <ion-col size=\"auto\" class=\"ion-no-padding\">\n <button type=\"button\" mat-icon-button color=\"light\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"removeAt(i)\">\n <mat-icon>close</mat-icon>\n </button>\n <button [hidden]=\"!helper.isLast(i)\"\n type=\"button\"\n mat-icon-button\n color=\"light\"\n [disabled]=\"disabled\"\n [title]=\"'SETTINGS.BTN_ADD_PROPERTY'|translate\"\n (click)=\"helper.add()\">\n <mat-icon>add</mat-icon>\n </button>\n </ion-col>\n </ion-row>\n </ng-container>\n </ion-grid>\n</form>\n\n<ng-template #propertiesSkeleton>\n\n <ion-grid class=\"ion-no-padding\">\n <ng-container *ngTemplateOutlet=\"propertyRowSkeleton\"></ng-container>\n <ng-container *ngTemplateOutlet=\"propertyRowSkeleton\"></ng-container>\n <ng-container *ngTemplateOutlet=\"propertyRowSkeleton\"></ng-container>\n </ion-grid>\n\n</ng-template>\n\n<ng-template #propertyRowSkeleton>\n\n <ion-row>\n <!-- property key -->\n <ion-col>\n <mat-form-field>\n <input matInput hidden>\n <ion-skeleton-text animated style=\"width: 60%\"></ion-skeleton-text>\n <ion-icon name=\"arrow-dropdown\" matSuffix></ion-icon>\n </mat-form-field>\n </ion-col>\n <!-- value -->\n <ion-col>\n <mat-form-field>\n <input matInput hidden>\n <ion-skeleton-text animated style=\"width: 60%\"></ion-skeleton-text>\n </mat-form-field>\n </ion-col>\n <!-- buttons -->\n <ion-col size=\"2\">\n <button type=\"button\" mat-icon-button color=\"light\"\n [disabled]=\"true\">\n <mat-icon>close</mat-icon>\n </button>\n </ion-col>\n </ion-row>\n\n</ng-template>\n",
|
|
21478
21478
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
21479
21479
|
},] }
|
|
21480
21480
|
];
|
|
@@ -21879,16 +21879,33 @@
|
|
|
21879
21879
|
AppInstallUpgradeCard.prototype.download = function (event, link) {
|
|
21880
21880
|
return __awaiter(this, void 0, void 0, function () {
|
|
21881
21881
|
return __generator(this, function (_a) {
|
|
21882
|
-
|
|
21883
|
-
|
|
21884
|
-
|
|
21882
|
+
switch (_a.label) {
|
|
21883
|
+
case 0:
|
|
21884
|
+
if (!link || !link.url) {
|
|
21885
|
+
console.error('[install-upgrade-card] Missing required argument \'link.url\'');
|
|
21886
|
+
return [2 /*return*/]; // Skip
|
|
21887
|
+
}
|
|
21888
|
+
// Mark link as downloading
|
|
21889
|
+
link.downloading = true;
|
|
21890
|
+
this.markForCheck();
|
|
21891
|
+
_a.label = 1;
|
|
21892
|
+
case 1:
|
|
21893
|
+
_a.trys.push([1, , 3, 4]);
|
|
21894
|
+
return [4 /*yield*/, this.listenDownloadJob(link.url, this.platform.download({
|
|
21895
|
+
uri: link.url,
|
|
21896
|
+
title: link.title,
|
|
21897
|
+
filename: link.filename,
|
|
21898
|
+
mimeType: link.mimeType
|
|
21899
|
+
}))];
|
|
21900
|
+
case 2:
|
|
21901
|
+
_a.sent();
|
|
21902
|
+
return [3 /*break*/, 4];
|
|
21903
|
+
case 3:
|
|
21904
|
+
link.downloading = false;
|
|
21905
|
+
this.markForCheck();
|
|
21906
|
+
return [7 /*endfinally*/];
|
|
21907
|
+
case 4: return [2 /*return*/];
|
|
21885
21908
|
}
|
|
21886
|
-
return [2 /*return*/, this.listenDownloadJob(link.url, this.platform.download({
|
|
21887
|
-
uri: link.url,
|
|
21888
|
-
title: link.title,
|
|
21889
|
-
filename: link.filename,
|
|
21890
|
-
mimeType: link.mimeType
|
|
21891
|
-
}))];
|
|
21892
21909
|
});
|
|
21893
21910
|
});
|
|
21894
21911
|
};
|
|
@@ -22086,10 +22103,13 @@
|
|
|
22086
22103
|
_a.trys.push([1, 3, 4, 5]);
|
|
22087
22104
|
// Mark as downloading
|
|
22088
22105
|
if (!this.downloading) {
|
|
22089
|
-
console.info("[install-upgrade-card]
|
|
22106
|
+
console.info("[install-upgrade-card] Asking platform to download '" + url + "'...");
|
|
22090
22107
|
this.downloading = true;
|
|
22091
22108
|
this.markForCheck();
|
|
22092
22109
|
}
|
|
22110
|
+
else {
|
|
22111
|
+
console.info("[install-upgrade-card] Platform is already downloading!");
|
|
22112
|
+
}
|
|
22093
22113
|
return [4 /*yield*/, job.toPromise()];
|
|
22094
22114
|
case 2:
|
|
22095
22115
|
location = _a.sent();
|
|
@@ -25834,10 +25854,12 @@
|
|
|
25834
25854
|
var _a;
|
|
25835
25855
|
if (this._loading) {
|
|
25836
25856
|
this._loading = false;
|
|
25837
|
-
if (!opts || opts.
|
|
25857
|
+
if (!opts || opts.onlySelf !== true) {
|
|
25838
25858
|
// Emit to children forms
|
|
25839
25859
|
// Tables should be changed by parent
|
|
25840
25860
|
(_a = this.forms) === null || _a === void 0 ? void 0 : _a.forEach(function (c) { return c.markAsLoaded(opts); });
|
|
25861
|
+
}
|
|
25862
|
+
if (!opts || opts.emitEvent !== false) {
|
|
25841
25863
|
this.markForCheck();
|
|
25842
25864
|
}
|
|
25843
25865
|
}
|