@igo2/common 1.15.3 → 16.0.0-rc.0
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/common-theme.scss +19 -0
- package/{esm2020 → esm2022}/igo2-common.mjs +4 -4
- package/esm2022/lib/action/action.module.mjs +20 -0
- package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +270 -0
- package/esm2022/lib/action/actionbar/actionbar.component.mjs +389 -0
- package/{esm2020 → esm2022}/lib/action/actionbar/actionbar.module.mjs +57 -57
- package/{esm2020 → esm2022}/lib/action/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/action/shared/action.enums.mjs +7 -7
- package/{esm2020 → esm2022}/lib/action/shared/action.interfaces.mjs +2 -2
- package/{esm2020 → esm2022}/lib/action/shared/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/action/shared/store.mjs +8 -8
- package/esm2022/lib/backdrop/backdrop.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/backdrop/backdrop.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/backdrop/index.mjs +2 -2
- package/esm2022/lib/badge-icon/badge-icon.directive.mjs +150 -0
- package/{esm2020 → esm2022}/lib/badge-icon/badge-icon.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/badge-icon/index.mjs +2 -2
- package/esm2022/lib/clickout/clickout.directive.mjs +33 -0
- package/{esm2020 → esm2022}/lib/clickout/clickout.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/clickout/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/clone/clone.module.mjs +24 -24
- package/esm2022/lib/clone/clone.pipe.mjs +24 -0
- package/{esm2020 → esm2022}/lib/clone/index.mjs +2 -2
- package/esm2022/lib/collapsible/collapse.directive.mjs +58 -0
- package/esm2022/lib/collapsible/collapsible.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/collapsible/collapsible.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/collapsible/index.mjs +3 -3
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +121 -0
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +32 -0
- package/esm2022/lib/color-picker-form-field/index.mjs +2 -0
- package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/confirm-dialog/confirm-dialog.module.mjs +29 -29
- package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +29 -0
- package/{esm2020 → esm2022}/lib/confirm-dialog/index.mjs +3 -3
- package/esm2022/lib/context-menu/context-menu.directive.mjs +110 -0
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/context-menu/index.mjs +3 -3
- package/esm2022/lib/context-menu/long-press.directive.mjs +67 -0
- package/esm2022/lib/custom-html/custom-html.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/custom-html/custom-html.module.mjs +47 -47
- package/{esm2020 → esm2022}/lib/custom-html/custom-html.pipe.mjs +20 -18
- package/{esm2020 → esm2022}/lib/custom-html/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/dom/dom.interfaces.mjs +2 -2
- package/{esm2020 → esm2022}/lib/dom/dom.module.mjs +21 -23
- package/esm2022/lib/dom/dom.service.mjs +35 -0
- package/{esm2020 → esm2022}/lib/dom/index.mjs +3 -3
- package/esm2022/lib/drag-drop/drag-drop.directive.mjs +85 -0
- package/{esm2020 → esm2022}/lib/drag-drop/drag-drop.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/drag-drop/index.mjs +2 -2
- package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +20 -0
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +138 -0
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +22 -0
- package/{esm2020 → esm2022}/lib/dynamic-component/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -2
- package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +183 -0
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.service.mjs +30 -29
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/index.mjs +4 -4
- package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +214 -0
- package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +24 -0
- package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +139 -0
- package/esm2022/lib/entity/entity-table/entity-table.component.mjs +1455 -0
- package/esm2022/lib/entity/entity-table/entity-table.module.mjs +96 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +167 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +22 -0
- package/{esm2020 → esm2022}/lib/entity/entity.module.mjs +29 -31
- package/{esm2020 → esm2022}/lib/entity/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/entity/shared/entity.enums.mjs +28 -28
- package/esm2022/lib/entity/shared/entity.interfaces.mjs +2 -0
- package/esm2022/lib/entity/shared/entity.utils.mjs +73 -0
- package/esm2022/lib/entity/shared/index.mjs +11 -0
- package/esm2022/lib/entity/shared/state.mjs +194 -0
- package/esm2022/lib/entity/shared/store-strategy.mjs +73 -0
- package/esm2022/lib/entity/shared/store.mjs +256 -0
- package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +80 -0
- package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +81 -0
- package/{esm2020 → esm2022}/lib/entity/shared/strategies/index.mjs +4 -4
- package/esm2022/lib/entity/shared/strategies/strategy.mjs +78 -0
- package/esm2022/lib/entity/shared/transaction.mjs +329 -0
- package/esm2022/lib/entity/shared/view.mjs +330 -0
- package/esm2022/lib/entity/shared/watcher.mjs +135 -0
- package/esm2022/lib/flexible/flexible.component.mjs +153 -0
- package/{esm2020 → esm2022}/lib/flexible/flexible.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/flexible/flexible.type.mjs +2 -2
- package/{esm2020 → esm2022}/lib/flexible/index.mjs +3 -3
- package/esm2022/lib/form/form/form.component.mjs +125 -0
- package/esm2022/lib/form/form/form.module.mjs +23 -0
- package/esm2022/lib/form/form-field/form-field-select.component.mjs +140 -0
- package/esm2022/lib/form/form-field/form-field-text.component.mjs +113 -0
- package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +114 -0
- package/esm2022/lib/form/form-field/form-field.component.mjs +78 -0
- package/{esm2020 → esm2022}/lib/form/form-field/form-field.module.mjs +74 -74
- package/{esm2020 → esm2022}/lib/form/form-field/index.mjs +5 -5
- package/esm2022/lib/form/form-group/form-group.component.mjs +115 -0
- package/esm2022/lib/form/form-group/form-group.module.mjs +36 -0
- package/esm2022/lib/form/form.module.mjs +27 -0
- package/{esm2020 → esm2022}/lib/form/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/shared/form-field-component.mjs +7 -7
- package/esm2022/lib/form/shared/form-field.service.mjs +29 -0
- package/esm2022/lib/form/shared/form.interfaces.mjs +2 -0
- package/esm2022/lib/form/shared/form.service.mjs +82 -0
- package/esm2022/lib/form/shared/form.utils.mjs +40 -0
- package/{esm2020 → esm2022}/lib/form/shared/index.mjs +6 -6
- package/esm2022/lib/home-button/home-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/home-button/home-button.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/home-button/index.mjs +2 -2
- package/esm2022/lib/image/image-error.directive.mjs +36 -0
- package/{esm2020 → esm2022}/lib/image/image.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/image/index.mjs +3 -3
- package/esm2022/lib/image/secure-image.pipe.mjs +65 -0
- package/{esm2020 → esm2022}/lib/interactive-tour/index.mjs +5 -5
- package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +161 -0
- package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
- package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +49 -0
- package/{esm2020 → esm2022}/lib/interactive-tour/interactive-tour.module.mjs +40 -40
- package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +297 -0
- package/{esm2020 → esm2022}/lib/json-dialog/index.mjs +3 -3
- package/esm2022/lib/json-dialog/json-dialog.component.mjs +114 -0
- package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.service.mjs +26 -24
- package/{esm2020 → esm2022}/lib/keyvalue/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.pipe.mjs +18 -18
- package/{esm2020 → esm2022}/lib/list/index.mjs +3 -3
- package/esm2022/lib/list/list-item.directive.mjs +167 -0
- package/esm2022/lib/list/list.component.mjs +268 -0
- package/{esm2020 → esm2022}/lib/list/list.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/panel/index.mjs +2 -2
- package/esm2022/lib/panel/panel.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/panel/panel.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
- package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +59 -0
- package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/spinner/index.mjs +3 -3
- package/esm2022/lib/spinner/spinner-activity.directive.mjs +55 -0
- package/esm2022/lib/spinner/spinner.component.mjs +38 -0
- package/{esm2020 → esm2022}/lib/spinner/spinner.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/stop-propagation/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-drop-propagation.directive.mjs +22 -22
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.directive.mjs +21 -21
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/table/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/table/table-action-color.enum.mjs +7 -7
- package/esm2022/lib/table/table-database.mjs +28 -0
- package/esm2022/lib/table/table-datasource.mjs +64 -0
- package/esm2022/lib/table/table-model.interface.mjs +2 -0
- package/esm2022/lib/table/table.component.mjs +302 -0
- package/{esm2020 → esm2022}/lib/table/table.module.mjs +67 -67
- package/{esm2020 → esm2022}/lib/tool/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/tool/shared/index.mjs +6 -6
- package/esm2022/lib/tool/shared/tool-component.mjs +9 -0
- package/esm2022/lib/tool/shared/tool.interface.mjs +2 -0
- package/esm2022/lib/tool/shared/tool.service.mjs +43 -0
- package/{esm2020 → esm2022}/lib/tool/shared/toolbox.enums.mjs +7 -7
- package/esm2022/lib/tool/shared/toolbox.mjs +184 -0
- package/esm2022/lib/tool/tool.module.mjs +26 -0
- package/{esm2020 → esm2022}/lib/tool/toolbox/toolbox.animation.mjs +10 -10
- package/esm2022/lib/tool/toolbox/toolbox.component.mjs +273 -0
- package/esm2022/lib/tool/toolbox/toolbox.module.mjs +24 -0
- package/{esm2020 → esm2022}/lib/widget/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/widget/shared/index.mjs +4 -4
- package/esm2022/lib/widget/shared/widget.interfaces.mjs +2 -0
- package/{esm2020 → esm2022}/lib/widget/shared/widget.mjs +4 -4
- package/esm2022/lib/widget/shared/widget.service.mjs +22 -0
- package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +124 -0
- package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +23 -0
- package/esm2022/lib/widget/widget.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +4 -4
- package/esm2022/lib/workspace/shared/store.mjs +37 -0
- package/{esm2020 → esm2022}/lib/workspace/shared/workspace.interfaces.mjs +2 -2
- package/esm2022/lib/workspace/shared/workspace.mjs +143 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +58 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +23 -0
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +94 -0
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +23 -0
- package/esm2022/lib/workspace/workspace.module.mjs +20 -0
- package/esm2022/public_api.mjs +76 -0
- package/{fesm2020 → fesm2022}/igo2-common.mjs +9837 -9345
- package/fesm2022/igo2-common.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/action/action.module.d.ts +8 -8
- package/lib/action/action.theming.scss +5 -0
- package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
- package/lib/action/actionbar/actionbar-item.theming.scss +32 -0
- package/lib/action/actionbar/actionbar.component.d.ts +147 -146
- package/lib/action/actionbar/actionbar.module.d.ts +20 -20
- package/lib/action/actionbar/actionbar.theming.scss +22 -0
- package/lib/action/index.d.ts +2 -2
- package/lib/action/shared/action.enums.d.ts +5 -5
- package/lib/action/shared/action.interfaces.d.ts +17 -17
- package/lib/action/shared/index.d.ts +3 -3
- package/lib/action/shared/store.d.ts +8 -8
- package/lib/backdrop/backdrop.component.d.ts +9 -9
- package/lib/backdrop/backdrop.module.d.ts +10 -10
- package/lib/backdrop/index.d.ts +1 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +36 -36
- package/lib/badge-icon/badge-icon.module.d.ts +11 -11
- package/lib/badge-icon/index.d.ts +1 -1
- package/lib/clickout/clickout.directive.d.ts +10 -10
- package/lib/clickout/clickout.module.d.ts +9 -9
- package/lib/clickout/index.d.ts +1 -1
- package/lib/clone/clone.module.d.ts +9 -9
- package/lib/clone/clone.pipe.d.ts +7 -7
- package/lib/clone/index.d.ts +1 -1
- package/lib/collapsible/collapse.directive.d.ts +19 -19
- package/lib/collapsible/collapsible.component.d.ts +13 -13
- package/lib/collapsible/collapsible.module.d.ts +12 -12
- package/lib/collapsible/collapsible.theming.scss +22 -0
- package/lib/collapsible/index.d.ts +2 -2
- package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +26 -0
- package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +10 -0
- package/lib/color-picker-form-field/index.d.ts +1 -0
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
- package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -12
- package/lib/confirm-dialog/confirm-dialog.service.d.ts +12 -12
- package/lib/confirm-dialog/index.d.ts +2 -2
- package/lib/context-menu/context-menu.directive.d.ts +21 -21
- package/lib/context-menu/context-menu.module.d.ts +10 -10
- package/lib/context-menu/index.d.ts +2 -2
- package/lib/context-menu/long-press.directive.d.ts +20 -20
- package/lib/custom-html/custom-html.component.d.ts +9 -9
- package/lib/custom-html/custom-html.module.d.ts +16 -16
- package/lib/custom-html/custom-html.pipe.d.ts +10 -10
- package/lib/custom-html/index.d.ts +2 -2
- package/lib/dom/dom.interfaces.d.ts +10 -10
- package/lib/dom/dom.module.d.ts +8 -8
- package/lib/dom/dom.service.d.ts +10 -10
- package/lib/dom/index.d.ts +2 -2
- package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
- package/lib/drag-drop/drag-drop.module.d.ts +9 -9
- package/lib/drag-drop/index.d.ts +1 -1
- package/lib/dynamic-component/dynamic-component.module.d.ts +8 -8
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -11
- package/lib/dynamic-component/index.d.ts +2 -2
- package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
- package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
- package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
- package/lib/dynamic-component/shared/index.d.ts +3 -3
- package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
- package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -13
- package/lib/entity/entity-selector/entity-selector.theming.scss +21 -0
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +327 -333
- package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
- package/lib/entity/entity-table/entity-table.theming.scss +34 -0
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
- package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
- package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -11
- package/lib/entity/entity-table-paginator/entity-table-paginator.theming.scss +21 -0
- package/lib/entity/entity.module.d.ts +10 -10
- package/lib/entity/entity.theming.scss +10 -0
- package/lib/entity/index.d.ts +5 -5
- package/lib/entity/shared/entity.enums.d.ts +23 -23
- package/lib/entity/shared/entity.interfaces.d.ts +95 -114
- package/lib/entity/shared/entity.utils.d.ts +49 -49
- package/lib/entity/shared/index.d.ts +10 -9
- package/lib/entity/shared/state.d.ts +108 -103
- package/lib/entity/shared/store-strategy.d.ts +38 -0
- package/lib/entity/shared/store.d.ts +147 -176
- package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
- package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
- package/lib/entity/shared/strategies/index.d.ts +3 -3
- package/lib/entity/shared/strategies/strategy.d.ts +56 -56
- package/lib/entity/shared/transaction.d.ts +180 -168
- package/lib/entity/shared/view.d.ts +193 -193
- package/lib/entity/shared/watcher.d.ts +72 -72
- package/lib/flexible/flexible.component.d.ts +41 -41
- package/lib/flexible/flexible.module.d.ts +9 -9
- package/lib/flexible/flexible.type.d.ts +2 -2
- package/lib/flexible/index.d.ts +2 -2
- package/lib/form/form/form.component.d.ts +53 -53
- package/lib/form/form/form.module.d.ts +12 -12
- package/lib/form/form-field/form-field-select.component.d.ts +48 -48
- package/lib/form/form-field/form-field-text.component.d.ts +41 -41
- package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
- package/lib/form/form-field/form-field.component.d.ts +29 -34
- package/lib/form/form-field/form-field.module.d.ts +21 -21
- package/lib/form/form-field/index.d.ts +4 -4
- package/lib/form/form-group/form-group.component.d.ts +49 -49
- package/lib/form/form-group/form-group.module.d.ts +14 -14
- package/lib/form/form.module.d.ts +13 -13
- package/lib/form/index.d.ts +4 -4
- package/lib/form/shared/form-field-component.d.ts +1 -1
- package/lib/form/shared/form-field.service.d.ts +19 -19
- package/lib/form/shared/form.interfaces.d.ts +61 -57
- package/lib/form/shared/form.service.d.ts +15 -15
- package/lib/form/shared/form.utils.d.ts +11 -11
- package/lib/form/shared/index.d.ts +5 -5
- package/lib/home-button/home-button.component.d.ts +9 -9
- package/lib/home-button/home-button.module.d.ts +15 -15
- package/lib/home-button/home-button.theming.scss +18 -0
- package/lib/home-button/index.d.ts +1 -1
- package/lib/image/image-error.directive.d.ts +11 -11
- package/lib/image/image.module.d.ts +10 -10
- package/lib/image/index.d.ts +2 -2
- package/lib/image/secure-image.pipe.d.ts +13 -13
- package/lib/interactive-tour/index.d.ts +4 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
- package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
- package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
- package/lib/interactive-tour/interactive-tour.module.d.ts +12 -12
- package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
- package/lib/interactive-tour/interactive-tour.theming.scss +32 -0
- package/lib/json-dialog/index.d.ts +2 -2
- package/lib/json-dialog/json-dialog.component.d.ts +13 -13
- package/lib/json-dialog/json-dialog.module.d.ts +13 -13
- package/lib/json-dialog/json-dialog.service.d.ts +10 -10
- package/lib/keyvalue/index.d.ts +1 -1
- package/lib/keyvalue/keyvalue.module.d.ts +9 -9
- package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
- package/lib/list/index.d.ts +2 -2
- package/lib/list/list-item.directive.d.ts +43 -43
- package/lib/list/list.component.d.ts +51 -51
- package/lib/list/list.module.d.ts +14 -14
- package/lib/list/list.theming.scss +40 -0
- package/lib/panel/index.d.ts +1 -1
- package/lib/panel/panel.component.d.ts +10 -10
- package/lib/panel/panel.module.d.ts +8 -8
- package/lib/panel/panel.theming.scss +30 -0
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
- package/lib/sidenav/sidenav.module.d.ts +9 -9
- package/lib/spinner/index.d.ts +2 -2
- package/lib/spinner/spinner-activity.directive.d.ts +32 -32
- package/lib/spinner/spinner.component.d.ts +12 -12
- package/lib/spinner/spinner.module.d.ts +10 -10
- package/lib/stop-propagation/index.d.ts +2 -2
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.module.d.ts +10 -10
- package/lib/table/index.d.ts +5 -5
- package/lib/table/table-action-color.enum.d.ts +5 -5
- package/lib/table/table-database.d.ts +10 -10
- package/lib/table/table-datasource.d.ts +18 -17
- package/lib/table/table-model.interface.d.ts +28 -28
- package/lib/table/table.component.d.ts +40 -40
- package/lib/table/table.module.d.ts +20 -20
- package/lib/tool/index.d.ts +2 -2
- package/lib/tool/shared/index.d.ts +5 -5
- package/lib/tool/shared/tool-component.d.ts +2 -2
- package/lib/tool/shared/tool.interface.d.ts +18 -18
- package/lib/tool/shared/tool.service.d.ts +30 -30
- package/lib/tool/shared/toolbox.d.ts +95 -95
- package/lib/tool/shared/toolbox.enums.d.ts +5 -5
- package/lib/tool/tool.module.d.ts +10 -10
- package/lib/tool/tool.theming.scss +5 -0
- package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
- package/lib/tool/toolbox/toolbox.component.d.ts +128 -127
- package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
- package/lib/tool/toolbox/toolbox.theming.scss +105 -0
- package/lib/widget/index.d.ts +2 -2
- package/lib/widget/shared/index.d.ts +3 -3
- package/lib/widget/shared/widget.d.ts +4 -4
- package/lib/widget/shared/widget.interfaces.d.ts +12 -12
- package/lib/widget/shared/widget.service.d.ts +10 -10
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
- package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -12
- package/lib/widget/widget.module.d.ts +8 -8
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/index.d.ts +3 -3
- package/lib/workspace/shared/store.d.ts +20 -20
- package/lib/workspace/shared/workspace.d.ts +108 -108
- package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +39 -39
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -12
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -12
- package/lib/workspace/workspace.module.d.ts +9 -9
- package/locale/en.common.json +43 -0
- package/locale/fr.common.json +43 -0
- package/package.json +30 -28
- package/public_api.d.ts +72 -70
- package/style/partial/common-utils.scss +9 -0
- package/style/partial/common.variables.scss +8 -8
- package/style/style.css +204 -0
- package/esm2020/lib/action/action.module.mjs +0 -27
- package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +0 -252
- package/esm2020/lib/action/actionbar/actionbar.component.mjs +0 -370
- package/esm2020/lib/backdrop/backdrop.component.mjs +0 -26
- package/esm2020/lib/badge-icon/badge-icon.directive.mjs +0 -141
- package/esm2020/lib/clickout/clickout.directive.mjs +0 -32
- package/esm2020/lib/clone/clone.pipe.mjs +0 -24
- package/esm2020/lib/collapsible/collapse.directive.mjs +0 -55
- package/esm2020/lib/collapsible/collapsible.component.mjs +0 -57
- package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +0 -44
- package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -103
- package/esm2020/lib/context-menu/long-press.directive.mjs +0 -67
- package/esm2020/lib/custom-html/custom-html.component.mjs +0 -28
- package/esm2020/lib/dom/dom.service.mjs +0 -30
- package/esm2020/lib/drag-drop/drag-drop.directive.mjs +0 -88
- package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +0 -31
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -122
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -28
- package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +0 -174
- package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +0 -194
- package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +0 -32
- package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
- package/esm2020/lib/entity/entity-table/entity-table.component.mjs +0 -1376
- package/esm2020/lib/entity/entity-table/entity-table.module.mjs +0 -102
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -132
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -28
- package/esm2020/lib/entity/shared/entity.interfaces.mjs +0 -2
- package/esm2020/lib/entity/shared/entity.utils.mjs +0 -67
- package/esm2020/lib/entity/shared/index.mjs +0 -10
- package/esm2020/lib/entity/shared/state.mjs +0 -191
- package/esm2020/lib/entity/shared/store.mjs +0 -288
- package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +0 -79
- package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +0 -84
- package/esm2020/lib/entity/shared/strategies/strategy.mjs +0 -75
- package/esm2020/lib/entity/shared/transaction.mjs +0 -316
- package/esm2020/lib/entity/shared/view.mjs +0 -315
- package/esm2020/lib/entity/shared/watcher.mjs +0 -120
- package/esm2020/lib/flexible/flexible.component.mjs +0 -148
- package/esm2020/lib/form/form/form.component.mjs +0 -117
- package/esm2020/lib/form/form/form.module.mjs +0 -40
- package/esm2020/lib/form/form-field/form-field-select.component.mjs +0 -127
- package/esm2020/lib/form/form-field/form-field-text.component.mjs +0 -104
- package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +0 -105
- package/esm2020/lib/form/form-field/form-field.component.mjs +0 -72
- package/esm2020/lib/form/form-group/form-group.component.mjs +0 -105
- package/esm2020/lib/form/form-group/form-group.module.mjs +0 -40
- package/esm2020/lib/form/form.module.mjs +0 -49
- package/esm2020/lib/form/shared/form-field.service.mjs +0 -29
- package/esm2020/lib/form/shared/form.interfaces.mjs +0 -2
- package/esm2020/lib/form/shared/form.service.mjs +0 -81
- package/esm2020/lib/form/shared/form.utils.mjs +0 -40
- package/esm2020/lib/home-button/home-button.component.mjs +0 -31
- package/esm2020/lib/image/image-error.directive.mjs +0 -35
- package/esm2020/lib/image/secure-image.pipe.mjs +0 -59
- package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +0 -135
- package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
- package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +0 -44
- package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +0 -285
- package/esm2020/lib/json-dialog/json-dialog.component.mjs +0 -109
- package/esm2020/lib/list/list-item.directive.mjs +0 -165
- package/esm2020/lib/list/list.component.mjs +0 -262
- package/esm2020/lib/panel/panel.component.mjs +0 -59
- package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +0 -55
- package/esm2020/lib/spinner/spinner-activity.directive.mjs +0 -47
- package/esm2020/lib/spinner/spinner.component.mjs +0 -35
- package/esm2020/lib/table/table-database.mjs +0 -28
- package/esm2020/lib/table/table-datasource.mjs +0 -61
- package/esm2020/lib/table/table-model.interface.mjs +0 -2
- package/esm2020/lib/table/table.component.mjs +0 -297
- package/esm2020/lib/tool/shared/tool-component.mjs +0 -9
- package/esm2020/lib/tool/shared/tool.interface.mjs +0 -2
- package/esm2020/lib/tool/shared/tool.service.mjs +0 -43
- package/esm2020/lib/tool/shared/toolbox.mjs +0 -179
- package/esm2020/lib/tool/tool.module.mjs +0 -32
- package/esm2020/lib/tool/toolbox/toolbox.component.mjs +0 -255
- package/esm2020/lib/tool/toolbox/toolbox.module.mjs +0 -36
- package/esm2020/lib/widget/shared/widget.interfaces.mjs +0 -2
- package/esm2020/lib/widget/shared/widget.service.mjs +0 -20
- package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -116
- package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -32
- package/esm2020/lib/widget/widget.module.mjs +0 -32
- package/esm2020/lib/workspace/shared/store.mjs +0 -40
- package/esm2020/lib/workspace/shared/workspace.mjs +0 -117
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -32
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -88
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -32
- package/esm2020/lib/workspace/workspace.module.mjs +0 -27
- package/esm2020/public_api.mjs +0 -74
- package/fesm2015/igo2-common.mjs +0 -10329
- package/fesm2015/igo2-common.mjs.map +0 -1
- package/fesm2020/igo2-common.mjs.map +0 -1
- package/style/common.theming.scss +0 -12
- package/style/partial/action.scss +0 -18
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Input, ChangeDetectionStrategy, Component, ViewContainerRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { ObjectUtils } from '@igo2/utils';
|
|
3
|
-
import { DynamicComponent } from '../shared/dynamic-component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../shared/dynamic-component.service";
|
|
6
|
-
const _c0 = ["target"];
|
|
7
|
-
function DynamicOutletComponent_ng_template_0_Template(rf, ctx) { }
|
|
8
|
-
export class DynamicOutletComponent {
|
|
9
|
-
constructor(dynamicComponentService, cdRef) {
|
|
10
|
-
this.dynamicComponentService = dynamicComponentService;
|
|
11
|
-
this.cdRef = cdRef;
|
|
12
|
-
/**
|
|
13
|
-
* The dynamic component inputs
|
|
14
|
-
*/
|
|
15
|
-
this.inputs = {};
|
|
16
|
-
/**
|
|
17
|
-
* The subscribers to the dynamic component outputs
|
|
18
|
-
*/
|
|
19
|
-
this.subscribers = {};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* If the dynamic component changes, create it.
|
|
23
|
-
* If the inputs or subscribers change, update the current component's
|
|
24
|
-
* inputs or subscribers.
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
ngOnChanges(changes) {
|
|
28
|
-
const component = changes.component;
|
|
29
|
-
const inputs = changes.inputs;
|
|
30
|
-
const subscribers = changes.subscribers;
|
|
31
|
-
const eq = ObjectUtils.objectsAreEquivalent;
|
|
32
|
-
if (!component || !component.currentValue) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
if (component.currentValue !== component.previousValue) {
|
|
36
|
-
this.createComponent(component.currentValue);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
const inputsAreEquivalents = inputs && eq(inputs.currentValue || {}, inputs.previousValue || {});
|
|
40
|
-
const subscribersAreEquivalents = subscribers &&
|
|
41
|
-
eq(subscribers.currentValue || {}, subscribers.previousValue || {});
|
|
42
|
-
if (inputsAreEquivalents === false) {
|
|
43
|
-
this.updateInputs();
|
|
44
|
-
}
|
|
45
|
-
if (subscribersAreEquivalents === false) {
|
|
46
|
-
this.updateSubscribers();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
this.cdRef.detectChanges();
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Destroy the dynamic component and all it's subscribers
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
ngOnDestroy() {
|
|
56
|
-
if (this.dynamicComponent) {
|
|
57
|
-
this.dynamicComponent.destroy();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Create a DynamicComponent out of the component class and render it.
|
|
62
|
-
* @internal
|
|
63
|
-
*/
|
|
64
|
-
createComponent(component) {
|
|
65
|
-
if (this.dynamicComponent !== undefined) {
|
|
66
|
-
this.dynamicComponent.destroy();
|
|
67
|
-
}
|
|
68
|
-
this.dynamicComponent =
|
|
69
|
-
component instanceof DynamicComponent
|
|
70
|
-
? component
|
|
71
|
-
: this.dynamicComponentService.create(component);
|
|
72
|
-
this.renderComponent();
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Create and render the dynamic component. Set it's inputs and subscribers
|
|
76
|
-
* @internal
|
|
77
|
-
*/
|
|
78
|
-
renderComponent() {
|
|
79
|
-
this.updateInputs();
|
|
80
|
-
this.updateSubscribers();
|
|
81
|
-
this.dynamicComponent.setTarget(this.target);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Update the dynamic component inputs. This is an update so any
|
|
85
|
-
* key not defined won't be overwritten.
|
|
86
|
-
* @internal
|
|
87
|
-
*/
|
|
88
|
-
updateInputs() {
|
|
89
|
-
this.dynamicComponent.updateInputs(this.inputs);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Update the dynamic component subscribers. This is an update so any
|
|
93
|
-
* key not defined won't be overwritten.
|
|
94
|
-
* @internal
|
|
95
|
-
*/
|
|
96
|
-
updateSubscribers() {
|
|
97
|
-
this.dynamicComponent.updateSubscribers(this.subscribers);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
DynamicOutletComponent.ɵfac = function DynamicOutletComponent_Factory(t) { return new (t || DynamicOutletComponent)(i0.ɵɵdirectiveInject(i1.DynamicComponentService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
101
|
-
DynamicOutletComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicOutletComponent, selectors: [["igo-dynamic-outlet"]], viewQuery: function DynamicOutletComponent_Query(rf, ctx) { if (rf & 1) {
|
|
102
|
-
i0.ɵɵviewQuery(_c0, 7, ViewContainerRef);
|
|
103
|
-
} if (rf & 2) {
|
|
104
|
-
let _t;
|
|
105
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.target = _t.first);
|
|
106
|
-
} }, inputs: { component: "component", inputs: "inputs", subscribers: "subscribers" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 0, consts: [["target", ""]], template: function DynamicOutletComponent_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
-
i0.ɵɵtemplate(0, DynamicOutletComponent_ng_template_0_Template, 0, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
108
|
-
} }, styles: ["[_nghost-%COMP%]{display:block;width:100%;height:100%}"], changeDetection: 0 });
|
|
109
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicOutletComponent, [{
|
|
110
|
-
type: Component,
|
|
111
|
-
args: [{ selector: 'igo-dynamic-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #target></ng-template>\r\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
|
|
112
|
-
}], function () { return [{ type: i1.DynamicComponentService }, { type: i0.ChangeDetectorRef }]; }, { component: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], inputs: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], subscribers: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], target: [{
|
|
119
|
-
type: ViewChild,
|
|
120
|
-
args: ['target', { read: ViewContainerRef, static: true }]
|
|
121
|
-
}] }); })();
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1vdXRsZXQvZHluYW1pYy1vdXRsZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1vdXRsZXQvZHluYW1pYy1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUlULGdCQUFnQixFQUNoQixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFTL0QsTUFBTSxPQUFPLHNCQUFzQjtJQTRCakMsWUFDVSx1QkFBZ0QsRUFDaEQsS0FBd0I7UUFEeEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQXhCbEM7O1dBRUc7UUFDTSxXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUU3Qzs7V0FFRztRQUNNLGdCQUFXLEdBQTRDLEVBQUUsQ0FBQztJQWlCaEUsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM5QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztRQUU1QyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUN6QyxPQUFPO1NBQ1I7UUFFRCxJQUFJLFNBQVMsQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM5QzthQUFNO1lBQ0wsTUFBTSxvQkFBb0IsR0FDeEIsTUFBTSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0seUJBQXlCLEdBQzdCLFdBQVc7Z0JBQ1gsRUFBRSxDQUFDLFdBQVcsQ0FBQyxZQUFZLElBQUksRUFBRSxFQUFFLFdBQVcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7WUFFdEUsSUFBSSxvQkFBb0IsS0FBSyxLQUFLLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtZQUVELElBQUkseUJBQXlCLEtBQUssS0FBSyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtTQUNGO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxlQUFlLENBQUMsU0FBc0M7UUFDNUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqQztRQUNELElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsU0FBUyxZQUFZLGdCQUFnQjtnQkFDbkMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs0RkF4SFUsc0JBQXNCO3lFQUF0QixzQkFBc0I7K0JBeUJKLGdCQUFnQjs7Ozs7UUNoRC9DLHdIQUFtQzs7dUZEdUJ0QixzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTswR0FNdEMsU0FBUztrQkFBakIsS0FBSztZQUtHLE1BQU07a0JBQWQsS0FBSztZQUtHLFdBQVc7a0JBQW5CLEtBQUs7WUFZRSxNQUFNO2tCQURiLFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIElucHV0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudCB9IGZyb20gJy4uL3NoYXJlZC9keW5hbWljLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZHluYW1pYy1vdXRsZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnZHluYW1pYy1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydkeW5hbWljLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljT3V0bGV0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBkeW5hbWljIGNvbXBvbmVudCBiYXNlIGNsYXNzIG9yIHRoZSBkeW5hbWljIGNvbXBvbmVudCBpdHNlbGZcclxuICAgKi9cclxuICBASW5wdXQoKSBjb21wb25lbnQ6IER5bmFtaWNDb21wb25lbnQ8YW55PiB8IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGR5bmFtaWMgY29tcG9uZW50IGlucHV0c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlucHV0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc3Vic2NyaWJlcnMgdG8gdGhlIGR5bmFtaWMgY29tcG9uZW50IG91dHB1dHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzdWJzY3JpYmVyczogeyBba2V5OiBzdHJpbmddOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCB9ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBkeW5hbWljIGNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZHluYW1pY0NvbXBvbmVudDogRHluYW1pY0NvbXBvbmVudDxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdmlldyBlbGVtZW50IHRvIHJlbmRlciB0aGUgY29tcG9uZW50IHRvXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlIGR5bmFtaWMgY29tcG9uZW50IGNoYW5nZXMsIGNyZWF0ZSBpdC5cclxuICAgKiBJZiB0aGUgaW5wdXRzIG9yIHN1YnNjcmliZXJzIGNoYW5nZSwgdXBkYXRlIHRoZSBjdXJyZW50IGNvbXBvbmVudCdzXHJcbiAgICogaW5wdXRzIG9yIHN1YnNjcmliZXJzLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IGNoYW5nZXMuY29tcG9uZW50O1xyXG4gICAgY29uc3QgaW5wdXRzID0gY2hhbmdlcy5pbnB1dHM7XHJcbiAgICBjb25zdCBzdWJzY3JpYmVycyA9IGNoYW5nZXMuc3Vic2NyaWJlcnM7XHJcbiAgICBjb25zdCBlcSA9IE9iamVjdFV0aWxzLm9iamVjdHNBcmVFcXVpdmFsZW50O1xyXG5cclxuICAgIGlmICghY29tcG9uZW50IHx8ICFjb21wb25lbnQuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29tcG9uZW50LmN1cnJlbnRWYWx1ZSAhPT0gY29tcG9uZW50LnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbnB1dHNBcmVFcXVpdmFsZW50cyA9XHJcbiAgICAgICAgaW5wdXRzICYmIGVxKGlucHV0cy5jdXJyZW50VmFsdWUgfHwge30sIGlucHV0cy5wcmV2aW91c1ZhbHVlIHx8IHt9KTtcclxuICAgICAgY29uc3Qgc3Vic2NyaWJlcnNBcmVFcXVpdmFsZW50cyA9XHJcbiAgICAgICAgc3Vic2NyaWJlcnMgJiZcclxuICAgICAgICBlcShzdWJzY3JpYmVycy5jdXJyZW50VmFsdWUgfHwge30sIHN1YnNjcmliZXJzLnByZXZpb3VzVmFsdWUgfHwge30pO1xyXG5cclxuICAgICAgaWYgKGlucHV0c0FyZUVxdWl2YWxlbnRzID09PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlSW5wdXRzKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzdWJzY3JpYmVyc0FyZUVxdWl2YWxlbnRzID09PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlU3Vic2NyaWJlcnMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cm95IHRoZSBkeW5hbWljIGNvbXBvbmVudCBhbmQgYWxsIGl0J3Mgc3Vic2NyaWJlcnNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLmR5bmFtaWNDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50LmRlc3Ryb3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhICBEeW5hbWljQ29tcG9uZW50IG91dCBvZiB0aGUgY29tcG9uZW50IGNsYXNzIGFuZCByZW5kZXIgaXQuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50OiBEeW5hbWljQ29tcG9uZW50PGFueT4gfCBhbnkpIHtcclxuICAgIGlmICh0aGlzLmR5bmFtaWNDb21wb25lbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnQuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5keW5hbWljQ29tcG9uZW50ID1cclxuICAgICAgY29tcG9uZW50IGluc3RhbmNlb2YgRHluYW1pY0NvbXBvbmVudFxyXG4gICAgICAgID8gY29tcG9uZW50XHJcbiAgICAgICAgOiB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZShjb21wb25lbnQpO1xyXG4gICAgdGhpcy5yZW5kZXJDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhbmQgcmVuZGVyIHRoZSBkeW5hbWljIGNvbXBvbmVudC4gU2V0IGl0J3MgaW5wdXRzIGFuZCBzdWJzY3JpYmVyc1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVuZGVyQ29tcG9uZW50KCkge1xyXG4gICAgdGhpcy51cGRhdGVJbnB1dHMoKTtcclxuICAgIHRoaXMudXBkYXRlU3Vic2NyaWJlcnMoKTtcclxuICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudC5zZXRUYXJnZXQodGhpcy50YXJnZXQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBkeW5hbWljIGNvbXBvbmVudCBpbnB1dHMuIFRoaXMgaXMgYW4gdXBkYXRlIHNvIGFueVxyXG4gICAqIGtleSBub3QgZGVmaW5lZCB3b24ndCBiZSBvdmVyd3JpdHRlbi5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZUlucHV0cygpIHtcclxuICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudC51cGRhdGVJbnB1dHModGhpcy5pbnB1dHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBkeW5hbWljIGNvbXBvbmVudCBzdWJzY3JpYmVycy4gVGhpcyBpcyBhbiB1cGRhdGUgc28gYW55XHJcbiAgICoga2V5IG5vdCBkZWZpbmVkIHdvbid0IGJlIG92ZXJ3cml0dGVuLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlU3Vic2NyaWJlcnMoKSB7XHJcbiAgICB0aGlzLmR5bmFtaWNDb21wb25lbnQudXBkYXRlU3Vic2NyaWJlcnModGhpcy5zdWJzY3JpYmVycyk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjdGFyZ2V0PjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { DynamicOutletComponent } from './dynamic-outlet.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* @ignore
|
|
7
|
-
*/
|
|
8
|
-
export class IgoDynamicOutletModule {
|
|
9
|
-
}
|
|
10
|
-
IgoDynamicOutletModule.ɵfac = function IgoDynamicOutletModule_Factory(t) { return new (t || IgoDynamicOutletModule)(); };
|
|
11
|
-
IgoDynamicOutletModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoDynamicOutletModule });
|
|
12
|
-
IgoDynamicOutletModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
|
|
13
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoDynamicOutletModule, [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [
|
|
17
|
-
CommonModule
|
|
18
|
-
],
|
|
19
|
-
exports: [
|
|
20
|
-
DynamicOutletComponent
|
|
21
|
-
],
|
|
22
|
-
declarations: [
|
|
23
|
-
DynamicOutletComponent
|
|
24
|
-
]
|
|
25
|
-
}]
|
|
26
|
-
}], null, null); })();
|
|
27
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoDynamicOutletModule, { declarations: [DynamicOutletComponent], imports: [CommonModule], exports: [DynamicOutletComponent] }); })();
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1vdXRsZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1vdXRsZXQvZHluYW1pYy1vdXRsZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVwRTs7R0FFRztBQVlILE1BQU0sT0FBTyxzQkFBc0I7OzRGQUF0QixzQkFBc0I7d0VBQXRCLHNCQUFzQjs0RUFUL0IsWUFBWTt1RkFTSCxzQkFBc0I7Y0FYbEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7aUJBQ3ZCO2dCQUNELFlBQVksRUFBRTtvQkFDWixzQkFBc0I7aUJBQ3ZCO2FBQ0Y7O3dGQUNZLHNCQUFzQixtQkFIL0Isc0JBQXNCLGFBTnRCLFlBQVksYUFHWixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRHluYW1pY091dGxldENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1vdXRsZXQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRHluYW1pY091dGxldENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBEeW5hbWljT3V0bGV0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvRHluYW1pY091dGxldE1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
/**
|
|
3
|
-
* This class is used in the DynamicComponentOutlet component. It holds
|
|
4
|
-
* a reference to a component factory and can render that component
|
|
5
|
-
* in a target element on demand. It's also possible to set inputs
|
|
6
|
-
* and to subscribe to outputs.
|
|
7
|
-
*/
|
|
8
|
-
export class DynamicComponent {
|
|
9
|
-
constructor(componentFactory) {
|
|
10
|
-
this.componentFactory = componentFactory;
|
|
11
|
-
/**
|
|
12
|
-
* Subscriptions to the component's outputs. Those need
|
|
13
|
-
* to be unsubscribed when the component is destroyed.
|
|
14
|
-
*/
|
|
15
|
-
this.subscriptions = [];
|
|
16
|
-
/**
|
|
17
|
-
* Component inputs
|
|
18
|
-
*/
|
|
19
|
-
this.inputs = {};
|
|
20
|
-
/**
|
|
21
|
-
* Subscriptions to the component's async inputs
|
|
22
|
-
*/
|
|
23
|
-
this.inputs$$ = {};
|
|
24
|
-
/**
|
|
25
|
-
* Subscribers to the component's outputs
|
|
26
|
-
*/
|
|
27
|
-
this.subscribers = {};
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Render the component to a target element.
|
|
31
|
-
* Set it's inputs and subscribe to it's outputs.
|
|
32
|
-
* @param target Target element
|
|
33
|
-
*/
|
|
34
|
-
setTarget(target) {
|
|
35
|
-
this.target = target;
|
|
36
|
-
this.componentRef = target.createComponent(this.componentFactory);
|
|
37
|
-
this.updateInputs(this.inputs);
|
|
38
|
-
this.updateSubscribers(this.subscribers);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Destroy this component. That means, removing from it's target
|
|
42
|
-
* element and unsubscribing to it's outputs.
|
|
43
|
-
*/
|
|
44
|
-
destroy() {
|
|
45
|
-
if (this.target !== undefined) {
|
|
46
|
-
this.target.clear();
|
|
47
|
-
}
|
|
48
|
-
if (this.componentRef !== undefined) {
|
|
49
|
-
this.componentRef.destroy();
|
|
50
|
-
this.componentRef = undefined;
|
|
51
|
-
}
|
|
52
|
-
this.unobserveAllInputs();
|
|
53
|
-
this.unsubscribeAll();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Update the component inputs. This is an update so any
|
|
57
|
-
* key not defined won't be overwritten.
|
|
58
|
-
*/
|
|
59
|
-
updateInputs(inputs) {
|
|
60
|
-
this.inputs = inputs;
|
|
61
|
-
if (this.componentRef === undefined) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const instance = this.componentRef.instance;
|
|
65
|
-
const allowedInputs = this.componentFactory.inputs;
|
|
66
|
-
allowedInputs.forEach((value) => {
|
|
67
|
-
const key = value.propName;
|
|
68
|
-
this.unobserveInput(key);
|
|
69
|
-
const inputValue = inputs[key];
|
|
70
|
-
if (inputs.hasOwnProperty(key)) {
|
|
71
|
-
if (inputValue instanceof Observable) {
|
|
72
|
-
this.observeInput(key, inputValue);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
this.setInputValue(instance, key, inputValue);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
if (typeof instance.onUpdateInputs === 'function') {
|
|
80
|
-
instance.onUpdateInputs();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Set an instance's input value
|
|
85
|
-
* @param instance Component instance
|
|
86
|
-
* @param key Input key
|
|
87
|
-
* @param value Input value
|
|
88
|
-
*/
|
|
89
|
-
setInputValue(instance, key, value) {
|
|
90
|
-
const currentValue = instance[key];
|
|
91
|
-
if (value === currentValue) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
const prototype = Object.getPrototypeOf(instance);
|
|
95
|
-
const descriptor = Object.getOwnPropertyDescriptor(prototype, key);
|
|
96
|
-
if (descriptor !== undefined && descriptor.set !== undefined) {
|
|
97
|
-
descriptor.set.call(instance, value);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
instance[key] = value;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Update the component subscribers. This is an update so any
|
|
105
|
-
* key not defined won't be overwritten.
|
|
106
|
-
*/
|
|
107
|
-
updateSubscribers(subscribers) {
|
|
108
|
-
this.subscribers = subscribers;
|
|
109
|
-
if (this.componentRef === undefined) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const instance = this.componentRef.instance;
|
|
113
|
-
const allowedSubscribers = this.componentFactory.outputs;
|
|
114
|
-
allowedSubscribers.forEach((value) => {
|
|
115
|
-
const key = value.propName;
|
|
116
|
-
if (subscribers.hasOwnProperty(key)) {
|
|
117
|
-
const emitter = instance[key];
|
|
118
|
-
const subscriber = subscribers[key];
|
|
119
|
-
if (Array.isArray(subscriber)) {
|
|
120
|
-
subscriber.forEach((_subscriber) => {
|
|
121
|
-
this.subscriptions.push(emitter.subscribe(_subscriber));
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this.subscriptions.push(emitter.subscribe(subscriber));
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Subscribe to an observable input and update the component's input value
|
|
132
|
-
* accordingly
|
|
133
|
-
* @param key Input key
|
|
134
|
-
* @param observable Observable
|
|
135
|
-
*/
|
|
136
|
-
observeInput(key, observable) {
|
|
137
|
-
this.inputs$$[key] = observable.subscribe((value) => {
|
|
138
|
-
const instance = this.componentRef.instance;
|
|
139
|
-
this.setInputValue(instance, key, value);
|
|
140
|
-
if (typeof instance.onUpdateInputs === 'function') {
|
|
141
|
-
instance.onUpdateInputs();
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Unsubscribe to an observable input
|
|
147
|
-
* @param key Input key
|
|
148
|
-
*/
|
|
149
|
-
unobserveInput(key) {
|
|
150
|
-
if (this.inputs$$[key] !== undefined) {
|
|
151
|
-
this.inputs$$[key].unsubscribe();
|
|
152
|
-
this.inputs$$[key] = undefined;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Unsubscribe to all outputs.
|
|
157
|
-
*/
|
|
158
|
-
unobserveAllInputs() {
|
|
159
|
-
Object.values(this.inputs$$).forEach((s) => {
|
|
160
|
-
if (s !== undefined) {
|
|
161
|
-
s.unsubscribe();
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
this.inputs$$ = {};
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Unsubscribe to all outputs.
|
|
168
|
-
*/
|
|
169
|
-
unsubscribeAll() {
|
|
170
|
-
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
171
|
-
this.subscriptions = [];
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9keW5hbWljLWNvbXBvbmVudC9zaGFyZWQvZHluYW1pYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUMzQixZQUFvQixnQkFBcUM7UUFBckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQTFCekQ7OztXQUdHO1FBQ0ssa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBTzNDOztXQUVHO1FBQ0ssV0FBTSxHQUF5QixFQUFFLENBQUM7UUFFMUM7O1dBRUc7UUFDSyxhQUFRLEdBQWtDLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNLLGdCQUFXLEdBQTBDLEVBQUUsQ0FBQztJQUVKLENBQUM7SUFFN0Q7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxNQUF3QjtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDbkMsSUFBSSxD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SUFDSyxrQkFBa0I7UUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBMkIsRUFBRSxFQUFFO1lBQ25FLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDbkIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudEZhY3RvcnksXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCBpbiB0aGUgRHluYW1pY0NvbXBvbmVudE91dGxldCBjb21wb25lbnQuIEl0IGhvbGRzXHJcbiAqIGEgcmVmZXJlbmNlIHRvIGEgY29tcG9uZW50IGZhY3RvcnkgYW5kIGNhbiByZW5kZXIgdGhhdCBjb21wb25lbnRcclxuICogaW4gYSB0YXJnZXQgZWxlbWVudCBvbiBkZW1hbmQuIEl0J3MgYWxzbyBwb3NzaWJsZSB0byBzZXQgaW5wdXRzXHJcbiAqIGFuZCB0byBzdWJzY3JpYmUgdG8gb3V0cHV0cy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50PEM+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcG9uZW50IHJlZmVyZW5jZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Qz47XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbnMgdG8gdGhlIGNvbXBvbmVudCdzIG91dHB1dHMuIFRob3NlIG5lZWRcclxuICAgKiB0byBiZSB1bnN1YnNjcmliZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZC5cclxuICAgKi9cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbXBvbmVudCB0YXJnZXQgZWxlbWVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICAvKipcclxuICAgKiBDb21wb25lbnQgaW5wdXRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbnB1dHM6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbnMgdG8gdGhlIGNvbXBvbmVudCdzIGFzeW5jIGlucHV0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaW5wdXRzJCQ6IHtba2V5OiBzdHJpbmddOiBTdWJzY3JpcHRpb259ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmliZXJzIHRvIHRoZSBjb21wb25lbnQncyBvdXRwdXRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVyczoge1trZXk6IHN0cmluZ106IChldmVudDogYW55KSA9PiB2b2lkfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Qz4pIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbmRlciB0aGUgY29tcG9uZW50IHRvIGEgdGFyZ2V0IGVsZW1lbnQuXHJcbiAgICogU2V0IGl0J3MgaW5wdXRzIGFuZCBzdWJzY3JpYmUgdG8gaXQncyBvdXRwdXRzLlxyXG4gICAqIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IGVsZW1lbnRcclxuICAgKi9cclxuICBzZXRUYXJnZXQodGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldDtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGFyZ2V0LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnkpO1xyXG4gICAgdGhpcy51cGRhdGVJbnB1dHModGhpcy5pbnB1dHMpO1xyXG4gICAgdGhpcy51cGRhdGVTdWJzY3JpYmVycyh0aGlzLnN1YnNjcmliZXJzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3Ryb3kgdGhpcyBjb21wb25lbnQuIFRoYXQgbWVhbnMsIHJlbW92aW5nIGZyb20gaXQncyB0YXJnZXRcclxuICAgKiBlbGVtZW50IGFuZCB1bnN1YnNjcmliaW5nIHRvIGl0J3Mgb3V0cHV0cy5cclxuICAgKi9cclxuICBkZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy50YXJnZXQuY2xlYXIoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVub2JzZXJ2ZUFsbElucHV0cygpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZUFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBjb21wb25lbnQgaW5wdXRzLiBUaGlzIGlzIGFuIHVwZGF0ZSBzbyBhbnlcclxuICAgKiBrZXkgbm90IGRlZmluZWQgd29uJ3QgYmUgb3ZlcndyaXR0ZW4uXHJcbiAgICovXHJcbiAgdXBkYXRlSW5wdXRzKGlucHV0czoge1trZXk6IHN0cmluZ106IGFueX0pIHtcclxuICAgIHRoaXMuaW5wdXRzID0gaW5wdXRzO1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICBjb25zdCBhbGxvd2VkSW5wdXRzID0gdGhpcy5jb21wb25lbnRGYWN0b3J5LmlucHV0cztcclxuICAgIGFsbG93ZWRJbnB1dHMuZm9yRWFjaCgodmFsdWU6IHtwcm9wTmFtZTogc3RyaW5nOyB0ZW1wbGF0ZU5hbWU6IHN0cmluZzsgfSkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB2YWx1ZS5wcm9wTmFtZTtcclxuXHJcbiAgICAgIHRoaXMudW5vYnNlcnZlSW5wdXQoa2V5KTtcclxuXHJcbiAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSBpbnB1dHNba2V5XTtcclxuICAgICAgaWYgKGlucHV0cy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLm9ic2VydmVJbnB1dChrZXksIGlucHV0VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWUoaW5zdGFuY2UsIGtleSwgaW5wdXRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodHlwZW9mIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgYW4gaW5zdGFuY2UncyBpbnB1dCB2YWx1ZVxyXG4gICAqIEBwYXJhbSBpbnN0YW5jZSBDb21wb25lbnQgaW5zdGFuY2VcclxuICAgKiBAcGFyYW0ga2V5IElucHV0IGtleVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBJbnB1dCB2YWx1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0SW5wdXRWYWx1ZShpbnN0YW5jZTogQywga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGluc3RhbmNlW2tleV07XHJcbiAgICBpZiAodmFsdWUgPT09IGN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKTtcclxuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvdHlwZSwga2V5KTtcclxuICAgIGlmIChkZXNjcmlwdG9yICE9PSB1bmRlZmluZWQgJiYgZGVzY3JpcHRvci5zZXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBkZXNjcmlwdG9yLnNldC5jYWxsKGluc3RhbmNlLCB2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIGNvbXBvbmVudCBzdWJzY3JpYmVycy4gVGhpcyBpcyBhbiB1cGRhdGUgc28gYW55XHJcbiAgICoga2V5IG5vdCBkZWZpbmVkIHdvbid0IGJlIG92ZXJ3cml0dGVuLlxyXG4gICAqL1xyXG4gIHVwZGF0ZVN1YnNjcmliZXJzKHN1YnNjcmliZXJzOiB7W2tleTogc3RyaW5nXTogKGV2ZW50OiBhbnkpID0+IHZvaWR9KSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZXJzID0gc3Vic2NyaWJlcnM7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgIGNvbnN0IGFsbG93ZWRTdWJzY3JpYmVycyA9IHRoaXMuY29tcG9uZW50RmFjdG9yeS5vdXRwdXRzO1xyXG4gICAgYWxsb3dlZFN1YnNjcmliZXJzLmZvckVhY2goKHZhbHVlOiB7cHJvcE5hbWU6IHN0cmluZzsgdGVtcGxhdGVOYW1lOiBzdHJpbmc7IH0pID0+IHtcclxuICAgICAgY29uc3Qga2V5ID0gdmFsdWUucHJvcE5hbWU7XHJcbiAgICAgIGlmIChzdWJzY3JpYmVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgY29uc3QgZW1pdHRlciA9IGluc3RhbmNlW2tleV07XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaWJlciA9IHN1YnNjcmliZXJzW2tleV07XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3Vic2NyaWJlcikpIHtcclxuICAgICAgICAgIHN1YnNjcmliZXIuZm9yRWFjaCgoX3N1YnNjcmliZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goZW1pdHRlci5zdWJzY3JpYmUoX3N1YnNjcmliZXIpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChlbWl0dGVyLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmliZSB0byBhbiBvYnNlcnZhYmxlIGlucHV0IGFuZCB1cGRhdGUgdGhlIGNvbXBvbmVudCdzIGlucHV0IHZhbHVlXHJcbiAgICogYWNjb3JkaW5nbHlcclxuICAgKiBAcGFyYW0ga2V5IElucHV0IGtleVxyXG4gICAqIEBwYXJhbSBvYnNlcnZhYmxlIE9ic2VydmFibGVcclxuICAgKi9cclxuICBwcml2YXRlIG9ic2VydmVJbnB1dChrZXk6IHN0cmluZywgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICB0aGlzLmlucHV0cyQkW2tleV0gPSBvYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgICB0aGlzLnNldElucHV0VmFsdWUoaW5zdGFuY2UsIGtleSwgdmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHR5cGVvZiAoaW5zdGFuY2UgYXMgYW55KS5vblVwZGF0ZUlucHV0cyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gYW4gb2JzZXJ2YWJsZSBpbnB1dFxyXG4gICAqIEBwYXJhbSBrZXkgSW5wdXQga2V5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bm9ic2VydmVJbnB1dChrZXk6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRzJCRba2V5XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRzJCRba2V5XS51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLmlucHV0cyQkW2tleV0gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbnN1YnNjcmliZSB0byBhbGwgb3V0cHV0cy5cclxuICAgKi9cclxuICBwcml2YXRlIHVub2JzZXJ2ZUFsbElucHV0cygpIHtcclxuICAgIE9iamVjdC52YWx1ZXModGhpcy5pbnB1dHMkJCkuZm9yRWFjaCgoczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgICAgIGlmIChzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5pbnB1dHMkJCA9IHt9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gYWxsIG91dHB1dHMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzOiBTdWJzY3JpcHRpb24pID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { EntityStoreWatcher } from '../shared/watcher';
|
|
4
|
-
import { getEntityTitle } from '../shared/entity.utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/material/form-field";
|
|
8
|
-
import * as i3 from "@angular/material/select";
|
|
9
|
-
import * as i4 from "@angular/material/core";
|
|
10
|
-
function EntitySelectorComponent_mat_option_3_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
-
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
12
|
-
i0.ɵɵtext(1);
|
|
13
|
-
i0.ɵɵelementEnd();
|
|
14
|
-
} if (rf & 2) {
|
|
15
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
-
i0.ɵɵproperty("value", ctx_r0.emptyValue);
|
|
17
|
-
i0.ɵɵadvance(1);
|
|
18
|
-
i0.ɵɵtextInterpolate(ctx_r0.emptyText);
|
|
19
|
-
} }
|
|
20
|
-
function EntitySelectorComponent_mat_option_4_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
22
|
-
i0.ɵɵtext(1);
|
|
23
|
-
i0.ɵɵpipe(2, "async");
|
|
24
|
-
i0.ɵɵelementEnd();
|
|
25
|
-
} if (rf & 2) {
|
|
26
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
27
|
-
i0.ɵɵproperty("value", ctx_r1.multiSelectValue);
|
|
28
|
-
i0.ɵɵadvance(1);
|
|
29
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r1.multiText$));
|
|
30
|
-
} }
|
|
31
|
-
function EntitySelectorComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
33
|
-
i0.ɵɵtext(1);
|
|
34
|
-
i0.ɵɵelementEnd();
|
|
35
|
-
} if (rf & 2) {
|
|
36
|
-
const record_r3 = ctx.$implicit;
|
|
37
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
38
|
-
i0.ɵɵproperty("value", record_r3.entity);
|
|
39
|
-
i0.ɵɵadvance(1);
|
|
40
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.titleAccessor(record_r3.entity), " ");
|
|
41
|
-
} }
|
|
42
|
-
export class EntitySelectorComponent {
|
|
43
|
-
constructor(cdRef) {
|
|
44
|
-
this.cdRef = cdRef;
|
|
45
|
-
/**
|
|
46
|
-
* The selected entity
|
|
47
|
-
* @internal
|
|
48
|
-
*/
|
|
49
|
-
this.selected$ = new BehaviorSubject(undefined);
|
|
50
|
-
/**
|
|
51
|
-
* The current multi select option text
|
|
52
|
-
* @internal
|
|
53
|
-
*/
|
|
54
|
-
this.multiText$ = new BehaviorSubject(undefined);
|
|
55
|
-
this.multiSelectValue = { id: 'IGO_MULTI_SELECT' };
|
|
56
|
-
this.emptyValue = { id: 'IGO_EMPTY_SELECT' };
|
|
57
|
-
/**
|
|
58
|
-
* Title accessor
|
|
59
|
-
*/
|
|
60
|
-
this.titleAccessor = getEntityTitle;
|
|
61
|
-
/**
|
|
62
|
-
* Text to display when nothing is selected
|
|
63
|
-
*/
|
|
64
|
-
this.emptyText = undefined;
|
|
65
|
-
/**
|
|
66
|
-
* Wheter selecting many entities is allowed
|
|
67
|
-
*/
|
|
68
|
-
this.multi = false;
|
|
69
|
-
/**
|
|
70
|
-
* Text to display for the select all option
|
|
71
|
-
*/
|
|
72
|
-
this.multiAllText = 'All';
|
|
73
|
-
/**
|
|
74
|
-
* Text to display for the select none option
|
|
75
|
-
*/
|
|
76
|
-
this.multiNoneText = 'None';
|
|
77
|
-
/**
|
|
78
|
-
* Wheter the selector is disabled or not
|
|
79
|
-
*/
|
|
80
|
-
this.disabled = false;
|
|
81
|
-
/**
|
|
82
|
-
* Event emitted when the selection changes
|
|
83
|
-
*/
|
|
84
|
-
this.selectedChange = new EventEmitter();
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Create a store watcher and subscribe to the selected entity
|
|
88
|
-
* @internal
|
|
89
|
-
*/
|
|
90
|
-
ngOnInit() {
|
|
91
|
-
this.watcher = new EntityStoreWatcher(this.store, this.cdRef);
|
|
92
|
-
this.selected$$ = this.store.stateView
|
|
93
|
-
.manyBy$((record) => record.state.selected === true)
|
|
94
|
-
.subscribe((records) => {
|
|
95
|
-
const entities = records.map((record) => record.entity);
|
|
96
|
-
this.onSelectFromStore(entities);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Unsubscribe to the selected entity and destroy the store watcher
|
|
101
|
-
* @internal
|
|
102
|
-
*/
|
|
103
|
-
ngOnDestroy() {
|
|
104
|
-
this.watcher.destroy();
|
|
105
|
-
this.selected$$.unsubscribe();
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* On selection change, update the store's state and emit an event
|
|
109
|
-
* @internal
|
|
110
|
-
*/
|
|
111
|
-
onSelectionChange(event) {
|
|
112
|
-
const values = event.value instanceof Array ? event.value : [event.value];
|
|
113
|
-
const multiSelect = values.find((_value) => _value === this.multiSelectValue);
|
|
114
|
-
let entities = values.filter((_value) => _value !== this.multiSelectValue);
|
|
115
|
-
if (multiSelect !== undefined) {
|
|
116
|
-
if (entities.length === this.store.count) {
|
|
117
|
-
entities = [];
|
|
118
|
-
}
|
|
119
|
-
else if (entities.length < this.store.count) {
|
|
120
|
-
entities = this.store.all();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
entities = entities.filter((entity) => entity !== this.emptyValue);
|
|
124
|
-
if (entities.length === 0) {
|
|
125
|
-
this.store.state.updateAll({ selected: false });
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
this.store.state.updateMany(entities, { selected: true }, true);
|
|
129
|
-
}
|
|
130
|
-
const value = this.multi ? entities : event.value;
|
|
131
|
-
this.selectedChange.emit({ selected: true, value });
|
|
132
|
-
}
|
|
133
|
-
onSelectFromStore(entities) {
|
|
134
|
-
if (this.multi === true) {
|
|
135
|
-
this.selected$.next(entities);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
const entity = entities.length > 0 ? entities[0] : undefined;
|
|
139
|
-
this.selected$.next(entity);
|
|
140
|
-
}
|
|
141
|
-
this.updateMultiToggleWithEntities(entities);
|
|
142
|
-
}
|
|
143
|
-
updateMultiToggleWithEntities(entities) {
|
|
144
|
-
if (entities.length === this.store.count && this.multiText$.value !== this.multiNoneText) {
|
|
145
|
-
this.multiText$.next(this.multiNoneText);
|
|
146
|
-
}
|
|
147
|
-
else if (entities.length < this.store.count && this.multiText$.value !== this.multiAllText) {
|
|
148
|
-
this.multiText$.next(this.multiAllText);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
EntitySelectorComponent.ɵfac = function EntitySelectorComponent_Factory(t) { return new (t || EntitySelectorComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
153
|
-
EntitySelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntitySelectorComponent, selectors: [["igo-entity-selector"]], inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, decls: 7, vars: 11, consts: [[1, "igo-entity-selector"], [3, "disabled", "value", "multiple", "placeholder", "selectionChange"], [3, "value", 4, "ngIf"], ["ngFor", "", 3, "ngForOf"], [3, "value"]], template: function EntitySelectorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
154
|
-
i0.ɵɵelementStart(0, "mat-form-field", 0)(1, "mat-select", 1);
|
|
155
|
-
i0.ɵɵlistener("selectionChange", function EntitySelectorComponent_Template_mat_select_selectionChange_1_listener($event) { return ctx.onSelectionChange($event); });
|
|
156
|
-
i0.ɵɵpipe(2, "async");
|
|
157
|
-
i0.ɵɵtemplate(3, EntitySelectorComponent_mat_option_3_Template, 2, 2, "mat-option", 2);
|
|
158
|
-
i0.ɵɵtemplate(4, EntitySelectorComponent_mat_option_4_Template, 3, 4, "mat-option", 2);
|
|
159
|
-
i0.ɵɵtemplate(5, EntitySelectorComponent_ng_template_5_Template, 2, 2, "ng-template", 3);
|
|
160
|
-
i0.ɵɵpipe(6, "async");
|
|
161
|
-
i0.ɵɵelementEnd()();
|
|
162
|
-
} if (rf & 2) {
|
|
163
|
-
i0.ɵɵadvance(1);
|
|
164
|
-
i0.ɵɵproperty("disabled", ctx.disabled)("value", i0.ɵɵpipeBind1(2, 7, ctx.selected$))("multiple", ctx.multi)("placeholder", ctx.placeholder);
|
|
165
|
-
i0.ɵɵadvance(2);
|
|
166
|
-
i0.ɵɵproperty("ngIf", ctx.emptyText !== undefined && ctx.multi === false);
|
|
167
|
-
i0.ɵɵadvance(1);
|
|
168
|
-
i0.ɵɵproperty("ngIf", ctx.multi === true);
|
|
169
|
-
i0.ɵɵadvance(1);
|
|
170
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx.store.stateView.all$()));
|
|
171
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatFormField, i3.MatSelect, i4.MatOption, i1.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
|
|
172
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntitySelectorComponent, [{
|
|
173
|
-
type: Component,
|
|
174
|
-
args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"igo-entity-selector\">\r\n <mat-select\r\n [disabled]=\"disabled\"\r\n [value]=\"selected$ | async\"\r\n [multiple]=\"multi\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChange($event)\">\r\n <mat-option *ngIf=\"emptyText !== undefined && multi === false\" [value]=\"emptyValue\">{{emptyText}}</mat-option>\r\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{multiText$ | async}}</mat-option>\r\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\r\n <mat-option [value]=\"record.entity\">\r\n {{titleAccessor(record.entity)}}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
175
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { store: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], titleAccessor: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], emptyText: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], multi: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], multiAllText: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], multiNoneText: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], placeholder: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], disabled: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], selectedChange: [{
|
|
192
|
-
type: Output
|
|
193
|
-
}] }); })();
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBSXhCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztJQ1RwRCxxQ0FBb0Y7SUFBQSxZQUFhO0lBQUEsaUJBQWE7OztJQUEvQyx5Q0FBb0I7SUFBQyxlQUFhO0lBQWIsc0NBQWE7OztJQUNqRyxxQ0FBOEQ7SUFBQSxZQUFzQjs7SUFBQSxpQkFBYTs7O0lBQTlELCtDQUEwQjtJQUFDLGVBQXNCO0lBQXRCLDZEQUFzQjs7O0lBRWxGLHFDQUFvQztJQUNsQyxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFGRCx3Q0FBdUI7SUFDakMsZUFDRjtJQURFLHVFQUNGOztBRFlOLE1BQU0sT0FBTyx1QkFBdUI7SUE0RWxDLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBMUU1Qzs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFFNUQ7OztXQUdHO1FBQ00sZUFBVSxHQUFHLElBQUksZUFB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Q0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDNUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQzs7OEZBbkpVLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDeEJwQyx5Q0FBNEMsb0JBQUE7UUFNeEMsa0lBQW1CLDZCQUF5QixJQUFDOztRQUM3QyxzRkFBOEc7UUFDOUcsc0ZBQWlHO1FBQ2pHLHdGQUljOztRQUNoQixpQkFBYSxFQUFBOztRQVpYLGVBQXFCO1FBQXJCLHVDQUFxQiw4Q0FBQSx1QkFBQSxnQ0FBQTtRQUtSLGVBQWdEO1FBQWhELHlFQUFnRDtRQUNoRCxlQUFvQjtRQUFwQix5Q0FBb0I7UUFDSCxlQUEwQztRQUExQywwRUFBMEM7O3VGRGUvRCx1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtvRUFpQ3RDLEtBQUs7a0JBQWIsS0FBSztZQUtHLGFBQWE7a0JBQXJCLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csWUFBWTtrQkFBcEIsS0FBSztZQUtHLGFBQWE7a0JBQXJCLEtBQUs7WUFLRyxXQUFXO2tCQUFuQixLQUFLO1lBS0csUUFBUTtrQkFBaEIsS0FBSztZQUtJLGNBQWM7a0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlSZWNvcmQgfSBmcm9tICcuLi9zaGFyZWQvZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3NoYXJlZC9zdG9yZSc7XHJcbmltcG9ydCB7IEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJy4uL3NoYXJlZC93YXRjaGVyJztcclxuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUgfSBmcm9tICcuLi9zaGFyZWQvZW50aXR5LnV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWVudGl0eS1zZWxlY3RvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVudGl0eVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvYmplY3Q+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50IG11bHRpIHNlbGVjdCBvcHRpb24gdGV4dFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpVGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgbXVsdGlTZWxlY3RWYWx1ZSA9IHtpZDogJ0lHT19NVUxUSV9TRUxFQ1QnfTtcclxuXHJcbiAgcmVhZG9ubHkgZW1wdHlWYWx1ZSA9IHtpZDogJ0lHT19FTVBUWV9TRUxFQ1QnfTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWxlY3RlZCBlbnRpdHlcclxuICAgKi9cclxuICBwcml2YXRlIHNlbGVjdGVkJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgd2F0Y2hlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPG9iamVjdD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEVudGl0eSBzdG9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxvYmplY3Q+O1xyXG5cclxuICAvKipcclxuICAgKiBUaXRsZSBhY2Nlc3NvclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlQWNjZXNzb3I6IChvYmplY3QpID0+IHN0cmluZyA9IGdldEVudGl0eVRpdGxlO1xyXG5cclxuICAvKipcclxuICAgKiBUZXh0IHRvIGRpc3BsYXkgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgZW1wdHlUZXh0OiBzdHJpbmcgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRlciBzZWxlY3RpbmcgbWFueSBlbnRpdGllcyBpcyBhbGxvd2VkXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IGZvciB0aGUgc2VsZWN0IGFsbCBvcHRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBtdWx0aUFsbFRleHQ6IHN0cmluZyA9ICdBbGwnO1xyXG5cclxuICAvKipcclxuICAgKiBUZXh0IHRvIGRpc3BsYXkgZm9yIHRoZSBzZWxlY3Qgbm9uZSBvcHRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBtdWx0aU5vbmVUZXh0OiBzdHJpbmcgPSAnTm9uZSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpZWxkIHBsYWNlaG9sZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGVyIHRoZSBzZWxlY3RvciBpcyBkaXNhYmxlZCBvciBub3RcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGlvbiBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIHZhbHVlOiBvYmplY3QgfCBvYmplY3RbXTtcclxuICB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgc3RvcmUgd2F0Y2hlciBhbmQgc3Vic2NyaWJlIHRvIHRoZSBzZWxlY3RlZCBlbnRpdHlcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZCQkID0gdGhpcy5zdG9yZS5zdGF0ZVZpZXdcclxuICAgICAgLm1hbnlCeSQoKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHJlY29yZC5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZSlcclxuICAgICAgLnN1YnNjcmliZSgocmVjb3JkczogRW50aXR5UmVjb3JkPG9iamVjdD5bXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVudGl0aWVzID0gcmVjb3Jkcy5tYXAoKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHJlY29yZC5lbnRpdHkpO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIHRoZSBzZWxlY3RlZCBlbnRpdHkgYW5kIGRlc3Ryb3kgdGhlIHN0b3JlIHdhdGNoZXJcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHNlbGVjdGlvbiBjaGFuZ2UsIHVwZGF0ZSB0aGUgc3RvcmUncyBzdGF0ZSBhbmQgZW1pdCBhbiBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB7dmFsdWU6IG9iamVjdCB8IHVuZGVmaW5lZH0pIHtcclxuICAgIGNvbnN0IHZhbHVlcyA9IGV2ZW50LnZhbHVlIGluc3RhbmNlb2YgQXJyYXkgPyBldmVudC52YWx1ZSA6IFtldmVudC52YWx1ZV07XHJcblxyXG4gICAgY29uc3QgbXVsdGlTZWxlY3QgPSB2YWx1ZXMuZmluZCgoX3ZhbHVlOiBvYmplY3QpID0+IF92YWx1ZSA9PT0gdGhpcy5tdWx0aVNlbGVjdFZhbHVlKTtcclxuICAgIGxldCBlbnRpdGllcyA9IHZhbHVlcy5maWx0ZXIoKF92YWx1ZTogb2JqZWN0KSA9PiBfdmFsdWUgIT09IHRoaXMubXVsdGlTZWxlY3RWYWx1ZSk7XHJcbiAgICBpZiAobXVsdGlTZWxlY3QgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoZW50aXRpZXMubGVuZ3RoID09PSB0aGlzLnN0b3JlLmNvdW50KSB7XHJcbiAgICAgICAgZW50aXRpZXMgPSBbXTtcclxuICAgICAgfSBlbHNlIGlmIChlbnRpdGllcy5sZW5ndGggPCB0aGlzLnN0b3JlLmNvdW50KSB7XHJcbiAgICAgICAgZW50aXRpZXMgPSB0aGlzLnN0b3JlLmFsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZW50aXRpZXMgPSBlbnRpdGllcy5maWx0ZXIoKGVudGl0eTogb2JqZWN0KSA9PiBlbnRpdHkgIT09IHRoaXMuZW1wdHlWYWx1ZSk7XHJcbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlQWxsKHtzZWxlY3RlZDogZmFsc2V9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShlbnRpdGllcywge3NlbGVjdGVkOiB0cnVlfSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm11bHRpID8gZW50aXRpZXMgOiBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh7c2VsZWN0ZWQ6IHRydWUsIHZhbHVlfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uU2VsZWN0RnJvbVN0b3JlKGVudGl0aWVzOiBvYmplY3RbXSkge1xyXG4gICAgaWYgKHRoaXMubXVsdGkgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCQubmV4dChlbnRpdGllcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBlbnRpdHkgPSBlbnRpdGllcy5sZW5ndGggPiAwID8gZW50aXRpZXNbMF0gOiB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQkLm5leHQoZW50aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZU11bHRpVG9nZ2xlV2l0aEVudGl0aWVzKGVudGl0aWVzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlTXVsdGlUb2dnbGVXaXRoRW50aXRpZXMoZW50aXRpZXM6IG9iamVjdFtdKSB7XHJcbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoID09PSB0aGlzLnN0b3JlLmNvdW50ICYmIHRoaXMubXVsdGlUZXh0JC52YWx1ZSAhPT0gdGhpcy5tdWx0aU5vbmVUZXh0KSB7XHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC5uZXh0KHRoaXMubXVsdGlOb25lVGV4dCk7XHJcbiAgICB9IGVsc2UgaWYgKGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQgJiYgdGhpcy5tdWx0aVRleHQkLnZhbHVlICE9PSB0aGlzLm11bHRpQWxsVGV4dCkge1xyXG4gICAgICB0aGlzLm11bHRpVGV4dCQubmV4dCh0aGlzLm11bHRpQWxsVGV4dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpZ28tZW50aXR5LXNlbGVjdG9yXCI+XHJcbiAgPG1hdC1zZWxlY3RcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWQkIHwgYXN5bmNcIlxyXG4gICAgW211bHRpcGxlXT1cIm11bHRpXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZW1wdHlUZXh0ICE9PSB1bmRlZmluZWQgJiYgbXVsdGkgPT09IGZhbHNlXCIgW3ZhbHVlXT1cImVtcHR5VmFsdWVcIj57e2VtcHR5VGV4dH19PC9tYXQtb3B0aW9uPlxyXG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJtdWx0aSA9PT0gdHJ1ZVwiIFt2YWx1ZV09XCJtdWx0aVNlbGVjdFZhbHVlXCI+e3ttdWx0aVRleHQkIHwgYXN5bmN9fTwvbWF0LW9wdGlvbj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtcmVjb3JkIFtuZ0Zvck9mXT1cInN0b3JlLnN0YXRlVmlldy5hbGwkKCkgfCBhc3luY1wiPlxyXG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwicmVjb3JkLmVudGl0eVwiPlxyXG4gICAgICAgIHt7dGl0bGVBY2Nlc3NvcihyZWNvcmQuZW50aXR5KX19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
5
|
-
import { EntitySelectorComponent } from './entity-selector.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* @ignore
|
|
9
|
-
*/
|
|
10
|
-
export class IgoEntitySelectorModule {
|
|
11
|
-
}
|
|
12
|
-
IgoEntitySelectorModule.ɵfac = function IgoEntitySelectorModule_Factory(t) { return new (t || IgoEntitySelectorModule)(); };
|
|
13
|
-
IgoEntitySelectorModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoEntitySelectorModule });
|
|
14
|
-
IgoEntitySelectorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
15
|
-
FormsModule,
|
|
16
|
-
MatSelectModule] });
|
|
17
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoEntitySelectorModule, [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [
|
|
21
|
-
CommonModule,
|
|
22
|
-
FormsModule,
|
|
23
|
-
MatSelectModule
|
|
24
|
-
],
|
|
25
|
-
exports: [EntitySelectorComponent],
|
|
26
|
-
declarations: [EntitySelectorComponent]
|
|
27
|
-
}]
|
|
28
|
-
}], null, null); })();
|
|
29
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoEntitySelectorModule, { declarations: [EntitySelectorComponent], imports: [CommonModule,
|
|
30
|
-
FormsModule,
|
|
31
|
-
MatSelectModule], exports: [EntitySelectorComponent] }); })();
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQVVILE1BQU0sT0FBTyx1QkFBdUI7OzhGQUF2Qix1QkFBdUI7eUVBQXZCLHVCQUF1Qjs2RUFQaEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxlQUFlO3VGQUtOLHVCQUF1QjtjQVRuQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDbEMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDeEM7O3dGQUNZLHVCQUF1QixtQkFGbkIsdUJBQXVCLGFBTHBDLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZSxhQUVQLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuXHJcbmltcG9ydCB7IEVudGl0eVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRW50aXR5U2VsZWN0b3JDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW0VudGl0eVNlbGVjdG9yQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvRW50aXR5U2VsZWN0b3JNb2R1bGUge31cclxuIl19
|