@ecodev/natural 41.3.0 → 42.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ecodev-natural.d.ts +1 -9
- package/esm2020/ecodev-natural.mjs +5 -0
- package/esm2020/lib/classes/abstract-controller.mjs +30 -0
- package/esm2020/lib/classes/abstract-detail.mjs +152 -0
- package/esm2020/lib/classes/abstract-editable-list.mjs +96 -0
- package/esm2020/lib/classes/abstract-list.mjs +406 -0
- package/esm2020/lib/classes/abstract-navigable-list.mjs +126 -0
- package/{esm2015/lib/classes/apollo-utils.js → esm2020/lib/classes/apollo-utils.mjs} +0 -0
- package/esm2020/lib/classes/data-source.mjs +76 -0
- package/{esm2015/lib/classes/query-variable-manager-utils.js → esm2020/lib/classes/query-variable-manager-utils.mjs} +0 -0
- package/esm2020/lib/classes/query-variable-manager.mjs +172 -0
- package/{esm2015/lib/classes/rxjs.js → esm2020/lib/classes/rxjs.mjs} +0 -0
- package/{esm2015/lib/classes/tld.js → esm2020/lib/classes/tld.mjs} +0 -0
- package/{esm2015/lib/classes/utility.js → esm2020/lib/classes/utility.mjs} +0 -0
- package/esm2020/lib/classes/validators.mjs +179 -0
- package/esm2020/lib/directives/http-prefix.directive.mjs +50 -0
- package/esm2020/lib/modules/alert/alert.module.mjs +20 -0
- package/esm2020/lib/modules/alert/alert.service.mjs +55 -0
- package/esm2020/lib/modules/alert/confirm.component.mjs +20 -0
- package/{esm2015/lib/modules/alert/public-api.js → esm2020/lib/modules/alert/public-api.mjs} +0 -0
- package/esm2020/lib/modules/avatar/avatar.module.mjs +19 -0
- package/esm2020/lib/modules/avatar/component/avatar.component.mjs +190 -0
- package/{esm2015/lib/modules/avatar/public-api.js → esm2020/lib/modules/avatar/public-api.mjs} +0 -0
- package/esm2020/lib/modules/avatar/service/avatar.service.mjs +66 -0
- package/esm2020/lib/modules/avatar/sources/gravatar.mjs +29 -0
- package/{esm2015/lib/modules/avatar/sources/image.js → esm2020/lib/modules/avatar/sources/image.mjs} +0 -0
- package/{esm2015/lib/modules/avatar/sources/initials.js → esm2020/lib/modules/avatar/sources/initials.mjs} +0 -0
- package/{esm2015/lib/modules/avatar/sources/source.js → esm2020/lib/modules/avatar/sources/source.mjs} +1 -1
- package/esm2020/lib/modules/columns-picker/columns-picker-column.directive.mjs +43 -0
- package/esm2020/lib/modules/columns-picker/columns-picker.component.mjs +84 -0
- package/esm2020/lib/modules/columns-picker/columns-picker.module.mjs +47 -0
- package/{esm2015/lib/modules/columns-picker/public-api.js → esm2020/lib/modules/columns-picker/public-api.mjs} +0 -0
- package/esm2020/lib/modules/common/common-module.mjs +50 -0
- package/esm2020/lib/modules/common/directives/linkable-tab.directive.mjs +79 -0
- package/esm2020/lib/modules/common/directives/src-density.directive.mjs +62 -0
- package/esm2020/lib/modules/common/pipes/capitalize.pipe.mjs +18 -0
- package/esm2020/lib/modules/common/pipes/ellipsis.pipe.mjs +14 -0
- package/esm2020/lib/modules/common/pipes/enum.pipe.mjs +25 -0
- package/esm2020/lib/modules/common/pipes/swiss-date.pipe.mjs +20 -0
- package/esm2020/lib/modules/common/public-api.mjs +13 -0
- package/esm2020/lib/modules/common/services/memory-storage.mjs +112 -0
- package/esm2020/lib/modules/common/services/seo.service.mjs +114 -0
- package/esm2020/lib/modules/detail-header/detail-header.component.mjs +76 -0
- package/esm2020/lib/modules/detail-header/detail-header.module.mjs +21 -0
- package/{esm2015/lib/modules/detail-header/public-api.js → esm2020/lib/modules/detail-header/public-api.mjs} +0 -0
- package/esm2020/lib/modules/dialog-trigger/dialog-trigger.component.mjs +69 -0
- package/esm2020/lib/modules/dialog-trigger/dialog-trigger.module.mjs +19 -0
- package/{esm2015/lib/modules/dialog-trigger/public-api.js → esm2020/lib/modules/dialog-trigger/public-api.mjs} +0 -0
- package/esm2020/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +98 -0
- package/esm2020/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +92 -0
- package/{esm2015/lib/modules/dropdown-components/public-api.js → esm2020/lib/modules/dropdown-components/public-api.mjs} +0 -0
- package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +133 -0
- package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +137 -0
- package/esm2020/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +69 -0
- package/esm2020/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +38 -0
- package/esm2020/lib/modules/dropdown-components/type-number/type-number.component.mjs +104 -0
- package/esm2020/lib/modules/dropdown-components/type-select/type-select.component.mjs +169 -0
- package/esm2020/lib/modules/dropdown-components/type-text/type-text.component.mjs +57 -0
- package/{esm2015/lib/modules/dropdown-components/types.js → esm2020/lib/modules/dropdown-components/types.mjs} +0 -0
- package/{esm2015/lib/modules/dropdown-components/utils.js → esm2020/lib/modules/dropdown-components/utils.mjs} +0 -0
- package/esm2020/lib/modules/file/abstract-file.mjs +231 -0
- package/esm2020/lib/modules/file/component/file.component.mjs +143 -0
- package/esm2020/lib/modules/file/file-drop.directive.mjs +110 -0
- package/esm2020/lib/modules/file/file-select.directive.mjs +28 -0
- package/esm2020/lib/modules/file/file.module.mjs +24 -0
- package/esm2020/lib/modules/file/file.service.mjs +48 -0
- package/{esm2015/lib/modules/file/public-api.js → esm2020/lib/modules/file/public-api.mjs} +0 -0
- package/{esm2015/lib/modules/file/types.js → esm2020/lib/modules/file/types.mjs} +0 -0
- package/{esm2015/lib/modules/file/utils.js → esm2020/lib/modules/file/utils.mjs} +3 -4
- package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +27 -0
- package/esm2020/lib/modules/fixed-button/fixed-button.module.mjs +21 -0
- package/{esm2015/lib/modules/fixed-button/public-api.js → esm2020/lib/modules/fixed-button/public-api.mjs} +0 -0
- package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +36 -0
- package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +20 -0
- package/{esm2015/lib/modules/fixed-button-detail/public-api.js → esm2020/lib/modules/fixed-button-detail/public-api.mjs} +0 -0
- package/{esm2015/lib/modules/hierarchic-selector/classes/flat-node.js → esm2020/lib/modules/hierarchic-selector/classes/flat-node.mjs} +1 -1
- package/{esm2015/lib/modules/hierarchic-selector/classes/hierarchic-configuration.js → esm2020/lib/modules/hierarchic-selector/classes/hierarchic-configuration.mjs} +0 -0
- package/{esm2015/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.js → esm2020/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs} +0 -0
- package/{esm2015/lib/modules/hierarchic-selector/classes/model-node.js → esm2020/lib/modules/hierarchic-selector/classes/model-node.mjs} +1 -1
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +364 -0
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +258 -0
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +31 -0
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +23 -0
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +81 -0
- package/{esm2015/lib/modules/hierarchic-selector/public-api.js → esm2020/lib/modules/hierarchic-selector/public-api.mjs} +0 -0
- package/esm2020/lib/modules/icon/icon.component.mjs +92 -0
- package/esm2020/lib/modules/icon/icon.module.mjs +30 -0
- package/{esm2015/lib/modules/icon/public-api.js → esm2020/lib/modules/icon/public-api.mjs} +0 -0
- package/esm2020/lib/modules/matomo/matomo-module.module.mjs +12 -0
- package/esm2020/lib/modules/matomo/matomo.service.mjs +105 -0
- package/{esm2015/lib/modules/matomo/public-api.js → esm2020/lib/modules/matomo/public-api.mjs} +0 -0
- package/esm2020/lib/modules/panels/abstract-panel.mjs +56 -0
- package/{esm2015/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.js → esm2020/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs} +0 -0
- package/esm2020/lib/modules/panels/panels.component.mjs +26 -0
- package/esm2020/lib/modules/panels/panels.module.mjs +33 -0
- package/esm2020/lib/modules/panels/panels.service.mjs +325 -0
- package/{esm2015/lib/modules/panels/panels.urlmatcher.js → esm2020/lib/modules/panels/panels.urlmatcher.mjs} +0 -0
- package/{esm2015/lib/modules/panels/public-api.js → esm2020/lib/modules/panels/public-api.mjs} +0 -0
- package/{esm2015/lib/modules/panels/types.js → esm2020/lib/modules/panels/types.mjs} +0 -0
- package/{esm2015/lib/modules/relations/public-api.js → esm2020/lib/modules/relations/public-api.mjs} +0 -0
- package/esm2020/lib/modules/relations/relations.component.mjs +198 -0
- package/esm2020/lib/modules/relations/relations.module.mjs +58 -0
- package/{esm2015/lib/modules/search/classes/graphql-doctrine.js → esm2020/lib/modules/search/classes/graphql-doctrine.mjs} +0 -0
- package/{esm2015/lib/modules/search/classes/graphql-doctrine.types.js → esm2020/lib/modules/search/classes/graphql-doctrine.types.mjs} +0 -0
- package/{esm2015/lib/modules/search/classes/transformers.js → esm2020/lib/modules/search/classes/transformers.mjs} +0 -0
- package/{esm2015/lib/modules/search/classes/url.js → esm2020/lib/modules/search/classes/url.mjs} +0 -0
- package/{esm2015/lib/modules/search/classes/utils.js → esm2020/lib/modules/search/classes/utils.mjs} +0 -0
- package/{esm2015/lib/modules/search/dropdown-container/dropdown-container-animations.js → esm2020/lib/modules/search/dropdown-container/dropdown-container-animations.mjs} +0 -0
- package/esm2020/lib/modules/search/dropdown-container/dropdown-container.component.mjs +88 -0
- package/{esm2015/lib/modules/search/dropdown-container/dropdown-ref.js → esm2020/lib/modules/search/dropdown-container/dropdown-ref.mjs} +1 -1
- package/esm2020/lib/modules/search/dropdown-container/dropdown.service.mjs +93 -0
- package/esm2020/lib/modules/search/facet-selector/facet-selector.component.mjs +50 -0
- package/esm2020/lib/modules/search/group/group.component.mjs +45 -0
- package/esm2020/lib/modules/search/input/input.component.mjs +328 -0
- package/{esm2015/lib/modules/search/public-api.js → esm2020/lib/modules/search/public-api.mjs} +0 -0
- package/esm2020/lib/modules/search/search/search.component.mjs +78 -0
- package/esm2020/lib/modules/search/search.module.mjs +84 -0
- package/{esm2015/lib/modules/search/types/dropdown-component.js → esm2020/lib/modules/search/types/dropdown-component.mjs} +0 -0
- package/{esm2015/lib/modules/search/types/facet.js → esm2020/lib/modules/search/types/facet.mjs} +0 -0
- package/{esm2015/lib/modules/search/types/values.js → esm2020/lib/modules/search/types/values.mjs} +0 -0
- package/esm2020/lib/modules/select/abstract-select.component.mjs +186 -0
- package/{esm2015/lib/modules/select/public-api.js → esm2020/lib/modules/select/public-api.mjs} +0 -0
- package/esm2020/lib/modules/select/select/select.component.mjs +207 -0
- package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +47 -0
- package/esm2020/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +127 -0
- package/esm2020/lib/modules/select/select.module.mjs +68 -0
- package/{esm2015/lib/modules/sidenav/public-api.js → esm2020/lib/modules/sidenav/public-api.mjs} +0 -0
- package/esm2020/lib/modules/sidenav/sidenav/sidenav.component.mjs +15 -0
- package/esm2020/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +87 -0
- package/esm2020/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +12 -0
- package/esm2020/lib/modules/sidenav/sidenav-stack.service.mjs +52 -0
- package/esm2020/lib/modules/sidenav/sidenav.module.mjs +25 -0
- package/esm2020/lib/modules/sidenav/sidenav.service.mjs +195 -0
- package/{esm2015/lib/modules/stamp/public-api.js → esm2020/lib/modules/stamp/public-api.mjs} +0 -0
- package/esm2020/lib/modules/stamp/stamp-module.module.mjs +18 -0
- package/esm2020/lib/modules/stamp/stamp.component.mjs +14 -0
- package/{esm2015/lib/modules/table-button/public-api.js → esm2020/lib/modules/table-button/public-api.mjs} +0 -0
- package/esm2020/lib/modules/table-button/table-button.component.mjs +48 -0
- package/esm2020/lib/modules/table-button/table-button.module.mjs +21 -0
- package/esm2020/lib/services/abstract-model.service.mjs +509 -0
- package/esm2020/lib/services/enum.service.mjs +67 -0
- package/esm2020/lib/services/link-mutation.service.mjs +153 -0
- package/esm2020/lib/services/persistence.service.mjs +113 -0
- package/esm2020/lib/services/swiss-parsing-date-adapter.service.mjs +55 -0
- package/{esm2015/lib/types/types.js → esm2020/lib/types/types.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{ecodev-natural.js → ecodev-natural.mjs} +2808 -2392
- package/fesm2015/ecodev-natural.mjs.map +1 -0
- package/fesm2020/ecodev-natural.mjs +10495 -0
- package/fesm2020/ecodev-natural.mjs.map +1 -0
- package/lib/classes/abstract-controller.d.ts +3 -0
- package/lib/classes/abstract-detail.d.ts +3 -0
- package/lib/classes/abstract-editable-list.d.ts +3 -0
- package/lib/classes/abstract-list.d.ts +3 -0
- package/lib/classes/abstract-navigable-list.d.ts +3 -0
- package/lib/classes/query-variable-manager.d.ts +19 -8
- package/lib/directives/http-prefix.directive.d.ts +3 -0
- package/lib/modules/alert/alert.module.d.ts +9 -0
- package/lib/modules/alert/alert.service.d.ts +3 -0
- package/lib/modules/alert/confirm.component.d.ts +3 -0
- package/lib/modules/avatar/avatar.module.d.ts +6 -0
- package/lib/modules/avatar/component/avatar.component.d.ts +4 -0
- package/lib/modules/avatar/service/avatar.service.d.ts +3 -0
- package/lib/modules/columns-picker/columns-picker-column.directive.d.ts +3 -0
- package/lib/modules/columns-picker/columns-picker.component.d.ts +3 -0
- package/lib/modules/columns-picker/columns-picker.module.d.ts +13 -0
- package/lib/modules/common/common-module.d.ts +15 -0
- package/lib/modules/common/directives/linkable-tab.directive.d.ts +3 -0
- package/lib/modules/common/directives/src-density.directive.d.ts +3 -0
- package/lib/modules/common/pipes/capitalize.pipe.d.ts +3 -0
- package/lib/modules/common/pipes/ellipsis.pipe.d.ts +3 -0
- package/lib/modules/common/pipes/enum.pipe.d.ts +3 -0
- package/lib/modules/common/pipes/swiss-date.pipe.d.ts +3 -0
- package/lib/modules/common/public-api.d.ts +0 -1
- package/lib/modules/common/services/memory-storage.d.ts +3 -0
- package/lib/modules/common/services/seo.service.d.ts +3 -0
- package/lib/modules/detail-header/detail-header.component.d.ts +3 -0
- package/lib/modules/detail-header/detail-header.module.d.ts +9 -0
- package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +3 -0
- package/lib/modules/dialog-trigger/dialog-trigger.module.d.ts +7 -0
- package/lib/modules/dropdown-components/abstract-association-select-component.directive.d.ts +3 -0
- package/lib/modules/dropdown-components/natural-dropdown-components.module.d.ts +22 -0
- package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +3 -0
- package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +3 -0
- package/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.d.ts +3 -0
- package/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.d.ts +3 -0
- package/lib/modules/dropdown-components/type-number/type-number.component.d.ts +3 -0
- package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +3 -0
- package/lib/modules/dropdown-components/type-text/type-text.component.d.ts +3 -0
- package/lib/modules/file/abstract-file.d.ts +3 -0
- package/lib/modules/file/component/file.component.d.ts +3 -0
- package/lib/modules/file/file-drop.directive.d.ts +3 -0
- package/lib/modules/file/file-select.directive.d.ts +3 -0
- package/lib/modules/file/file.module.d.ts +11 -0
- package/lib/modules/file/file.service.d.ts +3 -0
- package/lib/modules/fixed-button/fixed-button.component.d.ts +3 -0
- package/lib/modules/fixed-button/fixed-button.module.d.ts +9 -0
- package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +3 -0
- package/lib/modules/fixed-button-detail/fixed-button-detail.module.d.ts +8 -0
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +3 -0
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.d.ts +3 -0
- package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +3 -0
- package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.d.ts +3 -0
- package/lib/modules/hierarchic-selector/hierarchic-selector.module.d.ts +21 -0
- package/lib/modules/icon/icon.component.d.ts +3 -0
- package/lib/modules/icon/icon.module.d.ts +7 -0
- package/lib/modules/matomo/matomo-module.module.d.ts +4 -0
- package/lib/modules/matomo/matomo.service.d.ts +3 -0
- package/lib/modules/panels/abstract-panel.d.ts +3 -0
- package/lib/modules/panels/panels.component.d.ts +3 -0
- package/lib/modules/panels/panels.module.d.ts +8 -0
- package/lib/modules/panels/panels.service.d.ts +3 -0
- package/lib/modules/relations/relations.component.d.ts +3 -0
- package/lib/modules/relations/relations.module.d.ts +15 -0
- package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +3 -0
- package/lib/modules/search/dropdown-container/dropdown-ref.d.ts +1 -1
- package/lib/modules/search/dropdown-container/dropdown.service.d.ts +3 -0
- package/lib/modules/search/facet-selector/facet-selector.component.d.ts +3 -0
- package/lib/modules/search/group/group.component.d.ts +3 -0
- package/lib/modules/search/input/input.component.d.ts +3 -0
- package/lib/modules/search/search/search.component.d.ts +3 -0
- package/lib/modules/search/search.module.d.ts +19 -0
- package/lib/modules/select/abstract-select.component.d.ts +4 -1
- package/lib/modules/select/select/select.component.d.ts +3 -0
- package/lib/modules/select/select-enum/select-enum.component.d.ts +9 -2
- package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +3 -0
- package/lib/modules/select/select.module.d.ts +19 -0
- package/lib/modules/sidenav/sidenav/sidenav.component.d.ts +3 -0
- package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +3 -0
- package/lib/modules/sidenav/sidenav-content/sidenav-content.component.d.ts +3 -0
- package/lib/modules/sidenav/sidenav-stack.service.d.ts +4 -1
- package/lib/modules/sidenav/sidenav.module.d.ts +11 -0
- package/lib/modules/sidenav/sidenav.service.d.ts +3 -0
- package/lib/modules/stamp/stamp-module.module.d.ts +6 -0
- package/lib/modules/stamp/stamp.component.d.ts +3 -0
- package/lib/modules/table-button/table-button.component.d.ts +3 -0
- package/lib/modules/table-button/table-button.module.d.ts +9 -0
- package/lib/services/enum.service.d.ts +3 -0
- package/lib/services/link-mutation.service.d.ts +3 -0
- package/lib/services/persistence.service.d.ts +3 -0
- package/lib/services/swiss-parsing-date-adapter.service.d.ts +4 -1
- package/package.json +25 -12
- package/src/lib/modules/alert/_alert.theme.scss +1 -1
- package/src/lib/modules/file/component/_file.theme.scss +1 -1
- package/src/lib/modules/icon/_icon.theme.scss +1 -1
- package/src/lib/modules/search/dropdown-container/_dropdown-container.theme.scss +1 -1
- package/src/lib/modules/table-button/_table-button.theme.scss +1 -1
- package/src/lib/styles/_table.scss +1 -1
- package/theming/_natural.theme.scss +1 -1
- package/bundles/ecodev-natural.umd.js +0 -11318
- package/bundles/ecodev-natural.umd.js.map +0 -1
- package/ecodev-natural.metadata.json +0 -1
- package/esm2015/ecodev-natural.js +0 -14
- package/esm2015/lib/classes/abstract-controller.js +0 -29
- package/esm2015/lib/classes/abstract-detail.js +0 -157
- package/esm2015/lib/classes/abstract-editable-list.js +0 -97
- package/esm2015/lib/classes/abstract-list.js +0 -409
- package/esm2015/lib/classes/abstract-navigable-list.js +0 -126
- package/esm2015/lib/classes/data-source.js +0 -76
- package/esm2015/lib/classes/query-variable-manager.js +0 -161
- package/esm2015/lib/classes/validators.js +0 -176
- package/esm2015/lib/directives/http-prefix.directive.js +0 -46
- package/esm2015/lib/modules/alert/alert.module.js +0 -15
- package/esm2015/lib/modules/alert/alert.service.js +0 -59
- package/esm2015/lib/modules/alert/confirm.component.js +0 -17
- package/esm2015/lib/modules/avatar/avatar.module.js +0 -14
- package/esm2015/lib/modules/avatar/component/avatar.component.js +0 -158
- package/esm2015/lib/modules/avatar/service/avatar.service.js +0 -65
- package/esm2015/lib/modules/avatar/sources/gravatar.js +0 -29
- package/esm2015/lib/modules/columns-picker/columns-picker-column.directive.js +0 -41
- package/esm2015/lib/modules/columns-picker/columns-picker.component.js +0 -82
- package/esm2015/lib/modules/columns-picker/columns-picker.module.js +0 -28
- package/esm2015/lib/modules/common/common-module.js +0 -35
- package/esm2015/lib/modules/common/directives/linkable-tab.directive.js +0 -82
- package/esm2015/lib/modules/common/directives/reactive-asterisk.directive.js +0 -31
- package/esm2015/lib/modules/common/directives/src-density.directive.js +0 -63
- package/esm2015/lib/modules/common/pipes/capitalize.pipe.js +0 -14
- package/esm2015/lib/modules/common/pipes/ellipsis.pipe.js +0 -10
- package/esm2015/lib/modules/common/pipes/enum.pipe.js +0 -24
- package/esm2015/lib/modules/common/pipes/swiss-date.pipe.js +0 -16
- package/esm2015/lib/modules/common/public-api.js +0 -14
- package/esm2015/lib/modules/common/services/memory-storage.js +0 -110
- package/esm2015/lib/modules/common/services/seo.service.js +0 -120
- package/esm2015/lib/modules/detail-header/detail-header.component.js +0 -63
- package/esm2015/lib/modules/detail-header/detail-header.module.js +0 -16
- package/esm2015/lib/modules/dialog-trigger/dialog-trigger.component.js +0 -68
- package/esm2015/lib/modules/dialog-trigger/dialog-trigger.module.js +0 -14
- package/esm2015/lib/modules/dropdown-components/abstract-association-select-component.directive.js +0 -96
- package/esm2015/lib/modules/dropdown-components/natural-dropdown-components.module.js +0 -51
- package/esm2015/lib/modules/dropdown-components/type-date/type-date.component.js +0 -123
- package/esm2015/lib/modules/dropdown-components/type-date-range/type-date-range.component.js +0 -128
- package/esm2015/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.js +0 -63
- package/esm2015/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.js +0 -31
- package/esm2015/lib/modules/dropdown-components/type-number/type-number.component.js +0 -99
- package/esm2015/lib/modules/dropdown-components/type-select/type-select.component.js +0 -161
- package/esm2015/lib/modules/dropdown-components/type-text/type-text.component.js +0 -53
- package/esm2015/lib/modules/file/abstract-file.js +0 -223
- package/esm2015/lib/modules/file/component/file.component.js +0 -133
- package/esm2015/lib/modules/file/file-drop.directive.js +0 -99
- package/esm2015/lib/modules/file/file-select.directive.js +0 -25
- package/esm2015/lib/modules/file/file.module.js +0 -19
- package/esm2015/lib/modules/file/file.service.js +0 -47
- package/esm2015/lib/modules/fixed-button/fixed-button.component.js +0 -23
- package/esm2015/lib/modules/fixed-button/fixed-button.module.js +0 -16
- package/esm2015/lib/modules/fixed-button-detail/fixed-button-detail.component.js +0 -31
- package/esm2015/lib/modules/fixed-button-detail/fixed-button-detail.module.js +0 -15
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.js +0 -351
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.js +0 -258
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.js +0 -28
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.js +0 -23
- package/esm2015/lib/modules/hierarchic-selector/hierarchic-selector.module.js +0 -46
- package/esm2015/lib/modules/icon/icon.component.js +0 -78
- package/esm2015/lib/modules/icon/icon.module.js +0 -25
- package/esm2015/lib/modules/matomo/matomo-module.module.js +0 -7
- package/esm2015/lib/modules/matomo/matomo.service.js +0 -106
- package/esm2015/lib/modules/panels/abstract-panel.js +0 -50
- package/esm2015/lib/modules/panels/panels.component.js +0 -26
- package/esm2015/lib/modules/panels/panels.module.js +0 -28
- package/esm2015/lib/modules/panels/panels.service.js +0 -331
- package/esm2015/lib/modules/relations/relations.component.js +0 -181
- package/esm2015/lib/modules/relations/relations.module.js +0 -33
- package/esm2015/lib/modules/search/dropdown-container/dropdown-container.component.js +0 -87
- package/esm2015/lib/modules/search/dropdown-container/dropdown.service.js +0 -95
- package/esm2015/lib/modules/search/facet-selector/facet-selector.component.js +0 -47
- package/esm2015/lib/modules/search/group/group.component.js +0 -39
- package/esm2015/lib/modules/search/input/input.component.js +0 -316
- package/esm2015/lib/modules/search/search/search.component.js +0 -71
- package/esm2015/lib/modules/search/search.module.js +0 -52
- package/esm2015/lib/modules/select/abstract-select.component.js +0 -176
- package/esm2015/lib/modules/select/select/select.component.js +0 -190
- package/esm2015/lib/modules/select/select-enum/select-enum.component.js +0 -34
- package/esm2015/lib/modules/select/select-hierarchic/select-hierarchic.component.js +0 -120
- package/esm2015/lib/modules/select/select.module.js +0 -39
- package/esm2015/lib/modules/sidenav/sidenav/sidenav.component.js +0 -12
- package/esm2015/lib/modules/sidenav/sidenav-container/sidenav-container.component.js +0 -79
- package/esm2015/lib/modules/sidenav/sidenav-content/sidenav-content.component.js +0 -13
- package/esm2015/lib/modules/sidenav/sidenav-stack.service.js +0 -50
- package/esm2015/lib/modules/sidenav/sidenav.module.js +0 -20
- package/esm2015/lib/modules/sidenav/sidenav.service.js +0 -199
- package/esm2015/lib/modules/stamp/stamp-module.module.js +0 -13
- package/esm2015/lib/modules/stamp/stamp.component.js +0 -13
- package/esm2015/lib/modules/table-button/table-button.component.js +0 -38
- package/esm2015/lib/modules/table-button/table-button.module.js +0 -16
- package/esm2015/lib/services/abstract-model.service.js +0 -509
- package/esm2015/lib/services/enum.service.js +0 -68
- package/esm2015/lib/services/link-mutation.service.js +0 -155
- package/esm2015/lib/services/persistence.service.js +0 -114
- package/esm2015/lib/services/swiss-parsing-date-adapter.service.js +0 -55
- package/fesm2015/ecodev-natural.js.map +0 -1
- package/lib/modules/common/directives/reactive-asterisk.directive.d.ts +0 -10
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
+
import { NavigationEnd } from '@angular/router';
|
|
3
|
+
import { filter } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@angular/platform-browser";
|
|
7
|
+
export const NATURAL_SEO_CONFIG = new InjectionToken('Configuration for SEO service');
|
|
8
|
+
export function stripTags(str) {
|
|
9
|
+
return str.replace(/<\/?[^>]+>/g, '');
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* This service is responsible to keep up to date the page title and page description according
|
|
13
|
+
* to what is configured in routing or default values.
|
|
14
|
+
*
|
|
15
|
+
* It **must** be injected in the root module of the application to have effects in all modules. And it
|
|
16
|
+
* must be provided a configuration.
|
|
17
|
+
*
|
|
18
|
+
* The full title has the following structure:
|
|
19
|
+
*
|
|
20
|
+
* page title - extra part - app name
|
|
21
|
+
*/
|
|
22
|
+
export class NaturalSeoService {
|
|
23
|
+
constructor(config, router, titleService, metaTagService) {
|
|
24
|
+
this.config = config;
|
|
25
|
+
this.router = router;
|
|
26
|
+
this.titleService = titleService;
|
|
27
|
+
this.metaTagService = metaTagService;
|
|
28
|
+
this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(() => {
|
|
29
|
+
this.routeData = this.getRouteData(this.router.routerState.root.snapshot);
|
|
30
|
+
const seo = this.routeData.seo ?? { title: '' };
|
|
31
|
+
const basic = this.toBasic(seo);
|
|
32
|
+
this.update(basic);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Update the SEO with given info. The extra part and app name will be appended automatically.
|
|
37
|
+
*
|
|
38
|
+
* In most cases this should not be used, and instead the SEO should be configured in the routing,
|
|
39
|
+
* possibly with the callback variant for some dynamism.
|
|
40
|
+
*
|
|
41
|
+
* But in rare cases only the Component is able to build a proper page title, after it gather everything it
|
|
42
|
+
* needed. For those cases the Component can inject this service and update the SEO directly.
|
|
43
|
+
*/
|
|
44
|
+
update(seo) {
|
|
45
|
+
// Title
|
|
46
|
+
const parts = [
|
|
47
|
+
seo.title,
|
|
48
|
+
this.config.extraPart && this.routeData ? this.config.extraPart(this.routeData) : null,
|
|
49
|
+
this.config.applicationName,
|
|
50
|
+
];
|
|
51
|
+
const title = parts.filter(s => !!s).join(' - ');
|
|
52
|
+
this.titleService.setTitle(title);
|
|
53
|
+
// Description
|
|
54
|
+
const description = seo?.description ?? this.config.defaultDescription;
|
|
55
|
+
this.updateTag('description', description);
|
|
56
|
+
// Robots
|
|
57
|
+
const robots = seo?.robots ?? this.config.defaultRobots;
|
|
58
|
+
this.updateTag('robots', robots);
|
|
59
|
+
}
|
|
60
|
+
updateTag(name, value) {
|
|
61
|
+
if (value) {
|
|
62
|
+
this.metaTagService.updateTag({
|
|
63
|
+
name: name,
|
|
64
|
+
value: stripTags(value),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.metaTagService.removeTag(`name="${name}"`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Returns the data from the most deep/specific activated route
|
|
73
|
+
*/
|
|
74
|
+
getRouteData(route) {
|
|
75
|
+
if (route.firstChild) {
|
|
76
|
+
return this.getRouteData(route.firstChild);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return route.data ?? null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
toBasic(seo) {
|
|
83
|
+
if (!this.routeData) {
|
|
84
|
+
throw new Error('Must have some route data to get basic SEO');
|
|
85
|
+
}
|
|
86
|
+
if (typeof seo === 'function') {
|
|
87
|
+
return seo(this.routeData);
|
|
88
|
+
}
|
|
89
|
+
else if ('resolveKey' in seo) {
|
|
90
|
+
const data = this.routeData[seo.resolveKey];
|
|
91
|
+
if (!data) {
|
|
92
|
+
throw new Error('Could not find resolved data for SEO service with key: ' + seo.resolveKey);
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
title: data.model?.fullName ?? data.model?.name ?? '',
|
|
96
|
+
description: data.model?.description,
|
|
97
|
+
robots: seo.robots,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return seo;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
NaturalSeoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalSeoService, deps: [{ token: NATURAL_SEO_CONFIG }, { token: i1.Router }, { token: i2.Title }, { token: i2.Meta }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
+
NaturalSeoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalSeoService, providedIn: 'root' });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalSeoService, decorators: [{
|
|
106
|
+
type: Injectable,
|
|
107
|
+
args: [{
|
|
108
|
+
providedIn: 'root',
|
|
109
|
+
}]
|
|
110
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
111
|
+
type: Inject,
|
|
112
|
+
args: [NATURAL_SEO_CONFIG]
|
|
113
|
+
}] }, { type: i1.Router }, { type: i2.Title }, { type: i2.Meta }]; } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9jb21tb24vc2VydmljZXMvc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBK0IsYUFBYSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBeUV0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsK0JBQStCLENBQUMsQ0FBQztBQUV4RyxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVc7SUFDakMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBVUQ7Ozs7Ozs7Ozs7R0FVRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFDaUQsTUFBd0IsRUFDcEQsTUFBYyxFQUNkLFlBQW1CLEVBQ25CLGNBQW9CO1FBSFEsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFDcEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFPO1FBQ25CLG1CQUFjLEdBQWQsY0FBYyxDQUFNO1FBRXJDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMs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SUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDckQsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVztnQkFDcEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO2FBQ3JCLENBQUM7U0FDTDtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7OEdBMUZRLGlCQUFpQixrQkFJZCxrQkFBa0I7a0hBSnJCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZXRhLCBUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIERhdGEsIE5hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIE5hdHVyYWxTZW8gPSBOYXR1cmFsU2VvQmFzaWMgfCBOYXR1cmFsU2VvQ2FsbGJhY2sgfCBOYXR1cmFsU2VvUmVzb2x2ZTtcblxuLyoqXG4gKiBUeXBpY2FsbHkgdXNlZCBmb3IgXCJzdGF0aWNcIiBwYWdlcyB3aGVyZSB0aGVyZSBpcyBub3QgYSBzaW5nbGUgcmVzb2x2ZWQgb2JqZWN0LiBTb1xuICogYWxsIHBhZ2VzIHN1Y2ggYXMgXCJBYm91dFwiLCBvciBsaXN0IG9mIG9iamVjdHMgKGxpc3Qgb2Ygcmlza3MsIGV0Yy4pLlxuICpcbiAqIFRoaXMgc2hvdWxkIGJlIHRoZSBtb3N0IGNvbW1vbiB1c2VkIHZhcmlhbnQuXG4gKi9cbmV4cG9ydCB0eXBlIE5hdHVyYWxTZW9CYXNpYyA9IFJvYm90cyAmIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcGFnZSB0aXRsZSwgdGhhdCB3aWxsIGJlIGNvbmNhdGVuYXRlZCB3aXRoIGFwcGxpY2F0aW9uIG5hbWVcbiAgICAgKi9cbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIElmIGdpdmVuIHdpbGwgYmUgdXNlZCBhcyBwYWdlIGRlc2NyaXB0aW9uLCBvdGhlcndpc2UgZmFsbGJhY2sgb24gZGVmYXVsdCB2YWx1ZVxuICAgICAqL1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBUeXBpY2FsbHkgdXNlZCBmb3IgYSBcImR5bmFtaWNcIiBwYWdlIHdoZXJlIGEgc2luZ2xlIG9iamVjdCBpcyByZXNvbHZlZC4gU28gYSBkZXRhaWwgcGFnZSwgc3VjaFxuICogYXMgdGhlIGRldGFpbCBvZiBhIHJpc2sgYW5kIHNvIG9uLlxuICovXG5leHBvcnQgdHlwZSBOYXR1cmFsU2VvUmVzb2x2ZSA9IFJvYm90cyAmIHtcbiAgICAvKipcbiAgICAgKiBUaGUga2V5IHRvIGJlIHVzZWQgaW4gdGhlIHJlc29sdmVkIGRhdGEgdG8gZmluZCB0aGUgcmVzb2x2ZWQgb2JqZWN0LiBUaGUgZnVsbE5hbWVcbiAgICAgKiBvciBuYW1lIG9mIHRoZSBvYmplY3Qgd2lsbCBiZSB1c2VkIGZvciBwYWdlIHRpdGxlLCBhbmQgdGhlIG9iamVjdCBkZXNjcmlwdGlvbiwgaWYgYW55LFxuICAgICAqIHdpbGwgYmUgdXNlZCBmb3IgcGFnZSBkZXNjcmlwdGlvbi5cbiAgICAgKi9cbiAgICByZXNvbHZlS2V5OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFJhcmVseSB1c2VkIGZvciBhIHBhZ2UgdGhhdCBoYXMgdmVyeSBzcGVjaWZpYyBuZWVkcyBhbmQgbmVlZCB0byBidWlsZCB0aXRsZSBhbmQgZGVzY3JpcHRpb24gaW4gYSBjdXN0b20gd2F5LlxuICogVGhlIGNhbGxiYWNrIGJhY2sgd2lsbCBiZSBnaXZlbiB0aGUgcmVzb2x2ZWQgZGF0YSwgYW5kIGl0IGlzIHVwIHRvIHRoZSBjYWxsYmFjayB0byBmaW5kIHdoYXRldmVyIGl0IG5lZWRzLlxuICovXG5leHBvcnQgdHlwZSBOYXR1cmFsU2VvQ2FsbGJhY2sgPSAocm91dGVEYXRhOiBEYXRhKSA9PiBOYXR1cmFsU2VvQmFzaWM7XG5cbmludGVyZmFjZSBSb2JvdHMge1xuICAgIC8qKlxuICAgICAqIElmIGdpdmVuIHdpbGwgYmUgdXNlZCBhcyByb2JvdHMgbWV0YSB0YWcsIG90aGVyd2lzZSBmYWxsYmFjayBvbiBkZWZhdWx0IHZhbHVlXG4gICAgICovXG4gICAgcm9ib3RzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdHVyYWxTZW9Db25maWcge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGF0IHdpbGwgYWx3YXlzIGFwcGVhciBpbiB0aGUgcGFnZSB0aXRsZVxuICAgICAqL1xuICAgIGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSBmb3IgZGVzY3JpcHRpb24gbWV0YSB0aGF0IGlzIHVzZWQgZm9yIHBhZ2VzIHdpdGhvdXQgdmFsdWVcbiAgICAgKi9cbiAgICBkZWZhdWx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHZhbHVlIGZvciByb2JvdHMgbWV0YSB0aGF0IGlzIHVzZWQgZm9yIHBhZ2VzIHdpdGhvdXQgdmFsdWVcbiAgICAgKi9cbiAgICBkZWZhdWx0Um9ib3RzPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4sIHRoZSBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaCByb3V0ZSBhbmQgbXVzdCByZXR1cm4gYSBzdHJpbmcgdGhhdCB3aWxsXG4gICAgICogYmUgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgcGFnZSB0aXRsZSBhbmQgdGhlIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAgICpcbiAgICAgKiBJdCBzaG91bGQgYmUgdXNlZCB0byBjb21wbGV0ZSB0aGUgdGl0bGUgd2l0aCBpbmZvIHRoYXQgYXJlIG9mdGVuLCBidXQgbm90IG5lY2Vzc2FyaWx5IGFsd2F5cyxcbiAgICAgKiBhdmFpbGFibGUgdGhyb3VnaG91dCB0aGUgZW50aXJlIGFwcGxpY2F0aW9uLiBUeXBpY2FsbHkgdXNlZCBmb3IgdGhlIHNpdGUvc3RhdGUgaW4gT0twaWxvdC5cbiAgICAgKi9cbiAgICBleHRyYVBhcnQ/OiAocm91dGVEYXRhOiBEYXRhKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBOQVRVUkFMX1NFT19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbFNlb0NvbmZpZz4oJ0NvbmZpZ3VyYXRpb24gZm9yIFNFTyBzZXJ2aWNlJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcFRhZ3Moc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvPFxcLz9bXj5dKz4vZywgJycpO1xufVxuXG50eXBlIFJlc29sdmVkRGF0YSA9IHtcbiAgICBtb2RlbD86IHtcbiAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgICAgZnVsbE5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIH07XG59O1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyByZXNwb25zaWJsZSB0byBrZWVwIHVwIHRvIGRhdGUgdGhlIHBhZ2UgdGl0bGUgYW5kIHBhZ2UgZGVzY3JpcHRpb24gYWNjb3JkaW5nXG4gKiB0byB3aGF0IGlzIGNvbmZpZ3VyZWQgaW4gcm91dGluZyBvciBkZWZhdWx0IHZhbHVlcy5cbiAqXG4gKiBJdCAqKm11c3QqKiBiZSBpbmplY3RlZCBpbiB0aGUgcm9vdCBtb2R1bGUgb2YgdGhlIGFwcGxpY2F0aW9uIHRvIGhhdmUgZWZmZWN0cyBpbiBhbGwgbW9kdWxlcy4gQW5kIGl0XG4gKiBtdXN0IGJlIHByb3ZpZGVkIGEgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBUaGUgZnVsbCB0aXRsZSBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gKlxuICogICAgIHBhZ2UgdGl0bGUgLSBleHRyYSBwYXJ0IC0gYXBwIG5hbWVcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlb1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcm91dGVEYXRhPzogRGF0YTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX1NFT19DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBOYXR1cmFsU2VvQ29uZmlnLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWV0YVRhZ1NlcnZpY2U6IE1ldGEsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZURhdGEgPSB0aGlzLmdldFJvdXRlRGF0YSh0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LnNuYXBzaG90KTtcbiAgICAgICAgICAgIGNvbnN0IHNlbzogTmF0dXJhbFNlbyA9IHRoaXMucm91dGVEYXRhLnNlbyA/PyB7dGl0bGU6ICcnfTtcbiAgICAgICAgICAgIGNvbnN0IGJhc2ljID0gdGhpcy50b0Jhc2ljKHNlbyk7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlKGJhc2ljKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBTRU8gd2l0aCBnaXZlbiBpbmZvLiBUaGUgZXh0cmEgcGFydCBhbmQgYXBwIG5hbWUgd2lsbCBiZSBhcHBlbmRlZCBhdXRvbWF0aWNhbGx5LlxuICAgICAqXG4gICAgICogSW4gbW9zdCBjYXNlcyB0aGlzIHNob3VsZCBub3QgYmUgdXNlZCwgYW5kIGluc3RlYWQgdGhlIFNFTyBzaG91bGQgYmUgY29uZmlndXJlZCBpbiB0aGUgcm91dGluZyxcbiAgICAgKiBwb3NzaWJseSB3aXRoIHRoZSBjYWxsYmFjayB2YXJpYW50IGZvciBzb21lIGR5bmFtaXNtLlxuICAgICAqXG4gICAgICogQnV0IGluIHJhcmUgY2FzZXMgb25seSB0aGUgQ29tcG9uZW50IGlzIGFibGUgdG8gYnVpbGQgYSBwcm9wZXIgcGFnZSB0aXRsZSwgYWZ0ZXIgaXQgZ2F0aGVyIGV2ZXJ5dGhpbmcgaXRcbiAgICAgKiBuZWVkZWQuIEZvciB0aG9zZSBjYXNlcyB0aGUgQ29tcG9uZW50IGNhbiBpbmplY3QgdGhpcyBzZXJ2aWNlIGFuZCB1cGRhdGUgdGhlIFNFTyBkaXJlY3RseS5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlKHNlbzogTmF0dXJhbFNlb0Jhc2ljKTogdm9pZCB7XG4gICAgICAgIC8vIFRpdGxlXG4gICAgICAgIGNvbnN0IHBhcnRzID0gW1xuICAgICAgICAgICAgc2VvLnRpdGxlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZXh0cmFQYXJ0ICYmIHRoaXMucm91dGVEYXRhID8gdGhpcy5jb25maWcuZXh0cmFQYXJ0KHRoaXMucm91dGVEYXRhKSA6IG51bGwsXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5hcHBsaWNhdGlvbk5hbWUsXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgdGl0bGUgPSBwYXJ0cy5maWx0ZXIocyA9PiAhIXMpLmpvaW4oJyAtICcpO1xuICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG5cbiAgICAgICAgLy8gRGVzY3JpcHRpb25cbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZW8/LmRlc2NyaXB0aW9uID8/IHRoaXMuY29uZmlnLmRlZmF1bHREZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy51cGRhdGVUYWcoJ2Rlc2NyaXB0aW9uJywgZGVzY3JpcHRpb24pO1xuXG4gICAgICAgIC8vIFJvYm90c1xuICAgICAgICBjb25zdCByb2JvdHMgPSBzZW8/LnJvYm90cyA/PyB0aGlzLmNvbmZpZy5kZWZhdWx0Um9ib3RzO1xuICAgICAgICB0aGlzLnVwZGF0ZVRhZygncm9ib3RzJywgcm9ib3RzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRhZyhuYW1lOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5tZXRhVGFnU2VydmljZS51cGRhdGVUYWcoe1xuICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cmlwVGFncyh2YWx1ZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWV0YVRhZ1NlcnZpY2UucmVtb3ZlVGFnKGBuYW1lPVwiJHtuYW1lfVwiYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBkYXRhIGZyb20gdGhlIG1vc3QgZGVlcC9zcGVjaWZpYyBhY3RpdmF0ZWQgcm91dGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFJvdXRlRGF0YShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IERhdGEge1xuICAgICAgICBpZiAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um91dGVEYXRhKHJvdXRlLmZpcnN0Q2hpbGQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJvdXRlLmRhdGEgPz8gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdG9CYXNpYyhzZW86IE5hdHVyYWxTZW8pOiBOYXR1cmFsU2VvQmFzaWMge1xuICAgICAgICBpZiAoIXRoaXMucm91dGVEYXRhKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgaGF2ZSBzb21lIHJvdXRlIGRhdGEgdG8gZ2V0IGJhc2ljIFNFTycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZW8gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBzZW8odGhpcy5yb3V0ZURhdGEpO1xuICAgICAgICB9IGVsc2UgaWYgKCdyZXNvbHZlS2V5JyBpbiBzZW8pIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IFJlc29sdmVkRGF0YSB8IHVuZGVmaW5lZCA9IHRoaXMucm91dGVEYXRhW3Nlby5yZXNvbHZlS2V5XTtcbiAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgcmVzb2x2ZWQgZGF0YSBmb3IgU0VPIHNlcnZpY2Ugd2l0aCBrZXk6ICcgKyBzZW8ucmVzb2x2ZUtleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubW9kZWw/LmZ1bGxOYW1lID8/IGRhdGEubW9kZWw/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRhdGEubW9kZWw/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHJvYm90czogc2VvLnJvYm90cyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VvO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/button";
|
|
4
|
+
import * as i2 from "../icon/icon.component";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
export class NaturalDetailHeaderComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* Must be set to get proper links when used in panels
|
|
11
|
+
*/
|
|
12
|
+
this.isPanel = false;
|
|
13
|
+
/**
|
|
14
|
+
* If given will show icon before title
|
|
15
|
+
*/
|
|
16
|
+
this.icon = '';
|
|
17
|
+
/**
|
|
18
|
+
* Title shown if model has no name, or empty name.
|
|
19
|
+
*
|
|
20
|
+
* Typically should be the human name for the object type, eg: 'Product'
|
|
21
|
+
*/
|
|
22
|
+
this.label = '';
|
|
23
|
+
/**
|
|
24
|
+
* Label of the root of the breadcrumb, defaults to the value of `label`.
|
|
25
|
+
*
|
|
26
|
+
* Typically should be the plural form of the object type, eg: 'Products'
|
|
27
|
+
*/
|
|
28
|
+
this.rootLabel = '';
|
|
29
|
+
/**
|
|
30
|
+
* Title shown if model has no id.
|
|
31
|
+
*
|
|
32
|
+
* Typically should be similar to 'New product'.
|
|
33
|
+
*/
|
|
34
|
+
this.newLabel = '';
|
|
35
|
+
this.breadcrumbs = [];
|
|
36
|
+
this.listRoute = [];
|
|
37
|
+
}
|
|
38
|
+
getRootLink() {
|
|
39
|
+
return [this.currentBaseUrl || '/'].concat(this.listRoute);
|
|
40
|
+
}
|
|
41
|
+
getLink(id) {
|
|
42
|
+
if (this.link) {
|
|
43
|
+
return this.getRootLink().concat(this.link(id));
|
|
44
|
+
}
|
|
45
|
+
return this.getRootLink().concat([id]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
NaturalDetailHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDetailHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
+
NaturalDetailHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: NaturalDetailHeaderComponent, selector: "natural-detail-header", inputs: { currentBaseUrl: "currentBaseUrl", isPanel: "isPanel", icon: "icon", label: "label", rootLabel: "rootLabel", newLabel: "newLabel", model: "model", breadcrumbs: "breadcrumbs", listRoute: "listRoute", listFragment: "listFragment", link: "link" }, ngImport: i0, template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <natural-icon [name]=\"icon\"></natural-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline no-margin label\">{{ model?.name || model?.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body natural-icon{display:none}}\n"], components: [{ type: i1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i2.NaturalIconComponent, selector: "natural-icon", inputs: ["label", "labelColor", "labelPosition", "name", "size"] }], directives: [{ type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDetailHeaderComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'natural-detail-header', template: "<div class=\"breadcrumb\">\n <a [routerLink]=\"isPanel ? [] : getRootLink()\" [fragment]=\"listFragment\" color=\"primary\" mat-button>{{\n rootLabel || label\n }}</a>\n <ng-container *ngFor=\"let parent of breadcrumbs\">\n /\n <a [routerLink]=\"isPanel ? [] : getLink(parent.id)\" color=\"primary\" mat-button>\n {{ parent?.fullName || parent?.name }}</a\n >\n </ng-container>\n</div>\n\n<div class=\"body\">\n <div *ngIf=\"icon\" style=\"width: 30px\">\n <natural-icon [name]=\"icon\"></natural-icon>\n </div>\n <div *ngIf=\"!model.id\" class=\"mat-headline no-margin newLabel\">{{ newLabel }}</div>\n <div *ngIf=\"model.id\" class=\"mat-headline no-margin label\">{{ model?.name || model?.fullName || label }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host .breadcrumb,:host .body{display:flex;flex-direction:row;align-items:center}:host .breadcrumb{position:relative;top:5px}:host .body{min-height:40px}:host .body>*:not(:last-child){margin-right:5px}:host .body .label,:host .body .newLabel{flex:1}@media screen and (max-width: 600px){:host .body{flex-direction:column;align-items:flex-start}:host .body>*:not(:last-child){margin-bottom:10px!important}:host .body natural-icon{display:none}}\n"] }]
|
|
53
|
+
}], propDecorators: { currentBaseUrl: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], isPanel: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], icon: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], label: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], rootLabel: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], newLabel: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], model: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], breadcrumbs: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], listRoute: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], listFragment: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], link: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kZXRhaWwtaGVhZGVyL2RldGFpbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZGV0YWlsLWhlYWRlci9kZXRhaWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQVdJOztXQUVHO1FBQ2EsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQzs7V0FFRztRQUNhLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDMUI7Ozs7V0FJRztRQUNhLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFM0I7Ozs7V0FJRztRQUNhLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFL0I7Ozs7V0FJRztRQUNhLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxnQkFBVyxHQUFjLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQVUsRUFBRSxDQUFDO0tBZXpDO0lBWFUsV0FBVztRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE9BQU8sQ0FBQyxFQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7O3lIQW5EUSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwyVENSekMsMDFCQXNCQTsyRkRkYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksdUJBQXVCOzhCQVFqQixjQUFjO3NCQUE3QixLQUFLO2dCQUtVLE9BQU87c0JBQXRCLEtBQUs7Z0JBS1UsSUFBSTtzQkFBbkIsS0FBSztnQkFNVSxLQUFLO3NCQUFwQixLQUFLO2dCQU9VLFNBQVM7c0JBQXhCLEtBQUs7Z0JBT1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMaXRlcmFsfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1kZXRhaWwtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGV0YWlsLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsRGV0YWlsSGVhZGVyQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBCYXNlIFVSTCB1c2VkIHRvIGJ1aWxkIGxpbmtzLCBkZWZhdWx0cyB0byAnLydcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgY3VycmVudEJhc2VVcmw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBNdXN0IGJlIHNldCB0byBnZXQgcHJvcGVyIGxpbmtzIHdoZW4gdXNlZCBpbiBwYW5lbHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaXNQYW5lbCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4gd2lsbCBzaG93IGljb24gYmVmb3JlIHRpdGxlXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGljb24gPSAnJztcbiAgICAvKipcbiAgICAgKiBUaXRsZSBzaG93biBpZiBtb2RlbCBoYXMgbm8gbmFtZSwgb3IgZW1wdHkgbmFtZS5cbiAgICAgKlxuICAgICAqIFR5cGljYWxseSBzaG91bGQgYmUgdGhlIGh1bWFuIG5hbWUgZm9yIHRoZSBvYmplY3QgdHlwZSwgZWc6ICdQcm9kdWN0J1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogTGFiZWwgb2YgdGhlIHJvb3Qgb2YgdGhlIGJyZWFkY3J1bWIsIGRlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiBgbGFiZWxgLlxuICAgICAqXG4gICAgICogVHlwaWNhbGx5IHNob3VsZCBiZSB0aGUgcGx1cmFsIGZvcm0gb2YgdGhlIG9iamVjdCB0eXBlLCBlZzogJ1Byb2R1Y3RzJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb290TGFiZWwgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFRpdGxlIHNob3duIGlmIG1vZGVsIGhhcyBubyBpZC5cbiAgICAgKlxuICAgICAqIFR5cGljYWxseSBzaG91bGQgYmUgc2ltaWxhciB0byAnTmV3IHByb2R1Y3QnLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBuZXdMYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtb2RlbCE6IExpdGVyYWw7XG4gICAgQElucHV0KCkgcHVibGljIGJyZWFkY3J1bWJzOiBMaXRlcmFsW10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGlzdFJvdXRlOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsaXN0RnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGluaz86IChpZDogc3RyaW5nKSA9PiBhbnlbXTtcblxuICAgIHB1YmxpYyBnZXRSb290TGluaygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5jdXJyZW50QmFzZVVybCB8fCAnLyddLmNvbmNhdCh0aGlzLmxpc3RSb3V0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExpbmsoaWQ6IHN0cmluZyk6IGFueVtdIHtcbiAgICAgICAgaWYgKHRoaXMubGluaykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdExpbmsoKS5jb25jYXQodGhpcy5saW5rKGlkKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb290TGluaygpLmNvbmNhdChbaWRdKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYlwiPlxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cImlzUGFuZWwgPyBbXSA6IGdldFJvb3RMaW5rKClcIiBbZnJhZ21lbnRdPVwibGlzdEZyYWdtZW50XCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LWJ1dHRvbj57e1xuICAgICAgICByb290TGFiZWwgfHwgbGFiZWxcbiAgICB9fTwvYT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwYXJlbnQgb2YgYnJlYWRjcnVtYnNcIj5cbiAgICAgICAgL1xuICAgICAgICA8YSBbcm91dGVyTGlua109XCJpc1BhbmVsID8gW10gOiBnZXRMaW5rKHBhcmVudC5pZClcIiBjb2xvcj1cInByaW1hcnlcIiBtYXQtYnV0dG9uPlxuICAgICAgICAgICAge3sgcGFyZW50Py5mdWxsTmFtZSB8fCBwYXJlbnQ/Lm5hbWUgfX08L2FcbiAgICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgPGRpdiAqbmdJZj1cImljb25cIiBzdHlsZT1cIndpZHRoOiAzMHB4XCI+XG4gICAgICAgIDxuYXR1cmFsLWljb24gW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaWRcIiBjbGFzcz1cIm1hdC1oZWFkbGluZSBuby1tYXJnaW4gbmV3TGFiZWxcIj57eyBuZXdMYWJlbCB9fTwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5pZFwiIGNsYXNzPVwibWF0LWhlYWRsaW5lIG5vLW1hcmdpbiBsYWJlbFwiPnt7IG1vZGVsPy5uYW1lIHx8IG1vZGVsPy5mdWxsTmFtZSB8fCBsYWJlbCB9fTwvZGl2PlxuICAgIDxkaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
5
|
+
import { NaturalDetailHeaderComponent } from './detail-header.component';
|
|
6
|
+
import { NaturalIconModule } from '../icon/icon.module';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class NaturalDetailHeaderModule {
|
|
9
|
+
}
|
|
10
|
+
NaturalDetailHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDetailHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
NaturalDetailHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDetailHeaderModule, declarations: [NaturalDetailHeaderComponent], imports: [CommonModule, RouterModule, MatButtonModule, NaturalIconModule], exports: [NaturalDetailHeaderComponent] });
|
|
12
|
+
NaturalDetailHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDetailHeaderModule, imports: [[CommonModule, RouterModule, MatButtonModule, NaturalIconModule]] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDetailHeaderModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [NaturalDetailHeaderComponent],
|
|
17
|
+
imports: [CommonModule, RouterModule, MatButtonModule, NaturalIconModule],
|
|
18
|
+
exports: [NaturalDetailHeaderComponent],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWhlYWRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kZXRhaWwtaGVhZGVyL2RldGFpbC1oZWFkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBT3RELE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QixpQkFKbkIsNEJBQTRCLGFBQ2pDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixhQUM5RCw0QkFBNEI7dUhBRTdCLHlCQUF5QixZQUh6QixDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDOzJGQUdoRSx5QkFBeUI7a0JBTHJDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmF0dXJhbERldGFpbEhlYWRlckNvbXBvbmVudH0gZnJvbSAnLi9kZXRhaWwtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxJY29uTW9kdWxlfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOYXR1cmFsRGV0YWlsSGVhZGVyQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTmF0dXJhbEljb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtOYXR1cmFsRGV0YWlsSGVhZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbERldGFpbEhlYWRlck1vZHVsZSB7fVxuIl19
|
|
File without changes
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/dialog";
|
|
4
|
+
import * as i2 from "@angular/router";
|
|
5
|
+
export class NaturalDialogTriggerComponent {
|
|
6
|
+
constructor(dialog, route, router) {
|
|
7
|
+
this.dialog = dialog;
|
|
8
|
+
this.route = route;
|
|
9
|
+
this.router = router;
|
|
10
|
+
// Data from activated route
|
|
11
|
+
this.triggerConfig = this.route.snapshot.data.trigger;
|
|
12
|
+
// Get data relative to dialog service configuration
|
|
13
|
+
const { data, ...config } = this.triggerConfig.dialogConfig;
|
|
14
|
+
const dialogConfig = {
|
|
15
|
+
...config,
|
|
16
|
+
data: {
|
|
17
|
+
data: data,
|
|
18
|
+
// Set data accessible into component instantiated by the dialog service
|
|
19
|
+
activatedRoute: this.route,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
this.dialogRef = this.dialog.open(this.triggerConfig.component, dialogConfig);
|
|
23
|
+
// Redirect on closing (if applicable)
|
|
24
|
+
this.dialogRef.beforeClosed().subscribe(exitValue => this.redirect(exitValue));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Called when router leaves route, and so on, closes the modal with undefined value to prevent a new redirection
|
|
28
|
+
*/
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
if (this.dialogRef) {
|
|
31
|
+
this.dialogRef.close(-1); // -1 = no redirection
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Redirects on modal closing under following rules/conditions
|
|
36
|
+
*
|
|
37
|
+
* If -1 : no redirection
|
|
38
|
+
* If undefined, null or empty string : uses the router provided redirection route or fallbacks on parent route if router don't provide
|
|
39
|
+
* If a value is provided, should be of type any[] and it's used for redirection.
|
|
40
|
+
*/
|
|
41
|
+
redirect(exitValue) {
|
|
42
|
+
const isEmptyExitValue = exitValue == null || exitValue === ''; // undefined, null or ''
|
|
43
|
+
if (exitValue === -1) {
|
|
44
|
+
// if -1, don't redirect
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
else if (!isEmptyExitValue) {
|
|
48
|
+
// If value provided, redirect to that route
|
|
49
|
+
this.router.navigate(exitValue);
|
|
50
|
+
}
|
|
51
|
+
else if (isEmptyExitValue && this.triggerConfig.afterClosedRoute) {
|
|
52
|
+
// If value is not provided (null) and router context specified default redirection route, use it
|
|
53
|
+
this.router.navigate(this.triggerConfig.afterClosedRoute);
|
|
54
|
+
}
|
|
55
|
+
else if (isEmptyExitValue) {
|
|
56
|
+
// If neither of component or router provides redirection, go to parent (care : parent can't have empty path : ''),
|
|
57
|
+
this.router.navigate(['.'], { relativeTo: this.route.parent });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
NaturalDialogTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDialogTriggerComponent, deps: [{ token: i1.MatDialog }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
NaturalDialogTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: NaturalDialogTriggerComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDialogTriggerComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{
|
|
66
|
+
template: '',
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ActivatedRoute }, { type: i2.Router }]; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRyaWdnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZGlhbG9nLXRyaWdnZXIvZGlhbG9nLXRyaWdnZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7Ozs7QUFvQm5ELE1BQU0sT0FBTyw2QkFBNkI7SUFLdEMsWUFDcUIsTUFBaUIsRUFDakIsS0FBcUIsRUFDckIsTUFBYztRQUZkLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUUvQiw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBZ0QsQ0FBQztRQUUvRixvREFBb0Q7UUFDcEQsTUFBTSxFQUFDLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUF5RDtZQUN2RSxHQUFHLE1BQU07WUFDVCxJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLElBQUk7Z0JBQ1Ysd0VBQXdFO2dCQUN4RSxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDN0I7U0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FJL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFOUMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtTQUNuRDtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRLENBQUMsU0FBZ0Q7UUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLElBQUksSUFBSSxJQUFJLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyx3QkFBd0I7UUFFeEYsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbEIsd0JBQXdCO1lBQ3hCLE9BQU87U0FDVjthQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQiw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBa0IsQ0FBQyxDQUFDO1NBQzVDO2FBQU0sSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFO1lBQ2hFLGlHQUFpRztZQUNqRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUF5QixDQUFDLENBQUM7U0FDdEU7YUFBTSxJQUFJLGdCQUFnQixFQUFFO1lBQ3pCLG1IQUFtSDtZQUNuSCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztTQUNoRTtJQUNMLENBQUM7OzBIQWxFUSw2QkFBNkI7OEdBQTdCLDZCQUE2QixvREFGNUIsRUFBRTsyRkFFSCw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbERpYWxvZ1RyaWdnZXJSb3V0aW5nRGF0YTxULCBEPiB7XG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+O1xuICAgIGFmdGVyQ2xvc2VkUm91dGU/OiBSb3V0ZXJMaW5rWydyb3V0ZXJMaW5rJ107XG4gICAgZGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWc8RD47XG59XG5cbmV4cG9ydCB0eXBlIE5hdHVyYWxEaWFsb2dUcmlnZ2VyUHJvdmlkZWREYXRhPEQ+ID0ge1xuICAgIGRhdGE/OiBSZWFkb25seTxEPiB8IG51bGw7XG4gICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xufTtcblxuZXhwb3J0IHR5cGUgTmF0dXJhbERpYWxvZ1RyaWdnZXJSZWRpcmVjdGlvblZhbHVlcyA9IFJvdXRlckxpbmtbJ3JvdXRlckxpbmsnXSB8IG51bGwgfCB1bmRlZmluZWQgfCAnJyB8IC0xO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxEaWFsb2dUcmlnZ2VyQ29tcG9uZW50PFQsIEQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFQsIE5hdHVyYWxEaWFsb2dUcmlnZ2VyUmVkaXJlY3Rpb25WYWx1ZXM+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmlnZ2VyQ29uZmlnOiBOYXR1cmFsRGlhbG9nVHJpZ2dlclJvdXRpbmdEYXRhPFQsIEQ+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICApIHtcbiAgICAgICAgLy8gRGF0YSBmcm9tIGFjdGl2YXRlZCByb3V0ZVxuICAgICAgICB0aGlzLnRyaWdnZXJDb25maWcgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEudHJpZ2dlciBhcyBOYXR1cmFsRGlhbG9nVHJpZ2dlclJvdXRpbmdEYXRhPFQsIEQ+O1xuXG4gICAgICAgIC8vIEdldCBkYXRhIHJlbGF0aXZlIHRvIGRpYWxvZyBzZXJ2aWNlIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgY29uc3Qge2RhdGEsIC4uLmNvbmZpZ30gPSB0aGlzLnRyaWdnZXJDb25maWcuZGlhbG9nQ29uZmlnO1xuICAgICAgICBjb25zdCBkaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxOYXR1cmFsRGlhbG9nVHJpZ2dlclByb3ZpZGVkRGF0YTxEPj4gPSB7XG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICAvLyBTZXQgZGF0YSBhY2Nlc3NpYmxlIGludG8gY29tcG9uZW50IGluc3RhbnRpYXRlZCBieSB0aGUgZGlhbG9nIHNlcnZpY2VcbiAgICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuPFxuICAgICAgICAgICAgVCxcbiAgICAgICAgICAgIE5hdHVyYWxEaWFsb2dUcmlnZ2VyUHJvdmlkZWREYXRhPEQ+LFxuICAgICAgICAgICAgTmF0dXJhbERpYWxvZ1RyaWdnZXJSZWRpcmVjdGlvblZhbHVlc1xuICAgICAgICA+KHRoaXMudHJpZ2dlckNvbmZpZy5jb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG5cbiAgICAgICAgLy8gUmVkaXJlY3Qgb24gY2xvc2luZyAoaWYgYXBwbGljYWJsZSlcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKGV4aXRWYWx1ZSA9PiB0aGlzLnJlZGlyZWN0KGV4aXRWYWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCB3aGVuIHJvdXRlciBsZWF2ZXMgcm91dGUsIGFuZCBzbyBvbiwgY2xvc2VzIHRoZSBtb2RhbCB3aXRoIHVuZGVmaW5lZCB2YWx1ZSB0byBwcmV2ZW50IGEgbmV3IHJlZGlyZWN0aW9uXG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKC0xKTsgLy8gLTEgPSBubyByZWRpcmVjdGlvblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVkaXJlY3RzIG9uIG1vZGFsIGNsb3NpbmcgdW5kZXIgZm9sbG93aW5nIHJ1bGVzL2NvbmRpdGlvbnNcbiAgICAgKlxuICAgICAqIElmIC0xIDogbm8gcmVkaXJlY3Rpb25cbiAgICAgKiBJZiB1bmRlZmluZWQsIG51bGwgb3IgZW1wdHkgc3RyaW5nIDogdXNlcyB0aGUgcm91dGVyIHByb3ZpZGVkIHJlZGlyZWN0aW9uIHJvdXRlIG9yIGZhbGxiYWNrcyBvbiBwYXJlbnQgcm91dGUgaWYgcm91dGVyIGRvbid0IHByb3ZpZGVcbiAgICAgKiBJZiBhIHZhbHVlIGlzIHByb3ZpZGVkLCBzaG91bGQgYmUgb2YgdHlwZSBhbnlbXSBhbmQgaXQncyB1c2VkIGZvciByZWRpcmVjdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVkaXJlY3QoZXhpdFZhbHVlOiBOYXR1cmFsRGlhbG9nVHJpZ2dlclJlZGlyZWN0aW9uVmFsdWVzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzRW1wdHlFeGl0VmFsdWUgPSBleGl0VmFsdWUgPT0gbnVsbCB8fCBleGl0VmFsdWUgPT09ICcnOyAvLyB1bmRlZmluZWQsIG51bGwgb3IgJydcblxuICAgICAgICBpZiAoZXhpdFZhbHVlID09PSAtMSkge1xuICAgICAgICAgICAgLy8gaWYgLTEsIGRvbid0IHJlZGlyZWN0XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoIWlzRW1wdHlFeGl0VmFsdWUpIHtcbiAgICAgICAgICAgIC8vIElmIHZhbHVlIHByb3ZpZGVkLCByZWRpcmVjdCB0byB0aGF0IHJvdXRlXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShleGl0VmFsdWUgYXMgYW55W10pO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRW1wdHlFeGl0VmFsdWUgJiYgdGhpcy50cmlnZ2VyQ29uZmlnLmFmdGVyQ2xvc2VkUm91dGUpIHtcbiAgICAgICAgICAgIC8vIElmIHZhbHVlIGlzIG5vdCBwcm92aWRlZCAobnVsbCkgYW5kIHJvdXRlciBjb250ZXh0IHNwZWNpZmllZCBkZWZhdWx0IHJlZGlyZWN0aW9uIHJvdXRlLCB1c2UgaXRcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHRoaXMudHJpZ2dlckNvbmZpZy5hZnRlckNsb3NlZFJvdXRlIGFzIGFueVtdKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0VtcHR5RXhpdFZhbHVlKSB7XG4gICAgICAgICAgICAvLyBJZiBuZWl0aGVyIG9mIGNvbXBvbmVudCBvciByb3V0ZXIgcHJvdmlkZXMgcmVkaXJlY3Rpb24sIGdvIHRvIHBhcmVudCAoY2FyZSA6IHBhcmVudCBjYW4ndCBoYXZlIGVtcHR5IHBhdGggOiAnJyksXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50fSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
4
|
+
import { NaturalDialogTriggerComponent } from './dialog-trigger.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NaturalDialogTriggerModule {
|
|
7
|
+
}
|
|
8
|
+
NaturalDialogTriggerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDialogTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
NaturalDialogTriggerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDialogTriggerModule, declarations: [NaturalDialogTriggerComponent], imports: [CommonModule, MatDialogModule], exports: [NaturalDialogTriggerComponent] });
|
|
10
|
+
NaturalDialogTriggerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDialogTriggerModule, imports: [[CommonModule, MatDialogModule]] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDialogTriggerModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [NaturalDialogTriggerComponent],
|
|
15
|
+
imports: [CommonModule, MatDialogModule],
|
|
16
|
+
exports: [NaturalDialogTriggerComponent],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRyaWdnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvZGlhbG9nLXRyaWdnZXIvZGlhbG9nLXRyaWdnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPekUsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCLGlCQUpwQiw2QkFBNkIsYUFDbEMsWUFBWSxFQUFFLGVBQWUsYUFDN0IsNkJBQTZCO3dIQUU5QiwwQkFBMEIsWUFIMUIsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDOzJGQUcvQiwwQkFBMEI7a0JBTHRDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7TmF0dXJhbERpYWxvZ1RyaWdnZXJDb21wb25lbnR9IGZyb20gJy4vZGlhbG9nLXRyaWdnZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOYXR1cmFsRGlhbG9nVHJpZ2dlckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0RGlhbG9nTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbTmF0dXJhbERpYWxvZ1RyaWdnZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsRGlhbG9nVHJpZ2dlck1vZHVsZSB7fVxuIl19
|
|
File without changes
|
package/esm2020/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Directive, Inject } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, merge } from 'rxjs';
|
|
3
|
+
import { NATURAL_DROPDOWN_DATA } from '../search/dropdown-container/dropdown.service';
|
|
4
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
5
|
+
import { possibleDiscreteOperators } from './types';
|
|
6
|
+
import { startWith } from 'rxjs/operators';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AbstractAssociationSelectComponent {
|
|
9
|
+
constructor(data) {
|
|
10
|
+
this.renderedValue = new BehaviorSubject('');
|
|
11
|
+
this.requireValueCtrl = false;
|
|
12
|
+
this.operators = possibleDiscreteOperators;
|
|
13
|
+
this.operatorCtrl = new FormControl('is');
|
|
14
|
+
this.valueCtrl = new FormControl();
|
|
15
|
+
this.form = new FormGroup({
|
|
16
|
+
operator: this.operatorCtrl,
|
|
17
|
+
value: this.valueCtrl,
|
|
18
|
+
});
|
|
19
|
+
this.configuration = data.configuration;
|
|
20
|
+
// Immediately initValidators and everytime the operator change later
|
|
21
|
+
this.operatorCtrl.valueChanges.pipe(startWith(null)).subscribe(() => this.initValidators());
|
|
22
|
+
merge(this.operatorCtrl.valueChanges, this.valueCtrl.valueChanges).subscribe(() => {
|
|
23
|
+
const rendered = this.getRenderedValue();
|
|
24
|
+
this.renderedValue.next(rendered);
|
|
25
|
+
});
|
|
26
|
+
this.reloadCondition(data.condition);
|
|
27
|
+
}
|
|
28
|
+
isValid() {
|
|
29
|
+
return this.form.valid;
|
|
30
|
+
}
|
|
31
|
+
isDirty() {
|
|
32
|
+
return this.form.dirty;
|
|
33
|
+
}
|
|
34
|
+
initValidators() {
|
|
35
|
+
const whitelist = ['is', 'isnot'];
|
|
36
|
+
this.requireValueCtrl = whitelist.includes(this.operatorCtrl.value);
|
|
37
|
+
const validators = this.requireValueCtrl ? [Validators.required] : [];
|
|
38
|
+
this.valueCtrl.setValidators(validators);
|
|
39
|
+
this.valueCtrl.updateValueAndValidity();
|
|
40
|
+
}
|
|
41
|
+
reloadCondition(condition) {
|
|
42
|
+
if (!condition) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const operatorKey = this.conditionToOperatorKey(condition);
|
|
46
|
+
this.operatorCtrl.setValue(operatorKey);
|
|
47
|
+
this.reloadValue(condition).subscribe(value => {
|
|
48
|
+
this.valueCtrl.setValue(value);
|
|
49
|
+
this.renderedValue.next(this.getRenderedValue());
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getRenderedValue() {
|
|
53
|
+
const operator = this.operators.find(v => v.key === this.operatorCtrl.value);
|
|
54
|
+
if (!operator || !this.isValid()) {
|
|
55
|
+
return '';
|
|
56
|
+
}
|
|
57
|
+
const selection = this.renderValueWithoutOperator();
|
|
58
|
+
return [operator.label, selection].filter(v => v).join(' ');
|
|
59
|
+
}
|
|
60
|
+
conditionToOperatorKey(condition) {
|
|
61
|
+
if (condition.have && !condition.have.not) {
|
|
62
|
+
return 'is';
|
|
63
|
+
}
|
|
64
|
+
else if (condition.have && condition.have.not) {
|
|
65
|
+
return 'isnot';
|
|
66
|
+
}
|
|
67
|
+
else if (condition.empty && condition.empty.not) {
|
|
68
|
+
return 'any';
|
|
69
|
+
}
|
|
70
|
+
else if (condition.empty && !condition.empty.not) {
|
|
71
|
+
return 'none';
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
operatorKeyToCondition(key, values) {
|
|
76
|
+
switch (key) {
|
|
77
|
+
case 'is':
|
|
78
|
+
return { have: { values: values } };
|
|
79
|
+
case 'isnot':
|
|
80
|
+
return { have: { values: values, not: true } };
|
|
81
|
+
case 'any':
|
|
82
|
+
return { empty: { not: true } };
|
|
83
|
+
case 'none':
|
|
84
|
+
return { empty: { not: false } };
|
|
85
|
+
default:
|
|
86
|
+
throw new Error('Unsupported operator key: ' + key);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
AbstractAssociationSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AbstractAssociationSelectComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
+
AbstractAssociationSelectComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: AbstractAssociationSelectComponent, ngImport: i0 });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AbstractAssociationSelectComponent, decorators: [{
|
|
93
|
+
type: Directive
|
|
94
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
95
|
+
type: Inject,
|
|
96
|
+
args: [NATURAL_DROPDOWN_DATA]
|
|
97
|
+
}] }]; } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYXNzb2NpYXRpb24tc2VsZWN0LWNvbXBvbmVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL2Fic3RyYWN0LWFzc29jaWF0aW9uLXNlbGVjdC1jb21wb25lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQTJCLHlCQUF5QixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHekMsTUFBTSxPQUFnQixrQ0FBa0M7SUFhcEQsWUFBa0QsSUFBNEI7UUFYOUQsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLHlCQUF5QixDQUFDO1FBQ3RDLGlCQUFZLEdBQWdCLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUMzQyxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUztTQUN4QixDQUFDLENBQUM7UUFHQyxJQUFJLENBQUMs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OlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBLCBOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1Bvc3NpYmxlRGlzY3JldGVPcGVyYXRvciwgcG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yc30gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge3N0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEFzc29jaWF0aW9uU2VsZWN0Q29tcG9uZW50PEM+IGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWd1cmF0aW9uOiBDO1xuICAgIHB1YmxpYyByZWFkb25seSByZW5kZXJlZFZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAgIHB1YmxpYyByZXF1aXJlVmFsdWVDdHJsID0gZmFsc2U7XG4gICAgcHVibGljIHJlYWRvbmx5IG9wZXJhdG9ycyA9IHBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcnM7XG4gICAgcHVibGljIHJlYWRvbmx5IG9wZXJhdG9yQ3RybDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ2lzJyk7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlQ3RybDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBvcGVyYXRvcjogdGhpcy5vcGVyYXRvckN0cmwsXG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlQ3RybCxcbiAgICB9KTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihASW5qZWN0KE5BVFVSQUxfRFJPUERPV05fREFUQSkgZGF0YTogTmF0dXJhbERyb3Bkb3duRGF0YTxDPikge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBkYXRhLmNvbmZpZ3VyYXRpb247XG5cbiAgICAgICAgLy8gSW1tZWRpYXRlbHkgaW5pdFZhbGlkYXRvcnMgYW5kIGV2ZXJ5dGltZSB0aGUgb3BlcmF0b3IgY2hhbmdlIGxhdGVyXG4gICAgICAgIHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuaW5pdFZhbGlkYXRvcnMoKSk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5vcGVyYXRvckN0cmwudmFsdWVDaGFuZ2VzLCB0aGlzLnZhbHVlQ3RybC52YWx1ZUNoYW5nZXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZW5kZXJlZCA9IHRoaXMuZ2V0UmVuZGVyZWRWYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlZFZhbHVlLm5leHQocmVuZGVyZWQpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbG9hZENvbmRpdGlvbihkYXRhLmNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVsb2FkIHRoZSB2YWx1ZSBmcm9tIEFQSSAoYG9wZXJhdG9yQ3RybGAgc2hvdWxkIG5vdCBiZSB0b3VjaGVkKVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZWxvYWRWYWx1ZShjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQpOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclZhbHVlV2l0aG91dE9wZXJhdG9yKCk6IHN0cmluZztcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZDtcblxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdoaXRlbGlzdDogUG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yWydrZXknXVtdID0gWydpcycsICdpc25vdCddO1xuICAgICAgICB0aGlzLnJlcXVpcmVWYWx1ZUN0cmwgPSB3aGl0ZWxpc3QuaW5jbHVkZXModGhpcy5vcGVyYXRvckN0cmwudmFsdWUpO1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gdGhpcy5yZXF1aXJlVmFsdWVDdHJsID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG5cbiAgICAgICAgdGhpcy52YWx1ZUN0cmwuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICAgICAgdGhpcy52YWx1ZUN0cmwudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVsb2FkQ29uZGl0aW9uKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wZXJhdG9yS2V5ID0gdGhpcy5jb25kaXRpb25Ub09wZXJhdG9yS2V5KGNvbmRpdGlvbik7XG4gICAgICAgIHRoaXMub3BlcmF0b3JDdHJsLnNldFZhbHVlKG9wZXJhdG9yS2V5KTtcblxuICAgICAgICB0aGlzLnJlbG9hZFZhbHVlKGNvbmRpdGlvbikuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRWYWx1ZS5uZXh0KHRoaXMuZ2V0UmVuZGVyZWRWYWx1ZSgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9ycy5maW5kKHYgPT4gdi5rZXkgPT09IHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgaWYgKCFvcGVyYXRvciB8fCAhdGhpcy5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMucmVuZGVyVmFsdWVXaXRob3V0T3BlcmF0b3IoKTtcblxuICAgICAgICByZXR1cm4gW29wZXJhdG9yLmxhYmVsLCBzZWxlY3Rpb25dLmZpbHRlcih2ID0+IHYpLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uZGl0aW9uVG9PcGVyYXRvcktleShjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQpOiBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JbJ2tleSddIHwgbnVsbCB7XG4gICAgICAgIGlmIChjb25kaXRpb24uaGF2ZSAmJiAhY29uZGl0aW9uLmhhdmUubm90KSB7XG4gICAgICAgICAgICByZXR1cm4gJ2lzJztcbiAgICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uaGF2ZSAmJiBjb25kaXRpb24uaGF2ZS5ub3QpIHtcbiAgICAgICAgICAgIHJldHVybiAnaXNub3QnO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmRpdGlvbi5lbXB0eSAmJiBjb25kaXRpb24uZW1wdHkubm90KSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FueSc7XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uLmVtcHR5ICYmICFjb25kaXRpb24uZW1wdHkubm90KSB7XG4gICAgICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9wZXJhdG9yS2V5VG9Db25kaXRpb24oXG4gICAgICAgIGtleTogUG9zc2libGVEaXNjcmV0ZU9wZXJhdG9yWydrZXknXSxcbiAgICAgICAgdmFsdWVzOiBzdHJpbmdbXSxcbiAgICApOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2lzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge2hhdmU6IHt2YWx1ZXM6IHZhbHVlc319O1xuICAgICAgICAgICAgY2FzZSAnaXNub3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7aGF2ZToge3ZhbHVlczogdmFsdWVzLCBub3Q6IHRydWV9fTtcbiAgICAgICAgICAgIGNhc2UgJ2FueSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtlbXB0eToge25vdDogdHJ1ZX19O1xuICAgICAgICAgICAgY2FzZSAnbm9uZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtlbXB0eToge25vdDogZmFsc2V9fTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBvcGVyYXRvciBrZXk6ICcgKyBrZXkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
6
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
7
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
|
9
|
+
import { MatListModule } from '@angular/material/list';
|
|
10
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
11
|
+
import { NaturalHierarchicSelectorModule } from '../hierarchic-selector/hierarchic-selector.module';
|
|
12
|
+
import { NaturalSelectModule } from '../select/select.module';
|
|
13
|
+
import { TypeDateComponent } from './type-date/type-date.component';
|
|
14
|
+
import { TypeHierarchicSelectorComponent } from './type-hierarchic-selector/type-hierarchic-selector.component';
|
|
15
|
+
import { TypeNaturalSelectComponent } from './type-natural-select/type-natural-select.component';
|
|
16
|
+
import { TypeNumberComponent } from './type-number/type-number.component';
|
|
17
|
+
import { TypeSelectComponent } from './type-select/type-select.component';
|
|
18
|
+
import { TypeTextComponent } from './type-text/type-text.component';
|
|
19
|
+
import { TypeDateRangeComponent } from './type-date-range/type-date-range.component';
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
const components = [
|
|
22
|
+
TypeNumberComponent,
|
|
23
|
+
TypeSelectComponent,
|
|
24
|
+
TypeDateComponent,
|
|
25
|
+
TypeDateRangeComponent,
|
|
26
|
+
TypeNaturalSelectComponent,
|
|
27
|
+
TypeTextComponent,
|
|
28
|
+
TypeHierarchicSelectorComponent,
|
|
29
|
+
];
|
|
30
|
+
export class NaturalDropdownComponentsModule {
|
|
31
|
+
}
|
|
32
|
+
NaturalDropdownComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDropdownComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
+
NaturalDropdownComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDropdownComponentsModule, declarations: [TypeNumberComponent,
|
|
34
|
+
TypeSelectComponent,
|
|
35
|
+
TypeDateComponent,
|
|
36
|
+
TypeDateRangeComponent,
|
|
37
|
+
TypeNaturalSelectComponent,
|
|
38
|
+
TypeTextComponent,
|
|
39
|
+
TypeHierarchicSelectorComponent], imports: [CommonModule,
|
|
40
|
+
FormsModule,
|
|
41
|
+
MatFormFieldModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
MatButtonModule,
|
|
44
|
+
MatInputModule,
|
|
45
|
+
MatListModule,
|
|
46
|
+
MatCheckboxModule,
|
|
47
|
+
MatDatepickerModule,
|
|
48
|
+
MatSelectModule,
|
|
49
|
+
NaturalSelectModule,
|
|
50
|
+
NaturalHierarchicSelectorModule], exports: [TypeNumberComponent,
|
|
51
|
+
TypeSelectComponent,
|
|
52
|
+
TypeDateComponent,
|
|
53
|
+
TypeDateRangeComponent,
|
|
54
|
+
TypeNaturalSelectComponent,
|
|
55
|
+
TypeTextComponent,
|
|
56
|
+
TypeHierarchicSelectorComponent] });
|
|
57
|
+
NaturalDropdownComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDropdownComponentsModule, imports: [[
|
|
58
|
+
CommonModule,
|
|
59
|
+
FormsModule,
|
|
60
|
+
MatFormFieldModule,
|
|
61
|
+
ReactiveFormsModule,
|
|
62
|
+
MatButtonModule,
|
|
63
|
+
MatInputModule,
|
|
64
|
+
MatListModule,
|
|
65
|
+
MatCheckboxModule,
|
|
66
|
+
MatDatepickerModule,
|
|
67
|
+
MatSelectModule,
|
|
68
|
+
NaturalSelectModule,
|
|
69
|
+
NaturalHierarchicSelectorModule,
|
|
70
|
+
]] });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalDropdownComponentsModule, decorators: [{
|
|
72
|
+
type: NgModule,
|
|
73
|
+
args: [{
|
|
74
|
+
declarations: [...components],
|
|
75
|
+
exports: [...components],
|
|
76
|
+
imports: [
|
|
77
|
+
CommonModule,
|
|
78
|
+
FormsModule,
|
|
79
|
+
MatFormFieldModule,
|
|
80
|
+
ReactiveFormsModule,
|
|
81
|
+
MatButtonModule,
|
|
82
|
+
MatInputModule,
|
|
83
|
+
MatListModule,
|
|
84
|
+
MatCheckboxModule,
|
|
85
|
+
MatDatepickerModule,
|
|
86
|
+
MatSelectModule,
|
|
87
|
+
NaturalSelectModule,
|
|
88
|
+
NaturalHierarchicSelectorModule,
|
|
89
|
+
],
|
|
90
|
+
}]
|
|
91
|
+
}] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0dXJhbC1kcm9wZG93bi1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvbmF0dXJhbC1kcm9wZG93bi1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzlHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDOztBQUVuRixNQUFNLFVBQVUsR0FBRztJQUNmLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLCtCQUErQjtDQUNsQyxDQUFDO0FBb0JGLE1BQU0sT0FBTywrQkFBK0I7OzRIQUEvQiwrQkFBK0I7NkhBQS9CLCtCQUErQixpQkEzQnhDLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QiwwQkFBMEI7UUFDMUIsaUJBQWlCO1FBQ2pCLCtCQUErQixhQU8zQixZQUFZO1FBQ1osV0FBVztRQUNYLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGNBQWM7UUFDZCxhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLCtCQUErQixhQXhCbkMsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQixpQkFBaUI7UUFDakIsK0JBQStCOzZIQXFCdEIsK0JBQStCLFlBZi9CO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixjQUFjO1lBQ2QsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQiwrQkFBK0I7U0FDbEM7MkZBRVEsK0JBQStCO2tCQWxCM0MsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsK0JBQStCO3FCQUNsQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0Q2hlY2tib3hNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQge01hdEZvcm1GaWVsZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHtOYXR1cmFsU2VsZWN0TW9kdWxlfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQge1R5cGVEYXRlQ29tcG9uZW50fSBmcm9tICcuL3R5cGUtZGF0ZS90eXBlLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7VHlwZUhpZXJhcmNoaWNTZWxlY3RvckNvbXBvbmVudH0gZnJvbSAnLi90eXBlLWhpZXJhcmNoaWMtc2VsZWN0b3IvdHlwZS1oaWVyYXJjaGljLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge1R5cGVOYXR1cmFsU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL3R5cGUtbmF0dXJhbC1zZWxlY3QvdHlwZS1uYXR1cmFsLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUeXBlTnVtYmVyQ29tcG9uZW50fSBmcm9tICcuL3R5cGUtbnVtYmVyL3R5cGUtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1R5cGVTZWxlY3RDb21wb25lbnR9IGZyb20gJy4vdHlwZS1zZWxlY3QvdHlwZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7VHlwZVRleHRDb21wb25lbnR9IGZyb20gJy4vdHlwZS10ZXh0L3R5cGUtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHtUeXBlRGF0ZVJhbmdlQ29tcG9uZW50fSBmcm9tICcuL3R5cGUtZGF0ZS1yYW5nZS90eXBlLWRhdGUtcmFuZ2UuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBUeXBlTnVtYmVyQ29tcG9uZW50LFxuICAgIFR5cGVTZWxlY3RDb21wb25lbnQsXG4gICAgVHlwZURhdGVDb21wb25lbnQsXG4gICAgVHlwZURhdGVSYW5nZUNvbXBvbmVudCxcbiAgICBUeXBlTmF0dXJhbFNlbGVjdENvbXBvbmVudCxcbiAgICBUeXBlVGV4dENvbXBvbmVudCxcbiAgICBUeXBlSGllcmFyY2hpY1NlbGVjdG9yQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIE5hdHVyYWxTZWxlY3RNb2R1bGUsXG4gICAgICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbERyb3Bkb3duQ29tcG9uZW50c01vZHVsZSB7fVxuIl19
|