@igo2/common 17.0.0-next.6 → 17.0.0-next.8
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/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/backdrop/index.d.ts +5 -0
- package/backdrop/public_api.d.ts +2 -0
- package/badge/index.d.ts +5 -0
- package/badge/public_api.d.ts +2 -0
- package/clickout/index.d.ts +5 -0
- package/clickout/public_api.d.ts +2 -0
- package/clone/index.d.ts +5 -0
- package/clone/public_api.d.ts +2 -0
- package/collapsible/index.d.ts +5 -0
- package/collapsible/public_api.d.ts +6 -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/index.d.ts +5 -0
- package/confirm-dialog/public_api.d.ts +4 -0
- package/context-menu/index.d.ts +5 -0
- package/context-menu/public_api.d.ts +6 -0
- package/custom-html/index.d.ts +5 -0
- package/custom-html/public_api.d.ts +6 -0
- package/dom/index.d.ts +5 -0
- package/dom/public_api.d.ts +3 -0
- package/drag-drop/index.d.ts +5 -0
- package/drag-drop/public_api.d.ts +2 -0
- package/dynamic-component/index.d.ts +5 -0
- package/dynamic-component/public_api.d.ts +4 -0
- package/entity/entity-selector/index.d.ts +2 -0
- package/entity/entity-table/index.d.ts +2 -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/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 -79
- 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 -8817
- package/fesm2022/igo2-common.mjs.map +1 -1
- package/flexible/index.d.ts +5 -0
- package/flexible/public_api.d.ts +3 -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/index.d.ts +4 -0
- package/form/form-field/form-field.directive.d.ts +5 -0
- package/form/form-field/index.d.ts +6 -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/index.d.ts +5 -0
- package/home-button/public_api.d.ts +2 -0
- package/icon/icon/icon.component.d.ts +14 -0
- package/icon/index.d.ts +5 -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/index.d.ts +5 -0
- package/image/public_api.d.ts +6 -0
- package/interactive-tour/index.d.ts +5 -0
- package/interactive-tour/interactive-tour.component.d.ts +33 -0
- package/interactive-tour/public_api.d.ts +5 -0
- package/json-dialog/index.d.ts +5 -0
- package/json-dialog/public_api.d.ts +3 -0
- package/keyvalue/index.d.ts +5 -0
- package/keyvalue/public_api.d.ts +2 -0
- package/list/index.d.ts +5 -0
- package/list/public_api.d.ts +6 -0
- package/package.json +201 -3
- package/panel/index.d.ts +5 -0
- package/panel/public_api.d.ts +2 -0
- package/public_api.d.ts +16 -78
- package/select-value-dialog/index.d.ts +5 -0
- package/select-value-dialog/public_api.d.ts +5 -0
- package/sidenav/index.d.ts +5 -0
- package/sidenav/public_api.d.ts +2 -0
- package/spinner/index.d.ts +5 -0
- package/spinner/public_api.d.ts +3 -0
- package/spinner/spinner.module.d.ts +14 -0
- package/src/common-theme.scss +8 -8
- package/stop-propagation/index.d.ts +5 -0
- package/stop-propagation/public_api.d.ts +6 -0
- package/table/index.d.ts +5 -0
- package/table/public_api.d.ts +6 -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/toolbox/index.d.ts +2 -0
- package/tool/toolbox/toolbox.component.d.ts +128 -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/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-widget-outlet/index.d.ts +2 -0
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -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 -192
- package/esm2022/lib/action/actionbar/actionbar.component.mjs +0 -277
- package/esm2022/lib/action/actionbar/actionbar.module.mjs +0 -19
- 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 -25
- package/esm2022/lib/backdrop/index.mjs +0 -2
- package/esm2022/lib/badge-icon/badge-icon.directive.mjs +0 -149
- 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 -32
- package/esm2022/lib/clickout/clickout.module.mjs +0 -25
- package/esm2022/lib/clickout/index.mjs +0 -2
- package/esm2022/lib/clone/clone.module.mjs +0 -25
- package/esm2022/lib/clone/clone.pipe.mjs +0 -25
- package/esm2022/lib/clone/index.mjs +0 -2
- package/esm2022/lib/collapsible/collapse.directive.mjs +0 -57
- package/esm2022/lib/collapsible/collapsible.component.mjs +0 -38
- package/esm2022/lib/collapsible/collapsible.module.mjs +0 -26
- package/esm2022/lib/collapsible/index.mjs +0 -9
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +0 -104
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +0 -19
- package/esm2022/lib/color-picker-form-field/index.mjs +0 -2
- package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +0 -31
- package/esm2022/lib/confirm-dialog/confirm-dialog.interface.mjs +0 -2
- package/esm2022/lib/confirm-dialog/confirm-dialog.module.mjs +0 -27
- package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +0 -35
- package/esm2022/lib/confirm-dialog/index.mjs +0 -4
- package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -109
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -26
- package/esm2022/lib/context-menu/index.mjs +0 -9
- package/esm2022/lib/context-menu/long-press.directive.mjs +0 -66
- package/esm2022/lib/custom-html/custom-html.component.mjs +0 -22
- package/esm2022/lib/custom-html/custom-html.module.mjs +0 -25
- package/esm2022/lib/custom-html/custom-html.pipe.mjs +0 -23
- package/esm2022/lib/custom-html/index.mjs +0 -9
- package/esm2022/lib/dom/dom.interfaces.mjs +0 -2
- package/esm2022/lib/dom/dom.module.mjs +0 -27
- 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 -82
- package/esm2022/lib/drag-drop/drag-drop.module.mjs +0 -25
- 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 -19
- 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 -174
- package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +0 -19
- package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +0 -138
- package/esm2022/lib/entity/entity-table/entity-table.component.mjs +0 -884
- package/esm2022/lib/entity/entity-table/entity-table.module.mjs +0 -19
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -158
- 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 -19
- package/esm2022/lib/entity/entity-table-paginator/index.mjs +0 -3
- package/esm2022/lib/entity/entity.module.mjs +0 -22
- package/esm2022/lib/entity/index.mjs +0 -14
- 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 -25
- 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 -103
- package/esm2022/lib/form/form/form.module.mjs +0 -19
- package/esm2022/lib/form/form-field/form-field-select.component.mjs +0 -117
- package/esm2022/lib/form/form-field/form-field-text.component.mjs +0 -126
- package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +0 -95
- package/esm2022/lib/form/form-field/form-field.component.mjs +0 -65
- package/esm2022/lib/form/form-field/form-field.module.mjs +0 -23
- package/esm2022/lib/form/form-field/index.mjs +0 -15
- package/esm2022/lib/form/form-group/form-group.component.mjs +0 -82
- package/esm2022/lib/form/form-group/form-group.module.mjs +0 -19
- package/esm2022/lib/form/form.module.mjs +0 -25
- package/esm2022/lib/form/index.mjs +0 -13
- 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 -94
- package/esm2022/lib/form-dialog/form-dialog.interface.mjs +0 -2
- package/esm2022/lib/form-dialog/form-dialog.module.mjs +0 -31
- 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 -26
- package/esm2022/lib/home-button/home-button.module.mjs +0 -19
- package/esm2022/lib/home-button/index.mjs +0 -2
- package/esm2022/lib/icons/icon/icon.component.mjs +0 -40
- package/esm2022/lib/icons/icon.provider.mjs +0 -14
- package/esm2022/lib/icons/index.mjs +0 -4
- package/esm2022/lib/icons/shared/icon.interface.mjs +0 -2
- package/esm2022/lib/icons/shared/icons.mjs +0 -34
- package/esm2022/lib/icons/shared/index.mjs +0 -3
- package/esm2022/lib/image/image-error.directive.mjs +0 -35
- package/esm2022/lib/image/image.module.mjs +0 -26
- package/esm2022/lib/image/index.mjs +0 -6
- package/esm2022/lib/image/secure-image.pipe.mjs +0 -66
- package/esm2022/lib/interactive-tour/index.mjs +0 -5
- package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +0 -126
- 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 -19
- package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +0 -303
- package/esm2022/lib/json-dialog/index.mjs +0 -3
- package/esm2022/lib/json-dialog/json-dialog.component.mjs +0 -38
- package/esm2022/lib/json-dialog/json-dialog.module.mjs +0 -26
- 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 -25
- package/esm2022/lib/keyvalue/keyvalue.pipe.mjs +0 -19
- package/esm2022/lib/list/index.mjs +0 -6
- package/esm2022/lib/list/list-item.directive.mjs +0 -166
- package/esm2022/lib/list/list.component.mjs +0 -252
- package/esm2022/lib/list/list.module.mjs +0 -26
- 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 -19
- package/esm2022/lib/select-value-dialog/index.mjs +0 -5
- package/esm2022/lib/select-value-dialog/select-value-check-radio-dialog.component.mjs +0 -103
- 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 -27
- 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 -58
- package/esm2022/lib/sidenav/sidenav.module.mjs +0 -25
- package/esm2022/lib/spinner/index.mjs +0 -9
- package/esm2022/lib/spinner/spinner-activity.directive.mjs +0 -56
- package/esm2022/lib/spinner/spinner.component.mjs +0 -30
- package/esm2022/lib/spinner/spinner.module.mjs +0 -21
- package/esm2022/lib/stop-propagation/index.mjs +0 -9
- package/esm2022/lib/stop-propagation/stop-drop-propagation.directive.mjs +0 -21
- package/esm2022/lib/stop-propagation/stop-propagation.directive.mjs +0 -20
- package/esm2022/lib/stop-propagation/stop-propagation.module.mjs +0 -26
- 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 -143
- package/esm2022/lib/table/table.module.mjs +0 -25
- 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 -2
- package/esm2022/lib/tool/shared/toolbox.mjs +0 -184
- package/esm2022/lib/tool/tool.module.mjs +0 -28
- package/esm2022/lib/tool/toolbox/toolbox.animation.mjs +0 -10
- package/esm2022/lib/tool/toolbox/toolbox.component.mjs +0 -242
- package/esm2022/lib/tool/toolbox/toolbox.module.mjs +0 -19
- 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 -19
- package/esm2022/lib/widget/widget.module.mjs +0 -22
- package/esm2022/lib/workspace/index.mjs +0 -10
- 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 -19
- 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 -19
- package/esm2022/lib/workspace/workspace.module.mjs +0 -22
- package/lib/action/index.d.ts +0 -2
- package/lib/action/shared/action.interfaces.d.ts +0 -18
- package/lib/action/shared/store.d.ts +0 -8
- package/lib/backdrop/index.d.ts +0 -1
- package/lib/badge-icon/index.d.ts +0 -1
- package/lib/clickout/index.d.ts +0 -1
- package/lib/clone/index.d.ts +0 -1
- package/lib/collapsible/index.d.ts +0 -5
- package/lib/color-picker-form-field/index.d.ts +0 -1
- package/lib/confirm-dialog/index.d.ts +0 -3
- package/lib/context-menu/index.d.ts +0 -5
- package/lib/custom-html/index.d.ts +0 -5
- package/lib/dom/index.d.ts +0 -2
- package/lib/drag-drop/index.d.ts +0 -1
- package/lib/dynamic-component/index.d.ts +0 -2
- package/lib/entity/entity-table-paginator/index.d.ts +0 -2
- package/lib/entity/entity.module.d.ts +0 -12
- package/lib/entity/index.d.ts +0 -9
- package/lib/flexible/index.d.ts +0 -2
- package/lib/form/form-field/index.d.ts +0 -9
- package/lib/form/form.module.d.ts +0 -15
- package/lib/form/index.d.ts +0 -7
- 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/index.d.ts +0 -3
- package/lib/home-button/index.d.ts +0 -1
- package/lib/icons/icon/icon.component.d.ts +0 -16
- package/lib/icons/shared/icons.d.ts +0 -21
- package/lib/icons/shared/index.d.ts +0 -2
- package/lib/image/index.d.ts +0 -5
- package/lib/interactive-tour/index.d.ts +0 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +0 -30
- package/lib/json-dialog/index.d.ts +0 -2
- package/lib/keyvalue/index.d.ts +0 -1
- package/lib/list/index.d.ts +0 -5
- package/lib/panel/index.d.ts +0 -1
- package/lib/select-value-dialog/index.d.ts +0 -4
- package/lib/sidenav/index.d.ts +0 -1
- package/lib/spinner/index.d.ts +0 -5
- package/lib/spinner/spinner.module.d.ts +0 -11
- package/lib/stop-propagation/index.d.ts +0 -5
- package/lib/table/index.d.ts +0 -5
- 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/toolbox/toolbox.component.d.ts +0 -128
- 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/workspace/index.d.ts +0 -6
- 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 -38
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -57
- package/lib/workspace/workspace.module.d.ts +0 -11
- /package/{lib/action → action}/action.module.d.ts +0 -0
- /package/{lib/action → action}/actionbar/actionbar-item.component.d.ts +0 -0
- /package/{lib/action → action}/actionbar/actionbar.component.d.ts +0 -0
- /package/{lib/action → action}/actionbar/actionbar.module.d.ts +0 -0
- /package/{lib/action → action}/shared/action.enums.d.ts +0 -0
- /package/{lib/action → action}/shared/index.d.ts +0 -0
- /package/{src/lib/action → action/src}/action.theming.scss +0 -0
- /package/{src/lib/action → action/src}/actionbar/actionbar-item.theming.scss +0 -0
- /package/{src/lib/action → action/src}/actionbar/actionbar.theming.scss +0 -0
- /package/{lib/backdrop → backdrop}/backdrop.component.d.ts +0 -0
- /package/{lib/backdrop → backdrop}/backdrop.module.d.ts +0 -0
- /package/{lib/badge-icon → badge}/badge-icon.directive.d.ts +0 -0
- /package/{lib/badge-icon → badge}/badge-icon.module.d.ts +0 -0
- /package/{lib/clickout → clickout}/clickout.directive.d.ts +0 -0
- /package/{lib/clickout → clickout}/clickout.module.d.ts +0 -0
- /package/{lib/clone → clone}/clone.module.d.ts +0 -0
- /package/{lib/clone → clone}/clone.pipe.d.ts +0 -0
- /package/{lib/collapsible → collapsible}/collapse.directive.d.ts +0 -0
- /package/{lib/collapsible → collapsible}/collapsible.component.d.ts +0 -0
- /package/{lib/collapsible → collapsible}/collapsible.module.d.ts +0 -0
- /package/{src/lib/collapsible → collapsible/src}/collapsible.theming.scss +0 -0
- /package/{lib → color}/color-picker-form-field/color-picker-form-field.component.d.ts +0 -0
- /package/{lib → color}/color-picker-form-field/color-picker-form-field.module.d.ts +0 -0
- /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.component.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.module.d.ts +0 -0
- /package/{lib/confirm-dialog → confirm-dialog}/confirm-dialog.service.d.ts +0 -0
- /package/{lib/context-menu → context-menu}/context-menu.directive.d.ts +0 -0
- /package/{lib/context-menu → context-menu}/context-menu.module.d.ts +0 -0
- /package/{lib/context-menu → context-menu}/long-press.directive.d.ts +0 -0
- /package/{lib/custom-html → custom-html}/custom-html.component.d.ts +0 -0
- /package/{lib/custom-html → custom-html}/custom-html.module.d.ts +0 -0
- /package/{lib/custom-html → custom-html}/custom-html.pipe.d.ts +0 -0
- /package/{lib/dom → dom}/dom.interfaces.d.ts +0 -0
- /package/{lib/dom → dom}/dom.module.d.ts +0 -0
- /package/{lib/dom → dom}/dom.service.d.ts +0 -0
- /package/{lib/drag-drop → drag-drop}/drag-drop.directive.d.ts +0 -0
- /package/{lib/drag-drop → drag-drop}/drag-drop.module.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/dynamic-component.module.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/dynamic-outlet/dynamic-outlet.component.d.ts +0 -0
- /package/{lib/dynamic-component → dynamic-component}/dynamic-outlet/dynamic-outlet.module.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-selector/entity-selector.component.d.ts +0 -0
- /package/{lib/entity → entity}/entity-selector/entity-selector.module.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table/entity-table-row.directive.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table/entity-table.component.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table/entity-table.module.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table-paginator/entity-table-paginator.component.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -0
- /package/{lib/entity → entity}/entity-table-paginator/entity-table-paginator.module.d.ts +0 -0
- /package/{lib/entity → entity}/shared/entity.enums.d.ts +0 -0
- /package/{lib/entity → entity}/shared/entity.interfaces.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/transaction.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/{src/lib/entity → entity/src}/entity-selector/entity-selector.theming.scss +0 -0
- /package/{src/lib/entity → entity/src}/entity-table/entity-table.theming.scss +0 -0
- /package/{src/lib/entity → entity/src}/entity.theming.scss +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.component.d.ts +0 -0
- /package/{lib/flexible → flexible}/flexible.module.d.ts +0 -0
- /package/{lib/flexible → flexible}/flexible.type.d.ts +0 -0
- /package/{lib/form → form}/form/form.component.d.ts +0 -0
- /package/{lib/form → form}/form/form.module.d.ts +0 -0
- /package/{lib → form}/form-dialog/form-dialog.module.d.ts +0 -0
- /package/{lib → form}/form-dialog/form-dialog.service.d.ts +0 -0
- /package/{lib/form → form}/form-field/form-field-select.component.d.ts +0 -0
- /package/{lib/form → form}/form-field/form-field-text.component.d.ts +0 -0
- /package/{lib/form → form}/form-field/form-field-textarea.component.d.ts +0 -0
- /package/{lib/form → form}/form-field/form-field.component.d.ts +0 -0
- /package/{lib/form → form}/form-field/form-field.module.d.ts +0 -0
- /package/{lib/form → form}/form-group/form-group.component.d.ts +0 -0
- /package/{lib/form → form}/form-group/form-group.module.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/home-button → home-button}/home-button.component.d.ts +0 -0
- /package/{lib/home-button → home-button}/home-button.module.d.ts +0 -0
- /package/{src/lib/home-button → home-button/src}/home-button.theming.scss +0 -0
- /package/{lib/icons → icon}/icon.provider.d.ts +0 -0
- /package/{lib/icons/index.d.ts → icon/public_api.d.ts} +0 -0
- /package/{lib/icons → icon}/shared/icon.interface.d.ts +0 -0
- /package/{lib/image → image}/image-error.directive.d.ts +0 -0
- /package/{lib/image → image}/image.module.d.ts +0 -0
- /package/{lib/image → image}/secure-image.pipe.d.ts +0 -0
- /package/{lib/interactive-tour → interactive-tour}/interactive-tour.interface.d.ts +0 -0
- /package/{lib/interactive-tour → interactive-tour}/interactive-tour.loader.d.ts +0 -0
- /package/{lib/interactive-tour → interactive-tour}/interactive-tour.module.d.ts +0 -0
- /package/{lib/interactive-tour → interactive-tour}/interactive-tour.service.d.ts +0 -0
- /package/{src/lib/interactive-tour → interactive-tour/src}/interactive-tour.theming.scss +0 -0
- /package/{lib/json-dialog → json-dialog}/json-dialog.component.d.ts +0 -0
- /package/{lib/json-dialog → json-dialog}/json-dialog.module.d.ts +0 -0
- /package/{lib/json-dialog → json-dialog}/json-dialog.service.d.ts +0 -0
- /package/{lib/keyvalue → keyvalue}/keyvalue.module.d.ts +0 -0
- /package/{lib/keyvalue → keyvalue}/keyvalue.pipe.d.ts +0 -0
- /package/{lib/list → list}/list-item.directive.d.ts +0 -0
- /package/{lib/list → list}/list.component.d.ts +0 -0
- /package/{lib/list → list}/list.module.d.ts +0 -0
- /package/{src/lib/list → list/src}/list.theming.scss +0 -0
- /package/{lib/panel → panel}/panel.component.d.ts +0 -0
- /package/{lib/panel → panel}/panel.module.d.ts +0 -0
- /package/{src/lib/panel → panel/src}/panel.theming.scss +0 -0
- /package/{lib/select-value-dialog → select-value-dialog}/select-value-check-radio-dialog.component.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.module.d.ts +0 -0
- /package/{lib/select-value-dialog → select-value-dialog}/select-value-dialog.service.d.ts +0 -0
- /package/{lib/sidenav → sidenav}/sidenav-shim.directive.d.ts +0 -0
- /package/{lib/sidenav → sidenav}/sidenav.module.d.ts +0 -0
- /package/{lib/spinner → spinner}/spinner-activity.directive.d.ts +0 -0
- /package/{lib/spinner → spinner}/spinner.component.d.ts +0 -0
- /package/{lib/stop-propagation → stop-propagation}/stop-drop-propagation.directive.d.ts +0 -0
- /package/{lib/stop-propagation → stop-propagation}/stop-propagation.directive.d.ts +0 -0
- /package/{lib/stop-propagation → stop-propagation}/stop-propagation.module.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/table → table}/table.component.d.ts +0 -0
- /package/{lib/table → table}/table.module.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}/shared/toolbox.enums.d.ts +0 -0
- /package/{src/lib/tool → tool/src}/tool.theming.scss +0 -0
- /package/{src/lib/tool → tool/src}/toolbox/toolbox.theming.scss +0 -0
- /package/{lib/tool → tool}/tool.module.d.ts +0 -0
- /package/{lib/tool → tool}/toolbox/toolbox.animation.d.ts +0 -0
- /package/{lib/tool → tool}/toolbox/toolbox.module.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/widget → widget}/widget-outlet/widget-outlet.module.d.ts +0 -0
- /package/{lib/widget → widget}/widget.module.d.ts +0 -0
- /package/{lib/workspace → workspace}/shared/index.d.ts +0 -0
- /package/{lib/workspace → workspace}/workspace-selector/workspace-selector.module.d.ts +0 -0
- /package/{lib/workspace → workspace}/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -0
|
@@ -1,330 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUE0QixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTekQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBNkVEO0lBNUVwQjs7T0FFRztJQUNNLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUVoRDs7T0FFRztJQUNLLFFBQVEsQ0FBZTtJQUUvQjs7T0FFRztJQUNLLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFdkI7O09BRUc7SUFDSyxLQUFLLEdBQXVCLEVBQUUsQ0FBQztJQUV2Qzs7T0FFRztJQUNLLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVqRDs7T0FFRztJQUNLLFFBQVEsR0FBMEMsSUFBSSxlQUFlLENBQzNFLEVBQUUsQ0FDSCxDQUFDO0lBRUY7O09BRUc7SUFDSyxXQUFXLEdBQW9DLElBQUksR0FBRyxFQUFFLENBQUM7SUFFakU7O09BRUc7SUFDSyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFL0M7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDTyxPQUFPLEdBQXNDLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1YsQ0FBQztJQUVGOztPQUVHO0lBQ00sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFTLENB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QUksYUFBYSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixNQUFNLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssYUFBYSxDQUFDLE1BQVc7UUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0VXRpbHMsIHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgRW50aXR5RmlsdGVyQ2xhdXNlLFxuICBFbnRpdHlKb2luQ2xhdXNlLFxuICBFbnRpdHlLZXksXG4gIEVudGl0eVNvcnRDbGF1c2Vcbn0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogQW4gZW50aXR5IHZpZXcgc3RyZWFtcyBlbnRpdGllcyBmcm9tIGFuIG9ic2VydmFibGUgc291cmNlLiBUaGVzZSBlbnRpdGllc1xuICogY2FuIGJlIGZpbHRlcmVkIG9yIHNvcnRlZCB3aXRob3V0IGFmZmVjdGluZyB0aGUgc291cmNlLiBBIHZpZXcgY2FuIGFsc29cbiAqIGNvbWJpbmUgZGF0YSBmcm9tIG11bHRpcGxlIHNvdXJjZXMsIGpvaW5lZCB0b2dldGhlci5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVZpZXc8RSBleHRlbmRzIG9iamVjdCwgViBleHRlbmRzIG9iamVjdCA9IEU+IHtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgc3RyZWFtIG9mIHZhbHVlc1xuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VltdPihbXSk7XG5cbiAgLyoqXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc291cmNlIChhbmQgam9pbmVkIHNvdXJjZXMpIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSB2YWx1ZXMkJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgdmlldyBoYXMgYmVlbiBsaWZ0ZWRcbiAgICovXG4gIHByaXZhdGUgbGlmdGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEpvaW4gY2xhdXNlc1xuICAgKi9cbiAgcHJpdmF0ZSBqb2luczogRW50aXR5Sm9pbkNsYXVzZVtdID0gW107XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgYSBmaWx0ZXIgY2xhdXNlXG4gICAqL1xuICBwcml2YXRlIGZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgZmlsdGVyIGNsYXVzZXNcbiAgICovXG4gIHByaXZhdGUgZmlsdGVycyQ6IEJlaGF2aW9yU3ViamVjdDxFbnRpdHlGaWx0ZXJDbGF1c2VbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIFtdXG4gICk7XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgaW5kZXhcbiAgICovXG4gIHByaXZhdGUgZmlsdGVySW5kZXg6IE1hcDxzdHJpbmcsIEVudGl0eUZpbHRlckNsYXVzZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgYSBzb3J0IGNsYXVzZVxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogTWV0aG9kIGZvciBpbmRleGluZ1xuICAgKi9cbiAgZ2V0IGdldEtleSgpOiAoVikgPT4gRW50aXR5S2V5IHtcbiAgICByZXR1cm4gdGhpcy5nZXRLZXkkLnZhbHVlO1xuICB9XG4gIHByaXZhdGUgZ2V0S2V5JDogQmVoYXZpb3JTdWJqZWN0PChWKSA9PiBFbnRpdHlLZXk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzXG4gICAqL1xuICByZWFkb25seSBjb3VudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvdW50JC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzdG9yZSBpcyBlbXB0eVxuICAgKi9cbiAgcmVhZG9ubHkgZW1wdHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVtcHR5JC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZSBpbmRleFxuICAgKi9cbiAgZ2V0IGluZGV4KCk6IE1hcDxFbnRpdHlLZXksIFY+IHtcbiAgICByZXR1cm4gdGhpcy5faW5kZXg7XG4gIH1cbiAgcHJpdmF0ZSBfaW5kZXg6IE1hcDxFbnRpdHlLZXksIFY+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc291cmNlJDogQmVoYXZpb3JTdWJqZWN0PEVbXT4pIHt9XG5cbiAgLyoqXG4gICAqIEdldCBhIHZhbHVlIGZyb20gdGhlIHZpZXcgYnkga2V5XG4gICAqIEBwYXJhbSBrZXkgS2V5XG4gICAqIEByZXR1cm5zIFZhbHVlXG4gICAqL1xuICBnZXQoa2V5OiBFbnRpdHlLZXkpOiBWIHtcbiAgICBpZiAodGhpcy5faW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhpcyB2aWV3IGhhcyBubyBpbmRleCwgdGhlcmVmb3JlLCB0aGlzIG1ldGhvZCBpcyB1bmF2YWlsYWJsZS4nXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmRleC5nZXQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHRoZSB2YWx1ZXNcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsdWVzXG4gICAqL1xuICBhbGwoKTogVltdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXMkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ic2VydmUgYWxsIHRoZSB2YWx1ZXNcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB2YWx1ZXNcbiAgICovXG4gIGFsbCQoKTogQmVoYXZpb3JTdWJqZWN0PFZbXT4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcyQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBmaXJzdCB2YWx1ZSB0aGF0IHJlc3BlY3RzIGEgY3JpdGVyaWFcbiAgICogQHJldHVybnMgQSB2YWx1ZVxuICAgKi9cbiAgZmlyc3RCeShjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZTxWPik6IFYge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcyQudmFsdWUuZmluZChjbGF1c2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ic2VydmUgdGhlIGZpcnN0IHZhbHVlIHRoYXQgcmVzcGVjdHMgYSBjcml0ZXJpYVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIGEgdmFsdWVcbiAgICovXG4gIGZpcnN0QnkkKGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlPFY+KTogT2JzZXJ2YWJsZTxWPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzJC5waXBlKG1hcCgodmFsdWVzOiBWW10pID0+IHZhbHVlcy5maW5kKGNsYXVzZSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHRoZSB2YWx1ZXMgdGhhdCByZXNwZWN0IGEgY3JpdGVyaWFcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsdWVzXG4gICAqL1xuICBtYW55QnkoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2U8Vj4pOiBWW10ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcyQudmFsdWUuZmlsdGVyKGNsYXVzZSk7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2ZSBhbGwgdGhlIHZhbHVlcyB0aGF0IHJlc3BlY3QgYSBjcml0ZXJpYVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHZhbHVlc1xuICAgKi9cbiAgbWFueUJ5JChjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZTxWPik6IE9ic2VydmFibGU8VltdPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzJC5waXBlKG1hcCgodmFsdWVzOiBWW10pID0+IHZhbHVlcy5maWx0ZXIoY2xhdXNlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBmaWx0ZXIgYW5kIHNvcnQgYW5kIHVuc3Vic2NyaWJlIGZyb20gdGhlIHNvdXJjZVxuICAgKi9cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5maWx0ZXIodW5kZWZpbmVkKTtcbiAgICB0aGlzLnNvcnQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudmFsdWVzJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52YWx1ZXMkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGluZGV4XG4gICAqIEBwYXJhbSBnZXRLZXkgTWV0aG9kIHRvIGdldCBhIHZhbHVlJ3MgaWRcbiAgICogQHJldHVybnMgVGhlIHZpZXdcbiAgICovXG4gIGNyZWF0ZUluZGV4KGdldEtleTogKEUpID0+IEVudGl0eUtleSk6IEVudGl0eVZpZXc8RSwgVj4ge1xuICAgIHRoaXMuX2luZGV4ID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuZ2V0S2V5JC5uZXh0KGdldEtleSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogSm9pbiBhbm90aGVyIHNvdXJjZSB0byB0aGUgc3RyZWFtIChjaGFpbmFibGUpXG4gICAqIEBwYXJhbSBjbGF1c2UgSm9pbiBjbGF1c2VcbiAgICogQHJldHVybnMgVGhlIHZpZXdcbiAgICovXG4gIGpvaW4oY2xhdXNlOiBFbnRpdHlKb2luQ2xhdXNlKTogRW50aXR5VmlldzxFLCBWPiB7XG4gICAgaWYgKHRoaXMubGlmdGVkID09PSB0cnVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGlzIHZpZXcgaGFzIGFscmVhZHkgYmVlbiBsaWZ0ZWQsIHRoZXJlZm9yZSwgbm8gam9pbiBpcyBhbGxvd2VkLidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuam9pbnMucHVzaChjbGF1c2UpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciB2YWx1ZXMgKGNoYWluYWJsZSlcbiAgICogQHBhcmFtIGNsYXVzZSBGaWx0ZXIgY2xhdXNlXG4gICAqIEByZXR1cm5zIFRoZSB2aWV3XG4gICAqL1xuICBmaWx0ZXIoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2U8Vj4pOiBFbnRpdHlWaWV3PEUsIFY+IHtcbiAgICB0aGlzLmZpbHRlciQubmV4dChjbGF1c2UpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBjbGF1c2UgRmlsdGVyIGNsYXVzZVxuICAgKiBAcmV0dXJucyBUaGUgZmlsdGVyIGlkXG4gICAqL1xuICBhZGRGaWx0ZXIoY2xhdXNlOiBFbnRpdHlGaWx0ZXJDbGF1c2U8Vj4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGlkID0gdXVpZCgpO1xuICAgIHRoaXMuZmlsdGVySW5kZXguc2V0KGlkLCBjbGF1c2UpO1xuICAgIHRoaXMuZmlsdGVycyQubmV4dChBcnJheS5mcm9tKHRoaXMuZmlsdGVySW5kZXgudmFsdWVzKCkpKTtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgZmlsdGVyIGJ5IGlkXG4gICAqIEBwYXJhbSBjbGF1c2UgRmlsdGVyIGNsYXVzZVxuICAgKi9cbiAgcmVtb3ZlRmlsdGVyKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlckluZGV4LmRlbGV0ZShpZCk7XG4gICAgdGhpcy5maWx0ZXJzJC5uZXh0KEFycmF5LmZyb20odGhpcy5maWx0ZXJJbmRleC52YWx1ZXMoKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnQgdmFsdWVzIChjaGFpbmFibGUpXG4gICAqIEBwYXJhbSBjbGF1c2VTb3J0IGNsYXVzZVxuICAgKiBAcmV0dXJucyBUaGUgdmlld1xuICAgKi9cbiAgc29ydChjbGF1c2U6IEVudGl0eVNvcnRDbGF1c2U8Vj4pOiBFbnRpdHlWaWV3PEUsIFY+IHtcbiAgICB0aGlzLnNvcnQkLm5leHQoY2xhdXNlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGZpbmFsIG9ic2VydmFibGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxuICAgKi9cbiAgbGlmdCgpIHtcbiAgICB0aGlzLmxpZnRlZCA9IHRydWU7XG4gICAgY29uc3Qgc291cmNlJCA9XG4gICAgICB0aGlzLmpvaW5zLmxlbmd0aCA+IDAgPyB0aGlzLmxpZnRKb2luZWRTb3VyY2UoKSA6IHRoaXMubGlmdFNvdXJjZSgpO1xuICAgIGNvbnN0IG9ic2VydmFibGVzJCA9IFtcbiAgICAgIHNvdXJjZSQsXG4gICAgICB0aGlzLmZpbHRlcnMkLFxuICAgICAgdGhpcy5maWx0ZXIkLFxuICAgICAgdGhpcy5zb3J0JCxcbiAgICAgIHRoaXMuZ2V0S2V5JFxuICAgIF07XG5cbiAgICB0aGlzLnZhbHVlcyQkID0gY29tYmluZUxhdGVzdChvYnNlcnZhYmxlcyQpXG4gICAgICAucGlwZShza2lwKDEpLCBkZWJvdW5jZVRpbWUoNSkpXG4gICAgICAuc3Vic2NyaWJlKChidW5jaDogYW55W10pID0+IHtcbiAgICAgICAgY29uc3QgW192YWx1ZXMsIGZpbHRlcnMsIGZpbHRlciwgc29ydCwgZ2V0S2V5XSA9IGJ1bmNoO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnByb2Nlc3NWYWx1ZXMoX3ZhbHVlcywgZmlsdGVycywgZmlsdGVyLCBzb3J0KTtcbiAgICAgICAgY29uc3QgZ2VuZXJhdGVJbmRleCA9IGdldEtleSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnNldFZhbHVlcyh2YWx1ZXMsIGdlbmVyYXRlSW5kZXgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZSB3aGVuIG5vIGpvaW5zIGFyZSBkZWZpbmVkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGVcbiAgICovXG4gIHByaXZhdGUgbGlmdFNvdXJjZSgpOiBPYnNlcnZhYmxlPFZbXT4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSQgYXMgYW55IGFzIE9ic2VydmFibGU8VltdPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHNvdXJjZSBvYnNlcnZhYmxlIHdoZW4gam9pbnMgYXJlIGRlZmluZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxuICAgKi9cbiAgcHJpdmF0ZSBsaWZ0Sm9pbmVkU291cmNlKCk6IE9ic2VydmFibGU8VltdPiB7XG4gICAgY29uc3Qgc291cmNlcyQgPSBbXG4gICAgICB0aGlzLnNvdXJjZSQsXG4gICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuam9pbnMubWFwKChqb2luOiBFbnRpdHlKb2luQ2xhdXNlKSA9PiBqb2luLnNvdXJjZSkpXG4gICAgXTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNvdXJjZXMkKS5waXBlKFxuICAgICAgbWFwKChidW5jaDogW0VbXSwgYW55W11dKSA9PiB7XG4gICAgICAgIGNvbnN0IFtlbnRpdGllcywgam9pbkRhdGFdID0gYnVuY2g7XG4gICAgICAgIHJldHVybiBlbnRpdGllcy5yZWR1Y2UoKHZhbHVlczogVltdLCBlbnRpdHk6IEUpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29tcHV0ZUpvaW5lZFZhbHVlKGVudGl0eSwgam9pbkRhdGEpO1xuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgICAgIH0sIFtdKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBqb2lucyB0byBhIHNvdXJjZSdzIGVudGl0eSBhbmQgcmV0dXJuIHRoZSBmaW5hbCB2YWx1ZVxuICAgKiBAcmV0dXJucyBGaW5hbCB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlSm9pbmVkVmFsdWUoZW50aXR5OiBFLCBqb2luRGF0YTogYW55W10pOiBWIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgdmFsdWUgPSBlbnRpdHkgYXMgUGFydGlhbDxWPjtcbiAgICBsZXQgam9pbkluZGV4ID0gMDtcbiAgICB3aGlsZSAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiBqb2luSW5kZXggPCB0aGlzLmpvaW5zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmpvaW5zW2pvaW5JbmRleF0ucmVkdWNlKHZhbHVlLCBqb2luRGF0YVtqb2luSW5kZXhdKTtcbiAgICAgIGpvaW5JbmRleCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUgYXMgVjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYW5kIHNvcnQgdmFsdWVzIGJlZm9yZSBzdHJlYW1pbmcgdGhlbVxuICAgKiBAcGFyYW0gdmFsdWVzIFZhbHVlc1xuICAgKiBAcGFyYW0gZmlsdGVycyBGaWx0ZXIgY2xhdXNlc1xuICAgKiBAcGFyYW0gZmlsdGVyIEZpbHRlciBjbGF1c2VcbiAgICogQHBhcmFtIHNvcnQgU29ydCBjbGF1c2VcbiAgICogQHJldHVybnMgRmlsdGVyZWQgYW5kIHNvcnRlZCB2YWx1ZXNcbiAgICovXG4gIHByaXZhdGUgcHJvY2Vzc1ZhbHVlcyhcbiAgICB2YWx1ZXM6IFZbXSxcbiAgICBmaWx0ZXJzOiBFbnRpdHlGaWx0ZXJDbGF1c2VbXSxcbiAgICBmaWx0ZXI6IEVudGl0eUZpbHRlckNsYXVzZSxcbiAgICBzb3J0OiBFbnRpdHlTb3J0Q2xhdXNlXG4gICk6IFZbXSB7XG4gICAgdmFsdWVzID0gdmFsdWVzLnNsaWNlKDApO1xuICAgIHZhbHVlcyA9IHRoaXMuZmlsdGVyVmFsdWVzKHZhbHVlcywgZmlsdGVycy5jb25jYXQoW2ZpbHRlcl0pKTtcbiAgICB2YWx1ZXMgPSB0aGlzLnNvcnRWYWx1ZXModmFsdWVzLCBzb3J0KTtcbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciB2YWx1ZXNcbiAgICogQHBhcmFtIHZhbHVlcyBWYWx1ZXNcbiAgICogQHBhcmFtIGZpbHRlcnMgRmlsdGVyIGNsYXVzZXNcbiAgICogQHJldHVybnMgRmlsdGVyZWQgdmFsdWVzXG4gICAqL1xuICBwcml2YXRlIGZpbHRlclZhbHVlcyh2YWx1ZXM6IFZbXSwgY2xhdXNlczogRW50aXR5RmlsdGVyQ2xhdXNlW10pOiBWW10ge1xuICAgIGlmIChjbGF1c2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigodmFsdWU6IFYpID0+IHtcbiAgICAgIHJldHVybiBjbGF1c2VzXG4gICAgICAgIC5maWx0ZXIoKGNsYXVzZTogRW50aXR5RmlsdGVyQ2xhdXNlKSA9PiBjbGF1c2UgIT09IHVuZGVmaW5lZClcbiAgICAgICAgLmV2ZXJ5KChjbGF1c2U6IEVudGl0eUZpbHRlckNsYXVzZSkgPT4gY2xhdXNlKHZhbHVlKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCB2YWx1ZXNcbiAgICogQHBhcmFtIHZhbHVlcyBWYWx1ZXNcbiAgICogQHBhcmFtIHNvcnQgU29ydCBjbGF1c2VcbiAgICogQHJldHVybnMgU29ydGVkIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSBzb3J0VmFsdWVzKHZhbHVlczogVltdLCBjbGF1c2U6IEVudGl0eVNvcnRDbGF1c2UpOiBWW10ge1xuICAgIGlmIChjbGF1c2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlcy5zb3J0KCh2MTogViwgdjI6IFYpID0+IHtcbiAgICAgIHJldHVybiBPYmplY3RVdGlscy5uYXR1cmFsQ29tcGFyZShcbiAgICAgICAgY2xhdXNlLnZhbHVlQWNjZXNzb3IodjEpLFxuICAgICAgICBjbGF1c2UudmFsdWVBY2Nlc3Nvcih2MiksXG4gICAgICAgIGNsYXVzZS5kaXJlY3Rpb24sXG4gICAgICAgIGNsYXVzZS5udWxsc0ZpcnN0XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB2YWx1ZSBhbmQgb3B0aW9uYWxseSBnZW5lcmF0ZSBhbiBpbmRleFxuICAgKiBAcGFyYW0gdmFsdWVzIFZhbHVlc1xuICAgKiBAcGFyYW0gZ2VuZXJhdGVJbmRleCBib29sZWFuXG4gICAqL1xuICBwcml2YXRlIHNldFZhbHVlcyh2YWx1ZXM6IFZbXSwgZ2VuZXJhdGVJbmRleDogYm9vbGVhbikge1xuICAgIGlmIChnZW5lcmF0ZUluZGV4ID09PSB0cnVlKSB7XG4gICAgICB0aGlzLl9pbmRleCA9IHRoaXMuZ2VuZXJhdGVJbmRleCh2YWx1ZXMpO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVzJC5uZXh0KHZhbHVlcyk7XG5cbiAgICBjb25zdCBjb3VudCA9IHZhbHVlcy5sZW5ndGg7XG4gICAgY29uc3QgZW1wdHkgPSBjb3VudCA9PT0gMDtcbiAgICB0aGlzLmNvdW50JC5uZXh0KGNvdW50KTtcbiAgICB0aGlzLmVtcHR5JC5uZXh0KGVtcHR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIGNvbXBsZXRlIGluZGV4IG9mIGFsbCB0aGUgdmFsdWVzXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xuICAgKiBAcmV0dXJucyBJbmRleFxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUluZGV4KHZhbHVlczogVltdKTogTWFwPEVudGl0eUtleSwgVj4ge1xuICAgIGNvbnN0IGVudHJpZXMgPSB2YWx1ZXMubWFwKCh2YWx1ZTogVikgPT4gW3RoaXMuZ2V0S2V5KHZhbHVlKSwgdmFsdWVdKTtcbiAgICByZXR1cm4gbmV3IE1hcChlbnRyaWVzIGFzIFtFbnRpdHlLZXksIFZdW10pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,135 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUt0Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOztPQUVHO0lBQ0ssS0FBSyxDQUFvQjtJQUVqQzs7T0FFRztJQUNLLEtBQUssQ0FBaUI7SUFFOUI7O09BRUc7SUFDSyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7SUFFdkU7O09BRUc7SUFDSyxVQUFVLENBQWU7SUFFakM7O09BRUc7SUFDSyxPQUFPLENBQWU7SUFFOUIsWUFBWSxLQUFzQixFQUFFLEtBQXlCO1FBQzNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMs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O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVudGl0eUtleSB9IGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL3N0b3JlJztcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gc3luY2hyb25pemUgYSBjb21wb25lbnQncyBjaGFuZ2VzXG4gKiBkZXRlY3Rpb24gd2l0aCBhbiBFbnRpdHlTdG9yZSBjaGFuZ2VzLiBGb3IgZXhhbXBsZSwgaXQgaXMgZnJlcXVlbnRcbiAqIHRvIGhhdmUgYSBjb21wb25lbnQgc3Vic2NyaWJlIHRvIGEgc3RvcmUncyBzZWxlY3RlZCBlbnRpdHkgYW5kLCBhdCB0aGUgc2FtZSB0aW1lLFxuICogdGhpcyBjb21wb25lbnQgcHJvdmlkZXMgYSB3YXkgdG8gc2VsZWN0IGFuIGVudGl0eSB3aXRoLCBsZXQncyBzYXksIGEgY2xpY2suXG4gKlxuICogVGhpcyBjbGFzcyBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdGhvc2UgY2FzZSBhbmQgdHJpZ2dlcnMgdGhlIGNvbXBvZW50J3NcbiAqIGNoYW5nZSBkZXRlY3Rpb24gd2hlbiBuZWVkZWQuXG4gKlxuICogTm90ZTogSWYgdGhlIGNvbXBvbmVudCBvYnNlcnZlcyB0aGUgc3RvcmUncyBzdGF0ZVZpZXcsIGEgd29ya3NwYWNlIGlzXG4gKiBwcm9iYWJseSBub3QgcmVxdWlyZWQgYmVjYXVzZSB0aGUgc3RhdGVWaWV3IGNhdGNoZXMgYW55IGNoYW5nZXMgdG8gdGhlXG4gKiBlbnRpdGllcyBhbmQgdGhlaXIgc3RhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZVdhdGNoZXI8RSBleHRlbmRzIG9iamVjdD4ge1xuICAvKipcbiAgICogQ29tcG9uZW50IGNoYW5nZSBkZXRlY3RvclxuICAgKi9cbiAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgLyoqXG4gICAqIEVudGl0eSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzdG9yZTogRW50aXR5U3RvcmU8RT47XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCBpbm5lciBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBpbm5lclN0YXRlSW5kZXggPSBuZXcgTWFwPEVudGl0eUtleSwgeyBba2V5OiBzdHJpbmddOiBhbnkgfT4oKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIGVudGl0aWVzXG4gICAqL1xuICBwcml2YXRlIGVudGl0aWVzJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIHN0YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihzdG9yZT86IEVudGl0eVN0b3JlPEU+LCBjZFJlZj86IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5zZXRDaGFuZ2VEZXRlY3RvcihjZFJlZik7XG4gICAgdGhpcy5zZXRTdG9yZShzdG9yZSk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMuc2V0Q2hhbmdlRGV0ZWN0b3IodW5kZWZpbmVkKTtcbiAgICB0aGlzLnNldFN0b3JlKHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogQmluZCB0aGlzIHdvcmtzcGFjZSB0byBhIHN0b3JlIGFuZCBzdGFydCB3YXRjaGluZyBmb3IgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRW50aXR5IHN0b3JlXG4gICAqL1xuICBzZXRTdG9yZShzdG9yZT86IEVudGl0eVN0b3JlPEU+KSB7XG4gICAgaWYgKHN0b3JlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudGVhcmRvd25PYnNlcnZlcnMoKTtcbiAgICAgIHRoaXMuaW5uZXJTdGF0ZUluZGV4LmNsZWFyKCk7XG4gICAgICB0aGlzLnN0b3JlID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RvcmUodW5kZWZpbmVkKTtcbiAgICB0aGlzLnN0b3JlID0gc3RvcmU7XG4gICAgdGhpcy5zZXR1cE9ic2VydmVycygpO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhpcyB3b3Jrc3BhY2UgdG8gYSBjb21wb25lbnQncyBjaGFuZ2UgZGV0ZWN0b3JcbiAgICogQHBhcmFtIGNkUmVmIENoYW5nZSBkZXRlY3RvclxuICAgKi9cbiAgc2V0Q2hhbmdlRGV0ZWN0b3IoY2RSZWY/OiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuY2RSZWYgPSBjZFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgb2JzZXJ2ZXJzIG9uIGEgc3RvcmUncyBlbnRpdGllcyBhbmQgdGhlaXIgc3RhdGVcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXR1cE9ic2VydmVycygpIHtcbiAgICB0aGlzLnRlYXJkb3duT2JzZXJ2ZXJzKCk7XG5cbiAgICB0aGlzLmVudGl0aWVzJCQgPSB0aGlzLnN0b3JlLmVudGl0aWVzJC5zdWJzY3JpYmUoKGVudGl0aWVzOiBFW10pID0+XG4gICAgICB0aGlzLm9uRW50aXRpZXNDaGFuZ2UoZW50aXRpZXMpXG4gICAgKTtcblxuICAgIHRoaXMuc3RhdGUkJCA9IHRoaXMuc3RvcmUuc3RhdGUuY2hhbmdlJFxuICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblN0YXRlQ2hhbmdlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRlYXJkb3duIHN0b3JlIG9ic2VydmVyc1xuICAgKi9cbiAgcHJpdmF0ZSB0ZWFyZG93bk9ic2VydmVycygpIHtcbiAgICBpZiAodGhpcy5lbnRpdGllcyQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZW50aXRpZXMkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGF0ZSQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RhdGUkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmVudGl0aWVzJCQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zdGF0ZSQkID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGVudGl0aWVzIGNoYW5nZSwgYWx3YXlzIHRyaWdnZXIgdGhlIGNoYW5nZXMgZGV0ZWN0aW9uXG4gICAqL1xuICBwcml2YXRlIG9uRW50aXRpZXNDaGFuZ2UoZW50aXRpZXM6IEVbXSkge1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGVudGl0aWVzIHN0YXRlIGNoYW5nZSwgdHJpZ2dlciB0aGUgY2hhbmdlIGRldGVjdGlvblxuICAgKiBvbmx5IGlmIHRoZSBjb21wb25lbnQgaGFzIG5vdCBoYW5kbGVkIHRoZXNlIGNoYW5nZXMgeWV0LiBGb3IgZXhhbXBsZSxcbiAgICogdGhlIGNvbXBvbmVudCBtaWdodCBoYXZlIGluaXRpYXRlZCB0aG9zZXMgY2hhbmdlcyBpdHNlbGYuXG4gICAqL1xuICBwcml2YXRlIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgbGV0IGNoYW5nZXNEZXRlY3RlZCA9IGZhbHNlO1xuICAgIGNvbnN0IHN0b3JlSW5kZXggPSB0aGlzLnN0b3JlLnN0YXRlLmluZGV4O1xuICAgIGNvbnN0IGlubmVySW5kZXggPSB0aGlzLmlubmVyU3RhdGVJbmRleDtcblxuICAgIGlmIChzdG9yZUluZGV4LnNpemUgIT09IGlubmVySW5kZXguc2l6ZSkge1xuICAgICAgY2hhbmdlc0RldGVjdGVkID0gdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVLZXlzID0gQXJyYXkuZnJvbShzdG9yZUluZGV4LmtleXMoKSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Ygc3RvcmVLZXlzKSB7XG4gICAgICBjb25zdCBzdG9yZVZhbHVlID0gc3RvcmVJbmRleC5nZXQoa2V5KTtcbiAgICAgIGNvbnN0IGlubmVyVmFsdWUgPSBpbm5lckluZGV4LmdldChrZXkpO1xuICAgICAgaWYgKGNoYW5nZXNEZXRlY3RlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGlubmVyVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNoYW5nZXNEZXRlY3RlZCA9IHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9IGVsc2UgaWYgKCFPYmplY3RVdGlscy5vYmplY3RzQXJlRXF1aXZhbGVudChzdG9yZVZhbHVlLCBpbm5lclZhbHVlKSkge1xuICAgICAgICAgIGNoYW5nZXNEZXRlY3RlZCA9IHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5uZXJTdGF0ZUluZGV4LnNldChrZXksIE9iamVjdC5hc3NpZ24oe30sIHN0b3JlVmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciB0aGUgY2hhbmdlIGRldGVjdGlvbiBvZiB0aGUgd29ya3NwYWNlIGlzIGJvdW5kIHRvIGEgY2hhbmdlIGRldGVjdG9yXG4gICAqL1xuICBwcml2YXRlIGRldGVjdENoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuY2RSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW52aXJvbm1lbnQvZW52aXJvbm1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50T3B0aW9ucyB7XG4gIGRlcG90PzogRGVwb3RPcHRpb25zO1xuICBpbnRlcmFjdGl2ZVRvdXI/OiBJbnRlcmFjdGl2ZVRvdXJDb25maWdPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcG90T3B0aW9ucyB7XG4gIHVybDogc3RyaW5nO1xuICB0cmFpbmluZ0d1aWRlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91ckNvbmZpZ09wdGlvbnMge1xuICBhY3RpdmF0ZUludGVyYWN0aXZlVG91cj86IGJvb2xlYW47XG4gIHRvdXJJbk1vYmlsZT86IGJvb2xlYW47XG4gIHBhdGhUb0NvbmZpZ0ZpbGU/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './environment.interface';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnZpcm9ubWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5pbnRlcmZhY2UnO1xuIl19
|