@solidev/data 0.4.8 → 0.5.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.
Files changed (91) hide show
  1. package/fesm2022/solidev-data.mjs +158 -157
  2. package/fesm2022/solidev-data.mjs.map +1 -1
  3. package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +2 -2
  4. package/package.json +5 -7
  5. package/esm2022/lib/auth/auth-interceptor.service.mjs +0 -113
  6. package/esm2022/lib/auth/auth.service.mjs +0 -216
  7. package/esm2022/lib/auth/jwt.mjs +0 -21
  8. package/esm2022/lib/data/data-backend.mjs +0 -162
  9. package/esm2022/lib/data/data-collection.mjs +0 -125
  10. package/esm2022/lib/data/data-collection.mock.mjs +0 -39
  11. package/esm2022/lib/data/data-model.mjs +0 -291
  12. package/esm2022/lib/data/data-parameters.mjs +0 -34
  13. package/esm2022/lib/data/data-query.mjs +0 -154
  14. package/esm2022/lib/data/data-query.mock.mjs +0 -46
  15. package/esm2022/lib/data/fields/base.mjs +0 -144
  16. package/esm2022/lib/data/fields/boolean.mjs +0 -38
  17. package/esm2022/lib/data/fields/computed.mjs +0 -10
  18. package/esm2022/lib/data/fields/datetime.mjs +0 -167
  19. package/esm2022/lib/data/fields/index.mjs +0 -8
  20. package/esm2022/lib/data/fields/numbers.mjs +0 -38
  21. package/esm2022/lib/data/fields/primaryfield.mjs +0 -9
  22. package/esm2022/lib/data/fields/relations.mjs +0 -53
  23. package/esm2022/lib/data/fields/stringfields.mjs +0 -71
  24. package/esm2022/lib/dispedit/choice.pipe.mjs +0 -79
  25. package/esm2022/lib/dispedit/dispedit/dispedit.component.mjs +0 -480
  26. package/esm2022/lib/dispedit/dispedit/dispedit.constants.mjs +0 -2
  27. package/esm2022/lib/dispedit/factor.pipe.mjs +0 -81
  28. package/esm2022/lib/dispedit/factorc.pipe.mjs +0 -99
  29. package/esm2022/lib/dispedit/fkselect/fkselect.component.mjs +0 -139
  30. package/esm2022/lib/dispedit/flags/flags.component.mjs +0 -137
  31. package/esm2022/lib/dispedit/m2mselect/m2mselect.component.mjs +0 -312
  32. package/esm2022/lib/dispedit/richedit/richedit.component.mjs +0 -126
  33. package/esm2022/lib/dispedit/sdelete/sdelete.component.mjs +0 -103
  34. package/esm2022/lib/messages/message-zone/message-zone.component.mjs +0 -53
  35. package/esm2022/lib/messages/message.service.mjs +0 -151
  36. package/esm2022/lib/modellist/model-list-fields/model-list-field-header/messages.mjs +0 -2
  37. package/esm2022/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +0 -61
  38. package/esm2022/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +0 -64
  39. package/esm2022/lib/modellist/model-list-fields/model-list-fields.mjs +0 -273
  40. package/esm2022/lib/modellist/model-list-filters/filters/filtertypes.mjs +0 -3
  41. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +0 -109
  42. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +0 -28
  43. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +0 -29
  44. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +0 -9
  45. package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +0 -40
  46. package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.mjs +0 -14
  47. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +0 -40
  48. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +0 -14
  49. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +0 -21
  50. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +0 -14
  51. package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +0 -49
  52. package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +0 -23
  53. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +0 -24
  54. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +0 -63
  55. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +0 -16
  56. package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +0 -46
  57. package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +0 -49
  58. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +0 -56
  59. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +0 -40
  60. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +0 -51
  61. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +0 -21
  62. package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +0 -40
  63. package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +0 -17
  64. package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +0 -174
  65. package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +0 -18
  66. package/esm2022/lib/modellist/model-list-filters/model-list-filter-group.mjs +0 -19
  67. package/esm2022/lib/modellist/model-list-filters/model-list-filter.mjs +0 -157
  68. package/esm2022/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +0 -50
  69. package/esm2022/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +0 -51
  70. package/esm2022/lib/modellist/model-list-filters/model-list-filters.mjs +0 -134
  71. package/esm2022/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +0 -69
  72. package/esm2022/lib/modellist/model-list-paginator/model-list-paginator.mjs +0 -47
  73. package/esm2022/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +0 -49
  74. package/esm2022/lib/modellist/model-list-sorter/model-list-sorter.mjs +0 -116
  75. package/esm2022/lib/modellist/model-list.service.mjs +0 -168
  76. package/esm2022/lib/routing/breadcrumb/breadcrumb.component.mjs +0 -138
  77. package/esm2022/lib/routing/routing.mjs +0 -57
  78. package/esm2022/lib/updates/update/update.component.mjs +0 -17
  79. package/esm2022/lib/updates/update.service.mjs +0 -58
  80. package/esm2022/lib/uploader/index.mjs +0 -6
  81. package/esm2022/lib/uploader/interfaces.mjs +0 -8
  82. package/esm2022/lib/uploader/ng-file-drop.directive.mjs +0 -81
  83. package/esm2022/lib/uploader/ng-file-select.directive.mjs +0 -51
  84. package/esm2022/lib/uploader/ngx-uploader.class.mjs +0 -308
  85. package/esm2022/lib/uploader/ngx-uploader.module.mjs +0 -17
  86. package/esm2022/lib/utils/slugify.mjs +0 -16
  87. package/esm2022/lib/utils/tab-memory.service.mjs +0 -80
  88. package/esm2022/lib/utils/template.mjs +0 -72
  89. package/esm2022/public-api.mjs +0 -56
  90. package/esm2022/solidev-data.mjs +0 -5
  91. package/solidev-data-0.4.8.tgz +0 -0
