@ecodev/natural 37.1.0 → 40.0.0
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/ecodev-natural.umd.js +158 -109
- package/bundles/ecodev-natural.umd.js.map +1 -1
- package/ecodev-natural.metadata.json +1 -1
- package/esm2015/lib/classes/abstract-list.js +20 -22
- package/esm2015/lib/classes/abstract-navigable-list.js +32 -23
- package/esm2015/lib/classes/rxjs.js +13 -2
- package/esm2015/lib/classes/validators.js +15 -1
- package/esm2015/lib/modules/alert/confirm.component.js +1 -1
- package/esm2015/lib/modules/columns-picker/columns-picker.component.js +26 -8
- package/esm2015/lib/modules/detail-header/detail-header.component.js +1 -1
- package/esm2015/lib/modules/dropdown-components/type-number/type-number.component.js +1 -1
- package/esm2015/lib/modules/dropdown-components/type-text/type-text.component.js +1 -1
- package/esm2015/lib/modules/file/component/file.component.js +1 -1
- package/esm2015/lib/modules/file/file-drop.directive.js +2 -4
- package/esm2015/lib/modules/fixed-button/fixed-button.component.js +1 -1
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.js +1 -1
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.js +1 -1
- package/esm2015/lib/modules/icon/icon.component.js +1 -1
- package/esm2015/lib/modules/relations/relations.component.js +1 -1
- package/esm2015/lib/modules/search/dropdown-container/dropdown-container.component.js +2 -2
- package/esm2015/lib/modules/search/dropdown-container/dropdown-ref.js +1 -1
- package/esm2015/lib/modules/search/facet-selector/facet-selector.component.js +1 -1
- package/esm2015/lib/modules/search/group/group.component.js +1 -1
- package/esm2015/lib/modules/search/input/input.component.js +4 -4
- package/esm2015/lib/modules/search/search/search.component.js +1 -1
- package/esm2015/lib/modules/select/select/select.component.js +1 -1
- package/esm2015/lib/modules/select/select-hierarchic/select-hierarchic.component.js +1 -1
- package/esm2015/lib/modules/sidenav/sidenav-container/sidenav-container.component.js +3 -3
- package/esm2015/lib/modules/sidenav/sidenav-content/sidenav-content.component.js +1 -1
- package/esm2015/lib/modules/table-button/table-button.component.js +1 -1
- package/fesm2015/ecodev-natural.js +126 -78
- package/fesm2015/ecodev-natural.js.map +1 -1
- package/lib/classes/abstract-list.d.ts +7 -10
- package/lib/classes/abstract-navigable-list.d.ts +4 -2
- package/lib/classes/rxjs.d.ts +6 -1
- package/lib/classes/validators.d.ts +7 -0
- package/lib/modules/columns-picker/columns-picker.component.d.ts +15 -5
- package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +1 -2
- package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +3 -2
- package/package.json +5 -5
- package/src/lib/modules/alert/_alert.theme.scss +1 -1
- package/src/lib/modules/file/component/_file.theme.scss +1 -1
- package/src/lib/modules/icon/_icon.theme.scss +1 -1
- package/src/lib/modules/search/dropdown-container/_dropdown-container.theme.scss +1 -1
- package/src/lib/modules/sidenav/_sidenav.theme.scss +1 -1
- package/src/lib/styles/_table.scss +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/localize/init'), require('@angular/core'), require('rxjs'), require('@angular/forms'), require('@angular/router'), require('lodash-es'), require('@angular/material/dialog'), require('@angular/material/snack-bar'), require('rxjs/operators'), require('@angular/material/table'), require('@angular/cdk/collections'), require('apollo-angular'), require('@apollo/client/core'), require('@angular/material/core'), require('@angular/cdk/platform'), require('@angular/common'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/menu'), require('@angular/material/icon'), require('@angular/platform-browser'), require('@angular/material/tooltip'), require('@angular/material/tabs'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/list'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/a11y'), require('@angular/animations'), require('@angular/material/datepicker'), require('@angular/cdk/tree'), require('@angular/material/chips'), require('@angular/material/progress-spinner'), require('@angular/material/tree'), require('@angular/material/autocomplete'), require('@angular/cdk/coercion'), require('@angular/flex-layout'), require('@angular/flex-layout/core'), require('@angular/material/paginator'), require('@angular/material/sidenav'), require('ts-md5')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@ecodev/natural', ['exports', '@angular/localize/init', '@angular/core', 'rxjs', '@angular/forms', '@angular/router', 'lodash-es', '@angular/material/dialog', '@angular/material/snack-bar', 'rxjs/operators', '@angular/material/table', '@angular/cdk/collections', 'apollo-angular', '@apollo/client/core', '@angular/material/core', '@angular/cdk/platform', '@angular/common', '@angular/material/button', '@angular/material/checkbox', '@angular/material/menu', '@angular/material/icon', '@angular/platform-browser', '@angular/material/tooltip', '@angular/material/tabs', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/list', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/a11y', '@angular/animations', '@angular/material/datepicker', '@angular/cdk/tree', '@angular/material/chips', '@angular/material/progress-spinner', '@angular/material/tree', '@angular/material/autocomplete', '@angular/cdk/coercion', '@angular/flex-layout', '@angular/flex-layout/core', '@angular/material/paginator', '@angular/material/sidenav', 'ts-md5'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ecodev = global.ecodev || {}, global.ecodev.natural = {}), global.ng.localize.init, global.ng.core, global.rxjs, global.ng.forms, global.ng.router, global[
|
|
5
|
-
}(this, (function (exports, init, i0, rxjs, forms, i1$1, lodashEs, i1, i2, operators, table, collections, i1$2, core, i1$3, i2$1, i1$4, button, checkbox, menu, icon, i2$2, tooltip, tabs, formField, input, select, list, i1$5, portal, a11y, animations, datepicker, tree$1, chips, progressSpinner, tree, autocomplete, coercion, flexLayout, i4, paginator, sidenav, tsMd5) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ecodev = global.ecodev || {}, global.ecodev.natural = {}), global.ng.localize.init, global.ng.core, global.rxjs, global.ng.forms, global.ng.router, global["lodash-es"], global.ng.material.dialog, global.ng.material.snackBar, global.rxjs.operators, global.ng.material.table, global.ng.cdk.collections, global["apollo-angular"], global.core, global.ng.material.core, global.ng.cdk.platform, global.ng.common, global.ng.material.button, global.ng.material.checkbox, global.ng.material.menu, global.ng.material.icon, global.ng.platformBrowser, global.ng.material.tooltip, global.ng.material.tabs, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.list, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.cdk.a11y, global.ng.animations, global.ng.material.datepicker, global.ng.cdk.tree, global.ng.material.chips, global.ng.material.progressSpinner, global.ng.material.tree, global.ng.material.autocomplete, global.ng.cdk.coercion, global.ng.flexLayout, global.ng.flexLayout.core, global.ng.material.paginator, global.ng.material.sidenav, global.tsMd5));
|
|
5
|
+
})(this, (function (exports, init, i0, rxjs, forms, i1$1, lodashEs, i1, i2, operators, table, collections, i1$2, core, i1$3, i2$1, i1$4, button, checkbox, menu, icon, i2$2, tooltip, tabs, formField, input, select, list, i1$5, portal, a11y, animations, datepicker, tree$1, chips, progressSpinner, tree, autocomplete, coercion, flexLayout, i4, paginator, sidenav, tsMd5) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -13,14 +13,12 @@
|
|
|
13
13
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
14
|
Object.defineProperty(n, k, d.get ? d : {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () {
|
|
17
|
-
return e[k];
|
|
18
|
-
}
|
|
16
|
+
get: function () { return e[k]; }
|
|
19
17
|
});
|
|
20
18
|
}
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
|
-
n[
|
|
21
|
+
n["default"] = e;
|
|
24
22
|
return Object.freeze(n);
|
|
25
23
|
}
|
|
26
24
|
|
|
@@ -299,7 +297,7 @@
|
|
|
299
297
|
ar[i] = from[i];
|
|
300
298
|
}
|
|
301
299
|
}
|
|
302
|
-
return to.concat(ar || from);
|
|
300
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
303
301
|
}
|
|
304
302
|
function __await(v) {
|
|
305
303
|
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
@@ -391,7 +389,7 @@
|
|
|
391
389
|
NaturalConfirmComponent.decorators = [
|
|
392
390
|
{ type: i0.Component, args: [{
|
|
393
391
|
template: "<h2 mat-dialog-title>{{ data.title }}</h2>\n<mat-dialog-content\n ><p class=\"mat-body\">{{ data.message }}</p></mat-dialog-content\n>\n<mat-dialog-actions>\n <button [mat-dialog-close]=\"false\" mat-button>{{ data.cancelText }}</button>\n <button [mat-dialog-close]=\"true\" mat-stroked-button cdkFocusInitial>{{ data.confirmText }}</button>\n</mat-dialog-actions>\n",
|
|
394
|
-
styles: ["mat-dialog-content{max-width:40em}mat-dialog-actions{display:flex;justify-content:flex-end}mat-dialog-actions>*{margin-left:10px}"]
|
|
392
|
+
styles: ["mat-dialog-content{max-width:40em}mat-dialog-actions{display:flex;justify-content:flex-end}mat-dialog-actions>*{margin-left:10px}\n"]
|
|
395
393
|
},] }
|
|
396
394
|
];
|
|
397
395
|
NaturalConfirmComponent.ctorParameters = function () { return [
|
|
@@ -2386,6 +2384,21 @@
|
|
|
2386
2384
|
return rxjs.timer(500).pipe(operators.switchMap(function () { return modelService.count(qvm).pipe(operators.map(function (count) { return (count > 0 ? { duplicateValue: count } : null); })); }));
|
|
2387
2385
|
};
|
|
2388
2386
|
}
|
|
2387
|
+
/**
|
|
2388
|
+
* Returns an async validator function that checks that the form control value is available
|
|
2389
|
+
*
|
|
2390
|
+
* Similar to `unique` validator, but allows to use a custom query for when the client does
|
|
2391
|
+
* not have permissions for `modelService.count()`.
|
|
2392
|
+
*/
|
|
2393
|
+
function available(getAvailableQuery, excludedId) {
|
|
2394
|
+
if (excludedId === void 0) { excludedId = null; }
|
|
2395
|
+
return function (control) {
|
|
2396
|
+
if (!control.value || !control.dirty) {
|
|
2397
|
+
return rxjs.of(null);
|
|
2398
|
+
}
|
|
2399
|
+
return rxjs.timer(500).pipe(operators.switchMap(function () { return getAvailableQuery(control.value, excludedId).pipe(operators.map(function (isAvailable) { return (isAvailable ? null : { available: true }); })); }));
|
|
2400
|
+
};
|
|
2401
|
+
}
|
|
2389
2402
|
/**
|
|
2390
2403
|
* Return all errors recursively for the given Form or control
|
|
2391
2404
|
*/
|
|
@@ -3359,7 +3372,7 @@
|
|
|
3359
3372
|
* Components inheriting from this class can be used as standalone with input attributes.
|
|
3360
3373
|
*
|
|
3361
3374
|
* Usage :
|
|
3362
|
-
* <natural-my-listing [forcedVariables]="{filter:...}" [
|
|
3375
|
+
* <natural-my-listing [forcedVariables]="{filter:...}" [selectedColumns]="['col1']" [persistSearch]="false">
|
|
3363
3376
|
*/
|
|
3364
3377
|
// @dynamic
|
|
3365
3378
|
var NaturalAbstractList = /** @class */ (function (_super) {
|
|
@@ -3375,7 +3388,7 @@
|
|
|
3375
3388
|
/**
|
|
3376
3389
|
* Columns list after interaction with <natural-columns-picker>
|
|
3377
3390
|
*/
|
|
3378
|
-
_this.
|
|
3391
|
+
_this.columnsForTable = [];
|
|
3379
3392
|
/**
|
|
3380
3393
|
* The default column selection that automatically happened after <natural-columns-picker> initialization
|
|
3381
3394
|
*/
|
|
@@ -3445,11 +3458,14 @@
|
|
|
3445
3458
|
/**
|
|
3446
3459
|
* Persist search and then launch whatever is required to refresh the list
|
|
3447
3460
|
*/
|
|
3448
|
-
NaturalAbstractList.prototype.search = function (naturalSearchSelections, navigationExtras) {
|
|
3461
|
+
NaturalAbstractList.prototype.search = function (naturalSearchSelections, navigationExtras, resetPagination) {
|
|
3462
|
+
if (resetPagination === void 0) { resetPagination = true; }
|
|
3449
3463
|
// Reset page index to restart the pagination (preserve pageSize)
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3464
|
+
if (resetPagination) {
|
|
3465
|
+
this.variablesManager.merge('pagination', {
|
|
3466
|
+
pagination: lodashEs.pick(this.defaultPagination, ['offset', 'pageIndex']),
|
|
3467
|
+
});
|
|
3468
|
+
}
|
|
3453
3469
|
// Persist if activated
|
|
3454
3470
|
// Two parallel navigations conflict. We first persist the search, then the pagination
|
|
3455
3471
|
if (this.persistSearch && !this.isPanel) {
|
|
@@ -3623,7 +3639,7 @@
|
|
|
3623
3639
|
* Uses data provided by router such as:
|
|
3624
3640
|
*
|
|
3625
3641
|
* - `route.data.forcedVariables`
|
|
3626
|
-
* - `route.data.
|
|
3642
|
+
* - `route.data.selectedColumns`
|
|
3627
3643
|
*/
|
|
3628
3644
|
NaturalAbstractList.prototype.initFromRoute = function () {
|
|
3629
3645
|
// Variables
|
|
@@ -3631,8 +3647,8 @@
|
|
|
3631
3647
|
this.applyForcedVariables(this.route.snapshot.data.forcedVariables);
|
|
3632
3648
|
}
|
|
3633
3649
|
// Columns
|
|
3634
|
-
if (this.route.snapshot.data.
|
|
3635
|
-
this.
|
|
3650
|
+
if (this.route.snapshot.data.selectedColumns) {
|
|
3651
|
+
this.selectedColumns = this.route.snapshot.data.selectedColumns;
|
|
3636
3652
|
}
|
|
3637
3653
|
};
|
|
3638
3654
|
NaturalAbstractList.prototype.getDataObservable = function () {
|
|
@@ -3658,6 +3674,11 @@
|
|
|
3658
3674
|
if (sorting) {
|
|
3659
3675
|
this.variablesManager.set('sorting', { sorting: sorting });
|
|
3660
3676
|
}
|
|
3677
|
+
// Columns
|
|
3678
|
+
var persistedColumns = this.persistenceService.get('col', this.route, storageKey);
|
|
3679
|
+
if (typeof persistedColumns === 'string') {
|
|
3680
|
+
this.selectedColumns = persistedColumns.split(',');
|
|
3681
|
+
}
|
|
3661
3682
|
// Natural search : ns
|
|
3662
3683
|
this.naturalSearchSelections = fromUrl(this.persistenceService.get('ns', this.route, storageKey));
|
|
3663
3684
|
this.translateSearchAndRefreshList(this.naturalSearchSelections, true);
|
|
@@ -3715,34 +3736,21 @@
|
|
|
3715
3736
|
this.variablesManager.set('sorting', { sorting: variables.sorting });
|
|
3716
3737
|
}
|
|
3717
3738
|
};
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
if
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
if (typeof persistedColumns === 'string') {
|
|
3734
|
-
this.selectedColumns = persistedColumns.split(',');
|
|
3735
|
-
}
|
|
3736
|
-
}
|
|
3737
|
-
else {
|
|
3738
|
-
// Persist only if wanted columns are different from default selection
|
|
3739
|
-
var value = lodashEs.isEqual(this.defaultSelectedColumns, columns) ? null : columns.join(',');
|
|
3740
|
-
this.persistenceService.persist('col', value, this.route, this.getStorageKey());
|
|
3741
|
-
}
|
|
3742
|
-
},
|
|
3743
|
-
enumerable: false,
|
|
3744
|
-
configurable: true
|
|
3745
|
-
});
|
|
3739
|
+
NaturalAbstractList.prototype.selectColumns = function (columns) {
|
|
3740
|
+
this.columnsForTable = columns;
|
|
3741
|
+
if (!this.persistSearch || this.isPanel) {
|
|
3742
|
+
return;
|
|
3743
|
+
}
|
|
3744
|
+
// The first selection we receive is the default one made by <natural-columns-picker>
|
|
3745
|
+
if (!this.defaultSelectedColumns) {
|
|
3746
|
+
this.defaultSelectedColumns = columns;
|
|
3747
|
+
}
|
|
3748
|
+
else {
|
|
3749
|
+
// Persist only if wanted columns are different from default selection
|
|
3750
|
+
var value = lodashEs.isEqual(this.defaultSelectedColumns, columns) ? null : columns.join(',');
|
|
3751
|
+
this.persistenceService.persist('col', value, this.route, this.getStorageKey());
|
|
3752
|
+
}
|
|
3753
|
+
};
|
|
3746
3754
|
return NaturalAbstractList;
|
|
3747
3755
|
}(NaturalAbstractPanel));
|
|
3748
3756
|
NaturalAbstractList.decorators = [
|
|
@@ -3754,7 +3762,7 @@
|
|
|
3754
3762
|
]; };
|
|
3755
3763
|
NaturalAbstractList.propDecorators = {
|
|
3756
3764
|
persistSearch: [{ type: i0.Input }],
|
|
3757
|
-
|
|
3765
|
+
selectedColumns: [{ type: i0.Input }],
|
|
3758
3766
|
forcedVariables: [{ type: i0.Input }]
|
|
3759
3767
|
};
|
|
3760
3768
|
var templateObject_1$6, templateObject_2$1, templateObject_3$1, templateObject_4$1;
|
|
@@ -3773,6 +3781,7 @@
|
|
|
3773
3781
|
* Name of filter for child items to access ancestor item
|
|
3774
3782
|
*/
|
|
3775
3783
|
_this.ancestorRelationName = 'parent';
|
|
3784
|
+
_this.oldAncertorId = null;
|
|
3776
3785
|
_this.breadcrumbs = [];
|
|
3777
3786
|
return _this;
|
|
3778
3787
|
}
|
|
@@ -3783,27 +3792,30 @@
|
|
|
3783
3792
|
// "na" is a trailing param, and should be considered only when there is no search
|
|
3784
3793
|
this.route.params.subscribe(function (params) {
|
|
3785
3794
|
// "ns" stands for natural-search to be shorter in url
|
|
3786
|
-
if (
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
}
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
}
|
|
3801
|
-
var condition = {};
|
|
3802
|
-
condition[_this.ancestorRelationName] = navigationConditionValue;
|
|
3803
|
-
var variables = { filter: { groups: [{ conditions: [condition] }] } };
|
|
3804
|
-
// todo : check why without "as Vall" it errors. Vall is supposed to be QueryVariables, and filter too.
|
|
3805
|
-
_this.variablesManager.set('navigation', variables);
|
|
3795
|
+
if (params['ns']) {
|
|
3796
|
+
return;
|
|
3797
|
+
}
|
|
3798
|
+
var navigationConditionValue = null;
|
|
3799
|
+
// "na" stands for "navigation" (relation) in url
|
|
3800
|
+
if (params['na']) {
|
|
3801
|
+
navigationConditionValue = { have: { values: [params['na']] } };
|
|
3802
|
+
_this.service.getOne(params['na']).subscribe(
|
|
3803
|
+
// TODO casting should disappear and instead this class should enforce
|
|
3804
|
+
// the service to support Tone with a new generic
|
|
3805
|
+
function (ancestor) { return (_this.breadcrumbs = _this.getBreadcrumb(ancestor)); });
|
|
3806
|
+
var hasAncestorChanged = params['na'] !== _this.oldAncertorId;
|
|
3807
|
+
_this.oldAncertorId = params['na'];
|
|
3808
|
+
_this.clearSearch(hasAncestorChanged);
|
|
3806
3809
|
}
|
|
3810
|
+
else {
|
|
3811
|
+
navigationConditionValue = { empty: {} };
|
|
3812
|
+
_this.breadcrumbs = [];
|
|
3813
|
+
}
|
|
3814
|
+
var condition = {};
|
|
3815
|
+
condition[_this.ancestorRelationName] = navigationConditionValue;
|
|
3816
|
+
var variables = { filter: { groups: [{ conditions: [condition] }] } };
|
|
3817
|
+
// todo : check why without "as Vall" it errors. Vall is supposed to be QueryVariables, and filter too.
|
|
3818
|
+
_this.variablesManager.set('navigation', variables);
|
|
3807
3819
|
});
|
|
3808
3820
|
_super.prototype.ngOnInit.call(this);
|
|
3809
3821
|
};
|
|
@@ -3836,11 +3848,19 @@
|
|
|
3836
3848
|
}
|
|
3837
3849
|
_super.prototype.translateSearchAndRefreshList.call(this, naturalSearchSelections);
|
|
3838
3850
|
};
|
|
3839
|
-
NaturalAbstractNavigableList.prototype.clearSearch = function () {
|
|
3851
|
+
NaturalAbstractNavigableList.prototype.clearSearch = function (resetPagination) {
|
|
3852
|
+
if (resetPagination === void 0) { resetPagination = true; }
|
|
3840
3853
|
this.naturalSearchSelections = [[]];
|
|
3841
|
-
|
|
3854
|
+
_super.prototype.search.call(this, [[]], undefined, resetPagination);
|
|
3842
3855
|
this.persistenceService.persistInStorage('ns', null, this.getStorageKey());
|
|
3843
3856
|
};
|
|
3857
|
+
NaturalAbstractNavigableList.prototype.search = function (naturalSearchSelections, navigationExtras, resetPagination) {
|
|
3858
|
+
var _this = this;
|
|
3859
|
+
if (resetPagination === void 0) { resetPagination = true; }
|
|
3860
|
+
this.persistenceService.persistInUrl('na', null, this.route).then(function () {
|
|
3861
|
+
_super.prototype.search.call(_this, naturalSearchSelections, navigationExtras, resetPagination);
|
|
3862
|
+
});
|
|
3863
|
+
};
|
|
3844
3864
|
/**
|
|
3845
3865
|
* Return an array for router link usage
|
|
3846
3866
|
*/
|
|
@@ -3940,6 +3960,17 @@
|
|
|
3940
3960
|
return;
|
|
3941
3961
|
}));
|
|
3942
3962
|
}
|
|
3963
|
+
/**
|
|
3964
|
+
* For debugging purpose only, will dump in console everything that happen to
|
|
3965
|
+
* the observable
|
|
3966
|
+
*/
|
|
3967
|
+
function debug(debugName) {
|
|
3968
|
+
return operators.tap({
|
|
3969
|
+
next: function (value) { return console.log('NEXT', debugName, value); },
|
|
3970
|
+
error: function (error) { return console.log('ERROR', debugName, error); },
|
|
3971
|
+
complete: function () { return console.log('COMPLETE', debugName); },
|
|
3972
|
+
});
|
|
3973
|
+
}
|
|
3943
3974
|
|
|
3944
3975
|
var NaturalAbstractModelService = /** @class */ (function () {
|
|
3945
3976
|
function NaturalAbstractModelService(apollo, name, oneQuery, allQuery, createMutation, updateMutation, deleteMutation) {
|
|
@@ -4831,20 +4862,38 @@
|
|
|
4831
4862
|
function NaturalColumnsPickerComponent(changeDetectorRef) {
|
|
4832
4863
|
this.changeDetectorRef = changeDetectorRef;
|
|
4833
4864
|
/**
|
|
4834
|
-
* Emit a list of column keys whenever the selection changes
|
|
4865
|
+
* Emit a list of valid and selected column keys whenever the selection changes
|
|
4835
4866
|
*/
|
|
4836
4867
|
this.selectionChange = new i0.EventEmitter();
|
|
4837
|
-
|
|
4868
|
+
/**
|
|
4869
|
+
* Available columns are defined by options in the template
|
|
4870
|
+
*/
|
|
4838
4871
|
this.availableColumns = null;
|
|
4872
|
+
/**
|
|
4873
|
+
* Displayed options in the dropdown menu
|
|
4874
|
+
*/
|
|
4839
4875
|
this.displayedColumns = [];
|
|
4840
4876
|
this.ngUnsubscribe = new rxjs.Subject();
|
|
4841
4877
|
}
|
|
4842
|
-
Object.defineProperty(NaturalColumnsPickerComponent.prototype, "
|
|
4878
|
+
Object.defineProperty(NaturalColumnsPickerComponent.prototype, "selections", {
|
|
4879
|
+
/**
|
|
4880
|
+
* Set the columns that are wanted but might be unavailable.
|
|
4881
|
+
*
|
|
4882
|
+
* If a column is unavailable it will be ignored silently. To know what columns were actually applied
|
|
4883
|
+
* you should use `selectionChange`.
|
|
4884
|
+
*
|
|
4885
|
+
* It is often set once on component initialization, but it can also be set again later in the lifespan of the component.
|
|
4886
|
+
*/
|
|
4843
4887
|
set: function (columns) {
|
|
4844
4888
|
var _a;
|
|
4889
|
+
this._selections = columns;
|
|
4890
|
+
if (!columns || !this.availableColumns) {
|
|
4891
|
+
return;
|
|
4892
|
+
}
|
|
4845
4893
|
(_a = this.availableColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
4846
4894
|
col.checked = columns.includes(col.key);
|
|
4847
4895
|
});
|
|
4896
|
+
this.updateColumns();
|
|
4848
4897
|
},
|
|
4849
4898
|
enumerable: false,
|
|
4850
4899
|
configurable: true
|
|
@@ -4861,8 +4910,10 @@
|
|
|
4861
4910
|
var _this = this;
|
|
4862
4911
|
var _a, _b, _c;
|
|
4863
4912
|
(_a = this.availableColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
4864
|
-
|
|
4913
|
+
var _a;
|
|
4914
|
+
col.checked = ((_a = _this._selections) === null || _a === void 0 ? void 0 : _a.length) ? _this._selections.includes(col.key) : col.checked;
|
|
4865
4915
|
});
|
|
4916
|
+
// Show options only for columns that are not hidden
|
|
4866
4917
|
this.displayedColumns = (_c = (_b = this.availableColumns) === null || _b === void 0 ? void 0 : _b.filter(function (col) { return !col.hidden; })) !== null && _c !== void 0 ? _c : [];
|
|
4867
4918
|
};
|
|
4868
4919
|
NaturalColumnsPickerComponent.prototype.updateColumns = function () {
|
|
@@ -4887,10 +4938,8 @@
|
|
|
4887
4938
|
{ type: i0.ChangeDetectorRef }
|
|
4888
4939
|
]; };
|
|
4889
4940
|
NaturalColumnsPickerComponent.propDecorators = {
|
|
4890
|
-
|
|
4941
|
+
selections: [{ type: i0.Input }],
|
|
4891
4942
|
selectionChange: [{ type: i0.Output }],
|
|
4892
|
-
defaultSelectionChange: [{ type: i0.Output }],
|
|
4893
|
-
initialSelection: [{ type: i0.Input }],
|
|
4894
4943
|
availableColumns: [{ type: i0.ContentChildren, args: [NaturalColumnsPickerColumnDirective,] }]
|
|
4895
4944
|
};
|
|
4896
4945
|
|
|
@@ -4967,7 +5016,7 @@
|
|
|
4967
5016
|
{ type: i0.Component, args: [{
|
|
4968
5017
|
selector: 'natural-icon',
|
|
4969
5018
|
template: "<mat-icon *ngIf=\"icon?.font\" [class]=\"icon?.class\" data-nosnippet>{{ icon?.font }}</mat-icon>\n<mat-icon *ngIf=\"icon?.svg\" [class]=\"icon?.class\" [svgIcon]=\"icon.name\" class=\"svg-icon\"></mat-icon>\n\n<div *ngIf=\"label\" [ngClass]=\"labelColor + ' ' + labelPosition\" class=\"label\">{{ label }}</div>\n",
|
|
4970
|
-
styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:
|
|
5019
|
+
styles: [":host{position:relative}:host mat-icon{background-repeat:inherit;display:inherit;fill:inherit;height:inherit;width:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;font-size:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit;word-wrap:inherit;white-space:inherit;direction:inherit;-webkit-font-smoothing:inherit;text-rendering:inherit;-moz-osx-font-smoothing:inherit;font-feature-settings:inherit;min-height:inherit;min-width:inherit;vertical-align:unset}:host .label{position:absolute;padding:2px;border-radius:100%;font-family:Quicksand sans-serif;font-size:14px;line-height:1em;height:14px;min-width:14px;text-align:center}:host .label.top-left{top:0;left:0;transform:translate(-50%)}:host .label.top-right{top:0;right:0;transform:translate(50%)}:host .label.bottom-left{bottom:0;left:0;transform:translate(-50%)}:host .label.bottom-right{bottom:0;right:0;transform:translate(50%)}\n"]
|
|
4971
5020
|
},] }
|
|
4972
5021
|
];
|
|
4973
5022
|
NaturalIconComponent.ctorParameters = function () { return [
|
|
@@ -5519,7 +5568,7 @@
|
|
|
5519
5568
|
{ type: i0.Component, args: [{
|
|
5520
5569
|
selector: 'natural-detail-header',
|
|
5521
5570
|
template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <natural-icon [name]=\"icon\"></natural-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline no-margin label\">{{ model?.name || model?.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n",
|
|
5522
|
-
styles: [":host{display:flex;flex-direction:column}:host .
|
|
5571
|
+
styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body natural-icon{display:none}}\n"]
|
|
5523
5572
|
},] }
|
|
5524
5573
|
];
|
|
5525
5574
|
NaturalDetailHeaderComponent.propDecorators = {
|
|
@@ -5668,7 +5717,7 @@
|
|
|
5668
5717
|
encapsulation: i0.ViewEncapsulation.None,
|
|
5669
5718
|
preserveWhitespaces: false,
|
|
5670
5719
|
animations: [naturalDropdownAnimations.transformMenu, naturalDropdownAnimations.fadeInItems],
|
|
5671
|
-
styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}"]
|
|
5720
|
+
styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}\n"]
|
|
5672
5721
|
},] }
|
|
5673
5722
|
];
|
|
5674
5723
|
NaturalDropdownContainerComponent.ctorParameters = function () { return [
|
|
@@ -6163,7 +6212,7 @@
|
|
|
6163
6212
|
TypeTextComponent.decorators = [
|
|
6164
6213
|
{ type: i0.Component, args: [{
|
|
6165
6214
|
template: "<mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"formCtrl\"\n [required]=\"true\"\n matInput\n type=\"text\"\n />\n <mat-error *ngIf=\"formCtrl.hasError('required')\">*</mat-error>\n</mat-form-field>\n",
|
|
6166
|
-
styles: [":host input::-webkit-
|
|
6215
|
+
styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"]
|
|
6167
6216
|
},] }
|
|
6168
6217
|
];
|
|
6169
6218
|
TypeTextComponent.ctorParameters = function () { return [
|
|
@@ -6268,7 +6317,7 @@
|
|
|
6268
6317
|
TypeNumberComponent.decorators = [
|
|
6269
6318
|
{ type: i0.Component, args: [{
|
|
6270
6319
|
template: "<form [formGroup]=\"form\">\n <mat-form-field style=\"max-width: 4em; margin-right: 1em\">\n <mat-label i18n=\"Mathematical operator < > =\">Op\u00E9rateur</mat-label>\n <mat-select [formControl]=\"operatorCtrl\" [required]=\"true\">\n <mat-option *ngFor=\"let item of operators\" [value]=\"item.key\">\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label i18n>Valeur</mat-label>\n <input\n (keydown.enter)=\"close()\"\n [errorStateMatcher]=\"matcher\"\n [formControl]=\"valueCtrl\"\n [attr.max]=\"configuration.max\"\n [attr.min]=\"configuration.min\"\n [required]=\"true\"\n [step]=\"configuration.step\"\n matInput\n type=\"number\"\n />\n <mat-error *ngIf=\"valueCtrl.hasError('min')\">< {{ configuration.min }}</mat-error>\n <mat-error *ngIf=\"valueCtrl.hasError('max')\">> {{ configuration.max }}</mat-error>\n </mat-form-field>\n</form>\n",
|
|
6271
|
-
styles: [":host input::-webkit-
|
|
6320
|
+
styles: [":host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"]
|
|
6272
6321
|
},] }
|
|
6273
6322
|
];
|
|
6274
6323
|
TypeNumberComponent.ctorParameters = function () { return [
|
|
@@ -6668,7 +6717,7 @@
|
|
|
6668
6717
|
FacetSelectorComponent.decorators = [
|
|
6669
6718
|
{ type: i0.Component, args: [{
|
|
6670
6719
|
template: "<mat-nav-list>\n <mat-list-item (click)=\"selection = facet; close()\" *ngFor=\"let facet of facets\">\n <a matLine>{{ facet.display }}</a>\n </mat-list-item>\n</mat-nav-list>\n",
|
|
6671
|
-
styles: [":host .mat-nav-list{padding:0}"]
|
|
6720
|
+
styles: [":host .mat-nav-list{padding:0}\n"]
|
|
6672
6721
|
},] }
|
|
6673
6722
|
];
|
|
6674
6723
|
FacetSelectorComponent.ctorParameters = function () { return [
|
|
@@ -6707,7 +6756,7 @@
|
|
|
6707
6756
|
{ type: i0.Component, args: [{
|
|
6708
6757
|
selector: 'natural-group',
|
|
6709
6758
|
template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n",
|
|
6710
|
-
styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}"]
|
|
6759
|
+
styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}\n"]
|
|
6711
6760
|
},] }
|
|
6712
6761
|
];
|
|
6713
6762
|
NaturalGroupComponent.propDecorators = {
|
|
@@ -7014,7 +7063,7 @@
|
|
|
7014
7063
|
{ type: i0.Component, args: [{
|
|
7015
7064
|
selector: 'natural-input',
|
|
7016
7065
|
template: "<!-- click condition should match to allow click action only when no other button is visible -->\n<mat-form-field #field matRipple (click)=\"!selection && !(facet && !selection) ? openDropdown() : null\">\n <mat-label *ngIf=\"facet\">{{ facet.display }}</mat-label>\n <mat-label *ngIf=\"!facet\">{{ placeholder }}</mat-label>\n\n <input\n #input\n (blur)=\"search($event)\"\n (keydown.enter)=\"search($event)\"\n [attr.size]=\"length\"\n [errorStateMatcher]=\"errorMatcher\"\n [formControl]=\"formCtrl\"\n [readonly]=\"(isDropdown() && !!selection) || isFlag()\"\n autocomplete=\"off\"\n matInput\n type=\"text\"\n />\n\n <!-- TODO : replace this void button -->\n <div *ngIf=\"!facet && !selection\" class=\"search-icon\" matPrefix>\n <natural-icon name=\"search\"></natural-icon>\n </div>\n\n <button (click)=\"clear()\" *ngIf=\"selection\" mat-icon-button matSuffix>\n <natural-icon name=\"close\"></natural-icon>\n </button>\n\n <button (click)=\"clear()\" *ngIf=\"facet && !selection\" mat-icon-button matSuffix>\n <natural-icon name=\"undo\"></natural-icon>\n </button>\n</mat-form-field>\n<div class=\"hide\">{{ formCtrl.value ? formCtrl.value : facet ? facet.display : placeholder }}</div>\n",
|
|
7017
|
-
styles: [":host{position:relative;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px;display:flex;flex-direction:column}:host .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}:host .hide{color
|
|
7066
|
+
styles: [":host{position:relative;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px;display:flex;flex-direction:column}:host .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}:host .hide{color:transparent;height:0;margin:0 50px 0 10px;font-size:inherit;white-space:nowrap;font-family:Roboto,\"Helvetica Neue\",sans-serif}:host .search-icon{display:block;width:35px;height:35px}:host .search-icon natural-icon{margin:5px auto 0}\n"]
|
|
7018
7067
|
},] }
|
|
7019
7068
|
];
|
|
7020
7069
|
NaturalInputComponent.ctorParameters = function () { return [
|
|
@@ -7099,7 +7148,7 @@
|
|
|
7099
7148
|
{ type: i0.Component, args: [{
|
|
7100
7149
|
selector: 'natural-search',
|
|
7101
7150
|
template: "<div class=\"natural-search\">\n <div class=\"groupsWrapper\">\n <div *ngFor=\"let groupSelections of innerSelections; let i = index; let last = last\" class=\"groupWrapper\">\n <natural-group\n (selectionChange)=\"updateGroup($event, i)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n [selections]=\"groupSelections\"\n ></natural-group>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"removeGroup(i)\" *ngIf=\"innerSelections.length > 1\" mat-icon-button>\n <natural-icon name=\"remove\"></natural-icon>\n </button>\n </div>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"addGroup()\" *ngIf=\"last && multipleGroups\" mat-icon-button>\n <natural-icon name=\"add\"></natural-icon>\n </button>\n </div>\n\n <!-- Spaceholder to keep fields alignment (prevent to push until end of line)--->\n <div *ngIf=\"!last\" class=\"spacer\"></div>\n </div>\n </div>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"clear()\" mat-icon-button>\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <ng-content></ng-content>\n </div>\n</div>\n",
|
|
7102
|
-
styles: [":host .natural-search{display:flex;flex-direction:row;align-items:flex-end}:host .natural-search .groupsWrapper{display:flex;flex-direction:column;flex:1}:host .natural-search .groupWrapper{display:flex;flex-direction:row;margin-bottom:10px}:host .natural-search .groupWrapper natural-group{flex:1}:host .natural-search .groupWrapper:last-of-type{margin-bottom:0}:host .natural-search .groupWrapper .spacer{width:40px;height:40px}:host .natural-search .endOfRowButton{height:53px;display:flex;flex-direction:row;align-items:center}"]
|
|
7151
|
+
styles: [":host .natural-search{display:flex;flex-direction:row;align-items:flex-end}:host .natural-search .groupsWrapper{display:flex;flex-direction:column;flex:1}:host .natural-search .groupWrapper{display:flex;flex-direction:row;margin-bottom:10px}:host .natural-search .groupWrapper natural-group{flex:1}:host .natural-search .groupWrapper:last-of-type{margin-bottom:0}:host .natural-search .groupWrapper .spacer{width:40px;height:40px}:host .natural-search .endOfRowButton{height:53px;display:flex;flex-direction:row;align-items:center}\n"]
|
|
7103
7152
|
},] }
|
|
7104
7153
|
];
|
|
7105
7154
|
NaturalSearchComponent.propDecorators = {
|
|
@@ -7166,7 +7215,7 @@
|
|
|
7166
7215
|
NaturalHierarchicSelectorDialogComponent.decorators = [
|
|
7167
7216
|
{ type: i0.Component, args: [{
|
|
7168
7217
|
template: "<h2 i18n mat-dialog-title>S\u00E9lection</h2>\n\n<mat-dialog-content>\n <natural-hierarchic-selector\n (selectionChange)=\"config.hierarchicSelection = $event\"\n [selected]=\"config.hierarchicSelection ?? {}\"\n [config]=\"config.hierarchicConfig\"\n [filters]=\"config.hierarchicFilters\"\n [multiple]=\"config.multiple ?? false\"\n [allowUnselect]=\"config.allowUnselect ?? true\"\n [searchFacets]=\"config.searchFacets ?? []\"\n [searchSelections]=\"config.searchSelections ?? []\"\n (searchSelectionChange)=\"searchSelectionsOutput = $event\"\n ></natural-hierarchic-selector>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button [mat-dialog-close] i18n mat-button>Annuler</button>\n <button (click)=\"close(config.hierarchicSelection)\" color=\"primary\" mat-raised-button\n ><span i18n>Valider</span>\n </button>\n</mat-dialog-actions>\n",
|
|
7169
|
-
styles: [":host mat-dialog-actions{display:flex;flex-direction:row;justify-content:flex-end}"]
|
|
7218
|
+
styles: [":host mat-dialog-actions{display:flex;flex-direction:row;justify-content:flex-end}\n"]
|
|
7170
7219
|
},] }
|
|
7171
7220
|
];
|
|
7172
7221
|
NaturalHierarchicSelectorDialogComponent.ctorParameters = function () { return [
|
|
@@ -7895,7 +7944,7 @@
|
|
|
7895
7944
|
selector: 'natural-hierarchic-selector',
|
|
7896
7945
|
template: "<div [style.margin-bottom.px]=\"20\">\n <natural-search\n (selectionChange)=\"search($event)\"\n [facets]=\"searchFacets\"\n [selections]=\"searchSelections\"\n ></natural-search>\n</div>\n\n<div class=\"body\">\n <mat-progress-spinner\n *ngIf=\"loading\"\n [diameter]=\"36\"\n mode=\"indeterminate\"\n style=\"margin: 10px\"\n ></mat-progress-spinner>\n\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" [ngClass]=\"{leaf: !node.expandable}\" matTreeNodePadding>\n <button\n (click)=\"loadChildren(node)\"\n *ngIf=\"node.expandable\"\n [attr.aria-label]=\"'toggle ' + node.name\"\n mat-icon-button\n matTreeNodeToggle\n >\n <mat-progress-spinner\n *ngIf=\"node.loading\"\n [diameter]=\"24\"\n [strokeWidth]=\"5\"\n mode=\"indeterminate\"\n style=\"margin: 8px\"\n ></mat-progress-spinner>\n\n <natural-icon\n *ngIf=\"!node.loading\"\n [name]=\"treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'\"\n >\n </natural-icon>\n </button>\n\n <mat-checkbox\n (change)=\"toggleFlatNode(node)\"\n [checked]=\"flatNodesSelection.isSelected(node)\"\n [disabled]=\"!isNodeTogglable(node)\"\n style=\"margin-right: 10px\"\n >\n <natural-icon\n *ngIf=\"node.node.config.icon\"\n [name]=\"node.node.config.icon\"\n style=\"margin-right: 10px\"\n ></natural-icon>\n <span>{{ node.name }}</span>\n </mat-checkbox>\n </mat-tree-node>\n </mat-tree>\n\n <mat-chip-list aria-orientation=\"vertical\" class=\"mat-chip-list-stacked\">\n <mat-chip\n (removed)=\"unselectModelNode(node)\"\n *ngFor=\"let node of selectedNodes\"\n [removable]=\"true\"\n [selectable]=\"false\"\n >\n <natural-icon *ngIf=\"node.config.icon\" [name]=\"node.config.icon\"></natural-icon>\n <div class=\"mat-body chip-label\">{{ node.model.name || node.model.fullName }}</div>\n <natural-icon matChipRemove name=\"cancel\"></natural-icon>\n </mat-chip>\n </mat-chip-list>\n</div>\n\n<div *ngIf=\"!loading && !dataSource.data.length\" class=\"margin-v\" i18n>Aucun r\u00E9sultat</div>\n",
|
|
7897
7946
|
providers: [NaturalHierarchicSelectorService],
|
|
7898
|
-
styles: [":host{display:block}:host
|
|
7947
|
+
styles: [":host{display:block}:host ul,:host li{-webkit-margin-before:0;-webkit-margin-after:0;list-style-type:none}:host natural-icon{width:18px;height:18px;font-size:18px;margin-right:5px}:host .mat-tree-node.leaf{margin-left:40px}:host .body{display:flex;flex-direction:row;justify-content:space-between}:host .body mat-tree{flex:66}:host .body mat-chip-list{flex:33}:host mat-tree{flex-shrink:0}:host mat-chip-list{margin-left:10px}:host mat-chip{display:flex;flex-direction:row;height:auto!important}:host mat-chip .chip-label{flex:1}\n"]
|
|
7899
7948
|
},] }
|
|
7900
7949
|
];
|
|
7901
7950
|
NaturalHierarchicSelectorComponent.ctorParameters = function () { return [
|
|
@@ -8260,7 +8309,7 @@
|
|
|
8260
8309
|
{ type: i0.Component, args: [{
|
|
8261
8310
|
selector: 'natural-select-hierarchic',
|
|
8262
8311
|
template: "<mat-form-field [floatLabel]=\"floatPlaceholder\">\n <mat-label>{{ placeholder }}</mat-label>\n\n <!-- Input for hierarchical selector -->\n <input\n (blur)=\"blur.emit()\"\n (focus)=\"openDialog()\"\n (keydown.esc)=\"clear()\"\n [formControl]=\"internalCtrl\"\n [errorStateMatcher]=\"matcher\"\n aria-label=\"Recherche et s\u00E9lection\"\n i18n-aria-label\n matInput\n />\n\n <!-- Meta data -->\n <natural-icon *ngIf=\"showIcon\" [name]=\"icon\" matPrefix></natural-icon>\n\n <!-- Clear button -->\n <div class=\"suffix-buttons\" matSuffix>\n <button\n (click)=\"clear(); $event.stopPropagation()\"\n *ngIf=\"internalCtrl.value && internalCtrl.enabled && !clearLabel\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"D\u00E9s\u00E9lectionner\"\n >\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <button\n *ngIf=\"internalCtrl.value && navigateTo\"\n [routerLink]=\"navigateTo\"\n mat-button\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Naviguer vers\"\n >\n <natural-icon name=\"open_in_browser\"></natural-icon>\n </button>\n </div>\n\n <mat-error *ngIf=\"hasRequiredError()\" i18n>Ce champ est requis</mat-error>\n</mat-form-field>\n\n<!-- Additional (un)select/(un)link buttons for more visual cohesion with natural-relations --><!-- [clearLabel] and/or [selectLabel] has to be given as attribute input -->\n<div *ngIf=\"showSelectButton() || showClearButton()\" class=\"external-buttons\">\n <button (click)=\"openDialog()\" *ngIf=\"showSelectButton()\" color=\"primary\" mat-flat-button>{{ selectLabel }}</button>\n <button (click)=\"clear()\" *ngIf=\"showClearButton()\" color=\"warn\" mat-button>{{ clearLabel }}</button>\n</div>\n",
|
|
8263
|
-
styles: [":host{display:flex;flex-direction:column}:host
|
|
8312
|
+
styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .suffix-buttons,:host .external-buttons{display:flex;flex-direction:row}:host .external-buttons{display:flex;flex-direction:row}:host .external-buttons>*:not(:last-child){margin-right:10px}\n"]
|
|
8264
8313
|
},] }
|
|
8265
8314
|
];
|
|
8266
8315
|
NaturalSelectHierarchicComponent.ctorParameters = function () { return [
|
|
@@ -8459,7 +8508,7 @@
|
|
|
8459
8508
|
{ type: i0.Component, args: [{
|
|
8460
8509
|
selector: 'natural-select',
|
|
8461
8510
|
template: "<!-- Autocomplete menu -->\n<mat-autocomplete\n #ac=\"matAutocomplete\"\n (optionSelected)=\"propagateValue($event?.option?.value)\"\n [displayWith]=\"getDisplayFn()\"\n panelWidth=\"auto !important\"\n>\n <mat-option *ngFor=\"let item of items | async\" [value]=\"item\">\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultACItem\"\n ></ng-template>\n </mat-option>\n <div *ngIf=\"moreNbItems > 0\" class=\"mat-caption\" i18n style=\"padding: 5px 10px\"\n >{{ moreNbItems }} \u00E9l\u00E9ment(s) suppl\u00E9mentaire(s)</div\n >\n</mat-autocomplete>\n\n<ng-template #defaultACItem let-item=\"item\">\n <span>{{ getDisplayFn()(item) }}</span>\n</ng-template>\n\n<!-- Input for autocomplete -->\n<mat-form-field [floatLabel]=\"floatPlaceholder\">\n <mat-label>{{ placeholder }}</mat-label>\n\n <input\n (blur)=\"touch(); blur.emit()\"\n (change)=\"onInternalFormChange()\"\n (click)=\"autoTrigger.openPanel()\"\n (focus)=\"startSearch()\"\n (keydown.esc)=\"clear()\"\n [formControl]=\"internalCtrl\"\n [matAutocomplete]=\"ac\"\n aria-label=\"Recherche et s\u00E9lection\"\n i18n-aria-label\n matInput\n [errorStateMatcher]=\"matcher\"\n />\n\n <!-- Meta data -->\n <natural-icon *ngIf=\"!loading && showIcon\" [name]=\"icon\" matPrefix></natural-icon>\n <mat-progress-spinner\n *ngIf=\"loading\"\n [diameter]=\"21\"\n [strokeWidth]=\"5\"\n matPrefix\n mode=\"indeterminate\"\n ></mat-progress-spinner>\n\n <!-- Clear button -->\n <div class=\"suffix-buttons\" matSuffix>\n <button\n (click)=\"clear(); $event.stopPropagation()\"\n *ngIf=\"internalCtrl.value && internalCtrl.enabled && !clearLabel\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"D\u00E9s\u00E9lectionner\"\n >\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <button\n *ngIf=\"internalCtrl.value && navigateTo\"\n [routerLink]=\"navigateTo\"\n mat-button\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Naviguer vers\"\n >\n <natural-icon name=\"open_in_browser\"></natural-icon>\n </button>\n </div>\n\n <mat-error *ngIf=\"hasRequiredError()\" i18n>Ce champ est requis</mat-error>\n</mat-form-field>\n\n<!-- Additional (un)select/(un)link buttons for more visual cohesion with natural-relations --><!-- [clearLabel] and/or [selectLabel] has to be given as attribute input -->\n<div *ngIf=\"showClearButton()\" class=\"external-buttons\">\n <button (click)=\"clear()\" *ngIf=\"showClearButton()\" color=\"warn\" mat-button>{{ clearLabel }}</button>\n</div>\n",
|
|
8462
|
-
styles: [":host{display:flex;flex-direction:column}:host
|
|
8511
|
+
styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host>mat-autocomplete{margin-bottom:0!important}:host .suffix-buttons,:host .external-buttons{display:flex;flex-direction:row}:host .external-buttons{display:flex;flex-direction:row}:host .external-buttons>*:not(:last-child){margin-right:10px}\n"]
|
|
8463
8512
|
},] }
|
|
8464
8513
|
];
|
|
8465
8514
|
NaturalSelectComponent.propDecorators = {
|
|
@@ -9033,9 +9082,7 @@
|
|
|
9033
9082
|
this.closeDrags();
|
|
9034
9083
|
};
|
|
9035
9084
|
NaturalFileDropDirective.prototype.hasObservers = function () {
|
|
9036
|
-
return
|
|
9037
|
-
this.filesChange.observers.length > 0 ||
|
|
9038
|
-
this.naturalFileService.filesChanged.observers.length > 0);
|
|
9085
|
+
return this.fileChange.observed || this.filesChange.observed || this.naturalFileService.filesChanged.observed;
|
|
9039
9086
|
};
|
|
9040
9087
|
return NaturalFileDropDirective;
|
|
9041
9088
|
}(NaturalAbstractFile));
|
|
@@ -9190,7 +9237,7 @@
|
|
|
9190
9237
|
{ type: i0.Component, args: [{
|
|
9191
9238
|
selector: 'natural-file',
|
|
9192
9239
|
template: "<a\n (fileChange)=\"upload($event)\"\n naturalFileDrop\n [selectable]=\"true\"\n [accept]=\"accept\"\n [attr.href]=\"getDownloadLink()\"\n [class.has-action]=\"!!action\"\n [class.suggest-upload]=\"!model && action === 'upload'\"\n [fileSelectionDisabled]=\"action !== 'upload'\"\n [matRippleDisabled]=\"!action\"\n [style.backgroundImage]=\"imagePreview\"\n [style.backgroundSize]=\"backgroundSize\"\n matRipple\n target=\"_blank\"\n>\n <div *ngIf=\"filePreview\" class=\"file-preview\">\n <natural-icon [size]=\"height * 0.33\" name=\"attachment\"></natural-icon>\n {{ filePreview | uppercase }}\n </div>\n\n <div class=\"action-overlay\">\n <natural-icon *ngIf=\"action === 'upload'\" [size]=\"height * 0.66\" name=\"cloud_upload\"></natural-icon>\n <natural-icon *ngIf=\"action === 'download'\" [size]=\"height * 0.66\" name=\"get_app\"></natural-icon>\n {{ action | capitalize }}\n </div>\n</a>\n",
|
|
9193
|
-
styles: [":host{display:flex;flex-direction:row;overflow:hidden;position:relative}:host>a{position:relative;flex:1;background-position:
|
|
9240
|
+
styles: [":host{display:flex;flex-direction:row;overflow:hidden;position:relative}:host>a{position:relative;flex:1;background-position:center;background-repeat:no-repeat}:host>a.has-action{cursor:pointer}:host>a.has-action.suggest-upload .action-overlay{opacity:.66}:host>a.has-action:hover .action-overlay,:host>a.has-action.natural-file-over .action-overlay{opacity:1}:host .action-overlay,:host .file-preview{display:flex;flex-direction:column;position:absolute;top:0;left:0;right:0;bottom:0;justify-content:center;align-items:center;font-size:36px;line-height:1.3em;text-align:center}:host .action-overlay{opacity:0}:host .action-overlay>div{opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}\n"]
|
|
9194
9241
|
},] }
|
|
9195
9242
|
];
|
|
9196
9243
|
FileComponent.ctorParameters = function () { return [
|
|
@@ -9239,7 +9286,7 @@
|
|
|
9239
9286
|
{ type: i0.Component, args: [{
|
|
9240
9287
|
selector: 'natural-fixed-button',
|
|
9241
9288
|
template: "<button\n [color]=\"color\"\n [disabled]=\"disabled\"\n [routerLink]=\"link\"\n class=\"floating-button bottom-right\"\n mat-fab\n mat-raised-button\n>\n <natural-icon [name]=\"icon\"></natural-icon>\n</button>\n",
|
|
9242
|
-
styles: [":host{position:fixed!important;z-index:999;bottom:32px;right:32px}"]
|
|
9289
|
+
styles: [":host{position:fixed!important;z-index:999;bottom:32px;right:32px}\n"]
|
|
9243
9290
|
},] }
|
|
9244
9291
|
];
|
|
9245
9292
|
NaturalFixedButtonComponent.ctorParameters = function () { return []; };
|
|
@@ -9981,7 +10028,7 @@
|
|
|
9981
10028
|
{ type: i0.Component, args: [{
|
|
9982
10029
|
selector: 'natural-relations',
|
|
9983
10030
|
template: "<div class=\"body\">\n <ng-template #defaultNameCell let-item=\"item\">\n {{ getDisplayFn()(item) }}\n </ng-template>\n\n <table *ngIf=\"dataSource\" [dataSource]=\"dataSource\" class=\"natural-row-click\" mat-table>\n <tr *matHeaderRowDef=\"displayedColumns\" mat-header-row style=\"display: none\"></tr>\n <tr *matRowDef=\"let row; columns: displayedColumns\" mat-row></tr>\n\n <ng-container matColumnDef=\"name\">\n <th *matHeaderCellDef i18n mat-header-cell>Titre</th>\n <td *matCellDef=\"let item\" mat-cell>\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultNameCell\"\n ></ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"unlink\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let element\" mat-cell>\n <button\n (click)=\"removeRelation(element)\"\n color=\"warn\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Dissocier\"\n >\n <natural-icon name=\"link_off\"></natural-icon>\n </button>\n </td>\n </ng-container>\n </table>\n\n <mat-paginator\n (page)=\"pagination($event)\"\n *ngIf=\"dataSource?.data && (dataSource?.data?.length || 0) > (dataSource?.data?.pageSize || 0)\"\n [length]=\"dataSource?.data?.length || 0\"\n [pageIndex]=\"dataSource?.data?.pageIndex || 0\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [pageSize]=\"dataSource?.data?.pageSize || 0\"\n ></mat-paginator>\n\n <div *ngIf=\"!loading && dataSource?.data?.length === 0\" class=\"margin-v mat-body\">\n <span i18n>Aucun r\u00E9sultat</span>\n </div>\n\n <mat-progress-spinner *ngIf=\"loading\" [diameter]=\"40\" class=\"loading\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n\n<natural-select\n #select\n (selectionChange)=\"addRelations([$any($event)])\"\n *ngIf=\"!hierarchicSelectorConfig && service && !disabled\"\n [displayWith]=\"getDisplayFn()\"\n [filter]=\"autocompleteSelectorFilter\"\n [placeholder]=\"placeholder\"\n [service]=\"service\"\n [showIcon]=\"false\"\n></natural-select>\n\n<div *ngIf=\"hierarchicSelectorConfig && !disabled\">\n <button (click)=\"openNaturalHierarchicSelector()\" color=\"primary\" mat-flat-button>{{ placeholder }}</button>\n</div>\n",
|
|
9984
|
-
styles: [":host{display:flex;flex-direction:column}:host
|
|
10031
|
+
styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .body{display:flex;flex-direction:column}:host .loading{margin:20px auto}:host .mat-column-unlink{width:2.5em}\n"]
|
|
9985
10032
|
},] }
|
|
9986
10033
|
];
|
|
9987
10034
|
NaturalRelationsComponent.ctorParameters = function () { return [
|
|
@@ -10351,7 +10398,7 @@
|
|
|
10351
10398
|
this.sidenavService = sidenavService;
|
|
10352
10399
|
this.element = element;
|
|
10353
10400
|
/**
|
|
10354
|
-
*
|
|
10401
|
+
* The side that the drawer is attached to
|
|
10355
10402
|
*/
|
|
10356
10403
|
this.position = 'start';
|
|
10357
10404
|
/**
|
|
@@ -10414,7 +10461,7 @@
|
|
|
10414
10461
|
selector: 'natural-sidenav-container',
|
|
10415
10462
|
template: "<mat-sidenav-container>\n <mat-sidenav\n (openedChange)=\"sidenavService.setOpened($event)\"\n [mode]=\"sidenavService.activeMode\"\n [ngClass]=\"sidenavService.isMinimized ? 'menuMinimized' : ''\"\n [opened]=\"sidenavService.isOpened\"\n [style.min-width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [style.width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [position]=\"position\"\n >\n <ng-content select=\"natural-sidenav\"></ng-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <div>\n <ng-content select=\"natural-sidenav-content\"></ng-content>\n </div>\n </mat-sidenav-content>\n</mat-sidenav-container>\n",
|
|
10416
10463
|
providers: [NaturalSidenavService],
|
|
10417
|
-
styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}"]
|
|
10464
|
+
styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}\n"]
|
|
10418
10465
|
},] }
|
|
10419
10466
|
];
|
|
10420
10467
|
NaturalSidenavContainerComponent.ctorParameters = function () { return [
|
|
@@ -10440,7 +10487,7 @@
|
|
|
10440
10487
|
{ type: i0.Component, args: [{
|
|
10441
10488
|
selector: 'natural-sidenav-content',
|
|
10442
10489
|
template: '<ng-content></ng-content>',
|
|
10443
|
-
styles: [":host{flex:1;display:flex;flex-direction:column;overflow:auto}"]
|
|
10490
|
+
styles: [":host{flex:1;display:flex;flex-direction:column;overflow:auto}\n"]
|
|
10444
10491
|
},] }
|
|
10445
10492
|
];
|
|
10446
10493
|
NaturalSidenavContentComponent.ctorParameters = function () { return []; };
|
|
@@ -10529,7 +10576,7 @@
|
|
|
10529
10576
|
selector: 'natural-table-button',
|
|
10530
10577
|
template: "<!-- Because directives can't be applied conditionally (routerLink, mat-button and mat-icon-button), we have to use different elements -->\n\n<ng-container *ngIf=\"!raised\">\n <!-- App routed link with label... -->\n <a\n *ngIf=\"!href && label\"\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n mat-button\n >\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n <span>{{ label }}</span>\n </a>\n\n <!-- ... and without label -->\n <a\n *ngIf=\"!href && !label\"\n [color]=\"color\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n mat-icon-button\n >\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n </a>\n\n <!-- External link with label... -->\n <a *ngIf=\"href && label\" [attr.href]=\"href\" [color]=\"color\" mat-button target=\"_blank\">\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n <span>{{ label }}</span>\n </a>\n\n <!-- ... and without label -->\n <a *ngIf=\"href && !label\" [attr.href]=\"href\" [color]=\"color\" mat-icon-button target=\"_blank\">\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"raised\">\n <!-- App routed link with label... -->\n <a\n *ngIf=\"!href && label\"\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n mat-raised-button\n >\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n <span>{{ label }}</span>\n </a>\n\n <!-- ... and without label -->\n <a\n *ngIf=\"!href && !label\"\n [color]=\"color\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [queryParams]=\"queryParams\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n mat-icon-button\n mat-raised-button\n >\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n </a>\n\n <!-- External link with label... -->\n <a *ngIf=\"href && label\" [attr.href]=\"href\" [color]=\"color\" mat-raised-button target=\"_blank\">\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n <span>{{ label }}</span>\n </a>\n\n <!-- ... and without label -->\n <a *ngIf=\"href && !label\" [attr.href]=\"href\" [color]=\"color\" mat-icon-button mat-raised-button target=\"_blank\">\n <natural-icon *ngIf=\"icon\" [name]=\"icon\"></natural-icon>\n </a>\n</ng-container>\n",
|
|
10531
10578
|
encapsulation: i0.ViewEncapsulation.None,
|
|
10532
|
-
styles: ["natural-table-button
|
|
10579
|
+
styles: ["natural-table-button{flex:1;display:flex;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button a.mat-button{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start}natural-table-button a.mat-button .mat-button-wrapper{display:flex;flex-direction:row;align-items:center}natural-table-button a.mat-button .mat-button-wrapper>*{display:flex;flex-direction:row;align-items:center}natural-table-button a.mat-button .mat-button-wrapper>:not(:last-child){margin-right:5px}\n"]
|
|
10533
10580
|
},] }
|
|
10534
10581
|
];
|
|
10535
10582
|
NaturalTableButtonComponent.ctorParameters = function () { return []; };
|
|
@@ -11185,9 +11232,11 @@
|
|
|
11185
11232
|
exports.TypeNumberComponent = TypeNumberComponent;
|
|
11186
11233
|
exports.TypeSelectComponent = TypeSelectComponent;
|
|
11187
11234
|
exports.TypeTextComponent = TypeTextComponent;
|
|
11235
|
+
exports.available = available;
|
|
11188
11236
|
exports.cancellableTimeout = cancellableTimeout;
|
|
11189
11237
|
exports.cleanSameValues = cleanSameValues;
|
|
11190
11238
|
exports.collectErrors = collectErrors;
|
|
11239
|
+
exports.debug = debug;
|
|
11191
11240
|
exports.decimal = decimal;
|
|
11192
11241
|
exports.deliverableEmail = deliverableEmail;
|
|
11193
11242
|
exports.ensureHttpPrefix = ensureHttpPrefix;
|
|
@@ -11223,18 +11272,18 @@
|
|
|
11223
11272
|
exports.validTlds = validTlds;
|
|
11224
11273
|
exports.validateAllFormControls = validateAllFormControls;
|
|
11225
11274
|
exports.wrapLike = wrapLike;
|
|
11226
|
-
exports
|
|
11227
|
-
exports
|
|
11228
|
-
exports
|
|
11229
|
-
exports
|
|
11230
|
-
exports
|
|
11231
|
-
exports
|
|
11232
|
-
exports
|
|
11233
|
-
exports
|
|
11234
|
-
exports
|
|
11235
|
-
exports
|
|
11275
|
+
exports["ɵa"] = NaturalAbstractFile;
|
|
11276
|
+
exports["ɵb"] = NaturalDropdownService;
|
|
11277
|
+
exports["ɵc"] = AbstractAssociationSelectComponent;
|
|
11278
|
+
exports["ɵd"] = NATURAL_DROPDOWN_CONTAINER_DATA;
|
|
11279
|
+
exports["ɵe"] = NaturalDropdownContainerComponent;
|
|
11280
|
+
exports["ɵf"] = naturalDropdownAnimations;
|
|
11281
|
+
exports["ɵg"] = AbstractSelect;
|
|
11282
|
+
exports["ɵh"] = NaturalGroupComponent;
|
|
11283
|
+
exports["ɵi"] = NaturalInputComponent;
|
|
11284
|
+
exports["ɵj"] = FacetSelectorComponent;
|
|
11236
11285
|
|
|
11237
11286
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11238
11287
|
|
|
11239
|
-
}))
|
|
11288
|
+
}));
|
|
11240
11289
|
//# sourceMappingURL=ecodev-natural.umd.js.map
|