@energycap/components 0.40.2-rxjs-7-upgrade.20241219-1425 → 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,173 +1,173 @@
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
2
|
-
import { of, Subject } from 'rxjs';
|
3
|
-
import { delay, switchMap, takeUntil } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "./../tooltip/tooltip.service";
|
6
|
-
export class TooltipDirective {
|
7
|
-
constructor(tooltipService, element, renderer2) {
|
8
|
-
this.tooltipService = tooltipService;
|
9
|
-
this.element = element;
|
10
|
-
this.renderer2 = renderer2;
|
11
|
-
//TooltipConfig: receives all the tooltip options to overwrite the
|
12
|
-
//default configuration of the tooltip
|
13
|
-
this.tooltipConfig = undefined;
|
14
|
-
//TooltipText: receives plain text to display in the default tooltip
|
15
|
-
this.tooltipText = undefined;
|
16
|
-
//TooltipCustomContent: receives a template reference to display
|
17
|
-
//into the tooltip content
|
18
|
-
this.tooltipCustomContent = undefined;
|
19
|
-
//This Input will remain as Input because tooltipPosition is not part
|
20
|
-
//of TooltipOptions type of object
|
21
|
-
this.tooltipPosition = "top-center";
|
22
|
-
//************************************************************//
|
23
|
-
//Events related
|
24
|
-
this.mouseOver = new Subject();
|
25
|
-
this.interrupt = new Subject();
|
26
|
-
this.hideCompleted = new Subject();
|
27
|
-
//Object with the tooltip options builded with the Input parameters
|
28
|
-
//and use it in tooltipService - show()
|
29
|
-
this.tooltipOptions = {};
|
30
|
-
/**Set when we show a tooltip, to allow us to unsubscribe to mouse move when hide fires.
|
31
|
-
* if we never showed the tooltip this will remain null and we won't have an event to unsubscribe to
|
32
|
-
*/
|
33
|
-
this.mouseMoveUnsubscribe = null;
|
34
|
-
}
|
35
|
-
ngOnInit() {
|
36
|
-
//checkInputsValue(): if there is an error it will prevent to execute
|
37
|
-
//any code related with the tooltip setup
|
38
|
-
if (this.checkInputsValue()) {
|
39
|
-
//Create the object with the tooltip options provided as @Inputs
|
40
|
-
this.createTooltipOptions();
|
41
|
-
//MouseOver flow: start the process of showing the tooltip
|
42
|
-
//until the mouse leaves the anchor element with this.interrupt
|
43
|
-
this.mouseOver
|
44
|
-
.pipe(switchMap(v => of(v).pipe(delay(300), //delays the time previous of showing the tooltip
|
45
|
-
takeUntil(this.interrupt))))
|
46
|
-
.subscribe(() => this.show()); //Calls the function responsable of using the tooltipService
|
47
|
-
//Mouse leave flow: start the process of removing the tooltip when the mouse is away of the anchor element
|
48
|
-
this.interrupt.pipe(switchMap(v => of(v).pipe(delay(50), takeUntil(this.hideCompleted)))).subscribe(() => this.hide()); //hide the tooltip and triggers the completed cycle flag this.hideCompleted
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
console.error('There are too many parameters or none parameter to config the tooltip options');
|
52
|
-
}
|
53
|
-
}
|
54
|
-
/**Detects where the mouse is to trigger the leave/hide process
|
55
|
-
* This is a backstop protection against us missing the mouseleave event and leaving a hanging chad.
|
56
|
-
* On some browsers, and on some actions (especially scroll) the mouseLeave seems to never fire */
|
57
|
-
onMouseMove(event) {
|
58
|
-
let callCallback = false;
|
59
|
-
if (this.contentRect) {
|
60
|
-
callCallback = this.tooltipService.onMove(event, this.contentRect);
|
61
|
-
if (callCallback) {
|
62
|
-
//trigger on hide process
|
63
|
-
this.interrupt.next();
|
64
|
-
//reset the contentRec for a new tooltip
|
65
|
-
this.contentRect = undefined;
|
66
|
-
}
|
67
|
-
}
|
68
|
-
}
|
69
|
-
//Trigger the process to show the tooltip
|
70
|
-
onMouseOver() {
|
71
|
-
this.mouseOver.next();
|
72
|
-
}
|
73
|
-
//Trigger the process to hide and later the process
|
74
|
-
//to mark as complete the cycle of show and hide the tooltip
|
75
|
-
onLeave() {
|
76
|
-
this.interrupt.next();
|
77
|
-
}
|
78
|
-
checkInputsValue() {
|
79
|
-
let parametersWithValue = 0;
|
80
|
-
if (this.tooltipText) {
|
81
|
-
parametersWithValue = parametersWithValue + 1;
|
82
|
-
}
|
83
|
-
if (this.tooltipCustomContent) {
|
84
|
-
parametersWithValue = parametersWithValue + 1;
|
85
|
-
}
|
86
|
-
if (this.tooltipConfig) {
|
87
|
-
parametersWithValue = parametersWithValue + 1;
|
88
|
-
}
|
89
|
-
if (parametersWithValue === 1) {
|
90
|
-
return true;
|
91
|
-
}
|
92
|
-
else {
|
93
|
-
return false;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
/**
|
97
|
-
* createTooltipOptions
|
98
|
-
* will only be executed after manageError() verifies
|
99
|
-
* if the parameters are not overlapping each other
|
100
|
-
* and it will build the tooltipOptions object
|
101
|
-
*/
|
102
|
-
createTooltipOptions() {
|
103
|
-
this.tooltipOptions = {
|
104
|
-
id: `tooltip_${this.tooltipConfig?.id ? this.tooltipConfig?.id : ''}`,
|
105
|
-
text: this.tooltipConfig?.text || this.tooltipText,
|
106
|
-
title: this.tooltipConfig?.title,
|
107
|
-
subtitle: this.tooltipConfig?.subtitle,
|
108
|
-
customContent: this.tooltipConfig?.customContent || this.tooltipCustomContent,
|
109
|
-
dismissible: this.tooltipConfig?.dismissible || false,
|
110
|
-
maxWidth: this.tooltipConfig?.maxWidth,
|
111
|
-
width: this.tooltipConfig?.width,
|
112
|
-
backgroundColor: this.tooltipConfig?.backgroundColor,
|
113
|
-
};
|
114
|
-
}
|
115
|
-
show() {
|
116
|
-
//Reference to the element where to tooltip is attached
|
117
|
-
const element = this.element.nativeElement;
|
118
|
-
//contentRect will be assing only after showing a tooltip/popover and it will be
|
119
|
-
//reset after hide the same tooltip/popover
|
120
|
-
this.contentRect = this.element.nativeElement.getBoundingClientRect();
|
121
|
-
//tooltipPosition is never undefined, default value = "top-center"
|
122
|
-
if (!this.tooltip) {
|
123
|
-
this.tooltip = this.tooltipService.show(element, this.tooltipPosition, this.tooltipOptions);
|
124
|
-
this.mouseMoveUnsubscribe = this.renderer2.listen(document, 'mousemove', this.onMouseMove.bind(this));
|
125
|
-
}
|
126
|
-
}
|
127
|
-
hide() {
|
128
|
-
//There is a timing issue between the show - hide with
|
129
|
-
//liner tooltip elements, so the below line
|
130
|
-
//makes sure the app doesn't break
|
131
|
-
if (this.tooltip) {
|
132
|
-
//Call the hide() from the tooltip component
|
133
|
-
this.tooltip.hide();
|
134
|
-
this.tooltip = undefined;
|
135
|
-
if (this.mouseMoveUnsubscribe) {
|
136
|
-
this.mouseMoveUnsubscribe();
|
137
|
-
}
|
138
|
-
}
|
139
|
-
//Interrupt the flow of mouseover with a delay and triggers the
|
140
|
-
//flow to hide the tooltip with a delay
|
141
|
-
this.interrupt.next();
|
142
|
-
//Work as a flag to indicate the flow of show and hide has been completed
|
143
|
-
this.hideCompleted.next();
|
144
|
-
}
|
145
|
-
//When the element where the tooltip is attached disappears
|
146
|
-
//the tooltip should be destroy as well
|
147
|
-
ngOnDestroy() {
|
148
|
-
this.interrupt.next();
|
149
|
-
}
|
150
|
-
}
|
151
|
-
|
152
|
-
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
154
|
-
type: Directive,
|
155
|
-
args: [{
|
156
|
-
selector: '[ecTooltip]'
|
157
|
-
}]
|
158
|
-
}], ctorParameters: function () { return [{ type: i1.TooltipService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipConfig: [{
|
159
|
-
type: Input
|
160
|
-
}], tooltipText: [{
|
161
|
-
type: Input
|
162
|
-
}], tooltipCustomContent: [{
|
163
|
-
type: Input
|
164
|
-
}], tooltipPosition: [{
|
165
|
-
type: Input
|
166
|
-
}], onMouseOver: [{
|
167
|
-
type: HostListener,
|
168
|
-
args: ['mouseover']
|
169
|
-
}], onLeave: [{
|
170
|
-
type: HostListener,
|
171
|
-
args: ['mouseleave']
|
172
|
-
}] } });
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwLWRpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGdCQUFnQjtJQTJDM0IsWUFDVSxjQUE4QixFQUM5QixPQUFtQixFQUNuQixTQUFvQjtRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBNUM5QixrRUFBa0U7UUFDbEUsc0NBQXNDO1FBQ3RCLGtCQUFhLEdBQW9CLFNBQVMsQ0FBQTtRQUUxRCxvRUFBb0U7UUFDcEQsZ0JBQVcsR0FBWSxTQUFTLENBQUM7UUFFakQsZ0VBQWdFO1FBQ2hFLDBCQUEwQjtRQUNWLHlCQUFvQixHQUFzQixTQUFTLENBQUM7UUFHcEUscUVBQXFFO1FBQ3JFLGtDQUFrQztRQUNsQixvQkFBZSxHQUFvQixZQUFZLENBQUM7UUFJaEUsZ0VBQWdFO1FBRWhFLGdCQUFnQjtRQUNSLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE1QyxtRUFBbUU7UUFDbkUsdUNBQXVDO1FBQy9CLG1CQUFjLEdBQW1CLEVBQUUsQ0FB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Vix1REFBdUQ7UUFDdkQsMkNBQTJDO1FBQzNDLGtDQUFrQztRQUNsQyxJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZiw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUV6QixJQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBQztnQkFDM0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDN0I7U0FDRjtRQUVELGdFQUFnRTtRQUNoRSx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0Qix5RUFBeUU7UUFDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkRBQTJEO0lBQzNELHlDQUF5QztJQUN6QyxXQUFXO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs2R0EzTFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7c0pBTWlCLGFBQWE7c0JBQTVCLEtBQUs7Z0JBR1UsV0FBVztzQkFBMUIsS0FBSztnQkFJVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBS1UsZUFBZTtzQkFBOUIsS0FBSztnQkFvRkMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXO2dCQVFsQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCwgVG9vbHRpcE9wdGlvbnMsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4vLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY1Rvb2x0aXBdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvL1Rvb2x0aXBDb25maWc6IHJlY2VpdmVzIGFsbCB0aGUgdG9vbHRpcCBvcHRpb25zIHRvIG92ZXJ3cml0ZSB0aGVcclxuICAvL2RlZmF1bHQgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9vbHRpcFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwQ29uZmlnPzogVG9vbHRpcE9wdGlvbnMgPSB1bmRlZmluZWRcclxuXHJcbiAgLy9Ub29sdGlwVGV4dDogcmVjZWl2ZXMgcGxhaW4gdGV4dCB0byBkaXNwbGF5IGluIHRoZSBkZWZhdWx0IHRvb2x0aXBcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcFRleHQ/OiBzdHJpbmcgPSB1bmRlZmluZWQ7IFxyXG5cclxuICAvL1Rvb2x0aXBDdXN0b21Db250ZW50OiByZWNlaXZlcyBhIHRlbXBsYXRlIHJlZmVyZW5jZSB0byBkaXNwbGF5XHJcbiAgLy9pbnRvIHRoZSB0b29sdGlwIGNvbnRlbnRcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcEN1c3RvbUNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+ID0gdW5kZWZpbmVkO1xyXG4gIFxyXG4gIFxyXG4gIC8vVGhpcyBJbnB1dCB3aWxsIHJlbWFpbiBhcyBJbnB1dCBiZWNhdXNlIHRvb2x0aXBQb3NpdGlvbiBpcyBub3QgcGFydFxyXG4gIC8vb2YgVG9vbHRpcE9wdGlvbnMgdHlwZSBvZiBvYmplY3RcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSBcInRvcC1jZW50ZXJcIjtcclxuXHJcblxyXG5cclxuICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gIC8vRXZlbnRzIHJlbGF0ZWRcclxuICBwcml2YXRlIG1vdXNlT3ZlciA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBpbnRlcnJ1cHQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgaGlkZUNvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBjb250ZW50UmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuICAvL1JlZmVyZW5jZSB0byBUb29sdGlwQ29tcG9uZW50LCB3aWxsIGJlIGRlZmluZWQgYmVsb3cgaW4gdGhpcy5zaG93KClcclxuICBwcml2YXRlIHRvb2x0aXA/OiBUb29sdGlwQ29tcG9uZW50O1xyXG5cclxuICAvL09iamVjdCB3aXRoIHRoZSB0b29sdGlwIG9wdGlvbnMgYnVpbGRlZCB3aXRoIHRoZSBJbnB1dCBwYXJhbWV0ZXJzXHJcbiAgLy9hbmQgdXNlIGl0IGluIHRvb2x0aXBTZXJ2aWNlIC0gc2hvdygpXHJcbiAgcHJpdmF0ZSB0b29sdGlwT3B0aW9ucz86VG9vbHRpcE9wdGlvbnMgPSB7fVxyXG4gIFxyXG5cclxuICAvKipTZXQgd2hlbiB3ZSBzaG93IGEgdG9vbHRpcCwgdG8gYWxsb3cgdXMgdG8gdW5zdWJzY3JpYmUgdG8gbW91c2UgbW92ZSB3aGVuIGhpZGUgZmlyZXMuXHJcbiAgICogaWYgd2UgbmV2ZXIgc2hvd2VkIHRoZSB0b29sdGlwIHRoaXMgd2lsbCByZW1haW4gbnVsbCBhbmQgd2Ugd29uJ3QgaGF2ZSBhbiBldmVudCB0byB1bnN1YnNjcmliZSB0b1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbW91c2VNb3ZlVW5zdWJzY3JpYmU6ICgoKT0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b29sdGlwU2VydmljZTogVG9vbHRpcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvL2NoZWNrSW5wdXRzVmFsdWUoKTogaWYgdGhlcmUgaXMgYW4gZXJyb3IgaXQgd2lsbCBwcmV2ZW50IHRvIGV4ZWN1dGVcclxuICAgIC8vYW55IGNvZGUgcmVsYXRlZCB3aXRoIHRoZSB0b29sdGlwIHNldHVwXHJcbiAgICBpZih0aGlzLmNoZWNrSW5wdXRzVmFsdWUoKSkge1xyXG4gICAgICAvL0NyZWF0ZSB0aGUgb2JqZWN0IHdpdGggdGhlIHRvb2x0aXAgb3B0aW9ucyBwcm92aWRlZCBhcyBASW5wdXRzXHJcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcE9wdGlvbnMoKTtcclxuXHJcbiAgICAgIC8vTW91c2VPdmVyIGZsb3c6IHN0YXJ0IHRoZSBwcm9jZXNzIG9mIHNob3dpbmcgdGhlIHRvb2x0aXBcclxuICAgICAgLy91bnRpbCB0aGUgbW91c2UgbGVhdmVzIHRoZSBhbmNob3IgZWxlbWVudCB3aXRoIHRoaXMuaW50ZXJydXB0XHJcbiAgICAgIHRoaXMubW91c2VPdmVyXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCh2ID0+XHJcbiAgICAgICAgICBvZih2KS5waXBlKFxyXG4gICAgICAgICAgICBkZWxheSgzMDApLCAvL2RlbGF5cyB0aGUgdGltZSBwcmV2aW91cyBvZiBzaG93aW5nIHRoZSB0b29sdGlwXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmludGVycnVwdClcclxuICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3coKSk7IC8vQ2FsbHMgdGhlIGZ1bmN0aW9uIHJlc3BvbnNhYmxlIG9mIHVzaW5nIHRoZSB0b29sdGlwU2VydmljZVxyXG4gIFxyXG4gICAgICAvL01vdXNlIGxlYXZlIGZsb3c6IHN0YXJ0IHRoZSBwcm9jZXNzIG9mIHJlbW92aW5nIHRoZSB0b29sdGlwIHdoZW4gdGhlIG1vdXNlIGlzIGF3YXkgb2YgdGhlIGFuY2hvciBlbGVtZW50XHJcbiAgICAgIHRoaXMuaW50ZXJydXB0LnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKHYgPT4gXHJcbiAgICAgICAgICBvZih2KS5waXBlKFxyXG4gICAgICAgICAgICBkZWxheSg1MCksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmhpZGVDb21wbGV0ZWQpXHJcbiAgICAgICAgICApKVxyXG4gICAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLmhpZGUoKSk7IC8vaGlkZSB0aGUgdG9vbHRpcCBhbmQgdHJpZ2dlcnMgdGhlIGNvbXBsZXRlZCBjeWNsZSBmbGFnIHRoaXMuaGlkZUNvbXBsZXRlZFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignVGhlcmUgYXJlIHRvbyBtYW55IHBhcmFtZXRlcnMgb3Igbm9uZSBwYXJhbWV0ZXIgdG8gY29uZmlnIHRoZSB0b29sdGlwIG9wdGlvbnMnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKkRldGVjdHMgd2hlcmUgdGhlIG1vdXNlIGlzIHRvIHRyaWdnZXIgdGhlIGxlYXZlL2hpZGUgcHJvY2Vzc1xyXG4gICAqIFRoaXMgaXMgYSBiYWNrc3RvcCBwcm90ZWN0aW9uIGFnYWluc3QgdXMgbWlzc2luZyB0aGUgbW91c2VsZWF2ZSBldmVudCBhbmQgbGVhdmluZyBhIGhhbmdpbmcgY2hhZC5cclxuICAgKiBPbiBzb21lIGJyb3dzZXJzLCBhbmQgb24gc29tZSBhY3Rpb25zIChlc3BlY2lhbGx5IHNjcm9sbCkgdGhlIG1vdXNlTGVhdmUgc2VlbXMgdG8gbmV2ZXIgZmlyZSAqL1xyXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDpNb3VzZUV2ZW50KSB7XHJcbiAgICBsZXQgY2FsbENhbGxiYWNrID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLmNvbnRlbnRSZWN0KSB7XHJcbiAgICAgIGNhbGxDYWxsYmFjayA9IHRoaXMudG9vbHRpcFNlcnZpY2Uub25Nb3ZlKGV2ZW50LCB0aGlzLmNvbnRlbnRSZWN0ISk7XHJcbiAgICAgIGlmKGNhbGxDYWxsYmFjaykge1xyXG4gICAgICAgIC8vdHJpZ2dlciBvbiBoaWRlIHByb2Nlc3NcclxuICAgICAgICB0aGlzLmludGVycnVwdC5uZXh0KCk7IFxyXG4gICAgICAgIC8vcmVzZXQgdGhlIGNvbnRlbnRSZWMgZm9yIGEgbmV3IHRvb2x0aXBcclxuICAgICAgICB0aGlzLmNvbnRlbnRSZWN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1RyaWdnZXIgdGhlIHByb2Nlc3MgdG8gc2hvdyB0aGUgdG9vbHRpcFxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXHJcbiAgcHVibGljIG9uTW91c2VPdmVyKCkge1xyXG4gICAgdGhpcy5tb3VzZU92ZXIubmV4dCgpO1xyXG4gIH1cclxuICBcclxuICAvL1RyaWdnZXIgdGhlIHByb2Nlc3MgdG8gaGlkZSBhbmQgbGF0ZXIgdGhlIHByb2Nlc3NcclxuICAvL3RvIG1hcmsgYXMgY29tcGxldGUgdGhlIGN5Y2xlIG9mIHNob3cgYW5kIGhpZGUgdGhlIHRvb2x0aXBcclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcclxuICBwdWJsaWMgb25MZWF2ZSgpIHtcclxuICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tJbnB1dHNWYWx1ZSgpOmJvb2xlYW4ge1xyXG4gICAgbGV0IHBhcmFtZXRlcnNXaXRoVmFsdWUgPSAwO1xyXG4gICAgaWYodGhpcy50b29sdGlwVGV4dCkge1xyXG4gICAgICBwYXJhbWV0ZXJzV2l0aFZhbHVlID0gcGFyYW1ldGVyc1dpdGhWYWx1ZSArIDFcclxuICAgIH0gXHJcbiAgICBpZih0aGlzLnRvb2x0aXBDdXN0b21Db250ZW50KSB7XHJcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b29sdGlwQ29uZmlnKSB7XHJcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxyXG4gICAgfVxyXG4gICAgaWYocGFyYW1ldGVyc1dpdGhWYWx1ZSA9PT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogY3JlYXRlVG9vbHRpcE9wdGlvbnNcclxuICAgKiB3aWxsIG9ubHkgYmUgZXhlY3V0ZWQgYWZ0ZXIgbWFuYWdlRXJyb3IoKSB2ZXJpZmllcyBcclxuICAgKiBpZiB0aGUgcGFyYW1ldGVycyBhcmUgbm90IG92ZXJsYXBwaW5nIGVhY2ggb3RoZXJcclxuICAgKiBhbmQgaXQgd2lsbCBidWlsZCB0aGUgdG9vbHRpcE9wdGlvbnMgb2JqZWN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVUb29sdGlwT3B0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcE9wdGlvbnMgPSB7XHJcbiAgICAgIGlkOiBgdG9vbHRpcF8ke3RoaXMudG9vbHRpcENvbmZpZz8uaWQ/IHRoaXMudG9vbHRpcENvbmZpZz8uaWQ6ICcnfWAsXHJcbiAgICAgIHRleHQ6IHRoaXMudG9vbHRpcENvbmZpZz8udGV4dCB8fCB0aGlzLnRvb2x0aXBUZXh0LFxyXG4gICAgICB0aXRsZTogdGhpcy50b29sdGlwQ29uZmlnPy50aXRsZSxcclxuICAgICAgc3VidGl0bGU6IHRoaXMudG9vbHRpcENvbmZpZz8uc3VidGl0bGUsXHJcbiAgICAgIGN1c3RvbUNvbnRlbnQ6IHRoaXMudG9vbHRpcENvbmZpZz8uY3VzdG9tQ29udGVudCB8fCB0aGlzLnRvb2x0aXBDdXN0b21Db250ZW50LFxyXG4gICAgICBkaXNtaXNzaWJsZTogdGhpcy50b29sdGlwQ29uZmlnPy5kaXNtaXNzaWJsZSB8fCBmYWxzZSxcclxuICAgICAgbWF4V2lkdGg6IHRoaXMudG9vbHRpcENvbmZpZz8ubWF4V2lkdGgsXHJcbiAgICAgIHdpZHRoOiB0aGlzLnRvb2x0aXBDb25maWc/LndpZHRoLFxyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMudG9vbHRpcENvbmZpZz8uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIHNob3coKTp2b2lkIHtcclxuICAgIC8vUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHdoZXJlIHRvIHRvb2x0aXAgaXMgYXR0YWNoZWRcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIC8vY29udGVudFJlY3Qgd2lsbCBiZSBhc3Npbmcgb25seSBhZnRlciBzaG93aW5nIGEgdG9vbHRpcC9wb3BvdmVyIGFuZCBpdCB3aWxsIGJlXHJcbiAgICAvL3Jlc2V0IGFmdGVyIGhpZGUgdGhlIHNhbWUgdG9vbHRpcC9wb3BvdmVyXHJcbiAgICB0aGlzLmNvbnRlbnRSZWN0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAvL3Rvb2x0aXBQb3NpdGlvbiBpcyBuZXZlciB1bmRlZmluZWQsIGRlZmF1bHQgdmFsdWUgPSBcInRvcC1jZW50ZXJcIlxyXG4gICAgaWYoIXRoaXMudG9vbHRpcCkge1xyXG4gICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXBTZXJ2aWNlLnNob3coZWxlbWVudCBhcyBIVE1MRWxlbWVudCwgdGhpcy50b29sdGlwUG9zaXRpb24sIHRoaXMudG9vbHRpcE9wdGlvbnMpO1xyXG4gICAgICB0aGlzLm1vdXNlTW92ZVVuc3Vic2NyaWJlID0gdGhpcy5yZW5kZXJlcjIubGlzdGVuKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZS5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZSgpOnZvaWQge1xyXG4gICAgLy9UaGVyZSBpcyBhIHRpbWluZyBpc3N1ZSBiZXR3ZWVuIHRoZSBzaG93IC0gaGlkZSB3aXRoIFxyXG4gICAgLy9saW5lciB0b29sdGlwIGVsZW1lbnRzLCBzbyB0aGUgYmVsb3cgbGluZVxyXG4gICAgLy9tYWtlcyBzdXJlIHRoZSBhcHAgZG9lc24ndCBicmVha1xyXG4gICAgaWYodGhpcy50b29sdGlwKSB7XHJcbiAgICAgIC8vQ2FsbCB0aGUgaGlkZSgpIGZyb20gdGhlIHRvb2x0aXAgY29tcG9uZW50XHJcbiAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IHVuZGVmaW5lZDtcclxuICAgICAgXHJcbiAgICAgIGlmKHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUpe1xyXG4gICAgICAgIHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vSW50ZXJydXB0IHRoZSBmbG93IG9mIG1vdXNlb3ZlciB3aXRoIGEgZGVsYXkgYW5kIHRyaWdnZXJzIHRoZSBcclxuICAgIC8vZmxvdyB0byBoaWRlIHRoZSB0b29sdGlwIHdpdGggYSBkZWxheSBcclxuICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcclxuICAgIC8vV29yayBhcyBhIGZsYWcgdG8gaW5kaWNhdGUgdGhlIGZsb3cgb2Ygc2hvdyBhbmQgaGlkZSBoYXMgYmVlbiBjb21wbGV0ZWRcclxuICAgIHRoaXMuaGlkZUNvbXBsZXRlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvL1doZW4gdGhlIGVsZW1lbnQgd2hlcmUgdGhlIHRvb2x0aXAgaXMgYXR0YWNoZWQgZGlzYXBwZWFyc1xyXG4gIC8vdGhlIHRvb2x0aXAgc2hvdWxkIGJlIGRlc3Ryb3kgYXMgd2VsbCAgXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
2
|
+
import { of, Subject } from 'rxjs';
|
3
|
+
import { delay, switchMap, takeUntil } from 'rxjs/operators';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "./../tooltip/tooltip.service";
|
6
|
+
export class TooltipDirective {
|
7
|
+
constructor(tooltipService, element, renderer2) {
|
8
|
+
this.tooltipService = tooltipService;
|
9
|
+
this.element = element;
|
10
|
+
this.renderer2 = renderer2;
|
11
|
+
//TooltipConfig: receives all the tooltip options to overwrite the
|
12
|
+
//default configuration of the tooltip
|
13
|
+
this.tooltipConfig = undefined;
|
14
|
+
//TooltipText: receives plain text to display in the default tooltip
|
15
|
+
this.tooltipText = undefined;
|
16
|
+
//TooltipCustomContent: receives a template reference to display
|
17
|
+
//into the tooltip content
|
18
|
+
this.tooltipCustomContent = undefined;
|
19
|
+
//This Input will remain as Input because tooltipPosition is not part
|
20
|
+
//of TooltipOptions type of object
|
21
|
+
this.tooltipPosition = "top-center";
|
22
|
+
//************************************************************//
|
23
|
+
//Events related
|
24
|
+
this.mouseOver = new Subject();
|
25
|
+
this.interrupt = new Subject();
|
26
|
+
this.hideCompleted = new Subject();
|
27
|
+
//Object with the tooltip options builded with the Input parameters
|
28
|
+
//and use it in tooltipService - show()
|
29
|
+
this.tooltipOptions = {};
|
30
|
+
/**Set when we show a tooltip, to allow us to unsubscribe to mouse move when hide fires.
|
31
|
+
* if we never showed the tooltip this will remain null and we won't have an event to unsubscribe to
|
32
|
+
*/
|
33
|
+
this.mouseMoveUnsubscribe = null;
|
34
|
+
}
|
35
|
+
ngOnInit() {
|
36
|
+
//checkInputsValue(): if there is an error it will prevent to execute
|
37
|
+
//any code related with the tooltip setup
|
38
|
+
if (this.checkInputsValue()) {
|
39
|
+
//Create the object with the tooltip options provided as @Inputs
|
40
|
+
this.createTooltipOptions();
|
41
|
+
//MouseOver flow: start the process of showing the tooltip
|
42
|
+
//until the mouse leaves the anchor element with this.interrupt
|
43
|
+
this.mouseOver
|
44
|
+
.pipe(switchMap(v => of(v).pipe(delay(300), //delays the time previous of showing the tooltip
|
45
|
+
takeUntil(this.interrupt))))
|
46
|
+
.subscribe(() => this.show()); //Calls the function responsable of using the tooltipService
|
47
|
+
//Mouse leave flow: start the process of removing the tooltip when the mouse is away of the anchor element
|
48
|
+
this.interrupt.pipe(switchMap(v => of(v).pipe(delay(50), takeUntil(this.hideCompleted)))).subscribe(() => this.hide()); //hide the tooltip and triggers the completed cycle flag this.hideCompleted
|
49
|
+
}
|
50
|
+
else {
|
51
|
+
console.error('There are too many parameters or none parameter to config the tooltip options');
|
52
|
+
}
|
53
|
+
}
|
54
|
+
/**Detects where the mouse is to trigger the leave/hide process
|
55
|
+
* This is a backstop protection against us missing the mouseleave event and leaving a hanging chad.
|
56
|
+
* On some browsers, and on some actions (especially scroll) the mouseLeave seems to never fire */
|
57
|
+
onMouseMove(event) {
|
58
|
+
let callCallback = false;
|
59
|
+
if (this.contentRect) {
|
60
|
+
callCallback = this.tooltipService.onMove(event, this.contentRect);
|
61
|
+
if (callCallback) {
|
62
|
+
//trigger on hide process
|
63
|
+
this.interrupt.next();
|
64
|
+
//reset the contentRec for a new tooltip
|
65
|
+
this.contentRect = undefined;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
//Trigger the process to show the tooltip
|
70
|
+
onMouseOver() {
|
71
|
+
this.mouseOver.next();
|
72
|
+
}
|
73
|
+
//Trigger the process to hide and later the process
|
74
|
+
//to mark as complete the cycle of show and hide the tooltip
|
75
|
+
onLeave() {
|
76
|
+
this.interrupt.next();
|
77
|
+
}
|
78
|
+
checkInputsValue() {
|
79
|
+
let parametersWithValue = 0;
|
80
|
+
if (this.tooltipText) {
|
81
|
+
parametersWithValue = parametersWithValue + 1;
|
82
|
+
}
|
83
|
+
if (this.tooltipCustomContent) {
|
84
|
+
parametersWithValue = parametersWithValue + 1;
|
85
|
+
}
|
86
|
+
if (this.tooltipConfig) {
|
87
|
+
parametersWithValue = parametersWithValue + 1;
|
88
|
+
}
|
89
|
+
if (parametersWithValue === 1) {
|
90
|
+
return true;
|
91
|
+
}
|
92
|
+
else {
|
93
|
+
return false;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
/**
|
97
|
+
* createTooltipOptions
|
98
|
+
* will only be executed after manageError() verifies
|
99
|
+
* if the parameters are not overlapping each other
|
100
|
+
* and it will build the tooltipOptions object
|
101
|
+
*/
|
102
|
+
createTooltipOptions() {
|
103
|
+
this.tooltipOptions = {
|
104
|
+
id: `tooltip_${this.tooltipConfig?.id ? this.tooltipConfig?.id : ''}`,
|
105
|
+
text: this.tooltipConfig?.text || this.tooltipText,
|
106
|
+
title: this.tooltipConfig?.title,
|
107
|
+
subtitle: this.tooltipConfig?.subtitle,
|
108
|
+
customContent: this.tooltipConfig?.customContent || this.tooltipCustomContent,
|
109
|
+
dismissible: this.tooltipConfig?.dismissible || false,
|
110
|
+
maxWidth: this.tooltipConfig?.maxWidth,
|
111
|
+
width: this.tooltipConfig?.width,
|
112
|
+
backgroundColor: this.tooltipConfig?.backgroundColor,
|
113
|
+
};
|
114
|
+
}
|
115
|
+
show() {
|
116
|
+
//Reference to the element where to tooltip is attached
|
117
|
+
const element = this.element.nativeElement;
|
118
|
+
//contentRect will be assing only after showing a tooltip/popover and it will be
|
119
|
+
//reset after hide the same tooltip/popover
|
120
|
+
this.contentRect = this.element.nativeElement.getBoundingClientRect();
|
121
|
+
//tooltipPosition is never undefined, default value = "top-center"
|
122
|
+
if (!this.tooltip) {
|
123
|
+
this.tooltip = this.tooltipService.show(element, this.tooltipPosition, this.tooltipOptions);
|
124
|
+
this.mouseMoveUnsubscribe = this.renderer2.listen(document, 'mousemove', this.onMouseMove.bind(this));
|
125
|
+
}
|
126
|
+
}
|
127
|
+
hide() {
|
128
|
+
//There is a timing issue between the show - hide with
|
129
|
+
//liner tooltip elements, so the below line
|
130
|
+
//makes sure the app doesn't break
|
131
|
+
if (this.tooltip) {
|
132
|
+
//Call the hide() from the tooltip component
|
133
|
+
this.tooltip.hide();
|
134
|
+
this.tooltip = undefined;
|
135
|
+
if (this.mouseMoveUnsubscribe) {
|
136
|
+
this.mouseMoveUnsubscribe();
|
137
|
+
}
|
138
|
+
}
|
139
|
+
//Interrupt the flow of mouseover with a delay and triggers the
|
140
|
+
//flow to hide the tooltip with a delay
|
141
|
+
this.interrupt.next();
|
142
|
+
//Work as a flag to indicate the flow of show and hide has been completed
|
143
|
+
this.hideCompleted.next();
|
144
|
+
}
|
145
|
+
//When the element where the tooltip is attached disappears
|
146
|
+
//the tooltip should be destroy as well
|
147
|
+
ngOnDestroy() {
|
148
|
+
this.interrupt.next();
|
149
|
+
}
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.TooltipService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
151
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TooltipDirective, selector: "[ecTooltip]", inputs: { tooltipConfig: "tooltipConfig", tooltipText: "tooltipText", tooltipCustomContent: "tooltipCustomContent", tooltipPosition: "tooltipPosition" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, ngImport: i0 }); }
|
152
|
+
}
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipDirective, decorators: [{
|
154
|
+
type: Directive,
|
155
|
+
args: [{
|
156
|
+
selector: '[ecTooltip]'
|
157
|
+
}]
|
158
|
+
}], ctorParameters: function () { return [{ type: i1.TooltipService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipConfig: [{
|
159
|
+
type: Input
|
160
|
+
}], tooltipText: [{
|
161
|
+
type: Input
|
162
|
+
}], tooltipCustomContent: [{
|
163
|
+
type: Input
|
164
|
+
}], tooltipPosition: [{
|
165
|
+
type: Input
|
166
|
+
}], onMouseOver: [{
|
167
|
+
type: HostListener,
|
168
|
+
args: ['mouseover']
|
169
|
+
}], onLeave: [{
|
170
|
+
type: HostListener,
|
171
|
+
args: ['mouseleave']
|
172
|
+
}] } });
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwLWRpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGdCQUFnQjtJQTJDM0IsWUFDVSxjQUE4QixFQUM5QixPQUFtQixFQUNuQixTQUFvQjtRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBNUM5QixrRUFBa0U7UUFDbEUsc0NBQXNDO1FBQ3RCLGtCQUFhLEdBQW9CLFNBQVMsQ0FBQTtRQUUxRCxvRUFBb0U7UUFDcEQsZ0JBQVcsR0FBWSxTQUFTLENBQUM7UUFFakQsZ0VBQWdFO1FBQ2hFLDBCQUEwQjtRQUNWLHlCQUFvQixHQUFzQixTQUFTLENBQUM7UUFHcEUscUVBQXFFO1FBQ3JFLGtDQUFrQztRQUNsQixvQkFBZSxHQUFvQixZQUFZLENBQUM7UUFJaEUsZ0VBQWdFO1FBRWhFLGdCQUFnQjtRQUNSLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE1QyxtRUFBbUU7UUFDbkUsdUNBQXVDO1FBQy9CLG1CQUFjLEdBQW1CLEVBQUUsQ0FB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Vix1REFBdUQ7UUFDdkQsMkNBQTJDO1FBQzNDLGtDQUFrQztRQUNsQyxJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZiw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUV6QixJQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBQztnQkFDM0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDN0I7U0FDRjtRQUVELGdFQUFnRTtRQUNoRSx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0Qix5RUFBeUU7UUFDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkRBQTJEO0lBQzNELHlDQUF5QztJQUN6QyxXQUFXO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQTNMVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7c0pBTWlCLGFBQWE7c0JBQTVCLEtBQUs7Z0JBR1UsV0FBVztzQkFBMUIsS0FBSztnQkFJVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBS1UsZUFBZTtzQkFBOUIsS0FBSztnQkFvRkMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXO2dCQVFsQixPQUFPO3NCQURiLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCwgVG9vbHRpcE9wdGlvbnMsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4vLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY1Rvb2x0aXBdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvL1Rvb2x0aXBDb25maWc6IHJlY2VpdmVzIGFsbCB0aGUgdG9vbHRpcCBvcHRpb25zIHRvIG92ZXJ3cml0ZSB0aGVcclxuICAvL2RlZmF1bHQgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9vbHRpcFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwQ29uZmlnPzogVG9vbHRpcE9wdGlvbnMgPSB1bmRlZmluZWRcclxuXHJcbiAgLy9Ub29sdGlwVGV4dDogcmVjZWl2ZXMgcGxhaW4gdGV4dCB0byBkaXNwbGF5IGluIHRoZSBkZWZhdWx0IHRvb2x0aXBcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcFRleHQ/OiBzdHJpbmcgPSB1bmRlZmluZWQ7IFxyXG5cclxuICAvL1Rvb2x0aXBDdXN0b21Db250ZW50OiByZWNlaXZlcyBhIHRlbXBsYXRlIHJlZmVyZW5jZSB0byBkaXNwbGF5XHJcbiAgLy9pbnRvIHRoZSB0b29sdGlwIGNvbnRlbnRcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcEN1c3RvbUNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+ID0gdW5kZWZpbmVkO1xyXG4gIFxyXG4gIFxyXG4gIC8vVGhpcyBJbnB1dCB3aWxsIHJlbWFpbiBhcyBJbnB1dCBiZWNhdXNlIHRvb2x0aXBQb3NpdGlvbiBpcyBub3QgcGFydFxyXG4gIC8vb2YgVG9vbHRpcE9wdGlvbnMgdHlwZSBvZiBvYmplY3RcclxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSBcInRvcC1jZW50ZXJcIjtcclxuXHJcblxyXG5cclxuICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gIC8vRXZlbnRzIHJlbGF0ZWRcclxuICBwcml2YXRlIG1vdXNlT3ZlciA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBpbnRlcnJ1cHQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgaGlkZUNvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBjb250ZW50UmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuICAvL1JlZmVyZW5jZSB0byBUb29sdGlwQ29tcG9uZW50LCB3aWxsIGJlIGRlZmluZWQgYmVsb3cgaW4gdGhpcy5zaG93KClcclxuICBwcml2YXRlIHRvb2x0aXA/OiBUb29sdGlwQ29tcG9uZW50O1xyXG5cclxuICAvL09iamVjdCB3aXRoIHRoZSB0b29sdGlwIG9wdGlvbnMgYnVpbGRlZCB3aXRoIHRoZSBJbnB1dCBwYXJhbWV0ZXJzXHJcbiAgLy9hbmQgdXNlIGl0IGluIHRvb2x0aXBTZXJ2aWNlIC0gc2hvdygpXHJcbiAgcHJpdmF0ZSB0b29sdGlwT3B0aW9ucz86VG9vbHRpcE9wdGlvbnMgPSB7fVxyXG4gIFxyXG5cclxuICAvKipTZXQgd2hlbiB3ZSBzaG93IGEgdG9vbHRpcCwgdG8gYWxsb3cgdXMgdG8gdW5zdWJzY3JpYmUgdG8gbW91c2UgbW92ZSB3aGVuIGhpZGUgZmlyZXMuXHJcbiAgICogaWYgd2UgbmV2ZXIgc2hvd2VkIHRoZSB0b29sdGlwIHRoaXMgd2lsbCByZW1haW4gbnVsbCBhbmQgd2Ugd29uJ3QgaGF2ZSBhbiBldmVudCB0byB1bnN1YnNjcmliZSB0b1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbW91c2VNb3ZlVW5zdWJzY3JpYmU6ICgoKT0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b29sdGlwU2VydmljZTogVG9vbHRpcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMlxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvL2NoZWNrSW5wdXRzVmFsdWUoKTogaWYgdGhlcmUgaXMgYW4gZXJyb3IgaXQgd2lsbCBwcmV2ZW50IHRvIGV4ZWN1dGVcclxuICAgIC8vYW55IGNvZGUgcmVsYXRlZCB3aXRoIHRoZSB0b29sdGlwIHNldHVwXHJcbiAgICBpZih0aGlzLmNoZWNrSW5wdXRzVmFsdWUoKSkge1xyXG4gICAgICAvL0NyZWF0ZSB0aGUgb2JqZWN0IHdpdGggdGhlIHRvb2x0aXAgb3B0aW9ucyBwcm92aWRlZCBhcyBASW5wdXRzXHJcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcE9wdGlvbnMoKTtcclxuXHJcbiAgICAgIC8vTW91c2VPdmVyIGZsb3c6IHN0YXJ0IHRoZSBwcm9jZXNzIG9mIHNob3dpbmcgdGhlIHRvb2x0aXBcclxuICAgICAgLy91bnRpbCB0aGUgbW91c2UgbGVhdmVzIHRoZSBhbmNob3IgZWxlbWVudCB3aXRoIHRoaXMuaW50ZXJydXB0XHJcbiAgICAgIHRoaXMubW91c2VPdmVyXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHN3aXRjaE1hcCh2ID0+XHJcbiAgICAgICAgICBvZih2KS5waXBlKFxyXG4gICAgICAgICAgICBkZWxheSgzMDApLCAvL2RlbGF5cyB0aGUgdGltZSBwcmV2aW91cyBvZiBzaG93aW5nIHRoZSB0b29sdGlwXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmludGVycnVwdClcclxuICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3coKSk7IC8vQ2FsbHMgdGhlIGZ1bmN0aW9uIHJlc3BvbnNhYmxlIG9mIHVzaW5nIHRoZSB0b29sdGlwU2VydmljZVxyXG4gIFxyXG4gICAgICAvL01vdXNlIGxlYXZlIGZsb3c6IHN0YXJ0IHRoZSBwcm9jZXNzIG9mIHJlbW92aW5nIHRoZSB0b29sdGlwIHdoZW4gdGhlIG1vdXNlIGlzIGF3YXkgb2YgdGhlIGFuY2hvciBlbGVtZW50XHJcbiAgICAgIHRoaXMuaW50ZXJydXB0LnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKHYgPT4gXHJcbiAgICAgICAgICBvZih2KS5waXBlKFxyXG4gICAgICAgICAgICBkZWxheSg1MCksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmhpZGVDb21wbGV0ZWQpXHJcbiAgICAgICAgICApKVxyXG4gICAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLmhpZGUoKSk7IC8vaGlkZSB0aGUgdG9vbHRpcCBhbmQgdHJpZ2dlcnMgdGhlIGNvbXBsZXRlZCBjeWNsZSBmbGFnIHRoaXMuaGlkZUNvbXBsZXRlZFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignVGhlcmUgYXJlIHRvbyBtYW55IHBhcmFtZXRlcnMgb3Igbm9uZSBwYXJhbWV0ZXIgdG8gY29uZmlnIHRoZSB0b29sdGlwIG9wdGlvbnMnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKkRldGVjdHMgd2hlcmUgdGhlIG1vdXNlIGlzIHRvIHRyaWdnZXIgdGhlIGxlYXZlL2hpZGUgcHJvY2Vzc1xyXG4gICAqIFRoaXMgaXMgYSBiYWNrc3RvcCBwcm90ZWN0aW9uIGFnYWluc3QgdXMgbWlzc2luZyB0aGUgbW91c2VsZWF2ZSBldmVudCBhbmQgbGVhdmluZyBhIGhhbmdpbmcgY2hhZC5cclxuICAgKiBPbiBzb21lIGJyb3dzZXJzLCBhbmQgb24gc29tZSBhY3Rpb25zIChlc3BlY2lhbGx5IHNjcm9sbCkgdGhlIG1vdXNlTGVhdmUgc2VlbXMgdG8gbmV2ZXIgZmlyZSAqL1xyXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDpNb3VzZUV2ZW50KSB7XHJcbiAgICBsZXQgY2FsbENhbGxiYWNrID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLmNvbnRlbnRSZWN0KSB7XHJcbiAgICAgIGNhbGxDYWxsYmFjayA9IHRoaXMudG9vbHRpcFNlcnZpY2Uub25Nb3ZlKGV2ZW50LCB0aGlzLmNvbnRlbnRSZWN0ISk7XHJcbiAgICAgIGlmKGNhbGxDYWxsYmFjaykge1xyXG4gICAgICAgIC8vdHJpZ2dlciBvbiBoaWRlIHByb2Nlc3NcclxuICAgICAgICB0aGlzLmludGVycnVwdC5uZXh0KCk7IFxyXG4gICAgICAgIC8vcmVzZXQgdGhlIGNvbnRlbnRSZWMgZm9yIGEgbmV3IHRvb2x0aXBcclxuICAgICAgICB0aGlzLmNvbnRlbnRSZWN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL1RyaWdnZXIgdGhlIHByb2Nlc3MgdG8gc2hvdyB0aGUgdG9vbHRpcFxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXHJcbiAgcHVibGljIG9uTW91c2VPdmVyKCkge1xyXG4gICAgdGhpcy5tb3VzZU92ZXIubmV4dCgpO1xyXG4gIH1cclxuICBcclxuICAvL1RyaWdnZXIgdGhlIHByb2Nlc3MgdG8gaGlkZSBhbmQgbGF0ZXIgdGhlIHByb2Nlc3NcclxuICAvL3RvIG1hcmsgYXMgY29tcGxldGUgdGhlIGN5Y2xlIG9mIHNob3cgYW5kIGhpZGUgdGhlIHRvb2x0aXBcclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcclxuICBwdWJsaWMgb25MZWF2ZSgpIHtcclxuICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tJbnB1dHNWYWx1ZSgpOmJvb2xlYW4ge1xyXG4gICAgbGV0IHBhcmFtZXRlcnNXaXRoVmFsdWUgPSAwO1xyXG4gICAgaWYodGhpcy50b29sdGlwVGV4dCkge1xyXG4gICAgICBwYXJhbWV0ZXJzV2l0aFZhbHVlID0gcGFyYW1ldGVyc1dpdGhWYWx1ZSArIDFcclxuICAgIH0gXHJcbiAgICBpZih0aGlzLnRvb2x0aXBDdXN0b21Db250ZW50KSB7XHJcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy50b29sdGlwQ29uZmlnKSB7XHJcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxyXG4gICAgfVxyXG4gICAgaWYocGFyYW1ldGVyc1dpdGhWYWx1ZSA9PT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogY3JlYXRlVG9vbHRpcE9wdGlvbnNcclxuICAgKiB3aWxsIG9ubHkgYmUgZXhlY3V0ZWQgYWZ0ZXIgbWFuYWdlRXJyb3IoKSB2ZXJpZmllcyBcclxuICAgKiBpZiB0aGUgcGFyYW1ldGVycyBhcmUgbm90IG92ZXJsYXBwaW5nIGVhY2ggb3RoZXJcclxuICAgKiBhbmQgaXQgd2lsbCBidWlsZCB0aGUgdG9vbHRpcE9wdGlvbnMgb2JqZWN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVUb29sdGlwT3B0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcE9wdGlvbnMgPSB7XHJcbiAgICAgIGlkOiBgdG9vbHRpcF8ke3RoaXMudG9vbHRpcENvbmZpZz8uaWQ/IHRoaXMudG9vbHRpcENvbmZpZz8uaWQ6ICcnfWAsXHJcbiAgICAgIHRleHQ6IHRoaXMudG9vbHRpcENvbmZpZz8udGV4dCB8fCB0aGlzLnRvb2x0aXBUZXh0LFxyXG4gICAgICB0aXRsZTogdGhpcy50b29sdGlwQ29uZmlnPy50aXRsZSxcclxuICAgICAgc3VidGl0bGU6IHRoaXMudG9vbHRpcENvbmZpZz8uc3VidGl0bGUsXHJcbiAgICAgIGN1c3RvbUNvbnRlbnQ6IHRoaXMudG9vbHRpcENvbmZpZz8uY3VzdG9tQ29udGVudCB8fCB0aGlzLnRvb2x0aXBDdXN0b21Db250ZW50LFxyXG4gICAgICBkaXNtaXNzaWJsZTogdGhpcy50b29sdGlwQ29uZmlnPy5kaXNtaXNzaWJsZSB8fCBmYWxzZSxcclxuICAgICAgbWF4V2lkdGg6IHRoaXMudG9vbHRpcENvbmZpZz8ubWF4V2lkdGgsXHJcbiAgICAgIHdpZHRoOiB0aGlzLnRvb2x0aXBDb25maWc/LndpZHRoLFxyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMudG9vbHRpcENvbmZpZz8uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIHNob3coKTp2b2lkIHtcclxuICAgIC8vUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHdoZXJlIHRvIHRvb2x0aXAgaXMgYXR0YWNoZWRcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIC8vY29udGVudFJlY3Qgd2lsbCBiZSBhc3Npbmcgb25seSBhZnRlciBzaG93aW5nIGEgdG9vbHRpcC9wb3BvdmVyIGFuZCBpdCB3aWxsIGJlXHJcbiAgICAvL3Jlc2V0IGFmdGVyIGhpZGUgdGhlIHNhbWUgdG9vbHRpcC9wb3BvdmVyXHJcbiAgICB0aGlzLmNvbnRlbnRSZWN0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAvL3Rvb2x0aXBQb3NpdGlvbiBpcyBuZXZlciB1bmRlZmluZWQsIGRlZmF1bHQgdmFsdWUgPSBcInRvcC1jZW50ZXJcIlxyXG4gICAgaWYoIXRoaXMudG9vbHRpcCkge1xyXG4gICAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXBTZXJ2aWNlLnNob3coZWxlbWVudCBhcyBIVE1MRWxlbWVudCwgdGhpcy50b29sdGlwUG9zaXRpb24sIHRoaXMudG9vbHRpcE9wdGlvbnMpO1xyXG4gICAgICB0aGlzLm1vdXNlTW92ZVVuc3Vic2NyaWJlID0gdGhpcy5yZW5kZXJlcjIubGlzdGVuKGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZS5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZSgpOnZvaWQge1xyXG4gICAgLy9UaGVyZSBpcyBhIHRpbWluZyBpc3N1ZSBiZXR3ZWVuIHRoZSBzaG93IC0gaGlkZSB3aXRoIFxyXG4gICAgLy9saW5lciB0b29sdGlwIGVsZW1lbnRzLCBzbyB0aGUgYmVsb3cgbGluZVxyXG4gICAgLy9tYWtlcyBzdXJlIHRoZSBhcHAgZG9lc24ndCBicmVha1xyXG4gICAgaWYodGhpcy50b29sdGlwKSB7XHJcbiAgICAgIC8vQ2FsbCB0aGUgaGlkZSgpIGZyb20gdGhlIHRvb2x0aXAgY29tcG9uZW50XHJcbiAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IHVuZGVmaW5lZDtcclxuICAgICAgXHJcbiAgICAgIGlmKHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUpe1xyXG4gICAgICAgIHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vSW50ZXJydXB0IHRoZSBmbG93IG9mIG1vdXNlb3ZlciB3aXRoIGEgZGVsYXkgYW5kIHRyaWdnZXJzIHRoZSBcclxuICAgIC8vZmxvdyB0byBoaWRlIHRoZSB0b29sdGlwIHdpdGggYSBkZWxheSBcclxuICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcclxuICAgIC8vV29yayBhcyBhIGZsYWcgdG8gaW5kaWNhdGUgdGhlIGZsb3cgb2Ygc2hvdyBhbmQgaGlkZSBoYXMgYmVlbiBjb21wbGV0ZWRcclxuICAgIHRoaXMuaGlkZUNvbXBsZXRlZC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvL1doZW4gdGhlIGVsZW1lbnQgd2hlcmUgdGhlIHRvb2x0aXAgaXMgYXR0YWNoZWQgZGlzYXBwZWFyc1xyXG4gIC8vdGhlIHRvb2x0aXAgc2hvdWxkIGJlIGRlc3Ryb3kgYXMgd2VsbCAgXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
@@ -1,34 +1,34 @@
|
|
1
|
-
export class Tour {
|
2
|
-
constructor() {
|
3
|
-
/** Unique identifier for the tour */
|
4
|
-
this.id = '';
|
5
|
-
/** List of tour steps to present to the user */
|
6
|
-
this.steps = [];
|
7
|
-
}
|
8
|
-
}
|
9
|
-
export class TourStep {
|
10
|
-
constructor() {
|
11
|
-
/** Unique identifier for the tour step */
|
12
|
-
this.id = '';
|
13
|
-
/** HTML formatted text that contains the primary content of the tour step */
|
14
|
-
this.text = '';
|
15
|
-
}
|
16
|
-
}
|
17
|
-
export class TourAnchor {
|
18
|
-
constructor() {
|
19
|
-
/**
|
20
|
-
* Selector to attach the tooltip to. If defined but does not exist in the
|
21
|
-
* DOM skip this step because it is probably hidden to the user because of
|
22
|
-
* permissions.
|
23
|
-
*/
|
24
|
-
this.selector = '';
|
25
|
-
}
|
26
|
-
}
|
27
|
-
export class TourEvent {
|
28
|
-
constructor(tours, tourAction = 'start', isAutoStart = false) {
|
29
|
-
this.tours = tours;
|
30
|
-
this.tourAction = tourAction;
|
31
|
-
this.isAutoStart = isAutoStart;
|
32
|
-
}
|
33
|
-
}
|
1
|
+
export class Tour {
|
2
|
+
constructor() {
|
3
|
+
/** Unique identifier for the tour */
|
4
|
+
this.id = '';
|
5
|
+
/** List of tour steps to present to the user */
|
6
|
+
this.steps = [];
|
7
|
+
}
|
8
|
+
}
|
9
|
+
export class TourStep {
|
10
|
+
constructor() {
|
11
|
+
/** Unique identifier for the tour step */
|
12
|
+
this.id = '';
|
13
|
+
/** HTML formatted text that contains the primary content of the tour step */
|
14
|
+
this.text = '';
|
15
|
+
}
|
16
|
+
}
|
17
|
+
export class TourAnchor {
|
18
|
+
constructor() {
|
19
|
+
/**
|
20
|
+
* Selector to attach the tooltip to. If defined but does not exist in the
|
21
|
+
* DOM skip this step because it is probably hidden to the user because of
|
22
|
+
* permissions.
|
23
|
+
*/
|
24
|
+
this.selector = '';
|
25
|
+
}
|
26
|
+
}
|
27
|
+
export class TourEvent {
|
28
|
+
constructor(tours, tourAction = 'start', isAutoStart = false) {
|
29
|
+
this.tours = tours;
|
30
|
+
this.tourAction = tourAction;
|
31
|
+
this.isAutoStart = isAutoStart;
|
32
|
+
}
|
33
|
+
}
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91ci10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RvdXIvdG91ci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sSUFBSTtJQUFqQjtRQUNFLHFDQUFxQztRQUNyQyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2hCLGdEQUFnRDtRQUNoRCxVQUFLLEdBQWUsRUFBRSxDQUFDO0lBT3pCLENBQUM7Q0FBQTtBQVdELE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0UsMENBQTBDO1FBQzFDLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFRaEIsNkVBQTZFO1FBQzdFLFNBQUksR0FBVyxFQUFFLENBQUM7SUFjcEIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFlRTs7OztXQUlHO1FBQ0gsYUFBUSxHQUFXLEVBQUUsQ0FBQztJQUl4QixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUNTLEtBQWEsRUFDYixhQUF5QyxPQUFPLEVBQ2hELGNBQXVCLEtBQUs7UUFGNUIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGVBQVUsR0FBVixVQUFVLENBQXNDO1FBQ2hELGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNqQyxDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERpYWxvZ0NvbnRlbnQgfSBmcm9tIFwiLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50XCI7XHJcbmltcG9ydCB7IERpYWxvZ09wdGlvbnMsIERpYWxvZ1NpemUgfSBmcm9tIFwiLi4vZGlhbG9nL2RpYWxvZy10eXBlc1wiO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgVG91ckNhY2hlRW50cnkgPSB7IGNvbXBsZXRlZDogYm9vbGVhbiB9O1xyXG5cclxuZXhwb3J0IGNsYXNzIFRvdXI8VCA9IGFueT4ge1xyXG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRvdXIgKi9cclxuICBpZDogc3RyaW5nID0gJyc7XHJcbiAgLyoqIExpc3Qgb2YgdG91ciBzdGVwcyB0byBwcmVzZW50IHRvIHRoZSB1c2VyICovXHJcbiAgc3RlcHM6IFRvdXJTdGVwW10gPSBbXTtcclxuXHJcbiAgLyoqIEZpbmFsIHN0ZXAgdG8gYmUgcHJlc2VudGVkIHRvIHRoZSB1c2VyIGlmIGRlZmluZWQgKi9cclxuICBleGl0U3RlcD86IFRvdXJTdGVwO1xyXG5cclxuICAvKiogRGlhbG9nIHRvIHByZXNlbnQgdG8gdGhlIHVzZXIgYmVmb3JlIHRoZSB0b3VyIGJlZ2lucyAqL1xyXG4gIGludHJvRGlhbG9nPzogVG91ckludHJvRGlhbG9nPFQ+XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvdXJJbnRyb0RpYWxvZzxUPiB7XHJcbiAgY29udGVudD86IFR5cGU8RGlhbG9nQ29udGVudDxUPj4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNvbnRleHQ/OiBUO1xyXG4gIG9wdGlvbnM/OiBEaWFsb2dPcHRpb25zO1xyXG4gIHNpemU/OiBEaWFsb2dTaXplO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRvdXJTdGVwIHtcclxuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0b3VyIHN0ZXAgKi9cclxuICBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCB0b3VyIHN0ZXAgdGl0bGUgZGlzcGxheWVkIGF0IHRvcCBvZiB0b29sdGlwICovXHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBtZWRpYSB0byBkaXNwbGF5IGJlbG93IHRpdGxlIGFuZCBhYm92ZSB0b3VyIHRleHQuIENhbiBiZSBhIGpwZywgcG5nLCBvciBnaWYgKi9cclxuICBtZWRpYT86IHN0cmluZztcclxuXHJcbiAgLyoqIEhUTUwgZm9ybWF0dGVkIHRleHQgdGhhdCBjb250YWlucyB0aGUgcHJpbWFyeSBjb250ZW50IG9mIHRoZSB0b3VyIHN0ZXAgKi9cclxuICB0ZXh0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFRoZSBlbGVtZW50IHRvIGF0dGFjaCB0aGUgdG91ciBzdGVwIHRvLiBJZiB1bmRlZmluZWQsIHN0ZXAgd2lsbCBhcHBlYXIgY2VudGVyZWQgb24gc2NyZWVuICovXHJcbiAgYW5jaG9yPzogVG91ckFuY2hvcjtcclxuXHJcbiAgaGVscExpbms/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBBbGxvd3MgdGhlIHN0ZXAgdG8gaGF2ZSBhIGZpeGVkIHdpZHRoIGRlZmluZWQgZm9yIHRoZSB0b29sdGlwLiBJZiBub3QgZGVmaW5lZCB0aGUgd2lkdGggd2lsbCBiZSBkZWZhdWx0ZWQgdG8gNDAwLiBJZiB5b3Ugd291bGQgbGlrZSBcclxuICAgKiAgYXV0byB3aWR0aCBkZWZpbmUgYXMgJ2F1dG8nLlxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyIHwgJ2F1dG8nO1xyXG5cclxuICAvKiogQWxsb3dzIHRoZSBzdGVwIHRvIGhhdmUgYSBtYXggd2lkdGggZGVmaW5lZCBmb3IgdGhlIHRvb2x0aXAgKi9cclxuICBtYXhXaWR0aD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvdXJBbmNob3Ige1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIGNzcyBzZWxlY3RvciBvZiBhbiBlbGVtZW50IHRvIGNsaWNrIGluIG9yZGVyIHRvIG9wZW4gYSBtZW51IG9yIFxyXG4gICAqIG92ZXJsYXkuIFNob3VsZCBub3QgY2F1c2UgYSBuYXZpZ2F0aW9uLiBJZiBkZWZpbmVkIGJ1dCBkb2VzIG5vdCBleGlzdCBpbiBcclxuICAgKiB0aGUgRE9NLCBza2lwIHRoaXMgc3RlcCBiZWNhdXNlIGl0IGlzIHByb2JhYmx5IGhpZGRlbiB0byB0aGUgdXNlciBiZWNhdXNlIG9mIHBlcm1pc3Npb25zIFxyXG4gICAqL1xyXG4gIGNsaWNrQmVmb3JlPzogc3RyaW5nO1xyXG5cclxuICAvKiogXHJcbiAgICogQ1NTIHNlbGVjdG9yIG9mIGVsZW1lbnQgdG8gY2xpY2sgaW4gb3JkZXIgdG8gY2xvc2UgYSBtZW51IG9yIG92ZXJsYXkgXHJcbiAgICogYmVmb3JlIGNvbnRpbnVpbmcgdG8gdGhlIG5leHQgc3RlcC4gSWdub3JlZCBpZiBjbGlja0JlZm9yZSBpcyB1bmRlZmluZWQuIFxyXG4gICAqIFNob3VsZCBub3QgY2F1c2UgYSBuYXZpZ2F0aW9uIFxyXG4gICAqL1xyXG4gIGNsaWNrQWZ0ZXI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBcclxuICAgKiBTZWxlY3RvciB0byBhdHRhY2ggdGhlIHRvb2x0aXAgdG8uIElmIGRlZmluZWQgYnV0IGRvZXMgbm90IGV4aXN0IGluIHRoZSAgXHJcbiAgICogRE9NIHNraXAgdGhpcyBzdGVwIGJlY2F1c2UgaXQgaXMgcHJvYmFibHkgaGlkZGVuIHRvIHRoZSB1c2VyIGJlY2F1c2Ugb2YgIFxyXG4gICAqIHBlcm1pc3Npb25zLlxyXG4gICAqL1xyXG4gIHNlbGVjdG9yOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIHJlbGF0aXZlIHRvIHRoZSBhbmNob3IuIGh0dHBzOi8vZW5lcmd5Y2FwLWNvbXBvbmVudHMubmV0bGlmeS5hcHAvdG9vbHRpcCNwb3NpdGlvbiAqL1xyXG4gIHBvc2l0aW9uPzogVG9vbHRpcFBvc2l0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUb3VyRXZlbnQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRvdXJzOiBUb3VyW10sXHJcbiAgICBwdWJsaWMgdG91ckFjdGlvbjogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2FwcGVuZCcgPSAnc3RhcnQnLFxyXG4gICAgcHVibGljIGlzQXV0b1N0YXJ0OiBib29sZWFuID0gZmFsc2UsXHJcbiAgKSB7IH1cclxufSJdfQ==
|