@alfresco/aca-content 5.1.1 → 5.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/assets/app.extensions.json +9 -0
- package/assets/i18n/ar.json +600 -599
- package/assets/i18n/cs.json +600 -599
- package/assets/i18n/da.json +600 -599
- package/assets/i18n/de.json +600 -599
- package/assets/i18n/en.json +40 -1
- package/assets/i18n/es.json +600 -599
- package/assets/i18n/fi.json +600 -599
- package/assets/i18n/fr.json +600 -599
- package/assets/i18n/it.json +600 -599
- package/assets/i18n/ja.json +600 -599
- package/assets/i18n/nb.json +600 -599
- package/assets/i18n/nl.json +600 -599
- package/assets/i18n/pl.json +600 -599
- package/assets/i18n/pt-BR.json +600 -599
- package/assets/i18n/ru.json +600 -599
- package/assets/i18n/sv.json +600 -599
- package/assets/i18n/zh-CN.json +600 -599
- package/esm2022/about/about.component.mjs +70 -0
- package/esm2022/about/aca-about.module.mjs +47 -0
- package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
- package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
- package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
- package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
- package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
- package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
- package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
- package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
- package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
- package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
- package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
- package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
- package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
- package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
- package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
- package/esm2022/folder-rules/services/actions.service.mjs +117 -0
- package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
- package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
- package/esm2022/lib/aca-content.module.mjs +303 -0
- package/esm2022/lib/aca-content.routes.mjs +369 -0
- package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
- package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
- package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
- package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
- package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
- package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
- package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
- package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
- package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
- package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
- package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
- package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
- package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
- package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
- package/esm2022/lib/components/details/details.component.mjs +154 -0
- package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
- package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
- package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
- package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
- package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
- package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
- package/esm2022/lib/components/files/files.component.mjs +336 -0
- package/esm2022/lib/components/home/home.component.mjs +46 -0
- package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
- package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
- package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
- package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
- package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
- package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
- package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
- package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
- package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
- package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
- package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
- package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
- package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
- package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
- package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
- package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
- package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
- package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
- package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
- package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
- package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
- package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
- package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
- package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
- package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
- package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
- package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
- package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
- package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
- package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
- package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
- package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
- package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
- package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
- package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
- package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
- package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
- package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
- package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
- package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
- package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
- package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
- package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
- package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
- package/esm2022/lib/directives/document-list.directive.mjs +207 -0
- package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
- package/esm2022/lib/services/content-management.service.mjs +892 -0
- package/esm2022/lib/services/content-url.service.mjs +74 -0
- package/esm2022/lib/services/modal-ai.service.mjs +65 -0
- package/esm2022/lib/services/node-actions.service.mjs +609 -0
- package/esm2022/lib/services/node-template.service.mjs +145 -0
- package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
- package/esm2022/lib/store/app-store.module.mjs +101 -0
- package/esm2022/lib/store/effects/app.effects.mjs +46 -0
- package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
- package/esm2022/lib/store/effects/download.effects.mjs +153 -0
- package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
- package/esm2022/lib/store/effects/library.effects.mjs +108 -0
- package/esm2022/lib/store/effects/node.effects.mjs +318 -0
- package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
- package/esm2022/lib/store/effects/search.effects.mjs +52 -0
- package/esm2022/lib/store/effects/template.effects.mjs +116 -0
- package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
- package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
- package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
- package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
- package/esm2022/ms-office/aos-extension.module.mjs +53 -0
- package/esm2022/ms-office/aos-extension.service.mjs +136 -0
- package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
- package/esm2022/public-api.mjs +33 -0
- package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
- package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
- package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
- package/esm2022/viewer/lib/viewer.module.mjs +53 -0
- package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
- package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
- package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
- package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
- package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
- package/fesm2022/alfresco-aca-content.mjs +11091 -0
- package/fesm2022/alfresco-aca-content.mjs.map +1 -0
- package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
- package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
- package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
- package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
- package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
- package/folder-rules/services/folder-rules.service.d.ts +1 -1
- package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
- package/lib/components/common/location-link/location-link.component.d.ts +1 -1
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
- package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
- package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
- package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
- package/lib/components/context-menu/context-menu.component.d.ts +4 -15
- package/lib/components/context-menu/context-menu.service.d.ts +4 -1
- package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
- package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
- package/lib/components/details/details.component.d.ts +1 -1
- package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
- package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
- package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
- package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
- package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
- package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
- package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
- package/lib/components/search/search-input/search-input.component.d.ts +12 -14
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
- package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
- package/lib/components/search/search-results/search-results.component.d.ts +15 -9
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
- package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
- package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
- package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
- package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
- package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
- package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
- package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
- package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
- package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
- package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
- package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
- package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
- package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
- package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
- package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
- package/lib/components/sidenav/sidenav.component.d.ts +4 -3
- package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
- package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
- package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
- package/lib/services/search-ai-navigation.service.d.ts +4 -2
- package/lib/store/effects/app.effects.d.ts +2 -3
- package/lib/store/effects/contextmenu.effects.d.ts +3 -3
- package/lib/store/effects/download.effects.d.ts +0 -30
- package/lib/store/effects/favorite.effects.d.ts +0 -28
- package/lib/store/effects/library.effects.d.ts +2 -7
- package/lib/store/effects/node.effects.d.ts +7 -38
- package/lib/store/effects/search-ai.effects.d.ts +0 -4
- package/lib/store/effects/search.effects.d.ts +3 -30
- package/lib/store/effects/template.effects.d.ts +5 -7
- package/lib/store/effects/upload.effects.d.ts +8 -32
- package/lib/store/effects/viewer.effects.d.ts +0 -29
- package/lib/utils/aca-search-utils.d.ts +67 -0
- package/ms-office/effects/aos.effects.d.ts +0 -3
- package/package.json +21 -35
- package/public-api.d.ts +1 -0
- package/ui/overrides/adf-pagination.theme.scss +0 -4
- package/ui/theme.scss +9 -4
- package/assets/images/agent-avatar-blue.png +0 -0
- package/assets/images/agent-avatar-gold.png +0 -0
- package/assets/images/agent-avatar-pink.png +0 -0
- package/esm2020/about/about.component.mjs +0 -71
- package/esm2020/about/aca-about.module.mjs +0 -46
- package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
- package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
- package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
- package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
- package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
- package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
- package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
- package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
- package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
- package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
- package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
- package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
- package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
- package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
- package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
- package/esm2020/folder-rules/services/actions.service.mjs +0 -114
- package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
- package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
- package/esm2020/lib/aca-content.module.mjs +0 -299
- package/esm2020/lib/aca-content.routes.mjs +0 -359
- package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
- package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
- package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
- package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
- package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
- package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
- package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
- package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
- package/esm2020/lib/components/details/details.component.mjs +0 -147
- package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
- package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
- package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
- package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
- package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
- package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
- package/esm2020/lib/components/files/files.component.mjs +0 -330
- package/esm2020/lib/components/home/home.component.mjs +0 -47
- package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
- package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
- package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
- package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
- package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
- package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
- package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
- package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
- package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
- package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
- package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
- package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
- package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
- package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
- package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
- package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
- package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
- package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
- package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
- package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
- package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
- package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
- package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
- package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
- package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
- package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
- package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
- package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
- package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
- package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
- package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
- package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
- package/esm2020/lib/directives/document-list.directive.mjs +0 -199
- package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
- package/esm2020/lib/services/content-management.service.mjs +0 -873
- package/esm2020/lib/services/content-url.service.mjs +0 -71
- package/esm2020/lib/services/modal-ai.service.mjs +0 -66
- package/esm2020/lib/services/node-actions.service.mjs +0 -600
- package/esm2020/lib/services/node-template.service.mjs +0 -144
- package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
- package/esm2020/lib/store/app-store.module.mjs +0 -102
- package/esm2020/lib/store/effects/app.effects.mjs +0 -49
- package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
- package/esm2020/lib/store/effects/download.effects.mjs +0 -159
- package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
- package/esm2020/lib/store/effects/library.effects.mjs +0 -113
- package/esm2020/lib/store/effects/node.effects.mjs +0 -325
- package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
- package/esm2020/lib/store/effects/search.effects.mjs +0 -60
- package/esm2020/lib/store/effects/template.effects.mjs +0 -121
- package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
- package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
- package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
- package/esm2020/ms-office/aos-extension.module.mjs +0 -52
- package/esm2020/ms-office/aos-extension.service.mjs +0 -132
- package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
- package/esm2020/public-api.mjs +0 -32
- package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
- package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
- package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
- package/esm2020/viewer/lib/viewer.module.mjs +0 -52
- package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
- package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
- package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
- package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content.mjs +0 -9835
- package/fesm2015/alfresco-aca-content.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-about.mjs +0 -193
- package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content.mjs +0 -9934
- package/fesm2020/alfresco-aca-content.mjs.map +0 -1
- /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
- /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
- /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
- /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
- /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
|
25
|
-
import { PeopleApi } from '@alfresco/js-api';
|
|
26
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
27
|
-
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
28
|
-
import { Router } from '@angular/router';
|
|
29
|
-
import { Subject, throwError } from 'rxjs';
|
|
30
|
-
import { AppService } from '@alfresco/aca-shared';
|
|
31
|
-
import { takeUntil } from 'rxjs/operators';
|
|
32
|
-
import { CommonModule } from '@angular/common';
|
|
33
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
34
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
35
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
36
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
37
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
38
|
-
import * as i0 from "@angular/core";
|
|
39
|
-
import * as i1 from "@angular/router";
|
|
40
|
-
import * as i2 from "@alfresco/adf-content-services";
|
|
41
|
-
import * as i3 from "@alfresco/aca-shared";
|
|
42
|
-
import * as i4 from "@angular/common";
|
|
43
|
-
import * as i5 from "@ngx-translate/core";
|
|
44
|
-
import * as i6 from "@angular/forms";
|
|
45
|
-
import * as i7 from "@angular/material/button";
|
|
46
|
-
import * as i8 from "@angular/material/icon";
|
|
47
|
-
import * as i9 from "@angular/material/divider";
|
|
48
|
-
import * as i10 from "@angular/material/form-field";
|
|
49
|
-
export class ViewProfileComponent {
|
|
50
|
-
constructor(router, apiService, appService) {
|
|
51
|
-
this.router = router;
|
|
52
|
-
this.appService = appService;
|
|
53
|
-
this.generalSectionDropdown = true;
|
|
54
|
-
this.generalSectionButtonsToggle = true;
|
|
55
|
-
this.loginSectionDropdown = false;
|
|
56
|
-
this.loginSectionButtonsToggle = true;
|
|
57
|
-
this.passwordSectionDropdown = false;
|
|
58
|
-
this.contactSectionDropdown = false;
|
|
59
|
-
this.contactSectionButtonsToggle = true;
|
|
60
|
-
this.onDestroy$ = new Subject();
|
|
61
|
-
this.peopleApi = new PeopleApi(apiService.getInstance());
|
|
62
|
-
this.appNavNarMode$ = appService.appNavNarMode$.pipe(takeUntil(this.onDestroy$));
|
|
63
|
-
}
|
|
64
|
-
ngOnInit() {
|
|
65
|
-
this.populateForm(this.personDetails);
|
|
66
|
-
this.peopleApi
|
|
67
|
-
.getPerson('-me-')
|
|
68
|
-
.then((userInfo) => {
|
|
69
|
-
this.personDetails = userInfo?.entry;
|
|
70
|
-
this.populateForm(userInfo?.entry);
|
|
71
|
-
})
|
|
72
|
-
.catch((error) => {
|
|
73
|
-
throwError(error);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
toggleClick() {
|
|
77
|
-
this.appService.toggleAppNavBar$.next();
|
|
78
|
-
}
|
|
79
|
-
populateForm(userInfo) {
|
|
80
|
-
this.profileForm = new FormGroup({
|
|
81
|
-
jobTitle: new FormControl(userInfo?.jobTitle || ''),
|
|
82
|
-
location: new FormControl(userInfo?.location || ''),
|
|
83
|
-
telephone: new FormControl(userInfo?.telephone || '', [Validators.pattern('^([0-9]+-)*[0-9]+$')]),
|
|
84
|
-
mobile: new FormControl(userInfo?.mobile || '', [Validators.pattern('^([0-9]+-)*[0-9]+$')]),
|
|
85
|
-
oldPassword: new FormControl(''),
|
|
86
|
-
newPassword: new FormControl(''),
|
|
87
|
-
verifyPassword: new FormControl(''),
|
|
88
|
-
companyName: new FormControl(userInfo?.company?.organization || ''),
|
|
89
|
-
companyPostCode: new FormControl(userInfo?.company?.postcode || ''),
|
|
90
|
-
companyAddress: new FormControl(userInfo?.company?.address1 || ''),
|
|
91
|
-
companyTelephone: new FormControl(userInfo?.company?.telephone || '', [Validators.pattern('^([0-9]+-)*[0-9]+$')]),
|
|
92
|
-
companyEmail: new FormControl(userInfo?.company?.email || '', [Validators.email])
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
navigateToPersonalFiles() {
|
|
96
|
-
this.router.navigate(['/personal-files'], {
|
|
97
|
-
replaceUrl: true
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
toggleGeneralDropdown() {
|
|
101
|
-
this.generalSectionDropdown = !this.generalSectionDropdown;
|
|
102
|
-
if (!this.generalSectionDropdown) {
|
|
103
|
-
this.generalSectionButtonsToggle = true;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
toggleGeneralButtons() {
|
|
107
|
-
this.generalSectionButtonsToggle = !this.generalSectionButtonsToggle;
|
|
108
|
-
if (!this.generalSectionButtonsToggle) {
|
|
109
|
-
this.generalSectionDropdown = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
onSaveGeneralData(event) {
|
|
113
|
-
this.generalSectionButtonsToggle = !this.generalSectionButtonsToggle;
|
|
114
|
-
this.updatePersonDetails(event);
|
|
115
|
-
}
|
|
116
|
-
onSaveLoginData() {
|
|
117
|
-
this.passwordSectionDropdown = !this.passwordSectionDropdown;
|
|
118
|
-
this.loginSectionButtonsToggle = !this.loginSectionButtonsToggle;
|
|
119
|
-
}
|
|
120
|
-
onSaveCompanyData(event) {
|
|
121
|
-
this.contactSectionButtonsToggle = !this.contactSectionButtonsToggle;
|
|
122
|
-
this.updatePersonDetails(event);
|
|
123
|
-
}
|
|
124
|
-
toggleLoginDropdown() {
|
|
125
|
-
this.loginSectionDropdown = !this.loginSectionDropdown;
|
|
126
|
-
if (!this.loginSectionDropdown) {
|
|
127
|
-
this.loginSectionButtonsToggle = true;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
toggleLoginButtons() {
|
|
131
|
-
this.loginSectionButtonsToggle = !this.loginSectionButtonsToggle;
|
|
132
|
-
this.passwordSectionDropdown = !this.passwordSectionDropdown;
|
|
133
|
-
if (!this.loginSectionButtonsToggle) {
|
|
134
|
-
this.loginSectionDropdown = true;
|
|
135
|
-
this.passwordSectionDropdown = true;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
toggleContactDropdown() {
|
|
139
|
-
this.contactSectionDropdown = !this.contactSectionDropdown;
|
|
140
|
-
if (!this.contactSectionDropdown) {
|
|
141
|
-
this.contactSectionButtonsToggle = true;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
toggleContactButtons() {
|
|
145
|
-
this.contactSectionButtonsToggle = !this.contactSectionButtonsToggle;
|
|
146
|
-
if (!this.contactSectionButtonsToggle) {
|
|
147
|
-
this.contactSectionDropdown = true;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
updatePersonDetails(event) {
|
|
151
|
-
if (this.profileForm.valid) {
|
|
152
|
-
this.peopleApi
|
|
153
|
-
.updatePerson('-me-', {
|
|
154
|
-
jobTitle: event.value.jobTitle,
|
|
155
|
-
location: event.value.location,
|
|
156
|
-
telephone: event.value.telephone,
|
|
157
|
-
mobile: event.value.mobile,
|
|
158
|
-
company: {
|
|
159
|
-
organization: event.value.companyName,
|
|
160
|
-
postcode: event.value.companyPostCode,
|
|
161
|
-
address1: event.value.companyAddress,
|
|
162
|
-
telephone: event.value.companyTelephone,
|
|
163
|
-
email: event.value.companyEmail
|
|
164
|
-
}
|
|
165
|
-
})
|
|
166
|
-
.then((person) => {
|
|
167
|
-
this.personDetails = person?.entry;
|
|
168
|
-
this.populateForm(person?.entry);
|
|
169
|
-
})
|
|
170
|
-
.catch((error) => {
|
|
171
|
-
this.populateForm(this.personDetails);
|
|
172
|
-
throwError(error);
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
this.populateForm(this.personDetails);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
isSaveButtonDisabled() {
|
|
180
|
-
return this.profileForm.invalid;
|
|
181
|
-
}
|
|
182
|
-
ngOnDestroy() {
|
|
183
|
-
this.onDestroy$.next(true);
|
|
184
|
-
this.onDestroy$.complete();
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
ViewProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewProfileComponent, deps: [{ token: i1.Router }, { token: i2.AlfrescoApiService }, { token: i3.AppService }], target: i0.ɵɵFactoryTarget.Component });
|
|
188
|
-
ViewProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ViewProfileComponent, isStandalone: true, selector: "app-view-profile", ngImport: i0, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n <button *ngIf=\"(appNavNarMode$ | async) === 'collapsed'\" mat-icon-button (click)=\"toggleClick()\"\n title=\"{{'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate}}\">\n <mat-icon>menu</mat-icon>\n </button>\n <mat-icon class=\"app-profile-icon\" (click)=\"navigateToPersonalFiles()\" id=\"backButton\">arrow_back</mat-icon>\n <h3 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h3>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleGeneralDropdown()\" id=\"toggle-general-dropdown\">\n {{ generalSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h4>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"generalSectionButtonsToggle\">\n <button mat-raised-button (click)=\"toggleGeneralButtons()\" id=\"general-edit-button\"\n class=\"app-general-edit\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!generalSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"general-cancel-button\"\n (click)=\"toggleGeneralButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"general-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"generalSectionDropdown\"></mat-divider>\n <div *ngIf=\"generalSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.firstName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.lastName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.jobTitle}}</p>\n <input type=\"text\" value=\"\" formControlName=\"jobTitle\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.location}}</p>\n <input type=\"text\" value=\"\" formControlName=\"location\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.telephone}}</p>\n <input type=\"tel\" name=\"Telephone\" value=\"\" formControlName=\"telephone\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('telephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.mobile}}</p>\n <input type=\"tel\" value=\"\" formControlName=\"mobile\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('mobile').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleContactDropdown()\" id=\"toggle-contact-dropdown\">\n {{ contactSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h4>\n </div>\n\n <div class=\"app-general-edit-btn\" *ngIf=\"contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-edit\" id=\"contact-edit-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"contact-cancel-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"contact-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"contactSectionDropdown\"></mat-divider>\n <div *ngIf=\"contactSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.organization}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyName\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.address1}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyAddress\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.postcode}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyPostCode\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.telephone}}</p>\n <input type=\"tel\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyTelephone\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyTelephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.email}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyEmail\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyEmail').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile{cursor:pointer;margin-top:1rem}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-icon{margin-right:1rem;cursor:pointer}app-view-profile .app-profile-general-icon{cursor:pointer}app-view-profile .app-profile-text{letter-spacing:.5px}app-view-profile .app-profile-general{display:flex;padding-left:1rem}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;width:60%;padding-top:1rem;cursor:pointer}app-view-profile .app-general-title{margin-left:.6rem;margin-top:4px;letter-spacing:.5px}app-view-profile .app-general-edit-btn{width:60%;text-align:end}app-view-profile .app-general-edit-btn .app-general-edit{background:var(--theme-grey-text-background-color);height:30px;margin:1rem}app-view-profile .app-general-edit-btn .app-general-cancel-btn{height:30px;margin:1rem 1rem 1rem .5rem;background-color:var(--theme-grey-text-background-color);padding-top:.25px}app-view-profile .app-general-edit-btn .app-general-save-btn{width:75px;height:30px;margin:1rem 1rem 1rem .5rem;color:#fff;background-color:var(--theme-blue-button-color);font-weight:600}app-view-profile .app-divider{border-top-width:2px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-selected:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;box-shadow:0 0 2px var(--theme-blue-button-color)}app-view-profile .app-general-edit:hover{background:var(--theme-grey-hover-background-color)}app-view-profile .app-general-dropdown-divider{border-top-color:var(--theme-grey-divider-color)}app-view-profile .app-general-dropdown{padding:0 1rem}app-view-profile .app-general-dropdown-details{display:flex}app-view-profile .app-profile-general-dropdown-heading{color:var(--theme-heading-color);width:20%;font-weight:400;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-details{margin-top:1.3rem;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-input-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-login{display:flex;padding-left:1rem}app-view-profile .app-profile-login-dropdown-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-dropdown-heading-forgot{margin-top:1.3rem;color:var(--theme-heading-color);margin-left:16rem}app-view-profile .app-profile-company-row{margin-top:2rem}app-view-profile .app-profile-contact-row{margin:2rem 0 5rem 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-error-message{padding-top:2rem;padding-left:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewProfileComponent, decorators: [{
|
|
190
|
-
type: Component,
|
|
191
|
-
args: [{ standalone: true, imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatButtonModule, MatIconModule, MatDividerModule, MatFormFieldModule], selector: 'app-view-profile', encapsulation: ViewEncapsulation.None, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n <button *ngIf=\"(appNavNarMode$ | async) === 'collapsed'\" mat-icon-button (click)=\"toggleClick()\"\n title=\"{{'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate}}\">\n <mat-icon>menu</mat-icon>\n </button>\n <mat-icon class=\"app-profile-icon\" (click)=\"navigateToPersonalFiles()\" id=\"backButton\">arrow_back</mat-icon>\n <h3 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h3>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleGeneralDropdown()\" id=\"toggle-general-dropdown\">\n {{ generalSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h4>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"generalSectionButtonsToggle\">\n <button mat-raised-button (click)=\"toggleGeneralButtons()\" id=\"general-edit-button\"\n class=\"app-general-edit\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!generalSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"general-cancel-button\"\n (click)=\"toggleGeneralButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"general-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"generalSectionDropdown\"></mat-divider>\n <div *ngIf=\"generalSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.firstName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.lastName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.jobTitle}}</p>\n <input type=\"text\" value=\"\" formControlName=\"jobTitle\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.location}}</p>\n <input type=\"text\" value=\"\" formControlName=\"location\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.telephone}}</p>\n <input type=\"tel\" name=\"Telephone\" value=\"\" formControlName=\"telephone\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('telephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.mobile}}</p>\n <input type=\"tel\" value=\"\" formControlName=\"mobile\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('mobile').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleContactDropdown()\" id=\"toggle-contact-dropdown\">\n {{ contactSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h4>\n </div>\n\n <div class=\"app-general-edit-btn\" *ngIf=\"contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-edit\" id=\"contact-edit-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"contact-cancel-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"contact-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"contactSectionDropdown\"></mat-divider>\n <div *ngIf=\"contactSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.organization}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyName\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.address1}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyAddress\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.postcode}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyPostCode\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.telephone}}</p>\n <input type=\"tel\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyTelephone\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyTelephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\"></mat-divider>\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.email}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyEmail\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyEmail').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile{cursor:pointer;margin-top:1rem}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-icon{margin-right:1rem;cursor:pointer}app-view-profile .app-profile-general-icon{cursor:pointer}app-view-profile .app-profile-text{letter-spacing:.5px}app-view-profile .app-profile-general{display:flex;padding-left:1rem}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;width:60%;padding-top:1rem;cursor:pointer}app-view-profile .app-general-title{margin-left:.6rem;margin-top:4px;letter-spacing:.5px}app-view-profile .app-general-edit-btn{width:60%;text-align:end}app-view-profile .app-general-edit-btn .app-general-edit{background:var(--theme-grey-text-background-color);height:30px;margin:1rem}app-view-profile .app-general-edit-btn .app-general-cancel-btn{height:30px;margin:1rem 1rem 1rem .5rem;background-color:var(--theme-grey-text-background-color);padding-top:.25px}app-view-profile .app-general-edit-btn .app-general-save-btn{width:75px;height:30px;margin:1rem 1rem 1rem .5rem;color:#fff;background-color:var(--theme-blue-button-color);font-weight:600}app-view-profile .app-divider{border-top-width:2px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-selected:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;box-shadow:0 0 2px var(--theme-blue-button-color)}app-view-profile .app-general-edit:hover{background:var(--theme-grey-hover-background-color)}app-view-profile .app-general-dropdown-divider{border-top-color:var(--theme-grey-divider-color)}app-view-profile .app-general-dropdown{padding:0 1rem}app-view-profile .app-general-dropdown-details{display:flex}app-view-profile .app-profile-general-dropdown-heading{color:var(--theme-heading-color);width:20%;font-weight:400;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-details{margin-top:1.3rem;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-input-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-login{display:flex;padding-left:1rem}app-view-profile .app-profile-login-dropdown-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-dropdown-heading-forgot{margin-top:1.3rem;color:var(--theme-heading-color);margin-left:16rem}app-view-profile .app-profile-company-row{margin-top:2rem}app-view-profile .app-profile-contact-row{margin:2rem 0 5rem 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-error-message{padding-top:2rem;padding-left:.5rem}\n"] }]
|
|
192
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AlfrescoApiService }, { type: i3.AppService }]; } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIs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LE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7O2tIQXBLVSxvQkFBb0I7c0dBQXBCLG9CQUFvQiw0RUMvQ2pDLGcrVEFpSkEsdzZHRHhHWSxZQUFZLHVMQUFFLGVBQWUsMkZBQUUsbUJBQW1CLG0yQkFBRSxlQUFlLHdhQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGtCQUFrQjs0RkFNdkgsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxZQUN6SCxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgUGVvcGxlQXBpLCBQZXJzb24gfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhcHAtdmlldy1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctcHJvZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXctcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdQcm9maWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwZW9wbGVBcGk6IFBlb3BsZUFwaTtcblxuICBwcm9maWxlRm9ybTogRm9ybUdyb3VwO1xuICBwZXJzb25EZXRhaWxzOiBQZXJzb247XG5cbiAgZ2VuZXJhbFNlY3Rpb25Ecm9wZG93biA9IHRydWU7XG4gIGdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG5cbiAgbG9naW5TZWN0aW9uRHJvcGRvd24gPSBmYWxzZTtcbiAgbG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG4gIHBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duID0gZmFsc2U7XG5cbiAgY29udGFjdFNlY3Rpb25Ecm9wZG93biA9IGZhbHNlO1xuICBjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICBhcHBOYXZOYXJNb2RlJDogT2JzZXJ2YWJsZTwnY29sbGFwc2VkJyB8ICdleHBhbmRlZCc+O1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIGFwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSwgcHJpdmF0ZSBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlKSB7XG4gICAgdGhpcy5wZW9wbGVBcGkgPSBuZXcgUGVvcGxlQXBpKGFwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgdGhpcy5hcHBOYXZOYXJNb2RlJCA9IGFwcFNlcnZpY2UuYXBwTmF2TmFyTW9kZSQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBvcHVsYXRlRm9ybSh0aGlzLnBlcnNvbkRldGFpbHMpO1xuICAgIHRoaXMucGVvcGxlQXBpXG4gICAgICAuZ2V0UGVyc29uKCctbWUtJylcbiAgICAgIC50aGVuKCh1c2VySW5mbykgPT4ge1xuICAgICAgICB0aGlzLnBlcnNvbkRldGFpbHMgPSB1c2VySW5mbz8uZW50cnk7XG4gICAgICAgIHRoaXMucG9wdWxhdGVGb3JtKHVzZXJJbmZvPy5lbnRyeSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlQ2xpY2soKSB7XG4gICAgdGhpcy5hcHBTZXJ2aWNlLnRvZ2dsZUFwcE5hdkJhciQubmV4dCgpO1xuICB9XG5cbiAgcG9wdWxhdGVGb3JtKHVzZXJJbmZvOiBQZXJzb24pIHtcbiAgICB0aGlzLnByb2ZpbGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBqb2JUaXRsZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5qb2JUaXRsZSB8fCAnJyksXG4gICAgICBsb2NhdGlvbjogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5sb2NhdGlvbiB8fCAnJyksXG4gICAgICB0ZWxlcGhvbmU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8udGVsZXBob25lIHx8ICcnLCBbVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFswLTldKy0pKlswLTldKyQnKV0pLFxuICAgICAgbW9iaWxlOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/Lm1vYmlsZSB8fCAnJywgW1ZhbGlkYXRvcnMucGF0dGVybignXihbMC05XSstKSpbMC05XSskJyldKSxcbiAgICAgIG9sZFBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgbmV3UGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICB2ZXJpZnlQYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIGNvbXBhbnlOYW1lOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/Lm9yZ2FuaXphdGlvbiB8fCAnJyksXG4gICAgICBjb21wYW55UG9zdENvZGU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uY29tcGFueT8ucG9zdGNvZGUgfHwgJycpLFxuICAgICAgY29tcGFueUFkZHJlc3M6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uY29tcGFueT8uYWRkcmVzczEgfHwgJycpLFxuICAgICAgY29tcGFueVRlbGVwaG9uZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5jb21wYW55Py50ZWxlcGhvbmUgfHwgJycsIFtWYWxpZGF0b3JzLnBhdHRlcm4oJ14oWzAtOV0rLSkqWzAtOV0rJCcpXSksXG4gICAgICBjb21wYW55RW1haWw6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uY29tcGFueT8uZW1haWwgfHwgJycsIFtWYWxpZGF0b3JzLmVtYWlsXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9QZXJzb25hbEZpbGVzKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3BlcnNvbmFsLWZpbGVzJ10sIHtcbiAgICAgIHJlcGxhY2VVcmw6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUdlbmVyYWxEcm9wZG93bigpIHtcbiAgICB0aGlzLmdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5nZW5lcmFsU2VjdGlvbkRyb3Bkb3duO1xuXG4gICAgaWYgKCF0aGlzLmdlbmVyYWxTZWN0aW9uRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVHZW5lcmFsQnV0dG9ucygpIHtcbiAgICB0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZTtcblxuICAgIGlmICghdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUpIHtcbiAgICAgIHRoaXMuZ2VuZXJhbFNlY3Rpb25Ecm9wZG93biA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25TYXZlR2VuZXJhbERhdGEoZXZlbnQpIHtcbiAgICB0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZTtcbiAgICB0aGlzLnVwZGF0ZVBlcnNvbkRldGFpbHMoZXZlbnQpO1xuICB9XG5cbiAgb25TYXZlTG9naW5EYXRhKCkge1xuICAgIHRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5wYXNzd29yZFNlY3Rpb25Ecm9wZG93bjtcbiAgICB0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuICB9XG5cbiAgb25TYXZlQ29tcGFueURhdGEoZXZlbnQpIHtcbiAgICB0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZTtcbiAgICB0aGlzLnVwZGF0ZVBlcnNvbkRldGFpbHMoZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlTG9naW5Ecm9wZG93bigpIHtcbiAgICB0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duID0gIXRoaXMubG9naW5TZWN0aW9uRHJvcGRvd247XG5cbiAgICBpZiAoIXRoaXMubG9naW5TZWN0aW9uRHJvcGRvd24pIHtcbiAgICAgIHRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlTG9naW5CdXR0b25zKCkge1xuICAgIHRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG4gICAgdGhpcy5wYXNzd29yZFNlY3Rpb25Ecm9wZG93biA9ICF0aGlzLnBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duO1xuXG4gICAgaWYgKCF0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUpIHtcbiAgICAgIHRoaXMubG9naW5TZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICAgICAgdGhpcy5wYXNzd29yZFNlY3Rpb25Ecm9wZG93biA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQ29udGFjdERyb3Bkb3duKCkge1xuICAgIHRoaXMuY29udGFjdFNlY3Rpb25Ecm9wZG93biA9ICF0aGlzLmNvbnRhY3RTZWN0aW9uRHJvcGRvd247XG5cbiAgICBpZiAoIXRoaXMuY29udGFjdFNlY3Rpb25Ecm9wZG93bikge1xuICAgICAgdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUNvbnRhY3RCdXR0b25zKCkge1xuICAgIHRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuXG4gICAgaWYgKCF0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZSkge1xuICAgICAgdGhpcy5jb250YWN0U2VjdGlvbkRyb3Bkb3duID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQZXJzb25EZXRhaWxzKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMucHJvZmlsZUZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMucGVvcGxlQXBpXG4gICAgICAgIC51cGRhdGVQZXJzb24oJy1tZS0nLCB7XG4gICAgICAgICAgam9iVGl0bGU6IGV2ZW50LnZhbHVlLmpvYlRpdGxlLFxuICAgICAgICAgIGxvY2F0aW9uOiBldmVudC52YWx1ZS5sb2NhdGlvbixcbiAgICAgICAgICB0ZWxlcGhvbmU6IGV2ZW50LnZhbHVlLnRlbGVwaG9uZSxcbiAgICAgICAgICBtb2JpbGU6IGV2ZW50LnZhbHVlLm1vYmlsZSxcbiAgICAgICAgICBjb21wYW55OiB7XG4gICAgICAgICAgICBvcmdhbml6YXRpb246IGV2ZW50LnZhbHVlLmNvbXBhbnlOYW1lLFxuICAgICAgICAgICAgcG9zdGNvZGU6IGV2ZW50LnZhbHVlLmNvbXBhbnlQb3N0Q29kZSxcbiAgICAgICAgICAgIGFkZHJlc3MxOiBldmVudC52YWx1ZS5jb21wYW55QWRkcmVzcyxcbiAgICAgICAgICAgIHRlbGVwaG9uZTogZXZlbnQudmFsdWUuY29tcGFueVRlbGVwaG9uZSxcbiAgICAgICAgICAgIGVtYWlsOiBldmVudC52YWx1ZS5jb21wYW55RW1haWxcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKChwZXJzb24pID0+IHtcbiAgICAgICAgICB0aGlzLnBlcnNvbkRldGFpbHMgPSBwZXJzb24/LmVudHJ5O1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVGb3JtKHBlcnNvbj8uZW50cnkpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZUZvcm0odGhpcy5wZXJzb25EZXRhaWxzKTtcbiAgICAgICAgICB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucG9wdWxhdGVGb3JtKHRoaXMucGVyc29uRGV0YWlscyk7XG4gICAgfVxuICB9XG5cbiAgaXNTYXZlQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZUZvcm0uaW52YWxpZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtdGl0bGVcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCIoYXBwTmF2TmFyTW9kZSQgfCBhc3luYykgPT09ICdjb2xsYXBzZWQnXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVDbGljaygpXCJcbiAgICAgICAgdGl0bGU9XCJ7eydBUFAuVE9PTFRJUFMuRVhQQU5EX05BVklHQVRJT04nIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJhcHAtcHJvZmlsZS1pY29uXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9QZXJzb25hbEZpbGVzKClcIiBpZD1cImJhY2tCdXR0b25cIj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cbiAgICAgIDxoMyBjbGFzcz1cImFwcC1wcm9maWxlXCI+e3snQVBQLkVESVRfUFJPRklMRS5NWV9QUk9GSUxFJyB8IHRyYW5zbGF0ZX19PC9oMz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLXJvd1wiIFtmb3JtR3JvdXBdPVwicHJvZmlsZUZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtc2VjdGlvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWljb25cIiAoY2xpY2spPVwidG9nZ2xlR2VuZXJhbERyb3Bkb3duKClcIiBpZD1cInRvZ2dsZS1nZW5lcmFsLWRyb3Bkb3duXCI+XG4gICAgICAgICAge3sgZ2VuZXJhbFNlY3Rpb25Ecm9wZG93biA/ICAnZXhwYW5kX21vcmUnIDogJ2NoZXZyb25fcmlnaHQnfX08L21hdC1pY29uPlxuICAgICAgICA8aDQgY2xhc3M9XCJhcHAtZ2VuZXJhbC10aXRsZVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuR0VORVJBTCcgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1lZGl0LWJ0blwiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cInRvZ2dsZUdlbmVyYWxCdXR0b25zKClcIiBpZD1cImdlbmVyYWwtZWRpdC1idXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdFwiPnt7J0FQUC5FRElUX1BST0ZJTEUuRURJVCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cIiFnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cImFwcC1nZW5lcmFsLWNhbmNlbC1idG5cIiBpZD1cImdlbmVyYWwtY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUdlbmVyYWxCdXR0b25zKClcIj57eydBUFAuRURJVF9QUk9GSUxFLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwiYXBwLWdlbmVyYWwtc2F2ZS1idG5cIiBpZD1cImdlbmVyYWwtc2F2ZS1idXR0b25cIiBbZGlzYWJsZWRdPVwicHJvZmlsZUZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZUdlbmVyYWxEYXRhKHByb2ZpbGVGb3JtKVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuU0FWRScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWRpdmlkZXJcIiAqbmdJZj1cImdlbmVyYWxTZWN0aW9uRHJvcGRvd25cIj48L21hdC1kaXZpZGVyPlxuICAgIDxkaXYgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkRyb3Bkb3duXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkZJUlNUX05BTUUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+e3twZXJzb25EZXRhaWxzPy5maXJzdE5hbWV9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuTEFTVF9OQU1FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPnt7cGVyc29uRGV0YWlscz8ubGFzdE5hbWV9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuSk9CX1RJVExFJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5qb2JUaXRsZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgZm9ybUNvbnRyb2xOYW1lPVwiam9iVGl0bGVcIiAqbmdJZj1cIiFnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkxPQ0FUSU9OJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICAqbmdJZj1cImdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8ubG9jYXRpb259fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cImxvY2F0aW9uXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5URUxFUEhPTkUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LnRlbGVwaG9uZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgbmFtZT1cIlRlbGVwaG9uZVwiIHZhbHVlPVwiXCIgZm9ybUNvbnRyb2xOYW1lPVwidGVsZXBob25lXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCd0ZWxlcGhvbmUnKS5pbnZhbGlkXCI+XG4gICAgICAgICAgICB7eyAnQVBQLkVESVRfUFJPRklMRS5JTlZBTElEX0lOUFVUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5NT0JJTEUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/Lm1vYmlsZX19PC9wPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIHZhbHVlPVwiXCIgZm9ybUNvbnRyb2xOYW1lPVwibW9iaWxlXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJwcm9maWxlRm9ybS5nZXQoJ21vYmlsZScpLmludmFsaWRcIj5cbiAgICAgICAgICB7eyAnQVBQLkVESVRfUFJPRklMRS5JTlZBTElEX0lOUFVUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWNvbnRhY3Qtcm93XCIgW2Zvcm1Hcm91cF09XCJwcm9maWxlRm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsIHByb2ZpbGUtZ2VuZXJhbC1ib3R0b20tcmFkaXVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1zZWN0aW9uXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtaWNvblwiIChjbGljayk9XCJ0b2dnbGVDb250YWN0RHJvcGRvd24oKVwiIGlkPVwidG9nZ2xlLWNvbnRhY3QtZHJvcGRvd25cIj5cbiAgICAgICAgICB7eyBjb250YWN0U2VjdGlvbkRyb3Bkb3duID8gICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCd9fTwvbWF0LWljb24+XG4gICAgICAgIDxoNCBjbGFzcz1cImFwcC1nZW5lcmFsLXRpdGxlXCI+e3snQVBQLkVESVRfUFJPRklMRS5DT01QQU5ZX0RFVEFJTFMnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1lZGl0LWJ0blwiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJhcHAtZ2VuZXJhbC1lZGl0XCIgaWQ9XCJjb250YWN0LWVkaXQtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29udGFjdEJ1dHRvbnMoKVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuRURJVCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cImFwcC1nZW5lcmFsLWNhbmNlbC1idG5cIiBpZD1cImNvbnRhY3QtY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbnRhY3RCdXR0b25zKClcIj57eydBUFAuRURJVF9QUk9GSUxFLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uICBjbGFzcz1cImFwcC1nZW5lcmFsLXNhdmUtYnRuXCIgaWQ9XCJjb250YWN0LXNhdmUtYnV0dG9uXCIgW2Rpc2FibGVkXT1cInByb2ZpbGVGb3JtLmludmFsaWRcIlxuICAgICAgICAgIChjbGljayk9XCJvblNhdmVDb21wYW55RGF0YShwcm9maWxlRm9ybSlcIj57eydBUFAuRURJVF9QUk9GSUxFLlNBVkUnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1kaXZpZGVyXCIgKm5nSWY9XCJjb250YWN0U2VjdGlvbkRyb3Bkb3duXCI+PC9tYXQtZGl2aWRlcj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdFNlY3Rpb25Ecm9wZG93blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5OQU1FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5vcmdhbml6YXRpb259fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiICpuZ0lmPVwiIWNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlOYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5BRERSRVNTJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5hZGRyZXNzMX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueUFkZHJlc3NcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLlBPU1RDT0RFJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5wb3N0Y29kZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueVBvc3RDb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5URUxFUEhPTkUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LmNvbXBhbnk/LnRlbGVwaG9uZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgdmFsdWU9XCJcIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55VGVsZXBob25lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCdjb21wYW55VGVsZXBob25lJykuaW52YWxpZFwiPlxuICAgICAgICAgICAge3sgJ0FQUC5FRElUX1BST0ZJTEUuSU5WQUxJRF9JTlBVVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuRU1BSUwnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LmNvbXBhbnk/LmVtYWlsfX08L3A+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55RW1haWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJwcm9maWxlRm9ybS5nZXQoJ2NvbXBhbnlFbWFpbCcpLmludmFsaWRcIj5cbiAgICAgICAgICAgIHt7ICdBUFAuRURJVF9QUk9GSUxFLklOVkFMSURfSU5QVVQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { Component, ViewEncapsulation, Inject } from '@angular/core';
|
|
25
|
-
import { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
26
|
-
import { Node } from '@alfresco/js-api';
|
|
27
|
-
import { UntypedFormBuilder, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
28
|
-
import { Store } from '@ngrx/store';
|
|
29
|
-
import { CreateFromTemplate } from '@alfresco/aca-shared/store';
|
|
30
|
-
import { TranslationService } from '@alfresco/adf-core';
|
|
31
|
-
import { CommonModule } from '@angular/common';
|
|
32
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
33
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
34
|
-
import { MatInputModule } from '@angular/material/input';
|
|
35
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
36
|
-
import * as i0 from "@angular/core";
|
|
37
|
-
import * as i1 from "@alfresco/adf-core";
|
|
38
|
-
import * as i2 from "@ngrx/store";
|
|
39
|
-
import * as i3 from "@angular/forms";
|
|
40
|
-
import * as i4 from "@angular/material/dialog";
|
|
41
|
-
import * as i5 from "@angular/common";
|
|
42
|
-
import * as i6 from "@ngx-translate/core";
|
|
43
|
-
import * as i7 from "@angular/material/form-field";
|
|
44
|
-
import * as i8 from "@angular/material/input";
|
|
45
|
-
import * as i9 from "@angular/material/button";
|
|
46
|
-
import * as i10 from "@alfresco/js-api";
|
|
47
|
-
export class CreateFromTemplateDialogComponent {
|
|
48
|
-
constructor(translationService, store, formBuilder, dialogRef, data) {
|
|
49
|
-
this.translationService = translationService;
|
|
50
|
-
this.store = store;
|
|
51
|
-
this.formBuilder = formBuilder;
|
|
52
|
-
this.dialogRef = dialogRef;
|
|
53
|
-
this.data = data;
|
|
54
|
-
this.title = '';
|
|
55
|
-
}
|
|
56
|
-
ngOnInit() {
|
|
57
|
-
this.form = this.formBuilder.group({
|
|
58
|
-
name: [this.data.name, [Validators.required, this.forbidEndingDot, this.forbidOnlySpaces, this.forbidSpecialCharacters]],
|
|
59
|
-
title: [this.data.properties ? this.data.properties['cm:title'] : '', Validators.maxLength(256)],
|
|
60
|
-
description: [this.data.properties ? this.data.properties['cm:description'] : '', Validators.maxLength(512)]
|
|
61
|
-
});
|
|
62
|
-
this.title = this.translationService.instant(this.data.isFolder ? 'NODE_FROM_TEMPLATE.FOLDER_DIALOG_TITLE' : 'NODE_FROM_TEMPLATE.FILE_DIALOG_TITLE', { template: this.data.name });
|
|
63
|
-
}
|
|
64
|
-
onSubmit() {
|
|
65
|
-
const update = {
|
|
66
|
-
name: this.form.value.name.trim(),
|
|
67
|
-
properties: {
|
|
68
|
-
'cm:title': this.form.value.title,
|
|
69
|
-
'cm:description': this.form.value.description
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const data = Object.assign({}, this.data, update);
|
|
73
|
-
this.store.dispatch(new CreateFromTemplate(data));
|
|
74
|
-
}
|
|
75
|
-
close() {
|
|
76
|
-
this.dialogRef.close();
|
|
77
|
-
}
|
|
78
|
-
forbidSpecialCharacters({ value }) {
|
|
79
|
-
const specialCharacters = /([\*\"\<\>\\\/\?\:\|])/;
|
|
80
|
-
const isValid = !specialCharacters.test(value);
|
|
81
|
-
return isValid
|
|
82
|
-
? null
|
|
83
|
-
: {
|
|
84
|
-
message: `NODE_FROM_TEMPLATE.FORM.ERRORS.SPECIAL_CHARACTERS`
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
forbidEndingDot({ value }) {
|
|
88
|
-
const isValid = (value || '').trim().split('').pop() !== '.';
|
|
89
|
-
return isValid
|
|
90
|
-
? null
|
|
91
|
-
: {
|
|
92
|
-
message: `NODE_FROM_TEMPLATE.FORM.ERRORS.ENDING_DOT`
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
forbidOnlySpaces({ value }) {
|
|
96
|
-
if (value.length) {
|
|
97
|
-
const isValid = !!(value || '').trim();
|
|
98
|
-
return isValid
|
|
99
|
-
? null
|
|
100
|
-
: {
|
|
101
|
-
message: `NODE_FROM_TEMPLATE.FORM.ERRORS.ONLY_SPACES`
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
return {
|
|
106
|
-
message: `NODE_FROM_TEMPLATE.FORM.ERRORS.REQUIRED`
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
CreateFromTemplateDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CreateFromTemplateDialogComponent, deps: [{ token: i1.TranslationService }, { token: i2.Store }, { token: i3.UntypedFormBuilder }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
CreateFromTemplateDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CreateFromTemplateDialogComponent, isStandalone: true, selector: "app-create-from-template-dialog", ngImport: i0, template: "<h2 mat-dialog-title [innerHTML]=\"title\" class=\"app-create-from-template-title\"></h2>\n<div mat-dialog-content class=\"app-create-from-template-content\">\n <form [formGroup]=\"form\" novalidate>\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.NAME' | translate }}</mat-label>\n <input\n cdkFocusInitial\n matInput\n formControlName=\"name\"\n required\n />\n\n <mat-error *ngIf=\"form.controls['name'].errors?.message\">\n {{ form.controls['name'].errors?.message | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.TITLE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"title\"\n />\n\n <mat-error *ngIf=\"form.controls['title'].hasError('maxlength')\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field app-create-from-template-field-description\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n rows=\"2\"\n formControlName=\"description\"\n ></textarea>\n\n <mat-error *ngIf=\"form.controls['description'].hasError('maxlength')\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n</div>\n<div mat-dialog-actions class=\"app-create-from-template-footer\">\n <button mat-button mat-dialog-close data-automation-id=\"create-from-template-dialog-cancel-button\">\n {{ 'NODE_FROM_TEMPLATE.CANCEL' | translate }}\n </button>\n <button\n class=\"app-create-from-template-footer-create-button\"\n [disabled]=\"form.invalid\"\n mat-button\n (click)=\"onSubmit()\"\n data-automation-id=\"create-from-template-dialog-create-button\"\n >\n {{ 'NODE_FROM_TEMPLATE.CREATE' | translate }}\n </button>\n</div>\n", styles: ["app-create-from-template-dialog{overflow:visible;display:block;margin-left:-24px;margin-right:-24px}app-create-from-template-dialog .app-create-from-template-title{margin-left:24px;margin-right:24px;font-size:20px;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--theme-text-bold-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-create-from-template-dialog .app-create-from-template-field{width:100%}app-create-from-template-dialog .app-create-from-template-field:first-of-type{margin-bottom:9.5px}app-create-from-template-dialog .app-create-from-template-field:nth-of-type(2){margin-bottom:6.5px}app-create-from-template-dialog .app-create-from-template-content{margin:0 2px;overflow:hidden}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mdc-floating-label{-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field.mat-form-field-hide-placeholder .mdc-floating-label{padding-top:11px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field.app-create-from-template-field-description.mat-form-field-hide-placeholder .mdc-floating-label{padding-top:19px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-infix{padding-bottom:3.5px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-error-wrapper{margin-left:-2px;font-size:10.5px;-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-footer{padding:8px 22px;display:flex;justify-content:flex-end;color:var(--theme-secondary-text-color)}app-create-from-template-dialog .app-create-from-template-footer button{text-transform:uppercase;font-weight:400}app-create-from-template-dialog .app-create-from-template-footer-create-button[disabled]{opacity:.6}app-create-from-template-dialog .app-create-from-template-footer-create-button:enabled{color:var(--theme-accent-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CreateFromTemplateDialogComponent, decorators: [{
|
|
114
|
-
type: Component,
|
|
115
|
-
args: [{ standalone: true, imports: [CommonModule, TranslateModule, MatDialogModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule], selector: 'app-create-from-template-dialog', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title [innerHTML]=\"title\" class=\"app-create-from-template-title\"></h2>\n<div mat-dialog-content class=\"app-create-from-template-content\">\n <form [formGroup]=\"form\" novalidate>\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.NAME' | translate }}</mat-label>\n <input\n cdkFocusInitial\n matInput\n formControlName=\"name\"\n required\n />\n\n <mat-error *ngIf=\"form.controls['name'].errors?.message\">\n {{ form.controls['name'].errors?.message | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.TITLE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"title\"\n />\n\n <mat-error *ngIf=\"form.controls['title'].hasError('maxlength')\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field app-create-from-template-field-description\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n rows=\"2\"\n formControlName=\"description\"\n ></textarea>\n\n <mat-error *ngIf=\"form.controls['description'].hasError('maxlength')\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n</div>\n<div mat-dialog-actions class=\"app-create-from-template-footer\">\n <button mat-button mat-dialog-close data-automation-id=\"create-from-template-dialog-cancel-button\">\n {{ 'NODE_FROM_TEMPLATE.CANCEL' | translate }}\n </button>\n <button\n class=\"app-create-from-template-footer-create-button\"\n [disabled]=\"form.invalid\"\n mat-button\n (click)=\"onSubmit()\"\n data-automation-id=\"create-from-template-dialog-create-button\"\n >\n {{ 'NODE_FROM_TEMPLATE.CREATE' | translate }}\n </button>\n</div>\n", styles: ["app-create-from-template-dialog{overflow:visible;display:block;margin-left:-24px;margin-right:-24px}app-create-from-template-dialog .app-create-from-template-title{margin-left:24px;margin-right:24px;font-size:20px;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--theme-text-bold-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-create-from-template-dialog .app-create-from-template-field{width:100%}app-create-from-template-dialog .app-create-from-template-field:first-of-type{margin-bottom:9.5px}app-create-from-template-dialog .app-create-from-template-field:nth-of-type(2){margin-bottom:6.5px}app-create-from-template-dialog .app-create-from-template-content{margin:0 2px;overflow:hidden}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mdc-floating-label{-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field.mat-form-field-hide-placeholder .mdc-floating-label{padding-top:11px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field.app-create-from-template-field-description.mat-form-field-hide-placeholder .mdc-floating-label{padding-top:19px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-infix{padding-bottom:3.5px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-error-wrapper{margin-left:-2px;font-size:10.5px;-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-footer{padding:8px 22px;display:flex;justify-content:flex-end;color:var(--theme-secondary-text-color)}app-create-from-template-dialog .app-create-from-template-footer button{text-transform:uppercase;font-weight:400}app-create-from-template-dialog .app-create-from-template-footer-create-button[disabled]{opacity:.6}app-create-from-template-dialog .app-create-from-template-footer-create-button:enabled{color:var(--theme-accent-color)}\n"] }]
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i1.TranslationService }, { type: i2.Store }, { type: i3.UntypedFormBuilder }, { type: i4.MatDialogRef }, { type: i10.Node, decorators: [{
|
|
117
|
-
type: Inject,
|
|
118
|
-
args: [MAT_DIALOG_DATA]
|
|
119
|
-
}] }]; } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZyb20tdGVtcGxhdGUuZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9kaWFsb2dzL25vZGUtdGVtcGxhdGUvY3JlYXRlLWZyb20tdGVtcGxhdGUuZGlhbG9nLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9kaWFsb2dzL25vZGUtdGVtcGxhdGUvY3JlYXRlLWZyb20tdGVtcGxhdGUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixVQUFVLEVBQXdDLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0ksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQVksa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFP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QyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsQ0FBQztRQUV0RSxPQUFPLE9BQU87WUFDWixDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQztnQkFDRSxPQUFPLEVBQUUsMkNBQTJDO2FBQ3JELENBQUM7SUFDUixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBRSxLQUFLLEVBQXNCO1FBQ3BELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFdkMsT0FBTyxPQUFPO2dCQUNaLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQztvQkFDRSxPQUFPLEVBQUUsNENBQTRDO2lCQUN0RCxDQUFDO1NBQ1A7YUFBTTtZQUNMLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLHlDQUF5QzthQUNuRCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzsrSEE3RVUsaUNBQWlDLHVJQVVsQyxlQUFlO21IQVZkLGlDQUFpQywyRkM3QzlDLGtuRUF5REEsa3BFRGxCWSxZQUFZLGtJQUFFLGVBQWUsMkZBQUUsZUFBZSwrbkJBQUUsbUJBQW1CLHlxQ0FBRSxrQkFBa0IsdVlBQUUsY0FBYywwV0FBRSxlQUFlOzRGQU12SCxpQ0FBaUM7a0JBUjdDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyxZQUd6SCxpQ0FBaUMsaUJBQzVCLGlCQUFpQixDQUFDLElBQUk7OzBCQVlsQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFwcFN0b3JlLCBDcmVhdGVGcm9tVGVtcGxhdGUgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1mcm9tLXRlbXBsYXRlLmRpYWxvZy5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWZyb20tdGVtcGxhdGUuZGlhbG9nLnNjc3MnXSxcbiAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWZyb20tdGVtcGxhdGUtZGlhbG9nJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVGcm9tVGVtcGxhdGVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICB0aXRsZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENyZWF0ZUZyb21UZW1wbGF0ZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBOb2RlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIG5hbWU6IFt0aGlzLmRhdGEubmFtZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMuZm9yYmlkRW5kaW5nRG90LCB0aGlzLmZvcmJpZE9ubHlTcGFjZXMsIHRoaXMuZm9yYmlkU3BlY2lhbENoYXJhY3RlcnNdXSxcbiAgICAgIHRpdGxlOiBbdGhpcy5kYXRhLnByb3BlcnRpZXMgPyB0aGlzLmRhdGEucHJvcGVydGllc1snY206dGl0bGUnXSA6ICcnLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpXSxcbiAgICAgIGRlc2NyaXB0aW9uOiBbdGhpcy5kYXRhLnByb3BlcnRpZXMgPyB0aGlzLmRhdGEucHJvcGVydGllc1snY206ZGVzY3JpcHRpb24nXSA6ICcnLCBWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXVxuICAgIH0pO1xuXG4gICAgdGhpcy50aXRsZSA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoXG4gICAgICB0aGlzLmRhdGEuaXNGb2xkZXIgPyAnTk9ERV9GUk9NX1RFTVBMQVRFLkZPTERFUl9ESUFMT0dfVElUTEUnIDogJ05PREVfRlJPTV9URU1QTEFURS5GSUxFX0RJQUxPR19USVRMRScsXG4gICAgICB7IHRlbXBsYXRlOiB0aGlzLmRhdGEubmFtZSB9XG4gICAgKTtcbiAgfVxuXG4gIG9uU3VibWl0KCkge1xuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIG5hbWU6IHRoaXMuZm9ybS52YWx1ZS5uYW1lLnRyaW0oKSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgJ2NtOnRpdGxlJzogdGhpcy5mb3JtLnZhbHVlLnRpdGxlLFxuICAgICAgICAnY206ZGVzY3JpcHRpb24nOiB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb25cbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGRhdGE6IE5vZGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRhdGEsIHVwZGF0ZSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ3JlYXRlRnJvbVRlbXBsYXRlKGRhdGEpKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGZvcmJpZFNwZWNpYWxDaGFyYWN0ZXJzKHsgdmFsdWUgfTogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHNwZWNpYWxDaGFyYWN0ZXJzID0gLyhbXFwqXFxcIlxcPFxcPlxcXFxcXC9cXD9cXDpcXHxdKS87XG4gICAgY29uc3QgaXNWYWxpZCA9ICFzcGVjaWFsQ2hhcmFjdGVycy50ZXN0KHZhbHVlKTtcblxuICAgIHJldHVybiBpc1ZhbGlkXG4gICAgICA/IG51bGxcbiAgICAgIDoge1xuICAgICAgICAgIG1lc3NhZ2U6IGBOT0RFX0ZST01fVEVNUExBVEUuRk9STS5FUlJPUlMuU1BFQ0lBTF9DSEFSQUNURVJTYFxuICAgICAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JiaWRFbmRpbmdEb3QoeyB2YWx1ZSB9OiBVbnR5cGVkRm9ybUNvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgaXNWYWxpZDogYm9vbGVhbiA9ICh2YWx1ZSB8fCAnJykudHJpbSgpLnNwbGl0KCcnKS5wb3AoKSAhPT0gJy4nO1xuXG4gICAgcmV0dXJuIGlzVmFsaWRcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgICAgbWVzc2FnZTogYE5PREVfRlJPTV9URU1QTEFURS5GT1JNLkVSUk9SUy5FTkRJTkdfRE9UYFxuICAgICAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JiaWRPbmx5U3BhY2VzKHsgdmFsdWUgfTogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICh2YWx1ZS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSAhISh2YWx1ZSB8fCAnJykudHJpbSgpO1xuXG4gICAgICByZXR1cm4gaXNWYWxpZFxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7XG4gICAgICAgICAgICBtZXNzYWdlOiBgTk9ERV9GUk9NX1RFTVBMQVRFLkZPUk0uRVJST1JTLk9OTFlfU1BBQ0VTYFxuICAgICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2U6IGBOT0RFX0ZST01fVEVNUExBVEUuRk9STS5FUlJPUlMuUkVRVUlSRURgXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGUgW2lubmVySFRNTF09XCJ0aXRsZVwiIGNsYXNzPVwiYXBwLWNyZWF0ZS1mcm9tLXRlbXBsYXRlLXRpdGxlXCI+PC9oMj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiYXBwLWNyZWF0ZS1mcm9tLXRlbXBsYXRlLWNvbnRlbnRcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgbm92YWxpZGF0ZT5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcHAtY3JlYXRlLWZyb20tdGVtcGxhdGUtZmllbGRcIj5cbiAgICAgIDxtYXQtbGFiZWw+e3sgJ05PREVfRlJPTV9URU1QTEFURS5GT1JNLlBMQUNFSE9MREVSLk5BTUUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICByZXF1aXJlZFxuICAgICAgLz5cblxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHNbJ25hbWUnXS5lcnJvcnM/Lm1lc3NhZ2VcIj5cbiAgICAgICAge3sgZm9ybS5jb250cm9sc1snbmFtZSddLmVycm9ycz8ubWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwcC1jcmVhdGUtZnJvbS10ZW1wbGF0ZS1maWVsZFwiPlxuICAgICAgPG1hdC1sYWJlbD57eyAnTk9ERV9GUk9NX1RFTVBMQVRFLkZPUk0uUExBQ0VIT0xERVIuVElUTEUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxuICAgICAgLz5cblxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHNbJ3RpdGxlJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICAgIHt7ICdOT0RFX0ZST01fVEVNUExBVEUuRk9STS5FUlJPUlMuVElUTEVfVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYXBwLWNyZWF0ZS1mcm9tLXRlbXBsYXRlLWZpZWxkIGFwcC1jcmVhdGUtZnJvbS10ZW1wbGF0ZS1maWVsZC1kZXNjcmlwdGlvblwiPlxuICAgICAgPG1hdC1sYWJlbD57eyAnTk9ERV9GUk9NX1RFTVBMQVRFLkZPUk0uUExBQ0VIT0xERVIuREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICA8dGV4dGFyZWFcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgcm93cz1cIjJcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICA+PC90ZXh0YXJlYT5cblxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHNbJ2Rlc2NyaXB0aW9uJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICAgIHt7ICdOT0RFX0ZST01fVEVNUExBVEUuRk9STS5FUlJPUlMuREVTQ1JJUFRJT05fVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Zvcm0+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiYXBwLWNyZWF0ZS1mcm9tLXRlbXBsYXRlLWZvb3RlclwiPlxuICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBkYXRhLWF1dG9tYXRpb24taWQ9XCJjcmVhdGUtZnJvbS10ZW1wbGF0ZS1kaWFsb2ctY2FuY2VsLWJ1dHRvblwiPlxuICAgIHt7ICdOT0RFX0ZST01fVEVNUExBVEUuQ0FOQ0VMJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYXBwLWNyZWF0ZS1mcm9tLXRlbXBsYXRlLWZvb3Rlci1jcmVhdGUtYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICBtYXQtYnV0dG9uXG4gICAgKGNsaWNrKT1cIm9uU3VibWl0KClcIlxuICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNyZWF0ZS1mcm9tLXRlbXBsYXRlLWRpYWxvZy1jcmVhdGUtYnV0dG9uXCJcbiAgPlxuICAgIHt7ICdOT0RFX0ZST01fVEVNUExBVEUuQ1JFQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|