@eo-sdk/client 10.0.0-beta.4 → 10.0.0-beta.5
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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/dashboard.component.d.ts +6 -7
- package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
- package/app/eo-client/favorite-state/favorite-state.component.d.ts +7 -8
- package/app/eo-client/favorite-state/favorite-state.component.d.ts.map +1 -1
- package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +8 -10
- package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
- package/app/eo-client/login/login.component.d.ts +4 -2
- package/app/eo-client/login/login.component.d.ts.map +1 -1
- package/app/eo-client/notifications-state/notifications-state.component.d.ts +9 -11
- package/app/eo-client/notifications-state/notifications-state.component.d.ts.map +1 -1
- package/app/eo-client/object-state/object-state/object-state.component.d.ts +10 -11
- package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
- package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts +8 -9
- package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts.map +1 -1
- package/app/eo-client/process-state/process-state.component.d.ts +8 -10
- package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
- package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +5 -6
- package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts.map +1 -1
- package/app/eo-client/result-state/result-state.component.d.ts +3 -5
- package/app/eo-client/result-state/result-state.component.d.ts.map +1 -1
- package/app/eo-client/settings/settings.component.d.ts +6 -7
- package/app/eo-client/settings/settings.component.d.ts.map +1 -1
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts +8 -10
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
- package/app/eo-client/version-state/version-state.component.d.ts +5 -7
- package/app/eo-client/version-state/version-state.component.d.ts.map +1 -1
- package/app/eo-framework/accordion/accordion.module.d.ts +1 -2
- package/app/eo-framework/accordion/accordion.module.d.ts.map +1 -1
- package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +4 -5
- package/app/eo-framework/actions/action-menu/action-menu.component.d.ts.map +1 -1
- package/app/eo-framework/actions/action.module.d.ts +11 -10
- package/app/eo-framework/actions/action.module.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +3 -2
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +9 -13
- package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +3 -4
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +1 -2
- package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts +18 -20
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/app-shell/index.d.ts +0 -1
- package/app/eo-framework/app-shell/index.d.ts.map +1 -1
- package/app/eo-framework/eo-framework.module.d.ts +37 -38
- package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/date.component.d.ts +0 -2
- package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/form-elements.module.d.ts +9 -18
- package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -2
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +7 -8
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.module.d.ts +7 -8
- package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -2
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/index.d.ts +0 -4
- package/app/eo-framework/index.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts +4 -3
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +2 -3
- package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +5 -4
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
- package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +2 -3
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +10 -0
- package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts.map +1 -0
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +8 -3
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -2
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts +7 -2
- package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +28 -11
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form.module.d.ts +9 -9
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -2
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts +8 -9
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts +7 -8
- package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +9 -11
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts +5 -6
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/settings/settings.module.d.ts +3 -4
- package/app/eo-framework/settings/settings.module.d.ts.map +1 -1
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +4 -5
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -3
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
- package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts +1 -2
- package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts.map +1 -1
- package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +0 -1
- package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts.map +1 -1
- package/app/eo-framework/util/index.d.ts +0 -1
- package/app/eo-framework/util/index.d.ts.map +1 -1
- package/app/eo-framework/util/util.module.d.ts +0 -1
- package/app/eo-framework/util/util.module.d.ts.map +1 -1
- package/app/eo-framework-core/layout/layout.service.d.ts +2 -26
- package/app/eo-framework-core/layout/layout.service.d.ts.map +1 -1
- package/app/eo-framework-core/pipes/locale-number.pipe.d.ts +2 -3
- package/app/eo-framework-core/pipes/locale-number.pipe.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +2 -1
- package/assets/_default/i18n/en.json +7 -6
- package/assets/_default/svg/ic_add_document_file_as_new_version.svg +1 -0
- package/assets/_default/svg/ic_create_document.svg +1 -0
- package/assets/_default/svg/ic_create_document_in_folder.svg +1 -0
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -5
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +17 -14
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +15 -14
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +14 -11
- package/esm2020/app/eo-client/login/login.component.mjs +3 -3
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +16 -12
- package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +27 -23
- package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +12 -9
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +6 -9
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +14 -11
- package/esm2020/app/eo-client/result-state/result-state.component.mjs +11 -8
- package/esm2020/app/eo-client/settings/settings.component.mjs +16 -12
- package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +16 -13
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +13 -10
- package/esm2020/app/eo-framework/accordion/accordion.module.mjs +3 -7
- package/esm2020/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +15 -11
- package/esm2020/app/eo-framework/actions/action.module.mjs +5 -2
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -7
- package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +43 -48
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +2 -2
- package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +16 -14
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +7 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +3 -5
- package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +1 -8
- package/esm2020/app/eo-framework/app-shell/index.mjs +1 -2
- package/esm2020/app/eo-framework/eo-framework.module.mjs +35 -43
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -12
- package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +28 -37
- package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +10 -6
- package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +4 -5
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -6
- package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/grid.component.mjs +16 -12
- package/esm2020/app/eo-framework/grid/grid.module.mjs +1 -5
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +16 -11
- package/esm2020/app/eo-framework/index.mjs +1 -5
- package/esm2020/app/eo-framework/media/media.component.mjs +31 -12
- package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +13 -10
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +42 -30
- package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
- package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +13 -9
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +18 -0
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +20 -6
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +21 -22
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +94 -32
- package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +6 -4
- package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +2 -3
- package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -5
- package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +2 -2
- package/esm2020/app/eo-framework/object-form/object-form.module.mjs +9 -10
- package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +15 -13
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +16 -14
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +16 -12
- package/esm2020/app/eo-framework/process-form/process-form.component.mjs +2 -2
- package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +25 -17
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +18 -14
- package/esm2020/app/eo-framework/settings/settings.module.mjs +1 -5
- package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +17 -13
- package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +12 -8
- package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +2 -2
- package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +11 -8
- package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -6
- package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
- package/esm2020/app/eo-framework/util/index.mjs +1 -2
- package/esm2020/app/eo-framework/util/util.module.mjs +2 -3
- package/esm2020/app/eo-framework-core/layout/layout.service.mjs +61 -63
- package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +11 -8
- package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +8 -8
- package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +2 -6
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +14 -16
- package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +15 -12
- package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +2 -6
- package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +3 -3
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +157 -165
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +15791 -16532
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +157 -165
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +15665 -16407
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +4 -5
- package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +10 -8
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +1 -0
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/util/utils.d.ts +3 -4
- package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
- package/scss/_main.scss +1 -1
- package/scss/_mixins.scss +6 -6
- package/styles.css +1 -1
- package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +0 -24
- package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts.map +0 -1
- package/app/eo-framework/split/index.d.ts +0 -5
- package/app/eo-framework/split/index.d.ts.map +0 -1
- package/app/eo-framework/split/split/split.component.d.ts +0 -83
- package/app/eo-framework/split/split/split.component.d.ts.map +0 -1
- package/app/eo-framework/split/split-area/split-area.component.d.ts +0 -37
- package/app/eo-framework/split/split-area/split-area.component.d.ts.map +0 -1
- package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts +0 -21
- package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts.map +0 -1
- package/app/eo-framework/split/split.module.d.ts +0 -12
- package/app/eo-framework/split/split.module.d.ts.map +0 -1
- package/app/eo-framework/undock-split/undock-split.component.d.ts +0 -28
- package/app/eo-framework/undock-split/undock-split.component.d.ts.map +0 -1
- package/app/eo-framework/undock-split/undock-split.service.d.ts +0 -43
- package/app/eo-framework/undock-split/undock-split.service.d.ts.map +0 -1
- package/app/eo-framework/undock-split/undock-state.interface.d.ts +0 -6
- package/app/eo-framework/undock-split/undock-state.interface.d.ts.map +0 -1
- package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts +0 -11
- package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts.map +0 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.mjs +0 -67
- package/esm2020/app/eo-framework/split/index.mjs +0 -5
- package/esm2020/app/eo-framework/split/split/split.component.mjs +0 -373
- package/esm2020/app/eo-framework/split/split-area/split-area.component.mjs +0 -131
- package/esm2020/app/eo-framework/split/split-gutter/split-gutter.directive.mjs +0 -73
- package/esm2020/app/eo-framework/split/split.module.mjs +0 -28
- package/esm2020/app/eo-framework/undock-split/undock-split.component.mjs +0 -89
- package/esm2020/app/eo-framework/undock-split/undock-split.service.mjs +0 -135
- package/esm2020/app/eo-framework/undock-split/undock-state.interface.mjs +0 -2
- package/esm2020/app/eo-framework/util/unsubscribe/unsubscribe.component.mjs +0 -23
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
2
|
-
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
-
import { UnsubscribeOnDestroy } from '../../../util/unsubscribe/unsubscribe.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../../../eo-framework-core/layout/layout.service";
|
|
6
|
-
import * as i2 from "../../../../eo-framework-core/pending-changes/pending-changes.service";
|
|
7
|
-
import * as i3 from "@angular/common";
|
|
8
|
-
import * as i4 from "@angular/forms";
|
|
9
|
-
import * as i5 from "../../../ui/eo-icon/eo-icon.component";
|
|
10
|
-
import * as i6 from "../../../ui/overlay/overlay.component";
|
|
11
|
-
import * as i7 from "../../../form-elements/form-input/form-input.component";
|
|
12
|
-
import * as i8 from "../../../form-elements/checkbox/checkbox.component";
|
|
13
|
-
import * as i9 from "@ngx-translate/core";
|
|
14
|
-
export class AppLayoutComponent extends UnsubscribeOnDestroy {
|
|
15
|
-
get disableCache() {
|
|
16
|
-
return this.layoutService.disableCache;
|
|
17
|
-
}
|
|
18
|
-
constructor(cd, layoutService, pendingChanges) {
|
|
19
|
-
super();
|
|
20
|
-
this.cd = cd;
|
|
21
|
-
this.layoutService = layoutService;
|
|
22
|
-
this.pendingChanges = pendingChanges;
|
|
23
|
-
this.areas = [];
|
|
24
|
-
}
|
|
25
|
-
updateAreas(areas = []) {
|
|
26
|
-
this.areas = areas || [];
|
|
27
|
-
this.undockArea = this.layoutService.getUndockArea();
|
|
28
|
-
this.countLayout = this.areas.filter(a => !a.visible).length;
|
|
29
|
-
this.showLayout = (this.undockArea && !this.undockArea.dock) || this.areas.filter(a => !a.hidden).length > 1;
|
|
30
|
-
}
|
|
31
|
-
toggle(area) {
|
|
32
|
-
// if ((area.visible && this.countLayout === 0) || (!area.visible && this.countLayout === 1)) {
|
|
33
|
-
// if (!area.visible) {
|
|
34
|
-
// this.layoutService.clearHistory();
|
|
35
|
-
// }
|
|
36
|
-
// this.toggleCache(area.visible);
|
|
37
|
-
// }
|
|
38
|
-
if (!this.pendingChanges.check()) {
|
|
39
|
-
this.layoutService.toggleArea(area);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
undock() {
|
|
43
|
-
this.layoutService.undockArea();
|
|
44
|
-
}
|
|
45
|
-
toggleCache(cache) {
|
|
46
|
-
this.layoutService.disableCache = cache;
|
|
47
|
-
}
|
|
48
|
-
ngOnInit() {
|
|
49
|
-
this.layoutService.areas$
|
|
50
|
-
.pipe(takeUntil(this.componentDestroyed$), debounceTime(300))
|
|
51
|
-
.subscribe(areas => {
|
|
52
|
-
this.updateAreas(areas);
|
|
53
|
-
this.cd.markForCheck();
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
AppLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.LayoutService }, { token: i2.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
AppLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: AppLayoutComponent, selector: "eo-app-layout", inputs: { areas: "areas", undockArea: "undockArea" }, usesInheritance: true, ngImport: i0, template: "<eo-overlay #oLayout [iconSrc]=\"'assets/_default/svg/ic_view_column.svg'\" *ngIf=\"showLayout\"\n [iconClass]=\"'white'\" [iconTitle]=\"'eo.bar.button.layout.title' | translate\" [badge]=\"countLayout\">\n <div class=\"container\">\n <eo-icon class=\"button white\"\n *ngFor=\"let area of areas\"\n [ngClass]=\"{visible: area.visible, hidden: area.hidden}\"\n [iconSrc]=\"'assets/_default/svg/ic_crop_portrait.svg'\"\n (click)=\"toggle(area)\">\n </eo-icon>\n <eo-icon class=\"button white undock-button\"\n *ngIf=\"undockArea\"\n [ngClass]=\"{visible: undockArea.dock}\"\n [iconSrc]=\"'assets/_default/svg/ic_undock.svg'\"\n (click)=\"undock()\">\n </eo-icon>\n </div>\n <div class=\"container dark\" *ngIf=\"undockArea && undockArea.dock\">\n <eo-form-input [label]=\"'eo.bar.button.layout.remember'|translate\" class=\"checkbox\">\n <eo-checkbox (ngModelChange)=\"toggleCache(!$event)\" [ngModel]=\"!disableCache\" [tristate]=\"false\" ></eo-checkbox>\n </eo-form-input>\n </div>\n</eo-overlay>\n", styles: [":host .undock-button{display:none}:host .container{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host eo-icon{color:rgba(var(--color-white-rgb),.4)}:host eo-icon.visible{color:var(--color-white)}:host eo-icon.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i6.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.CheckboxComponent, selector: "eo-checkbox", inputs: ["tristate", "readonly"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppLayoutComponent, decorators: [{
|
|
60
|
-
type: Component,
|
|
61
|
-
args: [{ selector: 'eo-app-layout', changeDetection: ChangeDetectionStrategy.OnPush, template: "<eo-overlay #oLayout [iconSrc]=\"'assets/_default/svg/ic_view_column.svg'\" *ngIf=\"showLayout\"\n [iconClass]=\"'white'\" [iconTitle]=\"'eo.bar.button.layout.title' | translate\" [badge]=\"countLayout\">\n <div class=\"container\">\n <eo-icon class=\"button white\"\n *ngFor=\"let area of areas\"\n [ngClass]=\"{visible: area.visible, hidden: area.hidden}\"\n [iconSrc]=\"'assets/_default/svg/ic_crop_portrait.svg'\"\n (click)=\"toggle(area)\">\n </eo-icon>\n <eo-icon class=\"button white undock-button\"\n *ngIf=\"undockArea\"\n [ngClass]=\"{visible: undockArea.dock}\"\n [iconSrc]=\"'assets/_default/svg/ic_undock.svg'\"\n (click)=\"undock()\">\n </eo-icon>\n </div>\n <div class=\"container dark\" *ngIf=\"undockArea && undockArea.dock\">\n <eo-form-input [label]=\"'eo.bar.button.layout.remember'|translate\" class=\"checkbox\">\n <eo-checkbox (ngModelChange)=\"toggleCache(!$event)\" [ngModel]=\"!disableCache\" [tristate]=\"false\" ></eo-checkbox>\n </eo-form-input>\n </div>\n</eo-overlay>\n", styles: [":host .undock-button{display:none}:host .container{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host eo-icon{color:rgba(var(--color-white-rgb),.4)}:host eo-icon.visible{color:var(--color-white)}:host eo-icon.hidden{display:none}\n"] }]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.LayoutService }, { type: i2.PendingChangesService }]; }, propDecorators: { areas: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], undockArea: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hcHAtc2hlbGwvYXBwLWJhci9hcHAtbGF5b3V0L2FwcC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYXBwLXNoZWxsL2FwcC1iYXIvYXBwLWxheW91dC9hcHAtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBVSxLQUFLLEVBQUUsdUJBQXVCLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7OztBQVNyRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBSTFELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQU1ELFlBQW9CLEVBQXFCLEVBQ3JCLGFBQTRCLEVBQzVCLGNBQXFDO1FBQ3ZELEtBQUssRUFBRSxDQUFDO1FBSFUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBTmhELFVBQUssR0FBZ0IsRUFBRSxDQUFDO0lBUWpDLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBcUIsRUFBRTtRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWU7UUFDcEIsZ0dBQWdHO1FBQzlGLHVCQUF1QjtRQUN2Qix1Q0FBdUM7UUFDdkMsSUFBSTtRQUNKLGtDQUFrQztRQUNwQyxJQUFJO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTTthQUN0QixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUNuQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQ2xCO2FBQ0EsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OytHQXZEVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrSUNaL0IsZ25DQXNCQTsyRkRWYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNO3dLQVV0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVib3VuY2VUaW1lLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcmVhU3RhdGUsIExheW91dFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2xheW91dC9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi8uLi91dGlsL3Vuc3Vic2NyaWJlL3Vuc3Vic2NyaWJlLmNvbXBvbmVudCc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYXBwLWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBcHBMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgc2hvd0xheW91dDogYm9vbGVhbjtcbiAgY291bnRMYXlvdXQ6IG51bWJlcjtcbiAgZ2V0IGRpc2FibGVDYWNoZSgpIHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmRpc2FibGVDYWNoZTtcbiAgfVxuXG4gIEBJbnB1dCgpIGFyZWFzOiBBcmVhU3RhdGVbXSA9IFtdO1xuICBASW5wdXQoKSB1bmRvY2tBcmVhOiBBcmVhU3RhdGU7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgdXBkYXRlQXJlYXMoYXJlYXM6IEFyZWFTdGF0ZVtdID0gW10pIHtcbiAgICB0aGlzLmFyZWFzID0gYXJlYXMgfHwgW107XG4gICAgdGhpcy51bmRvY2tBcmVhID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmdldFVuZG9ja0FyZWEoKTtcbiAgICB0aGlzLmNvdW50TGF5b3V0ID0gdGhpcy5hcmVhcy5maWx0ZXIoYSA9PiAhYS52aXNpYmxlKS5sZW5ndGg7XG4gICAgdGhpcy5zaG93TGF5b3V0ID0gKHRoaXMudW5kb2NrQXJlYSAmJiAhdGhpcy51bmRvY2tBcmVhLmRvY2spIHx8IHRoaXMuYXJlYXMuZmlsdGVyKGEgPT4gIWEuaGlkZGVuKS5sZW5ndGggPiAxO1xuICB9XG5cbiAgdG9nZ2xlKGFyZWE6IEFyZWFTdGF0ZSkge1xuICAgIC8vIGlmICgoYXJlYS52aXNpYmxlICYmIHRoaXMuY291bnRMYXlvdXQgPT09IDApIHx8ICAoIWFyZWEudmlzaWJsZSAmJiB0aGlzLmNvdW50TGF5b3V0ID09PSAxKSkge1xuICAgICAgLy8gaWYgKCFhcmVhLnZpc2libGUpIHtcbiAgICAgIC8vICAgdGhpcy5sYXlvdXRTZXJ2aWNlLmNsZWFySGlzdG9yeSgpO1xuICAgICAgLy8gfVxuICAgICAgLy8gdGhpcy50b2dnbGVDYWNoZShhcmVhLnZpc2libGUpO1xuICAgIC8vIH1cbiAgICBpZiAoIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKSkge1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnRvZ2dsZUFyZWEoYXJlYSk7XG4gICAgfVxuICB9XG5cbiAgdW5kb2NrKCkge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS51bmRvY2tBcmVhKCk7XG4gIH1cblxuICB0b2dnbGVDYWNoZShjYWNoZTogYm9vbGVhbikge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS5kaXNhYmxlQ2FjaGUgPSBjYWNoZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGF5b3V0U2VydmljZS5hcmVhcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXJlYXMgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFzKGFyZWFzKTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbn1cbiIsIjxlby1vdmVybGF5ICNvTGF5b3V0IFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3ZpZXdfY29sdW1uLnN2ZydcIiAqbmdJZj1cInNob3dMYXlvdXRcIlxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInd2hpdGUnXCIgW2ljb25UaXRsZV09XCInZW8uYmFyLmJ1dHRvbi5sYXlvdXQudGl0bGUnIHwgdHJhbnNsYXRlXCIgW2JhZGdlXT1cImNvdW50TGF5b3V0XCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiB3aGl0ZVwiXG4gICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFyZWEgb2YgYXJlYXNcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInt2aXNpYmxlOiBhcmVhLnZpc2libGUsIGhpZGRlbjogYXJlYS5oaWRkZW59XCJcbiAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jcm9wX3BvcnRyYWl0LnN2ZydcIlxuICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGUoYXJlYSlcIj5cbiAgICA8L2VvLWljb24+XG4gICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gd2hpdGUgdW5kb2NrLWJ1dHRvblwiXG4gICAgICAgICAgICAgKm5nSWY9XCJ1bmRvY2tBcmVhXCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7dmlzaWJsZTogdW5kb2NrQXJlYS5kb2NrfVwiXG4gICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdW5kb2NrLnN2ZydcIlxuICAgICAgICAgICAgIChjbGljayk9XCJ1bmRvY2soKVwiPlxuICAgIDwvZW8taWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXIgZGFya1wiICpuZ0lmPVwidW5kb2NrQXJlYSAmJiB1bmRvY2tBcmVhLmRvY2tcIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmJhci5idXR0b24ubGF5b3V0LnJlbWVtYmVyJ3x0cmFuc2xhdGVcIiBjbGFzcz1cImNoZWNrYm94XCI+XG4gICAgICA8ZW8tY2hlY2tib3ggKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlQ2FjaGUoISRldmVudClcIiBbbmdNb2RlbF09XCIhZGlzYWJsZUNhY2hlXCIgW3RyaXN0YXRlXT1cImZhbHNlXCIgPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Rpdj5cbjwvZW8tb3ZlcmxheT5cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './split.module';
|
|
2
|
-
export * from './split/split.component';
|
|
3
|
-
export * from './split-area/split-area.component';
|
|
4
|
-
export * from './split-gutter/split-gutter.directive';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9zcGxpdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcGxpdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGxpdC9zcGxpdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGxpdC1hcmVhL3NwbGl0LWFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3BsaXQtZ3V0dGVyL3NwbGl0LWd1dHRlci5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
2
|
-
import { Component, ChangeDetectionStrategy, HostBinding, Input, Output, EventEmitter } from '@angular/core';
|
|
3
|
-
import { Subject, of as observableOf } from 'rxjs';
|
|
4
|
-
import { UnsubscribeOnDestroy } from '../../util/unsubscribe/unsubscribe.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../eo-framework-core/layout/layout.service";
|
|
7
|
-
import * as i2 from "@eo-sdk/core";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "../split-gutter/split-gutter.directive";
|
|
10
|
-
export class SplitComponent extends UnsubscribeOnDestroy {
|
|
11
|
-
get styleFlexDirection() {
|
|
12
|
-
return this.direction === 'vertical';
|
|
13
|
-
}
|
|
14
|
-
get styleFlexDirectionStyle() {
|
|
15
|
-
return this.direction === 'horizontal' ? 'row' : 'column';
|
|
16
|
-
}
|
|
17
|
-
get dragging() {
|
|
18
|
-
// prevent animation of areas when visibleTransition is false, or resizing
|
|
19
|
-
return !this.visibleTransition || this.isDragging;
|
|
20
|
-
}
|
|
21
|
-
get styleWidth() {
|
|
22
|
-
return (this.width && !isNaN(this.width) && this.width > 0) ? this.width + 'px' : '100%';
|
|
23
|
-
}
|
|
24
|
-
get styleHeight() {
|
|
25
|
-
return (this.height && !isNaN(this.height) && this.height > 0) ? this.height + 'px' : '100%';
|
|
26
|
-
}
|
|
27
|
-
get visibleAreas() {
|
|
28
|
-
return this.areas.filter(a => a.component.visible);
|
|
29
|
-
}
|
|
30
|
-
get nbGutters() {
|
|
31
|
-
return this.visibleAreas.length - 1;
|
|
32
|
-
}
|
|
33
|
-
set cacheLayout(val) {
|
|
34
|
-
if (this.applyCacheLayout) {
|
|
35
|
-
(val && val.subscribe ? val : observableOf(val))
|
|
36
|
-
.subscribe(cacheLayout => {
|
|
37
|
-
this._cacheLayout = cacheLayout;
|
|
38
|
-
this.updateLayout();
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
get cacheLayout() {
|
|
43
|
-
return this._cacheLayout;
|
|
44
|
-
}
|
|
45
|
-
constructor(cdRef, elementRef, renderer, _ngZone, layoutService, userService) {
|
|
46
|
-
super();
|
|
47
|
-
this.cdRef = cdRef;
|
|
48
|
-
this.elementRef = elementRef;
|
|
49
|
-
this.renderer = renderer;
|
|
50
|
-
this._ngZone = _ngZone;
|
|
51
|
-
this.layoutService = layoutService;
|
|
52
|
-
this.userService = userService;
|
|
53
|
-
this.direction = 'horizontal';
|
|
54
|
-
this.switchable = false;
|
|
55
|
-
this.gutterSize = 10;
|
|
56
|
-
this.disabled = false;
|
|
57
|
-
this.visibleTransition = false;
|
|
58
|
-
this.dragStart = new EventEmitter(false);
|
|
59
|
-
this.dragProgress = new EventEmitter(false);
|
|
60
|
-
this.dragEnd = new EventEmitter(false);
|
|
61
|
-
this.visibleTransitionEndInternal = new Subject();
|
|
62
|
-
this.visibleTransitionEnd = this.visibleTransitionEndInternal.asObservable().pipe(debounceTime(20));
|
|
63
|
-
this.areas = [];
|
|
64
|
-
this.minPercent = 5;
|
|
65
|
-
this.isDragging = false;
|
|
66
|
-
this.containerSize = 0;
|
|
67
|
-
this.areaASize = 0;
|
|
68
|
-
this.areaBSize = 0;
|
|
69
|
-
this.directionIndex = 1;
|
|
70
|
-
this.eventsDragFct = [];
|
|
71
|
-
this._cacheLayout = false;
|
|
72
|
-
this._afterViewInit = false;
|
|
73
|
-
this.applyCacheLayout = true;
|
|
74
|
-
this.userService.user$.pipe(takeUntil(this.componentDestroyed$)).subscribe((user) => {
|
|
75
|
-
this.directionIndex = (user.uiDirection === 'rtl') ? -1 : 1;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
toggleDirection() {
|
|
79
|
-
if (this.switchable) {
|
|
80
|
-
this.direction = this.direction === 'horizontal' ? 'vertical' : 'horizontal';
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
updateLayout() {
|
|
84
|
-
if (this._afterViewInit && this.cacheLayout) {
|
|
85
|
-
this.layoutService.getLayout(`eo.split.layout.${this.cacheLayout}`)
|
|
86
|
-
.subscribe(layout => {
|
|
87
|
-
(layout || []).forEach((area) => {
|
|
88
|
-
if (area && this.areas.length > area.index) {
|
|
89
|
-
this.areas[area.index].size = area.size;
|
|
90
|
-
this.areas[area.index].sizeUser = area.size;
|
|
91
|
-
this.areas[area.index].component.visible = area.visible;
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
this.layoutService.visibilityUpdate();
|
|
95
|
-
this.refreshStyleSizes();
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
ngAfterViewInit() {
|
|
100
|
-
this._afterViewInit = true;
|
|
101
|
-
this.updateLayout();
|
|
102
|
-
}
|
|
103
|
-
ngOnChanges(changes) {
|
|
104
|
-
if (changes['gutterSize'] || changes['disabled']) {
|
|
105
|
-
this.refresh();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
addArea(component, orderUser, sizeUser, minPixel) {
|
|
109
|
-
this.areas.push({
|
|
110
|
-
component,
|
|
111
|
-
orderUser,
|
|
112
|
-
order: -1,
|
|
113
|
-
sizeUser,
|
|
114
|
-
size: -1,
|
|
115
|
-
minPixel
|
|
116
|
-
});
|
|
117
|
-
this.refresh();
|
|
118
|
-
}
|
|
119
|
-
updateArea(component, orderUser, sizeUser, minPixel) {
|
|
120
|
-
const item = this.areas.find(a => a.component === component);
|
|
121
|
-
if (item) {
|
|
122
|
-
item.orderUser = orderUser;
|
|
123
|
-
item.sizeUser = sizeUser;
|
|
124
|
-
item.minPixel = minPixel;
|
|
125
|
-
this.refresh();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
removeArea(area) {
|
|
129
|
-
const item = this.areas.find(a => a.component === area);
|
|
130
|
-
if (item) {
|
|
131
|
-
const index = this.areas.indexOf(item);
|
|
132
|
-
this.areas.splice(index, 1);
|
|
133
|
-
this.areas.forEach((a, i) => a.order = i * 2);
|
|
134
|
-
this.refresh();
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
hideArea(area) {
|
|
138
|
-
const item = this.areas.find(a => a.component === area);
|
|
139
|
-
if (item) {
|
|
140
|
-
this.refresh();
|
|
141
|
-
this.updateLayoutCache();
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
showArea(area) {
|
|
145
|
-
const item = this.areas.find(a => a.component === area);
|
|
146
|
-
if (item) {
|
|
147
|
-
this.refresh();
|
|
148
|
-
this.updateLayoutCache();
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
isLastVisibleArea(area) {
|
|
152
|
-
const visibleAreas = this.visibleAreas;
|
|
153
|
-
return visibleAreas.length > 0 ? area === visibleAreas[visibleAreas.length - 1] : false;
|
|
154
|
-
}
|
|
155
|
-
refresh() {
|
|
156
|
-
this.stopDragging();
|
|
157
|
-
const visibleAreas = this.visibleAreas;
|
|
158
|
-
// ORDERS: Set css 'order' property depending on user input or added order
|
|
159
|
-
const nbCorrectOrder = this.areas.filter(a => a.orderUser !== null && !isNaN(a.orderUser)).length;
|
|
160
|
-
if (nbCorrectOrder === this.areas.length) {
|
|
161
|
-
this.areas.sort((a, b) => +a.orderUser - +b.orderUser);
|
|
162
|
-
}
|
|
163
|
-
this.areas.forEach((a, i) => {
|
|
164
|
-
a.order = i * 2;
|
|
165
|
-
a.component.setStyle('order', a.order);
|
|
166
|
-
});
|
|
167
|
-
// SIZES: Set css 'flex-basis' property depending on user input or equal sizes
|
|
168
|
-
const nbCorrectSize = s => s !== null && !isNaN(s) && s >= this.minPercent ? Number(s) : Number((100 / visibleAreas.length).toFixed(3));
|
|
169
|
-
const totalSize = visibleAreas.map(a => a.sizeUser).reduce((acc, s) => acc + nbCorrectSize(s), 0);
|
|
170
|
-
visibleAreas.forEach(a => a.size = nbCorrectSize(a.sizeUser));
|
|
171
|
-
if (Math.round(totalSize) !== 100 && visibleAreas.length) {
|
|
172
|
-
const last = visibleAreas[visibleAreas.length - 1];
|
|
173
|
-
last.size = last.size - totalSize + 100;
|
|
174
|
-
}
|
|
175
|
-
this.refreshStyleSizes();
|
|
176
|
-
this.cdRef.markForCheck();
|
|
177
|
-
}
|
|
178
|
-
refreshStyleSizes() {
|
|
179
|
-
//this._ngZone.run(() => {
|
|
180
|
-
const visibleAreas = this.visibleAreas;
|
|
181
|
-
const f = this.gutterSize * this.nbGutters / visibleAreas.length;
|
|
182
|
-
visibleAreas.forEach(a => a.component.setStyle('flex-basis', `calc( ${a.size}% - ${f}px )`));
|
|
183
|
-
//});
|
|
184
|
-
//});
|
|
185
|
-
}
|
|
186
|
-
startDragging(startEvent, gutterOrder) {
|
|
187
|
-
startEvent.preventDefault();
|
|
188
|
-
if (this.disabled) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const areaA = this.visibleAreas.filter(a => a.order < gutterOrder).pop();
|
|
192
|
-
const areaB = this.visibleAreas.filter(a => a.order > gutterOrder)[0];
|
|
193
|
-
if (!areaA || !areaB) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
const prop = (this.direction === 'horizontal') ? 'offsetWidth' : 'offsetHeight';
|
|
197
|
-
this.containerSize = this.elementRef.nativeElement[prop];
|
|
198
|
-
this.areaASize = this.containerSize * areaA.size / 100;
|
|
199
|
-
this.areaBSize = this.containerSize * areaB.size / 100;
|
|
200
|
-
let start;
|
|
201
|
-
if (startEvent instanceof MouseEvent) {
|
|
202
|
-
start = {
|
|
203
|
-
x: startEvent.screenX,
|
|
204
|
-
y: startEvent.screenY
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
else if (startEvent instanceof TouchEvent) {
|
|
208
|
-
start = {
|
|
209
|
-
x: startEvent.touches[0].screenX,
|
|
210
|
-
y: startEvent.touches[0].screenY
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
this._ngZone.runOutsideAngular(_ => {
|
|
217
|
-
this.eventsDragFct.push(this.renderer.listen('document', 'mousemove', e => this.dragEvent(e, start, areaA, areaB)));
|
|
218
|
-
this.eventsDragFct.push(this.renderer.listen('document', 'touchmove', e => this.dragEvent(e, start, areaA, areaB)));
|
|
219
|
-
this.eventsDragFct.push(this.renderer.listen('document', 'mouseup', e => this.stopDragging()));
|
|
220
|
-
this.eventsDragFct.push(this.renderer.listen('document', 'touchend', e => this.stopDragging()));
|
|
221
|
-
this.eventsDragFct.push(this.renderer.listen('document', 'touchcancel', e => this.stopDragging()));
|
|
222
|
-
});
|
|
223
|
-
areaA.component.lockEvents();
|
|
224
|
-
areaB.component.lockEvents();
|
|
225
|
-
this.isDragging = true;
|
|
226
|
-
this.notify('start');
|
|
227
|
-
}
|
|
228
|
-
dragEvent(event, start, areaA, areaB) {
|
|
229
|
-
if (!this.isDragging) {
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
let end;
|
|
233
|
-
if (event instanceof MouseEvent) {
|
|
234
|
-
end = {
|
|
235
|
-
x: event.screenX,
|
|
236
|
-
y: event.screenY
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
else if (event instanceof TouchEvent) {
|
|
240
|
-
end = {
|
|
241
|
-
x: event.touches[0].screenX,
|
|
242
|
-
y: event.touches[0].screenY
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
this.drag(start, end, areaA, areaB);
|
|
249
|
-
}
|
|
250
|
-
drag(start, end, areaA, areaB) {
|
|
251
|
-
const offsetPixel = (this.direction === 'horizontal') ? (start.x - end.x) : (start.y - end.y);
|
|
252
|
-
const newSizePixelA = this.areaASize - offsetPixel * this.directionIndex;
|
|
253
|
-
const newSizePixelB = this.areaBSize + offsetPixel * this.directionIndex;
|
|
254
|
-
if (newSizePixelA <= areaA.minPixel || newSizePixelB < areaB.minPixel) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
let newSizePercentA = newSizePixelA / this.containerSize * 100;
|
|
258
|
-
let newSizePercentB = newSizePixelB / this.containerSize * 100;
|
|
259
|
-
if (newSizePercentA <= this.minPercent) {
|
|
260
|
-
newSizePercentA = this.minPercent;
|
|
261
|
-
newSizePercentB = areaA.size + areaB.size - this.minPercent;
|
|
262
|
-
}
|
|
263
|
-
else if (newSizePercentB <= this.minPercent) {
|
|
264
|
-
newSizePercentB = this.minPercent;
|
|
265
|
-
newSizePercentA = areaA.size + areaB.size - this.minPercent;
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
newSizePercentA = Number(newSizePercentA.toFixed(3));
|
|
269
|
-
newSizePercentB = Number((areaA.size + areaB.size - newSizePercentA).toFixed(3));
|
|
270
|
-
}
|
|
271
|
-
areaA.size = newSizePercentA;
|
|
272
|
-
areaB.size = newSizePercentB;
|
|
273
|
-
if (this.areas.length === this.visibleAreas.length) {
|
|
274
|
-
areaA.sizeUser = newSizePercentA;
|
|
275
|
-
areaB.sizeUser = newSizePercentB;
|
|
276
|
-
}
|
|
277
|
-
this.refreshStyleSizes();
|
|
278
|
-
this.notify('progress');
|
|
279
|
-
}
|
|
280
|
-
stopDragging() {
|
|
281
|
-
if (!this.isDragging) {
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
this.areas.forEach(a => a.component.unlockEvents());
|
|
285
|
-
while (this.eventsDragFct.length > 0) {
|
|
286
|
-
const fct = this.eventsDragFct.pop();
|
|
287
|
-
if (fct) {
|
|
288
|
-
fct();
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
this.containerSize = 0;
|
|
292
|
-
this.areaASize = 0;
|
|
293
|
-
this.areaBSize = 0;
|
|
294
|
-
this.updateLayoutCache();
|
|
295
|
-
this.isDragging = false;
|
|
296
|
-
this.notify('end');
|
|
297
|
-
}
|
|
298
|
-
notify(type) {
|
|
299
|
-
const data = this.visibleAreas.map(a => a.size);
|
|
300
|
-
switch (type) {
|
|
301
|
-
case 'start':
|
|
302
|
-
return this.dragStart.emit(data);
|
|
303
|
-
case 'progress':
|
|
304
|
-
return this.dragProgress.emit(data);
|
|
305
|
-
case 'end':
|
|
306
|
-
return this.dragEnd.emit(data);
|
|
307
|
-
case 'visibleTransitionEnd':
|
|
308
|
-
return this.visibleTransitionEndInternal.next(data);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
updateLayoutCache() {
|
|
312
|
-
if (this.cacheLayout) {
|
|
313
|
-
let layout = this.areas.map((a, i) => ({ index: i, size: a.size, visible: a.component.visible }));
|
|
314
|
-
this.layoutService.cacheLayout(`eo.split.layout.${this.cacheLayout}`, layout);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
ngOnDestroy() {
|
|
318
|
-
this.stopDragging();
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
SplitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SplitComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LayoutService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
322
|
-
SplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SplitComponent, selector: "eo-split", inputs: { direction: "direction", switchable: "switchable", width: "width", height: "height", gutterSize: "gutterSize", gutterColor: "gutterColor", disabled: "disabled", visibleTransition: "visibleTransition", applyCacheLayout: "applyCacheLayout", cacheLayout: "cacheLayout" }, outputs: { dragStart: "dragStart", dragProgress: "dragProgress", dragEnd: "dragEnd", visibleTransitionEnd: "visibleTransitionEnd" }, host: { properties: { "class.vertical": "this.styleFlexDirection", "style.flex-direction": "this.styleFlexDirectionStyle", "class.notransition": "this.dragging", "style.width": "this.styleWidth", "style.height": "this.styleHeight", "class.dragging": "this.isDragging" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <div eoSplitGutter *ngIf=\"last === false && area.component.visible === true && !isLastVisibleArea(area)\"\n [order]=\"index*2+1\"\n [style.background-color]=\"gutterColor ? gutterColor : 'transparent'\"\n [direction]=\"direction\"\n [size]=\"gutterSize\"\n [disabled]=\"disabled\"\n (mousedown)=\"startDragging($event, index*2+1)\"\n (dblclick)=\"toggleDirection()\"\n (touchstart)=\"startDragging($event, index*2+1)\"></div>\n</ng-template>\n", styles: [":host{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;flex-direction:row}:host.vertical{flex-direction:column}:host.vertical div[eosplitgutter]{width:100%}div[eosplitgutter]{flex-grow:0;flex-shrink:0;background-position:center center;background-repeat:no-repeat}:host ::ng-deep eo-split-area{transition:flex-basis .3s;position:relative;min-width:0}:host ::ng-deep eo-split-area:not(.visible){flex-basis:0!important;flex-grow:0!important;overflow:hidden!important}:host.dragging ::ng-deep eo-split-area:before{content:\"\";z-index:5;position:absolute;inset:0}:host.notransition ::ng-deep eo-split-area{transition:none!important}:host.vertical ::ng-deep eo-split-area:not(.visible){max-width:0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.SplitGutterDirective, selector: "[eoSplitGutter]", inputs: ["order", "direction", "size", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
323
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SplitComponent, decorators: [{
|
|
324
|
-
type: Component,
|
|
325
|
-
args: [{ selector: 'eo-split', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <div eoSplitGutter *ngIf=\"last === false && area.component.visible === true && !isLastVisibleArea(area)\"\n [order]=\"index*2+1\"\n [style.background-color]=\"gutterColor ? gutterColor : 'transparent'\"\n [direction]=\"direction\"\n [size]=\"gutterSize\"\n [disabled]=\"disabled\"\n (mousedown)=\"startDragging($event, index*2+1)\"\n (dblclick)=\"toggleDirection()\"\n (touchstart)=\"startDragging($event, index*2+1)\"></div>\n</ng-template>\n", styles: [":host{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;flex-direction:row}:host.vertical{flex-direction:column}:host.vertical div[eosplitgutter]{width:100%}div[eosplitgutter]{flex-grow:0;flex-shrink:0;background-position:center center;background-repeat:no-repeat}:host ::ng-deep eo-split-area{transition:flex-basis .3s;position:relative;min-width:0}:host ::ng-deep eo-split-area:not(.visible){flex-basis:0!important;flex-grow:0!important;overflow:hidden!important}:host.dragging ::ng-deep eo-split-area:before{content:\"\";z-index:5;position:absolute;inset:0}:host.notransition ::ng-deep eo-split-area{transition:none!important}:host.vertical ::ng-deep eo-split-area:not(.visible){max-width:0}\n"] }]
|
|
326
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.LayoutService }, { type: i2.UserService }]; }, propDecorators: { direction: [{
|
|
327
|
-
type: Input
|
|
328
|
-
}], switchable: [{
|
|
329
|
-
type: Input
|
|
330
|
-
}], width: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], height: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}], gutterSize: [{
|
|
335
|
-
type: Input
|
|
336
|
-
}], gutterColor: [{
|
|
337
|
-
type: Input
|
|
338
|
-
}], disabled: [{
|
|
339
|
-
type: Input
|
|
340
|
-
}], visibleTransition: [{
|
|
341
|
-
type: Input
|
|
342
|
-
}], dragStart: [{
|
|
343
|
-
type: Output
|
|
344
|
-
}], dragProgress: [{
|
|
345
|
-
type: Output
|
|
346
|
-
}], dragEnd: [{
|
|
347
|
-
type: Output
|
|
348
|
-
}], visibleTransitionEnd: [{
|
|
349
|
-
type: Output
|
|
350
|
-
}], styleFlexDirection: [{
|
|
351
|
-
type: HostBinding,
|
|
352
|
-
args: ['class.vertical']
|
|
353
|
-
}], styleFlexDirectionStyle: [{
|
|
354
|
-
type: HostBinding,
|
|
355
|
-
args: ['style.flex-direction']
|
|
356
|
-
}], dragging: [{
|
|
357
|
-
type: HostBinding,
|
|
358
|
-
args: ['class.notransition']
|
|
359
|
-
}], styleWidth: [{
|
|
360
|
-
type: HostBinding,
|
|
361
|
-
args: ['style.width']
|
|
362
|
-
}], styleHeight: [{
|
|
363
|
-
type: HostBinding,
|
|
364
|
-
args: ['style.height']
|
|
365
|
-
}], isDragging: [{
|
|
366
|
-
type: HostBinding,
|
|
367
|
-
args: ['class.dragging']
|
|
368
|
-
}], applyCacheLayout: [{
|
|
369
|
-
type: Input
|
|
370
|
-
}], cacheLayout: [{
|
|
371
|
-
type: Input
|
|
372
|
-
}] } });
|
|
373
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc3BsaXQvc3BsaXQvc3BsaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc3BsaXQvc3BsaXQvc3BsaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsU0FBUyxFQUF3Qix1QkFBdUIsRUFDbEIsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUMvRSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sOENBQThDLENBQUM7Ozs7OztBQXVCbEYsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBb0I7SUFpQnRELElBQW1DLGtCQUFrQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUF5Qyx1QkFBdUI7UUFDOUQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQXVDLFFBQVE7UUFDN0MsMEVBQTBFO1FBQzFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBZ0MsVUFBVTtRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMs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Z0JBV3BCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0YWtlVW50aWwsIGRlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQsIE5nWm9uZSwgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1VzZXJTZXJ2aWNlLCBFb1VzZXIsIEFwcENhY2hlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7U3BsaXRBcmVhQ29tcG9uZW50fSBmcm9tICcuLi9zcGxpdC1hcmVhL3NwbGl0LWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3l9IGZyb20gJy4uLy4uL3V0aWwvdW5zdWJzY3JpYmUvdW5zdWJzY3JpYmUuY29tcG9uZW50JztcbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvbGF5b3V0L2xheW91dC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQXJlYURhdGEge1xuICBjb21wb25lbnQ6IFNwbGl0QXJlYUNvbXBvbmVudDtcbiAgc2l6ZVVzZXI6IG51bWJlciB8IG51bGw7XG4gIHNpemU6IG51bWJlcjtcbiAgb3JkZXJVc2VyOiBudW1iZXIgfCBudWxsO1xuICBvcmRlcjogbnVtYmVyO1xuICBtaW5QaXhlbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXNwbGl0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwbGl0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3BsaXRDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBkaXJlY3Rpb24gPSAnaG9yaXpvbnRhbCc7XG4gIEBJbnB1dCgpIHN3aXRjaGFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIGd1dHRlclNpemUgPSAxMDtcbiAgQElucHV0KCkgZ3V0dGVyQ29sb3I6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgdmlzaWJsZVRyYW5zaXRpb24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgZHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxudW1iZXI+PihmYWxzZSk7XG4gIEBPdXRwdXQoKSBkcmFnUHJvZ3Jlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PG51bWJlcj4+KGZhbHNlKTtcbiAgQE91dHB1dCgpIGRyYWdFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PG51bWJlcj4+KGZhbHNlKTtcbiAgdmlzaWJsZVRyYW5zaXRpb25FbmRJbnRlcm5hbCA9IG5ldyBTdWJqZWN0PEFycmF5PG51bWJlcj4+KCk7XG4gIEBPdXRwdXQoKSB2aXNpYmxlVHJhbnNpdGlvbkVuZDogT2JzZXJ2YWJsZTxBcnJheTxudW1iZXI+PiA9IHRoaXMudmlzaWJsZVRyYW5zaXRpb25FbmRJbnRlcm5hbC5hc09ic2VydmFibGUoKS5waXBlKGRlYm91bmNlVGltZSgyMCkpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmVydGljYWwnKSBnZXQgc3R5bGVGbGV4RGlyZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZmxleC1kaXJlY3Rpb24nKSBnZXQgc3R5bGVGbGV4RGlyZWN0aW9uU3R5bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAncm93JyA6ICdjb2x1bW4nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub3RyYW5zaXRpb24nKSBnZXQgZHJhZ2dpbmcoKSB7XG4gICAgLy8gcHJldmVudCBhbmltYXRpb24gb2YgYXJlYXMgd2hlbiB2aXNpYmxlVHJhbnNpdGlvbiBpcyBmYWxzZSwgb3IgcmVzaXppbmdcbiAgICByZXR1cm4gIXRoaXMudmlzaWJsZVRyYW5zaXRpb24gfHwgdGhpcy5pc0RyYWdnaW5nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCBzdHlsZVdpZHRoKCkge1xuICAgIHJldHVybiAodGhpcy53aWR0aCAmJiAhaXNOYU4odGhpcy53aWR0aCkgJiYgdGhpcy53aWR0aCA+IDApID8gdGhpcy53aWR0aCArICdweCcgOiAnMTAwJSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGdldCBzdHlsZUhlaWdodCgpIHtcbiAgICByZXR1cm4gKHRoaXMuaGVpZ2h0ICYmICFpc05hTih0aGlzLmhlaWdodCkgJiYgdGhpcy5oZWlnaHQgPiAwKSA/IHRoaXMuaGVpZ2h0ICsgJ3B4JyA6ICcxMDAlJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHZpc2libGVBcmVhcygpOiBJQXJlYURhdGFbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXJlYXMuZmlsdGVyKGEgPT4gYS5jb21wb25lbnQudmlzaWJsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBuYkd1dHRlcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlQXJlYXMubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHB1YmxpYyBhcmVhczogQXJyYXk8SUFyZWFEYXRhPiA9IFtdO1xuICBwcml2YXRlIG1pblBlcmNlbnQgPSA1O1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyYWdnaW5nJylcbiAgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwcml2YXRlIGNvbnRhaW5lclNpemUgPSAwO1xuICBwcml2YXRlIGFyZWFBU2l6ZSA9IDA7XG4gIHByaXZhdGUgYXJlYUJTaXplID0gMDtcbiAgcHJpdmF0ZSBkaXJlY3Rpb25JbmRleCA9IDE7XG4gIHByaXZhdGUgZXZlbnRzRHJhZ0ZjdDogQXJyYXk8RnVuY3Rpb24+ID0gW107XG5cbiAgcHJpdmF0ZSBfY2FjaGVMYXlvdXQ6IGFueSA9IGZhbHNlO1xuICBwcml2YXRlIF9hZnRlclZpZXdJbml0ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYXBwbHlDYWNoZUxheW91dCA9IHRydWU7XG5cbiAgQElucHV0KCkgc2V0IGNhY2hlTGF5b3V0KHZhbDogYW55KSB7XG4gICAgaWYgKHRoaXMuYXBwbHlDYWNoZUxheW91dCkge1xuICAgICAgKHZhbCAmJiB2YWwuc3Vic2NyaWJlID8gdmFsIDogb2JzZXJ2YWJsZU9mKHZhbCkpXG4gICAgICAgIC5zdWJzY3JpYmUoY2FjaGVMYXlvdXQgPT4ge1xuICAgICAgICAgIHRoaXMuX2NhY2hlTGF5b3V0ID0gY2FjaGVMYXlvdXQ7XG4gICAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNhY2hlTGF5b3V0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlTGF5b3V0O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpLnN1YnNjcmliZSgodXNlcjogRW9Vc2VyKSA9PiB7XG4gICAgICB0aGlzLmRpcmVjdGlvbkluZGV4ID0gKHVzZXIudWlEaXJlY3Rpb24gPT09ICdydGwnKSA/IC0xIDogMTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZURpcmVjdGlvbigpe1xuICAgIGlmKHRoaXMuc3dpdGNoYWJsZSl7XG4gICAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCkge1xuICAgIGlmICh0aGlzLl9hZnRlclZpZXdJbml0ICYmIHRoaXMuY2FjaGVMYXlvdXQpIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5nZXRMYXlvdXQoYGVvLnNwbGl0LmxheW91dC4ke3RoaXMuY2FjaGVMYXlvdXR9YClcbiAgICAgICAgLnN1YnNjcmliZShsYXlvdXQgPT4ge1xuICAgICAgICAgIChsYXlvdXQgfHwgW10pLmZvckVhY2goKGFyZWEpID0+IHtcbiAgICAgICAgICAgIGlmIChhcmVhICYmIHRoaXMuYXJlYXMubGVuZ3RoID4gYXJlYS5pbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLmFyZWFzW2FyZWEuaW5kZXhdLnNpemUgPSBhcmVhLnNpemU7XG4gICAgICAgICAgICAgIHRoaXMuYXJlYXNbYXJlYS5pbmRleF0uc2l6ZVVzZXIgPSBhcmVhLnNpemU7XG4gICAgICAgICAgICAgIHRoaXMuYXJlYXNbYXJlYS5pbmRleF0uY29tcG9uZW50LnZpc2libGUgPSBhcmVhLnZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnZpc2liaWxpdHlVcGRhdGUoKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hTdHlsZVNpemVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9hZnRlclZpZXdJbml0ID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snZ3V0dGVyU2l6ZSddIHx8IGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRBcmVhKGNvbXBvbmVudDogU3BsaXRBcmVhQ29tcG9uZW50LCBvcmRlclVzZXI6IG51bWJlciB8IG51bGwsIHNpemVVc2VyOiBudW1iZXIgfCBudWxsLCBtaW5QaXhlbDogbnVtYmVyKSB7XG4gICAgdGhpcy5hcmVhcy5wdXNoKHtcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIG9yZGVyVXNlcixcbiAgICAgIG9yZGVyOiAtMSxcbiAgICAgIHNpemVVc2VyLFxuICAgICAgc2l6ZTogLTEsXG4gICAgICBtaW5QaXhlbFxuICAgIH0pO1xuXG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQXJlYShjb21wb25lbnQ6IFNwbGl0QXJlYUNvbXBvbmVudCwgb3JkZXJVc2VyOiBudW1iZXIgfCBudWxsLCBzaXplVXNlcjogbnVtYmVyIHwgbnVsbCwgbWluUGl4ZWw6IG51bWJlcikge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmFyZWFzLmZpbmQoYSA9PiBhLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICBpdGVtLm9yZGVyVXNlciA9IG9yZGVyVXNlcjtcbiAgICAgIGl0ZW0uc2l6ZVVzZXIgPSBzaXplVXNlcjtcbiAgICAgIGl0ZW0ubWluUGl4ZWwgPSBtaW5QaXhlbDtcblxuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUFyZWEoYXJlYTogU3BsaXRBcmVhQ29tcG9uZW50KSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuYXJlYXMuZmluZChhID0+IGEuY29tcG9uZW50ID09PSBhcmVhKTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuYXJlYXMuaW5kZXhPZihpdGVtKTtcbiAgICAgIHRoaXMuYXJlYXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuYXJlYXMuZm9yRWFjaCgoYSwgaSkgPT4gYS5vcmRlciA9IGkgKiAyKTtcblxuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGVBcmVhKGFyZWE6IFNwbGl0QXJlYUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmFyZWFzLmZpbmQoYSA9PiBhLmNvbXBvbmVudCA9PT0gYXJlYSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxheW91dENhY2hlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dBcmVhKGFyZWE6IFNwbGl0QXJlYUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmFyZWFzLmZpbmQoYSA9PiBhLmNvbXBvbmVudCA9PT0gYXJlYSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxheW91dENhY2hlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzTGFzdFZpc2libGVBcmVhKGFyZWE6IElBcmVhRGF0YSkge1xuICAgIGNvbnN0IHZpc2libGVBcmVhcyA9IHRoaXMudmlzaWJsZUFyZWFzO1xuICAgIHJldHVybiB2aXNpYmxlQXJlYXMubGVuZ3RoID4gMCA/IGFyZWEgPT09IHZpc2libGVBcmVhc1t2aXNpYmxlQXJlYXMubGVuZ3RoIC0gMV0gOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnN0b3BEcmFnZ2luZygpO1xuXG4gICAgY29uc3QgdmlzaWJsZUFyZWFzID0gdGhpcy52aXNpYmxlQXJlYXM7XG5cbiAgICAvLyBPUkRFUlM6IFNldCBjc3MgJ29yZGVyJyBwcm9wZXJ0eSBkZXBlbmRpbmcgb24gdXNlciBpbnB1dCBvciBhZGRlZCBvcmRlclxuICAgIGNvbnN0IG5iQ29ycmVjdE9yZGVyID0gdGhpcy5hcmVhcy5maWx0ZXIoYSA9PiBhLm9yZGVyVXNlciAhPT0gbnVsbCAmJiAhaXNOYU4oYS5vcmRlclVzZXIpKS5sZW5ndGg7XG4gICAgaWYgKG5iQ29ycmVjdE9yZGVyID09PSB0aGlzLmFyZWFzLmxlbmd0aCkge1xuICAgICAgdGhpcy5hcmVhcy5zb3J0KChhLCBiKSA9PiArYS5vcmRlclVzZXIgLSArYi5vcmRlclVzZXIpO1xuICAgIH1cblxuICAgIHRoaXMuYXJlYXMuZm9yRWFjaCgoYSwgaSkgPT4ge1xuICAgICAgYS5vcmRlciA9IGkgKiAyO1xuICAgICAgYS5jb21wb25lbnQuc2V0U3R5bGUoJ29yZGVyJywgYS5vcmRlcik7XG4gICAgfSk7XG5cbiAgICAvLyBTSVpFUzogU2V0IGNzcyAnZmxleC1iYXNpcycgcHJvcGVydHkgZGVwZW5kaW5nIG9uIHVzZXIgaW5wdXQgb3IgZXF1YWwgc2l6ZXNcbiAgICBjb25zdCBuYkNvcnJlY3RTaXplID0gcyA9PiBzICE9PSBudWxsICYmICFpc05hTihzKSAmJiBzID49IHRoaXMubWluUGVyY2VudCA/IE51bWJlcihzKSA6IE51bWJlcigoMTAwIC8gdmlzaWJsZUFyZWFzLmxlbmd0aCkudG9GaXhlZCgzKSk7XG4gICAgY29uc3QgdG90YWxTaXplID0gdmlzaWJsZUFyZWFzLm1hcChhID0+IGEuc2l6ZVVzZXIpLnJlZHVjZSgoYWNjLCBzKSA9PiBhY2MgKyBuYkNvcnJlY3RTaXplKHMpLCAwKTtcblxuICAgIHZpc2libGVBcmVhcy5mb3JFYWNoKGEgPT4gYS5zaXplID0gbmJDb3JyZWN0U2l6ZShhLnNpemVVc2VyKSk7XG5cbiAgICBpZiAoTWF0aC5yb3VuZCh0b3RhbFNpemUpICE9PSAxMDAgJiYgdmlzaWJsZUFyZWFzLmxlbmd0aCkge1xuICAgICAgY29uc3QgbGFzdCA9IHZpc2libGVBcmVhc1t2aXNpYmxlQXJlYXMubGVuZ3RoIC0gMV07XG4gICAgICBsYXN0LnNpemUgPSBsYXN0LnNpemUgLSB0b3RhbFNpemUgKyAxMDA7XG4gICAgfVxuXG4gICAgdGhpcy5yZWZyZXNoU3R5bGVTaXplcygpO1xuICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hTdHlsZVNpemVzKCkge1xuICAgIC8vdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgY29uc3QgdmlzaWJsZUFyZWFzID0gdGhpcy52aXNpYmxlQXJlYXM7XG5cbiAgICBjb25zdCBmID0gdGhpcy5ndXR0ZXJTaXplICogdGhpcy5uYkd1dHRlcnMgLyB2aXNpYmxlQXJlYXMubGVuZ3RoO1xuICAgIHZpc2libGVBcmVhcy5mb3JFYWNoKGEgPT4gYS5jb21wb25lbnQuc2V0U3R5bGUoJ2ZsZXgtYmFzaXMnLCBgY2FsYyggJHthLnNpemV9JSAtICR7Zn1weCApYCkpO1xuICAgIC8vfSk7XG4gICAgLy99KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydERyYWdnaW5nKHN0YXJ0RXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LCBndXR0ZXJPcmRlcjogbnVtYmVyKSB7XG4gICAgc3RhcnRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcmVhQSA9IHRoaXMudmlzaWJsZUFyZWFzLmZpbHRlcihhID0+IGEub3JkZXIgPCBndXR0ZXJPcmRlcikucG9wKCk7XG4gICAgY29uc3QgYXJlYUIgPSB0aGlzLnZpc2libGVBcmVhcy5maWx0ZXIoYSA9PiBhLm9yZGVyID4gZ3V0dGVyT3JkZXIpWzBdO1xuICAgIGlmICghYXJlYUEgfHwgIWFyZWFCKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcCA9ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSA/ICdvZmZzZXRXaWR0aCcgOiAnb2Zmc2V0SGVpZ2h0JztcbiAgICB0aGlzLmNvbnRhaW5lclNpemUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFtwcm9wXTtcbiAgICB0aGlzLmFyZWFBU2l6ZSA9IHRoaXMuY29udGFpbmVyU2l6ZSAqIGFyZWFBLnNpemUgLyAxMDA7XG4gICAgdGhpcy5hcmVhQlNpemUgPSB0aGlzLmNvbnRhaW5lclNpemUgKiBhcmVhQi5zaXplIC8gMTAwO1xuXG4gICAgbGV0IHN0YXJ0OiBQb2ludDtcbiAgICBpZiAoc3RhcnRFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcbiAgICAgIHN0YXJ0ID0ge1xuICAgICAgICB4OiBzdGFydEV2ZW50LnNjcmVlblgsXG4gICAgICAgIHk6IHN0YXJ0RXZlbnQuc2NyZWVuWVxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0RXZlbnQgaW5zdGFuY2VvZiBUb3VjaEV2ZW50KSB7XG4gICAgICBzdGFydCA9IHtcbiAgICAgICAgeDogc3RhcnRFdmVudC50b3VjaGVzWzBdLnNjcmVlblgsXG4gICAgICAgIHk6IHN0YXJ0RXZlbnQudG91Y2hlc1swXS5zY3JlZW5ZXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXyA9PiB7XG4gICAgICB0aGlzLmV2ZW50c0RyYWdGY3QucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2Vtb3ZlJywgZSA9PiB0aGlzLmRyYWdFdmVudChlLCBzdGFydCwgYXJlYUEsIGFyZWFCKSkpO1xuICAgICAgdGhpcy5ldmVudHNEcmFnRmN0LnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ3RvdWNobW92ZScsIGUgPT4gdGhpcy5kcmFnRXZlbnQoZSwgc3RhcnQsIGFyZWFBLCBhcmVhQikpKTtcbiAgICAgIHRoaXMuZXZlbnRzRHJhZ0ZjdC5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdtb3VzZXVwJywgZSA9PiB0aGlzLnN0b3BEcmFnZ2luZygpKSk7XG4gICAgICB0aGlzLmV2ZW50c0RyYWdGY3QucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2hlbmQnLCBlID0+IHRoaXMuc3RvcERyYWdnaW5nKCkpKTtcbiAgICAgIHRoaXMuZXZlbnRzRHJhZ0ZjdC5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICd0b3VjaGNhbmNlbCcsIGUgPT4gdGhpcy5zdG9wRHJhZ2dpbmcoKSkpO1xuICAgIH0pO1xuXG4gICAgYXJlYUEuY29tcG9uZW50LmxvY2tFdmVudHMoKTtcbiAgICBhcmVhQi5jb21wb25lbnQubG9ja0V2ZW50cygpO1xuXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5vdGlmeSgnc3RhcnQnKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhZ0V2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgc3RhcnQ6IFBvaW50LCBhcmVhQTogSUFyZWFEYXRhLCBhcmVhQjogSUFyZWFEYXRhKSB7XG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZW5kOiBQb2ludDtcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XG4gICAgICBlbmQgPSB7XG4gICAgICAgIHg6IGV2ZW50LnNjcmVlblgsXG4gICAgICAgIHk6IGV2ZW50LnNjcmVlbllcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpIHtcbiAgICAgIGVuZCA9IHtcbiAgICAgICAgeDogZXZlbnQudG91Y2hlc1swXS5zY3JlZW5YLFxuICAgICAgICB5OiBldmVudC50b3VjaGVzWzBdLnNjcmVlbllcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRyYWcoc3RhcnQsIGVuZCwgYXJlYUEsIGFyZWFCKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhZyhzdGFydDogUG9pbnQsIGVuZDogUG9pbnQsIGFyZWFBOiBJQXJlYURhdGEsIGFyZWFCOiBJQXJlYURhdGEpIHtcbiAgICBjb25zdCBvZmZzZXRQaXhlbCA9ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSA/IChzdGFydC54IC0gZW5kLngpIDogKHN0YXJ0LnkgLSBlbmQueSk7XG5cbiAgICBjb25zdCBuZXdTaXplUGl4ZWxBID0gdGhpcy5hcmVhQVNpemUgLSBvZmZzZXRQaXhlbCAqIHRoaXMuZGlyZWN0aW9uSW5kZXg7XG4gICAgY29uc3QgbmV3U2l6ZVBpeGVsQiA9IHRoaXMuYXJlYUJTaXplICsgb2Zmc2V0UGl4ZWwgKiB0aGlzLmRpcmVjdGlvbkluZGV4O1xuXG4gICAgaWYgKG5ld1NpemVQaXhlbEEgPD0gYXJlYUEubWluUGl4ZWwgfHwgbmV3U2l6ZVBpeGVsQiA8IGFyZWFCLm1pblBpeGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG5ld1NpemVQZXJjZW50QSA9IG5ld1NpemVQaXhlbEEgLyB0aGlzLmNvbnRhaW5lclNpemUgKiAxMDA7XG4gICAgbGV0IG5ld1NpemVQZXJjZW50QiA9IG5ld1NpemVQaXhlbEIgLyB0aGlzLmNvbnRhaW5lclNpemUgKiAxMDA7XG5cbiAgICBpZiAobmV3U2l6ZVBlcmNlbnRBIDw9IHRoaXMubWluUGVyY2VudCkge1xuICAgICAgbmV3U2l6ZVBlcmNlbnRBID0gdGhpcy5taW5QZXJjZW50O1xuICAgICAgbmV3U2l6ZVBlcmNlbnRCID0gYXJlYUEuc2l6ZSArIGFyZWFCLnNpemUgLSB0aGlzLm1pblBlcmNlbnQ7XG4gICAgfSBlbHNlIGlmIChuZXdTaXplUGVyY2VudEIgPD0gdGhpcy5taW5QZXJjZW50KSB7XG4gICAgICBuZXdTaXplUGVyY2VudEIgPSB0aGlzLm1pblBlcmNlbnQ7XG4gICAgICBuZXdTaXplUGVyY2VudEEgPSBhcmVhQS5zaXplICsgYXJlYUIuc2l6ZSAtIHRoaXMubWluUGVyY2VudDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2l6ZVBlcmNlbnRBID0gTnVtYmVyKG5ld1NpemVQZXJjZW50QS50b0ZpeGVkKDMpKTtcbiAgICAgIG5ld1NpemVQZXJjZW50QiA9IE51bWJlcigoYXJlYUEuc2l6ZSArIGFyZWFCLnNpemUgLSBuZXdTaXplUGVyY2VudEEpLnRvRml4ZWQoMykpO1xuICAgIH1cblxuICAgIGFyZWFBLnNpemUgPSBuZXdTaXplUGVyY2VudEE7XG4gICAgYXJlYUIuc2l6ZSA9IG5ld1NpemVQZXJjZW50QjtcbiAgICBpZiAodGhpcy5hcmVhcy5sZW5ndGggPT09IHRoaXMudmlzaWJsZUFyZWFzLmxlbmd0aCkge1xuICAgICAgYXJlYUEuc2l6ZVVzZXIgPSBuZXdTaXplUGVyY2VudEE7XG4gICAgICBhcmVhQi5zaXplVXNlciA9IG5ld1NpemVQZXJjZW50QjtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnJlc2hTdHlsZVNpemVzKCk7XG4gICAgdGhpcy5ub3RpZnkoJ3Byb2dyZXNzJyk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BEcmFnZ2luZygpIHtcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXJlYXMuZm9yRWFjaChhID0+IGEuY29tcG9uZW50LnVubG9ja0V2ZW50cygpKTtcblxuICAgIHdoaWxlICh0aGlzLmV2ZW50c0RyYWdGY3QubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmN0ID0gdGhpcy5ldmVudHNEcmFnRmN0LnBvcCgpO1xuICAgICAgaWYgKGZjdCkge1xuICAgICAgICBmY3QoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lclNpemUgPSAwO1xuICAgIHRoaXMuYXJlYUFTaXplID0gMDtcbiAgICB0aGlzLmFyZWFCU2l6ZSA9IDA7XG5cbiAgICB0aGlzLnVwZGF0ZUxheW91dENhY2hlKCk7XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm5vdGlmeSgnZW5kJyk7XG4gIH1cblxuICBub3RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZGF0YTogQXJyYXk8bnVtYmVyPiA9IHRoaXMudmlzaWJsZUFyZWFzLm1hcChhID0+IGEuc2l6ZSk7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ1N0YXJ0LmVtaXQoZGF0YSk7XG5cbiAgICAgIGNhc2UgJ3Byb2dyZXNzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ1Byb2dyZXNzLmVtaXQoZGF0YSk7XG5cbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHJldHVybiB0aGlzLmRyYWdFbmQuZW1pdChkYXRhKTtcblxuICAgICAgY2FzZSAndmlzaWJsZVRyYW5zaXRpb25FbmQnOlxuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlVHJhbnNpdGlvbkVuZEludGVybmFsLm5leHQoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGF5b3V0Q2FjaGUoKSB7ICAgIFxuICAgIGlmICh0aGlzLmNhY2hlTGF5b3V0KSB7XG4gICAgICBsZXQgbGF5b3V0ID0gdGhpcy5hcmVhcy5tYXAoKGEsIGkpID0+ICh7aW5kZXg6IGksIHNpemU6IGEuc2l6ZSwgdmlzaWJsZTogYS5jb21wb25lbnQudmlzaWJsZX0pKTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jYWNoZUxheW91dChgZW8uc3BsaXQubGF5b3V0LiR7dGhpcy5jYWNoZUxheW91dH1gLCBsYXlvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3BEcmFnZ2luZygpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYXJlYSBbbmdGb3JPZl09XCJhcmVhc1wiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LWxhc3Q9XCJsYXN0XCI+XG4gIDxkaXYgZW9TcGxpdEd1dHRlciAqbmdJZj1cImxhc3QgPT09IGZhbHNlICYmIGFyZWEuY29tcG9uZW50LnZpc2libGUgPT09IHRydWUgJiYgIWlzTGFzdFZpc2libGVBcmVhKGFyZWEpXCJcbiAgICAgICAgICAgICAgICBbb3JkZXJdPVwiaW5kZXgqMisxXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJndXR0ZXJDb2xvciA/IGd1dHRlckNvbG9yIDogJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cImd1dHRlclNpemVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydERyYWdnaW5nKCRldmVudCwgaW5kZXgqMisxKVwiXG4gICAgICAgICAgICAgICAgKGRibGNsaWNrKT1cInRvZ2dsZURpcmVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydERyYWdnaW5nKCRldmVudCwgaW5kZXgqMisxKVwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|