@@ -1,116 +0,0 @@
1
- import { ReplaySubject } from 'rxjs';
2
- export class ModelListSorter {
3
- /**
4
- * Create ModelListSorter instance, using defaults.
5
- * @param defaults defaults sort values, as a list of strings (+field, -field, field)
6
- */
7
- constructor(defaults = []) {
8
- this._values = [];
9
- this._output = new ReplaySubject(1);
10
- this._values = [];
11
- for (const d of defaults) {
12
- if (d.length < 1) {
13
- continue;
14
- }
15
- if (d[0] == '+') {
16
- this._values.push({ field: d.substring(1), direction: 'asc' });
17
- }
18
- else if (d[0] == '-') {
19
- this._values.push({ field: d.substring(1), direction: 'desc' });
20
- }
21
- else {
22
- this._values.push({ field: d, direction: 'asc' });
23
- }
24
- }
25
- this._updateOutput('constructor');
26
- }
27
- /**
28
- * Returns a list of "+/-field" sort strings observable.
29
- * @returns sort strings observable
30
- */
31
- get output() {
32
- return this._output.asObservable();
33
- }
34
- /**
35
- * Set sorting for `name` key, in direction `direction`.
36
- * If sorting is already set for `name` key, updates direction without changing order.
37
- * If sorting isn't set for `name` key, adds it at the end of sorting directions.
38
- *
39
- * @param name field name
40
- * @param direction sort direction
41
- * @returns model list sorter
42
- */
43
- set(name, direction) {
44
- for (const v of this._values) {
45
- if (v.field === name) {
46
- v.direction = direction;
47
- this._updateOutput();
48
- return this;
49
- }
50
- }
51
- this._values.push({ field: name, direction });
52
- this._updateOutput('set');
53
- return this;
54
- }
55
- /**
56
- * Removes `name` sorting key from current keys.
57
- *
58
- * @param name sort key to be removed
59
- * @returns model list sorter
60
- */
61
- unset(name) {
62
- for (let i = 0; i < this._values.length; i++) {
63
- if (this._values[i].field === name) {
64
- this._values.splice(i, 1);
65
- break;
66
- }
67
- }
68
- this._updateOutput('unset');
69
- return this;
70
- }
71
- /**
72
- * Get sorting status for `field` argument.
73
- * If `field` is not found, returns null.
74
- *
75
- * @param field field name
76
- * @returns ordering direction / null
77
- */
78
- get(field) {
79
- for (const v of this._values) {
80
- if (v.field === field) {
81
- return v;
82
- }
83
- }
84
- return null;
85
- }
86
- /**
87
- * Return all sorter data values.
88
- *
89
- * @returns all sorter data values.
90
- */
91
- getAll() {
92
- return this._values;
93
- }
94
- /**
95
- * Get the ordering position for `field` argument. If not found, returns -1.
96
- *
97
- * @param field field name
98
- * @returns ordering position for field
99
- */
100
- getOrder(field) {
101
- for (let i = 0; i < this._values.length; i++) {
102
- if (this._values[i].field === field) {
103
- return i + 1;
104
- }
105
- }
106
- return -1;
107
- }
108
- _updateOutput(_from = '') {
109
- let out = [];
110
- for (const v of this._values) {
111
- out.push(`${v.direction === 'asc' ? '' : '-'}${v.field}`);
112
- }
113
- this._output.next(out);
114
- }
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1zb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFhakQsTUFBTSxPQUFPLGVBQWU7SUFHMUI7OztPQUdHO0lBQ0gsWUFBWSxXQUEyQixFQUFFO1FBTnhCLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFPeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDO2lCQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxDQUFD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O1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU29ydGVyRGVmYXVsdHMgfSBmcm9tICcuLi9tb2RlbC1saXN0LnNlcnZpY2UnO1xuXG4vLyBUT0RPOiBhZGQgYW4gb3B0aW9uIHRvIGxpbWl0IHRoZSBudW1iZXIgb2Ygb3JkZXJpbmcgZmllbGRzIChlZy4gZm9yIHRyZWUgcXVlcmllcylcbmV4cG9ydCB0eXBlIFNvcnREaXJlY3Rpb24gPSAnYXNjJyB8ICdkZXNjJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNvcnREYXRhIHtcbiAgZmllbGQ6IHN0cmluZztcbiAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xufVxuXG5leHBvcnQgdHlwZSBTb3J0ZXJEYXRhID0gRmllbGRTb3J0RGF0YVtdO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0U29ydGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWVzOiBTb3J0ZXJEYXRhID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBNb2RlbExpc3RTb3J0ZXIgaW5zdGFuY2UsIHVzaW5nIGRlZmF1bHRzLlxuICAgKiBAcGFyYW0gZGVmYXVsdHMgZGVmYXVsdHMgc29ydCB2YWx1ZXMsIGFzIGEgbGlzdCBvZiBzdHJpbmdzICgrZmllbGQsIC1maWVsZCwgZmllbGQpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihkZWZhdWx0czogU29ydGVyRGVmYXVsdHMgPSBbXSkge1xuICAgIHRoaXMuX291dHB1dCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHRoaXMuX3ZhbHVlcyA9IFtdO1xuICAgIGZvciAoY29uc3QgZCBvZiBkZWZhdWx0cykge1xuICAgICAgaWYgKGQubGVuZ3RoIDwgMSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChkWzBdID09ICcrJykge1xuICAgICAgICB0aGlzLl92YWx1ZXMucHVzaCh7IGZpZWxkOiBkLnN1YnN0cmluZygxKSwgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAoZFswXSA9PSAnLScpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogZC5zdWJzdHJpbmcoMSksIGRpcmVjdGlvbjogJ2Rlc2MnIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogZCwgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCdjb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3V0cHV0OiBSZXBsYXlTdWJqZWN0PHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgXCIrLy1maWVsZFwiIHNvcnQgc3RyaW5ncyBvYnNlcnZhYmxlLlxuICAgKiBAcmV0dXJucyBzb3J0IHN0cmluZ3Mgb2JzZXJ2YWJsZVxuICAgKi9cbiAgcHVibGljIGdldCBvdXRwdXQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9vdXRwdXQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNvcnRpbmcgZm9yIGBuYW1lYCBrZXksIGluIGRpcmVjdGlvbiBgZGlyZWN0aW9uYC5cbiAgICogSWYgc29ydGluZyBpcyBhbHJlYWR5IHNldCBmb3IgYG5hbWVgIGtleSwgdXBkYXRlcyBkaXJlY3Rpb24gd2l0aG91dCBjaGFuZ2luZyBvcmRlci5cbiAgICogSWYgc29ydGluZyBpc24ndCBzZXQgZm9yIGBuYW1lYCBrZXksIGFkZHMgaXQgYXQgdGhlIGVuZCBvZiBzb3J0aW5nIGRpcmVjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIGZpZWxkIG5hbWVcbiAgICogQHBhcmFtIGRpcmVjdGlvbiBzb3J0IGRpcmVjdGlvblxuICAgKiBAcmV0dXJucyBtb2RlbCBsaXN0IHNvcnRlclxuICAgKi9cbiAgcHVibGljIHNldChuYW1lOiBzdHJpbmcsIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbik6IE1vZGVsTGlzdFNvcnRlciB7XG4gICAgZm9yIChjb25zdCB2IG9mIHRoaXMuX3ZhbHVlcykge1xuICAgICAgaWYgKHYuZmllbGQgPT09IG5hbWUpIHtcbiAgICAgICAgdi5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogbmFtZSwgZGlyZWN0aW9uIH0pO1xuICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgnc2V0Jyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBgbmFtZWAgc29ydGluZyBrZXkgZnJvbSBjdXJyZW50IGtleXMuXG4gICAqXG4gICAqIEBwYXJhbSAgbmFtZSBzb3J0IGtleSB0byBiZSByZW1vdmVkXG4gICAqIEByZXR1cm5zIG1vZGVsIGxpc3Qgc29ydGVyXG4gICAqL1xuICBwdWJsaWMgdW5zZXQobmFtZTogc3RyaW5nKTogTW9kZWxMaXN0U29ydGVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3ZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlc1tpXS5maWVsZCA9PT0gbmFtZSkge1xuICAgICAgICB0aGlzLl92YWx1ZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCd1bnNldCcpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzb3J0aW5nIHN0YXR1cyBmb3IgYGZpZWxkYCBhcmd1bWVudC5cbiAgICogSWYgYGZpZWxkYCBpcyBub3QgZm91bmQsIHJldHVybnMgbnVsbC5cbiAgICpcbiAgICogQHBhcmFtICBmaWVsZCBmaWVsZCBuYW1lXG4gICAqIEByZXR1cm5zIG9yZGVyaW5nIGRpcmVjdGlvbiAvIG51bGxcbiAgICovXG4gIHB1YmxpYyBnZXQoZmllbGQ6IHN0cmluZyk6IEZpZWxkU29ydERhdGEgfCBudWxsIHtcbiAgICBmb3IgKGNvbnN0IHYgb2YgdGhpcy5fdmFsdWVzKSB7XG4gICAgICBpZiAodi5maWVsZCA9PT0gZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIHY7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgc29ydGVyIGRhdGEgdmFsdWVzLlxuICAgKlxuICAgKiBAcmV0dXJucyBhbGwgc29ydGVyIGRhdGEgdmFsdWVzLlxuICAgKi9cbiAgcHVibGljIGdldEFsbCgpOiBTb3J0ZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3JkZXJpbmcgcG9zaXRpb24gZm9yIGBmaWVsZGAgYXJndW1lbnQuIElmIG5vdCBmb3VuZCwgcmV0dXJucyAtMS5cbiAgICpcbiAgICogQHBhcmFtICBmaWVsZCBmaWVsZCBuYW1lXG4gICAqIEByZXR1cm5zIG9yZGVyaW5nIHBvc2l0aW9uIGZvciBmaWVsZFxuICAgKi9cbiAgcHVibGljIGdldE9yZGVyKGZpZWxkOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fdmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5fdmFsdWVzW2ldLmZpZWxkID09PSBmaWVsZCkge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU91dHB1dChfZnJvbTogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICBsZXQgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdiBvZiB0aGlzLl92YWx1ZXMpIHtcbiAgICAgIG91dC5wdXNoKGAke3YuZGlyZWN0aW9uID09PSAnYXNjJyA/ICcnIDogJy0nfSR7di5maWVsZH1gKTtcbiAgICB9XG4gICAgdGhpcy5fb3V0cHV0Lm5leHQob3V0KTtcbiAgfVxufVxuIl19
@@ -1,168 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { combineLatest, NEVER, of, ReplaySubject, share, Subject, takeUntil, } from 'rxjs';
3
- import { switchMap, tap, throttleTime } from 'rxjs/operators';
4
- import { ModelListFields } from './model-list-fields/model-list-fields';
5
- import { ModelListPaginator } from './model-list-paginator/model-list-paginator';
6
- import { ModelListSorter } from './model-list-sorter/model-list-sorter';
7
- import { ModelListFilters } from './model-list-filters/model-list-filters';
8
- import { DATA_AUTH_SERVICE } from '../auth/auth-interceptor.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../auth/auth.service";
11
- export class ModelList {
12
- constructor(name, collection) {
13
- this.messages$ = new ReplaySubject(1);
14
- this.started = false;
15
- this._count = null;
16
- this.name = name;
17
- this._collection = collection;
18
- }
19
- get collection() {
20
- return this._collection;
21
- }
22
- /**
23
- * Get current results count (from last meta received).
24
- */
25
- get count() {
26
- return this._count;
27
- }
28
- get results() {
29
- if (!this._results) {
30
- this._results = this.queryset.results.pipe(
31
- // tap(() => console.log('@solidev/data: modellist result')),
32
- share(), takeUntil(this.unsubscribe || NEVER));
33
- }
34
- return this._results;
35
- }
36
- get meta() {
37
- if (!this._meta) {
38
- this._meta = this.queryset.meta.pipe(
39
- // tap(() => console.log('@solidev/data: modellist meta')),
40
- tap((m) => (this._count = m.nav.count)), share(), takeUntil(this.unsubscribe || NEVER));
41
- }
42
- return this._meta;
43
- }
44
- get loading() {
45
- if (!this._loading) {
46
- this._loading = this.queryset.loading.pipe(
47
- // tap(() => console.log('@solidev/data: modellist loading')),
48
- share(), takeUntil(this.unsubscribe || NEVER));
49
- }
50
- return this._loading;
51
- }
52
- get full() {
53
- if (!this._full) {
54
- this._full = this.queryset.full.pipe(
55
- // tap(() => console.log('@solidev/data: modellist full')),
56
- share(), takeUntil(this.unsubscribe || NEVER));
57
- }
58
- return this._full;
59
- }
60
- start(params) {
61
- let filter$;
62
- let reloadFired = false;
63
- if (params.filter && !params.filter.subscribe) {
64
- filter$ = of(params.filter);
65
- }
66
- else if (params.filter && params.filter.subscribe) {
67
- filter$ = params.filter;
68
- }
69
- else {
70
- filter$ = of({});
71
- }
72
- combineLatest([
73
- this.reload.pipe(tap((v) => (reloadFired = !!v))),
74
- this.filters.output,
75
- filter$,
76
- this.paginator.output,
77
- this.sorter.output,
78
- this.fields.output,
79
- ])
80
- .pipe(throttleTime(200), switchMap(([, filter, manualFilter, paginator, sorter, fields]) => {
81
- this.queryset
82
- .filter(filter)
83
- .filter(manualFilter || {}, true)
84
- .paginateBy(paginator.page_size)
85
- .setPage(paginator.page)
86
- .sort(...sorter)
87
- .setFields(fields);
88
- const dbSync = reloadFired;
89
- reloadFired = false;
90
- return this.queryset.get(true, dbSync);
91
- }), takeUntil(this.unsubscribe || NEVER))
92
- .subscribe({
93
- next: () => {
94
- // console.log('@solidev/data: modellist:get results', this.name);
95
- },
96
- error: (error) => {
97
- console.error('@solidev/data: error while getting model list results : ', error);
98
- },
99
- complete: () => {
100
- // console.log('@solidev/data: modellist:completed', this.name);
101
- this.started = false;
102
- },
103
- });
104
- this.reload.next();
105
- this.started = true;
106
- }
107
- }
108
- export class ModelListService {
109
- constructor(_auth) {
110
- this._auth = _auth;
111
- this._instances = new Map();
112
- this._auth.logout$.subscribe(() => this.reset());
113
- }
114
- reset() {
115
- for (const i of this._instances.values()) {
116
- if (i.unsubscribe) {
117
- console.log('Clearing ', i);
118
- i.unsubscribe.next();
119
- }
120
- }
121
- this._instances.clear();
122
- }
123
- get(name, collection, defaults) {
124
- let ml;
125
- if (!name || !this._instances.has(name) || !defaults.keep) {
126
- ml = new ModelList(name, collection);
127
- ml.queryset = collection.queryset();
128
- ml.fields = new ModelListFields(collection, defaults.fields);
129
- ml.sorter = new ModelListSorter(defaults.sorter || []);
130
- ml.paginator = new ModelListPaginator(defaults.paginator);
131
- ml.filters = new ModelListFilters(defaults.filters);
132
- if (defaults.keep) {
133
- this._instances.set(name, ml);
134
- }
135
- }
136
- else {
137
- ml = this._instances.get(name);
138
- }
139
- if (!ml.started) {
140
- if (defaults.reload) {
141
- ml.reload = defaults.reload;
142
- }
143
- else {
144
- ml.reload = new Subject();
145
- }
146
- if (defaults.unsubscribe) {
147
- ml.unsubscribe = defaults.unsubscribe;
148
- }
149
- else {
150
- ml.unsubscribe = new Subject();
151
- }
152
- ml.start(defaults);
153
- }
154
- return ml;
155
- }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ModelListService, deps: [{ token: DATA_AUTH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
157
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ModelListService, providedIn: 'root' }); }
158
- }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ModelListService, decorators: [{
160
- type: Injectable,
161
- args: [{
162
- providedIn: 'root',
163
- }]
164
- }], ctorParameters: () => [{ type: i1.AuthServiceBase, decorators: [{
165
- type: Inject,
166
- args: [DATA_AUTH_SERVICE]
167
- }] }] });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNMLGFBQWEsRUFDYixLQUFLLEVBRUwsRUFBRSxFQUNGLGFBQWEsRUFDYixLQUFLLEVBQ0wsT0FBTyxFQUNQLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQVFkLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFLM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQTBEckUsTUFBTSxPQUFPLFNBQVM7SUFZcEIsWUFBWSxJQUFZLEVBQUUsVUFBeUI7UUFINUMsY0FBUyxHQUFHLElBQUksYUFBYSxDQUFvQixDQUFDLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBYWYsV0FBTSxHQUFrQixJQUFJLENBQUM7UUFWbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUlELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUlEOztPQUVH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QkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBjb21iaW5lTGF0ZXN0LFxuICBORVZFUixcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFJlcGxheVN1YmplY3QsXG4gIHNoYXJlLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7XG4gIElRdWVyeU1ldGEsXG4gIElRdWVyeU1ldGFOYXZQYXJhbXMsXG4gIElRdWVyeU5hdixcbiAgUXVlcnlzZXQsXG59IGZyb20gJy4uL2RhdGEvZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW9kZWxMaXN0RmllbGRzIH0gZnJvbSAnLi9tb2RlbC1saXN0LWZpZWxkcy9tb2RlbC1saXN0LWZpZWxkcyc7XG5pbXBvcnQgeyBNb2RlbExpc3RQYWdpbmF0b3IgfSBmcm9tICcuL21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yJztcbmltcG9ydCB7IE1vZGVsTGlzdFNvcnRlciB9IGZyb20gJy4vbW9kZWwtbGlzdC1zb3J0ZXIvbW9kZWwtbGlzdC1zb3J0ZXInO1xuaW1wb3J0IHsgTW9kZWxMaXN0RmlsdGVycyB9IGZyb20gJy4vbW9kZWwtbGlzdC1maWx0ZXJzL21vZGVsLWxpc3QtZmlsdGVycyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vZGF0YS9kYXRhLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTW9kZWxMaXN0RmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXInO1xuaW1wb3J0IHsgSUZpZWxkSGVhZGVyTWVzc2FnZSB9IGZyb20gJy4vbW9kZWwtbGlzdC1maWVsZHMvbW9kZWwtbGlzdC1maWVsZC1oZWFkZXIvbWVzc2FnZXMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgREFUQV9BVVRIX1NFUlZJQ0UgfSBmcm9tICcuLi9hdXRoL2F1dGgtaW50ZXJjZXB0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWx0ZXJHcm91cCB9IGZyb20gJy4vbW9kZWwtbGlzdC1maWx0ZXJzL21vZGVsLWxpc3QtZmlsdGVyLWdyb3VwJztcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21GaWVsZCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcHJpb3JpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRGVmYXVsdHMge1xuICBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHR5cGUgU29ydGVyRGVmYXVsdHMgPSBzdHJpbmdbXTtcblxuLyoqXG4gKiBGaWVsZHMgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZHNQYXJhbXMge1xuICAvKiogQWxsb3dlZCBmaWVsZHMsIGFsbCBtb2RlbCBmaWVsZHMgYXJlIGFsbG93ZWQgaWYgZW1wdHkgKi9cbiAgYWxsb3dlZD86IHN0cmluZ1tdO1xuICAvKiogRGVmYXVsdCBlbmFibGVkIGZpZWxkcyAqL1xuICBkZWZhdWx0cz86IHN0cmluZ1tdO1xuICAvKiogRXhjbHVkZWQgZmllbGRzICovXG4gIGV4Y2x1ZGVkPzogc3RyaW5nW107XG4gIC8qKiBDdXN0b20gZmllbGRzICovXG4gIGN1c3RvbT86IEN1c3RvbUZpZWxkW107XG59XG5cbi8qKlxuICogRmlsdGVycyBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlcnNQYXJhbXMge1xuICAvKiogQWxsb3dlZCBmaWx0ZXIgbmFtZXMgKi9cbiAgYWxsb3dlZD86IHN0cmluZ1tdO1xuICAvKiogRGVmYXVsdCBhY3RpdmUgZmlsdGVyIG5hbWVzICovXG4gIGRlZmF1bHRzPzogc3RyaW5nW107XG4gIC8qKiBFeGNsdWRlZCBmaWx0ZXIgbmFtZXMgKi9cbiAgZXhjbHVkZWQ/OiBzdHJpbmdbXTtcbiAgLyoqIEZpbHRlcnMgZGVmaW5pdGlvbnMgKi9cbiAgZmlsdGVycz86IChNb2RlbExpc3RGaWx0ZXIgfCBNb2RlbExpc3RGaWx0ZXJHcm91cClbXTtcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblBhcmFtcyA9IElRdWVyeU1ldGFOYXZQYXJhbXM7XG5cbmV4cG9ydCB0eXBlIElNb2RlbExpc3RNZXNzYWdlID0gSUZpZWxkSGVhZGVyTWVzc2FnZTtcblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbExpc3RQYXJhbXMge1xuICBmaWVsZHM/OiBGaWVsZHNQYXJhbXM7XG4gIGZpbHRlcnM/OiBGaWx0ZXJzUGFyYW1zO1xuICBmaWx0ZXI/OiBGaWx0ZXJEZWZhdWx0cyB8IE9ic2VydmFibGU8RmlsdGVyRGVmYXVsdHM+O1xuICBzb3J0ZXI/OiBTb3J0ZXJEZWZhdWx0cztcbiAgcGFnaW5hdG9yPzogSVF1ZXJ5TmF2O1xuICBrZWVwPzogYm9vbGVhbjtcbiAgcmVsb2FkPzogU3ViamVjdDx2b2lkIHwgYm9vbGVhbj47XG4gIHVuc3Vic2NyaWJlPzogU3ViamVjdDx2b2lkPjtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdDxUIGV4dGVuZHMgRGF0YU1vZGVsPiB7XG4gIHB1YmxpYyBuYW1lITogc3RyaW5nO1xuICBwdWJsaWMgZmlsdGVycyE6IE1vZGVsTGlzdEZpbHRlcnM7XG4gIHB1YmxpYyBzb3J0ZXIhOiBNb2RlbExpc3RTb3J0ZXI7XG4gIHB1YmxpYyBwYWdpbmF0b3IhOiBNb2RlbExpc3RQYWdpbmF0b3I7XG4gIHB1YmxpYyBxdWVyeXNldCE6IFF1ZXJ5c2V0PFQ+O1xuICBwdWJsaWMgZmllbGRzITogTW9kZWxMaXN0RmllbGRzPFQ+O1xuICBwdWJsaWMgcmVsb2FkITogU3ViamVjdDx2b2lkIHwgYm9vbGVhbj47XG4gIHB1YmxpYyB1bnN1YnNjcmliZSE6IFN1YmplY3Q8dm9pZD47XG4gIHB1YmxpYyBtZXNzYWdlcyQgPSBuZXcgUmVwbGF5U3ViamVjdDxJTW9kZWxMaXN0TWVzc2FnZT4oMSk7XG4gIHB1YmxpYyBzdGFydGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFQ+KSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLl9jb2xsZWN0aW9uID0gY29sbGVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbGxlY3Rpb24hOiBDb2xsZWN0aW9uPFQ+O1xuXG4gIHB1YmxpYyBnZXQgY29sbGVjdGlvbigpOiBDb2xsZWN0aW9uPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sbGVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX2NvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogR2V0IGN1cnJlbnQgcmVzdWx0cyBjb3VudCAoZnJvbSBsYXN0IG1ldGEgcmVjZWl2ZWQpLlxuICAgKi9cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY291bnQ7XG4gIH1cblxuICBwcml2YXRlIF9yZXN1bHRzPzogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIHB1YmxpYyBnZXQgcmVzdWx0cygpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGlmICghdGhpcy5fcmVzdWx0cykge1xuICAgICAgdGhpcy5fcmVzdWx0cyA9IHRoaXMucXVlcnlzZXQucmVzdWx0cy5waXBlKFxuICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IG1vZGVsbGlzdCByZXN1bHQnKSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlIHx8IE5FVkVSKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZXN1bHRzO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWV0YT86IE9ic2VydmFibGU8SVF1ZXJ5TWV0YT47XG5cbiAgcHVibGljIGdldCBtZXRhKCk6IE9ic2VydmFibGU8SVF1ZXJ5TWV0YT4ge1xuICAgIGlmICghdGhpcy5fbWV0YSkge1xuICAgICAgdGhpcy5fbWV0YSA9IHRoaXMucXVlcnlzZXQubWV0YS5waXBlKFxuICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IG1vZGVsbGlzdCBtZXRhJykpLFxuICAgICAgICB0YXAoKG0pID0+ICh0aGlzLl9jb3VudCA9IG0ubmF2LmNvdW50KSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlIHx8IE5FVkVSKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tZXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGluZz86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHVibGljIGdldCBsb2FkaW5nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5fbG9hZGluZykge1xuICAgICAgdGhpcy5fbG9hZGluZyA9IHRoaXMucXVlcnlzZXQubG9hZGluZy5waXBlKFxuICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IG1vZGVsbGlzdCBsb2FkaW5nJykpLFxuICAgICAgICBzaGFyZSgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSB8fCBORVZFUiksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuXG4gIHByaXZhdGUgX2Z1bGw/OiBPYnNlcnZhYmxlPFtUW10sIGJvb2xlYW4sIElRdWVyeU1ldGFdPjtcblxuICBwdWJsaWMgZ2V0IGZ1bGwoKTogT2JzZXJ2YWJsZTxbVFtdLCBib29sZWFuLCBJUXVlcnlNZXRhXT4ge1xuICAgIGlmICghdGhpcy5fZnVsbCkge1xuICAgICAgdGhpcy5fZnVsbCA9IHRoaXMucXVlcnlzZXQuZnVsbC5waXBlKFxuICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IG1vZGVsbGlzdCBmdWxsJykpLFxuICAgICAgICBzaGFyZSgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSB8fCBORVZFUiksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydChwYXJhbXM6IE1vZGVsTGlzdFBhcmFtcykge1xuICAgIGxldCBmaWx0ZXIkOiBPYnNlcnZhYmxlPEZpbHRlckRlZmF1bHRzPjtcbiAgICBsZXQgcmVsb2FkRmlyZWQgPSBmYWxzZTtcbiAgICBpZiAocGFyYW1zLmZpbHRlciAmJiAhcGFyYW1zLmZpbHRlci5zdWJzY3JpYmUpIHtcbiAgICAgIGZpbHRlciQgPSBvZihwYXJhbXMuZmlsdGVyIGFzIEZpbHRlckRlZmF1bHRzKTtcbiAgICB9IGVsc2UgaWYgKHBhcmFtcy5maWx0ZXIgJiYgcGFyYW1zLmZpbHRlci5zdWJzY3JpYmUpIHtcbiAgICAgIGZpbHRlciQgPSBwYXJhbXMuZmlsdGVyIGFzIE9ic2VydmFibGU8RmlsdGVyRGVmYXVsdHM+O1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXIkID0gb2Yoe30pO1xuICAgIH1cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucmVsb2FkLnBpcGUodGFwKCh2KSA9PiAocmVsb2FkRmlyZWQgPSAhIXYpKSksXG4gICAgICB0aGlzLmZpbHRlcnMub3V0cHV0LFxuICAgICAgZmlsdGVyJCxcbiAgICAgIHRoaXMucGFnaW5hdG9yLm91dHB1dCxcbiAgICAgIHRoaXMuc29ydGVyLm91dHB1dCxcbiAgICAgIHRoaXMuZmllbGRzLm91dHB1dCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZSgyMDApLFxuICAgICAgICBzd2l0Y2hNYXAoKFssIGZpbHRlciwgbWFudWFsRmlsdGVyLCBwYWdpbmF0b3IsIHNvcnRlciwgZmllbGRzXSkgPT4ge1xuICAgICAgICAgIHRoaXMucXVlcnlzZXRcbiAgICAgICAgICAgIC5maWx0ZXIoZmlsdGVyKVxuICAgICAgICAgICAgLmZpbHRlcihtYW51YWxGaWx0ZXIgfHwge30sIHRydWUpXG4gICAgICAgICAgICAucGFnaW5hdGVCeShwYWdpbmF0b3IucGFnZV9zaXplKVxuICAgICAgICAgICAgLnNldFBhZ2UocGFnaW5hdG9yLnBhZ2UpXG4gICAgICAgICAgICAuc29ydCguLi5zb3J0ZXIpXG4gICAgICAgICAgICAuc2V0RmllbGRzKGZpZWxkcyk7XG4gICAgICAgICAgY29uc3QgZGJTeW5jID0gcmVsb2FkRmlyZWQ7XG4gICAgICAgICAgcmVsb2FkRmlyZWQgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5xdWVyeXNldC5nZXQodHJ1ZSwgZGJTeW5jKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlIHx8IE5FVkVSKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IG1vZGVsbGlzdDpnZXQgcmVzdWx0cycsIHRoaXMubmFtZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgJ0Bzb2xpZGV2L2RhdGE6IGVycm9yIHdoaWxlIGdldHRpbmcgbW9kZWwgbGlzdCByZXN1bHRzIDogJyxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IG1vZGVsbGlzdDpjb21wbGV0ZWQnLCB0aGlzLm5hbWUpO1xuICAgICAgICAgIHRoaXMuc3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgdGhpcy5yZWxvYWQubmV4dCgpO1xuICAgIHRoaXMuc3RhcnRlZCA9IHRydWU7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdFNlcnZpY2Uge1xuICBwcml2YXRlIF9pbnN0YW5jZXM6IE1hcDxzdHJpbmcsIE1vZGVsTGlzdDxhbnk+PiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERBVEFfQVVUSF9TRVJWSUNFKSBwcml2YXRlIF9hdXRoOiBBdXRoU2VydmljZUJhc2U8YW55LCBhbnksIGFueT4sXG4gICkge1xuICAgIHRoaXMuX2F1dGgubG9nb3V0JC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldCgpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5faW5zdGFuY2VzLnZhbHVlcygpKSB7XG4gICAgICBpZiAoaS51bnN1YnNjcmliZSkge1xuICAgICAgICBjb25zb2xlLmxvZygnQ2xlYXJpbmcgJywgaSk7XG4gICAgICAgIGkudW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9pbnN0YW5jZXMuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQ8VCBleHRlbmRzIERhdGFNb2RlbD4oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sXG4gICAgZGVmYXVsdHM6IE1vZGVsTGlzdFBhcmFtcyxcbiAgKSB7XG4gICAgbGV0IG1sOiBNb2RlbExpc3Q8VD47XG5cbiAgICBpZiAoIW5hbWUgfHwgIXRoaXMuX2luc3RhbmNlcy5oYXMobmFtZSkgfHwgIWRlZmF1bHRzLmtlZXApIHtcbiAgICAgIG1sID0gbmV3IE1vZGVsTGlzdDxUPihuYW1lLCBjb2xsZWN0aW9uKTtcbiAgICAgIG1sLnF1ZXJ5c2V0ID0gY29sbGVjdGlvbi5xdWVyeXNldCgpO1xuICAgICAgbWwuZmllbGRzID0gbmV3IE1vZGVsTGlzdEZpZWxkcyhjb2xsZWN0aW9uLCBkZWZhdWx0cy5maWVsZHMpO1xuICAgICAgbWwuc29ydGVyID0gbmV3IE1vZGVsTGlzdFNvcnRlcihkZWZhdWx0cy5zb3J0ZXIgfHwgW10pO1xuICAgICAgbWwucGFnaW5hdG9yID0gbmV3IE1vZGVsTGlzdFBhZ2luYXRvcihkZWZhdWx0cy5wYWdpbmF0b3IpO1xuICAgICAgbWwuZmlsdGVycyA9IG5ldyBNb2RlbExpc3RGaWx0ZXJzKGRlZmF1bHRzLmZpbHRlcnMpO1xuICAgICAgaWYgKGRlZmF1bHRzLmtlZXApIHtcbiAgICAgICAgdGhpcy5faW5zdGFuY2VzLnNldChuYW1lLCBtbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1sID0gdGhpcy5faW5zdGFuY2VzLmdldChuYW1lKSE7XG4gICAgfVxuICAgIGlmICghbWwuc3RhcnRlZCkge1xuICAgICAgaWYgKGRlZmF1bHRzLnJlbG9hZCkge1xuICAgICAgICBtbC5yZWxvYWQgPSBkZWZhdWx0cy5yZWxvYWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtbC5yZWxvYWQgPSBuZXcgU3ViamVjdDx2b2lkIHwgYm9vbGVhbj4oKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWZhdWx0cy51bnN1YnNjcmliZSkge1xuICAgICAgICBtbC51bnN1YnNjcmliZSA9IGRlZmF1bHRzLnVuc3Vic2NyaWJlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWwudW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgfVxuICAgICAgbWwuc3RhcnQoZGVmYXVsdHMpO1xuICAgIH1cbiAgICByZXR1cm4gbWw7XG4gIH1cbn1cbiJdfQ==
@@ -1,138 +0,0 @@
1
- import { Component, DestroyRef, inject, Input, } from '@angular/core';
2
- import { NavigationEnd, RouterModule, } from '@angular/router';
3
- import { filter } from 'rxjs/operators';
4
- import { CommonModule } from '@angular/common';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/common";
9
- /**
10
- * Use data from route config to create a breadcrumb for current route.
11
- *
12
- * Route config data is :
13
- * - title : route fragment title or lodash template to build title
14
- * (provided arguments for template processing : route (current segment route snapshot)
15
- * and data (input argument)
16
- * - icon: icon classes. Example fa fa-home for home & font awesome
17
- */
18
- export class BreadcrumbComponent {
19
- constructor(router, route) {
20
- this.router = router;
21
- this.route = route;
22
- /**
23
- * Do we display icons ?
24
- */
25
- this.icons = true;
26
- this.tree = [];
27
- this.destroy$ = inject(DestroyRef);
28
- }
29
- ngOnInit() {
30
- this.getRouteTree(this.router.routerState);
31
- this.router.events
32
- .pipe(takeUntilDestroyed(this.destroy$), filter((event) => event instanceof NavigationEnd))
33
- .subscribe(() => {
34
- this.getRouteTree(this.router.routerState);
35
- });
36
- }
37
- ngOnChanges(changes) {
38
- this.getRouteTree(this.router.routerState);
39
- }
40
- getRouteTree(current) {
41
- const tree = [];
42
- const url = [];
43
- let p = current.root.snapshot;
44
- while (p != null) {
45
- let rdata = {
46
- tree: false,
47
- title: () => 'xxxx',
48
- icon: '',
49
- skip: true,
50
- };
51
- const data = p.data;
52
- // Get route data
53
- if (p.routeConfig && p.routeConfig.data) {
54
- rdata = p.routeConfig.data;
55
- }
56
- if (rdata.tree) {
57
- // Get icon
58
- for (const u of p.url) {
59
- url.push(u.path);
60
- let rtd = {
61
- icon: this.getIcon(rdata, data),
62
- title: this.getTitle(rdata, data, u),
63
- path: url.join('/'),
64
- current: false,
65
- };
66
- if (rtd.path.length > 0 && rtd.path[0] !== '/') {
67
- rtd.path = '/' + rtd.path;
68
- }
69
- if (!rdata.skip) {
70
- tree.push(rtd);
71
- }
72
- }
73
- }
74
- else {
75
- url.push(p.url.join('/'));
76
- let rtd = {
77
- icon: this.getIcon(rdata, data),
78
- title: this.getTitle(rdata, data),
79
- path: url.join('/'),
80
- current: false,
81
- };
82
- if (rtd.path.length > 0 && rtd.path[0] !== '/') {
83
- rtd.path = '/' + rtd.path;
84
- }
85
- if (!rdata.skip) {
86
- tree.push(rtd);
87
- }
88
- }
89
- p = p.firstChild;
90
- }
91
- if (tree.length > 0) {
92
- tree[tree.length - 1].current = true;
93
- }
94
- this.tree = tree;
95
- }
96
- getTitle(rdata, data, u) {
97
- if (rdata['title']) {
98
- if (typeof rdata['title'] === 'function') {
99
- const tpl = rdata['title'];
100
- try {
101
- if (u) {
102
- return tpl(data, u.path);
103
- }
104
- else {
105
- return tpl(data);
106
- }
107
- }
108
- catch (e) {
109
- console.warn('Unable to process breadcrumb function', e);
110
- if (data.title != null) {
111
- return 'xx';
112
- }
113
- }
114
- }
115
- else {
116
- return rdata['title'];
117
- }
118
- }
119
- return 'xxx';
120
- }
121
- getIcon(rdata, data) {
122
- if (data.icon) {
123
- return data.icon;
124
- }
125
- return '';
126
- }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: BreadcrumbComponent, isStandalone: true, selector: "data-breadcrumb", inputs: { data: "data", icons: "icons" }, usesOnChanges: true, ngImport: i0, template: "\n<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let p of tree\">\n <li class=\"breadcrumb-item\" *ngIf=\"!p.current\"><a class=\"breadcrumb-item\" [routerLink]=\"p.path\">\n <ng-container *ngIf=\"icons &amp;&amp; p.icon\"><i class=\"me-2\" [ngClass]=\"p.icon\"></i>{{p.title}}</ng-container>\n <ng-container *ngIf=\"!(icons &amp;&amp; p.icon)\">{{p.title}}</ng-container></a></li>\n <li class=\"breadcrumb-item active\" aria-current=\"page\" *ngIf=\"p.current\">\n <ng-container *ngIf=\"icons &amp;&amp; p.icon\"><i class=\"me-1\" [ngClass]=\"p.icon\"></i>{{p.title}}</ng-container>\n <ng-container *ngIf=\"!(icons &amp;&amp; p.icon)\">{{p.title}}</ng-container>\n </li>\n </ng-container>\n </ol>\n</nav>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
129
- }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BreadcrumbComponent, decorators: [{
131
- type: Component,
132
- args: [{ selector: 'data-breadcrumb', standalone: true, imports: [CommonModule, RouterModule], template: "\n<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let p of tree\">\n <li class=\"breadcrumb-item\" *ngIf=\"!p.current\"><a class=\"breadcrumb-item\" [routerLink]=\"p.path\">\n <ng-container *ngIf=\"icons &amp;&amp; p.icon\"><i class=\"me-2\" [ngClass]=\"p.icon\"></i>{{p.title}}</ng-container>\n <ng-container *ngIf=\"!(icons &amp;&amp; p.icon)\">{{p.title}}</ng-container></a></li>\n <li class=\"breadcrumb-item active\" aria-current=\"page\" *ngIf=\"p.current\">\n <ng-container *ngIf=\"icons &amp;&amp; p.icon\"><i class=\"me-1\" [ngClass]=\"p.icon\"></i>{{p.title}}</ng-container>\n <ng-container *ngIf=\"!(icons &amp;&amp; p.icon)\">{{p.title}}</ng-container>\n </li>\n </ng-container>\n </ol>\n</nav>" }]
133
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { data: [{
134
- type: Input
135
- }], icons: [{
136
- type: Input
137
- }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvcm91dGluZy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL3JvdXRpbmcvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFFYixZQUFZLEdBR2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBU2hFOzs7Ozs7OztHQVFHO0FBUUgsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNTLE1BQWMsRUFDZCxLQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFUOUI7O1dBRUc7UUFDYSxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFNBQUksR0FBb0IsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFLbkMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2YsSUFBSSxDQUNILGtCQUFrQixDQUFDLElBQUksQ0FBQyxR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QUssSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDdkIsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sT0FBTyxDQUNaLEtBQStCLEVBQy9CLElBQXFCO1FBRXJCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBaElVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDBJQzlDaEMsZ3lCQWFNLHlERCtCTSxZQUFZLDZWQUFFLFlBQVk7OzJGQUV6QixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQzt3R0FNckIsSUFBSTtzQkFBbkIsS0FBSztnQkFJVSxLQUFLO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgUm91dGVyLFxuICBSb3V0ZXJNb2R1bGUsXG4gIFJvdXRlclN0YXRlLFxuICBVcmxTZWdtZW50LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJhc2VSb3V0ZVBhcmFtcywgVHBsRm4gfSBmcm9tICcuLi9yb3V0aW5nJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGF0aFRyZWVJdGVtIHtcbiAgcGF0aDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGN1cnJlbnQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXNlIGRhdGEgZnJvbSByb3V0ZSBjb25maWcgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBmb3IgY3VycmVudCByb3V0ZS5cbiAqXG4gKiBSb3V0ZSBjb25maWcgZGF0YSBpcyA6XG4gKiAtIHRpdGxlIDogcm91dGUgZnJhZ21lbnQgdGl0bGUgb3IgbG9kYXNoIHRlbXBsYXRlIHRvIGJ1aWxkIHRpdGxlXG4gKiAgIChwcm92aWRlZCBhcmd1bWVudHMgZm9yIHRlbXBsYXRlIHByb2Nlc3NpbmcgOiByb3V0ZSAoY3VycmVudCBzZWdtZW50IHJvdXRlIHNuYXBzaG90KVxuICogICBhbmQgZGF0YSAoaW5wdXQgYXJndW1lbnQpXG4gKiAtIGljb246IGljb24gY2xhc3Nlcy4gRXhhbXBsZSBmYSBmYS1ob21lIGZvciBob21lICYgZm9udCBhd2Vzb21lXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGRhdGEgdG8gYmUgdXNlZCBpbiB0aXRsZVRlbXBsYXRlXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogYW55O1xuICAvKipcbiAgICogRG8gd2UgZGlzcGxheSBpY29ucyA/XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbnMgPSB0cnVlO1xuICBwdWJsaWMgdHJlZTogSVBhdGhUcmVlSXRlbVtdID0gW107XG4gIHByaXZhdGUgZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldFJvdXRlVHJlZSh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZSk7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Um91dGVUcmVlKHRoaXMucm91dGVyLnJvdXRlclN0YXRlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLmdldFJvdXRlVHJlZSh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Um91dGVUcmVlKGN1cnJlbnQ6IFJvdXRlclN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZTogSVBhdGhUcmVlSXRlbVtdID0gW107XG4gICAgY29uc3QgdXJsOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBwOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IGN1cnJlbnQucm9vdC5zbmFwc2hvdDtcblxuICAgIHdoaWxlIChwICE9IG51bGwpIHtcbiAgICAgIGxldCByZGF0YTogUGFydGlhbDxCYXNlUm91dGVQYXJhbXM+ID0ge1xuICAgICAgICB0cmVlOiBmYWxzZSxcbiAgICAgICAgdGl0bGU6ICgpID0+ICd4eHh4JyxcbiAgICAgICAgaWNvbjogJycsXG4gICAgICAgIHNraXA6IHRydWUsXG4gICAgICB9O1xuICAgICAgY29uc3QgZGF0YSA9IHAuZGF0YSBhcyBCYXNlUm91dGVQYXJhbXM7XG5cbiAgICAgIC8vIEdldCByb3V0ZSBkYXRhXG4gICAgICBpZiAocC5yb3V0ZUNvbmZpZyAmJiBwLnJvdXRlQ29uZmlnLmRhdGEpIHtcbiAgICAgICAgcmRhdGEgPSBwLnJvdXRlQ29uZmlnLmRhdGEgYXMgQmFzZVJvdXRlUGFyYW1zO1xuICAgICAgfVxuXG4gICAgICBpZiAocmRhdGEudHJlZSkge1xuICAgICAgICAvLyBHZXQgaWNvblxuICAgICAgICBmb3IgKGNvbnN0IHUgb2YgcC51cmwpIHtcbiAgICAgICAgICB1cmwucHVzaCh1LnBhdGgpO1xuICAgICAgICAgIGxldCBydGQ6IElQYXRoVHJlZUl0ZW0gPSB7XG4gICAgICAgICAgICBpY29uOiB0aGlzLmdldEljb24ocmRhdGEsIGRhdGEpLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMuZ2V0VGl0bGUocmRhdGEsIGRhdGEsIHUpLFxuICAgICAgICAgICAgcGF0aDogdXJsLmpvaW4oJy8nKSxcbiAgICAgICAgICAgIGN1cnJlbnQ6IGZhbHNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKHJ0ZC5wYXRoLmxlbmd0aCA+IDAgJiYgcnRkLnBhdGhbMF0gIT09ICcvJykge1xuICAgICAgICAgICAgcnRkLnBhdGggPSAnLycgKyBydGQucGF0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFyZGF0YS5za2lwKSB7XG4gICAgICAgICAgICB0cmVlLnB1c2gocnRkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybC5wdXNoKHAudXJsLmpvaW4oJy8nKSk7XG4gICAgICAgIGxldCBydGQ6IElQYXRoVHJlZUl0ZW0gPSB7XG4gICAgICAgICAgaWNvbjogdGhpcy5nZXRJY29uKHJkYXRhLCBkYXRhKSxcbiAgICAgICAgICB0aXRsZTogdGhpcy5nZXRUaXRsZShyZGF0YSwgZGF0YSksXG4gICAgICAgICAgcGF0aDogdXJsLmpvaW4oJy8nKSxcbiAgICAgICAgICBjdXJyZW50OiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHJ0ZC5wYXRoLmxlbmd0aCA+IDAgJiYgcnRkLnBhdGhbMF0gIT09ICcvJykge1xuICAgICAgICAgIHJ0ZC5wYXRoID0gJy8nICsgcnRkLnBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZGF0YS5za2lwKSB7XG4gICAgICAgICAgdHJlZS5wdXNoKHJ0ZCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCA9IHAuZmlyc3RDaGlsZDtcbiAgICB9XG4gICAgaWYgKHRyZWUubGVuZ3RoID4gMCkge1xuICAgICAgdHJlZVt0cmVlLmxlbmd0aCAtIDFdLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnRyZWUgPSB0cmVlO1xuICB9XG5cbiAgcHVibGljIGdldFRpdGxlKFxuICAgIHJkYXRhOiBQYXJ0aWFsPEJhc2VSb3V0ZVBhcmFtcz4sXG4gICAgZGF0YTogQmFzZVJvdXRlUGFyYW1zLFxuICAgIHU/OiBVcmxTZWdtZW50LFxuICApOiBzdHJpbmcge1xuICAgIGlmIChyZGF0YVsndGl0bGUnXSkge1xuICAgICAgaWYgKHR5cGVvZiByZGF0YVsndGl0bGUnXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCB0cGw6IFRwbEZuPGFueT4gPSByZGF0YVsndGl0bGUnXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAodSkge1xuICAgICAgICAgICAgcmV0dXJuIHRwbChkYXRhLCB1LnBhdGgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHBsKGRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignVW5hYmxlIHRvIHByb2Nlc3MgYnJlYWRjcnVtYiBmdW5jdGlvbicsIGUpO1xuICAgICAgICAgIGlmIChkYXRhLnRpdGxlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAneHgnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJkYXRhWyd0aXRsZSddO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJ3h4eCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbihcbiAgICByZGF0YTogUGFydGlhbDxCYXNlUm91dGVQYXJhbXM+LFxuICAgIGRhdGE6IEJhc2VSb3V0ZVBhcmFtcyxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoZGF0YS5pY29uKSB7XG4gICAgICByZXR1cm4gZGF0YS5pY29uO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsIlxuPG5hdiBhcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiPlxuICA8b2wgY2xhc3M9XCJicmVhZGNydW1iXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcCBvZiB0cmVlXCI+XG4gICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIiAqbmdJZj1cIiFwLmN1cnJlbnRcIj48YSBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiIFtyb3V0ZXJMaW5rXT1cInAucGF0aFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29ucyAmYW1wOyZhbXA7IHAuaWNvblwiPjxpIGNsYXNzPVwibWUtMlwiIFtuZ0NsYXNzXT1cInAuaWNvblwiPjwvaT57e3AudGl0bGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGljb25zICZhbXA7JmFtcDsgcC5pY29uKVwiPnt7cC50aXRsZX19PC9uZy1jb250YWluZXI+PC9hPjwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gYWN0aXZlXCIgYXJpYS1jdXJyZW50PVwicGFnZVwiICpuZ0lmPVwicC5jdXJyZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29ucyAmYW1wOyZhbXA7IHAuaWNvblwiPjxpIGNsYXNzPVwibWUtMVwiIFtuZ0NsYXNzXT1cInAuaWNvblwiPjwvaT57e3AudGl0bGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShpY29ucyAmYW1wOyZhbXA7IHAuaWNvbilcIj57e3AudGl0bGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9vbD5cbjwvbmF2PiJdfQ==
@@ -1,57 +0,0 @@
1
- export function RData(value) {
2
- return value;
3
- }
4
- export class Link {
5
- constructor(config, context, router) {
6
- this._cargs = {};
7
- this._params = [];
8
- this._params = config.params || [];
9
- this._route = config.route;
10
- this._router = router;
11
- this._name = config.name;
12
- if (context) {
13
- this.context(context);
14
- }
15
- }
16
- get name() {
17
- return this._name;
18
- }
19
- context(ctx) {
20
- for (const n of this._params) {
21
- if (ctx && ctx[n]) {
22
- this._cargs[n] = ctx[n];
23
- }
24
- else {
25
- this._cargs[n] = null;
26
- }
27
- }
28
- }
29
- route(params) {
30
- const rargs = [];
31
- for (const n of this._params) {
32
- if (params && params[n] !== undefined && params[n] !== null) {
33
- rargs.push(params[n]);
34
- }
35
- else if (this._cargs[n] !== undefined && this._cargs[n] !== null) {
36
- rargs.push(this._cargs[n]);
37
- }
38
- else {
39
- console.error('Missing route parameter', n);
40
- return [];
41
- }
42
- }
43
- // SEE: Check for undefined in rargs
44
- return this._route(...rargs);
45
- }
46
- async navigate(params, router) {
47
- if (router) {
48
- return router.navigate(this.route(params));
49
- }
50
- if (this._router) {
51
- return this._router.navigate(this.route(params));
52
- }
53
- console.error('Router not provided, no navigation');
54
- return false;
55
- }
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9yb3V0aW5nL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkNBLE1BQU0sVUFBVSxLQUFLLENBQTRCLEtBQVE7SUFDdkQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBZ0JELE1BQU0sT0FBTyxJQUFJO0lBTWYsWUFBWSxNQUF1QixFQUFFLE9BQVksRUFBRSxNQUFlO1FBTDFELFdBQU0sR0FBNkIsRUFBRSxDQUFDO1FBQ3RDLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFLN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBSUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxPQUFPLENBQUMsR0FBUTtRQUNyQixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUE4QjtRQUN6QyxNQUFNLEtBQUssR0FBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzVELEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ25FLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7UUFDSCxDQUFDO1FBQ0Qsb0NBQW9DO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUSxDQUNuQixNQUErQixFQUMvQixNQUFlO1FBRWYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDcEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuLyoqXG4gKiBUZW1wbGF0ZSBmdW5jdGlvbiB0eXBlLlxuICogVXNlZCBmb3IgcGFnZSB0aXRsZSBvciBvdGhlciBkYXRhIHRvIHN0cmluZyBvcGVyYXRpb25zLlxuICpcbiAqIEBwYXJhbSBkYXRhOiBvYmplY3RcbiAqIEBwYXJhbSBwYXRoOiBvcHRpb25hbCBwYXRoIChzZWU6IHVzYWdlKVxuICovXG5leHBvcnQgdHlwZSBUcGxGbjxUPiA9IChkYXRhOiBULCBwYXRoPzogc3RyaW5nKSA9PiBzdHJpbmc7XG5cbi8qKlxuICogQmFzZSByb3V0ZSBwYXJhbWV0ZXJzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlUm91dGVQYXJhbXMge1xuICAvKiogU2tpcCByb3V0ZSBpbiBicmVhZGNydW1icyAqL1xuICBza2lwPzogYm9vbGVhbjtcbiAgLyoqIFJvdXRlIHRpdGxlIG9yIHRpdGxlIHRlbXBsYXRlICovXG4gIHRpdGxlPzogc3RyaW5nIHwgVHBsRm48YW55PjtcbiAgLyoqIFJvdXRlIGljb24gc3RyaW5nICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKiBSb3V0ZSBjb25maWcgaXRlbSAqL1xuICByb3V0ZTogUm91dGVDb25maWdJdGVtO1xuICAvKiogVGhpcyByb3V0ZSBpcyBhIHRyZWUgcm91dGUgKi9cbiAgdHJlZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUm91dGUgZnVuY3Rpb24gdHlwZS5cbiAqIFRha2VzIHBhcmFtZXRlcnMsIHJldHVybiBhIHJvdXRlLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZUZuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiAoc3RyaW5nIHwgbnVtYmVyKVtdO1xuXG4vKipcbiAqIFJvdXRlIGNvbmZpZyBpdGVtLlxuICogU3RvcmVzIHJvdXRlIG5hbWVkIHBhcmFtZXRlcnMsIHJvdXRlIGZ1bmN0aW9uIGFuZCByb3V0ZSBuYW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlQ29uZmlnSXRlbSB7XG4gIHBhcmFtczogc3RyaW5nW107XG4gIHJvdXRlOiBSb3V0ZUZuO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSRGF0YTxUIGV4dGVuZHMgQmFzZVJvdXRlUGFyYW1zPih2YWx1ZTogVCkge1xuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlc0NvbmZpZzxUIGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgcmVhZG9ubHkgW1Byb3BlcnR5IGluIFRdOiBSb3V0ZUNvbmZpZ0l0ZW07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmljdFJvdXRlcyBleHRlbmRzIFJvdXRlIHtcbiAgZGF0YTogQmFzZVJvdXRlUGFyYW1zO1xufVxuXG5leHBvcnQgdHlwZSBSb3V0ZXNEZWZpbml0aW9uID0gU3RyaWN0Um91dGVzW107XG5cbmludGVyZmFjZSBSb3V0ZUFyZzxUPiB7XG4gIFtpbmRleDogc3RyaW5nXTogVDtcbn1cblxuZXhwb3J0IGNsYXNzIExpbms8VD4ge1xuICBwcml2YXRlIF9jYXJnczogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XG4gIHByaXZhdGUgX3BhcmFtczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfcm91dGU6IFJvdXRlRm47XG4gIHByaXZhdGUgX3JvdXRlcj86IFJvdXRlcjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFJvdXRlQ29uZmlnSXRlbSwgY29udGV4dDogYW55LCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICB0aGlzLl9wYXJhbXMgPSBjb25maWcucGFyYW1zIHx8IFtdO1xuICAgIHRoaXMuX3JvdXRlID0gY29uZmlnLnJvdXRlO1xuICAgIHRoaXMuX3JvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgaWYgKGNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dChjb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9uYW1lITogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG5cbiAgcHVibGljIGNvbnRleHQoY3R4OiBhbnkpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG4gb2YgdGhpcy5fcGFyYW1zKSB7XG4gICAgICBpZiAoY3R4ICYmIGN0eFtuXSkge1xuICAgICAgICB0aGlzLl9jYXJnc1tuXSA9IGN0eFtuXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2NhcmdzW25dID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcm91dGUocGFyYW1zPzogUmVxdWlyZWQ8Um91dGVBcmc8VD4+KTogKHN0cmluZyB8IG51bWJlcilbXSB7XG4gICAgY29uc3QgcmFyZ3M6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCBuIG9mIHRoaXMuX3BhcmFtcykge1xuICAgICAgaWYgKHBhcmFtcyAmJiBwYXJhbXNbbl0gIT09IHVuZGVmaW5lZCAmJiBwYXJhbXNbbl0gIT09IG51bGwpIHtcbiAgICAgICAgcmFyZ3MucHVzaChwYXJhbXNbbl0pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9jYXJnc1tuXSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2NhcmdzW25dICE9PSBudWxsKSB7XG4gICAgICAgIHJhcmdzLnB1c2godGhpcy5fY2FyZ3Nbbl0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignTWlzc2luZyByb3V0ZSBwYXJhbWV0ZXInLCBuKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBTRUU6IENoZWNrIGZvciB1bmRlZmluZWQgaW4gcmFyZ3NcbiAgICByZXR1cm4gdGhpcy5fcm91dGUoLi4ucmFyZ3MpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG5hdmlnYXRlKFxuICAgIHBhcmFtcz86IHsgW2luZGV4OiBzdHJpbmddOiBUIH0sXG4gICAgcm91dGVyPzogUm91dGVyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmIChyb3V0ZXIpIHtcbiAgICAgIHJldHVybiByb3V0ZXIubmF2aWdhdGUodGhpcy5yb3V0ZShwYXJhbXMpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JvdXRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZSh0aGlzLnJvdXRlKHBhcmFtcykpO1xuICAgIH1cbiAgICBjb25zb2xlLmVycm9yKCdSb3V0ZXIgbm90IHByb3ZpZGVkLCBubyBuYXZpZ2F0aW9uJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../update.service";
5
- import * as i2 from "@angular/common";
6
- export class UpdateComponent {
7
- constructor(update) {
8
- this.update = update;
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UpdateComponent, deps: [{ token: i1.UpdateService }], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: UpdateComponent, isStandalone: true, selector: "data-update", ngImport: i0, template: "\n<div class=\"snack\" *ngIf=\"update.available$|async\">\n <p>Une nouvelle version de l'application est disponible.</p>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <button class=\"btn btn-primary btn-block w-100\" (click)=\"update.activate()\">L'ACTIVER MAINTENANT</button>\n </div>\n <div class=\"col-sm-6\">\n <button class=\"btn btn-warning btn-block w-100\" (click)=\"update.dismiss()\">Plus tard</button>\n </div>\n </div>\n</div>", styles: [".snack{position:fixed;bottom:0;margin-left:auto;margin-right:auto;left:auto;right:auto;background-color:#ff7a00cc;padding:20px;z-index:2000;border-top:1px solid rgb(255,122,0);font-size:1.5rem;font-weight:700;color:#8b0000;width:100%;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UpdateComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'data-update', standalone: true, imports: [CommonModule], template: "\n<div class=\"snack\" *ngIf=\"update.available$|async\">\n <p>Une nouvelle version de l'application est disponible.</p>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <button class=\"btn btn-primary btn-block w-100\" (click)=\"update.activate()\">L'ACTIVER MAINTENANT</button>\n </div>\n <div class=\"col-sm-6\">\n <button class=\"btn btn-warning btn-block w-100\" (click)=\"update.dismiss()\">Plus tard</button>\n </div>\n </div>\n</div>", styles: [".snack{position:fixed;bottom:0;margin-left:auto;margin-right:auto;left:auto;right:auto;background-color:#ff7a00cc;padding:20px;z-index:2000;border-top:1px solid rgb(255,122,0);font-size:1.5rem;font-weight:700;color:#8b0000;width:100%;text-align:center}\n"] }]
16
- }], ctorParameters: () => [{ type: i1.UpdateService }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi91cGRhdGVzL3VwZGF0ZS91cGRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL3VwZGF0ZXMvdXBkYXRlL3VwZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVMvQyxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFtQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBQUcsQ0FBQzs4R0FEakMsZUFBZTtrR0FBZixlQUFlLHVFQ1g1QixzZEFXTSx1VERGTSxZQUFZOzsyRkFFWCxlQUFlO2tCQVAzQixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVwZGF0ZVNlcnZpY2UgfSBmcm9tICcuLi91cGRhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLXVwZGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91cGRhdGUuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1cGRhdGU6IFVwZGF0ZVNlcnZpY2UpIHt9XG59XG4iLCJcbjxkaXYgY2xhc3M9XCJzbmFja1wiICpuZ0lmPVwidXBkYXRlLmF2YWlsYWJsZSR8YXN5bmNcIj5cbiAgPHA+VW5lIG5vdXZlbGxlIHZlcnNpb24gZGUgbCdhcHBsaWNhdGlvbiBlc3QgZGlzcG9uaWJsZS48L3A+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIHctMTAwXCIgKGNsaWNrKT1cInVwZGF0ZS5hY3RpdmF0ZSgpXCI+TCdBQ1RJVkVSIE1BSU5URU5BTlQ8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXdhcm5pbmcgYnRuLWJsb2NrIHctMTAwXCIgKGNsaWNrKT1cInVwZGF0ZS5kaXNtaXNzKClcIj5QbHVzIHRhcmQ8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=