@igo2/common 16.3.0 → 17.0.0-next.10
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/action/action.module.d.ts +10 -0
- package/action/actionbar/actionbar-item.component.d.ts +75 -0
- package/action/actionbar/actionbar.component.d.ts +148 -0
- package/action/actionbar/actionbar.module.d.ts +10 -0
- package/action/index.d.ts +5 -0
- package/action/public_api.d.ts +4 -0
- package/action/shared/action.interfaces.d.ts +18 -0
- package/action/shared/store.d.ts +8 -0
- package/action/src/action.theming.scss +5 -0
- package/action/src/actionbar/actionbar-item.theming.scss +32 -0
- package/action/src/actionbar/actionbar.theming.scss +22 -0
- package/backdrop/backdrop.component.d.ts +9 -0
- package/backdrop/backdrop.module.d.ts +12 -0
- package/backdrop/index.d.ts +5 -0
- package/backdrop/public_api.d.ts +2 -0
- package/badge/badge-icon.directive.d.ts +34 -0
- package/badge/badge-icon.module.d.ts +12 -0
- package/badge/index.d.ts +5 -0
- package/badge/public_api.d.ts +2 -0
- package/clickout/clickout.directive.d.ts +10 -0
- package/clickout/clickout.module.d.ts +12 -0
- package/clickout/index.d.ts +5 -0
- package/clickout/public_api.d.ts +2 -0
- package/clone/clone.module.d.ts +12 -0
- package/clone/clone.pipe.d.ts +7 -0
- package/clone/index.d.ts +5 -0
- package/clone/public_api.d.ts +2 -0
- package/collapsible/collapse.directive.d.ts +19 -0
- package/collapsible/collapsible.component.d.ts +13 -0
- package/collapsible/collapsible.module.d.ts +13 -0
- package/collapsible/index.d.ts +5 -0
- package/collapsible/public_api.d.ts +6 -0
- package/collapsible/src/collapsible.theming.scss +22 -0
- package/color/color-picker-form-field/color-picker-form-field.component.d.ts +29 -0
- package/color/color-picker-form-field/color-picker-form-field.module.d.ts +10 -0
- package/color/color-picker-form-field/index.d.ts +2 -0
- package/color/index.d.ts +5 -0
- package/color/public_api.d.ts +1 -0
- package/confirm-dialog/confirm-dialog.component.d.ts +12 -0
- package/confirm-dialog/confirm-dialog.module.d.ts +12 -0
- package/confirm-dialog/index.d.ts +5 -0
- package/confirm-dialog/public_api.d.ts +4 -0
- package/context-menu/context-menu.directive.d.ts +21 -0
- package/context-menu/context-menu.module.d.ts +13 -0
- package/context-menu/index.d.ts +5 -0
- package/context-menu/long-press.directive.d.ts +20 -0
- package/context-menu/public_api.d.ts +6 -0
- package/custom-html/custom-html.component.d.ts +9 -0
- package/custom-html/custom-html.module.d.ts +13 -0
- package/custom-html/custom-html.pipe.d.ts +10 -0
- package/custom-html/index.d.ts +5 -0
- package/custom-html/public_api.d.ts +6 -0
- package/dom/dom.module.d.ts +14 -0
- package/dom/index.d.ts +5 -0
- package/dom/public_api.d.ts +3 -0
- package/drag-drop/drag-drop.directive.d.ts +14 -0
- package/drag-drop/drag-drop.module.d.ts +12 -0
- package/drag-drop/index.d.ts +5 -0
- package/drag-drop/public_api.d.ts +2 -0
- package/dynamic-component/dynamic-component.module.d.ts +10 -0
- package/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -0
- package/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +10 -0
- package/dynamic-component/index.d.ts +5 -0
- package/dynamic-component/public_api.d.ts +4 -0
- package/entity/entity-selector/entity-selector.component.d.ts +93 -0
- package/entity/entity-selector/entity-selector.module.d.ts +10 -0
- package/entity/entity-selector/index.d.ts +2 -0
- package/entity/entity-table/entity-table-row.directive.d.ts +69 -0
- package/entity/entity-table/entity-table.component.d.ts +342 -0
- package/entity/entity-table/entity-table.module.d.ts +10 -0
- package/entity/entity-table/index.d.ts +2 -0
- package/entity/entity-table-paginator/entity-table-paginator.component.d.ts +50 -0
- package/entity/entity-table-paginator/entity-table-paginator.module.d.ts +10 -0
- package/entity/entity-table-paginator/index.d.ts +3 -0
- package/entity/entity.module.d.ts +16 -0
- package/entity/index.d.ts +5 -0
- package/entity/public_api.d.ts +5 -0
- package/entity/shared/entity.interfaces.d.ts +102 -0
- package/entity/shared/transaction.d.ts +179 -0
- package/entity/src/entity-selector/entity-selector.theming.scss +21 -0
- package/entity/src/entity-table/entity-table.theming.scss +37 -0
- package/entity/src/entity.theming.scss +7 -0
- package/environment/index.d.ts +5 -0
- 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 +22 -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 +66 -0
- package/esm2022/context-menu/public_api.mjs +10 -0
- package/esm2022/custom-html/custom-html.component.mjs +22 -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 +25 -0
- package/esm2022/drag-drop/igo2-common-drag-drop.mjs +5 -0
- package/esm2022/drag-drop/public_api.mjs +3 -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 +78 -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 +135 -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 +103 -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 +82 -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 +29 -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 +26 -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 +32 -0
- package/esm2022/icon/shared/index.mjs +4 -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 +133 -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 +17 -78
- 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 +30 -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 +64 -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 +113 -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 +74 -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 +505 -0
- package/fesm2022/igo2-common-action.mjs.map +1 -0
- package/fesm2022/igo2-common-backdrop.mjs +51 -0
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -0
- package/fesm2022/igo2-common-badge.mjs +178 -0
- package/fesm2022/igo2-common-badge.mjs.map +1 -0
- package/fesm2022/igo2-common-clickout.mjs +61 -0
- package/fesm2022/igo2-common-clickout.mjs.map +1 -0
- package/fesm2022/igo2-common-clone.mjs +54 -0
- package/fesm2022/igo2-common-clone.mjs.map +1 -0
- package/fesm2022/igo2-common-collapsible.mjs +126 -0
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -0
- package/fesm2022/igo2-common-color.mjs +127 -0
- package/fesm2022/igo2-common-color.mjs.map +1 -0
- package/fesm2022/igo2-common-confirm-dialog.mjs +91 -0
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -0
- package/fesm2022/igo2-common-context-menu.mjs +206 -0
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -0
- package/fesm2022/igo2-common-custom-html.mjs +74 -0
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -0
- package/fesm2022/igo2-common-dom.mjs +65 -0
- package/fesm2022/igo2-common-dom.mjs.map +1 -0
- package/fesm2022/igo2-common-drag-drop.mjs +111 -0
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -0
- package/fesm2022/igo2-common-dynamic-component.mjs +375 -0
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -0
- package/fesm2022/igo2-common-entity.mjs +3036 -0
- package/fesm2022/igo2-common-entity.mjs.map +1 -0
- package/fesm2022/igo2-common-environment.mjs +4 -0
- package/fesm2022/igo2-common-environment.mjs.map +1 -0
- package/fesm2022/igo2-common-flexible.mjs +163 -0
- package/fesm2022/igo2-common-flexible.mjs.map +1 -0
- package/fesm2022/igo2-common-form.mjs +898 -0
- package/fesm2022/igo2-common-form.mjs.map +1 -0
- package/fesm2022/igo2-common-home-button.mjs +49 -0
- package/fesm2022/igo2-common-home-button.mjs.map +1 -0
- package/fesm2022/igo2-common-icon.mjs +108 -0
- package/fesm2022/igo2-common-icon.mjs.map +1 -0
- package/fesm2022/igo2-common-image.mjs +129 -0
- package/fesm2022/igo2-common-image.mjs.map +1 -0
- package/fesm2022/igo2-common-interactive-tour.mjs +490 -0
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -0
- package/fesm2022/igo2-common-json-dialog.mjs +88 -0
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -0
- package/fesm2022/igo2-common-keyvalue.mjs +48 -0
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -0
- package/fesm2022/igo2-common-list.mjs +446 -0
- package/fesm2022/igo2-common-list.mjs.map +1 -0
- package/fesm2022/igo2-common-panel.mjs +53 -0
- package/fesm2022/igo2-common-panel.mjs.map +1 -0
- package/fesm2022/igo2-common-select-value-dialog.mjs +161 -0
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -0
- package/fesm2022/igo2-common-sidenav.mjs +86 -0
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -0
- package/fesm2022/igo2-common-spinner.mjs +110 -0
- package/fesm2022/igo2-common-spinner.mjs.map +1 -0
- package/fesm2022/igo2-common-stop-propagation.mjs +73 -0
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -0
- package/fesm2022/igo2-common-table.mjs +264 -0
- package/fesm2022/igo2-common-table.mjs.map +1 -0
- package/fesm2022/igo2-common-tool.mjs +535 -0
- package/fesm2022/igo2-common-tool.mjs.map +1 -0
- package/fesm2022/igo2-common-widget.mjs +176 -0
- package/fesm2022/igo2-common-widget.mjs.map +1 -0
- package/fesm2022/igo2-common-workspace.mjs +361 -0
- package/fesm2022/igo2-common-workspace.mjs.map +1 -0
- package/fesm2022/igo2-common.mjs +16 -8760
- package/fesm2022/igo2-common.mjs.map +1 -1
- package/flexible/flexible.component.d.ts +41 -0
- package/flexible/flexible.module.d.ts +12 -0
- package/flexible/index.d.ts +5 -0
- package/flexible/public_api.d.ts +3 -0
- package/form/form/form.component.d.ts +53 -0
- package/form/form/form.module.d.ts +10 -0
- package/form/form/index.d.ts +2 -0
- package/form/form-dialog/form-dialog.component.d.ts +23 -0
- package/form/form-dialog/form-dialog.interface.d.ts +18 -0
- package/form/form-dialog/form-dialog.module.d.ts +16 -0
- package/form/form-dialog/index.d.ts +4 -0
- package/form/form-field/form-field-select.component.d.ts +52 -0
- package/form/form-field/form-field-text.component.d.ts +51 -0
- package/form/form-field/form-field-textarea.component.d.ts +41 -0
- package/form/form-field/form-field.component.d.ts +29 -0
- package/form/form-field/form-field.directive.d.ts +5 -0
- package/form/form-field/form-field.module.d.ts +13 -0
- package/form/form-field/index.d.ts +6 -0
- package/form/form-group/form-group.component.d.ts +49 -0
- package/form/form-group/form-group.module.d.ts +10 -0
- package/form/form-group/index.d.ts +2 -0
- package/form/form.module.d.ts +18 -0
- package/form/index.d.ts +5 -0
- package/form/public_api.d.ts +6 -0
- package/home-button/home-button.component.d.ts +9 -0
- package/home-button/home-button.module.d.ts +10 -0
- package/home-button/index.d.ts +5 -0
- package/home-button/public_api.d.ts +2 -0
- package/home-button/src/home-button.theming.scss +18 -0
- package/icon/icon/icon.component.d.ts +14 -0
- package/icon/icon.provider.d.ts +4 -0
- package/icon/index.d.ts +5 -0
- package/icon/public_api.d.ts +3 -0
- package/icon/shared/icon.interface.d.ts +4 -0
- package/icon/shared/icon.service.d.ts +12 -0
- package/icon/shared/icons.d.ts +9 -0
- package/icon/shared/index.d.ts +3 -0
- package/image/image-error.directive.d.ts +11 -0
- package/image/image.module.d.ts +13 -0
- package/image/index.d.ts +5 -0
- package/image/public_api.d.ts +6 -0
- package/image/secure-image.pipe.d.ts +13 -0
- package/interactive-tour/index.d.ts +5 -0
- package/interactive-tour/interactive-tour.component.d.ts +33 -0
- package/interactive-tour/interactive-tour.loader.d.ts +18 -0
- package/interactive-tour/interactive-tour.module.d.ts +7 -0
- package/interactive-tour/interactive-tour.service.d.ts +31 -0
- package/interactive-tour/public_api.d.ts +5 -0
- package/interactive-tour/src/interactive-tour.theming.scss +32 -0
- package/json-dialog/index.d.ts +5 -0
- package/json-dialog/json-dialog.component.d.ts +13 -0
- package/json-dialog/json-dialog.module.d.ts +12 -0
- package/json-dialog/public_api.d.ts +3 -0
- package/keyvalue/index.d.ts +5 -0
- package/keyvalue/keyvalue.module.d.ts +12 -0
- package/keyvalue/keyvalue.pipe.d.ts +7 -0
- package/keyvalue/public_api.d.ts +2 -0
- package/list/index.d.ts +5 -0
- package/list/list-item.directive.d.ts +43 -0
- package/list/list.component.d.ts +51 -0
- package/list/list.module.d.ts +13 -0
- package/list/public_api.d.ts +6 -0
- package/list/src/list.theming.scss +58 -0
- package/locale/en.common.json +59 -59
- package/locale/fr.common.json +59 -59
- package/package.json +206 -8
- package/panel/index.d.ts +5 -0
- package/panel/panel.component.d.ts +10 -0
- package/panel/panel.module.d.ts +10 -0
- package/panel/public_api.d.ts +2 -0
- package/panel/src/panel.theming.scss +30 -0
- package/public_api.d.ts +16 -77
- package/select-value-dialog/index.d.ts +5 -0
- package/select-value-dialog/public_api.d.ts +5 -0
- package/select-value-dialog/select-value-check-radio-dialog.component.d.ts +25 -0
- package/select-value-dialog/select-value-dialog.module.d.ts +12 -0
- package/sidenav/index.d.ts +5 -0
- package/sidenav/public_api.d.ts +2 -0
- package/sidenav/sidenav-shim.directive.d.ts +20 -0
- package/sidenav/sidenav.module.d.ts +12 -0
- package/spinner/index.d.ts +5 -0
- package/spinner/public_api.d.ts +3 -0
- package/spinner/spinner-activity.directive.d.ts +32 -0
- package/spinner/spinner.component.d.ts +12 -0
- package/spinner/spinner.module.d.ts +14 -0
- package/src/common-theme.scss +19 -19
- package/src/style/partial/common-utils.scss +9 -9
- package/src/style/partial/common.variables.scss +8 -8
- package/src/style/style.scss +1 -1
- package/stop-propagation/index.d.ts +5 -0
- package/stop-propagation/public_api.d.ts +6 -0
- package/stop-propagation/stop-drop-propagation.directive.d.ts +6 -0
- package/stop-propagation/stop-propagation.directive.d.ts +6 -0
- package/stop-propagation/stop-propagation.module.d.ts +13 -0
- package/table/index.d.ts +5 -0
- package/table/public_api.d.ts +6 -0
- package/table/table.component.d.ts +40 -0
- package/table/table.module.d.ts +12 -0
- package/tool/index.d.ts +5 -0
- package/tool/public_api.d.ts +3 -0
- package/tool/shared/tool.interface.d.ts +18 -0
- package/tool/shared/toolbox.d.ts +98 -0
- package/tool/shared/toolbox.enums.d.ts +1 -0
- package/tool/src/tool.theming.scss +5 -0
- package/tool/src/toolbox/toolbox.theming.scss +105 -0
- package/tool/tool.module.d.ts +15 -0
- package/tool/toolbox/index.d.ts +2 -0
- package/tool/toolbox/toolbox.component.d.ts +128 -0
- package/tool/toolbox/toolbox.module.d.ts +10 -0
- package/widget/index.d.ts +5 -0
- package/widget/public_api.d.ts +3 -0
- package/widget/shared/widget.d.ts +4 -0
- package/widget/shared/widget.service.d.ts +10 -0
- package/widget/widget-outlet/index.d.ts +2 -0
- package/widget/widget-outlet/widget-outlet.component.d.ts +71 -0
- package/widget/widget-outlet/widget-outlet.module.d.ts +10 -0
- package/widget/widget.module.d.ts +10 -0
- package/workspace/index.d.ts +5 -0
- package/workspace/public_api.d.ts +4 -0
- package/workspace/shared/store.d.ts +20 -0
- package/workspace/shared/workspace.d.ts +108 -0
- package/workspace/shared/workspace.interfaces.d.ts +11 -0
- package/workspace/workspace-selector/index.d.ts +2 -0
- package/workspace/workspace-selector/workspace-selector.component.d.ts +38 -0
- package/workspace/workspace-selector/workspace-selector.module.d.ts +10 -0
- package/workspace/workspace-widget-outlet/index.d.ts +2 -0
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -0
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +10 -0
- package/workspace/workspace.module.d.ts +14 -0
- package/esm2022/lib/action/action.module.mjs +0 -19
- package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +0 -190
- package/esm2022/lib/action/actionbar/actionbar.component.mjs +0 -258
- package/esm2022/lib/action/actionbar/actionbar.module.mjs +0 -56
- package/esm2022/lib/action/index.mjs +0 -3
- package/esm2022/lib/action/shared/action.enums.mjs +0 -7
- package/esm2022/lib/action/shared/action.interfaces.mjs +0 -2
- package/esm2022/lib/action/shared/index.mjs +0 -4
- package/esm2022/lib/action/shared/store.mjs +0 -8
- package/esm2022/lib/backdrop/backdrop.component.mjs +0 -22
- package/esm2022/lib/backdrop/backdrop.module.mjs +0 -24
- package/esm2022/lib/backdrop/index.mjs +0 -2
- package/esm2022/lib/badge-icon/badge-icon.directive.mjs +0 -150
- package/esm2022/lib/badge-icon/badge-icon.module.mjs +0 -25
- package/esm2022/lib/badge-icon/index.mjs +0 -2
- package/esm2022/lib/clickout/clickout.directive.mjs +0 -31
- package/esm2022/lib/clickout/clickout.module.mjs +0 -23
- package/esm2022/lib/clickout/index.mjs +0 -2
- package/esm2022/lib/clone/clone.module.mjs +0 -23
- package/esm2022/lib/clone/clone.pipe.mjs +0 -24
- package/esm2022/lib/clone/index.mjs +0 -2
- package/esm2022/lib/collapsible/collapse.directive.mjs +0 -56
- package/esm2022/lib/collapsible/collapsible.component.mjs +0 -36
- package/esm2022/lib/collapsible/collapsible.module.mjs +0 -26
- package/esm2022/lib/collapsible/index.mjs +0 -3
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +0 -91
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +0 -51
- package/esm2022/lib/color-picker-form-field/index.mjs +0 -2
- package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +0 -23
- package/esm2022/lib/confirm-dialog/confirm-dialog.interface.mjs +0 -2
- package/esm2022/lib/confirm-dialog/confirm-dialog.module.mjs +0 -28
- package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +0 -34
- package/esm2022/lib/confirm-dialog/index.mjs +0 -4
- package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -108
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -24
- package/esm2022/lib/context-menu/index.mjs +0 -3
- package/esm2022/lib/context-menu/long-press.directive.mjs +0 -65
- package/esm2022/lib/custom-html/custom-html.component.mjs +0 -22
- package/esm2022/lib/custom-html/custom-html.module.mjs +0 -46
- package/esm2022/lib/custom-html/custom-html.pipe.mjs +0 -20
- package/esm2022/lib/custom-html/index.mjs +0 -3
- package/esm2022/lib/dom/dom.interfaces.mjs +0 -2
- package/esm2022/lib/dom/dom.module.mjs +0 -21
- package/esm2022/lib/dom/dom.service.mjs +0 -35
- package/esm2022/lib/dom/index.mjs +0 -3
- package/esm2022/lib/drag-drop/drag-drop.directive.mjs +0 -81
- package/esm2022/lib/drag-drop/drag-drop.module.mjs +0 -23
- package/esm2022/lib/drag-drop/index.mjs +0 -2
- package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +0 -19
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -129
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -21
- package/esm2022/lib/dynamic-component/index.mjs +0 -3
- package/esm2022/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +0 -2
- package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +0 -183
- package/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +0 -30
- package/esm2022/lib/dynamic-component/shared/index.mjs +0 -4
- package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +0 -164
- package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +0 -23
- package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
- package/esm2022/lib/entity/entity-table/entity-table.component.mjs +0 -842
- package/esm2022/lib/entity/entity-table/entity-table.module.mjs +0 -95
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -156
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -21
- package/esm2022/lib/entity/entity.module.mjs +0 -28
- package/esm2022/lib/entity/index.mjs +0 -6
- package/esm2022/lib/entity/shared/entity.enums.mjs +0 -28
- package/esm2022/lib/entity/shared/entity.interfaces.mjs +0 -2
- package/esm2022/lib/entity/shared/entity.utils.mjs +0 -73
- package/esm2022/lib/entity/shared/index.mjs +0 -10
- package/esm2022/lib/entity/shared/state.mjs +0 -194
- package/esm2022/lib/entity/shared/store.mjs +0 -322
- package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +0 -80
- package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +0 -81
- package/esm2022/lib/entity/shared/strategies/index.mjs +0 -4
- package/esm2022/lib/entity/shared/strategies/strategy.mjs +0 -78
- package/esm2022/lib/entity/shared/transaction.mjs +0 -329
- package/esm2022/lib/entity/shared/view.mjs +0 -330
- package/esm2022/lib/entity/shared/watcher.mjs +0 -135
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/flexible/flexible.component.mjs +0 -135
- package/esm2022/lib/flexible/flexible.module.mjs +0 -23
- package/esm2022/lib/flexible/flexible.type.mjs +0 -2
- package/esm2022/lib/flexible/index.mjs +0 -3
- package/esm2022/lib/form/form/form.component.mjs +0 -102
- package/esm2022/lib/form/form/form.module.mjs +0 -22
- package/esm2022/lib/form/form-field/form-field-select.component.mjs +0 -99
- package/esm2022/lib/form/form-field/form-field-text.component.mjs +0 -109
- package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +0 -80
- package/esm2022/lib/form/form-field/form-field.component.mjs +0 -65
- package/esm2022/lib/form/form-field/form-field.module.mjs +0 -77
- package/esm2022/lib/form/form-field/index.mjs +0 -5
- package/esm2022/lib/form/form-group/form-group.component.mjs +0 -73
- package/esm2022/lib/form/form-group/form-group.module.mjs +0 -35
- package/esm2022/lib/form/form.module.mjs +0 -26
- package/esm2022/lib/form/index.mjs +0 -5
- package/esm2022/lib/form/shared/form-field-component.mjs +0 -7
- package/esm2022/lib/form/shared/form-field.service.mjs +0 -29
- package/esm2022/lib/form/shared/form.interfaces.mjs +0 -2
- package/esm2022/lib/form/shared/form.service.mjs +0 -82
- package/esm2022/lib/form/shared/form.utils.mjs +0 -41
- package/esm2022/lib/form/shared/index.mjs +0 -6
- package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -80
- package/esm2022/lib/form-dialog/form-dialog.interface.mjs +0 -2
- package/esm2022/lib/form-dialog/form-dialog.module.mjs +0 -52
- package/esm2022/lib/form-dialog/form-dialog.service.mjs +0 -30
- package/esm2022/lib/form-dialog/index.mjs +0 -4
- package/esm2022/lib/home-button/home-button.component.mjs +0 -22
- package/esm2022/lib/home-button/home-button.module.mjs +0 -40
- package/esm2022/lib/home-button/index.mjs +0 -2
- package/esm2022/lib/image/image-error.directive.mjs +0 -34
- package/esm2022/lib/image/image.module.mjs +0 -24
- package/esm2022/lib/image/index.mjs +0 -3
- package/esm2022/lib/image/secure-image.pipe.mjs +0 -65
- package/esm2022/lib/interactive-tour/index.mjs +0 -5
- package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +0 -114
- package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
- package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +0 -49
- package/esm2022/lib/interactive-tour/interactive-tour.module.mjs +0 -39
- package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +0 -299
- package/esm2022/lib/json-dialog/index.mjs +0 -3
- package/esm2022/lib/json-dialog/json-dialog.component.mjs +0 -29
- package/esm2022/lib/json-dialog/json-dialog.module.mjs +0 -28
- package/esm2022/lib/json-dialog/json-dialog.service.mjs +0 -26
- package/esm2022/lib/keyvalue/index.mjs +0 -2
- package/esm2022/lib/keyvalue/keyvalue.module.mjs +0 -23
- package/esm2022/lib/keyvalue/keyvalue.pipe.mjs +0 -18
- package/esm2022/lib/list/index.mjs +0 -3
- package/esm2022/lib/list/list-item.directive.mjs +0 -165
- package/esm2022/lib/list/list.component.mjs +0 -251
- package/esm2022/lib/list/list.module.mjs +0 -28
- package/esm2022/lib/panel/index.mjs +0 -2
- package/esm2022/lib/panel/panel.component.mjs +0 -30
- package/esm2022/lib/panel/panel.module.mjs +0 -18
- package/esm2022/lib/select-value-dialog/index.mjs +0 -5
- package/esm2022/lib/select-value-dialog/select-value-check-radio-dialog.component.mjs +0 -87
- package/esm2022/lib/select-value-dialog/select-value-dialog.enums.mjs +0 -6
- package/esm2022/lib/select-value-dialog/select-value-dialog.interface.mjs +0 -2
- package/esm2022/lib/select-value-dialog/select-value-dialog.module.mjs +0 -59
- package/esm2022/lib/select-value-dialog/select-value-dialog.service.mjs +0 -29
- package/esm2022/lib/sidenav/index.mjs +0 -2
- package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +0 -57
- package/esm2022/lib/sidenav/sidenav.module.mjs +0 -23
- package/esm2022/lib/spinner/index.mjs +0 -3
- package/esm2022/lib/spinner/spinner-activity.directive.mjs +0 -55
- package/esm2022/lib/spinner/spinner.component.mjs +0 -30
- package/esm2022/lib/spinner/spinner.module.mjs +0 -20
- package/esm2022/lib/stop-propagation/index.mjs +0 -3
- package/esm2022/lib/stop-propagation/stop-drop-propagation.directive.mjs +0 -20
- package/esm2022/lib/stop-propagation/stop-propagation.directive.mjs +0 -19
- package/esm2022/lib/stop-propagation/stop-propagation.module.mjs +0 -24
- package/esm2022/lib/table/index.mjs +0 -6
- package/esm2022/lib/table/table-action-color.enum.mjs +0 -7
- package/esm2022/lib/table/table-database.mjs +0 -28
- package/esm2022/lib/table/table-datasource.mjs +0 -64
- package/esm2022/lib/table/table-model.interface.mjs +0 -2
- package/esm2022/lib/table/table.component.mjs +0 -124
- package/esm2022/lib/table/table.module.mjs +0 -66
- package/esm2022/lib/tool/index.mjs +0 -3
- package/esm2022/lib/tool/shared/index.mjs +0 -6
- package/esm2022/lib/tool/shared/tool-component.mjs +0 -9
- package/esm2022/lib/tool/shared/tool.interface.mjs +0 -2
- package/esm2022/lib/tool/shared/tool.service.mjs +0 -43
- package/esm2022/lib/tool/shared/toolbox.enums.mjs +0 -7
- package/esm2022/lib/tool/shared/toolbox.mjs +0 -184
- package/esm2022/lib/tool/tool.module.mjs +0 -25
- package/esm2022/lib/tool/toolbox/toolbox.animation.mjs +0 -10
- package/esm2022/lib/tool/toolbox/toolbox.component.mjs +0 -238
- package/esm2022/lib/tool/toolbox/toolbox.module.mjs +0 -23
- package/esm2022/lib/widget/index.mjs +0 -3
- package/esm2022/lib/widget/shared/index.mjs +0 -4
- package/esm2022/lib/widget/shared/widget.interfaces.mjs +0 -2
- package/esm2022/lib/widget/shared/widget.mjs +0 -4
- package/esm2022/lib/widget/shared/widget.service.mjs +0 -22
- package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -114
- package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -22
- package/esm2022/lib/widget/widget.module.mjs +0 -20
- package/esm2022/lib/workspace/index.mjs +0 -4
- package/esm2022/lib/workspace/shared/index.mjs +0 -4
- package/esm2022/lib/workspace/shared/store.mjs +0 -37
- package/esm2022/lib/workspace/shared/workspace.interfaces.mjs +0 -2
- package/esm2022/lib/workspace/shared/workspace.mjs +0 -143
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -52
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -22
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -74
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -22
- package/esm2022/lib/workspace/workspace.module.mjs +0 -19
- package/lib/action/action.module.d.ts +0 -8
- package/lib/action/actionbar/actionbar-item.component.d.ts +0 -78
- package/lib/action/actionbar/actionbar.component.d.ts +0 -147
- package/lib/action/actionbar/actionbar.module.d.ts +0 -20
- package/lib/action/index.d.ts +0 -2
- package/lib/action/shared/action.interfaces.d.ts +0 -17
- package/lib/action/shared/store.d.ts +0 -8
- package/lib/backdrop/backdrop.component.d.ts +0 -9
- package/lib/backdrop/backdrop.module.d.ts +0 -10
- package/lib/backdrop/index.d.ts +0 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +0 -36
- package/lib/badge-icon/badge-icon.module.d.ts +0 -11
- package/lib/badge-icon/index.d.ts +0 -1
- package/lib/clickout/clickout.directive.d.ts +0 -10
- package/lib/clickout/clickout.module.d.ts +0 -9
- package/lib/clickout/index.d.ts +0 -1
- package/lib/clone/clone.module.d.ts +0 -9
- package/lib/clone/clone.pipe.d.ts +0 -7
- package/lib/clone/index.d.ts +0 -1
- package/lib/collapsible/collapse.directive.d.ts +0 -19
- package/lib/collapsible/collapsible.component.d.ts +0 -13
- package/lib/collapsible/collapsible.module.d.ts +0 -12
- package/lib/collapsible/index.d.ts +0 -2
- package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +0 -29
- package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +0 -15
- package/lib/color-picker-form-field/index.d.ts +0 -1
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +0 -12
- package/lib/confirm-dialog/confirm-dialog.module.d.ts +0 -12
- package/lib/confirm-dialog/index.d.ts +0 -3
- package/lib/context-menu/context-menu.directive.d.ts +0 -21
- package/lib/context-menu/context-menu.module.d.ts +0 -10
- package/lib/context-menu/index.d.ts +0 -2
- package/lib/context-menu/long-press.directive.d.ts +0 -20
- package/lib/custom-html/custom-html.component.d.ts +0 -9
- package/lib/custom-html/custom-html.module.d.ts +0 -16
- package/lib/custom-html/custom-html.pipe.d.ts +0 -10
- package/lib/custom-html/index.d.ts +0 -2
- package/lib/dom/dom.module.d.ts +0 -8
- package/lib/dom/index.d.ts +0 -2
- package/lib/drag-drop/drag-drop.directive.d.ts +0 -14
- package/lib/drag-drop/drag-drop.module.d.ts +0 -9
- package/lib/drag-drop/index.d.ts +0 -1
- package/lib/dynamic-component/dynamic-component.module.d.ts +0 -8
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +0 -70
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +0 -11
- package/lib/dynamic-component/index.d.ts +0 -2
- package/lib/entity/entity-selector/entity-selector.component.d.ts +0 -92
- package/lib/entity/entity-selector/entity-selector.module.d.ts +0 -13
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +0 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +0 -342
- package/lib/entity/entity-table/entity-table.module.d.ts +0 -29
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +0 -49
- package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +0 -11
- package/lib/entity/entity.module.d.ts +0 -10
- package/lib/entity/index.d.ts +0 -5
- package/lib/entity/shared/entity.interfaces.d.ts +0 -95
- package/lib/entity/shared/transaction.d.ts +0 -180
- package/lib/flexible/flexible.component.d.ts +0 -41
- package/lib/flexible/flexible.module.d.ts +0 -9
- package/lib/flexible/index.d.ts +0 -2
- package/lib/form/form/form.component.d.ts +0 -53
- package/lib/form/form/form.module.d.ts +0 -12
- package/lib/form/form-field/form-field-select.component.d.ts +0 -52
- package/lib/form/form-field/form-field-text.component.d.ts +0 -51
- package/lib/form/form-field/form-field-textarea.component.d.ts +0 -41
- package/lib/form/form-field/form-field.component.d.ts +0 -29
- package/lib/form/form-field/form-field.module.d.ts +0 -22
- package/lib/form/form-field/index.d.ts +0 -4
- package/lib/form/form-group/form-group.component.d.ts +0 -49
- package/lib/form/form-group/form-group.module.d.ts +0 -14
- package/lib/form/form.module.d.ts +0 -13
- package/lib/form/index.d.ts +0 -4
- package/lib/form-dialog/form-dialog.component.d.ts +0 -24
- package/lib/form-dialog/form-dialog.interface.d.ts +0 -18
- package/lib/form-dialog/form-dialog.module.d.ts +0 -16
- package/lib/form-dialog/index.d.ts +0 -3
- package/lib/home-button/home-button.component.d.ts +0 -9
- package/lib/home-button/home-button.module.d.ts +0 -15
- package/lib/home-button/index.d.ts +0 -1
- package/lib/image/image-error.directive.d.ts +0 -11
- package/lib/image/image.module.d.ts +0 -10
- package/lib/image/index.d.ts +0 -2
- package/lib/image/secure-image.pipe.d.ts +0 -13
- package/lib/interactive-tour/index.d.ts +0 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +0 -30
- package/lib/interactive-tour/interactive-tour.loader.d.ts +0 -18
- package/lib/interactive-tour/interactive-tour.module.d.ts +0 -12
- package/lib/interactive-tour/interactive-tour.service.d.ts +0 -29
- package/lib/json-dialog/index.d.ts +0 -2
- package/lib/json-dialog/json-dialog.component.d.ts +0 -13
- package/lib/json-dialog/json-dialog.module.d.ts +0 -13
- package/lib/keyvalue/index.d.ts +0 -1
- package/lib/keyvalue/keyvalue.module.d.ts +0 -9
- package/lib/keyvalue/keyvalue.pipe.d.ts +0 -7
- package/lib/list/index.d.ts +0 -2
- package/lib/list/list-item.directive.d.ts +0 -43
- package/lib/list/list.component.d.ts +0 -51
- package/lib/list/list.module.d.ts +0 -14
- package/lib/panel/index.d.ts +0 -1
- package/lib/panel/panel.component.d.ts +0 -10
- package/lib/panel/panel.module.d.ts +0 -8
- package/lib/select-value-dialog/index.d.ts +0 -4
- package/lib/select-value-dialog/select-value-check-radio-dialog.component.d.ts +0 -25
- package/lib/select-value-dialog/select-value-dialog.module.d.ts +0 -17
- package/lib/sidenav/index.d.ts +0 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +0 -20
- package/lib/sidenav/sidenav.module.d.ts +0 -9
- package/lib/spinner/index.d.ts +0 -2
- package/lib/spinner/spinner-activity.directive.d.ts +0 -32
- package/lib/spinner/spinner.component.d.ts +0 -12
- package/lib/spinner/spinner.module.d.ts +0 -10
- package/lib/stop-propagation/index.d.ts +0 -2
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +0 -6
- package/lib/stop-propagation/stop-propagation.directive.d.ts +0 -6
- package/lib/stop-propagation/stop-propagation.module.d.ts +0 -10
- package/lib/table/index.d.ts +0 -5
- package/lib/table/table.component.d.ts +0 -40
- package/lib/table/table.module.d.ts +0 -20
- package/lib/tool/index.d.ts +0 -2
- package/lib/tool/shared/tool.interface.d.ts +0 -18
- package/lib/tool/shared/toolbox.d.ts +0 -95
- package/lib/tool/shared/toolbox.enums.d.ts +0 -5
- package/lib/tool/tool.module.d.ts +0 -10
- package/lib/tool/toolbox/toolbox.component.d.ts +0 -128
- package/lib/tool/toolbox/toolbox.module.d.ts +0 -13
- package/lib/widget/index.d.ts +0 -2
- package/lib/widget/shared/widget.d.ts +0 -4
- package/lib/widget/shared/widget.service.d.ts +0 -10
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +0 -71
- package/lib/widget/widget-outlet/widget-outlet.module.d.ts +0 -12
- package/lib/widget/widget.module.d.ts +0 -8
- package/lib/workspace/index.d.ts +0 -3
- package/lib/workspace/shared/store.d.ts +0 -20
- package/lib/workspace/shared/workspace.d.ts +0 -108
- package/lib/workspace/shared/workspace.interfaces.d.ts +0 -11
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +0 -39
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +0 -12
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -57
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -12
- package/lib/workspace/workspace.module.d.ts +0 -9
- package/src/lib/action/action.theming.scss +0 -5
- package/src/lib/action/actionbar/actionbar-item.theming.scss +0 -32
- package/src/lib/action/actionbar/actionbar.theming.scss +0 -22
- package/src/lib/collapsible/collapsible.theming.scss +0 -22
- package/src/lib/entity/entity-selector/entity-selector.theming.scss +0 -21
- package/src/lib/entity/entity-table/entity-table.theming.scss +0 -37
- package/src/lib/entity/entity.theming.scss +0 -7
- package/src/lib/home-button/home-button.theming.scss +0 -18
- package/src/lib/interactive-tour/interactive-tour.theming.scss +0 -32
- package/src/lib/list/list.theming.scss +0 -58
- package/src/lib/panel/panel.theming.scss +0 -30
- package/src/lib/tool/tool.theming.scss +0 -5
- package/src/lib/tool/toolbox/toolbox.theming.scss +0 -105
- /package/{lib/action → action}/shared/action.enums.d.ts +0 -0
- /package/{lib/action → action}/shared/index.d.ts +0 -0
- /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.interface.d.ts +0 -0
- /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.service.d.ts +0 -0
- /package/{lib/dom → dom}/dom.interfaces.d.ts +0 -0
- /package/{lib/dom → dom}/dom.service.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/shared/dynamic-component.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/shared/dynamic-component.interfaces.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/shared/dynamic-component.service.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/shared/index.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -0
- /package/{lib/entity → entity}/shared/entity.enums.d.ts +0 -0
- /package/{lib/entity → entity}/shared/entity.utils.d.ts +0 -0
- /package/{lib/entity → entity}/shared/index.d.ts +0 -0
- /package/{lib/entity → entity}/shared/state.d.ts +0 -0
- /package/{lib/entity → entity}/shared/store.d.ts +0 -0
- /package/{lib/entity → entity}/shared/strategies/filter-custom-function.d.ts +0 -0
- /package/{lib/entity → entity}/shared/strategies/filter-selection.d.ts +0 -0
- /package/{lib/entity → entity}/shared/strategies/index.d.ts +0 -0
- /package/{lib/entity → entity}/shared/strategies/strategy.d.ts +0 -0
- /package/{lib/entity → entity}/shared/view.d.ts +0 -0
- /package/{lib/entity → entity}/shared/watcher.d.ts +0 -0
- /package/{lib/environment → environment}/environment.interface.d.ts +0 -0
- /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
- /package/{lib/flexible → flexible}/flexible.type.d.ts +0 -0
- /package/{lib → form}/form-dialog/form-dialog.service.d.ts +0 -0
- /package/{lib/form → form}/shared/form-field-component.d.ts +0 -0
- /package/{lib/form → form}/shared/form-field.service.d.ts +0 -0
- /package/{lib/form → form}/shared/form.interfaces.d.ts +0 -0
- /package/{lib/form → form}/shared/form.service.d.ts +0 -0
- /package/{lib/form → form}/shared/form.utils.d.ts +0 -0
- /package/{lib/form → form}/shared/index.d.ts +0 -0
- /package/{lib/interactive-tour → interactive-tour}/interactive-tour.interface.d.ts +0 -0
- /package/{lib/json-dialog → json-dialog}/json-dialog.service.d.ts +0 -0
- /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.enums.d.ts +0 -0
- /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.interface.d.ts +0 -0
- /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.service.d.ts +0 -0
- /package/{lib/table → table}/table-action-color.enum.d.ts +0 -0
- /package/{lib/table → table}/table-database.d.ts +0 -0
- /package/{lib/table → table}/table-datasource.d.ts +0 -0
- /package/{lib/table → table}/table-model.interface.d.ts +0 -0
- /package/{lib/tool → tool}/shared/index.d.ts +0 -0
- /package/{lib/tool → tool}/shared/tool-component.d.ts +0 -0
- /package/{lib/tool → tool}/shared/tool.service.d.ts +0 -0
- /package/{lib/tool → tool}/toolbox/toolbox.animation.d.ts +0 -0
- /package/{lib/widget → widget}/shared/index.d.ts +0 -0
- /package/{lib/widget → widget}/shared/widget.interfaces.d.ts +0 -0
- /package/{lib/workspace → workspace}/shared/index.d.ts +0 -0
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { ObjectUtils, uuid } from '@igo2/utils';
|
|
2
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
|
+
import { debounceTime, map, skip } from 'rxjs/operators';
|
|
4
|
+
/**
|
|
5
|
+
* An entity view streams entities from an observable source. These entities
|
|
6
|
+
* can be filtered or sorted without affecting the source. A view can also
|
|
7
|
+
* combine data from multiple sources, joined together.
|
|
8
|
+
*/
|
|
9
|
+
export class EntityView {
|
|
10
|
+
source$;
|
|
11
|
+
/**
|
|
12
|
+
* Observable stream of values
|
|
13
|
+
*/
|
|
14
|
+
values$ = new BehaviorSubject([]);
|
|
15
|
+
/**
|
|
16
|
+
* Subscription to the source (and joined sources) values
|
|
17
|
+
*/
|
|
18
|
+
values$$;
|
|
19
|
+
/**
|
|
20
|
+
* Whether this view has been lifted
|
|
21
|
+
*/
|
|
22
|
+
lifted = false;
|
|
23
|
+
/**
|
|
24
|
+
* Join clauses
|
|
25
|
+
*/
|
|
26
|
+
joins = [];
|
|
27
|
+
/**
|
|
28
|
+
* Observable of a filter clause
|
|
29
|
+
*/
|
|
30
|
+
filter$ = new BehaviorSubject(undefined);
|
|
31
|
+
/**
|
|
32
|
+
* Observable of filter clauses
|
|
33
|
+
*/
|
|
34
|
+
filters$ = new BehaviorSubject([]);
|
|
35
|
+
/**
|
|
36
|
+
* Filters index
|
|
37
|
+
*/
|
|
38
|
+
filterIndex = new Map();
|
|
39
|
+
/**
|
|
40
|
+
* Observable of a sort clause
|
|
41
|
+
*/
|
|
42
|
+
sort$ = new BehaviorSubject(undefined);
|
|
43
|
+
/**
|
|
44
|
+
* Method for indexing
|
|
45
|
+
*/
|
|
46
|
+
get getKey() {
|
|
47
|
+
return this.getKey$.value;
|
|
48
|
+
}
|
|
49
|
+
getKey$ = new BehaviorSubject(undefined);
|
|
50
|
+
/**
|
|
51
|
+
* Number of entities
|
|
52
|
+
*/
|
|
53
|
+
count$ = new BehaviorSubject(0);
|
|
54
|
+
get count() {
|
|
55
|
+
return this.count$.value;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Whether the store is empty
|
|
59
|
+
*/
|
|
60
|
+
empty$ = new BehaviorSubject(true);
|
|
61
|
+
get empty() {
|
|
62
|
+
return this.empty$.value;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Store index
|
|
66
|
+
*/
|
|
67
|
+
get index() {
|
|
68
|
+
return this._index;
|
|
69
|
+
}
|
|
70
|
+
_index;
|
|
71
|
+
constructor(source$) {
|
|
72
|
+
this.source$ = source$;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get a value from the view by key
|
|
76
|
+
* @param key Key
|
|
77
|
+
* @returns Value
|
|
78
|
+
*/
|
|
79
|
+
get(key) {
|
|
80
|
+
if (this._index === undefined) {
|
|
81
|
+
throw new Error('This view has no index, therefore, this method is unavailable.');
|
|
82
|
+
}
|
|
83
|
+
return this.index.get(key);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get all the values
|
|
87
|
+
* @returns Array of values
|
|
88
|
+
*/
|
|
89
|
+
all() {
|
|
90
|
+
return this.values$.value;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Observe all the values
|
|
94
|
+
* @returns Observable of values
|
|
95
|
+
*/
|
|
96
|
+
all$() {
|
|
97
|
+
return this.values$;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the first value that respects a criteria
|
|
101
|
+
* @returns A value
|
|
102
|
+
*/
|
|
103
|
+
firstBy(clause) {
|
|
104
|
+
return this.values$.value.find(clause);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Observe the first value that respects a criteria
|
|
108
|
+
* @returns Observable of a value
|
|
109
|
+
*/
|
|
110
|
+
firstBy$(clause) {
|
|
111
|
+
return this.values$.pipe(map((values) => values.find(clause)));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get all the values that respect a criteria
|
|
115
|
+
* @returns Array of values
|
|
116
|
+
*/
|
|
117
|
+
manyBy(clause) {
|
|
118
|
+
return this.values$.value.filter(clause);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Observe all the values that respect a criteria
|
|
122
|
+
* @returns Observable of values
|
|
123
|
+
*/
|
|
124
|
+
manyBy$(clause) {
|
|
125
|
+
return this.values$.pipe(map((values) => values.filter(clause)));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Clear the filter and sort and unsubscribe from the source
|
|
129
|
+
*/
|
|
130
|
+
clear() {
|
|
131
|
+
this.filter(undefined);
|
|
132
|
+
this.sort(undefined);
|
|
133
|
+
}
|
|
134
|
+
destroy() {
|
|
135
|
+
if (this.values$$ !== undefined) {
|
|
136
|
+
this.values$$.unsubscribe();
|
|
137
|
+
}
|
|
138
|
+
this.clear();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Create an index
|
|
142
|
+
* @param getKey Method to get a value's id
|
|
143
|
+
* @returns The view
|
|
144
|
+
*/
|
|
145
|
+
createIndex(getKey) {
|
|
146
|
+
this._index = new Map();
|
|
147
|
+
this.getKey$.next(getKey);
|
|
148
|
+
return this;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Join another source to the stream (chainable)
|
|
152
|
+
* @param clause Join clause
|
|
153
|
+
* @returns The view
|
|
154
|
+
*/
|
|
155
|
+
join(clause) {
|
|
156
|
+
if (this.lifted === true) {
|
|
157
|
+
throw new Error('This view has already been lifted, therefore, no join is allowed.');
|
|
158
|
+
}
|
|
159
|
+
this.joins.push(clause);
|
|
160
|
+
return this;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Filter values (chainable)
|
|
164
|
+
* @param clause Filter clause
|
|
165
|
+
* @returns The view
|
|
166
|
+
*/
|
|
167
|
+
filter(clause) {
|
|
168
|
+
this.filter$.next(clause);
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @param clause Filter clause
|
|
173
|
+
* @returns The filter id
|
|
174
|
+
*/
|
|
175
|
+
addFilter(clause) {
|
|
176
|
+
const id = uuid();
|
|
177
|
+
this.filterIndex.set(id, clause);
|
|
178
|
+
this.filters$.next(Array.from(this.filterIndex.values()));
|
|
179
|
+
return id;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Remove a filter by id
|
|
183
|
+
* @param clause Filter clause
|
|
184
|
+
*/
|
|
185
|
+
removeFilter(id) {
|
|
186
|
+
this.filterIndex.delete(id);
|
|
187
|
+
this.filters$.next(Array.from(this.filterIndex.values()));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Sort values (chainable)
|
|
191
|
+
* @param clauseSort clause
|
|
192
|
+
* @returns The view
|
|
193
|
+
*/
|
|
194
|
+
sort(clause) {
|
|
195
|
+
this.sort$.next(clause);
|
|
196
|
+
return this;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Create the final observable
|
|
200
|
+
* @returns Observable
|
|
201
|
+
*/
|
|
202
|
+
lift() {
|
|
203
|
+
this.lifted = true;
|
|
204
|
+
const source$ = this.joins.length > 0 ? this.liftJoinedSource() : this.liftSource();
|
|
205
|
+
const observables$ = [
|
|
206
|
+
source$,
|
|
207
|
+
this.filters$,
|
|
208
|
+
this.filter$,
|
|
209
|
+
this.sort$,
|
|
210
|
+
this.getKey$
|
|
211
|
+
];
|
|
212
|
+
this.values$$ = combineLatest(observables$)
|
|
213
|
+
.pipe(skip(1), debounceTime(5))
|
|
214
|
+
.subscribe((bunch) => {
|
|
215
|
+
const [_values, filters, filter, sort, getKey] = bunch;
|
|
216
|
+
const values = this.processValues(_values, filters, filter, sort);
|
|
217
|
+
const generateIndex = getKey !== undefined;
|
|
218
|
+
this.setValues(values, generateIndex);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Create the source observable when no joins are defined
|
|
223
|
+
* @returns Observable
|
|
224
|
+
*/
|
|
225
|
+
liftSource() {
|
|
226
|
+
return this.source$;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Create the source observable when joins are defined
|
|
230
|
+
* @returns Observable
|
|
231
|
+
*/
|
|
232
|
+
liftJoinedSource() {
|
|
233
|
+
const sources$ = [
|
|
234
|
+
this.source$,
|
|
235
|
+
combineLatest(this.joins.map((join) => join.source))
|
|
236
|
+
];
|
|
237
|
+
return combineLatest(sources$).pipe(map((bunch) => {
|
|
238
|
+
const [entities, joinData] = bunch;
|
|
239
|
+
return entities.reduce((values, entity) => {
|
|
240
|
+
const value = this.computeJoinedValue(entity, joinData);
|
|
241
|
+
if (value !== undefined) {
|
|
242
|
+
values.push(value);
|
|
243
|
+
}
|
|
244
|
+
return values;
|
|
245
|
+
}, []);
|
|
246
|
+
}));
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Apply joins to a source's entity and return the final value
|
|
250
|
+
* @returns Final value
|
|
251
|
+
*/
|
|
252
|
+
computeJoinedValue(entity, joinData) {
|
|
253
|
+
let value = entity;
|
|
254
|
+
let joinIndex = 0;
|
|
255
|
+
while (value !== undefined && joinIndex < this.joins.length) {
|
|
256
|
+
value = this.joins[joinIndex].reduce(value, joinData[joinIndex]);
|
|
257
|
+
joinIndex += 1;
|
|
258
|
+
}
|
|
259
|
+
return value;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Filter and sort values before streaming them
|
|
263
|
+
* @param values Values
|
|
264
|
+
* @param filters Filter clauses
|
|
265
|
+
* @param filter Filter clause
|
|
266
|
+
* @param sort Sort clause
|
|
267
|
+
* @returns Filtered and sorted values
|
|
268
|
+
*/
|
|
269
|
+
processValues(values, filters, filter, sort) {
|
|
270
|
+
values = values.slice(0);
|
|
271
|
+
values = this.filterValues(values, filters.concat([filter]));
|
|
272
|
+
values = this.sortValues(values, sort);
|
|
273
|
+
return values;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Filter values
|
|
277
|
+
* @param values Values
|
|
278
|
+
* @param filters Filter clauses
|
|
279
|
+
* @returns Filtered values
|
|
280
|
+
*/
|
|
281
|
+
filterValues(values, clauses) {
|
|
282
|
+
if (clauses.length === 0) {
|
|
283
|
+
return values;
|
|
284
|
+
}
|
|
285
|
+
return values.filter((value) => {
|
|
286
|
+
return clauses
|
|
287
|
+
.filter((clause) => clause !== undefined)
|
|
288
|
+
.every((clause) => clause(value));
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Sort values
|
|
293
|
+
* @param values Values
|
|
294
|
+
* @param sort Sort clause
|
|
295
|
+
* @returns Sorted values
|
|
296
|
+
*/
|
|
297
|
+
sortValues(values, clause) {
|
|
298
|
+
if (clause === undefined) {
|
|
299
|
+
return values;
|
|
300
|
+
}
|
|
301
|
+
return values.sort((v1, v2) => {
|
|
302
|
+
return ObjectUtils.naturalCompare(clause.valueAccessor(v1), clause.valueAccessor(v2), clause.direction, clause.nullsFirst);
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Set value and optionally generate an index
|
|
307
|
+
* @param values Values
|
|
308
|
+
* @param generateIndex boolean
|
|
309
|
+
*/
|
|
310
|
+
setValues(values, generateIndex) {
|
|
311
|
+
if (generateIndex === true) {
|
|
312
|
+
this._index = this.generateIndex(values);
|
|
313
|
+
}
|
|
314
|
+
this.values$.next(values);
|
|
315
|
+
const count = values.length;
|
|
316
|
+
const empty = count === 0;
|
|
317
|
+
this.count$.next(count);
|
|
318
|
+
this.empty$.next(empty);
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Generate a complete index of all the values
|
|
322
|
+
* @param entities Entities
|
|
323
|
+
* @returns Index
|
|
324
|
+
*/
|
|
325
|
+
generateIndex(values) {
|
|
326
|
+
const entries = values.map((value) => [this.getKey(value), value]);
|
|
327
|
+
return new Map(entries);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9lbnRpdHkvc3JjL3NoYXJlZC92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQTRCLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN6RDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUE2RUQ7SUE1RXBCOztPQUVHO0lBQ00sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRWhEOztPQUVHO0lBQ0ssUUFBUSxDQUFlO0lBRS9COztPQUVHO0lBQ0ssTUFBTSxHQUFHLEtBQUssQ0FBQztJQUV2Qjs7T0FFRztJQUNLLEtBQUssR0FBdUIsRUFBRSxDQUFDO0lBRXZDOztPQUVHO0lBQ0ssT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWpEOztPQUVHO0lBQ0ssUUFBUSxHQUEwQyxJQUFJLGVBQWUsQ0FDM0UsRUFBRSxDQUNILENBQUM7SUFFRjs7T0FFRztJQUNLLFdBQVcsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVqRTs7T0FFRztJQUNLLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQzs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNPLE9BQU8sR0FBc0MsSUFBSSxlQUFlLENBQ3RFLFNBQVMsQ0FDVixDQUFDO0lBRUY7O09BRUc7SUFDTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFD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LEtBQUssSUFBSSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxhQUFhLENBQUMsTUFBVztRQUMvQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksR0FBRyxDQUFDLE9BQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RVdGlscywgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBFbnRpdHlGaWx0ZXJDbGF1c2UsXG4gIEVudGl0eUpvaW5DbGF1c2UsXG4gIEVudGl0eUtleSxcbiAgRW50aXR5U29ydENsYXVzZVxufSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBBbiBlbnRpdHkgdmlldyBzdHJlYW1zIGVudGl0aWVzIGZyb20gYW4gb2JzZXJ2YWJsZSBzb3VyY2UuIFRoZXNlIGVudGl0aWVzXG4gKiBjYW4gYmUgZmlsdGVyZWQgb3Igc29ydGVkIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBzb3VyY2UuIEEgdmlldyBjYW4gYWxzb1xuICogY29tYmluZSBkYXRhIGZyb20gbXVsdGlwbGUgc291cmNlcywgam9pbmVkIHRvZ2V0aGVyLlxuICovXG5leHBvcnQgY2xhc3MgRW50aXR5VmlldzxFIGV4dGVuZHMgb2JqZWN0LCBWIGV4dGVuZHMgb2JqZWN0ID0gRT4ge1xuICAvKipcbiAgICogT2JzZXJ2YWJsZSBzdHJlYW0gb2YgdmFsdWVzXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWW10+KFtdKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzb3VyY2UgKGFuZCBqb2luZWQgc291cmNlcykgdmFsdWVzXG4gICAqL1xuICBwcml2YXRlIHZhbHVlcyQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyB2aWV3IGhhcyBiZWVuIGxpZnRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaWZ0ZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogSm9pbiBjbGF1c2VzXG4gICAqL1xuICBwcml2YXRlIGpvaW5zOiBFbnRpdHlKb2luQ2xhdXNlW10gPSBbXTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBhIGZpbHRlciBjbGF1c2VcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBmaWx0ZXIgY2xhdXNlc1xuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJzJDogQmVoYXZpb3JTdWJqZWN0PEVudGl0eUZpbHRlckNsYXVzZVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgW11cbiAgKTtcblxuICAvKipcbiAgICogRmlsdGVycyBpbmRleFxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJJbmRleDogTWFwPHN0cmluZywgRW50aXR5RmlsdGVyQ2xhdXNlPiA9IG5ldyBNYXAoKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiBhIHNvcnQgY2xhdXNlXG4gICAqL1xuICBwcml2YXRlIHNvcnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgZm9yIGluZGV4aW5nXG4gICAqL1xuICBnZXQgZ2V0S2V5KCk6IChWKSA9PiBFbnRpdHlLZXkge1xuICAgIHJldHVybiB0aGlzLmdldEtleSQudmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBnZXRLZXkkOiBCZWhhdmlvclN1YmplY3Q8KFYpID0+IEVudGl0eUtleT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZW50aXRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGNvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY291bnQkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN0b3JlIGlzIGVtcHR5XG4gICAqL1xuICByZWFkb25seSBlbXB0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW1wdHkkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlIGluZGV4XG4gICAqL1xuICBnZXQgaW5kZXgoKTogTWFwPEVudGl0eUtleSwgVj4ge1xuICAgIHJldHVybiB0aGlzLl9pbmRleDtcbiAgfVxuICBwcml2YXRlIF9pbmRleDogTWFwPEVudGl0eUtleSwgVj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzb3VyY2UkOiBCZWhhdmlvclN1YmplY3Q8RVtdPikge31cblxuICAvKipcbiAgICogR2V0IGEgdmFsdWUgZnJvbSB0aGUgdmlldyBieSBrZXlcbiAgICogQHBhcmFtIGtleSBLZXlcbiAgICogQHJldHVybnMgVmFsdWVcbiAgICovXG4gIGdldChrZXk6IEVudGl0eUtleSk6IFYge1xuICAgIGlmICh0aGlzLl9pbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGlzIHZpZXcgaGFzIG5vIGluZGV4LCB0aGVyZWZvcmUsIHRoaXMgbWV0aG9kIGlzIHVuYXZhaWxhYmxlLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluZGV4LmdldChrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGhlIHZhbHVlc1xuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWx1ZXNcbiAgICovXG4gIGFsbCgpOiBWW10ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcyQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2ZSBhbGwgdGhlIHZhbHVlc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHZhbHVlc1xuICAgKi9cbiAgYWxsJCgpOiBCZWhhdmlvclN1YmplY3Q8VltdPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZpcnN0IHZhbHVlIHRoYXQgcmVzcGVjdHMgYSBjcml0ZXJpYVxuICAgKiBAcmV0dXJucyBBIHZhbHVlXG4gICAqL1xuICBmaXJzdEJ5KGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogViB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzJC52YWx1ZS5maW5kKGNsYXVzZSk7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2ZSB0aGUgZmlyc3QgdmFsdWUgdGhhdCByZXNwZWN0cyBhIGNyaXRlcmlhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgYSB2YWx1ZVxuICAgKi9cbiAgZmlyc3RCeSQoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2U8Vj4pOiBPYnNlcnZhYmxlPFY+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMkLnBpcGUobWFwKCh2YWx1ZXM6IFZbXSkgPT4gdmFsdWVzLmZpbmQoY2xhdXNlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGhlIHZhbHVlcyB0aGF0IHJlc3BlY3QgYSBjcml0ZXJpYVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWx1ZXNcbiAgICovXG4gIG1hbnlCeShjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZTxWPik6IFZbXSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzJC52YWx1ZS5maWx0ZXIoY2xhdXNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnNlcnZlIGFsbCB0aGUgdmFsdWVzIHRoYXQgcmVzcGVjdCBhIGNyaXRlcmlhXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdmFsdWVzXG4gICAqL1xuICBtYW55QnkkKGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogT2JzZXJ2YWJsZTxWW10+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMkLnBpcGUobWFwKCh2YWx1ZXM6IFZbXSkgPT4gdmFsdWVzLmZpbHRlcihjbGF1c2UpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIGZpbHRlciBhbmQgc29ydCBhbmQgdW5zdWJzY3JpYmUgZnJvbSB0aGUgc291cmNlXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLmZpbHRlcih1bmRlZmluZWQpO1xuICAgIHRoaXMuc29ydCh1bmRlZmluZWQpO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy52YWx1ZXMkJCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlcyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW5kZXhcbiAgICogQHBhcmFtIGdldEtleSBNZXRob2QgdG8gZ2V0IGEgdmFsdWUncyBpZFxuICAgKiBAcmV0dXJucyBUaGUgdmlld1xuICAgKi9cbiAgY3JlYXRlSW5kZXgoZ2V0S2V5OiAoRSkgPT4gRW50aXR5S2V5KTogRW50aXR5VmlldzxFLCBWPiB7XG4gICAgdGhpcy5faW5kZXggPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5nZXRLZXkkLm5leHQoZ2V0S2V5KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBKb2luIGFub3RoZXIgc291cmNlIHRvIHRoZSBzdHJlYW0gKGNoYWluYWJsZSlcbiAgICogQHBhcmFtIGNsYXVzZSBKb2luIGNsYXVzZVxuICAgKiBAcmV0dXJucyBUaGUgdmlld1xuICAgKi9cbiAgam9pbihjbGF1c2U6IEVudGl0eUpvaW5DbGF1c2UpOiBFbnRpdHlWaWV3PEUsIFY+IHtcbiAgICBpZiAodGhpcy5saWZ0ZWQgPT09IHRydWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoaXMgdmlldyBoYXMgYWxyZWFkeSBiZWVuIGxpZnRlZCwgdGhlcmVmb3JlLCBubyBqb2luIGlzIGFsbG93ZWQuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5qb2lucy5wdXNoKGNsYXVzZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIHZhbHVlcyAoY2hhaW5hYmxlKVxuICAgKiBAcGFyYW0gY2xhdXNlIEZpbHRlciBjbGF1c2VcbiAgICogQHJldHVybnMgVGhlIHZpZXdcbiAgICovXG4gIGZpbHRlcihjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZTxWPik6IEVudGl0eVZpZXc8RSwgVj4ge1xuICAgIHRoaXMuZmlsdGVyJC5uZXh0KGNsYXVzZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGNsYXVzZSBGaWx0ZXIgY2xhdXNlXG4gICAqIEByZXR1cm5zIFRoZSBmaWx0ZXIgaWRcbiAgICovXG4gIGFkZEZpbHRlcihjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZTxWPik6IHN0cmluZyB7XG4gICAgY29uc3QgaWQgPSB1dWlkKCk7XG4gICAgdGhpcy5maWx0ZXJJbmRleC5zZXQoaWQsIGNsYXVzZSk7XG4gICAgdGhpcy5maWx0ZXJzJC5uZXh0KEFycmF5LmZyb20odGhpcy5maWx0ZXJJbmRleC52YWx1ZXMoKSkpO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSBmaWx0ZXIgYnkgaWRcbiAgICogQHBhcmFtIGNsYXVzZSBGaWx0ZXIgY2xhdXNlXG4gICAqL1xuICByZW1vdmVGaWx0ZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVySW5kZXguZGVsZXRlKGlkKTtcbiAgICB0aGlzLmZpbHRlcnMkLm5leHQoQXJyYXkuZnJvbSh0aGlzLmZpbHRlckluZGV4LnZhbHVlcygpKSk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCB2YWx1ZXMgKGNoYWluYWJsZSlcbiAgICogQHBhcmFtIGNsYXVzZVNvcnQgY2xhdXNlXG4gICAqIEByZXR1cm5zIFRoZSB2aWV3XG4gICAqL1xuICBzb3J0KGNsYXVzZTogRW50aXR5U29ydENsYXVzZTxWPik6IEVudGl0eVZpZXc8RSwgVj4ge1xuICAgIHRoaXMuc29ydCQubmV4dChjbGF1c2UpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgZmluYWwgb2JzZXJ2YWJsZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gICAqL1xuICBsaWZ0KCkge1xuICAgIHRoaXMubGlmdGVkID0gdHJ1ZTtcbiAgICBjb25zdCBzb3VyY2UkID1cbiAgICAgIHRoaXMuam9pbnMubGVuZ3RoID4gMCA/IHRoaXMubGlmdEpvaW5lZFNvdXJjZSgpIDogdGhpcy5saWZ0U291cmNlKCk7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMkID0gW1xuICAgICAgc291cmNlJCxcbiAgICAgIHRoaXMuZmlsdGVycyQsXG4gICAgICB0aGlzLmZpbHRlciQsXG4gICAgICB0aGlzLnNvcnQkLFxuICAgICAgdGhpcy5nZXRLZXkkXG4gICAgXTtcblxuICAgIHRoaXMudmFsdWVzJCQgPSBjb21iaW5lTGF0ZXN0KG9ic2VydmFibGVzJClcbiAgICAgIC5waXBlKHNraXAoMSksIGRlYm91bmNlVGltZSg1KSlcbiAgICAgIC5zdWJzY3JpYmUoKGJ1bmNoOiBhbnlbXSkgPT4ge1xuICAgICAgICBjb25zdCBbX3ZhbHVlcywgZmlsdGVycywgZmlsdGVyLCBzb3J0LCBnZXRLZXldID0gYnVuY2g7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMucHJvY2Vzc1ZhbHVlcyhfdmFsdWVzLCBmaWx0ZXJzLCBmaWx0ZXIsIHNvcnQpO1xuICAgICAgICBjb25zdCBnZW5lcmF0ZUluZGV4ID0gZ2V0S2V5ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcywgZ2VuZXJhdGVJbmRleCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHNvdXJjZSBvYnNlcnZhYmxlIHdoZW4gbm8gam9pbnMgYXJlIGRlZmluZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxuICAgKi9cbiAgcHJpdmF0ZSBsaWZ0U291cmNlKCk6IE9ic2VydmFibGU8VltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlJCBhcyBhbnkgYXMgT2JzZXJ2YWJsZTxWW10+O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgc291cmNlIG9ic2VydmFibGUgd2hlbiBqb2lucyBhcmUgZGVmaW5lZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gICAqL1xuICBwcml2YXRlIGxpZnRKb2luZWRTb3VyY2UoKTogT2JzZXJ2YWJsZTxWW10+IHtcbiAgICBjb25zdCBzb3VyY2VzJCA9IFtcbiAgICAgIHRoaXMuc291cmNlJCxcbiAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5qb2lucy5tYXAoKGpvaW46IEVudGl0eUpvaW5DbGF1c2UpID0+IGpvaW4uc291cmNlKSlcbiAgICBdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qoc291cmNlcyQpLnBpcGUoXG4gICAgICBtYXAoKGJ1bmNoOiBbRVtdLCBhbnlbXV0pID0+IHtcbiAgICAgICAgY29uc3QgW2VudGl0aWVzLCBqb2luRGF0YV0gPSBidW5jaDtcbiAgICAgICAgcmV0dXJuIGVudGl0aWVzLnJlZHVjZSgodmFsdWVzOiBWW10sIGVudGl0eTogRSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb21wdXRlSm9pbmVkVmFsdWUoZW50aXR5LCBqb2luRGF0YSk7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICAgICAgfSwgW10pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGpvaW5zIHRvIGEgc291cmNlJ3MgZW50aXR5IGFuZCByZXR1cm4gdGhlIGZpbmFsIHZhbHVlXG4gICAqIEByZXR1cm5zIEZpbmFsIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVKb2luZWRWYWx1ZShlbnRpdHk6IEUsIGpvaW5EYXRhOiBhbnlbXSk6IFYgfCB1bmRlZmluZWQge1xuICAgIGxldCB2YWx1ZSA9IGVudGl0eSBhcyBQYXJ0aWFsPFY+O1xuICAgIGxldCBqb2luSW5kZXggPSAwO1xuICAgIHdoaWxlICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGpvaW5JbmRleCA8IHRoaXMuam9pbnMubGVuZ3RoKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuam9pbnNbam9pbkluZGV4XS5yZWR1Y2UodmFsdWUsIGpvaW5EYXRhW2pvaW5JbmRleF0pO1xuICAgICAgam9pbkluZGV4ICs9IDE7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSBhcyBWO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhbmQgc29ydCB2YWx1ZXMgYmVmb3JlIHN0cmVhbWluZyB0aGVtXG4gICAqIEBwYXJhbSB2YWx1ZXMgVmFsdWVzXG4gICAqIEBwYXJhbSBmaWx0ZXJzIEZpbHRlciBjbGF1c2VzXG4gICAqIEBwYXJhbSBmaWx0ZXIgRmlsdGVyIGNsYXVzZVxuICAgKiBAcGFyYW0gc29ydCBTb3J0IGNsYXVzZVxuICAgKiBAcmV0dXJucyBGaWx0ZXJlZCBhbmQgc29ydGVkIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSBwcm9jZXNzVmFsdWVzKFxuICAgIHZhbHVlczogVltdLFxuICAgIGZpbHRlcnM6IEVudGl0eUZpbHRlckNsYXVzZVtdLFxuICAgIGZpbHRlcjogRW50aXR5RmlsdGVyQ2xhdXNlLFxuICAgIHNvcnQ6IEVudGl0eVNvcnRDbGF1c2VcbiAgKTogVltdIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMuc2xpY2UoMCk7XG4gICAgdmFsdWVzID0gdGhpcy5maWx0ZXJWYWx1ZXModmFsdWVzLCBmaWx0ZXJzLmNvbmNhdChbZmlsdGVyXSkpO1xuICAgIHZhbHVlcyA9IHRoaXMuc29ydFZhbHVlcyh2YWx1ZXMsIHNvcnQpO1xuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIHZhbHVlc1xuICAgKiBAcGFyYW0gdmFsdWVzIFZhbHVlc1xuICAgKiBAcGFyYW0gZmlsdGVycyBGaWx0ZXIgY2xhdXNlc1xuICAgKiBAcmV0dXJucyBGaWx0ZXJlZCB2YWx1ZXNcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyVmFsdWVzKHZhbHVlczogVltdLCBjbGF1c2VzOiBFbnRpdHlGaWx0ZXJDbGF1c2VbXSk6IFZbXSB7XG4gICAgaWYgKGNsYXVzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZXMuZmlsdGVyKCh2YWx1ZTogVikgPT4ge1xuICAgICAgcmV0dXJuIGNsYXVzZXNcbiAgICAgICAgLmZpbHRlcigoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2UpID0+IGNsYXVzZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAuZXZlcnkoKGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlKSA9PiBjbGF1c2UodmFsdWUpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0IHZhbHVlc1xuICAgKiBAcGFyYW0gdmFsdWVzIFZhbHVlc1xuICAgKiBAcGFyYW0gc29ydCBTb3J0IGNsYXVzZVxuICAgKiBAcmV0dXJucyBTb3J0ZWQgdmFsdWVzXG4gICAqL1xuICBwcml2YXRlIHNvcnRWYWx1ZXModmFsdWVzOiBWW10sIGNsYXVzZTogRW50aXR5U29ydENsYXVzZSk6IFZbXSB7XG4gICAgaWYgKGNsYXVzZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWVzLnNvcnQoKHYxOiBWLCB2MjogVikgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLm5hdHVyYWxDb21wYXJlKFxuICAgICAgICBjbGF1c2UudmFsdWVBY2Nlc3Nvcih2MSksXG4gICAgICAgIGNsYXVzZS52YWx1ZUFjY2Vzc29yKHYyKSxcbiAgICAgICAgY2xhdXNlLmRpcmVjdGlvbixcbiAgICAgICAgY2xhdXNlLm51bGxzRmlyc3RcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHZhbHVlIGFuZCBvcHRpb25hbGx5IGdlbmVyYXRlIGFuIGluZGV4XG4gICAqIEBwYXJhbSB2YWx1ZXMgVmFsdWVzXG4gICAqIEBwYXJhbSBnZW5lcmF0ZUluZGV4IGJvb2xlYW5cbiAgICovXG4gIHByaXZhdGUgc2V0VmFsdWVzKHZhbHVlczogVltdLCBnZW5lcmF0ZUluZGV4OiBib29sZWFuKSB7XG4gICAgaWYgKGdlbmVyYXRlSW5kZXggPT09IHRydWUpIHtcbiAgICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KHZhbHVlcyk7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZXMkLm5leHQodmFsdWVzKTtcblxuICAgIGNvbnN0IGNvdW50ID0gdmFsdWVzLmxlbmd0aDtcbiAgICBjb25zdCBlbXB0eSA9IGNvdW50ID09PSAwO1xuICAgIHRoaXMuY291bnQkLm5leHQoY291bnQpO1xuICAgIHRoaXMuZW1wdHkkLm5leHQoZW1wdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgY29tcGxldGUgaW5kZXggb2YgYWxsIHRoZSB2YWx1ZXNcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXG4gICAqIEByZXR1cm5zIEluZGV4XG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlSW5kZXgodmFsdWVzOiBWW10pOiBNYXA8RW50aXR5S2V5LCBWPiB7XG4gICAgY29uc3QgZW50cmllcyA9IHZhbHVlcy5tYXAoKHZhbHVlOiBWKSA9PiBbdGhpcy5nZXRLZXkodmFsdWUpLCB2YWx1ZV0pO1xuICAgIHJldHVybiBuZXcgTWFwKGVudHJpZXMgYXMgW0VudGl0eUtleSwgVl1bXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { ObjectUtils } from '@igo2/utils';
|
|
2
|
+
import { skip } from 'rxjs/operators';
|
|
3
|
+
/**
|
|
4
|
+
* This class is used to synchronize a component's changes
|
|
5
|
+
* detection with an EntityStore changes. For example, it is frequent
|
|
6
|
+
* to have a component subscribe to a store's selected entity and, at the same time,
|
|
7
|
+
* this component provides a way to select an entity with, let's say, a click.
|
|
8
|
+
*
|
|
9
|
+
* This class automatically handles those case and triggers the compoent's
|
|
10
|
+
* change detection when needed.
|
|
11
|
+
*
|
|
12
|
+
* Note: If the component observes the store's stateView, a workspace is
|
|
13
|
+
* probably not required because the stateView catches any changes to the
|
|
14
|
+
* entities and their state.
|
|
15
|
+
*/
|
|
16
|
+
export class EntityStoreWatcher {
|
|
17
|
+
/**
|
|
18
|
+
* Component change detector
|
|
19
|
+
*/
|
|
20
|
+
cdRef;
|
|
21
|
+
/**
|
|
22
|
+
* Entity store
|
|
23
|
+
*/
|
|
24
|
+
store;
|
|
25
|
+
/**
|
|
26
|
+
* Component inner state
|
|
27
|
+
*/
|
|
28
|
+
innerStateIndex = new Map();
|
|
29
|
+
/**
|
|
30
|
+
* Subscription to the store's entities
|
|
31
|
+
*/
|
|
32
|
+
entities$$;
|
|
33
|
+
/**
|
|
34
|
+
* Subscription to the store's state
|
|
35
|
+
*/
|
|
36
|
+
state$$;
|
|
37
|
+
constructor(store, cdRef) {
|
|
38
|
+
this.setChangeDetector(cdRef);
|
|
39
|
+
this.setStore(store);
|
|
40
|
+
}
|
|
41
|
+
destroy() {
|
|
42
|
+
this.setChangeDetector(undefined);
|
|
43
|
+
this.setStore(undefined);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Bind this workspace to a store and start watching for changes
|
|
47
|
+
* @param store Entity store
|
|
48
|
+
*/
|
|
49
|
+
setStore(store) {
|
|
50
|
+
if (store === undefined) {
|
|
51
|
+
this.teardownObservers();
|
|
52
|
+
this.innerStateIndex.clear();
|
|
53
|
+
this.store = undefined;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.setStore(undefined);
|
|
57
|
+
this.store = store;
|
|
58
|
+
this.setupObservers();
|
|
59
|
+
this.detectChanges();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Bind this workspace to a component's change detector
|
|
63
|
+
* @param cdRef Change detector
|
|
64
|
+
*/
|
|
65
|
+
setChangeDetector(cdRef) {
|
|
66
|
+
this.cdRef = cdRef;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Set up observers on a store's entities and their state
|
|
70
|
+
* @param store Entity store
|
|
71
|
+
*/
|
|
72
|
+
setupObservers() {
|
|
73
|
+
this.teardownObservers();
|
|
74
|
+
this.entities$$ = this.store.entities$.subscribe((entities) => this.onEntitiesChange(entities));
|
|
75
|
+
this.state$$ = this.store.state.change$
|
|
76
|
+
.pipe(skip(1))
|
|
77
|
+
.subscribe(() => this.onStateChange());
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Teardown store observers
|
|
81
|
+
*/
|
|
82
|
+
teardownObservers() {
|
|
83
|
+
if (this.entities$$ !== undefined) {
|
|
84
|
+
this.entities$$.unsubscribe();
|
|
85
|
+
}
|
|
86
|
+
if (this.state$$ !== undefined) {
|
|
87
|
+
this.state$$.unsubscribe();
|
|
88
|
+
}
|
|
89
|
+
this.entities$$ = undefined;
|
|
90
|
+
this.state$$ = undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* When the entities change, always trigger the changes detection
|
|
94
|
+
*/
|
|
95
|
+
onEntitiesChange(entities) {
|
|
96
|
+
this.detectChanges();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* When the entities state change, trigger the change detection
|
|
100
|
+
* only if the component has not handled these changes yet. For example,
|
|
101
|
+
* the component might have initiated thoses changes itself.
|
|
102
|
+
*/
|
|
103
|
+
onStateChange() {
|
|
104
|
+
let changesDetected = false;
|
|
105
|
+
const storeIndex = this.store.state.index;
|
|
106
|
+
const innerIndex = this.innerStateIndex;
|
|
107
|
+
if (storeIndex.size !== innerIndex.size) {
|
|
108
|
+
changesDetected = this.detectChanges();
|
|
109
|
+
}
|
|
110
|
+
const storeKeys = Array.from(storeIndex.keys());
|
|
111
|
+
for (const key of storeKeys) {
|
|
112
|
+
const storeValue = storeIndex.get(key);
|
|
113
|
+
const innerValue = innerIndex.get(key);
|
|
114
|
+
if (changesDetected === false) {
|
|
115
|
+
if (innerValue === undefined) {
|
|
116
|
+
changesDetected = this.detectChanges();
|
|
117
|
+
}
|
|
118
|
+
else if (!ObjectUtils.objectsAreEquivalent(storeValue, innerValue)) {
|
|
119
|
+
changesDetected = this.detectChanges();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.innerStateIndex.set(key, Object.assign({}, storeValue));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Trigger the change detection of the workspace is bound to a change detector
|
|
127
|
+
*/
|
|
128
|
+
detectChanges() {
|
|
129
|
+
if (this.cdRef !== undefined) {
|
|
130
|
+
this.cdRef.detectChanges();
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9lbnRpdHkvc3JjL3NoYXJlZC93YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3RDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7O09BRUc7SUFDSyxLQUFLLENBQW9CO0lBRWpDOztPQUVHO0lBQ0ssS0FBSyxDQUFpQjtJQUU5Qjs7T0FFRztJQUNLLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztJQUV2RTs7T0FFRztJQUNLLFVBQVUsQ0FBZTtJQUVqQzs7T0FFRztJQUNLLE9BQU8sQ0FBZTtJQUU5QixZQUFZLEtBQXNCLEVBQUUsS0FBeUI7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQXNCO1FBQzdCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FB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QUNLLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRW50aXR5S2V5IH0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSBhIGNvbXBvbmVudCdzIGNoYW5nZXNcbiAqIGRldGVjdGlvbiB3aXRoIGFuIEVudGl0eVN0b3JlIGNoYW5nZXMuIEZvciBleGFtcGxlLCBpdCBpcyBmcmVxdWVudFxuICogdG8gaGF2ZSBhIGNvbXBvbmVudCBzdWJzY3JpYmUgdG8gYSBzdG9yZSdzIHNlbGVjdGVkIGVudGl0eSBhbmQsIGF0IHRoZSBzYW1lIHRpbWUsXG4gKiB0aGlzIGNvbXBvbmVudCBwcm92aWRlcyBhIHdheSB0byBzZWxlY3QgYW4gZW50aXR5IHdpdGgsIGxldCdzIHNheSwgYSBjbGljay5cbiAqXG4gKiBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB0aG9zZSBjYXNlIGFuZCB0cmlnZ2VycyB0aGUgY29tcG9lbnQnc1xuICogY2hhbmdlIGRldGVjdGlvbiB3aGVuIG5lZWRlZC5cbiAqXG4gKiBOb3RlOiBJZiB0aGUgY29tcG9uZW50IG9ic2VydmVzIHRoZSBzdG9yZSdzIHN0YXRlVmlldywgYSB3b3Jrc3BhY2UgaXNcbiAqIHByb2JhYmx5IG5vdCByZXF1aXJlZCBiZWNhdXNlIHRoZSBzdGF0ZVZpZXcgY2F0Y2hlcyBhbnkgY2hhbmdlcyB0byB0aGVcbiAqIGVudGl0aWVzIGFuZCB0aGVpciBzdGF0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlV2F0Y2hlcjxFIGV4dGVuZHMgb2JqZWN0PiB7XG4gIC8qKlxuICAgKiBDb21wb25lbnQgY2hhbmdlIGRldGVjdG9yXG4gICAqL1xuICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAvKipcbiAgICogRW50aXR5IHN0b3JlXG4gICAqL1xuICBwcml2YXRlIHN0b3JlOiBFbnRpdHlTdG9yZTxFPjtcblxuICAvKipcbiAgICogQ29tcG9uZW50IGlubmVyIHN0YXRlXG4gICAqL1xuICBwcml2YXRlIGlubmVyU3RhdGVJbmRleCA9IG5ldyBNYXA8RW50aXR5S2V5LCB7IFtrZXk6IHN0cmluZ106IGFueSB9PigpO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3MgZW50aXRpZXNcbiAgICovXG4gIHByaXZhdGUgZW50aXRpZXMkJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHN0b3JlJ3Mgc3RhdGVcbiAgICovXG4gIHByaXZhdGUgc3RhdGUkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlPzogRW50aXR5U3RvcmU8RT4sIGNkUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLnNldENoYW5nZURldGVjdG9yKGNkUmVmKTtcbiAgICB0aGlzLnNldFN0b3JlKHN0b3JlKTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZXRDaGFuZ2VEZXRlY3Rvcih1bmRlZmluZWQpO1xuICAgIHRoaXMuc2V0U3RvcmUodW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kIHRoaXMgd29ya3NwYWNlIHRvIGEgc3RvcmUgYW5kIHN0YXJ0IHdhdGNoaW5nIGZvciBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcbiAgICovXG4gIHNldFN0b3JlKHN0b3JlPzogRW50aXR5U3RvcmU8RT4pIHtcbiAgICBpZiAoc3RvcmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50ZWFyZG93bk9ic2VydmVycygpO1xuICAgICAgdGhpcy5pbm5lclN0YXRlSW5kZXguY2xlYXIoKTtcbiAgICAgIHRoaXMuc3RvcmUgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdG9yZSh1bmRlZmluZWQpO1xuICAgIHRoaXMuc3RvcmUgPSBzdG9yZTtcbiAgICB0aGlzLnNldHVwT2JzZXJ2ZXJzKCk7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQmluZCB0aGlzIHdvcmtzcGFjZSB0byBhIGNvbXBvbmVudCdzIGNoYW5nZSBkZXRlY3RvclxuICAgKiBAcGFyYW0gY2RSZWYgQ2hhbmdlIGRldGVjdG9yXG4gICAqL1xuICBzZXRDaGFuZ2VEZXRlY3RvcihjZFJlZj86IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5jZFJlZiA9IGNkUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cCBvYnNlcnZlcnMgb24gYSBzdG9yZSdzIGVudGl0aWVzIGFuZCB0aGVpciBzdGF0ZVxuICAgKiBAcGFyYW0gc3RvcmUgRW50aXR5IHN0b3JlXG4gICAqL1xuICBwcml2YXRlIHNldHVwT2JzZXJ2ZXJzKCkge1xuICAgIHRoaXMudGVhcmRvd25PYnNlcnZlcnMoKTtcblxuICAgIHRoaXMuZW50aXRpZXMkJCA9IHRoaXMuc3RvcmUuZW50aXRpZXMkLnN1YnNjcmliZSgoZW50aXRpZXM6IEVbXSkgPT5cbiAgICAgIHRoaXMub25FbnRpdGllc0NoYW5nZShlbnRpdGllcylcbiAgICApO1xuXG4gICAgdGhpcy5zdGF0ZSQkID0gdGhpcy5zdG9yZS5zdGF0ZS5jaGFuZ2UkXG4gICAgICAucGlwZShza2lwKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uU3RhdGVDaGFuZ2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogVGVhcmRvd24gc3RvcmUgb2JzZXJ2ZXJzXG4gICAqL1xuICBwcml2YXRlIHRlYXJkb3duT2JzZXJ2ZXJzKCkge1xuICAgIGlmICh0aGlzLmVudGl0aWVzJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbnRpdGllcyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXRlJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zdGF0ZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZW50aXRpZXMkJCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnN0YXRlJCQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0aGUgZW50aXRpZXMgY2hhbmdlLCBhbHdheXMgdHJpZ2dlciB0aGUgY2hhbmdlcyBkZXRlY3Rpb25cbiAgICovXG4gIHByaXZhdGUgb25FbnRpdGllc0NoYW5nZShlbnRpdGllczogRVtdKSB7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0aGUgZW50aXRpZXMgc3RhdGUgY2hhbmdlLCB0cmlnZ2VyIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAqIG9ubHkgaWYgdGhlIGNvbXBvbmVudCBoYXMgbm90IGhhbmRsZWQgdGhlc2UgY2hhbmdlcyB5ZXQuIEZvciBleGFtcGxlLFxuICAgKiB0aGUgY29tcG9uZW50IG1pZ2h0IGhhdmUgaW5pdGlhdGVkIHRob3NlcyBjaGFuZ2VzIGl0c2VsZi5cbiAgICovXG4gIHByaXZhdGUgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICBsZXQgY2hhbmdlc0RldGVjdGVkID0gZmFsc2U7XG4gICAgY29uc3Qgc3RvcmVJbmRleCA9IHRoaXMuc3RvcmUuc3RhdGUuaW5kZXg7XG4gICAgY29uc3QgaW5uZXJJbmRleCA9IHRoaXMuaW5uZXJTdGF0ZUluZGV4O1xuXG4gICAgaWYgKHN0b3JlSW5kZXguc2l6ZSAhPT0gaW5uZXJJbmRleC5zaXplKSB7XG4gICAgICBjaGFuZ2VzRGV0ZWN0ZWQgPSB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdG9yZUtleXMgPSBBcnJheS5mcm9tKHN0b3JlSW5kZXgua2V5cygpKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBzdG9yZUtleXMpIHtcbiAgICAgIGNvbnN0IHN0b3JlVmFsdWUgPSBzdG9yZUluZGV4LmdldChrZXkpO1xuICAgICAgY29uc3QgaW5uZXJWYWx1ZSA9IGlubmVySW5kZXguZ2V0KGtleSk7XG4gICAgICBpZiAoY2hhbmdlc0RldGVjdGVkID09PSBmYWxzZSkge1xuICAgICAgICBpZiAoaW5uZXJWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2hhbmdlc0RldGVjdGVkID0gdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIU9iamVjdFV0aWxzLm9iamVjdHNBcmVFcXVpdmFsZW50KHN0b3JlVmFsdWUsIGlubmVyVmFsdWUpKSB7XG4gICAgICAgICAgY2hhbmdlc0RldGVjdGVkID0gdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5pbm5lclN0YXRlSW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVWYWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIG9mIHRoZSB3b3Jrc3BhY2UgaXMgYm91bmQgdG8gYSBjaGFuZ2UgZGV0ZWN0b3JcbiAgICovXG4gIHByaXZhdGUgZGV0ZWN0Q2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5jZFJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2Vudmlyb25tZW50L3NyYy9lbnZpcm9ubWVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRW52aXJvbm1lbnRPcHRpb25zIHtcbiAgZGVwb3Q/OiBEZXBvdE9wdGlvbnM7XG4gIGludGVyYWN0aXZlVG91cj86IEludGVyYWN0aXZlVG91ckNvbmZpZ09wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwb3RPcHRpb25zIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHRyYWluaW5nR3VpZGVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3RpdmVUb3VyQ29uZmlnT3B0aW9ucyB7XG4gIGFjdGl2YXRlSW50ZXJhY3RpdmVUb3VyPzogYm9vbGVhbjtcbiAgdG91ckluTW9iaWxlPzogYm9vbGVhbjtcbiAgcGF0aFRvQ29uZmlnRmlsZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb21tb24tZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZW52aXJvbm1lbnQvc3JjL2lnbzItY29tbW9uLWVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './environment.interface';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9lbnZpcm9ubWVudC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5pbnRlcmZhY2UnO1xuIl19
|