@koalarx/ui 12.7.19 → 13.0.3
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/alert/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/alert/{esm2015/koalarx-ui-alert.js → esm2020/koalarx-ui-alert.mjs} +0 -0
- package/alert/esm2020/lib/dialog-alert.component.mjs +48 -0
- package/alert/{esm2015/lib/koala.alert-config.interface.js → esm2020/lib/koala.alert-config.interface.mjs} +0 -0
- package/alert/{esm2015/lib/koala.alert.enum.js → esm2020/lib/koala.alert.enum.mjs} +0 -0
- package/alert/esm2020/lib/koala.alert.module.mjs +48 -0
- package/alert/esm2020/lib/koala.alert.service.mjs +19 -0
- package/alert/{esm2015/lib/koala.request-code-to-alert-enum.translate.js → esm2020/lib/koala.request-code-to-alert-enum.translate.mjs} +0 -0
- package/alert/fesm2015/koalarx-ui-alert.mjs +141 -0
- package/alert/fesm2015/koalarx-ui-alert.mjs.map +1 -0
- package/alert/fesm2020/koalarx-ui-alert.mjs +139 -0
- package/alert/fesm2020/koalarx-ui-alert.mjs.map +1 -0
- package/alert/koalarx-ui-alert.d.ts +1 -0
- package/alert/lib/dialog-alert.component.d.ts +3 -0
- package/alert/lib/koala.alert.module.d.ts +10 -0
- package/alert/lib/koala.alert.service.d.ts +3 -0
- package/alert/package.json +18 -6
- package/button/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/button/{esm2015/koalarx-ui-button.js → esm2020/koalarx-ui-button.mjs} +0 -0
- package/button/esm2020/lib/button.component.mjs +44 -0
- package/button/esm2020/lib/koala.button.module.mjs +42 -0
- package/button/fesm2015/koalarx-ui-button.mjs +90 -0
- package/button/fesm2015/koalarx-ui-button.mjs.map +1 -0
- package/button/fesm2020/koalarx-ui-button.mjs +90 -0
- package/button/fesm2020/koalarx-ui-button.mjs.map +1 -0
- package/button/koalarx-ui-button.d.ts +1 -0
- package/button/lib/button.component.d.ts +6 -1
- package/button/lib/koala.button.module.d.ts +10 -0
- package/button/package.json +18 -6
- package/common/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/common/{esm2015/koalarx-ui-common.js → esm2020/koalarx-ui-common.mjs} +0 -0
- package/common/{esm2015/lib/mask-options.js → esm2020/lib/mask-options.mjs} +0 -0
- package/common/esm2020/lib/services/csv/koala.csv.service.mjs +36 -0
- package/common/{esm2015/lib/services/xlsx/koala.xlsx-config.interface.js → esm2020/lib/services/xlsx/koala.xlsx-config.interface.mjs} +0 -0
- package/common/esm2020/lib/services/xlsx/koala.xlsx.service.mjs +73 -0
- package/common/fesm2015/{koalarx-ui-common.js → koalarx-ui-common.mjs} +14 -14
- package/common/fesm2015/koalarx-ui-common.mjs.map +1 -0
- package/common/fesm2020/koalarx-ui-common.mjs +118 -0
- package/common/fesm2020/koalarx-ui-common.mjs.map +1 -0
- package/common/koalarx-ui-common.d.ts +1 -0
- package/common/lib/services/csv/koala.csv.service.d.ts +3 -0
- package/common/lib/services/xlsx/koala.xlsx.service.d.ts +3 -0
- package/common/package.json +18 -6
- package/core/esm2020/index.mjs +35 -0
- package/core/esm2020/koalarx-ui-core.mjs +5 -0
- package/core/{esm2015/lib/environments/koalaEnvironment.js → esm2020/lib/environments/koalaEnvironment.mjs} +0 -0
- package/core/esm2020/lib/loader/loader-bar-page.component.mjs +24 -0
- package/core/{esm2015/lib/loader/loader-bar-page.interface.js → esm2020/lib/loader/loader-bar-page.interface.mjs} +0 -0
- package/core/{esm2015/lib/loader/loader-config.interface.js → esm2020/lib/loader/loader-config.interface.mjs} +0 -0
- package/core/esm2020/lib/ngx-koala.module.mjs +49 -0
- package/core/{esm2015/lib/page/koala-language.helper.js → esm2020/lib/page/koala-language.helper.mjs} +0 -0
- package/core/{esm2015/lib/page/koala-page-pallet-colors.interface.js → esm2020/lib/page/koala-page-pallet-colors.interface.mjs} +0 -0
- package/core/esm2020/lib/page/koala.page.module.mjs +78 -0
- package/core/{esm2015/lib/page/koala.user-menu-options.interface.js → esm2020/lib/page/koala.user-menu-options.interface.mjs} +0 -0
- package/core/{esm2015/lib/page/notifications/koala.notification.interface.js → esm2020/lib/page/notifications/koala.notification.interface.mjs} +0 -0
- package/core/esm2020/lib/page/notifications/notification.component.mjs +47 -0
- package/core/esm2020/lib/page/page.component.mjs +404 -0
- package/core/esm2020/lib/router/koala.parameter-hash-location-stategy.mjs +18 -0
- package/core/esm2020/lib/services/api-requester/factory/koala.response.factory.mjs +44 -0
- package/core/{esm2015/lib/services/api-requester/helpers/error/koala.client.error.js → esm2020/lib/services/api-requester/helpers/error/koala.client.error.mjs} +0 -0
- package/core/{esm2015/lib/services/api-requester/helpers/error/koala.errors.helper.js → esm2020/lib/services/api-requester/helpers/error/koala.errors.helper.mjs} +0 -0
- package/core/{esm2015/lib/services/api-requester/helpers/error/koala.not-found.error.js → esm2020/lib/services/api-requester/helpers/error/koala.not-found.error.mjs} +0 -0
- package/core/{esm2015/lib/services/api-requester/helpers/error/koala.success.error.js → esm2020/lib/services/api-requester/helpers/error/koala.success.error.mjs} +0 -0
- package/core/{esm2015/lib/services/api-requester/helpers/error/koala.unhautorized.error.js → esm2020/lib/services/api-requester/helpers/error/koala.unhautorized.error.mjs} +0 -0
- package/core/{esm2015/lib/services/api-requester/helpers/service/koala.request-header.helper.js → esm2020/lib/services/api-requester/helpers/service/koala.request-header.helper.mjs} +0 -0
- package/core/esm2020/lib/services/api-requester/koala.api-requester.base.mjs +63 -0
- package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +148 -0
- package/core/esm2020/lib/services/loader/koala.loader.service.mjs +34 -0
- package/core/{esm2015/lib/services/openid/koala-oauth2-config.interface.js → esm2020/lib/services/openid/koala-oauth2-config.interface.mjs} +0 -0
- package/core/esm2020/lib/services/openid/koala.oauth.config.mjs +30 -0
- package/core/esm2020/lib/services/openid/koala.oauth2.service.mjs +194 -0
- package/core/esm2020/lib/services/request/koala.request.service.mjs +52 -0
- package/core/{esm2015/lib/services/token/koala.token.service.js → esm2020/lib/services/token/koala.token.service.mjs} +7 -6
- package/core/esm2020/lib/services/token/token.factory.mjs +27 -0
- package/core/fesm2015/{koalarx-ui-core.js → koalarx-ui-core.mjs} +266 -191
- package/core/fesm2015/koalarx-ui-core.mjs.map +1 -0
- package/core/fesm2020/koalarx-ui-core.mjs +1384 -0
- package/core/fesm2020/koalarx-ui-core.mjs.map +1 -0
- package/core/index.d.ts +1 -0
- package/core/koalarx-ui-core.d.ts +1 -2
- package/core/lib/loader/loader-bar-page.component.d.ts +5 -1
- package/core/lib/ngx-koala.module.d.ts +7 -0
- package/core/lib/page/koala.page.module.d.ts +19 -0
- package/core/lib/page/notifications/notification.component.d.ts +3 -0
- package/core/lib/page/page.component.d.ts +3 -0
- package/core/lib/router/koala.parameter-hash-location-stategy.d.ts +3 -0
- package/core/lib/services/api-requester/koala.api-requester.service.d.ts +4 -0
- package/core/lib/services/loader/koala.loader.service.d.ts +3 -0
- package/core/lib/services/openid/koala.oauth2.service.d.ts +3 -0
- package/core/lib/services/request/koala.request.service.d.ts +3 -0
- package/core/lib/services/token/koala.token.service.d.ts +3 -0
- package/core/package.json +18 -6
- package/dialog/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/dialog/{esm2015/koalarx-ui-dialog.js → esm2020/koalarx-ui-dialog.mjs} +0 -0
- package/dialog/esm2020/lib/dialog.component.mjs +25 -0
- package/dialog/{esm2015/lib/koala.dialog-template.interface.js → esm2020/lib/koala.dialog-template.interface.mjs} +0 -0
- package/dialog/esm2020/lib/koala.dialog.module.mjs +38 -0
- package/dialog/esm2020/lib/koala.dialog.service.mjs +57 -0
- package/dialog/fesm2015/koalarx-ui-dialog.mjs +121 -0
- package/dialog/fesm2015/koalarx-ui-dialog.mjs.map +1 -0
- package/dialog/fesm2020/koalarx-ui-dialog.mjs +121 -0
- package/dialog/fesm2020/koalarx-ui-dialog.mjs.map +1 -0
- package/dialog/koalarx-ui-dialog.d.ts +1 -0
- package/dialog/lib/dialog.component.d.ts +3 -0
- package/dialog/lib/koala.dialog.module.d.ts +9 -0
- package/dialog/lib/koala.dialog.service.d.ts +3 -0
- package/dialog/package.json +18 -6
- package/dynamic-component/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/dynamic-component/{esm2015/koalarx-ui-dynamic-component.js → esm2020/koalarx-ui-dynamic-component.mjs} +0 -0
- package/dynamic-component/{esm2015/lib/koala-dynamic-component.component.js → esm2020/lib/koala-dynamic-component.component.mjs} +0 -0
- package/dynamic-component/esm2020/lib/koala-dynamic-component.directive.mjs +16 -0
- package/dynamic-component/esm2020/lib/koala-dynamic-component.factory.mjs +41 -0
- package/dynamic-component/{esm2015/lib/koala-dynamic-component.js → esm2020/lib/koala-dynamic-component.mjs} +0 -0
- package/dynamic-component/esm2020/lib/koala-dynamic-component.module.mjs +23 -0
- package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs +87 -0
- package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.mjs.map +1 -0
- package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs +86 -0
- package/dynamic-component/fesm2020/koalarx-ui-dynamic-component.mjs.map +1 -0
- package/dynamic-component/koalarx-ui-dynamic-component.d.ts +1 -0
- package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +3 -0
- package/dynamic-component/lib/koala-dynamic-component.factory.d.ts +3 -0
- package/dynamic-component/lib/koala-dynamic-component.module.d.ts +6 -0
- package/dynamic-component/package.json +18 -6
- package/file-button/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/file-button/{esm2015/koalarx-ui-file-button.js → esm2020/koalarx-ui-file-button.mjs} +0 -0
- package/file-button/esm2020/lib/file-button.component.mjs +125 -0
- package/file-button/esm2020/lib/koala.btn-file.service.mjs +25 -0
- package/file-button/esm2020/lib/koala.file-button.module.mjs +38 -0
- package/file-button/{esm2015/lib/koala.file.interface.js → esm2020/lib/koala.file.interface.mjs} +0 -0
- package/file-button/fesm2015/koalarx-ui-file-button.mjs +199 -0
- package/file-button/fesm2015/koalarx-ui-file-button.mjs.map +1 -0
- package/file-button/fesm2020/koalarx-ui-file-button.mjs +189 -0
- package/file-button/fesm2020/koalarx-ui-file-button.mjs.map +1 -0
- package/file-button/koalarx-ui-file-button.d.ts +1 -0
- package/file-button/lib/file-button.component.d.ts +4 -1
- package/file-button/lib/koala.btn-file.service.d.ts +3 -0
- package/file-button/lib/koala.file-button.module.d.ts +9 -0
- package/file-button/package.json +18 -6
- package/folder-page/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/folder-page/{esm2015/koalarx-ui-folder-page.js → esm2020/koalarx-ui-folder-page.mjs} +0 -0
- package/folder-page/esm2020/lib/folder.component.mjs +70 -0
- package/folder-page/{esm2015/lib/koala-navigate-history.interface.js → esm2020/lib/koala-navigate-history.interface.mjs} +0 -0
- package/folder-page/esm2020/lib/koala.folder-page.module.mjs +42 -0
- package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +117 -0
- package/folder-page/fesm2015/koalarx-ui-folder-page.mjs.map +1 -0
- package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +116 -0
- package/folder-page/fesm2020/koalarx-ui-folder-page.mjs.map +1 -0
- package/folder-page/koalarx-ui-folder-page.d.ts +1 -0
- package/folder-page/lib/folder.component.d.ts +6 -2
- package/folder-page/lib/koala.folder-page.module.d.ts +10 -0
- package/folder-page/package.json +18 -6
- package/form/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/form/{esm2015/koalarx-ui-form.js → esm2020/koalarx-ui-form.mjs} +0 -0
- package/form/esm2020/lib/btn-submit/btn-submit.component.mjs +49 -0
- package/form/esm2020/lib/directives/koala-autofocus.directive.mjs +25 -0
- package/form/esm2020/lib/dynamic-form/builder/dynamic-form.builder.mjs +138 -0
- package/form/{esm2015/lib/dynamic-form/builder/fields/autocomplete.builder.js → esm2020/lib/dynamic-form/builder/fields/autocomplete.builder.mjs} +0 -0
- package/form/esm2020/lib/dynamic-form/builder/fields/field.base.mjs +148 -0
- package/form/{esm2015/lib/dynamic-form/builder/fields/field.builder.js → esm2020/lib/dynamic-form/builder/fields/field.builder.mjs} +0 -0
- package/form/esm2020/lib/dynamic-form/builder/fields/more-items.builder.mjs +57 -0
- package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +581 -0
- package/form/{esm2015/lib/dynamic-form/enums/dynamic-form-type-field.enum.js → esm2020/lib/dynamic-form/enums/dynamic-form-type-field.enum.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.js → esm2020/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.js → esm2020/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.mjs} +0 -0
- package/form/esm2020/lib/dynamic-form/koala.dynamic-form.service.mjs +199 -0
- package/form/{esm2015/lib/dynamic-form/validators/autocomplete-selected.validator.js → esm2020/lib/dynamic-form/validators/autocomplete-selected.validator.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/validators/cnpj.validator.js → esm2020/lib/dynamic-form/validators/cnpj.validator.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/validators/cpf.validator.js → esm2020/lib/dynamic-form/validators/cpf.validator.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/validators/date-max.validator.js → esm2020/lib/dynamic-form/validators/date-max.validator.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/validators/date-min.validator.js → esm2020/lib/dynamic-form/validators/date-min.validator.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js → esm2020/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.mjs} +0 -0
- package/form/{esm2015/lib/dynamic-form/validators/validation.helper.js → esm2020/lib/dynamic-form/validators/validation.helper.mjs} +0 -0
- package/form/{esm2015/lib/form.abstract.js → esm2020/lib/form.abstract.mjs} +0 -0
- package/form/esm2020/lib/koala.form.module.mjs +134 -0
- package/form/{esm2015/lib/show-invalid-fields/show-invalid-fields.js → esm2020/lib/show-invalid-fields/show-invalid-fields.mjs} +0 -0
- package/form/fesm2015/koalarx-ui-form.mjs +1575 -0
- package/form/fesm2015/koalarx-ui-form.mjs.map +1 -0
- package/form/fesm2020/koalarx-ui-form.mjs +1557 -0
- package/form/fesm2020/koalarx-ui-form.mjs.map +1 -0
- package/form/koalarx-ui-form.d.ts +1 -0
- package/form/lib/btn-submit/btn-submit.component.d.ts +3 -0
- package/form/lib/directives/koala-autofocus.directive.d.ts +3 -0
- package/form/lib/dynamic-form/dynamic-form.component.d.ts +7 -1
- package/form/lib/dynamic-form/koala.dynamic-form.service.d.ts +3 -0
- package/form/lib/koala.form.module.d.ts +23 -0
- package/form/package.json +18 -6
- package/icon/{esm2015/index.js → esm2020/index.mjs} +2 -1
- package/icon/{esm2015/koalarx-ui-icon.js → esm2020/koalarx-ui-icon.mjs} +0 -0
- package/icon/esm2020/lib/icon.component.mjs +46 -0
- package/icon/esm2020/lib/koala.icon.module.mjs +26 -0
- package/icon/esm2020/lib/koala.icon.type.mjs +2 -0
- package/icon/fesm2015/koalarx-ui-icon.mjs +77 -0
- package/icon/{esm2015/lib/icon.component.js → fesm2015/koalarx-ui-icon.mjs.map} +1 -45
- package/icon/fesm2020/koalarx-ui-icon.mjs +76 -0
- package/icon/{fesm2015/koalarx-ui-icon.js → fesm2020/koalarx-ui-icon.mjs.map} +1 -69
- package/icon/index.d.ts +1 -0
- package/icon/koalarx-ui-icon.d.ts +1 -0
- package/icon/lib/icon.component.d.ts +4 -1
- package/icon/lib/koala.icon.module.d.ts +6 -0
- package/icon/lib/koala.icon.type.d.ts +1 -0
- package/icon/package.json +18 -6
- package/icons-animated/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/icons-animated/esm2020/koalarx-ui-icons-animated.mjs +5 -0
- package/icons-animated/esm2020/lib/icons/downloading/downloading-icon-animated.component.mjs +23 -0
- package/icons-animated/esm2020/lib/icons/loading/loading-icon-animated.component.mjs +23 -0
- package/icons-animated/esm2020/lib/icons-animated.component.mjs +20 -0
- package/icons-animated/esm2020/lib/icons-animated.service.mjs +32 -0
- package/icons-animated/esm2020/lib/koala-icons-animated.module.mjs +32 -0
- package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs +122 -0
- package/icons-animated/fesm2015/koalarx-ui-icons-animated.mjs.map +1 -0
- package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs +120 -0
- package/icons-animated/fesm2020/koalarx-ui-icons-animated.mjs.map +1 -0
- package/icons-animated/koalarx-ui-icons-animated.d.ts +1 -1
- package/icons-animated/lib/icons/downloading/downloading-icon-animated.component.d.ts +5 -2
- package/icons-animated/lib/icons/loading/loading-icon-animated.component.d.ts +5 -2
- package/icons-animated/lib/icons-animated.component.d.ts +3 -0
- package/icons-animated/lib/icons-animated.service.d.ts +3 -0
- package/icons-animated/lib/koala-icons-animated.module.d.ts +8 -0
- package/icons-animated/package.json +18 -6
- package/list/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/list/{esm2015/koalarx-ui-list.js → esm2020/koalarx-ui-list.mjs} +0 -0
- package/list/{esm2015/lib/koala-list-btn-collapse-sub-list-config.interface.js → esm2020/lib/koala-list-btn-collapse-sub-list-config.interface.mjs} +0 -0
- package/list/{esm2015/lib/koala-list-filter.interface.js → esm2020/lib/koala-list-filter.interface.mjs} +0 -0
- package/list/{esm2015/lib/koala-list-form-filter.interface.js → esm2020/lib/koala-list-form-filter.interface.mjs} +0 -0
- package/list/{esm2015/lib/koala-list-item-menu-option.interface.js → esm2020/lib/koala-list-item-menu-option.interface.mjs} +0 -0
- package/list/{esm2015/lib/koala-list-item.interface.js → esm2020/lib/koala-list-item.interface.mjs} +0 -0
- package/list/{esm2015/lib/koala.list-config.interface.js → esm2020/lib/koala.list-config.interface.mjs} +0 -0
- package/list/esm2020/lib/koala.list.module.mjs +70 -0
- package/list/esm2020/lib/koala.list.service.mjs +15 -0
- package/list/esm2020/lib/list-builder/list.builder.mjs +97 -0
- package/list/esm2020/lib/list.abstract.mjs +157 -0
- package/list/esm2020/lib/list.component.mjs +171 -0
- package/list/esm2020/lib/providers/pagination/pagination.provider.mjs +32 -0
- package/list/fesm2015/koalarx-ui-list.mjs +559 -0
- package/list/fesm2015/koalarx-ui-list.mjs.map +1 -0
- package/list/fesm2020/koalarx-ui-list.mjs +529 -0
- package/list/fesm2020/koalarx-ui-list.mjs.map +1 -0
- package/list/koalarx-ui-list.d.ts +1 -0
- package/list/lib/koala.list.module.d.ts +15 -0
- package/list/lib/koala.list.service.d.ts +3 -0
- package/list/lib/list.component.d.ts +3 -0
- package/list/lib/providers/pagination/pagination.provider.d.ts +3 -0
- package/list/package.json +18 -6
- package/menu/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/menu/{esm2015/koalarx-ui-menu.js → esm2020/koalarx-ui-menu.mjs} +0 -0
- package/menu/{esm2015/lib/koala.menu-module.interface.js → esm2020/lib/koala.menu-module.interface.mjs} +0 -0
- package/menu/{esm2015/lib/koala.menu-tool.interface.js → esm2020/lib/koala.menu-tool.interface.mjs} +0 -0
- package/menu/esm2020/lib/koala.menu.module.mjs +38 -0
- package/menu/esm2020/lib/koala.menu.service.mjs +24 -0
- package/menu/esm2020/lib/menu.component.mjs +100 -0
- package/menu/fesm2015/koalarx-ui-menu.mjs +167 -0
- package/menu/fesm2015/koalarx-ui-menu.mjs.map +1 -0
- package/menu/fesm2020/koalarx-ui-menu.mjs +162 -0
- package/menu/fesm2020/koalarx-ui-menu.mjs.map +1 -0
- package/menu/koalarx-ui-menu.d.ts +1 -0
- package/menu/lib/koala.menu.module.d.ts +9 -0
- package/menu/lib/koala.menu.service.d.ts +3 -0
- package/menu/lib/menu.component.d.ts +6 -0
- package/menu/package.json +18 -6
- package/package.json +10 -9
- package/question/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/question/{esm2015/koalarx-ui-question.js → esm2020/koalarx-ui-question.mjs} +0 -0
- package/question/esm2020/lib/dialog-question.component.mjs +25 -0
- package/question/{esm2015/lib/koala-question-config.interface.js → esm2020/lib/koala-question-config.interface.mjs} +0 -0
- package/question/esm2020/lib/koala.question.module.mjs +42 -0
- package/question/esm2020/lib/koala.question.service.mjs +26 -0
- package/question/fesm2015/koalarx-ui-question.mjs +95 -0
- package/question/fesm2015/koalarx-ui-question.mjs.map +1 -0
- package/question/fesm2020/koalarx-ui-question.mjs +93 -0
- package/question/fesm2020/koalarx-ui-question.mjs.map +1 -0
- package/question/koalarx-ui-question.d.ts +1 -0
- package/question/lib/dialog-question.component.d.ts +3 -0
- package/question/lib/koala.question.module.d.ts +10 -0
- package/question/lib/koala.question.service.d.ts +3 -0
- package/question/package.json +18 -6
- package/snackbar/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/snackbar/{esm2015/koalarx-ui-snackbar.js → esm2020/koalarx-ui-snackbar.mjs} +0 -0
- package/snackbar/esm2020/lib/koala.snackbar.component.mjs +22 -0
- package/snackbar/{esm2015/lib/koala.snackbar.interface.js → esm2020/lib/koala.snackbar.interface.mjs} +0 -0
- package/snackbar/esm2020/lib/koala.snackbar.module.mjs +38 -0
- package/snackbar/esm2020/lib/koala.snackbar.service.mjs +35 -0
- package/snackbar/fesm2015/koalarx-ui-snackbar.mjs +95 -0
- package/snackbar/fesm2015/koalarx-ui-snackbar.mjs.map +1 -0
- package/snackbar/fesm2020/koalarx-ui-snackbar.mjs +93 -0
- package/snackbar/fesm2020/koalarx-ui-snackbar.mjs.map +1 -0
- package/snackbar/koalarx-ui-snackbar.d.ts +1 -0
- package/snackbar/lib/koala.snackbar.component.d.ts +3 -0
- package/snackbar/lib/koala.snackbar.module.d.ts +8 -0
- package/snackbar/lib/koala.snackbar.service.d.ts +3 -0
- package/snackbar/package.json +18 -6
- package/alert/bundles/koalarx-ui-alert.umd.js +0 -153
- package/alert/bundles/koalarx-ui-alert.umd.js.map +0 -1
- package/alert/esm2015/lib/dialog-alert.component.js +0 -43
- package/alert/esm2015/lib/koala.alert.module.js +0 -31
- package/alert/esm2015/lib/koala.alert.service.js +0 -21
- package/alert/fesm2015/koalarx-ui-alert.js +0 -121
- package/alert/fesm2015/koalarx-ui-alert.js.map +0 -1
- package/alert/koalarx-ui-alert.metadata.json +0 -1
- package/button/bundles/koalarx-ui-button.umd.js +0 -71
- package/button/bundles/koalarx-ui-button.umd.js.map +0 -1
- package/button/esm2015/lib/button.component.js +0 -31
- package/button/esm2015/lib/koala.button.module.js +0 -27
- package/button/fesm2015/koalarx-ui-button.js +0 -63
- package/button/fesm2015/koalarx-ui-button.js.map +0 -1
- package/button/koalarx-ui-button.metadata.json +0 -1
- package/common/bundles/koalarx-ui-common.umd.js +0 -481
- package/common/bundles/koalarx-ui-common.umd.js.map +0 -1
- package/common/esm2015/lib/services/csv/koala.csv.service.js +0 -38
- package/common/esm2015/lib/services/xlsx/koala.xlsx.service.js +0 -74
- package/common/fesm2015/koalarx-ui-common.js.map +0 -1
- package/common/koalarx-ui-common.metadata.json +0 -1
- package/core/bundles/koalarx-ui-core.umd.js +0 -1716
- package/core/bundles/koalarx-ui-core.umd.js.map +0 -1
- package/core/esm2015/index.js +0 -34
- package/core/esm2015/koalarx-ui-core.js +0 -7
- package/core/esm2015/lib/loader/loader-bar-page.component.js +0 -22
- package/core/esm2015/lib/ngx-koala.module.js +0 -35
- package/core/esm2015/lib/page/koala.page.module.js +0 -46
- package/core/esm2015/lib/page/notifications/notification.component.js +0 -43
- package/core/esm2015/lib/page/page.component.js +0 -396
- package/core/esm2015/lib/router/koala.parameter-hash-location-stategy.js +0 -16
- package/core/esm2015/lib/services/api-requester/factory/koala.response.factory.js +0 -48
- package/core/esm2015/lib/services/api-requester/koala.api-requester.base.js +0 -70
- package/core/esm2015/lib/services/api-requester/koala.api-requester.service.js +0 -134
- package/core/esm2015/lib/services/loader/koala.loader.service.js +0 -32
- package/core/esm2015/lib/services/openid/koala.oauth.config.js +0 -33
- package/core/esm2015/lib/services/openid/koala.oauth2.service.js +0 -201
- package/core/esm2015/lib/services/request/koala.request.service.js +0 -53
- package/core/esm2015/lib/services/token/token.factory.js +0 -31
- package/core/fesm2015/koalarx-ui-core.js.map +0 -1
- package/core/koalarx-ui-core.metadata.json +0 -1
- package/dialog/bundles/koalarx-ui-dialog.umd.js +0 -139
- package/dialog/bundles/koalarx-ui-dialog.umd.js.map +0 -1
- package/dialog/esm2015/lib/dialog.component.js +0 -18
- package/dialog/esm2015/lib/koala.dialog.module.js +0 -25
- package/dialog/esm2015/lib/koala.dialog.service.js +0 -61
- package/dialog/fesm2015/koalarx-ui-dialog.js +0 -107
- package/dialog/fesm2015/koalarx-ui-dialog.js.map +0 -1
- package/dialog/koalarx-ui-dialog.metadata.json +0 -1
- package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js +0 -95
- package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js.map +0 -1
- package/dynamic-component/esm2015/lib/koala-dynamic-component.directive.js +0 -15
- package/dynamic-component/esm2015/lib/koala-dynamic-component.factory.js +0 -38
- package/dynamic-component/esm2015/lib/koala-dynamic-component.module.js +0 -17
- package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js +0 -79
- package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js.map +0 -1
- package/dynamic-component/koalarx-ui-dynamic-component.metadata.json +0 -1
- package/file-button/bundles/koalarx-ui-file-button.umd.js +0 -553
- package/file-button/bundles/koalarx-ui-file-button.umd.js.map +0 -1
- package/file-button/esm2015/lib/file-button.component.js +0 -118
- package/file-button/esm2015/lib/koala.btn-file.service.js +0 -26
- package/file-button/esm2015/lib/koala.file-button.module.js +0 -25
- package/file-button/fesm2015/koalarx-ui-file-button.js +0 -171
- package/file-button/fesm2015/koalarx-ui-file-button.js.map +0 -1
- package/file-button/koalarx-ui-file-button.metadata.json +0 -1
- package/folder-page/bundles/koalarx-ui-folder-page.umd.js +0 -97
- package/folder-page/bundles/koalarx-ui-folder-page.umd.js.map +0 -1
- package/folder-page/esm2015/lib/folder.component.js +0 -56
- package/folder-page/esm2015/lib/koala.folder-page.module.js +0 -27
- package/folder-page/fesm2015/koalarx-ui-folder-page.js +0 -88
- package/folder-page/fesm2015/koalarx-ui-folder-page.js.map +0 -1
- package/folder-page/koalarx-ui-folder-page.metadata.json +0 -1
- package/form/bundles/koalarx-ui-form.umd.js +0 -1969
- package/form/bundles/koalarx-ui-form.umd.js.map +0 -1
- package/form/esm2015/lib/btn-submit/btn-submit.component.js +0 -39
- package/form/esm2015/lib/directives/koala-autofocus.directive.js +0 -25
- package/form/esm2015/lib/dynamic-form/builder/dynamic-form.builder.js +0 -141
- package/form/esm2015/lib/dynamic-form/builder/fields/field.base.js +0 -151
- package/form/esm2015/lib/dynamic-form/builder/fields/more-items.builder.js +0 -57
- package/form/esm2015/lib/dynamic-form/dynamic-form.component.js +0 -564
- package/form/esm2015/lib/dynamic-form/koala.dynamic-form.service.js +0 -204
- package/form/esm2015/lib/koala.form.module.js +0 -69
- package/form/fesm2015/koalarx-ui-form.js +0 -1487
- package/form/fesm2015/koalarx-ui-form.js.map +0 -1
- package/form/koalarx-ui-form.metadata.json +0 -1
- package/icon/bundles/koalarx-ui-icon.umd.js +0 -76
- package/icon/bundles/koalarx-ui-icon.umd.js.map +0 -1
- package/icon/esm2015/lib/koala.icon.module.js +0 -19
- package/icon/fesm2015/koalarx-ui-icon.js.map +0 -1
- package/icon/koalarx-ui-icon.metadata.json +0 -1
- package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js +0 -138
- package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js.map +0 -1
- package/icons-animated/esm2015/koalarx-ui-icons-animated.js +0 -6
- package/icons-animated/esm2015/lib/icons/downloading/downloading-icon-animated.component.js +0 -28
- package/icons-animated/esm2015/lib/icons/loading/loading-icon-animated.component.js +0 -28
- package/icons-animated/esm2015/lib/icons-animated.component.js +0 -15
- package/icons-animated/esm2015/lib/icons-animated.service.js +0 -29
- package/icons-animated/esm2015/lib/koala-icons-animated.module.js +0 -23
- package/icons-animated/fesm2015/koalarx-ui-icons-animated.js +0 -121
- package/icons-animated/fesm2015/koalarx-ui-icons-animated.js.map +0 -1
- package/icons-animated/koalarx-ui-icons-animated.metadata.json +0 -1
- package/list/bundles/koalarx-ui-list.umd.js +0 -914
- package/list/bundles/koalarx-ui-list.umd.js.map +0 -1
- package/list/esm2015/lib/koala.list.module.js +0 -42
- package/list/esm2015/lib/koala.list.service.js +0 -13
- package/list/esm2015/lib/list-builder/list.builder.js +0 -101
- package/list/esm2015/lib/list.abstract.js +0 -174
- package/list/esm2015/lib/list.component.js +0 -166
- package/list/esm2015/lib/providers/pagination/pagination.provider.js +0 -30
- package/list/fesm2015/koalarx-ui-list.js +0 -514
- package/list/fesm2015/koalarx-ui-list.js.map +0 -1
- package/list/koalarx-ui-list.metadata.json +0 -1
- package/menu/bundles/koalarx-ui-menu.umd.js +0 -511
- package/menu/bundles/koalarx-ui-menu.umd.js.map +0 -1
- package/menu/esm2015/lib/koala.menu.module.js +0 -25
- package/menu/esm2015/lib/koala.menu.service.js +0 -22
- package/menu/esm2015/lib/menu.component.js +0 -104
- package/menu/fesm2015/koalarx-ui-menu.js +0 -153
- package/menu/fesm2015/koalarx-ui-menu.js.map +0 -1
- package/menu/koalarx-ui-menu.metadata.json +0 -1
- package/question/bundles/koalarx-ui-question.umd.js +0 -104
- package/question/bundles/koalarx-ui-question.umd.js.map +0 -1
- package/question/esm2015/lib/dialog-question.component.js +0 -20
- package/question/esm2015/lib/koala.question.module.js +0 -27
- package/question/esm2015/lib/koala.question.service.js +0 -28
- package/question/fesm2015/koalarx-ui-question.js +0 -77
- package/question/fesm2015/koalarx-ui-question.js.map +0 -1
- package/question/koalarx-ui-question.metadata.json +0 -1
- package/snackbar/bundles/koalarx-ui-snackbar.umd.js +0 -93
- package/snackbar/bundles/koalarx-ui-snackbar.umd.js.map +0 -1
- package/snackbar/esm2015/lib/koala.snackbar.component.js +0 -20
- package/snackbar/esm2015/lib/koala.snackbar.module.js +0 -26
- package/snackbar/esm2015/lib/koala.snackbar.service.js +0 -35
- package/snackbar/fesm2015/koalarx-ui-snackbar.js +0 -81
- package/snackbar/fesm2015/koalarx-ui-snackbar.js.map +0 -1
- package/snackbar/koalarx-ui-snackbar.metadata.json +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ListComponent } from './list.component';
|
|
3
|
+
import { MatTableModule } from '@angular/material/table';
|
|
4
|
+
import { MatSortModule } from '@angular/material/sort';
|
|
5
|
+
import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { KoalaFormModule } from '@koalarx/ui/form';
|
|
8
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
9
|
+
import { PaginationProvider } from './providers/pagination/pagination.provider';
|
|
10
|
+
import { KoalaFolderPageModule } from '@koalarx/ui/folder-page';
|
|
11
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
|
+
import { KoalaDynamicComponentModule } from '@koalarx/ui/dynamic-component';
|
|
13
|
+
import { KoalaButtonModule } from "@koalarx/ui/button";
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
export class KoalaListModule {
|
|
16
|
+
}
|
|
17
|
+
KoalaListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
KoalaListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, declarations: [ListComponent], imports: [CommonModule,
|
|
19
|
+
KoalaFolderPageModule,
|
|
20
|
+
KoalaFormModule,
|
|
21
|
+
KoalaDynamicComponentModule,
|
|
22
|
+
KoalaButtonModule,
|
|
23
|
+
MatMenuModule,
|
|
24
|
+
MatTableModule,
|
|
25
|
+
MatSortModule,
|
|
26
|
+
MatTooltipModule,
|
|
27
|
+
MatPaginatorModule], exports: [ListComponent] });
|
|
28
|
+
KoalaListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, providers: [{
|
|
29
|
+
provide: MatPaginatorIntl,
|
|
30
|
+
useClass: PaginationProvider
|
|
31
|
+
}], imports: [[
|
|
32
|
+
CommonModule,
|
|
33
|
+
KoalaFolderPageModule,
|
|
34
|
+
KoalaFormModule,
|
|
35
|
+
KoalaDynamicComponentModule,
|
|
36
|
+
KoalaButtonModule,
|
|
37
|
+
MatMenuModule,
|
|
38
|
+
MatTableModule,
|
|
39
|
+
MatSortModule,
|
|
40
|
+
MatTooltipModule,
|
|
41
|
+
MatPaginatorModule
|
|
42
|
+
]] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListModule, decorators: [{
|
|
44
|
+
type: NgModule,
|
|
45
|
+
args: [{
|
|
46
|
+
declarations: [
|
|
47
|
+
ListComponent
|
|
48
|
+
],
|
|
49
|
+
imports: [
|
|
50
|
+
CommonModule,
|
|
51
|
+
KoalaFolderPageModule,
|
|
52
|
+
KoalaFormModule,
|
|
53
|
+
KoalaDynamicComponentModule,
|
|
54
|
+
KoalaButtonModule,
|
|
55
|
+
MatMenuModule,
|
|
56
|
+
MatTableModule,
|
|
57
|
+
MatSortModule,
|
|
58
|
+
MatTooltipModule,
|
|
59
|
+
MatPaginatorModule
|
|
60
|
+
],
|
|
61
|
+
exports: [
|
|
62
|
+
ListComponent
|
|
63
|
+
],
|
|
64
|
+
providers: [{
|
|
65
|
+
provide: MatPaginatorIntl,
|
|
66
|
+
useClass: PaginationProvider
|
|
67
|
+
}]
|
|
68
|
+
}]
|
|
69
|
+
}] });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEubGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0L3NyYy9saWIva29hbGEubGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUEwQnZELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBdEJ4QixhQUFhLGFBR2IsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsa0JBQWtCLGFBR2xCLGFBQWE7NkdBT0osZUFBZSxhQUxmLENBQUM7WUFDVixPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSxrQkFBa0I7U0FDN0IsQ0FBQyxZQWxCTztZQUNQLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLDJCQUEyQjtZQUMzQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtTQUNuQjsyRkFTVSxlQUFlO2tCQXhCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTtxQkFDZDtvQkFDRCxTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixRQUFRLEVBQUUsa0JBQWtCO3lCQUM3QixDQUFDO2lCQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCwgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLb2FsYUZvcm1Nb2R1bGUgfSBmcm9tICdAa29hbGFyeC91aS9mb3JtJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFBhZ2luYXRpb25Qcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBLb2FsYUZvbGRlclBhZ2VNb2R1bGUgfSBmcm9tICdAa29hbGFyeC91aS9mb2xkZXItcGFnZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNDb21wb25lbnRNb2R1bGUgfSBmcm9tICdAa29hbGFyeC91aS9keW5hbWljLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBLb2FsYUJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAa29hbGFyeC91aS9idXR0b25cIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTGlzdENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEtvYWxhRm9sZGVyUGFnZU1vZHVsZSxcbiAgICBLb2FsYUZvcm1Nb2R1bGUsXG4gICAgS29hbGFEeW5hbWljQ29tcG9uZW50TW9kdWxlLFxuICAgIEtvYWxhQnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdFBhZ2luYXRvck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTGlzdENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCxcbiAgICB1c2VDbGFzczogUGFnaW5hdGlvblByb3ZpZGVyXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEtvYWxhTGlzdE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ListBuilder } from "./list-builder/list.builder";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class KoalaListService {
|
|
5
|
+
build() {
|
|
6
|
+
return new ListBuilder();
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
KoalaListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
+
KoalaListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListService, providedIn: "any" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: KoalaListService, decorators: [{
|
|
12
|
+
type: Injectable,
|
|
13
|
+
args: [{ providedIn: "any" }]
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEubGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC9zcmMvbGliL2tvYWxhLmxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixLQUFLO1FBQ1YsT0FBTyxJQUFJLFdBQVcsRUFBWSxDQUFDO0lBQ3JDLENBQUM7OzZHQUpVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREosS0FBSzsyRkFDakIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RCdWlsZGVyIH0gZnJvbSBcIi4vbGlzdC1idWlsZGVyL2xpc3QuYnVpbGRlclwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJhbnlcIn0pXG5leHBvcnQgY2xhc3MgS29hbGFMaXN0U2VydmljZSB7XG5cbiAgcHVibGljIGJ1aWxkPERhdGFUeXBlPigpIHtcbiAgICByZXR1cm4gbmV3IExpc3RCdWlsZGVyPERhdGFUeXBlPigpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { KoalaDynamicComponent } from "@koalarx/ui/dynamic-component";
|
|
2
|
+
import { BehaviorSubject, Observable } from "rxjs";
|
|
3
|
+
import { first } from "rxjs/operators";
|
|
4
|
+
export class ListBuilder {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.config = {};
|
|
7
|
+
}
|
|
8
|
+
service(service, type = "all", resultIndexName, qtdResultIndexName) {
|
|
9
|
+
this.config.typeRequest = type;
|
|
10
|
+
this.config.responseIndexName = resultIndexName;
|
|
11
|
+
this.config.responseQtdResultIndexName = response => response[qtdResultIndexName ?? ''] ?? [];
|
|
12
|
+
this.config.columnSort = this.config?.filterParams?.getValue()?.sort;
|
|
13
|
+
this.config.sortDirection = this.config?.filterParams?.getValue()?.order ?? 'asc';
|
|
14
|
+
const response = service(this.config.filterParams ?? null);
|
|
15
|
+
if (response instanceof Promise) {
|
|
16
|
+
this.config.request = new Observable(observe => {
|
|
17
|
+
response.then(response => observe.next(response))
|
|
18
|
+
.catch(error => observe.error(error));
|
|
19
|
+
}).pipe(first());
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.config.request = new Observable(observe => {
|
|
23
|
+
service(this.config.filterParams ?? null).pipe(first()).subscribe(observe);
|
|
24
|
+
}).pipe(first());
|
|
25
|
+
}
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
filterConfig(config) {
|
|
29
|
+
this.config.filterFormConfig = config;
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
defaultFilter(config) {
|
|
33
|
+
this.config.filterParams = new BehaviorSubject(config);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
pageSize(size) {
|
|
37
|
+
this.config.pageSize = size;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
columns(columns) {
|
|
41
|
+
this.config.columnsToShowInList = columns;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
itemColumn(item) {
|
|
45
|
+
(this.config.itemsList?.length > 0) ?
|
|
46
|
+
this.config.itemsList.push(item) :
|
|
47
|
+
this.config.itemsList = [item];
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
actionList(item) {
|
|
51
|
+
(this.config.itemsMenuListOptions?.length ?? 0 > 0) ?
|
|
52
|
+
this.config.itemsMenuListOptions?.push(item) :
|
|
53
|
+
this.config.itemsMenuListOptions = [item];
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
getDataSource(fn) {
|
|
57
|
+
this.config.getDataSource = fn;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
getSelectionList(fn) {
|
|
61
|
+
this.config.getSelectionList = fn;
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
emptyListComponent(component, data) {
|
|
65
|
+
this.config.emptyListComponent = new KoalaDynamicComponent(component, data);
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
errorListComponent(component, data) {
|
|
69
|
+
this.config.errorListComponent = new KoalaDynamicComponent(component, data);
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
disableCheckboxItemList(fn) {
|
|
73
|
+
this.config.disabledCheckboxItemList = fn;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
setSubList(config) {
|
|
77
|
+
this.config.subListConfig = config;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
defineBtnCollapseSubListConfig(config) {
|
|
81
|
+
this.config.btnCollapseSubListConfig = config;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
hidePaginator(hide = true) {
|
|
85
|
+
this.config.hidePaginator = hide;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
setCustomClass(className) {
|
|
89
|
+
this.config.customClass = className;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
getConfig() {
|
|
93
|
+
this.config.reload = new BehaviorSubject(false);
|
|
94
|
+
return this.config;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC9zcmMvbGliL2xpc3QtYnVpbGRlci9saXN0LmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE1BQU0sT0FBTyxXQUFXO0lBQXhCO1FBQ1UsV0FBTSxHQUFHLEVBQThCLENBQUM7SUFtSGxELENBQUM7SUFqSFEsT0FBTyxDQUNaLE9BQWtHLEVBQ2xHLE9BQTJCLEtBQUssRUFDaEMsZUFBd0IsRUFDeEIsa0JBQTJCO1FBRTNCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5RixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUVsRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFB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SUFBSSxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsU0FBb0IsRUFBRSxJQUFVO1FBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsRUFBK0I7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQW9EO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxNQUE0RDtRQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZ0IsSUFBSTtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sY0FBYyxDQUFDLFNBQWlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtvYWxhTGlzdENvbmZpZ0ludGVyZmFjZSB9IGZyb20gXCIuLi9rb2FsYS5saXN0LWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhTGlzdEl0ZW1JbnRlcmZhY2UgfSBmcm9tIFwiLi4va29hbGEtbGlzdC1pdGVtLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNDb21wb25lbnQgfSBmcm9tIFwiQGtvYWxhcngvdWkvZHluYW1pYy1jb21wb25lbnRcIjtcbmltcG9ydCB7IEtvYWxhTGlzdEZpbHRlckludGVyZmFjZSB9IGZyb20gXCIuLi9rb2FsYS1saXN0LWZpbHRlci5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RGb3JtRmlsdGVySW50ZXJmYWNlIH0gZnJvbSBcIi4uL2tvYWxhLWxpc3QtZm9ybS1maWx0ZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RJdGVtTWVudU9wdGlvbkludGVyZmFjZSB9IGZyb20gXCIuLi9rb2FsYS1saXN0LWl0ZW0tbWVudS1vcHRpb24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7IEtvYWxhTGlzdFBhZ2VTaXplIH0gZnJvbSBcIi4uL2xpc3QuYWJzdHJhY3RcIjtcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RCdG5Db2xsYXBzZVN1Ykxpc3RDb25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi4va29hbGEtbGlzdC1idG4tY29sbGFwc2Utc3ViLWxpc3QtY29uZmlnLmludGVyZmFjZVwiO1xuXG5leHBvcnQgY2xhc3MgTGlzdEJ1aWxkZXI8RGF0YVR5cGU+IHtcbiAgcHJpdmF0ZSBjb25maWcgPSB7fSBhcyBLb2FsYUxpc3RDb25maWdJbnRlcmZhY2U7XG5cbiAgcHVibGljIHNlcnZpY2UoXG4gICAgc2VydmljZTogKGZpbHRlcjogQmVoYXZpb3JTdWJqZWN0PEtvYWxhTGlzdEZvcm1GaWx0ZXJJbnRlcmZhY2U+KSA9PiBPYnNlcnZhYmxlPGFueT4gfCBQcm9taXNlPGFueT4sXG4gICAgdHlwZTogJ2FsbCcgfCAnb25EZW1hbmQnID0gXCJhbGxcIixcbiAgICByZXN1bHRJbmRleE5hbWU/OiBzdHJpbmcsXG4gICAgcXRkUmVzdWx0SW5kZXhOYW1lPzogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuY29uZmlnLnR5cGVSZXF1ZXN0ID0gdHlwZTtcbiAgICB0aGlzLmNvbmZpZy5yZXNwb25zZUluZGV4TmFtZSA9IHJlc3VsdEluZGV4TmFtZTtcbiAgICB0aGlzLmNvbmZpZy5yZXNwb25zZVF0ZFJlc3VsdEluZGV4TmFtZSA9IHJlc3BvbnNlID0+IHJlc3BvbnNlW3F0ZFJlc3VsdEluZGV4TmFtZSA/PyAnJ10gPz8gW107XG4gICAgdGhpcy5jb25maWcuY29sdW1uU29ydCA9IHRoaXMuY29uZmlnPy5maWx0ZXJQYXJhbXM/LmdldFZhbHVlKCk/LnNvcnQ7XG4gICAgdGhpcy5jb25maWcuc29ydERpcmVjdGlvbiA9IHRoaXMuY29uZmlnPy5maWx0ZXJQYXJhbXM/LmdldFZhbHVlKCk/Lm9yZGVyID8/ICdhc2MnO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBzZXJ2aWNlKHRoaXMuY29uZmlnLmZpbHRlclBhcmFtcyA/PyBudWxsKTtcblxuICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29uZmlnLnJlcXVlc3QgPSBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xuICAgICAgICByZXNwb25zZS50aGVuKHJlc3BvbnNlID0+IG9ic2VydmUubmV4dChyZXNwb25zZSkpXG4gICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IG9ic2VydmUuZXJyb3IoZXJyb3IpKTtcbiAgICAgIH0pLnBpcGUoZmlyc3QoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uZmlnLnJlcXVlc3QgPSBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xuICAgICAgICAoc2VydmljZSh0aGlzLmNvbmZpZy5maWx0ZXJQYXJhbXMgPz8gbnVsbCkgYXMgT2JzZXJ2YWJsZTxhbnk+KS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZShvYnNlcnZlKTtcbiAgICAgIH0pLnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQ29uZmlnKGNvbmZpZzogS29hbGFMaXN0RmlsdGVySW50ZXJmYWNlKSB7XG4gICAgdGhpcy5jb25maWcuZmlsdGVyRm9ybUNvbmZpZyA9IGNvbmZpZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBkZWZhdWx0RmlsdGVyKGNvbmZpZzogS29hbGFMaXN0Rm9ybUZpbHRlckludGVyZmFjZSkge1xuICAgIHRoaXMuY29uZmlnLmZpbHRlclBhcmFtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8S29hbGFMaXN0Rm9ybUZpbHRlckludGVyZmFjZT4oY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBwYWdlU2l6ZShzaXplOiBLb2FsYUxpc3RQYWdlU2l6ZSkge1xuICAgIHRoaXMuY29uZmlnLnBhZ2VTaXplID0gc2l6ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5jb25maWcuY29sdW1uc1RvU2hvd0luTGlzdCA9IGNvbHVtbnM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgaXRlbUNvbHVtbihpdGVtOiBLb2FsYUxpc3RJdGVtSW50ZXJmYWNlPERhdGFUeXBlPikge1xuICAgICh0aGlzLmNvbmZpZy5pdGVtc0xpc3Q/Lmxlbmd0aCA+IDApID9cbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTGlzdC5wdXNoKGl0ZW0pIDpcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTGlzdCA9IFtpdGVtXTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkxpc3QoaXRlbTogS29hbGFMaXN0SXRlbU1lbnVPcHRpb25JbnRlcmZhY2U8RGF0YVR5cGU+KSB7XG4gICAgKHRoaXMuY29uZmlnLml0ZW1zTWVudUxpc3RPcHRpb25zPy5sZW5ndGggPz8gMCA+IDApID9cbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTWVudUxpc3RPcHRpb25zPy5wdXNoKGl0ZW0pIDpcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1zTWVudUxpc3RPcHRpb25zID0gW2l0ZW1dO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0YVNvdXJjZShmbjogKGRhdGFTb3VyY2U6IERhdGFUeXBlW10pID0+IHZvaWQpIHtcbiAgICB0aGlzLmNvbmZpZy5nZXREYXRhU291cmNlID0gZm47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0aW9uTGlzdChmbjogKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8RGF0YVR5cGU+KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jb25maWcuZ2V0U2VsZWN0aW9uTGlzdCA9IGZuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGVtcHR5TGlzdENvbXBvbmVudChjb21wb25lbnQ6IFR5cGU8YW55PiwgZGF0YT86IGFueSkge1xuICAgIHRoaXMuY29uZmlnLmVtcHR5TGlzdENvbXBvbmVudCA9IG5ldyBLb2FsYUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50LCBkYXRhKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBlcnJvckxpc3RDb21wb25lbnQoY29tcG9uZW50OiBUeXBlPGFueT4sIGRhdGE/OiBhbnkpIHtcbiAgICB0aGlzLmNvbmZpZy5lcnJvckxpc3RDb21wb25lbnQgPSBuZXcgS29hbGFEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudCwgZGF0YSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZUNoZWNrYm94SXRlbUxpc3QoZm46IChpdGVtOiBEYXRhVHlwZSkgPT4gYm9vbGVhbikge1xuICAgIHRoaXMuY29uZmlnLmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdCA9IGZuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldFN1Ykxpc3QoY29uZmlnOiAoaXRlbTogRGF0YVR5cGUpID0+IEtvYWxhTGlzdENvbmZpZ0ludGVyZmFjZSkge1xuICAgIHRoaXMuY29uZmlnLnN1Ykxpc3RDb25maWcgPSBjb25maWc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVmaW5lQnRuQ29sbGFwc2VTdWJMaXN0Q29uZmlnKGNvbmZpZzogS29hbGFMaXN0QnRuQ29sbGFwc2VTdWJMaXN0Q29uZmlnSW50ZXJmYWNlPERhdGFUeXBlPikge1xuICAgIHRoaXMuY29uZmlnLmJ0bkNvbGxhcHNlU3ViTGlzdENvbmZpZyA9IGNvbmZpZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBoaWRlUGFnaW5hdG9yKGhpZGU6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5jb25maWcuaGlkZVBhZ2luYXRvciA9IGhpZGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VzdG9tQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZy5jdXN0b21DbGFzcyA9IGNsYXNzTmFtZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWcoKTogS29hbGFMaXN0Q29uZmlnSW50ZXJmYWNlIHtcbiAgICB0aGlzLmNvbmZpZy5yZWxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
+
import { BehaviorSubject, merge, Observable } from 'rxjs';
|
|
3
|
+
import { FormAbstract } from '@koalarx/ui/form';
|
|
4
|
+
import { debounceTime, first, map, startWith, switchMap } from 'rxjs/operators';
|
|
5
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
6
|
+
import { delay } from "@koalarx/utils/operators/delay";
|
|
7
|
+
export class ListAbstract extends FormAbstract {
|
|
8
|
+
constructor(requestFunction, requestResponseFunction, formSearch) {
|
|
9
|
+
super(formSearch);
|
|
10
|
+
this.requestFunction = requestFunction;
|
|
11
|
+
this.requestResponseFunction = requestResponseFunction;
|
|
12
|
+
this.selection = new SelectionModel(true, []);
|
|
13
|
+
this.limitOptions = [10, 20, 30, 50, 100];
|
|
14
|
+
this.showMenuList = false;
|
|
15
|
+
this.allSelected$ = new BehaviorSubject(false);
|
|
16
|
+
this.dataSource = new MatTableDataSource([]);
|
|
17
|
+
this.typeRequest = 'onDemand';
|
|
18
|
+
this.filterParams = new BehaviorSubject(null);
|
|
19
|
+
this.filterError$ = new BehaviorSubject(null);
|
|
20
|
+
}
|
|
21
|
+
selectAll() {
|
|
22
|
+
this.isAllSelected() ?
|
|
23
|
+
this.selection.clear() :
|
|
24
|
+
this.dataSource.data.forEach(item => {
|
|
25
|
+
if ((this.config?.disabledCheckboxItemList && !this.config.disabledCheckboxItemList(item)) ||
|
|
26
|
+
!this.config?.disabledCheckboxItemList) {
|
|
27
|
+
this.selection.select(item);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
this.isAllSelected();
|
|
31
|
+
}
|
|
32
|
+
defineStatusSelectAll(status) {
|
|
33
|
+
this.allSelected$.next(status);
|
|
34
|
+
return this.allSelected$.getValue();
|
|
35
|
+
}
|
|
36
|
+
selectItem() {
|
|
37
|
+
setTimeout(() => {
|
|
38
|
+
this.showMenuList = this.selection.hasValue();
|
|
39
|
+
this.isAllSelected();
|
|
40
|
+
}, 50);
|
|
41
|
+
}
|
|
42
|
+
async search(filter) {
|
|
43
|
+
this.loading(true);
|
|
44
|
+
this.selection.clear();
|
|
45
|
+
if (this.paginator) {
|
|
46
|
+
this.paginator.firstPage();
|
|
47
|
+
}
|
|
48
|
+
this.filterParams.next({
|
|
49
|
+
params: filter,
|
|
50
|
+
sort: this.sort?.active ?? '',
|
|
51
|
+
order: this.sort?.direction ?? 'asc',
|
|
52
|
+
page: this.paginator?.pageIndex ?? 0,
|
|
53
|
+
limit: this.paginator?.pageSize ?? 30
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
onDestroy() {
|
|
57
|
+
this.subscriptionSortList?.unsubscribe();
|
|
58
|
+
this.subscriptionList?.unsubscribe();
|
|
59
|
+
clearInterval(this.intervalSortList);
|
|
60
|
+
}
|
|
61
|
+
async afterViewInit() {
|
|
62
|
+
let tentativas = 0;
|
|
63
|
+
let stop = false;
|
|
64
|
+
do {
|
|
65
|
+
tentativas++;
|
|
66
|
+
await delay(400);
|
|
67
|
+
if (this.sort || this.emptyListComponent) {
|
|
68
|
+
this.prepareSearch().then();
|
|
69
|
+
if (this.emptyListComponent)
|
|
70
|
+
stop = true;
|
|
71
|
+
}
|
|
72
|
+
else if (tentativas > 10) {
|
|
73
|
+
stop = true;
|
|
74
|
+
}
|
|
75
|
+
} while (!this.sort && !stop);
|
|
76
|
+
}
|
|
77
|
+
async prepareSearch() {
|
|
78
|
+
this.intervalSortList = setInterval(() => {
|
|
79
|
+
if (this.sort && !this.subscriptionSortList) {
|
|
80
|
+
this.subscriptionSortList = this.sort.sortChange.subscribe(() => {
|
|
81
|
+
const filter = this.filterParams.value ?? {};
|
|
82
|
+
filter.sort = this.sort?.active ?? '';
|
|
83
|
+
filter.order = this.sort?.direction ?? '';
|
|
84
|
+
this.filterParams.next(filter);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else if (!this.sort && this.subscriptionSortList) {
|
|
88
|
+
this.subscriptionSortList.unsubscribe();
|
|
89
|
+
}
|
|
90
|
+
}, 50);
|
|
91
|
+
if (this.typeRequest === 'onDemand') {
|
|
92
|
+
this.subscriptionList = merge(this.paginator?.page ?? new Observable(), this.filterParams).pipe(startWith({}), switchMap(() => new Observable(observe => {
|
|
93
|
+
this.loading(true);
|
|
94
|
+
this.selection.clear();
|
|
95
|
+
if (this.filterParams.value) {
|
|
96
|
+
this.filterParams.value.sort = this.sort?.active ?? this.config?.columnSort ?? '';
|
|
97
|
+
this.filterParams.value.order = this.sort?.direction ?? this.config?.sortDirection ?? '';
|
|
98
|
+
this.filterParams.value.page = this.paginator?.pageIndex ?? 0;
|
|
99
|
+
this.filterParams.value.limit = this.paginator?.pageSize ?? 30;
|
|
100
|
+
}
|
|
101
|
+
observe.next(true);
|
|
102
|
+
})), debounceTime(300), switchMap(() => this.runRequestFunction()), map((response) => {
|
|
103
|
+
this.loading(false);
|
|
104
|
+
return this.requestResponseFunction(response);
|
|
105
|
+
})).subscribe();
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
if (this.paginator)
|
|
109
|
+
this.dataSource.paginator = this.paginator;
|
|
110
|
+
this.subscriptionList = this.filterParams.pipe(startWith({}), debounceTime(300), switchMap(() => this.runRequestFunction()), map((response) => {
|
|
111
|
+
this.loading(false);
|
|
112
|
+
return this.requestResponseFunction(response);
|
|
113
|
+
})).subscribe();
|
|
114
|
+
}
|
|
115
|
+
if (this.emptyListComponent) {
|
|
116
|
+
do {
|
|
117
|
+
await delay(301);
|
|
118
|
+
if (this.sort) {
|
|
119
|
+
if (this.typeRequest === "onDemand") {
|
|
120
|
+
this.sort.sortChange.subscribe(() => {
|
|
121
|
+
if (this.paginator)
|
|
122
|
+
this.paginator.pageIndex = 0;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this.dataSource.sort = this.sort;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
} while (!this.sort);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
isAllSelected() {
|
|
133
|
+
const numSelected = this.selection.selected.length;
|
|
134
|
+
const numRows = (this.config?.disabledCheckboxItemList ?
|
|
135
|
+
this.dataSource.data.filter(item => !(this.config?.disabledCheckboxItemList
|
|
136
|
+
? this.config.disabledCheckboxItemList(item)
|
|
137
|
+
: '')) :
|
|
138
|
+
this.dataSource.data).length;
|
|
139
|
+
return this.defineStatusSelectAll(numSelected === numRows);
|
|
140
|
+
}
|
|
141
|
+
runRequestFunction() {
|
|
142
|
+
return new Observable(observe => {
|
|
143
|
+
this.requestFunction().pipe(first()).subscribe({
|
|
144
|
+
next: response => observe.next(response),
|
|
145
|
+
error: err => {
|
|
146
|
+
if (this.errorListComponent) {
|
|
147
|
+
this.filterError$.next(err);
|
|
148
|
+
this.errorListComponent.data = err;
|
|
149
|
+
}
|
|
150
|
+
this.loading(false);
|
|
151
|
+
observe.next([]);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5hYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3Qvc3JjL2xpYi9saXN0LmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt2RCxNQUFNLE9BQWdCLFlBQWEsU0FBUSxZQUFZO0lBcUJyRCxZQUNVLGVBQXNDLEVBQ3RDLHVCQUFrRCxFQUMxRCxVQUEyQjtRQUUzQixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFKVixvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUEyQjtRQXRCckQsY0FBUyxHQUFHLElBQUksY0FBYyxDQUFTLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxpQkFBWSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsZUFBVSxHQUFHLElBQUksa0JBQWtCLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDN0MsZ0JBQVcsR0FBdUIs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SixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1BYnN0cmFjdCB9IGZyb20gJ0Brb2FsYXJ4L3VpL2Zvcm0nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaXJzdCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IEtvYWxhTGlzdEZvcm1GaWx0ZXJJbnRlcmZhY2UgfSBmcm9tICcuL2tvYWxhLWxpc3QtZm9ybS1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtvYWxhRHluYW1pY0NvbXBvbmVudCB9IGZyb20gXCJAa29hbGFyeC91aS9keW5hbWljLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHMvb3BlcmF0b3JzL2RlbGF5XCI7XG5pbXBvcnQgeyBLb2FsYUxpc3RDb25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi9rb2FsYS5saXN0LWNvbmZpZy5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IHR5cGUgS29hbGFMaXN0UGFnZVNpemUgPSAxMCB8IDIwIHwgMzAgfCA1MCB8IDEwMDtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RBYnN0cmFjdCBleHRlbmRzIEZvcm1BYnN0cmFjdCB7XG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8b2JqZWN0Pih0cnVlLCBbXSk7XG4gIHB1YmxpYyBsaW1pdE9wdGlvbnM6IG51bWJlcltdID0gWzEwLCAyMCwgMzAsIDUwLCAxMDBdO1xuICBwdWJsaWMgc2hvd01lbnVMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBhbGxTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPGFueT4oW10pO1xuICBwdWJsaWMgdHlwZVJlcXVlc3Q6ICdhbGwnIHwgJ29uRGVtYW5kJyA9ICdvbkRlbWFuZCc7XG4gIHB1YmxpYyBmaWx0ZXJQYXJhbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhTGlzdEZvcm1GaWx0ZXJJbnRlcmZhY2V8bnVsbD4obnVsbCk7XG4gIHB1YmxpYyBmaWx0ZXJFcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gIHB1YmxpYyBlbXB0eUxpc3RDb21wb25lbnQ/OiBLb2FsYUR5bmFtaWNDb21wb25lbnQ7XG4gIHB1YmxpYyBlcnJvckxpc3RDb21wb25lbnQ/OiBLb2FsYUR5bmFtaWNDb21wb25lbnQ7XG4gIHB1YmxpYyBwYWdlU2l6ZTogS29hbGFMaXN0UGFnZVNpemU7XG5cbiAgcHJvdGVjdGVkIGNvbmZpZz86IEtvYWxhTGlzdENvbmZpZ0ludGVyZmFjZTtcbiAgcHJvdGVjdGVkIHBhZ2luYXRvcj86IE1hdFBhZ2luYXRvcjtcbiAgcHJvdGVjdGVkIHNvcnQ/OiBNYXRTb3J0O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uTGlzdD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Tb3J0TGlzdD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBpbnRlcnZhbFNvcnRMaXN0OiBhbnk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVxdWVzdEZ1bmN0aW9uOiAoKSA9PiBPYnNlcnZhYmxlPGFueT4sXG4gICAgcHJpdmF0ZSByZXF1ZXN0UmVzcG9uc2VGdW5jdGlvbjogPFQ+KHJlc3VsdHM6IFRbXSkgPT4gdm9pZCxcbiAgICBmb3JtU2VhcmNoOiAoKSA9PiBGb3JtR3JvdXBcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVNlYXJjaCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpID9cbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAodGhpcy5jb25maWc/LmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdCAmJiAhdGhpcy5jb25maWcuZGlzYWJsZWRDaGVja2JveEl0ZW1MaXN0KGl0ZW0pKSB8fFxuICAgICAgICAhdGhpcy5jb25maWc/LmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdChpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpO1xuICB9XG5cbiAgcHVibGljIGRlZmluZVN0YXR1c1NlbGVjdEFsbChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFsbFNlbGVjdGVkJC5uZXh0KHN0YXR1cyk7XG4gICAgcmV0dXJuIHRoaXMuYWxsU2VsZWN0ZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd01lbnVMaXN0ID0gdGhpcy5zZWxlY3Rpb24uaGFzVmFsdWUoKTtcbiAgICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpO1xuICAgIH0sIDUwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZWFyY2goZmlsdGVyPzogYW55KSB7XG4gICAgdGhpcy5sb2FkaW5nKHRydWUpO1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLnBhZ2luYXRvci5maXJzdFBhZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJQYXJhbXMubmV4dCh7XG4gICAgICBwYXJhbXM6IGZpbHRlcixcbiAgICAgIHNvcnQ6IHRoaXMuc29ydD8uYWN0aXZlID8/ICcnLFxuICAgICAgb3JkZXI6IHRoaXMuc29ydD8uZGlyZWN0aW9uID8/ICdhc2MnLFxuICAgICAgcGFnZTogdGhpcy5wYWdpbmF0b3I/LnBhZ2VJbmRleCA/PyAwLFxuICAgICAgbGltaXQ6IHRoaXMucGFnaW5hdG9yPy5wYWdlU2l6ZSA/PyAzMFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblNvcnRMaXN0Py51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uTGlzdD8udW5zdWJzY3JpYmUoKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxTb3J0TGlzdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgYWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBsZXQgdGVudGF0aXZhcyA9IDA7XG4gICAgbGV0IHN0b3AgPSBmYWxzZTtcbiAgICBkbyB7XG4gICAgICB0ZW50YXRpdmFzKys7XG4gICAgICBhd2FpdCBkZWxheSg0MDApO1xuICAgICAgaWYgKHRoaXMuc29ydCB8fCB0aGlzLmVtcHR5TGlzdENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnByZXBhcmVTZWFyY2goKS50aGVuKCk7XG4gICAgICAgIGlmICh0aGlzLmVtcHR5TGlzdENvbXBvbmVudCkgc3RvcCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHRlbnRhdGl2YXMgPiAxMCkge1xuICAgICAgICBzdG9wID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IHdoaWxlICghdGhpcy5zb3J0ICYmICFzdG9wKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVNlYXJjaCgpIHtcbiAgICB0aGlzLmludGVydmFsU29ydExpc3QgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zb3J0ICYmICF0aGlzLnN1YnNjcmlwdGlvblNvcnRMaXN0KSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uU29ydExpc3QgPSB0aGlzLnNvcnQuc29ydENoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyUGFyYW1zLnZhbHVlID8/IHt9IGFzIGFueTtcbiAgICAgICAgICBmaWx0ZXIuc29ydCA9IHRoaXMuc29ydD8uYWN0aXZlID8/ICcnO1xuICAgICAgICAgIGZpbHRlci5vcmRlciA9IHRoaXMuc29ydD8uZGlyZWN0aW9uID8/ICcnO1xuICAgICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zLm5leHQoZmlsdGVyKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLnNvcnQgJiYgdGhpcy5zdWJzY3JpcHRpb25Tb3J0TGlzdCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvblNvcnRMaXN0LnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSwgNTApO1xuXG4gICAgaWYgKHRoaXMudHlwZVJlcXVlc3QgPT09ICdvbkRlbWFuZCcpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTGlzdCA9IG1lcmdlKHRoaXMucGFnaW5hdG9yPy5wYWdlID8/IG5ldyBPYnNlcnZhYmxlKCksIHRoaXMuZmlsdGVyUGFyYW1zKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgoe30pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nKHRydWUpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgICAgaWYgKHRoaXMuZmlsdGVyUGFyYW1zLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcy52YWx1ZS5zb3J0ID0gdGhpcy5zb3J0Py5hY3RpdmUgPz8gdGhpcy5jb25maWc/LmNvbHVtblNvcnQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcy52YWx1ZS5vcmRlciA9IHRoaXMuc29ydD8uZGlyZWN0aW9uID8/IHRoaXMuY29uZmlnPy5zb3J0RGlyZWN0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJQYXJhbXMudmFsdWUucGFnZSA9IHRoaXMucGFnaW5hdG9yPy5wYWdlSW5kZXggPz8gMDtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zLnZhbHVlLmxpbWl0ID0gdGhpcy5wYWdpbmF0b3I/LnBhZ2VTaXplID8/IDMwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvYnNlcnZlLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJ1blJlcXVlc3RGdW5jdGlvbigpKSxcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdFJlc3BvbnNlRnVuY3Rpb24ocmVzcG9uc2UpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbkxpc3QgPSB0aGlzLmZpbHRlclBhcmFtcy5waXBlKFxuICAgICAgICBzdGFydFdpdGgoe30pLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucnVuUmVxdWVzdEZ1bmN0aW9uKCkpLFxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0UmVzcG9uc2VGdW5jdGlvbihyZXNwb25zZSk7XG4gICAgICAgIH0pXG4gICAgICApLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVtcHR5TGlzdENvbXBvbmVudCkge1xuICAgICAgZG8ge1xuICAgICAgICBhd2FpdCBkZWxheSgzMDEpO1xuICAgICAgICBpZiAodGhpcy5zb3J0KSB7XG4gICAgICAgICAgaWYgKHRoaXMudHlwZVJlcXVlc3QgPT09IFwib25EZW1hbmRcIikge1xuICAgICAgICAgICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXggPSAwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IHdoaWxlICghdGhpcy5zb3J0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgbnVtUm93cyA9ICh0aGlzLmNvbmZpZz8uZGlzYWJsZWRDaGVja2JveEl0ZW1MaXN0ID9cbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbHRlcihpdGVtID0+ICEodGhpcy5jb25maWc/LmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuY29uZmlnLmRpc2FibGVkQ2hlY2tib3hJdGVtTGlzdChpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnKSkgOlxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEpLmxlbmd0aDtcblxuICAgIHJldHVybiB0aGlzLmRlZmluZVN0YXR1c1NlbGVjdEFsbChudW1TZWxlY3RlZCA9PT0gbnVtUm93cyk7XG4gIH1cblxuICBwcml2YXRlIHJ1blJlcXVlc3RGdW5jdGlvbigpIHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8dW5rbm93bltdPihvYnNlcnZlID0+IHtcbiAgICAgIHRoaXMucmVxdWVzdEZ1bmN0aW9uKCkucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZXNwb25zZSA9PiBvYnNlcnZlLm5leHQocmVzcG9uc2UpLFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5lcnJvckxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRXJyb3IkLm5leHQoZXJyKTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JMaXN0Q29tcG9uZW50LmRhdGEgPSBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KFtdKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG4iXX0=
|