@acorex/components 6.5.29 → 6.5.31
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/README.md +3 -3
- package/acorex-components.d.ts +5 -5
- package/esm2020/acorex-components.mjs +4 -4
- package/esm2020/lib/accordion/accordion.component.mjs +44 -44
- package/esm2020/lib/accordion/accordion.module.mjs +20 -20
- package/esm2020/lib/base/base-page.class.mjs +94 -94
- package/esm2020/lib/base/components.class.mjs +17 -17
- package/esm2020/lib/base/element.class.mjs +294 -294
- package/esm2020/lib/base/events.class.mjs +11 -11
- package/esm2020/lib/button/button.component.mjs +71 -71
- package/esm2020/lib/button/button.module.mjs +21 -21
- package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -413
- package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -22
- package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -54
- package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -18
- package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -213
- package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -68
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -132
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -37
- package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -47
- package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -95
- package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -204
- package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -99
- package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -77
- package/esm2020/lib/checkbox/checkbox.component.mjs +98 -98
- package/esm2020/lib/checkbox/checkbox.module.mjs +20 -20
- package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -422
- package/esm2020/lib/color-picker/color-picker.component.mjs +82 -82
- package/esm2020/lib/color-picker/color-picker.module.mjs +24 -24
- package/esm2020/lib/context-menu/context-menu.component.mjs +65 -65
- package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -135
- package/esm2020/lib/context-menu/context-menu.module.mjs +20 -20
- package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -138
- package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -117
- package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -74
- package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -117
- package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -258
- package/esm2020/lib/data-filter/filter.class.mjs +44 -44
- package/esm2020/lib/data-filter/filter.module.mjs +90 -90
- package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -166
- package/esm2020/lib/data-list/core/data-list.component.mjs +40 -40
- package/esm2020/lib/data-list/list/list.component.mjs +124 -124
- package/esm2020/lib/data-list/list/list.module.mjs +22 -22
- package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -85
- package/esm2020/lib/data-source/datasource.component.mjs +47 -47
- package/esm2020/lib/data-source/datasource.module.mjs +18 -18
- package/esm2020/lib/data-source/read-param.mjs +5 -5
- package/esm2020/lib/date-picker/date-picker.component.mjs +702 -702
- package/esm2020/lib/date-picker/date-picker.module.mjs +25 -25
- package/esm2020/lib/dialog/dialog.component.mjs +24 -24
- package/esm2020/lib/dialog/dialog.module.mjs +21 -21
- package/esm2020/lib/dialog/dialog.service.mjs +150 -150
- package/esm2020/lib/drawer/content.component.mjs +18 -18
- package/esm2020/lib/drawer/drawer-container.component.mjs +36 -36
- package/esm2020/lib/drawer/drawer.component.mjs +142 -142
- package/esm2020/lib/drawer/drawer.module.mjs +23 -23
- package/esm2020/lib/dropdown/dropdown.component.mjs +176 -176
- package/esm2020/lib/dropdown/dropdown.module.mjs +26 -26
- package/esm2020/lib/fieldset/fieldset.component.mjs +59 -59
- package/esm2020/lib/fieldset/fieldset.module.mjs +19 -19
- package/esm2020/lib/form-group/form-group.component.mjs +34 -34
- package/esm2020/lib/form-group/form-group.module.mjs +21 -21
- package/esm2020/lib/label/label.component.mjs +19 -19
- package/esm2020/lib/label/label.module.mjs +21 -21
- package/esm2020/lib/loading/loading-indicator.component.mjs +17 -17
- package/esm2020/lib/loading/loading-panel.component.mjs +44 -44
- package/esm2020/lib/loading/loading.module.mjs +21 -21
- package/esm2020/lib/loading/loading.service.mjs +45 -45
- package/esm2020/lib/menu/menu-item.component.mjs +47 -47
- package/esm2020/lib/menu/menu.component.mjs +86 -86
- package/esm2020/lib/menu/menu.module.mjs +22 -22
- package/esm2020/lib/menu/menu2.component.mjs +96 -96
- package/esm2020/lib/number-box/number-box.component.mjs +622 -622
- package/esm2020/lib/number-box/number-box.module.mjs +21 -21
- package/esm2020/lib/page/content.component.mjs +32 -32
- package/esm2020/lib/page/footer.component.mjs +19 -19
- package/esm2020/lib/page/page.component.mjs +53 -53
- package/esm2020/lib/page/page.module.mjs +22 -22
- package/esm2020/lib/panel-box/panel-box.component.mjs +88 -88
- package/esm2020/lib/panel-box/panel-box.module.mjs +19 -19
- package/esm2020/lib/password-box/password-box.component.mjs +31 -31
- package/esm2020/lib/password-box/password-box.module.mjs +23 -23
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -48
- package/esm2020/lib/popover/overlay.service.mjs +90 -90
- package/esm2020/lib/popover/popover.component.mjs +127 -127
- package/esm2020/lib/popover/popover.module.mjs +19 -19
- package/esm2020/lib/popup/popup.component.mjs +147 -147
- package/esm2020/lib/popup/popup.module.mjs +25 -25
- package/esm2020/lib/popup/popup.service.mjs +93 -93
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +19 -19
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +19 -19
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +61 -61
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +22 -22
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -38
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -24
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -115
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -32
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -211
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -78
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -51
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -24
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +63 -63
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -24
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -140
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -61
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +72 -72
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +71 -71
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -25
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +69 -69
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -22
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -29
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -25
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +32 -32
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -24
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -32
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -24
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -43
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -24
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +154 -154
- package/esm2020/lib/property-editor/property-editor.class.mjs +101 -101
- package/esm2020/lib/property-editor/property-editor.module.mjs +196 -196
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -124
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +171 -171
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +395 -395
- package/esm2020/lib/query-builder/query-builder.class.mjs +20 -20
- package/esm2020/lib/query-builder/query-builder.component.mjs +82 -82
- package/esm2020/lib/query-builder/query-builder.module.mjs +62 -62
- package/esm2020/lib/query-builder/query-builder.service.mjs +197 -197
- package/esm2020/lib/search-bar/search-bar.component.mjs +283 -283
- package/esm2020/lib/search-bar/search-bar.module.mjs +63 -63
- package/esm2020/lib/searchbox/searchbox.component.mjs +79 -79
- package/esm2020/lib/searchbox/searchbox.module.mjs +24 -24
- package/esm2020/lib/selectbox/selectbox.component.mjs +961 -961
- package/esm2020/lib/selectbox/selectbox.module.mjs +44 -44
- package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -574
- package/esm2020/lib/selection-list/selection-list.component.mjs +108 -108
- package/esm2020/lib/selection-list/selection-list.module.mjs +21 -21
- package/esm2020/lib/switch/switch.component.mjs +51 -51
- package/esm2020/lib/switch/switch.module.mjs +20 -20
- package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +71 -71
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +116 -116
- package/esm2020/lib/tab-page/tab-page.module.mjs +21 -21
- package/esm2020/lib/tab-page/tab-page.service.mjs +156 -156
- package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -36
- package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -19
- package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -24
- package/esm2020/lib/tab-view/tab-view.component.mjs +105 -105
- package/esm2020/lib/tab-view/tab-view.module.mjs +21 -21
- package/esm2020/lib/tab-view/tab.component.mjs +30 -30
- package/esm2020/lib/textarea/textarea.component.mjs +26 -26
- package/esm2020/lib/textarea/textarea.module.mjs +21 -21
- package/esm2020/lib/textbox/textbox.component.mjs +39 -39
- package/esm2020/lib/textbox/textbox.module.mjs +24 -24
- package/esm2020/lib/time-picker/time-picker.component.mjs +943 -943
- package/esm2020/lib/time-picker/time-picker.module.mjs +22 -22
- package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -74
- package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -13
- package/esm2020/lib/toast/toast.module.mjs +21 -21
- package/esm2020/lib/toast/toast.service.mjs +44 -44
- package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -78
- package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -57
- package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -54
- package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -47
- package/esm2020/lib/toolbar/toolbar-item.mjs +6 -6
- package/esm2020/lib/toolbar/toolbar.component.mjs +13 -13
- package/esm2020/lib/toolbar/toolbar.module.mjs +40 -40
- package/esm2020/lib/tooltip/tooltip.directive.mjs +100 -100
- package/esm2020/lib/tooltip/tooltip.module.mjs +19 -19
- package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -646
- package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -35
- package/esm2020/lib/tree-view/tree-view.component.mjs +775 -775
- package/esm2020/lib/tree-view/tree-view.module.mjs +22 -22
- package/esm2020/lib/upload-file/upload-file.component.mjs +208 -208
- package/esm2020/lib/upload-file/upload-file.events.mjs +2 -2
- package/esm2020/lib/upload-file/upload-file.module.mjs +24 -24
- package/esm2020/lib/validation/validation-form.component.mjs +65 -65
- package/esm2020/lib/validation/validation-rule.widget.mjs +111 -111
- package/esm2020/lib/validation/validation.class.mjs +2 -2
- package/esm2020/lib/validation/validation.component.mjs +89 -89
- package/esm2020/lib/validation/validation.module.mjs +34 -34
- package/esm2020/public-api.mjs +158 -158
- package/fesm2015/acorex-components.mjs +15616 -15616
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +15552 -15552
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/accordion/accordion.component.d.ts +13 -13
- package/lib/accordion/accordion.module.d.ts +9 -9
- package/lib/base/base-page.class.d.ts +46 -46
- package/lib/base/components.class.d.ts +10 -10
- package/lib/base/element.class.d.ts +106 -106
- package/lib/base/events.class.d.ts +18 -18
- package/lib/button/button.component.d.ts +21 -21
- package/lib/button/button.module.d.ts +8 -8
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
- package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
- package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
- package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
- package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
- package/lib/checkbox/checkbox.component.d.ts +30 -30
- package/lib/checkbox/checkbox.module.d.ts +9 -9
- package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
- package/lib/color-picker/color-picker.component.d.ts +30 -30
- package/lib/color-picker/color-picker.module.d.ts +13 -13
- package/lib/context-menu/context-menu.component.d.ts +22 -22
- package/lib/context-menu/context-menu.directive.d.ts +38 -38
- package/lib/context-menu/context-menu.module.d.ts +9 -9
- package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
- package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
- package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
- package/lib/data-filter/filter.class.d.ts +40 -40
- package/lib/data-filter/filter.module.d.ts +24 -24
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
- package/lib/data-list/core/data-list.component.d.ts +15 -15
- package/lib/data-list/list/list.component.d.ts +40 -40
- package/lib/data-list/list/list.module.d.ts +11 -11
- package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
- package/lib/data-source/datasource.component.d.ts +16 -16
- package/lib/data-source/datasource.module.d.ts +7 -7
- package/lib/data-source/read-param.d.ts +40 -40
- package/lib/date-picker/date-picker.component.d.ts +81 -81
- package/lib/date-picker/date-picker.module.d.ts +14 -14
- package/lib/dialog/dialog.component.d.ts +14 -14
- package/lib/dialog/dialog.module.d.ts +10 -10
- package/lib/dialog/dialog.service.d.ts +36 -36
- package/lib/drawer/content.component.d.ts +7 -7
- package/lib/drawer/drawer-container.component.d.ts +10 -10
- package/lib/drawer/drawer.component.d.ts +34 -34
- package/lib/drawer/drawer.module.d.ts +10 -10
- package/lib/dropdown/dropdown.component.d.ts +38 -38
- package/lib/dropdown/dropdown.module.d.ts +13 -13
- package/lib/fieldset/fieldset.component.d.ts +11 -11
- package/lib/fieldset/fieldset.module.d.ts +8 -8
- package/lib/form-group/form-group.component.d.ts +14 -14
- package/lib/form-group/form-group.module.d.ts +8 -8
- package/lib/label/label.component.d.ts +9 -9
- package/lib/label/label.module.d.ts +8 -8
- package/lib/loading/loading-indicator.component.d.ts +9 -9
- package/lib/loading/loading-panel.component.d.ts +13 -13
- package/lib/loading/loading.module.d.ts +10 -10
- package/lib/loading/loading.service.d.ts +13 -13
- package/lib/menu/menu-item.component.d.ts +18 -18
- package/lib/menu/menu.component.d.ts +35 -35
- package/lib/menu/menu.module.d.ts +11 -11
- package/lib/menu/menu2.component.d.ts +21 -21
- package/lib/number-box/number-box.component.d.ts +52 -52
- package/lib/number-box/number-box.module.d.ts +10 -10
- package/lib/page/content.component.d.ts +8 -8
- package/lib/page/footer.component.d.ts +5 -5
- package/lib/page/page.component.d.ts +16 -16
- package/lib/page/page.module.d.ts +11 -11
- package/lib/panel-box/panel-box.component.d.ts +19 -19
- package/lib/panel-box/panel-box.module.d.ts +8 -8
- package/lib/password-box/password-box.component.d.ts +12 -12
- package/lib/password-box/password-box.module.d.ts +10 -10
- package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
- package/lib/popover/overlay.service.d.ts +31 -31
- package/lib/popover/popover.component.d.ts +34 -34
- package/lib/popover/popover.module.d.ts +8 -8
- package/lib/popup/popup.component.d.ts +40 -40
- package/lib/popup/popup.module.d.ts +13 -13
- package/lib/popup/popup.service.d.ts +22 -22
- package/lib/progress-bar/progress-bar.component.d.ts +7 -7
- package/lib/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
- package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
- package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
- package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
- package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +20 -20
- package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
- package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
- package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
- package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
- package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
- package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
- package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
- package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -30
- package/lib/property-editor/property-editor.class.d.ts +92 -92
- package/lib/property-editor/property-editor.module.d.ts +21 -21
- package/lib/query-builder/query-builder-group.component.d.ts +33 -33
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
- package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
- package/lib/query-builder/query-builder.class.d.ts +45 -45
- package/lib/query-builder/query-builder.component.d.ts +27 -27
- package/lib/query-builder/query-builder.module.d.ts +23 -23
- package/lib/query-builder/query-builder.service.d.ts +18 -18
- package/lib/search-bar/search-bar.component.d.ts +61 -61
- package/lib/search-bar/search-bar.module.d.ts +18 -18
- package/lib/searchbox/searchbox.component.d.ts +22 -22
- package/lib/searchbox/searchbox.module.d.ts +13 -13
- package/lib/selectbox/selectbox.component.d.ts +118 -118
- package/lib/selectbox/selectbox.module.d.ts +15 -15
- package/lib/selectbox/selectbox2.component.d.ts +103 -103
- package/lib/selection-list/selection-list.component.d.ts +32 -32
- package/lib/selection-list/selection-list.module.d.ts +10 -10
- package/lib/switch/switch.component.d.ts +20 -20
- package/lib/switch/switch.module.d.ts +9 -9
- package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
- package/lib/tab-page/tab-page-host.component.d.ts +25 -25
- package/lib/tab-page/tab-page.module.d.ts +10 -10
- package/lib/tab-page/tab-page.service.d.ts +30 -30
- package/lib/tab-strip/tab-strip.component.d.ts +28 -28
- package/lib/tab-strip/tab-strip.module.d.ts +8 -8
- package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
- package/lib/tab-view/tab-view.component.d.ts +26 -26
- package/lib/tab-view/tab-view.module.d.ts +10 -10
- package/lib/tab-view/tab.component.d.ts +12 -12
- package/lib/textarea/textarea.component.d.ts +12 -12
- package/lib/textarea/textarea.module.d.ts +8 -8
- package/lib/textbox/textbox.component.d.ts +16 -16
- package/lib/textbox/textbox.module.d.ts +11 -11
- package/lib/time-picker/time-picker.component.d.ts +52 -52
- package/lib/time-picker/time-picker.module.d.ts +11 -11
- package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
- package/lib/toast/toast.module.d.ts +9 -9
- package/lib/toast/toast.service.d.ts +18 -18
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
- package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
- package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
- package/lib/toolbar/toolbar-item.d.ts +3 -3
- package/lib/toolbar/toolbar.component.d.ts +8 -8
- package/lib/toolbar/toolbar.module.d.ts +14 -14
- package/lib/tooltip/tooltip.directive.d.ts +21 -21
- package/lib/tooltip/tooltip.module.d.ts +8 -8
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
- package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
- package/lib/tree-view/tree-view.component.d.ts +121 -121
- package/lib/tree-view/tree-view.module.d.ts +11 -11
- package/lib/upload-file/upload-file.component.d.ts +42 -42
- package/lib/upload-file/upload-file.events.d.ts +10 -10
- package/lib/upload-file/upload-file.module.d.ts +13 -13
- package/lib/validation/validation-form.component.d.ts +19 -19
- package/lib/validation/validation-rule.widget.d.ts +23 -23
- package/lib/validation/validation.class.d.ts +16 -16
- package/lib/validation/validation.component.d.ts +25 -25
- package/lib/validation/validation.module.d.ts +11 -11
- package/package.json +1 -1
- package/public-api.d.ts +155 -155
@@ -1,213 +1,213 @@
|
|
1
|
-
import { Component, ContentChild, Input, ViewEncapsulation, ElementRef, ViewChild, Output, EventEmitter, ChangeDetectorRef, NgZone } from '@angular/core';
|
2
|
-
import { AXSchedulerViewsProperty, AXSchedulerViewProperty } from './scheduler-views.property';
|
3
|
-
import { AXToolbarSchedulerViewsComponent } from './toolbars/scheduler-toolbar-views';
|
4
|
-
import { AXSchedulerDayTimeViewComponent } from './views/daytime/scheduler-daytime-view.component';
|
5
|
-
import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
6
|
-
import { AXSchedulerMonthViewComponent } from './views/month/scheduler-month-view.component';
|
7
|
-
import { AXToolbarSchedulerNavigatorComponent } from './toolbars/scheduler-toolbar-navigator';
|
8
|
-
import { AXSchedulerAgendaViewComponent } from './views/agenda/scheduler-agenda-view.component';
|
9
|
-
import { AXSchedulerTimelineViewComponent } from './views/timeline/scheduler-timeline-view.component';
|
10
|
-
import { AXDateTime } from '@acorex/core';
|
11
|
-
import { AXToolbarSearchComponent } from '../../toolbar/search/toolbar-search.component';
|
12
|
-
import { AXDataSourceComponent } from '../../data-source/datasource.component';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@angular/cdk/portal";
|
15
|
-
export class AXSchedulerComponent {
|
16
|
-
constructor(elm, zone, cdr) {
|
17
|
-
this.elm = elm;
|
18
|
-
this.zone = zone;
|
19
|
-
this.cdr = cdr;
|
20
|
-
this.viewItems = [];
|
21
|
-
this.today = new AXDateTime();
|
22
|
-
this.navigatorDate = new AXDateTime();
|
23
|
-
this.events = [];
|
24
|
-
this.onEventChanged = new EventEmitter();
|
25
|
-
}
|
26
|
-
get currentView() {
|
27
|
-
return this._currentView;
|
28
|
-
}
|
29
|
-
set currentView(v) {
|
30
|
-
this.setView(v);
|
31
|
-
}
|
32
|
-
setView(name) {
|
33
|
-
this._currentView = name;
|
34
|
-
if (this.viewManager.views) {
|
35
|
-
this.viewItems.forEach(c => {
|
36
|
-
c.selected = false;
|
37
|
-
});
|
38
|
-
this.viewItems.find(c => c.name == name).selected = true;
|
39
|
-
const selected = this.viewManager.views.find(c => c.name == name);
|
40
|
-
this.createView(selected);
|
41
|
-
}
|
42
|
-
}
|
43
|
-
createView(selected) {
|
44
|
-
this.startAnim();
|
45
|
-
if (this.view) {
|
46
|
-
this.view.ngOnDestroy();
|
47
|
-
}
|
48
|
-
let portal;
|
49
|
-
this.portalOutlet.detach();
|
50
|
-
let interval = selected.interval;
|
51
|
-
if (selected.type === 'day') {
|
52
|
-
portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
|
53
|
-
}
|
54
|
-
if (selected.type === 'week') {
|
55
|
-
portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
|
56
|
-
interval = selected.interval * 7;
|
57
|
-
}
|
58
|
-
if (selected.type === 'month') {
|
59
|
-
portal = new ComponentPortal(AXSchedulerMonthViewComponent);
|
60
|
-
}
|
61
|
-
if (selected.type === 'agenda') {
|
62
|
-
portal = new ComponentPortal(AXSchedulerAgendaViewComponent);
|
63
|
-
}
|
64
|
-
if (selected.type === 'timeline') {
|
65
|
-
portal = new ComponentPortal(AXSchedulerTimelineViewComponent);
|
66
|
-
}
|
67
|
-
const compRef = this.portalOutlet.attach(portal);
|
68
|
-
this.view = compRef.instance;
|
69
|
-
this.view.type = selected.type;
|
70
|
-
this.view.interval = interval;
|
71
|
-
//
|
72
|
-
this.view.onEventChanged.subscribe(e => {
|
73
|
-
this.onEventChanged.emit(e);
|
74
|
-
});
|
75
|
-
this.view.onNavigatorDateChanged.subscribe((e) => {
|
76
|
-
this.navigatorDate = e;
|
77
|
-
this.setNavigatorText();
|
78
|
-
this.startAnim();
|
79
|
-
});
|
80
|
-
this.refresh();
|
81
|
-
}
|
82
|
-
setNavigatorText() {
|
83
|
-
if (this.toolbarNavigator) {
|
84
|
-
this.toolbarNavigator.set(this.view.dateRange, this.view.type);
|
85
|
-
}
|
86
|
-
}
|
87
|
-
startAnim() {
|
88
|
-
this.container.nativeElement.classList.remove('ax-anim-fade-in-fwd');
|
89
|
-
this.container.nativeElement.style.opacity = '0';
|
90
|
-
setTimeout(() => {
|
91
|
-
this.container.nativeElement.classList.add('ax-anim-fade-in-fwd');
|
92
|
-
}, 250);
|
93
|
-
}
|
94
|
-
ngAfterViewInit() {
|
95
|
-
setTimeout(_ => {
|
96
|
-
this.viewManager.views.forEach(v => {
|
97
|
-
this.viewItems.push({
|
98
|
-
groupName: 'view',
|
99
|
-
name: v.name,
|
100
|
-
text: v.caption
|
101
|
-
});
|
102
|
-
});
|
103
|
-
//
|
104
|
-
this.dataSource.onDataReceived.subscribe((e) => {
|
105
|
-
this.events = e;
|
106
|
-
this.view.events = this.events;
|
107
|
-
if (this.searchText && this.view.events && this.view.events.length) {
|
108
|
-
this.navigatorDate = this.view.events[0].range.startTime;
|
109
|
-
}
|
110
|
-
if (this.navigatorDate) {
|
111
|
-
this.view.navigate(this.navigatorDate);
|
112
|
-
}
|
113
|
-
else {
|
114
|
-
this.view.navigate(this.today);
|
115
|
-
}
|
116
|
-
});
|
117
|
-
//
|
118
|
-
if (this.toolbarView) {
|
119
|
-
this.toolbarView.onViewChanged.subscribe((c) => {
|
120
|
-
this.currentView = c;
|
121
|
-
});
|
122
|
-
this.toolbarView.items = this.viewItems;
|
123
|
-
}
|
124
|
-
//
|
125
|
-
if (this.toolbarNavigator) {
|
126
|
-
this.toolbarNavigator.onNavigate.subscribe((c) => {
|
127
|
-
if (c === 'next') {
|
128
|
-
this.view.next();
|
129
|
-
}
|
130
|
-
else if (c === 'prev') {
|
131
|
-
this.view.prev();
|
132
|
-
}
|
133
|
-
else {
|
134
|
-
this.view.navigate(c);
|
135
|
-
}
|
136
|
-
});
|
137
|
-
}
|
138
|
-
if (this.searchInput) {
|
139
|
-
this.searchInput.onValueChanged.subscribe((c) => {
|
140
|
-
this.searchText = c;
|
141
|
-
if (c) {
|
142
|
-
this.viewItems.forEach(c => { c.visible = false; });
|
143
|
-
const x = new AXSchedulerViewProperty('agenda', 'Search', 'VIEW_SEARCH');
|
144
|
-
x.interval = 100;
|
145
|
-
this.createView(x);
|
146
|
-
this.refresh();
|
147
|
-
}
|
148
|
-
else {
|
149
|
-
this.viewItems.forEach(c => { c.visible = true; });
|
150
|
-
this.setView(this._currentView);
|
151
|
-
}
|
152
|
-
this.toolbarView.update();
|
153
|
-
});
|
154
|
-
}
|
155
|
-
//
|
156
|
-
this.setView(this.currentView);
|
157
|
-
this.refresh();
|
158
|
-
});
|
159
|
-
}
|
160
|
-
ngAfterViewChecked() {
|
161
|
-
this.updateSize();
|
162
|
-
}
|
163
|
-
updateSize() {
|
164
|
-
this.zone.runOutsideAngular(() => {
|
165
|
-
const toolbar = this.elm.nativeElement.querySelector('.ax-scheduler-toolbar');
|
166
|
-
if (toolbar) {
|
167
|
-
this.container.nativeElement.style.height = `calc(100% - ${toolbar.clientHeight}px)`;
|
168
|
-
}
|
169
|
-
});
|
170
|
-
}
|
171
|
-
ngOnDestroy() {
|
172
|
-
this.portalOutlet.detach();
|
173
|
-
}
|
174
|
-
refresh() {
|
175
|
-
this.dataSource.fetch({
|
176
|
-
searchText: this.searchText,
|
177
|
-
});
|
178
|
-
}
|
179
|
-
}
|
180
|
-
AXSchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
181
|
-
AXSchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerComponent, selector: "ax-scheduler", inputs: { currentView: "currentView", events: "events" }, outputs: { onEventChanged: "onEventChanged" }, queries: [{ propertyName: "viewManager", first: true, predicate: AXSchedulerViewsProperty, descendants: true, static: true }, { propertyName: "toolbarView", first: true, predicate: AXToolbarSchedulerViewsComponent, descendants: true, static: true }, { propertyName: "toolbarNavigator", first: true, predicate: AXToolbarSchedulerNavigatorComponent, descendants: true, static: true }, { propertyName: "searchInput", first: true, predicate: AXToolbarSearchComponent, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, decorators: [{
|
183
|
-
type: Component,
|
184
|
-
args: [{ selector: 'ax-scheduler', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\
|
185
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { portalOutlet: [{
|
186
|
-
type: ViewChild,
|
187
|
-
args: [CdkPortalOutlet, { static: true }]
|
188
|
-
}], container: [{
|
189
|
-
type: ViewChild,
|
190
|
-
args: ['container', { static: true }]
|
191
|
-
}], viewManager: [{
|
192
|
-
type: ContentChild,
|
193
|
-
args: [AXSchedulerViewsProperty, { static: true }]
|
194
|
-
}], toolbarView: [{
|
195
|
-
type: ContentChild,
|
196
|
-
args: [AXToolbarSchedulerViewsComponent, { static: true }]
|
197
|
-
}], toolbarNavigator: [{
|
198
|
-
type: ContentChild,
|
199
|
-
args: [AXToolbarSchedulerNavigatorComponent, { static: true }]
|
200
|
-
}], searchInput: [{
|
201
|
-
type: ContentChild,
|
202
|
-
args: [AXToolbarSearchComponent, { static: true }]
|
203
|
-
}], dataSource: [{
|
204
|
-
type: ContentChild,
|
205
|
-
args: [AXDataSourceComponent, { static: true }]
|
206
|
-
}], currentView: [{
|
207
|
-
type: Input
|
208
|
-
}], events: [{
|
209
|
-
type: Input
|
210
|
-
}], onEventChanged: [{
|
211
|
-
type: Output
|
212
|
-
}] } });
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvc2NoZWR1bGVyL3NjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci9zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXRHLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7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aWxkLFxyXG4gIElucHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE5nWm9uZSxcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSwgQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkgfSBmcm9tICcuL3NjaGVkdWxlci12aWV3cy5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IEFYVG9vbGJhclNjaGVkdWxlclZpZXdzQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFycy9zY2hlZHVsZXItdG9vbGJhci12aWV3cyc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2RheXRpbWUvc2NoZWR1bGVyLWRheXRpbWUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9zY2hlZHVsZXItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlck1vbnRoVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvbW9udGgvc2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUb29sYmFyU2NoZWR1bGVyTmF2aWdhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFycy9zY2hlZHVsZXItdG9vbGJhci1uYXZpZ2F0b3InO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckFnZW5kYVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2FnZW5kYS9zY2hlZHVsZXItYWdlbmRhLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJUaW1lbGluZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3RpbWVsaW5lL3NjaGVkdWxlci10aW1lbGluZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzLCBBWFNjaGVkdWxlckV2ZW50IH0gZnJvbSAnLi9zY2hlZHVsZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWE1lbnVJdGVtLCBBWERhdGVUaW1lIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhUb29sYmFyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdG9vbGJhci9zZWFyY2gvdG9vbGJhci1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1zY2hlZHVsZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NjaGVkdWxlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2NoZWR1bGVyQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxtOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7IH1cclxuXHJcbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBwb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldFxyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQVhTY2hlZHVsZXJWaWV3c1Byb3BlcnR5LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgdmlld01hbmFnZXI6IEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFRvb2xiYXJTY2hlZHVsZXJWaWV3c0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIHRvb2xiYXJWaWV3OiBBWFRvb2xiYXJTY2hlZHVsZXJWaWV3c0NvbXBvbmVudDtcclxuICBAQ29udGVudENoaWxkKEFYVG9vbGJhclNjaGVkdWxlck5hdmlnYXRvckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIHRvb2xiYXJOYXZpZ2F0b3I6IEFYVG9vbGJhclNjaGVkdWxlck5hdmlnYXRvckNvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc2VhcmNoSW5wdXQ6IEFYVG9vbGJhclNlYXJjaENvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBkYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XHJcblxyXG4gIHZpZXc6IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ7XHJcblxyXG5cclxuICBwcml2YXRlIF9jdXJyZW50Vmlldzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBjdXJyZW50VmlldygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWaWV3O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3KHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRWaWV3KHYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2aWV3SXRlbXM6IEFYTWVudUl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgdG9kYXkgPSBuZXcgQVhEYXRlVGltZSgpO1xyXG4gIHByaXZhdGUgbmF2aWdhdG9yRGF0ZSA9IG5ldyBBWERhdGVUaW1lKCk7XHJcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGV2ZW50czogQVhTY2hlZHVsZXJFdmVudFtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uRXZlbnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncz4oKTtcclxuXHJcbiAgc2V0VmlldyhuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gbmFtZTtcclxuICAgIGlmICh0aGlzLnZpZXdNYW5hZ2VyLnZpZXdzKSB7XHJcbiAgICAgIHRoaXMudmlld0l0ZW1zLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgYy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52aWV3SXRlbXMuZmluZChjID0+IGMubmFtZSA9PSBuYW1lKS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy52aWV3TWFuYWdlci52aWV3cy5maW5kKGMgPT4gYy5uYW1lID09IG5hbWUpO1xyXG4gICAgICB0aGlzLmNyZWF0ZVZpZXcoc2VsZWN0ZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVmlldyhzZWxlY3RlZDogQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkpIHtcclxuICAgIHRoaXMuc3RhcnRBbmltKCk7XHJcbiAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgIHRoaXMudmlldy5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5wb3J0YWxPdXRsZXQuZGV0YWNoKCk7XHJcbiAgICBsZXQgaW50ZXJ2YWwgPSBzZWxlY3RlZC5pbnRlcnZhbDtcclxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAnZGF5Jykge1xyXG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICd3ZWVrJykge1xyXG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xyXG4gICAgICBpbnRlcnZhbCA9IHNlbGVjdGVkLmludGVydmFsICogNztcclxuICAgIH1cclxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD4oQVhTY2hlZHVsZXJNb250aFZpZXdDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICdhZ2VuZGEnKSB7XHJcbiAgICAgIHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD4oQVhTY2hlZHVsZXJBZ2VuZGFWaWV3Q29tcG9uZW50KTtcclxuICAgIH1cclxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAndGltZWxpbmUnKSB7XHJcbiAgICAgIHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD4oQVhTY2hlZHVsZXJUaW1lbGluZVZpZXdDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29tcFJlZjogQ29tcG9uZW50UmVmPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+ID0gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoKHBvcnRhbCk7XHJcbiAgICB0aGlzLnZpZXcgPSBjb21wUmVmLmluc3RhbmNlO1xyXG4gICAgdGhpcy52aWV3LnR5cGUgPSBzZWxlY3RlZC50eXBlO1xyXG4gICAgdGhpcy52aWV3LmludGVydmFsID0gaW50ZXJ2YWw7XHJcbiAgICAvL1xyXG4gICAgdGhpcy52aWV3Lm9uRXZlbnRDaGFuZ2VkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy5vbkV2ZW50Q2hhbmdlZC5lbWl0KGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnZpZXcub25OYXZpZ2F0b3JEYXRlQ2hhbmdlZC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZTtcclxuICAgICAgdGhpcy5zZXROYXZpZ2F0b3JUZXh0KCk7XHJcbiAgICAgIHRoaXMuc3RhcnRBbmltKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXROYXZpZ2F0b3JUZXh0KCkge1xyXG4gICAgaWYgKHRoaXMudG9vbGJhck5hdmlnYXRvcikge1xyXG4gICAgICB0aGlzLnRvb2xiYXJOYXZpZ2F0b3Iuc2V0KHRoaXMudmlldy5kYXRlUmFuZ2UsIHRoaXMudmlldy50eXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhcnRBbmltKCkge1xyXG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdheC1hbmltLWZhZGUtaW4tZndkJyk7XHJcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMCc7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdheC1hbmltLWZhZGUtaW4tZndkJyk7XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dChfID0+IHtcclxuICAgICAgdGhpcy52aWV3TWFuYWdlci52aWV3cy5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgIHRoaXMudmlld0l0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgZ3JvdXBOYW1lOiAndmlldycsXHJcbiAgICAgICAgICBuYW1lOiB2Lm5hbWUsXHJcbiAgICAgICAgICB0ZXh0OiB2LmNhcHRpb25cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZC5zdWJzY3JpYmUoKGU6YW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5ldmVudHMgPSBlO1xyXG4gICAgICAgIHRoaXMudmlldy5ldmVudHMgPSB0aGlzLmV2ZW50cztcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0ICYmIHRoaXMudmlldy5ldmVudHMgJiYgdGhpcy52aWV3LmV2ZW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdG9yRGF0ZSA9IHRoaXMudmlldy5ldmVudHNbMF0ucmFuZ2Uuc3RhcnRUaW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5uYXZpZ2F0b3JEYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnZpZXcubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnZpZXcubmF2aWdhdGUodGhpcy50b2RheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgLy9cclxuICAgICAgaWYgKHRoaXMudG9vbGJhclZpZXcpIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXJWaWV3Lm9uVmlld0NoYW5nZWQuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFZpZXcgPSBjO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG9vbGJhclZpZXcuaXRlbXMgPSB0aGlzLnZpZXdJdGVtcztcclxuICAgICAgfVxyXG4gICAgICAvL1xyXG4gICAgICBpZiAodGhpcy50b29sYmFyTmF2aWdhdG9yKSB7XHJcbiAgICAgICAgdGhpcy50b29sYmFyTmF2aWdhdG9yLm9uTmF2aWdhdGUuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjID09PSAnbmV4dCcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Lm5leHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKGMgPT09ICdwcmV2Jykge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXcucHJldigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlldy5uYXZpZ2F0ZShjKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQub25WYWx1ZUNoYW5nZWQuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IGM7XHJcbiAgICAgICAgICBpZiAoYykge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdJdGVtcy5mb3JFYWNoKGMgPT4geyBjLnZpc2libGUgPSBmYWxzZTsgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHg6IEFYU2NoZWR1bGVyVmlld1Byb3BlcnR5ID0gbmV3IEFYU2NoZWR1bGVyVmlld1Byb3BlcnR5KCdhZ2VuZGEnLCAnU2VhcmNoJywgJ1ZJRVdfU0VBUkNIJyk7XHJcbiAgICAgICAgICAgIHguaW50ZXJ2YWwgPSAxMDA7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVmlldyh4KTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3SXRlbXMuZm9yRWFjaChjID0+IHsgYy52aXNpYmxlID0gdHJ1ZTsgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Vmlldyh0aGlzLl9jdXJyZW50Vmlldyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnRvb2xiYXJWaWV3LnVwZGF0ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vXHJcbiAgICAgIHRoaXMuc2V0Vmlldyh0aGlzLmN1cnJlbnRWaWV3KTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlU2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVTaXplKCkge1xyXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbGJhciA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oXHJcbiAgICAgICAgJy5heC1zY2hlZHVsZXItdG9vbGJhcidcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRvb2xiYXIpIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGBjYWxjKDEwMCUgLSAke3Rvb2xiYXIuY2xpZW50SGVpZ2h0fXB4KWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcnRhbE91dGxldC5kZXRhY2goKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmV0Y2goe1xyXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXNjaGVkdWxlci12aWV3c1wiPjwvbmctY29udGVudD5cclxuPGRpdiBjbGFzcz1cImF4LXNjaGVkdWxlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LXNjaGVkdWxlci10b29sYmFyXCIgPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2aWV3LWNvbnRhaW5lclwiICNjb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
1
|
+
import { Component, ContentChild, Input, ViewEncapsulation, ElementRef, ViewChild, Output, EventEmitter, ChangeDetectorRef, NgZone } from '@angular/core';
|
2
|
+
import { AXSchedulerViewsProperty, AXSchedulerViewProperty } from './scheduler-views.property';
|
3
|
+
import { AXToolbarSchedulerViewsComponent } from './toolbars/scheduler-toolbar-views';
|
4
|
+
import { AXSchedulerDayTimeViewComponent } from './views/daytime/scheduler-daytime-view.component';
|
5
|
+
import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
6
|
+
import { AXSchedulerMonthViewComponent } from './views/month/scheduler-month-view.component';
|
7
|
+
import { AXToolbarSchedulerNavigatorComponent } from './toolbars/scheduler-toolbar-navigator';
|
8
|
+
import { AXSchedulerAgendaViewComponent } from './views/agenda/scheduler-agenda-view.component';
|
9
|
+
import { AXSchedulerTimelineViewComponent } from './views/timeline/scheduler-timeline-view.component';
|
10
|
+
import { AXDateTime } from '@acorex/core';
|
11
|
+
import { AXToolbarSearchComponent } from '../../toolbar/search/toolbar-search.component';
|
12
|
+
import { AXDataSourceComponent } from '../../data-source/datasource.component';
|
13
|
+
import * as i0 from "@angular/core";
|
14
|
+
import * as i1 from "@angular/cdk/portal";
|
15
|
+
export class AXSchedulerComponent {
|
16
|
+
constructor(elm, zone, cdr) {
|
17
|
+
this.elm = elm;
|
18
|
+
this.zone = zone;
|
19
|
+
this.cdr = cdr;
|
20
|
+
this.viewItems = [];
|
21
|
+
this.today = new AXDateTime();
|
22
|
+
this.navigatorDate = new AXDateTime();
|
23
|
+
this.events = [];
|
24
|
+
this.onEventChanged = new EventEmitter();
|
25
|
+
}
|
26
|
+
get currentView() {
|
27
|
+
return this._currentView;
|
28
|
+
}
|
29
|
+
set currentView(v) {
|
30
|
+
this.setView(v);
|
31
|
+
}
|
32
|
+
setView(name) {
|
33
|
+
this._currentView = name;
|
34
|
+
if (this.viewManager.views) {
|
35
|
+
this.viewItems.forEach(c => {
|
36
|
+
c.selected = false;
|
37
|
+
});
|
38
|
+
this.viewItems.find(c => c.name == name).selected = true;
|
39
|
+
const selected = this.viewManager.views.find(c => c.name == name);
|
40
|
+
this.createView(selected);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
createView(selected) {
|
44
|
+
this.startAnim();
|
45
|
+
if (this.view) {
|
46
|
+
this.view.ngOnDestroy();
|
47
|
+
}
|
48
|
+
let portal;
|
49
|
+
this.portalOutlet.detach();
|
50
|
+
let interval = selected.interval;
|
51
|
+
if (selected.type === 'day') {
|
52
|
+
portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
|
53
|
+
}
|
54
|
+
if (selected.type === 'week') {
|
55
|
+
portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
|
56
|
+
interval = selected.interval * 7;
|
57
|
+
}
|
58
|
+
if (selected.type === 'month') {
|
59
|
+
portal = new ComponentPortal(AXSchedulerMonthViewComponent);
|
60
|
+
}
|
61
|
+
if (selected.type === 'agenda') {
|
62
|
+
portal = new ComponentPortal(AXSchedulerAgendaViewComponent);
|
63
|
+
}
|
64
|
+
if (selected.type === 'timeline') {
|
65
|
+
portal = new ComponentPortal(AXSchedulerTimelineViewComponent);
|
66
|
+
}
|
67
|
+
const compRef = this.portalOutlet.attach(portal);
|
68
|
+
this.view = compRef.instance;
|
69
|
+
this.view.type = selected.type;
|
70
|
+
this.view.interval = interval;
|
71
|
+
//
|
72
|
+
this.view.onEventChanged.subscribe(e => {
|
73
|
+
this.onEventChanged.emit(e);
|
74
|
+
});
|
75
|
+
this.view.onNavigatorDateChanged.subscribe((e) => {
|
76
|
+
this.navigatorDate = e;
|
77
|
+
this.setNavigatorText();
|
78
|
+
this.startAnim();
|
79
|
+
});
|
80
|
+
this.refresh();
|
81
|
+
}
|
82
|
+
setNavigatorText() {
|
83
|
+
if (this.toolbarNavigator) {
|
84
|
+
this.toolbarNavigator.set(this.view.dateRange, this.view.type);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
startAnim() {
|
88
|
+
this.container.nativeElement.classList.remove('ax-anim-fade-in-fwd');
|
89
|
+
this.container.nativeElement.style.opacity = '0';
|
90
|
+
setTimeout(() => {
|
91
|
+
this.container.nativeElement.classList.add('ax-anim-fade-in-fwd');
|
92
|
+
}, 250);
|
93
|
+
}
|
94
|
+
ngAfterViewInit() {
|
95
|
+
setTimeout(_ => {
|
96
|
+
this.viewManager.views.forEach(v => {
|
97
|
+
this.viewItems.push({
|
98
|
+
groupName: 'view',
|
99
|
+
name: v.name,
|
100
|
+
text: v.caption
|
101
|
+
});
|
102
|
+
});
|
103
|
+
//
|
104
|
+
this.dataSource.onDataReceived.subscribe((e) => {
|
105
|
+
this.events = e;
|
106
|
+
this.view.events = this.events;
|
107
|
+
if (this.searchText && this.view.events && this.view.events.length) {
|
108
|
+
this.navigatorDate = this.view.events[0].range.startTime;
|
109
|
+
}
|
110
|
+
if (this.navigatorDate) {
|
111
|
+
this.view.navigate(this.navigatorDate);
|
112
|
+
}
|
113
|
+
else {
|
114
|
+
this.view.navigate(this.today);
|
115
|
+
}
|
116
|
+
});
|
117
|
+
//
|
118
|
+
if (this.toolbarView) {
|
119
|
+
this.toolbarView.onViewChanged.subscribe((c) => {
|
120
|
+
this.currentView = c;
|
121
|
+
});
|
122
|
+
this.toolbarView.items = this.viewItems;
|
123
|
+
}
|
124
|
+
//
|
125
|
+
if (this.toolbarNavigator) {
|
126
|
+
this.toolbarNavigator.onNavigate.subscribe((c) => {
|
127
|
+
if (c === 'next') {
|
128
|
+
this.view.next();
|
129
|
+
}
|
130
|
+
else if (c === 'prev') {
|
131
|
+
this.view.prev();
|
132
|
+
}
|
133
|
+
else {
|
134
|
+
this.view.navigate(c);
|
135
|
+
}
|
136
|
+
});
|
137
|
+
}
|
138
|
+
if (this.searchInput) {
|
139
|
+
this.searchInput.onValueChanged.subscribe((c) => {
|
140
|
+
this.searchText = c;
|
141
|
+
if (c) {
|
142
|
+
this.viewItems.forEach(c => { c.visible = false; });
|
143
|
+
const x = new AXSchedulerViewProperty('agenda', 'Search', 'VIEW_SEARCH');
|
144
|
+
x.interval = 100;
|
145
|
+
this.createView(x);
|
146
|
+
this.refresh();
|
147
|
+
}
|
148
|
+
else {
|
149
|
+
this.viewItems.forEach(c => { c.visible = true; });
|
150
|
+
this.setView(this._currentView);
|
151
|
+
}
|
152
|
+
this.toolbarView.update();
|
153
|
+
});
|
154
|
+
}
|
155
|
+
//
|
156
|
+
this.setView(this.currentView);
|
157
|
+
this.refresh();
|
158
|
+
});
|
159
|
+
}
|
160
|
+
ngAfterViewChecked() {
|
161
|
+
this.updateSize();
|
162
|
+
}
|
163
|
+
updateSize() {
|
164
|
+
this.zone.runOutsideAngular(() => {
|
165
|
+
const toolbar = this.elm.nativeElement.querySelector('.ax-scheduler-toolbar');
|
166
|
+
if (toolbar) {
|
167
|
+
this.container.nativeElement.style.height = `calc(100% - ${toolbar.clientHeight}px)`;
|
168
|
+
}
|
169
|
+
});
|
170
|
+
}
|
171
|
+
ngOnDestroy() {
|
172
|
+
this.portalOutlet.detach();
|
173
|
+
}
|
174
|
+
refresh() {
|
175
|
+
this.dataSource.fetch({
|
176
|
+
searchText: this.searchText,
|
177
|
+
});
|
178
|
+
}
|
179
|
+
}
|
180
|
+
AXSchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
181
|
+
AXSchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerComponent, selector: "ax-scheduler", inputs: { currentView: "currentView", events: "events" }, outputs: { onEventChanged: "onEventChanged" }, queries: [{ propertyName: "viewManager", first: true, predicate: AXSchedulerViewsProperty, descendants: true, static: true }, { propertyName: "toolbarView", first: true, predicate: AXToolbarSchedulerViewsComponent, descendants: true, static: true }, { propertyName: "toolbarNavigator", first: true, predicate: AXToolbarSchedulerNavigatorComponent, descendants: true, static: true }, { propertyName: "searchInput", first: true, predicate: AXToolbarSearchComponent, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\n<div class=\"ax-scheduler\">\n <div class=\"ax-scheduler-toolbar\" >\n <ng-content select=\"ax-toolbar\"></ng-content>\n </div>\n <div class=\"view-container\" #container>\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>", styles: [".ax-scheduler{height:100%;width:100%}.ax-scheduler .ax-scheduler-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-bottom:0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.ax-scheduler .event-wrapper{z-index:100}.ax-scheduler .event-wrapper .event{color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler .event-wrapper .event .span{padding:1px 2px;margin:1px}.ax-scheduler .event-wrapper .event .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}.ax-scheduler .event-wrapper .event:hover,.ax-scheduler .event-wrapper .event:focus{cursor:pointer;box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-scheduler table{border-collapse:collapse;table-layout:fixed;width:100%}.ax-scheduler table td.cell-slot{position:relative}.ax-scheduler table td.cell-slot:hover{background-color:var(--primary-lighter-color)}.ax-scheduler table .same-week-day{color:var(--primary-color)}.ax-scheduler th,.ax-scheduler td{padding:8px 16px;border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;position:relative}.ax-scheduler th{overflow:hidden}.ax-scheduler .view-container{height:100%}.ax-scheduler .time-column{width:80px}.ax-scheduler .h-scroll{overflow-x:auto;overflow-y:hidden;height:100%}.ax-scheduler .v-scroll{overflow-y:auto;overflow-x:hidden}.ax-scheduler .cdk-drag-placeholder{opacity:0;display:none}.event-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;padding:5px 10px;color:#fff;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.event-drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-scheduler-event.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler-event.cdk-drag-preview .span{padding:1px 2px;margin:1px}.ax-scheduler-event.cdk-drag-preview .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}\n"], directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, decorators: [{
|
183
|
+
type: Component,
|
184
|
+
args: [{ selector: 'ax-scheduler', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\n<div class=\"ax-scheduler\">\n <div class=\"ax-scheduler-toolbar\" >\n <ng-content select=\"ax-toolbar\"></ng-content>\n </div>\n <div class=\"view-container\" #container>\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>", styles: [".ax-scheduler{height:100%;width:100%}.ax-scheduler .ax-scheduler-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-bottom:0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.ax-scheduler .event-wrapper{z-index:100}.ax-scheduler .event-wrapper .event{color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler .event-wrapper .event .span{padding:1px 2px;margin:1px}.ax-scheduler .event-wrapper .event .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}.ax-scheduler .event-wrapper .event:hover,.ax-scheduler .event-wrapper .event:focus{cursor:pointer;box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-scheduler table{border-collapse:collapse;table-layout:fixed;width:100%}.ax-scheduler table td.cell-slot{position:relative}.ax-scheduler table td.cell-slot:hover{background-color:var(--primary-lighter-color)}.ax-scheduler table .same-week-day{color:var(--primary-color)}.ax-scheduler th,.ax-scheduler td{padding:8px 16px;border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;position:relative}.ax-scheduler th{overflow:hidden}.ax-scheduler .view-container{height:100%}.ax-scheduler .time-column{width:80px}.ax-scheduler .h-scroll{overflow-x:auto;overflow-y:hidden;height:100%}.ax-scheduler .v-scroll{overflow-y:auto;overflow-x:hidden}.ax-scheduler .cdk-drag-placeholder{opacity:0;display:none}.event-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;padding:5px 10px;color:#fff;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.event-drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-scheduler-event.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler-event.cdk-drag-preview .span{padding:1px 2px;margin:1px}.ax-scheduler-event.cdk-drag-preview .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}\n"] }]
|
185
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { portalOutlet: [{
|
186
|
+
type: ViewChild,
|
187
|
+
args: [CdkPortalOutlet, { static: true }]
|
188
|
+
}], container: [{
|
189
|
+
type: ViewChild,
|
190
|
+
args: ['container', { static: true }]
|
191
|
+
}], viewManager: [{
|
192
|
+
type: ContentChild,
|
193
|
+
args: [AXSchedulerViewsProperty, { static: true }]
|
194
|
+
}], toolbarView: [{
|
195
|
+
type: ContentChild,
|
196
|
+
args: [AXToolbarSchedulerViewsComponent, { static: true }]
|
197
|
+
}], toolbarNavigator: [{
|
198
|
+
type: ContentChild,
|
199
|
+
args: [AXToolbarSchedulerNavigatorComponent, { static: true }]
|
200
|
+
}], searchInput: [{
|
201
|
+
type: ContentChild,
|
202
|
+
args: [AXToolbarSearchComponent, { static: true }]
|
203
|
+
}], dataSource: [{
|
204
|
+
type: ContentChild,
|
205
|
+
args: [AXDataSourceComponent, { static: true }]
|
206
|
+
}], currentView: [{
|
207
|
+
type: Input
|
208
|
+
}], events: [{
|
209
|
+
type: Input
|
210
|
+
}], onEventChanged: [{
|
211
|
+
type: Output
|
212
|
+
}] } });
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvc2NoZWR1bGVyL3NjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci9zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXRHLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7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ICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgQ29tcG9uZW50UmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE5nWm9uZSxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSwgQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkgfSBmcm9tICcuL3NjaGVkdWxlci12aWV3cy5wcm9wZXJ0eSc7XG5pbXBvcnQgeyBBWFRvb2xiYXJTY2hlZHVsZXJWaWV3c0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhcnMvc2NoZWR1bGVyLXRvb2xiYXItdmlld3MnO1xuaW1wb3J0IHsgQVhTY2hlZHVsZXJEYXlUaW1lVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvZGF5dGltZS9zY2hlZHVsZXItZGF5dGltZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3Mvc2NoZWR1bGVyLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYU2NoZWR1bGVyTW9udGhWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9tb250aC9zY2hlZHVsZXItbW9udGgtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb29sYmFyU2NoZWR1bGVyTmF2aWdhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFycy9zY2hlZHVsZXItdG9vbGJhci1uYXZpZ2F0b3InO1xuaW1wb3J0IHsgQVhTY2hlZHVsZXJBZ2VuZGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9hZ2VuZGEvc2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFNjaGVkdWxlclRpbWVsaW5lVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvdGltZWxpbmUvc2NoZWR1bGVyLXRpbWVsaW5lLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzLCBBWFNjaGVkdWxlckV2ZW50IH0gZnJvbSAnLi9zY2hlZHVsZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhNZW51SXRlbSwgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi8uLi90b29sYmFyL3NlYXJjaC90b29sYmFyLXNlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5jb21wb25lbnQnO1xuXG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1zY2hlZHVsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZWR1bGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQVhTY2hlZHVsZXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgcG9ydGFsT3V0bGV0OiBDZGtQb3J0YWxPdXRsZXRcblxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSB2aWV3TWFuYWdlcjogQVhTY2hlZHVsZXJWaWV3c1Byb3BlcnR5O1xuXG4gIEBDb250ZW50Q2hpbGQoQVhUb29sYmFyU2NoZWR1bGVyVmlld3NDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgdG9vbGJhclZpZXc6IEFYVG9vbGJhclNjaGVkdWxlclZpZXdzQ29tcG9uZW50O1xuICBAQ29udGVudENoaWxkKEFYVG9vbGJhclNjaGVkdWxlck5hdmlnYXRvckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSB0b29sYmFyTmF2aWdhdG9yOiBBWFRvb2xiYXJTY2hlZHVsZXJOYXZpZ2F0b3JDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlYXJjaElucHV0OiBBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlQ29tcG9uZW50O1xuXG4gIHZpZXc6IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ7XG5cblxuICBwcml2YXRlIF9jdXJyZW50Vmlldzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWaWV3O1xuICB9XG4gIHB1YmxpYyBzZXQgY3VycmVudFZpZXcodjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRWaWV3KHYpO1xuICB9XG5cbiAgcHJpdmF0ZSB2aWV3SXRlbXM6IEFYTWVudUl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIHRvZGF5ID0gbmV3IEFYRGF0ZVRpbWUoKTtcbiAgcHJpdmF0ZSBuYXZpZ2F0b3JEYXRlID0gbmV3IEFYRGF0ZVRpbWUoKTtcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGV2ZW50czogQVhTY2hlZHVsZXJFdmVudFtdID0gW107XG5cbiAgQE91dHB1dCgpXG4gIG9uRXZlbnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncz4oKTtcblxuICBzZXRWaWV3KG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gbmFtZTtcbiAgICBpZiAodGhpcy52aWV3TWFuYWdlci52aWV3cykge1xuICAgICAgdGhpcy52aWV3SXRlbXMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgYy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnZpZXdJdGVtcy5maW5kKGMgPT4gYy5uYW1lID09IG5hbWUpLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy52aWV3TWFuYWdlci52aWV3cy5maW5kKGMgPT4gYy5uYW1lID09IG5hbWUpO1xuICAgICAgdGhpcy5jcmVhdGVWaWV3KHNlbGVjdGVkKTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlVmlldyhzZWxlY3RlZDogQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkpIHtcbiAgICB0aGlzLnN0YXJ0QW5pbSgpO1xuICAgIGlmICh0aGlzLnZpZXcpIHtcbiAgICAgIHRoaXMudmlldy5uZ09uRGVzdHJveSgpO1xuICAgIH1cbiAgICBsZXQgcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD47XG4gICAgdGhpcy5wb3J0YWxPdXRsZXQuZGV0YWNoKCk7XG4gICAgbGV0IGludGVydmFsID0gc2VsZWN0ZWQuaW50ZXJ2YWw7XG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICdkYXknKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xuICAgIH1cbiAgICBpZiAoc2VsZWN0ZWQudHlwZSA9PT0gJ3dlZWsnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xuICAgICAgaW50ZXJ2YWwgPSBzZWxlY3RlZC5pbnRlcnZhbCAqIDc7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAnbW9udGgnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyTW9udGhWaWV3Q29tcG9uZW50KTtcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICdhZ2VuZGEnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyQWdlbmRhVmlld0NvbXBvbmVudCk7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAndGltZWxpbmUnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyVGltZWxpbmVWaWV3Q29tcG9uZW50KTtcbiAgICB9XG4gICAgY29uc3QgY29tcFJlZjogQ29tcG9uZW50UmVmPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+ID0gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoKHBvcnRhbCk7XG4gICAgdGhpcy52aWV3ID0gY29tcFJlZi5pbnN0YW5jZTtcbiAgICB0aGlzLnZpZXcudHlwZSA9IHNlbGVjdGVkLnR5cGU7XG4gICAgdGhpcy52aWV3LmludGVydmFsID0gaW50ZXJ2YWw7XG4gICAgLy9cbiAgICB0aGlzLnZpZXcub25FdmVudENoYW5nZWQuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgdGhpcy5vbkV2ZW50Q2hhbmdlZC5lbWl0KGUpO1xuICAgIH0pO1xuICAgIHRoaXMudmlldy5vbk5hdmlnYXRvckRhdGVDaGFuZ2VkLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZTtcbiAgICAgIHRoaXMuc2V0TmF2aWdhdG9yVGV4dCgpO1xuICAgICAgdGhpcy5zdGFydEFuaW0oKTtcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TmF2aWdhdG9yVGV4dCgpIHtcbiAgICBpZiAodGhpcy50b29sYmFyTmF2aWdhdG9yKSB7XG4gICAgICB0aGlzLnRvb2xiYXJOYXZpZ2F0b3Iuc2V0KHRoaXMudmlldy5kYXRlUmFuZ2UsIHRoaXMudmlldy50eXBlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0QW5pbSgpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWFuaW0tZmFkZS1pbi1md2QnKTtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2F4LWFuaW0tZmFkZS1pbi1md2QnKTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICB0aGlzLnZpZXdNYW5hZ2VyLnZpZXdzLmZvckVhY2godiA9PiB7XG4gICAgICAgIHRoaXMudmlld0l0ZW1zLnB1c2goe1xuICAgICAgICAgIGdyb3VwTmFtZTogJ3ZpZXcnLFxuICAgICAgICAgIG5hbWU6IHYubmFtZSxcbiAgICAgICAgICB0ZXh0OiB2LmNhcHRpb25cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIC8vXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uub25EYXRhUmVjZWl2ZWQuc3Vic2NyaWJlKChlOmFueSkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50cyA9IGU7XG4gICAgICAgIHRoaXMudmlldy5ldmVudHMgPSB0aGlzLmV2ZW50cztcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGV4dCAmJiB0aGlzLnZpZXcuZXZlbnRzICYmIHRoaXMudmlldy5ldmVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gdGhpcy52aWV3LmV2ZW50c1swXS5yYW5nZS5zdGFydFRpbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdG9yRGF0ZSkge1xuICAgICAgICAgIHRoaXMudmlldy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRvckRhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMudmlldy5uYXZpZ2F0ZSh0aGlzLnRvZGF5KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICAvL1xuICAgICAgaWYgKHRoaXMudG9vbGJhclZpZXcpIHtcbiAgICAgICAgdGhpcy50b29sYmFyVmlldy5vblZpZXdDaGFuZ2VkLnN1YnNjcmliZSgoYzogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlldyA9IGM7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRvb2xiYXJWaWV3Lml0ZW1zID0gdGhpcy52aWV3SXRlbXM7XG4gICAgICB9XG4gICAgICAvL1xuICAgICAgaWYgKHRoaXMudG9vbGJhck5hdmlnYXRvcikge1xuICAgICAgICB0aGlzLnRvb2xiYXJOYXZpZ2F0b3Iub25OYXZpZ2F0ZS5zdWJzY3JpYmUoKGM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChjID09PSAnbmV4dCcpIHtcbiAgICAgICAgICAgIHRoaXMudmlldy5uZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGMgPT09ICdwcmV2Jykge1xuICAgICAgICAgICAgdGhpcy52aWV3LnByZXYoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXcubmF2aWdhdGUoYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0KSB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQub25WYWx1ZUNoYW5nZWQuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSBjO1xuICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdJdGVtcy5mb3JFYWNoKGMgPT4geyBjLnZpc2libGUgPSBmYWxzZTsgfSk7XG4gICAgICAgICAgICBjb25zdCB4OiBBWFNjaGVkdWxlclZpZXdQcm9wZXJ0eSA9IG5ldyBBWFNjaGVkdWxlclZpZXdQcm9wZXJ0eSgnYWdlbmRhJywgJ1NlYXJjaCcsICdWSUVXX1NFQVJDSCcpO1xuICAgICAgICAgICAgeC5pbnRlcnZhbCA9IDEwMDtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVmlldyh4KTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld0l0ZW1zLmZvckVhY2goYyA9PiB7IGMudmlzaWJsZSA9IHRydWU7IH0pO1xuICAgICAgICAgICAgdGhpcy5zZXRWaWV3KHRoaXMuX2N1cnJlbnRWaWV3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy50b29sYmFyVmlldy51cGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvL1xuICAgICAgdGhpcy5zZXRWaWV3KHRoaXMuY3VycmVudFZpZXcpO1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVTaXplKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNpemUoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHRvb2xiYXIgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAnLmF4LXNjaGVkdWxlci10b29sYmFyJ1xuICAgICAgKTtcbiAgICAgIGlmICh0b29sYmFyKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYGNhbGMoMTAwJSAtICR7dG9vbGJhci5jbGllbnRIZWlnaHR9cHgpYDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucG9ydGFsT3V0bGV0LmRldGFjaCgpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmV0Y2goe1xuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0LFxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXNjaGVkdWxlci12aWV3c1wiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1zY2hlZHVsZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc2NoZWR1bGVyLXRvb2xiYXJcIiA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInZpZXctY29udGFpbmVyXCIgI2NvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|