nuxeo-development-framework 3.8.0 → 3.8.1
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/bundles/nuxeo-development-framework.umd.js +1069 -890
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +4 -4
- package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +4 -4
- package/esm2015/lib/components/activities-log/activities-log.module.js +5 -5
- package/esm2015/lib/components/activity/activity/activity.component.js +4 -4
- package/esm2015/lib/components/activity/activity.module.js +5 -5
- package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +4 -4
- package/esm2015/lib/components/attachment-item/attachment-item.module.js +5 -5
- package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +5 -5
- package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +4 -4
- package/esm2015/lib/components/avatar/avatar/avatar.component.js +4 -4
- package/esm2015/lib/components/avatar/avatar.module.js +5 -5
- package/esm2015/lib/components/card/card.component.js +4 -4
- package/esm2015/lib/components/card/card.module.js +5 -5
- package/esm2015/lib/components/comments/comments.module.js +5 -5
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +4 -4
- package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +4 -4
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +4 -4
- package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +4 -4
- package/esm2015/lib/components/comments/services/comment-api.service.js +4 -4
- package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +4 -4
- package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +5 -5
- package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +4 -4
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +4 -4
- package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +5 -5
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -4
- package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +5 -5
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +4 -4
- package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +4 -4
- package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -4
- package/esm2015/lib/components/create-entity/create-entity.module.js +5 -5
- package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +4 -4
- package/esm2015/lib/components/cts-tags/cts-tags.module.js +5 -5
- package/esm2015/lib/components/cts-tags/services/tags-api.service.js +4 -4
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -4
- package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +5 -5
- package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +4 -4
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +4 -4
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +4 -4
- package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +5 -5
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +4 -4
- package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +4 -4
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +4 -4
- package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +4 -4
- package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +4 -4
- package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +4 -4
- package/esm2015/lib/components/documents/components/documents/documents.component.js +4 -4
- package/esm2015/lib/components/documents/documents.module.js +5 -5
- package/esm2015/lib/components/documents/services/document-templates.service.js +4 -4
- package/esm2015/lib/components/documents/services/documents.service.js +4 -4
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +4 -4
- package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +5 -5
- package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +4 -4
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +4 -4
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +4 -4
- package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +5 -5
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +4 -4
- package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +5 -5
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +25 -14
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +7 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +4 -4
- package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +5 -5
- package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +4 -4
- package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +4 -4
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +4 -4
- package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +4 -4
- package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +5 -5
- package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +4 -4
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +4 -4
- package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +5 -5
- package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +4 -4
- package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +5 -5
- package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +4 -4
- package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/copy/copy.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/delete/delete.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/move/move.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/rename/rename.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +4 -4
- package/esm2015/lib/components/file-manger/file-manger.module.js +5 -5
- package/esm2015/lib/components/filter/filter/filter.component.js +4 -4
- package/esm2015/lib/components/filter/filter.module.js +5 -5
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +5 -5
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +4 -4
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +4 -4
- package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +4 -4
- package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +4 -4
- package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +4 -4
- package/esm2015/lib/components/latest-activity/latest-activity.module.js +5 -5
- package/esm2015/lib/components/latest-activity/services/activity-log.service.js +4 -4
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +4 -4
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +5 -5
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -4
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -4
- package/esm2015/lib/components/notifications/notifications.module.js +5 -5
- package/esm2015/lib/components/notifications/notifications.service.js +4 -4
- package/esm2015/lib/components/pagination/pagination/pagination.component.js +4 -4
- package/esm2015/lib/components/pagination/pagination.module.js +5 -5
- package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +5 -5
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +4 -4
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +4 -4
- package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +4 -4
- package/esm2015/lib/components/permissions/permission.service.js +4 -4
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +4 -4
- package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +4 -4
- package/esm2015/lib/components/permissions/permissions.module.js +5 -5
- package/esm2015/lib/components/select/select/select.component.js +4 -4
- package/esm2015/lib/components/select/select.module.js +5 -5
- package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +5 -5
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +4 -4
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +4 -4
- package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +4 -4
- package/esm2015/lib/components/table/table/table.component.js +4 -4
- package/esm2015/lib/components/table/table.module.js +5 -5
- package/esm2015/lib/components/user/user/user.component.js +4 -4
- package/esm2015/lib/components/user/user.module.js +5 -5
- package/esm2015/lib/components/users-card/users-card.component.js +4 -4
- package/esm2015/lib/components/users-card/users-card.module.js +5 -5
- package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +4 -4
- package/esm2015/lib/components/viewer-log/viewer-log.module.js +5 -5
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +4 -4
- package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +4 -4
- package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +4 -4
- package/esm2015/lib/components/vocabulary/vocabulary.module.js +5 -5
- package/esm2015/lib/configuration/app-config.service.js +4 -4
- package/esm2015/lib/core/adapters/adapter.service.js +4 -4
- package/esm2015/lib/core/core.module.js +5 -5
- package/esm2015/lib/core/services/callApi/call-api.service.js +4 -4
- package/esm2015/lib/core/services/extension/component-register.service.js +4 -4
- package/esm2015/lib/core/services/extension/extension-loader.service.js +4 -4
- package/esm2015/lib/core/services/extension/extension.service.js +4 -4
- package/esm2015/lib/core/services/initialization/initialization.service.js +4 -4
- package/esm2015/lib/core/services/localStorag/local-storag.service.js +4 -4
- package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +4 -4
- package/esm2015/lib/core/services/roles/roles.service.js +4 -4
- package/esm2015/lib/core/services/translation/translate-loader.service.js +4 -4
- package/esm2015/lib/core/services/translation/translation.service.js +4 -4
- package/esm2015/lib/core/services/user/user-preferences.service.js +4 -4
- package/esm2015/lib/core/utilities/moment-date-adapter.js +4 -4
- package/esm2015/lib/core/utilities/utility.service.js +4 -4
- package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +4 -4
- package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +4 -4
- package/esm2015/lib/directive/directive.module.js +5 -5
- package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +4 -4
- package/esm2015/lib/directive/permissions/evaluators.service.js +4 -4
- package/esm2015/lib/directive/permissions/permissions.directive.js +4 -4
- package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +4 -4
- package/esm2015/lib/directive/rtl/set-rtl.directive.js +4 -4
- package/esm2015/lib/nuxeo-development-framework.component.js +4 -4
- package/esm2015/lib/nuxeo-development-framework.module.js +5 -5
- package/esm2015/lib/nuxeo-development-framework.service.js +4 -4
- package/esm2015/lib/pipes/file-size.pipe.js +4 -4
- package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
- package/esm2015/lib/pipes/localized-date.pipe.js +4 -4
- package/esm2015/lib/pipes/multi-value.pipe.js +4 -4
- package/esm2015/lib/pipes/pipes.module.js +5 -5
- package/esm2015/lib/pipes/secure-html.pipe.js +4 -4
- package/esm2015/lib/pipes/secure.pipe.js +4 -4
- package/esm2015/lib/pipes/time-ago.pipe.js +4 -4
- package/esm2015/lib/shared/components/button/button.component.js +4 -4
- package/esm2015/lib/shared/components/item-list/item-list.component.js +4 -4
- package/esm2015/lib/shared/components/no-data/no-data.component.js +4 -4
- package/esm2015/lib/shared/components/read-more/read-more.component.js +4 -4
- package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +4 -4
- package/esm2015/lib/shared/components/spinner/spinner.component.js +4 -4
- package/esm2015/lib/shared/components/user-card/user-card.component.js +4 -4
- package/esm2015/lib/shared/libraryShared.module.js +5 -5
- package/esm2015/lib/shared-services/dialog-mangment.service.js +4 -4
- package/esm2015/lib/shared-services/dynamic-form.service.js +4 -4
- package/esm2015/lib/shared-services/file-manager.adapter.js +4 -4
- package/esm2015/lib/shared-services/file-manager.service.js +4 -4
- package/esm2015/lib/shared-services/global-admin.service.js +4 -4
- package/esm2015/lib/shared-services/global-pdftron.service.js +4 -4
- package/esm2015/lib/shared-services/mainfolder.service.js +4 -4
- package/esm2015/lib/shared-services/publishing-document.service.js +4 -4
- package/esm2015/lib/shared-services/recently-viewed.service.js +4 -4
- package/esm2015/lib/shared-services/shared-docs.service.js +4 -4
- package/esm2015/lib/shared-services/shared-services.module.js +5 -5
- package/esm2015/lib/shared-services/upload-file.service.js +4 -4
- package/esm2015/lib/shared-services/upload-managment.service.js +4 -4
- package/esm2015/lib/shared-services/user.service.js +4 -4
- package/fesm2015/nuxeo-development-framework.js +820 -807
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +4 -2
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -255,9 +255,9 @@ export class DynamicFormTextItemComponent {
|
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
DynamicFormTextItemComponent.DEFAULT_SEPARATOR = ', ';
|
|
258
|
-
DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
259
|
-
DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
258
|
+
DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
259
|
+
DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
|
|
261
261
|
type: Component,
|
|
262
262
|
args: [{
|
|
263
263
|
selector: 'app-dynamic-form-textitem',
|
|
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
313
313
|
type: ViewChild,
|
|
314
314
|
args: ['editorInput']
|
|
315
315
|
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRlZFZhbHVlID0gb2JqO1xyXG4gICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gb2JqO1xyXG5cclxuICAgIC8vICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgfVxyXG5cclxuICBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RW1wdHkgfHwgIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NsaWNrYWJsZUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uKCkgJiYgdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaXNDbGlja2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LmNsaWNrYWJsZTtcclxuICB9XHJcblxyXG4gIGhhc0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5Lmljb247XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGFsbG93U3BhY2UoZSkge1xyXG4gICAgaWYgKHRoaXMucHJldmVudFNwYWNlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RWRpdE1vZGUoZWRpdFN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pbkVkaXQgPSBlZGl0U3RhdHVzO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvcklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JJbnB1dD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZXNldChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgICAgdGhpcy5wcm9wZXJ0eSxcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZVxyXG4gICAgKTtcclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSB1cGRhdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsLFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dEFyZWFJbnB1dENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMucHJvcGVydHkuZ2V0VmFsaWRhdGlvbkVycm9ycyh0aGlzLmVkaXRlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLmNsaWNrZWQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW07XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHNlbGVjdGVkSXRlbS50aXRsZTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0aW5nKCl7XHJcbiAgICBpZih0aGlzLmVtaXRGdWxsT2JqZWN0KXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBpZighdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4udGhpcy5vdXRzaWRlUGFyYW1zXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmIGkgd2FzIHNlbmRpbmcgdGVuYW50IGlkIGZyb20gb3V0c2lkZSB0aGVuIGkgYW0gaW4gY2FzZSBvZiBtdWx0aSB0ZW5hbnQgdGhlbiBhZGQgdGVuYW50IGlkIHRvIHBhcmFtc1xyXG4gICAgICBpZih0aGlzLnRlbmFudElkKXtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICAvLyBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXSA9ICh2YWwpID8gYCUke3ZhbH0lYCA6ICcnO1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwiY2FzZVNlbnNpdGl2ZVwiICYmIHZhbCl7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuVG9DYXNlSW5zZW5zaXRpdmUodmFsKTtcclxuICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT1yZXN1bHQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJwZXJjZW50YWdlXCIgJiYgdmFsKXtcclxuXHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0nJScrdmFsKyclJztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVjayBpZiByZWxhdGlvbiB0aGVuIHdpbGwgdXNlIGVudHJpZXMgdGhlbiBmZXRjaCBvbmx5IHJlcXVpcmVkIHNjaGVtYXNcclxuICAgICAgLy8gYW5kIG90aGVyIHN1Z2dlc3RlciB3aWxsIHVzZSBhZ2dyZWdhdGlvbnMgZnJvbSByZXNwb25zZSBub3QgZW50cmllcyB0aGVuIGFkZCBwYWdlIHNpemUgMFxyXG4gICAgICAvLyBhbGwgdGhpcyB0byBkZWNyZWFzZSByZXNwb25zZSBzaXplXHJcbiAgICAgIGxldCBjdXN0b21Qcm9wZXJ0aWVzID0gJyonXHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9PT0gJ1BQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2gnKXtcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzID0gJ0NvcnJlc3BvbmRlbmNlJztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcGFyYW1zLnBhZ2VTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZVxyXG4gICAgICAgIC5nZXRUZXh0Qm94U3VnZ2VzdGlvblJlc3VsdHMoXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVLZXksXHJcbiAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gZGF0YS5maWx0ZXIoKG9wdGlvbikgPT5cclxuICAgICAgICAgICAgb3B0aW9uLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50TGlzdC5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBUb0Nhc2VJbnNlbnNpdGl2ZSAob3JnaW5hbFRleHQpe1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBsZXQgb3JnaW5hbFRleHRMb3dlckNhc2UgPSBvcmdpbmFsVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZm9yKGxldCBpPTA7aTxvcmdpbmFsVGV4dExvd2VyQ2FzZS5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYob3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpID49ICdhJyAmJiBvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPD0gJ3onKVxyXG4gICAgICAgcmVzdWx0ID0gcmVzdWx0K1wiW1wiK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKStvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKStcIl1cIjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCtvcmdpbmFsVGV4dC5jaGFyQXQoaSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiLipcIityZXN1bHQrXCIuKlwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlKCk7IGVsc2UgcmVhZE9ubHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LW9uZVwiIChjbGlja091dHNpZGUpPVwib3Blbk9wdGlvbnMoZmFsc2UpXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IChlbWl0RnVsbE9iamVjdCA/IChlZGl0ZWRWYWx1ZT8udGl0bGUpIDogZWRpdGVkVmFsdWUpIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwibmF0aXZlQXV0b0NvbXBsZXRlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoa2V5dXApPVwid2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVkaXRpbnB1dC0nXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvcGVuT3B0aW9ucyh0cnVlKVwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cInt7bWF4Q2hhcnNOdW19fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImRvY3VtZW50TGlzdC5sZW5ndGggIT09IDBcIiBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3VnZ2VzdGlvbnMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZC1ibG9jayc6IHNob3dzdWdnZXN0ZWRPcHRpb25zIH1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgICAgICAgICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucGF0dGVyblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwid3JvbmcgcGF0dGVyblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLm1pblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiVkFMSURBVE9SUy5NSU5cIiB8IHRyYW5zbGF0ZSB9fSB7eyBjb250cm9sLmVycm9ycy5taW4ubWluIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyBlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRlZFZhbHVlID0gb2JqO1xyXG4gICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gb2JqO1xyXG5cclxuICAgIC8vICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgfVxyXG5cclxuICBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RW1wdHkgfHwgIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NsaWNrYWJsZUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uKCkgJiYgdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaXNDbGlja2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LmNsaWNrYWJsZTtcclxuICB9XHJcblxyXG4gIGhhc0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5Lmljb247XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGFsbG93U3BhY2UoZSkge1xyXG4gICAgaWYgKHRoaXMucHJldmVudFNwYWNlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RWRpdE1vZGUoZWRpdFN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pbkVkaXQgPSBlZGl0U3RhdHVzO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvcklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JJbnB1dD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZXNldChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgICAgdGhpcy5wcm9wZXJ0eSxcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZVxyXG4gICAgKTtcclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSB1cGRhdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsLFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dEFyZWFJbnB1dENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMucHJvcGVydHkuZ2V0VmFsaWRhdGlvbkVycm9ycyh0aGlzLmVkaXRlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLmNsaWNrZWQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW07XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHNlbGVjdGVkSXRlbS50aXRsZTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0aW5nKCl7XHJcbiAgICBpZih0aGlzLmVtaXRGdWxsT2JqZWN0KXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBpZighdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4udGhpcy5vdXRzaWRlUGFyYW1zXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmIGkgd2FzIHNlbmRpbmcgdGVuYW50IGlkIGZyb20gb3V0c2lkZSB0aGVuIGkgYW0gaW4gY2FzZSBvZiBtdWx0aSB0ZW5hbnQgdGhlbiBhZGQgdGVuYW50IGlkIHRvIHBhcmFtc1xyXG4gICAgICBpZih0aGlzLnRlbmFudElkKXtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICAvLyBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXSA9ICh2YWwpID8gYCUke3ZhbH0lYCA6ICcnO1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwiY2FzZVNlbnNpdGl2ZVwiICYmIHZhbCl7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuVG9DYXNlSW5zZW5zaXRpdmUodmFsKTtcclxuICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT1yZXN1bHQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJwZXJjZW50YWdlXCIgJiYgdmFsKXtcclxuXHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0nJScrdmFsKyclJztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVjayBpZiByZWxhdGlvbiB0aGVuIHdpbGwgdXNlIGVudHJpZXMgdGhlbiBmZXRjaCBvbmx5IHJlcXVpcmVkIHNjaGVtYXNcclxuICAgICAgLy8gYW5kIG90aGVyIHN1Z2dlc3RlciB3aWxsIHVzZSBhZ2dyZWdhdGlvbnMgZnJvbSByZXNwb25zZSBub3QgZW50cmllcyB0aGVuIGFkZCBwYWdlIHNpemUgMFxyXG4gICAgICAvLyBhbGwgdGhpcyB0byBkZWNyZWFzZSByZXNwb25zZSBzaXplXHJcbiAgICAgIGxldCBjdXN0b21Qcm9wZXJ0aWVzID0gJyonXHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9PT0gJ1BQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2gnKXtcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzID0gJ0NvcnJlc3BvbmRlbmNlJztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcGFyYW1zLnBhZ2VTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZVxyXG4gICAgICAgIC5nZXRUZXh0Qm94U3VnZ2VzdGlvblJlc3VsdHMoXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVLZXksXHJcbiAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gZGF0YS5maWx0ZXIoKG9wdGlvbikgPT5cclxuICAgICAgICAgICAgb3B0aW9uLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50TGlzdC5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBUb0Nhc2VJbnNlbnNpdGl2ZSAob3JnaW5hbFRleHQpe1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBsZXQgb3JnaW5hbFRleHRMb3dlckNhc2UgPSBvcmdpbmFsVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZm9yKGxldCBpPTA7aTxvcmdpbmFsVGV4dExvd2VyQ2FzZS5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYob3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpID49ICdhJyAmJiBvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPD0gJ3onKVxyXG4gICAgICAgcmVzdWx0ID0gcmVzdWx0K1wiW1wiK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKStvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKStcIl1cIjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCtvcmdpbmFsVGV4dC5jaGFyQXQoaSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiLipcIityZXN1bHQrXCIuKlwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlKCk7IGVsc2UgcmVhZE9ubHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LW9uZVwiIChjbGlja091dHNpZGUpPVwib3Blbk9wdGlvbnMoZmFsc2UpXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IChlbWl0RnVsbE9iamVjdCA/IChlZGl0ZWRWYWx1ZT8udGl0bGUpIDogZWRpdGVkVmFsdWUpIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwibmF0aXZlQXV0b0NvbXBsZXRlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoa2V5dXApPVwid2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVkaXRpbnB1dC0nXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvcGVuT3B0aW9ucyh0cnVlKVwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cInt7bWF4Q2hhcnNOdW19fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImRvY3VtZW50TGlzdC5sZW5ndGggIT09IDBcIiBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3VnZ2VzdGlvbnMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZC1ibG9jayc6IHNob3dzdWdnZXN0ZWRPcHRpb25zIH1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgICAgICAgICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucGF0dGVyblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwid3JvbmcgcGF0dGVyblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLm1pblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiVkFMSURBVE9SUy5NSU5cIiB8IHRyYW5zbGF0ZSB9fSB7eyBjb250cm9sLmVycm9ycy5taW4ubWluIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyBlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
var _DropdownTreeviewSelectI18n_defaultSelection;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Injectable } from "@angular/core";
|
|
4
|
+
import { DefaultTreeviewI18n, } from "ngx-treeview";
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "../../../../Core/services/translation/translation.service";
|
|
5
7
|
/** @ignore */
|
|
@@ -7,6 +9,10 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
|
|
|
7
9
|
constructor(translation) {
|
|
8
10
|
super();
|
|
9
11
|
this.translation = translation;
|
|
12
|
+
_DropdownTreeviewSelectI18n_defaultSelection.set(this, "");
|
|
13
|
+
}
|
|
14
|
+
setDefaultSelection(defaultText) {
|
|
15
|
+
__classPrivateFieldSet(this, _DropdownTreeviewSelectI18n_defaultSelection, defaultText, "f");
|
|
10
16
|
}
|
|
11
17
|
set selectedItem(value) {
|
|
12
18
|
this.internalSelectedItem = value;
|
|
@@ -26,8 +32,8 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
|
|
|
26
32
|
if (!val) {
|
|
27
33
|
this.translation.isArabic.subscribe((arabic) => {
|
|
28
34
|
arabic
|
|
29
|
-
? (placeHolder =
|
|
30
|
-
: (placeHolder =
|
|
35
|
+
? (placeHolder = "أدخل رمز القسم للتصفية")
|
|
36
|
+
: (placeHolder = "Type Department Code To Filter ");
|
|
31
37
|
});
|
|
32
38
|
}
|
|
33
39
|
else {
|
|
@@ -39,10 +45,14 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
|
|
|
39
45
|
let placeHolder;
|
|
40
46
|
let suffix;
|
|
41
47
|
this.translation.isArabic.subscribe((arabic) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
if (__classPrivateFieldGet(this, _DropdownTreeviewSelectI18n_defaultSelection, "f"))
|
|
49
|
+
placeHolder = this.translation.instant(__classPrivateFieldGet(this, _DropdownTreeviewSelectI18n_defaultSelection, "f"));
|
|
50
|
+
else {
|
|
51
|
+
arabic
|
|
52
|
+
? (placeHolder = "الرجاء إختيار القسم")
|
|
53
|
+
: (placeHolder = "Please select Department");
|
|
54
|
+
}
|
|
55
|
+
arabic ? (suffix = "أقسام مختارة") : (suffix = "Departments Selected");
|
|
46
56
|
});
|
|
47
57
|
return this.internalSelectedItem
|
|
48
58
|
? this.internalSelectedItem.text
|
|
@@ -54,15 +64,16 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
|
|
|
54
64
|
let noItemText;
|
|
55
65
|
this.translation.isArabic.subscribe((arabic) => {
|
|
56
66
|
arabic
|
|
57
|
-
? (noItemText =
|
|
58
|
-
: (noItemText =
|
|
67
|
+
? (noItemText = "لم يتم العثور على نتائج")
|
|
68
|
+
: (noItemText = "No items were found");
|
|
59
69
|
});
|
|
60
70
|
return noItemText;
|
|
61
71
|
}
|
|
62
72
|
}
|
|
63
|
-
|
|
64
|
-
DropdownTreeviewSelectI18n.ɵ
|
|
65
|
-
i0.ɵɵ
|
|
73
|
+
_DropdownTreeviewSelectI18n_defaultSelection = new WeakMap();
|
|
74
|
+
DropdownTreeviewSelectI18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropdownTreeviewSelectI18n, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
DropdownTreeviewSelectI18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropdownTreeviewSelectI18n });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropdownTreeviewSelectI18n, decorators: [{
|
|
66
77
|
type: Injectable
|
|
67
78
|
}], ctorParameters: function () { return [{ type: i1.TranslationService }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3QvZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFHTCxtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7OztBQUd0QixjQUFjO0FBRWQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQU1qRSxZQUFvQixXQUErQjtRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURVLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUxuRCx1REFBNEIsRUFBRSxFQUFDO0lBTy9CLENBQUM7SUFORCxtQkFBbUIsQ0FBQyxXQUFtQjtRQUNyQyx1QkFBQSxJQUFJLGdEQUFxQixXQUFXLE1BQUEsQ0FBQztJQUN2QyxDQUFDO0lBUUQsSUFBSSxZQUFZLENBQUMsS0FBbUI7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWU7SUFDZixJQUFJLGVBQWUsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsR0FBRyxHQUFHLElBQUk7UUFDN0IsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM3QyxNQUFNO29CQUNKLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztvQkFDMUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlDQUFpQyxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUE0QjtRQUNsQyxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLE1BQU0sQ0FBQztRQUVYLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdDLElBQUksdUJBQUEsSUFBSSxvREFBa0I7Z0JBQ3hCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLG9EQUFrQixDQUFDLENBQUM7aUJBQzVEO2dCQUNILE1BQU07b0JBQ0osQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO29CQUN2QyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLENBQUMsQ0FBQzthQUNoRDtZQUVELE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxvQkFBb0I7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCO2dCQUM5QixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLElBQUksTUFBTSxFQUFFO2dCQUM3QyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2xCLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsSUFBSTtRQUNsQyxJQUFJLFVBQWtCLENBQUM7UUFFdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0MsTUFBTTtnQkFDSixDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcseUJBQXlCLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7O3dIQXhFVSwwQkFBMEI7NEhBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgVHJlZXZpZXdJdGVtLFxyXG4gIFRyZWV2aWV3U2VsZWN0aW9uLFxyXG4gIERlZmF1bHRUcmVldmlld0kxOG4sXHJcbn0gZnJvbSBcIm5neC10cmVldmlld1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93blRyZWV2aWV3U2VsZWN0STE4biBleHRlbmRzIERlZmF1bHRUcmVldmlld0kxOG4ge1xyXG4gICNkZWZhdWx0U2VsZWN0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNldERlZmF1bHRTZWxlY3Rpb24oZGVmYXVsdFRleHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy4jZGVmYXVsdFNlbGVjdGlvbiA9IGRlZmF1bHRUZXh0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBwcml2YXRlIGludGVybmFsU2VsZWN0ZWRJdGVtOiBUcmVldmlld0l0ZW07XHJcbiAgcHJpdmF0ZSBpbnRlcm5hbFNlbGVjdGlvbkxlbmd0aDogbnVtYmVyO1xyXG5cclxuICBzZXQgc2VsZWN0ZWRJdGVtKHZhbHVlOiBUcmVldmlld0l0ZW0pIHtcclxuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RlZEl0ZW0oKTogVHJlZXZpZXdJdGVtIHtcclxuICAgIHJldHVybiB0aGlzLmludGVybmFsU2VsZWN0ZWRJdGVtO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9yIG11bHRpcGxlXHJcbiAgc2V0IHNlbGVjdGlvbkxlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmludGVybmFsU2VsZWN0aW9uTGVuZ3RoID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBzZWxlY3Rpb25MZW5ndGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmludGVybmFsU2VsZWN0aW9uTGVuZ3RoO1xyXG4gIH1cclxuICBnZXRGaWx0ZXJQbGFjZWhvbGRlcih2YWwgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGxldCBwbGFjZUhvbGRlcjtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgICBhcmFiaWNcclxuICAgICAgICAgID8gKHBsYWNlSG9sZGVyID0gXCLYo9iv2K7ZhCDYsdmF2LIg2KfZhNmC2LPZhSDZhNmE2KrYtdmB2YrYqVwiKVxyXG4gICAgICAgICAgOiAocGxhY2VIb2xkZXIgPSBcIlR5cGUgRGVwYXJ0bWVudCBDb2RlIFRvIEZpbHRlciBcIik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGxhY2VIb2xkZXIgPSB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQodmFsKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZUhvbGRlcjtcclxuICB9XHJcbiAgZ2V0VGV4dChzZWxlY3Rpb246IFRyZWV2aWV3U2VsZWN0aW9uKTogc3RyaW5nIHtcclxuICAgIGxldCBwbGFjZUhvbGRlcjtcclxuICAgIGxldCBzdWZmaXg7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICBpZiAodGhpcy4jZGVmYXVsdFNlbGVjdGlvbilcclxuICAgICAgICBwbGFjZUhvbGRlciA9IHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCh0aGlzLiNkZWZhdWx0U2VsZWN0aW9uKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgYXJhYmljXHJcbiAgICAgICAgICA/IChwbGFjZUhvbGRlciA9IFwi2KfZhNix2KzYp9ihINil2K7YqtmK2KfYsSDYp9mE2YLYs9mFXCIpXHJcbiAgICAgICAgICA6IChwbGFjZUhvbGRlciA9IFwiUGxlYXNlIHNlbGVjdCBEZXBhcnRtZW50XCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhcmFiaWMgPyAoc3VmZml4ID0gXCLYo9mC2LPYp9mFINmF2K7Yqtin2LHYqVwiKSA6IChzdWZmaXggPSBcIkRlcGFydG1lbnRzIFNlbGVjdGVkXCIpO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiB0aGlzLmludGVybmFsU2VsZWN0ZWRJdGVtXHJcbiAgICAgID8gdGhpcy5pbnRlcm5hbFNlbGVjdGVkSXRlbS50ZXh0XHJcbiAgICAgIDogdGhpcy5pbnRlcm5hbFNlbGVjdGlvbkxlbmd0aFxyXG4gICAgICA/IGAke3RoaXMuaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGh9ICR7c3VmZml4fWBcclxuICAgICAgOiBwbGFjZUhvbGRlcjtcclxuICB9XHJcbiAgZ2V0RmlsdGVyTm9JdGVtc0ZvdW5kVGV4dCh2YWwgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGxldCBub0l0ZW1UZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICBhcmFiaWNcclxuICAgICAgICA/IChub0l0ZW1UZXh0ID0gXCLZhNmFINmK2KrZhSDYp9mE2LnYq9mI2LEg2LnZhNmJINmG2KrYp9im2KxcIilcclxuICAgICAgICA6IChub0l0ZW1UZXh0ID0gXCJObyBpdGVtcyB3ZXJlIGZvdW5kXCIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vSXRlbVRleHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|