@igo2/common 18.0.1-next.2 → 18.0.2
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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-image.mjs","sources":["../../../packages/common/image/src/image-error.directive.ts","../../../packages/common/image/src/secure-image.pipe.ts","../../../packages/common/image/src/image.module.ts","../../../packages/common/image/src/public_api.ts","../../../packages/common/image/src/igo2-common-image.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[igoImageError]',\n standalone: true\n})\nexport class ImageErrorDirective {\n @Input() errorImageUrl = './assets/igo2/common/images/na.png';\n @Input() hideError = false;\n\n constructor(private el: ElementRef) {}\n\n @HostListener('error', ['$event'])\n public onError(event: any): void {\n if (this.hideError) {\n this.el.nativeElement.style.display = 'none';\n } else {\n event.target.src = this.errorImageUrl;\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Pipe, PipeTransform } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\n@Pipe({\n name: 'secureImage',\n standalone: true\n})\nexport class SecureImagePipe implements PipeTransform {\n constructor(\n private http: HttpClient,\n private configService?: ConfigService\n ) {}\n\n @Cacheable({\n maxCacheCount: 20\n })\n transform(url: string): Observable<string> {\n const headers = new HttpHeaders({\n 'Content-Type': 'text/plain',\n activityInterceptor: 'false',\n interceptError: 'false'\n });\n\n const regexDepot = new RegExp(\n this.configService?.getConfig('depot.url') + '.*?(?=\"|$)'\n );\n if (regexDepot.test(url)) {\n url = url.match(regexDepot)[0];\n }\n\n return this.http\n .get(url, {\n headers,\n responseType: 'blob'\n })\n .pipe(\n catchError((err) => {\n err.error.caught = true;\n err.error.toDisplay = false;\n throw err;\n }),\n switchMap((blob) => {\n return new Observable((observer) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n observer.next(reader.result);\n observer.complete();\n };\n });\n })\n ) as Observable<string>;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\n/**\n * @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set\n */\n@NgModule({\n imports: [SecureImagePipe, ImageErrorDirective],\n exports: [SecureImagePipe, ImageErrorDirective]\n})\nexport class IgoImageModule {\n static forRoot(): ModuleWithProviders<IgoImageModule> {\n return {\n ngModule: IgoImageModule,\n providers: []\n };\n }\n}\n","import { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\nexport * from './image.module';\nexport * from './image-error.directive';\nexport * from './secure-image.pipe';\n\nexport const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;MAMa,mBAAmB,CAAA;AAIV,IAAA,EAAA;IAHX,aAAa,GAAG,oCAAoC;
|
|
1
|
+
{"version":3,"file":"igo2-common-image.mjs","sources":["../../../packages/common/image/src/image-error.directive.ts","../../../packages/common/image/src/secure-image.pipe.ts","../../../packages/common/image/src/image.module.ts","../../../packages/common/image/src/public_api.ts","../../../packages/common/image/src/igo2-common-image.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[igoImageError]',\n standalone: true\n})\nexport class ImageErrorDirective {\n @Input() errorImageUrl = './assets/igo2/common/images/na.png';\n @Input() hideError = false;\n\n constructor(private el: ElementRef) {}\n\n @HostListener('error', ['$event'])\n public onError(event: any): void {\n if (this.hideError) {\n this.el.nativeElement.style.display = 'none';\n } else {\n event.target.src = this.errorImageUrl;\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Pipe, PipeTransform } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { Cacheable } from 'ts-cacheable';\n\n@Pipe({\n name: 'secureImage',\n standalone: true\n})\nexport class SecureImagePipe implements PipeTransform {\n constructor(\n private http: HttpClient,\n private configService?: ConfigService\n ) {}\n\n @Cacheable({\n maxCacheCount: 20\n })\n transform(url: string): Observable<string> {\n const headers = new HttpHeaders({\n 'Content-Type': 'text/plain',\n activityInterceptor: 'false',\n interceptError: 'false'\n });\n\n const regexDepot = new RegExp(\n this.configService?.getConfig('depot.url') + '.*?(?=\"|$)'\n );\n if (regexDepot.test(url)) {\n url = url.match(regexDepot)[0];\n }\n\n return this.http\n .get(url, {\n headers,\n responseType: 'blob'\n })\n .pipe(\n catchError((err) => {\n err.error.caught = true;\n err.error.toDisplay = false;\n throw err;\n }),\n switchMap((blob) => {\n return new Observable((observer) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n observer.next(reader.result);\n observer.complete();\n };\n });\n })\n ) as Observable<string>;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\n/**\n * @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set\n */\n@NgModule({\n imports: [SecureImagePipe, ImageErrorDirective],\n exports: [SecureImagePipe, ImageErrorDirective]\n})\nexport class IgoImageModule {\n static forRoot(): ModuleWithProviders<IgoImageModule> {\n return {\n ngModule: IgoImageModule,\n providers: []\n };\n }\n}\n","import { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\nexport * from './image.module';\nexport * from './image-error.directive';\nexport * from './secure-image.pipe';\n\nexport const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -56,10 +56,10 @@ class InteractiveTourLoader {
|
|
|
56
56
|
nameInConfigFile = nameInConfigFile.replace(/\s/g, '');
|
|
57
57
|
return this.allToursOptions[nameInConfigFile];
|
|
58
58
|
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourLoader, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourLoader });
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourLoader, decorators: [{
|
|
63
63
|
type: Injectable
|
|
64
64
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
65
65
|
|
|
@@ -343,10 +343,10 @@ class InteractiveTourService {
|
|
|
343
343
|
});
|
|
344
344
|
this.shepherdService.start();
|
|
345
345
|
}
|
|
346
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
347
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
346
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourService, deps: [{ token: i2.ConfigService }, { token: i2$1.MediaService }, { token: i3.LanguageService }, { token: InteractiveTourLoader }, { token: i5.ShepherdService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
347
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourService, providedIn: 'root' });
|
|
348
348
|
}
|
|
349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourService, decorators: [{
|
|
350
350
|
type: Injectable,
|
|
351
351
|
args: [{
|
|
352
352
|
providedIn: 'root'
|
|
@@ -443,12 +443,12 @@ class InteractiveTourComponent {
|
|
|
443
443
|
return;
|
|
444
444
|
}
|
|
445
445
|
}
|
|
446
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
447
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
446
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourComponent, deps: [{ token: InteractiveTourService }, { token: i2$2.ToolService }, { token: i3$1.IconService }], target: i0.ɵɵFactoryTarget.Component });
|
|
447
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InteractiveTourComponent, isStandalone: true, selector: "igo-interactive-tour", inputs: { tourToStart: "tourToStart", styleButton: "styleButton", discoverTitleInLocale$: "discoverTitleInLocale$" }, ngImport: i0, template: "<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n", styles: ["igo-interactive-tour>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-text{font-size:14px!important}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
448
448
|
}
|
|
449
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InteractiveTourComponent, decorators: [{
|
|
450
450
|
type: Component,
|
|
451
|
-
args: [{ selector: 'igo-interactive-tour', encapsulation: ViewEncapsulation.None, imports: [
|
|
451
|
+
args: [{ selector: 'igo-interactive-tour', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
452
452
|
NgIf,
|
|
453
453
|
MatButtonModule,
|
|
454
454
|
NgClass,
|
|
@@ -467,11 +467,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
|
|
|
467
467
|
}] } });
|
|
468
468
|
|
|
469
469
|
class IgoInteractiveTourModule {
|
|
470
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
471
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
472
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
470
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoInteractiveTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
471
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoInteractiveTourModule, imports: [InteractiveTourComponent], exports: [InteractiveTourComponent] });
|
|
472
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoInteractiveTourModule, providers: [InteractiveTourService, InteractiveTourLoader], imports: [InteractiveTourComponent] });
|
|
473
473
|
}
|
|
474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
474
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoInteractiveTourModule, decorators: [{
|
|
475
475
|
type: NgModule,
|
|
476
476
|
args: [{
|
|
477
477
|
imports: [InteractiveTourComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-interactive-tour.mjs","sources":["../../../packages/common/interactive-tour/src/interactive-tour.loader.ts","../../../packages/common/interactive-tour/src/interactive-tour.service.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.html","../../../packages/common/interactive-tour/src/interactive-tour.module.ts","../../../packages/common/interactive-tour/src/igo2-common-interactive-tour.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { InteractiveTourOptions } from './interactive-tour.interface';\n\n@Injectable()\nexport class InteractiveTourLoader {\n private jsonURL: string;\n private allToursOptions;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.jsonURL = this.getPathToConfigFile();\n }\n\n public loadConfigTour() {\n this.getJSON().subscribe(\n (data) => {\n this.allToursOptions = data;\n },\n () => {\n throw new Error(\n `Problem with Interactive tour configuration file: interactiveTour.json not find. Check if the file and is path is set correctly.`\n );\n }\n );\n }\n\n public getPathToConfigFile(): string {\n return (\n this.configService.getConfig('interactiveTour.pathToConfigFile') ||\n './config/interactiveTour.json'\n );\n }\n\n public getJSON(): Observable<any> {\n return this.http.get(this.jsonURL).pipe(\n catchError((e) => {\n e.error.caught = true;\n throw e;\n })\n );\n }\n\n public getTourOptionData(toolName): InteractiveTourOptions {\n if (this.allToursOptions === undefined) {\n return undefined;\n }\n let nameInConfigFile = toolName;\n nameInConfigFile = nameInConfigFile.replace(/\\s/g, '');\n return this.allToursOptions[nameInConfigFile];\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\nimport { MediaService } from '@igo2/core/media';\n\nimport { autoPlacement, offset } from '@floating-ui/dom';\nimport { ShepherdService } from 'angular-shepherd';\nimport { StepOptions } from 'shepherd.js';\n\nimport {\n InteractiveTourAction,\n InteractiveTourOptions,\n InteractiveTourStep\n} from './interactive-tour.interface';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteractiveTourService {\n private previousStep: InteractiveTourStep;\n private nextIndex = 1;\n\n constructor(\n private configService: ConfigService,\n private mediaService: MediaService,\n private languageService: LanguageService,\n private interactiveTourLoader: InteractiveTourLoader,\n private shepherdService: ShepherdService\n ) {\n if (this.isAppHaveTour()) {\n this.interactiveTourLoader.loadConfigTour();\n }\n }\n\n public isAppHaveTour() {\n const haveTour = this.configService.getConfig(\n 'interactiveTour.activateInteractiveTour'\n );\n if (haveTour === undefined) {\n return true;\n } else {\n return haveTour;\n }\n }\n\n public isToolHaveTourConfig(toolName: string): boolean {\n const checkTourActiveOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n if (checkTourActiveOptions === undefined) {\n return false;\n } else {\n return true;\n }\n }\n\n public disabledTourButton(toolName: string): boolean {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n if (stepConfig?.conditions) {\n for (const condition of stepConfig.conditions) {\n if (document.querySelector(condition) === null) {\n return true;\n }\n }\n }\n return false;\n }\n\n public isMobile(): boolean {\n return this.mediaService.isMobile();\n }\n\n public isTourDisplayInMobile(): boolean {\n const showInMobile = this.configService.getConfig(\n 'interactiveTour.tourInMobile'\n );\n\n return showInMobile === undefined ? true : showInMobile;\n }\n\n private getButtons(buttonKind?: 'first' | 'last' | 'noBackButton') {\n if (buttonKind === 'noBackButton') {\n return [\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n if (buttonKind === 'first') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n if (buttonKind === 'last') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n }\n ];\n }\n\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n private getAction(actionName: string) {\n const action = {\n click: 'click'\n };\n return action[actionName.toLowerCase()];\n }\n\n private addProgress() {\n const self = this as any;\n let nbTry = 0;\n const maxTry = 21;\n const checkExist = setInterval(() => {\n if (self.getCurrentStep()) {\n if (\n self.getCurrentStep().options.attachTo.element &&\n !document.querySelector(\n self.getCurrentStep().options.attachTo.element\n )\n ) {\n self.cancel();\n clearInterval(checkExist);\n return;\n } else {\n const currentStepElement = self.getCurrentStep().getElement();\n if (currentStepElement) {\n const shepherdList = currentStepElement.querySelectorAll(\n '.shepherd-content, .shepherd-text'\n );\n shepherdList.forEach((element) => {\n element.classList.add('mat-typography');\n });\n }\n const header = currentStepElement\n ? currentStepElement.querySelector('.shepherd-header')\n : undefined;\n\n nbTry++;\n if (header || nbTry > maxTry) {\n clearInterval(checkExist);\n }\n\n if (header) {\n const stepsArray = self.steps;\n const progress = document.createElement('span');\n progress.className = 'shepherd-progress';\n progress.innerText = `${\n stepsArray.indexOf(self.getCurrentStep()) + 1\n }/${stepsArray.length}`;\n header.insertBefore(\n progress,\n currentStepElement.querySelector('.shepherd-cancel-icon')\n );\n }\n }\n }\n }, 100);\n }\n\n private checkNext(index, tour, service) {\n if (tour.getCurrentStep()) {\n if (\n tour.getCurrentStep().options.attachTo.element &&\n document.querySelector(tour.getCurrentStep().options.attachTo.element)\n ) {\n tour.complete();\n return;\n }\n\n if (index.index === tour.steps.length - 1) {\n tour.complete();\n return;\n }\n\n tour.steps.splice(index.index, 1);\n const nextStep = tour.steps[index.index];\n if (\n nextStep.options.attachTo.element &&\n !document.querySelector(nextStep.options.attachTo.element)\n ) {\n service.checkNext(index, tour, service);\n } else {\n tour._setupModal();\n tour.show(nextStep.id);\n }\n }\n }\n\n private executeAction(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n if (!actionConfig) {\n return;\n }\n\n if (\n actionConfig.condition &&\n ((actionConfig.condition.charAt(0) === '!' &&\n document.querySelector(actionConfig.condition.slice(1))) ||\n (actionConfig.condition.charAt(0) !== '!' &&\n !document.querySelector(actionConfig.condition)))\n ) {\n return;\n }\n\n const element: HTMLElement = document.querySelector(\n actionConfig.element || step.element\n ) as HTMLElement;\n const action = this.getAction(actionConfig.action);\n if (element && action) {\n element[action]();\n }\n }\n\n private executeActionPromise(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n return new Promise<void>((resolve) => {\n this.executeAction(step, actionConfig);\n if (!actionConfig || !actionConfig.waitFor) {\n resolve();\n return;\n }\n let nbTry = 0;\n const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;\n const checkExist = setInterval(() => {\n nbTry++;\n if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {\n clearInterval(checkExist);\n resolve();\n }\n }, 100);\n });\n }\n\n private getShepherdSteps(tourConfig: InteractiveTourOptions) {\n const shepherdSteps: StepOptions[] = [];\n\n let i = 0;\n for (const step of tourConfig.steps) {\n const position = step.position ?? tourConfig.position;\n shepherdSteps.push({\n attachTo: {\n element: step.element,\n on: position as any // PopperPlacement\n },\n floatingUIOptions: {\n middleware: [\n position === 'auto' && autoPlacement(),\n offset({ mainAxis: 15 })\n ].filter(Boolean)\n },\n beforeShowPromise: () => {\n return Promise.all([\n this.executeActionPromise(\n this.previousStep,\n this.previousStep ? this.previousStep.beforeChange : undefined\n ),\n this.executeActionPromise(step, step.beforeShow)\n ]);\n },\n buttons: this.getButtons(\n i === 0\n ? 'first'\n : i + 1 === tourConfig.steps.length\n ? 'last'\n : tourConfig.steps[i].noBackButton\n ? 'noBackButton'\n : undefined\n ),\n classes: step.class,\n highlightClass: step.highlightClass,\n scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,\n canClickTarget: step.disableInteraction\n ? !step.disableInteraction\n : undefined,\n title: this.languageService.translate.instant(\n step.title || tourConfig.title\n ),\n text: [this.languageService.translate.instant(step.text)],\n when: {\n show: () => {\n this.executeAction(step, step.onShow);\n },\n hide: () => {\n this.previousStep = step;\n this.executeAction(step, step.onHide);\n }\n }\n } satisfies StepOptions);\n i++;\n }\n\n return shepherdSteps;\n }\n\n public startTour(toolName: string) {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n this.shepherdService.defaultStepOptions = {\n classes: stepConfig.class,\n highlightClass: stepConfig.highlightClass,\n canClickTarget: stepConfig.disableInteraction\n ? !stepConfig.disableInteraction\n : true,\n cancelIcon: {\n enabled: true\n }\n };\n\n const shepherdSteps = this.getShepherdSteps(stepConfig);\n\n this.shepherdService.modal = true;\n this.shepherdService.confirmCancel = false;\n this.shepherdService.addSteps(shepherdSteps);\n\n this.shepherdService.tourObject.on('show', this.addProgress);\n this.shepherdService.tourObject.on('cancel', (index) => {\n this.checkNext(index, this.shepherdService.tourObject, this);\n });\n\n this.shepherdService.start();\n }\n}\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {\n IconService,\n IgoIconComponent,\n PRESENTATION_PLAY_ICON\n} from '@igo2/common/icon';\nimport { ToolService } from '@igo2/common/tool';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { Observable, of } from 'rxjs';\n\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@Component({\n selector: 'igo-interactive-tour',\n templateUrl: './interactive-tour.component.html',\n styleUrls: ['./interactive-tour.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n MatButtonModule,\n NgClass,\n MatTooltipModule,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class InteractiveTourComponent {\n presentationIcon = PRESENTATION_PLAY_ICON;\n\n /**\n * Toolbox that holds main tools\n */\n @Input() tourToStart = '';\n @Input() styleButton: 'icon' | 'raised';\n @Input() discoverTitleInLocale$: Observable<string> = of('IGO');\n\n getClass() {\n return {\n 'tour-button-tool-icon': this.styleButton === 'icon',\n 'tour-button-tool': this.styleButton === 'raised'\n };\n }\n\n get toolbox() {\n return this.toolService.toolbox;\n }\n\n getTourToStart() {\n if (this.tourToStart) {\n return this.tourToStart;\n } else {\n return this.activeToolName;\n }\n }\n\n get activeToolName() {\n if (this.toolbox) {\n if (this.isActiveTool) {\n return this.toolbox.activeTool$.getValue().name;\n } else {\n return 'global';\n }\n } else {\n return undefined;\n }\n }\n\n get isActiveTool(): boolean {\n if (this.toolbox) {\n return this.toolbox.activeTool$.getValue() !== undefined;\n } else {\n return undefined;\n }\n }\n\n get isToolHaveTour(): boolean {\n if (this.activeToolName === 'about' && !this.tourToStart) {\n return false;\n }\n return this.interactiveTourService.isToolHaveTourConfig(\n this.getTourToStart()\n );\n }\n\n get showTourButton(): boolean {\n // 2 conditions to show: have Tour on tool in Config file and if we are in mobile displayInMobile= true\n if (this.isToolHaveTour === false) {\n return false;\n }\n\n let inMobileAndShow: boolean;\n if (this.interactiveTourService.isMobile()) {\n inMobileAndShow = this.isTourDisplayInMobile;\n if (inMobileAndShow === false) {\n return false;\n }\n }\n return true;\n }\n\n get isTourDisplayInMobile(): boolean {\n return this.interactiveTourService.isTourDisplayInMobile();\n }\n\n get disabledTourButton(): boolean {\n return this.interactiveTourService.disabledTourButton(this.activeToolName);\n }\n\n constructor(\n private interactiveTourService: InteractiveTourService,\n private toolService: ToolService,\n private iconService: IconService\n ) {\n this.iconService.registerSvg(this.presentationIcon);\n }\n\n startInteractiveTour() {\n const tour = this.getTourToStart();\n if (tour) {\n this.interactiveTourService.startTour(tour);\n } else {\n return;\n }\n }\n}\n","<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { InteractiveTourComponent } from './interactive-tour.component';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@NgModule({\n imports: [InteractiveTourComponent],\n exports: [InteractiveTourComponent],\n providers: [InteractiveTourService, InteractiveTourLoader]\n})\nexport class IgoInteractiveTourModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4.InteractiveTourLoader","i1.InteractiveTourService","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-interactive-tour.mjs","sources":["../../../packages/common/interactive-tour/src/interactive-tour.loader.ts","../../../packages/common/interactive-tour/src/interactive-tour.service.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.html","../../../packages/common/interactive-tour/src/interactive-tour.module.ts","../../../packages/common/interactive-tour/src/igo2-common-interactive-tour.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { InteractiveTourOptions } from './interactive-tour.interface';\n\n@Injectable()\nexport class InteractiveTourLoader {\n private jsonURL: string;\n private allToursOptions;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.jsonURL = this.getPathToConfigFile();\n }\n\n public loadConfigTour() {\n this.getJSON().subscribe(\n (data) => {\n this.allToursOptions = data;\n },\n () => {\n throw new Error(\n `Problem with Interactive tour configuration file: interactiveTour.json not find. Check if the file and is path is set correctly.`\n );\n }\n );\n }\n\n public getPathToConfigFile(): string {\n return (\n this.configService.getConfig('interactiveTour.pathToConfigFile') ||\n './config/interactiveTour.json'\n );\n }\n\n public getJSON(): Observable<any> {\n return this.http.get(this.jsonURL).pipe(\n catchError((e) => {\n e.error.caught = true;\n throw e;\n })\n );\n }\n\n public getTourOptionData(toolName): InteractiveTourOptions {\n if (this.allToursOptions === undefined) {\n return undefined;\n }\n let nameInConfigFile = toolName;\n nameInConfigFile = nameInConfigFile.replace(/\\s/g, '');\n return this.allToursOptions[nameInConfigFile];\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\nimport { MediaService } from '@igo2/core/media';\n\nimport { autoPlacement, offset } from '@floating-ui/dom';\nimport { ShepherdService } from 'angular-shepherd';\nimport Shepherd from 'shepherd.js';\n\nimport {\n InteractiveTourAction,\n InteractiveTourOptions,\n InteractiveTourStep\n} from './interactive-tour.interface';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteractiveTourService {\n private previousStep: InteractiveTourStep;\n private nextIndex = 1;\n\n constructor(\n private configService: ConfigService,\n private mediaService: MediaService,\n private languageService: LanguageService,\n private interactiveTourLoader: InteractiveTourLoader,\n private shepherdService: ShepherdService\n ) {\n if (this.isAppHaveTour()) {\n this.interactiveTourLoader.loadConfigTour();\n }\n }\n\n public isAppHaveTour() {\n const haveTour = this.configService.getConfig(\n 'interactiveTour.activateInteractiveTour'\n );\n if (haveTour === undefined) {\n return true;\n } else {\n return haveTour;\n }\n }\n\n public isToolHaveTourConfig(toolName: string): boolean {\n const checkTourActiveOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n if (checkTourActiveOptions === undefined) {\n return false;\n } else {\n return true;\n }\n }\n\n public disabledTourButton(toolName: string): boolean {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n if (stepConfig?.conditions) {\n for (const condition of stepConfig.conditions) {\n if (document.querySelector(condition) === null) {\n return true;\n }\n }\n }\n return false;\n }\n\n public isMobile(): boolean {\n return this.mediaService.isMobile();\n }\n\n public isTourDisplayInMobile(): boolean {\n const showInMobile = this.configService.getConfig(\n 'interactiveTour.tourInMobile'\n );\n\n return showInMobile === undefined ? true : showInMobile;\n }\n\n private getButtons(buttonKind?: 'first' | 'last' | 'noBackButton') {\n if (buttonKind === 'noBackButton') {\n return [\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n if (buttonKind === 'first') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n if (buttonKind === 'last') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n }\n ];\n }\n\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n private getAction(actionName: string) {\n const action = {\n click: 'click'\n };\n return action[actionName.toLowerCase()];\n }\n\n private addProgress() {\n const self = this as any;\n let nbTry = 0;\n const maxTry = 21;\n const checkExist = setInterval(() => {\n if (self.getCurrentStep()) {\n if (\n self.getCurrentStep().options.attachTo.element &&\n !document.querySelector(\n self.getCurrentStep().options.attachTo.element\n )\n ) {\n self.cancel();\n clearInterval(checkExist);\n return;\n } else {\n const currentStepElement = self.getCurrentStep().getElement();\n if (currentStepElement) {\n const shepherdList = currentStepElement.querySelectorAll(\n '.shepherd-content, .shepherd-text'\n );\n shepherdList.forEach((element) => {\n element.classList.add('mat-typography');\n });\n }\n const header = currentStepElement\n ? currentStepElement.querySelector('.shepherd-header')\n : undefined;\n\n nbTry++;\n if (header || nbTry > maxTry) {\n clearInterval(checkExist);\n }\n\n if (header) {\n const stepsArray = self.steps;\n const progress = document.createElement('span');\n progress.className = 'shepherd-progress';\n progress.innerText = `${\n stepsArray.indexOf(self.getCurrentStep()) + 1\n }/${stepsArray.length}`;\n header.insertBefore(\n progress,\n currentStepElement.querySelector('.shepherd-cancel-icon')\n );\n }\n }\n }\n }, 100);\n }\n\n private checkNext(index, tour, service) {\n if (tour.getCurrentStep()) {\n if (\n tour.getCurrentStep().options.attachTo.element &&\n document.querySelector(tour.getCurrentStep().options.attachTo.element)\n ) {\n tour.complete();\n return;\n }\n\n if (index.index === tour.steps.length - 1) {\n tour.complete();\n return;\n }\n\n tour.steps.splice(index.index, 1);\n const nextStep = tour.steps[index.index];\n if (\n nextStep.options.attachTo.element &&\n !document.querySelector(nextStep.options.attachTo.element)\n ) {\n service.checkNext(index, tour, service);\n } else {\n tour._setupModal();\n tour.show(nextStep.id);\n }\n }\n }\n\n private executeAction(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n if (!actionConfig) {\n return;\n }\n\n if (\n actionConfig.condition &&\n ((actionConfig.condition.charAt(0) === '!' &&\n document.querySelector(actionConfig.condition.slice(1))) ||\n (actionConfig.condition.charAt(0) !== '!' &&\n !document.querySelector(actionConfig.condition)))\n ) {\n return;\n }\n\n const element: HTMLElement = document.querySelector(\n actionConfig.element || step.element\n ) as HTMLElement;\n const action = this.getAction(actionConfig.action);\n if (element && action) {\n element[action]();\n }\n }\n\n private executeActionPromise(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n return new Promise<void>((resolve) => {\n this.executeAction(step, actionConfig);\n if (!actionConfig || !actionConfig.waitFor) {\n resolve();\n return;\n }\n let nbTry = 0;\n const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;\n const checkExist = setInterval(() => {\n nbTry++;\n if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {\n clearInterval(checkExist);\n resolve();\n }\n }, 100);\n });\n }\n\n private getShepherdSteps(tourConfig: InteractiveTourOptions) {\n const shepherdSteps: Shepherd.Step.StepOptions[] = [];\n\n let i = 0;\n for (const step of tourConfig.steps) {\n const position = step.position ?? tourConfig.position;\n shepherdSteps.push({\n attachTo: {\n element: step.element,\n on: position as any // PopperPlacement\n },\n floatingUIOptions: {\n middleware: [\n position === 'auto' && autoPlacement(),\n offset({ mainAxis: 15 })\n ].filter(Boolean)\n },\n beforeShowPromise: () => {\n return Promise.all([\n this.executeActionPromise(\n this.previousStep,\n this.previousStep ? this.previousStep.beforeChange : undefined\n ),\n this.executeActionPromise(step, step.beforeShow)\n ]);\n },\n buttons: this.getButtons(\n i === 0\n ? 'first'\n : i + 1 === tourConfig.steps.length\n ? 'last'\n : tourConfig.steps[i].noBackButton\n ? 'noBackButton'\n : undefined\n ),\n classes: step.class,\n highlightClass: step.highlightClass,\n scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,\n canClickTarget: step.disableInteraction\n ? !step.disableInteraction\n : undefined,\n title: this.languageService.translate.instant(\n step.title || tourConfig.title\n ),\n text: [this.languageService.translate.instant(step.text)],\n when: {\n show: () => {\n this.executeAction(step, step.onShow);\n },\n hide: () => {\n this.previousStep = step;\n this.executeAction(step, step.onHide);\n }\n }\n } satisfies Shepherd.Step.StepOptions);\n i++;\n }\n\n return shepherdSteps;\n }\n\n public startTour(toolName: string) {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n this.shepherdService.defaultStepOptions = {\n classes: stepConfig.class,\n highlightClass: stepConfig.highlightClass,\n canClickTarget: stepConfig.disableInteraction\n ? !stepConfig.disableInteraction\n : true,\n cancelIcon: {\n enabled: true\n }\n };\n\n const shepherdSteps = this.getShepherdSteps(stepConfig);\n\n this.shepherdService.modal = true;\n this.shepherdService.confirmCancel = false;\n this.shepherdService.addSteps(shepherdSteps);\n\n this.shepherdService.tourObject.on('show', this.addProgress);\n this.shepherdService.tourObject.on('cancel', (index) => {\n this.checkNext(index, this.shepherdService.tourObject, this);\n });\n\n this.shepherdService.start();\n }\n}\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {\n IconService,\n IgoIconComponent,\n PRESENTATION_PLAY_ICON\n} from '@igo2/common/icon';\nimport { ToolService } from '@igo2/common/tool';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { Observable, of } from 'rxjs';\n\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@Component({\n selector: 'igo-interactive-tour',\n templateUrl: './interactive-tour.component.html',\n styleUrls: ['./interactive-tour.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgIf,\n MatButtonModule,\n NgClass,\n MatTooltipModule,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class InteractiveTourComponent {\n presentationIcon = PRESENTATION_PLAY_ICON;\n\n /**\n * Toolbox that holds main tools\n */\n @Input() tourToStart = '';\n @Input() styleButton: 'icon' | 'raised';\n @Input() discoverTitleInLocale$: Observable<string> = of('IGO');\n\n getClass() {\n return {\n 'tour-button-tool-icon': this.styleButton === 'icon',\n 'tour-button-tool': this.styleButton === 'raised'\n };\n }\n\n get toolbox() {\n return this.toolService.toolbox;\n }\n\n getTourToStart() {\n if (this.tourToStart) {\n return this.tourToStart;\n } else {\n return this.activeToolName;\n }\n }\n\n get activeToolName() {\n if (this.toolbox) {\n if (this.isActiveTool) {\n return this.toolbox.activeTool$.getValue().name;\n } else {\n return 'global';\n }\n } else {\n return undefined;\n }\n }\n\n get isActiveTool(): boolean {\n if (this.toolbox) {\n return this.toolbox.activeTool$.getValue() !== undefined;\n } else {\n return undefined;\n }\n }\n\n get isToolHaveTour(): boolean {\n if (this.activeToolName === 'about' && !this.tourToStart) {\n return false;\n }\n return this.interactiveTourService.isToolHaveTourConfig(\n this.getTourToStart()\n );\n }\n\n get showTourButton(): boolean {\n // 2 conditions to show: have Tour on tool in Config file and if we are in mobile displayInMobile= true\n if (this.isToolHaveTour === false) {\n return false;\n }\n\n let inMobileAndShow: boolean;\n if (this.interactiveTourService.isMobile()) {\n inMobileAndShow = this.isTourDisplayInMobile;\n if (inMobileAndShow === false) {\n return false;\n }\n }\n return true;\n }\n\n get isTourDisplayInMobile(): boolean {\n return this.interactiveTourService.isTourDisplayInMobile();\n }\n\n get disabledTourButton(): boolean {\n return this.interactiveTourService.disabledTourButton(this.activeToolName);\n }\n\n constructor(\n private interactiveTourService: InteractiveTourService,\n private toolService: ToolService,\n private iconService: IconService\n ) {\n this.iconService.registerSvg(this.presentationIcon);\n }\n\n startInteractiveTour() {\n const tour = this.getTourToStart();\n if (tour) {\n this.interactiveTourService.startTour(tour);\n } else {\n return;\n }\n }\n}\n","<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { InteractiveTourComponent } from './interactive-tour.component';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@NgModule({\n imports: [InteractiveTourComponent],\n exports: [InteractiveTourComponent],\n providers: [InteractiveTourService, InteractiveTourLoader]\n})\nexport class IgoInteractiveTourModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4.InteractiveTourLoader","i1.InteractiveTourService","i3"],"mappings":"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"}
|
|
@@ -20,12 +20,12 @@ class JsonDialogComponent {
|
|
|
20
20
|
getKey(baseKey, key) {
|
|
21
21
|
return (baseKey ? baseKey + '.' : '') + key;
|
|
22
22
|
}
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: JsonDialogComponent, isStandalone: true, selector: "igo-json-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\n\n<div mat-dialog-content class=\"mat-typography\">\n <ng-container\n *ngTemplateOutlet=\"loopObject; context: { obj: data }\"\n ></ng-container>\n\n <ng-template #loopObject let-obj=\"obj\" let-baseKey=\"baseKey\">\n <ng-container *ngFor=\"let property of obj | keyvalue\">\n <ng-container\n *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\"\n >\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\n <ng-container\n *ngTemplateOutlet=\"\n loopObject;\n context: {\n obj: property.value,\n baseKey: getKey(baseKey, property.key)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <ng-template #notObject>\n <p>\n <span\n ><b>{{ getKey(baseKey, property.key) }}</b> : </span\n ><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span>\n </p>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n</div>\n\n<div mat-dialog-actions>\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(false)\">\n OK\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }] });
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDialogComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ selector: 'igo-json-dialog', imports: [
|
|
28
|
+
args: [{ selector: 'igo-json-dialog', standalone: true, imports: [
|
|
29
29
|
MatDialogTitle,
|
|
30
30
|
MatDialogContent,
|
|
31
31
|
NgTemplateOutlet,
|
|
@@ -51,10 +51,10 @@ class JsonDialogService {
|
|
|
51
51
|
dialogRef.componentInstance.ignoreKeys = ignoreKeys ?? [];
|
|
52
52
|
return dialogRef.afterClosed();
|
|
53
53
|
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
55
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDialogService });
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JsonDialogService, decorators: [{
|
|
58
58
|
type: Injectable
|
|
59
59
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
60
60
|
|
|
@@ -67,11 +67,11 @@ class IgoJsonDialogModule {
|
|
|
67
67
|
ngModule: IgoJsonDialogModule
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
71
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
72
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoJsonDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
71
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoJsonDialogModule, imports: [JsonDialogComponent], exports: [JsonDialogComponent] });
|
|
72
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoJsonDialogModule, providers: [JsonDialogService], imports: [JsonDialogComponent] });
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoJsonDialogModule, decorators: [{
|
|
75
75
|
type: NgModule,
|
|
76
76
|
args: [{
|
|
77
77
|
imports: [JsonDialogComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-json-dialog.mjs","sources":["../../../packages/common/json-dialog/src/json-dialog.component.ts","../../../packages/common/json-dialog/src/json-dialog.component.html","../../../packages/common/json-dialog/src/json-dialog.service.ts","../../../packages/common/json-dialog/src/json-dialog.module.ts","../../../packages/common/json-dialog/src/igo2-common-json-dialog.ts"],"sourcesContent":["import { KeyValuePipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MatDialogActions,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\n\n@Component({\n selector: 'igo-json-dialog',\n templateUrl: './json-dialog.component.html',\n imports: [\n MatDialogTitle,\n MatDialogContent,\n NgTemplateOutlet,\n NgFor,\n NgIf,\n MatDialogActions,\n MatButtonModule,\n KeyValuePipe\n ]\n})\nexport class JsonDialogComponent {\n public title: string;\n public data: any;\n public ignoreKeys: string[];\n\n constructor(public dialogRef: MatDialogRef<JsonDialogComponent>) {}\n\n isObject(val) {\n return typeof val === 'object' && !Array.isArray(val);\n }\n\n getKey(baseKey, key) {\n return (baseKey ? baseKey + '.' : '') + key;\n }\n}\n","<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\n\n<div mat-dialog-content class=\"mat-typography\">\n <ng-container\n *ngTemplateOutlet=\"loopObject; context: { obj: data }\"\n ></ng-container>\n\n <ng-template #loopObject let-obj=\"obj\" let-baseKey=\"baseKey\">\n <ng-container *ngFor=\"let property of obj | keyvalue\">\n <ng-container\n *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\"\n >\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\n <ng-container\n *ngTemplateOutlet=\"\n loopObject;\n context: {\n obj: property.value,\n baseKey: getKey(baseKey, property.key)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <ng-template #notObject>\n <p>\n <span\n ><b>{{ getKey(baseKey, property.key) }}</b> : </span\n ><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span>\n </p>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n</div>\n\n<div mat-dialog-actions>\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(false)\">\n OK\n </button>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { JsonDialogComponent } from './json-dialog.component';\n\n@Injectable()\nexport class JsonDialogService {\n constructor(private dialog: MatDialog) {}\n\n public open(title: any, data, ignoreKeys?: string[]): Observable<any> {\n const dialogRef = this.dialog.open(JsonDialogComponent, {\n disableClose: false\n });\n dialogRef.componentInstance.data = data;\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.ignoreKeys = ignoreKeys ?? [];\n\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { JsonDialogComponent } from './json-dialog.component';\nimport { JsonDialogService } from './json-dialog.service';\n\n@NgModule({\n imports: [JsonDialogComponent],\n exports: [JsonDialogComponent],\n providers: [JsonDialogService]\n})\nexport class IgoJsonDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoJsonDialogModule> {\n return {\n ngModule: IgoJsonDialogModule\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"igo2-common-json-dialog.mjs","sources":["../../../packages/common/json-dialog/src/json-dialog.component.ts","../../../packages/common/json-dialog/src/json-dialog.component.html","../../../packages/common/json-dialog/src/json-dialog.service.ts","../../../packages/common/json-dialog/src/json-dialog.module.ts","../../../packages/common/json-dialog/src/igo2-common-json-dialog.ts"],"sourcesContent":["import { KeyValuePipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MatDialogActions,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\n\n@Component({\n selector: 'igo-json-dialog',\n templateUrl: './json-dialog.component.html',\n standalone: true,\n imports: [\n MatDialogTitle,\n MatDialogContent,\n NgTemplateOutlet,\n NgFor,\n NgIf,\n MatDialogActions,\n MatButtonModule,\n KeyValuePipe\n ]\n})\nexport class JsonDialogComponent {\n public title: string;\n public data: any;\n public ignoreKeys: string[];\n\n constructor(public dialogRef: MatDialogRef<JsonDialogComponent>) {}\n\n isObject(val) {\n return typeof val === 'object' && !Array.isArray(val);\n }\n\n getKey(baseKey, key) {\n return (baseKey ? baseKey + '.' : '') + key;\n }\n}\n","<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\n\n<div mat-dialog-content class=\"mat-typography\">\n <ng-container\n *ngTemplateOutlet=\"loopObject; context: { obj: data }\"\n ></ng-container>\n\n <ng-template #loopObject let-obj=\"obj\" let-baseKey=\"baseKey\">\n <ng-container *ngFor=\"let property of obj | keyvalue\">\n <ng-container\n *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\"\n >\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\n <ng-container\n *ngTemplateOutlet=\"\n loopObject;\n context: {\n obj: property.value,\n baseKey: getKey(baseKey, property.key)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <ng-template #notObject>\n <p>\n <span\n ><b>{{ getKey(baseKey, property.key) }}</b> : </span\n ><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span>\n </p>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n</div>\n\n<div mat-dialog-actions>\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(false)\">\n OK\n </button>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { JsonDialogComponent } from './json-dialog.component';\n\n@Injectable()\nexport class JsonDialogService {\n constructor(private dialog: MatDialog) {}\n\n public open(title: any, data, ignoreKeys?: string[]): Observable<any> {\n const dialogRef = this.dialog.open(JsonDialogComponent, {\n disableClose: false\n });\n dialogRef.componentInstance.data = data;\n dialogRef.componentInstance.title = title;\n dialogRef.componentInstance.ignoreKeys = ignoreKeys ?? [];\n\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { JsonDialogComponent } from './json-dialog.component';\nimport { JsonDialogService } from './json-dialog.service';\n\n@NgModule({\n imports: [JsonDialogComponent],\n exports: [JsonDialogComponent],\n providers: [JsonDialogService]\n})\nexport class IgoJsonDialogModule {\n /**\n * @deprecated it has no effect\n */\n static forRoot(): ModuleWithProviders<IgoJsonDialogModule> {\n return {\n ngModule: IgoJsonDialogModule\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@ class KeyValuePipe {
|
|
|
7
7
|
Object.getOwnPropertyNames(value).forEach((key) => keyValues.push({ key, value: value[key] }));
|
|
8
8
|
return keyValues;
|
|
9
9
|
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
11
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "keyvalue" });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyValuePipe, decorators: [{
|
|
14
14
|
type: Pipe,
|
|
15
15
|
args: [{
|
|
16
16
|
name: 'keyvalue',
|
|
@@ -28,11 +28,11 @@ class IgoKeyValueModule {
|
|
|
28
28
|
providers: []
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
33
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoKeyValueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoKeyValueModule, imports: [KeyValuePipe], exports: [KeyValuePipe] });
|
|
33
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoKeyValueModule });
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoKeyValueModule, decorators: [{
|
|
36
36
|
type: NgModule,
|
|
37
37
|
args: [{
|
|
38
38
|
imports: [KeyValuePipe],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-keyvalue.mjs","sources":["../../../packages/common/keyvalue/src/keyvalue.pipe.ts","../../../packages/common/keyvalue/src/keyvalue.module.ts","../../../packages/common/keyvalue/src/igo2-common-keyvalue.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'keyvalue',\n standalone: true\n})\nexport class KeyValuePipe implements PipeTransform {\n transform(value: any): any {\n const keyValues = [];\n Object.getOwnPropertyNames(value).forEach((key: string) =>\n keyValues.push({ key, value: value[key] })\n );\n\n return keyValues;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { KeyValuePipe } from './keyvalue.pipe';\n\n/**\n * @deprecated import the KeyValuePipe directly\n */\n@NgModule({\n imports: [KeyValuePipe],\n exports: [KeyValuePipe]\n})\nexport class IgoKeyValueModule {\n static forRoot(): ModuleWithProviders<IgoKeyValueModule> {\n return {\n ngModule: IgoKeyValueModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAMa,YAAY,CAAA;AACvB,IAAA,SAAS,CAAC,KAAU,EAAA;QAClB,MAAM,SAAS,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"igo2-common-keyvalue.mjs","sources":["../../../packages/common/keyvalue/src/keyvalue.pipe.ts","../../../packages/common/keyvalue/src/keyvalue.module.ts","../../../packages/common/keyvalue/src/igo2-common-keyvalue.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'keyvalue',\n standalone: true\n})\nexport class KeyValuePipe implements PipeTransform {\n transform(value: any): any {\n const keyValues = [];\n Object.getOwnPropertyNames(value).forEach((key: string) =>\n keyValues.push({ key, value: value[key] })\n );\n\n return keyValues;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { KeyValuePipe } from './keyvalue.pipe';\n\n/**\n * @deprecated import the KeyValuePipe directly\n */\n@NgModule({\n imports: [KeyValuePipe],\n exports: [KeyValuePipe]\n})\nexport class IgoKeyValueModule {\n static forRoot(): ModuleWithProviders<IgoKeyValueModule> {\n return {\n ngModule: IgoKeyValueModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAMa,YAAY,CAAA;AACvB,IAAA,SAAS,CAAC,KAAU,EAAA;QAClB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,QAAA,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,KACpD,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAC3C,CAAC;AAEF,QAAA,OAAO,SAAS,CAAC;KAClB;wGARU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACDD;;AAEG;MAKU,iBAAiB,CAAA;AAC5B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;AAC3B,YAAA,SAAS,EAAE,EAAE;SACd,CAAC;KACH;wGANU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHlB,YAAY,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;yGAEX,iBAAiB,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -123,10 +123,10 @@ class ListItemDirective {
|
|
|
123
123
|
removeCls(cls) {
|
|
124
124
|
this.renderer.removeClass(this.el.nativeElement, cls);
|
|
125
125
|
}
|
|
126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
127
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListItemDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
127
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ListItemDirective, isStandalone: true, selector: "[igoListItem]", inputs: { color: "color", focused: "focused", selected: "selected", disabled: "disabled" }, outputs: { beforeSelect: "beforeSelect", beforeFocus: "beforeFocus", beforeUnselect: "beforeUnselect", beforeUnfocus: "beforeUnfocus", beforeDisable: "beforeDisable", beforeEnable: "beforeEnable", focus: "focus", unfocus: "unfocus", select: "select", unselect: "unselect", disable: "disable", enable: "enable" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
128
128
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListItemDirective, decorators: [{
|
|
130
130
|
type: Directive,
|
|
131
131
|
args: [{
|
|
132
132
|
selector: '[igoListItem]',
|
|
@@ -393,12 +393,12 @@ class ListComponent {
|
|
|
393
393
|
break;
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
397
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
396
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
397
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "igo-list", inputs: { navigation: "navigation", selection: "selection" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)", "document:enter": "handleKeyboardEvent($event)" } }, queries: [{ propertyName: "listItems", predicate: ListItemDirective, descendants: true }], ngImport: i0, template: "<mat-list\n igoClickout\n [ngClass]=\"{ selectable: selection }\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\"\n>\n <ng-content></ng-content>\n</mat-list>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host mat-list{padding-top:0}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}:host ::ng-deep .mat-mdc-list ::ng-deep igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: ClickoutDirective, selector: "[igoClickout]", outputs: ["clickout"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
398
398
|
}
|
|
399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, decorators: [{
|
|
400
400
|
type: Component,
|
|
401
|
-
args: [{ selector: 'igo-list', imports: [MatListModule, ClickoutDirective, NgClass], template: "<mat-list\n igoClickout\n [ngClass]=\"{ selectable: selection }\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\"\n>\n <ng-content></ng-content>\n</mat-list>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host mat-list{padding-top:0}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}:host ::ng-deep .mat-mdc-list ::ng-deep igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"] }]
|
|
401
|
+
args: [{ selector: 'igo-list', standalone: true, imports: [MatListModule, ClickoutDirective, NgClass], template: "<mat-list\n igoClickout\n [ngClass]=\"{ selectable: selection }\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\"\n>\n <ng-content></ng-content>\n</mat-list>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host mat-list{padding-top:0}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}:host ::ng-deep .mat-mdc-list ::ng-deep igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"] }]
|
|
402
402
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { navigation: [{
|
|
403
403
|
type: Input
|
|
404
404
|
}], selection: [{
|
|
@@ -424,11 +424,11 @@ class IgoListModule {
|
|
|
424
424
|
providers: []
|
|
425
425
|
};
|
|
426
426
|
}
|
|
427
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
428
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
429
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
427
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
428
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoListModule, imports: [ListItemDirective, ListComponent], exports: [ListItemDirective, ListComponent] });
|
|
429
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoListModule, imports: [ListComponent] });
|
|
430
430
|
}
|
|
431
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoListModule, decorators: [{
|
|
432
432
|
type: NgModule,
|
|
433
433
|
args: [{
|
|
434
434
|
imports: [ListItemDirective, ListComponent],
|