tnx-shared 5.2.17 → 5.2.18
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/classes/base/component-base.d.ts +1 -1
- package/classes/base/data-form-base.d.ts +1 -1
- package/classes/base/data-list-base.d.ts +1 -1
- package/classes/base/list-base.d.ts +1 -1
- package/classes/base/tree-list-base.d.ts +1 -1
- package/classes/public-function.d.ts +3 -2
- package/components/access-denied-component/access-denied-v1/access-denied-v1.component.d.ts +1 -1
- package/components/access-denied-component/access-denied.component.d.ts +1 -1
- package/components/add-news/add-news.component.d.ts +1 -1
- package/components/address/address.component.d.ts +1 -1
- package/components/after-view-checked/after-view-checked.component.d.ts +1 -1
- package/components/autocomplete-datasource/autocomplete-datasource.component.d.ts +1 -1
- package/components/autocomplete-picker/autocomplete-picker.component.d.ts +1 -1
- package/components/avatar-uploader/avatar-uploader.component.d.ts +1 -1
- package/components/chat/chat-box/chat-box.component.d.ts +1 -1
- package/components/chat/chat-send-message-box/chat-send-message-box.component.d.ts +1 -1
- package/components/check-box-list/check-box-list.component.d.ts +1 -1
- package/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.d.ts +1 -1
- package/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.d.ts +1 -1
- package/components/common-app-component/app-root-menu/app-root-menu.component.d.ts +1 -1
- package/components/common-app-component/app-topbar-v1/app-topbar-v1.component.d.ts +1 -1
- package/components/common-app-component/app-topbar-v2/app-topbar-v2.component.d.ts +1 -1
- package/components/common-app-component/app.footer.component.d.ts +1 -1
- package/components/common-app-component/app.menu.component.d.ts +2 -2
- package/components/common-app-component/app.profile.component.d.ts +1 -1
- package/components/common-app-component/app.topbar.component.d.ts +1 -1
- package/components/common-app-component/common-app-component.d.ts +1 -1
- package/components/common-app-component/default-setting-form/default-data-settings.component.d.ts +1 -1
- package/components/common-dashboard/common-dashboard.component.d.ts +1 -1
- package/components/congviec-picker/congviec-picker.component.d.ts +1 -1
- package/components/crud/advance-search/advance-search.component.d.ts +1 -1
- package/components/crud/check-ready/check-ready.component.d.ts +1 -1
- package/components/crud/crud-form/crud-form.component.d.ts +1 -1
- package/components/crud/crud-list/crud-list.component.d.ts +1 -1
- package/components/crud/table-detail-form/table-detail-form.component.d.ts +1 -1
- package/components/crud/tn-table.component.d.ts +1 -1
- package/components/crud/tree-table/tree-table.component.d.ts +1 -1
- package/components/datetime-picker/datetime-picker.component.d.ts +1 -1
- package/components/datetime-picker-range/datetime-picker-range.component.d.ts +1 -1
- package/components/dropdown/dropdown.component.d.ts +1 -1
- package/components/dropdown/quick-add-form/quick-add-form.component.d.ts +1 -1
- package/components/entity-permission/entity-permission.component.d.ts +1 -1
- package/components/entity-picker/entity-picker-box/entity-picker-box.component.d.ts +1 -1
- package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts +1 -1
- package/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.d.ts +1 -1
- package/components/entity-picker/entity-picker-dialog/entity-picker-dialog.component.d.ts +1 -1
- package/components/entity-picker/entity-picker.component.d.ts +1 -1
- package/components/equation-editor/equation-editor.component.d.ts +1 -1
- package/components/file-explorer/file-explorer.component.d.ts +1 -1
- package/components/file-explorer/file-form/file-form.component.d.ts +1 -1
- package/components/file-explorer/file-ky-so-sim/file-ky-so-sim.component.d.ts +1 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts +1 -1
- package/components/file-explorer/file-picker-dialog/file-picker-dialog.component.d.ts +1 -1
- package/components/file-explorer/file-tai-lieu/file-tai-lieu.component.d.ts +1 -1
- package/components/file-explorer/file-tai-lieu/khaithac-tailieu-dungchung/khaithac-tailieu-dungchung.component.d.ts +1 -1
- package/components/file-explorer/file-tai-lieu/tailieu-cuatoi/tailieu-cuatoi.component.d.ts +1 -1
- package/components/file-explorer/file-version-list/file-version-list.component.d.ts +1 -1
- package/components/file-explorer/file-viewer/file-viewer.component.d.ts +1 -1
- package/components/file-explorer/folder-form/folder-form.component.d.ts +1 -1
- package/components/file-explorer/ky-so-sim-danh-sach-chu-ky/ky-so-sim-danh-sach-chu-ky.component.d.ts +1 -1
- package/components/file-explorer/signature-detail/signature-detail.component.d.ts +1 -1
- package/components/file-upload/file-upload.component.d.ts +1 -1
- package/components/key-value/key-value.component.d.ts +1 -1
- package/components/mask/mask.component.d.ts +1 -1
- package/components/not-found/not-found.component.d.ts +1 -1
- package/components/number-picker-range/number-picker-range.component.d.ts +1 -1
- package/components/paging-next-back-only/paging-next-back-only.component.d.ts +1 -1
- package/components/permission-utils/permission-utils.component.d.ts +1 -1
- package/components/qr-code-generator/qr-code-generator.component.d.ts +1 -1
- package/components/query-builders/query-builder/query-builder.component.d.ts +1 -1
- package/components/query-builders/query-builder-group/query-builder-group.component.d.ts +1 -1
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts +1 -1
- package/components/radio-button-list/radio-button-list.component.d.ts +1 -1
- package/components/report-queue/report-queue.component.d.ts +1 -1
- package/components/service-file-upload/service-file-upload.component.d.ts +1 -1
- package/components/settings/settings-row/settings-row.component.d.ts +1 -1
- package/components/settings/settings-workflow/settings-workflow-no1/settings-workflow-no1.component.d.ts +1 -1
- package/components/settings/settings-workflow/settings-workflow.component.d.ts +1 -1
- package/components/settings/settings.component.d.ts +1 -1
- package/components/share-link-by-permission/share-link-by-permission.component.d.ts +1 -1
- package/components/splash-component/splash-component-v1/splash-component-v1.component.d.ts +1 -1
- package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts +1 -1
- package/components/splash-component/splash-component.component.d.ts +1 -1
- package/components/statemachines/dynamic-node/dynamic-node.component.d.ts +1 -1
- package/components/statemachines/state/state.component.d.ts +1 -1
- package/components/statemachines/state-metadata/state-metadata.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-receiver-user/statemachines-connection-receiver-user.component.d.ts +1 -1
- package/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.d.ts +1 -1
- package/components/statemachines/statemachines-designer/statemachines-designer.component.d.ts +1 -1
- package/components/tn-app-help/helper-current-page/helper-current-page.component.d.ts +1 -1
- package/components/tn-app-help/tn-app-help.component.d.ts +1 -1
- package/components/tn-app-notification/tn-app-notification-list/tn-app-notification-list.component.d.ts +1 -1
- package/components/tn-app-notification/tn-app-notification.component.d.ts +1 -1
- package/components/tn-checkbox/tn-checkbox.component.d.ts +1 -1
- package/components/tn-color-picker/tn-color-picker.component.d.ts +1 -1
- package/components/tn-custom-scrollbar/tn-custom-scrollbar.component.d.ts +1 -1
- package/components/tn-dialog/tn-dialog.component.d.ts +1 -1
- package/components/tn-tabview/tn-tabview.component.d.ts +1 -1
- package/components/tn-template/tn-template.component.d.ts +1 -1
- package/components/tn-tinymce/tn-tinymce.component.d.ts +1 -1
- package/components/universal-link-processor/universal-link-processor.component.d.ts +1 -1
- package/components/user-picker/user-picker-box/user-picker-box.component.d.ts +1 -1
- package/components/user-picker/user-picker-dialog/user-picker-dialog.component.d.ts +1 -1
- package/components/user-picker/user-picker.component.d.ts +1 -1
- package/components/vanban-picker/vanban-den-picker/vanban-den-picker.component.d.ts +1 -1
- package/components/vanban-picker/vanban-di-picker/vanban-di-picker.component.d.ts +1 -1
- package/components/vanban-picker/vanban-picker-dialog/vanban-picker-dialog.component.d.ts +1 -1
- package/components/vanban-picker/vanban-picker.component.d.ts +1 -1
- package/components/workflow/cho-y-kien-form/cho-y-kien-form.component.d.ts +1 -1
- package/components/workflow/permission-sharing/permission-sharing.component.d.ts +1 -1
- package/components/workflow/process-workflow-form/process-workflow-form.component.d.ts +1 -1
- package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts +1 -1
- package/components/workflow/simple-workflow-form/simple-workflow-form.component.d.ts +1 -1
- package/components/workflow/start-workflow/start-workflow.component.d.ts +1 -1
- package/components/workflow/workflow-history/workflow-history.component.d.ts +1 -1
- package/components/workflow/workflow-history-dialog/workflow-history-dialog.component.d.ts +1 -1
- package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts +1 -1
- package/components/workflow/workflow-permission/workflow-permission.component.d.ts +1 -1
- package/components/workflow/workflow-permission-form/workflow-permission-form.component.d.ts +1 -1
- package/components/workflow/workflow-picker/workflow-picker.component.d.ts +1 -1
- package/components/workflow/workflow-setting/workflow-setting.component.d.ts +1 -1
- package/components/workflow/workflow-setting-dialog/workflow-setting-dialog.component.d.ts +1 -1
- package/components/workflow/workflow-setting-new/workflow-setting-new.component.d.ts +1 -1
- package/congviec/cauhinh-workflow/cauhinh-workflow-detail/cauhinh-workflow-detail.component.d.ts +1 -1
- package/congviec/cauhinh-workflow/cauhinh-workflow.component.d.ts +1 -1
- package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts +1 -1
- package/congviec/congviec/congviec-dinhkem-form/congviec-dinhkem-form.component.d.ts +1 -1
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts +1 -1
- package/congviec/congviec/congviec-next-first-step/congviec-next-first-step.component.d.ts +1 -1
- package/congviec/congviec/congviec.component.d.ts +1 -1
- package/congviec/congviec-test/congviec.component.d.ts +1 -1
- package/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec-form/dm-linhvuc-congviec-form.component.d.ts +1 -1
- package/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec.component.d.ts +1 -1
- package/congviec/dm-loai-congviec/dm-loai-congviec-form/dm-loai-congviec-form.component.d.ts +1 -1
- package/congviec/dm-loai-congviec/dm-loai-congviec.component.d.ts +1 -1
- package/congviec/dm-priority/dm-priority-form/dm-priority-form.component.d.ts +1 -1
- package/congviec/dm-priority/dm-priority.component.d.ts +1 -1
- package/directives/authorize.directive.d.ts +1 -1
- package/directives/prevent-shift-tab.directive.d.ts +1 -1
- package/directives/primeng/tn-table.directive.d.ts +5 -5
- package/directives/tn-template.directive.d.ts +1 -1
- package/esm2020/app-context/application-context.service.mjs +3 -3
- package/esm2020/app-context/component-context.service.mjs +3 -3
- package/esm2020/classes/base/component-base.mjs +3 -3
- package/esm2020/classes/base/data-form-base.mjs +3 -3
- package/esm2020/classes/base/data-list-base.mjs +3 -3
- package/esm2020/classes/base/list-base.mjs +3 -3
- package/esm2020/classes/base/tree-list-base.mjs +3 -3
- package/esm2020/components/access-denied-component/access-denied-v1/access-denied-v1.component.mjs +3 -3
- package/esm2020/components/access-denied-component/access-denied.component.mjs +6 -6
- package/esm2020/components/add-news/add-news.component.mjs +6 -6
- package/esm2020/components/address/address.component.mjs +5 -5
- package/esm2020/components/address/services/address.service.mjs +3 -3
- package/esm2020/components/after-view-checked/after-view-checked.component.mjs +4 -4
- package/esm2020/components/autocomplete-datasource/autocomplete-datasource.component.mjs +7 -7
- package/esm2020/components/autocomplete-picker/autocomplete-picker.component.mjs +11 -11
- package/esm2020/components/avatar-uploader/avatar-uploader.component.mjs +6 -6
- package/esm2020/components/chat/chat-box/chat-box.component.mjs +7 -7
- package/esm2020/components/chat/chat-send-message-box/chat-send-message-box.component.mjs +10 -10
- package/esm2020/components/chat/services/chat.service.mjs +3 -3
- package/esm2020/components/chat/services/content.service.mjs +3 -3
- package/esm2020/components/chat/services/message-board.service.mjs +3 -3
- package/esm2020/components/chat/services/status.service.mjs +3 -3
- package/esm2020/components/check-box-list/check-box-list.component.mjs +8 -8
- package/esm2020/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.mjs +7 -7
- package/esm2020/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.mjs +6 -6
- package/esm2020/components/cocautochuc/services/cocautochuc.service.mjs +3 -3
- package/esm2020/components/common-app-component/app-root-menu/app-root-menu.component.mjs +4 -4
- package/esm2020/components/common-app-component/app-topbar-v1/app-topbar-v1.component.mjs +11 -11
- package/esm2020/components/common-app-component/app-topbar-v2/app-topbar-v2.component.mjs +9 -9
- package/esm2020/components/common-app-component/app.footer.component.mjs +3 -3
- package/esm2020/components/common-app-component/app.menu.component.mjs +11 -17
- package/esm2020/components/common-app-component/app.profile.component.mjs +5 -5
- package/esm2020/components/common-app-component/app.topbar.component.mjs +11 -11
- package/esm2020/components/common-app-component/common-app-component.mjs +15 -15
- package/esm2020/components/common-app-component/default-setting-form/default-data-settings.component.mjs +7 -7
- package/esm2020/components/common-dashboard/common-dashboard.component.mjs +3 -3
- package/esm2020/components/congviec-picker/congviec-picker.component.mjs +7 -7
- package/esm2020/components/congviec-picker/services/congviec.service.mjs +3 -3
- package/esm2020/components/congviec-picker/services/taskworkflowhistories.service.mjs +3 -3
- package/esm2020/components/crud/advance-search/advance-search.component.mjs +14 -14
- package/esm2020/components/crud/check-ready/check-ready.component.mjs +4 -4
- package/esm2020/components/crud/crud-form/crud-form.component.mjs +26 -26
- package/esm2020/components/crud/crud-list/crud-list.component.mjs +25 -25
- package/esm2020/components/crud/table-detail-form/table-detail-form.component.mjs +6 -6
- package/esm2020/components/crud/tn-table.component.mjs +3 -3
- package/esm2020/components/crud/tree-table/tree-table.component.mjs +23 -23
- package/esm2020/components/datetime-picker/datetime-picker.component.mjs +7 -7
- package/esm2020/components/datetime-picker-range/datetime-picker-range.component.mjs +6 -6
- package/esm2020/components/dropdown/dropdown.component.mjs +11 -11
- package/esm2020/components/dropdown/quick-add-form/quick-add-form.component.mjs +6 -6
- package/esm2020/components/dropdown/services/dropdown.service.mjs +3 -3
- package/esm2020/components/entity-permission/entity-permission.component.mjs +9 -9
- package/esm2020/components/entity-permission/services.cs/entity-permission.service.mjs +3 -3
- package/esm2020/components/entity-picker/entity-picker-box/entity-picker-box.component.mjs +7 -7
- package/esm2020/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.mjs +7 -7
- package/esm2020/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.mjs +7 -7
- package/esm2020/components/entity-picker/entity-picker-dialog/entity-picker-dialog.component.mjs +7 -7
- package/esm2020/components/entity-picker/entity-picker.component.mjs +10 -10
- package/esm2020/components/equation-editor/equation-editor.component.mjs +6 -6
- package/esm2020/components/file-explorer/file-explorer.component.mjs +6 -6
- package/esm2020/components/file-explorer/file-form/file-form.component.mjs +7 -7
- package/esm2020/components/file-explorer/file-ky-so-sim/file-ky-so-sim.component.mjs +8 -8
- package/esm2020/components/file-explorer/file-manager/file-manager.component.mjs +22 -22
- package/esm2020/components/file-explorer/file-picker-dialog/file-picker-dialog.component.mjs +7 -7
- package/esm2020/components/file-explorer/file-tai-lieu/file-tai-lieu.component.mjs +9 -9
- package/esm2020/components/file-explorer/file-tai-lieu/khaithac-tailieu-dungchung/khaithac-tailieu-dungchung.component.mjs +4 -4
- package/esm2020/components/file-explorer/file-tai-lieu/tailieu-cuatoi/tailieu-cuatoi.component.mjs +4 -4
- package/esm2020/components/file-explorer/file-version-list/file-version-list.component.mjs +9 -9
- package/esm2020/components/file-explorer/file-viewer/file-viewer.component.mjs +9 -9
- package/esm2020/components/file-explorer/folder-form/folder-form.component.mjs +7 -7
- package/esm2020/components/file-explorer/ky-so-sim-danh-sach-chu-ky/ky-so-sim-danh-sach-chu-ky.component.mjs +6 -6
- package/esm2020/components/file-explorer/services/danhmuc-dungchung.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/download-link.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/file-data.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/file-explorer-new.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/file-explorer.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/file-object.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/file-version.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/folder.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/ky-so-sim-chu-ky-user.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/ky-so-sim-signPDF.service.mjs +3 -3
- package/esm2020/components/file-explorer/services/my-drive.service.mjs +3 -3
- package/esm2020/components/file-explorer/signature-detail/signature-detail.component.mjs +3 -3
- package/esm2020/components/file-upload/file-upload.component.mjs +9 -9
- package/esm2020/components/key-value/key-value.component.mjs +3 -3
- package/esm2020/components/mask/mask.component.mjs +7 -7
- package/esm2020/components/not-found/not-found.component.mjs +3 -3
- package/esm2020/components/number-picker-range/number-picker-range.component.mjs +7 -7
- package/esm2020/components/paging-next-back-only/paging-next-back-only.component.mjs +8 -8
- package/esm2020/components/permission-utils/permission-utils.component.mjs +9 -9
- package/esm2020/components/qr-code-generator/qr-code-generator.component.mjs +4 -4
- package/esm2020/components/query-builders/query-builder/query-builder.component.mjs +8 -8
- package/esm2020/components/query-builders/query-builder-group/query-builder-group.component.mjs +10 -10
- package/esm2020/components/query-builders/query-builder-rule/query-builder-rule.component.mjs +18 -18
- package/esm2020/components/query-builders/services/dm-chucvu.service.mjs +3 -3
- package/esm2020/components/radio-button-list/radio-button-list.component.mjs +6 -6
- package/esm2020/components/report-queue/report-queue.component.mjs +8 -8
- package/esm2020/components/service-file-upload/service-file-upload.component.mjs +10 -10
- package/esm2020/components/settings/settings-row/settings-row.component.mjs +8 -8
- package/esm2020/components/settings/settings-workflow/settings-workflow-no1/settings-workflow-no1.component.mjs +4 -4
- package/esm2020/components/settings/settings-workflow/settings-workflow.component.mjs +9 -9
- package/esm2020/components/settings/settings.component.mjs +14 -14
- package/esm2020/components/share-link-by-permission/share-link-by-permission.component.mjs +7 -7
- package/esm2020/components/splash-component/splash-component-v1/splash-component-v1.component.mjs +7 -7
- package/esm2020/components/splash-component/splash-component-v2/splash-component-v2.component.mjs +7 -7
- package/esm2020/components/splash-component/splash-component.component.mjs +9 -9
- package/esm2020/components/statemachines/dynamic-node/dynamic-node.component.mjs +3 -3
- package/esm2020/components/statemachines/services/node.service.mjs +3 -3
- package/esm2020/components/statemachines/services/statemachines.service.mjs +3 -3
- package/esm2020/components/statemachines/state/state.component.mjs +4 -4
- package/esm2020/components/statemachines/state-metadata/state-metadata.component.mjs +7 -7
- package/esm2020/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.mjs +9 -9
- package/esm2020/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.mjs +7 -7
- package/esm2020/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.mjs +3 -3
- package/esm2020/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.mjs +3 -3
- package/esm2020/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.mjs +3 -3
- package/esm2020/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.mjs +3 -3
- package/esm2020/components/statemachines/statemachines-connection-receiver-user/statemachines-connection-receiver-user.component.mjs +3 -3
- package/esm2020/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.mjs +3 -3
- package/esm2020/components/statemachines/statemachines-designer/statemachines-designer.component.mjs +13 -13
- package/esm2020/components/tn-app-help/helper-current-page/helper-current-page.component.mjs +3 -3
- package/esm2020/components/tn-app-help/services/path-name.service.mjs +3 -3
- package/esm2020/components/tn-app-help/tn-app-help.component.mjs +7 -7
- package/esm2020/components/tn-app-notification/tn-app-notification-list/tn-app-notification-list.component.mjs +4 -4
- package/esm2020/components/tn-app-notification/tn-app-notification.component.mjs +5 -5
- package/esm2020/components/tn-checkbox/tn-checkbox.component.mjs +6 -6
- package/esm2020/components/tn-color-picker/tn-color-picker.component.mjs +7 -7
- package/esm2020/components/tn-custom-scrollbar/tn-custom-scrollbar.component.mjs +6 -6
- package/esm2020/components/tn-dialog/tn-dialog.component.mjs +8 -8
- package/esm2020/components/tn-tabview/tn-tabview.component.mjs +6 -6
- package/esm2020/components/tn-template/tn-template.component.mjs +4 -4
- package/esm2020/components/tn-tinymce/tn-tinymce.component.mjs +9 -9
- package/esm2020/components/universal-link-processor/universal-link-processor.component.mjs +4 -4
- package/esm2020/components/user-picker/user-picker-box/user-picker-box.component.mjs +9 -9
- package/esm2020/components/user-picker/user-picker-dialog/user-picker-dialog.component.mjs +4 -4
- package/esm2020/components/user-picker/user-picker.component.mjs +12 -12
- package/esm2020/components/vanban-picker/services/vanban-den.service.mjs +3 -3
- package/esm2020/components/vanban-picker/services/vanban-di.service.mjs +3 -3
- package/esm2020/components/vanban-picker/vanban-den-picker/vanban-den-picker.component.mjs +10 -10
- package/esm2020/components/vanban-picker/vanban-di-picker/vanban-di-picker.component.mjs +10 -10
- package/esm2020/components/vanban-picker/vanban-picker-dialog/vanban-picker-dialog.component.mjs +6 -6
- package/esm2020/components/vanban-picker/vanban-picker.component.mjs +10 -10
- package/esm2020/components/workflow/cho-y-kien-form/cho-y-kien-form.component.mjs +7 -7
- package/esm2020/components/workflow/permission-sharing/permission-sharing.component.mjs +7 -7
- package/esm2020/components/workflow/process-workflow-form/process-workflow-form.component.mjs +9 -9
- package/esm2020/components/workflow/process-workflow-target/process-workflow-target.component.mjs +4 -4
- package/esm2020/components/workflow/services/canbo-hoso.service.mjs +3 -3
- package/esm2020/components/workflow/services/dm-loai-congviec.service.mjs +3 -3
- package/esm2020/components/workflow/services/entity-workflow-history.service.mjs +3 -3
- package/esm2020/components/workflow/services/entity-workflow-setting.service.mjs +3 -3
- package/esm2020/components/workflow/services/workflow-history.service.mjs +3 -3
- package/esm2020/components/workflow/services/workflow-permission-detail.service.mjs +3 -3
- package/esm2020/components/workflow/services/workflow-permission.service.mjs +3 -3
- package/esm2020/components/workflow/services/workflow-settings.service.mjs +3 -3
- package/esm2020/components/workflow/simple-workflow-form/simple-workflow-form.component.mjs +7 -7
- package/esm2020/components/workflow/start-workflow/start-workflow.component.mjs +8 -8
- package/esm2020/components/workflow/workflow-history/workflow-history.component.mjs +6 -6
- package/esm2020/components/workflow/workflow-history-dialog/workflow-history-dialog.component.mjs +4 -4
- package/esm2020/components/workflow/workflow-history-new/workflow-history-new.component.mjs +10 -10
- package/esm2020/components/workflow/workflow-permission/workflow-permission.component.mjs +8 -8
- package/esm2020/components/workflow/workflow-permission-form/workflow-permission-form.component.mjs +7 -7
- package/esm2020/components/workflow/workflow-picker/workflow-picker.component.mjs +8 -8
- package/esm2020/components/workflow/workflow-setting/workflow-setting.component.mjs +5 -5
- package/esm2020/components/workflow/workflow-setting-dialog/workflow-setting-dialog.component.mjs +4 -4
- package/esm2020/components/workflow/workflow-setting-new/workflow-setting-new.component.mjs +7 -7
- package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow-detail/cauhinh-workflow-detail.component.mjs +5 -5
- package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow.component.mjs +3 -3
- package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow.module.mjs +10 -12
- package/esm2020/congviec/cauhinh-workflow/services/cauhinh-workflow.service.mjs +3 -3
- package/esm2020/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.mjs +14 -14
- package/esm2020/congviec/congviec/congviec-dinhkem-form/congviec-dinhkem-form.component.mjs +4 -4
- package/esm2020/congviec/congviec/congviec-form/congviec-form.component.mjs +9 -9
- package/esm2020/congviec/congviec/congviec-next-first-step/congviec-next-first-step.component.mjs +9 -9
- package/esm2020/congviec/congviec/congviec.component.mjs +11 -11
- package/esm2020/congviec/congviec/services/congviec-dinhkem.service.mjs +3 -3
- package/esm2020/congviec/congviec/services/congviec.service.mjs +3 -3
- package/esm2020/congviec/congviec/services/congvieclienquan.service.mjs +3 -3
- package/esm2020/congviec/congviec-test/congviec.component.mjs +3 -3
- package/esm2020/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec-form/dm-linhvuc-congviec-form.component.mjs +7 -7
- package/esm2020/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec.component.mjs +6 -6
- package/esm2020/congviec/dm-linhvuc-congviec/services/dm-linhvuc-congviec.service.mjs +3 -3
- package/esm2020/congviec/dm-loai-congviec/dm-loai-congviec-form/dm-loai-congviec-form.component.mjs +7 -7
- package/esm2020/congviec/dm-loai-congviec/dm-loai-congviec.component.mjs +6 -6
- package/esm2020/congviec/dm-loai-congviec/services/dm-loai-congviec.service.mjs +3 -3
- package/esm2020/congviec/dm-priority/dm-priority-form/dm-priority-form.component.mjs +4 -4
- package/esm2020/congviec/dm-priority/dm-priority.component.mjs +5 -5
- package/esm2020/congviec/dm-priority/dm-priority.module.mjs +9 -9
- package/esm2020/congviec/dm-priority/services/dm-priority.service.mjs +3 -3
- package/esm2020/directives/authorize.directive.mjs +3 -3
- package/esm2020/directives/prevent-shift-tab.directive.mjs +3 -3
- package/esm2020/directives/primeng/tn-table.directive.mjs +17 -17
- package/esm2020/directives/tn-template.directive.mjs +3 -3
- package/esm2020/dynamic-components/dynamic-component.service.mjs +3 -3
- package/esm2020/intercepters/log.interceptor.mjs +3 -3
- package/esm2020/intercepters/permission-utils.interceptor.mjs +3 -3
- package/esm2020/intercepters/send-access-token.interceptor.mjs +3 -3
- package/esm2020/intercepters/trace.interceptor.mjs +3 -3
- package/esm2020/pipes/approval.pipe.mjs +3 -3
- package/esm2020/pipes/boolean-format.pipe.mjs +3 -3
- package/esm2020/pipes/convertMoneyToWord.pipe.mjs +3 -3
- package/esm2020/pipes/file-icon.pipe.mjs +3 -3
- package/esm2020/pipes/file-size.pipe.mjs +3 -3
- package/esm2020/pipes/highlight.pipe.mjs +3 -3
- package/esm2020/pipes/html-format.pipe.mjs +3 -3
- package/esm2020/pipes/masterData.pipe.mjs +3 -3
- package/esm2020/pipes/multiple-reference-data-format.pipe.mjs +3 -3
- package/esm2020/pipes/organization-format.pipe.mjs +3 -3
- package/esm2020/pipes/organization-name-format.pipe.mjs +3 -3
- package/esm2020/pipes/organizations-format.pipe.mjs +3 -3
- package/esm2020/pipes/reference-data-format.pipe.mjs +3 -3
- package/esm2020/pipes/safe-html.pipe.mjs +3 -3
- package/esm2020/pipes/safe-style.pipe.mjs +3 -3
- package/esm2020/pipes/safe-url.pipe.mjs +3 -3
- package/esm2020/pipes/secure.pipe.mjs +3 -3
- package/esm2020/pipes/string-format.pipe.mjs +3 -3
- package/esm2020/pipes/summary.pipe.mjs +3 -3
- package/esm2020/pipes/tn-date.pipe.mjs +3 -3
- package/esm2020/pipes/user-format.pipe.mjs +3 -3
- package/esm2020/pipes/users-format.pipe.mjs +3 -3
- package/esm2020/services/app-list.service.mjs +3 -3
- package/esm2020/services/article.service.mjs +3 -3
- package/esm2020/services/authen.service.mjs +3 -3
- package/esm2020/services/calculation-engine.service.mjs +3 -3
- package/esm2020/services/canbo-hoso.service.mjs +3 -3
- package/esm2020/services/check-control-visible.service.mjs +3 -3
- package/esm2020/services/common.service.mjs +3 -3
- package/esm2020/services/conditional-builder.service.mjs +3 -3
- package/esm2020/services/crud.service.mjs +3 -3
- package/esm2020/services/custom-router.service.mjs +3 -3
- package/esm2020/services/customize-ui.service.mjs +3 -3
- package/esm2020/services/danhmuc-api.service.mjs +3 -3
- package/esm2020/services/dhvinh-guard.service.mjs +3 -3
- package/esm2020/services/dm-chucvu.service.mjs +3 -3
- package/esm2020/services/dom.service.mjs +3 -3
- package/esm2020/services/eform.service.mjs +3 -3
- package/esm2020/services/entity-metadata.service.mjs +3 -3
- package/esm2020/services/entity-picker.service.mjs +3 -3
- package/esm2020/services/environment.service.mjs +3 -3
- package/esm2020/services/exception-handler.service.mjs +3 -3
- package/esm2020/services/export.service.mjs +3 -3
- package/esm2020/services/file-manager.service.mjs +3 -3
- package/esm2020/services/file-object-v4.service.mjs +3 -3
- package/esm2020/services/generic-guard-child.service.mjs +3 -3
- package/esm2020/services/generic-guard.service.mjs +3 -3
- package/esm2020/services/global.service.mjs +3 -3
- package/esm2020/services/guard-sv.service.mjs +3 -3
- package/esm2020/services/guard.service.mjs +3 -3
- package/esm2020/services/high-performance.service.mjs +3 -3
- package/esm2020/services/image.service.mjs +3 -3
- package/esm2020/services/list-helper.service.mjs +3 -3
- package/esm2020/services/localCache.service.mjs +3 -3
- package/esm2020/services/master-data.service.mjs +3 -3
- package/esm2020/services/menu.service.mjs +3 -3
- package/esm2020/services/newscategory.service.mjs +3 -3
- package/esm2020/services/notification.service.mjs +3 -3
- package/esm2020/services/notifier.service.mjs +3 -3
- package/esm2020/services/organization.service.mjs +3 -3
- package/esm2020/services/permission.service.mjs +3 -3
- package/esm2020/services/position.service.mjs +3 -3
- package/esm2020/services/print.service.mjs +3 -3
- package/esm2020/services/random-data.service.mjs +3 -3
- package/esm2020/services/role.service.mjs +3 -3
- package/esm2020/services/signalr.service.mjs +3 -3
- package/esm2020/services/storage-updated.service.mjs +3 -3
- package/esm2020/services/storage.service.mjs +3 -3
- package/esm2020/services/template-text-v4.service.mjs +3 -3
- package/esm2020/services/template-v4.service.mjs +3 -3
- package/esm2020/services/template.service.mjs +3 -3
- package/esm2020/services/templateinstance.service.mjs +3 -3
- package/esm2020/services/tn-client.service.mjs +3 -3
- package/esm2020/services/unique-number.service.mjs +3 -3
- package/esm2020/services/user-group-real.service.mjs +3 -3
- package/esm2020/services/user-group.service.mjs +3 -3
- package/esm2020/services/user-v5.service.mjs +3 -3
- package/esm2020/services/user.service.mjs +3 -3
- package/esm2020/services/virtual-base.service.mjs +3 -3
- package/esm2020/tnx-shared.module.mjs +6 -6
- package/fesm2015/tnx-shared.mjs +7269 -7277
- package/fesm2015/tnx-shared.mjs.map +1 -1
- package/fesm2020/tnx-shared.mjs +9215 -9223
- package/fesm2020/tnx-shared.mjs.map +1 -1
- package/{tnx-shared.d.ts → index.d.ts} +0 -0
- package/package.json +4 -4
- package/pipes/approval.pipe.d.ts +1 -1
- package/pipes/boolean-format.pipe.d.ts +1 -1
- package/pipes/convertMoneyToWord.pipe.d.ts +1 -1
- package/pipes/file-icon.pipe.d.ts +1 -1
- package/pipes/file-size.pipe.d.ts +1 -1
- package/pipes/highlight.pipe.d.ts +1 -1
- package/pipes/html-format.pipe.d.ts +1 -1
- package/pipes/masterData.pipe.d.ts +1 -1
- package/pipes/multiple-reference-data-format.pipe.d.ts +1 -1
- package/pipes/organization-format.pipe.d.ts +1 -1
- package/pipes/organization-name-format.pipe.d.ts +1 -1
- package/pipes/organizations-format.pipe.d.ts +1 -1
- package/pipes/reference-data-format.pipe.d.ts +1 -1
- package/pipes/safe-html.pipe.d.ts +1 -1
- package/pipes/safe-style.pipe.d.ts +1 -1
- package/pipes/safe-url.pipe.d.ts +1 -1
- package/pipes/secure.pipe.d.ts +1 -1
- package/pipes/string-format.pipe.d.ts +1 -1
- package/pipes/summary.pipe.d.ts +1 -1
- package/pipes/tn-date.pipe.d.ts +1 -1
- package/pipes/user-format.pipe.d.ts +1 -1
- package/pipes/users-format.pipe.d.ts +1 -1
|
@@ -80,8 +80,8 @@ export class AppSubMenuComponent extends ComponentBase {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
AppSubMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
84
|
-
AppSubMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
83
|
+
AppSubMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppSubMenuComponent, deps: [{ token: i1.Router }, { token: i2.CommonService }, { token: i0.Injector }, { token: i3.CustomRouterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
AppSubMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: AppSubMenuComponent, selector: "[app-submenu]", inputs: { item: "item", root: "root", visible: "visible", level: "level" }, providers: [ComponentContextService], usesInheritance: true, ngImport: i0, template: `
|
|
85
85
|
<ng-template ngFor let-child let-i="index" [ngForOf]="(root ? item : item.items)">
|
|
86
86
|
<li *ngIf="child.visible !== false" [ngClass]="{'active-menuitem': child.activated, 'active-menuitem-2': !root}">
|
|
87
87
|
<a [href]="child.href" class="ripplelink" [attr.tabindex]="!visible ? '-1' : null" [attr.level]="child.level"
|
|
@@ -109,7 +109,7 @@ AppSubMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
109
109
|
</ul>
|
|
110
110
|
</li>
|
|
111
111
|
</ng-template>
|
|
112
|
-
`, isInline: true,
|
|
112
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { kind: "component", type: AppSubMenuComponent, selector: "[app-submenu]", inputs: ["item", "root", "visible", "level"] }], animations: [
|
|
113
113
|
trigger('children', [
|
|
114
114
|
state('hiddenAnimated', style({
|
|
115
115
|
height: '0px'
|
|
@@ -127,7 +127,7 @@ AppSubMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
127
127
|
transition('hiddenAnimated => visibleAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
|
|
128
128
|
])
|
|
129
129
|
] });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppSubMenuComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
132
|
args: [{
|
|
133
133
|
selector: '[app-submenu]',
|
|
@@ -322,22 +322,16 @@ export class AppMenuComponent {
|
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
|
-
AppMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
326
|
-
AppMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
325
|
+
AppMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppMenuComponent, deps: [{ token: i6.MenuService }, { token: i7.TranslateService }, { token: i1.Router }, { token: i8.ApplicationContextService }, { token: i2.CommonService }, { token: i9.EnvironmentService }, { token: i10.Title }], target: i0.ɵɵFactoryTarget.Component });
|
|
326
|
+
AppMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: AppMenuComponent, selector: "app-menu", inputs: { reset: "reset" }, ngImport: i0, template: `
|
|
327
327
|
<ul app-submenu [item]="model" [level]="0" [root]="true" class="layout-menu layout-main-menu clearfix" visible="true"></ul>
|
|
328
|
-
`, isInline: true, styles: [""],
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
328
|
+
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: AppSubMenuComponent, selector: "[app-submenu]", inputs: ["item", "root", "visible", "level"] }] });
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppMenuComponent, decorators: [{
|
|
330
330
|
type: Component,
|
|
331
|
-
args: [{
|
|
332
|
-
selector: 'app-menu',
|
|
333
|
-
template: `
|
|
331
|
+
args: [{ selector: 'app-menu', template: `
|
|
334
332
|
<ul app-submenu [item]="model" [level]="0" [root]="true" class="layout-menu layout-main-menu clearfix" visible="true"></ul>
|
|
335
|
-
|
|
336
|
-
styles: [`
|
|
337
|
-
|
|
338
|
-
`]
|
|
339
|
-
}]
|
|
333
|
+
` }]
|
|
340
334
|
}], ctorParameters: function () { return [{ type: i6.MenuService }, { type: i7.TranslateService }, { type: i1.Router }, { type: i8.ApplicationContextService }, { type: i2.CommonService }, { type: i9.EnvironmentService }, { type: i10.Title }]; }, propDecorators: { reset: [{
|
|
341
335
|
type: Input
|
|
342
336
|
}] } });
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24tYXBwLWNvbXBvbmVudC9hcHAubWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7OztBQTBEM0UsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFRbEQ7SUFDSSw0QkFBNEI7SUFDcEIsT0FBZSxFQUNoQixjQUE2QixFQUNwQyxRQUFrQixFQUNWLG9CQUF5QztRQUVqRCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMUixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBRTVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFQckQsZ0JBQVcsR0FBVyxDQUFDLENBQUMsQ0FBQztJQVV6QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVksRUFBRSxJQUFTO1FBQzdCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNWLDhDQUE4QztZQUM5QyxNQUFNLENBQUMsSUFB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STtZQUNELFNBQVMsQ0FBQyxJQUFJLEdBQUcscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3JFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQzdFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBRUwsQ0FBQzs7NkdBdkpRLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDRFQVJmOztLQUVULHFEQXJGUSxtQkFBbUI7MkZBMkZuQixnQkFBZ0I7a0JBVjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRTs7S0FFVDtvQkFDRCxNQUFNLEVBQUUsQ0FBQzs7S0FFUixDQUFDO2lCQUVMO2dSQUdZLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvYXBwbGljYXRpb24tY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Sb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3VzdG9tLXJvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdbYXBwLXN1Ym1lbnVdJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jaGlsZCBsZXQtaT1cImluZGV4XCIgW25nRm9yT2ZdPVwiKHJvb3QgPyBpdGVtIDogaXRlbS5pdGVtcylcIj5cclxuICAgICAgICA8bGkgKm5nSWY9XCJjaGlsZC52aXNpYmxlICE9PSBmYWxzZVwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlLW1lbnVpdGVtJzogY2hpbGQuYWN0aXZhdGVkLCAnYWN0aXZlLW1lbnVpdGVtLTInOiAhcm9vdH1cIj5cclxuICAgICAgICAgICAgPGEgW2hyZWZdPVwiY2hpbGQuaHJlZlwiIGNsYXNzPVwicmlwcGxlbGlua1wiIFthdHRyLnRhYmluZGV4XT1cIiF2aXNpYmxlID8gJy0xJyA6IG51bGxcIiBbYXR0ci5sZXZlbF09XCJjaGlsZC5sZXZlbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZS1tZW51aXRlbS1yb3V0ZXJsaW5rJzogY2hpbGQuYWN0aXZhdGVkfVwiIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50LGNoaWxkKVwiIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihjaGlsZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImxldmVsID09IDBcIiBbbmdDbGFzc109XCIncGkgcGktdGgtbGFyZ2UnXCIgW2F0dHIubGV2ZWxdPVwibGV2ZWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImxldmVsID09IDFcIiBbbmdDbGFzc109XCIncGkgcGktc3Rhci1vJ1wiIFthdHRyLmxldmVsXT1cImxldmVsXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJsZXZlbCA+IDFcIiBbbmdDbGFzc109XCIncGkgcGktY2lyY2xlLW9uJ1wiIFthdHRyLmxldmVsXT1cImxldmVsXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZC5mdWxsTGFiZWxcIiBjbGFzcz1cIm1lbnUtbGFiZWxcIiBbcFRvb2x0aXBdPVwiY2hpbGQuZnVsbExhYmVsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tjaGlsZC5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgPGIgKm5nSWY9XCJjaGlsZC5jb3VudFwiIGNsYXNzPVwiY291bnQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7Y2hpbGQuY291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2I+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjaGlsZC5mdWxsTGFiZWxcIiBjbGFzcz1cIm1lbnUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2NoaWxkLmxhYmVsfX1cclxuICAgICAgICAgICAgICAgICAgICA8YiAqbmdJZj1cImNoaWxkLmNvdW50XCIgY2xhc3M9XCJjb3VudC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tjaGlsZC5jb3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiY2hpbGQuaXRlbXNcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLWRvd24gbWVudWl0ZW0tdG9nZ2xlLWljb25cIj48L2k+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPHVsICpuZ0lmPVwiY2hpbGQuaXRlbXNcIiBhcHAtc3VibWVudSBbaXRlbV09XCJjaGlsZFwiIFtsZXZlbF09XCJsZXZlbCArIDFcIiBbdmlzaWJsZV09XCJjaGlsZC5hY3RpdmF0ZWRcIlxyXG4gICAgICAgICAgICBbQGNoaWxkcmVuXT1cIigoX2NvbW1vblNlcnZpY2UuaXNTbGltKCl8fF9jb21tb25TZXJ2aWNlLmlzSG9yaXpvbnRhbCgpKSAmJiByb290ID8gKGNoaWxkLmFjdGl2YXRlZCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKSA6IGNoaWxkLmFjdGl2YXRlZCkgPyAndmlzaWJsZUFuaW1hdGVkJyA6ICdoaWRkZW5BbmltYXRlZCdcIj5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcignY2hpbGRyZW4nLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKCdoaWRkZW5BbmltYXRlZCcsIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCdcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgndmlzaWJsZUFuaW1hdGVkJywgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdibG9jaydcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgnaGlkZGVuJywgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZUFuaW1hdGVkID0+IGhpZGRlbkFuaW1hdGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRkZW5BbmltYXRlZCA9PiB2aXNpYmxlQW5pbWF0ZWQnLCBhbmltYXRlKCc0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknKSlcclxuICAgICAgICBdKVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcFN1Yk1lbnVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHtcclxuICAgIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICAgIEBJbnB1dCgpIHJvb3Q6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlcjtcclxuXHJcbiAgICBhY3RpdmVJbmRleDogbnVtYmVyID0gLTI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy8gcHVibGljIGFwcDogQXBwQ29tcG9uZW50LFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHB1YmxpYyBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBfY3VzdG9tUm91dGVyU2VydmljZTogQ3VzdG9tUm91dGVyU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1DbGljayhldmVudDogRXZlbnQsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGlmIChpdGVtLnVybCkge1xyXG4gICAgICAgICAgICAvLyBnbyB0byBleHRlcm5hbCB1cmwsIGRlZmF1bHQgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSA9ICF0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcclxuICAgICAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGFjdGl2YXRlIGN1cnJlbnQgaXRlbSBhbmQgZGVhY3RpdmF0ZSBhY3RpdmUgc2libGluZyBpZiBhbnlcclxuICAgICAgICBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgaXRlbS5hY3RpdmF0ZWQgPSAhaXRlbS5hY3RpdmF0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpdGVtLmFjdGl2YXRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBleGVjdXRlIGNvbW1hbmRcclxuICAgICAgICBpZiAoaXRlbS5jb21tYW5kKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uY29tbWFuZCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpdGVtOiBpdGVtIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gaGlkZSBtZW51XHJcbiAgICAgICAgaWYgKCFpdGVtLml0ZW1zKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb21tb25TZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMuX2NvbW1vblNlcnZpY2UuaXNTbGltKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2UucmVzZXRNZW51ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2UucmVzZXRNZW51ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2Uucm90YXRlTWVudUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2Uuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSA9ICF0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpdGVtLnJvdXRlckxpbmspIHtcclxuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoaXRlbS5yb3V0ZXJMaW5rKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlRW50ZXIoaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCAmJiB0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSAmJiAodGhpcy5fY29tbW9uU2VydmljZS5pc0hvcml6b250YWwoKSB8fCB0aGlzLl9jb21tb25TZXJ2aWNlLmlzU2xpbSgpKVxyXG4gICAgICAgICAgICAmJiAhdGhpcy5fY29tbW9uU2VydmljZS5pc01vYmlsZSgpICYmICF0aGlzLl9jb21tb25TZXJ2aWNlLmlzVGFibGV0KCkpIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLmFjdGl2YXRlZCA9ICFpdGVtLmFjdGl2YXRlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHVsIGFwcC1zdWJtZW51IFtpdGVtXT1cIm1vZGVsXCIgW2xldmVsXT1cIjBcIiBbcm9vdF09XCJ0cnVlXCIgY2xhc3M9XCJsYXlvdXQtbWVudSBsYXlvdXQtbWFpbi1tZW51IGNsZWFyZml4XCIgdmlzaWJsZT1cInRydWVcIj48L3VsPlxyXG4gICAgYCxcclxuICAgIHN0eWxlczogW2BcclxuXHJcbiAgICBgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIHJlc2V0OiBib29sZWFuO1xyXG5cclxuICAgIG1vZGVsOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHRoZW1lID0gJ2JsdWUnO1xyXG4gICAgbGF5b3V0ID0gJ2JsdWUnO1xyXG4gICAgdmVyc2lvbiA9ICd2Myc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwbGljYXRpb25Db250ZXh0OiBBcHBsaWNhdGlvbkNvbnRleHRTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9lbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF90aXRsZTogVGl0bGUsXHJcbiAgICApIHtcclxuICAgICAgICBjb25zdCBhcHBDb2RlID0gX2Vudmlyb25tZW50U2VydmljZS5nZXRBcHBDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgYXBwQ29kZUxvd2VyQ2FzZSA9IGFwcENvZGUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBsZXQgZnVuY1NldE5ld1RhYkxpbmsgPSBsaW5rID0+IGxpbms7XHJcbiAgICAgICAgaWYgKF9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0RW5hYmxlQmFzZUhyZWYoKSkge1xyXG4gICAgICAgICAgICAvLyBO4bq/dSBsw6AgbcO0aSB0csaw4budbmcgdHJp4buDbiBraGFpIHRow6wgY+G7mW5nIHRow6ptIHRp4buBbiB04buRIHBow6JuIGjhu4cgdsOgbyByb3V0ZXIgbGluayDEkeG7gyBjw7MgdGjhu4MgY2h14buZdCBwaOG6o2kgbeG7nyB0YWIgbeG7m2lcclxuICAgICAgICAgICAgZnVuY1NldE5ld1RhYkxpbmsgPSBsaW5rID0+IGAvJHthcHBDb2RlTG93ZXJDYXNlfSR7bGlua31gO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9tZW51U2VydmljZS5yZW5kZXJNZW51QnlBcHBDb2RlKGFwcENvZGUpO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLl9tZW51U2VydmljZS5nZXRNZW51SXRlbXMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaSBpbiB0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMubW9kZWxbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2UubWVudUNoYW5nZWQuc3Vic2NyaWJlKHJhd01lbnVzID0+IHtcclxuICAgICAgICAgICAgLy8gcmVmb3JtYXQgbOG6oWkgdG/DoG4gYuG7mSBtZW51XHJcbiAgICAgICAgICAgIHRoaXMuZGVRdXlTZXROZXdUYWJMaW5rKHRoaXMubW9kZWwsIGZ1bmNTZXROZXdUYWJMaW5rLCAxKTtcclxuICAgICAgICAgICAgdGhpcy5fYXBwbGljYXRpb25Db250ZXh0LmdldFJvb3RDb250ZXh0KCkuZmlyZUV2ZW50KENvbUN0eENvbnN0YW50cy5ST09ULk1FTlVfUkVMT0FEKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZVF1eVNldE5ld1RhYkxpbmsobWVudXMsIGZ1bmMsIGxldmVsKSB7XHJcbiAgICAgICAgaWYgKCFtZW51cyB8fCBtZW51cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1lbnVzLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghaXRlbS5pc1Jvb3RNZW51KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5uZXdUYWJMaW5rID0gZnVuYyhpdGVtLnJvdXRlckxpbmspO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaHJlZiA9IGl0ZW0ubmV3VGFiTGluaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaHJlZiA9ICcjJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGl0ZW0ubGV2ZWwgPSBsZXZlbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRlUXV5U2V0TmV3VGFiTGluayhpdGVtLml0ZW1zLCBmdW5jLCBsZXZlbCArIDEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2ZUl0ZW0oaXRlbTogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGl0ZW0udXJsKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGkgaW4gaXRlbS5pdGVtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbShpdGVtLml0ZW1zW2ldKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaXRlbS5hY3RpdmF0ZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS5hY3RpdmF0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMudHJpbUxpbmsodGhpcy5fcm91dGVyLnVybCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZXJMaW5rID0gdGhpcy50cmltTGluayhpdGVtLnJvdXRlckxpbmspO1xyXG5cclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRVcmwgPT09IGN1cnJlbnRSb3V0ZXJMaW5rIHx8IHRoaXMuX21lbnVTZXJ2aWNlLmNoZWNrTWFwcGluZ1JvdXRlckxpbmsoY3VycmVudFJvdXRlckxpbmssIGN1cnJlbnRVcmwpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aXRsZS5zZXRUaXRsZShgJHtpdGVtLmxhYmVsfSAtICR7dGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldFRpdGxlKCl9YCk7XHJcbiAgICAgICAgICAgICAgICBpdGVtLmFjdGl2YXRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpdGVtLmFjdGl2YXRlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbS5hY3RpdmF0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdHJpbUxpbmsob2xkVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghb2xkVXJsKSByZXR1cm4gb2xkVXJsO1xyXG4gICAgICAgIGxldCB1cmwgPSBvbGRVcmw7XHJcbiAgICAgICAgbGV0IGkgPSB1cmwuaW5kZXhPZignIycpO1xyXG4gICAgICAgIGlmIChpID4gMCkgdXJsID0gdXJsLnN1YnN0cmluZygwLCBpKTtcclxuICAgICAgICBpID0gdXJsLmluZGV4T2YoJz8nKTtcclxuICAgICAgICBpZiAoaSA+IDApIHVybCA9IHVybC5zdWJzdHJpbmcoMCwgaSk7XHJcbiAgICAgICAgcmV0dXJuIHVybC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB0aGVtZUxpbms6IEhUTUxMaW5rRWxlbWVudCA9IDxIVE1MTGlua0VsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoZW1lLWNzcycpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52ZXJzaW9uID09PSAndjMnKSB7XHJcbiAgICAgICAgICAgIHRoZW1lTGluay5ocmVmID0gJ2Fzc2V0cy90aGVtZS90aGVtZS0nICsgdGhlbWUgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGVtZUxpbmsuaHJlZiA9ICdhc3NldHMvdGhlbWUvdGhlbWUtJyArIHRoZW1lICsgJy12NCcgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWU7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZUxheW91dChsYXlvdXQ6IHN0cmluZywgc3BlY2lhbD86IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCBsYXlvdXRMaW5rOiBIVE1MTGlua0VsZW1lbnQgPSA8SFRNTExpbmtFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXlvdXQtY3NzJyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnZlcnNpb24gPT09ICd2MycpIHtcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgbGF5b3V0ICsgJy5jc3MnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgbGF5b3V0ICsgJy12NCcgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxheW91dCA9IGxheW91dDtcclxuXHJcbiAgICAgICAgaWYgKHNwZWNpYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZS5kYXJrTWVudSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVZlcnNpb24odmVyc2lvbjogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdGhlbWVMaW5rOiBIVE1MTGlua0VsZW1lbnQgPSA8SFRNTExpbmtFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVtZS1jc3MnKTtcclxuICAgICAgICBjb25zdCBsYXlvdXRMaW5rOiBIVE1MTGlua0VsZW1lbnQgPSA8SFRNTExpbmtFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXlvdXQtY3NzJyk7XHJcblxyXG4gICAgICAgIGlmICh2ZXJzaW9uID09PSAndjMnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmVyc2lvbiA9ICd2Myc7XHJcbiAgICAgICAgICAgIHRoZW1lTGluay5ocmVmID0gJ2Fzc2V0cy90aGVtZS90aGVtZS0nICsgdGhpcy50aGVtZSArICcuY3NzJztcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgdGhpcy5sYXlvdXQgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGVtZUxpbmsuaHJlZiA9ICdhc3NldHMvdGhlbWUvdGhlbWUtJyArIHRoaXMudGhlbWUgKyAnLXY0JyArICcuY3NzJztcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgdGhpcy5sYXlvdXQgKyAnLXY0JyArICcuY3NzJztcclxuICAgICAgICAgICAgdGhpcy52ZXJzaW9uID0gJy12NCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24tYXBwLWNvbXBvbmVudC9hcHAubWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7OztBQTBEM0UsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFRbEQ7SUFDSSw0QkFBNEI7SUFDcEIsT0FBZSxFQUNoQixjQUE2QixFQUNwQyxRQUFrQixFQUNWLG9CQUF5QztRQUVqRCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMUixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBRTVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFQckQsZ0JBQVcsR0FBVyxDQUFDLENBQUMsQ0FBQztJQVV6QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVksRUFBRSxJQUFTO1FBQzdCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNWLDhDQUE4QztZQUM5QyxNQUFNLENBQUMsSUFB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STtZQUNELFNBQVMsQ0FBQyxJQUFJLEdBQUcscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3JFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQzdFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBRUwsQ0FBQzs7NkdBdkpRLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDRFQVJmOztLQUVULDBFQXJGUSxtQkFBbUI7MkZBMkZuQixnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0ksVUFBVSxZQUNWOztLQUVUO2dSQVFRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwLWNvbnRleHQvYXBwbGljYXRpb24tY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29udGV4dC9jb21wb25lbnQtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYmFzZS9jb21wb25lbnQtYmFzZSc7XHJcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Sb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY3VzdG9tLXJvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVudS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdbYXBwLXN1Ym1lbnVdJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1jaGlsZCBsZXQtaT1cImluZGV4XCIgW25nRm9yT2ZdPVwiKHJvb3QgPyBpdGVtIDogaXRlbS5pdGVtcylcIj5cclxuICAgICAgICA8bGkgKm5nSWY9XCJjaGlsZC52aXNpYmxlICE9PSBmYWxzZVwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlLW1lbnVpdGVtJzogY2hpbGQuYWN0aXZhdGVkLCAnYWN0aXZlLW1lbnVpdGVtLTInOiAhcm9vdH1cIj5cclxuICAgICAgICAgICAgPGEgW2hyZWZdPVwiY2hpbGQuaHJlZlwiIGNsYXNzPVwicmlwcGxlbGlua1wiIFthdHRyLnRhYmluZGV4XT1cIiF2aXNpYmxlID8gJy0xJyA6IG51bGxcIiBbYXR0ci5sZXZlbF09XCJjaGlsZC5sZXZlbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZS1tZW51aXRlbS1yb3V0ZXJsaW5rJzogY2hpbGQuYWN0aXZhdGVkfVwiIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50LGNoaWxkKVwiIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcihjaGlsZClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImxldmVsID09IDBcIiBbbmdDbGFzc109XCIncGkgcGktdGgtbGFyZ2UnXCIgW2F0dHIubGV2ZWxdPVwibGV2ZWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImxldmVsID09IDFcIiBbbmdDbGFzc109XCIncGkgcGktc3Rhci1vJ1wiIFthdHRyLmxldmVsXT1cImxldmVsXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJsZXZlbCA+IDFcIiBbbmdDbGFzc109XCIncGkgcGktY2lyY2xlLW9uJ1wiIFthdHRyLmxldmVsXT1cImxldmVsXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZC5mdWxsTGFiZWxcIiBjbGFzcz1cIm1lbnUtbGFiZWxcIiBbcFRvb2x0aXBdPVwiY2hpbGQuZnVsbExhYmVsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tjaGlsZC5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgPGIgKm5nSWY9XCJjaGlsZC5jb3VudFwiIGNsYXNzPVwiY291bnQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7Y2hpbGQuY291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2I+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjaGlsZC5mdWxsTGFiZWxcIiBjbGFzcz1cIm1lbnUtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2NoaWxkLmxhYmVsfX1cclxuICAgICAgICAgICAgICAgICAgICA8YiAqbmdJZj1cImNoaWxkLmNvdW50XCIgY2xhc3M9XCJjb3VudC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tjaGlsZC5jb3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiY2hpbGQuaXRlbXNcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLWRvd24gbWVudWl0ZW0tdG9nZ2xlLWljb25cIj48L2k+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPHVsICpuZ0lmPVwiY2hpbGQuaXRlbXNcIiBhcHAtc3VibWVudSBbaXRlbV09XCJjaGlsZFwiIFtsZXZlbF09XCJsZXZlbCArIDFcIiBbdmlzaWJsZV09XCJjaGlsZC5hY3RpdmF0ZWRcIlxyXG4gICAgICAgICAgICBbQGNoaWxkcmVuXT1cIigoX2NvbW1vblNlcnZpY2UuaXNTbGltKCl8fF9jb21tb25TZXJ2aWNlLmlzSG9yaXpvbnRhbCgpKSAmJiByb290ID8gKGNoaWxkLmFjdGl2YXRlZCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKSA6IGNoaWxkLmFjdGl2YXRlZCkgPyAndmlzaWJsZUFuaW1hdGVkJyA6ICdoaWRkZW5BbmltYXRlZCdcIj5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcignY2hpbGRyZW4nLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKCdoaWRkZW5BbmltYXRlZCcsIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJzBweCdcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgndmlzaWJsZUFuaW1hdGVkJywgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdibG9jaydcclxuICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgnaGlkZGVuJywgc3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZUFuaW1hdGVkID0+IGhpZGRlbkFuaW1hdGVkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRkZW5BbmltYXRlZCA9PiB2aXNpYmxlQW5pbWF0ZWQnLCBhbmltYXRlKCc0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknKSlcclxuICAgICAgICBdKVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFwcFN1Yk1lbnVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHtcclxuICAgIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuICAgIEBJbnB1dCgpIHJvb3Q6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlcjtcclxuXHJcbiAgICBhY3RpdmVJbmRleDogbnVtYmVyID0gLTI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy8gcHVibGljIGFwcDogQXBwQ29tcG9uZW50LFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHB1YmxpYyBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBfY3VzdG9tUm91dGVyU2VydmljZTogQ3VzdG9tUm91dGVyU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1DbGljayhldmVudDogRXZlbnQsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIGlmIChpdGVtLnVybCkge1xyXG4gICAgICAgICAgICAvLyBnbyB0byBleHRlcm5hbCB1cmwsIGRlZmF1bHQgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSA9ICF0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcclxuICAgICAgICBpZiAoaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGFjdGl2YXRlIGN1cnJlbnQgaXRlbSBhbmQgZGVhY3RpdmF0ZSBhY3RpdmUgc2libGluZyBpZiBhbnlcclxuICAgICAgICBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgaXRlbS5hY3RpdmF0ZWQgPSAhaXRlbS5hY3RpdmF0ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpdGVtLmFjdGl2YXRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBleGVjdXRlIGNvbW1hbmRcclxuICAgICAgICBpZiAoaXRlbS5jb21tYW5kKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uY29tbWFuZCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpdGVtOiBpdGVtIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gaGlkZSBtZW51XHJcbiAgICAgICAgaWYgKCFpdGVtLml0ZW1zKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb21tb25TZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMuX2NvbW1vblNlcnZpY2UuaXNTbGltKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2UucmVzZXRNZW51ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2UucmVzZXRNZW51ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2Uucm90YXRlTWVudUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbW1vblNlcnZpY2Uuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSA9ICF0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpdGVtLnJvdXRlckxpbmspIHtcclxuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoaXRlbS5yb3V0ZXJMaW5rKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlRW50ZXIoaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdCAmJiB0aGlzLl9jb21tb25TZXJ2aWNlLm1lbnVIb3ZlckFjdGl2ZSAmJiAodGhpcy5fY29tbW9uU2VydmljZS5pc0hvcml6b250YWwoKSB8fCB0aGlzLl9jb21tb25TZXJ2aWNlLmlzU2xpbSgpKVxyXG4gICAgICAgICAgICAmJiAhdGhpcy5fY29tbW9uU2VydmljZS5pc01vYmlsZSgpICYmICF0aGlzLl9jb21tb25TZXJ2aWNlLmlzVGFibGV0KCkpIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLmFjdGl2YXRlZCA9ICFpdGVtLmFjdGl2YXRlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHVsIGFwcC1zdWJtZW51IFtpdGVtXT1cIm1vZGVsXCIgW2xldmVsXT1cIjBcIiBbcm9vdF09XCJ0cnVlXCIgY2xhc3M9XCJsYXlvdXQtbWVudSBsYXlvdXQtbWFpbi1tZW51IGNsZWFyZml4XCIgdmlzaWJsZT1cInRydWVcIj48L3VsPlxyXG4gICAgYCxcclxuICAgIHN0eWxlczogW2BcclxuXHJcbiAgICBgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIHJlc2V0OiBib29sZWFuO1xyXG5cclxuICAgIG1vZGVsOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHRoZW1lID0gJ2JsdWUnO1xyXG4gICAgbGF5b3V0ID0gJ2JsdWUnO1xyXG4gICAgdmVyc2lvbiA9ICd2Myc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfYXBwbGljYXRpb25Db250ZXh0OiBBcHBsaWNhdGlvbkNvbnRleHRTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBfY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9lbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF90aXRsZTogVGl0bGUsXHJcbiAgICApIHtcclxuICAgICAgICBjb25zdCBhcHBDb2RlID0gX2Vudmlyb25tZW50U2VydmljZS5nZXRBcHBDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgYXBwQ29kZUxvd2VyQ2FzZSA9IGFwcENvZGUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBsZXQgZnVuY1NldE5ld1RhYkxpbmsgPSBsaW5rID0+IGxpbms7XHJcbiAgICAgICAgaWYgKF9lbnZpcm9ubWVudFNlcnZpY2UuZ2V0RW5hYmxlQmFzZUhyZWYoKSkge1xyXG4gICAgICAgICAgICAvLyBO4bq/dSBsw6AgbcO0aSB0csaw4budbmcgdHJp4buDbiBraGFpIHRow6wgY+G7mW5nIHRow6ptIHRp4buBbiB04buRIHBow6JuIGjhu4cgdsOgbyByb3V0ZXIgbGluayDEkeG7gyBjw7MgdGjhu4MgY2h14buZdCBwaOG6o2kgbeG7nyB0YWIgbeG7m2lcclxuICAgICAgICAgICAgZnVuY1NldE5ld1RhYkxpbmsgPSBsaW5rID0+IGAvJHthcHBDb2RlTG93ZXJDYXNlfSR7bGlua31gO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9tZW51U2VydmljZS5yZW5kZXJNZW51QnlBcHBDb2RlKGFwcENvZGUpO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLl9tZW51U2VydmljZS5nZXRNZW51SXRlbXMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaSBpbiB0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMubW9kZWxbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJdGVtKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2UubWVudUNoYW5nZWQuc3Vic2NyaWJlKHJhd01lbnVzID0+IHtcclxuICAgICAgICAgICAgLy8gcmVmb3JtYXQgbOG6oWkgdG/DoG4gYuG7mSBtZW51XHJcbiAgICAgICAgICAgIHRoaXMuZGVRdXlTZXROZXdUYWJMaW5rKHRoaXMubW9kZWwsIGZ1bmNTZXROZXdUYWJMaW5rLCAxKTtcclxuICAgICAgICAgICAgdGhpcy5fYXBwbGljYXRpb25Db250ZXh0LmdldFJvb3RDb250ZXh0KCkuZmlyZUV2ZW50KENvbUN0eENvbnN0YW50cy5ST09ULk1FTlVfUkVMT0FEKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZVF1eVNldE5ld1RhYkxpbmsobWVudXMsIGZ1bmMsIGxldmVsKSB7XHJcbiAgICAgICAgaWYgKCFtZW51cyB8fCBtZW51cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1lbnVzLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghaXRlbS5pc1Jvb3RNZW51KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5yb3V0ZXJMaW5rKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5uZXdUYWJMaW5rID0gZnVuYyhpdGVtLnJvdXRlckxpbmspO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaHJlZiA9IGl0ZW0ubmV3VGFiTGluaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaHJlZiA9ICcjJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGl0ZW0ubGV2ZWwgPSBsZXZlbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRlUXV5U2V0TmV3VGFiTGluayhpdGVtLml0ZW1zLCBmdW5jLCBsZXZlbCArIDEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2ZUl0ZW0oaXRlbTogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGl0ZW0udXJsKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGkgaW4gaXRlbS5pdGVtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbShpdGVtLml0ZW1zW2ldKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uYWN0aXZhdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaXRlbS5hY3RpdmF0ZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS5hY3RpdmF0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMudHJpbUxpbmsodGhpcy5fcm91dGVyLnVybCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZXJMaW5rID0gdGhpcy50cmltTGluayhpdGVtLnJvdXRlckxpbmspO1xyXG5cclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRVcmwgPT09IGN1cnJlbnRSb3V0ZXJMaW5rIHx8IHRoaXMuX21lbnVTZXJ2aWNlLmNoZWNrTWFwcGluZ1JvdXRlckxpbmsoY3VycmVudFJvdXRlckxpbmssIGN1cnJlbnRVcmwpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90aXRsZS5zZXRUaXRsZShgJHtpdGVtLmxhYmVsfSAtICR7dGhpcy5fZW52aXJvbm1lbnRTZXJ2aWNlLmdldFRpdGxlKCl9YCk7XHJcbiAgICAgICAgICAgICAgICBpdGVtLmFjdGl2YXRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpdGVtLmFjdGl2YXRlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaXRlbS5hY3RpdmF0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgdHJpbUxpbmsob2xkVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghb2xkVXJsKSByZXR1cm4gb2xkVXJsO1xyXG4gICAgICAgIGxldCB1cmwgPSBvbGRVcmw7XHJcbiAgICAgICAgbGV0IGkgPSB1cmwuaW5kZXhPZignIycpO1xyXG4gICAgICAgIGlmIChpID4gMCkgdXJsID0gdXJsLnN1YnN0cmluZygwLCBpKTtcclxuICAgICAgICBpID0gdXJsLmluZGV4T2YoJz8nKTtcclxuICAgICAgICBpZiAoaSA+IDApIHVybCA9IHVybC5zdWJzdHJpbmcoMCwgaSk7XHJcbiAgICAgICAgcmV0dXJuIHVybC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB0aGVtZUxpbms6IEhUTUxMaW5rRWxlbWVudCA9IDxIVE1MTGlua0VsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoZW1lLWNzcycpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52ZXJzaW9uID09PSAndjMnKSB7XHJcbiAgICAgICAgICAgIHRoZW1lTGluay5ocmVmID0gJ2Fzc2V0cy90aGVtZS90aGVtZS0nICsgdGhlbWUgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGVtZUxpbmsuaHJlZiA9ICdhc3NldHMvdGhlbWUvdGhlbWUtJyArIHRoZW1lICsgJy12NCcgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWU7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZUxheW91dChsYXlvdXQ6IHN0cmluZywgc3BlY2lhbD86IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCBsYXlvdXRMaW5rOiBIVE1MTGlua0VsZW1lbnQgPSA8SFRNTExpbmtFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXlvdXQtY3NzJyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnZlcnNpb24gPT09ICd2MycpIHtcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgbGF5b3V0ICsgJy5jc3MnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgbGF5b3V0ICsgJy12NCcgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxheW91dCA9IGxheW91dDtcclxuXHJcbiAgICAgICAgaWYgKHNwZWNpYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZS5kYXJrTWVudSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVZlcnNpb24odmVyc2lvbjogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdGhlbWVMaW5rOiBIVE1MTGlua0VsZW1lbnQgPSA8SFRNTExpbmtFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVtZS1jc3MnKTtcclxuICAgICAgICBjb25zdCBsYXlvdXRMaW5rOiBIVE1MTGlua0VsZW1lbnQgPSA8SFRNTExpbmtFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXlvdXQtY3NzJyk7XHJcblxyXG4gICAgICAgIGlmICh2ZXJzaW9uID09PSAndjMnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmVyc2lvbiA9ICd2Myc7XHJcbiAgICAgICAgICAgIHRoZW1lTGluay5ocmVmID0gJ2Fzc2V0cy90aGVtZS90aGVtZS0nICsgdGhpcy50aGVtZSArICcuY3NzJztcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgdGhpcy5sYXlvdXQgKyAnLmNzcyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGVtZUxpbmsuaHJlZiA9ICdhc3NldHMvdGhlbWUvdGhlbWUtJyArIHRoaXMudGhlbWUgKyAnLXY0JyArICcuY3NzJztcclxuICAgICAgICAgICAgbGF5b3V0TGluay5ocmVmID0gJ2Fzc2V0cy9sYXlvdXQvY3NzL2xheW91dC0nICsgdGhpcy5sYXlvdXQgKyAnLXY0JyArICcuY3NzJztcclxuICAgICAgICAgICAgdGhpcy52ZXJzaW9uID0gJy12NCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -8,8 +8,8 @@ export class AppProfileComponent {
|
|
|
8
8
|
event.preventDefault();
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
AppProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
AppProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11
|
+
AppProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
AppProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: AppProfileComponent, selector: "app-inline-profile", ngImport: i0, template: `
|
|
13
13
|
<div class="profile" [ngClass]="{'profile-expanded':active}">
|
|
14
14
|
<a href="#" (click)="onClick($event)">
|
|
15
15
|
<img class="profile-image" src="assets/layout/images/avatar.png" />
|
|
@@ -61,7 +61,7 @@ AppProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
61
61
|
</div>
|
|
62
62
|
</li>
|
|
63
63
|
</ul>
|
|
64
|
-
`, isInline: true,
|
|
64
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
65
65
|
trigger('menu', [
|
|
66
66
|
state('hidden', style({
|
|
67
67
|
height: '0px'
|
|
@@ -73,7 +73,7 @@ AppProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
73
73
|
transition('hidden => visible', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))
|
|
74
74
|
])
|
|
75
75
|
] });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppProfileComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{
|
|
79
79
|
selector: 'app-inline-profile',
|
|
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
|
|
|
144
144
|
]
|
|
145
145
|
}]
|
|
146
146
|
}] });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnByb2ZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24tYXBwLWNvbXBvbmVudC9hcHAucHJvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFzRWpGLE1BQU0sT0FBTyxtQkFBbUI7SUFJNUIsT0FBTyxDQUFDLEtBQUs7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7Z0hBUFEsbUJBQW1CO29HQUFuQixtQkFBbUIsMERBbEVsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9EVCw0SUFDVztRQUNSLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDWixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQkFDbEIsTUFBTSxFQUFFLEtBQUs7YUFDaEIsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7Z0JBQ25CLE1BQU0sRUFBRSxHQUFHO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ2hGLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUNuRixDQUFDO0tBQ0w7MkZBRVEsbUJBQW1CO2tCQXBFL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvRFQ7b0JBQ0QsVUFBVSxFQUFFO3dCQUNSLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ1osS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ2xCLE1BQU0sRUFBRSxLQUFLOzZCQUNoQixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7Z0NBQ25CLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7NEJBQ2hGLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzt5QkFDbkYsQ0FBQztxQkFDTDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgdHJhbnNpdGlvbiwgc3R5bGUsIGFuaW1hdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtaW5saW5lLXByb2ZpbGUnLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlXCIgW25nQ2xhc3NdPVwieydwcm9maWxlLWV4cGFuZGVkJzphY3RpdmV9XCI+XHJcbiAgICAgICAgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJwcm9maWxlLWltYWdlXCIgc3JjPVwiYXNzZXRzL2xheW91dC9pbWFnZXMvYXZhdGFyLnBuZ1wiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+SXNhYmVsIE9saXZpZXJhPC9zcGFuPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1mdyBmYS1jYXJldC1kb3duXCI+PC9pPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtcm9sZVwiPk1hcmtldGluZzwvc3Bhbj5cclxuICAgICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8dWwgaWQ9XCJwcm9maWxlLW1lbnVcIiBjbGFzcz1cImxheW91dC1tZW51XCIgW0BtZW51XT1cImFjdGl2ZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+XHJcbiAgICAgICAgPGxpIHJvbGU9XCJtZW51aXRlbVwiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIFthdHRyLnRhYmluZGV4XT1cIiFhY3RpdmUgPyAnLTEnIDogbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZncgZmEtdXNlclwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxzcGFuPlByb2ZpbGU8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tZW51LXRvb2x0aXBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWVudS10b29sdGlwLWFycm93XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnUtdG9vbHRpcC10ZXh0XCI+UHJvZmlsZTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIj5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBbYXR0ci50YWJpbmRleF09XCIhYWN0aXZlID8gJy0xJyA6IG51bGxcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWZ3IGZhLXVzZXItc2VjcmV0XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+UHJpdmFjeTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnUtdG9vbHRpcFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tZW51LXRvb2x0aXAtYXJyb3dcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWVudS10b29sdGlwLXRleHRcIj5Qcml2YWN5PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIHJvbGU9XCJtZW51aXRlbVwiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIFthdHRyLnRhYmluZGV4XT1cIiFhY3RpdmUgPyAnLTEnIDogbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZncgZmEtY29nXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+U2V0dGluZ3M8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tZW51LXRvb2x0aXBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWVudS10b29sdGlwLWFycm93XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnUtdG9vbHRpcC10ZXh0XCI+U2V0dGluZ3M8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgW2F0dHIudGFiaW5kZXhdPVwiIWFjdGl2ZSA/ICctMScgOiBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1mdyBmYS1zaWduLW91dFwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxzcGFuPkxvZ291dDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnUtdG9vbHRpcFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tZW51LXRvb2x0aXAtYXJyb3dcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWVudS10b29sdGlwLXRleHRcIj5Mb2dvdXQ8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgICBgLFxyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoJ21lbnUnLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKCdoaWRkZW4nLCBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwcHgnXHJcbiAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoJ3Zpc2libGUnLCBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcqJ1xyXG4gICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRkZW4gPT4gdmlzaWJsZScsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxyXG4gICAgICAgIF0pXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBQcm9maWxlQ29tcG9uZW50IHtcclxuXHJcbiAgICBhY3RpdmU6IGJvb2xlYW47XHJcblxyXG4gICAgb25DbGljayhldmVudCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlID0gIXRoaXMuYWN0aXZlO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -14,14 +14,14 @@ import * as i7 from "../../services/user.service";
|
|
|
14
14
|
import * as i8 from "../../services/notifier.service";
|
|
15
15
|
import * as i9 from "@ngx-translate/core";
|
|
16
16
|
import * as i10 from "../../services/customize-ui.service";
|
|
17
|
-
import * as i11 from "
|
|
18
|
-
import * as i12 from "
|
|
19
|
-
import * as i13 from "
|
|
20
|
-
import * as i14 from "
|
|
21
|
-
import * as i15 from "
|
|
22
|
-
import * as i16 from "
|
|
23
|
-
import * as i17 from "
|
|
24
|
-
import * as i18 from "tn-
|
|
17
|
+
import * as i11 from "@angular/common";
|
|
18
|
+
import * as i12 from "tn-custom-primeng/tooltip";
|
|
19
|
+
import * as i13 from "ngx-img-fallback";
|
|
20
|
+
import * as i14 from "./app-topbar-v1/app-topbar-v1.component";
|
|
21
|
+
import * as i15 from "./app-topbar-v2/app-topbar-v2.component";
|
|
22
|
+
import * as i16 from "../tn-custom-scrollbar/tn-custom-scrollbar.component";
|
|
23
|
+
import * as i17 from "../tn-app-help/tn-app-help.component";
|
|
24
|
+
import * as i18 from "../tn-app-notification/tn-app-notification.component";
|
|
25
25
|
export class AppTopBarComponent extends ComponentBase {
|
|
26
26
|
constructor(
|
|
27
27
|
// public app: AppComponent,
|
|
@@ -401,9 +401,9 @@ export class AppTopBarComponent extends ComponentBase {
|
|
|
401
401
|
top.location.reload();
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
|
-
AppTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
405
|
-
AppTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: AppTopBarComponent, selector: "app-topbar", providers: [ComponentContextService], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "notify", first: true, predicate: ["notify"], descendants: true, static: true }, { propertyName: "messages", first: true, predicate: ["messages"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"layoutAppSwitcher\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container [ngTemplateOutlet]=\"appSwitcherDefault\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\r\n <app-topbar-v1></app-topbar-v1>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\r\n <app-topbar-v2></app-topbar-v2>\r\n </ng-container>\r\n</ng-container>\r\n\r\n\r\n<ng-template #appSwitcherDefault>\r\n <div class=\"topbar clearfix tn-l-top-bar\">\r\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !isProduction }\">\r\n <div class=\"tn-l-left-menu-toggle-block\">\r\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\r\n (click)=\"_commonService.onMenuButtonClick($event)\">\r\n <i class=\"pi pi-chevron-left\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"topbar-logo tn-l-logo-wrapper\">\r\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\r\n <img class=\"topbar-logo tn-l-logo\" [src]=\"config.logo\"\r\n (click)=\"goToHome()\" /></a>\r\n </div>\r\n <div class=\"topbar-title tn-l-logo-title-block\">\r\n <div class=\"topbar-owner\">\r\n {{config.owner}}\r\n </div>\r\n <div class=\"topbar-description\">\r\n {{config.title}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"setting-default-container\">\r\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\r\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\r\n (click)=\"settingDefault()\">\r\n </a>\r\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\r\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\r\n </ng-container>\r\n </div>\r\n <div #notify class=\"notify-message\">\r\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\r\n </div>\r\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !isProduction}\"\r\n oncontextmenu=\"return false\">\r\n <div class=\"tn-l-top-bar-right-block-1\">\r\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\r\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\r\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\">\r\n <path fill=\"currentColor\"\r\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\r\n </path>\r\n </svg>\r\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\r\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\r\n </a>\r\n </div>\r\n\r\n <div class=\"tn-l-top-bar-right-block-2\">\r\n <ul class=\"topbar-items fadeInDown\"\r\n [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\r\n <li #profile class=\"profile-item tn-l-top-bar-menu-item\"\r\n *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\"\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\r\n\r\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\r\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\r\n <div class=\"profile-image-wrapper topbar-icon-left\">\r\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\r\n [src]=\"getCurrentUserAvatar()\" />\r\n </div>\r\n <div class=\"profile-info-wrapper\">\r\n <div class=\"topbar-item-name-wrapper\"\r\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\r\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\r\n </div>\r\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\r\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\r\n </div>\r\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\r\n </a>\r\n\r\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"#\" (click)=\"onEditInfo($event)\">\r\n <i class=\"pi pi-inbox\"></i>\r\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"#\" (click)=\"onEditInfo($event)\">\r\n <i class=\"pi pi-user-edit\"></i>\r\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\r\n <i class=\"pi pi-sign-out\"></i>\r\n <span>\u0110\u0103ng xu\u1EA5t</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\r\n <a href=\"javascript:;\" (click)=\"login()\">\r\n <i class=\"pi pi-sign-in\"></i>\r\n <span>\u0110\u0103ng nh\u1EADp</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\"\r\n tn-app-help></li>\r\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\r\n class=\"tn-l-top-bar-menu-item\" #messages\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\r\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\r\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\r\n <a href=\"#\" tabindex=\"7\" (click)=\"_commonService.onTopbarItemClick($event,modules)\"\r\n style=\"height: 30px;\" pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\r\n class=\"tn-l-top-bar-menu-item-inner\">\r\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\r\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path fill=\"currentColor\"\r\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\r\n </path>\r\n </svg>\r\n <!-- <i class=\"pi pi-microsoft\"></i> -->\r\n </span>\r\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\r\n </a>\r\n <ul class=\"app-switcher layout-menu fadeInDown\">\r\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\r\n <li role=\"menuitem\" style=\"text-align: center;\">\r\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\r\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\r\n [style.background]=\"item.background\" (click)=\"switchApp(item, true)\">\r\n <span class=\"tn-l-switcher-item-inner\" [style.color]=\"item.colorTitle\">\r\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"\r\n [style.color]=\"item.colorIcon\"></i>\r\n <div class=\"tn-l-switcher-item-label\">\r\n {{ item.title | translate}}\r\n </div>\r\n </span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </tn-custom-scrollbar>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px #00000060}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-owner,.topbar-description{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{display:flex;align-items:center;justify-content:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden;margin-left:30px;display:flex;align-items:center}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item-inner{padding-top:4px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{display:inline-flex;align-items:center;justify-content:center}.tn-l-switcher-item-label{margin-top:4px}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:0 auto}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}@media (min-width: 1025px){.tn-l-top-bar-right{display:flex;justify-content:space-between;align-items:center}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{margin:0;display:flex;justify-content:flex-start;flex-direction:row-reverse;align-items:center}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width: 1025px) and (max-width: 1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width: 1024px){.tn-l-m-default-setting{display:flex;align-items:center;justify-content:center;height:36px;font-size:28px;width:36px;color:#fff}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{display:flex;align-items:center;width:36px;justify-content:center}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-top-bar-left,.tn-l-logo-title-block,.topbar-owner,.topbar-description{overflow:hidden}.topbar-owner,.topbar-description{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{display:flex;padding:0 .5em;align-items:center;justify-content:flex-end}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{position:relative;margin-left:.5em;top:0;right:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{display:flex;justify-content:center;align-items:center}.tn-l-topbar-item-role-wrapper{display:none}}\n"], components: [{ type: i11.AppTopBarV1Component, selector: "app-topbar-v1" }, { type: i12.AppTopBarV2Component, selector: "app-topbar-v2" }, { type: i13.TnAppHelpComponent, selector: "li[tn-app-help]" }, { type: i14.TnAppNotificationComponent, selector: "li[tn-app-notification]", outputs: ["openMenu"] }, { type: i15.TnCustomScrollbarComponent, selector: "tn-custom-scrollbar", inputs: ["style", "useDefaultScrollBar", "autoMode", "class", "config", "whiteBackGround", "showScrollHorizontal"], outputs: ["scrollY", "scrollUp", "scrollDown", "scrollLeft", "scrollRight", "scrollYReachEnd", "scrollYReachStart", "scrollXReachEnd", "scrollXReachStart"] }], directives: [{ type: i16.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i16.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i16.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i16.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i16.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i17.ImgFallbackDirective, selector: "[src-fallback]", inputs: ["src-fallback"], outputs: ["loaded"] }, { type: i18.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { type: i16.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i9.TranslatePipe } });
|
|
406
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
404
|
+
AppTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppTopBarComponent, deps: [{ token: i1.CustomRouterService }, { token: i2.Router }, { token: i3.CommonService }, { token: i4.AuthenService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i5.PermissionService }, { token: i6.EnvironmentService }, { token: i7.UserService }, { token: i8.NotifierService }, { token: i9.TranslateService }, { token: i10.CustomizeUiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
405
|
+
AppTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: AppTopBarComponent, selector: "app-topbar", providers: [ComponentContextService], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "notify", first: true, predicate: ["notify"], descendants: true, static: true }, { propertyName: "messages", first: true, predicate: ["messages"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"layoutAppSwitcher\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container [ngTemplateOutlet]=\"appSwitcherDefault\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\r\n <app-topbar-v1></app-topbar-v1>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\r\n <app-topbar-v2></app-topbar-v2>\r\n </ng-container>\r\n</ng-container>\r\n\r\n\r\n<ng-template #appSwitcherDefault>\r\n <div class=\"topbar clearfix tn-l-top-bar\">\r\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !isProduction }\">\r\n <div class=\"tn-l-left-menu-toggle-block\">\r\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\r\n (click)=\"_commonService.onMenuButtonClick($event)\">\r\n <i class=\"pi pi-chevron-left\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"topbar-logo tn-l-logo-wrapper\">\r\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\r\n <img class=\"topbar-logo tn-l-logo\" [src]=\"config.logo\"\r\n (click)=\"goToHome()\" /></a>\r\n </div>\r\n <div class=\"topbar-title tn-l-logo-title-block\">\r\n <div class=\"topbar-owner\">\r\n {{config.owner}}\r\n </div>\r\n <div class=\"topbar-description\">\r\n {{config.title}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"setting-default-container\">\r\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\r\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\r\n (click)=\"settingDefault()\">\r\n </a>\r\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\r\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\r\n </ng-container>\r\n </div>\r\n <div #notify class=\"notify-message\">\r\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\r\n </div>\r\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !isProduction}\"\r\n oncontextmenu=\"return false\">\r\n <div class=\"tn-l-top-bar-right-block-1\">\r\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\r\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\r\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\">\r\n <path fill=\"currentColor\"\r\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\r\n </path>\r\n </svg>\r\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\r\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\r\n </a>\r\n </div>\r\n\r\n <div class=\"tn-l-top-bar-right-block-2\">\r\n <ul class=\"topbar-items fadeInDown\"\r\n [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\r\n <li #profile class=\"profile-item tn-l-top-bar-menu-item\"\r\n *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\"\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\r\n\r\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\r\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\r\n <div class=\"profile-image-wrapper topbar-icon-left\">\r\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\r\n [src]=\"getCurrentUserAvatar()\" />\r\n </div>\r\n <div class=\"profile-info-wrapper\">\r\n <div class=\"topbar-item-name-wrapper\"\r\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\r\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\r\n </div>\r\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\r\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\r\n </div>\r\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\r\n </a>\r\n\r\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"#\" (click)=\"onEditInfo($event)\">\r\n <i class=\"pi pi-inbox\"></i>\r\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"#\" (click)=\"onEditInfo($event)\">\r\n <i class=\"pi pi-user-edit\"></i>\r\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\r\n <i class=\"pi pi-sign-out\"></i>\r\n <span>\u0110\u0103ng xu\u1EA5t</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\r\n <a href=\"javascript:;\" (click)=\"login()\">\r\n <i class=\"pi pi-sign-in\"></i>\r\n <span>\u0110\u0103ng nh\u1EADp</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\"\r\n tn-app-help></li>\r\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\r\n class=\"tn-l-top-bar-menu-item\" #messages\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\r\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\r\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\r\n <a href=\"#\" tabindex=\"7\" (click)=\"_commonService.onTopbarItemClick($event,modules)\"\r\n style=\"height: 30px;\" pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\r\n class=\"tn-l-top-bar-menu-item-inner\">\r\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\r\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path fill=\"currentColor\"\r\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\r\n </path>\r\n </svg>\r\n <!-- <i class=\"pi pi-microsoft\"></i> -->\r\n </span>\r\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\r\n </a>\r\n <ul class=\"app-switcher layout-menu fadeInDown\">\r\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\r\n <li role=\"menuitem\" style=\"text-align: center;\">\r\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\r\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\r\n [style.background]=\"item.background\" (click)=\"switchApp(item, true)\">\r\n <span class=\"tn-l-switcher-item-inner\" [style.color]=\"item.colorTitle\">\r\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"\r\n [style.color]=\"item.colorIcon\"></i>\r\n <div class=\"tn-l-switcher-item-label\">\r\n {{ item.title | translate}}\r\n </div>\r\n </span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </tn-custom-scrollbar>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px #00000060}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-owner,.topbar-description{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{display:flex;align-items:center;justify-content:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden;margin-left:30px;display:flex;align-items:center}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item-inner{padding-top:4px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{display:inline-flex;align-items:center;justify-content:center}.tn-l-switcher-item-label{margin-top:4px}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:0 auto}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}@media (min-width: 1025px){.tn-l-top-bar-right{display:flex;justify-content:space-between;align-items:center}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{margin:0;display:flex;justify-content:flex-start;flex-direction:row-reverse;align-items:center}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width: 1025px) and (max-width: 1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width: 1024px){.tn-l-m-default-setting{display:flex;align-items:center;justify-content:center;height:36px;font-size:28px;width:36px;color:#fff}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{display:flex;align-items:center;width:36px;justify-content:center}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-top-bar-left,.tn-l-logo-title-block,.topbar-owner,.topbar-description{overflow:hidden}.topbar-owner,.topbar-description{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{display:flex;padding:0 .5em;align-items:center;justify-content:flex-end}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{position:relative;margin-left:.5em;top:0;right:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{display:flex;justify-content:center;align-items:center}.tn-l-topbar-item-role-wrapper{display:none}}\n"], dependencies: [{ kind: "directive", type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i11.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i11.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i11.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i12.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { kind: "directive", type: i13.ImgFallbackDirective, selector: "[src-fallback]", inputs: ["src-fallback"], outputs: ["loaded"] }, { kind: "component", type: i14.AppTopBarV1Component, selector: "app-topbar-v1" }, { kind: "component", type: i15.AppTopBarV2Component, selector: "app-topbar-v2" }, { kind: "component", type: i16.TnCustomScrollbarComponent, selector: "tn-custom-scrollbar", inputs: ["style", "useDefaultScrollBar", "autoMode", "class", "config", "whiteBackGround", "showScrollHorizontal"], outputs: ["scrollY", "scrollUp", "scrollDown", "scrollLeft", "scrollRight", "scrollYReachEnd", "scrollYReachStart", "scrollXReachEnd", "scrollXReachStart"] }, { kind: "component", type: i17.TnAppHelpComponent, selector: "li[tn-app-help]" }, { kind: "component", type: i18.TnAppNotificationComponent, selector: "li[tn-app-notification]", outputs: ["openMenu"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
406
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AppTopBarComponent, decorators: [{
|
|
407
407
|
type: Component,
|
|
408
408
|
args: [{ selector: 'app-topbar', providers: [ComponentContextService], template: "<ng-container [ngSwitch]=\"layoutAppSwitcher\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container [ngTemplateOutlet]=\"appSwitcherDefault\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V1\">\r\n <app-topbar-v1></app-topbar-v1>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"EnumTypeSplash.NEW_V2\">\r\n <app-topbar-v2></app-topbar-v2>\r\n </ng-container>\r\n</ng-container>\r\n\r\n\r\n<ng-template #appSwitcherDefault>\r\n <div class=\"topbar clearfix tn-l-top-bar\">\r\n <div class=\"topbar-left tn-l-top-bar-left\" [ngClass]=\"{'beta-version': !isProduction }\">\r\n <div class=\"tn-l-left-menu-toggle-block\">\r\n <a tabindex=\"1\" id=\"menu-button\" class=\"tn-l-left-menu-toggle\" href=\"#\"\r\n (click)=\"_commonService.onMenuButtonClick($event)\">\r\n <i class=\"pi pi-chevron-left\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"topbar-logo tn-l-logo-wrapper\">\r\n <a tabindex=\"2\" href=\"javascript:\" style=\"display: inline-block;\">\r\n <img class=\"topbar-logo tn-l-logo\" [src]=\"config.logo\"\r\n (click)=\"goToHome()\" /></a>\r\n </div>\r\n <div class=\"topbar-title tn-l-logo-title-block\">\r\n <div class=\"topbar-owner\">\r\n {{config.owner}}\r\n </div>\r\n <div class=\"topbar-description\">\r\n {{config.title}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"setting-default-container\">\r\n <ng-container *ngIf=\"showDefaultSetting && currentUser\">\r\n <a tabindex=\"3\" href=\"javascript:void(0)\" class=\"tn-l-m-default-setting pi pi-cog\"\r\n (click)=\"settingDefault()\">\r\n </a>\r\n <h3 class=\"tn-l-default-detting\" (click)=\"settingDefault()\">\r\n {{defaultDataSetting}} <i class=\"pi pi-pencil\" style=\"margin-left:10px\"></i></h3>\r\n </ng-container>\r\n </div>\r\n <div #notify class=\"notify-message\">\r\n <marquee (mouseover)=\"handleMouseOver($event)\" (mouseout)=\"handleMouseOut($event)\">{{message}}</marquee>\r\n </div>\r\n <div class=\"topbar-right tn-l-top-bar-right\" [ngClass]=\"{'beta-version': !isProduction}\"\r\n oncontextmenu=\"return false\">\r\n <div class=\"tn-l-top-bar-right-block-1\">\r\n <a tabindex=\"4\" class=\"topbar-menu-button\" id=\"topbar-menu-button\" href=\"#\"\r\n (click)=\"_commonService.onTopbarMenuButtonClick($event)\">\r\n <svg focusable=\"false\" class=\"tn-m-topbar-menu-toggle\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 448 512\">\r\n <path fill=\"currentColor\"\r\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\r\n </path>\r\n </svg>\r\n <span *ngIf=\"messages && messages.totalUnRead > 0\" class=\"topbar-badge animated rubberBand\"\r\n [ngClass]=\"{'topbar-badge-bounce': messages.bounceNoti}\">{{messages.totalUnRead}}</span>\r\n </a>\r\n </div>\r\n\r\n <div class=\"tn-l-top-bar-right-block-2\">\r\n <ul class=\"topbar-items fadeInDown\"\r\n [ngClass]=\"{'topbar-items-visible': _commonService.topbarMenuActive}\">\r\n <li #profile class=\"profile-item tn-l-top-bar-menu-item\"\r\n *ngIf=\"_commonService.profileMode==='top'||_commonService.isHorizontal()\"\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === profile}\">\r\n\r\n <a href=\"#\" tabindex=\"10\" class=\"UserPane tn-l-top-bar-menu-item-inner\"\r\n (click)=\"_commonService.onTopbarItemClick($event,profile)\">\r\n <div class=\"profile-image-wrapper topbar-icon-left\">\r\n <img class=\"profile-image tn-l-profile-img\" [src-fallback]=\"defaultAvatar\"\r\n [src]=\"getCurrentUserAvatar()\" />\r\n </div>\r\n <div class=\"profile-info-wrapper\">\r\n <div class=\"topbar-item-name-wrapper\"\r\n [ngClass]=\"{'not-show-position': !getCurrentUserPosition()}\">\r\n <span class=\"topbar-item-name tn-l-user-name\">{{getCurrentUserFullName()}}</span>\r\n </div>\r\n <div class=\"topbar-item-role-wrapper tn-l-topbar-item-role-wrapper\"><span\r\n class=\"topbar-item-role\">{{getCurrentUserPosition()}}</span></div>\r\n </div>\r\n <i class=\"pi pi-user\" style=\"opacity: 0; position: absolute;\"></i>\r\n </a>\r\n\r\n <ul class=\"layout-menu fadeInDown tn-l-switcher\">\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"#\" (click)=\"onEditInfo($event)\">\r\n <i class=\"pi pi-inbox\"></i>\r\n <span>Th\u01B0 m\u1EE5c c\u00E1 nh\u00E2n</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"#\" (click)=\"onEditInfo($event)\">\r\n <i class=\"pi pi-user-edit\"></i>\r\n <span>C\u1EADp nh\u1EADt th\u00F4ng tin</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"currentUser\" role=\"menuitem\">\r\n <a href=\"javascript:;\" (click)=\"onTopbarLogout()\">\r\n <i class=\"pi pi-sign-out\"></i>\r\n <span>\u0110\u0103ng xu\u1EA5t</span>\r\n </a>\r\n </li>\r\n <li *ngIf=\"!currentUser\" role=\"menuitem\">\r\n <a href=\"javascript:;\" (click)=\"login()\">\r\n <i class=\"pi pi-sign-in\"></i>\r\n <span>\u0110\u0103ng nh\u1EADp</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"_customizeUiService.isShowHelp()\" #help class=\"menu-help tn-l-top-bar-menu-item\"\r\n tn-app-help></li>\r\n <li *ngIf=\"_customizeUiService.isShowNotification()\" id=\"li-notifications\"\r\n class=\"tn-l-top-bar-menu-item\" #messages\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === messages || _commonService.activeTopbarItem === 0}\"\r\n tn-app-notification (openMenu)=\"_commonService.onTopbarItemClick($event,messages)\"></li>\r\n <li id=\"li-app-switcher\" class=\"tn-l-top-bar-menu-item\" #modules\r\n [ngClass]=\"{'active-top-menu':_commonService.activeTopbarItem === modules || _commonService.activeTopbarItem === 1}\">\r\n <a href=\"#\" tabindex=\"7\" (click)=\"_commonService.onTopbarItemClick($event,modules)\"\r\n style=\"height: 30px;\" pTooltip=\"Danh s\u00E1ch ph\u00E2n h\u1EC7\" tooltipPosition=\"bottom\"\r\n class=\"tn-l-top-bar-menu-item-inner\">\r\n <span class=\"topbar-icon-left tn-l-topbar-icon-left\">\r\n <svg focusable=\"false\" class=\"topbar-icon animated swing svgmodule\" role=\"img\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path fill=\"currentColor\"\r\n d=\"M0 224h192V32H0v192zm256-192v192h192V32H256zM0 480h192V288H0v192zm256-192v192h192V288H256z\">\r\n </path>\r\n </svg>\r\n <!-- <i class=\"pi pi-microsoft\"></i> -->\r\n </span>\r\n <span class=\"topbar-item-name\">{{ 'Danh s\u00E1ch ph\u00E2n h\u1EC7' | translate}}</span>\r\n </a>\r\n <ul class=\"app-switcher layout-menu fadeInDown\">\r\n <tn-custom-scrollbar #scrollbar class=\"app-switcher-holder\">\r\n <li role=\"menuitem\" style=\"text-align: center;\">\r\n <ng-container *ngFor=\"let item of appSwitcherItems; let ind = index;\">\r\n <a class=\"switcher-item tn-l-switcher-item\" href=\"javascript:\"\r\n [style.background]=\"item.background\" (click)=\"switchApp(item, true)\">\r\n <span class=\"tn-l-switcher-item-inner\" [style.color]=\"item.colorTitle\">\r\n <i class=\"{{item.icon}} app-switcher-item-icon tn-l-switcher-item-icon\"\r\n [style.color]=\"item.colorIcon\"></i>\r\n <div class=\"tn-l-switcher-item-label\">\r\n {{ item.title | translate}}\r\n </div>\r\n </span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </tn-custom-scrollbar>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".topBarSearchButton:disabled{opacity:1;background-color:#eee!important;border:1px solid #c8c8c8!important;border-right:none!important;color:#c1c1c1!important}::ng-deep app-topbar a{outline:none}input:disabled::placeholder{color:#b1b1b1}.UserPane.UserPane{display:flex}.profile-image-wrapper{order:1}.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name.tn-l-user-name{margin-top:0;float:none}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{display:inline-flex;flex-direction:column;justify-content:center;order:0;text-align:right;float:none}.tn-l-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tn-l-default-detting{color:#fff;cursor:pointer;margin:0}.tn-l-left-menu-toggle-block{align-self:stretch;display:flex;align-items:center;box-shadow:0 0 5px #00000060}.tn-l-left-menu-toggle{color:#fff;padding:8px;transition:transform .25s ease-in-out}::ng-deep .layout-menu-static-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-left:0;margin-right:30px}.topbar-logo.topbar-logo.topbar-logo{float:none}.tn-l-logo.tn-l-logo.tn-l-logo.tn-l-logo{width:auto;height:40px;margin:0}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{margin:0;font-size:0;width:auto;height:auto;padding-left:8px;padding-right:8px}.tn-l-top-bar{display:flex}.topbar-owner,.topbar-description{white-space:nowrap}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:15px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:11px;text-transform:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{float:none;width:auto;display:flex}.tn-l-top-bar-left{align-items:center}.tn-m-topbar-menu-toggle{width:30px;height:28px;margin:auto;display:block}.tn-m-topbar-menu-toggle g{stroke:#fff}.tn-m-topbar-menu-toggle path{fill:#fff}.tn-l-m-default-setting{display:none}.setting-default-container{display:flex;align-items:center;justify-content:center;margin-left:30px}.notify-message{flex:1 1;overflow:hidden;margin-left:30px;display:flex;align-items:center}.notify-message>marquee{white-space:nowrap;color:#ff0;font-size:500}.search-item{margin-right:10px}.tn-l-switcher-item-inner{padding-top:4px}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{display:inline-flex;align-items:center;justify-content:center}.tn-l-switcher-item-label{margin-top:4px}.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon.tn-l-switcher-item-icon{font-size:38px;margin:0 auto}.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item.tn-l-switcher-item{padding:8px}.tn-l-switcher.tn-l-switcher{margin-bottom:0}@media (min-width: 1025px){.tn-l-top-bar-right{display:flex;justify-content:space-between;align-items:center}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding:0 15px}.topbar-items.topbar-items.topbar-items{margin:0;display:flex;justify-content:flex-start;flex-direction:row-reverse;align-items:center}.topbar-items.topbar-items.topbar-items,.topbar-items.topbar-items.topbar-items>li{float:none}::ng-deep .topbar .topbar-items>li>a{margin-top:0}::ng-deep .topbar .topbar-items>li>a>span>i{color:#fff;font-size:24px}.topbar .topbar-items>li>a.UserPane{height:auto;line-height:inherit;top:0}a.UserPane .profile-image.profile-image.profile-image.profile-image{margin-top:0}}@media (min-width: 1025px) and (max-width: 1400px){.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block.tn-l-logo-title-block{margin-right:19px}.search-item{margin-right:0}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{padding-left:15px}.topbar-items>li.profile-item{margin-left:14px}}@media (max-width: 1024px){.tn-l-m-default-setting{display:flex;align-items:center;justify-content:center;height:36px;font-size:28px;width:36px;color:#fff}.tn-l-default-detting{display:none}::ng-deep .layout-menu-static-mobile-inactive app-topbar .tn-l-left-menu-toggle{transform:rotate(180deg)}.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper.profile-info-wrapper{text-align:left}.topbar .topbar-right #topbar-menu-button{display:flex;align-items:center;width:36px;justify-content:center}.tn-l-top-bar-right-block-1{display:flex}.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper.tn-l-logo-wrapper{padding-left:5px;padding-right:5px}.tn-l-top-bar-left,.tn-l-logo-title-block,.topbar-owner,.topbar-description{overflow:hidden}.topbar-owner,.topbar-description{text-overflow:ellipsis}.tn-l-top-bar-menu-item:empty{display:none}.tn-l-top-bar-left.tn-l-top-bar-left.tn-l-top-bar-left{padding-left:0;padding-right:0}.topbar-title.topbar-title.topbar-title.topbar-title{margin:0}.topbar-owner.topbar-owner.topbar-owner.topbar-owner.topbar-owner{font-size:14px}.topbar-description.topbar-description.topbar-description.topbar-description.topbar-description{font-size:10px}.tn-l-top-bar-right{flex:1;position:relative}.topbar-menu-button span.topbar-badge{right:-4px}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right{display:flex;padding:0 .5em;align-items:center;justify-content:flex-end}.tn-l-top-bar-right.tn-l-top-bar-right.tn-l-top-bar-right #topbar-menu-button{position:relative;margin-left:.5em;top:0;right:0}.app-switcher.layout-menu.layout-menu.layout-menu.layout-menu{width:270px}.profile-image-wrapper{order:0}.tn-l-user-name{width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep app-topbar .tn-l-top-bar-menu-item .topbar-icon-left{display:flex;justify-content:center;align-items:center}.tn-l-topbar-item-role-wrapper{display:none}}\n"] }]
|
|
409
409
|
}], ctorParameters: function () { return [{ type: i1.CustomRouterService }, { type: i2.Router }, { type: i3.CommonService }, { type: i4.AuthenService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i5.PermissionService }, { type: i6.EnvironmentService }, { type: i7.UserService }, { type: i8.NotifierService }, { type: i9.TranslateService }, { type: i10.CustomizeUiService }]; }, propDecorators: { input: [{
|