@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,258 +1,258 @@
|
|
1
|
-
import { Component, Input, ViewChild, ViewChildren, QueryList, ViewEncapsulation, ChangeDetectionStrategy, Output, EventEmitter, ChangeDetectorRef, ElementRef } from '@angular/core';
|
2
|
-
import { AXFilterColumnComponent } from '../filter.class';
|
3
|
-
import { AXHtmlUtil } from '@acorex/core';
|
4
|
-
import { AXMenuComponent } from '../../menu/menu.component';
|
5
|
-
import { AXTextBoxComponent } from '../../textbox/textbox.component';
|
6
|
-
import { AXToastService } from '../../toast/toast.service';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "../../toast/toast.service";
|
9
|
-
import * as i2 from "../../panel-box/panel-box.component";
|
10
|
-
import * as i3 from "../../toolbar/toolbar.component";
|
11
|
-
import * as i4 from "../../toolbar/title/toolbar-title.component";
|
12
|
-
import * as i5 from "../../toolbar/menu/toolbar-menu.component";
|
13
|
-
import * as i6 from "../../textbox/textbox.component";
|
14
|
-
import * as i7 from "../../button/button.component";
|
15
|
-
import * as i8 from "../../validation/validation.component";
|
16
|
-
import * as i9 from "../../validation/validation-rule.widget";
|
17
|
-
import * as i10 from "../../checkbox/checkbox.component";
|
18
|
-
import * as i11 from "../columns/filter-column-selection.component";
|
19
|
-
import * as i12 from "../columns/filter-column-date.component";
|
20
|
-
import * as i13 from "../columns/filter-column-number.component";
|
21
|
-
import * as i14 from "../columns/filter-column-string.component";
|
22
|
-
import * as i15 from "@angular/common";
|
23
|
-
export class AXFilterPanelComponent {
|
24
|
-
constructor(cdr, toast) {
|
25
|
-
this.cdr = cdr;
|
26
|
-
this.toast = toast;
|
27
|
-
this.groups = [];
|
28
|
-
this.predefinedFilters = [];
|
29
|
-
this.mode = 'click';
|
30
|
-
this.saveItems = [
|
31
|
-
{
|
32
|
-
name: 'saveAs',
|
33
|
-
text: 'Save',
|
34
|
-
startIcon: 'fas fa-save',
|
35
|
-
items: [
|
36
|
-
{
|
37
|
-
name: 'save',
|
38
|
-
text: 'Save current'
|
39
|
-
},
|
40
|
-
{
|
41
|
-
name: 'saveAs',
|
42
|
-
text: 'Save as New'
|
43
|
-
}
|
44
|
-
]
|
45
|
-
},
|
46
|
-
];
|
47
|
-
this.filterChange = new EventEmitter();
|
48
|
-
}
|
49
|
-
apply() {
|
50
|
-
this.filterChange.emit(this.value);
|
51
|
-
this.updateMenu();
|
52
|
-
}
|
53
|
-
clear() {
|
54
|
-
this.filters.forEach(e => {
|
55
|
-
e.clear();
|
56
|
-
});
|
57
|
-
this.predefinedFilters.forEach(c => {
|
58
|
-
c.selected = false;
|
59
|
-
});
|
60
|
-
this.filterChange.emit(this.value);
|
61
|
-
this.updateMenu();
|
62
|
-
}
|
63
|
-
onValueChange(e) {
|
64
|
-
if (this.mode === 'immediate') {
|
65
|
-
setTimeout(() => {
|
66
|
-
this.filterChange.emit(this.value);
|
67
|
-
this.updateMenu();
|
68
|
-
}, 50);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
onCheckValueChange(v, e) {
|
72
|
-
if (!e.value && this.mode === 'immediate') {
|
73
|
-
this.filters.forEach(c => {
|
74
|
-
if (c.field === v.field) {
|
75
|
-
c.clear();
|
76
|
-
}
|
77
|
-
});
|
78
|
-
setTimeout(() => {
|
79
|
-
this.filterChange.emit(this.value.filter(c => c.field !== v.field));
|
80
|
-
this.updateMenu();
|
81
|
-
}, 50);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
get value() {
|
85
|
-
const con = [];
|
86
|
-
if (this.filters) {
|
87
|
-
this.filters.forEach(e => {
|
88
|
-
if (e.active && e.condition && ((e.condition.value != null) || (e.condition.value == null && (e.condition.condition === 'is-empty' || e.condition.condition === 'is-not-empty')))) {
|
89
|
-
con.push(e.condition);
|
90
|
-
}
|
91
|
-
});
|
92
|
-
}
|
93
|
-
return con;
|
94
|
-
}
|
95
|
-
load(filters) {
|
96
|
-
this.filters.forEach(e => {
|
97
|
-
e.clear();
|
98
|
-
});
|
99
|
-
this.cancelSaveFilter();
|
100
|
-
filters.forEach(f => {
|
101
|
-
const col = this.filters.find(c => c.field === f.field);
|
102
|
-
if (col) {
|
103
|
-
col.setFilter(f.value, f.condition);
|
104
|
-
}
|
105
|
-
});
|
106
|
-
this.filterChange.emit(this.value);
|
107
|
-
this.updateMenu();
|
108
|
-
}
|
109
|
-
ngAfterViewInit() {
|
110
|
-
const footer = this.panel.nativeElement.querySelector('.footer');
|
111
|
-
if (!footer) {
|
112
|
-
this.body.nativeElement.style.height = 'calc(100% - 110px)';
|
113
|
-
}
|
114
|
-
setTimeout(() => {
|
115
|
-
if (this.predefinedFilters) {
|
116
|
-
this.setFilterByIndex(0);
|
117
|
-
}
|
118
|
-
else {
|
119
|
-
this.clear();
|
120
|
-
}
|
121
|
-
}, 100);
|
122
|
-
this.applySize();
|
123
|
-
}
|
124
|
-
setFilterByIndex(index) {
|
125
|
-
const f = this.predefinedFilters[index];
|
126
|
-
if (f) {
|
127
|
-
this.setFilterByName(f.name);
|
128
|
-
}
|
129
|
-
}
|
130
|
-
setFilterByName(name) {
|
131
|
-
const f = this.predefinedFilters.find(c => c.name === name);
|
132
|
-
if (f) {
|
133
|
-
this.load(f.value);
|
134
|
-
this.predefinedFilters.forEach(c => {
|
135
|
-
c.selected = false;
|
136
|
-
});
|
137
|
-
f.selected = true;
|
138
|
-
}
|
139
|
-
}
|
140
|
-
removeFilter(f) {
|
141
|
-
this.predefinedFilters = this.predefinedFilters.filter(c => c.name != f.name);
|
142
|
-
this.updateMenu();
|
143
|
-
}
|
144
|
-
get currentFilter() {
|
145
|
-
return this.predefinedFilters.find(c => c.selected);
|
146
|
-
}
|
147
|
-
applySize() {
|
148
|
-
let h = 0;
|
149
|
-
h += this.footer.nativeElement.getBoundingClientRect().height;
|
150
|
-
h += this.savedList.nativeElement.getBoundingClientRect().height;
|
151
|
-
h += 10;
|
152
|
-
this.body.nativeElement.style.height = `calc(100% - ${h}px)`;
|
153
|
-
}
|
154
|
-
// SAVE FILTERS
|
155
|
-
updateMenu() {
|
156
|
-
setTimeout(() => {
|
157
|
-
this.saveItems[0].items[0].visible = this.currentFilter != null;
|
158
|
-
this.saveItems[0].items[1].visible = this.currentFilter != null;
|
159
|
-
// this.menu.update();
|
160
|
-
}, 100);
|
161
|
-
}
|
162
|
-
applySaveFilter() {
|
163
|
-
const f = this.currentFilter;
|
164
|
-
if (f) {
|
165
|
-
// TODO
|
166
|
-
// this.tbxName.validate().then(c => {
|
167
|
-
// if (c.result) {
|
168
|
-
// f.value = this.value;
|
169
|
-
// (f as any).isInEdit = false;
|
170
|
-
// (f as any).isNew = false;
|
171
|
-
// f.title = this.tbxName.value;
|
172
|
-
// this.toast.success('Filter saved successfully.');
|
173
|
-
// this.updateMenu();
|
174
|
-
// }
|
175
|
-
// });
|
176
|
-
}
|
177
|
-
}
|
178
|
-
cancelSaveFilter() {
|
179
|
-
const f = this.currentFilter;
|
180
|
-
if (f) {
|
181
|
-
if (f.isNew) {
|
182
|
-
this.removeFilter(f);
|
183
|
-
}
|
184
|
-
else {
|
185
|
-
f.isInEdit = false;
|
186
|
-
}
|
187
|
-
}
|
188
|
-
this.updateMenu();
|
189
|
-
}
|
190
|
-
onMenuItemClick(e) {
|
191
|
-
if (e.name === 'save') {
|
192
|
-
this.applySaveFilter();
|
193
|
-
}
|
194
|
-
if (e.name === 'saveAs') {
|
195
|
-
const f = {
|
196
|
-
name: AXHtmlUtil.getUID(),
|
197
|
-
title: '',
|
198
|
-
value: this.value
|
199
|
-
};
|
200
|
-
this.predefinedFilters.push(f);
|
201
|
-
f.isNew = true;
|
202
|
-
this.setFilterByName(f.name);
|
203
|
-
this.handleRenameClick(f);
|
204
|
-
}
|
205
|
-
}
|
206
|
-
tbxNameOnKey(e) {
|
207
|
-
if (e.type === 'keyup' && e.key === 'Enter') {
|
208
|
-
this.applySaveFilter();
|
209
|
-
}
|
210
|
-
if (e.type === 'keyup' && e.key === 'Escape') {
|
211
|
-
this.cancelSaveFilter();
|
212
|
-
}
|
213
|
-
}
|
214
|
-
handleRenameClick(f) {
|
215
|
-
f.isInEdit = true;
|
216
|
-
this.cdr.detectChanges();
|
217
|
-
setTimeout(() => {
|
218
|
-
this.tbxName.value = f.title;
|
219
|
-
this.tbxName.focus();
|
220
|
-
}, 50);
|
221
|
-
}
|
222
|
-
}
|
223
|
-
AXFilterPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXFilterPanelComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
|
224
|
-
AXFilterPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXFilterPanelComponent, selector: "ax-filter-panel", inputs: { groups: "groups", predefinedFilters: "predefinedFilters", mode: "mode" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true, static: true }, { propertyName: "footer", first: true, predicate: ["footer"], descendants: true, static: true }, { propertyName: "savedList", first: true, predicate: ["savedList"], descendants: true, static: true }, { propertyName: "body", first: true, predicate: ["body"], descendants: true, static: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }, { propertyName: "tbxName", first: true, predicate: ["tbxName"], descendants: true, static: true }, { propertyName: "filters", predicate: AXFilterColumnComponent, descendants: true }], ngImport: i0, template: "<div class=\"ax-filter-panel\" #panel>\r\n <div class=\"saved-list\" #savedList>\r\n <ax-panel-box #fb>\r\n <ng-template #header>\r\n <div class=\"group-header\" (click)=\"fb.toggle()\">\r\n <ax-toolbar>\r\n <ax-toolbar-title>\r\n <div>\r\n <i class=\"far fa-filter\"></i>\r\n <span>SAVED FILTERS</span>\r\n </div>\r\n </ax-toolbar-title>\r\n <ax-toolbar-menu #menu [items]=\"saveItems\" (onItemClick)=\"onMenuItemClick($event)\">\r\n </ax-toolbar-menu>\r\n </ax-toolbar>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"list\">\r\n <ng-container *ngIf=\"predefinedFilters && predefinedFilters.length; else emptyList\">\r\n <ul>\r\n <ng-container *ngFor=\"let f of predefinedFilters\">\r\n <ng-container *ngIf=\"!f.isInEdit; else editMode\">\r\n <li (click)=\"setFilterByName(f.name)\">\r\n <div class=\"item-line\" [class.selected]=\"f.selected\">\r\n <span class=\"title\"><i class=\"far fa-check\"></i> {{f.title}}</span>\r\n <span class=\"tools\"><i class=\"far fa-pen text-primary\" title=\"Rename\"\r\n (click)=\"handleRenameClick(f)\"></i> <i\r\n class=\"far fa-times text-danger\" title=\"Remove\"\r\n (click)=\"removeFilter(f)\"></i></span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n <ng-template #editMode>\r\n <li>\r\n <ax-text-box #tbxName placeholder=\"Enter filter's title here\"\r\n (onKey)=\"tbxNameOnKey($event)\">\r\n <ax-button title=\"Save\" type=\"primary\" (onClick)=\"applySaveFilter()\">\r\n <i class=\"far fa-check\"></i>\r\n </ax-button>\r\n <ax-button title=\"Cancel\" type=\"danger\" (onClick)=\"cancelSaveFilter()\">\r\n <i class=\"far fa-times\"></i>\r\n </ax-button>\r\n <ax-validation>\r\n <ax-validation-rule type=\"required\" message=\"this field is required\">\r\n </ax-validation-rule>\r\n </ax-validation>\r\n </ax-text-box>\r\n </li>\r\n </ng-template>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n <ng-template #emptyList>\r\n <div class=\"empty-list\">\r\n Empty\r\n </div>\r\n </ng-template>\r\n </div>\r\n </ax-panel-box>\r\n </div>\r\n <div class=\"body\" #body>\r\n <ng-container *ngFor=\"let g of groups\">\r\n <ax-panel-box #fb>\r\n <ng-template #header>\r\n <div class=\"group-header\" *ngIf=\"g.caption\" (click)=\"fb.toggle()\">\r\n <i\r\n [ngClass]=\"{ 'far fa-minus-square' : !fb.collapsed ,'fas fa-plus-square' : fb.collapsed }\"></i>\r\n <span>{{g.caption}}</span>\r\n </div>\r\n </ng-template>\r\n <ng-container *ngFor=\"let c of g.columns\">\r\n <div class=\"ax-filter-item-header\" [style.margin-bottom.px]=\"c.active ? 0 : 2\">\r\n <ax-check-box (onValueChanged)=\"onCheckValueChange(c,$event)\" [label]=\"c.caption\"\r\n [(value)]=\"c.active\">\r\n </ax-check-box>\r\n </div>\r\n <div [hidden]=\"!c.active\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <ng-container *ngSwitchCase=\"'selection'\">\r\n <ax-filter-column-selection (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\r\n [(active)]=\"c.active\" [mode]=\"c.options.mode\" [items]=\"c.options.items\"\r\n [dataType]=\"c.options.dataType\">\r\n </ax-filter-column-selection>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ax-filter-column-date (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\r\n [(active)]=\"c.active\">\r\n </ax-filter-column-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ax-filter-column-number (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\r\n [(active)]=\"c.active\">\r\n </ax-filter-column-number>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ax-filter-column-string (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\r\n [(active)]=\"c.active\">\r\n </ax-filter-column-string>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ax-panel-box>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"mode=='click'\" class=\"footer\" #footer>\r\n <div class=\"filter-panel\">\r\n <ax-button (onClick)=\"apply()\" type=\"success\" size=\"sm\">\r\n <i class=\"far fa-filter\"></i>\r\n Apply Filter\r\n </ax-button>\r\n <ax-button (onClick)=\"clear();\" type=\"light \" size=\"sm\">\r\n <i class=\"far fa-eraser\"></i>\r\n Clear\r\n </ax-button>\r\n </div>\r\n </div>\r\n</div>", styles: [".ax-filter-panel{padding:2px;position:relative;height:100%;font-size:var(--font-md-size)}.ax-filter-panel .empty-list{text-align:center;padding:var(--sp-sm-size);color:var(--gray)}.ax-filter-panel .saved-list{border-bottom:1px solid var(--border-color)}.ax-filter-panel .saved-list .list ul{list-style-type:none;display:flex;flex-direction:column;padding:0;margin-bottom:var(--sp-md-size)}.ax-filter-panel .saved-list .list ul li .item-line{cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.ax-filter-panel .saved-list .list ul li .item-line .title i{opacity:.1}.ax-filter-panel .saved-list .list ul li .item-line .tools{display:inline}.ax-filter-panel .saved-list .list ul li .item-line .tools i{opacity:.2;cursor:pointer}.ax-filter-panel .saved-list .list ul li .item-line .tools i:hover{opacity:1}.ax-filter-panel .saved-list .list ul li .item-line.selected{font-weight:700}.ax-filter-panel .saved-list .list ul li .item-line.selected .title i{opacity:1}.ax-filter-panel .body{overflow-y:auto;overflow-x:hidden;height:calc(100% - 150px)}.ax-filter-panel .body .form-inline{justify-content:space-between}.ax-filter-panel .group-header{background:var(--white-color);display:flex;align-items:center;padding:var(--sp-sm-size) var(--sp-md-size);border-bottom:1px solid var(--border-color);background:var(--gray-dark-color);color:var(--gray-dark)}.ax-filter-panel .group-header i{margin-right:var(--sp-sm-size)}.ax-filter-panel .ax-filter-item-header{height:var(--el-md-size);display:flex;align-items:center}.ax-filter-panel .footer{width:100%;position:absolute;background-color:var(--white-color);bottom:0;padding:var(--sp-sm-size);border-top:1px solid var(--border-color)}.ax-filter-panel .footer .filter-panel{display:flex;align-items:center}.ax-filter-panel .footer .filter-panel ax-button{margin:0 2px}.ax-filter-panel .ax-filter-section{padding:var(--sp-md-size) var(--sp-lg-size);display:flex;justify-content:space-between;align-items:center}.ax-filter-panel .ax-filter-section>div{flex:1}.ax-filter-panel .ax-filter-section-value{padding:0px var(--sp-md-size) var(--sp-md-size) var(--sp-md-size);display:flex;justify-content:space-between;align-items:center}.ax-filter-panel .ax-filter-section-value>*{margin:0 3px}\n"], components: [{ type: i2.AXPanelBoxComponent, selector: "ax-panel-box", inputs: ["size", "type", "caption", "collapsed", "allowCollapse"], outputs: ["collapsedChange"] }, { type: i3.AXToolbarComponent, selector: "ax-toolbar" }, { type: i4.AXToolbarTitleComponent, selector: "ax-toolbar-title", inputs: ["text"] }, { type: i5.AXToolbarMenuComponent, selector: "ax-toolbar-menu", inputs: ["menuTemplate", "selection", "items"], outputs: ["onItemClick"] }, { type: i6.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i7.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { type: i8.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }, { type: i9.AXValidationRuleComponent, selector: "ax-validation-rule", inputs: ["type", "message", "value", "enabled"] }, { type: i10.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { type: i11.AXFilterColumnSelectionComponent, selector: "ax-filter-column-selection", inputs: ["items", "mode", "dataType"] }, { type: i12.AXFilterColumnDateComponent, selector: "ax-filter-column-date" }, { type: i13.AXFilterColumnNumberComponent, selector: "ax-filter-column-number" }, { type: i14.AXFilterColumnStringComponent, selector: "ax-filter-column-string" }], directives: [{ type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i15.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i15.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i15.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i15.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXFilterPanelComponent, decorators: [{
|
226
|
-
type: Component,
|
227
|
-
args: [{ selector: 'ax-filter-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-filter-panel\" #panel>\
|
228
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AXToastService }]; }, propDecorators: { panel: [{
|
229
|
-
type: ViewChild,
|
230
|
-
args: ['panel', { static: true }]
|
231
|
-
}], footer: [{
|
232
|
-
type: ViewChild,
|
233
|
-
args: ['footer', { static: true }]
|
234
|
-
}], savedList: [{
|
235
|
-
type: ViewChild,
|
236
|
-
args: ['savedList', { static: true }]
|
237
|
-
}], body: [{
|
238
|
-
type: ViewChild,
|
239
|
-
args: ['body', { static: true }]
|
240
|
-
}], menu: [{
|
241
|
-
type: ViewChild,
|
242
|
-
args: ['menu', { static: false }]
|
243
|
-
}], tbxName: [{
|
244
|
-
type: ViewChild,
|
245
|
-
args: ['tbxName', { static: true }]
|
246
|
-
}], filters: [{
|
247
|
-
type: ViewChildren,
|
248
|
-
args: [AXFilterColumnComponent]
|
249
|
-
}], groups: [{
|
250
|
-
type: Input
|
251
|
-
}], predefinedFilters: [{
|
252
|
-
type: Input
|
253
|
-
}], mode: [{
|
254
|
-
type: Input
|
255
|
-
}], filterChange: [{
|
256
|
-
type: Output
|
257
|
-
}] } });
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWx0ZXIvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmlsdGVyL2ZpbHRlci1wYW5lbC9maWx0ZXItcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3hNLE9BQU8sRUFBdUIsdUJBQXVCLEVBQXlDLE1BQU0saUJBQWlCLENBQUM7QUFDdEgsT0FBTyxFQUFjLFVBQVUsRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhM0QsTUFBTSxPQUFPLHNCQUFzQjtJQTBDL0IsWUFBb0IsR0FBc0IsRUFBVSxLQUFxQjtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBOUJ6RSxXQUFNLEdBQTBCLEVBQUUsQ0FBQztRQUduQyxzQkFBaUIsR0FBeUIsRUFBRSxDQUFDO1FBRzdDLFNBQUksR0FBMEIsT0FBTyxDQUFDO1FBRXRDLGNB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QUdyQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkF1Qk4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhGaWx0ZXJDb2x1bW5Hcm91cCwgQVhGaWx0ZXJDb2x1bW5Db21wb25lbnQsIEFYRmlsdGVyQ29uZGl0aW9uLCBBWEZpbHRlclByZWRlZmluZWQgfSBmcm9tICcuLi9maWx0ZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWE1lbnVJdGVtLCBBWEh0bWxVdGlsLCBBWEtleWJvYXJkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEFYVmFsdWVFdmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1maWx0ZXItcGFuZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXItcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhGaWx0ZXJQYW5lbENvbXBvbmVudCB7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgncGFuZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYW5lbDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgICBAVmlld0NoaWxkKCdmb290ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb290ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gICAgQFZpZXdDaGlsZCgnc2F2ZWRMaXN0JywgeyBzdGF0aWM6IHRydWUgfSkgc2F2ZWRMaXN0OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2JvZHknLCB7IHN0YXRpYzogdHJ1ZSB9KSBib2R5OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICAgIEBWaWV3Q2hpbGQoJ21lbnUnLCB7IHN0YXRpYzogZmFsc2UgfSkgbWVudTogQVhNZW51Q29tcG9uZW50O1xyXG4gICAgQFZpZXdDaGlsZCgndGJ4TmFtZScsIHsgc3RhdGljOiB0cnVlIH0pIHRieE5hbWU6IEFYVGV4dEJveENvbXBvbmVudDtcclxuXHJcbiAgICBAVmlld0NoaWxkcmVuKEFYRmlsdGVyQ29sdW1uQ29tcG9uZW50KSBmaWx0ZXJzOiBRdWVyeUxpc3Q8QVhGaWx0ZXJDb2x1bW5Db21wb25lbnQ+O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBncm91cHM6IEFYRmlsdGVyQ29sdW1uR3JvdXBbXSA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwcmVkZWZpbmVkRmlsdGVyczogQVhGaWx0ZXJQcmVkZWZpbmVkW10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbW9kZTogJ2NsaWNrJyB8ICdpbW1lZGlhdGUnID0gJ2NsaWNrJztcclxuXHJcbiAgICBzYXZlSXRlbXM6IEFYTWVudUl0ZW1bXSA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdzYXZlQXMnLFxyXG4gICAgICAgICAgICB0ZXh0OiAnU2F2ZScsXHJcbiAgICAgICAgICAgIHN0YXJ0SWNvbjogJ2ZhcyBmYS1zYXZlJyxcclxuICAgICAgICAgICAgaXRlbXM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnc2F2ZScsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ1NhdmUgY3VycmVudCdcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3NhdmVBcycsXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ1NhdmUgYXMgTmV3J1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICBdO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhGaWx0ZXJDb25kaXRpb25bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRmlsdGVyQ29uZGl0aW9uW10+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRvYXN0OiBBWFRvYXN0U2VydmljZSkgeyB9XHJcblxyXG4gICAgYXBwbHkoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgICAgIGUuY2xlYXIoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnByZWRlZmluZWRGaWx0ZXJzLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgIChjIGFzIGFueSkuc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlTWVudSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVmFsdWVDaGFuZ2UoZSkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdpbW1lZGlhdGUnKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTWVudSgpO1xyXG4gICAgICAgICAgICB9LCA1MCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkNoZWNrVmFsdWVDaGFuZ2UodiwgZTogQVhWYWx1ZUV2ZW50PGJvb2xlYW4+KSB7XHJcblxyXG5cclxuICAgICAgICBpZiAoIWUudmFsdWUgJiYgdGhpcy5tb2RlID09PSAnaW1tZWRpYXRlJykge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChjLmZpZWxkID09PSB2LmZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYy5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy52YWx1ZS5maWx0ZXIoYyA9PiBjLmZpZWxkICE9PSB2LmZpZWxkKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcclxuICAgICAgICAgICAgfSwgNTApO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhbHVlKCk6IEFYRmlsdGVyQ29uZGl0aW9uW10ge1xyXG4gICAgICAgIGNvbnN0IGNvbjogQVhGaWx0ZXJDb25kaXRpb25bXSA9IFtdO1xyXG4gICAgICAgIGlmICh0aGlzLmZpbHRlcnMpIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGUuYWN0aXZlICYmIGUuY29uZGl0aW9uICYmICgoZS5jb25kaXRpb24udmFsdWUgIT0gbnVsbCkgfHwgKGUuY29uZGl0aW9uLnZhbHVlID09IG51bGwgJiYgKGUuY29uZGl0aW9uLmNvbmRpdGlvbiA9PT0gJ2lzLWVtcHR5JyB8fCBlLmNvbmRpdGlvbi5jb25kaXRpb24gPT09ICdpcy1ub3QtZW1wdHknKSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uLnB1c2goZS5jb25kaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbjtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHB1YmxpYyBsb2FkKGZpbHRlcnM6IEFYRmlsdGVyQ29uZGl0aW9uW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChlID0+IHtcclxuICAgICAgICAgICAgZS5jbGVhcigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY2FuY2VsU2F2ZUZpbHRlcigpO1xyXG4gICAgICAgIGZpbHRlcnMuZm9yRWFjaChmID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29sID0gdGhpcy5maWx0ZXJzLmZpbmQoYyA9PiBjLmZpZWxkID09PSBmLmZpZWxkKTtcclxuICAgICAgICAgICAgaWYgKGNvbCkge1xyXG4gICAgICAgICAgICAgICAgY29sLnNldEZpbHRlcihmLnZhbHVlLCBmLmNvbmRpdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZm9vdGVyID0gdGhpcy5wYW5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mb290ZXInKTtcclxuICAgICAgICBpZiAoIWZvb3Rlcikge1xyXG4gICAgICAgICAgICB0aGlzLmJvZHkubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnY2FsYygxMDAlIC0gMTEwcHgpJztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByZWRlZmluZWRGaWx0ZXJzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpbHRlckJ5SW5kZXgoMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIHRoaXMuYXBwbHlTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RmlsdGVyQnlJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgZiA9IHRoaXMucHJlZGVmaW5lZEZpbHRlcnNbaW5kZXhdO1xyXG4gICAgICAgIGlmIChmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyQnlOYW1lKGYubmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldEZpbHRlckJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBmID0gdGhpcy5wcmVkZWZpbmVkRmlsdGVycy5maW5kKGMgPT4gYy5uYW1lID09PSBuYW1lKTtcclxuICAgICAgICBpZiAoZikge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWQoZi52YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMucHJlZGVmaW5lZEZpbHRlcnMuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIChjIGFzIGFueSkuc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIChmIGFzIGFueSkuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHJlbW92ZUZpbHRlcihmOiBBWEZpbHRlclByZWRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLnByZWRlZmluZWRGaWx0ZXJzID0gdGhpcy5wcmVkZWZpbmVkRmlsdGVycy5maWx0ZXIoYyA9PiBjLm5hbWUgIT0gZi5uYW1lKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFxyXG4gICAgICAgIGN1cnJlbnRGaWx0ZXIoKTogQVhGaWx0ZXJQcmVkZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkRmlsdGVycy5maW5kKGMgPT4gKGMgYXMgYW55KS5zZWxlY3RlZCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgYXBwbHlTaXplKCkge1xyXG4gICAgICAgIGxldCBoID0gMDtcclxuICAgICAgICBoICs9IHRoaXMuZm9vdGVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICAgIGggKz0gdGhpcy5zYXZlZExpc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XHJcbiAgICAgICAgaCArPSAxMDtcclxuICAgICAgICB0aGlzLmJvZHkubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgY2FsYygxMDAlIC0gJHtofXB4KWA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU0FWRSBGSUxURVJTXHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVNZW51KCk6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVJdGVtc1swXS5pdGVtc1swXS52aXNpYmxlID0gdGhpcy5jdXJyZW50RmlsdGVyICE9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZUl0ZW1zWzBdLml0ZW1zWzFdLnZpc2libGUgPSB0aGlzLmN1cnJlbnRGaWx0ZXIgIT0gbnVsbDtcclxuICAgICAgICAgICAgLy8gdGhpcy5tZW51LnVwZGF0ZSgpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTYXZlRmlsdGVyKCkge1xyXG4gICAgICAgIGNvbnN0IGYgPSB0aGlzLmN1cnJlbnRGaWx0ZXI7XHJcbiAgICAgICAgaWYgKGYpIHtcclxuICAgICAgICAgICAgLy8gVE9ET1xyXG4gICAgICAgICAgICAvLyB0aGlzLnRieE5hbWUudmFsaWRhdGUoKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAvLyAgICAgaWYgKGMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgZi52YWx1ZSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgKGYgYXMgYW55KS5pc0luRWRpdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIChmIGFzIGFueSkuaXNOZXcgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gICAgICAgICBmLnRpdGxlID0gdGhpcy50YnhOYW1lLnZhbHVlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcygnRmlsdGVyIHNhdmVkIHN1Y2Nlc3NmdWxseS4nKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbFNhdmVGaWx0ZXIoKSB7XHJcbiAgICAgICAgY29uc3QgZiA9IHRoaXMuY3VycmVudEZpbHRlcjtcclxuICAgICAgICBpZiAoZikge1xyXG4gICAgICAgICAgICBpZiAoKGYgYXMgYW55KS5pc05ldykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIoZik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAoZiBhcyBhbnkpLmlzSW5FZGl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVNZW51KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25NZW51SXRlbUNsaWNrKGU6IEFYTWVudUl0ZW0pIHtcclxuICAgICAgICBpZiAoZS5uYW1lID09PSAnc2F2ZScpIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVNhdmVGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ3NhdmVBcycpIHtcclxuICAgICAgICAgICAgY29uc3QgZiA9IHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IEFYSHRtbFV0aWwuZ2V0VUlEKCksXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnByZWRlZmluZWRGaWx0ZXJzLnB1c2goZik7XHJcbiAgICAgICAgICAgIChmIGFzIGFueSkuaXNOZXcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlckJ5TmFtZShmLm5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlbmFtZUNsaWNrKGYpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRieE5hbWVPbktleShlOiBBWEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICBpZiAoZS50eXBlID09PSAna2V5dXAnICYmIGUua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlTYXZlRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXl1cCcgJiYgZS5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsU2F2ZUZpbHRlcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVSZW5hbWVDbGljayhmOiBBWEZpbHRlclByZWRlZmluZWQpIHtcclxuICAgICAgICAoZiBhcyBhbnkpLmlzSW5FZGl0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGJ4TmFtZS52YWx1ZSA9IGYudGl0bGU7XHJcbiAgICAgICAgICAgIHRoaXMudGJ4TmFtZS5mb2N1cygpO1xyXG4gICAgICAgIH0sIDUwKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtZmlsdGVyLXBhbmVsXCIgI3BhbmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cInNhdmVkLWxpc3RcIiAjc2F2ZWRMaXN0PlxyXG4gICAgICAgIDxheC1wYW5lbC1ib3ggI2ZiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1oZWFkZXJcIiAoY2xpY2spPVwiZmIudG9nZ2xlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRvb2xiYXItdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWZpbHRlclwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TQVZFRCBGSUxURVJTPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdG9vbGJhci10aXRsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRvb2xiYXItbWVudSAjbWVudSBbaXRlbXNdPVwic2F2ZUl0ZW1zXCIgKG9uSXRlbUNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdG9vbGJhci1tZW51PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXgtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmVkZWZpbmVkRmlsdGVycyAmJiBwcmVkZWZpbmVkRmlsdGVycy5sZW5ndGg7IGVsc2UgZW1wdHlMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmIG9mIHByZWRlZmluZWRGaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWYuaXNJbkVkaXQ7IGVsc2UgZWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT1cInNldEZpbHRlckJ5TmFtZShmLm5hbWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWxpbmVcIiBbY2xhc3Muc2VsZWN0ZWRdPVwiZi5zZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPjxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrXCI+PC9pPiB7e2YudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHNcIj48aSBjbGFzcz1cImZhciBmYS1wZW4gdGV4dC1wcmltYXJ5XCIgdGl0bGU9XCJSZW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlUmVuYW1lQ2xpY2soZilcIj48L2k+Jm5ic3A7PGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXIgZmEtdGltZXMgdGV4dC1kYW5nZXJcIiB0aXRsZT1cIlJlbW92ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVGaWx0ZXIoZilcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VkaXRNb2RlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXRleHQtYm94ICN0YnhOYW1lIHBsYWNlaG9sZGVyPVwiRW50ZXIgZmlsdGVyJ3MgdGl0bGUgaGVyZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25LZXkpPVwidGJ4TmFtZU9uS2V5KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gdGl0bGU9XCJTYXZlXCIgdHlwZT1cInByaW1hcnlcIiAob25DbGljayk9XCJhcHBseVNhdmVGaWx0ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIHRpdGxlPVwiQ2FuY2VsXCIgdHlwZT1cImRhbmdlclwiIChvbkNsaWNrKT1cImNhbmNlbFNhdmVGaWx0ZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHR5cGU9XCJyZXF1aXJlZFwiIG1lc3NhZ2U9XCJ0aGlzIGZpZWxkIGlzIHJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uLXJ1bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlMaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEVtcHR5XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2F4LXBhbmVsLWJveD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImJvZHlcIiAjYm9keT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBnIG9mIGdyb3Vwc1wiPlxyXG4gICAgICAgICAgICA8YXgtcGFuZWwtYm94ICNmYj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1oZWFkZXJcIiAqbmdJZj1cImcuY2FwdGlvblwiIChjbGljayk9XCJmYi50b2dnbGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmFyIGZhLW1pbnVzLXNxdWFyZScgOiAhZmIuY29sbGFwc2VkICwnZmFzIGZhLXBsdXMtc3F1YXJlJyA6IGZiLmNvbGxhcHNlZCB9XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2cuY2FwdGlvbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGMgb2YgZy5jb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZpbHRlci1pdGVtLWhlYWRlclwiIFtzdHlsZS5tYXJnaW4tYm90dG9tLnB4XT1cImMuYWN0aXZlID8gMCA6IDJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveCAob25WYWx1ZUNoYW5nZWQpPVwib25DaGVja1ZhbHVlQ2hhbmdlKGMsJGV2ZW50KVwiIFtsYWJlbF09XCJjLmNhcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYy5hY3RpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1jaGVjay1ib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbaGlkZGVuXT1cIiFjLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjLnR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3Rpb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWZpbHRlci1jb2x1bW4tc2VsZWN0aW9uICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiBbZmllbGRdPVwiYy5maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoYWN0aXZlKV09XCJjLmFjdGl2ZVwiIFttb2RlXT1cImMub3B0aW9ucy5tb2RlXCIgW2l0ZW1zXT1cImMub3B0aW9ucy5pdGVtc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhVHlwZV09XCJjLm9wdGlvbnMuZGF0YVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWZpbHRlci1jb2x1bW4tc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtZmlsdGVyLWNvbHVtbi1kYXRlICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiBbZmllbGRdPVwiYy5maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoYWN0aXZlKV09XCJjLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZmlsdGVyLWNvbHVtbi1kYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1maWx0ZXItY29sdW1uLW51bWJlciAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2ZpZWxkXT1cImMuZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGFjdGl2ZSldPVwiYy5hY3RpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWZpbHRlci1jb2x1bW4tbnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWZpbHRlci1jb2x1bW4tc3RyaW5nICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiBbZmllbGRdPVwiYy5maWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoYWN0aXZlKV09XCJjLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZmlsdGVyLWNvbHVtbi1zdHJpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9heC1wYW5lbC1ib3g+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwibW9kZT09J2NsaWNrJ1wiIGNsYXNzPVwiZm9vdGVyXCIgI2Zvb3Rlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBhbmVsXCI+XHJcbiAgICAgICAgICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwiYXBwbHkoKVwiIHR5cGU9XCJzdWNjZXNzXCIgc2l6ZT1cInNtXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1maWx0ZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICBBcHBseSBGaWx0ZXJcclxuICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwiY2xlYXIoKTtcIiB0eXBlPVwibGlnaHQgXCIgc2l6ZT1cInNtXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1lcmFzZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICBDbGVhclxyXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
1
|
+
import { Component, Input, ViewChild, ViewChildren, QueryList, ViewEncapsulation, ChangeDetectionStrategy, Output, EventEmitter, ChangeDetectorRef, ElementRef } from '@angular/core';
|
2
|
+
import { AXFilterColumnComponent } from '../filter.class';
|
3
|
+
import { AXHtmlUtil } from '@acorex/core';
|
4
|
+
import { AXMenuComponent } from '../../menu/menu.component';
|
5
|
+
import { AXTextBoxComponent } from '../../textbox/textbox.component';
|
6
|
+
import { AXToastService } from '../../toast/toast.service';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "../../toast/toast.service";
|
9
|
+
import * as i2 from "../../panel-box/panel-box.component";
|
10
|
+
import * as i3 from "../../toolbar/toolbar.component";
|
11
|
+
import * as i4 from "../../toolbar/title/toolbar-title.component";
|
12
|
+
import * as i5 from "../../toolbar/menu/toolbar-menu.component";
|
13
|
+
import * as i6 from "../../textbox/textbox.component";
|
14
|
+
import * as i7 from "../../button/button.component";
|
15
|
+
import * as i8 from "../../validation/validation.component";
|
16
|
+
import * as i9 from "../../validation/validation-rule.widget";
|
17
|
+
import * as i10 from "../../checkbox/checkbox.component";
|
18
|
+
import * as i11 from "../columns/filter-column-selection.component";
|
19
|
+
import * as i12 from "../columns/filter-column-date.component";
|
20
|
+
import * as i13 from "../columns/filter-column-number.component";
|
21
|
+
import * as i14 from "../columns/filter-column-string.component";
|
22
|
+
import * as i15 from "@angular/common";
|
23
|
+
export class AXFilterPanelComponent {
|
24
|
+
constructor(cdr, toast) {
|
25
|
+
this.cdr = cdr;
|
26
|
+
this.toast = toast;
|
27
|
+
this.groups = [];
|
28
|
+
this.predefinedFilters = [];
|
29
|
+
this.mode = 'click';
|
30
|
+
this.saveItems = [
|
31
|
+
{
|
32
|
+
name: 'saveAs',
|
33
|
+
text: 'Save',
|
34
|
+
startIcon: 'fas fa-save',
|
35
|
+
items: [
|
36
|
+
{
|
37
|
+
name: 'save',
|
38
|
+
text: 'Save current'
|
39
|
+
},
|
40
|
+
{
|
41
|
+
name: 'saveAs',
|
42
|
+
text: 'Save as New'
|
43
|
+
}
|
44
|
+
]
|
45
|
+
},
|
46
|
+
];
|
47
|
+
this.filterChange = new EventEmitter();
|
48
|
+
}
|
49
|
+
apply() {
|
50
|
+
this.filterChange.emit(this.value);
|
51
|
+
this.updateMenu();
|
52
|
+
}
|
53
|
+
clear() {
|
54
|
+
this.filters.forEach(e => {
|
55
|
+
e.clear();
|
56
|
+
});
|
57
|
+
this.predefinedFilters.forEach(c => {
|
58
|
+
c.selected = false;
|
59
|
+
});
|
60
|
+
this.filterChange.emit(this.value);
|
61
|
+
this.updateMenu();
|
62
|
+
}
|
63
|
+
onValueChange(e) {
|
64
|
+
if (this.mode === 'immediate') {
|
65
|
+
setTimeout(() => {
|
66
|
+
this.filterChange.emit(this.value);
|
67
|
+
this.updateMenu();
|
68
|
+
}, 50);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
onCheckValueChange(v, e) {
|
72
|
+
if (!e.value && this.mode === 'immediate') {
|
73
|
+
this.filters.forEach(c => {
|
74
|
+
if (c.field === v.field) {
|
75
|
+
c.clear();
|
76
|
+
}
|
77
|
+
});
|
78
|
+
setTimeout(() => {
|
79
|
+
this.filterChange.emit(this.value.filter(c => c.field !== v.field));
|
80
|
+
this.updateMenu();
|
81
|
+
}, 50);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
get value() {
|
85
|
+
const con = [];
|
86
|
+
if (this.filters) {
|
87
|
+
this.filters.forEach(e => {
|
88
|
+
if (e.active && e.condition && ((e.condition.value != null) || (e.condition.value == null && (e.condition.condition === 'is-empty' || e.condition.condition === 'is-not-empty')))) {
|
89
|
+
con.push(e.condition);
|
90
|
+
}
|
91
|
+
});
|
92
|
+
}
|
93
|
+
return con;
|
94
|
+
}
|
95
|
+
load(filters) {
|
96
|
+
this.filters.forEach(e => {
|
97
|
+
e.clear();
|
98
|
+
});
|
99
|
+
this.cancelSaveFilter();
|
100
|
+
filters.forEach(f => {
|
101
|
+
const col = this.filters.find(c => c.field === f.field);
|
102
|
+
if (col) {
|
103
|
+
col.setFilter(f.value, f.condition);
|
104
|
+
}
|
105
|
+
});
|
106
|
+
this.filterChange.emit(this.value);
|
107
|
+
this.updateMenu();
|
108
|
+
}
|
109
|
+
ngAfterViewInit() {
|
110
|
+
const footer = this.panel.nativeElement.querySelector('.footer');
|
111
|
+
if (!footer) {
|
112
|
+
this.body.nativeElement.style.height = 'calc(100% - 110px)';
|
113
|
+
}
|
114
|
+
setTimeout(() => {
|
115
|
+
if (this.predefinedFilters) {
|
116
|
+
this.setFilterByIndex(0);
|
117
|
+
}
|
118
|
+
else {
|
119
|
+
this.clear();
|
120
|
+
}
|
121
|
+
}, 100);
|
122
|
+
this.applySize();
|
123
|
+
}
|
124
|
+
setFilterByIndex(index) {
|
125
|
+
const f = this.predefinedFilters[index];
|
126
|
+
if (f) {
|
127
|
+
this.setFilterByName(f.name);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
setFilterByName(name) {
|
131
|
+
const f = this.predefinedFilters.find(c => c.name === name);
|
132
|
+
if (f) {
|
133
|
+
this.load(f.value);
|
134
|
+
this.predefinedFilters.forEach(c => {
|
135
|
+
c.selected = false;
|
136
|
+
});
|
137
|
+
f.selected = true;
|
138
|
+
}
|
139
|
+
}
|
140
|
+
removeFilter(f) {
|
141
|
+
this.predefinedFilters = this.predefinedFilters.filter(c => c.name != f.name);
|
142
|
+
this.updateMenu();
|
143
|
+
}
|
144
|
+
get currentFilter() {
|
145
|
+
return this.predefinedFilters.find(c => c.selected);
|
146
|
+
}
|
147
|
+
applySize() {
|
148
|
+
let h = 0;
|
149
|
+
h += this.footer.nativeElement.getBoundingClientRect().height;
|
150
|
+
h += this.savedList.nativeElement.getBoundingClientRect().height;
|
151
|
+
h += 10;
|
152
|
+
this.body.nativeElement.style.height = `calc(100% - ${h}px)`;
|
153
|
+
}
|
154
|
+
// SAVE FILTERS
|
155
|
+
updateMenu() {
|
156
|
+
setTimeout(() => {
|
157
|
+
this.saveItems[0].items[0].visible = this.currentFilter != null;
|
158
|
+
this.saveItems[0].items[1].visible = this.currentFilter != null;
|
159
|
+
// this.menu.update();
|
160
|
+
}, 100);
|
161
|
+
}
|
162
|
+
applySaveFilter() {
|
163
|
+
const f = this.currentFilter;
|
164
|
+
if (f) {
|
165
|
+
// TODO
|
166
|
+
// this.tbxName.validate().then(c => {
|
167
|
+
// if (c.result) {
|
168
|
+
// f.value = this.value;
|
169
|
+
// (f as any).isInEdit = false;
|
170
|
+
// (f as any).isNew = false;
|
171
|
+
// f.title = this.tbxName.value;
|
172
|
+
// this.toast.success('Filter saved successfully.');
|
173
|
+
// this.updateMenu();
|
174
|
+
// }
|
175
|
+
// });
|
176
|
+
}
|
177
|
+
}
|
178
|
+
cancelSaveFilter() {
|
179
|
+
const f = this.currentFilter;
|
180
|
+
if (f) {
|
181
|
+
if (f.isNew) {
|
182
|
+
this.removeFilter(f);
|
183
|
+
}
|
184
|
+
else {
|
185
|
+
f.isInEdit = false;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
this.updateMenu();
|
189
|
+
}
|
190
|
+
onMenuItemClick(e) {
|
191
|
+
if (e.name === 'save') {
|
192
|
+
this.applySaveFilter();
|
193
|
+
}
|
194
|
+
if (e.name === 'saveAs') {
|
195
|
+
const f = {
|
196
|
+
name: AXHtmlUtil.getUID(),
|
197
|
+
title: '',
|
198
|
+
value: this.value
|
199
|
+
};
|
200
|
+
this.predefinedFilters.push(f);
|
201
|
+
f.isNew = true;
|
202
|
+
this.setFilterByName(f.name);
|
203
|
+
this.handleRenameClick(f);
|
204
|
+
}
|
205
|
+
}
|
206
|
+
tbxNameOnKey(e) {
|
207
|
+
if (e.type === 'keyup' && e.key === 'Enter') {
|
208
|
+
this.applySaveFilter();
|
209
|
+
}
|
210
|
+
if (e.type === 'keyup' && e.key === 'Escape') {
|
211
|
+
this.cancelSaveFilter();
|
212
|
+
}
|
213
|
+
}
|
214
|
+
handleRenameClick(f) {
|
215
|
+
f.isInEdit = true;
|
216
|
+
this.cdr.detectChanges();
|
217
|
+
setTimeout(() => {
|
218
|
+
this.tbxName.value = f.title;
|
219
|
+
this.tbxName.focus();
|
220
|
+
}, 50);
|
221
|
+
}
|
222
|
+
}
|
223
|
+
AXFilterPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXFilterPanelComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
|
224
|
+
AXFilterPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXFilterPanelComponent, selector: "ax-filter-panel", inputs: { groups: "groups", predefinedFilters: "predefinedFilters", mode: "mode" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true, static: true }, { propertyName: "footer", first: true, predicate: ["footer"], descendants: true, static: true }, { propertyName: "savedList", first: true, predicate: ["savedList"], descendants: true, static: true }, { propertyName: "body", first: true, predicate: ["body"], descendants: true, static: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }, { propertyName: "tbxName", first: true, predicate: ["tbxName"], descendants: true, static: true }, { propertyName: "filters", predicate: AXFilterColumnComponent, descendants: true }], ngImport: i0, template: "<div class=\"ax-filter-panel\" #panel>\n <div class=\"saved-list\" #savedList>\n <ax-panel-box #fb>\n <ng-template #header>\n <div class=\"group-header\" (click)=\"fb.toggle()\">\n <ax-toolbar>\n <ax-toolbar-title>\n <div>\n <i class=\"far fa-filter\"></i>\n <span>SAVED FILTERS</span>\n </div>\n </ax-toolbar-title>\n <ax-toolbar-menu #menu [items]=\"saveItems\" (onItemClick)=\"onMenuItemClick($event)\">\n </ax-toolbar-menu>\n </ax-toolbar>\n </div>\n </ng-template>\n\n <div class=\"list\">\n <ng-container *ngIf=\"predefinedFilters && predefinedFilters.length; else emptyList\">\n <ul>\n <ng-container *ngFor=\"let f of predefinedFilters\">\n <ng-container *ngIf=\"!f.isInEdit; else editMode\">\n <li (click)=\"setFilterByName(f.name)\">\n <div class=\"item-line\" [class.selected]=\"f.selected\">\n <span class=\"title\"><i class=\"far fa-check\"></i> {{f.title}}</span>\n <span class=\"tools\"><i class=\"far fa-pen text-primary\" title=\"Rename\"\n (click)=\"handleRenameClick(f)\"></i> <i\n class=\"far fa-times text-danger\" title=\"Remove\"\n (click)=\"removeFilter(f)\"></i></span>\n </div>\n </li>\n </ng-container>\n <ng-template #editMode>\n <li>\n <ax-text-box #tbxName placeholder=\"Enter filter's title here\"\n (onKey)=\"tbxNameOnKey($event)\">\n <ax-button title=\"Save\" type=\"primary\" (onClick)=\"applySaveFilter()\">\n <i class=\"far fa-check\"></i>\n </ax-button>\n <ax-button title=\"Cancel\" type=\"danger\" (onClick)=\"cancelSaveFilter()\">\n <i class=\"far fa-times\"></i>\n </ax-button>\n <ax-validation>\n <ax-validation-rule type=\"required\" message=\"this field is required\">\n </ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n </ng-container>\n <ng-template #emptyList>\n <div class=\"empty-list\">\n Empty\n </div>\n </ng-template>\n </div>\n </ax-panel-box>\n </div>\n <div class=\"body\" #body>\n <ng-container *ngFor=\"let g of groups\">\n <ax-panel-box #fb>\n <ng-template #header>\n <div class=\"group-header\" *ngIf=\"g.caption\" (click)=\"fb.toggle()\">\n <i\n [ngClass]=\"{ 'far fa-minus-square' : !fb.collapsed ,'fas fa-plus-square' : fb.collapsed }\"></i>\n <span>{{g.caption}}</span>\n </div>\n </ng-template>\n <ng-container *ngFor=\"let c of g.columns\">\n <div class=\"ax-filter-item-header\" [style.margin-bottom.px]=\"c.active ? 0 : 2\">\n <ax-check-box (onValueChanged)=\"onCheckValueChange(c,$event)\" [label]=\"c.caption\"\n [(value)]=\"c.active\">\n </ax-check-box>\n </div>\n <div [hidden]=\"!c.active\">\n <ng-container [ngSwitch]=\"c.type\">\n <ng-container *ngSwitchCase=\"'selection'\">\n <ax-filter-column-selection (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\" [mode]=\"c.options.mode\" [items]=\"c.options.items\"\n [dataType]=\"c.options.dataType\">\n </ax-filter-column-selection>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <ax-filter-column-date (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\">\n </ax-filter-column-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <ax-filter-column-number (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\">\n </ax-filter-column-number>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ax-filter-column-string (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\">\n </ax-filter-column-string>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ax-panel-box>\n </ng-container>\n </div>\n\n <div *ngIf=\"mode=='click'\" class=\"footer\" #footer>\n <div class=\"filter-panel\">\n <ax-button (onClick)=\"apply()\" type=\"success\" size=\"sm\">\n <i class=\"far fa-filter\"></i>\n Apply Filter\n </ax-button>\n <ax-button (onClick)=\"clear();\" type=\"light \" size=\"sm\">\n <i class=\"far fa-eraser\"></i>\n Clear\n </ax-button>\n </div>\n </div>\n</div>", styles: [".ax-filter-panel{padding:2px;position:relative;height:100%;font-size:var(--font-md-size)}.ax-filter-panel .empty-list{text-align:center;padding:var(--sp-sm-size);color:var(--gray)}.ax-filter-panel .saved-list{border-bottom:1px solid var(--border-color)}.ax-filter-panel .saved-list .list ul{list-style-type:none;display:flex;flex-direction:column;padding:0;margin-bottom:var(--sp-md-size)}.ax-filter-panel .saved-list .list ul li .item-line{cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.ax-filter-panel .saved-list .list ul li .item-line .title i{opacity:.1}.ax-filter-panel .saved-list .list ul li .item-line .tools{display:inline}.ax-filter-panel .saved-list .list ul li .item-line .tools i{opacity:.2;cursor:pointer}.ax-filter-panel .saved-list .list ul li .item-line .tools i:hover{opacity:1}.ax-filter-panel .saved-list .list ul li .item-line.selected{font-weight:700}.ax-filter-panel .saved-list .list ul li .item-line.selected .title i{opacity:1}.ax-filter-panel .body{overflow-y:auto;overflow-x:hidden;height:calc(100% - 150px)}.ax-filter-panel .body .form-inline{justify-content:space-between}.ax-filter-panel .group-header{background:var(--white-color);display:flex;align-items:center;padding:var(--sp-sm-size) var(--sp-md-size);border-bottom:1px solid var(--border-color);background:var(--gray-dark-color);color:var(--gray-dark)}.ax-filter-panel .group-header i{margin-right:var(--sp-sm-size)}.ax-filter-panel .ax-filter-item-header{height:var(--el-md-size);display:flex;align-items:center}.ax-filter-panel .footer{width:100%;position:absolute;background-color:var(--white-color);bottom:0;padding:var(--sp-sm-size);border-top:1px solid var(--border-color)}.ax-filter-panel .footer .filter-panel{display:flex;align-items:center}.ax-filter-panel .footer .filter-panel ax-button{margin:0 2px}.ax-filter-panel .ax-filter-section{padding:var(--sp-md-size) var(--sp-lg-size);display:flex;justify-content:space-between;align-items:center}.ax-filter-panel .ax-filter-section>div{flex:1}.ax-filter-panel .ax-filter-section-value{padding:0px var(--sp-md-size) var(--sp-md-size) var(--sp-md-size);display:flex;justify-content:space-between;align-items:center}.ax-filter-panel .ax-filter-section-value>*{margin:0 3px}\n"], components: [{ type: i2.AXPanelBoxComponent, selector: "ax-panel-box", inputs: ["size", "type", "caption", "collapsed", "allowCollapse"], outputs: ["collapsedChange"] }, { type: i3.AXToolbarComponent, selector: "ax-toolbar" }, { type: i4.AXToolbarTitleComponent, selector: "ax-toolbar-title", inputs: ["text"] }, { type: i5.AXToolbarMenuComponent, selector: "ax-toolbar-menu", inputs: ["menuTemplate", "selection", "items"], outputs: ["onItemClick"] }, { type: i6.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i7.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { type: i8.AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }, { type: i9.AXValidationRuleComponent, selector: "ax-validation-rule", inputs: ["type", "message", "value", "enabled"] }, { type: i10.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { type: i11.AXFilterColumnSelectionComponent, selector: "ax-filter-column-selection", inputs: ["items", "mode", "dataType"] }, { type: i12.AXFilterColumnDateComponent, selector: "ax-filter-column-date" }, { type: i13.AXFilterColumnNumberComponent, selector: "ax-filter-column-number" }, { type: i14.AXFilterColumnStringComponent, selector: "ax-filter-column-string" }], directives: [{ type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i15.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i15.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i15.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i15.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXFilterPanelComponent, decorators: [{
|
226
|
+
type: Component,
|
227
|
+
args: [{ selector: 'ax-filter-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-filter-panel\" #panel>\n <div class=\"saved-list\" #savedList>\n <ax-panel-box #fb>\n <ng-template #header>\n <div class=\"group-header\" (click)=\"fb.toggle()\">\n <ax-toolbar>\n <ax-toolbar-title>\n <div>\n <i class=\"far fa-filter\"></i>\n <span>SAVED FILTERS</span>\n </div>\n </ax-toolbar-title>\n <ax-toolbar-menu #menu [items]=\"saveItems\" (onItemClick)=\"onMenuItemClick($event)\">\n </ax-toolbar-menu>\n </ax-toolbar>\n </div>\n </ng-template>\n\n <div class=\"list\">\n <ng-container *ngIf=\"predefinedFilters && predefinedFilters.length; else emptyList\">\n <ul>\n <ng-container *ngFor=\"let f of predefinedFilters\">\n <ng-container *ngIf=\"!f.isInEdit; else editMode\">\n <li (click)=\"setFilterByName(f.name)\">\n <div class=\"item-line\" [class.selected]=\"f.selected\">\n <span class=\"title\"><i class=\"far fa-check\"></i> {{f.title}}</span>\n <span class=\"tools\"><i class=\"far fa-pen text-primary\" title=\"Rename\"\n (click)=\"handleRenameClick(f)\"></i> <i\n class=\"far fa-times text-danger\" title=\"Remove\"\n (click)=\"removeFilter(f)\"></i></span>\n </div>\n </li>\n </ng-container>\n <ng-template #editMode>\n <li>\n <ax-text-box #tbxName placeholder=\"Enter filter's title here\"\n (onKey)=\"tbxNameOnKey($event)\">\n <ax-button title=\"Save\" type=\"primary\" (onClick)=\"applySaveFilter()\">\n <i class=\"far fa-check\"></i>\n </ax-button>\n <ax-button title=\"Cancel\" type=\"danger\" (onClick)=\"cancelSaveFilter()\">\n <i class=\"far fa-times\"></i>\n </ax-button>\n <ax-validation>\n <ax-validation-rule type=\"required\" message=\"this field is required\">\n </ax-validation-rule>\n </ax-validation>\n </ax-text-box>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n </ng-container>\n <ng-template #emptyList>\n <div class=\"empty-list\">\n Empty\n </div>\n </ng-template>\n </div>\n </ax-panel-box>\n </div>\n <div class=\"body\" #body>\n <ng-container *ngFor=\"let g of groups\">\n <ax-panel-box #fb>\n <ng-template #header>\n <div class=\"group-header\" *ngIf=\"g.caption\" (click)=\"fb.toggle()\">\n <i\n [ngClass]=\"{ 'far fa-minus-square' : !fb.collapsed ,'fas fa-plus-square' : fb.collapsed }\"></i>\n <span>{{g.caption}}</span>\n </div>\n </ng-template>\n <ng-container *ngFor=\"let c of g.columns\">\n <div class=\"ax-filter-item-header\" [style.margin-bottom.px]=\"c.active ? 0 : 2\">\n <ax-check-box (onValueChanged)=\"onCheckValueChange(c,$event)\" [label]=\"c.caption\"\n [(value)]=\"c.active\">\n </ax-check-box>\n </div>\n <div [hidden]=\"!c.active\">\n <ng-container [ngSwitch]=\"c.type\">\n <ng-container *ngSwitchCase=\"'selection'\">\n <ax-filter-column-selection (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\" [mode]=\"c.options.mode\" [items]=\"c.options.items\"\n [dataType]=\"c.options.dataType\">\n </ax-filter-column-selection>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <ax-filter-column-date (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\">\n </ax-filter-column-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <ax-filter-column-number (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\">\n </ax-filter-column-number>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ax-filter-column-string (valueChange)=\"onValueChange($event)\" [field]=\"c.field\"\n [(active)]=\"c.active\">\n </ax-filter-column-string>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ax-panel-box>\n </ng-container>\n </div>\n\n <div *ngIf=\"mode=='click'\" class=\"footer\" #footer>\n <div class=\"filter-panel\">\n <ax-button (onClick)=\"apply()\" type=\"success\" size=\"sm\">\n <i class=\"far fa-filter\"></i>\n Apply Filter\n </ax-button>\n <ax-button (onClick)=\"clear();\" type=\"light \" size=\"sm\">\n <i class=\"far fa-eraser\"></i>\n Clear\n </ax-button>\n </div>\n </div>\n</div>", styles: [".ax-filter-panel{padding:2px;position:relative;height:100%;font-size:var(--font-md-size)}.ax-filter-panel .empty-list{text-align:center;padding:var(--sp-sm-size);color:var(--gray)}.ax-filter-panel .saved-list{border-bottom:1px solid var(--border-color)}.ax-filter-panel .saved-list .list ul{list-style-type:none;display:flex;flex-direction:column;padding:0;margin-bottom:var(--sp-md-size)}.ax-filter-panel .saved-list .list ul li .item-line{cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.ax-filter-panel .saved-list .list ul li .item-line .title i{opacity:.1}.ax-filter-panel .saved-list .list ul li .item-line .tools{display:inline}.ax-filter-panel .saved-list .list ul li .item-line .tools i{opacity:.2;cursor:pointer}.ax-filter-panel .saved-list .list ul li .item-line .tools i:hover{opacity:1}.ax-filter-panel .saved-list .list ul li .item-line.selected{font-weight:700}.ax-filter-panel .saved-list .list ul li .item-line.selected .title i{opacity:1}.ax-filter-panel .body{overflow-y:auto;overflow-x:hidden;height:calc(100% - 150px)}.ax-filter-panel .body .form-inline{justify-content:space-between}.ax-filter-panel .group-header{background:var(--white-color);display:flex;align-items:center;padding:var(--sp-sm-size) var(--sp-md-size);border-bottom:1px solid var(--border-color);background:var(--gray-dark-color);color:var(--gray-dark)}.ax-filter-panel .group-header i{margin-right:var(--sp-sm-size)}.ax-filter-panel .ax-filter-item-header{height:var(--el-md-size);display:flex;align-items:center}.ax-filter-panel .footer{width:100%;position:absolute;background-color:var(--white-color);bottom:0;padding:var(--sp-sm-size);border-top:1px solid var(--border-color)}.ax-filter-panel .footer .filter-panel{display:flex;align-items:center}.ax-filter-panel .footer .filter-panel ax-button{margin:0 2px}.ax-filter-panel .ax-filter-section{padding:var(--sp-md-size) var(--sp-lg-size);display:flex;justify-content:space-between;align-items:center}.ax-filter-panel .ax-filter-section>div{flex:1}.ax-filter-panel .ax-filter-section-value{padding:0px var(--sp-md-size) var(--sp-md-size) var(--sp-md-size);display:flex;justify-content:space-between;align-items:center}.ax-filter-panel .ax-filter-section-value>*{margin:0 3px}\n"] }]
|
228
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AXToastService }]; }, propDecorators: { panel: [{
|
229
|
+
type: ViewChild,
|
230
|
+
args: ['panel', { static: true }]
|
231
|
+
}], footer: [{
|
232
|
+
type: ViewChild,
|
233
|
+
args: ['footer', { static: true }]
|
234
|
+
}], savedList: [{
|
235
|
+
type: ViewChild,
|
236
|
+
args: ['savedList', { static: true }]
|
237
|
+
}], body: [{
|
238
|
+
type: ViewChild,
|
239
|
+
args: ['body', { static: true }]
|
240
|
+
}], menu: [{
|
241
|
+
type: ViewChild,
|
242
|
+
args: ['menu', { static: false }]
|
243
|
+
}], tbxName: [{
|
244
|
+
type: ViewChild,
|
245
|
+
args: ['tbxName', { static: true }]
|
246
|
+
}], filters: [{
|
247
|
+
type: ViewChildren,
|
248
|
+
args: [AXFilterColumnComponent]
|
249
|
+
}], groups: [{
|
250
|
+
type: Input
|
251
|
+
}], predefinedFilters: [{
|
252
|
+
type: Input
|
253
|
+
}], mode: [{
|
254
|
+
type: Input
|
255
|
+
}], filterChange: [{
|
256
|
+
type: Output
|
257
|
+
}] } });
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvZGF0YS1maWx0ZXIvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGEtZmlsdGVyL2ZpbHRlci1wYW5lbC9maWx0ZXItcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3hNLE9BQU8sRUFBdUIsdUJBQXVCLEVBQXlDLE1BQU0saUJBQWlCLENBQUM7QUFDdEgsT0FBTyxFQUFjLFVBQVUsRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhM0QsTUFBTSxPQUFPLHNCQUFzQjtJQTBDL0IsWUFBb0IsR0FBc0IsRUFBVSxLQUFxQjtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBOUJ6RSxXQUFNLEdBQTBCLEVBQUUsQ0FBQztRQUduQyxzQkFBaUIsR0FBeUIsRUFBRSxDQUFDO1FBRzdDLFNBQUksR0FBMEIsT0FBTyxDQUFDO1FBRXRDLGNB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QUdyQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkF1Qk4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRmlsdGVyQ29sdW1uR3JvdXAsIEFYRmlsdGVyQ29sdW1uQ29tcG9uZW50LCBBWEZpbHRlckNvbmRpdGlvbiwgQVhGaWx0ZXJQcmVkZWZpbmVkIH0gZnJvbSAnLi4vZmlsdGVyLmNsYXNzJztcbmltcG9ydCB7IEFYTWVudUl0ZW0sIEFYSHRtbFV0aWwsIEFYS2V5Ym9hcmRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBBWE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEFYVmFsdWVFdmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcblxuXG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC1maWx0ZXItcGFuZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbHRlci1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQVhGaWx0ZXJQYW5lbENvbXBvbmVudCB7XG5cbiAgICBAVmlld0NoaWxkKCdwYW5lbCcsIHsgc3RhdGljOiB0cnVlIH0pIHBhbmVsOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdmb290ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb290ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3NhdmVkTGlzdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNhdmVkTGlzdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgnYm9keScsIHsgc3RhdGljOiB0cnVlIH0pIGJvZHk6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ21lbnUnLCB7IHN0YXRpYzogZmFsc2UgfSkgbWVudTogQVhNZW51Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3RieE5hbWUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YnhOYW1lOiBBWFRleHRCb3hDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkcmVuKEFYRmlsdGVyQ29sdW1uQ29tcG9uZW50KSBmaWx0ZXJzOiBRdWVyeUxpc3Q8QVhGaWx0ZXJDb2x1bW5Db21wb25lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBncm91cHM6IEFYRmlsdGVyQ29sdW1uR3JvdXBbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwcmVkZWZpbmVkRmlsdGVyczogQVhGaWx0ZXJQcmVkZWZpbmVkW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbW9kZTogJ2NsaWNrJyB8ICdpbW1lZGlhdGUnID0gJ2NsaWNrJztcblxuICAgIHNhdmVJdGVtczogQVhNZW51SXRlbVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc2F2ZUFzJyxcbiAgICAgICAgICAgIHRleHQ6ICdTYXZlJyxcbiAgICAgICAgICAgIHN0YXJ0SWNvbjogJ2ZhcyBmYS1zYXZlJyxcbiAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnc2F2ZScsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICdTYXZlIGN1cnJlbnQnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdzYXZlQXMnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnU2F2ZSBhcyBOZXcnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuXG4gICAgXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPEFYRmlsdGVyQ29uZGl0aW9uW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEZpbHRlckNvbmRpdGlvbltdPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRvYXN0OiBBWFRvYXN0U2VydmljZSkgeyB9XG5cbiAgICBhcHBseSgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVNZW51KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChlID0+IHtcbiAgICAgICAgICAgIGUuY2xlYXIoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJlZGVmaW5lZEZpbHRlcnMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgIChjIGFzIGFueSkuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlTWVudSgpO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UoZSkge1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSAnaW1tZWRpYXRlJykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcbiAgICAgICAgICAgIH0sIDUwKTtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGVja1ZhbHVlQ2hhbmdlKHYsIGU6IEFYVmFsdWVFdmVudDxib29sZWFuPikge1xuXG5cbiAgICAgICAgaWYgKCFlLnZhbHVlICYmIHRoaXMubW9kZSA9PT0gJ2ltbWVkaWF0ZScpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjLmZpZWxkID09PSB2LmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGMuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlLmZpbHRlcihjID0+IGMuZmllbGQgIT09IHYuZmllbGQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcbiAgICAgICAgICAgIH0sIDUwKTtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IEFYRmlsdGVyQ29uZGl0aW9uW10ge1xuICAgICAgICBjb25zdCBjb246IEFYRmlsdGVyQ29uZGl0aW9uW10gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVycykge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZSA9PiB7XG5cbiAgICAgICAgICAgICAgICBpZiAoZS5hY3RpdmUgJiYgZS5jb25kaXRpb24gJiYgKChlLmNvbmRpdGlvbi52YWx1ZSAhPSBudWxsKSB8fCAoZS5jb25kaXRpb24udmFsdWUgPT0gbnVsbCAmJiAoZS5jb25kaXRpb24uY29uZGl0aW9uID09PSAnaXMtZW1wdHknIHx8IGUuY29uZGl0aW9uLmNvbmRpdGlvbiA9PT0gJ2lzLW5vdC1lbXB0eScpKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uLnB1c2goZS5jb25kaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb247XG4gICAgfVxuXG5cblxuICAgIHB1YmxpYyBsb2FkKGZpbHRlcnM6IEFYRmlsdGVyQ29uZGl0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZSA9PiB7XG4gICAgICAgICAgICBlLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhbmNlbFNhdmVGaWx0ZXIoKTtcbiAgICAgICAgZmlsdGVycy5mb3JFYWNoKGYgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29sID0gdGhpcy5maWx0ZXJzLmZpbmQoYyA9PiBjLmZpZWxkID09PSBmLmZpZWxkKTtcbiAgICAgICAgICAgIGlmIChjb2wpIHtcbiAgICAgICAgICAgICAgICBjb2wuc2V0RmlsdGVyKGYudmFsdWUsIGYuY29uZGl0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVNZW51KCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmb290ZXIgPSB0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvb3RlcicpO1xuICAgICAgICBpZiAoIWZvb3Rlcikge1xuICAgICAgICAgICAgdGhpcy5ib2R5Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2NhbGMoMTAwJSAtIDExMHB4KSc7XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmVkZWZpbmVkRmlsdGVycykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlsdGVyQnlJbmRleCgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgdGhpcy5hcHBseVNpemUoKTtcbiAgICB9XG5cbiAgICBzZXRGaWx0ZXJCeUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgZiA9IHRoaXMucHJlZGVmaW5lZEZpbHRlcnNbaW5kZXhdO1xuICAgICAgICBpZiAoZikge1xuICAgICAgICAgICAgdGhpcy5zZXRGaWx0ZXJCeU5hbWUoZi5uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEZpbHRlckJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZiA9IHRoaXMucHJlZGVmaW5lZEZpbHRlcnMuZmluZChjID0+IGMubmFtZSA9PT0gbmFtZSk7XG4gICAgICAgIGlmIChmKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWQoZi52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnByZWRlZmluZWRGaWx0ZXJzLmZvckVhY2goYyA9PiB7XG4gICAgICAgICAgICAgICAgKGMgYXMgYW55KS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAoZiBhcyBhbnkpLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICByZW1vdmVGaWx0ZXIoZjogQVhGaWx0ZXJQcmVkZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucHJlZGVmaW5lZEZpbHRlcnMgPSB0aGlzLnByZWRlZmluZWRGaWx0ZXJzLmZpbHRlcihjID0+IGMubmFtZSAhPSBmLm5hbWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1lbnUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFxuICAgICAgICBjdXJyZW50RmlsdGVyKCk6IEFYRmlsdGVyUHJlZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRGaWx0ZXJzLmZpbmQoYyA9PiAoYyBhcyBhbnkpLnNlbGVjdGVkKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgYXBwbHlTaXplKCkge1xuICAgICAgICBsZXQgaCA9IDA7XG4gICAgICAgIGggKz0gdGhpcy5mb290ZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgIGggKz0gdGhpcy5zYXZlZExpc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICAgIGggKz0gMTA7XG4gICAgICAgIHRoaXMuYm9keS5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGBjYWxjKDEwMCUgLSAke2h9cHgpYDtcbiAgICB9XG5cbiAgICAvLyBTQVZFIEZJTFRFUlNcblxuICAgIHByaXZhdGUgdXBkYXRlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNhdmVJdGVtc1swXS5pdGVtc1swXS52aXNpYmxlID0gdGhpcy5jdXJyZW50RmlsdGVyICE9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNhdmVJdGVtc1swXS5pdGVtc1sxXS52aXNpYmxlID0gdGhpcy5jdXJyZW50RmlsdGVyICE9IG51bGw7XG4gICAgICAgICAgICAvLyB0aGlzLm1lbnUudXBkYXRlKCk7XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgYXBwbHlTYXZlRmlsdGVyKCkge1xuICAgICAgICBjb25zdCBmID0gdGhpcy5jdXJyZW50RmlsdGVyO1xuICAgICAgICBpZiAoZikge1xuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgLy8gdGhpcy50YnhOYW1lLnZhbGlkYXRlKCkudGhlbihjID0+IHtcbiAgICAgICAgICAgIC8vICAgICBpZiAoYy5yZXN1bHQpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgZi52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAvLyAgICAgICAgIChmIGFzIGFueSkuaXNJbkVkaXQgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgKGYgYXMgYW55KS5pc05ldyA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gICAgICAgICBmLnRpdGxlID0gdGhpcy50YnhOYW1lLnZhbHVlO1xuICAgICAgICAgICAgLy8gICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoJ0ZpbHRlciBzYXZlZCBzdWNjZXNzZnVsbHkuJyk7XG4gICAgICAgICAgICAvLyAgICAgICAgIHRoaXMudXBkYXRlTWVudSgpO1xuICAgICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuY2VsU2F2ZUZpbHRlcigpIHtcbiAgICAgICAgY29uc3QgZiA9IHRoaXMuY3VycmVudEZpbHRlcjtcbiAgICAgICAgaWYgKGYpIHtcbiAgICAgICAgICAgIGlmICgoZiBhcyBhbnkpLmlzTmV3KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIoZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAoZiBhcyBhbnkpLmlzSW5FZGl0ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVNZW51KCk7XG4gICAgfVxuXG4gICAgb25NZW51SXRlbUNsaWNrKGU6IEFYTWVudUl0ZW0pIHtcbiAgICAgICAgaWYgKGUubmFtZSA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5U2F2ZUZpbHRlcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlLm5hbWUgPT09ICdzYXZlQXMnKSB7XG4gICAgICAgICAgICBjb25zdCBmID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IEFYSHRtbFV0aWwuZ2V0VUlEKCksXG4gICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5wcmVkZWZpbmVkRmlsdGVycy5wdXNoKGYpO1xuICAgICAgICAgICAgKGYgYXMgYW55KS5pc05ldyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlckJ5TmFtZShmLm5hbWUpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZW5hbWVDbGljayhmKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGJ4TmFtZU9uS2V5KGU6IEFYS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZS50eXBlID09PSAna2V5dXAnICYmIGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5U2F2ZUZpbHRlcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXl1cCcgJiYgZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbFNhdmVGaWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVJlbmFtZUNsaWNrKGY6IEFYRmlsdGVyUHJlZGVmaW5lZCkge1xuICAgICAgICAoZiBhcyBhbnkpLmlzSW5FZGl0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGJ4TmFtZS52YWx1ZSA9IGYudGl0bGU7XG4gICAgICAgICAgICB0aGlzLnRieE5hbWUuZm9jdXMoKTtcbiAgICAgICAgfSwgNTApO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1maWx0ZXItcGFuZWxcIiAjcGFuZWw+XG4gICAgPGRpdiBjbGFzcz1cInNhdmVkLWxpc3RcIiAjc2F2ZWRMaXN0PlxuICAgICAgICA8YXgtcGFuZWwtYm94ICNmYj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1oZWFkZXJcIiAoY2xpY2spPVwiZmIudG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LXRvb2xiYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtdG9vbGJhci10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1maWx0ZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNBVkVEIEZJTFRFUlM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXRvb2xiYXItdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtdG9vbGJhci1tZW51ICNtZW51IFtpdGVtc109XCJzYXZlSXRlbXNcIiAob25JdGVtQ2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtdG9vbGJhci1tZW51PlxuICAgICAgICAgICAgICAgICAgICA8L2F4LXRvb2xiYXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmVkZWZpbmVkRmlsdGVycyAmJiBwcmVkZWZpbmVkRmlsdGVycy5sZW5ndGg7IGVsc2UgZW1wdHlMaXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgcHJlZGVmaW5lZEZpbHRlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWYuaXNJbkVkaXQ7IGVsc2UgZWRpdE1vZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIChjbGljayk9XCJzZXRGaWx0ZXJCeU5hbWUoZi5uYW1lKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tbGluZVwiIFtjbGFzcy5zZWxlY3RlZF09XCJmLnNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPjxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrXCI+PC9pPiB7e2YudGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2xzXCI+PGkgY2xhc3M9XCJmYXIgZmEtcGVuIHRleHQtcHJpbWFyeVwiIHRpdGxlPVwiUmVuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSZW5hbWVDbGljayhmKVwiPjwvaT4mbmJzcDs8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXIgZmEtdGltZXMgdGV4dC1kYW5nZXJcIiB0aXRsZT1cIlJlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRmlsdGVyKGYpXCI+PC9pPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWRpdE1vZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCAjdGJ4TmFtZSBwbGFjZWhvbGRlcj1cIkVudGVyIGZpbHRlcidzIHRpdGxlIGhlcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbktleSk9XCJ0YnhOYW1lT25LZXkoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gdGl0bGU9XCJTYXZlXCIgdHlwZT1cInByaW1hcnlcIiAob25DbGljayk9XCJhcHBseVNhdmVGaWx0ZXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIHRpdGxlPVwiQ2FuY2VsXCIgdHlwZT1cImRhbmdlclwiIChvbkNsaWNrKT1cImNhbmNlbFNhdmVGaWx0ZXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS10aW1lc1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtdmFsaWRhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSB0eXBlPVwicmVxdWlyZWRcIiBtZXNzYWdlPVwidGhpcyBmaWVsZCBpcyByZXF1aXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXZhbGlkYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5TGlzdD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEVtcHR5XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9heC1wYW5lbC1ib3g+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvZHlcIiAjYm9keT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZyBvZiBncm91cHNcIj5cbiAgICAgICAgICAgIDxheC1wYW5lbC1ib3ggI2ZiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtaGVhZGVyXCIgKm5nSWY9XCJnLmNhcHRpb25cIiAoY2xpY2spPVwiZmIudG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmFyIGZhLW1pbnVzLXNxdWFyZScgOiAhZmIuY29sbGFwc2VkICwnZmFzIGZhLXBsdXMtc3F1YXJlJyA6IGZiLmNvbGxhcHNlZCB9XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tnLmNhcHRpb259fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGcuY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmlsdGVyLWl0ZW0taGVhZGVyXCIgW3N0eWxlLm1hcmdpbi1ib3R0b20ucHhdPVwiYy5hY3RpdmUgPyAwIDogMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveCAob25WYWx1ZUNoYW5nZWQpPVwib25DaGVja1ZhbHVlQ2hhbmdlKGMsJGV2ZW50KVwiIFtsYWJlbF09XCJjLmNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImMuYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09XCIhYy5hY3RpdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImMudHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3Rpb24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1maWx0ZXItY29sdW1uLXNlbGVjdGlvbiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2ZpZWxkXT1cImMuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhhY3RpdmUpXT1cImMuYWN0aXZlXCIgW21vZGVdPVwiYy5vcHRpb25zLm1vZGVcIiBbaXRlbXNdPVwiYy5vcHRpb25zLml0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhVHlwZV09XCJjLm9wdGlvbnMuZGF0YVR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1maWx0ZXItY29sdW1uLXNlbGVjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWZpbHRlci1jb2x1bW4tZGF0ZSAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2ZpZWxkXT1cImMuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhhY3RpdmUpXT1cImMuYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZmlsdGVyLWNvbHVtbi1kYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1maWx0ZXItY29sdW1uLW51bWJlciAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2ZpZWxkXT1cImMuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhhY3RpdmUpXT1cImMuYWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZmlsdGVyLWNvbHVtbi1udW1iZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtZmlsdGVyLWNvbHVtbi1zdHJpbmcgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFtmaWVsZF09XCJjLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoYWN0aXZlKV09XCJjLmFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWZpbHRlci1jb2x1bW4tc3RyaW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9heC1wYW5lbC1ib3g+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIm1vZGU9PSdjbGljaydcIiBjbGFzcz1cImZvb3RlclwiICNmb290ZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGFuZWxcIj5cbiAgICAgICAgICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwiYXBwbHkoKVwiIHR5cGU9XCJzdWNjZXNzXCIgc2l6ZT1cInNtXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtZmlsdGVyXCI+PC9pPlxuICAgICAgICAgICAgICAgIEFwcGx5IEZpbHRlclxuICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICA8YXgtYnV0dG9uIChvbkNsaWNrKT1cImNsZWFyKCk7XCIgdHlwZT1cImxpZ2h0IFwiIHNpemU9XCJzbVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWVyYXNlclwiPjwvaT5cbiAgICAgICAgICAgICAgICBDbGVhclxuICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|