@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
@@ -1,120 +1,120 @@
|
|
1
|
-
import { Inject, Input, Directive } from '@angular/core';
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "../../core/cache.service";
|
5
|
-
/**
|
6
|
-
* Base class for handling click and drag resizing of elements with a mouse.
|
7
|
-
* Derived classes must provide the element to be resized and implement the setWidth function.
|
8
|
-
*/
|
9
|
-
export class ResizableBase {
|
10
|
-
ngAfterViewInit() {
|
11
|
-
if (this.rememberWidth && this.id) {
|
12
|
-
let cached = this.cacheService.getItem('resizable-' + this.id);
|
13
|
-
if (cached && cached.widths && cached.widths.length > 0) {
|
14
|
-
this.restoreWidths(cached.widths);
|
15
|
-
}
|
16
|
-
}
|
17
|
-
}
|
18
|
-
constructor(renderer, cacheService, document) {
|
19
|
-
this.renderer = renderer;
|
20
|
-
this.cacheService = cacheService;
|
21
|
-
this.document = document;
|
22
|
-
/**Set to true if the resizable should remember its width. Requires the element to have an ID*/
|
23
|
-
this.rememberWidth = false;
|
24
|
-
/**The id of the resizable, used for GI and for remembering the width */
|
25
|
-
this.id = '';
|
26
|
-
/** The element that is current being resized */
|
27
|
-
this.currentEl = null;
|
28
|
-
/** The x position of the mouse when dragging starts. Relative to the viewport. */
|
29
|
-
this.startScreenX = 0;
|
30
|
-
/** The width of the current element when dragging starts. */
|
31
|
-
this.startElWidth = 0;
|
32
|
-
}
|
33
|
-
/**
|
34
|
-
* On a mousedown event
|
35
|
-
* * store the width of the current element to calculate the new width
|
36
|
-
* * store the horizontal position of the pointer to calculate the new width.
|
37
|
-
* * add the 'is-active' class to the current element
|
38
|
-
* * set up listeners on the document to know when dragging starts and stops.
|
39
|
-
* Mouse event listeners are added to the document because the cursor may move
|
40
|
-
* off the current element while dragging.
|
41
|
-
*/
|
42
|
-
startDrag(event) {
|
43
|
-
if (this.currentEl) {
|
44
|
-
this.startElWidth = this.currentEl.offsetWidth;
|
45
|
-
this.startScreenX = event.screenX;
|
46
|
-
this.renderer.addClass(this.currentEl, 'is-active');
|
47
|
-
this.renderer.setStyle(this.document.body, 'cursor', 'col-resize');
|
48
|
-
// Remove any listeners that may have not been cleaned up before we register new listeners.
|
49
|
-
if (this.mouseupListener) {
|
50
|
-
this.mouseupListener();
|
51
|
-
this.mouseupListener = undefined;
|
52
|
-
}
|
53
|
-
if (this.mousemoveListener) {
|
54
|
-
this.mousemoveListener();
|
55
|
-
this.mousemoveListener = undefined;
|
56
|
-
}
|
57
|
-
this.mouseupListener = this.renderer.listen(this.document, 'mouseup', this.stopDrag.bind(this));
|
58
|
-
this.mousemoveListener = this.renderer.listen(this.document, 'mousemove', this.drag.bind(this));
|
59
|
-
}
|
60
|
-
else {
|
61
|
-
throw new Error(`currentEl is ${this.currentEl}. currentEl must be assigned before startDrag() is called.`);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
/**
|
65
|
-
* On a mousemove event, calculate the new width of the current element by
|
66
|
-
* adding the difference of the start pageX position and the current pageX
|
67
|
-
* position to the width of the element when we started dragging. Pass the
|
68
|
-
* calculated with to the setWidth method.
|
69
|
-
*/
|
70
|
-
drag(event) {
|
71
|
-
this.setWidth(this.startElWidth + (event.screenX - this.startScreenX));
|
72
|
-
}
|
73
|
-
/**
|
74
|
-
* On a mouseup event
|
75
|
-
* * remove the mouse event listeners on the document.
|
76
|
-
* * remove the 'is-active' class from the current element
|
77
|
-
* * reset the cursor style on the body
|
78
|
-
*/
|
79
|
-
stopDrag(event) {
|
80
|
-
if (this.mousemoveListener) {
|
81
|
-
this.mousemoveListener();
|
82
|
-
this.mousemoveListener = undefined;
|
83
|
-
}
|
84
|
-
if (this.mouseupListener) {
|
85
|
-
this.mouseupListener();
|
86
|
-
this.mouseupListener = undefined;
|
87
|
-
}
|
88
|
-
if (this.currentEl) {
|
89
|
-
this.renderer.removeClass(this.currentEl, 'is-active');
|
90
|
-
}
|
91
|
-
this.renderer.removeStyle(this.document.body, 'cursor');
|
92
|
-
}
|
93
|
-
/**Called after the view initializes if the component supports restoring widths and there are cached widths to restore.
|
94
|
-
* To be overridden in a derived class if it supports restoring widths, defaults to a no-op*/
|
95
|
-
restoreWidths(widths) { }
|
96
|
-
/** Store the provided widths in cache so they can be retrieved later */
|
97
|
-
saveWidths(widths) {
|
98
|
-
if (this.rememberWidth && this.id) {
|
99
|
-
this.cacheService.setItem('resizable-' + this.id, {
|
100
|
-
widths: widths
|
101
|
-
});
|
102
|
-
}
|
103
|
-
else if (this.rememberWidth) {
|
104
|
-
console.error('rememberWidth is set but will not take effect unless ID is also set');
|
105
|
-
}
|
106
|
-
}
|
107
|
-
}
|
108
|
-
|
109
|
-
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
111
|
-
type: Directive
|
112
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.CacheService }, { type: Document, decorators: [{
|
113
|
-
type: Inject,
|
114
|
-
args: [DOCUMENT]
|
115
|
-
}] }]; }, propDecorators: { rememberWidth: [{
|
116
|
-
type: Input
|
117
|
-
}], id: [{
|
118
|
-
type: Input
|
119
|
-
}] } });
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9yZXNpemFibGUvcmVzaXphYmxlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLE1BQU0sRUFBRSxLQUFLLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQzs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLGFBQWE7SUFDakMsZUFBZTtRQUNiLElBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFDO1lBQy9CLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFtQixZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pGLElBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO2dCQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQXlCRCxZQUNZLFFBQW1CLEVBQ3JCLFlBQTBCLEVBQ04sUUFBa0I7UUFGcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNOLGFBQVEsR0FBUixRQUFRLENBQVU7UUExQmhELCtGQUErRjtRQUV4RixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV0Qyx5RUFBeUU7UUFFbEUsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUV2QixnREFBZ0Q7UUFDdEMsY0FBUyxHQUF1QixJQUFJLENBQUM7UUFFL0Msa0ZBQWtGO1FBQ3hFLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBRWxD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U0FDSjthQUFNLElBQUcsSUFBSSxDQUFDLGFBQWEsRUFBQztZQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDOzswR0E1SG1CLGFBQWEsdUVBb0N2QixRQUFROzhGQXBDRSxhQUFhOzJGQUFiLGFBQWE7a0JBRGxDLFNBQVM7OzBCQXFDTCxNQUFNOzJCQUFDLFFBQVE7NENBeEJYLGFBQWE7c0JBRG5CLEtBQUs7Z0JBS0MsRUFBRTtzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyZXIyLCBJbmplY3QsIElucHV0LCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVzaXplQ2FjaGVFbnRyeSA9IHsgd2lkdGhzOiBudW1iZXJbXSB9O1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY2xhc3MgZm9yIGhhbmRsaW5nIGNsaWNrIGFuZCBkcmFnIHJlc2l6aW5nIG9mIGVsZW1lbnRzIHdpdGggYSBtb3VzZS4gXHJcbiAqIERlcml2ZWQgY2xhc3NlcyBtdXN0IHByb3ZpZGUgdGhlIGVsZW1lbnQgdG8gYmUgcmVzaXplZCBhbmQgaW1wbGVtZW50IHRoZSBzZXRXaWR0aCBmdW5jdGlvbi5cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzaXphYmxlQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMucmVtZW1iZXJXaWR0aCAmJiB0aGlzLmlkKXtcclxuICAgICAgbGV0IGNhY2hlZCA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldEl0ZW08UmVzaXplQ2FjaGVFbnRyeT4oJ3Jlc2l6YWJsZS0nICsgdGhpcy5pZCk7XHJcbiAgICAgIGlmKGNhY2hlZCAmJiBjYWNoZWQud2lkdGhzICYmIGNhY2hlZC53aWR0aHMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgdGhpcy5yZXN0b3JlV2lkdGhzKGNhY2hlZC53aWR0aHMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipTZXQgdG8gdHJ1ZSBpZiB0aGUgcmVzaXphYmxlIHNob3VsZCByZW1lbWJlciBpdHMgd2lkdGguIFJlcXVpcmVzIHRoZSBlbGVtZW50IHRvIGhhdmUgYW4gSUQqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWVtYmVyV2lkdGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqVGhlIGlkIG9mIHRoZSByZXNpemFibGUsIHVzZWQgZm9yIEdJIGFuZCBmb3IgcmVtZW1iZXJpbmcgdGhlIHdpZHRoICAqL1xyXG4gIEBJbnB1dCgpIFxyXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBUaGUgZWxlbWVudCB0aGF0IGlzIGN1cnJlbnQgYmVpbmcgcmVzaXplZCAqL1xyXG4gIHByb3RlY3RlZCBjdXJyZW50RWw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKiBUaGUgeCBwb3NpdGlvbiBvZiB0aGUgbW91c2Ugd2hlbiBkcmFnZ2luZyBzdGFydHMuIFJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC4gKi9cclxuICBwcm90ZWN0ZWQgc3RhcnRTY3JlZW5YOiBudW1iZXIgPSAwO1xyXG5cclxuICAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgY3VycmVudCBlbGVtZW50IHdoZW4gZHJhZ2dpbmcgc3RhcnRzLiAqL1xyXG4gIHByb3RlY3RlZCBzdGFydEVsV2lkdGg6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKiBcclxuICAgKiBTdG9yZWQgJ3VubGlzdGVuJyBmdW5jdGlvbnMgdGhhdCByZW1vdmUgdGhlaXIgcmVzcGVjdGl2ZSBsaXN0ZW5lcnMgd2hlbiBjYWxsZWQgXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG1vdXNldXBMaXN0ZW5lcj86ICgpID0+IHZvaWQ7XHJcbiAgcHJvdGVjdGVkIG1vdXNlbW92ZUxpc3RlbmVyPzogKCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMiwgXHJcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIGRvY3VtZW50OiBEb2N1bWVudFxyXG4gICl7fVxyXG5cclxuICAvKiogXHJcbiAgICogT24gYSBtb3VzZWRvd24gZXZlbnRcclxuICAgKiAqIHN0b3JlIHRoZSB3aWR0aCBvZiB0aGUgY3VycmVudCBlbGVtZW50IHRvIGNhbGN1bGF0ZSB0aGUgbmV3IHdpZHRoXHJcbiAgICogKiBzdG9yZSB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgcG9pbnRlciB0byBjYWxjdWxhdGUgdGhlIG5ldyB3aWR0aC4gXHJcbiAgICogKiBhZGQgdGhlICdpcy1hY3RpdmUnIGNsYXNzIHRvIHRoZSBjdXJyZW50IGVsZW1lbnRcclxuICAgKiAqIHNldCB1cCBsaXN0ZW5lcnMgb24gdGhlIGRvY3VtZW50IHRvIGtub3cgd2hlbiBkcmFnZ2luZyBzdGFydHMgYW5kIHN0b3BzLiBcclxuICAgKiBNb3VzZSBldmVudCBsaXN0ZW5lcnMgYXJlIGFkZGVkIHRvIHRoZSBkb2N1bWVudCBiZWNhdXNlIHRoZSBjdXJzb3IgbWF5IG1vdmUgXHJcbiAgICogb2ZmIHRoZSBjdXJyZW50IGVsZW1lbnQgd2hpbGUgZHJhZ2dpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEVsKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRFbFdpZHRoID0gdGhpcy5jdXJyZW50RWwub2Zmc2V0V2lkdGg7XHJcbiAgICAgIHRoaXMuc3RhcnRTY3JlZW5YID0gZXZlbnQuc2NyZWVuWDtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmN1cnJlbnRFbCwgJ2lzLWFjdGl2ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2N1cnNvcicsICdjb2wtcmVzaXplJyk7XHJcblxyXG4gICAgICAvLyBSZW1vdmUgYW55IGxpc3RlbmVycyB0aGF0IG1heSBoYXZlIG5vdCBiZWVuIGNsZWFuZWQgdXAgYmVmb3JlIHdlIHJlZ2lzdGVyIG5ldyBsaXN0ZW5lcnMuXHJcbiAgICAgIGlmICh0aGlzLm1vdXNldXBMaXN0ZW5lcikge1xyXG4gICAgICAgIHRoaXMubW91c2V1cExpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIpIHtcclxuICAgICAgICB0aGlzLm1vdXNlbW92ZUxpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMuc3RvcERyYWcuYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5kcmFnLmJpbmQodGhpcykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjdXJyZW50RWwgaXMgJHt0aGlzLmN1cnJlbnRFbH0uIGN1cnJlbnRFbCBtdXN0IGJlIGFzc2lnbmVkIGJlZm9yZSBzdGFydERyYWcoKSBpcyBjYWxsZWQuYCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBhIG1vdXNlbW92ZSBldmVudCwgY2FsY3VsYXRlIHRoZSBuZXcgd2lkdGggb2YgdGhlIGN1cnJlbnQgZWxlbWVudCBieSBcclxuICAgKiBhZGRpbmcgdGhlIGRpZmZlcmVuY2Ugb2YgdGhlIHN0YXJ0IHBhZ2VYIHBvc2l0aW9uIGFuZCB0aGUgY3VycmVudCBwYWdlWCBcclxuICAgKiBwb3NpdGlvbiB0byB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzdGFydGVkIGRyYWdnaW5nLiBQYXNzIHRoZSBcclxuICAgKiBjYWxjdWxhdGVkIHdpdGggdG8gdGhlIHNldFdpZHRoIG1ldGhvZC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZHJhZyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRXaWR0aCh0aGlzLnN0YXJ0RWxXaWR0aCArIChldmVudC5zY3JlZW5YIC0gdGhpcy5zdGFydFNjcmVlblgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgY3VycmVudCBlbGVtZW50J3Mgd2lkdGguIENhbGxlZCBhZnRlciBhIG1vdXNlbW92ZSBldmVudC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0V2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIGEgbW91c2V1cCBldmVudFxyXG4gICAqICogcmVtb3ZlIHRoZSBtb3VzZSBldmVudCBsaXN0ZW5lcnMgb24gdGhlIGRvY3VtZW50LlxyXG4gICAqICogcmVtb3ZlIHRoZSAnaXMtYWN0aXZlJyBjbGFzcyBmcm9tIHRoZSBjdXJyZW50IGVsZW1lbnRcclxuICAgKiAqIHJlc2V0IHRoZSBjdXJzb3Igc3R5bGUgb24gdGhlIGJvZHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc3RvcERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vdXNlbW92ZUxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIoKTtcclxuICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRoaXMubW91c2V1cExpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMubW91c2V1cExpc3RlbmVyKCk7XHJcbiAgICAgIHRoaXMubW91c2V1cExpc3RlbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZiAodGhpcy5jdXJyZW50RWwpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmN1cnJlbnRFbCwgJ2lzLWFjdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnY3Vyc29yJyk7XHJcbiAgfVxyXG5cclxuICAvKipDYWxsZWQgYWZ0ZXIgdGhlIHZpZXcgaW5pdGlhbGl6ZXMgaWYgdGhlIGNvbXBvbmVudCBzdXBwb3J0cyByZXN0b3Jpbmcgd2lkdGhzIGFuZCB0aGVyZSBhcmUgY2FjaGVkIHdpZHRocyB0byByZXN0b3JlLiBcclxuICAgKiBUbyBiZSBvdmVycmlkZGVuIGluIGEgZGVyaXZlZCBjbGFzcyBpZiBpdCBzdXBwb3J0cyByZXN0b3Jpbmcgd2lkdGhzLCBkZWZhdWx0cyB0byBhIG5vLW9wKi9cclxuICBwcm90ZWN0ZWQgcmVzdG9yZVdpZHRocyh3aWR0aHM6IG51bWJlcltdKTogdm9pZCB7IH1cclxuXHJcbiAgLyoqIFN0b3JlIHRoZSBwcm92aWRlZCB3aWR0aHMgaW4gY2FjaGUgc28gdGhleSBjYW4gYmUgcmV0cmlldmVkIGxhdGVyICovXHJcbiAgcHJvdGVjdGVkIHNhdmVXaWR0aHMod2lkdGhzOiBudW1iZXJbXSl7XHJcbiAgICBpZih0aGlzLnJlbWVtYmVyV2lkdGggJiYgdGhpcy5pZCl7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0oJ3Jlc2l6YWJsZS0nICsgdGhpcy5pZCwgPFJlc2l6ZUNhY2hlRW50cnk+IHtcclxuICAgICAgICB3aWR0aHM6IHdpZHRoc1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZih0aGlzLnJlbWVtYmVyV2lkdGgpe1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdyZW1lbWJlcldpZHRoIGlzIHNldCBidXQgd2lsbCBub3QgdGFrZSBlZmZlY3QgdW5sZXNzIElEIGlzIGFsc28gc2V0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
|
1
|
+
import { Inject, Input, Directive } from '@angular/core';
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "../../core/cache.service";
|
5
|
+
/**
|
6
|
+
* Base class for handling click and drag resizing of elements with a mouse.
|
7
|
+
* Derived classes must provide the element to be resized and implement the setWidth function.
|
8
|
+
*/
|
9
|
+
export class ResizableBase {
|
10
|
+
ngAfterViewInit() {
|
11
|
+
if (this.rememberWidth && this.id) {
|
12
|
+
let cached = this.cacheService.getItem('resizable-' + this.id);
|
13
|
+
if (cached && cached.widths && cached.widths.length > 0) {
|
14
|
+
this.restoreWidths(cached.widths);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
constructor(renderer, cacheService, document) {
|
19
|
+
this.renderer = renderer;
|
20
|
+
this.cacheService = cacheService;
|
21
|
+
this.document = document;
|
22
|
+
/**Set to true if the resizable should remember its width. Requires the element to have an ID*/
|
23
|
+
this.rememberWidth = false;
|
24
|
+
/**The id of the resizable, used for GI and for remembering the width */
|
25
|
+
this.id = '';
|
26
|
+
/** The element that is current being resized */
|
27
|
+
this.currentEl = null;
|
28
|
+
/** The x position of the mouse when dragging starts. Relative to the viewport. */
|
29
|
+
this.startScreenX = 0;
|
30
|
+
/** The width of the current element when dragging starts. */
|
31
|
+
this.startElWidth = 0;
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* On a mousedown event
|
35
|
+
* * store the width of the current element to calculate the new width
|
36
|
+
* * store the horizontal position of the pointer to calculate the new width.
|
37
|
+
* * add the 'is-active' class to the current element
|
38
|
+
* * set up listeners on the document to know when dragging starts and stops.
|
39
|
+
* Mouse event listeners are added to the document because the cursor may move
|
40
|
+
* off the current element while dragging.
|
41
|
+
*/
|
42
|
+
startDrag(event) {
|
43
|
+
if (this.currentEl) {
|
44
|
+
this.startElWidth = this.currentEl.offsetWidth;
|
45
|
+
this.startScreenX = event.screenX;
|
46
|
+
this.renderer.addClass(this.currentEl, 'is-active');
|
47
|
+
this.renderer.setStyle(this.document.body, 'cursor', 'col-resize');
|
48
|
+
// Remove any listeners that may have not been cleaned up before we register new listeners.
|
49
|
+
if (this.mouseupListener) {
|
50
|
+
this.mouseupListener();
|
51
|
+
this.mouseupListener = undefined;
|
52
|
+
}
|
53
|
+
if (this.mousemoveListener) {
|
54
|
+
this.mousemoveListener();
|
55
|
+
this.mousemoveListener = undefined;
|
56
|
+
}
|
57
|
+
this.mouseupListener = this.renderer.listen(this.document, 'mouseup', this.stopDrag.bind(this));
|
58
|
+
this.mousemoveListener = this.renderer.listen(this.document, 'mousemove', this.drag.bind(this));
|
59
|
+
}
|
60
|
+
else {
|
61
|
+
throw new Error(`currentEl is ${this.currentEl}. currentEl must be assigned before startDrag() is called.`);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
/**
|
65
|
+
* On a mousemove event, calculate the new width of the current element by
|
66
|
+
* adding the difference of the start pageX position and the current pageX
|
67
|
+
* position to the width of the element when we started dragging. Pass the
|
68
|
+
* calculated with to the setWidth method.
|
69
|
+
*/
|
70
|
+
drag(event) {
|
71
|
+
this.setWidth(this.startElWidth + (event.screenX - this.startScreenX));
|
72
|
+
}
|
73
|
+
/**
|
74
|
+
* On a mouseup event
|
75
|
+
* * remove the mouse event listeners on the document.
|
76
|
+
* * remove the 'is-active' class from the current element
|
77
|
+
* * reset the cursor style on the body
|
78
|
+
*/
|
79
|
+
stopDrag(event) {
|
80
|
+
if (this.mousemoveListener) {
|
81
|
+
this.mousemoveListener();
|
82
|
+
this.mousemoveListener = undefined;
|
83
|
+
}
|
84
|
+
if (this.mouseupListener) {
|
85
|
+
this.mouseupListener();
|
86
|
+
this.mouseupListener = undefined;
|
87
|
+
}
|
88
|
+
if (this.currentEl) {
|
89
|
+
this.renderer.removeClass(this.currentEl, 'is-active');
|
90
|
+
}
|
91
|
+
this.renderer.removeStyle(this.document.body, 'cursor');
|
92
|
+
}
|
93
|
+
/**Called after the view initializes if the component supports restoring widths and there are cached widths to restore.
|
94
|
+
* To be overridden in a derived class if it supports restoring widths, defaults to a no-op*/
|
95
|
+
restoreWidths(widths) { }
|
96
|
+
/** Store the provided widths in cache so they can be retrieved later */
|
97
|
+
saveWidths(widths) {
|
98
|
+
if (this.rememberWidth && this.id) {
|
99
|
+
this.cacheService.setItem('resizable-' + this.id, {
|
100
|
+
widths: widths
|
101
|
+
});
|
102
|
+
}
|
103
|
+
else if (this.rememberWidth) {
|
104
|
+
console.error('rememberWidth is set but will not take effect unless ID is also set');
|
105
|
+
}
|
106
|
+
}
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableBase, deps: [{ token: i0.Renderer2 }, { token: i1.CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
108
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ResizableBase, inputs: { rememberWidth: "rememberWidth", id: "id" }, ngImport: i0 }); }
|
109
|
+
}
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableBase, decorators: [{
|
111
|
+
type: Directive
|
112
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.CacheService }, { type: Document, decorators: [{
|
113
|
+
type: Inject,
|
114
|
+
args: [DOCUMENT]
|
115
|
+
}] }]; }, propDecorators: { rememberWidth: [{
|
116
|
+
type: Input
|
117
|
+
}], id: [{
|
118
|
+
type: Input
|
119
|
+
}] } });
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9yZXNpemFibGUvcmVzaXphYmxlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLE1BQU0sRUFBRSxLQUFLLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQzs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLGFBQWE7SUFDakMsZUFBZTtRQUNiLElBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFDO1lBQy9CLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFtQixZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pGLElBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO2dCQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQXlCRCxZQUNZLFFBQW1CLEVBQ3JCLFlBQTBCLEVBQ04sUUFBa0I7UUFGcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNOLGFBQVEsR0FBUixRQUFRLENBQVU7UUExQmhELCtGQUErRjtRQUV4RixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV0Qyx5RUFBeUU7UUFFbEUsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUV2QixnREFBZ0Q7UUFDdEMsY0FBUyxHQUF1QixJQUFJLENBQUM7UUFFL0Msa0ZBQWtGO1FBQ3hFLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBRWxD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U0FDSjthQUFNLElBQUcsSUFBSSxDQUFDLGFBQWEsRUFBQztZQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDOytHQTVIbUIsYUFBYSx1RUFvQ3ZCLFFBQVE7bUdBcENFLGFBQWE7OzRGQUFiLGFBQWE7a0JBRGxDLFNBQVM7OzBCQXFDTCxNQUFNOzJCQUFDLFFBQVE7NENBeEJYLGFBQWE7c0JBRG5CLEtBQUs7Z0JBS0MsRUFBRTtzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyZXIyLCBJbmplY3QsIElucHV0LCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVzaXplQ2FjaGVFbnRyeSA9IHsgd2lkdGhzOiBudW1iZXJbXSB9O1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY2xhc3MgZm9yIGhhbmRsaW5nIGNsaWNrIGFuZCBkcmFnIHJlc2l6aW5nIG9mIGVsZW1lbnRzIHdpdGggYSBtb3VzZS4gXHJcbiAqIERlcml2ZWQgY2xhc3NlcyBtdXN0IHByb3ZpZGUgdGhlIGVsZW1lbnQgdG8gYmUgcmVzaXplZCBhbmQgaW1wbGVtZW50IHRoZSBzZXRXaWR0aCBmdW5jdGlvbi5cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzaXphYmxlQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMucmVtZW1iZXJXaWR0aCAmJiB0aGlzLmlkKXtcclxuICAgICAgbGV0IGNhY2hlZCA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldEl0ZW08UmVzaXplQ2FjaGVFbnRyeT4oJ3Jlc2l6YWJsZS0nICsgdGhpcy5pZCk7XHJcbiAgICAgIGlmKGNhY2hlZCAmJiBjYWNoZWQud2lkdGhzICYmIGNhY2hlZC53aWR0aHMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgdGhpcy5yZXN0b3JlV2lkdGhzKGNhY2hlZC53aWR0aHMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipTZXQgdG8gdHJ1ZSBpZiB0aGUgcmVzaXphYmxlIHNob3VsZCByZW1lbWJlciBpdHMgd2lkdGguIFJlcXVpcmVzIHRoZSBlbGVtZW50IHRvIGhhdmUgYW4gSUQqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWVtYmVyV2lkdGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqVGhlIGlkIG9mIHRoZSByZXNpemFibGUsIHVzZWQgZm9yIEdJIGFuZCBmb3IgcmVtZW1iZXJpbmcgdGhlIHdpZHRoICAqL1xyXG4gIEBJbnB1dCgpIFxyXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBUaGUgZWxlbWVudCB0aGF0IGlzIGN1cnJlbnQgYmVpbmcgcmVzaXplZCAqL1xyXG4gIHByb3RlY3RlZCBjdXJyZW50RWw6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKiBUaGUgeCBwb3NpdGlvbiBvZiB0aGUgbW91c2Ugd2hlbiBkcmFnZ2luZyBzdGFydHMuIFJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC4gKi9cclxuICBwcm90ZWN0ZWQgc3RhcnRTY3JlZW5YOiBudW1iZXIgPSAwO1xyXG5cclxuICAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgY3VycmVudCBlbGVtZW50IHdoZW4gZHJhZ2dpbmcgc3RhcnRzLiAqL1xyXG4gIHByb3RlY3RlZCBzdGFydEVsV2lkdGg6IG51bWJlciA9IDA7XHJcblxyXG4gIC8qKiBcclxuICAgKiBTdG9yZWQgJ3VubGlzdGVuJyBmdW5jdGlvbnMgdGhhdCByZW1vdmUgdGhlaXIgcmVzcGVjdGl2ZSBsaXN0ZW5lcnMgd2hlbiBjYWxsZWQgXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG1vdXNldXBMaXN0ZW5lcj86ICgpID0+IHZvaWQ7XHJcbiAgcHJvdGVjdGVkIG1vdXNlbW92ZUxpc3RlbmVyPzogKCkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMiwgXHJcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJvdGVjdGVkIGRvY3VtZW50OiBEb2N1bWVudFxyXG4gICl7fVxyXG5cclxuICAvKiogXHJcbiAgICogT24gYSBtb3VzZWRvd24gZXZlbnRcclxuICAgKiAqIHN0b3JlIHRoZSB3aWR0aCBvZiB0aGUgY3VycmVudCBlbGVtZW50IHRvIGNhbGN1bGF0ZSB0aGUgbmV3IHdpZHRoXHJcbiAgICogKiBzdG9yZSB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgcG9pbnRlciB0byBjYWxjdWxhdGUgdGhlIG5ldyB3aWR0aC4gXHJcbiAgICogKiBhZGQgdGhlICdpcy1hY3RpdmUnIGNsYXNzIHRvIHRoZSBjdXJyZW50IGVsZW1lbnRcclxuICAgKiAqIHNldCB1cCBsaXN0ZW5lcnMgb24gdGhlIGRvY3VtZW50IHRvIGtub3cgd2hlbiBkcmFnZ2luZyBzdGFydHMgYW5kIHN0b3BzLiBcclxuICAgKiBNb3VzZSBldmVudCBsaXN0ZW5lcnMgYXJlIGFkZGVkIHRvIHRoZSBkb2N1bWVudCBiZWNhdXNlIHRoZSBjdXJzb3IgbWF5IG1vdmUgXHJcbiAgICogb2ZmIHRoZSBjdXJyZW50IGVsZW1lbnQgd2hpbGUgZHJhZ2dpbmcuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEVsKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRFbFdpZHRoID0gdGhpcy5jdXJyZW50RWwub2Zmc2V0V2lkdGg7XHJcbiAgICAgIHRoaXMuc3RhcnRTY3JlZW5YID0gZXZlbnQuc2NyZWVuWDtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmN1cnJlbnRFbCwgJ2lzLWFjdGl2ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2N1cnNvcicsICdjb2wtcmVzaXplJyk7XHJcblxyXG4gICAgICAvLyBSZW1vdmUgYW55IGxpc3RlbmVycyB0aGF0IG1heSBoYXZlIG5vdCBiZWVuIGNsZWFuZWQgdXAgYmVmb3JlIHdlIHJlZ2lzdGVyIG5ldyBsaXN0ZW5lcnMuXHJcbiAgICAgIGlmICh0aGlzLm1vdXNldXBMaXN0ZW5lcikge1xyXG4gICAgICAgIHRoaXMubW91c2V1cExpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIpIHtcclxuICAgICAgICB0aGlzLm1vdXNlbW92ZUxpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2V1cCcsIHRoaXMuc3RvcERyYWcuYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5kcmFnLmJpbmQodGhpcykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjdXJyZW50RWwgaXMgJHt0aGlzLmN1cnJlbnRFbH0uIGN1cnJlbnRFbCBtdXN0IGJlIGFzc2lnbmVkIGJlZm9yZSBzdGFydERyYWcoKSBpcyBjYWxsZWQuYCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBhIG1vdXNlbW92ZSBldmVudCwgY2FsY3VsYXRlIHRoZSBuZXcgd2lkdGggb2YgdGhlIGN1cnJlbnQgZWxlbWVudCBieSBcclxuICAgKiBhZGRpbmcgdGhlIGRpZmZlcmVuY2Ugb2YgdGhlIHN0YXJ0IHBhZ2VYIHBvc2l0aW9uIGFuZCB0aGUgY3VycmVudCBwYWdlWCBcclxuICAgKiBwb3NpdGlvbiB0byB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzdGFydGVkIGRyYWdnaW5nLiBQYXNzIHRoZSBcclxuICAgKiBjYWxjdWxhdGVkIHdpdGggdG8gdGhlIHNldFdpZHRoIG1ldGhvZC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZHJhZyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRXaWR0aCh0aGlzLnN0YXJ0RWxXaWR0aCArIChldmVudC5zY3JlZW5YIC0gdGhpcy5zdGFydFNjcmVlblgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgY3VycmVudCBlbGVtZW50J3Mgd2lkdGguIENhbGxlZCBhZnRlciBhIG1vdXNlbW92ZSBldmVudC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0V2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIGEgbW91c2V1cCBldmVudFxyXG4gICAqICogcmVtb3ZlIHRoZSBtb3VzZSBldmVudCBsaXN0ZW5lcnMgb24gdGhlIGRvY3VtZW50LlxyXG4gICAqICogcmVtb3ZlIHRoZSAnaXMtYWN0aXZlJyBjbGFzcyBmcm9tIHRoZSBjdXJyZW50IGVsZW1lbnRcclxuICAgKiAqIHJlc2V0IHRoZSBjdXJzb3Igc3R5bGUgb24gdGhlIGJvZHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc3RvcERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vdXNlbW92ZUxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIoKTtcclxuICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRoaXMubW91c2V1cExpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMubW91c2V1cExpc3RlbmVyKCk7XHJcbiAgICAgIHRoaXMubW91c2V1cExpc3RlbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZiAodGhpcy5jdXJyZW50RWwpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmN1cnJlbnRFbCwgJ2lzLWFjdGl2ZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnY3Vyc29yJyk7XHJcbiAgfVxyXG5cclxuICAvKipDYWxsZWQgYWZ0ZXIgdGhlIHZpZXcgaW5pdGlhbGl6ZXMgaWYgdGhlIGNvbXBvbmVudCBzdXBwb3J0cyByZXN0b3Jpbmcgd2lkdGhzIGFuZCB0aGVyZSBhcmUgY2FjaGVkIHdpZHRocyB0byByZXN0b3JlLiBcclxuICAgKiBUbyBiZSBvdmVycmlkZGVuIGluIGEgZGVyaXZlZCBjbGFzcyBpZiBpdCBzdXBwb3J0cyByZXN0b3Jpbmcgd2lkdGhzLCBkZWZhdWx0cyB0byBhIG5vLW9wKi9cclxuICBwcm90ZWN0ZWQgcmVzdG9yZVdpZHRocyh3aWR0aHM6IG51bWJlcltdKTogdm9pZCB7IH1cclxuXHJcbiAgLyoqIFN0b3JlIHRoZSBwcm92aWRlZCB3aWR0aHMgaW4gY2FjaGUgc28gdGhleSBjYW4gYmUgcmV0cmlldmVkIGxhdGVyICovXHJcbiAgcHJvdGVjdGVkIHNhdmVXaWR0aHMod2lkdGhzOiBudW1iZXJbXSl7XHJcbiAgICBpZih0aGlzLnJlbWVtYmVyV2lkdGggJiYgdGhpcy5pZCl7XHJcbiAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldEl0ZW0oJ3Jlc2l6YWJsZS0nICsgdGhpcy5pZCwgPFJlc2l6ZUNhY2hlRW50cnk+IHtcclxuICAgICAgICB3aWR0aHM6IHdpZHRoc1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZih0aGlzLnJlbWVtYmVyV2lkdGgpe1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdyZW1lbWJlcldpZHRoIGlzIHNldCBidXQgd2lsbCBub3QgdGFrZSBlZmZlY3QgdW5sZXNzIElEIGlzIGFsc28gc2V0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
|
@@ -1,57 +1,57 @@
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
2
|
-
import { Component, Inject } from '@angular/core';
|
3
|
-
import { ResizableBase } from './resizable-base';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../../core/cache.service";
|
6
|
-
/**
|
7
|
-
* Make an element resizable horizontally by wrapping it in the ResizableComponent.
|
8
|
-
* Default widths / limits are applied but you can optionally override them
|
9
|
-
* with min-width and max-width with style attributes
|
10
|
-
* @example
|
11
|
-
* <ec-resizable [style.width.px]="200"
|
12
|
-
* [style.min-width.px]="75"
|
13
|
-
* [style.max-width.px]="300">
|
14
|
-
* <div> ... </div>
|
15
|
-
* </ec-resizable>
|
16
|
-
*/
|
17
|
-
export class ResizableComponent extends ResizableBase {
|
18
|
-
constructor(el, renderer, cacheService, document) {
|
19
|
-
super(renderer, cacheService, document);
|
20
|
-
this.el = el;
|
21
|
-
//default rememberWidth to true for standard resizable, resizable tables default to false
|
22
|
-
this.rememberWidth = true;
|
23
|
-
}
|
24
|
-
/** Store the host element to reference later */
|
25
|
-
ngOnInit() {
|
26
|
-
this.currentEl = this.el.nativeElement;
|
27
|
-
}
|
28
|
-
/**
|
29
|
-
* Set the new width of the element and emit the new width to subscribers
|
30
|
-
*/
|
31
|
-
setWidth(width) {
|
32
|
-
this.renderer.setStyle(this.currentEl, 'width', width + 'px');
|
33
|
-
this.saveWidths([width]);
|
34
|
-
}
|
35
|
-
/**Called from the base class when cached widths are available and restoring
|
36
|
-
* width is enabled. We only care about the first one because we only have one width
|
37
|
-
*/
|
38
|
-
restoreWidths(widths) {
|
39
|
-
this.setWidth(widths[0]);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
ResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ResizableComponent, selector: "ec-resizable", usesInheritance: true, ngImport: i0, template: `<div class="content">
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { Component, Inject } from '@angular/core';
|
3
|
+
import { ResizableBase } from './resizable-base';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "../../core/cache.service";
|
6
|
+
/**
|
7
|
+
* Make an element resizable horizontally by wrapping it in the ResizableComponent.
|
8
|
+
* Default widths / limits are applied but you can optionally override them
|
9
|
+
* with min-width and max-width with style attributes
|
10
|
+
* @example
|
11
|
+
* <ec-resizable [style.width.px]="200"
|
12
|
+
* [style.min-width.px]="75"
|
13
|
+
* [style.max-width.px]="300">
|
14
|
+
* <div> ... </div>
|
15
|
+
* </ec-resizable>
|
16
|
+
*/
|
17
|
+
export class ResizableComponent extends ResizableBase {
|
18
|
+
constructor(el, renderer, cacheService, document) {
|
19
|
+
super(renderer, cacheService, document);
|
20
|
+
this.el = el;
|
21
|
+
//default rememberWidth to true for standard resizable, resizable tables default to false
|
22
|
+
this.rememberWidth = true;
|
23
|
+
}
|
24
|
+
/** Store the host element to reference later */
|
25
|
+
ngOnInit() {
|
26
|
+
this.currentEl = this.el.nativeElement;
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Set the new width of the element and emit the new width to subscribers
|
30
|
+
*/
|
31
|
+
setWidth(width) {
|
32
|
+
this.renderer.setStyle(this.currentEl, 'width', width + 'px');
|
33
|
+
this.saveWidths([width]);
|
34
|
+
}
|
35
|
+
/**Called from the base class when cached widths are available and restoring
|
36
|
+
* width is enabled. We only care about the first one because we only have one width
|
37
|
+
*/
|
38
|
+
restoreWidths(widths) {
|
39
|
+
this.setWidth(widths[0]);
|
40
|
+
}
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.CacheService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResizableComponent, selector: "ec-resizable", usesInheritance: true, ngImport: i0, template: `<div class="content">
|
44
43
|
<ng-content></ng-content>
|
45
44
|
</div>
|
46
|
-
<div class="handle" (mousedown)="startDrag($event)"></div>`, isInline: true, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] });
|
47
|
-
|
48
|
-
|
45
|
+
<div class="handle" (mousedown)="startDrag($event)"></div>`, isInline: true, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] }); }
|
46
|
+
}
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizableComponent, decorators: [{
|
48
|
+
type: Component,
|
49
49
|
args: [{ selector: 'ec-resizable', template: `<div class="content">
|
50
50
|
<ng-content></ng-content>
|
51
51
|
</div>
|
52
|
-
<div class="handle" (mousedown)="startDrag($event)"></div>`, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] }]
|
53
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.CacheService }, { type: Document, decorators: [{
|
54
|
-
type: Inject,
|
55
|
-
args: [DOCUMENT]
|
56
|
-
}] }]; } });
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
52
|
+
<div class="handle" (mousedown)="startDrag($event)"></div>`, styles: [":host{width:240px;max-width:480px;min-width:100px;position:relative;border-right:1px solid var(--ec-border-color);display:flex}:host.is-active{-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{position:absolute;right:-7px;width:13px;height:100%;top:0;padding:0 5px;z-index:var(--ec-z-index-splitter)}.handle:after{content:\"\";display:block;transition:background-color .3s ease;height:100%;position:relative}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{overflow:hidden;display:flex;flex:1 1;min-height:0;min-width:0}.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}\n"] }]
|
53
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.CacheService }, { type: Document, decorators: [{
|
54
|
+
type: Inject,
|
55
|
+
args: [DOCUMENT]
|
56
|
+
}] }]; } });
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3Jlc2l6YWJsZS9yZXNpemFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHakQ7Ozs7Ozs7Ozs7R0FVRztBQVNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUFhO0lBQ25ELFlBQ1UsRUFBYyxFQUN0QixRQUFtQixFQUNuQixZQUEwQixFQUNSLFFBQWtCO1FBRXBDLEtBQUssQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBTGhDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFPdEIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnREFBZ0Q7SUFDekMsUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ08sUUFBUSxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNPLGFBQWEsQ0FBQyxNQUFnQjtRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBL0JVLGtCQUFrQixpR0FLbkIsUUFBUTttR0FMUCxrQkFBa0IsMkVBTm5COzs7dUVBRzJEOzs0RkFHMUQsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGNBQWMsWUFDZDs7O3VFQUcyRDs7MEJBUWxFLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2NhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNpemFibGVCYXNlIH0gZnJvbSAnLi9yZXNpemFibGUtYmFzZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE1ha2UgYW4gZWxlbWVudCByZXNpemFibGUgaG9yaXpvbnRhbGx5IGJ5IHdyYXBwaW5nIGl0IGluIHRoZSBSZXNpemFibGVDb21wb25lbnQuXHJcbiAqIERlZmF1bHQgd2lkdGhzIC8gbGltaXRzIGFyZSBhcHBsaWVkIGJ1dCB5b3UgY2FuIG9wdGlvbmFsbHkgb3ZlcnJpZGUgdGhlbVxyXG4gKiB3aXRoIG1pbi13aWR0aCBhbmQgbWF4LXdpZHRoIHdpdGggc3R5bGUgYXR0cmlidXRlc1xyXG4gKiBAZXhhbXBsZVxyXG4gKiA8ZWMtcmVzaXphYmxlIFtzdHlsZS53aWR0aC5weF09XCIyMDBcIlxyXG4gKiAgICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiNzVcIlxyXG4gKiAgICAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiMzAwXCI+XHJcbiAqICAgIDxkaXY+IC4uLiA8L2Rpdj5cclxuICogPC9lYy1yZXNpemFibGU+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXJlc2l6YWJsZScsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYW5kbGVcIiAobW91c2Vkb3duKT1cInN0YXJ0RHJhZygkZXZlbnQpXCI+PC9kaXY+YCxcclxuICBzdHlsZVVybHM6IFsnLi9yZXNpemFibGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlQ29tcG9uZW50IGV4dGVuZHMgUmVzaXphYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50KVxyXG4gIHtcclxuICAgIHN1cGVyKHJlbmRlcmVyLCBjYWNoZVNlcnZpY2UsIGRvY3VtZW50KTtcclxuXHJcbiAgICAvL2RlZmF1bHQgcmVtZW1iZXJXaWR0aCB0byB0cnVlIGZvciBzdGFuZGFyZCByZXNpemFibGUsIHJlc2l6YWJsZSB0YWJsZXMgZGVmYXVsdCB0byBmYWxzZVxyXG4gICAgdGhpcy5yZW1lbWJlcldpZHRoID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBTdG9yZSB0aGUgaG9zdCBlbGVtZW50IHRvIHJlZmVyZW5jZSBsYXRlciAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudEVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBuZXcgd2lkdGggb2YgdGhlIGVsZW1lbnQgYW5kIGVtaXQgdGhlIG5ldyB3aWR0aCB0byBzdWJzY3JpYmVyc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZXRXaWR0aCh3aWR0aDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3VycmVudEVsLCAnd2lkdGgnLCB3aWR0aCArICdweCcpO1xyXG4gICAgdGhpcy5zYXZlV2lkdGhzKFt3aWR0aF0pO1xyXG4gIH1cclxuXHJcbiAgLyoqQ2FsbGVkIGZyb20gdGhlIGJhc2UgY2xhc3Mgd2hlbiBjYWNoZWQgd2lkdGhzIGFyZSBhdmFpbGFibGUgYW5kIHJlc3RvcmluZ1xyXG4gICAqIHdpZHRoIGlzIGVuYWJsZWQuIFdlIG9ubHkgY2FyZSBhYm91dCB0aGUgZmlyc3Qgb25lIGJlY2F1c2Ugd2Ugb25seSBoYXZlIG9uZSB3aWR0aFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZXN0b3JlV2lkdGhzKHdpZHRoczogbnVtYmVyW10pe1xyXG4gICAgdGhpcy5zZXRXaWR0aCh3aWR0aHNbMF0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import { Component } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
/** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
|
4
|
-
export class SpinnerComponent {
|
5
|
-
}
|
6
|
-
|
7
|
-
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
9
|
-
type: Component,
|
10
|
-
args: [{ selector: 'ec-spinner', template: "<div class=\"spinner\">\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }]
|
11
|
-
}] });
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/** Exposes the markup and styles that represent the spinner. No inputs or outputs defined because it is just a visual component*/
|
4
|
+
export class SpinnerComponent {
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SpinnerComponent, selector: "ec-spinner", ngImport: i0, template: "<div class=\"spinner\">\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }); }
|
7
|
+
}
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpinnerComponent, decorators: [{
|
9
|
+
type: Component,
|
10
|
+
args: [{ selector: 'ec-spinner', template: "<div class=\"spinner\">\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n <span class=\"spinner-dot\"></span>\r\n</div>", styles: ["@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{width:.75rem;height:.75rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.25rem}.spinner-dot:nth-child(1){animation-delay:-.6s}.spinner-dot:nth-child(2){animation-delay:-.4s}.spinner-dot:nth-child(3){animation-delay:-.2s}:host(.spinner-small) .spinner-dot{width:.5rem;height:.5rem;background-color:var(--ec-spinner-color, var(--ec-color-purple-5));animation:sk-bouncedelay 1.7s infinite ease-in-out both;margin-right:.1666666667rem}:host(.spinner-small) .spinner-dot:nth-child(1){animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){animation-delay:-.2s}\n"] }]
|
11
|
+
}] });
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLGtJQUFrSTtBQUNsSSxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7bUdBQWhCLGdCQUFnQixrRENUN0IsdU1BS007OzRGRElPLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXNwaW5uZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGlubmVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbi8qKiBFeHBvc2VzIHRoZSBtYXJrdXAgYW5kIHN0eWxlcyB0aGF0IHJlcHJlc2VudCB0aGUgc3Bpbm5lci4gTm8gaW5wdXRzIG9yIG91dHB1dHMgZGVmaW5lZCBiZWNhdXNlIGl0IGlzIGp1c3QgYSB2aXN1YWwgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIFNwaW5uZXJDb21wb25lbnQgeyB9XHJcbiIsIjxkaXYgY2xhc3M9XCJzcGlubmVyXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLWRvdFwiPjwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cInNwaW5uZXItZG90XCI+PC9zcGFuPlxyXG4gIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1kb3RcIj48L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLWRvdFwiPjwvc3Bhbj5cclxuPC9kaXY+Il19
|
@@ -1,42 +1,42 @@
|
|
1
|
-
import { Component } from '@angular/core';
|
2
|
-
import { Subject, timer } from 'rxjs';
|
3
|
-
import { takeUntil, tap } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "./splash.service";
|
6
|
-
export class SplashComponent {
|
7
|
-
constructor(splashService) {
|
8
|
-
this.splashService = splashService;
|
9
|
-
/** Sets the visibility of the splash display */
|
10
|
-
this.isVisible = true;
|
11
|
-
this.stopAnimation = false;
|
12
|
-
/** Emits when the service is destroyed */
|
13
|
-
this.destroyed = new Subject();
|
14
|
-
}
|
15
|
-
ngOnInit() {
|
16
|
-
this.splashService.splashVisibility.pipe(takeUntil(this.destroyed), tap(async (value) => {
|
17
|
-
if (value) {
|
18
|
-
this.stopAnimation = false;
|
19
|
-
}
|
20
|
-
else {
|
21
|
-
// Prevent animation from continuing after splash screen is hidden
|
22
|
-
// but if we hide it then show while the timer is running, don't stop the animation after all
|
23
|
-
timer(1000).pipe(takeUntil(this.splashService.splashVisibility)).subscribe(() => {
|
24
|
-
this.stopAnimation = true;
|
25
|
-
});
|
26
|
-
}
|
27
|
-
})).subscribe(showSplash => {
|
28
|
-
this.isVisible = showSplash;
|
29
|
-
});
|
30
|
-
}
|
31
|
-
ngOnDestroy() {
|
32
|
-
this.destroyed.next();
|
33
|
-
this.destroyed.unsubscribe();
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
39
|
-
type: Component,
|
40
|
-
args: [{ selector: 'ec-splash', template: "<div class=\"app-splash\" [class.app-loaded]=\"!isVisible\">\r\n <img src=\"/assets/images/splash.gif\">\r\n</div>" }]
|
41
|
-
}], ctorParameters: function () { return [{ type: i1.SplashService }]; } });
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import { Subject, timer } from 'rxjs';
|
3
|
+
import { takeUntil, tap } from 'rxjs/operators';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "./splash.service";
|
6
|
+
export class SplashComponent {
|
7
|
+
constructor(splashService) {
|
8
|
+
this.splashService = splashService;
|
9
|
+
/** Sets the visibility of the splash display */
|
10
|
+
this.isVisible = true;
|
11
|
+
this.stopAnimation = false;
|
12
|
+
/** Emits when the service is destroyed */
|
13
|
+
this.destroyed = new Subject();
|
14
|
+
}
|
15
|
+
ngOnInit() {
|
16
|
+
this.splashService.splashVisibility.pipe(takeUntil(this.destroyed), tap(async (value) => {
|
17
|
+
if (value) {
|
18
|
+
this.stopAnimation = false;
|
19
|
+
}
|
20
|
+
else {
|
21
|
+
// Prevent animation from continuing after splash screen is hidden
|
22
|
+
// but if we hide it then show while the timer is running, don't stop the animation after all
|
23
|
+
timer(1000).pipe(takeUntil(this.splashService.splashVisibility)).subscribe(() => {
|
24
|
+
this.stopAnimation = true;
|
25
|
+
});
|
26
|
+
}
|
27
|
+
})).subscribe(showSplash => {
|
28
|
+
this.isVisible = showSplash;
|
29
|
+
});
|
30
|
+
}
|
31
|
+
ngOnDestroy() {
|
32
|
+
this.destroyed.next();
|
33
|
+
this.destroyed.unsubscribe();
|
34
|
+
}
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplashComponent, deps: [{ token: i1.SplashService }], target: i0.ɵɵFactoryTarget.Component }); }
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplashComponent, selector: "ec-splash", ngImport: i0, template: "<div class=\"app-splash\" [class.app-loaded]=\"!isVisible\">\r\n <img src=\"/assets/images/splash.gif\">\r\n</div>" }); }
|
37
|
+
}
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplashComponent, decorators: [{
|
39
|
+
type: Component,
|
40
|
+
args: [{ selector: 'ec-splash', template: "<div class=\"app-splash\" [class.app-loaded]=\"!isVisible\">\r\n <img src=\"/assets/images/splash.gif\">\r\n</div>" }]
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.SplashService }]; } });
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsYXNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3NwbGFzaC9zcGxhc2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvc3BsYXNoL3NwbGFzaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNaEQsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFQaEQsZ0RBQWdEO1FBQ3pDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFdEMsMENBQTBDO1FBQ2xDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVHLENBQUM7SUFFckQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixHQUFHLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFO1lBQ2hCLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLGtFQUFrRTtnQkFDbEUsNkZBQTZGO2dCQUM3RixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRSxFQUFFO29CQUM3RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0FoQ1UsZUFBZTttR0FBZixlQUFlLGlEQ1Q1Qix1SEFFTTs7NEZET08sZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTcGxhc2hTZXJ2aWNlIH0gZnJvbSAnLi9zcGxhc2guc2VydmljZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1zcGxhc2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxhc2guY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGxhc2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqIFNldHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHNwbGFzaCBkaXNwbGF5ICovXHJcbiAgcHVibGljIGlzVmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHN0b3BBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEVtaXRzIHdoZW4gdGhlIHNlcnZpY2UgaXMgZGVzdHJveWVkICovXHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNwbGFzaFNlcnZpY2U6IFNwbGFzaFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3BsYXNoU2VydmljZS5zcGxhc2hWaXNpYmlsaXR5LnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXHJcbiAgICAgIHRhcChhc3luYyB2YWx1ZSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3BBbmltYXRpb24gPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gUHJldmVudCBhbmltYXRpb24gZnJvbSBjb250aW51aW5nIGFmdGVyIHNwbGFzaCBzY3JlZW4gaXMgaGlkZGVuXHJcbiAgICAgICAgICAvLyBidXQgaWYgd2UgaGlkZSBpdCB0aGVuIHNob3cgd2hpbGUgdGhlIHRpbWVyIGlzIHJ1bm5pbmcsIGRvbid0IHN0b3AgdGhlIGFuaW1hdGlvbiBhZnRlciBhbGxcclxuICAgICAgICAgIHRpbWVyKDEwMDApLnBpcGUodGFrZVVudGlsKHRoaXMuc3BsYXNoU2VydmljZS5zcGxhc2hWaXNpYmlsaXR5KSkuc3Vic2NyaWJlKCgpPT57XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcEFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZShzaG93U3BsYXNoID0+IHtcclxuICAgICAgdGhpcy5pc1Zpc2libGUgPSBzaG93U3BsYXNoO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhcHAtc3BsYXNoXCIgW2NsYXNzLmFwcC1sb2FkZWRdPVwiIWlzVmlzaWJsZVwiPlxyXG4gICAgPGltZyBzcmM9XCIvYXNzZXRzL2ltYWdlcy9zcGxhc2guZ2lmXCI+XHJcbjwvZGl2PiJdfQ==
|