@energycap/components 0.41.0 → 0.41.1-ECAP-27592-angular-17.20241219-1718
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/energycap-components.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components.module.mjs +418 -418
- package/{esm2020 → esm2022}/lib/controls/banner/banner.component.mjs +109 -109
- package/{esm2020 → esm2022}/lib/controls/button/button.component.mjs +106 -106
- package/{esm2020 → esm2022}/lib/controls/button/copy-button-base.directive.mjs +67 -67
- package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
- package/{esm2020 → esm2022}/lib/controls/button/copy-table-button.directive.mjs +43 -43
- package/{esm2020 → esm2022}/lib/controls/calendar/calendar-item.component.mjs +59 -59
- package/{esm2020 → esm2022}/lib/controls/calendar/calendar.component.mjs +200 -200
- package/{esm2020 → esm2022}/lib/controls/calendar/calendar.types.mjs +3 -3
- package/{esm2020 → esm2022}/lib/controls/checkbox/checkbox.component.mjs +140 -140
- package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
- package/{esm2020 → esm2022}/lib/controls/combobox/combobox.component.mjs +879 -879
- package/{esm2020 → esm2022}/lib/controls/date-input/date-input.component.mjs +256 -256
- package/{esm2020 → esm2022}/lib/controls/dropdown/dropdown.component.mjs +243 -243
- package/{esm2020 → esm2022}/lib/controls/file-upload/file-upload.component.mjs +261 -261
- package/{esm2020 → esm2022}/lib/controls/form-control/form-control.component.mjs +104 -104
- package/{esm2020 → esm2022}/lib/controls/form-control-base.mjs +151 -151
- package/{esm2020 → esm2022}/lib/controls/form-control-label/form-control-label.component.mjs +136 -136
- package/{esm2020 → esm2022}/lib/controls/form-group/form-group.component.mjs +261 -261
- package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/controls/item-picker/item-picker.component.mjs +329 -329
- package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
- package/{esm2020 → esm2022}/lib/controls/menu/menu.component.mjs +485 -485
- package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/controls/navigation/nav-group.mjs +38 -38
- package/{esm2020 → esm2022}/lib/controls/navigation/nav-item-active.directive.mjs +92 -92
- package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/controls/numericbox/numericbox.component.mjs +372 -372
- package/{esm2020 → esm2022}/lib/controls/popover/popover.component.mjs +117 -117
- package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
- package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button.component.mjs +82 -82
- package/{esm2020 → esm2022}/lib/controls/select/select.component.mjs +88 -88
- package/{esm2020 → esm2022}/lib/controls/tabs/tabs.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/controls/textbox/textbox.component.mjs +155 -155
- package/{esm2020 → esm2022}/lib/core/cache.service.mjs +105 -105
- package/esm2022/lib/core/custom-validators.mjs +29 -0
- package/esm2022/lib/core/date-time-helper.mjs +220 -0
- package/{esm2020 → esm2022}/lib/core/error.service.mjs +61 -61
- package/{esm2020 → esm2022}/lib/core/router-helper.service.mjs +111 -111
- package/{esm2020 → esm2022}/lib/core/scroll.service.mjs +89 -89
- package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
- package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/core/validation-message.service.mjs +185 -185
- package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
- package/{esm2020 → esm2022}/lib/core/window.service.mjs +186 -186
- package/{esm2020 → esm2022}/lib/display/app-bar/app-bar.component.mjs +46 -46
- package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
- package/{esm2020 → esm2022}/lib/display/avatar/avatar.service.mjs +64 -64
- package/{esm2020 → esm2022}/lib/display/confirm/confirm.component.mjs +168 -168
- package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
- package/{esm2020 → esm2022}/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -63
- package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
- package/{esm2020 → esm2022}/lib/display/dialog/dialog.component.mjs +281 -281
- package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
- package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-base.mjs +111 -111
- package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
- package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -61
- package/{esm2020 → esm2022}/lib/display/item-display/item-display.component.mjs +81 -81
- package/{esm2020 → esm2022}/lib/display/json-display/json-display.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/display/resizable/resizable-base.mjs +120 -120
- package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
- package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
- package/{esm2020 → esm2022}/lib/display/splash/splash.component.mjs +42 -42
- package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/display/table/resizable-table.directive.mjs +227 -227
- package/{esm2020 → esm2022}/lib/display/table/searchable-table.component.mjs +342 -342
- package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
- package/{esm2020 → esm2022}/lib/display/table/table-locked-column.component.mjs +58 -58
- package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
- package/{esm2020 → esm2022}/lib/display/table/table-master-row.component.mjs +163 -163
- package/{esm2020 → esm2022}/lib/display/table/table-pagination.component.mjs +155 -155
- package/{esm2020 → esm2022}/lib/display/table/table-selectable-row.component.mjs +235 -235
- package/{esm2020 → esm2022}/lib/display/table/table.component.mjs +249 -249
- package/{esm2020 → esm2022}/lib/display/tags/tag.mjs +17 -17
- package/{esm2020 → esm2022}/lib/display/tags/tags.component.mjs +77 -77
- package/{esm2020 → esm2022}/lib/display/toast/toast/toast.component.mjs +77 -77
- package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
- package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/display/toast/toaster/toaster.component.mjs +114 -114
- package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
- package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
- package/{esm2020 → esm2022}/lib/display/tooltip-directive/tooltip.directive.mjs +173 -173
- package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
- package/{esm2020 → esm2022}/lib/display/tour/tour.component.mjs +398 -398
- package/{esm2020 → esm2022}/lib/display/tour/tour.service.mjs +75 -75
- package/{esm2020 → esm2022}/lib/display/tree/tree.component.mjs +135 -135
- package/{esm2020 → esm2022}/lib/display/view-overlay/view-overlay.component.mjs +58 -58
- package/{esm2020 → esm2022}/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -32
- package/{esm2020 → esm2022}/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -111
- package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
- package/{esm2020 → esm2022}/lib/shared/display/pipes/date-display.pipe.mjs +50 -50
- package/{esm2020 → esm2022}/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -30
- package/{esm2020 → esm2022}/lib/shared/display/pipes/relative-date.pipe.mjs +62 -62
- package/{esm2020 → esm2022}/lib/shared/display/pipes/row-count.pipe.mjs +48 -48
- package/{esm2020 → esm2022}/lib/shared/display/pipes/time-display.pipe.mjs +41 -41
- package/esm2022/lib/shared/display.mjs +6 -0
- package/esm2022/lib/shared/form-group.helper.mjs +67 -0
- package/{esm2020 → esm2022}/lib/shared/json-helper.mjs +18 -18
- package/esm2022/lib/shared/lodash-helper.mjs +52 -0
- package/{esm2020 → esm2022}/lib/shared/page/page-base/page-base.component.mjs +387 -387
- package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
- package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
- package/{esm2020 → esm2022}/lib/shared/page/page-view/page-view.component.mjs +147 -147
- package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
- package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
- package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
- package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
- package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
- package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
- package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
- package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
- package/{esm2020 → esm2022}/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -246
- package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
- package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
- package/{esm2020 → esm2022}/public-api.mjs +114 -114
- package/{fesm2020 → fesm2022}/energycap-components.mjs +11797 -11793
- package/fesm2022/energycap-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components.module.d.ts +91 -91
- package/lib/controls/banner/banner.component.d.ts +50 -50
- package/lib/controls/button/button.component.d.ts +78 -78
- package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
- package/lib/controls/button/copy-button.directive.d.ts +14 -14
- package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
- package/lib/controls/calendar/calendar-item.component.d.ts +17 -17
- package/lib/controls/calendar/calendar.component.d.ts +54 -54
- package/lib/controls/calendar/calendar.types.d.ts +7 -7
- package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
- package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
- package/lib/controls/combobox/combobox.component.d.ts +418 -418
- package/lib/controls/date-input/date-input.component.d.ts +80 -80
- package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
- package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
- package/lib/controls/form-control/form-control.component.d.ts +30 -30
- package/lib/controls/form-control-base.d.ts +110 -110
- package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
- package/lib/controls/form-group/form-group.component.d.ts +105 -105
- package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
- package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
- package/lib/controls/link-button/link-button.component.d.ts +5 -5
- package/lib/controls/menu/menu.component.d.ts +255 -255
- package/lib/controls/navigation/link-item.d.ts +32 -32
- package/lib/controls/navigation/nav-group.d.ts +18 -18
- package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
- package/lib/controls/navigation/nav-item.d.ts +31 -31
- package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
- package/lib/controls/popover/popover.component.d.ts +51 -51
- package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
- package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
- package/lib/controls/select/select.component.d.ts +44 -44
- package/lib/controls/tabs/tabs.component.d.ts +30 -30
- package/lib/controls/textbox/textbox.component.d.ts +107 -107
- package/lib/core/cache.service.d.ts +33 -33
- package/lib/core/custom-validators.d.ts +20 -20
- package/lib/core/date-time-helper.d.ts +101 -101
- package/lib/core/error.service.d.ts +20 -20
- package/lib/core/router-helper.service.d.ts +48 -48
- package/lib/core/scroll.service.d.ts +36 -36
- package/lib/core/telemetry-tracker.service.d.ts +13 -13
- package/lib/core/telemetry.service.d.ts +31 -31
- package/lib/core/validation-message.service.d.ts +26 -26
- package/lib/core/validation-patterns.d.ts +22 -22
- package/lib/core/window.service.d.ts +116 -116
- package/lib/display/app-bar/app-bar.component.d.ts +20 -20
- package/lib/display/avatar/avatar.component.d.ts +35 -35
- package/lib/display/avatar/avatar.service.d.ts +24 -24
- package/lib/display/confirm/confirm.component.d.ts +123 -123
- package/lib/display/dialog/dialog-content.d.ts +19 -19
- package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
- package/lib/display/dialog/dialog-types.d.ts +130 -130
- package/lib/display/dialog/dialog.component.d.ts +120 -120
- package/lib/display/dialog/dialog.service.d.ts +48 -48
- package/lib/display/help/help-types.d.ts +33 -33
- package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
- package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
- package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
- package/lib/display/item-display/item-display.component.d.ts +43 -43
- package/lib/display/json-display/json-display.component.d.ts +16 -16
- package/lib/display/resizable/resizable-base.d.ts +67 -67
- package/lib/display/resizable/resizable.component.d.ts +31 -31
- package/lib/display/spinner/spinner.component.d.ts +5 -5
- package/lib/display/splash/splash.component.d.ts +16 -16
- package/lib/display/splash/splash.service.d.ts +22 -22
- package/lib/display/table/resizable-column.component.d.ts +10 -10
- package/lib/display/table/resizable-table.directive.d.ts +93 -93
- package/lib/display/table/searchable-table.component.d.ts +206 -206
- package/lib/display/table/table-detail-row.component.d.ts +8 -8
- package/lib/display/table/table-locked-column.component.d.ts +20 -20
- package/lib/display/table/table-master-header-row.component.d.ts +9 -9
- package/lib/display/table/table-master-row.component.d.ts +113 -113
- package/lib/display/table/table-pagination.component.d.ts +91 -91
- package/lib/display/table/table-selectable-row.component.d.ts +102 -102
- package/lib/display/table/table.component.d.ts +121 -121
- package/lib/display/tags/tag.d.ts +18 -18
- package/lib/display/tags/tags.component.d.ts +48 -48
- package/lib/display/toast/toast/toast.component.d.ts +23 -23
- package/lib/display/toast/toast-types.d.ts +24 -24
- package/lib/display/toast/toast.service.d.ts +20 -20
- package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
- package/lib/display/tooltip/tooltip.component.d.ts +70 -70
- package/lib/display/tooltip/tooltip.service.d.ts +16 -16
- package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
- package/lib/display/tour/tour-types.d.ts +70 -70
- package/lib/display/tour/tour.component.d.ts +147 -147
- package/lib/display/tour/tour.service.d.ts +38 -38
- package/lib/display/tree/tree.component.d.ts +75 -75
- package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
- package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
- package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
- package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
- package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
- package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
- package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
- package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
- package/lib/shared/display.d.ts +42 -42
- package/lib/shared/form-group.helper.d.ts +31 -31
- package/lib/shared/json-helper.d.ts +7 -7
- package/lib/shared/lodash-helper.d.ts +18 -18
- package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
- package/lib/shared/page/page-statuses.d.ts +13 -13
- package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
- package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
- package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
- package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
- package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
- package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
- package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
- package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
- package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
- package/lib/shared/user-preference.service.d.ts +13 -13
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
- package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
- package/package.json +12 -18
- package/public-api.d.ts +111 -111
- package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
- package/schematics/rxjs-7-upgrade/index.js +67 -67
- package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
- package/schematics/rxjs-7-upgrade/schema.js +2 -2
- package/schematics/utilities/typescript.d.ts +7 -7
- package/schematics/utilities/typescript.js +41 -41
- package/schematics/utilities/workspace.d.ts +8 -8
- package/schematics/utilities/workspace.js +71 -71
- package/esm2020/lib/core/custom-validators.mjs +0 -29
- package/esm2020/lib/core/date-time-helper.mjs +0 -220
- package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
- package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
- package/esm2020/lib/shared/display.mjs +0 -6
- package/esm2020/lib/shared/form-group.helper.mjs +0 -67
- package/esm2020/lib/shared/lodash-helper.mjs +0 -51
- package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
- package/fesm2015/energycap-components.mjs +0 -12211
- package/fesm2015/energycap-components.mjs.map +0 -1
- package/fesm2020/energycap-components.mjs.map +0 -1
@@ -0,0 +1,166 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { Directive, EventEmitter, Inject, Input } from '@angular/core';
|
3
|
+
import Popper from 'popper.js';
|
4
|
+
import { fromEvent } from "rxjs";
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
/**
|
7
|
+
* Primitive directive that popups a container using PopperJS
|
8
|
+
*
|
9
|
+
* @export
|
10
|
+
*/
|
11
|
+
export class PopupContainerDirective {
|
12
|
+
/**
|
13
|
+
* Global reference to the currently displayed popup; only
|
14
|
+
* one popup directive can be in `show` state at a given time.
|
15
|
+
*
|
16
|
+
* @memberof PopupContainerDirective
|
17
|
+
*/
|
18
|
+
static { this.GlobalPopupRef = undefined; }
|
19
|
+
/**
|
20
|
+
* Creates an instance of PopupContainerDirective.
|
21
|
+
* @param templateRef Reference to the popup template
|
22
|
+
* @param viewContainer Reference to the view container
|
23
|
+
* @param document Reference to Document
|
24
|
+
* @memberof PopupContainerDirective
|
25
|
+
*/
|
26
|
+
constructor(templateRef, viewContainer, document, renderer) {
|
27
|
+
this.templateRef = templateRef;
|
28
|
+
this.viewContainer = viewContainer;
|
29
|
+
this.document = document;
|
30
|
+
this.renderer = renderer;
|
31
|
+
/**
|
32
|
+
* Emit the {@link PopupStatus} when it changes
|
33
|
+
*/
|
34
|
+
this.popperStatusChange = new EventEmitter();
|
35
|
+
}
|
36
|
+
/**
|
37
|
+
* Angular onInit lifecycle hook
|
38
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
39
|
+
*/
|
40
|
+
ngOnInit() {
|
41
|
+
this.templateViewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Angular onDestroy lifecycle hook. Close and delete references. Unsubscribe observables
|
45
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
46
|
+
*/
|
47
|
+
ngOnDestroy() {
|
48
|
+
this.hide();
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Displays the templateRef as a popup
|
52
|
+
*
|
53
|
+
* @memberof PopupContainerDirective
|
54
|
+
*/
|
55
|
+
show() {
|
56
|
+
if (PopupContainerDirective.GlobalPopupRef) {
|
57
|
+
if (PopupContainerDirective.GlobalPopupRef != this) {
|
58
|
+
PopupContainerDirective.GlobalPopupRef.hide();
|
59
|
+
PopupContainerDirective.GlobalPopupRef = undefined;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
if (!this.globalCloseSubscription) {
|
63
|
+
this.globalCloseSubscription = fromEvent(this.document.body, "click").subscribe((event) => {
|
64
|
+
this.hide();
|
65
|
+
});
|
66
|
+
}
|
67
|
+
if (!this.popperRef) {
|
68
|
+
// Add the popper template as an embedded view since PopperJS
|
69
|
+
// manipulates DOM elements.
|
70
|
+
this.popupViewRef = this.viewContainer.createEmbeddedView(this.popup);
|
71
|
+
// Since popper needs real DOM elements, grab the first non-comment
|
72
|
+
// DOM element to use as our anchor.
|
73
|
+
let anchorElement = this.popupViewRef.rootNodes.find(elem => { return elem.nodeName !== "#text"; });
|
74
|
+
// Use the parents elements as our DOM elements to Popper
|
75
|
+
this.popperRef = new Popper(this.templateViewRef.rootNodes[0], anchorElement, this.popperOptions);
|
76
|
+
PopupContainerDirective.GlobalPopupRef = this;
|
77
|
+
this.popperStatusChange.emit('visible');
|
78
|
+
}
|
79
|
+
}
|
80
|
+
/**
|
81
|
+
* Hides the templateRef
|
82
|
+
*
|
83
|
+
* @memberof PopupContainerDirective
|
84
|
+
*/
|
85
|
+
hide() {
|
86
|
+
if (this.globalCloseSubscription) {
|
87
|
+
this.globalCloseSubscription.unsubscribe();
|
88
|
+
this.globalCloseSubscription = undefined;
|
89
|
+
}
|
90
|
+
if (this.popperRef && this.popupViewRef) {
|
91
|
+
this.popupViewRef.destroy();
|
92
|
+
this.popperRef.destroy();
|
93
|
+
this.popperRef = undefined;
|
94
|
+
this.popperStatusChange.emit('hidden');
|
95
|
+
}
|
96
|
+
}
|
97
|
+
/**
|
98
|
+
* Updates the popup container position
|
99
|
+
*/
|
100
|
+
update() {
|
101
|
+
if (this.popperRef) {
|
102
|
+
this.popperRef.update();
|
103
|
+
}
|
104
|
+
}
|
105
|
+
fixPosition(minWidthNone, appendToBody = false) {
|
106
|
+
// @ts-ignore
|
107
|
+
if (this.popperRef && this.popperRef['reference'] && this.popperRef['popper']) {
|
108
|
+
// @ts-ignore
|
109
|
+
let popupEl = this.popperRef['popper'];
|
110
|
+
// Reset width style previously assigned because the content may have
|
111
|
+
// changed and the auto width would be different
|
112
|
+
this.renderer.removeStyle(popupEl, 'width');
|
113
|
+
this.renderer.setStyle(popupEl, 'position', 'fixed');
|
114
|
+
if (appendToBody) {
|
115
|
+
const bodyEl = this.document.querySelector('body');
|
116
|
+
const popupParent = this.renderer.parentNode(popupEl);
|
117
|
+
if (popupParent !== bodyEl) {
|
118
|
+
this.renderer.appendChild(bodyEl, popupEl);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
// @ts-ignore
|
122
|
+
let toggleEl = this.popperRef['reference'];
|
123
|
+
let width = popupEl.offsetWidth;
|
124
|
+
let boundaries = popupEl.getBoundingClientRect();
|
125
|
+
let left = boundaries.left;
|
126
|
+
let coords = toggleEl.getBoundingClientRect();
|
127
|
+
// Set the top of our menu to the bottom of the toggle element
|
128
|
+
let top = coords.bottom;
|
129
|
+
if (this.popperOptions && this.popperOptions.placement) {
|
130
|
+
if (this.popperOptions.placement === 'bottom-start' || this.popperOptions.placement === 'top-start') {
|
131
|
+
left = coords.left;
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
left = coords.right - ((minWidthNone || width > coords.width) ? width : coords.width);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
// if it won't fit (with 10px space before hitting the window edge), flip it
|
138
|
+
if (boundaries.height + top + 10 > window.innerHeight) {
|
139
|
+
top = coords.top - boundaries.height;
|
140
|
+
}
|
141
|
+
this.renderer.setStyle(popupEl, 'transform', 'none');
|
142
|
+
this.renderer.setStyle(popupEl, 'left', left + 'px');
|
143
|
+
this.renderer.setStyle(popupEl, 'top', top + 'px');
|
144
|
+
this.renderer.setStyle(popupEl, 'width', width + 'px');
|
145
|
+
if (!minWidthNone) {
|
146
|
+
this.renderer.setStyle(popupEl, 'min-width', coords.width + 'px');
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
151
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopupContainerDirective, selector: "[ecPopup]", inputs: { popup: ["ecPopup", "popup"], popperOptions: ["options", "popperOptions"] }, ngImport: i0 }); }
|
152
|
+
}
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerDirective, decorators: [{
|
154
|
+
type: Directive,
|
155
|
+
args: [{ selector: '[ecPopup]' }]
|
156
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
157
|
+
type: Inject,
|
158
|
+
args: [DOCUMENT]
|
159
|
+
}] }, { type: i0.Renderer2 }]; }, propDecorators: { popup: [{
|
160
|
+
type: Input,
|
161
|
+
args: ['ecPopup']
|
162
|
+
}], popperOptions: [{
|
163
|
+
type: Input,
|
164
|
+
args: ['options']
|
165
|
+
}] } });
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9wb3B1cC9wb3B1cC1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFtQixZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBK0QsTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQUsvQzs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQzs7Ozs7T0FLRzthQUNXLG1CQUFjLEdBQTZCLFNBQVMsQUFBdEMsQ0FBdUM7SUE2Q25FOzs7Ozs7T0FNRztJQUNILFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0IsRUFDYixRQUFhLEVBQy9CLFFBQW1CO1FBSG5CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFxQi9COztXQUVHO1FBQ0ksdUJBQWtCLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7SUF2QnBGLENBQUM7SUFFSjs7O09BR0c7SUFDSCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBU0Q7Ozs7T0FJRztJQUNJLElBQUk7UUFDUCxJQUFJLHVCQUF1QixDQUFDLGNBQWMsRUFBRTtZQUN4QyxJQUFJLHVCQUF1QixDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7Z0JBQ2hELHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUMsdUJBQXVCLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQzthQUN0RDtTQUNKO1FBRUQsSUFBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUM5QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN0RixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLDZEQUE2RDtZQUM3RCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV0RSxtRUFBbUU7WUFDbkUsb0NBQW9DO1lBQ3BDLElBQUksYUFBYSxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFHOUcseURBQXlEO1lBQ3pELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNqQyxhQUFhLEVBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBR3hCLHVCQUF1QixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFFOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzQztJQUNMLENBQUM7SUFHRDs7OztPQUlHO0lBQ0ksSUFBSTtRQUNQLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQzlCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLFlBQXFCLEVBQUUsWUFBWSxHQUFDLEtBQUs7UUFDeEQsYUFBYTtRQUNiLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUUsYUFBYTtZQUNiLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkMscUVBQXFFO1lBQ3JFLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVyRCxJQUFJLFlBQVksRUFBRTtnQkFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3RELElBQUksV0FBVyxLQUFLLE1BQU0sRUFBRTtvQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2lCQUM5QzthQUNKO1lBRUQsYUFBYTtZQUNiLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0MsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUNoQyxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNqRCxJQUFJLElBQUksR0FBVSxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBRTlDLDhEQUE4RDtZQUM5RCxJQUFJLEdBQUcsR0FBVSxNQUFNLENBQUMsTUFBTSxDQUFDO1lBRS9CLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRTtnQkFDcEQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsS0FBSyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEtBQUssV0FBVyxFQUFFO29CQUNqRyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztpQkFDdEI7cUJBQU07b0JBQ0gsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekY7YUFDSjtZQUVELDRFQUE0RTtZQUM1RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUNuRCxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO2FBQ3hDO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztZQUV2RCxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQzthQUNyRTtTQUNKO0lBQ0wsQ0FBQzsrR0F0TlEsdUJBQXVCLDZFQStEcEIsUUFBUTttR0EvRFgsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTs7MEJBZ0UzQixNQUFNOzJCQUFDLFFBQVE7b0VBakRLLEtBQUs7c0JBQTdCLEtBQUs7dUJBQUMsU0FBUztnQkFPUyxhQUFhO3NCQUFyQyxLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBQb3BwZXIgZnJvbSAncG9wcGVyLmpzJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgUG9wdXBQbGFjZW1lbnQgPSAndG9wJyB8ICdyaWdodCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICd0b3Atc3RhcnQnIHwgJ3RvcC1lbmQnIHwgJ2JvdHRvbS1zdGFydCcgfCAnYm90dG9tLWVuZCc7XHJcbmV4cG9ydCB0eXBlIFBvcHVwU3RhdHVzID0gJ3Zpc2libGUnIHwgJ2hpZGRlbic7XHJcblxyXG4vKipcclxuICogUHJpbWl0aXZlIGRpcmVjdGl2ZSB0aGF0IHBvcHVwcyBhIGNvbnRhaW5lciB1c2luZyBQb3BwZXJKU1xyXG4gKlxyXG4gKiBAZXhwb3J0XHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbZWNQb3B1cF0nIH0pXHJcbmV4cG9ydCBjbGFzcyBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogIEdsb2JhbCByZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnRseSBkaXNwbGF5ZWQgcG9wdXA7IG9ubHlcclxuICAgICAqICBvbmUgcG9wdXAgZGlyZWN0aXZlIGNhbiBiZSBpbiBgc2hvd2Agc3RhdGUgYXQgYSBnaXZlbiB0aW1lLlxyXG4gICAgICpcclxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdsb2JhbFBvcHVwUmVmPzogUG9wdXBDb250YWluZXJEaXJlY3RpdmUgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1wbGF0ZVJlZiBvZiBjb250YWluZXIgdG8gcG9wdXBcclxuICAgICAqXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgnZWNQb3B1cCcpIHB1YmxpYyBwb3B1cCE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQb3BwZXIgb3B0aW9uc1xyXG4gICAgICpcclxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoJ29wdGlvbnMnKSBwdWJsaWMgcG9wcGVyT3B0aW9ucz86IFBvcHBlci5Qb3BwZXJPcHRpb25zO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGVtcGxhdGUgVmlldyBSZWZlcmVuY2VcclxuICAgICAqXHJcbiAgICAgKiBAbWVtYmVyb2YgUG9wdXBDb250YWluZXJEaXJlY3RpdmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVZpZXdSZWYhOiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBvcHVwIFZpZXcgUmVmZXJlbmNlIChjb250YWluZXIpXHJcbiAgICAgKlxyXG4gICAgICogQG1lbWJlcm9mIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcG9wdXBWaWV3UmVmPzogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQb3BwZXIgUmVmZXJlbmNlXHJcbiAgICAgKlxyXG4gICAgICogQG1lbWJlcm9mIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcG9wcGVyUmVmPzogUG9wcGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xvc2UtdG8tY2xpY2sgU3Vic2NyaXB0aW9uLiBUaGlzIGFsbG93cyB1cyB0byBjbG9zZSB0aGUgbWVudSB3aGVuIHlvdSBjbGljayBvbiB0aGUgYm9keS5cclxuICAgICAqIFdlIGF0dGFjaCBpdCB3aGVuIHRoZSBtZW51IGlzIG9wZW4gYW5kIGRldGFjaCBpdCBvbiBjbG9zZSwgdG8gbGltaXQgdGhlIGxpZmV0aW1lIG9mIHRoZSBjbGljayBoYW5kbGVyXHJcbiAgICAgKiB3aGljaCBoZWxwcyB3aXRoIHBlcmZvcm1hbmNlIG9uIGEgcGFnZSB3aXRoIG1hbnkgcG9wdXAgY29udGFpbmVyc1xyXG4gICAgICpcclxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdsb2JhbENsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZS5cclxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZVJlZiBSZWZlcmVuY2UgdG8gdGhlIHBvcHVwIHRlbXBsYXRlXHJcbiAgICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lciBSZWZlcmVuY2UgdG8gdGhlIHZpZXcgY29udGFpbmVyXHJcbiAgICAgKiBAcGFyYW0gZG9jdW1lbnQgUmVmZXJlbmNlIHRvIERvY3VtZW50XHJcbiAgICAgKiBAbWVtYmVyb2YgUG9wdXBDb250YWluZXJEaXJlY3RpdmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxyXG4gICAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQW5ndWxhciBvbkluaXQgbGlmZWN5Y2xlIGhvb2tcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rc1xyXG4gICAgICovXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlVmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQW5ndWxhciBvbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2suIENsb3NlIGFuZCBkZWxldGUgcmVmZXJlbmNlcy4gVW5zdWJzY3JpYmUgb2JzZXJ2YWJsZXNcclxuICAgICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rc1xyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0IHRoZSB7QGxpbmsgUG9wdXBTdGF0dXN9IHdoZW4gaXQgY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcG9wcGVyU3RhdHVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UG9wdXBTdGF0dXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb3B1cFN0YXR1cz4oKTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNwbGF5cyB0aGUgdGVtcGxhdGVSZWYgYXMgYSBwb3B1cFxyXG4gICAgICpcclxuICAgICAqIEBtZW1iZXJvZiBQb3B1cENvbnRhaW5lckRpcmVjdGl2ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoUG9wdXBDb250YWluZXJEaXJlY3RpdmUuR2xvYmFsUG9wdXBSZWYpIHtcclxuICAgICAgICAgICAgaWYgKFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLkdsb2JhbFBvcHVwUmVmICE9IHRoaXMpIHtcclxuICAgICAgICAgICAgICAgIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLkdsb2JhbFBvcHVwUmVmLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLkdsb2JhbFBvcHVwUmVmID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5nbG9iYWxDbG9zZVN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmdsb2JhbENsb3NlU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnQuYm9keSwgXCJjbGlja1wiKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMucG9wcGVyUmVmKSB7XHJcbiAgICAgICAgICAgIC8vIEFkZCB0aGUgcG9wcGVyIHRlbXBsYXRlIGFzIGFuIGVtYmVkZGVkIHZpZXcgc2luY2UgUG9wcGVySlNcclxuICAgICAgICAgICAgLy8gbWFuaXB1bGF0ZXMgRE9NIGVsZW1lbnRzLlxyXG4gICAgICAgICAgICB0aGlzLnBvcHVwVmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5wb3B1cCk7XHJcblxyXG4gICAgICAgICAgICAvLyBTaW5jZSBwb3BwZXIgbmVlZHMgcmVhbCBET00gZWxlbWVudHMsIGdyYWIgdGhlIGZpcnN0IG5vbi1jb21tZW50XHJcbiAgICAgICAgICAgIC8vIERPTSBlbGVtZW50IHRvIHVzZSBhcyBvdXIgYW5jaG9yLlxyXG4gICAgICAgICAgICBsZXQgYW5jaG9yRWxlbWVudCA9ICh0aGlzLnBvcHVwVmlld1JlZi5yb290Tm9kZXMgYXMgYW55W10pLmZpbmQoZWxlbSA9PiB7IHJldHVybiBlbGVtLm5vZGVOYW1lICE9PSBcIiN0ZXh0XCIgfSk7XHJcblxyXG5cclxuICAgICAgICAgICAgLy8gVXNlIHRoZSBwYXJlbnRzIGVsZW1lbnRzIGFzIG91ciBET00gZWxlbWVudHMgdG8gUG9wcGVyXHJcbiAgICAgICAgICAgIHRoaXMucG9wcGVyUmVmID0gbmV3IFBvcHBlcihcclxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVWaWV3UmVmLnJvb3ROb2Rlc1swXSxcclxuICAgICAgICAgICAgICAgIGFuY2hvckVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcHBlck9wdGlvbnMpO1xyXG5cclxuXHJcbiAgICAgICAgICAgIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlLkdsb2JhbFBvcHVwUmVmID0gdGhpcztcclxuXHJcbiAgICAgICAgICAgIHRoaXMucG9wcGVyU3RhdHVzQ2hhbmdlLmVtaXQoJ3Zpc2libGUnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGlkZXMgdGhlIHRlbXBsYXRlUmVmXHJcbiAgICAgKlxyXG4gICAgICogQG1lbWJlcm9mIFBvcHVwQ29udGFpbmVyRGlyZWN0aXZlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmdsb2JhbENsb3NlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsQ2xvc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5nbG9iYWxDbG9zZVN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnBvcHBlclJlZiAmJiB0aGlzLnBvcHVwVmlld1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVwVmlld1JlZi5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9wcGVyUmVmLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5wb3BwZXJSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMucG9wcGVyU3RhdHVzQ2hhbmdlLmVtaXQoJ2hpZGRlbicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdGhlIHBvcHVwIGNvbnRhaW5lciBwb3NpdGlvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdXBkYXRlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnBvcHBlclJlZikge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHBlclJlZi51cGRhdGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZpeFBvc2l0aW9uKG1pbldpZHRoTm9uZT86Ym9vbGVhbiwgYXBwZW5kVG9Cb2R5PWZhbHNlICk6dm9pZCB7XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIGlmKHRoaXMucG9wcGVyUmVmICYmIHRoaXMucG9wcGVyUmVmWydyZWZlcmVuY2UnXSAmJiB0aGlzLnBvcHBlclJlZlsncG9wcGVyJ10pIHtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICBsZXQgcG9wdXBFbCA9IHRoaXMucG9wcGVyUmVmWydwb3BwZXInXTtcclxuXHJcbiAgICAgICAgICAgIC8vIFJlc2V0IHdpZHRoIHN0eWxlIHByZXZpb3VzbHkgYXNzaWduZWQgYmVjYXVzZSB0aGUgY29udGVudCBtYXkgaGF2ZVxyXG4gICAgICAgICAgICAvLyBjaGFuZ2VkIGFuZCB0aGUgYXV0byB3aWR0aCB3b3VsZCBiZSBkaWZmZXJlbnRcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShwb3B1cEVsLCAnd2lkdGgnKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocG9wdXBFbCwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXBwZW5kVG9Cb2R5KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5RWwgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBvcHVwUGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHBvcHVwRWwpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHBvcHVwUGFyZW50ICE9PSBib2R5RWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGJvZHlFbCwgcG9wdXBFbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgbGV0IHRvZ2dsZUVsID0gdGhpcy5wb3BwZXJSZWZbJ3JlZmVyZW5jZSddO1xyXG4gICAgICAgICAgICBsZXQgd2lkdGggPSBwb3B1cEVsLm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICBsZXQgYm91bmRhcmllcyA9IHBvcHVwRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgIGxldCBsZWZ0Om51bWJlciA9IGJvdW5kYXJpZXMubGVmdDtcclxuICAgICAgICAgICAgbGV0IGNvb3JkcyA9IHRvZ2dsZUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICAgICAgLy8gU2V0IHRoZSB0b3Agb2Ygb3VyIG1lbnUgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdG9nZ2xlIGVsZW1lbnRcclxuICAgICAgICAgICAgbGV0IHRvcDpudW1iZXIgPSBjb29yZHMuYm90dG9tO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMucG9wcGVyT3B0aW9ucyAmJiB0aGlzLnBvcHBlck9wdGlvbnMucGxhY2VtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wb3BwZXJPcHRpb25zLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1zdGFydCcgfHwgdGhpcy5wb3BwZXJPcHRpb25zLnBsYWNlbWVudCA9PT0gJ3RvcC1zdGFydCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gY29vcmRzLmxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBjb29yZHMucmlnaHQgLSAoKG1pbldpZHRoTm9uZSB8fCB3aWR0aCA+IGNvb3Jkcy53aWR0aCkgPyB3aWR0aCA6IGNvb3Jkcy53aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIGlmIGl0IHdvbid0IGZpdCAod2l0aCAxMHB4IHNwYWNlIGJlZm9yZSBoaXR0aW5nIHRoZSB3aW5kb3cgZWRnZSksIGZsaXAgaXRcclxuICAgICAgICAgICAgaWYgKGJvdW5kYXJpZXMuaGVpZ2h0ICsgdG9wICsgMTAgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHRvcCA9IGNvb3Jkcy50b3AgLSBib3VuZGFyaWVzLmhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwb3B1cEVsLCAndHJhbnNmb3JtJywgJ25vbmUnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwb3B1cEVsLCAnbGVmdCcsIGxlZnQgKyAncHgnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwb3B1cEVsLCAndG9wJywgdG9wICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocG9wdXBFbCwgJ3dpZHRoJywgd2lkdGggKyAncHgnKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghbWluV2lkdGhOb25lKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBvcHVwRWwsICdtaW4td2lkdGgnLCBjb29yZHMud2lkdGggKyAncHgnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
@@ -1,50 +1,50 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import { DateTimeHelper } from '../../../core/date-time-helper';
|
3
|
-
import moment from 'moment';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../../user-preference.service";
|
6
|
-
/**
|
7
|
-
* Format a date to the user's preference for display
|
8
|
-
*/
|
9
|
-
export class DateDisplayPipe {
|
10
|
-
constructor(userPreferenceService) {
|
11
|
-
this.userPreferenceService = userPreferenceService;
|
12
|
-
this.lastFormatString = 'MM/DD/YYYY';
|
13
|
-
}
|
14
|
-
/**
|
15
|
-
* Format a date for display, accounting for user's display preferences.
|
16
|
-
*
|
17
|
-
* If {@see date} is null or undefined, or the end of time, returns empty string
|
18
|
-
*/
|
19
|
-
transform(date, showEndOfTime, showTime, showSeconds) {
|
20
|
-
let display = '';
|
21
|
-
let formatString = '';
|
22
|
-
if (date && moment(date).isValid() && (showEndOfTime || !DateTimeHelper.isEndOfTime(date))) {
|
23
|
-
// use user-preferred formats
|
24
|
-
this.userPreferenceService.getPreferences().subscribe(result => {
|
25
|
-
//if preferences exist then format date to users preference
|
26
|
-
//otherwise use the last user preference
|
27
|
-
if (result.preference) {
|
28
|
-
formatString = result.preference.dateFormat;
|
29
|
-
if (showTime) {
|
30
|
-
let timeFormat = result.preference.timeFormat;
|
31
|
-
if (!showSeconds) {
|
32
|
-
timeFormat = timeFormat.replace(':ss', '');
|
33
|
-
}
|
34
|
-
formatString += ` ${timeFormat}`;
|
35
|
-
}
|
36
|
-
this.lastFormatString = formatString;
|
37
|
-
}
|
38
|
-
});
|
39
|
-
display = moment(date).format(this.lastFormatString);
|
40
|
-
}
|
41
|
-
return display;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
47
|
-
type: Pipe,
|
48
|
-
args: [{ name: 'dateDisplay' }]
|
49
|
-
}], ctorParameters: function () { return [{ type: i1.UserPreferenceService }]; } });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import { DateTimeHelper } from '../../../core/date-time-helper';
|
3
|
+
import moment from 'moment';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "../../user-preference.service";
|
6
|
+
/**
|
7
|
+
* Format a date to the user's preference for display
|
8
|
+
*/
|
9
|
+
export class DateDisplayPipe {
|
10
|
+
constructor(userPreferenceService) {
|
11
|
+
this.userPreferenceService = userPreferenceService;
|
12
|
+
this.lastFormatString = 'MM/DD/YYYY';
|
13
|
+
}
|
14
|
+
/**
|
15
|
+
* Format a date for display, accounting for user's display preferences.
|
16
|
+
*
|
17
|
+
* If {@see date} is null or undefined, or the end of time, returns empty string
|
18
|
+
*/
|
19
|
+
transform(date, showEndOfTime, showTime, showSeconds) {
|
20
|
+
let display = '';
|
21
|
+
let formatString = '';
|
22
|
+
if (date && moment(date).isValid() && (showEndOfTime || !DateTimeHelper.isEndOfTime(date))) {
|
23
|
+
// use user-preferred formats
|
24
|
+
this.userPreferenceService.getPreferences().subscribe(result => {
|
25
|
+
//if preferences exist then format date to users preference
|
26
|
+
//otherwise use the last user preference
|
27
|
+
if (result.preference) {
|
28
|
+
formatString = result.preference.dateFormat;
|
29
|
+
if (showTime) {
|
30
|
+
let timeFormat = result.preference.timeFormat;
|
31
|
+
if (!showSeconds) {
|
32
|
+
timeFormat = timeFormat.replace(':ss', '');
|
33
|
+
}
|
34
|
+
formatString += ` ${timeFormat}`;
|
35
|
+
}
|
36
|
+
this.lastFormatString = formatString;
|
37
|
+
}
|
38
|
+
});
|
39
|
+
display = moment(date).format(this.lastFormatString);
|
40
|
+
}
|
41
|
+
return display;
|
42
|
+
}
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateDisplayPipe, deps: [{ token: i1.UserPreferenceService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
44
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DateDisplayPipe, name: "dateDisplay" }); }
|
45
|
+
}
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateDisplayPipe, decorators: [{
|
47
|
+
type: Pipe,
|
48
|
+
args: [{ name: 'dateDisplay' }]
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.UserPreferenceService }]; } });
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaXNwbGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Rpc3BsYXkvcGlwZXMvZGF0ZS1kaXNwbGF5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBSTVCOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFFeEQscUJBQWdCLEdBQVcsWUFBWSxDQUFDO0lBRm9CLENBQUM7SUFJckU7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxJQUFrQixFQUFFLGFBQXVCLEVBQUUsUUFBa0IsRUFBRSxXQUFxQjtRQUM5RixJQUFJLE9BQU8sR0FBVyxFQUFFLENBQUM7UUFDekIsSUFBSSxZQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTlCLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUUxRiw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFFN0QsNERBQTREO2dCQUM1RCx3Q0FBd0M7Z0JBQ3hDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDckIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxVQUFXLENBQUMsVUFBVyxDQUFDO29CQUM5QyxJQUFJLFFBQVEsRUFBRTt3QkFDWixJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVyxDQUFDLFVBQVcsQ0FBQzt3QkFDeEQsSUFBSSxDQUFDLFdBQVcsRUFBRTs0QkFDaEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3lCQUM1Qzt3QkFDRCxZQUFZLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztxQkFDbEM7b0JBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQztpQkFDdEM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzsrR0FyQ1UsZUFBZTs2R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVRpbWVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1oZWxwZXInO1xyXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVEaXNwbGF5ID0gRGF0ZSB8IG1vbWVudC5Nb21lbnQgfCBzdHJpbmcgfCBudWxsO1xyXG5cclxuLyoqXHJcbiAqIEZvcm1hdCBhIGRhdGUgdG8gdGhlIHVzZXIncyBwcmVmZXJlbmNlIGZvciBkaXNwbGF5XHJcbiAqL1xyXG5AUGlwZSh7bmFtZTogJ2RhdGVEaXNwbGF5J30pXHJcbmV4cG9ydCBjbGFzcyBEYXRlRGlzcGxheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlU2VydmljZSkgeyB9XHJcblxyXG4gIHByaXZhdGUgbGFzdEZvcm1hdFN0cmluZzogc3RyaW5nID0gJ01NL0REL1lZWVknO1xyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXQgYSBkYXRlIGZvciBkaXNwbGF5LCBhY2NvdW50aW5nIGZvciB1c2VyJ3MgZGlzcGxheSBwcmVmZXJlbmNlcy5cclxuICAgKiBcclxuICAgKiBJZiB7QHNlZSBkYXRlfSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgb3IgdGhlIGVuZCBvZiB0aW1lLCByZXR1cm5zIGVtcHR5IHN0cmluZ1xyXG4gICAqL1xyXG4gIHRyYW5zZm9ybShkYXRlPzogRGF0ZURpc3BsYXksIHNob3dFbmRPZlRpbWU/OiBib29sZWFuLCBzaG93VGltZT86IGJvb2xlYW4sIHNob3dTZWNvbmRzPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBsZXQgZGlzcGxheTogc3RyaW5nID0gJyc7XHJcbiAgICBsZXQgZm9ybWF0U3RyaW5nOiBzdHJpbmcgPSAnJztcclxuICAgIFxyXG4gICAgaWYgKGRhdGUgJiYgbW9tZW50KGRhdGUpLmlzVmFsaWQoKSAmJiAoc2hvd0VuZE9mVGltZSB8fCAhRGF0ZVRpbWVIZWxwZXIuaXNFbmRPZlRpbWUoZGF0ZSkpKSB7XHJcblxyXG4gICAgICAvLyB1c2UgdXNlci1wcmVmZXJyZWQgZm9ybWF0c1xyXG4gICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5nZXRQcmVmZXJlbmNlcygpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG5cclxuICAgICAgICAvL2lmIHByZWZlcmVuY2VzIGV4aXN0IHRoZW4gZm9ybWF0IGRhdGUgdG8gdXNlcnMgcHJlZmVyZW5jZSBcclxuICAgICAgICAvL290aGVyd2lzZSB1c2UgdGhlIGxhc3QgdXNlciBwcmVmZXJlbmNlXHJcbiAgICAgICAgaWYgKHJlc3VsdC5wcmVmZXJlbmNlKSB7XHJcbiAgICAgICAgICBmb3JtYXRTdHJpbmcgPSByZXN1bHQucHJlZmVyZW5jZSEuZGF0ZUZvcm1hdCE7XHJcbiAgICAgICAgICBpZiAoc2hvd1RpbWUpIHtcclxuICAgICAgICAgICAgbGV0IHRpbWVGb3JtYXQ6IHN0cmluZyA9IHJlc3VsdC5wcmVmZXJlbmNlIS50aW1lRm9ybWF0ITtcclxuICAgICAgICAgICAgaWYgKCFzaG93U2Vjb25kcykge1xyXG4gICAgICAgICAgICAgIHRpbWVGb3JtYXQgPSB0aW1lRm9ybWF0LnJlcGxhY2UoJzpzcycsICcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3JtYXRTdHJpbmcgKz0gYCAke3RpbWVGb3JtYXR9YDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubGFzdEZvcm1hdFN0cmluZyA9IGZvcm1hdFN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBkaXNwbGF5ID0gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLmxhc3RGb3JtYXRTdHJpbmcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpc3BsYXk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
@@ -1,30 +1,30 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class HighlightTextPipe {
|
4
|
-
transform(value, searchText) {
|
5
|
-
let transformedValue = '';
|
6
|
-
if (value && searchText) {
|
7
|
-
const regex = new RegExp(this.escapeRegex(searchText), 'gi');
|
8
|
-
transformedValue = value.replace(regex, this.strongWrap);
|
9
|
-
}
|
10
|
-
else {
|
11
|
-
transformedValue = value;
|
12
|
-
}
|
13
|
-
return transformedValue;
|
14
|
-
}
|
15
|
-
strongWrap(match) {
|
16
|
-
return `<strong class="text-highlight">${match}</strong>`;
|
17
|
-
}
|
18
|
-
escapeRegex(value) {
|
19
|
-
return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
25
|
-
type: Pipe,
|
26
|
-
args: [{
|
27
|
-
name: 'highlightText'
|
28
|
-
}]
|
29
|
-
}] });
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class HighlightTextPipe {
|
4
|
+
transform(value, searchText) {
|
5
|
+
let transformedValue = '';
|
6
|
+
if (value && searchText) {
|
7
|
+
const regex = new RegExp(this.escapeRegex(searchText), 'gi');
|
8
|
+
transformedValue = value.replace(regex, this.strongWrap);
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
transformedValue = value;
|
12
|
+
}
|
13
|
+
return transformedValue;
|
14
|
+
}
|
15
|
+
strongWrap(match) {
|
16
|
+
return `<strong class="text-highlight">${match}</strong>`;
|
17
|
+
}
|
18
|
+
escapeRegex(value) {
|
19
|
+
return value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
20
|
+
}
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HighlightTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
22
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: HighlightTextPipe, name: "highlightText" }); }
|
23
|
+
}
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HighlightTextPipe, decorators: [{
|
25
|
+
type: Pipe,
|
26
|
+
args: [{
|
27
|
+
name: 'highlightText'
|
28
|
+
}]
|
29
|
+
}] });
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRleHQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvZGlzcGxheS9waXBlcy9oaWdobGlnaHQtdGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsVUFBa0I7UUFDekMsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxLQUFLLElBQUksVUFBVSxFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0QsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFEO2FBQU07WUFDTCxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDMUI7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUM5QixPQUFPLGtDQUFrQyxLQUFLLFdBQVcsQ0FBQztJQUM1RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBcEJVLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUg3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnaGlnaGxpZ2h0VGV4dCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFRleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBzZWFyY2hUZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHRyYW5zZm9ybWVkVmFsdWUgPSAnJztcclxuICAgIGlmICh2YWx1ZSAmJiBzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmVzY2FwZVJlZ2V4KHNlYXJjaFRleHQpLCAnZ2knKTtcclxuICAgICAgdHJhbnNmb3JtZWRWYWx1ZSA9IHZhbHVlLnJlcGxhY2UocmVnZXgsIHRoaXMuc3Ryb25nV3JhcCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cmFuc2Zvcm1lZFZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0cm9uZ1dyYXAobWF0Y2g6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGA8c3Ryb25nIGNsYXNzPVwidGV4dC1oaWdobGlnaHRcIj4ke21hdGNofTwvc3Ryb25nPmA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVzY2FwZVJlZ2V4KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,62 +1,62 @@
|
|
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
|
-
}
|
54
|
-
|
55
|
-
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
57
|
-
type: Pipe,
|
58
|
-
args: [{
|
59
|
-
name: 'relativeDate'
|
60
|
-
}]
|
61
|
-
}], ctorParameters: function () { return [{ type: i1.DateDisplayPipe }, { type: i2.TimeDisplayPipe }, { type: i3.TranslateService }]; } });
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
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: "16.2.12", 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: "16.2.12", ngImport: i0, type: RelativeDatePipe, name: "relativeDate" }); }
|
55
|
+
}
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RelativeDatePipe, decorators: [{
|
57
|
+
type: Pipe,
|
58
|
+
args: [{
|
59
|
+
name: 'relativeDate'
|
60
|
+
}]
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.DateDisplayPipe }, { type: i2.TimeDisplayPipe }, { type: i3.TranslateService }]; } });
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9kaXNwbGF5L3BpcGVzL3JlbGF0aXZlLWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7O0FBMEI1QixNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1UsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBRmxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN4QyxDQUFDO0lBRUw7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FDUCxZQUFvQixFQUNwQixPQUE2QjtRQUU3QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUVoRyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXJCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUU7WUFDL0QsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEcsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1NBQzFDO2FBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckYsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVELFdBQVcsR0FBRyxPQUFPLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQTtTQUM3QzthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDNUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUcsV0FBVyxHQUFHLE9BQU8sRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO1NBQzlDO2FBQU07WUFDTCxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0Q7UUFFRCw2RkFBNkY7UUFDN0YsSUFBSSxPQUFPLEVBQUUsYUFBYSxJQUFJLFdBQVcsS0FBSyxFQUFFLEVBQUU7WUFDaEQsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDckM7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxXQUFXLEtBQUssRUFBRSxFQUFFO1lBQ3RCLFdBQVcsR0FBRyxHQUFHLFdBQVcsR0FBRyxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxHQUFHLFdBQVcsR0FBRyxZQUFZLEdBQUcsV0FBVyxFQUFFLENBQUM7SUFDdkQsQ0FBQzsrR0FwRFUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRGF0ZURpc3BsYXlQaXBlIH0gZnJvbSAnLi9kYXRlLWRpc3BsYXkucGlwZSc7XHJcbmltcG9ydCB7IFRpbWVEaXNwbGF5UGlwZSB9IGZyb20gJy4vdGltZS1kaXNwbGF5LnBpcGUnO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsYXRpdmVEYXRlT3B0aW9ucyA9IHtcclxuICBkYXRlT25seT86IGJvb2xlYW4sIFxyXG4gIHNob3dUaW1lRm9yVG9kYXk/IDogYm9vbGVhbixcclxuICB0b2RheUxhYmVsPzogc3RyaW5nLCBcclxuICB5ZXN0ZXJkYXlMYWJlbD86IHN0cmluZywgXHJcblxyXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gc2hvd2luZyB0b2RheSBhcyB0aW1lIGZvciB0aGUgdmFsdWUgKi9cclxuICB0b2RheVRpbWVQcmVmaXg/OiBzdHJpbmcsXHJcblxyXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gZGlzcGxheWluZyBcInRvZGF5XCIgYXMgdGhlIHZhbHVlICovXHJcbiAgdG9kYXlQcmVmaXg/OiBzdHJpbmcsXHJcblxyXG4gIC8qKiBQcmVmaXggZm9yIHdoZW4gZGlzcGxheWluZyBcInllc3RlcmRheVwiIGFzIHRoZSB2YWx1ZSAqL1xyXG4gIHllc3RlcmRheVByZWZpeD86IHN0cmluZyxcclxuXHJcbiAgLyoqIERlZmF1bHQgcHJlZml4LiBXaWxsIGJlIGFwcGxpZWQgdG8gYWxsIGRpc3BsYXkgb3B0aW9ucyBpZiBkZWZpbmVkIGFuZCBvdGhlcnMgYXJlIG5vdCAqL1xyXG4gIGRlZmF1bHRQcmVmaXg/OiBzdHJpbmdcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdyZWxhdGl2ZURhdGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkYXRlRGlzcGxheVBpcGU6IERhdGVEaXNwbGF5UGlwZSwgXHJcbiAgICBwcml2YXRlIHRpbWVEaXNwbGF5UGlwZTogVGltZURpc3BsYXlQaXBlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgZGF0ZU9ubHkgaXMgdHJ1ZSwgcmV0dXJucyB0aW1lU2VsZWN0ZWQgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgdXNlcidzIGRhdGUgcHJlZmVyZW5jZS5cclxuICAgKiBJZiBkYXRlT25seSBpcyB0cnVlIGFuZCBzaG93VGltZUZvclRvZGF5IGlzIGZhbHNlIGFuZCB0aW1lU2VsZWN0ZWQgaXMgdG9kYXksIHJldHVybnMgJ3RvZGF5JyBvciB0b2RheUxhYmVsXHJcbiAgICogSWYgZGF0ZU9ubHkgYW5kIHNob3dUaW1lRm9yVG9kYXkgaXMgdHJ1ZSBhbmQgdGltZVNlbGVjdGVkIGlzIHRvZGF5LCByZXR1cm5zIHRpbWVTZWxlY3RlZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgdGltZSBwcmVmZXJlbmNlLlxyXG4gICAqIElmIGRhdGVPbmx5IGlzIGZhbHNlLCByZXR1cm5zIHRpbWVTZWxlY3RlZCBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSB1c2VyJ3MgdGltZSBwcmVmZXJlbmNlLlxyXG4gICAqIElmIGRhdGVPbmx5IGlzIGZhbHNlIGFuZCB0aW1lU2VsZWN0ZWQgaXMgbm90IHRvZGF5L3llc3RlcmRheSwgcmV0dXJucyB0aW1lU2VsZWN0ZWQgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgdXNlcidzIGRhdGUgcGx1cyB0aW1lIHByZWZlcmVuY2UuXHJcbiAgICogSWYgYW55IG9mIHRvZGF5TGFiZWwsIHllc3RlcmRheUxhYmVsIGlzIHN1cHBsaWVkLCB1c2UgdGhlIHN1cHBsaWVkIGxhYmVsLlxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybShcclxuICAgIHRpbWVTZWxlY3RlZDogc3RyaW5nLCBcclxuICAgIG9wdGlvbnM/OiBSZWxhdGl2ZURhdGVPcHRpb25zXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gbW9tZW50KHRpbWVTZWxlY3RlZCk7XHJcbiAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xyXG4gICAgY29uc3QgeWVzdGVyZGF5ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheScpO1xyXG4gICAgY29uc3QgdGltZURpc3BsYXkgPSBvcHRpb25zPy5kYXRlT25seSA/IGBgIDogYCAke3RoaXMudGltZURpc3BsYXlQaXBlLnRyYW5zZm9ybSh0aW1lU2VsZWN0ZWQpfWA7XHJcblxyXG4gICAgbGV0IGRpc3BsYXlWYWx1ZSA9IG51bGw7XHJcbiAgICBsZXQgcHJlZml4VmFsdWUgPSAnJztcclxuXHJcbiAgICBpZiAoc2VsZWN0ZWQuaXNTYW1lKHRvZGF5LCAnZGF5JykgJiYgIW9wdGlvbnM/LnNob3dUaW1lRm9yVG9kYXkpIHtcclxuICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3B0aW9ucz8udG9kYXlMYWJlbCA/IG9wdGlvbnM/LnRvZGF5TGFiZWwgOiAndG9kYXknKTtcclxuICAgICAgcHJlZml4VmFsdWUgPSBvcHRpb25zPy50b2RheVByZWZpeCA/PyAnJztcclxuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWQuaXNTYW1lKHRvZGF5LCAnZGF5JykgJiYgb3B0aW9ucz8uc2hvd1RpbWVGb3JUb2RheSAmJiAhdGltZURpc3BsYXkpIHtcclxuICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy50aW1lRGlzcGxheVBpcGUudHJhbnNmb3JtKHRpbWVTZWxlY3RlZCk7XHJcbiAgICAgIHByZWZpeFZhbHVlID0gb3B0aW9ucz8udG9kYXlUaW1lUHJlZml4ID8/ICcnXHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkLmlzU2FtZSh5ZXN0ZXJkYXksICdkYXknKSkge1xyXG4gICAgICBkaXNwbGF5VmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcHRpb25zPy55ZXN0ZXJkYXlMYWJlbCA/IG9wdGlvbnM/Lnllc3RlcmRheUxhYmVsIDogJ3llc3RlcmRheScpO1xyXG4gICAgICBwcmVmaXhWYWx1ZSA9IG9wdGlvbnM/Lnllc3RlcmRheVByZWZpeCA/PyAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZURpc3BsYXlQaXBlLnRyYW5zZm9ybSh0aW1lU2VsZWN0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHdlIGhhdmUgYSBkZWZhdWx0IHByZWZpeCBhbmQgbm8gc3BlY2lmaWMgb25lcyB3ZXJlIHNldCBlYXJsaWVyIGFwcGx5IHRoZSBkZWZhdWx0IHByZWZpeFxyXG4gICAgaWYgKG9wdGlvbnM/LmRlZmF1bHRQcmVmaXggJiYgcHJlZml4VmFsdWUgPT09ICcnKSB7XHJcbiAgICAgIHByZWZpeFZhbHVlID0gb3B0aW9ucy5kZWZhdWx0UHJlZml4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCBhIHNwYWNlIGFmdGVyIG91ciBwcmVmaXggaWYgZGVmaW5lZFxyXG4gICAgaWYgKHByZWZpeFZhbHVlICE9PSAnJykge1xyXG4gICAgICBwcmVmaXhWYWx1ZSA9IGAke3ByZWZpeFZhbHVlfSBgO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZXR1cm4gYCR7cHJlZml4VmFsdWV9JHtkaXNwbGF5VmFsdWV9JHt0aW1lRGlzcGxheX1gO1xyXG4gIH1cclxufVxyXG4iXX0=
|