@sumaris-net/ngx-components 1.23.24 → 1.23.26
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 +126 -78
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/esm2015/src/app/core/form/editor.class.js +58 -16
- package/esm2015/src/app/core/form/entity-editor.class.js +9 -29
- package/esm2015/src/app/shared/functions.js +8 -3
- package/esm2015/src/app/shared/pipes/arrays.pipe.js +24 -6
- package/esm2015/src/app/shared/pipes/pipes.module.js +4 -2
- package/fesm2015/sumaris-net.ngx-components.js +96 -49
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/form/editor.class.d.ts +11 -3
- package/src/app/core/form/entity-editor.class.d.ts +4 -11
- package/src/app/shared/functions.d.ts +1 -1
- package/src/app/shared/pipes/arrays.pipe.d.ts +10 -2
- package/sumaris-net.ngx-components.metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
|
-
import { isNotNil } from '../functions';
|
|
2
|
+
import { getPropertyByPath, isNotNil } from '../functions';
|
|
3
3
|
export class NotEmptyArrayPipe {
|
|
4
4
|
transform(val) {
|
|
5
5
|
if (val === undefined || val === null) {
|
|
@@ -58,10 +58,18 @@ ArrayFirstPipe.decorators = [
|
|
|
58
58
|
},] }
|
|
59
59
|
];
|
|
60
60
|
export class ArrayPluckPipe {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* @param values
|
|
64
|
+
* @param opts property to get, or options
|
|
65
|
+
*/
|
|
66
|
+
transform(values, opts) {
|
|
67
|
+
if (!opts || !values)
|
|
68
|
+
return values;
|
|
69
|
+
const property = (typeof opts === 'string') || Array.isArray(opts) ? opts : opts.property;
|
|
70
|
+
return (opts['omitNil'] !== true) ?
|
|
71
|
+
values.map(value => getPropertyByPath(value, property)) :
|
|
72
|
+
values.map(value => getPropertyByPath(value, property)).filter(isNotNil);
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
75
|
ArrayPluckPipe.decorators = [
|
|
@@ -89,4 +97,14 @@ ArrayFilterPipe.decorators = [
|
|
|
89
97
|
name: 'arrayFilter'
|
|
90
98
|
},] }
|
|
91
99
|
];
|
|
92
|
-
|
|
100
|
+
export class ArrayJoinPipe {
|
|
101
|
+
transform(val, separator) {
|
|
102
|
+
return val && val.join(separator) || '';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
ArrayJoinPipe.decorators = [
|
|
106
|
+
{ type: Pipe, args: [{
|
|
107
|
+
name: 'arrayJoin'
|
|
108
|
+
},] }
|
|
109
|
+
];
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9hcnJheXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBS3pELE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsU0FBUyxDQUFDLEdBQVU7UUFDbEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDckMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7O1lBVkosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxpQkFBaUI7YUFDMUI7O0FBZUQsTUFBTSxPQUFPLGNBQWM7SUFFekIsU0FBUyxDQUFDLEdBQVU7UUFDbEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7O1lBVkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxjQUFjO2FBQ3JCOztBQWVELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFNBQVMsQ0FBQyxHQUFVLEVBQUUsSUFBbUU7UUFDdkYsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ2xFLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQixPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDaEM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUM3QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBbEJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsZUFBZTthQUN0Qjs7QUFzQkQsTUFBTSxPQUFPLGNBQWM7SUFFekIsU0FBUyxDQUFJLEdBQVE7UUFDbkIsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BELENBQUM7OztZQVBGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQjs7QUFXRCxNQUFNLE9BQU8sY0FBYztJQUV6Qjs7OztPQUlHO0lBQ0gsU0FBUyxDQUFJLE1BQVcsRUFBRSxJQUEwRTtRQUNsRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3RyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RSxDQUFDOzs7WUFoQkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxZQUFZO2FBQ25COztBQW9CRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBSSxHQUFRLEVBQUUsSUFBSTtRQUN6QixPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUM1QyxDQUFDOzs7WUFQRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7YUFDdEI7O0FBWUQsTUFBTSxPQUFPLGVBQWU7SUFFekIsU0FBUyxDQUFJLEdBQVEsRUFBRSxRQUF3QjtRQUM5QyxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQVBGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsYUFBYTthQUNwQjs7QUFXRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixTQUFTLENBQUksR0FBUSxFQUFFLFNBQWlCO1FBQ3RDLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7OztZQVBGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsV0FBVzthQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2dldFByb3BlcnR5QnlQYXRoLCBpc05vdE5pbH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdpc05vdEVtcHR5QXJyYXknXG59KVxuZXhwb3J0IGNsYXNzIE5vdEVtcHR5QXJyYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHZhbCA9PT0gdW5kZWZpbmVkIHx8IHZhbCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsLmxlbmd0aCA+IDA7XG4gICAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzRW1wdHlBcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsOiBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsLmxlbmd0aCA9PT0gMDtcbiAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzQXJyYXlMZW5ndGgnXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5TGVuZ3RoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWw6IGFueVtdLCBhcmdzPzogeyBncmVhdGVyVGhhbj86IG51bWJlcjsgZXF1YWxzPzogbnVtYmVyOyBsZXNzVGhhbj86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgYXJncyA9IGFyZ3MgfHwge307XG4gICAgY29uc3Qgc2l6ZSA9ICh2YWwgPT09IHVuZGVmaW5lZCB8fCB2YWwgPT09IG51bGwpID8gMCA6IHZhbC5sZW5ndGg7XG4gICAgaWYgKGlzTm90TmlsKGFyZ3MubGVzc1RoYW4pKSB7XG4gICAgICByZXR1cm4gc2l6ZSA8IGFyZ3MubGVzc1RoYW47XG4gICAgfVxuICAgIGlmIChpc05vdE5pbChhcmdzLmdyZWF0ZXJUaGFuKSkge1xuICAgICAgcmV0dXJuIHNpemUgPiBhcmdzLmdyZWF0ZXJUaGFuO1xuICAgIH1cbiAgICBpZiAoaXNOb3ROaWwoYXJncy5lcXVhbHMpKSB7XG4gICAgICByZXR1cm4gc2l6ZSA9PT0gYXJncy5lcXVhbHM7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUZpcnN0J1xufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZpcnN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybTxUPih2YWw6IFRbXSk6IFQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB2YWwgJiYgdmFsLmxlbmd0aCA+IDAgPyB2YWxbMF0gOiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYXJyYXlQbHVjaydcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlQbHVja1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKiBAcGFyYW0gb3B0cyBwcm9wZXJ0eSB0byBnZXQsIG9yIG9wdGlvbnNcbiAgICovXG4gIHRyYW5zZm9ybTxUPih2YWx1ZXM6IFRbXSwgb3B0czogc3RyaW5nIHwgc3RyaW5nW10gfCB7IHByb3BlcnR5OiBzdHJpbmd8c3RyaW5nW107IG9taXROaWw/OiBib29sZWFuIH0pOiBhbnlbXSB7XG4gICAgaWYgKCFvcHRzIHx8ICF2YWx1ZXMpIHJldHVybiB2YWx1ZXM7XG4gICAgY29uc3QgcHJvcGVydHkgPSAodHlwZW9mIG9wdHMgPT09ICdzdHJpbmcnKSB8fCBBcnJheS5pc0FycmF5KG9wdHMpID8gb3B0cyBhcyBzdHJpbmd8c3RyaW5nW10gOiBvcHRzLnByb3BlcnR5O1xuICAgIHJldHVybiAob3B0c1snb21pdE5pbCddICE9PSB0cnVlKSA/XG4gICAgICB2YWx1ZXMubWFwKHZhbHVlID0+IGdldFByb3BlcnR5QnlQYXRoKHZhbHVlLCBwcm9wZXJ0eSkpIDpcbiAgICAgIHZhbHVlcy5tYXAodmFsdWUgPT4gZ2V0UHJvcGVydHlCeVBhdGgodmFsdWUsIHByb3BlcnR5KSkuZmlsdGVyKGlzTm90TmlsKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUluY2x1ZGVzJ1xufSlcbmV4cG9ydCBjbGFzcyBBcnJheUluY2x1ZGVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybTxUPih2YWw6IFRbXSwgYXJncyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWwgJiYgdmFsLmluY2x1ZGVzKGFyZ3MpIHx8IGZhbHNlO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnYXJyYXlGaWx0ZXInXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5RmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICB0cmFuc2Zvcm08VD4odmFsOiBUW10sIGZpbHRlckZuOiAoVCkgPT4gYm9vbGVhbik6IFRbXSB7XG4gICAgcmV0dXJuIHZhbCAmJiB2YWwuZmlsdGVyKGZpbHRlckZuKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUpvaW4nXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Sm9pblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm08VD4odmFsOiBUW10sIHNlcGFyYXRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsICYmIHZhbC5qb2luKHNlcGFyYXRvcikgfHwgJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,7 +11,7 @@ import { HighlightPipe } from './highlight.pipe';
|
|
|
11
11
|
import { FileSizePipe } from './file-size.pipe';
|
|
12
12
|
import { DurationPipe } from './duration.pipe';
|
|
13
13
|
import { EvenPipe, MathAbsPipe, OddPipe } from './math.pipes';
|
|
14
|
-
import { ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, EmptyArrayPipe, NotEmptyArrayPipe } from './arrays.pipe';
|
|
14
|
+
import { ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayJoinPipe, ArrayLengthPipe, ArrayPluckPipe, EmptyArrayPipe, NotEmptyArrayPipe } from './arrays.pipe';
|
|
15
15
|
import { MapGetPipe, MapKeysPipe, MapValuesPipe } from './maps.pipe';
|
|
16
16
|
import { IsNilOrBlankPipe, IsNotNilOrBlankPipe, StrIncludesPipe, StrLengthPipe, ToStringPipe } from './string.pipes';
|
|
17
17
|
import { TranslatablePipe, TranslateContextPipe } from './translate-context.pipe';
|
|
@@ -50,6 +50,7 @@ SharedPipesModule.decorators = [
|
|
|
50
50
|
ArrayPluckPipe,
|
|
51
51
|
ArrayIncludesPipe,
|
|
52
52
|
ArrayFilterPipe,
|
|
53
|
+
ArrayJoinPipe,
|
|
53
54
|
MapGetPipe,
|
|
54
55
|
MapKeysPipe,
|
|
55
56
|
MapValuesPipe,
|
|
@@ -90,6 +91,7 @@ SharedPipesModule.decorators = [
|
|
|
90
91
|
ArrayLengthPipe,
|
|
91
92
|
ArrayFirstPipe,
|
|
92
93
|
ArrayPluckPipe,
|
|
94
|
+
ArrayJoinPipe,
|
|
93
95
|
MapGetPipe,
|
|
94
96
|
MapKeysPipe,
|
|
95
97
|
MapValuesPipe,
|
|
@@ -112,4 +114,4 @@ SharedPipesModule.decorators = [
|
|
|
112
114
|
]
|
|
113
115
|
},] }
|
|
114
116
|
];
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BLLE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMzSSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUE4RnJFLE1BQU0sT0FBTyxpQkFBaUI7OztZQTVGN0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZUFBZTtpQkFDaEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsT0FBTztvQkFDUCxRQUFRO29CQUNSLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixVQUFVO29CQUNWLFdBQVc7b0JBQ1gsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2Ysb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2Ysc0JBQXNCO29CQUN0QixXQUFXO29CQUNYLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLG1CQUFtQjtvQkFDbkIsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxPQUFPO29CQUNQLFFBQVE7b0JBQ1IsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxjQUFjO29CQUNkLGFBQWE7b0JBQ2IsVUFBVTtvQkFDVixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLFdBQVc7b0JBQ1gsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO2lCQUNqQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7SW9uaWNNb2R1bGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7RGF0ZUZvcm1hdFBpcGV9IGZyb20gJy4vZGF0ZS1mb3JtYXQucGlwZSc7XG5pbXBvcnQge0RhdGVEaWZmRHVyYXRpb25QaXBlfSBmcm9tICcuL2RhdGUtZGlmZi1kdXJhdGlvbi5waXBlJztcbmltcG9ydCB7RGF0ZUZyb21Ob3dQaXBlfSBmcm9tICcuL2RhdGUtZnJvbS1ub3cucGlwZSc7XG5pbXBvcnQge0xhdGl0dWRlRm9ybWF0UGlwZSwgTGF0TG9uZ0Zvcm1hdFBpcGUsIExvbmdpdHVkZUZvcm1hdFBpcGV9IGZyb20gJy4vbGF0bG9uZy1mb3JtYXQucGlwZSc7XG5pbXBvcnQge051bWJlckZvcm1hdFBpcGV9IGZyb20gJy4vbnVtYmVyLWZvcm1hdC5waXBlJztcbmltcG9ydCB7SGlnaGxpZ2h0UGlwZX0gZnJvbSAnLi9oaWdobGlnaHQucGlwZSc7XG5pbXBvcnQge0ZpbGVTaXplUGlwZX0gZnJvbSAnLi9maWxlLXNpemUucGlwZSc7XG5pbXBvcnQge0R1cmF0aW9uUGlwZX0gZnJvbSAnLi9kdXJhdGlvbi5waXBlJztcbmltcG9ydCB7RXZlblBpcGUsIE1hdGhBYnNQaXBlLCBPZGRQaXBlfSBmcm9tICcuL21hdGgucGlwZXMnO1xuaW1wb3J0IHtBcnJheUZpbHRlclBpcGUsIEFycmF5Rmlyc3RQaXBlLCBBcnJheUluY2x1ZGVzUGlwZSwgQXJyYXlKb2luUGlwZSwgQXJyYXlMZW5ndGhQaXBlLCBBcnJheVBsdWNrUGlwZSwgRW1wdHlBcnJheVBpcGUsIE5vdEVtcHR5QXJyYXlQaXBlfSBmcm9tICcuL2FycmF5cy5waXBlJztcbmltcG9ydCB7TWFwR2V0UGlwZSwgTWFwS2V5c1BpcGUsIE1hcFZhbHVlc1BpcGV9IGZyb20gJy4vbWFwcy5waXBlJztcbmltcG9ydCB7SXNOaWxPckJsYW5rUGlwZSwgSXNOb3ROaWxPckJsYW5rUGlwZSwgU3RySW5jbHVkZXNQaXBlLCBTdHJMZW5ndGhQaXBlLCBUb1N0cmluZ1BpcGV9IGZyb20gJy4vc3RyaW5nLnBpcGVzJztcbmltcG9ydCB7VHJhbnNsYXRhYmxlUGlwZSwgVHJhbnNsYXRlQ29udGV4dFBpcGV9IGZyb20gJy4vdHJhbnNsYXRlLWNvbnRleHQucGlwZSc7XG5pbXBvcnQge05nSW5pdERpcmVjdGl2ZX0gZnJvbSAnLi9uZy1pbml0LnBpcGUnO1xuaW1wb3J0IHtGb3JtRXJyb3JUcmFuc2xhdGVQaXBlLCBGb3JtR2V0QXJyYXlQaXBlLCBGb3JtR2V0Q29udHJvbFBpcGUsIEZvcm1HZXRHcm91cFBpcGUsIEZvcm1HZXRQaXBlLCBGb3JtR2V0VmFsdWVQaXBlfSBmcm9tICcuL2Zvcm0ucGlwZXMnO1xuaW1wb3J0IHtQcm9wZXJ0eUZvcm1hdFBpcGUsIFByb3BlcnR5R2V0UGlwZX0gZnJvbSAnLi9wcm9wZXJ0eS5waXBlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFByb3BlcnR5R2V0UGlwZSxcbiAgICBQcm9wZXJ0eUZvcm1hdFBpcGUsXG4gICAgRGF0ZUZvcm1hdFBpcGUsXG4gICAgRGF0ZURpZmZEdXJhdGlvblBpcGUsXG4gICAgRHVyYXRpb25QaXBlLFxuICAgIERhdGVGcm9tTm93UGlwZSxcbiAgICBMYXRMb25nRm9ybWF0UGlwZSxcbiAgICBMYXRpdHVkZUZvcm1hdFBpcGUsXG4gICAgTG9uZ2l0dWRlRm9ybWF0UGlwZSxcbiAgICBIaWdobGlnaHRQaXBlLFxuICAgIE51bWJlckZvcm1hdFBpcGUsXG4gICAgRmlsZVNpemVQaXBlLFxuICAgIE1hdGhBYnNQaXBlLFxuICAgIE9kZFBpcGUsXG4gICAgRXZlblBpcGUsXG4gICAgTm90RW1wdHlBcnJheVBpcGUsXG4gICAgRW1wdHlBcnJheVBpcGUsXG4gICAgQXJyYXlMZW5ndGhQaXBlLFxuICAgIEFycmF5Rmlyc3RQaXBlLFxuICAgIEFycmF5UGx1Y2tQaXBlLFxuICAgIEFycmF5SW5jbHVkZXNQaXBlLFxuICAgIEFycmF5RmlsdGVyUGlwZSxcbiAgICBBcnJheUpvaW5QaXBlLFxuICAgIE1hcEdldFBpcGUsXG4gICAgTWFwS2V5c1BpcGUsXG4gICAgTWFwVmFsdWVzUGlwZSxcbiAgICBJc05pbE9yQmxhbmtQaXBlLFxuICAgIElzTm90TmlsT3JCbGFua1BpcGUsXG4gICAgVG9TdHJpbmdQaXBlLFxuICAgIFN0ckxlbmd0aFBpcGUsXG4gICAgU3RySW5jbHVkZXNQaXBlLFxuICAgIFRyYW5zbGF0ZUNvbnRleHRQaXBlLFxuICAgIFRyYW5zbGF0YWJsZVBpcGUsXG4gICAgTmdJbml0RGlyZWN0aXZlLFxuICAgIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUsXG4gICAgRm9ybUdldFBpcGUsXG4gICAgRm9ybUdldENvbnRyb2xQaXBlLFxuICAgIEZvcm1HZXRBcnJheVBpcGUsXG4gICAgRm9ybUdldEdyb3VwUGlwZSxcbiAgICBGb3JtR2V0VmFsdWVQaXBlLFxuICAgIFByb3BlcnR5Rm9ybWF0UGlwZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUHJvcGVydHlHZXRQaXBlLFxuICAgIFByb3BlcnR5Rm9ybWF0UGlwZSxcbiAgICBEYXRlRm9ybWF0UGlwZSxcbiAgICBEYXRlRnJvbU5vd1BpcGUsXG4gICAgRGF0ZURpZmZEdXJhdGlvblBpcGUsXG4gICAgRHVyYXRpb25QaXBlLFxuICAgIExhdExvbmdGb3JtYXRQaXBlLFxuICAgIExhdGl0dWRlRm9ybWF0UGlwZSxcbiAgICBMb25naXR1ZGVGb3JtYXRQaXBlLFxuICAgIEhpZ2hsaWdodFBpcGUsXG4gICAgTnVtYmVyRm9ybWF0UGlwZSxcbiAgICBGaWxlU2l6ZVBpcGUsXG4gICAgTWF0aEFic1BpcGUsXG4gICAgT2RkUGlwZSxcbiAgICBFdmVuUGlwZSxcbiAgICBOb3RFbXB0eUFycmF5UGlwZSxcbiAgICBFbXB0eUFycmF5UGlwZSxcbiAgICBBcnJheUxlbmd0aFBpcGUsXG4gICAgQXJyYXlGaXJzdFBpcGUsXG4gICAgQXJyYXlQbHVja1BpcGUsXG4gICAgQXJyYXlKb2luUGlwZSxcbiAgICBNYXBHZXRQaXBlLFxuICAgIE1hcEtleXNQaXBlLFxuICAgIE1hcFZhbHVlc1BpcGUsXG4gICAgSXNOaWxPckJsYW5rUGlwZSxcbiAgICBJc05vdE5pbE9yQmxhbmtQaXBlLFxuICAgIFRvU3RyaW5nUGlwZSxcbiAgICBTdHJMZW5ndGhQaXBlLFxuICAgIFN0ckluY2x1ZGVzUGlwZSxcbiAgICBBcnJheUluY2x1ZGVzUGlwZSxcbiAgICBBcnJheUZpbHRlclBpcGUsXG4gICAgVHJhbnNsYXRlQ29udGV4dFBpcGUsXG4gICAgVHJhbnNsYXRhYmxlUGlwZSxcbiAgICBOZ0luaXREaXJlY3RpdmUsXG4gICAgRm9ybUVycm9yVHJhbnNsYXRlUGlwZSxcbiAgICBGb3JtR2V0UGlwZSxcbiAgICBGb3JtR2V0Q29udHJvbFBpcGUsXG4gICAgRm9ybUdldEFycmF5UGlwZSxcbiAgICBGb3JtR2V0R3JvdXBQaXBlLFxuICAgIEZvcm1HZXRWYWx1ZVBpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRQaXBlc01vZHVsZSB7XG5cbn1cbiJdfQ==
|
|
@@ -321,6 +321,10 @@ function isNumberRange(value) {
|
|
|
321
321
|
return isNotNil(value) && NUMBER_RANGE_REGEXP.test(value);
|
|
322
322
|
}
|
|
323
323
|
function getPropertyByPath(obj, path, defaultValue) {
|
|
324
|
+
// Path is an array: convert path to string
|
|
325
|
+
if (Array.isArray(path)) {
|
|
326
|
+
return getPropertyByPath(obj, path.join('.'), defaultValue);
|
|
327
|
+
}
|
|
324
328
|
if (isNil(obj))
|
|
325
329
|
return defaultValue;
|
|
326
330
|
if (isNilOrBlank(path))
|
|
@@ -335,7 +339,8 @@ function getPropertyByPath(obj, path, defaultValue) {
|
|
|
335
339
|
const key = path.substring(0, i);
|
|
336
340
|
if (isNil(obj[key]))
|
|
337
341
|
return defaultValue;
|
|
338
|
-
if (
|
|
342
|
+
if (typeof obj[key] === 'object') { // Object or Array
|
|
343
|
+
// Recursive call
|
|
339
344
|
return getPropertyByPath(obj[key], path.substring(i + 1));
|
|
340
345
|
}
|
|
341
346
|
throw new Error(`Invalid property path: '${key}' is not an valid object.`);
|
|
@@ -347,7 +352,7 @@ function getProperty(obj, key) {
|
|
|
347
352
|
}
|
|
348
353
|
function getPropertyByPathAsString(obj, path) {
|
|
349
354
|
const res = getPropertyByPath(obj, path);
|
|
350
|
-
return
|
|
355
|
+
return (typeof res === 'string') ? res : ('' + res);
|
|
351
356
|
}
|
|
352
357
|
function sleep(ms) {
|
|
353
358
|
if (ms <= 0)
|
|
@@ -2687,10 +2692,18 @@ ArrayFirstPipe.decorators = [
|
|
|
2687
2692
|
},] }
|
|
2688
2693
|
];
|
|
2689
2694
|
class ArrayPluckPipe {
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2695
|
+
/**
|
|
2696
|
+
*
|
|
2697
|
+
* @param values
|
|
2698
|
+
* @param opts property to get, or options
|
|
2699
|
+
*/
|
|
2700
|
+
transform(values, opts) {
|
|
2701
|
+
if (!opts || !values)
|
|
2702
|
+
return values;
|
|
2703
|
+
const property = (typeof opts === 'string') || Array.isArray(opts) ? opts : opts.property;
|
|
2704
|
+
return (opts['omitNil'] !== true) ?
|
|
2705
|
+
values.map(value => getPropertyByPath(value, property)) :
|
|
2706
|
+
values.map(value => getPropertyByPath(value, property)).filter(isNotNil);
|
|
2694
2707
|
}
|
|
2695
2708
|
}
|
|
2696
2709
|
ArrayPluckPipe.decorators = [
|
|
@@ -2718,6 +2731,16 @@ ArrayFilterPipe.decorators = [
|
|
|
2718
2731
|
name: 'arrayFilter'
|
|
2719
2732
|
},] }
|
|
2720
2733
|
];
|
|
2734
|
+
class ArrayJoinPipe {
|
|
2735
|
+
transform(val, separator) {
|
|
2736
|
+
return val && val.join(separator) || '';
|
|
2737
|
+
}
|
|
2738
|
+
}
|
|
2739
|
+
ArrayJoinPipe.decorators = [
|
|
2740
|
+
{ type: Pipe, args: [{
|
|
2741
|
+
name: 'arrayJoin'
|
|
2742
|
+
},] }
|
|
2743
|
+
];
|
|
2721
2744
|
|
|
2722
2745
|
class MapGetPipe {
|
|
2723
2746
|
transform(val, args) {
|
|
@@ -4455,6 +4478,7 @@ SharedPipesModule.decorators = [
|
|
|
4455
4478
|
ArrayPluckPipe,
|
|
4456
4479
|
ArrayIncludesPipe,
|
|
4457
4480
|
ArrayFilterPipe,
|
|
4481
|
+
ArrayJoinPipe,
|
|
4458
4482
|
MapGetPipe,
|
|
4459
4483
|
MapKeysPipe,
|
|
4460
4484
|
MapValuesPipe,
|
|
@@ -4495,6 +4519,7 @@ SharedPipesModule.decorators = [
|
|
|
4495
4519
|
ArrayLengthPipe,
|
|
4496
4520
|
ArrayFirstPipe,
|
|
4497
4521
|
ArrayPluckPipe,
|
|
4522
|
+
ArrayJoinPipe,
|
|
4498
4523
|
MapGetPipe,
|
|
4499
4524
|
MapKeysPipe,
|
|
4500
4525
|
MapValuesPipe,
|
|
@@ -24554,11 +24579,12 @@ class AppEditor {
|
|
|
24554
24579
|
this.translate = translate;
|
|
24555
24580
|
this._subscription = new Subscription();
|
|
24556
24581
|
this._enabled = false;
|
|
24557
|
-
this._dirty = false;
|
|
24558
24582
|
this.destroySubject = new Subject();
|
|
24559
24583
|
this.readySubject = new BehaviorSubject(false);
|
|
24584
|
+
this.dirtySubject = new BehaviorSubject(false);
|
|
24560
24585
|
this.loadingSubject = new BehaviorSubject(true);
|
|
24561
24586
|
this.errorSubject = new BehaviorSubject(undefined);
|
|
24587
|
+
this.savingSubject = new BehaviorSubject(false);
|
|
24562
24588
|
this.debug = false;
|
|
24563
24589
|
this.submitted = false;
|
|
24564
24590
|
this.toolbar = null;
|
|
@@ -24594,6 +24620,10 @@ class AppEditor {
|
|
|
24594
24620
|
set error(error) {
|
|
24595
24621
|
this.setError(error);
|
|
24596
24622
|
}
|
|
24623
|
+
get saving() {
|
|
24624
|
+
var _a;
|
|
24625
|
+
return this.savingSubject.value || ((_a = this.editors) === null || _a === void 0 ? void 0 : _a.some(e => e.saving));
|
|
24626
|
+
}
|
|
24597
24627
|
get tables() {
|
|
24598
24628
|
return this._children && this._children.filter(c => c instanceof AppTable);
|
|
24599
24629
|
}
|
|
@@ -24604,7 +24634,7 @@ class AppEditor {
|
|
|
24604
24634
|
return this._children && this._children.filter(c => c instanceof AppEditor);
|
|
24605
24635
|
}
|
|
24606
24636
|
get dirty() {
|
|
24607
|
-
return this.
|
|
24637
|
+
return this.dirtySubject.value || (this._children && this._children.findIndex(c => c.enabled && c.dirty) !== -1) || false;
|
|
24608
24638
|
}
|
|
24609
24639
|
/**
|
|
24610
24640
|
* Is valid (tables and forms)
|
|
@@ -24632,7 +24662,7 @@ class AppEditor {
|
|
|
24632
24662
|
return this._children;
|
|
24633
24663
|
}
|
|
24634
24664
|
get empty() {
|
|
24635
|
-
return this._enabled;
|
|
24665
|
+
return !this._enabled;
|
|
24636
24666
|
}
|
|
24637
24667
|
ngOnInit() {
|
|
24638
24668
|
if (this.formButtonsBar) {
|
|
@@ -24692,7 +24722,9 @@ class AppEditor {
|
|
|
24692
24722
|
var _a;
|
|
24693
24723
|
this.error = null;
|
|
24694
24724
|
this.submitted = false;
|
|
24695
|
-
this.
|
|
24725
|
+
if (this.dirtySubject.value !== false) {
|
|
24726
|
+
this.dirtySubject.next(false);
|
|
24727
|
+
}
|
|
24696
24728
|
(_a = this._children) === null || _a === void 0 ? void 0 : _a.forEach(c => c.markAsPristine(opts));
|
|
24697
24729
|
if (!this.loading && (!opts || opts.emitEvent !== false))
|
|
24698
24730
|
this.markForCheck();
|
|
@@ -24720,9 +24752,11 @@ class AppEditor {
|
|
|
24720
24752
|
this.markForCheck();
|
|
24721
24753
|
}
|
|
24722
24754
|
markAsDirty(opts) {
|
|
24723
|
-
this.
|
|
24724
|
-
|
|
24725
|
-
this.
|
|
24755
|
+
if (!this.dirtySubject.value) {
|
|
24756
|
+
this.dirtySubject.next(true);
|
|
24757
|
+
if (!this.loading && (!opts || opts.emitEvent !== false))
|
|
24758
|
+
this.markForCheck();
|
|
24759
|
+
}
|
|
24726
24760
|
}
|
|
24727
24761
|
markAsLoading(opts) {
|
|
24728
24762
|
if (!this.loadingSubject.value) {
|
|
@@ -24761,6 +24795,20 @@ class AppEditor {
|
|
|
24761
24795
|
return Promise.resolve();
|
|
24762
24796
|
return waitForFalse(this.loadingSubject, opts);
|
|
24763
24797
|
}
|
|
24798
|
+
markAsSaving(opts) {
|
|
24799
|
+
if (this.savingSubject.value !== true) {
|
|
24800
|
+
this.savingSubject.next(true);
|
|
24801
|
+
if (!opts || opts.emitEvent !== false)
|
|
24802
|
+
this.markForCheck();
|
|
24803
|
+
}
|
|
24804
|
+
}
|
|
24805
|
+
markAsSaved(opts) {
|
|
24806
|
+
if (this.savingSubject.value !== false) {
|
|
24807
|
+
this.savingSubject.next(false);
|
|
24808
|
+
if (!opts || opts.emitEvent !== false)
|
|
24809
|
+
this.markForCheck();
|
|
24810
|
+
}
|
|
24811
|
+
}
|
|
24764
24812
|
cancel(event) {
|
|
24765
24813
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24766
24814
|
if (this.isNewData) {
|
|
@@ -24779,7 +24827,7 @@ class AppEditor {
|
|
|
24779
24827
|
unload(opts) {
|
|
24780
24828
|
var _a;
|
|
24781
24829
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24782
|
-
console.debug('[
|
|
24830
|
+
console.debug('[editor] Unloading data...');
|
|
24783
24831
|
this.markAsLoading();
|
|
24784
24832
|
(_a = this._children) === null || _a === void 0 ? void 0 : _a.forEach(f => {
|
|
24785
24833
|
if (f instanceof AppForm) {
|
|
@@ -24788,7 +24836,12 @@ class AppEditor {
|
|
|
24788
24836
|
else if (f instanceof AppTable) {
|
|
24789
24837
|
f.dataSource.disconnect();
|
|
24790
24838
|
}
|
|
24839
|
+
else if (f instanceof AppEditor) {
|
|
24840
|
+
f.unload(opts);
|
|
24841
|
+
}
|
|
24791
24842
|
});
|
|
24843
|
+
this.markAsPristine(opts);
|
|
24844
|
+
this.markAsSaved(opts);
|
|
24792
24845
|
});
|
|
24793
24846
|
}
|
|
24794
24847
|
reloadWithConfirmation(confirm) {
|
|
@@ -24840,11 +24893,11 @@ class AppEditor {
|
|
|
24840
24893
|
}
|
|
24841
24894
|
});
|
|
24842
24895
|
}
|
|
24843
|
-
logFormErrors() {
|
|
24896
|
+
logFormErrors(prefix) {
|
|
24844
24897
|
var _a;
|
|
24845
24898
|
if (this.debug)
|
|
24846
|
-
console.debug('[
|
|
24847
|
-
(_a = this._children) === null || _a === void 0 ? void 0 : _a.forEach(c => this.
|
|
24899
|
+
console.debug('[editor] Editor not valid. Checking where (forms, tables)...');
|
|
24900
|
+
(_a = this._children) === null || _a === void 0 ? void 0 : _a.forEach(c => this.logChildrenErrors(c, prefix));
|
|
24848
24901
|
}
|
|
24849
24902
|
/* -- protected methods -- */
|
|
24850
24903
|
scrollToTop(duration) {
|
|
@@ -24923,7 +24976,7 @@ class AppEditor {
|
|
|
24923
24976
|
yield Toasts.show(this.toastController, this.translate, opts);
|
|
24924
24977
|
});
|
|
24925
24978
|
}
|
|
24926
|
-
|
|
24979
|
+
logChildrenErrors(c, prefix, path) {
|
|
24927
24980
|
prefix = prefix || '[app-tab-editor] ';
|
|
24928
24981
|
// If editor
|
|
24929
24982
|
if (c instanceof AppEditor) {
|
|
@@ -24936,7 +24989,7 @@ class AppEditor {
|
|
|
24936
24989
|
// If form provider: get delegate
|
|
24937
24990
|
else if (c instanceof AppFormProvider) {
|
|
24938
24991
|
if (!c.empty && !c.valid) {
|
|
24939
|
-
c.waitDelegate({ timeout: 1000 }).then(delegate => this.
|
|
24992
|
+
c.waitDelegate({ timeout: 1000 }).then(delegate => this.logChildrenErrors(delegate, prefix, 'provider'));
|
|
24940
24993
|
}
|
|
24941
24994
|
}
|
|
24942
24995
|
// If table
|
|
@@ -24946,20 +24999,34 @@ class AppEditor {
|
|
|
24946
24999
|
AppFormUtils.logFormErrors(c.editedRow.validator, prefix, path);
|
|
24947
25000
|
}
|
|
24948
25001
|
}
|
|
24949
|
-
// If
|
|
25002
|
+
// If form
|
|
24950
25003
|
else if (c instanceof AppForm) {
|
|
24951
25004
|
if (!c.empty && !c.valid) {
|
|
24952
25005
|
if (c.pending) {
|
|
24953
25006
|
const path = c.constructor.name.toLowerCase();
|
|
24954
25007
|
console.warn(`${prefix} -> ${path}: waiting while pending...`);
|
|
24955
25008
|
AppFormUtils.waitWhilePending(c, { timeout: 1000 })
|
|
24956
|
-
.then(() => this.
|
|
25009
|
+
.then(() => this.logChildrenErrors(c.form, prefix, path));
|
|
24957
25010
|
}
|
|
24958
25011
|
else {
|
|
24959
25012
|
AppFormUtils.logFormErrors(c.form, prefix);
|
|
24960
25013
|
}
|
|
24961
25014
|
}
|
|
24962
25015
|
}
|
|
25016
|
+
// If editor
|
|
25017
|
+
else if (c instanceof AppEditor) {
|
|
25018
|
+
if (!c.empty && !c.valid) {
|
|
25019
|
+
if (c.pending) {
|
|
25020
|
+
const path = c.constructor.name.toLowerCase();
|
|
25021
|
+
console.warn(`${prefix} -> ${path}: waiting while pending...`);
|
|
25022
|
+
AppFormUtils.waitWhilePending(c, { timeout: 1000 })
|
|
25023
|
+
.then(() => c.logFormErrors(prefix));
|
|
25024
|
+
}
|
|
25025
|
+
else {
|
|
25026
|
+
c.logFormErrors(prefix);
|
|
25027
|
+
}
|
|
25028
|
+
}
|
|
25029
|
+
}
|
|
24963
25030
|
else {
|
|
24964
25031
|
console.warn(`${prefix} Unknown children sub-form: `, c);
|
|
24965
25032
|
}
|
|
@@ -25175,7 +25242,6 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
25175
25242
|
super(injector.get(ActivatedRoute), injector.get(Router), injector.get(AlertController), injector.get(TranslateService), options);
|
|
25176
25243
|
this.dataType = dataType;
|
|
25177
25244
|
this.dataService = dataService;
|
|
25178
|
-
this.savingSubject = new BehaviorSubject(false);
|
|
25179
25245
|
this.$title = new Subject();
|
|
25180
25246
|
this.onUpdateView = new EventEmitter();
|
|
25181
25247
|
this.environment = injector.get(ENVIRONMENT);
|
|
@@ -25217,29 +25283,9 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
25217
25283
|
var _a;
|
|
25218
25284
|
return isNil((_a = this.data) === null || _a === void 0 ? void 0 : _a.id);
|
|
25219
25285
|
}
|
|
25220
|
-
get loading() {
|
|
25221
|
-
return this.loadingSubject.value;
|
|
25222
|
-
}
|
|
25223
|
-
get saving() {
|
|
25224
|
-
return this.savingSubject.value;
|
|
25225
|
-
}
|
|
25226
25286
|
get service() {
|
|
25227
25287
|
return this.dataService;
|
|
25228
25288
|
}
|
|
25229
|
-
markAsSaving(opts) {
|
|
25230
|
-
if (this.savingSubject.value !== true) {
|
|
25231
|
-
this.savingSubject.next(true);
|
|
25232
|
-
if (!opts || opts.emitEvent !== false)
|
|
25233
|
-
this.markForCheck();
|
|
25234
|
-
}
|
|
25235
|
-
}
|
|
25236
|
-
markAsSaved(opts) {
|
|
25237
|
-
if (this.savingSubject.value !== false) {
|
|
25238
|
-
this.savingSubject.next(false);
|
|
25239
|
-
if (!opts || opts.emitEvent !== false)
|
|
25240
|
-
this.markForCheck();
|
|
25241
|
-
}
|
|
25242
|
-
}
|
|
25243
25289
|
ngOnInit() {
|
|
25244
25290
|
super.ngOnInit();
|
|
25245
25291
|
// Defaults
|
|
@@ -25394,9 +25440,7 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
25394
25440
|
this.data = data;
|
|
25395
25441
|
this.previousDataId = data.id || null;
|
|
25396
25442
|
yield this.ready();
|
|
25397
|
-
|
|
25398
|
-
if (promiseOrVoid)
|
|
25399
|
-
yield promiseOrVoid;
|
|
25443
|
+
yield this.setValue(data);
|
|
25400
25444
|
if (!opts || opts.emitEvent !== false) {
|
|
25401
25445
|
this.markAsPristine();
|
|
25402
25446
|
this.markAsUntouched();
|
|
@@ -25639,14 +25683,17 @@ class AppEntityEditor extends AppTabEditor {
|
|
|
25639
25683
|
yield this.load((_a = this.data) === null || _a === void 0 ? void 0 : _a.id);
|
|
25640
25684
|
});
|
|
25641
25685
|
}
|
|
25642
|
-
unload() {
|
|
25686
|
+
unload(opts) {
|
|
25687
|
+
const _super = Object.create(null, {
|
|
25688
|
+
unload: { get: () => super.unload }
|
|
25689
|
+
});
|
|
25643
25690
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25691
|
+
yield _super.unload.call(this, opts);
|
|
25644
25692
|
this.stopListenRemoteChanges();
|
|
25645
25693
|
this.form.reset();
|
|
25646
25694
|
this.registerForms();
|
|
25647
|
-
this._dirty = false;
|
|
25648
25695
|
this.data = null;
|
|
25649
|
-
|
|
25696
|
+
// TODO: find a way to remove current page from the navigation history
|
|
25650
25697
|
});
|
|
25651
25698
|
}
|
|
25652
25699
|
goBack(event) {
|
|
@@ -30195,5 +30242,5 @@ JobProgressionTestService.decorators = [
|
|
|
30195
30242
|
* Generated bundle index. Do not edit.
|
|
30196
30243
|
*/
|
|
30197
30244
|
|
|
30198
|
-
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_JOB_PROGRESSION_SERVICE, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_TESTING_PAGES, APP_USER_EVENT_SERVICE, AboutModal, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppIconComponent, AppIconModule, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, IMAGE_DEFAULTS, ImagesUtils, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, Job, JobModule, JobProgression, JobProgressionIcon, JobProgressionList, JobProgressionService, JobProgressionTestService, JobProgressionTestingPage, JobTestingModule, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MOMENT_NO_TIME_PROPERTY, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuOptions, MenuService, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, ResizableComponent, ResizableDirective, ResizableModule, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SOCIAL_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, SocialTestingModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEventModule, UserEventNotificationIcon, UserEventTestService, UserEventTestingModule, UserEventTestingPage, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isBlankString, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moment$5 as moment, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, tz, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending, ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, StartableObservableService as ɵc, isFocusableElement as ɵd, RegisterForm as ɵe, AccountValidatorService as ɵf, RegisterModal as ɵg, UserSettingsValidatorService as ɵh, LocalSettingsValidatorService as ɵi, AppUpdateOfflineModeCard as ɵj, UserEventNotificationList as ɵk, DateTestPage as ɵl, NumpadTestPage as ɵm, MatBadgeIconTestPage as ɵn, ToastTestingModule as ɵo, ToastTestingPage as ɵp };
|
|
30245
|
+
export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_JOB_PROGRESSION_SERVICE, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_TESTING_PAGES, APP_USER_EVENT_SERVICE, AboutModal, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AndroidOsEnvironment, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppIconComponent, AppIconModule, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayJoinPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, IMAGE_DEFAULTS, ImagesUtils, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, Job, JobModule, JobProgression, JobProgressionIcon, JobProgressionList, JobProgressionService, JobProgressionTestService, JobProgressionTestingPage, JobTestingModule, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MOMENT_NO_TIME_PROPERTY, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItems, MenuOptions, MenuService, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NetworkService, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, ResizableComponent, ResizableDirective, ResizableModule, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SOCIAL_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, SocialTestingModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEventModule, UserEventNotificationIcon, UserEventTestService, UserEventTestingModule, UserEventTestingPage, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isAndroid, isBlankString, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moment$5 as moment, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, tz, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending, ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, StartableObservableService as ɵc, isFocusableElement as ɵd, RegisterForm as ɵe, AccountValidatorService as ɵf, RegisterModal as ɵg, UserSettingsValidatorService as ɵh, LocalSettingsValidatorService as ɵi, AppUpdateOfflineModeCard as ɵj, UserEventNotificationList as ɵk, DateTestPage as ɵl, NumpadTestPage as ɵm, MatBadgeIconTestPage as ɵn, ToastTestingModule as ɵo, ToastTestingPage as ɵp };
|
|
30199
30246
|
//# sourceMappingURL=sumaris-net.ngx-components.js.map
|