@energycap/components 0.44.8 → 0.44.9-Angular19Upgrade.20260217-1620

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 (145) hide show
  1. package/fesm2022/energycap-components.mjs +379 -354
  2. package/fesm2022/energycap-components.mjs.map +1 -1
  3. package/lib/controls/button/copy-button-base.directive.d.ts +1 -1
  4. package/lib/controls/date-input/date-input.component.d.ts +1 -1
  5. package/lib/controls/form-control-base.d.ts +1 -1
  6. package/lib/core/date-time-helper.d.ts +2 -2
  7. package/lib/display/hierarchy/hierarchy-base.d.ts +1 -1
  8. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +1 -1
  9. package/lib/display/resizable/resizable-base.d.ts +1 -1
  10. package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -1
  11. package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
  12. package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
  13. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +1 -1
  14. package/package.json +1 -3
  15. package/schematics/utilities/typescript.js +3 -4
  16. package/schematics/utilities/typescript.js.map +1 -1
  17. package/schematics/utilities/workspace.d.ts +0 -8
  18. package/schematics/utilities/workspace.js +48 -71
  19. package/schematics/utilities/workspace.js.map +1 -1
  20. package/esm2022/energycap-components.mjs +0 -5
  21. package/esm2022/lib/components.module.mjs +0 -425
  22. package/esm2022/lib/controls/banner/banner.component.mjs +0 -112
  23. package/esm2022/lib/controls/button/button.component.mjs +0 -114
  24. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
  25. package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
  26. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
  27. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
  28. package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -251
  29. package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
  30. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
  31. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
  32. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
  33. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  34. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  35. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  36. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  37. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  38. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  39. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  40. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  41. package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -466
  42. package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
  43. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
  44. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
  45. package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -110
  46. package/esm2022/lib/controls/form-control-base.mjs +0 -151
  47. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  48. package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
  49. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
  50. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
  51. package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
  52. package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
  53. package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
  54. package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
  55. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  56. package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
  57. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
  58. package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
  59. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
  60. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
  61. package/esm2022/lib/controls/select/select.component.mjs +0 -88
  62. package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
  63. package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
  64. package/esm2022/lib/core/cache.service.mjs +0 -105
  65. package/esm2022/lib/core/custom-validators.mjs +0 -29
  66. package/esm2022/lib/core/date-time-helper.mjs +0 -228
  67. package/esm2022/lib/core/error.service.mjs +0 -61
  68. package/esm2022/lib/core/router-helper.service.mjs +0 -111
  69. package/esm2022/lib/core/scroll.service.mjs +0 -89
  70. package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
  71. package/esm2022/lib/core/telemetry.service.mjs +0 -38
  72. package/esm2022/lib/core/validation-message.service.mjs +0 -185
  73. package/esm2022/lib/core/validation-patterns.mjs +0 -31
  74. package/esm2022/lib/core/window.service.mjs +0 -186
  75. package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -49
  76. package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
  77. package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
  78. package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
  79. package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
  80. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  81. package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
  82. package/esm2022/lib/display/dialog/dialog.component.mjs +0 -287
  83. package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
  84. package/esm2022/lib/display/help/help-types.mjs +0 -2
  85. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  86. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
  87. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -65
  88. package/esm2022/lib/display/item-display/item-display.component.mjs +0 -83
  89. package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
  90. package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
  91. package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
  92. package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
  93. package/esm2022/lib/display/splash/splash.component.mjs +0 -61
  94. package/esm2022/lib/display/splash/splash.service.mjs +0 -35
  95. package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
  96. package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
  97. package/esm2022/lib/display/table/searchable-table.component.mjs +0 -344
  98. package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
  99. package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
  100. package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
  101. package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
  102. package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
  103. package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
  104. package/esm2022/lib/display/table/table.component.mjs +0 -257
  105. package/esm2022/lib/display/tags/tag.mjs +0 -18
  106. package/esm2022/lib/display/tags/tags.component.mjs +0 -82
  107. package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
  108. package/esm2022/lib/display/toast/toast-types.mjs +0 -8
  109. package/esm2022/lib/display/toast/toast.service.mjs +0 -35
  110. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
  111. package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
  112. package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
  113. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  114. package/esm2022/lib/display/tree/tree.component.mjs +0 -139
  115. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  116. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  117. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  118. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -103
  119. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
  120. package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +0 -39
  121. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -51
  122. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  123. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  124. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  125. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  126. package/esm2022/lib/shared/display.mjs +0 -6
  127. package/esm2022/lib/shared/form-group.helper.mjs +0 -67
  128. package/esm2022/lib/shared/json-helper.mjs +0 -19
  129. package/esm2022/lib/shared/lodash-helper.mjs +0 -52
  130. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
  131. package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
  132. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
  133. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
  134. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
  135. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
  136. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
  137. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  138. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
  139. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
  140. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
  141. package/esm2022/lib/shared/user-preference.service.mjs +0 -17
  142. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  143. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
  144. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
  145. package/esm2022/public-api.mjs +0 -115
