nuxeo-development-framework 0.0.2 → 0.0.6
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/README.md +24 -24
- package/bundles/nuxeo-development-framework.umd.js +18534 -50
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/Core/adapters/adapter.service.js +50 -0
- package/esm2015/lib/Core/core.module.js +104 -0
- package/esm2015/lib/Core/enums/language.enum.js +6 -0
- package/esm2015/lib/Core/models/component.model.js +8 -0
- package/esm2015/lib/Core/services/callApi/call-api.service.js +33 -0
- package/esm2015/lib/Core/services/initialization/initialization.service.js +57 -0
- package/esm2015/lib/Core/services/localStorag/local-storag.service.js +123 -0
- package/esm2015/lib/Core/services/nuxeo/nuxeo-override.js +82 -0
- package/esm2015/lib/Core/services/nuxeo/nuxeo.service.js +120 -0
- package/esm2015/lib/Core/services/roles/roles.service.js +103 -0
- package/esm2015/lib/Core/services/translation/translate-loader.service.js +150 -0
- package/esm2015/lib/Core/services/translation/translation.service.js +171 -0
- package/esm2015/lib/Core/services/user/user-preferences.service.js +153 -0
- package/esm2015/lib/Core/utilities/moment-date-adapter.js +178 -0
- package/esm2015/lib/Core/utilities/utility.service.js +81 -0
- package/esm2015/lib/components/activity/activity/activity.component.js +28 -0
- package/esm2015/lib/components/activity/activity.module.js +37 -0
- package/esm2015/lib/components/avatar/avatar/avatar.component.js +55 -0
- package/esm2015/lib/components/avatar/avatar.module.js +32 -0
- package/esm2015/lib/components/card/card.component.js +48 -0
- package/esm2015/lib/components/card/card.module.js +23 -0
- package/esm2015/lib/components/comments/comments.module.js +76 -0
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +33 -0
- package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +78 -0
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +68 -0
- package/esm2015/lib/components/comments/constants/comment.js +25 -0
- package/esm2015/lib/components/comments/services/comment-api.service.js +49 -0
- package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +73 -0
- package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +27 -0
- package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +29 -0
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +134 -0
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +133 -0
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +110 -0
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +49 -0
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +61 -0
- package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +111 -0
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +115 -0
- package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +50 -0
- package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +62 -0
- package/esm2015/lib/components/create-entity/create-entity.module.js +36 -0
- package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +73 -0
- package/esm2015/lib/components/cts-tags/cts-tags.module.js +65 -0
- package/esm2015/lib/components/cts-tags/services/tags-api.service.js +61 -0
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +82 -0
- package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +36 -0
- package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +2 -0
- package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +41 -0
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +156 -0
- package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +72 -0
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +255 -0
- package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +929 -0
- package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +159 -0
- package/esm2015/lib/components/documents/components/documents/documents.component.js +61 -0
- package/esm2015/lib/components/documents/constants/document-templates.js +32 -0
- package/esm2015/lib/components/documents/constants/documents.js +86 -0
- package/esm2015/lib/components/documents/documents.module.js +123 -0
- package/esm2015/lib/components/documents/services/document-templates.service.js +115 -0
- package/esm2015/lib/components/documents/services/documents.service.js +217 -0
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +342 -0
- package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +34 -0
- package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +164 -0
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +542 -0
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +106 -0
- package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +26 -0
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +124 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +94 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +127 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +102 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +35 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +165 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +71 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +202 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +78 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/constants/department.js +13 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +185 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +207 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +94 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +85 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +128 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +81 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +36 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +106 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +93 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +207 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +302 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +44 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +176 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +76 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +180 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +250 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +63 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +269 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +47 -0
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +172 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.js +768 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +35 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.js +17 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +34 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.js +17 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +38 -0
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.js +30 -0
- package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +17 -0
- package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +289 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.js +2 -0
- package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.js +10 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-baseitem.model.js +63 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-boolitem.model.js +20 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-dateitem.model.js +24 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.js +12 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-mapitem.model.js +16 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-selectitem.model.js +17 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form-textitem.model.js +32 -0
- package/esm2015/lib/components/dynamic-form/models/dynamic-form.models.js +8 -0
- package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +46 -0
- package/esm2015/lib/components/dynamic-form/services/dynamic-component-mapper.service.js +60 -0
- package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +74 -0
- package/esm2015/lib/components/dynamic-form/validators/length-validator.js +15 -0
- package/esm2015/lib/components/dynamic-form/validators/regex-validator.js +15 -0
- package/esm2015/lib/components/dynamic-form/validators/required-validator.js +9 -0
- package/esm2015/lib/components/dynamic-form/validators/value-validator.js +15 -0
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +148 -0
- package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +57 -0
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +204 -0
- package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +44 -0
- package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +16 -0
- package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +36 -0
- package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +32 -0
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +49 -0
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +71 -0
- package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +60 -0
- package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +54 -0
- package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +40 -0
- package/esm2015/lib/components/filter/filter/filter.component.js +94 -0
- package/esm2015/lib/components/filter/filter.module.js +45 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +114 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +111 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +165 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +32 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +54 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +71 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +25 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +43 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +26 -0
- package/esm2015/lib/components/hijri-gregorian-datepicker/utils/consts.js +5 -0
- package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +75 -0
- package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +70 -0
- package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +27 -0
- package/esm2015/lib/components/latest-activity/constants/activitylog.js +80 -0
- package/esm2015/lib/components/latest-activity/latest-activity.module.js +53 -0
- package/esm2015/lib/components/latest-activity/services/activity-log.service.js +33 -0
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +69 -0
- package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +22 -0
- package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +57 -0
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +129 -0
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +149 -0
- package/esm2015/lib/components/notifications/notifications.module.js +109 -0
- package/esm2015/lib/components/notifications/notifications.service.js +277 -0
- package/esm2015/lib/components/pagination/pagination/pagination.component.js +123 -0
- package/esm2015/lib/components/pagination/pagination.module.js +32 -0
- package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +24 -0
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +228 -0
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +181 -0
- package/esm2015/lib/components/select/select/select.component.js +130 -0
- package/esm2015/lib/components/select/select.module.js +37 -0
- package/esm2015/lib/components/table/table/table.component.js +174 -0
- package/esm2015/lib/components/table/table.module.js +57 -0
- package/esm2015/lib/components/users-card/users-card.component.js +43 -0
- package/esm2015/lib/components/users-card/users-card.module.js +28 -0
- package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +33 -0
- package/esm2015/lib/components/viewer-log/viewer-log.module.js +20 -0
- package/esm2015/lib/components/vocabulary/interfaces/op-type.interface.js +2 -0
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +49 -0
- package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +106 -0
- package/esm2015/lib/components/vocabulary/vocabulary.module.js +34 -0
- package/esm2015/lib/configuration/app-config.service.js +26 -0
- package/esm2015/lib/configuration/helpers/app-initializer.js +4 -0
- package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +61 -0
- package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +29 -0
- package/esm2015/lib/directive/directive.module.js +48 -0
- package/esm2015/lib/directive/permissions/evaluators.service.js +118 -0
- package/esm2015/lib/directive/permissions/permissions.directive.js +106 -0
- package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +28 -0
- package/esm2015/lib/directive/rtl/set-rtl.directive.js +29 -0
- package/esm2015/lib/nuxeo-development-framework.component.js +26 -18
- package/esm2015/lib/nuxeo-development-framework.module.js +45 -16
- package/esm2015/lib/nuxeo-development-framework.service.js +14 -13
- package/esm2015/lib/pipes/file-size.pipe.js +57 -0
- package/esm2015/lib/pipes/hijri-date.pipe.js +46 -0
- package/esm2015/lib/pipes/localized-date.pipe.js +81 -0
- package/esm2015/lib/pipes/multi-value.pipe.js +42 -0
- package/esm2015/lib/pipes/pipes.module.js +29 -0
- package/esm2015/lib/pipes/secure-html.pipe.js +34 -0
- package/esm2015/lib/pipes/secure.pipe.js +40 -0
- package/esm2015/lib/pipes/time-ago.pipe.js +68 -0
- package/esm2015/lib/shared/components/button/button.component.js +87 -0
- package/esm2015/lib/shared/components/item-list/item-list.component.js +76 -0
- package/esm2015/lib/shared/components/no-data/no-data.component.js +37 -0
- package/esm2015/lib/shared/components/read-more/read-more.component.js +107 -0
- package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +144 -0
- package/esm2015/lib/shared/components/spinner/spinner.component.js +29 -0
- package/esm2015/lib/shared/components/user-card/user-card.component.js +49 -0
- package/esm2015/lib/shared/libraryShared.module.js +80 -0
- package/esm2015/nuxeo-development-framework.js +4 -4
- package/esm2015/public-api.js +156 -7
- package/fesm2015/nuxeo-development-framework.js +17027 -49
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/Core/adapters/adapter.service.d.ts +11 -0
- package/lib/Core/core.module.d.ts +14 -0
- package/lib/Core/enums/language.enum.d.ts +4 -0
- package/lib/Core/models/component.model.d.ts +6 -0
- package/lib/Core/services/callApi/call-api.service.d.ts +11 -0
- package/lib/Core/services/initialization/initialization.service.d.ts +14 -0
- package/lib/Core/services/localStorag/local-storag.service.d.ts +41 -0
- package/lib/Core/services/nuxeo/nuxeo-override.d.ts +8 -0
- package/lib/Core/services/nuxeo/nuxeo.service.d.ts +33 -0
- package/lib/Core/services/roles/roles.service.d.ts +11 -0
- package/lib/Core/services/translation/translate-loader.service.d.ts +26 -0
- package/lib/Core/services/translation/translation.service.d.ts +71 -0
- package/lib/Core/services/user/user-preferences.service.d.ts +80 -0
- package/lib/Core/utilities/moment-date-adapter.d.ts +37 -0
- package/lib/Core/utilities/utility.service.d.ts +11 -0
- package/lib/components/activity/activity/activity.component.d.ts +13 -0
- package/lib/components/activity/activity.module.d.ts +13 -0
- package/lib/components/avatar/avatar/avatar.component.d.ts +23 -0
- package/lib/components/avatar/avatar.module.d.ts +13 -0
- package/lib/components/card/card.component.d.ts +32 -0
- package/lib/components/card/card.module.d.ts +12 -0
- package/lib/components/comments/comments.module.d.ts +25 -0
- package/lib/components/comments/components/comment-item/comment-item.component.d.ts +13 -0
- package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +45 -0
- package/lib/components/comments/components/comments-list/comments-list.component.d.ts +26 -0
- package/lib/components/comments/constants/comment.d.ts +25 -0
- package/lib/components/comments/services/comment-api.service.d.ts +14 -0
- package/lib/components/confirm-caller/confirm-caller.dialog.d.ts +46 -0
- package/lib/components/confirm-caller/confirm-caller.module.d.ts +16 -0
- package/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.d.ts +12 -0
- package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +34 -0
- package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +42 -0
- package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +31 -0
- package/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.d.ts +18 -0
- package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +31 -0
- package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +30 -0
- package/lib/components/correspondence-relation/services/correspondence-realation.service.d.ts +24 -0
- package/lib/components/correspondence-relation/services/viewer-files.service.d.ts +18 -0
- package/lib/components/create-entity/create-entity/create-entity.component.d.ts +17 -0
- package/lib/components/create-entity/create-entity.module.d.ts +11 -0
- package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +28 -0
- package/lib/components/cts-tags/cts-tags.module.d.ts +21 -0
- package/lib/components/cts-tags/services/tags-api.service.d.ts +15 -0
- package/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.d.ts +30 -0
- package/lib/components/custom-toastr/custom-toastr.module.d.ts +12 -0
- package/lib/components/custom-toastr/interfaces/toast-type.interface.d.ts +1 -0
- package/lib/components/custom-toastr/services/custom-toastr.service.d.ts +18 -0
- package/lib/components/documents/components/attachments-list/attachments-list.component.d.ts +54 -0
- package/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.d.ts +37 -0
- package/lib/components/documents/components/document-list/documents-list.component.d.ts +81 -0
- package/lib/components/documents/components/document-scan/document-scan.component.d.ts +103 -0
- package/lib/components/documents/components/document-upload/document-upload.component.d.ts +58 -0
- package/lib/components/documents/components/documents/documents.component.d.ts +27 -0
- package/lib/components/documents/constants/document-templates.d.ts +33 -0
- package/lib/components/documents/constants/documents.d.ts +95 -0
- package/lib/components/documents/documents.module.d.ts +33 -0
- package/lib/components/documents/services/document-templates.service.d.ts +24 -0
- package/lib/components/documents/services/documents.service.d.ts +36 -0
- package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +63 -0
- package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +16 -0
- package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +33 -0
- package/lib/components/dynamic-chart/services/chart-data.service.d.ts +37 -0
- package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +45 -0
- package/lib/components/dynamic-filter/dynamic-filter.module.d.ts +16 -0
- package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +28 -0
- package/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.d.ts +26 -0
- package/lib/components/dynamic-form/components/dynamic-form/fields.adapter.d.ts +6 -0
- package/lib/components/dynamic-form/components/dynamic-form/form-builder.service.d.ts +21 -0
- package/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.d.ts +17 -0
- package/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.d.ts +57 -0
- package/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.d.ts +35 -0
- package/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.d.ts +70 -0
- package/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.d.ts +52 -0
- package/lib/components/dynamic-form/components/dynamic-form-department/constants/department.d.ts +12 -0
- package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +65 -0
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +29 -0
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +21 -0
- package/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.d.ts +30 -0
- package/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.d.ts +61 -0
- package/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.d.ts +25 -0
- package/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.d.ts +15 -0
- package/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.d.ts +45 -0
- package/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.d.ts +41 -0
- package/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.d.ts +65 -0
- package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +83 -0
- package/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.d.ts +13 -0
- package/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.d.ts +79 -0
- package/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.d.ts +37 -0
- package/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.d.ts +71 -0
- package/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.d.ts +86 -0
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +19 -0
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +88 -0
- package/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.d.ts +16 -0
- package/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.d.ts +76 -0
- package/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.d.ts +599 -0
- package/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.d.ts +13 -0
- package/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.d.ts +2 -0
- package/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.d.ts +13 -0
- package/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.d.ts +2 -0
- package/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.d.ts +16 -0
- package/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.d.ts +2 -0
- package/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.d.ts +9 -0
- package/lib/components/dynamic-form/dynamic-form.module.d.ts +64 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.d.ts +5 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.d.ts +5 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.d.ts +15 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.d.ts +4 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.d.ts +12 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.d.ts +8 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.d.ts +10 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.d.ts +5 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.d.ts +8 -0
- package/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.d.ts +9 -0
- package/lib/components/dynamic-form/models/dynamic-form-baseitem.model.d.ts +21 -0
- package/lib/components/dynamic-form/models/dynamic-form-boolitem.model.d.ts +11 -0
- package/lib/components/dynamic-form/models/dynamic-form-dateitem.model.d.ts +13 -0
- package/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.d.ts +9 -0
- package/lib/components/dynamic-form/models/dynamic-form-mapitem.model.d.ts +8 -0
- package/lib/components/dynamic-form/models/dynamic-form-selectitem.model.d.ts +11 -0
- package/lib/components/dynamic-form/models/dynamic-form-textitem.model.d.ts +15 -0
- package/lib/components/dynamic-form/models/dynamic-form.models.d.ts +7 -0
- package/lib/components/dynamic-form/services/card-item-types.service.d.ts +13 -0
- package/lib/components/dynamic-form/services/dynamic-component-mapper.service.d.ts +36 -0
- package/lib/components/dynamic-form/services/dynamic-form-update.service.d.ts +30 -0
- package/lib/components/dynamic-form/validators/length-validator.d.ts +7 -0
- package/lib/components/dynamic-form/validators/regex-validator.d.ts +7 -0
- package/lib/components/dynamic-form/validators/required-validator.d.ts +5 -0
- package/lib/components/dynamic-form/validators/value-validator.d.ts +7 -0
- package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +71 -0
- package/lib/components/dynamic-search/dynamic-search.module.d.ts +19 -0
- package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +96 -0
- package/lib/components/dynamic-table/dynamic-table.module.d.ts +16 -0
- package/lib/components/dynamic-table/services/dynamic-table.service.d.ts +8 -0
- package/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.d.ts +13 -0
- package/lib/components/dynamic-view/data-viewer/data-viewer.component.d.ts +12 -0
- package/lib/components/dynamic-view/date-viewer/date-viewer.component.d.ts +17 -0
- package/lib/components/dynamic-view/department-viewer/department-viewer.component.d.ts +29 -0
- package/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.d.ts +37 -0
- package/lib/components/dynamic-view/dynamic-view.module.d.ts +20 -0
- package/lib/components/dynamic-view/list-viewer/list-viewer.component.d.ts +20 -0
- package/lib/components/filter/filter/filter.component.d.ts +31 -0
- package/lib/components/filter/filter.module.d.ts +15 -0
- package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.d.ts +34 -0
- package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.d.ts +32 -0
- package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.d.ts +39 -0
- package/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.d.ts +9 -0
- package/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.d.ts +14 -0
- package/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.d.ts +15 -0
- package/lib/components/hijri-gregorian-datepicker/services/date-helper.service.d.ts +8 -0
- package/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.d.ts +11 -0
- package/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.d.ts +10 -0
- package/lib/components/hijri-gregorian-datepicker/utils/consts.d.ts +4 -0
- package/lib/components/latest-activity/components/activity-line/activity-line.component.d.ts +19 -0
- package/lib/components/latest-activity/components/latest-activity/latest-activity.component.d.ts +22 -0
- package/lib/components/latest-activity/components/single-activity/single-activity.component.d.ts +10 -0
- package/lib/components/latest-activity/constants/activitylog.d.ts +82 -0
- package/lib/components/latest-activity/latest-activity.module.d.ts +19 -0
- package/lib/components/latest-activity/services/activity-log.service.d.ts +12 -0
- package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +15 -0
- package/lib/components/notifications/components/notification-options/notification-options.component.d.ts +10 -0
- package/lib/components/notifications/components/notification-toast/notification-toast.component.d.ts +19 -0
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +25 -0
- package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +45 -0
- package/lib/components/notifications/notifications.module.d.ts +24 -0
- package/lib/components/notifications/notifications.service.d.ts +61 -0
- package/lib/components/pagination/pagination/pagination.component.d.ts +46 -0
- package/lib/components/pagination/pagination.module.d.ts +13 -0
- package/lib/components/pdf-tron/pdf-tron.module.d.ts +8 -0
- package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +54 -0
- package/lib/components/pdf-tron/pdftron/pdftron.service.d.ts +30 -0
- package/lib/components/select/select/select.component.d.ts +43 -0
- package/lib/components/select/select.module.d.ts +12 -0
- package/lib/components/table/table/table.component.d.ts +89 -0
- package/lib/components/table/table.module.d.ts +18 -0
- package/lib/components/users-card/users-card.component.d.ts +22 -0
- package/lib/components/users-card/users-card.module.d.ts +17 -0
- package/lib/components/viewer-log/components/viewer-log/viewer-log.component.d.ts +12 -0
- package/lib/components/viewer-log/viewer-log.module.d.ts +10 -0
- package/lib/components/vocabulary/interfaces/op-type.interface.d.ts +1 -0
- package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +16 -0
- package/lib/components/vocabulary/vocabulary/vocabulary.component.d.ts +37 -0
- package/lib/components/vocabulary/vocabulary.module.d.ts +11 -0
- package/lib/configuration/app-config.service.d.ts +11 -0
- package/lib/configuration/helpers/app-initializer.d.ts +2 -0
- package/lib/directive/app-has-role/app-has-role.directive.d.ts +18 -0
- package/lib/directive/clickOutSide/click-outside.directive.d.ts +11 -0
- package/lib/directive/directive.module.d.ts +16 -0
- package/lib/directive/permissions/evaluators.service.d.ts +26 -0
- package/lib/directive/permissions/permissions.directive.d.ts +46 -0
- package/lib/directive/rtl/set-dir-rtl.directive.d.ts +13 -0
- package/lib/directive/rtl/set-rtl.directive.d.ts +13 -0
- package/lib/nuxeo-development-framework.component.d.ts +8 -5
- package/lib/nuxeo-development-framework.module.d.ts +12 -2
- package/lib/nuxeo-development-framework.service.d.ts +6 -3
- package/lib/pipes/file-size.pipe.d.ts +34 -0
- package/lib/pipes/hijri-date.pipe.d.ts +32 -0
- package/lib/pipes/localized-date.pipe.d.ts +44 -0
- package/lib/pipes/multi-value.pipe.d.ts +32 -0
- package/lib/pipes/pipes.module.d.ts +18 -0
- package/lib/pipes/secure-html.pipe.d.ts +26 -0
- package/lib/pipes/secure.pipe.d.ts +29 -0
- package/lib/pipes/time-ago.pipe.d.ts +34 -0
- package/lib/shared/components/button/button.component.d.ts +38 -0
- package/lib/shared/components/item-list/item-list.component.d.ts +45 -0
- package/lib/shared/components/no-data/no-data.component.d.ts +21 -0
- package/lib/shared/components/read-more/read-more.component.d.ts +37 -0
- package/lib/shared/components/search-autocomplete/search-autocomplete.component.d.ts +49 -0
- package/lib/shared/components/spinner/spinner.component.d.ts +18 -0
- package/lib/shared/components/user-card/user-card.component.d.ts +30 -0
- package/lib/shared/libraryShared.module.d.ts +25 -0
- package/nuxeo-development-framework.d.ts +5 -4
- package/package.json +57 -16
- package/public-api.d.ts +145 -3
- package/bundles/nuxeo-development-framework.umd.min.js +0 -2
- package/bundles/nuxeo-development-framework.umd.min.js.map +0 -1
- package/nuxeo-development-framework.metadata.json +0 -1
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { Component, Input, Optional, Self, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/dynamic-form-update.service";
|
|
4
|
+
import * as i2 from "@ngx-translate/core";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "../../../../directive/clickOutSide/click-outside.directive";
|
|
8
|
+
import * as i6 from "@angular/material/form-field";
|
|
9
|
+
/**
|
|
10
|
+
* A text field input that can be used inside reactive or template driven forms
|
|
11
|
+
* @title
|
|
12
|
+
* Text Field
|
|
13
|
+
* @example
|
|
14
|
+
* <app-dynamic-form-textitem
|
|
15
|
+
* [horizontalAlign]="false"
|
|
16
|
+
* formControlName="controlName"
|
|
17
|
+
* [placeholder]="'PATH.TO.PLACEHOLDER.STRING'"
|
|
18
|
+
* ></app-dynamic-form-textitem>
|
|
19
|
+
*/
|
|
20
|
+
export class DynamicFormTextItemComponent {
|
|
21
|
+
constructor(dynamicFormUpdateService, translate, control) {
|
|
22
|
+
this.dynamicFormUpdateService = dynamicFormUpdateService;
|
|
23
|
+
this.translate = translate;
|
|
24
|
+
this.control = control;
|
|
25
|
+
this.autoComplete = false; // to get suggestions from backend when user type some letters
|
|
26
|
+
this.autoComplete_pageProvider = '';
|
|
27
|
+
this.autoComplete_propertyName = '';
|
|
28
|
+
this.autoComplete_propertyKey = '';
|
|
29
|
+
this.autoCompleteValueKey = '';
|
|
30
|
+
/** input type */
|
|
31
|
+
this.type = 'text';
|
|
32
|
+
/** is Editable */
|
|
33
|
+
this.editable = true;
|
|
34
|
+
/** Placeholder string */
|
|
35
|
+
this.placeholder = '';
|
|
36
|
+
/** is disabled */
|
|
37
|
+
this.disabled = false;
|
|
38
|
+
/** @deprecated */
|
|
39
|
+
this.displayEmpty = true;
|
|
40
|
+
/** should prevent space */
|
|
41
|
+
this.preventSpace = false;
|
|
42
|
+
this.inEdit = false;
|
|
43
|
+
this.showsuggestedOptions = false;
|
|
44
|
+
this.onChange = () => { };
|
|
45
|
+
this.onTouched = () => { };
|
|
46
|
+
this.documentList = [];
|
|
47
|
+
this.control.valueAccessor = this;
|
|
48
|
+
this.valueSeparator = DynamicFormTextItemComponent.DEFAULT_SEPARATOR;
|
|
49
|
+
}
|
|
50
|
+
isRequired() {
|
|
51
|
+
if (!this.control.control.validator) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const validator = this.control.control.validator({});
|
|
55
|
+
return validator && validator.required;
|
|
56
|
+
}
|
|
57
|
+
writeValue(obj) {
|
|
58
|
+
this.editedValue = obj;
|
|
59
|
+
//this.property.value = obj;
|
|
60
|
+
// throw new Error('Method not implemented.');
|
|
61
|
+
}
|
|
62
|
+
get invalid() {
|
|
63
|
+
return this.control ? this.control.invalid : false;
|
|
64
|
+
}
|
|
65
|
+
get showError() {
|
|
66
|
+
if (!this.control) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
const { dirty, touched } = this.control;
|
|
70
|
+
return this.invalid ? dirty || touched : false;
|
|
71
|
+
}
|
|
72
|
+
registerOnChange(fn) {
|
|
73
|
+
this.onChange = fn;
|
|
74
|
+
}
|
|
75
|
+
registerOnTouched(fn) {
|
|
76
|
+
this.onTouched = fn;
|
|
77
|
+
}
|
|
78
|
+
setDisabledState(isDisabled) {
|
|
79
|
+
this.disabled = isDisabled;
|
|
80
|
+
}
|
|
81
|
+
ngOnChanges() {
|
|
82
|
+
/*this.editedValue = this.property.multiline
|
|
83
|
+
? this.property.displayValue
|
|
84
|
+
: this.property.value;*/
|
|
85
|
+
}
|
|
86
|
+
showProperty() {
|
|
87
|
+
return this.displayEmpty || !this.property.isEmpty();
|
|
88
|
+
}
|
|
89
|
+
showClickableIcon() {
|
|
90
|
+
return this.hasIcon() && this.editable;
|
|
91
|
+
}
|
|
92
|
+
isEditable() {
|
|
93
|
+
return this.editable;
|
|
94
|
+
}
|
|
95
|
+
isDisabled() {
|
|
96
|
+
return this.disabled;
|
|
97
|
+
}
|
|
98
|
+
isClickable() {
|
|
99
|
+
return !!this.property.clickable;
|
|
100
|
+
}
|
|
101
|
+
hasIcon() {
|
|
102
|
+
return !!this.property.icon;
|
|
103
|
+
}
|
|
104
|
+
hasErrors() {
|
|
105
|
+
return this.showError;
|
|
106
|
+
}
|
|
107
|
+
allowSpace(e) {
|
|
108
|
+
if (this.preventSpace) {
|
|
109
|
+
e.preventDefault();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
setEditMode(editStatus) {
|
|
113
|
+
this.inEdit = editStatus;
|
|
114
|
+
setTimeout(() => {
|
|
115
|
+
var _a, _b;
|
|
116
|
+
if (this.editorInput) {
|
|
117
|
+
(_b = (_a = this.editorInput) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.click();
|
|
118
|
+
}
|
|
119
|
+
}, 0);
|
|
120
|
+
}
|
|
121
|
+
reset(event) {
|
|
122
|
+
// event.stopPropagation();
|
|
123
|
+
/*this.editedValue = this.property.multiline
|
|
124
|
+
? this.property.displayValue
|
|
125
|
+
: this.property.value;*/
|
|
126
|
+
this.setEditMode(false);
|
|
127
|
+
this.resetErrorMessages();
|
|
128
|
+
}
|
|
129
|
+
resetErrorMessages() {
|
|
130
|
+
this.errorMessages = [];
|
|
131
|
+
}
|
|
132
|
+
update(event) {
|
|
133
|
+
// event.stopPropagation();
|
|
134
|
+
const updatedValue = this.prepareValueForUpload(this.property, this.editedValue);
|
|
135
|
+
// this.property.value = updatedValue;
|
|
136
|
+
this.onChange(updatedValue);
|
|
137
|
+
this.onTouched();
|
|
138
|
+
// this.dynamicFormUpdateService.update(this.property, updatedValue);
|
|
139
|
+
this.setEditMode(false);
|
|
140
|
+
this.resetErrorMessages();
|
|
141
|
+
}
|
|
142
|
+
prepareValueForUpload(property, value) {
|
|
143
|
+
return value;
|
|
144
|
+
}
|
|
145
|
+
onTextAreaInputChange() {
|
|
146
|
+
this.errorMessages = this.property.getValidationErrors(this.editedValue);
|
|
147
|
+
}
|
|
148
|
+
clicked() {
|
|
149
|
+
if (typeof this.property.clickCallBack === 'function') {
|
|
150
|
+
this.property.clickCallBack();
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.dynamicFormUpdateService.clicked(this.property);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
selectItem(title) {
|
|
157
|
+
this.editedValue = title;
|
|
158
|
+
this.update(null);
|
|
159
|
+
this.showsuggestedOptions = false;
|
|
160
|
+
this.documentList = [];
|
|
161
|
+
}
|
|
162
|
+
waitUntilUserFinishTyping() {
|
|
163
|
+
if (this.delayedAction) {
|
|
164
|
+
clearTimeout(this.delayedAction);
|
|
165
|
+
this.delayedAction = setTimeout(() => {
|
|
166
|
+
this.onSearchInputChange();
|
|
167
|
+
}, 1500);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
this.delayedAction = setTimeout(() => {
|
|
171
|
+
this.onSearchInputChange;
|
|
172
|
+
}, 1500);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
onSearchInputChange() {
|
|
176
|
+
if (this.autoComplete) {
|
|
177
|
+
let val = this.editorInput.nativeElement.value;
|
|
178
|
+
if ((val === null || val === void 0 ? void 0 : val.length) == 0) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
let params = {
|
|
182
|
+
currentPageIndex: 0,
|
|
183
|
+
offset: 0,
|
|
184
|
+
pageSize: 40,
|
|
185
|
+
pageProvider: this.autoComplete_pageProvider,
|
|
186
|
+
};
|
|
187
|
+
params[this.autoComplete_propertyName] = val;
|
|
188
|
+
this.dynamicFormUpdateService
|
|
189
|
+
.getTextBoxSuggestionResults(this.autoComplete_pageProvider, params, this.autoComplete_propertyKey, this.autoCompleteValueKey)
|
|
190
|
+
.subscribe((data) => {
|
|
191
|
+
this.documentList = data.filter((option) => option.title.toLowerCase().includes(val.toLowerCase()));
|
|
192
|
+
this.showsuggestedOptions = true;
|
|
193
|
+
return this.documentList;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
openOptions(value) {
|
|
198
|
+
if (this.autoComplete) {
|
|
199
|
+
this.showsuggestedOptions = value;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
DynamicFormTextItemComponent.DEFAULT_SEPARATOR = ', ';
|
|
204
|
+
DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
205
|
+
DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id" }, 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 [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : editedValue }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"editedValue\"\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 />\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.title)\"\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 </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ 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: 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 });
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
|
|
207
|
+
type: Component,
|
|
208
|
+
args: [{
|
|
209
|
+
selector: 'app-dynamic-form-textitem',
|
|
210
|
+
templateUrl: './dynamic-form-textitem.component.html',
|
|
211
|
+
styleUrls: ['./dynamic-form-textitem.component.scss'],
|
|
212
|
+
encapsulation: ViewEncapsulation.None,
|
|
213
|
+
}]
|
|
214
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicFormUpdateService }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
|
|
215
|
+
type: Self
|
|
216
|
+
}, {
|
|
217
|
+
type: Optional
|
|
218
|
+
}] }]; }, propDecorators: { autoComplete: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}], autoComplete_pageProvider: [{
|
|
221
|
+
type: Input
|
|
222
|
+
}], autoComplete_propertyName: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], autoComplete_propertyKey: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], autoCompleteValueKey: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], type: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], property: [{
|
|
231
|
+
type: Input
|
|
232
|
+
}], label: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], editable: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], placeholder: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], disabled: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], displayEmpty: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], preventSpace: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], id: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], editorInput: [{
|
|
247
|
+
type: ViewChild,
|
|
248
|
+
args: ['editorInput']
|
|
249
|
+
}] } });
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQStDdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQTdDdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw2QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDOUIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRW5DLGlCQUFpQjtRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBT2Qs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QU54QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQW1ESSxJQUFJOzswQkFBSSxRQUFROzRDQTdDVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSUUsV0FBVztzQkFEbEIsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLXVwZGF0ZS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIHRleHQgZmllbGQgaW5wdXQgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiBUZXh0IEZpZWxkXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtXHJcbiAqICAgIFtob3Jpem9udGFsQWxpZ25dPVwiZmFsc2VcIlxyXG4gKiAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAqICAgIFtwbGFjZWhvbGRlcl09XCInUEFUSC5UTy5QTEFDRUhPTERFUi5TVFJJTkcnXCJcclxuICogPjwvYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbT5cclxuICovXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVRleHRJdGVtQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICBzdGF0aWMgREVGQVVMVF9TRVBBUkFUT1IgPSAnLCAnO1xyXG5cclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGUgPSBmYWxzZTsgLy8gdG8gZ2V0IHN1Z2dlc3Rpb25zIGZyb20gYmFja2VuZCB3aGVuIHVzZXIgdHlwZSBzb21lIGxldHRlcnNcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcblxyXG4gIC8qKiBpbnB1dCB0eXBlICovXHJcbiAgQElucHV0KClcclxuICB0eXBlID0gJ3RleHQnO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvcGVydHk6IER5bmFtaWNGb3JtVGV4dEl0ZW1Nb2RlbDtcclxuICAvKiogRmllbGQgTGFiZWwgKi9cclxuICBASW5wdXQoKVxyXG4gIGxhYmVsO1xyXG4gIC8qKiBpcyBFZGl0YWJsZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZWRpdGFibGUgPSB0cnVlO1xyXG4gIC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xyXG4gIC8qKiBpcyBkaXNhYmxlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc3BsYXlFbXB0eSA9IHRydWU7XHJcbiAgLyoqIHNob3VsZCBwcmV2ZW50IHNwYWNlICovXHJcbiAgQElucHV0KClcclxuICBwcmV2ZW50U3BhY2UgPSBmYWxzZTtcclxuICAvKiogRE9NIGVsZW1lbnQgSWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGlkO1xyXG5cclxuICBAVmlld0NoaWxkKCdlZGl0b3JJbnB1dCcpXHJcbiAgcHJpdmF0ZSBlZGl0b3JJbnB1dDogYW55O1xyXG5cclxuICBpbkVkaXQgPSBmYWxzZTtcclxuICBlZGl0ZWRWYWx1ZTogc3RyaW5nO1xyXG4gIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlU2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtVXBkYXRlU2VydmljZTogRHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgdGhpcy52YWx1ZVNlcGFyYXRvciA9IER5bmFtaWNGb3JtVGV4dEl0ZW1Db21wb25lbnQuREVGQVVMVF9TRVBBUkFUT1I7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBvYmo7XHJcbiAgICAvL3RoaXMucHJvcGVydHkudmFsdWUgPSBvYmo7XHJcblxyXG4gICAgLy8gIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgLyp0aGlzLmVkaXRlZFZhbHVlID0gdGhpcy5wcm9wZXJ0eS5tdWx0aWxpbmVcclxuICAgICAgPyB0aGlzLnByb3BlcnR5LmRpc3BsYXlWYWx1ZVxyXG4gICAgICA6IHRoaXMucHJvcGVydHkudmFsdWU7Ki9cclxuICB9XHJcblxyXG4gIHNob3dQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xpY2thYmxlSWNvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmhhc0ljb24oKSAmJiB0aGlzLmVkaXRhYmxlO1xyXG4gIH1cclxuXHJcbiAgaXNFZGl0YWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRhYmxlO1xyXG4gIH1cclxuICBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBpc0NsaWNrYWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMucHJvcGVydHkuY2xpY2thYmxlO1xyXG4gIH1cclxuXHJcbiAgaGFzSWNvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMucHJvcGVydHkuaWNvbjtcclxuICB9XHJcblxyXG4gIGhhc0Vycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dFcnJvcjtcclxuICB9XHJcbiAgYWxsb3dTcGFjZShlKSB7XHJcbiAgICBpZiAodGhpcy5wcmV2ZW50U3BhY2UpIHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZXRFZGl0TW9kZShlZGl0U3RhdHVzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmluRWRpdCA9IGVkaXRTdGF0dXM7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZWRpdG9ySW5wdXQpIHtcclxuICAgICAgICB0aGlzLmVkaXRvcklucHV0Py5uYXRpdmVFbGVtZW50Py5jbGljaygpO1xyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgLyp0aGlzLmVkaXRlZFZhbHVlID0gdGhpcy5wcm9wZXJ0eS5tdWx0aWxpbmVcclxuICAgICAgPyB0aGlzLnByb3BlcnR5LmRpc3BsYXlWYWx1ZVxyXG4gICAgICA6IHRoaXMucHJvcGVydHkudmFsdWU7Ki9cclxuICAgIHRoaXMuc2V0RWRpdE1vZGUoZmFsc2UpO1xyXG4gICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRFcnJvck1lc3NhZ2VzKCkge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IHVwZGF0ZWRWYWx1ZSA9IHRoaXMucHJlcGFyZVZhbHVlRm9yVXBsb2FkKFxyXG4gICAgICB0aGlzLnByb3BlcnR5LFxyXG4gICAgICB0aGlzLmVkaXRlZFZhbHVlXHJcbiAgICApO1xyXG4gICAgLy8gdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IHVwZGF0ZWRWYWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodXBkYXRlZFZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICAvLyB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZS51cGRhdGUodGhpcy5wcm9wZXJ0eSwgdXBkYXRlZFZhbHVlKTtcclxuICAgIHRoaXMuc2V0RWRpdE1vZGUoZmFsc2UpO1xyXG4gICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZXMoKTtcclxuICB9XHJcblxyXG4gIHByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwsXHJcbiAgICB2YWx1ZTogc3RyaW5nXHJcbiAgKTogc3RyaW5nIHwgc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgb25UZXh0QXJlYUlucHV0Q2hhbmdlKCkge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gdGhpcy5wcm9wZXJ0eS5nZXRWYWxpZGF0aW9uRXJyb3JzKHRoaXMuZWRpdGVkVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wZXJ0eS5jbGlja0NhbGxCYWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjaygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UuY2xpY2tlZCh0aGlzLnByb3BlcnR5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0odGl0bGUpIHtcclxuICAgIHRoaXMuZWRpdGVkVmFsdWUgPSB0aXRsZTtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIGRvY3VtZW50TGlzdDogYW55W10gPSBbXTtcclxuICBkZWxheWVkQWN0aW9uO1xyXG4gIHdhaXRVbnRpbFVzZXJGaW5pc2hUeXBpbmcoKSB7XHJcbiAgICBpZiAodGhpcy5kZWxheWVkQWN0aW9uKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRlbGF5ZWRBY3Rpb24pO1xyXG4gICAgICB0aGlzLmRlbGF5ZWRBY3Rpb24gPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKTtcclxuICAgICAgfSwgMTUwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGF5ZWRBY3Rpb24gPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2U7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBsZXQgdmFsID0gdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICBpZiAodmFsPy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgfTtcclxuICAgICAgcGFyYW1zW3RoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZV0gPSB2YWw7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldFRleHRCb3hTdWdnZXN0aW9uUmVzdWx0cyhcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlcixcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlX3Byb3BlcnR5S2V5LFxyXG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVWYWx1ZUtleVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50TGlzdCA9IGRhdGEuZmlsdGVyKChvcHRpb24pID0+XHJcbiAgICAgICAgICAgIG9wdGlvbi50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRMaXN0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9wdGlvbnModmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICB0aGlzLnNob3dzdWdnZXN0ZWRPcHRpb25zID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhcHAtcHJvcGVydHktdmFsdWVcIj5cclxuICA8ZGl2IGNsYXNzPVwiYXBwLWlucHV0LXdyYXBwZXJcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgZm9yPVwiZm9ybUdyb3VwSW5wdXRTbWFsbFwiXHJcbiAgICAgID57eyBsYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICB9fTxzcGFuICpuZ0lmPVwiaXNSZXF1aXJlZCgpXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBtLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGUoKTsgZWxzZSByZWFkT25seVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXctb25lXCIgKGNsaWNrT3V0c2lkZSk9XCJvcGVuT3B0aW9ucyhmYWxzZSlcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IGVkaXRlZFZhbHVlIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdGVkVmFsdWVcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXl1cCk9XCJ3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZWRpdGlucHV0LSdcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9wZW5PcHRpb25zKHRydWUpXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG9jdW1lbnRMaXN0Lmxlbmd0aCAhPT0gMFwiIGlkPVwic3VnZ2VzdGVkb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzdWdnZXN0aW9ucy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkLWJsb2NrJzogc2hvd3N1Z2dlc3RlZE9wdGlvbnMgfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkb2N1bWVudExpc3RcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0ob3B0aW9uLnRpdGxlKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICAgICAgICAgIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAgICAgICAgICpuZ0lmPVwiaGFzRXJyb3JzKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fSB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5wYXR0ZXJuXCI+XHJcbiAgICAgICAgICAgICAge3sgXCJ3cm9uZyBwYXR0ZXJuXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3JlYWRPbmx5PlxyXG4gICAgICAgIHt7IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { DefaultTreeviewI18n, } from 'ngx-treeview';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../../Core/services/translation/translation.service";
|
|
5
|
+
/** @ignore */
|
|
6
|
+
export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
|
|
7
|
+
constructor(translation) {
|
|
8
|
+
super();
|
|
9
|
+
this.translation = translation;
|
|
10
|
+
}
|
|
11
|
+
set selectedItem(value) {
|
|
12
|
+
this.internalSelectedItem = value;
|
|
13
|
+
}
|
|
14
|
+
get selectedItem() {
|
|
15
|
+
return this.internalSelectedItem;
|
|
16
|
+
}
|
|
17
|
+
// for multiple
|
|
18
|
+
set selectionLength(value) {
|
|
19
|
+
this.internalSelectionLength = value;
|
|
20
|
+
}
|
|
21
|
+
get selectionLength() {
|
|
22
|
+
return this.internalSelectionLength;
|
|
23
|
+
}
|
|
24
|
+
getFilterPlaceholder() {
|
|
25
|
+
let placeHolder;
|
|
26
|
+
this.translation.isArabic.subscribe((arabic) => {
|
|
27
|
+
arabic
|
|
28
|
+
? (placeHolder = 'أدخل رمز القسم للتصفية')
|
|
29
|
+
: (placeHolder = 'Type Department Code To Filter ');
|
|
30
|
+
});
|
|
31
|
+
return placeHolder;
|
|
32
|
+
}
|
|
33
|
+
getText(selection) {
|
|
34
|
+
let placeHolder;
|
|
35
|
+
let suffix;
|
|
36
|
+
this.translation.isArabic.subscribe((arabic) => {
|
|
37
|
+
arabic
|
|
38
|
+
? (placeHolder = 'الرجاء إختيار القسم')
|
|
39
|
+
: (placeHolder = 'Please select Department');
|
|
40
|
+
arabic ? (suffix = 'أقسام مختارة') : (suffix = 'Departments Selected');
|
|
41
|
+
});
|
|
42
|
+
return this.internalSelectedItem
|
|
43
|
+
? this.internalSelectedItem.text
|
|
44
|
+
: this.internalSelectionLength
|
|
45
|
+
? `${this.internalSelectionLength} ${suffix}`
|
|
46
|
+
: placeHolder;
|
|
47
|
+
}
|
|
48
|
+
getFilterNoItemsFoundText() {
|
|
49
|
+
let noItemText;
|
|
50
|
+
this.translation.isArabic.subscribe((arabic) => {
|
|
51
|
+
arabic
|
|
52
|
+
? (noItemText = 'لايوجد أقسام للعرض')
|
|
53
|
+
: (noItemText = 'No Departments Found');
|
|
54
|
+
});
|
|
55
|
+
return noItemText;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
DropdownTreeviewSelectI18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DropdownTreeviewSelectI18n, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
+
DropdownTreeviewSelectI18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DropdownTreeviewSelectI18n });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DropdownTreeviewSelectI18n, decorators: [{
|
|
61
|
+
type: Injectable
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.TranslationService }]; } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3QvZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsbUJBQW1CLEdBQ3BCLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEIsY0FBYztBQUVkLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUFDakUsWUFBb0IsV0FBK0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEVSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFFbkQsQ0FBQztJQUlELElBQUksWUFBWSxDQUFDLEtBQW1CO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlO0lBQ2YsSUFBSSxlQUFlLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztJQUNELG9CQUFvQjtRQUNsQixJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM3QyxNQUFNO2dCQUNKLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlDQUFpQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTyxDQUFDLFNBQTRCO1FBQ2xDLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0MsTUFBTTtnQkFDSixDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQyxDQUFDO1lBRS9DLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxvQkFBb0I7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCO2dCQUM5QixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLElBQUksTUFBTSxFQUFFO2dCQUM3QyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2xCLENBQUM7SUFDRCx5QkFBeUI7UUFDdkIsSUFBSSxVQUFrQixDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdDLE1BQU07Z0JBQ0osQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO2dCQUNyQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7O3VIQXZEVSwwQkFBMEI7MkhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFRyZWV2aWV3SXRlbSxcclxuICBUcmVldmlld1NlbGVjdGlvbixcclxuICBEZWZhdWx0VHJlZXZpZXdJMThuLFxyXG59IGZyb20gJ25neC10cmVldmlldyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZSc7XHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93blRyZWV2aWV3U2VsZWN0STE4biBleHRlbmRzIERlZmF1bHRUcmVldmlld0kxOG4ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBpbnRlcm5hbFNlbGVjdGVkSXRlbTogVHJlZXZpZXdJdGVtO1xyXG4gIHByaXZhdGUgaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGg6IG51bWJlcjtcclxuXHJcbiAgc2V0IHNlbGVjdGVkSXRlbSh2YWx1ZTogVHJlZXZpZXdJdGVtKSB7XHJcbiAgICB0aGlzLmludGVybmFsU2VsZWN0ZWRJdGVtID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VsZWN0ZWRJdGVtKCk6IFRyZWV2aWV3SXRlbSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFNlbGVjdGVkSXRlbTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBtdWx0aXBsZVxyXG4gIHNldCBzZWxlY3Rpb25MZW5ndGgodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5pbnRlcm5hbFNlbGVjdGlvbkxlbmd0aCA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgc2VsZWN0aW9uTGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFNlbGVjdGlvbkxlbmd0aDtcclxuICB9XHJcbiAgZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcclxuICAgIGxldCBwbGFjZUhvbGRlcjtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgYXJhYmljXHJcbiAgICAgICAgPyAocGxhY2VIb2xkZXIgPSAn2KPYr9iu2YQg2LHZhdiyINin2YTZgtiz2YUg2YTZhNiq2LXZgdmK2KknKVxyXG4gICAgICAgIDogKHBsYWNlSG9sZGVyID0gJ1R5cGUgRGVwYXJ0bWVudCBDb2RlIFRvIEZpbHRlciAnKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHBsYWNlSG9sZGVyO1xyXG4gIH1cclxuICBnZXRUZXh0KHNlbGVjdGlvbjogVHJlZXZpZXdTZWxlY3Rpb24pOiBzdHJpbmcge1xyXG4gICAgbGV0IHBsYWNlSG9sZGVyO1xyXG4gICAgbGV0IHN1ZmZpeDtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgYXJhYmljXHJcbiAgICAgICAgPyAocGxhY2VIb2xkZXIgPSAn2KfZhNix2KzYp9ihINil2K7YqtmK2KfYsSDYp9mE2YLYs9mFJylcclxuICAgICAgICA6IChwbGFjZUhvbGRlciA9ICdQbGVhc2Ugc2VsZWN0IERlcGFydG1lbnQnKTtcclxuXHJcbiAgICAgIGFyYWJpYyA/IChzdWZmaXggPSAn2KPZgtiz2KfZhSDZhdiu2KrYp9ix2KknKSA6IChzdWZmaXggPSAnRGVwYXJ0bWVudHMgU2VsZWN0ZWQnKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW1cclxuICAgICAgPyB0aGlzLmludGVybmFsU2VsZWN0ZWRJdGVtLnRleHRcclxuICAgICAgOiB0aGlzLmludGVybmFsU2VsZWN0aW9uTGVuZ3RoXHJcbiAgICAgID8gYCR7dGhpcy5pbnRlcm5hbFNlbGVjdGlvbkxlbmd0aH0gJHtzdWZmaXh9YFxyXG4gICAgICA6IHBsYWNlSG9sZGVyO1xyXG4gIH1cclxuICBnZXRGaWx0ZXJOb0l0ZW1zRm91bmRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbm9JdGVtVGV4dDogc3RyaW5nO1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICBhcmFiaWNcclxuICAgICAgICA/IChub0l0ZW1UZXh0ID0gJ9mE2KfZitmI2KzYryDYo9mC2LPYp9mFINmE2YTYudix2LYnKVxyXG4gICAgICAgIDogKG5vSXRlbVRleHQgPSAnTm8gRGVwYXJ0bWVudHMgRm91bmQnKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5vSXRlbVRleHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|