@sd-angular/core 1.3.0 → 1.3.2
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/api/package.json +1 -12
- package/api/sd-angular-core-api.d.ts +0 -2
- package/autocomplete/package.json +1 -12
- package/autocomplete/sd-angular-core-autocomplete.d.ts +0 -2
- package/badge/package.json +1 -12
- package/badge/sd-angular-core-badge.d.ts +0 -2
- package/bundles/sd-angular-core-api.umd.js +1 -2
- package/bundles/sd-angular-core-api.umd.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js +1 -2
- package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
- package/bundles/sd-angular-core-badge.umd.js +1 -2
- package/bundles/sd-angular-core-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-button.umd.js +1 -2
- package/bundles/sd-angular-core-button.umd.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.js +1 -2
- package/bundles/sd-angular-core-cache.umd.js.map +1 -1
- package/bundles/sd-angular-core-chart.umd.js +1 -2
- package/bundles/sd-angular-core-chart.umd.js.map +1 -1
- package/bundles/sd-angular-core-checkbox.umd.js +1 -2
- package/bundles/sd-angular-core-checkbox.umd.js.map +1 -1
- package/bundles/sd-angular-core-chip.umd.js +1 -2
- package/bundles/sd-angular-core-chip.umd.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.js +1 -2
- package/bundles/sd-angular-core-comment.umd.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.js +1 -2
- package/bundles/sd-angular-core-common.umd.js.map +1 -1
- package/bundles/sd-angular-core-confirm.umd.js +1 -2
- package/bundles/sd-angular-core-confirm.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-month.umd.js +1 -2
- package/bundles/sd-angular-core-date-month.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-range.umd.js +1 -2
- package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.js +1 -2
- package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-db.umd.js +1 -2
- package/bundles/sd-angular-core-db.umd.js.map +1 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js +1 -2
- package/bundles/sd-angular-core-dynamic-report.umd.js.map +1 -1
- package/bundles/sd-angular-core-editor.umd.js +1 -2
- package/bundles/sd-angular-core-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-excel.umd.js +1 -2
- package/bundles/sd-angular-core-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.js +1 -2
- package/bundles/sd-angular-core-export.umd.js.map +1 -1
- package/bundles/sd-angular-core-filter.umd.js +1 -2
- package/bundles/sd-angular-core-filter.umd.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.js +1 -2
- package/bundles/sd-angular-core-form.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +29 -15
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.js +1 -2
- package/bundles/sd-angular-core-grid.umd.js.map +1 -1
- package/bundles/sd-angular-core-group.umd.js +1 -2
- package/bundles/sd-angular-core-group.umd.js.map +1 -1
- package/bundles/sd-angular-core-header-title.umd.js +1 -2
- package/bundles/sd-angular-core-header-title.umd.js.map +1 -1
- package/bundles/sd-angular-core-image-preview.umd.js +1 -2
- package/bundles/sd-angular-core-image-preview.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-currency.umd.js +1 -2
- package/bundles/sd-angular-core-input-currency.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-dropdown.umd.js +1 -2
- package/bundles/sd-angular-core-input-dropdown.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.js +1 -2
- package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js +1 -2
- package/bundles/sd-angular-core-input-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.js +1 -2
- package/bundles/sd-angular-core-input.umd.js.map +1 -1
- package/bundles/sd-angular-core-json-editor.umd.js +1 -2
- package/bundles/sd-angular-core-json-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-konva.umd.js +1 -2
- package/bundles/sd-angular-core-konva.umd.js.map +1 -1
- package/bundles/sd-angular-core-label.umd.js +1 -2
- package/bundles/sd-angular-core-label.umd.js.map +1 -1
- package/bundles/sd-angular-core-loading.umd.js +1 -2
- package/bundles/sd-angular-core-loading.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js +1 -2
- package/bundles/sd-angular-core-modal-resizable.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.js +1 -2
- package/bundles/sd-angular-core-modal.umd.js.map +1 -1
- package/bundles/sd-angular-core-notify.umd.js +1 -2
- package/bundles/sd-angular-core-notify.umd.js.map +1 -1
- package/bundles/sd-angular-core-popover.umd.js +1 -2
- package/bundles/sd-angular-core-popover.umd.js.map +1 -1
- package/bundles/sd-angular-core-quick-action.umd.js +1 -2
- package/bundles/sd-angular-core-quick-action.umd.js.map +1 -1
- package/bundles/sd-angular-core-radio.umd.js +1 -2
- package/bundles/sd-angular-core-radio.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-badge.umd.js +1 -2
- package/bundles/sd-angular-core-select-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.js +1 -2
- package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.js +1 -2
- package/bundles/sd-angular-core-select.umd.js.map +1 -1
- package/bundles/sd-angular-core-service.umd.js +1 -2
- package/bundles/sd-angular-core-service.umd.js.map +1 -1
- package/bundles/sd-angular-core-setting.umd.js +1 -2
- package/bundles/sd-angular-core-setting.umd.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.js +1 -2
- package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
- package/bundles/sd-angular-core-switch.umd.js +1 -2
- package/bundles/sd-angular-core-switch.umd.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.js +1 -2
- package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
- package/bundles/sd-angular-core-textarea.umd.js +1 -2
- package/bundles/sd-angular-core-textarea.umd.js.map +1 -1
- package/bundles/sd-angular-core-time.umd.js +1 -2
- package/bundles/sd-angular-core-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-timeline.umd.js +1 -2
- package/bundles/sd-angular-core-timeline.umd.js.map +1 -1
- package/bundles/sd-angular-core-translate.umd.js +1 -2
- package/bundles/sd-angular-core-translate.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js +1 -2
- package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.js +1 -2
- package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.js +1 -2
- package/bundles/sd-angular-core-utility.umd.js.map +1 -1
- package/bundles/sd-angular-core-view.umd.js +1 -2
- package/bundles/sd-angular-core-view.umd.js.map +1 -1
- package/button/package.json +1 -12
- package/button/sd-angular-core-button.d.ts +0 -2
- package/cache/package.json +1 -12
- package/cache/sd-angular-core-cache.d.ts +0 -2
- package/chart/package.json +1 -12
- package/chart/sd-angular-core-chart.d.ts +0 -2
- package/checkbox/package.json +1 -12
- package/checkbox/sd-angular-core-checkbox.d.ts +0 -2
- package/chip/package.json +1 -12
- package/chip/sd-angular-core-chip.d.ts +0 -2
- package/comment/package.json +1 -12
- package/comment/sd-angular-core-comment.d.ts +0 -2
- package/common/package.json +1 -12
- package/common/sd-angular-core-common.d.ts +0 -2
- package/confirm/package.json +1 -12
- package/confirm/sd-angular-core-confirm.d.ts +0 -2
- package/date-month/package.json +1 -12
- package/date-month/sd-angular-core-date-month.d.ts +0 -2
- package/date-range/package.json +1 -12
- package/date-range/sd-angular-core-date-range.d.ts +0 -2
- package/date-time/package.json +1 -12
- package/date-time/sd-angular-core-date-time.d.ts +0 -2
- package/db/package.json +1 -12
- package/db/sd-angular-core-db.d.ts +0 -2
- package/dynamic-report/package.json +1 -12
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts +0 -2
- package/editor/package.json +1 -12
- package/editor/sd-angular-core-editor.d.ts +0 -2
- package/esm2015/api/sd-angular-core-api.js +1 -1
- package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
- package/esm2015/badge/sd-angular-core-badge.js +1 -1
- package/esm2015/button/sd-angular-core-button.js +1 -1
- package/esm2015/cache/sd-angular-core-cache.js +1 -1
- package/esm2015/chart/sd-angular-core-chart.js +1 -1
- package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
- package/esm2015/chip/sd-angular-core-chip.js +1 -1
- package/esm2015/comment/sd-angular-core-comment.js +1 -1
- package/esm2015/common/sd-angular-core-common.js +1 -1
- package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
- package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
- package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
- package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
- package/esm2015/db/sd-angular-core-db.js +1 -1
- package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
- package/esm2015/editor/sd-angular-core-editor.js +1 -1
- package/esm2015/excel/sd-angular-core-excel.js +1 -1
- package/esm2015/export/sd-angular-core-export.js +1 -1
- package/esm2015/filter/sd-angular-core-filter.js +1 -1
- package/esm2015/form/sd-angular-core-form.js +1 -1
- package/esm2015/grid/sd-angular-core-grid.js +1 -1
- package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
- package/esm2015/grid-material/src/lib/grid-material.component.js +29 -15
- package/esm2015/group/sd-angular-core-group.js +1 -1
- package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
- package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
- package/esm2015/input/sd-angular-core-input.js +1 -1
- package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
- package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
- package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
- package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
- package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
- package/esm2015/konva/sd-angular-core-konva.js +1 -1
- package/esm2015/label/sd-angular-core-label.js +1 -1
- package/esm2015/loading/sd-angular-core-loading.js +1 -1
- package/esm2015/modal/sd-angular-core-modal.js +1 -1
- package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
- package/esm2015/notify/sd-angular-core-notify.js +1 -1
- package/esm2015/popover/sd-angular-core-popover.js +1 -1
- package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
- package/esm2015/radio/sd-angular-core-radio.js +1 -1
- package/esm2015/select/sd-angular-core-select.js +1 -1
- package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
- package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
- package/esm2015/service/sd-angular-core-service.js +1 -1
- package/esm2015/setting/sd-angular-core-setting.js +1 -1
- package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
- package/esm2015/switch/sd-angular-core-switch.js +1 -1
- package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
- package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
- package/esm2015/time/sd-angular-core-time.js +1 -1
- package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
- package/esm2015/translate/sd-angular-core-translate.js +1 -1
- package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
- package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
- package/esm2015/utility/sd-angular-core-utility.js +1 -1
- package/esm2015/view/sd-angular-core-view.js +1 -1
- package/excel/package.json +1 -12
- package/excel/sd-angular-core-excel.d.ts +0 -2
- package/export/package.json +1 -12
- package/export/sd-angular-core-export.d.ts +0 -2
- package/fesm2015/sd-angular-core-api.js +1 -2
- package/fesm2015/sd-angular-core-api.js.map +1 -1
- package/fesm2015/sd-angular-core-autocomplete.js +1 -2
- package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
- package/fesm2015/sd-angular-core-badge.js +1 -2
- package/fesm2015/sd-angular-core-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-button.js +1 -2
- package/fesm2015/sd-angular-core-button.js.map +1 -1
- package/fesm2015/sd-angular-core-cache.js +1 -2
- package/fesm2015/sd-angular-core-cache.js.map +1 -1
- package/fesm2015/sd-angular-core-chart.js +1 -2
- package/fesm2015/sd-angular-core-chart.js.map +1 -1
- package/fesm2015/sd-angular-core-checkbox.js +1 -2
- package/fesm2015/sd-angular-core-checkbox.js.map +1 -1
- package/fesm2015/sd-angular-core-chip.js +1 -2
- package/fesm2015/sd-angular-core-chip.js.map +1 -1
- package/fesm2015/sd-angular-core-comment.js +1 -2
- package/fesm2015/sd-angular-core-comment.js.map +1 -1
- package/fesm2015/sd-angular-core-common.js +1 -2
- package/fesm2015/sd-angular-core-common.js.map +1 -1
- package/fesm2015/sd-angular-core-confirm.js +1 -2
- package/fesm2015/sd-angular-core-confirm.js.map +1 -1
- package/fesm2015/sd-angular-core-date-month.js +1 -2
- package/fesm2015/sd-angular-core-date-month.js.map +1 -1
- package/fesm2015/sd-angular-core-date-range.js +1 -2
- package/fesm2015/sd-angular-core-date-range.js.map +1 -1
- package/fesm2015/sd-angular-core-date-time.js +1 -2
- package/fesm2015/sd-angular-core-date-time.js.map +1 -1
- package/fesm2015/sd-angular-core-db.js +1 -2
- package/fesm2015/sd-angular-core-db.js.map +1 -1
- package/fesm2015/sd-angular-core-dynamic-report.js +1 -2
- package/fesm2015/sd-angular-core-dynamic-report.js.map +1 -1
- package/fesm2015/sd-angular-core-editor.js +1 -2
- package/fesm2015/sd-angular-core-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-excel.js +1 -2
- package/fesm2015/sd-angular-core-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-export.js +1 -2
- package/fesm2015/sd-angular-core-export.js.map +1 -1
- package/fesm2015/sd-angular-core-filter.js +1 -2
- package/fesm2015/sd-angular-core-filter.js.map +1 -1
- package/fesm2015/sd-angular-core-form.js +1 -2
- package/fesm2015/sd-angular-core-form.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +29 -16
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-grid.js +1 -2
- package/fesm2015/sd-angular-core-grid.js.map +1 -1
- package/fesm2015/sd-angular-core-group.js +1 -2
- package/fesm2015/sd-angular-core-group.js.map +1 -1
- package/fesm2015/sd-angular-core-header-title.js +1 -2
- package/fesm2015/sd-angular-core-header-title.js.map +1 -1
- package/fesm2015/sd-angular-core-image-preview.js +1 -2
- package/fesm2015/sd-angular-core-image-preview.js.map +1 -1
- package/fesm2015/sd-angular-core-input-currency.js +1 -2
- package/fesm2015/sd-angular-core-input-currency.js.map +1 -1
- package/fesm2015/sd-angular-core-input-dropdown.js +1 -2
- package/fesm2015/sd-angular-core-input-dropdown.js.map +1 -1
- package/fesm2015/sd-angular-core-input-number.js +1 -2
- package/fesm2015/sd-angular-core-input-number.js.map +1 -1
- package/fesm2015/sd-angular-core-input-upload-file.js +1 -2
- package/fesm2015/sd-angular-core-input-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-input.js +1 -2
- package/fesm2015/sd-angular-core-input.js.map +1 -1
- package/fesm2015/sd-angular-core-json-editor.js +1 -2
- package/fesm2015/sd-angular-core-json-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-konva.js +1 -2
- package/fesm2015/sd-angular-core-konva.js.map +1 -1
- package/fesm2015/sd-angular-core-label.js +1 -2
- package/fesm2015/sd-angular-core-label.js.map +1 -1
- package/fesm2015/sd-angular-core-loading.js +1 -2
- package/fesm2015/sd-angular-core-loading.js.map +1 -1
- package/fesm2015/sd-angular-core-modal-resizable.js +1 -2
- package/fesm2015/sd-angular-core-modal-resizable.js.map +1 -1
- package/fesm2015/sd-angular-core-modal.js +1 -2
- package/fesm2015/sd-angular-core-modal.js.map +1 -1
- package/fesm2015/sd-angular-core-notify.js +1 -2
- package/fesm2015/sd-angular-core-notify.js.map +1 -1
- package/fesm2015/sd-angular-core-popover.js +1 -2
- package/fesm2015/sd-angular-core-popover.js.map +1 -1
- package/fesm2015/sd-angular-core-quick-action.js +1 -2
- package/fesm2015/sd-angular-core-quick-action.js.map +1 -1
- package/fesm2015/sd-angular-core-radio.js +1 -2
- package/fesm2015/sd-angular-core-radio.js.map +1 -1
- package/fesm2015/sd-angular-core-select-badge.js +1 -2
- package/fesm2015/sd-angular-core-select-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-select-editor.js +1 -2
- package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-select.js +1 -2
- package/fesm2015/sd-angular-core-select.js.map +1 -1
- package/fesm2015/sd-angular-core-service.js +1 -2
- package/fesm2015/sd-angular-core-service.js.map +1 -1
- package/fesm2015/sd-angular-core-setting.js +1 -2
- package/fesm2015/sd-angular-core-setting.js.map +1 -1
- package/fesm2015/sd-angular-core-side-drawer.js +1 -2
- package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
- package/fesm2015/sd-angular-core-switch.js +1 -2
- package/fesm2015/sd-angular-core-switch.js.map +1 -1
- package/fesm2015/sd-angular-core-tab-router.js +1 -2
- package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
- package/fesm2015/sd-angular-core-textarea.js +1 -2
- package/fesm2015/sd-angular-core-textarea.js.map +1 -1
- package/fesm2015/sd-angular-core-time.js +1 -2
- package/fesm2015/sd-angular-core-time.js.map +1 -1
- package/fesm2015/sd-angular-core-timeline.js +1 -2
- package/fesm2015/sd-angular-core-timeline.js.map +1 -1
- package/fesm2015/sd-angular-core-translate.js +1 -2
- package/fesm2015/sd-angular-core-translate.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-excel.js +1 -2
- package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-file.js +1 -2
- package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-utility.js +1 -2
- package/fesm2015/sd-angular-core-utility.js.map +1 -1
- package/fesm2015/sd-angular-core-view.js +1 -2
- package/fesm2015/sd-angular-core-view.js.map +1 -1
- package/filter/package.json +1 -12
- package/filter/sd-angular-core-filter.d.ts +0 -2
- package/form/package.json +1 -12
- package/form/sd-angular-core-form.d.ts +0 -2
- package/grid/package.json +1 -12
- package/grid/sd-angular-core-grid.d.ts +0 -2
- package/grid-material/package.json +1 -12
- package/grid-material/sd-angular-core-grid-material.d.ts +0 -2
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/group/package.json +1 -12
- package/group/sd-angular-core-group.d.ts +0 -2
- package/header-title/package.json +1 -12
- package/header-title/sd-angular-core-header-title.d.ts +0 -2
- package/image-preview/package.json +1 -12
- package/image-preview/sd-angular-core-image-preview.d.ts +0 -2
- package/input/package.json +1 -12
- package/input/sd-angular-core-input.d.ts +0 -2
- package/input-currency/package.json +1 -12
- package/input-currency/sd-angular-core-input-currency.d.ts +0 -2
- package/input-dropdown/package.json +1 -12
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts +0 -2
- package/input-number/package.json +1 -12
- package/input-number/sd-angular-core-input-number.d.ts +0 -2
- package/input-upload-file/package.json +1 -12
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts +0 -2
- package/json-editor/package.json +1 -12
- package/json-editor/sd-angular-core-json-editor.d.ts +0 -2
- package/konva/package.json +1 -12
- package/konva/sd-angular-core-konva.d.ts +0 -2
- package/label/package.json +1 -12
- package/label/sd-angular-core-label.d.ts +0 -2
- package/loading/package.json +1 -12
- package/loading/sd-angular-core-loading.d.ts +0 -2
- package/modal/package.json +1 -12
- package/modal/sd-angular-core-modal.d.ts +0 -2
- package/modal-resizable/package.json +1 -12
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts +0 -2
- package/notify/package.json +1 -12
- package/notify/sd-angular-core-notify.d.ts +0 -2
- package/package.json +1 -1
- package/popover/package.json +1 -12
- package/popover/sd-angular-core-popover.d.ts +0 -2
- package/quick-action/package.json +1 -12
- package/quick-action/sd-angular-core-quick-action.d.ts +0 -2
- package/radio/package.json +1 -12
- package/radio/sd-angular-core-radio.d.ts +0 -2
- package/sd-angular-core-1.3.2.tgz +0 -0
- package/select/package.json +1 -12
- package/select/sd-angular-core-select.d.ts +0 -2
- package/select-badge/package.json +1 -12
- package/select-badge/sd-angular-core-select-badge.d.ts +0 -2
- package/select-editor/package.json +1 -12
- package/select-editor/sd-angular-core-select-editor.d.ts +0 -2
- package/service/package.json +1 -12
- package/service/sd-angular-core-service.d.ts +0 -2
- package/setting/package.json +1 -12
- package/setting/sd-angular-core-setting.d.ts +0 -2
- package/side-drawer/package.json +1 -12
- package/side-drawer/sd-angular-core-side-drawer.d.ts +0 -2
- package/switch/package.json +1 -12
- package/switch/sd-angular-core-switch.d.ts +0 -2
- package/tab-router/package.json +1 -12
- package/tab-router/sd-angular-core-tab-router.d.ts +0 -2
- package/textarea/package.json +1 -12
- package/textarea/sd-angular-core-textarea.d.ts +0 -2
- package/time/package.json +1 -12
- package/time/sd-angular-core-time.d.ts +0 -2
- package/timeline/package.json +1 -12
- package/timeline/sd-angular-core-timeline.d.ts +0 -2
- package/translate/package.json +1 -12
- package/translate/sd-angular-core-translate.d.ts +0 -2
- package/upload-excel/package.json +1 -12
- package/upload-excel/sd-angular-core-upload-excel.d.ts +0 -2
- package/upload-file/package.json +1 -12
- package/upload-file/sd-angular-core-upload-file.d.ts +0 -2
- package/utility/package.json +1 -12
- package/utility/sd-angular-core-utility.d.ts +0 -2
- package/view/package.json +1 -12
- package/view/sd-angular-core-view.d.ts +0 -2
- package/api/sd-angular-core-api.d.ts.__ivy_ngcc_bak +0 -4
- package/api/sd-angular-core-api.d.ts.map +0 -1
- package/autocomplete/sd-angular-core-autocomplete.d.ts.__ivy_ngcc_bak +0 -4
- package/autocomplete/sd-angular-core-autocomplete.d.ts.map +0 -1
- package/badge/sd-angular-core-badge.d.ts.__ivy_ngcc_bak +0 -4
- package/badge/sd-angular-core-badge.d.ts.map +0 -1
- package/bundles/sd-angular-core-api.umd.js.__ivy_ngcc_bak +0 -876
- package/bundles/sd-angular-core-api.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.__ivy_ngcc_bak +0 -791
- package/bundles/sd-angular-core-autocomplete.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-badge.umd.js.__ivy_ngcc_bak +0 -89
- package/bundles/sd-angular-core-badge.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-button.umd.js.__ivy_ngcc_bak +0 -447
- package/bundles/sd-angular-core-button.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-cache.umd.js.__ivy_ngcc_bak +0 -623
- package/bundles/sd-angular-core-cache.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-chart.umd.js.__ivy_ngcc_bak +0 -1106
- package/bundles/sd-angular-core-chart.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-checkbox.umd.js.__ivy_ngcc_bak +0 -461
- package/bundles/sd-angular-core-checkbox.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-chip.umd.js.__ivy_ngcc_bak +0 -1051
- package/bundles/sd-angular-core-chip.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-comment.umd.js.__ivy_ngcc_bak +0 -456
- package/bundles/sd-angular-core-comment.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-common.umd.js.__ivy_ngcc_bak +0 -962
- package/bundles/sd-angular-core-common.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-confirm.umd.js.__ivy_ngcc_bak +0 -159
- package/bundles/sd-angular-core-confirm.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-date-month.umd.js.__ivy_ngcc_bak +0 -650
- package/bundles/sd-angular-core-date-month.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-date-range.umd.js.__ivy_ngcc_bak +0 -660
- package/bundles/sd-angular-core-date-range.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-date-time.umd.js.__ivy_ngcc_bak +0 -734
- package/bundles/sd-angular-core-date-time.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-db.umd.js.__ivy_ngcc_bak +0 -475
- package/bundles/sd-angular-core-db.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js.__ivy_ngcc_bak +0 -96
- package/bundles/sd-angular-core-dynamic-report.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-editor.umd.js.__ivy_ngcc_bak +0 -943
- package/bundles/sd-angular-core-editor.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-excel.umd.js.__ivy_ngcc_bak +0 -500
- package/bundles/sd-angular-core-excel.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-export.umd.js.__ivy_ngcc_bak +0 -712
- package/bundles/sd-angular-core-export.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-filter.umd.js.__ivy_ngcc_bak +0 -703
- package/bundles/sd-angular-core-filter.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-form.umd.js.__ivy_ngcc_bak +0 -88
- package/bundles/sd-angular-core-form.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-grid-material.umd.js.__ivy_ngcc_bak +0 -5029
- package/bundles/sd-angular-core-grid-material.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-grid.umd.js.__ivy_ngcc_bak +0 -5125
- package/bundles/sd-angular-core-grid.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-group.umd.js.__ivy_ngcc_bak +0 -93
- package/bundles/sd-angular-core-group.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-header-title.umd.js.__ivy_ngcc_bak +0 -56
- package/bundles/sd-angular-core-header-title.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-image-preview.umd.js.__ivy_ngcc_bak +0 -121
- package/bundles/sd-angular-core-image-preview.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-input-currency.umd.js.__ivy_ngcc_bak +0 -737
- package/bundles/sd-angular-core-input-currency.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-input-dropdown.umd.js.__ivy_ngcc_bak +0 -634
- package/bundles/sd-angular-core-input-dropdown.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-input-number.umd.js.__ivy_ngcc_bak +0 -792
- package/bundles/sd-angular-core-input-number.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js.__ivy_ngcc_bak +0 -648
- package/bundles/sd-angular-core-input-upload-file.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-input.umd.js.__ivy_ngcc_bak +0 -798
- package/bundles/sd-angular-core-input.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-json-editor.umd.js.__ivy_ngcc_bak +0 -523
- package/bundles/sd-angular-core-json-editor.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-konva.umd.js.__ivy_ngcc_bak +0 -605
- package/bundles/sd-angular-core-konva.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-label.umd.js.__ivy_ngcc_bak +0 -60
- package/bundles/sd-angular-core-label.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-loading.umd.js.__ivy_ngcc_bak +0 -413
- package/bundles/sd-angular-core-loading.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js.__ivy_ngcc_bak +0 -487
- package/bundles/sd-angular-core-modal-resizable.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-modal.umd.js.__ivy_ngcc_bak +0 -307
- package/bundles/sd-angular-core-modal.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-notify.umd.js.__ivy_ngcc_bak +0 -719
- package/bundles/sd-angular-core-notify.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-popover.umd.js.__ivy_ngcc_bak +0 -752
- package/bundles/sd-angular-core-popover.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-quick-action.umd.js.__ivy_ngcc_bak +0 -66
- package/bundles/sd-angular-core-quick-action.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-radio.umd.js.__ivy_ngcc_bak +0 -535
- package/bundles/sd-angular-core-radio.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-select-badge.umd.js.__ivy_ngcc_bak +0 -486
- package/bundles/sd-angular-core-select-badge.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-select-editor.umd.js.__ivy_ngcc_bak +0 -431
- package/bundles/sd-angular-core-select-editor.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-select.umd.js.__ivy_ngcc_bak +0 -921
- package/bundles/sd-angular-core-select.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-service.umd.js.__ivy_ngcc_bak +0 -42
- package/bundles/sd-angular-core-service.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-setting.umd.js.__ivy_ngcc_bak +0 -664
- package/bundles/sd-angular-core-setting.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-side-drawer.umd.js.__ivy_ngcc_bak +0 -438
- package/bundles/sd-angular-core-side-drawer.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-switch.umd.js.__ivy_ngcc_bak +0 -454
- package/bundles/sd-angular-core-switch.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-tab-router.umd.js.__ivy_ngcc_bak +0 -941
- package/bundles/sd-angular-core-tab-router.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-textarea.umd.js.__ivy_ngcc_bak +0 -642
- package/bundles/sd-angular-core-textarea.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-time.umd.js.__ivy_ngcc_bak +0 -497
- package/bundles/sd-angular-core-time.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-timeline.umd.js.__ivy_ngcc_bak +0 -102
- package/bundles/sd-angular-core-timeline.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-translate.umd.js.__ivy_ngcc_bak +0 -119
- package/bundles/sd-angular-core-translate.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-upload-excel.umd.js.__ivy_ngcc_bak +0 -1114
- package/bundles/sd-angular-core-upload-excel.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-upload-file.umd.js.__ivy_ngcc_bak +0 -880
- package/bundles/sd-angular-core-upload-file.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-utility.umd.js.__ivy_ngcc_bak +0 -739
- package/bundles/sd-angular-core-utility.umd.js.map.__ivy_ngcc_bak +0 -1
- package/bundles/sd-angular-core-view.umd.js.__ivy_ngcc_bak +0 -32
- package/bundles/sd-angular-core-view.umd.js.map.__ivy_ngcc_bak +0 -1
- package/button/sd-angular-core-button.d.ts.__ivy_ngcc_bak +0 -4
- package/button/sd-angular-core-button.d.ts.map +0 -1
- package/cache/sd-angular-core-cache.d.ts.__ivy_ngcc_bak +0 -4
- package/cache/sd-angular-core-cache.d.ts.map +0 -1
- package/chart/sd-angular-core-chart.d.ts.__ivy_ngcc_bak +0 -4
- package/chart/sd-angular-core-chart.d.ts.map +0 -1
- package/checkbox/sd-angular-core-checkbox.d.ts.__ivy_ngcc_bak +0 -5
- package/checkbox/sd-angular-core-checkbox.d.ts.map +0 -1
- package/chip/sd-angular-core-chip.d.ts.__ivy_ngcc_bak +0 -5
- package/chip/sd-angular-core-chip.d.ts.map +0 -1
- package/comment/sd-angular-core-comment.d.ts.__ivy_ngcc_bak +0 -4
- package/comment/sd-angular-core-comment.d.ts.map +0 -1
- package/common/sd-angular-core-common.d.ts.__ivy_ngcc_bak +0 -4
- package/common/sd-angular-core-common.d.ts.map +0 -1
- package/confirm/sd-angular-core-confirm.d.ts.__ivy_ngcc_bak +0 -4
- package/confirm/sd-angular-core-confirm.d.ts.map +0 -1
- package/date-month/sd-angular-core-date-month.d.ts.__ivy_ngcc_bak +0 -5
- package/date-month/sd-angular-core-date-month.d.ts.map +0 -1
- package/date-range/sd-angular-core-date-range.d.ts.__ivy_ngcc_bak +0 -4
- package/date-range/sd-angular-core-date-range.d.ts.map +0 -1
- package/date-time/sd-angular-core-date-time.d.ts.__ivy_ngcc_bak +0 -4
- package/date-time/sd-angular-core-date-time.d.ts.map +0 -1
- package/db/sd-angular-core-db.d.ts.__ivy_ngcc_bak +0 -4
- package/db/sd-angular-core-db.d.ts.map +0 -1
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts.__ivy_ngcc_bak +0 -4
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts.map +0 -1
- package/editor/sd-angular-core-editor.d.ts.__ivy_ngcc_bak +0 -4
- package/editor/sd-angular-core-editor.d.ts.map +0 -1
- package/esm2015/api/sd-angular-core-api.js.__ivy_ngcc_bak +0 -5
- package/esm2015/autocomplete/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +0 -5
- package/esm2015/badge/sd-angular-core-badge.js.__ivy_ngcc_bak +0 -5
- package/esm2015/button/sd-angular-core-button.js.__ivy_ngcc_bak +0 -5
- package/esm2015/cache/sd-angular-core-cache.js.__ivy_ngcc_bak +0 -5
- package/esm2015/chart/sd-angular-core-chart.js.__ivy_ngcc_bak +0 -5
- package/esm2015/checkbox/sd-angular-core-checkbox.js.__ivy_ngcc_bak +0 -6
- package/esm2015/chip/sd-angular-core-chip.js.__ivy_ngcc_bak +0 -6
- package/esm2015/comment/sd-angular-core-comment.js.__ivy_ngcc_bak +0 -5
- package/esm2015/common/sd-angular-core-common.js.__ivy_ngcc_bak +0 -5
- package/esm2015/confirm/sd-angular-core-confirm.js.__ivy_ngcc_bak +0 -5
- package/esm2015/date-month/sd-angular-core-date-month.js.__ivy_ngcc_bak +0 -6
- package/esm2015/date-range/sd-angular-core-date-range.js.__ivy_ngcc_bak +0 -5
- package/esm2015/date-time/sd-angular-core-date-time.js.__ivy_ngcc_bak +0 -5
- package/esm2015/db/sd-angular-core-db.js.__ivy_ngcc_bak +0 -5
- package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +0 -5
- package/esm2015/editor/sd-angular-core-editor.js.__ivy_ngcc_bak +0 -5
- package/esm2015/excel/sd-angular-core-excel.js.__ivy_ngcc_bak +0 -5
- package/esm2015/export/sd-angular-core-export.js.__ivy_ngcc_bak +0 -5
- package/esm2015/filter/sd-angular-core-filter.js.__ivy_ngcc_bak +0 -8
- package/esm2015/form/sd-angular-core-form.js.__ivy_ngcc_bak +0 -5
- package/esm2015/grid/sd-angular-core-grid.js.__ivy_ngcc_bak +0 -5
- package/esm2015/grid-material/sd-angular-core-grid-material.js.__ivy_ngcc_bak +0 -47
- package/esm2015/group/sd-angular-core-group.js.__ivy_ngcc_bak +0 -6
- package/esm2015/header-title/sd-angular-core-header-title.js.__ivy_ngcc_bak +0 -6
- package/esm2015/image-preview/sd-angular-core-image-preview.js.__ivy_ngcc_bak +0 -7
- package/esm2015/input/sd-angular-core-input.js.__ivy_ngcc_bak +0 -6
- package/esm2015/input-currency/sd-angular-core-input-currency.js.__ivy_ngcc_bak +0 -5
- package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +0 -5
- package/esm2015/input-number/sd-angular-core-input-number.js.__ivy_ngcc_bak +0 -5
- package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +0 -5
- package/esm2015/json-editor/sd-angular-core-json-editor.js.__ivy_ngcc_bak +0 -5
- package/esm2015/konva/sd-angular-core-konva.js.__ivy_ngcc_bak +0 -5
- package/esm2015/label/sd-angular-core-label.js.__ivy_ngcc_bak +0 -6
- package/esm2015/loading/sd-angular-core-loading.js.__ivy_ngcc_bak +0 -5
- package/esm2015/modal/sd-angular-core-modal.js.__ivy_ngcc_bak +0 -5
- package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +0 -5
- package/esm2015/notify/sd-angular-core-notify.js.__ivy_ngcc_bak +0 -5
- package/esm2015/popover/sd-angular-core-popover.js.__ivy_ngcc_bak +0 -5
- package/esm2015/quick-action/sd-angular-core-quick-action.js.__ivy_ngcc_bak +0 -5
- package/esm2015/radio/sd-angular-core-radio.js.__ivy_ngcc_bak +0 -5
- package/esm2015/select/sd-angular-core-select.js.__ivy_ngcc_bak +0 -5
- package/esm2015/select-badge/sd-angular-core-select-badge.js.__ivy_ngcc_bak +0 -5
- package/esm2015/select-editor/sd-angular-core-select-editor.js.__ivy_ngcc_bak +0 -5
- package/esm2015/service/sd-angular-core-service.js.__ivy_ngcc_bak +0 -5
- package/esm2015/setting/sd-angular-core-setting.js.__ivy_ngcc_bak +0 -5
- package/esm2015/side-drawer/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +0 -5
- package/esm2015/switch/sd-angular-core-switch.js.__ivy_ngcc_bak +0 -5
- package/esm2015/tab-router/sd-angular-core-tab-router.js.__ivy_ngcc_bak +0 -7
- package/esm2015/textarea/sd-angular-core-textarea.js.__ivy_ngcc_bak +0 -5
- package/esm2015/time/sd-angular-core-time.js.__ivy_ngcc_bak +0 -6
- package/esm2015/timeline/sd-angular-core-timeline.js.__ivy_ngcc_bak +0 -6
- package/esm2015/translate/sd-angular-core-translate.js.__ivy_ngcc_bak +0 -5
- package/esm2015/upload-excel/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +0 -7
- package/esm2015/upload-file/sd-angular-core-upload-file.js.__ivy_ngcc_bak +0 -5
- package/esm2015/utility/sd-angular-core-utility.js.__ivy_ngcc_bak +0 -5
- package/esm2015/view/sd-angular-core-view.js.__ivy_ngcc_bak +0 -5
- package/excel/sd-angular-core-excel.d.ts.__ivy_ngcc_bak +0 -4
- package/excel/sd-angular-core-excel.d.ts.map +0 -1
- package/export/sd-angular-core-export.d.ts.__ivy_ngcc_bak +0 -4
- package/export/sd-angular-core-export.d.ts.map +0 -1
- package/fesm2015/sd-angular-core-api.js.__ivy_ngcc_bak +0 -496
- package/fesm2015/sd-angular-core-api.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +0 -427
- package/fesm2015/sd-angular-core-autocomplete.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-badge.js.__ivy_ngcc_bak +0 -70
- package/fesm2015/sd-angular-core-badge.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-button.js.__ivy_ngcc_bak +0 -118
- package/fesm2015/sd-angular-core-button.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-cache.js.__ivy_ngcc_bak +0 -259
- package/fesm2015/sd-angular-core-cache.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-chart.js.__ivy_ngcc_bak +0 -727
- package/fesm2015/sd-angular-core-chart.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-checkbox.js.__ivy_ngcc_bak +0 -120
- package/fesm2015/sd-angular-core-checkbox.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-chip.js.__ivy_ngcc_bak +0 -632
- package/fesm2015/sd-angular-core-chip.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-comment.js.__ivy_ngcc_bak +0 -118
- package/fesm2015/sd-angular-core-comment.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-common.js.__ivy_ngcc_bak +0 -562
- package/fesm2015/sd-angular-core-common.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-confirm.js.__ivy_ngcc_bak +0 -154
- package/fesm2015/sd-angular-core-confirm.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-date-month.js.__ivy_ngcc_bak +0 -289
- package/fesm2015/sd-angular-core-date-month.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-date-range.js.__ivy_ngcc_bak +0 -297
- package/fesm2015/sd-angular-core-date-range.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-date-time.js.__ivy_ngcc_bak +0 -367
- package/fesm2015/sd-angular-core-date-time.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-db.js.__ivy_ngcc_bak +0 -102
- package/fesm2015/sd-angular-core-db.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +0 -82
- package/fesm2015/sd-angular-core-dynamic-report.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-editor.js.__ivy_ngcc_bak +0 -576
- package/fesm2015/sd-angular-core-editor.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-excel.js.__ivy_ngcc_bak +0 -100
- package/fesm2015/sd-angular-core-excel.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-export.js.__ivy_ngcc_bak +0 -272
- package/fesm2015/sd-angular-core-export.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-filter.js.__ivy_ngcc_bak +0 -323
- package/fesm2015/sd-angular-core-filter.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-form.js.__ivy_ngcc_bak +0 -104
- package/fesm2015/sd-angular-core-form.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-grid-material.js.__ivy_ngcc_bak +0 -3740
- package/fesm2015/sd-angular-core-grid-material.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-grid.js.__ivy_ngcc_bak +0 -3935
- package/fesm2015/sd-angular-core-grid.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-group.js.__ivy_ngcc_bak +0 -74
- package/fesm2015/sd-angular-core-group.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-header-title.js.__ivy_ngcc_bak +0 -45
- package/fesm2015/sd-angular-core-header-title.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-image-preview.js.__ivy_ngcc_bak +0 -107
- package/fesm2015/sd-angular-core-image-preview.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-input-currency.js.__ivy_ngcc_bak +0 -330
- package/fesm2015/sd-angular-core-input-currency.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +0 -268
- package/fesm2015/sd-angular-core-input-dropdown.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-input-number.js.__ivy_ngcc_bak +0 -415
- package/fesm2015/sd-angular-core-input-number.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +0 -274
- package/fesm2015/sd-angular-core-input-upload-file.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-input.js.__ivy_ngcc_bak +0 -398
- package/fesm2015/sd-angular-core-input.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-json-editor.js.__ivy_ngcc_bak +0 -180
- package/fesm2015/sd-angular-core-json-editor.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-konva.js.__ivy_ngcc_bak +0 -237
- package/fesm2015/sd-angular-core-konva.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-label.js.__ivy_ngcc_bak +0 -49
- package/fesm2015/sd-angular-core-label.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-loading.js.__ivy_ngcc_bak +0 -83
- package/fesm2015/sd-angular-core-loading.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +0 -161
- package/fesm2015/sd-angular-core-modal-resizable.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-modal.js.__ivy_ngcc_bak +0 -284
- package/fesm2015/sd-angular-core-modal.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-notify.js.__ivy_ngcc_bak +0 -402
- package/fesm2015/sd-angular-core-notify.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-popover.js.__ivy_ngcc_bak +0 -415
- package/fesm2015/sd-angular-core-popover.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-quick-action.js.__ivy_ngcc_bak +0 -53
- package/fesm2015/sd-angular-core-quick-action.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-radio.js.__ivy_ngcc_bak +0 -188
- package/fesm2015/sd-angular-core-radio.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-select-badge.js.__ivy_ngcc_bak +0 -156
- package/fesm2015/sd-angular-core-select-badge.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-select-editor.js.__ivy_ngcc_bak +0 -110
- package/fesm2015/sd-angular-core-select-editor.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-select.js.__ivy_ngcc_bak +0 -487
- package/fesm2015/sd-angular-core-select.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-service.js.__ivy_ngcc_bak +0 -36
- package/fesm2015/sd-angular-core-service.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-setting.js.__ivy_ngcc_bak +0 -290
- package/fesm2015/sd-angular-core-setting.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +0 -115
- package/fesm2015/sd-angular-core-side-drawer.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-switch.js.__ivy_ngcc_bak +0 -116
- package/fesm2015/sd-angular-core-switch.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-tab-router.js.__ivy_ngcc_bak +0 -531
- package/fesm2015/sd-angular-core-tab-router.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-textarea.js.__ivy_ngcc_bak +0 -266
- package/fesm2015/sd-angular-core-textarea.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-time.js.__ivy_ngcc_bak +0 -143
- package/fesm2015/sd-angular-core-time.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-timeline.js.__ivy_ngcc_bak +0 -87
- package/fesm2015/sd-angular-core-timeline.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-translate.js.__ivy_ngcc_bak +0 -101
- package/fesm2015/sd-angular-core-translate.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +0 -638
- package/fesm2015/sd-angular-core-upload-excel.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-upload-file.js.__ivy_ngcc_bak +0 -462
- package/fesm2015/sd-angular-core-upload-file.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-utility.js.__ivy_ngcc_bak +0 -384
- package/fesm2015/sd-angular-core-utility.js.map.__ivy_ngcc_bak +0 -1
- package/fesm2015/sd-angular-core-view.js.__ivy_ngcc_bak +0 -23
- package/fesm2015/sd-angular-core-view.js.map.__ivy_ngcc_bak +0 -1
- package/filter/sd-angular-core-filter.d.ts.__ivy_ngcc_bak +0 -7
- package/filter/sd-angular-core-filter.d.ts.map +0 -1
- package/form/sd-angular-core-form.d.ts.__ivy_ngcc_bak +0 -4
- package/form/sd-angular-core-form.d.ts.map +0 -1
- package/grid/sd-angular-core-grid.d.ts.__ivy_ngcc_bak +0 -4
- package/grid/sd-angular-core-grid.d.ts.map +0 -1
- package/grid-material/sd-angular-core-grid-material.d.ts.__ivy_ngcc_bak +0 -46
- package/grid-material/sd-angular-core-grid-material.d.ts.map +0 -1
- package/group/sd-angular-core-group.d.ts.__ivy_ngcc_bak +0 -5
- package/group/sd-angular-core-group.d.ts.map +0 -1
- package/header-title/sd-angular-core-header-title.d.ts.__ivy_ngcc_bak +0 -5
- package/header-title/sd-angular-core-header-title.d.ts.map +0 -1
- package/image-preview/sd-angular-core-image-preview.d.ts.__ivy_ngcc_bak +0 -6
- package/image-preview/sd-angular-core-image-preview.d.ts.map +0 -1
- package/input/sd-angular-core-input.d.ts.__ivy_ngcc_bak +0 -5
- package/input/sd-angular-core-input.d.ts.map +0 -1
- package/input-currency/sd-angular-core-input-currency.d.ts.__ivy_ngcc_bak +0 -4
- package/input-currency/sd-angular-core-input-currency.d.ts.map +0 -1
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts.__ivy_ngcc_bak +0 -4
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts.map +0 -1
- package/input-number/sd-angular-core-input-number.d.ts.__ivy_ngcc_bak +0 -4
- package/input-number/sd-angular-core-input-number.d.ts.map +0 -1
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts.__ivy_ngcc_bak +0 -4
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts.map +0 -1
- package/json-editor/sd-angular-core-json-editor.d.ts.__ivy_ngcc_bak +0 -4
- package/json-editor/sd-angular-core-json-editor.d.ts.map +0 -1
- package/konva/sd-angular-core-konva.d.ts.__ivy_ngcc_bak +0 -4
- package/konva/sd-angular-core-konva.d.ts.map +0 -1
- package/label/sd-angular-core-label.d.ts.__ivy_ngcc_bak +0 -5
- package/label/sd-angular-core-label.d.ts.map +0 -1
- package/loading/sd-angular-core-loading.d.ts.__ivy_ngcc_bak +0 -4
- package/loading/sd-angular-core-loading.d.ts.map +0 -1
- package/modal/sd-angular-core-modal.d.ts.__ivy_ngcc_bak +0 -4
- package/modal/sd-angular-core-modal.d.ts.map +0 -1
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts.__ivy_ngcc_bak +0 -4
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts.map +0 -1
- package/notify/sd-angular-core-notify.d.ts.__ivy_ngcc_bak +0 -4
- package/notify/sd-angular-core-notify.d.ts.map +0 -1
- package/popover/sd-angular-core-popover.d.ts.__ivy_ngcc_bak +0 -4
- package/popover/sd-angular-core-popover.d.ts.map +0 -1
- package/quick-action/sd-angular-core-quick-action.d.ts.__ivy_ngcc_bak +0 -4
- package/quick-action/sd-angular-core-quick-action.d.ts.map +0 -1
- package/radio/sd-angular-core-radio.d.ts.__ivy_ngcc_bak +0 -4
- package/radio/sd-angular-core-radio.d.ts.map +0 -1
- package/sd-angular-core-1.3.0.tgz +0 -0
- package/select/sd-angular-core-select.d.ts.__ivy_ngcc_bak +0 -4
- package/select/sd-angular-core-select.d.ts.map +0 -1
- package/select-badge/sd-angular-core-select-badge.d.ts.__ivy_ngcc_bak +0 -4
- package/select-badge/sd-angular-core-select-badge.d.ts.map +0 -1
- package/select-editor/sd-angular-core-select-editor.d.ts.__ivy_ngcc_bak +0 -4
- package/select-editor/sd-angular-core-select-editor.d.ts.map +0 -1
- package/service/sd-angular-core-service.d.ts.__ivy_ngcc_bak +0 -4
- package/service/sd-angular-core-service.d.ts.map +0 -1
- package/setting/sd-angular-core-setting.d.ts.__ivy_ngcc_bak +0 -4
- package/setting/sd-angular-core-setting.d.ts.map +0 -1
- package/side-drawer/sd-angular-core-side-drawer.d.ts.__ivy_ngcc_bak +0 -4
- package/side-drawer/sd-angular-core-side-drawer.d.ts.map +0 -1
- package/switch/sd-angular-core-switch.d.ts.__ivy_ngcc_bak +0 -4
- package/switch/sd-angular-core-switch.d.ts.map +0 -1
- package/tab-router/sd-angular-core-tab-router.d.ts.__ivy_ngcc_bak +0 -6
- package/tab-router/sd-angular-core-tab-router.d.ts.map +0 -1
- package/textarea/sd-angular-core-textarea.d.ts.__ivy_ngcc_bak +0 -4
- package/textarea/sd-angular-core-textarea.d.ts.map +0 -1
- package/time/sd-angular-core-time.d.ts.__ivy_ngcc_bak +0 -5
- package/time/sd-angular-core-time.d.ts.map +0 -1
- package/timeline/sd-angular-core-timeline.d.ts.__ivy_ngcc_bak +0 -5
- package/timeline/sd-angular-core-timeline.d.ts.map +0 -1
- package/translate/sd-angular-core-translate.d.ts.__ivy_ngcc_bak +0 -4
- package/translate/sd-angular-core-translate.d.ts.map +0 -1
- package/upload-excel/sd-angular-core-upload-excel.d.ts.__ivy_ngcc_bak +0 -6
- package/upload-excel/sd-angular-core-upload-excel.d.ts.map +0 -1
- package/upload-file/sd-angular-core-upload-file.d.ts.__ivy_ngcc_bak +0 -4
- package/upload-file/sd-angular-core-upload-file.d.ts.map +0 -1
- package/utility/sd-angular-core-utility.d.ts.__ivy_ngcc_bak +0 -4
- package/utility/sd-angular-core-utility.d.ts.map +0 -1
- package/view/sd-angular-core-view.d.ts.__ivy_ngcc_bak +0 -4
- package/view/sd-angular-core-view.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-autocomplete.js","sources":["../../../../projects/sd-core/autocomplete/src/lib/autocomplete-display-def.directive.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.component.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.module.ts","../../../../projects/sd-core/autocomplete/src/public-api.ts","../../../../projects/sd-core/autocomplete/sd-angular-core-autocomplete.ts"],"names":["uuid.v4"],"mappings":";;;;;;;;;;;;;;;;;;MAKa,iCAAiC;AAC9C,IAAE,YAAmB,WAA6B;AAAI,QAAjC,gBAAW,GAAX,WAAW,CAAkB;AAAC,KAAI;AACvD;AACA;AAAiD,YANhD,SAAS,SAAC;AACX,gBAAE,QAAQ,EAAE,4BAA4B;AACxC,aAAC;AACE;AAAG;AACU,YANI,WAAW;AAAG;AAAG;AAAC;AC6BtC,MAAM,+BAA+B;AAAG,IACtC,YAAoB,WAAwB;AAAI,QAA5B,gBAAW,GAAX,WAAW,CAAa;AAAC,KAAI;AACnD,IAAE,YAAY,CAAC,OAA2B,EAAE,IAAwC;AAAI;AACzE,QAAX,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC;AAC/C,QAAI,OAAO,CAAC,EAAE,OAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,MAAK,OAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,YAAI,IAAI,CAAC,WAAW,0CAAE,OAAO,CAAA,IAAI,WAAW,CAAC,CAAC,CAAC;AAClH,KAAG;AACH,CAAC;AACD,MAOa,cAAc;AAAG,IAmH5B,YACU,GAAsB,EACW,UAA8B;AAC3E,QAFY,QAAG,GAAH,GAAG,CAAmB;AAAC,QACU,eAAU,GAAV,UAAU,CAAoB;AAAC,QA/G1E,OAAE,GAAG,IAAIA,EAAO,EAAE,EAAE,CAAC;AACvB,QAAE,yBAAwB;AAC1B,QACE,iBAAS,CAAC,EAAC;AACb,QAAE,gBAAQA,EAAO,EAAE,EAAC;AACpB,QAME,YAAO,GAAG,KAAK,CAAC;AAClB,QAAE,iBAAY,GAAG,IAAI,aAAa,EAAE,CAAC;AACrC,QAAE,gBAAW,GAAG,IAAI,aAAa,EAAE,CAAC;AACpC,QAAE,YAAO,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClE,QACE,wBAAiB;AACnB,QAsBE,wBAAgB,IAAI,eAAe,CAAqB,EAAE,CAAC,EAAC;AAC9D,QAYW,UAAK,GAAG,GAAG,CAAC;AACvB,QAWW,cAAS,GAAY,KAAK,CAAC;AACtC,QAKY,WAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AACxC,QAAY,gBAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7C,QAAY,aAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAC1C,QAAY,UAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AACvC,QAYE,eAAU,GAAG,KAAK,CAAC;AACrB,QAIE,wBAAmB,GAAG,KAAK,CAAC;AAC9B,QAIE,wBAAgB,IAAI,YAAY,EAAE,EAAC;AACrC,QAEE,cAAS,GAAG,KAAK,CAAC;AACpB,QAEE,iBAEI,EAAE,EAAC;AACT,QAAE,gBAEI,EAAE,EAAC;AACT,QAAE,aAAQ,GAAG,KAAK,CAAC;AACnB,QAsHE,aAAQ,GAAG,CAAC,IAAS;AACvB,YAAI,IAAI,IAAI,EAAE;AACd,gBAAM,IAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,KAAK,QAAQ,EAAE;AACpE,oBAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,EAAE;AAC7C,wBAAU,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1C,wBAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,wBAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,qBAAS;AACT,iBAAO;AAAC,qBAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;AACvD,oBAAQ,MAAM,GAAG,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,UAAU,MAAK,IAAI,CAAC;AACpD,oBAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,GAAG,EAAE;AAC5C,wBAAU,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzC,wBAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,wBAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,qBAAS;AACT,iBAAO;AACP,gBAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE;AACrC,oBAAQ,SAAS,EAAE,KAAK;AACxB,iBAAO,CAAC,CAAC;AACT,aAAK;AACL,SAAG,CAAA;AACH,QACE,YAAO,GAAG;AACZ,YAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,YAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC;AAGG,SAFA,CAAA;AACH,QACE,WAAM,GAAG;AACX,YAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC3B,YAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnC,gBAAM,SAAS,EAAE,KAAK;AACtB,aAAK,CAAC,CAAC;AACP,SAAG,CAAA;AACH,QACE,YAAO,GAAG;AACZ;AAAoB,YAAhB,UAAI,IAAI,CAAC,MAAM,0CAAE,WAAW,EAAE;AAClC,gBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACzD,oBAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,iBAAO;AACP,aAAK;AACL,SAAG,CAAA;AACH,QACE,SAAI,GAAG;AACT;AAAwB,YAApB,YAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,0CAAE,IAAI,GAAG;AACtC,SAAG,CAAA;AACH,QACE,UAAK,GAAG;AACV,YAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,YAAI,UAAU,CAAC;AACf;AAAgC,gBAA1B,MAAA,IAAI,CAAC,mBAAmB,0CAAE,SAAS,GAAG;AAC5C,gBAAM,YAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,0CAAE,KAAK,GAAG;AACzC,aAAK,EAAE,GAAG,CAAC,CAAC;AACZ,SAAG,CAAA;AACH,QACE,UAAK,GAAG,CAAC,MAAY;AACvB;AAAoB,YAAhB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,GAAG;AAC9B,YAAI,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,EAAE,EAAE;AACpC,YAAI,0CAAiB;AACrB,gBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,gBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,gBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,aAAK;AACL,SAAG,CAAA;AACH,QACE,aAAQ,GAAG,CAAC,MAAa;AAC3B;AAAoB,YAAhB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,GAAG;AAC9B,YAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,UAAU,GAAG;AAC3C,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,SAAG,CAAA;AACH,QACE,UAAK,GAAG,CAAC,MAAa;AACxB,YAAI,MAAM,CAAC,eAAe,EAAE,CAAC;AAC7B,YAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,GAAG;AAC7B,YAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,SAAG,CAAA;AACH,QACE,eAAU,GAAG;AACf,YAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,SAAG,CAAA;AACH,QACE,2BAAmB;AACrB,YAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;AACvC,YAAI,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;AAC5C,YAAI,MAAM,UAAU,GAAkB,EAAE,CAAC;AACzC;AACQ,YAAJ,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,gBAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3C,aAAK;AACL;AACQ;AAED;AAAiB,YAApB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC/C;AACQ,YAAJ,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;AAC9C,SAAG,EAAA;AACH,KAnNG;AACH,IAtHE,IAAa,GAAG,CAAC,KAAU;AAC7B,QAAI,uBAAA,IAAI,UAAU,EAAE,EAAC;AACrB,QAAI,uBAAA,IAAI,SAAS,EAAE,EAAC;AACpB,KAAG;AACH,IAME,IAAa,IAAI,CAAC,GAAW;AAC/B,QAAI,IAAI,GAAG,EAAE;AACb,YAAM,uBAAA,IAAI,SAAS,GAAG,EAAC;AACvB,SAAK;AACL,KAAG;AACH,IAOE,IAAa,IAAI,CAAC,GAAuB;AAC3C,QAAI,IAAI,GAAG,EAAE;AACb,YAAM,IAAI,GAAG,YAAY,MAAM,EAAE;AACjC,gBAAQ,uBAAA,IAAI,SAAS,GAAG,CAAC,IAAI,EAAC;AAC9B,aAAO;AAAC,iBAAK;AACb,gBAAQ,uBAAA,IAAI,SAAS,GAAG,EAAC;AACzB,aAAO;AACP,SAAK;AACL,KAAG;AACH,IAEE,IAAoB,MAAM,CAAC,GAAW;AACxC,QAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACrB,QAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,YAAM,QAAQ,EAAE,iBAAiB;AACjC,YAAM,KAAK,EAAE,GAAG;AAChB,SAAK,CAAC,CAAC;AACP,KAAG;AAAC;AACC,IAKH,IAAa,KAAK,CAAC,KAAqC;AAC1D,QAAI,IAAI,CAAC,KAAK,EAAE;AAChB,YAAM,4CAAmB,IAAI,CAAC,EAAE,CAAC,CAAC;AAClC,SAAK;AAAC,aAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACrC,YAAM,4CAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;AAChF,SAAK;AAAC,aAAK;AACX,YAAM,4CAAmB,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,YAAM,uBAAA,IAAI,UAAU,GAAG,EAAC;AACxB,SAAK;AACL,QAAI,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;AAC9C,KAAG;AACH,IAOE,IAAa,KAAK,CAAC,KAAkC;AACvD,QAAI,IAAG,yCAAgB,KAAK,EAAE;AAC9B,YAAM,uBAAA,IAAI,UAAU,KAAK,EAAC;AAC1B,YAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvC,SAAK;AACL,KAAG;AACH;AAAgB,IAYd,IAAa,QAAQ,CAAC,GAAiB;AACzC,QAAI,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC;AAC9B,QAAI,IAAI,GAAG,EAAE;AACb,YAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAClC,YAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;AACjC,SAAK;AAAC,aAAK;AACX,YAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;AACjC,YAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AAChC,SAAK;AACL,KAAG;AACH,IACE,IAAa,QAAQ,CAAC,GAAiB;AACzC,QAAI,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1C,QAAI,oDAAA,IAAI,CAAmB,CAAC;AAC5B,KAAG;AACH,IACE,IAAkC,oBAAoB,CAAC,GAAiB;AAC1E,QAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC;AACnD,QAAI,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC;AAC9B,KAAG;AACH,IAkBE,QAAQ;AACV;AAAgB,QAAZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,WAAI,IAAI,CAAC,UAAU,0CAAE,UAAU,CAAA,CAAC;AACrE,QAAI,4CAAmB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC;AACpE,YAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;AACvC,YAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC9B,SAAK,CAAC,CAAC,CAAC;AACR,QAAI,4CAAmB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;AAChE,YAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC9B,SAAK,CAAC,CAAC,CAAC;AACR,QAAI,4CAAmB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC;AACjE,YAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC9B,SAAK,CAAC,CAAC,CAAC;AACR,QAAI,4CAAmB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC;AACpE,YAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC3B,SAAK,CAAC,CAAC,CAAC;AACR,QAAI,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACvC,YAAM,4CAAmB,YAAY,EAAE;AACvC,YAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,sCAAa,CAAC;AAAC,SAAA,CAAC,CAAC,IAAI,CACnE,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC;AACtC;AAAoB,YAAV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAChC,YAAU,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;AACxC,YAAU,IAAI,QAAQ,KAAK,CAAC,KAAK,UAAU,EAAE;AAC7C,gBAAY,OAAO,KAAK;AACxB,qBAAe,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACvE,qBAAe,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,qBAAe,YAAY,EAAE,CAAC;AAC9B,aAAW;AACX,YAAU,MAAM,GAAG,GAAG,IAAI,CAAC;AAC3B,gBAAY,QAAQ,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;AAChD,gBAAY,UAAU;AACtB,aAAW,CAAC,CAAC;AACb,YAAU,IAAI,qCAAY,GAAG,CAAC,KAAK,SAAS,EAAE;AAC9C,gBAAY,IAAI,QAAC,qCAAY,GAAG,CAAC,0CAAE,MAAM,CAAA,EAAE;AAC3C,oBAAc,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACnC,iBAAa;AACb,gBAAY,OAAO,qCAAY,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;AACnD,aAAW;AACX,YAAU,IAAI,GAAsB,CAAC;AACrC,YAAU,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAChD,YAAU,IAAI,IAAI,YAAY,OAAO,EAAE;AACvC,gBAAY,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,aAAW;AAAC,iBAAK;AACjB,gBAAY,GAAG,GAAG,IAAI,CAAC;AACvB,aAAW;AACX,YAAU,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,YAAU,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAClC,YAAU,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;AAClC,gBAAY,qCAAY,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AAC1C,gBAAY,MAAM,CAAC,MAAM,sCAAa,KAAK,CAAC,QAAQ,CAAC,qCAAY,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACzF,gBAAY,OAAO,qCAAY,GAAG,CAAC,CAAC;AACpC,aAAW,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EACxB,QAAQ,CAAC;AACvB,gBAAc,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACnC,gBAAc,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACtC,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS,CAAC,CACH,CAAC;AACR,QAAI,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;AAClC,YAAM,4CAAmB,YAAY,EAAE;AACvC,YAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA,CAAC;AAC7E,aAAO,IAAI,CACH,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1B;AACE;AACE,YAAM,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7C,YAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAChC,gBAAY,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AAC3B,aAAW;AACX,YAAU,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE;AAChC,gBAAY,IAAI,QAAQ,KAAK,CAAC,KAAK,UAAU,EAAE;AAC/C,oBAAc,IAAI,oCAAW,GAAG,CAAC,EAAE;AACnC,wBAAgB,OAAO,EAAE,CAAC,oCAAW,GAAG,CAAC,CAAC,CAAC;AAC3C,qBAAe;AACf,oBAAc,IAAI,GAAsB,CAAC;AACzC,oBAAc,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC5C,oBAAc,IAAI,IAAI,YAAY,OAAO,EAAE;AAC3C,wBAAgB,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,qBAAe;AAAC,yBAAK;AACrB,wBAAgB,GAAG,GAAG,IAAI,CAAC;AAC3B,qBAAe;AACf,oBAAc,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;AACtC,wBAAgB,MAAM,CAAC,MAAM,sCAAa,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjF,wBAAgB,OAAO,oCAAW,GAAG,CAAC,IAAI;AAC1C,4BAAkB,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG;AACxC,4BAAkB,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG;AAC1C,yBAAiB,CAAC;AAClB,qBAAe,CAAC,EAAE,UAAU,CAAC;AAC7B,wBAAgB,OAAO,EAAE,CAAC;AAC1B,4BAAkB,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG;AACxC,4BAAkB,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG;AAC1C,yBAAiB,CAAC,CAAC;AACnB,qBAAe,CAAC,EAAE,QAAQ,CAAC;AAC3B,wBAAgB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,wBAAgB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACxC,qBAAe,CAAC,CAAC,CAAC;AAClB,iBAAa;AACb,gBAAY,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACnE,aAAW;AACX,YAAU,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACxB,SAAS,CAAC,CACH,CAAC;AACR,QAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,+CAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,YAAY,oCAAK,IAAI,mCAAI,IAAI,CAAC,WAAW,oCAAK,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAA,CAAC,CAAC,CAAC;AAC5J,KAAG;AACH,IACE,eAAe;AACjB;AAAgB,QAAZ,mFAAY,UAAU,sCAAa,IAAI,CAAC,WAAW,EAAE;AACzD,KAAG;AACH,IACE,WAAW;AACb;AAAgB,QAAZ,4CAAmB,WAAW,EAAE,CAAC;AACrC,QAAI,mFAAY,aAAa,sCAAa;AAC1C,KAAG;AACH;AACC;AAK+B;AACT,YArPtB,SAAS,SAAC;AACX,gBAAE,QAAQ,EAAE,iBAAiB;AAC7B,gBAAE,krIAA4C;AAC9C,gBACE,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD;AAmDkB,aAnDlB;AACE;AAAG;AAAwC,YAlC5C,iBAAiB;AACjB,4CAsJG,MAAM,SAAC,WAAW,cAAG,QAAQ;AAAM;AAAG;AAAkC,kBApH1E,KAAK;AAAK,kCAIV,SAAS,SAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;AAAO,mBAMzE,KAAK;AAAK,yBAKV,KAAK;AAAK,mBAKV,KAAK;AAAK,mBAEV,KAAK;AAAK,qBAWV,KAAK,SAAC,OAAO;AAAO,yBAOpB,KAAK;AAAK,2BACV,KAAK;AAAK,0BACV,KAAK;AAAK,oBAGV,KAAK;AAAK,oBAYV,KAAK;AAAK,4BAGV,KAAK;AAAK,oBAGV,KAAK;AAAK,wBAMV,KAAK;AAAK,qCAEV,YAAY,SAAC,iCAAiC;AAAO,yBACrD,YAAY,SAAC,mBAAmB;AAAO,yBAEvC,KAAK;AAAK,qBACV,MAAM;AAAK,0BACX,MAAM;AAAK,uBACX,MAAM;AAAK,oBACX,MAAM;AAAK,uBAGX,KAAK;AAAK,uBAWV,KAAK;AAAK,mCAKV,KAAK,SAAC,qBAAqB;AAAO,oBAKlC,SAAS,SAAC,OAAO;AAAO,qBACxB,YAAY,SAAC,kBAAkB;AAAM;AAAG;AAAC,MCzG/B,oBAAoB;AACjC;AACC;AACkC,YA9BlC,QAAQ,SAAC;AACV,gBAAE,OAAO,EAAE;AACX,oBAAI,YAAY;AAChB,oBAAI,WAAW;AACf,oBAAI,mBAAmB;AACvB,oBAAI,cAAc;AAClB,oBAAI,gBAAgB;AACpB,oBAAI,kBAAkB;AACtB,oBAAI,qBAAqB;AACzB,oBAAI,aAAa;AACjB,oBAAI,wBAAwB;AAC5B,oBAAI,iBAAiB;AACrB,oBAAI,cAAc;AAClB,oBAAI,eAAe;AACnB,iBAAG;AACH,gBAAE,YAAY,EAAE;AAChB,oBAAI,cAAc;AAClB,oBAAI,iCAAiC;AACrC,iBAAG;AACH,gBAAE,OAAO,EAAE;AACX,oBAAI,cAAc;AAClB,oBAAI,iCAAiC;AACrC,oBAAI,cAAc;AAClB,iBAAG;AACH,gBAAE,SAAS,EAAE,EACV;AACH,aAAC;AACE;AAAG;AC1CN;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AAC2D","sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdAutocompleteDisplayDef]'\r\n})\r\nexport class SdAutocompleteDisplayDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { startWith, switchMap, debounceTime, map, finalize, catchError } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { FormControl, NgForm, Validators, FormGroupDirective, FormGroup, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\r\nimport { BehaviorSubject, combineLatest, defer, from, Observable, of, Subscription } from 'rxjs';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\nclass SdAutocompleteErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdAutocomplete implements OnInit, OnDestroy, AfterViewInit {\r\n @Input() set key(value: any) {\r\n this.#cache = {};\r\n this.#item = {};\r\n }\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n id = `I${uuid.v4()}`;\r\n #model: string | number;\r\n\r\n #delay = 0; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() appearance: MatFormFieldAppearance;\r\n loading = false;\r\n inputControl = new SdFormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdAutocompleteErrotStateMatcher(this.formControl);\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n qcId: string;\r\n label: string;\r\n @Input('label') set _label(val: string) {\r\n this.label = val;\r\n this.qcId = hash({\r\n selector: 'sd-autocomplete',\r\n label: val\r\n });\r\n };\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#itemsChanges.next(items);\r\n this.#delay = 500;\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n @Input() limit = 100;\r\n filteredItems: Observable<any[]>;\r\n\r\n @Input() cacheChecksum: any;\r\n\r\n controlPlaceHolder: Observable<string | number>;\r\n @Input() set model(value: undefined | number | string) {\r\n if(this.#model !== value) {\r\n this.#model = value;\r\n this.formControl.setValue(value);\r\n }\r\n }\r\n @Input() hiddenAdd: boolean = false;\r\n\r\n @ContentChild(SdAutocompleteDisplayDefDirective) autocompleteDisplayDef: SdAutocompleteDisplayDefDirective;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n\r\n @Input() actionIcon: string;\r\n @Output() action = new EventEmitter();\r\n @Output() modelChange = new EventEmitter();\r\n @Output() sdChange = new EventEmitter();\r\n @Output() sdAdd = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.inputControl.disable();\r\n this.formControl.disable();\r\n } else {\r\n this.inputControl.enable();\r\n this.formControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n #subscription = new Subscription();\r\n @ViewChild('input') input: ElementRef;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n isFocused = false;\r\n selected: Observable<any>;\r\n\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #item: {\r\n [key: string]: any\r\n } = {};\r\n isTyping = false;\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n this.#subscription.add(this.inputControl.touchChanges.subscribe(() => {\r\n this.formControl.markAsTouched();\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.inputControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.inputControl.valueChanges.subscribe(() => {\r\n this.isTyping = true;\r\n }));\r\n this.filteredItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(debounceTime(this.#delay))]).pipe(\r\n switchMap(([items, searchText]) => {\r\n this.isTyping = false;\r\n searchText = searchText || '';\r\n if (typeof (items) !== 'function') {\r\n return items\r\n .search(searchText, [this.valueField, this.displayField])\r\n .paging(this.limit)\r\n .asObservable();\r\n }\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n });\r\n if (this.#cache[key] !== undefined) {\r\n if (!this.#cache[key]?.length) {\r\n this.isTyping = true;\r\n }\r\n return this.#cache[key].asObservable();\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(searchText, false);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func;\r\n }\r\n this.loading = true;\r\n this.ref.markForCheck();\r\n return obs.pipe(map(data => {\r\n this.#cache[key] = data || [];\r\n Object.assign(this.#item, Array.toObject(this.#cache[key], this.valueField));\r\n return this.#cache[key];\r\n }), catchError(() => of([]))\r\n , finalize(() => {\r\n this.loading = false;\r\n this.ref.markForCheck();\r\n }));\r\n })\r\n );\r\n this.selected = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(([items]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n const val = this.formControl.value;\r\n if (!this.valueField) {\r\n return of(val);\r\n }\r\n if (val || val === 0) {\r\n if (typeof (items) === 'function') {\r\n if (this.#item[val]) {\r\n return of(this.#item[val]);\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(val, true);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func;\r\n }\r\n return obs.pipe(map(data => {\r\n Object.assign(this.#item, Array.toObject(data, this.valueField));\r\n return this.#item[val] || {\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n };\r\n }), catchError(() => {\r\n return of({\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n });\r\n }), finalize(() => {\r\n this.loading = false;\r\n this.ref.markForCheck();\r\n }));\r\n }\r\n return of(items.find(e => e[this.valueField] === val));\r\n }\r\n return of('');\r\n })\r\n );\r\n this.controlPlaceHolder = this.selected.pipe(map(item => item?.[this.displayField] ?? item ?? this.placeholder ?? (this.appearance ? this.label : '')));\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n onSelect = (item: any) => {\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (this.formControl.value !== item) {\r\n this.formControl.setValue(item);\r\n this.modelChange.emit(item);\r\n this.sdChange.emit(item);\r\n }\r\n } else if (this.valueField && this.displayField) {\r\n const val = item?.[this.valueField] || null;\r\n if (this.formControl.value !== val) {\r\n this.formControl.setValue(val);\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(item);\r\n }\r\n }\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n blur = () => {\r\n this.input?.nativeElement?.blur();\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n clear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl?.setValue('');\r\n if (this.#model) {\r\n this.formControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n\r\n onAction = ($event: Event) => {\r\n $event?.stopPropagation();\r\n this.autocompleteTrigger?.closePanel();\r\n this.action.emit();\r\n }\r\n\r\n onAdd = ($event: Event) => {\r\n $event.stopPropagation();\r\n $event?.preventDefault();\r\n this.sdAdd.emit();\r\n }\r\n\r\n reValidate = () => {\r\n this.inputControl.updateValueAndValidity({ emitEvent: true });\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n // const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n // if (this.#validator) {\r\n // asyncValidators.push(this.#customValidator(this.#validator));\r\n // }\r\n this.formControl.setValidators(validators);\r\n // this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n}\r\n\r\ntype SearchFunc = (searchText?: string | number, isFormValue?: boolean) => Promise<any[]> | Observable<any[]>;","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { SdAutocomplete } from './autocomplete.component';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { SdPopoverModule } from '@sd-angular/core/popover';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n SdPopoverModule\r\n ],\r\n declarations: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective\r\n ],\r\n exports: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective,\r\n SdCommonModule\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdAutocompleteModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/autocomplete.module';\r\nexport * from './lib/autocomplete.component';\r\nexport * from './lib/autocomplete-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-autocomplete.js","sources":["../../../../projects/sd-core/autocomplete/src/lib/autocomplete-display-def.directive.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.component.ts","../../../../projects/sd-core/autocomplete/src/lib/autocomplete.module.ts","../../../../projects/sd-core/autocomplete/src/public-api.ts","../../../../projects/sd-core/autocomplete/sd-angular-core-autocomplete.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdAutocompleteDisplayDef]'\r\n})\r\nexport class SdAutocompleteDisplayDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Inject,\r\n Optional\r\n} from '@angular/core';\r\nimport { startWith, switchMap, debounceTime, map, finalize, catchError } from 'rxjs/operators';\r\n\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { FormControl, NgForm, Validators, FormGroupDirective, FormGroup, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\r\nimport { BehaviorSubject, combineLatest, defer, from, Observable, of, Subscription } from 'rxjs';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { FORM_CONFIG, IFormConfiguration, SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\nclass SdAutocompleteErrotStateMatcher implements ErrorStateMatcher {\r\n constructor(private formControl: FormControl) { }\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(this.formControl?.invalid && (this.formControl?.dirty || this.formControl?.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'sd-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdAutocomplete implements OnInit, OnDestroy, AfterViewInit {\r\n @Input() set key(value: any) {\r\n this.#cache = {};\r\n this.#item = {};\r\n }\r\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) autocompleteTrigger: MatAutocompleteTrigger;\r\n id = `I${uuid.v4()}`;\r\n #model: string | number;\r\n\r\n #delay = 0; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện gọi hàm\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() appearance: MatFormFieldAppearance;\r\n loading = false;\r\n inputControl = new SdFormControl();\r\n formControl = new SdFormControl();\r\n matcher = new SdAutocompleteErrotStateMatcher(this.formControl);\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n qcId: string;\r\n label: string;\r\n @Input('label') set _label(val: string) {\r\n this.label = val;\r\n this.qcId = hash({\r\n selector: 'sd-autocomplete',\r\n label: val\r\n });\r\n };\r\n @Input() valueField: string;\r\n @Input() displayField: string;\r\n @Input() placeholder: string;\r\n\r\n #itemsChanges = new BehaviorSubject<any[] | SearchFunc>([]);\r\n @Input() set items(items: undefined | any[] | SearchFunc) {\r\n if (!items) {\r\n this.#itemsChanges.next([]);\r\n } else if (Array.isArray(items)) {\r\n this.#itemsChanges.next(items.filter(e => e !== null && e !== undefined));\r\n } else {\r\n this.#itemsChanges.next(items);\r\n this.#delay = 500;\r\n }\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n @Input() limit = 100;\r\n filteredItems: Observable<any[]>;\r\n\r\n @Input() cacheChecksum: any;\r\n\r\n controlPlaceHolder: Observable<string | number>;\r\n @Input() set model(value: undefined | number | string) {\r\n if(this.#model !== value) {\r\n this.#model = value;\r\n this.formControl.setValue(value);\r\n }\r\n }\r\n @Input() hiddenAdd: boolean = false;\r\n\r\n @ContentChild(SdAutocompleteDisplayDefDirective) autocompleteDisplayDef: SdAutocompleteDisplayDefDirective;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n\r\n @Input() actionIcon: string;\r\n @Output() action = new EventEmitter();\r\n @Output() modelChange = new EventEmitter();\r\n @Output() sdChange = new EventEmitter();\r\n @Output() sdAdd = new EventEmitter();\r\n\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.inputControl.disable();\r\n this.formControl.disable();\r\n } else {\r\n this.inputControl.enable();\r\n this.formControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n #subscription = new Subscription();\r\n @ViewChild('input') input: ElementRef;\r\n @ContentChild(SdViewDefDirective) sdView: SdViewDefDirective;\r\n isFocused = false;\r\n selected: Observable<any>;\r\n\r\n #cache: {\r\n [key: string]: any[]\r\n } = {};\r\n #item: {\r\n [key: string]: any\r\n } = {};\r\n isTyping = false;\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Inject(FORM_CONFIG) @Optional() private formConfig: IFormConfiguration) {\r\n }\r\n\r\n ngOnInit() {\r\n this.appearance = this.appearance || this.formConfig?.appearance;\r\n this.#subscription.add(this.inputControl.touchChanges.subscribe(() => {\r\n this.formControl.markAsTouched();\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.inputControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n this.#subscription.add(this.inputControl.valueChanges.subscribe(() => {\r\n this.isTyping = true;\r\n }));\r\n this.filteredItems = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.inputControl.valueChanges.pipe(debounceTime(this.#delay))]).pipe(\r\n switchMap(([items, searchText]) => {\r\n this.isTyping = false;\r\n searchText = searchText || '';\r\n if (typeof (items) !== 'function') {\r\n return items\r\n .search(searchText, [this.valueField, this.displayField])\r\n .paging(this.limit)\r\n .asObservable();\r\n }\r\n const key = hash({\r\n checksum: this.cacheChecksum || null,\r\n searchText\r\n });\r\n if (this.#cache[key] !== undefined) {\r\n if (!this.#cache[key]?.length) {\r\n this.isTyping = true;\r\n }\r\n return this.#cache[key].asObservable();\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(searchText, false);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func;\r\n }\r\n this.loading = true;\r\n this.ref.markForCheck();\r\n return obs.pipe(map(data => {\r\n this.#cache[key] = data || [];\r\n Object.assign(this.#item, Array.toObject(this.#cache[key], this.valueField));\r\n return this.#cache[key];\r\n }), catchError(() => of([]))\r\n , finalize(() => {\r\n this.loading = false;\r\n this.ref.markForCheck();\r\n }));\r\n })\r\n );\r\n this.selected = combineLatest([\r\n this.#itemsChanges.asObservable(),\r\n this.formControl.valueChanges.pipe(startWith(this.formControl.value))])\r\n .pipe(\r\n switchMap(([items]) => {\r\n // Vì một số lý do chưa xác định mà khi sử dụng sdViewDef thì khi chuyển sang dạng view sẽ trigger val = null\r\n // Nhưng formControl.value vẫn có giá trị đúng nên thực hiện gán val = this.formControl.value;\r\n const val = this.formControl.value;\r\n if (!this.valueField) {\r\n return of(val);\r\n }\r\n if (val || val === 0) {\r\n if (typeof (items) === 'function') {\r\n if (this.#item[val]) {\r\n return of(this.#item[val]);\r\n }\r\n let obs: Observable<any[]>;\r\n const func = items(val, true);\r\n if (func instanceof Promise) {\r\n obs = defer(() => from(func));\r\n } else {\r\n obs = func;\r\n }\r\n return obs.pipe(map(data => {\r\n Object.assign(this.#item, Array.toObject(data, this.valueField));\r\n return this.#item[val] || {\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n };\r\n }), catchError(() => {\r\n return of({\r\n [this.valueField]: val,\r\n [this.displayField]: val\r\n });\r\n }), finalize(() => {\r\n this.loading = false;\r\n this.ref.markForCheck();\r\n }));\r\n }\r\n return of(items.find(e => e[this.valueField] === val));\r\n }\r\n return of('');\r\n })\r\n );\r\n this.controlPlaceHolder = this.selected.pipe(map(item => item?.[this.displayField] ?? item ?? this.placeholder ?? (this.appearance ? this.label : '')));\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n onSelect = (item: any) => {\r\n if (item) {\r\n if (typeof (item) === 'string' || typeof (item) === 'number') {\r\n if (this.formControl.value !== item) {\r\n this.formControl.setValue(item);\r\n this.modelChange.emit(item);\r\n this.sdChange.emit(item);\r\n }\r\n } else if (this.valueField && this.displayField) {\r\n const val = item?.[this.valueField] || null;\r\n if (this.formControl.value !== val) {\r\n this.formControl.setValue(val);\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(item);\r\n }\r\n }\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n this.isFocused = true;\r\n this.inputControl.setValue('');\r\n // this.inputControl.updateValueAndValidity();\r\n }\r\n\r\n onBlur = () => {\r\n this.isFocused = false;\r\n this.inputControl.setValue('', {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onClick = () => {\r\n if (this.sdView?.templateRef) {\r\n if (!this.formControl.disabled && !this.isFocused) {\r\n this.focus();\r\n }\r\n }\r\n }\r\n\r\n blur = () => {\r\n this.input?.nativeElement?.blur();\r\n }\r\n\r\n focus = () => {\r\n this.isFocused = true;\r\n setTimeout(() => {\r\n this.autocompleteTrigger?.openPanel();\r\n this.input?.nativeElement?.focus();\r\n }, 100);\r\n }\r\n\r\n clear = ($event?: any) => {\r\n $event?.stopPropagation();\r\n this.inputControl?.setValue('');\r\n if (this.#model) {\r\n this.formControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n\r\n onAction = ($event: Event) => {\r\n $event?.stopPropagation();\r\n this.autocompleteTrigger?.closePanel();\r\n this.action.emit();\r\n }\r\n\r\n onAdd = ($event: Event) => {\r\n $event.stopPropagation();\r\n $event?.preventDefault();\r\n this.sdAdd.emit();\r\n }\r\n\r\n reValidate = () => {\r\n this.inputControl.updateValueAndValidity({ emitEvent: true });\r\n }\r\n\r\n #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n // const asyncValidators: AsyncValidatorFn[] = [];\r\n if (this.isRequired) {\r\n validators.push(Validators.required);\r\n }\r\n // if (this.#validator) {\r\n // asyncValidators.push(this.#customValidator(this.#validator));\r\n // }\r\n this.formControl.setValidators(validators);\r\n // this.formControl.setAsyncValidators(asyncValidators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n}\r\n\r\ntype SearchFunc = (searchText?: string | number, isFormValue?: boolean) => Promise<any[]> | Observable<any[]>;","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { SdAutocomplete } from './autocomplete.component';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { SdAutocompleteDisplayDefDirective } from './autocomplete-display-def.directive';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { SdPopoverModule } from '@sd-angular/core/popover';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatFormFieldModule,\r\n MatAutocompleteModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n SdPopoverModule\r\n ],\r\n declarations: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective\r\n ],\r\n exports: [\r\n SdAutocomplete,\r\n SdAutocompleteDisplayDefDirective,\r\n SdCommonModule\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdAutocompleteModule {\r\n\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/autocomplete.module';\r\nexport * from './lib/autocomplete.component';\r\nexport * from './lib/autocomplete-display-def.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-badge.js","sources":["../../../../projects/sd-core/badge/src/lib/badge.component.ts","../../../../projects/sd-core/badge/src/lib/badge.module.ts","../../../../projects/sd-core/badge/src/public-api.ts","../../../../projects/sd-core/badge/sd-angular-core-badge.ts"],"
|
|
1
|
+
{"version":3,"file":"sd-angular-core-badge.js","sources":["../../../../projects/sd-core/badge/src/lib/badge.component.ts","../../../../projects/sd-core/badge/src/lib/badge.module.ts","../../../../projects/sd-core/badge/src/public-api.ts","../../../../projects/sd-core/badge/sd-angular-core-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nexport type SdBadgeColor = 'normal' | 'primary' | 'info' | 'success' | 'warning' | 'danger';\r\n\r\n@Component({\r\n selector: 'sd-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdBadge {\r\n color: SdBadgeColor | 'unknown' = 'unknown';\r\n @Input() type: 'circle' | 'round' | 'icon' = 'circle';\r\n @Input('color') set _color(color: SdBadgeColor) {\r\n if (!color || !['normal', 'primary', 'info', 'success', 'warning', 'danger'].includes(color)) {\r\n this.color = 'unknown';\r\n } else {\r\n this.color = color;\r\n }\r\n };\r\n @Input() title: string;\r\n @Input() description: string;\r\n @Input() tooltip: string;\r\n\r\n icon: string = 'fiber_manual_record';\r\n @Input('icon') set _icon(val: string) {\r\n this.icon = val || 'fiber_manual_record';\r\n };\r\n\r\n @Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'sm';\r\n @Output() sdClick = new EventEmitter();\r\n onClick = (event: Event) => {\r\n this.sdClick.observers.length\r\n this.sdClick.emit(event);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\n\r\nimport { SdBadge } from \"./badge.component\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, MatIconModule, MatTooltipModule],\r\n declarations: [SdBadge],\r\n exports: [SdBadge],\r\n})\r\nexport class SdBadgeModule {}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdBadgeModule } from \"./lib/badge.module\";\r\nexport * from \"./lib/badge.component\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAUa,OAAO;IANpB;QAOE,UAAK,GAA6B,SAAS,CAAC;QACnC,SAAI,GAAgC,QAAQ,CAAC;QAYtD,SAAI,GAAW,qBAAqB,CAAC;QAK5B,SAAI,GAA8B,IAAI,CAAC;QACtC,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,YAAO,GAAG,CAAC,KAAY;YACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAA;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B,CAAA;KACF;IAtBC,IAAoB,MAAM,CAAC,KAAmB;QAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC5F,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;KACF;;IAMD,IAAmB,KAAK,CAAC,GAAW;QAClC,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,qBAAqB,CAAC;KAC1C;;;;YAvBF,SAAS,SAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,uzDAAqC;gBAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;mBAGE,KAAK;qBACL,KAAK,SAAC,OAAO;oBAOb,KAAK;0BACL,KAAK;sBACL,KAAK;oBAGL,KAAK,SAAC,MAAM;mBAIZ,KAAK;sBACL,MAAM;;;MClBI,aAAa;;;YALzB,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC;gBACxD,YAAY,EAAE,CAAC,OAAO,CAAC;gBACvB,OAAO,EAAE,CAAC,OAAO,CAAC;aACnB;;;ACXD;;;;ACAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-button.js","sources":["../../../../projects/sd-core/button/src/lib/button.component.ts","../../../../projects/sd-core/button/src/lib/button.module.ts","../../../../projects/sd-core/button/src/public-api.ts","../../../../projects/sd-core/button/sd-angular-core-button.ts"],"
|
|
1
|
+
{"version":3,"file":"sd-angular-core-button.js","sources":["../../../../projects/sd-core/button/src/lib/button.component.ts","../../../../projects/sd-core/button/src/lib/button.module.ts","../../../../projects/sd-core/button/src/public-api.ts","../../../../projects/sd-core/button/sd-angular-core-button.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n OnInit,\r\n AfterViewInit,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectionStrategy,\r\n} from '@angular/core';\r\nimport { Subscription, fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { MatButton } from '@angular/material/button';\r\n\r\n@Component({\r\n selector: 'sd-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.disabled]': 'isDisabled ? true : null'\r\n }\r\n})\r\n\r\nexport class SdButton implements OnInit, AfterViewInit {\r\n @ViewChild('button') button: MatButton;\r\n #disabled = false;\r\n #initialized = false;\r\n isDisabled = false;\r\n @Input() type: 'fill' | 'light' | 'outline' | 'link' = 'light';\r\n @Input() color: 'primary' | 'accent' | 'warn' | 'info' | 'success' | 'warning' | 'danger' | 'secondary' = 'secondary';\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() width: string;\r\n @Input() size: 'sm' | 'lg';\r\n @Input() tooltip: string;\r\n @Input() iconSuffix = false;\r\n @Input() fontSet: 'material-icons' |\r\n 'material-icons-outlined' |\r\n 'material-icons-round' |\r\n 'material-icons-sharp' = 'material-icons';\r\n @Input() set disabled(value: boolean) {\r\n this.#disabled = value || false;\r\n if (this.#initialized) {\r\n this.#onChanges();\r\n }\r\n }\r\n @Input() loading = false;\r\n @Output() action = new EventEmitter();\r\n #subscription = new Subscription();\r\n constructor(private ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#onChanges();\r\n this.#subscription.add(fromEvent(this.button._elementRef.nativeElement, 'click').pipe(debounceTime(200)).subscribe($event => {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.action.emit($event);\r\n }));\r\n this.#initialized = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n #onChanges = () => {\r\n this.isDisabled = this.#disabled;\r\n this.ref.detectChanges();\r\n }\r\n\r\n onClick = ($event: any) => {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.action.emit($event);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdButton } from './button.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule\r\n ],\r\n declarations: [\r\n SdButton\r\n ],\r\n exports: [\r\n SdButton\r\n ]\r\n})\r\nexport class SdButtonModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdButtonModule } from './lib/button.module';\r\nexport * from './lib/button.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MA0Ba,QAAQ;IA0BnB,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;QAxB1C,oBAAY,KAAK,EAAC;QAClB,uBAAe,KAAK,EAAC;QACrB,eAAU,GAAG,KAAK,CAAC;QACV,SAAI,GAA0C,OAAO,CAAC;QACtD,UAAK,GAA4F,WAAW,CAAC;QAM7G,eAAU,GAAG,KAAK,CAAC;QACnB,YAAO,GAGW,gBAAgB,CAAC;QAOnC,YAAO,GAAG,KAAK,CAAC;QACf,WAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QACtC,wBAAgB,IAAI,YAAY,EAAE,EAAC;QAsBnC,qBAAa;YACX,IAAI,CAAC,UAAU,0CAAiB,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B,EAAA;QAED,YAAO,GAAG,CAAC,MAAW;YACpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1B,CAAA;KA9BA;IAVD,IAAa,QAAQ,CAAC,KAAc;QAClC,uBAAA,IAAI,aAAa,KAAK,IAAI,KAAK,EAAC;QAChC,gDAAuB;YACrB,8CAAA,IAAI,CAAa,CAAC;SACnB;KACF;IAOD,QAAQ;KACP;IAED,eAAe;QACb,8CAAA,IAAI,CAAa,CAAC;QAClB,4CAAmB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;YACvH,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1B,CAAC,CAAC,CAAC;QACJ,uBAAA,IAAI,gBAAgB,IAAI,EAAC;KAC1B;IAED,WAAW;QACT,4CAAmB,WAAW,EAAE,CAAC;KAClC;;;;YAvDF,SAAS,SAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,w5EAAsC;gBAEtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,IAAI,EAAE;oBACJ,iBAAiB,EAAE,0BAA0B;iBAC9C;;aACF;;;YAnBC,iBAAiB;;;qBAsBhB,SAAS,SAAC,QAAQ;mBAIlB,KAAK;oBACL,KAAK;oBACL,KAAK;mBACL,KAAK;oBACL,KAAK;mBACL,KAAK;sBACL,KAAK;yBACL,KAAK;sBACL,KAAK;uBAIL,KAAK;sBAML,KAAK;qBACL,MAAM;;;MC3BI,cAAc;;;YAf1B,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,YAAY;oBACZ,aAAa;oBACb,eAAe;oBACf,wBAAwB;oBACxB,gBAAgB;iBACjB;gBACD,YAAY,EAAE;oBACZ,QAAQ;iBACT;gBACD,OAAO,EAAE;oBACP,QAAQ;iBACT;aACF;;;ACtBD;;;;ACAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-cache.js","sources":["../../../../projects/sd-core/cache/src/lib/cache.model.ts","../../../../projects/sd-core/cache/src/lib/cache.service.ts","../../../../projects/sd-core/cache/sd-angular-core-cache.ts"],"names":[],"mappings":";;;;;;;MA2Ca,YAAY,GAAG,IAAI,cAAc,CAAsB,qBAAqB;AACzF;AAAC;AAAoG,MCnCxF,cAAc;AAC3B,IASE,YAAsD,aAAkC;AAC1F,QADwD,kBAAa,GAAb,aAAa,CAAqB;AAAC,QATzF,iBAKI,EAAE,EAAC;AACT,QAAE,mBAEI,EAAE,EAAC;AACT,QA2DE,eAAO,CAAU,GAAW,EAAE,MAAsB;AAAO,YACzD,OAAO;AACX,gBAAM,IAAI,KAAK,GAAG,qCAAY,GAAG,CAAC,CAAC;AACnC,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;AACtC,oBAAQ,IAAI;AACZ,wBAAU,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,qBAAS;AAAC,oBAAA,WAAM;AAChB,wBAAU,KAAK,GAAG,SAAS,CAAC;AAC5B,qBAAS;AACT,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;AACpC,oBAAQ,IAAI;AACZ,wBAAU,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,qBAAS;AAAC,oBAAA,WAAM;AAChB,wBAAU,KAAK,GAAG,SAAS,CAAC;AAC5B,qBAAS;AACT,iBAAO;AACP,gBAAM,IAAI,CAAC,KAAK,EAAE;AAClB,oBAAQ,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;AAC/B,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;AACvF,oBAAQ,MAAM,MAAM,GAAG,2CAAA,IAAI,EAAS,GAAG,EAAE,MAAM,CAAC,CAAC;AACjD,oBAAQ,MAAM,EAAE,CAAC;AACjB,oBAAQ,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;AAC/B,iBAAO;AACP,gBAAM,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,aAAK,CAAC;AACN,SAAG,EAAA;AACH,QACE,qBAAa,CAAU,GAAW,EAAE,MAA4B;AAAO,YACrE,OAAO;AAER;AAAwB,gBADrB,IAAI,KAAK,GAAG,qCAAY,GAAG,CAAC,CAAC;AACnC,gBAAM,UAAI,IAAI,CAAC,aAAa,0CAAE,GAAG,EAAE;AACnC,oBAAQ,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG;AACnE,wBAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,wBAAU,OAAO,SAAS,CAAC;AAC3B,qBAAS,CAAC,CAAC;AACX,iBAAO;AACP,gBAAM,IAAI,CAAC,KAAK,EAAE;AAClB,oBAAQ,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;AAC/B,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;AACvF,oBAAQ,MAAM,MAAM,GAAG,iDAAA,IAAI,EAAe,GAAG,EAAE,MAAM,CAAC,CAAC;AACvD,oBAAQ,MAAM,EAAE,CAAC;AACjB,oBAAQ,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;AAC/B,iBAAO;AACP,gBAAM,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,aAAK,CAAA,CAAC;AACN,SAAG,EAAA;AACH,QACE,eAAO,CAAU,GAAW,EAAE,MAAsB;AAAO,YACzD,OAAO,CAAC,IAAO;AACnB,gBAAM,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC;AAC1B,gBAAM,qCAAY,GAAG,CAAC,GAAG;AACzB,oBAAQ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9C,oBAAQ,SAAS,EAAE,IAAI,IAAI,EAAE;AAC7B,iBAAO,CAAC;AACR,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;AACtC,oBAAQ,IAAI;AACZ,wBAAU,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,qCAAY,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,qBAAS;AAAC,oBAAA,OAAO,GAAG,EAAE;AACtB,wBAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,qBAAS;AACT,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;AACpC,oBAAQ,IAAI;AACZ,wBAAU,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,qCAAY,GAAG,CAAC,CAAC,CAAC,CAAC;AACtE,qBAAS;AAAC,oBAAA,OAAO,GAAG,EAAE;AACtB,wBAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,qBAAS;AACT,iBAAO;AACP,gBAAM,uCAAc,GAAG,CAAC,CAAC,IAAI,CAAC,qCAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACrD,aAAK,CAAC;AACN,SAAG,EAAA;AACH,QACE,qBAAa,CAAU,GAAW,EAAE,MAA4B;AAAO,YACrE,OAAO,CAAO,IAAO;AAEP;AACH,gBAFT,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC;AAC1B,gBAAM,qCAAY,GAAG,CAAC,GAAG;AACzB,oBAAQ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9C,oBAAQ,SAAS,EAAE,IAAI,IAAI,EAAE;AAC7B,iBAAO,CAAC;AACR,gBAAM,UAAI,IAAI,CAAC,aAAa,0CAAE,GAAG,EAAE;AACnC,oBAAQ,IAAI;AACZ,wBAAU,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,qCAAY,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACtE,qBAAS;AAAC,oBAAA,OAAO,GAAG,EAAE;AACtB,wBAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,qBAAS;AACT,iBAAO;AACP,gBAAM,uCAAc,GAAG,CAAC,CAAC,IAAI,CAAC,qCAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACrD,aAAK,CAAA,CAAC;AACN,SAAG,EAAA;AACH,QACE,eAAO,CAAC,GAAW,EAAE,MAAsB;AAAO,YAChD,OAAO;AACX,gBAAM,IAAI,KAAK,GAAG,qCAAY,GAAG,CAAC,CAAC;AACnC,gBACM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;AACtC,oBAAQ,IAAI;AACZ,wBAAU,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,qBAAS;AAAC,oBAAA,WAAM;AAChB,wBAAU,KAAK,GAAG,SAAS,CAAC;AAC5B,qBAAS;AACT,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;AACpC,oBAAQ,IAAI;AACZ,wBAAU,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,qBAAS;AAAC,oBAAA,WAAM;AAChB,wBAAU,KAAK,GAAG,SAAS,CAAC;AAC5B,qBAAS;AACT,iBAAO;AACP,gBAAM,IAAI,CAAC,KAAK,EAAE;AAClB,oBAAQ,OAAO,KAAK,CAAC;AACrB,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;AACvF,oBAAQ,OAAO,KAAK,CAAC;AACrB,iBAAO;AACP,gBAAM,OAAO,IAAI,CAAC;AAClB,aAAK,CAAA;AACL,SAAG,EAAA;AACH,QACE,qBAAa,CAAC,GAAW,EAAE,MAA4B;AAAO,YAC5D,OAAO;AAER;AAAwB,gBADrB,IAAI,KAAK,GAAG,qCAAY,GAAG,CAAC,CAAC;AACnC,gBAAM,UAAI,IAAI,CAAC,aAAa,0CAAE,GAAG,EAAE;AACnC,oBAAQ,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG;AACnE,wBAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,wBAAU,OAAO,SAAS,CAAC;AAC3B,qBAAS,CAAC,CAAC;AACX,iBAAO;AACP,gBAAM,IAAI,CAAC,KAAK,EAAE;AAClB,oBAAQ,OAAO,KAAK,CAAC;AACrB,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;AACvF,oBAAQ,OAAO,KAAK,CAAC;AACrB,iBAAO;AACP,gBAAM,OAAO,IAAI,CAAC;AAClB,aAAK,CAAA,CAAC;AACN,SAAG,EAAA;AACH,QACE,kBAAU,CAAC,GAAW,EAAE,MAAsB;AAAO,YACnD,OAAO;AACX,gBAAM,qCAAY,GAAG,CAAC,GAAG,SAAS,CAAC;AACnC,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;AACtC,oBAAQ,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvC,iBAAO;AACP,gBAAM,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;AACpC,oBAAQ,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrC,iBAAO;AACP,gBAAM,uCAAc,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzC,aAAK,CAAC;AACN,SAAG,EAAA;AACH,QACE,wBAAgB,CAAC,GAAW,EAAE,MAA4B;AAAO,YAC/D,OAAO;AAER;AAAwB,gBADrB,qCAAY,GAAG,CAAC,GAAG,SAAS,CAAC;AACnC,gBAAM,UAAI,IAAI,CAAC,aAAa,0CAAE,MAAM,EAAE;AACtC,oBAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG;AAC9D,wBAAU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,qBAAS,CAAC,CAAC;AACX,iBAAO;AACP,gBAAM,uCAAc,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzC,aAAK,CAAA,CAAC;AACN,SAAG,EAAA;AACH,KA9NG;AACH,IACE,MAAM,CAAU,GAAoB,EAAE,MAAyB;AAAI,QACjE,IAAI,CAAC,GAAG,EAAE;AACd,YAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACzC,SAAK;AACL,QAAI,IAAI,OAAO,GAAW,IAAI,CAAC;AAC/B,QAAI,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;AACnC,YAAM,OAAO,GAAG,GAAG,CAAC;AACpB,SAAK;AAAC,aAAK,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;AAC1C,YAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,SAAK;AAAC,aAAK;AACX,YAAM,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACrC,SAAK;AACL,QAAI,IAAI,CAAC,uCAAc,OAAO,CAAC,EAAE;AACjC,YAAM,uCAAc,OAAO,CAAC,GAAG,IAAI,eAAe,CAAM,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC;AACzE,SAAK;AACL,QAAI,MAAM,GAAG,GAAG,wCAAA,IAAI,EAAS,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,QAAI,MAAM,GAAG,GAAG,wCAAA,IAAI,EAAS,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,QAAI,MAAM,GAAG,GAAG,wCAAA,IAAI,EAAM,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,QAAI,MAAM,MAAM,GAAG,2CAAA,IAAI,EAAS,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,QAAI,OAAO;AACX,YAAM,GAAG;AACT,YAAM,GAAG;AACT,YAAM,GAAG;AACT,YAAM,MAAM;AACZ,YAAM,QAAQ,EAAE,uCAAc,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrD,SAAK,CAAC;AACN,KAAG;AACH,IACE,YAAY,CAAU,GAAoB,EAAE,MAAyB;AAAI,QACvE,IAAI,CAAC,GAAG,EAAE;AACd,YAAM,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACzC,SAAK;AACL,QAAI,IAAI,OAAO,GAAW,IAAI,CAAC;AAC/B,QAAI,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;AACnC,YAAM,OAAO,GAAG,GAAG,CAAC;AACpB,SAAK;AAAC,aAAK,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;AAC1C,YAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,SAAK;AAAC,aAAK;AACX,YAAM,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACrC,SAAK;AACL,QAAI,IAAI,CAAC,uCAAc,OAAO,CAAC,EAAE;AACjC,YAAM,uCAAc,OAAO,CAAC,GAAG,IAAI,eAAe,CAAM,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC;AACzE,SAAK;AACL,QAAI,MAAM,GAAG,GAAG,8CAAA,IAAI,EAAe,OAAO,EAAE,MAAM,CAAC,CAAC;AACpD,QAAI,MAAM,GAAG,GAAG,8CAAA,IAAI,EAAe,OAAO,EAAE,MAAM,CAAC,CAAC;AACpD,QAAI,MAAM,GAAG,GAAG,8CAAA,IAAI,EAAY,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,QAAI,MAAM,MAAM,GAAG,iDAAA,IAAI,EAAe,OAAO,EAAE,MAAM,CAAC,CAAC;AACvD,QAAI,OAAO;AACX,YAAM,GAAG;AACT,YAAM,GAAG;AACT,YAAM,GAAG;AACT,YAAM,MAAM;AACZ,YAAM,QAAQ,EAAE,uCAAc,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3D,SAAK,CAAC;AACN,KAAG;AACH;AACC;AAMgB;AAQA;AAGjB,YAzFC,UAAU,SAAC;AACZ,gBAAE,UAAU,EAAE,MAAM;AACpB,aAAC;AACE;AAAG;AAEF,4CAQW,MAAM,SAAC,YAAY,cAAG,QAAQ;AAAM;AAAG;ACnBtD;AACA;AACA;AACA;AACA;AACgB","sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface SdCacheOption<T = any> {\r\n type?: 'default' | 'session' | 'local';\r\n hours?: number;\r\n default?: T;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCacheServerOption<T = any> {\r\n hours?: number;\r\n default?: T;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCache<T = any> {\r\n get: () => T;\r\n set: (data: T) => void;\r\n has: () => boolean;\r\n remove: () => void;\r\n observer: Observable<T>;\r\n}\r\n\r\nexport interface SdCacheServer<T = any> {\r\n get: () => Promise<T>;\r\n set: (data: T) => Promise<void>;\r\n has: () => Promise<boolean>;\r\n remove: () => Promise<void>;\r\n observer: Observable<T>;\r\n}\r\n\r\nexport interface ICacheConfiguration {\r\n convertKey?: (key: string) => string;\r\n set?: (key: string, value: { data: any, createdOn: Date }, option?: SdCacheServerOption) => Promise<void>;\r\n get?: (key: string, option?: SdCacheServerOption) => Promise<{ data: any, createdOn: Date }>;\r\n remove?: (key: string, option?: SdCacheServerOption) => Promise<void>;\r\n}\r\n\r\nexport const CACHE_CONFIG = new InjectionToken<ICacheConfiguration>('cache.configuration');\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport hash from 'object-hash';\r\nimport { CACHE_CONFIG, ICacheConfiguration, SdCache, SdCacheOption, SdCacheServer, SdCacheServerOption } from './cache.model';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdCacheService {\r\n #cache: {\r\n [key: string]: {\r\n data: any,\r\n createdOn: Date\r\n }\r\n } = {};\r\n #subject: {\r\n [key: string]: BehaviorSubject<any>;\r\n } = {};\r\n constructor(@Inject(CACHE_CONFIG) @Optional() private configuration: ICacheConfiguration) {\r\n }\r\n\r\n create<T = any>(key: string | object, option?: SdCacheOption<T>): SdCache<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n if (!this.#subject[hashKey]) {\r\n this.#subject[hashKey] = new BehaviorSubject<any>(option?.default);\r\n }\r\n const get = this.#get<T>(hashKey, option);\r\n const set = this.#set<T>(hashKey, option);\r\n const has = this.#has(hashKey, option);\r\n const remove = this.#remove(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove,\r\n observer: this.#subject[hashKey].pipe(map(get))\r\n };\r\n }\r\n\r\n createServer<T = any>(key: string | object, option?: SdCacheOption<T>): SdCacheServer<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n if (!this.#subject[hashKey]) {\r\n this.#subject[hashKey] = new BehaviorSubject<any>(option?.default);\r\n }\r\n const get = this.#getServer<T>(hashKey, option);\r\n const set = this.#setServer<T>(hashKey, option);\r\n const has = this.#hasServer(hashKey, option);\r\n const remove = this.#removeServer(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove,\r\n observer: this.#subject[hashKey].pipe(switchMap(get))\r\n };\r\n }\r\n\r\n #get = <T = any>(key: string, option?: SdCacheOption): (() => T) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return option?.default;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#remove(key, option);\r\n remove();\r\n return option?.default;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #getServer = <T = any>(key: string, option?: SdCacheServerOption): (() => Promise<T>) => {\r\n return async () => {\r\n let cache = this.#cache[key];\r\n if (this.configuration?.get) {\r\n cache = await this.configuration.get(key, option).catch(err => {\r\n console.error(err);\r\n return undefined;\r\n });\r\n }\r\n if (!cache) {\r\n return option?.default;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#removeServer(key, option);\r\n remove();\r\n return option?.default;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #set = <T = any>(key: string, option?: SdCacheOption): ((data: T) => void) => {\r\n return (data: T) => {\r\n data = data ?? null;\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (option?.type === 'session') {\r\n try {\r\n sessionStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n this.#subject[key].next(this.#cache[key].data);\r\n };\r\n }\r\n\r\n #setServer = <T = any>(key: string, option?: SdCacheServerOption): ((data: T) => Promise<void>) => {\r\n return async (data: T) => {\r\n data = data ?? null;\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (this.configuration?.set) {\r\n try {\r\n await this.configuration.set(key, this.#cache[key], option);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n this.#subject[key].next(this.#cache[key].data);\r\n };\r\n }\r\n\r\n #has = (key: string, option?: SdCacheOption): (() => boolean) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n #hasServer = (key: string, option?: SdCacheServerOption): (() => Promise<boolean>) => {\r\n return async () => {\r\n let cache = this.#cache[key];\r\n if (this.configuration?.get) {\r\n cache = await this.configuration.get(key, option).catch(err => {\r\n console.error(err);\r\n return undefined;\r\n });\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n }\r\n\r\n #remove = (key: string, option?: SdCacheOption): (() => void) => {\r\n return () => {\r\n this.#cache[key] = undefined;\r\n if (option?.type === 'session') {\r\n sessionStorage.removeItem(key);\r\n }\r\n if (option?.type === 'local') {\r\n localStorage.removeItem(key);\r\n }\r\n this.#subject[key].next(undefined);\r\n };\r\n }\r\n\r\n #removeServer = (key: string, option?: SdCacheServerOption): (() => Promise<void>) => {\r\n return async () => {\r\n this.#cache[key] = undefined;\r\n if (this.configuration?.remove) {\r\n await this.configuration.remove(key, option).catch(err => {\r\n console.error(err);\r\n });\r\n }\r\n this.#subject[key].next(undefined);\r\n };\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-cache.js","sources":["../../../../projects/sd-core/cache/src/lib/cache.model.ts","../../../../projects/sd-core/cache/src/lib/cache.service.ts","../../../../projects/sd-core/cache/sd-angular-core-cache.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface SdCacheOption<T = any> {\r\n type?: 'default' | 'session' | 'local';\r\n hours?: number;\r\n default?: T;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCacheServerOption<T = any> {\r\n hours?: number;\r\n default?: T;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCache<T = any> {\r\n get: () => T;\r\n set: (data: T) => void;\r\n has: () => boolean;\r\n remove: () => void;\r\n observer: Observable<T>;\r\n}\r\n\r\nexport interface SdCacheServer<T = any> {\r\n get: () => Promise<T>;\r\n set: (data: T) => Promise<void>;\r\n has: () => Promise<boolean>;\r\n remove: () => Promise<void>;\r\n observer: Observable<T>;\r\n}\r\n\r\nexport interface ICacheConfiguration {\r\n convertKey?: (key: string) => string;\r\n set?: (key: string, value: { data: any, createdOn: Date }, option?: SdCacheServerOption) => Promise<void>;\r\n get?: (key: string, option?: SdCacheServerOption) => Promise<{ data: any, createdOn: Date }>;\r\n remove?: (key: string, option?: SdCacheServerOption) => Promise<void>;\r\n}\r\n\r\nexport const CACHE_CONFIG = new InjectionToken<ICacheConfiguration>('cache.configuration');\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport hash from 'object-hash';\r\nimport { CACHE_CONFIG, ICacheConfiguration, SdCache, SdCacheOption, SdCacheServer, SdCacheServerOption } from './cache.model';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdCacheService {\r\n #cache: {\r\n [key: string]: {\r\n data: any,\r\n createdOn: Date\r\n }\r\n } = {};\r\n #subject: {\r\n [key: string]: BehaviorSubject<any>;\r\n } = {};\r\n constructor(@Inject(CACHE_CONFIG) @Optional() private configuration: ICacheConfiguration) {\r\n }\r\n\r\n create<T = any>(key: string | object, option?: SdCacheOption<T>): SdCache<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n if (!this.#subject[hashKey]) {\r\n this.#subject[hashKey] = new BehaviorSubject<any>(option?.default);\r\n }\r\n const get = this.#get<T>(hashKey, option);\r\n const set = this.#set<T>(hashKey, option);\r\n const has = this.#has(hashKey, option);\r\n const remove = this.#remove(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove,\r\n observer: this.#subject[hashKey].pipe(map(get))\r\n };\r\n }\r\n\r\n createServer<T = any>(key: string | object, option?: SdCacheOption<T>): SdCacheServer<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n if (!this.#subject[hashKey]) {\r\n this.#subject[hashKey] = new BehaviorSubject<any>(option?.default);\r\n }\r\n const get = this.#getServer<T>(hashKey, option);\r\n const set = this.#setServer<T>(hashKey, option);\r\n const has = this.#hasServer(hashKey, option);\r\n const remove = this.#removeServer(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove,\r\n observer: this.#subject[hashKey].pipe(switchMap(get))\r\n };\r\n }\r\n\r\n #get = <T = any>(key: string, option?: SdCacheOption): (() => T) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return option?.default;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#remove(key, option);\r\n remove();\r\n return option?.default;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #getServer = <T = any>(key: string, option?: SdCacheServerOption): (() => Promise<T>) => {\r\n return async () => {\r\n let cache = this.#cache[key];\r\n if (this.configuration?.get) {\r\n cache = await this.configuration.get(key, option).catch(err => {\r\n console.error(err);\r\n return undefined;\r\n });\r\n }\r\n if (!cache) {\r\n return option?.default;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#removeServer(key, option);\r\n remove();\r\n return option?.default;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #set = <T = any>(key: string, option?: SdCacheOption): ((data: T) => void) => {\r\n return (data: T) => {\r\n data = data ?? null;\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (option?.type === 'session') {\r\n try {\r\n sessionStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n this.#subject[key].next(this.#cache[key].data);\r\n };\r\n }\r\n\r\n #setServer = <T = any>(key: string, option?: SdCacheServerOption): ((data: T) => Promise<void>) => {\r\n return async (data: T) => {\r\n data = data ?? null;\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (this.configuration?.set) {\r\n try {\r\n await this.configuration.set(key, this.#cache[key], option);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n this.#subject[key].next(this.#cache[key].data);\r\n };\r\n }\r\n\r\n #has = (key: string, option?: SdCacheOption): (() => boolean) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n #hasServer = (key: string, option?: SdCacheServerOption): (() => Promise<boolean>) => {\r\n return async () => {\r\n let cache = this.#cache[key];\r\n if (this.configuration?.get) {\r\n cache = await this.configuration.get(key, option).catch(err => {\r\n console.error(err);\r\n return undefined;\r\n });\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n }\r\n\r\n #remove = (key: string, option?: SdCacheOption): (() => void) => {\r\n return () => {\r\n this.#cache[key] = undefined;\r\n if (option?.type === 'session') {\r\n sessionStorage.removeItem(key);\r\n }\r\n if (option?.type === 'local') {\r\n localStorage.removeItem(key);\r\n }\r\n this.#subject[key].next(undefined);\r\n };\r\n }\r\n\r\n #removeServer = (key: string, option?: SdCacheServerOption): (() => Promise<void>) => {\r\n return async () => {\r\n this.#cache[key] = undefined;\r\n if (this.configuration?.remove) {\r\n await this.configuration.remove(key, option).catch(err => {\r\n console.error(err);\r\n });\r\n }\r\n this.#subject[key].next(undefined);\r\n };\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-chart.js","sources":["../../../../projects/sd-core/chart/src/lib/chart.model.ts","../../../../projects/sd-core/chart/src/lib/chart.component.ts","../../../../projects/sd-core/chart/src/lib/chart.module.ts","../../../../projects/sd-core/chart/sd-angular-core-chart.ts"],"names":["uuid.v4"],"mappings":"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","sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const ChartColors = {\r\n Red: 'rgb(255, 99, 132)',\r\n Orange: 'rgb(255, 159, 64)',\r\n Yellow: 'rgb(255, 205, 86)',\r\n Green: 'rgb(75, 192, 192)',\r\n Blue: 'rgb(54, 162, 235)',\r\n Purple: 'rgb(153, 102, 255)',\r\n Grey: 'rgb(201, 203, 207)',\r\n Purple700: '#2E224C',\r\n Purple600: '#453372',\r\n Purple500: '#574191',\r\n Purple400: '#7356BF',\r\n Purple300: '#957FCE',\r\n Purple200: '#C1B4E2',\r\n Purple100: '#E3DDF2',\r\n Purple50: '#F3F1F9',\r\n Blue700: '#0F2C60',\r\n Blue600: '#174291',\r\n Blue500: '#1D53B7',\r\n Blue400: '#276EF1',\r\n Blue300: '#5A90F4',\r\n Blue200: '#9FBFF8',\r\n Blue100: '#D4E2FC',\r\n Blue50: '#EDF3FD',\r\n Green700: '#0D4020',\r\n Green600: '#156A36',\r\n Green500: '#09863D',\r\n Green400: '#21A453',\r\n Green300: '#43BF75',\r\n Green200: '#9EE2B8',\r\n Green100: '#CFF3DD',\r\n Green50: '#F0FAF3',\r\n Yellow700: '#664C1A',\r\n Yellow600: '#997328',\r\n Yellow500: '#C19132',\r\n Yellow400: '#FFC043',\r\n Yellow300: '#FFCF70',\r\n Yellow200: '#FFE3AC',\r\n Yellow100: '#FFF2D9',\r\n Yellow50: '#FFF9EF',\r\n Orange700: '#5F2C14',\r\n Orange600: '#8E421E',\r\n Orange500: '#B45326',\r\n Orange400: '#ED6E33',\r\n Orange300: '#F19063',\r\n Orange200: '#F7BFA5',\r\n Orange100: '#FBE2D6',\r\n Orange50: '#FDF3EE',\r\n Red700: '#541A14',\r\n Red600: '#7F281E',\r\n Red500: '#A13226',\r\n Red400: '#D44333',\r\n Red300: '#DE7063',\r\n Red200: '#ECACA5',\r\n Red100: '#F6D9D6',\r\n Red50: '#FBEFEE',\r\n Brown700: '#3D281E',\r\n Brown600: '#5B3C2D',\r\n Brown500: '#744C39',\r\n Brown400: '#99644C',\r\n Brown300: '#B18976',\r\n Brown200: '#D2BAB0',\r\n Brown100: '#EBE0DB',\r\n Brown50: '#F6F2F0',\r\n Gray900: '#141414',\r\n Gray800: '#1F1F1F',\r\n Gray700: '#333333',\r\n Gray600: '#545454',\r\n Gray500: '#757575',\r\n Gray400: '#AFAFAF',\r\n Gray300: '#CBCBCB',\r\n Gray200: '#E2E2E2',\r\n Gray100: '#EEEEEE',\r\n Gray50: '#F6F6F6',\r\n Platinum700: '#394145',\r\n Platinum600: '#556268',\r\n Platinum500: '#6C7C83',\r\n Platinum400: '#8EA3AD',\r\n Platinum300: '#A1BDCA',\r\n Platinum200: '#CCDFE5',\r\n Platinum100: '#EBF5F7',\r\n Platinum50: '#F4FAFB',\r\n EatsGreen400: '#21A453',\r\n FreightBlue400: '#21A453',\r\n JumpRed400: '#FF0A2D',\r\n Black: '#000000',\r\n White: '#FFFFFF',\r\n};\r\n\r\nexport type SdChartOption = PieChartOption |\r\n BarChartOption |\r\n HorizontalBarChartOption |\r\n LineChartOption |\r\n StackAreaChartOption |\r\n BarLineChartOption;\r\n\r\ninterface BaseChartOption {\r\n title?: string;\r\n height?: string;\r\n hideLegend?: boolean;\r\n tooltips?: {\r\n label: (params: { datasetLabel?: string, label?: string, value?: number }) => string;\r\n };\r\n}\r\n\r\nexport interface PieChartOption extends BaseChartOption {\r\n type: 'pie';\r\n title?: string;\r\n datasets: {\r\n label: string,\r\n value: number,\r\n backgroundColor: string\r\n }[];\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface BarChartOption extends BaseChartOption {\r\n type: 'bar';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n stack?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface HorizontalBarChartOption extends BaseChartOption {\r\n type: 'horizontalBar';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n stack?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface LineChartOption extends BaseChartOption {\r\n type: 'line';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface StackAreaChartOption extends BaseChartOption {\r\n type: 'stackArea';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface BarLineChartOption extends BaseChartOption {\r\n type: 'barline';\r\n xTitle?: string;\r\n yTitle?: string;\r\n yRightTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n type: 'bar' | 'line',\r\n yAlign?: 'left' | 'right',\r\n label: string;\r\n data: number[];\r\n borderColor?: string;\r\n backgroundColor?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string,\r\n yRightLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\n\r\nexport interface IChartConfiguration {\r\n defaultColors?: {\r\n backgroundColor?: string,\r\n borderColor?: string\r\n }[];\r\n}\r\n\r\nexport const CHART_CONFIG = new InjectionToken<IChartConfiguration>('chart.configuration');\r\n","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, Input, ChangeDetectorRef, Optional, Inject } from '@angular/core';\r\nimport * as Chart from 'chart.js';\r\nimport {\r\n SdChartOption,\r\n BarChartOption,\r\n LineChartOption,\r\n PieChartOption,\r\n BarLineChartOption,\r\n StackAreaChartOption,\r\n HorizontalBarChartOption,\r\n IChartConfiguration,\r\n CHART_CONFIG\r\n} from './chart.model';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\n\r\n@Component({\r\n selector: 'sd-chart',\r\n templateUrl: './chart.component.html',\r\n styleUrls: ['./chart.component.scss']\r\n})\r\nexport class SdChart implements OnInit, AfterViewInit {\r\n private initialized = false;\r\n private pChartOption: SdChartOption;\r\n isLoading = false;\r\n\r\n @Input() set chartOption(chartOption: SdChartOption) {\r\n this.pChartOption = chartOption;\r\n if (this.initialized) {\r\n this.renderChart();\r\n }\r\n }\r\n\r\n @ViewChild('chart') chartRef: ElementRef;\r\n @ViewChild('chartWrapper') chartWrapperRef: ElementRef;\r\n @ViewChild('chartAxis') chartAxisRef: ElementRef;\r\n @ViewChild('chartAreaWrapperExtend') chartAreaWrapperExtendRef: ElementRef;\r\n chart: Chart;\r\n visible = true;\r\n height = '300px';\r\n private ctx: CanvasRenderingContext2D;\r\n\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Optional() @Inject(CHART_CONFIG) private chartConfiguration: IChartConfiguration\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.renderChart(true);\r\n this.initialized = true;\r\n this.ref.detectChanges();\r\n }\r\n\r\n private async renderChart(firstRender?: boolean) {\r\n this.height = this.pChartOption?.height || '300px';\r\n if (!firstRender) {\r\n this.visible = false;\r\n await new Promise(resolve => setTimeout(resolve, 200));\r\n this.visible = true;\r\n }\r\n await new Promise(resolve => setTimeout(resolve, 200));\r\n if (this.chartRef?.nativeElement) {\r\n const canvas = this.chartRef.nativeElement as HTMLCanvasElement;\r\n this.ctx = canvas.getContext('2d');\r\n switch (this.pChartOption.type) {\r\n case 'pie':\r\n this.renderPieChart(this.pChartOption);\r\n break;\r\n case 'bar':\r\n this.renderBarChart(this.pChartOption);\r\n break;\r\n case 'horizontalBar':\r\n this.renderHorizontalBarChart(this.pChartOption);\r\n break;\r\n case 'line':\r\n this.renderLineChart(this.pChartOption);\r\n break;\r\n case 'stackArea':\r\n this.renderStackAreaChart(this.pChartOption);\r\n break;\r\n case 'barline':\r\n this.renderBarLineChart(this.pChartOption);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n private renderPieChart(option: PieChartOption) {\r\n const configuration: Chart.ChartConfiguration = {\r\n type: 'pie',\r\n options: {\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: option.title\r\n },\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel ? `[${datasetLabel}] ` : ''}${label} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n data: {\r\n labels: option.datasets?.map(e => e.label) || [],\r\n datasets: [{\r\n data: option.datasets?.map(e => e.value) || [],\r\n backgroundColor: option.datasets?.map((e, idx) => e.backgroundColor\r\n || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor\r\n || this.dynamicColor) || []\r\n }]\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderBarChart(option: BarChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * option.datasets.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * option.datasets.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'bar',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n data: e.data,\r\n stack: e.stack\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderHorizontalBarChart(option: HorizontalBarChartOption) {\r\n // const labelWidth = option.labelWidth ?? 50;\r\n // if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * option.datasets.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n // }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'horizontalBar',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n data: e.data,\r\n stack: e.stack\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderLineChart(option: LineChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'line',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n borderColor: e.borderColor || this.chartConfiguration?.defaultColors?.[idx]?.borderColor || dynamicColor,\r\n data: e.data,\r\n lineTension: 0,\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderStackAreaChart(option: StackAreaChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n stacked: true,\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'line',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n // fill: e.backgroundColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n borderColor: e.borderColor || this.chartConfiguration?.defaultColors?.[idx]?.borderColor || dynamicColor,\r\n data: e.data,\r\n lineTension: 0,\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderBarLineChart(option: BarLineChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n const numberOfBars = option.datasets.filter(e => e.type === 'bar').length;\r\n if (numberOfBars <= 1) {\r\n // const newwidth = Math.max(option.labels.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n } else {\r\n // const newwidth = Math.max(option.labels.length * numberOfBars * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * numberOfBars * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n }\r\n const leftId = `I${uuid.v4()}`;\r\n const rightId = `I${uuid.v4()}`;\r\n const yAxes = [{\r\n type: 'linear',\r\n display: true,\r\n position: 'left',\r\n id: leftId,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n suggestedMin: 0,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }];\r\n if (option.datasets.some(e => e.yAlign === 'right')) {\r\n yAxes.push({\r\n type: 'linear',\r\n display: true,\r\n position: 'right',\r\n id: rightId,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n suggestedMin: 0,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yRightLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yRightTitle,\r\n labelString: option.yRightTitle || ''\r\n }\r\n });\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n title: {\r\n display: true,\r\n text: option.title\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n }],\r\n yAxes\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel ? `[${datasetLabel}] ` : ''} ${label} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n type: e.type,\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n borderColor: e.borderColor || this.chartConfiguration?.defaultColors?.[idx]?.borderColor || dynamicColor,\r\n data: e.data,\r\n yAxisID: e.yAlign === 'right' ? rightId : leftId,\r\n lineTension: 0\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n loadingStart = () => {\r\n this.isLoading = true;\r\n }\r\n\r\n private get dynamicColor() {\r\n const r = Math.floor(Math.random() * 255);\r\n const g = Math.floor(Math.random() * 255);\r\n const b = Math.floor(Math.random() * 255);\r\n return 'rgb(' + r + ',' + g + ',' + b + ')';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdChart } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdChart\r\n ],\r\n exports: [\r\n SdChart\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdChartModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-chart.js","sources":["../../../../projects/sd-core/chart/src/lib/chart.model.ts","../../../../projects/sd-core/chart/src/lib/chart.component.ts","../../../../projects/sd-core/chart/src/lib/chart.module.ts","../../../../projects/sd-core/chart/sd-angular-core-chart.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const ChartColors = {\r\n Red: 'rgb(255, 99, 132)',\r\n Orange: 'rgb(255, 159, 64)',\r\n Yellow: 'rgb(255, 205, 86)',\r\n Green: 'rgb(75, 192, 192)',\r\n Blue: 'rgb(54, 162, 235)',\r\n Purple: 'rgb(153, 102, 255)',\r\n Grey: 'rgb(201, 203, 207)',\r\n Purple700: '#2E224C',\r\n Purple600: '#453372',\r\n Purple500: '#574191',\r\n Purple400: '#7356BF',\r\n Purple300: '#957FCE',\r\n Purple200: '#C1B4E2',\r\n Purple100: '#E3DDF2',\r\n Purple50: '#F3F1F9',\r\n Blue700: '#0F2C60',\r\n Blue600: '#174291',\r\n Blue500: '#1D53B7',\r\n Blue400: '#276EF1',\r\n Blue300: '#5A90F4',\r\n Blue200: '#9FBFF8',\r\n Blue100: '#D4E2FC',\r\n Blue50: '#EDF3FD',\r\n Green700: '#0D4020',\r\n Green600: '#156A36',\r\n Green500: '#09863D',\r\n Green400: '#21A453',\r\n Green300: '#43BF75',\r\n Green200: '#9EE2B8',\r\n Green100: '#CFF3DD',\r\n Green50: '#F0FAF3',\r\n Yellow700: '#664C1A',\r\n Yellow600: '#997328',\r\n Yellow500: '#C19132',\r\n Yellow400: '#FFC043',\r\n Yellow300: '#FFCF70',\r\n Yellow200: '#FFE3AC',\r\n Yellow100: '#FFF2D9',\r\n Yellow50: '#FFF9EF',\r\n Orange700: '#5F2C14',\r\n Orange600: '#8E421E',\r\n Orange500: '#B45326',\r\n Orange400: '#ED6E33',\r\n Orange300: '#F19063',\r\n Orange200: '#F7BFA5',\r\n Orange100: '#FBE2D6',\r\n Orange50: '#FDF3EE',\r\n Red700: '#541A14',\r\n Red600: '#7F281E',\r\n Red500: '#A13226',\r\n Red400: '#D44333',\r\n Red300: '#DE7063',\r\n Red200: '#ECACA5',\r\n Red100: '#F6D9D6',\r\n Red50: '#FBEFEE',\r\n Brown700: '#3D281E',\r\n Brown600: '#5B3C2D',\r\n Brown500: '#744C39',\r\n Brown400: '#99644C',\r\n Brown300: '#B18976',\r\n Brown200: '#D2BAB0',\r\n Brown100: '#EBE0DB',\r\n Brown50: '#F6F2F0',\r\n Gray900: '#141414',\r\n Gray800: '#1F1F1F',\r\n Gray700: '#333333',\r\n Gray600: '#545454',\r\n Gray500: '#757575',\r\n Gray400: '#AFAFAF',\r\n Gray300: '#CBCBCB',\r\n Gray200: '#E2E2E2',\r\n Gray100: '#EEEEEE',\r\n Gray50: '#F6F6F6',\r\n Platinum700: '#394145',\r\n Platinum600: '#556268',\r\n Platinum500: '#6C7C83',\r\n Platinum400: '#8EA3AD',\r\n Platinum300: '#A1BDCA',\r\n Platinum200: '#CCDFE5',\r\n Platinum100: '#EBF5F7',\r\n Platinum50: '#F4FAFB',\r\n EatsGreen400: '#21A453',\r\n FreightBlue400: '#21A453',\r\n JumpRed400: '#FF0A2D',\r\n Black: '#000000',\r\n White: '#FFFFFF',\r\n};\r\n\r\nexport type SdChartOption = PieChartOption |\r\n BarChartOption |\r\n HorizontalBarChartOption |\r\n LineChartOption |\r\n StackAreaChartOption |\r\n BarLineChartOption;\r\n\r\ninterface BaseChartOption {\r\n title?: string;\r\n height?: string;\r\n hideLegend?: boolean;\r\n tooltips?: {\r\n label: (params: { datasetLabel?: string, label?: string, value?: number }) => string;\r\n };\r\n}\r\n\r\nexport interface PieChartOption extends BaseChartOption {\r\n type: 'pie';\r\n title?: string;\r\n datasets: {\r\n label: string,\r\n value: number,\r\n backgroundColor: string\r\n }[];\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface BarChartOption extends BaseChartOption {\r\n type: 'bar';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n stack?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface HorizontalBarChartOption extends BaseChartOption {\r\n type: 'horizontalBar';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n stack?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface LineChartOption extends BaseChartOption {\r\n type: 'line';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface StackAreaChartOption extends BaseChartOption {\r\n type: 'stackArea';\r\n xTitle?: string;\r\n yTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n label: string;\r\n data: number[];\r\n borderColor?: string,\r\n backgroundColor?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\nexport interface BarLineChartOption extends BaseChartOption {\r\n type: 'barline';\r\n xTitle?: string;\r\n yTitle?: string;\r\n yRightTitle?: string;\r\n labels: string[];\r\n datasets: {\r\n type: 'bar' | 'line',\r\n yAlign?: 'left' | 'right',\r\n label: string;\r\n data: number[];\r\n borderColor?: string;\r\n backgroundColor?: string;\r\n }[];\r\n beginAtZero?: boolean;\r\n labelWidth?: number;\r\n ticks?: {\r\n xLabel?: (value: number | string, index: number) => string,\r\n yLabel?: (value: number | string, index: number) => string,\r\n yRightLabel?: (value: number | string, index: number) => string\r\n };\r\n hover?: 'ShowAll';\r\n}\r\n\r\n\r\nexport interface IChartConfiguration {\r\n defaultColors?: {\r\n backgroundColor?: string,\r\n borderColor?: string\r\n }[];\r\n}\r\n\r\nexport const CHART_CONFIG = new InjectionToken<IChartConfiguration>('chart.configuration');\r\n","import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, Input, ChangeDetectorRef, Optional, Inject } from '@angular/core';\r\nimport * as Chart from 'chart.js';\r\nimport {\r\n SdChartOption,\r\n BarChartOption,\r\n LineChartOption,\r\n PieChartOption,\r\n BarLineChartOption,\r\n StackAreaChartOption,\r\n HorizontalBarChartOption,\r\n IChartConfiguration,\r\n CHART_CONFIG\r\n} from './chart.model';\r\nimport $ from 'jquery';\r\nimport * as uuid from 'uuid';\r\n\r\n@Component({\r\n selector: 'sd-chart',\r\n templateUrl: './chart.component.html',\r\n styleUrls: ['./chart.component.scss']\r\n})\r\nexport class SdChart implements OnInit, AfterViewInit {\r\n private initialized = false;\r\n private pChartOption: SdChartOption;\r\n isLoading = false;\r\n\r\n @Input() set chartOption(chartOption: SdChartOption) {\r\n this.pChartOption = chartOption;\r\n if (this.initialized) {\r\n this.renderChart();\r\n }\r\n }\r\n\r\n @ViewChild('chart') chartRef: ElementRef;\r\n @ViewChild('chartWrapper') chartWrapperRef: ElementRef;\r\n @ViewChild('chartAxis') chartAxisRef: ElementRef;\r\n @ViewChild('chartAreaWrapperExtend') chartAreaWrapperExtendRef: ElementRef;\r\n chart: Chart;\r\n visible = true;\r\n height = '300px';\r\n private ctx: CanvasRenderingContext2D;\r\n\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n @Optional() @Inject(CHART_CONFIG) private chartConfiguration: IChartConfiguration\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.renderChart(true);\r\n this.initialized = true;\r\n this.ref.detectChanges();\r\n }\r\n\r\n private async renderChart(firstRender?: boolean) {\r\n this.height = this.pChartOption?.height || '300px';\r\n if (!firstRender) {\r\n this.visible = false;\r\n await new Promise(resolve => setTimeout(resolve, 200));\r\n this.visible = true;\r\n }\r\n await new Promise(resolve => setTimeout(resolve, 200));\r\n if (this.chartRef?.nativeElement) {\r\n const canvas = this.chartRef.nativeElement as HTMLCanvasElement;\r\n this.ctx = canvas.getContext('2d');\r\n switch (this.pChartOption.type) {\r\n case 'pie':\r\n this.renderPieChart(this.pChartOption);\r\n break;\r\n case 'bar':\r\n this.renderBarChart(this.pChartOption);\r\n break;\r\n case 'horizontalBar':\r\n this.renderHorizontalBarChart(this.pChartOption);\r\n break;\r\n case 'line':\r\n this.renderLineChart(this.pChartOption);\r\n break;\r\n case 'stackArea':\r\n this.renderStackAreaChart(this.pChartOption);\r\n break;\r\n case 'barline':\r\n this.renderBarLineChart(this.pChartOption);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n private renderPieChart(option: PieChartOption) {\r\n const configuration: Chart.ChartConfiguration = {\r\n type: 'pie',\r\n options: {\r\n responsive: true,\r\n title: {\r\n display: true,\r\n text: option.title\r\n },\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel ? `[${datasetLabel}] ` : ''}${label} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n data: {\r\n labels: option.datasets?.map(e => e.label) || [],\r\n datasets: [{\r\n data: option.datasets?.map(e => e.value) || [],\r\n backgroundColor: option.datasets?.map((e, idx) => e.backgroundColor\r\n || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor\r\n || this.dynamicColor) || []\r\n }]\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderBarChart(option: BarChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * option.datasets.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * option.datasets.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'bar',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n data: e.data,\r\n stack: e.stack\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderHorizontalBarChart(option: HorizontalBarChartOption) {\r\n // const labelWidth = option.labelWidth ?? 50;\r\n // if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * option.datasets.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n // }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n }\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'horizontalBar',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n data: e.data,\r\n stack: e.stack\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderLineChart(option: LineChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'line',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n borderColor: e.borderColor || this.chartConfiguration?.defaultColors?.[idx]?.borderColor || dynamicColor,\r\n data: e.data,\r\n lineTension: 0,\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderStackAreaChart(option: StackAreaChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n // const newwidth = Math.max(option.labels.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n }],\r\n yAxes: [{\r\n display: true,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n stacked: true,\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n type: 'line',\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n label: e.label,\r\n // fill: e.backgroundColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n borderColor: e.borderColor || this.chartConfiguration?.defaultColors?.[idx]?.borderColor || dynamicColor,\r\n data: e.data,\r\n lineTension: 0,\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n private renderBarLineChart(option: BarLineChartOption) {\r\n const labelWidth = option.labelWidth ?? 50;\r\n if (option.datasets.length) {\r\n const numberOfBars = option.datasets.filter(e => e.type === 'bar').length;\r\n if (numberOfBars <= 1) {\r\n // const newwidth = Math.max(option.labels.length * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n } else {\r\n // const newwidth = Math.max(option.labels.length * numberOfBars * labelWidth, $(this.chartWrapperRef.nativeElement).width());\r\n // $(this.chartAreaWrapperExtendRef.nativeElement).width(newwidth);\r\n const newwidth = option.labels.length * numberOfBars * labelWidth;\r\n $(this.chartAreaWrapperExtendRef.nativeElement).css('width', `max(100%,${newwidth}px)`);\r\n }\r\n }\r\n const leftId = `I${uuid.v4()}`;\r\n const rightId = `I${uuid.v4()}`;\r\n const yAxes = [{\r\n type: 'linear',\r\n display: true,\r\n position: 'left',\r\n id: leftId,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n suggestedMin: 0,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yTitle,\r\n labelString: option.yTitle || ''\r\n }\r\n }];\r\n if (option.datasets.some(e => e.yAlign === 'right')) {\r\n yAxes.push({\r\n type: 'linear',\r\n display: true,\r\n position: 'right',\r\n id: rightId,\r\n ticks: {\r\n beginAtZero: option.beginAtZero ?? true,\r\n suggestedMin: 0,\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.yRightLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n scaleLabel: {\r\n display: !!option.yRightTitle,\r\n labelString: option.yRightTitle || ''\r\n }\r\n });\r\n }\r\n const configuration: Chart.ChartConfiguration = {\r\n options: {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: !option.hideLegend\r\n },\r\n title: {\r\n display: true,\r\n text: option.title\r\n },\r\n scales: {\r\n xAxes: [{\r\n display: true,\r\n scaleLabel: {\r\n display: !!option.xTitle,\r\n labelString: option.xTitle || ''\r\n },\r\n ticks: {\r\n callback: (value: number | string, index: number) => {\r\n return option.ticks?.xLabel(value, index) || (Number.isNumber(value) ? Number.toVNCurrency(value) : value);\r\n }\r\n },\r\n }],\r\n yAxes\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem, data) => {\r\n const datasetLabel = data?.datasets[tooltipItem.datasetIndex]?.label;\r\n const label = data?.labels[tooltipItem.index] as string;\r\n const value = data?.datasets[tooltipItem.datasetIndex]?.data[tooltipItem.index] as number;\r\n return option.tooltips?.label({\r\n datasetLabel,\r\n label,\r\n value\r\n }) || `${datasetLabel ? `[${datasetLabel}] ` : ''} ${label} : ${Number.toVNCurrency(value)}`;\r\n }\r\n }\r\n }\r\n },\r\n data: {\r\n labels: option.labels,\r\n datasets: option.datasets.map((e, idx) => {\r\n const dynamicColor = this.dynamicColor;\r\n const result: Chart.ChartDataSets = {\r\n type: e.type,\r\n label: e.label,\r\n fill: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n backgroundColor: e.backgroundColor || this.chartConfiguration?.defaultColors?.[idx]?.backgroundColor || dynamicColor,\r\n borderColor: e.borderColor || this.chartConfiguration?.defaultColors?.[idx]?.borderColor || dynamicColor,\r\n data: e.data,\r\n yAxisID: e.yAlign === 'right' ? rightId : leftId,\r\n lineTension: 0\r\n };\r\n return result;\r\n })\r\n }\r\n };\r\n\r\n if (option.hover === 'ShowAll') {\r\n configuration.options.tooltips = {\r\n ...configuration.options.tooltips,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n configuration.options.hover = {\r\n ...configuration.options.hover,\r\n mode: 'index',\r\n intersect: false\r\n };\r\n }\r\n\r\n this.chart = new Chart(this.ctx, configuration);\r\n this.isLoading = false;\r\n }\r\n\r\n loadingStart = () => {\r\n this.isLoading = true;\r\n }\r\n\r\n private get dynamicColor() {\r\n const r = Math.floor(Math.random() * 255);\r\n const g = Math.floor(Math.random() * 255);\r\n const b = Math.floor(Math.random() * 255);\r\n return 'rgb(' + r + ',' + g + ',' + b + ')';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdChart } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SdChart\r\n ],\r\n exports: [\r\n SdChart\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdChartModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|