@@ -1,62 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./date-display.pipe";
5
- import * as i2 from "./time-display.pipe";
6
- import * as i3 from "@ngx-translate/core";
7
- export class RelativeDatePipe {
8
- constructor(dateDisplayPipe, timeDisplayPipe, translateService) {
9
- this.dateDisplayPipe = dateDisplayPipe;
10
- this.timeDisplayPipe = timeDisplayPipe;
11
- this.translateService = translateService;
12
- }
13
- /**
14
- * If dateOnly is true, returns timeSelected formatted according to the user's date preference.
15
- * If dateOnly is true and showTimeForToday is false and timeSelected is today, returns 'today' or todayLabel
16
- * If dateOnly and showTimeForToday is true and timeSelected is today, returns timeSelected formatted according to the user's time preference.
17
- * If dateOnly is false, returns timeSelected formatted according to the user's time preference.
18
- * If dateOnly is false and timeSelected is not today/yesterday, returns timeSelected formatted according to the user's date plus time preference.
19
- * If any of todayLabel, yesterdayLabel is supplied, use the supplied label.
20
- */
21
- transform(timeSelected, options) {
22
- const selected = moment(timeSelected);
23
- const today = moment();
24
- const yesterday = moment().subtract(1, 'day');
25
- const timeDisplay = options?.dateOnly ? `` : ` ${this.timeDisplayPipe.transform(timeSelected)}`;
26
- let displayValue = null;
27
- let prefixValue = '';
28
- if (selected.isSame(today, 'day') && !options?.showTimeForToday) {
29
- displayValue = this.translateService.instant(options?.todayLabel ? options?.todayLabel : 'today');
30
- prefixValue = options?.todayPrefix ?? '';
31
- }
32
- else if (selected.isSame(today, 'day') && options?.showTimeForToday && !timeDisplay) {
33
- displayValue = this.timeDisplayPipe.transform(timeSelected);
34
- prefixValue = options?.todayTimePrefix ?? '';
35
- }
36
- else if (selected.isSame(yesterday, 'day')) {
37
- displayValue = this.translateService.instant(options?.yesterdayLabel ? options?.yesterdayLabel : 'yesterday');
38
- prefixValue = options?.yesterdayPrefix ?? '';
39
- }
40
- else {
41
- displayValue = this.dateDisplayPipe.transform(timeSelected);
42
- }
43
- // If we have a default prefix and no specific ones were set earlier apply the default prefix
44
- if (options?.defaultPrefix && prefixValue === '') {
45
- prefixValue = options.defaultPrefix;
46
- }
47
- // Add a space after our prefix if defined
48
- if (prefixValue !== '') {
49
- prefixValue = `${prefixValue} `;
50
- }
51
- return `${prefixValue}${displayValue}${timeDisplay}`;
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDatePipe, deps: [{ token: i1.DateDisplayPipe }, { token: i2.TimeDisplayPipe }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
54
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RelativeDatePipe, name: "relativeDate" }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RelativeDatePipe, decorators: [{
57
- type: Pipe,
58
- args: [{
59
- name: 'relativeDate'
60
- }]
61
- }], ctorParameters: () => [{ type: i1.DateDisplayPipe }, { type: i2.TimeDisplayPipe }, { type: i3.TranslateService }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9kaXNwbGF5L3BpcGVzL3JlbGF0aXZlLWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7O0FBMEI1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1UsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBRmxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN4QyxDQUFDO0lBRUw7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FDUCxZQUFvQixFQUNwQixPQUE2QjtRQUU3QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUVoRyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXJCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUNoRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDM0MsQ0FBQzthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLGdCQUFnQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEYsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVELFdBQVcsR0FBRyxPQUFPLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQTtRQUM5QyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlHLFdBQVcsR0FBRyxPQUFPLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsNkZBQTZGO1FBQzdGLElBQUksT0FBTyxFQUFFLGFBQWEsSUFBSSxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDakQsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDdEMsQ0FBQztRQUVELDBDQUEwQztRQUMxQyxJQUFJLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN2QixXQUFXLEdBQUcsR0FBRyxXQUFXLEdBQUcsQ0FBQztRQUNsQyxDQUFDO1FBRUQsT0FBTyxHQUFHLFdBQVcsR0FBRyxZQUFZLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDdkQsQ0FBQzsrR0FwRFUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRGF0ZURpc3BsYXlQaXBlIH0gZnJvbSAnLi9kYXRlLWRpc3BsYXkucGlwZSc7XG5pbXBvcnQgeyBUaW1lRGlzcGxheVBpcGUgfSBmcm9tICcuL3RpbWUtZGlzcGxheS5waXBlJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpdmVEYXRlT3B0aW9ucyA9IHtcbiAgZGF0ZU9ubHk/OiBib29sZWFuLCBcbiAgc2hvd1RpbWVGb3JUb2RheT8gOiBib29sZWFuLFxuICB0b2RheUxhYmVsPzogc3RyaW5nLCBcbiAgeWVzdGVyZGF5TGFiZWw/OiBzdHJpbmcsIFxuXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gc2hvd2luZyB0b2RheSBhcyB0aW1lIGZvciB0aGUgdmFsdWUgKi9cbiAgdG9kYXlUaW1lUHJlZml4Pzogc3RyaW5nLFxuXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gZGlzcGxheWluZyBcInRvZGF5XCIgYXMgdGhlIHZhbHVlICovXG4gIHRvZGF5UHJlZml4Pzogc3RyaW5nLFxuXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gZGlzcGxheWluZyBcInllc3RlcmRheVwiIGFzIHRoZSB2YWx1ZSAqL1xuICB5ZXN0ZXJkYXlQcmVmaXg/OiBzdHJpbmcsXG5cbiAgLyoqIERlZmF1bHQgcHJlZml4LiBXaWxsIGJlIGFwcGxpZWQgdG8gYWxsIGRpc3BsYXkgb3B0aW9ucyBpZiBkZWZpbmVkIGFuZCBvdGhlcnMgYXJlIG5vdCAqL1xuICBkZWZhdWx0UHJlZml4Pzogc3RyaW5nXG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3JlbGF0aXZlRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0ZURpc3BsYXlQaXBlOiBEYXRlRGlzcGxheVBpcGUsIFxuICAgIHByaXZhdGUgdGltZURpc3BsYXlQaXBlOiBUaW1lRGlzcGxheVBpcGUsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIElmIGRhdGVPbmx5IGlzIHRydWUsIHJldHVybnMgdGltZVNlbGVjdGVkIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIHVzZXIncyBkYXRlIHByZWZlcmVuY2UuXG4gICAqIElmIGRhdGVPbmx5IGlzIHRydWUgYW5kIHNob3dUaW1lRm9yVG9kYXkgaXMgZmFsc2UgYW5kIHRpbWVTZWxlY3RlZCBpcyB0b2RheSwgcmV0dXJucyAndG9kYXknIG9yIHRvZGF5TGFiZWxcbiAgICogSWYgZGF0ZU9ubHkgYW5kIHNob3dUaW1lRm9yVG9kYXkgaXMgdHJ1ZSBhbmQgdGltZVNlbGVjdGVkIGlzIHRvZGF5LCByZXR1cm5zIHRpbWVTZWxlY3RlZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgdGltZSBwcmVmZXJlbmNlLlxuICAgKiBJZiBkYXRlT25seSBpcyBmYWxzZSwgcmV0dXJucyB0aW1lU2VsZWN0ZWQgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgdXNlcidzIHRpbWUgcHJlZmVyZW5jZS5cbiAgICogSWYgZGF0ZU9ubHkgaXMgZmFsc2UgYW5kIHRpbWVTZWxlY3RlZCBpcyBub3QgdG9kYXkveWVzdGVyZGF5LCByZXR1cm5zIHRpbWVTZWxlY3RlZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgZGF0ZSBwbHVzIHRpbWUgcHJlZmVyZW5jZS5cbiAgICogSWYgYW55IG9mIHRvZGF5TGFiZWwsIHllc3RlcmRheUxhYmVsIGlzIHN1cHBsaWVkLCB1c2UgdGhlIHN1cHBsaWVkIGxhYmVsLlxuICAgKi9cbiAgdHJhbnNmb3JtKFxuICAgIHRpbWVTZWxlY3RlZDogc3RyaW5nLCBcbiAgICBvcHRpb25zPzogUmVsYXRpdmVEYXRlT3B0aW9uc1xuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gbW9tZW50KHRpbWVTZWxlY3RlZCk7XG4gICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKTtcbiAgICBjb25zdCB5ZXN0ZXJkYXkgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5Jyk7XG4gICAgY29uc3QgdGltZURpc3BsYXkgPSBvcHRpb25zPy5kYXRlT25seSA/IGBgIDogYCAke3RoaXMudGltZURpc3BsYXlQaXBlLnRyYW5zZm9ybSh0aW1lU2VsZWN0ZWQpfWA7XG5cbiAgICBsZXQgZGlzcGxheVZhbHVlID0gbnVsbDtcbiAgICBsZXQgcHJlZml4VmFsdWUgPSAnJztcblxuICAgIGlmIChzZWxlY3RlZC5pc1NhbWUodG9kYXksICdkYXknKSAmJiAhb3B0aW9ucz8uc2hvd1RpbWVGb3JUb2RheSkge1xuICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3B0aW9ucz8udG9kYXlMYWJlbCA/IG9wdGlvbnM/LnRvZGF5TGFiZWwgOiAndG9kYXknKTtcbiAgICAgIHByZWZpeFZhbHVlID0gb3B0aW9ucz8udG9kYXlQcmVmaXggPz8gJyc7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RlZC5pc1NhbWUodG9kYXksICdkYXknKSAmJiBvcHRpb25zPy5zaG93VGltZUZvclRvZGF5ICYmICF0aW1lRGlzcGxheSkge1xuICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy50aW1lRGlzcGxheVBpcGUudHJhbnNmb3JtKHRpbWVTZWxlY3RlZCk7XG4gICAgICBwcmVmaXhWYWx1ZSA9IG9wdGlvbnM/LnRvZGF5VGltZVByZWZpeCA/PyAnJ1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWQuaXNTYW1lKHllc3RlcmRheSwgJ2RheScpKSB7XG4gICAgICBkaXNwbGF5VmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcHRpb25zPy55ZXN0ZXJkYXlMYWJlbCA/IG9wdGlvbnM/Lnllc3RlcmRheUxhYmVsIDogJ3llc3RlcmRheScpO1xuICAgICAgcHJlZml4VmFsdWUgPSBvcHRpb25zPy55ZXN0ZXJkYXlQcmVmaXggPz8gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZURpc3BsYXlQaXBlLnRyYW5zZm9ybSh0aW1lU2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgYSBkZWZhdWx0IHByZWZpeCBhbmQgbm8gc3BlY2lmaWMgb25lcyB3ZXJlIHNldCBlYXJsaWVyIGFwcGx5IHRoZSBkZWZhdWx0IHByZWZpeFxuICAgIGlmIChvcHRpb25zPy5kZWZhdWx0UHJlZml4ICYmIHByZWZpeFZhbHVlID09PSAnJykge1xuICAgICAgcHJlZml4VmFsdWUgPSBvcHRpb25zLmRlZmF1bHRQcmVmaXg7XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgc3BhY2UgYWZ0ZXIgb3VyIHByZWZpeCBpZiBkZWZpbmVkXG4gICAgaWYgKHByZWZpeFZhbHVlICE9PSAnJykge1xuICAgICAgcHJlZml4VmFsdWUgPSBgJHtwcmVmaXhWYWx1ZX0gYDtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIGAke3ByZWZpeFZhbHVlfSR7ZGlzcGxheVZhbHVlfSR7dGltZURpc3BsYXl9YDtcbiAgfVxufVxuIl19
@@ -1,48 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngx-translate/core";
4
- export class RowCountPipe {
5
- constructor(translateService) {
6
- this.translateService = translateService;
7
- }
8
- /**
9
- * Get the formatted row count for the results.
10
- *
11
- * Provide maxItemCount if the normal row count is needed.
12
- * Provide pagingInfo if the paged row count is needed.
13
- */
14
- //Note that totalPagedItemCount is not necessarily equal to pagingInfo.pageSize since the last page could have less than pageSize rows.
15
- transform(results, objectType, maxItemCount, pagingInfo) {
16
- let translated = this.translateService.instant(objectType || 'results');
17
- if (maxItemCount !== undefined) {
18
- return this.getResultsCount(results, translated, maxItemCount);
19
- }
20
- else if (pagingInfo) {
21
- return this.getPagedResultsCount(results, translated, pagingInfo);
22
- }
23
- return '';
24
- }
25
- getResultsCount(results, objectType, maxItemCount) {
26
- // If the filtered results count of rows is greater than the maximum number
27
- // of results we want to show, we have already pared the results down,
28
- // so tell user we are displaying the first `maxItemCount` results out of the total
29
- // count of filtered results.
30
- if (results.totalItems > maxItemCount) {
31
- return `${maxItemCount} ${this.translateService.instant('of')} ${results.totalItems}`;
32
- }
33
- return `${results.totalItems} ${objectType}`;
34
- }
35
- getPagedResultsCount(results, objectType, pagingInfo) {
36
- let prefix = `${pagingInfo.skip + 1}` + (results.totalItems > 1 ? `-${pagingInfo.skip + results.totalItems} ` : ' ');
37
- return prefix + `${this.translateService.instant('of')} ${results.totalItemsBeforePaging} ${objectType}`;
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCountPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
40
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RowCountPipe, name: "rowCount" }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowCountPipe, decorators: [{
43
- type: Pipe,
44
- args: [{
45
- name: 'rowCount'
46
- }]
47
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWNvdW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvcm93LWNvdW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVlwRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQ7Ozs7O09BS0c7SUFDSCx1SUFBdUk7SUFDdkksU0FBUyxDQUFDLE9BQXFCLEVBQUUsVUFBa0IsRUFBRSxZQUFxQixFQUFFLFVBQXVCO1FBQ2pHLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLElBQUcsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxJQUFHLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUdPLGVBQWUsQ0FBQyxPQUFxQixFQUFFLFVBQWtCLEVBQUUsWUFBb0I7UUFDckYsMkVBQTJFO1FBQzNFLHNFQUFzRTtRQUN0RSxtRkFBbUY7UUFDbkYsNkJBQTZCO1FBQzdCLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxPQUFPLEdBQUcsWUFBWSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBcUIsRUFBRSxVQUFrQixFQUFFLFVBQXNCO1FBQzVGLElBQUksTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNySCxPQUFPLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLHNCQUFzQixJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQzNHLENBQUM7K0dBcENVLFlBQVk7NkdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFIeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQYWdpbmdJbmZvIH0gZnJvbSAnLi4vLi4vLi4vZGlzcGxheS90YWJsZS90YWJsZS1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFJvd0NvdW50SW5mbyA9IHsgXG4gIHRvdGFsSXRlbXM6IG51bWJlcixcbiAgdG90YWxJdGVtc0JlZm9yZVBhZ2luZz86IG51bWJlcixcbn1cblxuQFBpcGUoe1xuICBuYW1lOiAncm93Q291bnQnXG59KVxuZXhwb3J0IGNsYXNzIFJvd0NvdW50UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAvKipcbiAgICogR2V0IHRoZSBmb3JtYXR0ZWQgcm93IGNvdW50IGZvciB0aGUgcmVzdWx0cy5cbiAgICogXG4gICAqIFByb3ZpZGUgbWF4SXRlbUNvdW50IGlmIHRoZSBub3JtYWwgcm93IGNvdW50IGlzIG5lZWRlZC5cbiAgICogUHJvdmlkZSBwYWdpbmdJbmZvIGlmIHRoZSBwYWdlZCByb3cgY291bnQgaXMgbmVlZGVkLlxuICAgKi9cbiAgLy9Ob3RlIHRoYXQgdG90YWxQYWdlZEl0ZW1Db3VudCBpcyBub3QgbmVjZXNzYXJpbHkgZXF1YWwgdG8gcGFnaW5nSW5mby5wYWdlU2l6ZSBzaW5jZSB0aGUgbGFzdCBwYWdlIGNvdWxkIGhhdmUgbGVzcyB0aGFuIHBhZ2VTaXplIHJvd3MuXG4gIHRyYW5zZm9ybShyZXN1bHRzOiBSb3dDb3VudEluZm8sIG9iamVjdFR5cGU6IHN0cmluZywgbWF4SXRlbUNvdW50PzogbnVtYmVyLCBwYWdpbmdJbmZvPzogUGFnaW5nSW5mbyk6IHN0cmluZyB7XG4gICAgbGV0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvYmplY3RUeXBlIHx8ICdyZXN1bHRzJyk7XG4gICAgaWYobWF4SXRlbUNvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFJlc3VsdHNDb3VudChyZXN1bHRzLCB0cmFuc2xhdGVkLCBtYXhJdGVtQ291bnQpO1xuICAgIH0gZWxzZSBpZihwYWdpbmdJbmZvKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQYWdlZFJlc3VsdHNDb3VudChyZXN1bHRzLCB0cmFuc2xhdGVkLCBwYWdpbmdJbmZvKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cblxuICBwcml2YXRlIGdldFJlc3VsdHNDb3VudChyZXN1bHRzOiBSb3dDb3VudEluZm8sIG9iamVjdFR5cGU6IHN0cmluZywgbWF4SXRlbUNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIElmIHRoZSBmaWx0ZXJlZCByZXN1bHRzIGNvdW50IG9mIHJvd3MgaXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIG51bWJlclxuICAgIC8vIG9mIHJlc3VsdHMgd2Ugd2FudCB0byBzaG93LCB3ZSBoYXZlIGFscmVhZHkgcGFyZWQgdGhlIHJlc3VsdHMgZG93bixcbiAgICAvLyBzbyB0ZWxsIHVzZXIgd2UgYXJlIGRpc3BsYXlpbmcgdGhlIGZpcnN0IGBtYXhJdGVtQ291bnRgIHJlc3VsdHMgb3V0IG9mIHRoZSB0b3RhbFxuICAgIC8vIGNvdW50IG9mIGZpbHRlcmVkIHJlc3VsdHMuXG4gICAgaWYgKHJlc3VsdHMudG90YWxJdGVtcyA+IG1heEl0ZW1Db3VudCkge1xuICAgICAgcmV0dXJuIGAke21heEl0ZW1Db3VudH0gJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnb2YnKX0gJHtyZXN1bHRzLnRvdGFsSXRlbXN9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3Jlc3VsdHMudG90YWxJdGVtc30gJHtvYmplY3RUeXBlfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VkUmVzdWx0c0NvdW50KHJlc3VsdHM6IFJvd0NvdW50SW5mbywgb2JqZWN0VHlwZTogc3RyaW5nLCBwYWdpbmdJbmZvOiBQYWdpbmdJbmZvKTogc3RyaW5nIHtcbiAgICBsZXQgcHJlZml4ID0gYCR7cGFnaW5nSW5mby5za2lwICsgMX1gICsgKHJlc3VsdHMudG90YWxJdGVtcyA+IDEgPyBgLSR7cGFnaW5nSW5mby5za2lwICsgcmVzdWx0cy50b3RhbEl0ZW1zfSBgIDogJyAnKTtcbiAgICByZXR1cm4gcHJlZml4ICsgYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ29mJyl9ICR7cmVzdWx0cy50b3RhbEl0ZW1zQmVmb3JlUGFnaW5nfSAke29iamVjdFR5cGV9YDtcbiAgfVxuXG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../user-preference.service";
5
- /**
6
- * Format a time to the user's preference for display
7
- */
8
- export class TimeDisplayPipe {
9
- constructor(userPreferenceService) {
10
- this.userPreferenceService = userPreferenceService;
11
- this.lastFormatString = 'HH:mm:ss';
12
- }
13
- /**
14
- * Format a time for display, accounting for user's display preferences.
15
- */
16
- transform(time, showSeconds) {
17
- let display = '';
18
- let formatString = '';
19
- // use user-preferred formats
20
- this.userPreferenceService.getPreferences().subscribe(result => {
21
- //if preferences exist then format time to users preference
22
- //otherwise use the last user preference
23
- if (result.preference) {
24
- formatString = result.preference.timeFormat;
25
- if (!showSeconds) {
26
- formatString = formatString.replace(':ss', '');
27
- }
28
- this.lastFormatString = formatString;
29
- }
30
- });
31
- display = moment(time).format(this.lastFormatString);
32
- return display;
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeDisplayPipe, deps: [{ token: i1.UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
35
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TimeDisplayPipe, name: "timeDisplay" }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeDisplayPipe, decorators: [{
38
- type: Pipe,
39
- args: [{ name: 'timeDisplay' }]
40
- }], ctorParameters: () => [{ type: i1.UserPreferenceService }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1kaXNwbGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvdGltZS1kaXNwbGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFHNUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUV4RCxxQkFBZ0IsR0FBVyxVQUFVLENBQUM7SUFGc0IsQ0FBQztJQUlyRTs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFrQixFQUFFLFdBQXFCO1FBQ2pELElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLFlBQVksR0FBVyxFQUFFLENBQUM7UUFFOUIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0QsNERBQTREO1lBQzVELHdDQUF3QztZQUN4QyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDdEIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFXLENBQUMsVUFBVyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ2pCLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakQsQ0FBQztnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBM0JVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBEYXRlRGlzcGxheSB9IGZyb20gJy4vZGF0ZS1kaXNwbGF5LnBpcGUnO1xuXG4vKipcbiAqIEZvcm1hdCBhIHRpbWUgdG8gdGhlIHVzZXIncyBwcmVmZXJlbmNlIGZvciBkaXNwbGF5XG4gKi9cbkBQaXBlKHtuYW1lOiAndGltZURpc3BsYXknfSlcbmV4cG9ydCBjbGFzcyBUaW1lRGlzcGxheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJQcmVmZXJlbmNlU2VydmljZTogVXNlclByZWZlcmVuY2VTZXJ2aWNlKSB7IH1cblxuICBwcml2YXRlIGxhc3RGb3JtYXRTdHJpbmc6IHN0cmluZyA9ICdISDptbTpzcyc7XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBhIHRpbWUgZm9yIGRpc3BsYXksIGFjY291bnRpbmcgZm9yIHVzZXIncyBkaXNwbGF5IHByZWZlcmVuY2VzLlxuICAgKi9cbiAgdHJhbnNmb3JtKHRpbWU/OiBEYXRlRGlzcGxheSwgc2hvd1NlY29uZHM/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBsZXQgZGlzcGxheTogc3RyaW5nID0gJyc7XG4gICAgbGV0IGZvcm1hdFN0cmluZzogc3RyaW5nID0gJyc7XG4gICAgXG4gICAgLy8gdXNlIHVzZXItcHJlZmVycmVkIGZvcm1hdHNcbiAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5nZXRQcmVmZXJlbmNlcygpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgLy9pZiBwcmVmZXJlbmNlcyBleGlzdCB0aGVuIGZvcm1hdCB0aW1lIHRvIHVzZXJzIHByZWZlcmVuY2UgXG4gICAgICAvL290aGVyd2lzZSB1c2UgdGhlIGxhc3QgdXNlciBwcmVmZXJlbmNlXG4gICAgICBpZiAocmVzdWx0LnByZWZlcmVuY2UpIHtcbiAgICAgICAgZm9ybWF0U3RyaW5nID0gcmVzdWx0LnByZWZlcmVuY2UhLnRpbWVGb3JtYXQhO1xuICAgICAgICBpZiAoIXNob3dTZWNvbmRzKSB7XG4gICAgICAgICAgZm9ybWF0U3RyaW5nID0gZm9ybWF0U3RyaW5nLnJlcGxhY2UoJzpzcycsICcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxhc3RGb3JtYXRTdHJpbmcgPSBmb3JtYXRTdHJpbmc7XG4gICAgICB9XG4gICAgfSk7XG4gICAgZGlzcGxheSA9IG1vbWVudCh0aW1lKS5mb3JtYXQodGhpcy5sYXN0Rm9ybWF0U3RyaW5nKTtcbiAgICByZXR1cm4gZGlzcGxheTtcbiAgfVxufVxuXG4iXX0=
@@ -1,6 +0,0 @@
1
- /** Common unicode strings */
2
- export class UnicodeStrings {
3
- /** Equivalent of – */
4
- static { this.ndash = '\u2013'; }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSw2QkFBNkI7QUFDN0IsTUFBTSxPQUFPLGNBQWM7SUFFdkIsNEJBQTRCO2FBQ2QsVUFBSyxHQUFXLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtaXRlbSc7XG5cblxuLyoqXG4gKiBUaGUgc3RhdHVzIG9mIGFueSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBjb250ZW50XG4gKi9cbmV4cG9ydCB0eXBlIFZpZXdTdGF0dXMgPSAncGVuZGluZycgfCAnaGFzRGF0YScgfCAnbm9EYXRhJyB8ICdlcnJvcic7XG5cbi8qKiBDb21tb24gdW5pY29kZSBzdHJpbmdzICovXG5leHBvcnQgY2xhc3MgVW5pY29kZVN0cmluZ3Mge1xuXG4gICAgLyoqIEVxdWl2YWxlbnQgb2YgJm5kYXNoOyAqL1xuICAgIHB1YmxpYyBzdGF0aWMgbmRhc2g6IHN0cmluZyA9ICdcXHUyMDEzJztcbn1cblxuXG4vKipcbiAqIFRoZSBEaXNwbGF5IGludGVyZmFjZSBkZWZpbmVzIGNvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbnkgY29tcG9uZW50IHRoYXQgd291bGRcbiAqIGRpc3BsYXkgY29udGVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlTdGF0dXMge1xuXG4gICAgLyoqXG4gICAgICogVGhlIHN0YXR1cyBvZiB0aGUgZGlzcGxheVxuICAgICAqL1xuICAgIHN0YXR1czogVmlld1N0YXR1cztcblxuXG4gICAgLyoqXG4gICAgICogQW4gb3B0aW9uYWwgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gc3RhdHVzIGlzIG5vdCAnaGFzRGF0YSdcbiAgICAgKi9cbiAgICBtZXNzYWdlPzogc3RyaW5nO1xuXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJvcGVydGllcyBvZiBhbiBhY3Rpb24gYnV0dG9uIHRoYXQgY2FuIGJlIHNob3duIHdoZW4gc3RhdHVzIGlzIG5vdCAnaGFzRGF0YSdcbiAgICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkIGR1ZSB0byBub0RhdGFUZW1wbGF0ZSBiZWluZyBwcmVmZXJlZFxuICAgICAqL1xuICAgIGFjdGlvbj86IE5hdkl0ZW07XG5cbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSB0byBzaG93IHdoZW4gdGhlIHN0YXR1cyBpcyBub0RhdGFcbiAgICAgKi9cbiAgICBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBNYXNrIChub3QgcmVtb3ZlKSB0aGUgdHJhbnNjbHVkZWQgY29udGVudCBmcm9tIHRoZSBkb20gd2hpbGUgbm90IGhhc0RhdGEgc3RhdHVzLlxuICAgICAqL1xuICAgIGRpc3BsYXlBc01hc2s/OiBib29sZWFuO1xuXG4gICAgLyoqIFxuICAgICAqIEFkZGl0aW9uYWwgY3NzIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIC5vdmVybGF5IGVsZW1lbnQgXG4gICAgICovXG4gICAgb3ZlcmxheUNsYXNzTGlzdD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,67 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Helper for Form Groups
6
- */
7
- export class FormGroupHelper {
8
- /**
9
- * Call patchValue on the formGroup with only the properties
10
- * that actually have values in updates. This method will ignore
11
- * any value that is either null or undefined
12
- */
13
- patchValueSafely(formGroup, updates) {
14
- let safeUpdates = {};
15
- Object.keys(updates).forEach(function (propName) {
16
- let rawValue = updates[propName];
17
- if (rawValue !== null && rawValue !== undefined) {
18
- safeUpdates[propName] = rawValue;
19
- }
20
- });
21
- formGroup.patchValue(safeUpdates);
22
- }
23
- /**
24
- * Get an id for the form controls input
25
- */
26
- getInputId(id) {
27
- return id + '_input';
28
- }
29
- /**
30
- * Takes in a control and returns a function that sets the control's required validator based on
31
- * whether the value provided is empty or not. Adds the required validator if the value provided is
32
- * not empty, otherwise removes the required validator. Useful for dynamically setting the requiredness
33
- * of a control based on whether another control has a value or not.
34
- *
35
- * @param control
36
- * @param keepValidators - Array of Validators to leave configured on the control. Any existing
37
- * validators on the control will be lost if this is left empty.
38
- * @param isZeroEmpty - If true, a numeric zero will be considered an empty value. Default is false.
39
- */
40
- setRequiredFn(control, keepValidators = [], isZeroEmpty = false) {
41
- return (value) => {
42
- let validators = [...keepValidators];
43
- // If the value is not empty, add the required validator.
44
- if (value || (!isZeroEmpty ? value === 0 : false)) {
45
- validators.push(Validators.required);
46
- }
47
- if (validators.length > 0) {
48
- control.setValidators(validators);
49
- }
50
- else {
51
- control.clearValidators();
52
- }
53
- // Recalculating the value is required when changing the validators, otherwise
54
- // the validator won't take effect until the value is changed in the control.
55
- control.updateValueAndValidity({ emitEvent: false });
56
- };
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
59
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupHelper, providedIn: 'root' }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormGroupHelper, decorators: [{
62
- type: Injectable,
63
- args: [{
64
- providedIn: 'root'
65
- }]
66
- }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Zvcm0tZ3JvdXAuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFrRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFNUY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUV4Qjs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsU0FBMkIsRUFBRSxPQUFZO1FBQzdELElBQUksV0FBVyxHQUF5QixFQUFFLENBQUM7UUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxRQUFRO1lBQzNDLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVqQyxJQUFHLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBQyxDQUFDO2dCQUM1QyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEVBQVU7UUFDeEIsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksYUFBYSxDQUFDLE9BQXdCLEVBQUUsaUJBQWdDLEVBQUUsRUFBRSxjQUF1QixLQUFLO1FBQzNHLE9BQU8sQ0FBQyxLQUE4QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDO1lBRXJDLHlEQUF5RDtZQUN6RCxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDOUIsQ0FBQztZQUNELDhFQUE4RTtZQUM5RSw2RUFBNkU7WUFDN0UsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFBO0lBQ0wsQ0FBQzsrR0F2RFEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEhlbHBlciBmb3IgRm9ybSBHcm91cHNcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR3JvdXBIZWxwZXIge1xuXG4gICAgLyoqXG4gICAgICogQ2FsbCBwYXRjaFZhbHVlIG9uIHRoZSBmb3JtR3JvdXAgd2l0aCBvbmx5IHRoZSBwcm9wZXJ0aWVzXG4gICAgICogdGhhdCBhY3R1YWxseSBoYXZlIHZhbHVlcyBpbiB1cGRhdGVzLiBUaGlzIG1ldGhvZCB3aWxsIGlnbm9yZVxuICAgICAqIGFueSB2YWx1ZSB0aGF0IGlzIGVpdGhlciBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHB1YmxpYyBwYXRjaFZhbHVlU2FmZWx5KGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgdXBkYXRlczogYW55KXtcbiAgICAgICAgbGV0IHNhZmVVcGRhdGVzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wTmFtZSkge1xuICAgICAgICAgICAgbGV0IHJhd1ZhbHVlID0gdXBkYXRlc1twcm9wTmFtZV07XG5cbiAgICAgICAgICAgIGlmKHJhd1ZhbHVlICE9PSBudWxsICYmIHJhd1ZhbHVlICE9PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgICAgIHNhZmVVcGRhdGVzW3Byb3BOYW1lXSA9IHJhd1ZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgZm9ybUdyb3VwLnBhdGNoVmFsdWUoc2FmZVVwZGF0ZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhbiBpZCBmb3IgdGhlIGZvcm0gY29udHJvbHMgaW5wdXRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SW5wdXRJZChpZDogc3RyaW5nKTpzdHJpbmcge1xuICAgICAgICByZXR1cm4gaWQgKyAnX2lucHV0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUYWtlcyBpbiBhIGNvbnRyb2wgYW5kIHJldHVybnMgYSBmdW5jdGlvbiB0aGF0IHNldHMgdGhlIGNvbnRyb2wncyByZXF1aXJlZCB2YWxpZGF0b3IgYmFzZWQgb25cbiAgICAgKiB3aGV0aGVyIHRoZSB2YWx1ZSBwcm92aWRlZCBpcyBlbXB0eSBvciBub3QuIEFkZHMgdGhlIHJlcXVpcmVkIHZhbGlkYXRvciBpZiB0aGUgdmFsdWUgcHJvdmlkZWQgaXNcbiAgICAgKiBub3QgZW1wdHksIG90aGVyd2lzZSByZW1vdmVzIHRoZSByZXF1aXJlZCB2YWxpZGF0b3IuIFVzZWZ1bCBmb3IgZHluYW1pY2FsbHkgc2V0dGluZyB0aGUgcmVxdWlyZWRuZXNzXG4gICAgICogb2YgYSBjb250cm9sIGJhc2VkIG9uIHdoZXRoZXIgYW5vdGhlciBjb250cm9sIGhhcyBhIHZhbHVlIG9yIG5vdC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY29udHJvbFxuICAgICAqIEBwYXJhbSBrZWVwVmFsaWRhdG9ycyAtIEFycmF5IG9mIFZhbGlkYXRvcnMgdG8gbGVhdmUgY29uZmlndXJlZCBvbiB0aGUgY29udHJvbC4gQW55IGV4aXN0aW5nXG4gICAgICogdmFsaWRhdG9ycyBvbiB0aGUgY29udHJvbCB3aWxsIGJlIGxvc3QgaWYgdGhpcyBpcyBsZWZ0IGVtcHR5LlxuICAgICAqIEBwYXJhbSBpc1plcm9FbXB0eSAtIElmIHRydWUsIGEgbnVtZXJpYyB6ZXJvIHdpbGwgYmUgY29uc2lkZXJlZCBhbiBlbXB0eSB2YWx1ZS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0UmVxdWlyZWRGbihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGtlZXBWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW10sIGlzWmVyb0VtcHR5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuICh2YWx1ZT86IG51bWJlciB8IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGxldCB2YWxpZGF0b3JzID0gWy4uLmtlZXBWYWxpZGF0b3JzXTtcblxuICAgICAgICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIG5vdCBlbXB0eSwgYWRkIHRoZSByZXF1aXJlZCB2YWxpZGF0b3IuXG4gICAgICAgICAgICBpZiAodmFsdWUgfHwgKCFpc1plcm9FbXB0eSA/IHZhbHVlID09PSAwIDogZmFsc2UpKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsaWRhdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGluZyB0aGUgdmFsdWUgaXMgcmVxdWlyZWQgd2hlbiBjaGFuZ2luZyB0aGUgdmFsaWRhdG9ycywgb3RoZXJ3aXNlXG4gICAgICAgICAgICAvLyB0aGUgdmFsaWRhdG9yIHdvbid0IHRha2UgZWZmZWN0IHVudGlsIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIGluIHRoZSBjb250cm9sLlxuICAgICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIH1cbiAgICB9XG59Il19
@@ -1,19 +0,0 @@
1
- export class JsonHelper {
2
- /**
3
- * Parse given JSON text into an object.
4
- * Returns undefined if text cannot be parsed as JSON.
5
- */
6
- static tryParseJSON(text) {
7
- if (!text) {
8
- return undefined;
9
- }
10
- try {
11
- const result = JSON.parse(text);
12
- return result;
13
- }
14
- catch (err) {
15
- return undefined;
16
- }
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2pzb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBRXJCOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBK0I7UUFDeEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEpzb25IZWxwZXIge1xuXG4gIC8qKlxuICAgKiBQYXJzZSBnaXZlbiBKU09OIHRleHQgaW50byBhbiBvYmplY3QuXG4gICAqIFJldHVybnMgdW5kZWZpbmVkIGlmIHRleHQgY2Fubm90IGJlIHBhcnNlZCBhcyBKU09OLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0cnlQYXJzZUpTT04odGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHVua25vd24gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGV4dCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZSh0ZXh0KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufSJdfQ==
@@ -1,52 +0,0 @@
1
- import { get, orderBy, sortBy } from "lodash";
2
- /** A wrapper around the lodash sortBy that supports treating upper case and lower case text as the same.
3
- * If the underlying property value is not a string (or is null or undefined) this function will behave just like lodash's original
4
- * The original array is not modified, and the result is a newly created array to avoid any side effects (just like the lodash implementation)
5
- * String properties are normalized by case for comparisons to prevent sorting AbC as ACb
6
- * @param items - the set of items to sort. Expected to be a set of complex objects to sort by the given properties
7
- * @param properties - a list of values, each of which can be number, date, string, etc property types.
8
- * Can be the name or path to the property to look at, passed to the lodash get function so "address.line1" works if item is
9
- * a meter object like {meterName: 'name', addres: { line1: '100 Factory Street' } }
10
- * @see https://lodash.com/docs/4.17.10#get
11
- */
12
- export function sortByIgnoreCase(items, properties) {
13
- let iteratees = [];
14
- iteratees = properties.map(prop => {
15
- return (item) => safeToLower(item, prop);
16
- });
17
- return sortBy(items, iteratees);
18
- }
19
- /**
20
- * A wrapper around the lodash orderBy that supports treating upper case and lower case text as the same.
21
- * @param items - the set of items to sort. Expected to be a set of complex objects to sort by the given properties
22
- * @param properties - a list of values, each of which can be number, date, string, etc property types.
23
- * @param direction - the direction in which to sort, the pass in an array of directions to match an array of properties
24
- */
25
- export function orderByIgnoreCase(items, properties, direction) {
26
- let iteratees = [];
27
- iteratees = properties.map(prop => {
28
- // Treat nulls as empty string to sort them at the bottom when decending, helpful when looking at dates
29
- return (item) => safeToLower(item, prop) || '';
30
- });
31
- return orderBy(items, iteratees, direction);
32
- }
33
- /**
34
- * Convert the provided item's property to the lowercase version of it if that property
35
- * has a value and the value is a string. Non-string or null/undefined values are kept exactly as they were
36
- * @param item - the object on which the value will be read and interpreted
37
- * @param prop - the name or path to the property to look at, passed to the lodash get function so "address.line1" works if item is
38
- * a meter object like {meterName: 'name', address: { line1: '100 Factory Street' } }
39
- * @see https://lodash.com/docs/4.17.10#get
40
- */
41
- function safeToLower(item, prop) {
42
- let value = get(item, prop);
43
- if (item && typeof value === 'string') {
44
- return value.toLowerCase();
45
- }
46
- else {
47
- // @ts-ignore
48
- return item[prop];
49
- }
50
- }
51
- ;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kYXNoLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvbG9kYXNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFOUM7Ozs7Ozs7OztFQVNFO0FBQ0YsTUFBTSxVQUFVLGdCQUFnQixDQUFJLEtBQVUsRUFBRSxVQUFvQjtJQUNsRSxJQUFJLFNBQVMsR0FBZ0UsRUFBRSxDQUFDO0lBRWhGLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQSxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFbEMsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFJLEtBQVUsRUFBRSxVQUFvQixFQUFFLFNBQStCO0lBQ3BHLElBQUksU0FBUyxHQUFnRSxFQUFFLENBQUM7SUFFaEYsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEMsdUdBQXVHO1FBQ3ZHLE9BQU8sQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQVMsV0FBVyxDQUFJLElBQU8sRUFBRSxJQUFZO0lBQzNDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsSUFBRyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFDLENBQUM7UUFDcEMsT0FBZ0IsS0FBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7U0FBTSxDQUFDO1FBQ04sYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7QUFDSCxDQUFDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCwgb3JkZXJCeSwgc29ydEJ5IH0gZnJvbSBcImxvZGFzaFwiO1xuXG4vKiogQSB3cmFwcGVyIGFyb3VuZCB0aGUgbG9kYXNoIHNvcnRCeSB0aGF0IHN1cHBvcnRzIHRyZWF0aW5nIHVwcGVyIGNhc2UgYW5kIGxvd2VyIGNhc2UgdGV4dCBhcyB0aGUgc2FtZS4gIFxuICogSWYgdGhlIHVuZGVybHlpbmcgcHJvcGVydHkgdmFsdWUgaXMgbm90IGEgc3RyaW5nIChvciBpcyBudWxsIG9yIHVuZGVmaW5lZCkgdGhpcyBmdW5jdGlvbiB3aWxsIGJlaGF2ZSBqdXN0IGxpa2UgbG9kYXNoJ3Mgb3JpZ2luYWxcbiAqIFRoZSBvcmlnaW5hbCBhcnJheSBpcyBub3QgbW9kaWZpZWQsIGFuZCB0aGUgcmVzdWx0IGlzIGEgbmV3bHkgY3JlYXRlZCBhcnJheSB0byBhdm9pZCBhbnkgc2lkZSBlZmZlY3RzIChqdXN0IGxpa2UgdGhlIGxvZGFzaCBpbXBsZW1lbnRhdGlvbilcbiAqIFN0cmluZyBwcm9wZXJ0aWVzIGFyZSBub3JtYWxpemVkIGJ5IGNhc2UgZm9yIGNvbXBhcmlzb25zIHRvIHByZXZlbnQgc29ydGluZyBBYkMgYXMgQUNiXG4gKiBAcGFyYW0gaXRlbXMgLSB0aGUgc2V0IG9mIGl0ZW1zIHRvIHNvcnQuIEV4cGVjdGVkIHRvIGJlIGEgc2V0IG9mIGNvbXBsZXggb2JqZWN0cyB0byBzb3J0IGJ5IHRoZSBnaXZlbiBwcm9wZXJ0aWVzXG4gKiBAcGFyYW0gcHJvcGVydGllcyAtIGEgbGlzdCBvZiB2YWx1ZXMsIGVhY2ggb2Ygd2hpY2ggY2FuIGJlIG51bWJlciwgZGF0ZSwgc3RyaW5nLCBldGMgcHJvcGVydHkgdHlwZXMuIFxuICogICAgICAgIENhbiBiZSB0aGUgbmFtZSBvciBwYXRoIHRvIHRoZSBwcm9wZXJ0eSB0byBsb29rIGF0LCBwYXNzZWQgdG8gdGhlIGxvZGFzaCBnZXQgZnVuY3Rpb24gc28gXCJhZGRyZXNzLmxpbmUxXCIgd29ya3MgaWYgaXRlbSBpc1xuICogICAgICAgIGEgbWV0ZXIgb2JqZWN0IGxpa2Uge21ldGVyTmFtZTogJ25hbWUnLCBhZGRyZXM6IHsgbGluZTE6ICcxMDAgRmFjdG9yeSBTdHJlZXQnIH0gfVxuICogQHNlZSBodHRwczovL2xvZGFzaC5jb20vZG9jcy80LjE3LjEwI2dldFxuKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlJZ25vcmVDYXNlPFQ+KGl0ZW1zOiBUW10sIHByb3BlcnRpZXM6IHN0cmluZ1tdKSA6IFRbXSB7XG4gIGxldCBpdGVyYXRlZXM6ICgodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIGNvbGxlY3Rpb246IEFycmF5TGlrZTxUPik9PiBUKVtdID0gW107XG5cbiAgaXRlcmF0ZWVzID0gcHJvcGVydGllcy5tYXAocHJvcD0+e1xuICAgIHJldHVybiAoaXRlbTogVCkgPT4gc2FmZVRvTG93ZXIoaXRlbSwgcHJvcCk7XG4gIH0pO1xuXG4gIHJldHVybiBzb3J0QnkoaXRlbXMsIGl0ZXJhdGVlcyk7XG4gIFxufVxuXG4vKipcbiAqIEEgd3JhcHBlciBhcm91bmQgdGhlIGxvZGFzaCBvcmRlckJ5IHRoYXQgc3VwcG9ydHMgdHJlYXRpbmcgdXBwZXIgY2FzZSBhbmQgbG93ZXIgY2FzZSB0ZXh0IGFzIHRoZSBzYW1lLlxuICogQHBhcmFtIGl0ZW1zIC0gdGhlIHNldCBvZiBpdGVtcyB0byBzb3J0LiBFeHBlY3RlZCB0byBiZSBhIHNldCBvZiBjb21wbGV4IG9iamVjdHMgdG8gc29ydCBieSB0aGUgZ2l2ZW4gcHJvcGVydGllc1xuICogQHBhcmFtIHByb3BlcnRpZXMgLSBhIGxpc3Qgb2YgdmFsdWVzLCBlYWNoIG9mIHdoaWNoIGNhbiBiZSBudW1iZXIsIGRhdGUsIHN0cmluZywgZXRjIHByb3BlcnR5IHR5cGVzLiBcbiAqIEBwYXJhbSBkaXJlY3Rpb24gLSB0aGUgZGlyZWN0aW9uIGluIHdoaWNoIHRvIHNvcnQsIHRoZSBwYXNzIGluIGFuIGFycmF5IG9mIGRpcmVjdGlvbnMgdG8gbWF0Y2ggYW4gYXJyYXkgb2YgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gb3JkZXJCeUlnbm9yZUNhc2U8VD4oaXRlbXM6IFRbXSwgcHJvcGVydGllczogc3RyaW5nW10sIGRpcmVjdGlvbj86IEFycmF5PFwiYXNjXCJ8XCJkZXNjXCI+KTogVFtdIHtcbiAgbGV0IGl0ZXJhdGVlczogKCh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgY29sbGVjdGlvbjogQXJyYXlMaWtlPFQ+KT0+IFQpW10gPSBbXTtcblxuICBpdGVyYXRlZXMgPSBwcm9wZXJ0aWVzLm1hcChwcm9wID0+IHtcbiAgICAvLyBUcmVhdCBudWxscyBhcyBlbXB0eSBzdHJpbmcgdG8gc29ydCB0aGVtIGF0IHRoZSBib3R0b20gd2hlbiBkZWNlbmRpbmcsIGhlbHBmdWwgd2hlbiBsb29raW5nIGF0IGRhdGVzXG4gICAgcmV0dXJuIChpdGVtOiBUKSA9PiBzYWZlVG9Mb3dlcihpdGVtLCBwcm9wKSB8fCAnJztcbiAgfSk7XG5cbiAgcmV0dXJuIG9yZGVyQnkoaXRlbXMsIGl0ZXJhdGVlcywgZGlyZWN0aW9uKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHRoZSBwcm92aWRlZCBpdGVtJ3MgcHJvcGVydHkgdG8gdGhlIGxvd2VyY2FzZSB2ZXJzaW9uIG9mIGl0IGlmIHRoYXQgcHJvcGVydHlcbiAqIGhhcyBhIHZhbHVlIGFuZCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcuIE5vbi1zdHJpbmcgb3IgbnVsbC91bmRlZmluZWQgdmFsdWVzIGFyZSBrZXB0IGV4YWN0bHkgYXMgdGhleSB3ZXJlXG4gKiBAcGFyYW0gaXRlbSAtIHRoZSBvYmplY3Qgb24gd2hpY2ggdGhlIHZhbHVlIHdpbGwgIGJlIHJlYWQgYW5kIGludGVycHJldGVkXG4gKiBAcGFyYW0gcHJvcCAtIHRoZSBuYW1lIG9yIHBhdGggdG8gdGhlIHByb3BlcnR5IHRvIGxvb2sgYXQsIHBhc3NlZCB0byB0aGUgbG9kYXNoIGdldCBmdW5jdGlvbiBzbyBcImFkZHJlc3MubGluZTFcIiB3b3JrcyBpZiBpdGVtIGlzXG4gKiBhIG1ldGVyIG9iamVjdCBsaWtlIHttZXRlck5hbWU6ICduYW1lJywgYWRkcmVzczogeyBsaW5lMTogJzEwMCBGYWN0b3J5IFN0cmVldCcgfSB9XG4gKiBAc2VlIGh0dHBzOi8vbG9kYXNoLmNvbS9kb2NzLzQuMTcuMTAjZ2V0XG4gKi9cbmZ1bmN0aW9uIHNhZmVUb0xvd2VyPFQ+KGl0ZW06IFQsIHByb3A6IHN0cmluZyl7XG4gIGxldCB2YWx1ZSA9IGdldChpdGVtLCBwcm9wKTtcbiAgaWYoaXRlbSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKXtcbiAgICByZXR1cm4gKDxzdHJpbmc+dmFsdWUpLnRvTG93ZXJDYXNlKCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBpdGVtW3Byb3BdO1xuICB9XG59OyJdfQ==