@igo2/common 18.0.1-next.2 → 18.0.1
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/entity/src/entity-table/entity-table.theming.scss +1 -1
- package/esm2022/action/action.module.mjs +19 -0
- package/esm2022/action/actionbar/actionbar-item.component.mjs +192 -0
- package/esm2022/action/actionbar/actionbar.component.mjs +277 -0
- package/esm2022/action/actionbar/actionbar.module.mjs +19 -0
- package/esm2022/action/igo2-common-action.mjs +5 -0
- package/esm2022/action/public_api.mjs +5 -0
- package/esm2022/action/shared/action.enums.mjs +7 -0
- package/esm2022/action/shared/action.interfaces.mjs +2 -0
- package/esm2022/action/shared/index.mjs +4 -0
- package/esm2022/action/shared/store.mjs +8 -0
- package/esm2022/backdrop/backdrop.component.mjs +21 -0
- package/esm2022/backdrop/backdrop.module.mjs +25 -0
- package/esm2022/backdrop/igo2-common-backdrop.mjs +5 -0
- package/esm2022/backdrop/public_api.mjs +3 -0
- package/esm2022/badge/badge-icon.directive.mjs +149 -0
- package/esm2022/badge/badge-icon.module.mjs +25 -0
- package/esm2022/badge/igo2-common-badge.mjs +5 -0
- package/esm2022/badge/public_api.mjs +3 -0
- package/esm2022/clickout/clickout.directive.mjs +32 -0
- package/esm2022/clickout/clickout.module.mjs +25 -0
- package/esm2022/clickout/igo2-common-clickout.mjs +5 -0
- package/esm2022/clickout/public_api.mjs +3 -0
- package/esm2022/clone/clone.module.mjs +25 -0
- package/esm2022/clone/clone.pipe.mjs +25 -0
- package/esm2022/clone/igo2-common-clone.mjs +5 -0
- package/esm2022/clone/public_api.mjs +3 -0
- package/esm2022/collapsible/collapse.directive.mjs +57 -0
- package/esm2022/collapsible/collapsible.component.mjs +38 -0
- package/esm2022/collapsible/collapsible.module.mjs +26 -0
- package/esm2022/collapsible/igo2-common-collapsible.mjs +5 -0
- package/esm2022/collapsible/public_api.mjs +10 -0
- package/esm2022/color/color-picker-form-field/color-picker-form-field.component.mjs +104 -0
- package/esm2022/color/color-picker-form-field/color-picker-form-field.module.mjs +19 -0
- package/esm2022/color/color-picker-form-field/index.mjs +3 -0
- package/esm2022/color/igo2-common-color.mjs +5 -0
- package/esm2022/color/public_api.mjs +2 -0
- package/esm2022/confirm-dialog/confirm-dialog.component.mjs +31 -0
- package/esm2022/confirm-dialog/confirm-dialog.interface.mjs +2 -0
- package/esm2022/confirm-dialog/confirm-dialog.module.mjs +27 -0
- package/esm2022/confirm-dialog/confirm-dialog.service.mjs +35 -0
- package/esm2022/confirm-dialog/igo2-common-confirm-dialog.mjs +5 -0
- package/esm2022/confirm-dialog/public_api.mjs +5 -0
- package/esm2022/context-menu/context-menu.directive.mjs +109 -0
- package/esm2022/context-menu/context-menu.module.mjs +26 -0
- package/esm2022/context-menu/igo2-common-context-menu.mjs +5 -0
- package/esm2022/context-menu/long-press.directive.mjs +65 -0
- package/esm2022/context-menu/public_api.mjs +10 -0
- package/esm2022/custom-html/custom-html.component.mjs +21 -0
- package/esm2022/custom-html/custom-html.module.mjs +25 -0
- package/esm2022/custom-html/custom-html.pipe.mjs +23 -0
- package/esm2022/custom-html/igo2-common-custom-html.mjs +5 -0
- package/esm2022/custom-html/public_api.mjs +10 -0
- package/esm2022/dom/dom.interfaces.mjs +2 -0
- package/esm2022/dom/dom.module.mjs +27 -0
- package/esm2022/dom/dom.service.mjs +35 -0
- package/esm2022/dom/igo2-common-dom.mjs +5 -0
- package/esm2022/dom/public_api.mjs +4 -0
- package/esm2022/drag-drop/drag-drop.directive.mjs +82 -0
- package/esm2022/drag-drop/drag-drop.module.mjs +26 -0
- package/esm2022/drag-drop/igo2-common-drag-drop.mjs +5 -0
- package/esm2022/drag-drop/public_api.mjs +4 -0
- package/esm2022/drag-drop/tree-drag-drop/index.mjs +3 -0
- package/esm2022/drag-drop/tree-drag-drop/tree-drag-drop.directive.mjs +391 -0
- package/esm2022/drag-drop/tree-drag-drop/tree-drag-drop.interface.mjs +2 -0
- package/esm2022/dynamic-component/dynamic-component.module.mjs +19 -0
- package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +129 -0
- package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +19 -0
- package/esm2022/dynamic-component/igo2-common-dynamic-component.mjs +5 -0
- package/esm2022/dynamic-component/public_api.mjs +5 -0
- package/esm2022/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -0
- package/esm2022/dynamic-component/shared/dynamic-component.mjs +183 -0
- package/esm2022/dynamic-component/shared/dynamic-component.service.mjs +30 -0
- package/esm2022/dynamic-component/shared/index.mjs +4 -0
- package/esm2022/entity/entity-selector/entity-selector.component.mjs +174 -0
- package/esm2022/entity/entity-selector/entity-selector.module.mjs +19 -0
- package/esm2022/entity/entity-selector/index.mjs +3 -0
- package/esm2022/entity/entity-table/entity-table-row.directive.mjs +138 -0
- package/esm2022/entity/entity-table/entity-table.component.mjs +883 -0
- package/esm2022/entity/entity-table/entity-table.module.mjs +19 -0
- package/esm2022/entity/entity-table/index.mjs +3 -0
- package/esm2022/entity/entity-table-paginator/entity-table-paginator.component.mjs +158 -0
- package/esm2022/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
- package/esm2022/entity/entity-table-paginator/entity-table-paginator.module.mjs +19 -0
- package/esm2022/entity/entity-table-paginator/index.mjs +4 -0
- package/esm2022/entity/entity.module.mjs +30 -0
- package/esm2022/entity/igo2-common-entity.mjs +5 -0
- package/esm2022/entity/public_api.mjs +6 -0
- package/esm2022/entity/shared/entity.enums.mjs +28 -0
- package/esm2022/entity/shared/entity.interfaces.mjs +2 -0
- package/esm2022/entity/shared/entity.utils.mjs +73 -0
- package/esm2022/entity/shared/index.mjs +10 -0
- package/esm2022/entity/shared/state.mjs +194 -0
- package/esm2022/entity/shared/store.mjs +322 -0
- package/esm2022/entity/shared/strategies/filter-custom-function.mjs +80 -0
- package/esm2022/entity/shared/strategies/filter-selection.mjs +81 -0
- package/esm2022/entity/shared/strategies/index.mjs +4 -0
- package/esm2022/entity/shared/strategies/strategy.mjs +82 -0
- package/esm2022/entity/shared/transaction.mjs +329 -0
- package/esm2022/entity/shared/view.mjs +330 -0
- package/esm2022/entity/shared/watcher.mjs +135 -0
- package/esm2022/environment/environment.interface.mjs +2 -0
- package/esm2022/environment/igo2-common-environment.mjs +5 -0
- package/esm2022/environment/public_api.mjs +2 -0
- package/esm2022/flexible/flexible.component.mjs +137 -0
- package/esm2022/flexible/flexible.module.mjs +25 -0
- package/esm2022/flexible/flexible.type.mjs +2 -0
- package/esm2022/flexible/igo2-common-flexible.mjs +5 -0
- package/esm2022/flexible/public_api.mjs +4 -0
- package/esm2022/form/form/form.component.mjs +105 -0
- package/esm2022/form/form/form.module.mjs +19 -0
- package/esm2022/form/form/index.mjs +3 -0
- package/esm2022/form/form-dialog/form-dialog.component.mjs +94 -0
- package/esm2022/form/form-dialog/form-dialog.interface.mjs +2 -0
- package/esm2022/form/form-dialog/form-dialog.module.mjs +31 -0
- package/esm2022/form/form-dialog/form-dialog.service.mjs +30 -0
- package/esm2022/form/form-dialog/index.mjs +5 -0
- package/esm2022/form/form-field/form-field-select.component.mjs +117 -0
- package/esm2022/form/form-field/form-field-text.component.mjs +126 -0
- package/esm2022/form/form-field/form-field-textarea.component.mjs +95 -0
- package/esm2022/form/form-field/form-field.component.mjs +65 -0
- package/esm2022/form/form-field/form-field.directive.mjs +11 -0
- package/esm2022/form/form-field/form-field.module.mjs +23 -0
- package/esm2022/form/form-field/index.mjs +7 -0
- package/esm2022/form/form-group/form-group.component.mjs +81 -0
- package/esm2022/form/form-group/form-group.module.mjs +19 -0
- package/esm2022/form/form-group/index.mjs +3 -0
- package/esm2022/form/form.module.mjs +32 -0
- package/esm2022/form/igo2-common-form.mjs +5 -0
- package/esm2022/form/public_api.mjs +7 -0
- package/esm2022/form/shared/form-field-component.mjs +7 -0
- package/esm2022/form/shared/form-field.service.mjs +28 -0
- package/esm2022/form/shared/form.interfaces.mjs +2 -0
- package/esm2022/form/shared/form.service.mjs +82 -0
- package/esm2022/form/shared/form.utils.mjs +41 -0
- package/esm2022/form/shared/index.mjs +6 -0
- package/esm2022/home-button/home-button.component.mjs +25 -0
- package/esm2022/home-button/home-button.module.mjs +19 -0
- package/esm2022/home-button/igo2-common-home-button.mjs +5 -0
- package/esm2022/home-button/public_api.mjs +3 -0
- package/esm2022/icon/icon/icon.component.mjs +38 -0
- package/esm2022/icon/icon.provider.mjs +14 -0
- package/esm2022/icon/igo2-common-icon.mjs +5 -0
- package/esm2022/icon/public_api.mjs +4 -0
- package/esm2022/icon/shared/icon.interface.mjs +2 -0
- package/esm2022/icon/shared/icon.service.mjs +26 -0
- package/esm2022/icon/shared/icons.mjs +40 -0
- package/esm2022/icon/shared/index.mjs +4 -0
- package/esm2022/igo2-common.mjs +5 -0
- package/esm2022/image/igo2-common-image.mjs +5 -0
- package/esm2022/image/image-error.directive.mjs +35 -0
- package/esm2022/image/image.module.mjs +26 -0
- package/esm2022/image/public_api.mjs +7 -0
- package/esm2022/image/secure-image.pipe.mjs +66 -0
- package/esm2022/interactive-tour/igo2-common-interactive-tour.mjs +5 -0
- package/esm2022/interactive-tour/interactive-tour.component.mjs +131 -0
- package/esm2022/interactive-tour/interactive-tour.interface.mjs +2 -0
- package/esm2022/interactive-tour/interactive-tour.loader.mjs +49 -0
- package/esm2022/interactive-tour/interactive-tour.module.mjs +19 -0
- package/esm2022/interactive-tour/interactive-tour.service.mjs +303 -0
- package/esm2022/interactive-tour/public_api.mjs +6 -0
- package/esm2022/json-dialog/igo2-common-json-dialog.mjs +5 -0
- package/esm2022/json-dialog/json-dialog.component.mjs +38 -0
- package/esm2022/json-dialog/json-dialog.module.mjs +26 -0
- package/esm2022/json-dialog/json-dialog.service.mjs +26 -0
- package/esm2022/json-dialog/public_api.mjs +4 -0
- package/esm2022/keyvalue/igo2-common-keyvalue.mjs +5 -0
- package/esm2022/keyvalue/keyvalue.module.mjs +25 -0
- package/esm2022/keyvalue/keyvalue.pipe.mjs +19 -0
- package/esm2022/keyvalue/public_api.mjs +3 -0
- package/esm2022/list/igo2-common-list.mjs +5 -0
- package/esm2022/list/list-item.directive.mjs +166 -0
- package/esm2022/list/list.component.mjs +252 -0
- package/esm2022/list/list.module.mjs +26 -0
- package/esm2022/list/public_api.mjs +7 -0
- package/esm2022/panel/igo2-common-panel.mjs +5 -0
- package/esm2022/panel/panel.component.mjs +30 -0
- package/esm2022/panel/panel.module.mjs +19 -0
- package/esm2022/panel/public_api.mjs +3 -0
- package/esm2022/public_api.mjs +20 -0
- package/esm2022/select-value-dialog/igo2-common-select-value-dialog.mjs +5 -0
- package/esm2022/select-value-dialog/public_api.mjs +6 -0
- package/esm2022/select-value-dialog/select-value-check-radio-dialog.component.mjs +103 -0
- package/esm2022/select-value-dialog/select-value-dialog.enums.mjs +6 -0
- package/esm2022/select-value-dialog/select-value-dialog.interface.mjs +2 -0
- package/esm2022/select-value-dialog/select-value-dialog.module.mjs +27 -0
- package/esm2022/select-value-dialog/select-value-dialog.service.mjs +29 -0
- package/esm2022/sidenav/igo2-common-sidenav.mjs +5 -0
- package/esm2022/sidenav/public_api.mjs +3 -0
- package/esm2022/sidenav/sidenav-shim.directive.mjs +58 -0
- package/esm2022/sidenav/sidenav.module.mjs +25 -0
- package/esm2022/spinner/igo2-common-spinner.mjs +5 -0
- package/esm2022/spinner/public_api.mjs +4 -0
- package/esm2022/spinner/spinner-activity.directive.mjs +56 -0
- package/esm2022/spinner/spinner.component.mjs +29 -0
- package/esm2022/spinner/spinner.module.mjs +26 -0
- package/esm2022/stop-propagation/igo2-common-stop-propagation.mjs +5 -0
- package/esm2022/stop-propagation/public_api.mjs +10 -0
- package/esm2022/stop-propagation/stop-drop-propagation.directive.mjs +21 -0
- package/esm2022/stop-propagation/stop-propagation.directive.mjs +20 -0
- package/esm2022/stop-propagation/stop-propagation.module.mjs +26 -0
- package/esm2022/table/igo2-common-table.mjs +5 -0
- package/esm2022/table/public_api.mjs +7 -0
- package/esm2022/table/table-action-color.enum.mjs +7 -0
- package/esm2022/table/table-database.mjs +28 -0
- package/esm2022/table/table-datasource.mjs +66 -0
- package/esm2022/table/table-model.interface.mjs +2 -0
- package/esm2022/table/table.component.mjs +143 -0
- package/esm2022/table/table.module.mjs +25 -0
- package/esm2022/tool/igo2-common-tool.mjs +5 -0
- package/esm2022/tool/public_api.mjs +4 -0
- package/esm2022/tool/shared/index.mjs +6 -0
- package/esm2022/tool/shared/tool-component.mjs +9 -0
- package/esm2022/tool/shared/tool.interface.mjs +2 -0
- package/esm2022/tool/shared/tool.service.mjs +43 -0
- package/esm2022/tool/shared/toolbox.enums.mjs +2 -0
- package/esm2022/tool/shared/toolbox.mjs +192 -0
- package/esm2022/tool/tool.module.mjs +28 -0
- package/esm2022/tool/toolbox/index.mjs +3 -0
- package/esm2022/tool/toolbox/toolbox.animation.mjs +10 -0
- package/esm2022/tool/toolbox/toolbox.component.mjs +241 -0
- package/esm2022/tool/toolbox/toolbox.module.mjs +19 -0
- package/esm2022/widget/igo2-common-widget.mjs +5 -0
- package/esm2022/widget/public_api.mjs +4 -0
- package/esm2022/widget/shared/index.mjs +4 -0
- package/esm2022/widget/shared/widget.interfaces.mjs +2 -0
- package/esm2022/widget/shared/widget.mjs +4 -0
- package/esm2022/widget/shared/widget.service.mjs +22 -0
- package/esm2022/widget/widget-outlet/index.mjs +3 -0
- package/esm2022/widget/widget-outlet/widget-outlet.component.mjs +112 -0
- package/esm2022/widget/widget-outlet/widget-outlet.module.mjs +19 -0
- package/esm2022/widget/widget.module.mjs +22 -0
- package/esm2022/workspace/igo2-common-workspace.mjs +5 -0
- package/esm2022/workspace/public_api.mjs +5 -0
- package/esm2022/workspace/shared/index.mjs +4 -0
- package/esm2022/workspace/shared/store.mjs +37 -0
- package/esm2022/workspace/shared/workspace.interfaces.mjs +2 -0
- package/esm2022/workspace/shared/workspace.mjs +143 -0
- package/esm2022/workspace/workspace-selector/index.mjs +3 -0
- package/esm2022/workspace/workspace-selector/workspace-selector.component.mjs +51 -0
- package/esm2022/workspace/workspace-selector/workspace-selector.module.mjs +19 -0
- package/esm2022/workspace/workspace-widget-outlet/index.mjs +3 -0
- package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +73 -0
- package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +19 -0
- package/esm2022/workspace/workspace.module.mjs +27 -0
- package/fesm2022/igo2-common-action.mjs +16 -16
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +8 -8
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +7 -7
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-clickout.mjs +7 -7
- package/fesm2022/igo2-common-clickout.mjs.map +1 -1
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +11 -11
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +9 -9
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +11 -11
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +10 -10
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +11 -11
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +7 -7
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +10 -10
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +14 -14
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +33 -33
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +7 -7
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +57 -57
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +8 -8
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +14 -13
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +10 -10
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +14 -14
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +11 -11
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +11 -11
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +8 -8
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +11 -11
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +7 -7
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +11 -11
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +8 -8
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +15 -15
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +15 -15
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +20 -20
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/package.json +76 -8
- package/src/style/style.scss +1 -1
- package/style/style.css +1 -4
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
@mixin color($theme) {
|
|
10
10
|
$primary: map.get($theme, primary);
|
|
11
11
|
$accent: map.get($theme, accent);
|
|
12
|
-
$background: map
|
|
12
|
+
$background: map-get($theme, background);
|
|
13
13
|
igo-entity-table
|
|
14
14
|
table.igo-entity-table-with-selection
|
|
15
15
|
tr.igo-entity-table-row-highlighted {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ActionbarComponent } from './actionbar/actionbar.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated import the ActionbarComponent directly
|
|
6
|
+
*/
|
|
7
|
+
export class IgoActionModule {
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoActionModule, imports: [ActionbarComponent], exports: [ActionbarComponent] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoActionModule, imports: [ActionbarComponent] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoActionModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [ActionbarComponent],
|
|
16
|
+
exports: [ActionbarComponent]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9hY3Rpb24vc3JjL2FjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZUFBZTt3R0FBZixlQUFlO3lHQUFmLGVBQWUsWUFIaEIsa0JBQWtCLGFBQ2xCLGtCQUFrQjt5R0FFakIsZUFBZSxZQUhoQixrQkFBa0I7OzRGQUdqQixlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIEFjdGlvbmJhckNvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQWN0aW9uYmFyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0FjdGlvbmJhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQWN0aW9uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { MatListModule } from '@angular/material/list';
|
|
7
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
8
|
+
import { IgoIconComponent } from '@igo2/common/icon';
|
|
9
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
10
|
+
import { BehaviorSubject, isObservable } from 'rxjs';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/material/list";
|
|
13
|
+
import * as i2 from "@angular/material/tooltip";
|
|
14
|
+
import * as i3 from "@angular/material/button";
|
|
15
|
+
import * as i4 from "@angular/material/checkbox";
|
|
16
|
+
import * as i5 from "@ngx-translate/core";
|
|
17
|
+
/**
|
|
18
|
+
* An action button
|
|
19
|
+
*/
|
|
20
|
+
export class ActionbarItemComponent {
|
|
21
|
+
disabled$ = new BehaviorSubject(false);
|
|
22
|
+
checkCondition$ = new BehaviorSubject(undefined);
|
|
23
|
+
tooltip$ = new BehaviorSubject(undefined);
|
|
24
|
+
noDisplay$ = new BehaviorSubject(false);
|
|
25
|
+
ngClass$ = new BehaviorSubject({});
|
|
26
|
+
ngClass$$;
|
|
27
|
+
disabled$$;
|
|
28
|
+
availability$$;
|
|
29
|
+
checkCondition$$;
|
|
30
|
+
tooltip$$;
|
|
31
|
+
noDisplay$$;
|
|
32
|
+
display$$;
|
|
33
|
+
isObservable = isObservable;
|
|
34
|
+
/**
|
|
35
|
+
* Action
|
|
36
|
+
*/
|
|
37
|
+
action;
|
|
38
|
+
/**
|
|
39
|
+
* Color
|
|
40
|
+
*/
|
|
41
|
+
color = 'default';
|
|
42
|
+
/**
|
|
43
|
+
* Whether the action title is displayed
|
|
44
|
+
*/
|
|
45
|
+
withTitle = true;
|
|
46
|
+
/**
|
|
47
|
+
* Whether the action icon is displayed
|
|
48
|
+
*/
|
|
49
|
+
withIcon = true;
|
|
50
|
+
/**
|
|
51
|
+
* Whether a tooltip should be shown
|
|
52
|
+
*/
|
|
53
|
+
withTooltip = true;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the action is disabled
|
|
56
|
+
*/
|
|
57
|
+
set disabled(value) {
|
|
58
|
+
this.disabled$.next(value);
|
|
59
|
+
}
|
|
60
|
+
get disabled() {
|
|
61
|
+
return this.disabled$.value;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Whether the action is display or not
|
|
65
|
+
*/
|
|
66
|
+
set noDisplay(value) {
|
|
67
|
+
this.noDisplay$.next(value);
|
|
68
|
+
}
|
|
69
|
+
get noDisplay() {
|
|
70
|
+
return this.noDisplay$.value;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Event emitted when the action button is clicked
|
|
74
|
+
*/
|
|
75
|
+
trigger = new EventEmitter();
|
|
76
|
+
/**
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
get title() {
|
|
80
|
+
return this.action.title;
|
|
81
|
+
}
|
|
82
|
+
ngOnInit() {
|
|
83
|
+
const args = this.action.args || [];
|
|
84
|
+
if (this.action.ngClass !== undefined) {
|
|
85
|
+
this.ngClass$$ = this.action
|
|
86
|
+
.ngClass(...args)
|
|
87
|
+
.subscribe((ngClass) => this.updateNgClass(ngClass));
|
|
88
|
+
}
|
|
89
|
+
if (isObservable(this.action.checkCondition)) {
|
|
90
|
+
this.checkCondition$$ = this.action.checkCondition.subscribe((checkCondition) => this.updateCheckCondition(checkCondition));
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.updateCheckCondition(this.action.checkCondition);
|
|
94
|
+
}
|
|
95
|
+
if (isObservable(this.action.tooltip)) {
|
|
96
|
+
this.tooltip$$ = this.action.tooltip.subscribe((tooltip) => this.updateTooltip(tooltip));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.updateTooltip(this.action.tooltip);
|
|
100
|
+
}
|
|
101
|
+
if (this.action.availability !== undefined) {
|
|
102
|
+
this.availability$$ = this.action
|
|
103
|
+
.availability(...args)
|
|
104
|
+
.subscribe((available) => (this.disabled = !available));
|
|
105
|
+
}
|
|
106
|
+
this.disabled$$ = this.disabled$.subscribe((disabled) => this.updateNgClass({ 'igo-actionbar-item-disabled': disabled }));
|
|
107
|
+
if (this.action.display !== undefined) {
|
|
108
|
+
this.display$$ = this.action
|
|
109
|
+
.display(...args)
|
|
110
|
+
.subscribe((display) => (this.noDisplay = !display));
|
|
111
|
+
}
|
|
112
|
+
this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay) => this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay }));
|
|
113
|
+
}
|
|
114
|
+
ngOnDestroy() {
|
|
115
|
+
if (this.ngClass$$ !== undefined) {
|
|
116
|
+
this.ngClass$$.unsubscribe();
|
|
117
|
+
this.ngClass$$ = undefined;
|
|
118
|
+
}
|
|
119
|
+
if (this.availability$$ !== undefined) {
|
|
120
|
+
this.availability$$.unsubscribe();
|
|
121
|
+
this.availability$$ = undefined;
|
|
122
|
+
}
|
|
123
|
+
if (this.display$$ !== undefined) {
|
|
124
|
+
this.display$$.unsubscribe();
|
|
125
|
+
this.display$$ = undefined;
|
|
126
|
+
}
|
|
127
|
+
if (this.checkCondition$$ !== undefined) {
|
|
128
|
+
this.checkCondition$$.unsubscribe();
|
|
129
|
+
this.checkCondition$$ = undefined;
|
|
130
|
+
}
|
|
131
|
+
if (this.tooltip$$ !== undefined) {
|
|
132
|
+
this.tooltip$$.unsubscribe();
|
|
133
|
+
this.tooltip$$ = undefined;
|
|
134
|
+
}
|
|
135
|
+
this.disabled$$.unsubscribe();
|
|
136
|
+
this.noDisplay$$.unsubscribe();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* When the action button is clicked, emit the 'trigger' event but don't
|
|
140
|
+
* invoke the action handler. This is handled by the parent component.
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
onClick() {
|
|
144
|
+
if (this.disabled === true) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
this.trigger.emit(this.action);
|
|
148
|
+
}
|
|
149
|
+
updateNgClass(ngClass) {
|
|
150
|
+
this.ngClass$.next(Object.assign({}, this.ngClass$.value, ngClass));
|
|
151
|
+
}
|
|
152
|
+
updateTooltip(tooltip) {
|
|
153
|
+
this.tooltip$.next(tooltip);
|
|
154
|
+
}
|
|
155
|
+
updateCheckCondition(checkCondition) {
|
|
156
|
+
this.checkCondition$.next(checkCondition);
|
|
157
|
+
}
|
|
158
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
160
|
+
}
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionbarItemComponent, decorators: [{
|
|
162
|
+
type: Component,
|
|
163
|
+
args: [{ selector: 'igo-actionbar-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
164
|
+
NgIf,
|
|
165
|
+
MatListModule,
|
|
166
|
+
MatTooltipModule,
|
|
167
|
+
NgClass,
|
|
168
|
+
MatButtonModule,
|
|
169
|
+
MatIconModule,
|
|
170
|
+
MatCheckboxModule,
|
|
171
|
+
AsyncPipe,
|
|
172
|
+
IgoLanguageModule,
|
|
173
|
+
IgoIconComponent
|
|
174
|
+
], template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"] }]
|
|
175
|
+
}], propDecorators: { action: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], color: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], withTitle: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], withIcon: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], withTooltip: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], disabled: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], noDisplay: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], trigger: [{
|
|
190
|
+
type: Output
|
|
191
|
+
}] } });
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2FjdGlvbi9zcmMvYWN0aW9uYmFyL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9hY3Rpb24vc3JjL2FjdGlvbmJhci9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFJbkU7O0dBRUc7QUFvQkgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFaEQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFVLFNBQVMsQ0FB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TyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQWU7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLG9CQUFvQixDQUFDLGNBQXVCO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBMUxVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHFSQzdDbkMscW5DQXdDQSx3aEJEUEksSUFBSSw0RkFDSixhQUFhLHFSQUNiLGdCQUFnQiw2VEFDaEIsT0FBTyxtRkFDUCxlQUFlLDJJQUNmLGFBQWEsOEJBQ2IsaUJBQWlCLGdZQUNqQixTQUFTLDZDQUNULGlCQUFpQiw0RkFDakIsZ0JBQWdCOzs0RkFHUCxzQkFBc0I7a0JBbkJsQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCOzhCQWdDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1GLFFBQVE7c0JBRFgsS0FBSztnQkFZRixTQUFTO3NCQURaLEtBQUs7Z0JBV0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29JY29uQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL2ljb24nO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvYWN0aW9uLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIEFuIGFjdGlvbiBidXR0b25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWFjdGlvbmJhci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29JY29uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uYmFySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgY2hlY2tDb25kaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHRvb2x0aXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgbm9EaXNwbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IG5nQ2xhc3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oe30pO1xuXG4gIHByaXZhdGUgbmdDbGFzcyQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBkaXNhYmxlZCQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBhdmFpbGFiaWxpdHkkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgY2hlY2tDb25kaXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgdG9vbHRpcCQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBub0Rpc3BsYXkkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZGlzcGxheSQkOiBTdWJzY3JpcHRpb247XG5cbiAgaXNPYnNlcnZhYmxlID0gaXNPYnNlcnZhYmxlO1xuXG4gIC8qKlxuICAgKiBBY3Rpb25cbiAgICovXG4gIEBJbnB1dCgpIGFjdGlvbjogQWN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb2xvclxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiB0aXRsZSBpcyBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaXRsZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiBpY29uIGlzIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgd2l0aEljb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdG9vbHRpcCBzaG91bGQgYmUgc2hvd25cbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUb29sdGlwID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYWN0aW9uIGlzIGRpc2FibGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiBpcyBkaXNwbGF5IG9yIG5vdFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5vRGlzcGxheSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMubm9EaXNwbGF5JC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgbm9EaXNwbGF5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5vRGlzcGxheSQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIEBPdXRwdXQoKSB0cmlnZ2VyID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb24+KCk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uLnRpdGxlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgYXJncyA9IHRoaXMuYWN0aW9uLmFyZ3MgfHwgW107XG5cbiAgICBpZiAodGhpcy5hY3Rpb24ubmdDbGFzcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm5nQ2xhc3MkJCA9IHRoaXMuYWN0aW9uXG4gICAgICAgIC5uZ0NsYXNzKC4uLmFyZ3MpXG4gICAgICAgIC5zdWJzY3JpYmUoKG5nQ2xhc3M6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSA9PlxuICAgICAgICAgIHRoaXMudXBkYXRlTmdDbGFzcyhuZ0NsYXNzKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24uY2hlY2tDb25kaXRpb24pKSB7XG4gICAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJCQgPSB0aGlzLmFjdGlvbi5jaGVja0NvbmRpdGlvbi5zdWJzY3JpYmUoXG4gICAgICAgIChjaGVja0NvbmRpdGlvbjogYm9vbGVhbikgPT4gdGhpcy51cGRhdGVDaGVja0NvbmRpdGlvbihjaGVja0NvbmRpdGlvbilcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQ2hlY2tDb25kaXRpb24odGhpcy5hY3Rpb24uY2hlY2tDb25kaXRpb24pO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24udG9vbHRpcCkpIHtcbiAgICAgIHRoaXMudG9vbHRpcCQkID0gdGhpcy5hY3Rpb24udG9vbHRpcC5zdWJzY3JpYmUoKHRvb2x0aXA6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy51cGRhdGVUb29sdGlwKHRvb2x0aXApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVRvb2x0aXAodGhpcy5hY3Rpb24udG9vbHRpcCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aW9uLmF2YWlsYWJpbGl0eSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkID0gdGhpcy5hY3Rpb25cbiAgICAgICAgLmF2YWlsYWJpbGl0eSguLi5hcmdzKVxuICAgICAgICAuc3Vic2NyaWJlKChhdmFpbGFibGU6IGJvb2xlYW4pID0+ICh0aGlzLmRpc2FibGVkID0gIWF2YWlsYWJsZSkpO1xuICAgIH1cblxuICAgIHRoaXMuZGlzYWJsZWQkJCA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQ6IGJvb2xlYW4pID0+XG4gICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MoeyAnaWdvLWFjdGlvbmJhci1pdGVtLWRpc2FibGVkJzogZGlzYWJsZWQgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuYWN0aW9uLmRpc3BsYXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNwbGF5JCQgPSB0aGlzLmFjdGlvblxuICAgICAgICAuZGlzcGxheSguLi5hcmdzKVxuICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5OiBib29sZWFuKSA9PiAodGhpcy5ub0Rpc3BsYXkgPSAhZGlzcGxheSkpO1xuICAgIH1cblxuICAgIHRoaXMubm9EaXNwbGF5JCQgPSB0aGlzLm5vRGlzcGxheSQuc3Vic2NyaWJlKChub0Rpc3BsYXk6IGJvb2xlYW4pID0+XG4gICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MoeyAnaWdvLWFjdGlvbmJhci1pdGVtLW5vLWRpc3BsYXknOiBub0Rpc3BsYXkgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubmdDbGFzcyQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubmdDbGFzcyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm5nQ2xhc3MkJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hdmFpbGFiaWxpdHkkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRpc3BsYXkkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5kaXNwbGF5JCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2hlY2tDb25kaXRpb24kJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b29sdGlwJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50b29sdGlwJCQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMudG9vbHRpcCQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMuZGlzYWJsZWQkJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubm9EaXNwbGF5JCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWQsIGVtaXQgdGhlICd0cmlnZ2VyJyBldmVudCBidXQgZG9uJ3RcbiAgICogaW52b2tlIHRoZSBhY3Rpb24gaGFuZGxlci4gVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBwYXJlbnQgY29tcG9uZW50LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50cmlnZ2VyLmVtaXQodGhpcy5hY3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOZ0NsYXNzKG5nQ2xhc3M6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSB7XG4gICAgdGhpcy5uZ0NsYXNzJC5uZXh0KE9iamVjdC5hc3NpZ24oe30sIHRoaXMubmdDbGFzcyQudmFsdWUsIG5nQ2xhc3MpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVG9vbHRpcCh0b29sdGlwOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2x0aXAkLm5leHQodG9vbHRpcCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNoZWNrQ29uZGl0aW9uKGNoZWNrQ29uZGl0aW9uOiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGVja0NvbmRpdGlvbiQubmV4dChjaGVja0NvbmRpdGlvbik7XG4gIH1cbn1cbiIsIjxtYXQtbGlzdC1pdGVtXG4gICpuZ0lmPVwiIWFjdGlvbi5jaGVja2JveFwiXG4gIGNsYXNzPVwiYWN0aW9uYmFyLWl0ZW1cIlxuICBtYXRUb29sdGlwQ2xhc3M9XCJhY3Rpb25iYXJJdGVtVG9vbHRpcFwiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCJ3aXRoVG9vbHRpcCA/ICgodG9vbHRpcCQgfCBhc3luYykgfHwgdGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzJCB8IGFzeW5jXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIndpdGhJY29uXCJcbiAgICBtYXRMaXN0SXRlbUF2YXRhclxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcbiAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgPlxuICAgIDxpZ28taWNvblxuICAgICAgW2ljb25dPVwiaXNPYnNlcnZhYmxlKGFjdGlvbi5pY29uKSA/IChhY3Rpb24uaWNvbiB8IGFzeW5jKSA6IGFjdGlvbi5pY29uXCJcbiAgICA+PC9pZ28taWNvbj5cbiAgPC9idXR0b24+XG4gIDxzcGFuICpuZ0lmPVwid2l0aFRpdGxlXCIgbWF0TGluZT57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbjwvbWF0LWxpc3QtaXRlbT5cblxuPG1hdC1saXN0LWl0ZW1cbiAgY2xhc3M9XCJpdGVtLWNoZWNrYm94XCJcbiAgKm5nSWY9XCJhY3Rpb24uY2hlY2tib3hcIlxuICBtYXRUb29sdGlwQ2xhc3M9XCJhY3Rpb25iYXJJdGVtVG9vbHRpcFwiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCJ3aXRoVG9vbHRpcCA/ICgodG9vbHRpcCQgfCBhc3luYykgfHwgdGl0bGUgfCB0cmFuc2xhdGUpIDogJydcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzJCB8IGFzeW5jXCJcbj5cbiAgPG1hdC1jaGVja2JveFxuICAgICpuZ0lmPVwid2l0aFRpdGxlXCJcbiAgICAoY2hhbmdlKT1cImFjdGlvbi5oYW5kbGVyKClcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrQ29uZGl0aW9uJCB8IGFzeW5jXCJcbiAgPlxuICAgIHt7IHRpdGxlIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LWNoZWNrYm94PlxuPC9tYXQtbGlzdC1pdGVtPlxuIl19
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
+
import { AsyncPipe, NgFor, NgIf } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input } from '@angular/core';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatCardModule } from '@angular/material/card';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { MatListModule } from '@angular/material/list';
|
|
8
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
9
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
+
import { EntityStoreWatcher } from '@igo2/common/entity';
|
|
11
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
12
|
+
import { Media, MediaService } from '@igo2/core/media';
|
|
13
|
+
import { BehaviorSubject } from 'rxjs';
|
|
14
|
+
import { ActionbarMode } from '../shared/action.enums';
|
|
15
|
+
import { ActionStore } from '../shared/store';
|
|
16
|
+
import { ActionbarItemComponent } from './actionbar-item.component';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
19
|
+
import * as i2 from "@igo2/core/media";
|
|
20
|
+
import * as i3 from "@angular/material/button";
|
|
21
|
+
import * as i4 from "@angular/material/tooltip";
|
|
22
|
+
import * as i5 from "@angular/material/icon";
|
|
23
|
+
import * as i6 from "@angular/material/list";
|
|
24
|
+
import * as i7 from "@angular/material/menu";
|
|
25
|
+
import * as i8 from "@angular/material/card";
|
|
26
|
+
import * as i9 from "@ngx-translate/core";
|
|
27
|
+
/**
|
|
28
|
+
* A list of action buttons.
|
|
29
|
+
* This component can be displayed in one of two way: 'dock' or 'overlay'
|
|
30
|
+
*/
|
|
31
|
+
export class ActionbarComponent {
|
|
32
|
+
overlay;
|
|
33
|
+
elRef;
|
|
34
|
+
cdRef;
|
|
35
|
+
mediaService;
|
|
36
|
+
/**
|
|
37
|
+
* Reference to the ActionbarMode enum for use in the template
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
actionbarMode = ActionbarMode;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the actionbar is collapsed (Dock mode)
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
collapsed = false;
|
|
46
|
+
/**
|
|
47
|
+
* Toggle collapse action (Dock)
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
toggleCollapseAction = {
|
|
51
|
+
id: 'actionbar_toggle',
|
|
52
|
+
icon: 'more_vert',
|
|
53
|
+
handler: () => {
|
|
54
|
+
this.collapsed = !this.collapsed;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Action store watcher
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
watcher;
|
|
62
|
+
/**
|
|
63
|
+
* Height Condition for scroll button
|
|
64
|
+
*/
|
|
65
|
+
heightCondition$ = new BehaviorSubject(false);
|
|
66
|
+
/**
|
|
67
|
+
* Position Condition for top scroll button
|
|
68
|
+
*/
|
|
69
|
+
positionConditionTop$ = new BehaviorSubject(true);
|
|
70
|
+
/**
|
|
71
|
+
* Position Condition for low scroll button
|
|
72
|
+
*/
|
|
73
|
+
positionConditionLow$ = new BehaviorSubject(true);
|
|
74
|
+
/**
|
|
75
|
+
* Action store
|
|
76
|
+
*/
|
|
77
|
+
store;
|
|
78
|
+
/**
|
|
79
|
+
* Actionbar mode
|
|
80
|
+
*/
|
|
81
|
+
mode = ActionbarMode.Dock;
|
|
82
|
+
/**
|
|
83
|
+
* Whether a toggle button should be displayed (Dock mode)
|
|
84
|
+
*/
|
|
85
|
+
withToggleButton = false;
|
|
86
|
+
/**
|
|
87
|
+
* Whether a the actionbar should display buttons horizontally
|
|
88
|
+
*/
|
|
89
|
+
horizontal = false;
|
|
90
|
+
/**
|
|
91
|
+
* Color
|
|
92
|
+
*/
|
|
93
|
+
color = 'default';
|
|
94
|
+
/**
|
|
95
|
+
* Color of the button if action mode === overlay
|
|
96
|
+
*/
|
|
97
|
+
iconColor = 'default';
|
|
98
|
+
/**
|
|
99
|
+
* Whether action titles are displayed
|
|
100
|
+
*/
|
|
101
|
+
withTitle = true;
|
|
102
|
+
/**
|
|
103
|
+
* Whether action tooltips are displayed
|
|
104
|
+
*/
|
|
105
|
+
withTooltip = true;
|
|
106
|
+
/**
|
|
107
|
+
* Whether action titles are displayed (condition for scroll button)
|
|
108
|
+
*/
|
|
109
|
+
scrollActive = true;
|
|
110
|
+
/**
|
|
111
|
+
* Whether action icons are displayed
|
|
112
|
+
*/
|
|
113
|
+
withIcon = true;
|
|
114
|
+
/**
|
|
115
|
+
* Which icon want to be shown
|
|
116
|
+
*/
|
|
117
|
+
icon = 'more_horiz';
|
|
118
|
+
/**
|
|
119
|
+
* Overlay X position
|
|
120
|
+
*/
|
|
121
|
+
xPosition = 'before';
|
|
122
|
+
/**
|
|
123
|
+
* Overlay Y position
|
|
124
|
+
*/
|
|
125
|
+
yPosition = 'above';
|
|
126
|
+
/**
|
|
127
|
+
* Class to add to the actionbar overlay
|
|
128
|
+
*/
|
|
129
|
+
set overlayClass(value) {
|
|
130
|
+
this._overlayClass = value;
|
|
131
|
+
}
|
|
132
|
+
get overlayClass() {
|
|
133
|
+
return [this._overlayClass, 'igo-actionbar-overlay'].join(' ');
|
|
134
|
+
}
|
|
135
|
+
_overlayClass = '';
|
|
136
|
+
isCollapsed = this.collapsed;
|
|
137
|
+
/**
|
|
138
|
+
* @ignore
|
|
139
|
+
*/
|
|
140
|
+
get withTitleClass() {
|
|
141
|
+
return this.withTitle;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @ignore
|
|
145
|
+
*/
|
|
146
|
+
get withIconClass() {
|
|
147
|
+
return this.withIcon;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* @ignore
|
|
151
|
+
*/
|
|
152
|
+
get horizontalClass() {
|
|
153
|
+
return this.horizontal;
|
|
154
|
+
}
|
|
155
|
+
get heightCondition() {
|
|
156
|
+
const el = this.elRef.nativeElement;
|
|
157
|
+
if (this.scrollActive === false) {
|
|
158
|
+
if (el.clientHeight < el.scrollHeight) {
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
get positionConditionTop() {
|
|
165
|
+
if (this.elRef.nativeElement.scrollTop === 0) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
get positionConditionLow() {
|
|
171
|
+
const el = this.elRef.nativeElement;
|
|
172
|
+
if (el.scrollTop >= el.scrollHeight - el.clientHeight) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
get isDesktop() {
|
|
178
|
+
return this.mediaService.getMedia() === Media.Desktop;
|
|
179
|
+
}
|
|
180
|
+
constructor(overlay, elRef, cdRef, mediaService) {
|
|
181
|
+
this.overlay = overlay;
|
|
182
|
+
this.elRef = elRef;
|
|
183
|
+
this.cdRef = cdRef;
|
|
184
|
+
this.mediaService = mediaService;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* @internal
|
|
188
|
+
*/
|
|
189
|
+
ngOnChanges(changes) {
|
|
190
|
+
const store = changes.store;
|
|
191
|
+
if (store && store.currentValue !== store.previousValue) {
|
|
192
|
+
if (this.watcher !== undefined) {
|
|
193
|
+
this.watcher.destroy();
|
|
194
|
+
}
|
|
195
|
+
this.watcher = new EntityStoreWatcher(this.store, this.cdRef);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* @internal
|
|
200
|
+
*/
|
|
201
|
+
ngOnDestroy() {
|
|
202
|
+
this.watcher.destroy();
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Invoke the action handler
|
|
206
|
+
* @internal
|
|
207
|
+
*/
|
|
208
|
+
onTriggerAction(action) {
|
|
209
|
+
const args = action.args || [];
|
|
210
|
+
action.handler(...args);
|
|
211
|
+
}
|
|
212
|
+
scrollDown() {
|
|
213
|
+
this.elRef.nativeElement.scrollBy(0, 52);
|
|
214
|
+
}
|
|
215
|
+
scrollUp() {
|
|
216
|
+
this.elRef.nativeElement.scrollBy(0, -52);
|
|
217
|
+
}
|
|
218
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionbarComponent, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.MediaService }], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: "store", mode: "mode", withToggleButton: "withToggleButton", horizontal: "horizontal", color: "color", iconColor: "iconColor", withTitle: "withTitle", withTooltip: "withTooltip", scrollActive: "scrollActive", withIcon: "withIcon", icon: "icon", xPosition: "xPosition", yPosition: "yPosition", overlayClass: "overlayClass" }, host: { properties: { "class.is-collapsed": "this.isCollapsed", "class.with-title": "this.withTitleClass", "class.with-icon": "this.withIconClass", "class.horizontal": "this.horizontalClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i6.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: ActionbarItemComponent, selector: "igo-actionbar-item", inputs: ["action", "color", "withTitle", "withIcon", "withTooltip", "disabled", "noDisplay"], outputs: ["trigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
220
|
+
}
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionbarComponent, decorators: [{
|
|
222
|
+
type: Component,
|
|
223
|
+
args: [{ selector: 'igo-actionbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
224
|
+
NgIf,
|
|
225
|
+
MatButtonModule,
|
|
226
|
+
MatTooltipModule,
|
|
227
|
+
MatIconModule,
|
|
228
|
+
MatListModule,
|
|
229
|
+
ActionbarItemComponent,
|
|
230
|
+
NgFor,
|
|
231
|
+
MatMenuModule,
|
|
232
|
+
MatCardModule,
|
|
233
|
+
AsyncPipe,
|
|
234
|
+
IgoLanguageModule
|
|
235
|
+
], template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"] }]
|
|
236
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.MediaService }], propDecorators: { store: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], mode: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], withToggleButton: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], horizontal: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], color: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], iconColor: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], withTitle: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], withTooltip: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], scrollActive: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], withIcon: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], icon: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], xPosition: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], yPosition: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], overlayClass: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], isCollapsed: [{
|
|
265
|
+
type: HostBinding,
|
|
266
|
+
args: ['class.is-collapsed']
|
|
267
|
+
}], withTitleClass: [{
|
|
268
|
+
type: HostBinding,
|
|
269
|
+
args: ['class.with-title']
|
|
270
|
+
}], withIconClass: [{
|
|
271
|
+
type: HostBinding,
|
|
272
|
+
args: ['class.with-icon']
|
|
273
|
+
}], horizontalClass: [{
|
|
274
|
+
type: HostBinding,
|
|
275
|
+
args: ['class.horizontal']
|
|
276
|
+
}] } });
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9hY3Rpb24vc3JjL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2FjdGlvbi9zcmMvYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsYUFBYSxFQUdkLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBRXBFOzs7R0FHRztBQXFCSCxNQUFNLE9BQU8sa0JBQWtCO0lBdUxwQjtJQUNDO0lBQ0E7SUFDRDtJQXpMVDs7O09BR0c7SUFDSCxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBRTlCOzs7T0FHRztJQUNILFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFbEI7OztPQUdHO0lBQ0gsb0JBQW9CLEdBQUc7UUFDckIsRUFBRSxFQUFFLGtCQUFrQjtRQUN0QixJQUFJLEVBQUUsV0FBVztRQUNqQixPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbkMsQ0FBQztLQUNGLENBQUM7SUFFRjs7O09BR0c7SUFDSyxPQUFPLENBQTZCO0lBRTVDOztPQUVHO0lBQ0gsZ0JBQWdCLEdBQTZCLElBQUksZUFBZSxDQUM5RCxLQUFLLENBQ04sQ0FBQztJQUVGOztPQUVHO0lBQ0gscUJBQXFCLEdBQ25CLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBRXJDOztPQUVHO0lBQ0gscUJBQXFCLEdBQ25CLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBRXJDOztPQUVHO0lBQ00sS0FBSyxDQUFjO0lBRTVCOztPQUVHO0lBQ00sSUFBSSxHQUFrQixhQUFhLENBQUMsSUFBSSxDQUFDO0lBRWxEOztPQUVHO0lBQ00sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRWxDOztPQUVHO0lBQ00sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1Qjs7T0FFRztJQUNNLEtBQUssR0FBRyxTQUFTLENBQUM7SUFFM0I7O09BRUc7SUFDTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBRS9COztPQUVHO0lBQ00sU0FBUyxHQUFHLElBQUksQ0FBQztJQUUxQjs7T0FFRztJQUNNLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFNUI7O09BRUc7SUFDTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBRTdCOztPQUVHO0lBQ00sUUFBUSxHQUFHLElBQUksQ0FBQztJQUV6Qjs7T0FFRztJQUNNLElBQUksR0FBRyxZQUFZLENBQUM7SUFFN0I7O09BRUc7SUFDTSxTQUFTLEdBQWtCLFFBQVEsQ0FBQztJQUU3Qzs7T0FFRztJQUNNLFNBQVMsR0FBa0IsT0FBTyxDQUFDO0lBRTVDOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNPLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFUSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUVoRTs7T0FFRztJQUNILElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDaEMsSUFBSSxFQUFFLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3BDLElBQUksRUFBRSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFDUyxPQUFnQixFQUNmLEtBQWlCLEVBQ2pCLEtBQXdCLEVBQ3pCLFlBQTBCO1FBSDFCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hDLENBQUM7SUFFSjs7T0FFRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZUFBZSxDQUFDLE1BQWM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQWhPVSxrQkFBa0I7NEZBQWxCLGtCQUFrQix3bkJDM0QvQiw4bUdBdUhBLGt0Q0R6RUksSUFBSSw0RkFDSixlQUFlLDJJQUNmLGdCQUFnQiw0VEFDaEIsYUFBYSxtTEFDYixhQUFhLHFNQUNiLHNCQUFzQixtTEFDdEIsS0FBSyxrSEFDTCxhQUFhLHltQkFDYixhQUFhLHdJQUNiLFNBQVMsNkNBQ1QsaUJBQWlCOzs0RkFHUixrQkFBa0I7a0JBcEI5QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHNCQUFzQjt3QkFDdEIsS0FBSzt3QkFDTCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCxpQkFBaUI7cUJBQ2xCO2dLQXVEUSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFNRixZQUFZO3NCQURmLEtBQUs7Z0JBUzZCLFdBQVc7c0JBQTdDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixjQUFjO3NCQURqQixXQUFXO3VCQUFDLGtCQUFrQjtnQkFTM0IsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBUzFCLGVBQWU7c0JBRGxCLFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtcbiAgTWF0TWVudU1vZHVsZSxcbiAgTWVudVBvc2l0aW9uWCxcbiAgTWVudVBvc2l0aW9uWVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmVXYXRjaGVyIH0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgTWVkaWEsIE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVkaWEnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWN0aW9uYmFyTW9kZSB9IGZyb20gJy4uL3NoYXJlZC9hY3Rpb24uZW51bXMnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblN0b3JlIH0gZnJvbSAnLi4vc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQSBsaXN0IG9mIGFjdGlvbiBidXR0b25zLlxuICogVGhpcyBjb21wb25lbnQgY2FuIGJlIGRpc3BsYXllZCBpbiBvbmUgb2YgdHdvIHdheTogJ2RvY2snIG9yICdvdmVybGF5J1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYWN0aW9uYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbmJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbmJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIEFjdGlvbmJhckl0ZW1Db21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgQWN0aW9uYmFyTW9kZSBlbnVtIGZvciB1c2UgaW4gdGhlIHRlbXBsYXRlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgYWN0aW9uYmFyTW9kZSA9IEFjdGlvbmJhck1vZGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbmJhciBpcyBjb2xsYXBzZWQgKERvY2sgbW9kZSlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb2xsYXBzZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVG9nZ2xlIGNvbGxhcHNlIGFjdGlvbiAoRG9jaylcbiAgICogQGludGVybmFsXG4gICAqL1xuICB0b2dnbGVDb2xsYXBzZUFjdGlvbiA9IHtcbiAgICBpZDogJ2FjdGlvbmJhcl90b2dnbGUnLFxuICAgIGljb246ICdtb3JlX3ZlcnQnLFxuICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogQWN0aW9uIHN0b3JlIHdhdGNoZXJcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxBY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBIZWlnaHQgQ29uZGl0aW9uIGZvciBzY3JvbGwgYnV0dG9uXG4gICAqL1xuICBoZWlnaHRDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KFxuICAgIGZhbHNlXG4gICk7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIENvbmRpdGlvbiBmb3IgdG9wIHNjcm9sbCBidXR0b25cbiAgICovXG4gIHBvc2l0aW9uQ29uZGl0aW9uVG9wJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBDb25kaXRpb24gZm9yIGxvdyBzY3JvbGwgYnV0dG9uXG4gICAqL1xuICBwb3NpdGlvbkNvbmRpdGlvbkxvdyQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKipcbiAgICogQWN0aW9uIHN0b3JlXG4gICAqL1xuICBASW5wdXQoKSBzdG9yZTogQWN0aW9uU3RvcmU7XG5cbiAgLyoqXG4gICAqIEFjdGlvbmJhciBtb2RlXG4gICAqL1xuICBASW5wdXQoKSBtb2RlOiBBY3Rpb25iYXJNb2RlID0gQWN0aW9uYmFyTW9kZS5Eb2NrO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgdG9nZ2xlIGJ1dHRvbiBzaG91bGQgYmUgZGlzcGxheWVkIChEb2NrIG1vZGUpXG4gICAqL1xuICBASW5wdXQoKSB3aXRoVG9nZ2xlQnV0dG9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSB0aGUgYWN0aW9uYmFyIHNob3VsZCBkaXNwbGF5IGJ1dHRvbnMgaG9yaXpvbnRhbGx5XG4gICAqL1xuICBASW5wdXQoKSBob3Jpem9udGFsID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENvbG9yXG4gICAqL1xuICBASW5wdXQoKSBjb2xvciA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogQ29sb3Igb2YgdGhlIGJ1dHRvbiBpZiBhY3Rpb24gbW9kZSA9PT0gb3ZlcmxheVxuICAgKi9cbiAgQElucHV0KCkgaWNvbkNvbG9yID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFjdGlvbiB0aXRsZXMgYXJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRpdGxlID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gdG9vbHRpcHMgYXJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgd2l0aFRvb2x0aXAgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFjdGlvbiB0aXRsZXMgYXJlIGRpc3BsYXllZCAoY29uZGl0aW9uIGZvciBzY3JvbGwgYnV0dG9uKVxuICAgKi9cbiAgQElucHV0KCkgc2Nyb2xsQWN0aXZlID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciBhY3Rpb24gaWNvbnMgYXJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgd2l0aEljb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGljaCBpY29uIHdhbnQgdG8gYmUgc2hvd25cbiAgICovXG4gIEBJbnB1dCgpIGljb24gPSAnbW9yZV9ob3Jpeic7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgWCBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgeFBvc2l0aW9uOiBNZW51UG9zaXRpb25YID0gJ2JlZm9yZSc7XG5cbiAgLyoqXG4gICAqIE92ZXJsYXkgWSBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgeVBvc2l0aW9uOiBNZW51UG9zaXRpb25ZID0gJ2Fib3ZlJztcblxuICAvKipcbiAgICogQ2xhc3MgdG8gYWRkIHRvIHRoZSBhY3Rpb25iYXIgb3ZlcmxheVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG92ZXJsYXlDbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fb3ZlcmxheUNsYXNzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IG92ZXJsYXlDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5fb3ZlcmxheUNsYXNzLCAnaWdvLWFjdGlvbmJhci1vdmVybGF5J10uam9pbignICcpO1xuICB9XG4gIHByaXZhdGUgX292ZXJsYXlDbGFzcyA9ICcnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtY29sbGFwc2VkJykgaXNDb2xsYXBzZWQgPSB0aGlzLmNvbGxhcHNlZDtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53aXRoLXRpdGxlJylcbiAgZ2V0IHdpdGhUaXRsZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLndpdGhUaXRsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtaWNvbicpXG4gIGdldCB3aXRoSWNvbkNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLndpdGhJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaG9yaXpvbnRhbCcpXG4gIGdldCBob3Jpem9udGFsQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9yaXpvbnRhbDtcbiAgfVxuXG4gIGdldCBoZWlnaHRDb25kaXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuc2Nyb2xsQWN0aXZlID09PSBmYWxzZSkge1xuICAgICAgaWYgKGVsLmNsaWVudEhlaWdodCA8IGVsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQ29uZGl0aW9uVG9wKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uQ29uZGl0aW9uTG93KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChlbC5zY3JvbGxUb3AgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IGlzRGVza3RvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZWRpYVNlcnZpY2UuZ2V0TWVkaWEoKSA9PT0gTWVkaWEuRGVza3RvcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3Qgc3RvcmUgPSBjaGFuZ2VzLnN0b3JlO1xuICAgIGlmIChzdG9yZSAmJiBzdG9yZS5jdXJyZW50VmFsdWUgIT09IHN0b3JlLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLndhdGNoZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xuICAgICAgfVxuICAgICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZSB0aGUgYWN0aW9uIGhhbmRsZXJcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRyaWdnZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pIHtcbiAgICBjb25zdCBhcmdzID0gYWN0aW9uLmFyZ3MgfHwgW107XG4gICAgYWN0aW9uLmhhbmRsZXIoLi4uYXJncyk7XG4gIH1cblxuICBzY3JvbGxEb3duKCkge1xuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxCeSgwLCA1Mik7XG4gIH1cblxuICBzY3JvbGxVcCgpIHtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoMCwgLTUyKTtcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cImhlaWdodENvbmRpdGlvbiAmJiBwb3NpdGlvbkNvbmRpdGlvblRvcCAmJiBpc0Rlc2t0b3BcIlxuICBpZD1cInRvcENoZXZyb25cIlxuPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbW1vbi5hY3Rpb25iYXIuc2Nyb2xsVXAnIHwgdHJhbnNsYXRlXCJcbiAgICAoY2xpY2spPVwic2Nyb2xsVXAoKVwiXG4gID5cbiAgICA8bWF0LWljb24+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPG1hdC1saXN0ICpuZ0lmPVwibW9kZSA9PT0gYWN0aW9uYmFyTW9kZS5Eb2NrXCIgbWF0TGlzdEl0ZW1JY29uPlxuICA8aWdvLWFjdGlvbmJhci1pdGVtXG4gICAgKm5nSWY9XCJ3aXRoVG9nZ2xlQnV0dG9uXCJcbiAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgW3dpdGhUaXRsZV09XCJmYWxzZVwiXG4gICAgW3dpdGhJY29uXT1cInRydWVcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2Rpc2FibGVkXT1cInN0b3JlLnZpZXcuZW1wdHlcIlxuICAgIFthY3Rpb25dPVwidG9nZ2xlQ29sbGFwc2VBY3Rpb25cIlxuICAgICh0cmlnZ2VyKT1cIm9uVHJpZ2dlckFjdGlvbih0b2dnbGVDb2xsYXBzZUFjdGlvbilcIlxuICA+XG4gIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuXG4gIDxuZy10ZW1wbGF0ZVxuICAgICNidXR0b25Db250ZW50XG4gICAgKm5nSWY9XCIhY29sbGFwc2VkXCJcbiAgICBuZ0ZvclxuICAgIGxldC1hY3Rpb25cbiAgICBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCJcbiAgPlxuICAgIDxpZ28tYWN0aW9uYmFyLWl0ZW1cbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcbiAgICAgIFt3aXRoSWNvbl09XCJ3aXRoSWNvblwiXG4gICAgICBbd2l0aFRvb2x0aXBdPVwid2l0aFRvb2x0aXBcIlxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzdG9yZS5zdGF0ZS5nZXQoYWN0aW9uKS5kaXNhYmxlZFwiXG4gICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24oYWN0aW9uKVwiXG4gICAgPlxuICAgIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuICA8L25nLXRlbXBsYXRlPlxuPC9tYXQtbGlzdD5cblxuPGRpdlxuICAqbmdJZj1cImhlaWdodENvbmRpdGlvbiAmJiBwb3NpdGlvbkNvbmRpdGlvbkxvdyAmJiBpc0Rlc2t0b3BcIlxuICBpZD1cImxvd0NoZXZyb25cIlxuPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmNvbW1vbi5hY3Rpb25iYXIuc2Nyb2xsRG93bicgfCB0cmFuc2xhdGVcIlxuICAgIChjbGljayk9XCJzY3JvbGxEb3duKClcIlxuICA+XG4gICAgPG1hdC1pY29uPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIm1vZGUgPT09IGFjdGlvbmJhck1vZGUuT3ZlcmxheVwiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidXR0b25PdmVybGF5XCJcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uY29tbW9uLmFjdGlvbmJhci5pY29uJyB8IHRyYW5zbGF0ZVwiXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbmJhck1lbnVcIlxuICAgIFtkaXNhYmxlZF09XCJzdG9yZS52aWV3LmVtcHR5XCJcbiAgICBbY29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgPlxuICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1tZW51XG4gICAgI2FjdGlvbmJhck1lbnU9XCJtYXRNZW51XCJcbiAgICBjbGFzcz1cImlnby1jb21wYWN0LW1lbnUgaWdvLW5vLW1pbi13aWR0aC1tZW51XCJcbiAgICBvdmVybGFwVHJpZ2dlcj1cInRydWVcIlxuICAgIFt4UG9zaXRpb25dPVwieFBvc2l0aW9uXCJcbiAgICBbeVBvc2l0aW9uXT1cInlQb3NpdGlvblwiXG4gICAgW2NsYXNzXT1cIm92ZXJsYXlDbGFzc1wiXG4gID5cbiAgICA8bWF0LWxpc3Q+XG4gICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWFjdGlvbiBbbmdGb3JPZl09XCJzdG9yZS52aWV3LmFsbCQoKSB8IGFzeW5jXCI+XG4gICAgICAgIDxpZ28tYWN0aW9uYmFyLWl0ZW1cbiAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgW3dpdGhUaXRsZV09XCJ3aXRoVGl0bGVcIlxuICAgICAgICAgIFt3aXRoSWNvbl09XCJ3aXRoSWNvblwiXG4gICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgKHRyaWdnZXIpPVwib25UcmlnZ2VyQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICA+XG4gICAgICAgIDwvaWdvLWFjdGlvbmJhci1pdGVtPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1saXN0PlxuICA8L21hdC1tZW51PlxuPC9kaXY+XG48bWF0LWNhcmRcbiAgKm5nSWY9XCJtb2RlID09PSBhY3Rpb25iYXJNb2RlLkNvbnRleHRcIlxuICBjbGFzcz1cImNvbnRleHQtbWVudS1jYXJkIG1hdC1lbGV2YXRpb24tejRcIlxuPlxuICA8bWF0LWxpc3Q+XG4gICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1hY3Rpb24gW25nRm9yT2ZdPVwic3RvcmUudmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgICAgPGlnby1hY3Rpb25iYXItaXRlbVxuICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgIFt3aXRoVGl0bGVdPVwid2l0aFRpdGxlXCJcbiAgICAgICAgW3dpdGhJY29uXT1cIndpdGhJY29uXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIlxuICAgICAgICAodHJpZ2dlcik9XCJvblRyaWdnZXJBY3Rpb24oYWN0aW9uKVwiXG4gICAgICA+XG4gICAgICA8L2lnby1hY3Rpb25iYXItaXRlbT5cbiAgICAgIDxiciAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LWxpc3Q+XG48L21hdC1jYXJkPlxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ActionbarComponent } from './actionbar.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated import the ActionbarComponent directly
|
|
6
|
+
*/
|
|
7
|
+
export class IgoActionbarModule {
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoActionbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoActionbarModule, imports: [ActionbarComponent], exports: [ActionbarComponent] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoActionbarModule, imports: [ActionbarComponent] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoActionbarModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [ActionbarComponent],
|
|
16
|
+
exports: [ActionbarComponent]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9hY3Rpb24vc3JjL2FjdGlvbmJhci9hY3Rpb25iYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNEOztHQUVHO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjt3R0FBbEIsa0JBQWtCO3lHQUFsQixrQkFBa0IsWUFIbkIsa0JBQWtCLGFBQ2xCLGtCQUFrQjt5R0FFakIsa0JBQWtCLFlBSG5CLGtCQUFrQjs7NEZBR2pCLGtCQUFrQjtrQkFKOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25iYXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIEFjdGlvbmJhckNvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQWN0aW9uYmFyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0FjdGlvbmJhckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvQWN0aW9uYmFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb21tb24tYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2FjdGlvbi9zcmMvaWdvMi1jb21tb24tYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './shared';
|
|
2
|
+
export * from './action.module';
|
|
3
|
+
export * from './actionbar/actionbar.module';
|
|
4
|
+
export * from './actionbar/actionbar.component';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9hY3Rpb24vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25iYXIvYWN0aW9uYmFyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcbiJdfQ==
|