@sd-angular/core 1.2.98 → 1.3.0
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 +12 -1
- package/api/sd-angular-core-api.d.ts +2 -0
- package/api/sd-angular-core-api.d.ts.__ivy_ngcc_bak +4 -0
- package/api/sd-angular-core-api.d.ts.map +1 -0
- package/autocomplete/package.json +12 -1
- package/autocomplete/sd-angular-core-autocomplete.d.ts +2 -0
- package/autocomplete/sd-angular-core-autocomplete.d.ts.__ivy_ngcc_bak +4 -0
- package/autocomplete/sd-angular-core-autocomplete.d.ts.map +1 -0
- package/badge/package.json +12 -1
- package/badge/sd-angular-core-badge.d.ts +2 -0
- package/badge/sd-angular-core-badge.d.ts.__ivy_ngcc_bak +4 -0
- package/badge/sd-angular-core-badge.d.ts.map +1 -0
- package/bundles/sd-angular-core-api.umd.js +2 -1
- package/bundles/sd-angular-core-api.umd.js.__ivy_ngcc_bak +876 -0
- package/bundles/sd-angular-core-api.umd.js.map +1 -1
- package/bundles/sd-angular-core-api.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-autocomplete.umd.js +2 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.__ivy_ngcc_bak +791 -0
- package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-badge.umd.js +2 -1
- package/bundles/sd-angular-core-badge.umd.js.__ivy_ngcc_bak +89 -0
- package/bundles/sd-angular-core-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-badge.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-button.umd.js +2 -1
- package/bundles/sd-angular-core-button.umd.js.__ivy_ngcc_bak +447 -0
- package/bundles/sd-angular-core-button.umd.js.map +1 -1
- package/bundles/sd-angular-core-button.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-cache.umd.js +2 -1
- package/bundles/sd-angular-core-cache.umd.js.__ivy_ngcc_bak +623 -0
- package/bundles/sd-angular-core-cache.umd.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-chart.umd.js +2 -1
- package/bundles/sd-angular-core-chart.umd.js.__ivy_ngcc_bak +1106 -0
- package/bundles/sd-angular-core-chart.umd.js.map +1 -1
- package/bundles/sd-angular-core-chart.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-checkbox.umd.js +2 -1
- package/bundles/sd-angular-core-checkbox.umd.js.__ivy_ngcc_bak +461 -0
- package/bundles/sd-angular-core-checkbox.umd.js.map +1 -1
- package/bundles/sd-angular-core-checkbox.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-chip.umd.js +2 -1
- package/bundles/sd-angular-core-chip.umd.js.__ivy_ngcc_bak +1051 -0
- package/bundles/sd-angular-core-chip.umd.js.map +1 -1
- package/bundles/sd-angular-core-chip.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-comment.umd.js +2 -1
- package/bundles/sd-angular-core-comment.umd.js.__ivy_ngcc_bak +456 -0
- package/bundles/sd-angular-core-comment.umd.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-common.umd.js +2 -1
- package/bundles/sd-angular-core-common.umd.js.__ivy_ngcc_bak +962 -0
- package/bundles/sd-angular-core-common.umd.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-confirm.umd.js +2 -1
- package/bundles/sd-angular-core-confirm.umd.js.__ivy_ngcc_bak +159 -0
- package/bundles/sd-angular-core-confirm.umd.js.map +1 -1
- package/bundles/sd-angular-core-confirm.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-date-month.umd.js +2 -1
- package/bundles/sd-angular-core-date-month.umd.js.__ivy_ngcc_bak +650 -0
- package/bundles/sd-angular-core-date-month.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-month.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-date-range.umd.js +2 -1
- package/bundles/sd-angular-core-date-range.umd.js.__ivy_ngcc_bak +660 -0
- package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-range.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-date-time.umd.js +2 -1
- package/bundles/sd-angular-core-date-time.umd.js.__ivy_ngcc_bak +734 -0
- package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-db.umd.js +3 -2
- package/bundles/sd-angular-core-db.umd.js.__ivy_ngcc_bak +475 -0
- package/bundles/sd-angular-core-db.umd.js.map +1 -1
- package/bundles/sd-angular-core-db.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-db.umd.min.js +1 -1
- package/bundles/sd-angular-core-db.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js +2 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js.__ivy_ngcc_bak +96 -0
- package/bundles/sd-angular-core-dynamic-report.umd.js.map +1 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-editor.umd.js +2 -1
- package/bundles/sd-angular-core-editor.umd.js.__ivy_ngcc_bak +943 -0
- package/bundles/sd-angular-core-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-editor.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-excel.umd.js +2 -1
- package/bundles/sd-angular-core-excel.umd.js.__ivy_ngcc_bak +500 -0
- package/bundles/sd-angular-core-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-excel.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-export.umd.js +2 -1
- package/bundles/sd-angular-core-export.umd.js.__ivy_ngcc_bak +712 -0
- package/bundles/sd-angular-core-export.umd.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-filter.umd.js +2 -1
- package/bundles/sd-angular-core-filter.umd.js.__ivy_ngcc_bak +703 -0
- package/bundles/sd-angular-core-filter.umd.js.map +1 -1
- package/bundles/sd-angular-core-filter.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-form.umd.js +2 -1
- package/bundles/sd-angular-core-form.umd.js.__ivy_ngcc_bak +88 -0
- package/bundles/sd-angular-core-form.umd.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-grid-material.umd.js +2 -1
- package/bundles/sd-angular-core-grid-material.umd.js.__ivy_ngcc_bak +5029 -0
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-grid.umd.js +2 -1
- package/bundles/sd-angular-core-grid.umd.js.__ivy_ngcc_bak +5125 -0
- package/bundles/sd-angular-core-grid.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-group.umd.js +2 -1
- package/bundles/sd-angular-core-group.umd.js.__ivy_ngcc_bak +93 -0
- package/bundles/sd-angular-core-group.umd.js.map +1 -1
- package/bundles/sd-angular-core-group.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-header-title.umd.js +2 -1
- package/bundles/sd-angular-core-header-title.umd.js.__ivy_ngcc_bak +56 -0
- package/bundles/sd-angular-core-header-title.umd.js.map +1 -1
- package/bundles/sd-angular-core-header-title.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-image-preview.umd.js +2 -1
- package/bundles/sd-angular-core-image-preview.umd.js.__ivy_ngcc_bak +121 -0
- package/bundles/sd-angular-core-image-preview.umd.js.map +1 -1
- package/bundles/sd-angular-core-image-preview.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-currency.umd.js +2 -1
- package/bundles/sd-angular-core-input-currency.umd.js.__ivy_ngcc_bak +737 -0
- package/bundles/sd-angular-core-input-currency.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-currency.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-dropdown.umd.js +2 -1
- package/bundles/sd-angular-core-input-dropdown.umd.js.__ivy_ngcc_bak +634 -0
- package/bundles/sd-angular-core-input-dropdown.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-dropdown.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-number.umd.js +2 -1
- package/bundles/sd-angular-core-input-number.umd.js.__ivy_ngcc_bak +792 -0
- package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-upload-file.umd.js +2 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js.__ivy_ngcc_bak +648 -0
- package/bundles/sd-angular-core-input-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input.umd.js +2 -1
- package/bundles/sd-angular-core-input.umd.js.__ivy_ngcc_bak +798 -0
- package/bundles/sd-angular-core-input.umd.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-json-editor.umd.js +2 -1
- package/bundles/sd-angular-core-json-editor.umd.js.__ivy_ngcc_bak +523 -0
- package/bundles/sd-angular-core-json-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-json-editor.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-konva.umd.js +2 -1
- package/bundles/sd-angular-core-konva.umd.js.__ivy_ngcc_bak +605 -0
- package/bundles/sd-angular-core-konva.umd.js.map +1 -1
- package/bundles/sd-angular-core-konva.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-label.umd.js +2 -1
- package/bundles/sd-angular-core-label.umd.js.__ivy_ngcc_bak +60 -0
- package/bundles/sd-angular-core-label.umd.js.map +1 -1
- package/bundles/sd-angular-core-label.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-loading.umd.js +2 -1
- package/bundles/sd-angular-core-loading.umd.js.__ivy_ngcc_bak +413 -0
- package/bundles/sd-angular-core-loading.umd.js.map +1 -1
- package/bundles/sd-angular-core-loading.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-modal-resizable.umd.js +2 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js.__ivy_ngcc_bak +487 -0
- package/bundles/sd-angular-core-modal-resizable.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-modal.umd.js +2 -1
- package/bundles/sd-angular-core-modal.umd.js.__ivy_ngcc_bak +307 -0
- package/bundles/sd-angular-core-modal.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-notify.umd.js +2 -1
- package/bundles/sd-angular-core-notify.umd.js.__ivy_ngcc_bak +719 -0
- package/bundles/sd-angular-core-notify.umd.js.map +1 -1
- package/bundles/sd-angular-core-notify.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-popover.umd.js +2 -1
- package/bundles/sd-angular-core-popover.umd.js.__ivy_ngcc_bak +752 -0
- package/bundles/sd-angular-core-popover.umd.js.map +1 -1
- package/bundles/sd-angular-core-popover.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-quick-action.umd.js +2 -1
- package/bundles/sd-angular-core-quick-action.umd.js.__ivy_ngcc_bak +66 -0
- package/bundles/sd-angular-core-quick-action.umd.js.map +1 -1
- package/bundles/sd-angular-core-quick-action.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-radio.umd.js +2 -1
- package/bundles/sd-angular-core-radio.umd.js.__ivy_ngcc_bak +535 -0
- package/bundles/sd-angular-core-radio.umd.js.map +1 -1
- package/bundles/sd-angular-core-radio.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-select-badge.umd.js +2 -1
- package/bundles/sd-angular-core-select-badge.umd.js.__ivy_ngcc_bak +486 -0
- package/bundles/sd-angular-core-select-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-badge.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-select-editor.umd.js +2 -1
- package/bundles/sd-angular-core-select-editor.umd.js.__ivy_ngcc_bak +431 -0
- package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-select.umd.js +2 -1
- package/bundles/sd-angular-core-select.umd.js.__ivy_ngcc_bak +921 -0
- package/bundles/sd-angular-core-select.umd.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-service.umd.js +2 -1
- package/bundles/sd-angular-core-service.umd.js.__ivy_ngcc_bak +42 -0
- package/bundles/sd-angular-core-service.umd.js.map +1 -1
- package/bundles/sd-angular-core-service.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-setting.umd.js +2 -1
- package/bundles/sd-angular-core-setting.umd.js.__ivy_ngcc_bak +664 -0
- package/bundles/sd-angular-core-setting.umd.js.map +1 -1
- package/bundles/sd-angular-core-setting.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-side-drawer.umd.js +2 -1
- package/bundles/sd-angular-core-side-drawer.umd.js.__ivy_ngcc_bak +438 -0
- package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-switch.umd.js +2 -1
- package/bundles/sd-angular-core-switch.umd.js.__ivy_ngcc_bak +454 -0
- package/bundles/sd-angular-core-switch.umd.js.map +1 -1
- package/bundles/sd-angular-core-switch.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-tab-router.umd.js +2 -1
- package/bundles/sd-angular-core-tab-router.umd.js.__ivy_ngcc_bak +941 -0
- package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-textarea.umd.js +2 -1
- package/bundles/sd-angular-core-textarea.umd.js.__ivy_ngcc_bak +642 -0
- package/bundles/sd-angular-core-textarea.umd.js.map +1 -1
- package/bundles/sd-angular-core-textarea.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-time.umd.js +2 -1
- package/bundles/sd-angular-core-time.umd.js.__ivy_ngcc_bak +497 -0
- package/bundles/sd-angular-core-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-time.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-timeline.umd.js +2 -1
- package/bundles/sd-angular-core-timeline.umd.js.__ivy_ngcc_bak +102 -0
- package/bundles/sd-angular-core-timeline.umd.js.map +1 -1
- package/bundles/sd-angular-core-timeline.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-translate.umd.js +2 -1
- package/bundles/sd-angular-core-translate.umd.js.__ivy_ngcc_bak +119 -0
- package/bundles/sd-angular-core-translate.umd.js.map +1 -1
- package/bundles/sd-angular-core-translate.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-upload-excel.umd.js +2 -1
- package/bundles/sd-angular-core-upload-excel.umd.js.__ivy_ngcc_bak +1114 -0
- package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-upload-file.umd.js +2 -1
- package/bundles/sd-angular-core-upload-file.umd.js.__ivy_ngcc_bak +880 -0
- package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-utility.umd.js +33 -1
- package/bundles/sd-angular-core-utility.umd.js.__ivy_ngcc_bak +739 -0
- package/bundles/sd-angular-core-utility.umd.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-utility.umd.min.js +1 -1
- package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-view.umd.js +2 -1
- package/bundles/sd-angular-core-view.umd.js.__ivy_ngcc_bak +32 -0
- package/bundles/sd-angular-core-view.umd.js.map +1 -1
- package/bundles/sd-angular-core-view.umd.js.map.__ivy_ngcc_bak +1 -0
- package/button/package.json +12 -1
- package/button/sd-angular-core-button.d.ts +2 -0
- package/button/sd-angular-core-button.d.ts.__ivy_ngcc_bak +4 -0
- package/button/sd-angular-core-button.d.ts.map +1 -0
- package/cache/package.json +12 -1
- package/cache/sd-angular-core-cache.d.ts +2 -0
- package/cache/sd-angular-core-cache.d.ts.__ivy_ngcc_bak +4 -0
- package/cache/sd-angular-core-cache.d.ts.map +1 -0
- package/chart/package.json +12 -1
- package/chart/sd-angular-core-chart.d.ts +2 -0
- package/chart/sd-angular-core-chart.d.ts.__ivy_ngcc_bak +4 -0
- package/chart/sd-angular-core-chart.d.ts.map +1 -0
- package/checkbox/package.json +12 -1
- package/checkbox/sd-angular-core-checkbox.d.ts +2 -0
- package/checkbox/sd-angular-core-checkbox.d.ts.__ivy_ngcc_bak +5 -0
- package/checkbox/sd-angular-core-checkbox.d.ts.map +1 -0
- package/chip/package.json +12 -1
- package/chip/sd-angular-core-chip.d.ts +2 -0
- package/chip/sd-angular-core-chip.d.ts.__ivy_ngcc_bak +5 -0
- package/chip/sd-angular-core-chip.d.ts.map +1 -0
- package/comment/package.json +12 -1
- package/comment/sd-angular-core-comment.d.ts +2 -0
- package/comment/sd-angular-core-comment.d.ts.__ivy_ngcc_bak +4 -0
- package/comment/sd-angular-core-comment.d.ts.map +1 -0
- package/common/package.json +12 -1
- package/common/sd-angular-core-common.d.ts +2 -0
- package/common/sd-angular-core-common.d.ts.__ivy_ngcc_bak +4 -0
- package/common/sd-angular-core-common.d.ts.map +1 -0
- package/confirm/package.json +12 -1
- package/confirm/sd-angular-core-confirm.d.ts +2 -0
- package/confirm/sd-angular-core-confirm.d.ts.__ivy_ngcc_bak +4 -0
- package/confirm/sd-angular-core-confirm.d.ts.map +1 -0
- package/date-month/package.json +12 -1
- package/date-month/sd-angular-core-date-month.d.ts +2 -0
- package/date-month/sd-angular-core-date-month.d.ts.__ivy_ngcc_bak +5 -0
- package/date-month/sd-angular-core-date-month.d.ts.map +1 -0
- package/date-range/package.json +12 -1
- package/date-range/sd-angular-core-date-range.d.ts +2 -0
- package/date-range/sd-angular-core-date-range.d.ts.__ivy_ngcc_bak +4 -0
- package/date-range/sd-angular-core-date-range.d.ts.map +1 -0
- package/date-time/package.json +12 -1
- package/date-time/sd-angular-core-date-time.d.ts +2 -0
- package/date-time/sd-angular-core-date-time.d.ts.__ivy_ngcc_bak +4 -0
- package/date-time/sd-angular-core-date-time.d.ts.map +1 -0
- package/db/package.json +12 -1
- package/db/sd-angular-core-db.d.ts +2 -0
- package/db/sd-angular-core-db.d.ts.__ivy_ngcc_bak +4 -0
- package/db/sd-angular-core-db.d.ts.map +1 -0
- package/db/sd-angular-core-db.metadata.json +1 -1
- package/db/src/lib/db.model.d.ts +10 -2
- package/db/src/lib/db.service.d.ts +6 -9
- package/dynamic-report/package.json +12 -1
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts +2 -0
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts.__ivy_ngcc_bak +4 -0
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts.map +1 -0
- package/editor/package.json +12 -1
- package/editor/sd-angular-core-editor.d.ts +2 -0
- package/editor/sd-angular-core-editor.d.ts.__ivy_ngcc_bak +4 -0
- package/editor/sd-angular-core-editor.d.ts.map +1 -0
- package/esm2015/api/sd-angular-core-api.js +1 -1
- package/esm2015/api/sd-angular-core-api.js.__ivy_ngcc_bak +5 -0
- package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
- package/esm2015/autocomplete/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +5 -0
- package/esm2015/badge/sd-angular-core-badge.js +1 -1
- package/esm2015/badge/sd-angular-core-badge.js.__ivy_ngcc_bak +5 -0
- package/esm2015/button/sd-angular-core-button.js +1 -1
- package/esm2015/button/sd-angular-core-button.js.__ivy_ngcc_bak +5 -0
- package/esm2015/cache/sd-angular-core-cache.js +1 -1
- package/esm2015/cache/sd-angular-core-cache.js.__ivy_ngcc_bak +5 -0
- package/esm2015/chart/sd-angular-core-chart.js +1 -1
- package/esm2015/chart/sd-angular-core-chart.js.__ivy_ngcc_bak +5 -0
- package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
- package/esm2015/checkbox/sd-angular-core-checkbox.js.__ivy_ngcc_bak +6 -0
- package/esm2015/chip/sd-angular-core-chip.js +1 -1
- package/esm2015/chip/sd-angular-core-chip.js.__ivy_ngcc_bak +6 -0
- package/esm2015/comment/sd-angular-core-comment.js +1 -1
- package/esm2015/comment/sd-angular-core-comment.js.__ivy_ngcc_bak +5 -0
- package/esm2015/common/sd-angular-core-common.js +1 -1
- package/esm2015/common/sd-angular-core-common.js.__ivy_ngcc_bak +5 -0
- package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
- package/esm2015/confirm/sd-angular-core-confirm.js.__ivy_ngcc_bak +5 -0
- package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
- package/esm2015/date-month/sd-angular-core-date-month.js.__ivy_ngcc_bak +6 -0
- package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
- package/esm2015/date-range/sd-angular-core-date-range.js.__ivy_ngcc_bak +5 -0
- package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
- package/esm2015/date-time/sd-angular-core-date-time.js.__ivy_ngcc_bak +5 -0
- package/esm2015/db/sd-angular-core-db.js +1 -1
- package/esm2015/db/sd-angular-core-db.js.__ivy_ngcc_bak +5 -0
- package/esm2015/db/src/lib/db.model.js +1 -1
- package/esm2015/db/src/lib/db.service.js +2 -2
- package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
- package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +5 -0
- package/esm2015/editor/sd-angular-core-editor.js +1 -1
- package/esm2015/editor/sd-angular-core-editor.js.__ivy_ngcc_bak +5 -0
- package/esm2015/excel/sd-angular-core-excel.js +1 -1
- package/esm2015/excel/sd-angular-core-excel.js.__ivy_ngcc_bak +5 -0
- package/esm2015/export/sd-angular-core-export.js +1 -1
- package/esm2015/export/sd-angular-core-export.js.__ivy_ngcc_bak +5 -0
- package/esm2015/filter/sd-angular-core-filter.js +1 -1
- package/esm2015/filter/sd-angular-core-filter.js.__ivy_ngcc_bak +8 -0
- package/esm2015/form/sd-angular-core-form.js +1 -1
- package/esm2015/form/sd-angular-core-form.js.__ivy_ngcc_bak +5 -0
- package/esm2015/grid/sd-angular-core-grid.js +1 -1
- package/esm2015/grid/sd-angular-core-grid.js.__ivy_ngcc_bak +5 -0
- package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
- package/esm2015/grid-material/sd-angular-core-grid-material.js.__ivy_ngcc_bak +47 -0
- package/esm2015/group/sd-angular-core-group.js +1 -1
- package/esm2015/group/sd-angular-core-group.js.__ivy_ngcc_bak +6 -0
- package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
- package/esm2015/header-title/sd-angular-core-header-title.js.__ivy_ngcc_bak +6 -0
- package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
- package/esm2015/image-preview/sd-angular-core-image-preview.js.__ivy_ngcc_bak +7 -0
- package/esm2015/input/sd-angular-core-input.js +1 -1
- package/esm2015/input/sd-angular-core-input.js.__ivy_ngcc_bak +6 -0
- package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
- package/esm2015/input-currency/sd-angular-core-input-currency.js.__ivy_ngcc_bak +5 -0
- package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
- package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +5 -0
- package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
- package/esm2015/input-number/sd-angular-core-input-number.js.__ivy_ngcc_bak +5 -0
- package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
- package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +5 -0
- package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
- package/esm2015/json-editor/sd-angular-core-json-editor.js.__ivy_ngcc_bak +5 -0
- package/esm2015/konva/sd-angular-core-konva.js +1 -1
- package/esm2015/konva/sd-angular-core-konva.js.__ivy_ngcc_bak +5 -0
- package/esm2015/label/sd-angular-core-label.js +1 -1
- package/esm2015/label/sd-angular-core-label.js.__ivy_ngcc_bak +6 -0
- package/esm2015/loading/sd-angular-core-loading.js +1 -1
- package/esm2015/loading/sd-angular-core-loading.js.__ivy_ngcc_bak +5 -0
- package/esm2015/modal/sd-angular-core-modal.js +1 -1
- package/esm2015/modal/sd-angular-core-modal.js.__ivy_ngcc_bak +5 -0
- package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
- package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +5 -0
- package/esm2015/notify/sd-angular-core-notify.js +1 -1
- package/esm2015/notify/sd-angular-core-notify.js.__ivy_ngcc_bak +5 -0
- package/esm2015/popover/sd-angular-core-popover.js +1 -1
- package/esm2015/popover/sd-angular-core-popover.js.__ivy_ngcc_bak +5 -0
- package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
- package/esm2015/quick-action/sd-angular-core-quick-action.js.__ivy_ngcc_bak +5 -0
- package/esm2015/radio/sd-angular-core-radio.js +1 -1
- package/esm2015/radio/sd-angular-core-radio.js.__ivy_ngcc_bak +5 -0
- package/esm2015/select/sd-angular-core-select.js +1 -1
- package/esm2015/select/sd-angular-core-select.js.__ivy_ngcc_bak +5 -0
- package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
- package/esm2015/select-badge/sd-angular-core-select-badge.js.__ivy_ngcc_bak +5 -0
- package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
- package/esm2015/select-editor/sd-angular-core-select-editor.js.__ivy_ngcc_bak +5 -0
- package/esm2015/service/sd-angular-core-service.js +1 -1
- package/esm2015/service/sd-angular-core-service.js.__ivy_ngcc_bak +5 -0
- package/esm2015/setting/sd-angular-core-setting.js +1 -1
- package/esm2015/setting/sd-angular-core-setting.js.__ivy_ngcc_bak +5 -0
- package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
- package/esm2015/side-drawer/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +5 -0
- package/esm2015/switch/sd-angular-core-switch.js +1 -1
- package/esm2015/switch/sd-angular-core-switch.js.__ivy_ngcc_bak +5 -0
- package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
- package/esm2015/tab-router/sd-angular-core-tab-router.js.__ivy_ngcc_bak +7 -0
- package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
- package/esm2015/textarea/sd-angular-core-textarea.js.__ivy_ngcc_bak +5 -0
- package/esm2015/time/sd-angular-core-time.js +1 -1
- package/esm2015/time/sd-angular-core-time.js.__ivy_ngcc_bak +6 -0
- package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
- package/esm2015/timeline/sd-angular-core-timeline.js.__ivy_ngcc_bak +6 -0
- package/esm2015/translate/sd-angular-core-translate.js +1 -1
- package/esm2015/translate/sd-angular-core-translate.js.__ivy_ngcc_bak +5 -0
- package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
- package/esm2015/upload-excel/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +7 -0
- package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
- package/esm2015/upload-file/sd-angular-core-upload-file.js.__ivy_ngcc_bak +5 -0
- package/esm2015/utility/sd-angular-core-utility.js +1 -1
- package/esm2015/utility/sd-angular-core-utility.js.__ivy_ngcc_bak +5 -0
- package/esm2015/utility/src/lib/utility.service.js +22 -2
- package/esm2015/view/sd-angular-core-view.js +1 -1
- package/esm2015/view/sd-angular-core-view.js.__ivy_ngcc_bak +5 -0
- package/excel/package.json +12 -1
- package/excel/sd-angular-core-excel.d.ts +2 -0
- package/excel/sd-angular-core-excel.d.ts.__ivy_ngcc_bak +4 -0
- package/excel/sd-angular-core-excel.d.ts.map +1 -0
- package/export/package.json +12 -1
- package/export/sd-angular-core-export.d.ts +2 -0
- package/export/sd-angular-core-export.d.ts.__ivy_ngcc_bak +4 -0
- package/export/sd-angular-core-export.d.ts.map +1 -0
- package/fesm2015/sd-angular-core-api.js +2 -1
- package/fesm2015/sd-angular-core-api.js.__ivy_ngcc_bak +496 -0
- package/fesm2015/sd-angular-core-api.js.map +1 -1
- package/fesm2015/sd-angular-core-api.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-autocomplete.js +2 -1
- package/fesm2015/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +427 -0
- package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
- package/fesm2015/sd-angular-core-autocomplete.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-badge.js +2 -1
- package/fesm2015/sd-angular-core-badge.js.__ivy_ngcc_bak +70 -0
- package/fesm2015/sd-angular-core-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-badge.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-button.js +2 -1
- package/fesm2015/sd-angular-core-button.js.__ivy_ngcc_bak +118 -0
- package/fesm2015/sd-angular-core-button.js.map +1 -1
- package/fesm2015/sd-angular-core-button.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-cache.js +2 -1
- package/fesm2015/sd-angular-core-cache.js.__ivy_ngcc_bak +259 -0
- package/fesm2015/sd-angular-core-cache.js.map +1 -1
- package/fesm2015/sd-angular-core-cache.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-chart.js +2 -1
- package/fesm2015/sd-angular-core-chart.js.__ivy_ngcc_bak +727 -0
- package/fesm2015/sd-angular-core-chart.js.map +1 -1
- package/fesm2015/sd-angular-core-chart.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-checkbox.js +2 -1
- package/fesm2015/sd-angular-core-checkbox.js.__ivy_ngcc_bak +120 -0
- package/fesm2015/sd-angular-core-checkbox.js.map +1 -1
- package/fesm2015/sd-angular-core-checkbox.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-chip.js +2 -1
- package/fesm2015/sd-angular-core-chip.js.__ivy_ngcc_bak +632 -0
- package/fesm2015/sd-angular-core-chip.js.map +1 -1
- package/fesm2015/sd-angular-core-chip.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-comment.js +2 -1
- package/fesm2015/sd-angular-core-comment.js.__ivy_ngcc_bak +118 -0
- package/fesm2015/sd-angular-core-comment.js.map +1 -1
- package/fesm2015/sd-angular-core-comment.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-common.js +2 -1
- package/fesm2015/sd-angular-core-common.js.__ivy_ngcc_bak +562 -0
- package/fesm2015/sd-angular-core-common.js.map +1 -1
- package/fesm2015/sd-angular-core-common.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-confirm.js +2 -1
- package/fesm2015/sd-angular-core-confirm.js.__ivy_ngcc_bak +154 -0
- package/fesm2015/sd-angular-core-confirm.js.map +1 -1
- package/fesm2015/sd-angular-core-confirm.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-date-month.js +2 -1
- package/fesm2015/sd-angular-core-date-month.js.__ivy_ngcc_bak +289 -0
- package/fesm2015/sd-angular-core-date-month.js.map +1 -1
- package/fesm2015/sd-angular-core-date-month.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-date-range.js +2 -1
- package/fesm2015/sd-angular-core-date-range.js.__ivy_ngcc_bak +297 -0
- package/fesm2015/sd-angular-core-date-range.js.map +1 -1
- package/fesm2015/sd-angular-core-date-range.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-date-time.js +2 -1
- package/fesm2015/sd-angular-core-date-time.js.__ivy_ngcc_bak +367 -0
- package/fesm2015/sd-angular-core-date-time.js.map +1 -1
- package/fesm2015/sd-angular-core-date-time.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-db.js +3 -2
- package/fesm2015/sd-angular-core-db.js.__ivy_ngcc_bak +102 -0
- package/fesm2015/sd-angular-core-db.js.map +1 -1
- package/fesm2015/sd-angular-core-db.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-dynamic-report.js +2 -1
- package/fesm2015/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +82 -0
- package/fesm2015/sd-angular-core-dynamic-report.js.map +1 -1
- package/fesm2015/sd-angular-core-dynamic-report.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-editor.js +2 -1
- package/fesm2015/sd-angular-core-editor.js.__ivy_ngcc_bak +576 -0
- package/fesm2015/sd-angular-core-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-editor.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-excel.js +2 -1
- package/fesm2015/sd-angular-core-excel.js.__ivy_ngcc_bak +100 -0
- package/fesm2015/sd-angular-core-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-excel.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-export.js +2 -1
- package/fesm2015/sd-angular-core-export.js.__ivy_ngcc_bak +272 -0
- package/fesm2015/sd-angular-core-export.js.map +1 -1
- package/fesm2015/sd-angular-core-export.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-filter.js +2 -1
- package/fesm2015/sd-angular-core-filter.js.__ivy_ngcc_bak +323 -0
- package/fesm2015/sd-angular-core-filter.js.map +1 -1
- package/fesm2015/sd-angular-core-filter.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-form.js +2 -1
- package/fesm2015/sd-angular-core-form.js.__ivy_ngcc_bak +104 -0
- package/fesm2015/sd-angular-core-form.js.map +1 -1
- package/fesm2015/sd-angular-core-form.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-grid-material.js +2 -1
- package/fesm2015/sd-angular-core-grid-material.js.__ivy_ngcc_bak +3740 -0
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-grid.js +2 -1
- package/fesm2015/sd-angular-core-grid.js.__ivy_ngcc_bak +3935 -0
- package/fesm2015/sd-angular-core-grid.js.map +1 -1
- package/fesm2015/sd-angular-core-grid.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-group.js +2 -1
- package/fesm2015/sd-angular-core-group.js.__ivy_ngcc_bak +74 -0
- package/fesm2015/sd-angular-core-group.js.map +1 -1
- package/fesm2015/sd-angular-core-group.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-header-title.js +2 -1
- package/fesm2015/sd-angular-core-header-title.js.__ivy_ngcc_bak +45 -0
- package/fesm2015/sd-angular-core-header-title.js.map +1 -1
- package/fesm2015/sd-angular-core-header-title.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-image-preview.js +2 -1
- package/fesm2015/sd-angular-core-image-preview.js.__ivy_ngcc_bak +107 -0
- package/fesm2015/sd-angular-core-image-preview.js.map +1 -1
- package/fesm2015/sd-angular-core-image-preview.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-currency.js +2 -1
- package/fesm2015/sd-angular-core-input-currency.js.__ivy_ngcc_bak +330 -0
- package/fesm2015/sd-angular-core-input-currency.js.map +1 -1
- package/fesm2015/sd-angular-core-input-currency.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-dropdown.js +2 -1
- package/fesm2015/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +268 -0
- package/fesm2015/sd-angular-core-input-dropdown.js.map +1 -1
- package/fesm2015/sd-angular-core-input-dropdown.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-number.js +2 -1
- package/fesm2015/sd-angular-core-input-number.js.__ivy_ngcc_bak +415 -0
- package/fesm2015/sd-angular-core-input-number.js.map +1 -1
- package/fesm2015/sd-angular-core-input-number.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-upload-file.js +2 -1
- package/fesm2015/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +274 -0
- package/fesm2015/sd-angular-core-input-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-input-upload-file.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input.js +2 -1
- package/fesm2015/sd-angular-core-input.js.__ivy_ngcc_bak +398 -0
- package/fesm2015/sd-angular-core-input.js.map +1 -1
- package/fesm2015/sd-angular-core-input.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-json-editor.js +2 -1
- package/fesm2015/sd-angular-core-json-editor.js.__ivy_ngcc_bak +180 -0
- package/fesm2015/sd-angular-core-json-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-json-editor.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-konva.js +2 -1
- package/fesm2015/sd-angular-core-konva.js.__ivy_ngcc_bak +237 -0
- package/fesm2015/sd-angular-core-konva.js.map +1 -1
- package/fesm2015/sd-angular-core-konva.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-label.js +2 -1
- package/fesm2015/sd-angular-core-label.js.__ivy_ngcc_bak +49 -0
- package/fesm2015/sd-angular-core-label.js.map +1 -1
- package/fesm2015/sd-angular-core-label.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-loading.js +2 -1
- package/fesm2015/sd-angular-core-loading.js.__ivy_ngcc_bak +83 -0
- package/fesm2015/sd-angular-core-loading.js.map +1 -1
- package/fesm2015/sd-angular-core-loading.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-modal-resizable.js +2 -1
- package/fesm2015/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +161 -0
- package/fesm2015/sd-angular-core-modal-resizable.js.map +1 -1
- package/fesm2015/sd-angular-core-modal-resizable.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-modal.js +2 -1
- package/fesm2015/sd-angular-core-modal.js.__ivy_ngcc_bak +284 -0
- package/fesm2015/sd-angular-core-modal.js.map +1 -1
- package/fesm2015/sd-angular-core-modal.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-notify.js +2 -1
- package/fesm2015/sd-angular-core-notify.js.__ivy_ngcc_bak +402 -0
- package/fesm2015/sd-angular-core-notify.js.map +1 -1
- package/fesm2015/sd-angular-core-notify.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-popover.js +2 -1
- package/fesm2015/sd-angular-core-popover.js.__ivy_ngcc_bak +415 -0
- package/fesm2015/sd-angular-core-popover.js.map +1 -1
- package/fesm2015/sd-angular-core-popover.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-quick-action.js +2 -1
- package/fesm2015/sd-angular-core-quick-action.js.__ivy_ngcc_bak +53 -0
- package/fesm2015/sd-angular-core-quick-action.js.map +1 -1
- package/fesm2015/sd-angular-core-quick-action.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-radio.js +2 -1
- package/fesm2015/sd-angular-core-radio.js.__ivy_ngcc_bak +188 -0
- package/fesm2015/sd-angular-core-radio.js.map +1 -1
- package/fesm2015/sd-angular-core-radio.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-select-badge.js +2 -1
- package/fesm2015/sd-angular-core-select-badge.js.__ivy_ngcc_bak +156 -0
- package/fesm2015/sd-angular-core-select-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-select-badge.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-select-editor.js +2 -1
- package/fesm2015/sd-angular-core-select-editor.js.__ivy_ngcc_bak +110 -0
- package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-select-editor.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-select.js +2 -1
- package/fesm2015/sd-angular-core-select.js.__ivy_ngcc_bak +487 -0
- package/fesm2015/sd-angular-core-select.js.map +1 -1
- package/fesm2015/sd-angular-core-select.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-service.js +2 -1
- package/fesm2015/sd-angular-core-service.js.__ivy_ngcc_bak +36 -0
- package/fesm2015/sd-angular-core-service.js.map +1 -1
- package/fesm2015/sd-angular-core-service.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-setting.js +2 -1
- package/fesm2015/sd-angular-core-setting.js.__ivy_ngcc_bak +290 -0
- package/fesm2015/sd-angular-core-setting.js.map +1 -1
- package/fesm2015/sd-angular-core-setting.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-side-drawer.js +2 -1
- package/fesm2015/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +115 -0
- package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
- package/fesm2015/sd-angular-core-side-drawer.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-switch.js +2 -1
- package/fesm2015/sd-angular-core-switch.js.__ivy_ngcc_bak +116 -0
- package/fesm2015/sd-angular-core-switch.js.map +1 -1
- package/fesm2015/sd-angular-core-switch.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-tab-router.js +2 -1
- package/fesm2015/sd-angular-core-tab-router.js.__ivy_ngcc_bak +531 -0
- package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
- package/fesm2015/sd-angular-core-tab-router.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-textarea.js +2 -1
- package/fesm2015/sd-angular-core-textarea.js.__ivy_ngcc_bak +266 -0
- package/fesm2015/sd-angular-core-textarea.js.map +1 -1
- package/fesm2015/sd-angular-core-textarea.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-time.js +2 -1
- package/fesm2015/sd-angular-core-time.js.__ivy_ngcc_bak +143 -0
- package/fesm2015/sd-angular-core-time.js.map +1 -1
- package/fesm2015/sd-angular-core-time.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-timeline.js +2 -1
- package/fesm2015/sd-angular-core-timeline.js.__ivy_ngcc_bak +87 -0
- package/fesm2015/sd-angular-core-timeline.js.map +1 -1
- package/fesm2015/sd-angular-core-timeline.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-translate.js +2 -1
- package/fesm2015/sd-angular-core-translate.js.__ivy_ngcc_bak +101 -0
- package/fesm2015/sd-angular-core-translate.js.map +1 -1
- package/fesm2015/sd-angular-core-translate.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-upload-excel.js +2 -1
- package/fesm2015/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +638 -0
- package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-excel.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-upload-file.js +2 -1
- package/fesm2015/sd-angular-core-upload-file.js.__ivy_ngcc_bak +462 -0
- package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-file.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-utility.js +23 -2
- package/fesm2015/sd-angular-core-utility.js.__ivy_ngcc_bak +384 -0
- package/fesm2015/sd-angular-core-utility.js.map +1 -1
- package/fesm2015/sd-angular-core-utility.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-view.js +2 -1
- package/fesm2015/sd-angular-core-view.js.__ivy_ngcc_bak +23 -0
- package/fesm2015/sd-angular-core-view.js.map +1 -1
- package/fesm2015/sd-angular-core-view.js.map.__ivy_ngcc_bak +1 -0
- package/filter/package.json +12 -1
- package/filter/sd-angular-core-filter.d.ts +2 -0
- package/filter/sd-angular-core-filter.d.ts.__ivy_ngcc_bak +7 -0
- package/filter/sd-angular-core-filter.d.ts.map +1 -0
- package/form/package.json +12 -1
- package/form/sd-angular-core-form.d.ts +2 -0
- package/form/sd-angular-core-form.d.ts.__ivy_ngcc_bak +4 -0
- package/form/sd-angular-core-form.d.ts.map +1 -0
- package/grid/package.json +12 -1
- package/grid/sd-angular-core-grid.d.ts +2 -0
- package/grid/sd-angular-core-grid.d.ts.__ivy_ngcc_bak +4 -0
- package/grid/sd-angular-core-grid.d.ts.map +1 -0
- package/grid-material/package.json +12 -1
- package/grid-material/sd-angular-core-grid-material.d.ts +2 -0
- package/grid-material/sd-angular-core-grid-material.d.ts.__ivy_ngcc_bak +46 -0
- package/grid-material/sd-angular-core-grid-material.d.ts.map +1 -0
- package/group/package.json +12 -1
- package/group/sd-angular-core-group.d.ts +2 -0
- package/group/sd-angular-core-group.d.ts.__ivy_ngcc_bak +5 -0
- package/group/sd-angular-core-group.d.ts.map +1 -0
- package/header-title/package.json +12 -1
- package/header-title/sd-angular-core-header-title.d.ts +2 -0
- package/header-title/sd-angular-core-header-title.d.ts.__ivy_ngcc_bak +5 -0
- package/header-title/sd-angular-core-header-title.d.ts.map +1 -0
- package/image-preview/package.json +12 -1
- package/image-preview/sd-angular-core-image-preview.d.ts +2 -0
- package/image-preview/sd-angular-core-image-preview.d.ts.__ivy_ngcc_bak +6 -0
- package/image-preview/sd-angular-core-image-preview.d.ts.map +1 -0
- package/input/package.json +12 -1
- package/input/sd-angular-core-input.d.ts +2 -0
- package/input/sd-angular-core-input.d.ts.__ivy_ngcc_bak +5 -0
- package/input/sd-angular-core-input.d.ts.map +1 -0
- package/input-currency/package.json +12 -1
- package/input-currency/sd-angular-core-input-currency.d.ts +2 -0
- package/input-currency/sd-angular-core-input-currency.d.ts.__ivy_ngcc_bak +4 -0
- package/input-currency/sd-angular-core-input-currency.d.ts.map +1 -0
- package/input-dropdown/package.json +12 -1
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts +2 -0
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts.__ivy_ngcc_bak +4 -0
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts.map +1 -0
- package/input-number/package.json +12 -1
- package/input-number/sd-angular-core-input-number.d.ts +2 -0
- package/input-number/sd-angular-core-input-number.d.ts.__ivy_ngcc_bak +4 -0
- package/input-number/sd-angular-core-input-number.d.ts.map +1 -0
- package/input-upload-file/package.json +12 -1
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts +2 -0
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts.__ivy_ngcc_bak +4 -0
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts.map +1 -0
- package/json-editor/package.json +12 -1
- package/json-editor/sd-angular-core-json-editor.d.ts +2 -0
- package/json-editor/sd-angular-core-json-editor.d.ts.__ivy_ngcc_bak +4 -0
- package/json-editor/sd-angular-core-json-editor.d.ts.map +1 -0
- package/konva/package.json +12 -1
- package/konva/sd-angular-core-konva.d.ts +2 -0
- package/konva/sd-angular-core-konva.d.ts.__ivy_ngcc_bak +4 -0
- package/konva/sd-angular-core-konva.d.ts.map +1 -0
- package/label/package.json +12 -1
- package/label/sd-angular-core-label.d.ts +2 -0
- package/label/sd-angular-core-label.d.ts.__ivy_ngcc_bak +5 -0
- package/label/sd-angular-core-label.d.ts.map +1 -0
- package/loading/package.json +12 -1
- package/loading/sd-angular-core-loading.d.ts +2 -0
- package/loading/sd-angular-core-loading.d.ts.__ivy_ngcc_bak +4 -0
- package/loading/sd-angular-core-loading.d.ts.map +1 -0
- package/modal/package.json +12 -1
- package/modal/sd-angular-core-modal.d.ts +2 -0
- package/modal/sd-angular-core-modal.d.ts.__ivy_ngcc_bak +4 -0
- package/modal/sd-angular-core-modal.d.ts.map +1 -0
- package/modal-resizable/package.json +12 -1
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts +2 -0
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts.__ivy_ngcc_bak +4 -0
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts.map +1 -0
- package/notify/package.json +12 -1
- package/notify/sd-angular-core-notify.d.ts +2 -0
- package/notify/sd-angular-core-notify.d.ts.__ivy_ngcc_bak +4 -0
- package/notify/sd-angular-core-notify.d.ts.map +1 -0
- package/package.json +1 -1
- package/popover/package.json +12 -1
- package/popover/sd-angular-core-popover.d.ts +2 -0
- package/popover/sd-angular-core-popover.d.ts.__ivy_ngcc_bak +4 -0
- package/popover/sd-angular-core-popover.d.ts.map +1 -0
- package/quick-action/package.json +12 -1
- package/quick-action/sd-angular-core-quick-action.d.ts +2 -0
- package/quick-action/sd-angular-core-quick-action.d.ts.__ivy_ngcc_bak +4 -0
- package/quick-action/sd-angular-core-quick-action.d.ts.map +1 -0
- package/radio/package.json +12 -1
- package/radio/sd-angular-core-radio.d.ts +2 -0
- package/radio/sd-angular-core-radio.d.ts.__ivy_ngcc_bak +4 -0
- package/radio/sd-angular-core-radio.d.ts.map +1 -0
- package/sd-angular-core-1.3.0.tgz +0 -0
- package/select/package.json +12 -1
- package/select/sd-angular-core-select.d.ts +2 -0
- package/select/sd-angular-core-select.d.ts.__ivy_ngcc_bak +4 -0
- package/select/sd-angular-core-select.d.ts.map +1 -0
- package/select-badge/package.json +12 -1
- package/select-badge/sd-angular-core-select-badge.d.ts +2 -0
- package/select-badge/sd-angular-core-select-badge.d.ts.__ivy_ngcc_bak +4 -0
- package/select-badge/sd-angular-core-select-badge.d.ts.map +1 -0
- package/select-editor/package.json +12 -1
- package/select-editor/sd-angular-core-select-editor.d.ts +2 -0
- package/select-editor/sd-angular-core-select-editor.d.ts.__ivy_ngcc_bak +4 -0
- package/select-editor/sd-angular-core-select-editor.d.ts.map +1 -0
- package/service/package.json +12 -1
- package/service/sd-angular-core-service.d.ts +2 -0
- package/service/sd-angular-core-service.d.ts.__ivy_ngcc_bak +4 -0
- package/service/sd-angular-core-service.d.ts.map +1 -0
- package/setting/package.json +12 -1
- package/setting/sd-angular-core-setting.d.ts +2 -0
- package/setting/sd-angular-core-setting.d.ts.__ivy_ngcc_bak +4 -0
- package/setting/sd-angular-core-setting.d.ts.map +1 -0
- package/side-drawer/package.json +12 -1
- package/side-drawer/sd-angular-core-side-drawer.d.ts +2 -0
- package/side-drawer/sd-angular-core-side-drawer.d.ts.__ivy_ngcc_bak +4 -0
- package/side-drawer/sd-angular-core-side-drawer.d.ts.map +1 -0
- package/switch/package.json +12 -1
- package/switch/sd-angular-core-switch.d.ts +2 -0
- package/switch/sd-angular-core-switch.d.ts.__ivy_ngcc_bak +4 -0
- package/switch/sd-angular-core-switch.d.ts.map +1 -0
- package/tab-router/package.json +12 -1
- package/tab-router/sd-angular-core-tab-router.d.ts +2 -0
- package/tab-router/sd-angular-core-tab-router.d.ts.__ivy_ngcc_bak +6 -0
- package/tab-router/sd-angular-core-tab-router.d.ts.map +1 -0
- package/textarea/package.json +12 -1
- package/textarea/sd-angular-core-textarea.d.ts +2 -0
- package/textarea/sd-angular-core-textarea.d.ts.__ivy_ngcc_bak +4 -0
- package/textarea/sd-angular-core-textarea.d.ts.map +1 -0
- package/time/package.json +12 -1
- package/time/sd-angular-core-time.d.ts +2 -0
- package/time/sd-angular-core-time.d.ts.__ivy_ngcc_bak +5 -0
- package/time/sd-angular-core-time.d.ts.map +1 -0
- package/timeline/package.json +12 -1
- package/timeline/sd-angular-core-timeline.d.ts +2 -0
- package/timeline/sd-angular-core-timeline.d.ts.__ivy_ngcc_bak +5 -0
- package/timeline/sd-angular-core-timeline.d.ts.map +1 -0
- package/translate/package.json +12 -1
- package/translate/sd-angular-core-translate.d.ts +2 -0
- package/translate/sd-angular-core-translate.d.ts.__ivy_ngcc_bak +4 -0
- package/translate/sd-angular-core-translate.d.ts.map +1 -0
- package/upload-excel/package.json +12 -1
- package/upload-excel/sd-angular-core-upload-excel.d.ts +2 -0
- package/upload-excel/sd-angular-core-upload-excel.d.ts.__ivy_ngcc_bak +6 -0
- package/upload-excel/sd-angular-core-upload-excel.d.ts.map +1 -0
- package/upload-file/package.json +12 -1
- package/upload-file/sd-angular-core-upload-file.d.ts +2 -0
- package/upload-file/sd-angular-core-upload-file.d.ts.__ivy_ngcc_bak +4 -0
- package/upload-file/sd-angular-core-upload-file.d.ts.map +1 -0
- package/utility/package.json +12 -1
- package/utility/sd-angular-core-utility.d.ts +2 -0
- package/utility/sd-angular-core-utility.d.ts.__ivy_ngcc_bak +4 -0
- package/utility/sd-angular-core-utility.d.ts.map +1 -0
- package/utility/src/lib/utility.service.d.ts +4 -0
- package/view/package.json +12 -1
- package/view/sd-angular-core-view.d.ts +2 -0
- package/view/sd-angular-core-view.d.ts.__ivy_ngcc_bak +4 -0
- package/view/sd-angular-core-view.d.ts.map +1 -0
- package/sd-angular-core-1.2.98.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sd-angular-core-grid.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/grid/src/lib/grid.model.ts","../../../../projects/sd-core/grid/src/lib/pipes/editor-handler.pipe.ts","../../../../projects/sd-core/grid/src/lib/models/grid-configuration.model.ts","../../../../projects/sd-core/grid/src/lib/directives/cell-def.directive.ts","../../../../projects/sd-core/grid/src/lib/directives/cell-footer-def.directive.ts","../../../../projects/sd-core/grid/src/lib/directives/cell-editor-def.directive.ts","../../../../projects/sd-core/grid/src/lib/models/handler-local.ts","../../../../projects/sd-core/grid/src/lib/models/handler-dotnet.ts","../../../../projects/sd-core/grid/src/lib/grid.component.ts","../../../../projects/sd-core/grid/src/lib/pipes/dynamic-items.pipe.ts","../../../../projects/sd-core/grid/src/lib/components/grid-config/grid-config.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-desktop-column-edit/grid-desktop-column-edit.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-desktop-column-view/grid-desktop-column-view.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-desktop-inline-filter/grid-desktop-inline-filter.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-mobile-item-view/grid-mobile-item-view.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-popup-editor/grid-popup-editor.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-popup-export-excel/grid-popup-export-excel.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-popup-filter/grid-popup-filter.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-sub-information/grid-sub-information.component.ts","../../../../projects/sd-core/grid/src/lib/components/grid-desktop-column-children-view/grid-desktop-column-children-view.component.ts","../../../../projects/sd-core/grid/src/lib/pipes/cell-desktop-class-name.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/cell-mobile-class-name.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/column-command-filter.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/column-html-template.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/column-title.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/column-values.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/command-disabled.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/command-filter.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/command-hidden.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/command-icon.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/command-title.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/editor-dynamic-item.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/editor-sub-information-handler.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/editor-validate.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/filter-mobile.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/mobile-command-filter.ts","../../../../projects/sd-core/grid/src/lib/pipes/mobile-view-html-template.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/value-transform.pipe.ts","../../../../projects/sd-core/grid/src/lib/pipes/editor-popup-visible.pipe.ts","../../../../projects/sd-core/grid/src/lib/directives/sub-information-header-def.directive.ts","../../../../projects/sd-core/grid/src/lib/components/grid-import-excel/grid-import-excel.component.ts","../../../../projects/sd-core/grid/src/lib/grid.module.ts","../../../../projects/sd-core/grid/src/lib/components/grid-popup-filter/grid-popup-filter.model.ts","../../../../projects/sd-core/grid/sd-angular-core-grid.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { IHandlerServer } from './models/handler';\r\nimport { Observable } from 'rxjs';\r\nimport { SdGridFilterInfo } from './models/filter-info.model';\r\n\r\nexport declare type SdGridOption =\r\n GridLocalOption |\r\n GridDotnetOption |\r\n GridCustomOption;\r\n\r\nexport declare type SdGridCommand = GridCommandNoChildren | GridCommandWithChildren;\r\n\r\nexport declare type SdGridColumn =\r\n GridColumnText |\r\n GridColumnColor |\r\n GridColumnNumber |\r\n GridColumnBool |\r\n GridColumnDate |\r\n GridColumnDateTime |\r\n GridColumnTime |\r\n GridColumnValues |\r\n GridColumnRadio |\r\n GridColumnImage |\r\n GridColumnChildren;\r\n\r\nexport declare type SdGridExternalFilter =\r\n GridExternalFilterText |\r\n GridExternalFilterDate |\r\n GridExternalFilterDateRange |\r\n GridExternalFilterDateRangeFull |\r\n GridExternalFilterNumber |\r\n GridExternalFilterNumberRange |\r\n GridExternalFilterValues |\r\n GridExternalFilterRadio |\r\n GridExternalFilterBool |\r\n GridExternalFilterCustom;\r\n\r\nexport const defaultGridOption: SdGridOption = {\r\n type: undefined,\r\n items: [],\r\n filter: {\r\n type: 'inline',\r\n disabled: false\r\n },\r\n sortable: true,\r\n paginate: {\r\n pageSize: 50,\r\n pageCount: 5\r\n },\r\n commands: [],\r\n columns: []\r\n};\r\n\r\nexport interface SdGridBaseOption {\r\n height?: string;\r\n key?: string;\r\n filter?: GridBaseOptionFilter;\r\n checkable?: boolean;\r\n sortable?: boolean;\r\n numberable?: boolean;\r\n editor?: {\r\n type?: 'focus' | 'inline' | 'popup',\r\n addable?: boolean;\r\n editable?: boolean;\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n limit?: number;\r\n onAdd?: (rowData: any) => void,\r\n onEdit?: (rowData: any) => void,\r\n onSave?: (rowData: any) => void | Promise<void>,\r\n validate?: (rowData: any) => string | Promise<string>\r\n };\r\n paginate?: {\r\n pageSize?: number,\r\n pageCount?: number\r\n };\r\n export?: GridBaseOptionExport;\r\n translate?: boolean;\r\n hideFooter?: boolean;\r\n hideReload?: boolean;\r\n commands?: SdGridCommand[];\r\n columns: SdGridColumn[];\r\n subInformation?: SubOption;\r\n mobileOrTablet?: {\r\n useGridView?: boolean;\r\n htmlTemplate?: (rowData: any, columns?: SdGridColumn[]) => string;\r\n };\r\n // events\r\n onClickRow?: (rowData: any) => void;\r\n onDblClickRow?: (rowData: any) => void;\r\n onCheck?: (items: any[], rowData?: any) => void;\r\n onImportExcel?: (items: any[]) => void;\r\n onReloadCompleted?: (items: any[]) => Promise<void> | void;\r\n}\r\n\r\nexport interface GridBaseOptionExport {\r\n disabled?: boolean;\r\n fileName?: string;\r\n validator?: (fileName: string) => string;\r\n items?: (filterInfo: SdGridFilterInfo) => Promise<any[]>;\r\n mapping?: (items: any[], fileName?: string) => any[] | Promise<any[]>;\r\n columns?: SdGridColumn[];\r\n bigExport?: boolean;\r\n sheets?: {\r\n name: string,\r\n items: any[] | (() => Promise<any[]>),\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface GridBaseOptionFilter {\r\n type?: 'inline' | 'popup';\r\n columnInline?: 'outside';\r\n disabled?: boolean;\r\n customFilter?: any | (() => any);\r\n externalFilters?: SdGridExternalFilter[];\r\n quickFilterVisibility?: 'inline' | 'popup' | 'none';\r\n multiple?: boolean;\r\n}\r\n\r\ninterface GridLocalOption extends SdGridBaseOption {\r\n type: 'local';\r\n items: any[] | (() => any[] | Promise<any[]>);\r\n}\r\n\r\ninterface GridDotnetOption extends SdGridBaseOption {\r\n type: 'dotnet';\r\n method?: 'POST' | 'GET';\r\n url: string;\r\n handler?: {\r\n beforeRequest: (filterInfo: SdGridFilterInfo) => Promise<SdGridFilterInfo>;\r\n afterResponse: (items: any[], total: number) => Promise<{ items: any[], total: number }>;\r\n };\r\n}\r\n\r\ninterface GridCustomOption extends SdGridBaseOption {\r\n type: 'custom';\r\n url: string;\r\n method?: 'POST' | 'GET';\r\n handlerCustom?: IHandlerServer;\r\n}\r\n\r\ninterface GridCommandBase {\r\n title?: string | ((rowData?: any) => string);\r\n translate?: boolean;\r\n disabled?: boolean | ((rowData?: any) => boolean);\r\n hidden?: boolean | (() => boolean);\r\n hiddenByItem?: ((rowData: any) => boolean) | ((rowData: any) => Promise<boolean>);\r\n}\r\n\r\nexport interface GridCommandNoChildren extends GridCommandBase {\r\n icon: string | ((rowData?: any) => string);\r\n fontSet?: 'material-icons' |\r\n 'material-icons-outlined' |\r\n 'material-icons-outlined' |\r\n 'material-icons-round' |\r\n 'material-icons-sharp';\r\n color?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning';\r\n click?: (rowData?: any) => void;\r\n}\r\n\r\nexport interface GridCommandWithChildren extends GridCommandBase {\r\n icon?: string | ((rowData?: any) => string);\r\n children?: GridCommandNoChildren[];\r\n}\r\n\r\ninterface GridBaseColumn {\r\n field: string;\r\n title: string;\r\n translate?: boolean;\r\n description?: string;\r\n width?: string;\r\n fixed?: boolean;\r\n format?: string;\r\n hidden?: boolean | (() => boolean);\r\n htmlTemplate?: (value: any, rowData?: any, isMobileOrTablet?: boolean) => string;\r\n transform?: (value: any, rowData?: any) => string;\r\n badge?: ((rowData?: any, value?: any) => 'PRIMARY' | 'SECONDARY' | 'INFO' | 'SUCCESS' | 'WARNING' | 'DANGER' | 'LIGHT' | 'DARK');\r\n click?: (value: any, rowData?: any) => void | Promise<void>;\r\n ignoreImport?: boolean;\r\n sortable?: boolean;\r\n align?: 'left' | 'center' | 'right';\r\n filter?: {\r\n disabled?: boolean;\r\n priority?: 'low';\r\n };\r\n}\r\n\r\nexport interface EditorHandler {\r\n [column: string]: {\r\n visible?: boolean | 'create' | 'update',\r\n items?: any[] | Observable<any[]>\r\n };\r\n}\r\n\r\nexport interface GridItem {\r\n blinker?: any;\r\n originItem?: any;\r\n temporary?: any;\r\n isChecked?: boolean;\r\n editingStatus?: 'create' | 'update';\r\n editorHandler?: EditorHandler & {\r\n disabled?: boolean;\r\n errorMessage?: string;\r\n saving?: boolean;\r\n };\r\n subInformation?: {\r\n isOpened?: boolean;\r\n isLoaded?: boolean;\r\n isLoading?: boolean;\r\n subItems?: any[];\r\n };\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ColumnCommand {\r\n icon: string | ((rowData?: any) => string);\r\n title?: string | ((rowData?: any) => string);\r\n click: (rowData: GridItem) => void | Promise<void>;\r\n hiddenByItem?: ((rowData: any) => boolean) | ((rowData: any) => Promise<boolean>);\r\n}\r\n\r\ninterface GridColumnText extends GridBaseColumn {\r\n type: 'string';\r\n commands?: ColumnCommand[];\r\n editor?: {\r\n autocomplete?: boolean,\r\n alwayDisplay?: boolean,\r\n click?: (rowData: any) => void,\r\n change?: (rowData: any, value?: any, selected?: any | any[]) => void,\r\n keyupEnter?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n item?: DynamicEditorItem,\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string\r\n };\r\n}\r\n\r\ninterface GridColumnColor extends GridBaseColumn {\r\n type: 'color';\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string\r\n };\r\n}\r\n\r\ninterface GridColumnNumber extends GridBaseColumn {\r\n type: 'number';\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n click?: (rowData: any) => void,\r\n change?: (rowData: any) => void,\r\n keyupEnter?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: number\r\n };\r\n}\r\n\r\ninterface GridColumnBool extends GridBaseColumn {\r\n type: 'bool';\r\n // properties for bool type\r\n trueValue?: string;\r\n falseValue?: string;\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n click?: (rowData: any) => void,\r\n change?: (rowData: any) => void,\r\n keyupEnter?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: boolean\r\n };\r\n}\r\n\r\ninterface GridColumnDate extends GridBaseColumn {\r\n type: 'date';\r\n timeDifferent?: 'second' | 'minute' | 'hour';\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any) => void,\r\n keyupEnter?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string | Date\r\n };\r\n}\r\n\r\ninterface GridColumnDateTime extends GridBaseColumn {\r\n type: 'datetime';\r\n timeDifferent?: 'second' | 'minute' | 'hour' | 'day' | 'month';\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any) => void,\r\n keyupEnter?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string | Date\r\n };\r\n}\r\n\r\ninterface GridColumnTime extends GridBaseColumn {\r\n type: 'time';\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any) => void,\r\n keyupEnter?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string | Date\r\n };\r\n}\r\n\r\ninterface GridColumnValues extends GridBaseColumn {\r\n type: 'values';\r\n values: {\r\n value: string,\r\n text: string,\r\n icon?: string,\r\n color?: string,\r\n backgroundColor?: string\r\n }[];\r\n dictionary?: {\r\n [value: string]: {\r\n text: string,\r\n icon?: string,\r\n color?: string,\r\n backgroundColor?: string\r\n }\r\n };\r\n editor?: {\r\n autocomplete?: boolean,\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any, value?: any, selected?: any | any[]) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n item?: DynamicEditorItem,\r\n required?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string | number\r\n };\r\n}\r\n\r\ninterface GridColumnRadio extends GridBaseColumn {\r\n type: 'radio';\r\n values?: any[];\r\n valueField: string;\r\n displayField: string;\r\n editor?: {\r\n required?: boolean;\r\n values?: {\r\n value: string,\r\n text: string,\r\n }[];\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean),\r\n defaultValue?: string | number\r\n };\r\n}\r\n\r\ninterface GridColumnImage extends GridBaseColumn {\r\n type: 'image';\r\n display: {\r\n height: number,\r\n width: number\r\n };\r\n editor?: {\r\n alwayDisplay?: boolean,\r\n change?: (rowData: any) => void,\r\n hidden?: boolean | ((rowData: any) => boolean),\r\n disabled?: boolean | ((rowData: any) => boolean)\r\n };\r\n}\r\n\r\nexport type GridColumnChild = (Exclude<SdGridColumn, GridColumnChildren>\r\n & { dynamicTitle?: (rowData: any) => string | Promise<string>, colSpan: 1 | 2 });\r\n\r\nexport interface GridColumnChildren extends GridBaseColumn {\r\n type: 'children';\r\n children: GridColumnChild[];\r\n}\r\n\r\ninterface GridBaseExternalFilter {\r\n field: string;\r\n priority?: 'low';\r\n disabled?: boolean;\r\n}\r\n\r\ninterface GridExternalFilterText extends GridBaseExternalFilter {\r\n type: 'string';\r\n title: string;\r\n default?: string;\r\n}\r\n\r\ninterface GridExternalFilterDate extends GridBaseExternalFilter {\r\n type: 'date';\r\n title: string;\r\n default?: Date | string;\r\n}\r\n\r\ninterface GridExternalFilterDateRange extends GridBaseExternalFilter {\r\n type: 'daterange';\r\n title: string;\r\n fromTitle: string;\r\n toTitle: string;\r\n enableTime?: boolean;\r\n minDate?: string | Date;\r\n maxDate?: string | Date;\r\n defaultFrom?: Date | string;\r\n defaultTo?: Date | string;\r\n}\r\n\r\ninterface GridExternalFilterDateRangeFull extends GridBaseExternalFilter {\r\n type: 'daterangefull';\r\n title: string;\r\n enableTime?: boolean;\r\n minDate?: string | Date;\r\n maxDate?: string | Date;\r\n defaultFrom?: Date | string;\r\n defaultTo?: Date | string;\r\n}\r\n\r\ninterface GridExternalFilterNumber extends GridBaseExternalFilter {\r\n type: 'number';\r\n title: string;\r\n default?: number;\r\n}\r\n\r\ninterface GridExternalFilterNumberRange extends GridBaseExternalFilter {\r\n type: 'numberrange';\r\n title: string;\r\n fromTitle: string;\r\n toTitle: string;\r\n defaultFrom?: Date | string;\r\n defaultTo?: Date | string;\r\n}\r\n\r\ninterface GridExternalFilterValues extends GridBaseExternalFilter {\r\n type: 'values';\r\n title: string;\r\n values: any[] | ((searchText?: string) => Promise<any[]>);\r\n valueField: string;\r\n displayField: string;\r\n selection?: 'AUTOCOMPLETE' | 'MULTIPLE' | 'MULTIPLEAUTOCOMPLETE';\r\n default?: string;\r\n}\r\n\r\ninterface GridExternalFilterRadio extends GridBaseExternalFilter {\r\n type: 'radio';\r\n title: string;\r\n values: any[];\r\n valueField: string;\r\n displayField: string;\r\n}\r\n\r\ninterface GridExternalFilterBool extends GridBaseExternalFilter {\r\n type: 'bool';\r\n title: string;\r\n trueValue?: string;\r\n falseValue?: string;\r\n}\r\n\r\ninterface GridExternalFilterCustom extends GridBaseExternalFilter {\r\n type: 'custom';\r\n title: string;\r\n onLoad?: (externalFilter: any, valueKey?: string, displayKey?: string) => { valueKey?: string, displayKey?: string };\r\n onClick: (externalFilter: any, valueKey?: string, displayKey?: string) => void;\r\n}\r\n\r\n// subInformation\r\nexport type SubOption = SubInformationDisabledLazyLoading | SubInformationEnabledLazyLoading;\r\ninterface BaseSubInformation {\r\n height?: string;\r\n commands?: SdGridCommand[];\r\n columns: (SdGridColumn & { title: string | ((rowData: any) => string) })[];\r\n}\r\ninterface SubInformationDisabledLazyLoading extends BaseSubInformation {\r\n lazyLoading: false;\r\n field: string;\r\n}\r\ninterface SubInformationEnabledLazyLoading extends BaseSubInformation {\r\n lazyLoading: true;\r\n onLoad: (rowData: any) => Promise<any[]>;\r\n}\r\n\r\nexport interface DynamicEditorItem {\r\n value: string;\r\n display: string;\r\n items: any[] | ((rowData?: any, value?: any) => any[] | Promise<any[]>);\r\n dependOnField?: string;\r\n}\r\n\r\n\r\nexport interface MobileConfiguration {\r\n htmlTemplate: (rowData?: any, columns?: SdGridColumn[]) => string;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SdGridColumn, SdGridOption, GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'editorHandler'\r\n})\r\nexport class EditorHandlerPipe implements PipeTransform {\r\n transform(value: any, item: GridItem, gridOption: SdGridOption): boolean {\r\n const visible = (column: SdGridColumn) => {\r\n if (column.type === 'children') {\r\n return false;\r\n }\r\n let isDisabled = false;\r\n\r\n // Kiểm tra xem có bị disabled hay không?\r\n if (column.editor) {\r\n isDisabled = typeof (column.editor.disabled) === 'function' ? column.editor.disabled(item) : column.editor.disabled;\r\n }\r\n // Nếu bị disabled return false\r\n if (isDisabled) {\r\n return false;\r\n }\r\n\r\n if (typeof (gridOption.editor?.disabled) === 'function') {\r\n isDisabled = gridOption.editor.disabled(item);\r\n } else {\r\n isDisabled = gridOption.editor?.disabled;\r\n }\r\n // Nếu bị disabled return false\r\n if (isDisabled) {\r\n return false;\r\n }\r\n\r\n // Hiển thị editor nếu dòng đó:\r\n // Đang được edit: editingStatus\r\n return item.editingStatus\r\n // Được thiết lập alwayDisplay\r\n || column.editor?.alwayDisplay\r\n // Editable có thuộc tính type inline\r\n || gridOption.editor?.type === 'inline';\r\n };\r\n item.editorHandler = item.editorHandler || {};\r\n for (const column of gridOption.columns) {\r\n item.editorHandler.disabled = false;\r\n item.editorHandler[column.field] = {};\r\n if (typeof (gridOption.editor) === 'object') {\r\n if (typeof (gridOption.editor.disabled) === 'function') {\r\n item.editorHandler.disabled = gridOption.editor.disabled(item);\r\n } else {\r\n item.editorHandler.disabled = gridOption.editor.disabled;\r\n }\r\n } else {\r\n item.editorHandler.disabled = false;\r\n }\r\n\r\n if (item.editorHandler.disabled) {\r\n item.editorHandler[column.field].visible = false;\r\n } else {\r\n item.editorHandler[column.field].visible = visible(column);\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { IHandlerServer } from './handler';\r\n\r\nexport interface IGridConfiguration {\r\n filter?: {\r\n type?: 'inline' | 'popup',\r\n columnInline?: 'outside',\r\n quickFilterVisibility?: 'inline' | 'popup' | 'none'\r\n };\r\n style?: {\r\n bordered?: boolean;\r\n stripped?: boolean;\r\n };\r\n translate?: boolean;\r\n handlerCustom?: IHandlerServer;\r\n}\r\n\r\nexport const GRID_CONFIG = new InjectionToken<IGridConfiguration>('grid.configuration');\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdCellDef]'\r\n})\r\nexport class SdCellDefDirective {\r\n @Input() sdCellDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdCellFooterDef]'\r\n})\r\nexport class SdCellFooterDevDirective {\r\n @Input() sdCellFooterDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdCellEditorDef]'\r\n})\r\nexport class SdCellEditorDefDirective {\r\n @Input() sdCellEditorDef: string;\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { SdGridFilterInfo } from '../models/filter-info.model';\r\nimport { IHandlerLocal } from './handler';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class HandlerLocal implements IHandlerLocal {\r\n constructor(private datePipe: DatePipe) { }\r\n filter = (localItems: any[], filterInfo: SdGridFilterInfo) => {\r\n const items = localItems.filter(item => {\r\n for (const column of filterInfo.columns) {\r\n const filterValue: string = (filterInfo.rawFilter[column.field] || '').toString().trim().toLowerCase();\r\n const columnValue: string = (item[column.field] || '').toString().trim().toLowerCase();\r\n if (filterValue) {\r\n if (!columnValue) {\r\n return false;\r\n }\r\n if (column.type === 'string') {\r\n if (columnValue.indexOf(filterValue) === -1) {\r\n return false;\r\n }\r\n } else if (column.type === 'values' || column.type === 'radio') {\r\n if (columnValue !== filterValue) {\r\n return false;\r\n }\r\n } else if (column.type === 'number') {\r\n const fValue = +filterValue.replace('>=', '').replace('<=', '').replace('>', '').replace('<', '');\r\n const cValue = +columnValue;\r\n if (fValue || fValue === 0) {\r\n if (!cValue && cValue !== 0) {\r\n return false;\r\n }\r\n if (filterValue.indexOf('>=') > -1 && cValue < fValue) {\r\n return false;\r\n } else if (filterValue.indexOf('<=') > -1 && cValue > fValue) {\r\n return false;\r\n } else if (filterValue.indexOf('<') > -1 && cValue >= fValue) {\r\n return false;\r\n } else if (filterValue.indexOf('>') > -1 && cValue <= fValue) {\r\n return false;\r\n } else if (cValue !== fValue) {\r\n return false;\r\n }\r\n }\r\n } else if (column.type === 'bool') {\r\n if (filterValue === '1' && columnValue !== '1' && columnValue !== 'true') {\r\n return false;\r\n } else if (filterValue === '0' && columnValue !== '0' && columnValue !== 'false') {\r\n return false;\r\n }\r\n } else if (column.type === 'date' || column.type === 'datetime') {\r\n const date = this.datePipe.transform(filterValue, 'yyyy/MM/dd');\r\n const fromDate = new Date(date);\r\n const toDate = new Date(date);\r\n toDate.setDate(toDate.getDate() + 1);\r\n if (new Date(columnValue).getTime() < fromDate.getTime() || new Date(columnValue).getTime() >= toDate.getTime()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n });\r\n // Sort\r\n if (filterInfo.orderBy && filterInfo.orderDirection) {\r\n const column = filterInfo.columns.find(e => e.field === filterInfo.orderBy);\r\n if (column) {\r\n const { type, field } = column;\r\n items.sort((current, next) => {\r\n if (type === 'number') {\r\n return (current[field] || 0) - (next[field] || 0);\r\n }\r\n if (type === 'date' || type === 'datetime' || type === 'time') {\r\n const d1 = new Date(current[field] || '').getTime();\r\n const d2 = new Date(current[field] || '').getTime();\r\n return d1 - d2;\r\n }\r\n const s1 = (current[field] || '').toString();\r\n const s2 = (next[field] || '').toString();\r\n if (s1 > s2) {\r\n return 1;\r\n }\r\n if (s1 < s2) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n if (filterInfo.orderDirection === 'DESC') {\r\n items.reverse();\r\n }\r\n }\r\n }\r\n return {\r\n items,\r\n total: items.length\r\n };\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { SdGridFilterInfo } from '../models/filter-info.model';\r\nimport { IHandlerServer } from './handler';\r\nimport { SdGridColumn, GridColumnChildren } from '../grid.model';\r\n\r\n@Injectable()\r\nexport class HandlerDotnet implements IHandlerServer {\r\n mapRequest = (filterInfo: SdGridFilterInfo) => {\r\n const result = {\r\n whereClause: '1>0',\r\n pageSize: filterInfo.pageSize,\r\n pageNumber: filterInfo.pageNumber,\r\n orderBy: filterInfo.orderBy,\r\n orderDirection: filterInfo.orderDirection,\r\n filter: {},\r\n externalFilter: {}\r\n };\r\n if (filterInfo.customFilter) {\r\n // Nếu custom filter là string\r\n if (typeof (filterInfo.customFilter) === 'string') {\r\n result.whereClause += ` AND ${filterInfo.customFilter}`;\r\n } else if (typeof (filterInfo.customFilter) === 'function') {\r\n result.whereClause += ` AND ${filterInfo.customFilter()}`;\r\n }\r\n }\r\n const executeColumnNoChildren = (column: Exclude<SdGridColumn, GridColumnChildren>) => {\r\n if (!filterInfo.rawFilter[column.field] && filterInfo.rawFilter[column.field] !== 0) {\r\n return;\r\n }\r\n result.filter[column.field] = filterInfo.rawFilter[column.field];\r\n if (column.type === 'string') {\r\n const filterValue: string = (filterInfo.rawFilter[column.field] ?? '').toString();\r\n if (this.#isGuid(filterValue)) {\r\n result.whereClause += ` AND ${column.field} = GUID(\"${filterInfo.rawFilter[column.field]}\")`;\r\n } else if (filterValue.startsWith('!=')) {\r\n result.whereClause += ` AND ${column.field} != \"${filterValue.substring(2, filterValue.length)}\"`;\r\n } else if (filterValue.startsWith('=')) {\r\n result.whereClause += ` AND ${column.field} = \"${filterValue.substring(1, filterValue.length)}\"`;\r\n } else if (filterValue.startsWith('%')) {\r\n result.whereClause += ` AND ${column.field}.EndsWith(\"${filterValue.substring(1, filterValue.length)}\")`;\r\n } else if (filterValue.endsWith('%')) {\r\n result.whereClause += ` AND ${column.field}.StartsWith(\"${filterValue.substring(0, filterValue.length - 1)}\")`;\r\n } else {\r\n result.whereClause += ` AND ${column.field}.Contains(\"${filterValue}\")`;\r\n }\r\n } else if (column.type === 'number') {\r\n const value = +(filterInfo.rawFilter[column.field].replace('>=', '').replace('<=', '').replace('>', '').replace('<', '').trim());\r\n if (filterInfo.rawFilter[column.field].indexOf('>=') > -1) {\r\n result.whereClause += ` AND ${column.field} >= ${value}`;\r\n } else if (filterInfo.rawFilter[column.field].indexOf('<=') > -1) {\r\n result.whereClause += ` AND ${column.field} <= ${value}`;\r\n } else if (filterInfo.rawFilter[column.field].indexOf('>') > -1) {\r\n result.whereClause += ` AND ${column.field} > ${value}`;\r\n } else if (filterInfo.rawFilter[column.field].indexOf('<') > -1) {\r\n result.whereClause += ` AND ${column.field} < ${value}`;\r\n } else {\r\n result.whereClause += ` AND ${column.field} = ${value}`;\r\n }\r\n } else if (column.type === 'bool') {\r\n if (filterInfo.rawFilter[column.field] === '0' || filterInfo.rawFilter[column.field] === '1') {\r\n result.whereClause += ` AND ${column.field} = ${filterInfo.rawFilter[column.field] === '1' ? 'true' : 'false'}`;\r\n }\r\n } else if (column.type === 'values') {\r\n if (filterInfo.rawFilter[column.field]) {\r\n if (this.#isGuid(filterInfo.rawFilter[column.field])) {\r\n result.whereClause += ` AND ${column.field} = GUID(\"${filterInfo.rawFilter[column.field]}\")`;\r\n } else if (typeof (filterInfo.rawFilter[column.field]) === 'string') {\r\n result.whereClause += ` AND ${column.field} = \"${filterInfo.rawFilter[column.field]}\"`;\r\n } else {\r\n result.whereClause += ` AND ${column.field} = ${filterInfo.rawFilter[column.field]}`;\r\n }\r\n }\r\n } else if (column.type === 'radio') {\r\n if (filterInfo.rawFilter[column.field]) {\r\n result.whereClause += ` AND ${column.field} = \"${filterInfo.rawFilter[column.field]}\"`;\r\n }\r\n } else if (column.type === 'date' || column.type === 'datetime') {\r\n // \"DateTime(yyyy,mm,dd,HH,mm,ss)\"\r\n // generate fromDate, toDate\r\n let date = new Date(filterInfo.rawFilter[column.field]);\r\n\r\n // From Date\r\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);\r\n result.whereClause += ` AND ${column.field} >= DateTime(${date.getFullYear()},${date.getMonth() + 1},${date.getDate()})`;\r\n\r\n // To Date\r\n date.setDate(date.getDate() + 1);\r\n result.whereClause += ` AND ${column.field} < DateTime(${date.getFullYear()},${date.getMonth() + 1},${date.getDate()})`;\r\n }\r\n };\r\n const executeColumnChildren = (columnChildren: GridColumnChildren) => {\r\n let flag = false;\r\n for (const column of columnChildren.children) {\r\n if (filterInfo.rawFilter[column.field] || filterInfo.rawFilter[column.field] === 0) {\r\n executeColumnNoChildren(column);\r\n flag = true;\r\n }\r\n }\r\n if (flag) {\r\n return;\r\n }\r\n if (!filterInfo.rawFilter[columnChildren.field]) {\r\n return;\r\n }\r\n result.filter[columnChildren.field] = filterInfo.rawFilter[columnChildren.field];\r\n let whereClause = '';\r\n const filterValue: string = (filterInfo.rawFilter[columnChildren.field] ?? '').toString().trim();\r\n for (const column of columnChildren.children) {\r\n if (column.type === 'string') {\r\n if (this.#isGuid(filterValue)) {\r\n whereClause += ` OR ${column.field} = GUID(\"${filterValue}\")`;\r\n } else if (filterValue.startsWith('!=')) {\r\n whereClause += ` OR ${column.field} != \"${filterValue.substring(2, filterValue.length)}\"`;\r\n } else if (filterValue.startsWith('=')) {\r\n whereClause += ` OR ${column.field} = \"${filterValue.substring(1, filterValue.length)}\"`;\r\n } else if (filterValue.startsWith('%')) {\r\n whereClause += ` OR ${column.field}.EndsWith(\"${filterValue.substring(1, filterValue.length)}\")`;\r\n } else if (filterValue.endsWith('%')) {\r\n whereClause += ` OR ${column.field}.StartsWith(\"${filterValue.substring(0, filterValue.length - 1)}\")`;\r\n } else {\r\n whereClause += ` OR ${column.field}.Contains(\"${filterValue}\")`;\r\n }\r\n } else if (column.type === 'number') {\r\n const value = +(filterValue.replace('>=', '').replace('<=', '').replace('>', '').replace('<', '').trim());\r\n if (!Number.isNaN(value)) {\r\n if (filterValue.indexOf('>=') > -1) {\r\n whereClause += ` OR ${column.field} >= ${value}`;\r\n } else if (filterValue.indexOf('<=') > -1) {\r\n whereClause += ` OR ${column.field} <= ${value}`;\r\n } else if (filterValue.indexOf('>') > -1) {\r\n whereClause += ` OR ${column.field} > ${value}`;\r\n } else if (filterValue.indexOf('<') > -1) {\r\n whereClause += ` OR ${column.field} < ${value}`;\r\n } else {\r\n whereClause += ` OR ${column.field} = ${value}`;\r\n }\r\n }\r\n } else if (column.type === 'bool') {\r\n if (filterValue === '0' || filterValue === '1') {\r\n whereClause += ` OR ${column.field} = ${filterValue === '1' ? 'true' : 'false'}`;\r\n }\r\n } else if (column.type === 'values') {\r\n if (this.#isGuid(filterValue)) {\r\n whereClause += ` OR ${column.field} = GUID(\"${filterValue}\")`;\r\n } if (typeof (filterInfo.rawFilter[column.field]) === 'string') {\r\n whereClause += ` OR ${column.field} = \"${filterValue}\"`;\r\n } else {\r\n whereClause += ` OR ${column.field} = ${filterValue}`;\r\n }\r\n } else if (column.type === 'radio') {\r\n if (filterValue) {\r\n whereClause += ` OR ${column.field} = \"${filterValue}\"`;\r\n }\r\n } else if (column.type === 'date' || column.type === 'datetime') {\r\n // \"DateTime(yyyy,mm,dd,HH,mm,ss)\"\r\n // generate fromDate, toDate\r\n if (Date.isDate(filterValue)) {\r\n let date = new Date(filterValue);\r\n\r\n // From Date\r\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);\r\n whereClause += ` OR (${column.field} >= DateTime(${date.getFullYear()},${date.getMonth() + 1},${date.getDate()})`;\r\n\r\n // To Date\r\n date.setDate(date.getDate() + 1);\r\n whereClause += ` AND ${column.field} < DateTime(${date.getFullYear()},${date.getMonth() + 1},${date.getDate()}))`;\r\n }\r\n }\r\n }\r\n if (whereClause.trim().startsWith('OR')) {\r\n whereClause = whereClause.trim().substr(2).trim();\r\n result.whereClause += ` AND(${whereClause})`;\r\n }\r\n };\r\n filterInfo.columns.forEach(column => {\r\n if (column.type !== 'children') {\r\n executeColumnNoChildren(column);\r\n } else {\r\n executeColumnChildren(column);\r\n }\r\n });\r\n filterInfo.externalFilters?.forEach(externalFilter => {\r\n const { field, type } = externalFilter;\r\n if (type === 'daterangefull') {\r\n result.externalFilter[field] = filterInfo.rawExternalFilter?.[field];\r\n if (result.externalFilter[field]?.from && result.externalFilter[field]?.to) {\r\n const fromDate = new Date(result.externalFilter[field]?.from);\r\n const toDate = Date.addDays(result.externalFilter[field]?.to, 1);\r\n // tslint:disable-next-line: max-line-length\r\n result.whereClause += ` AND ${field} >= DateTime(${fromDate.getFullYear()},${fromDate.getMonth() + 1},${fromDate.getDate()})`;\r\n result.whereClause += ` AND ${field} < DateTime(${toDate.getFullYear()},${toDate.getMonth() + 1},${toDate.getDate()})`;\r\n }\r\n return;\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n mapResponse = (res: any) => {\r\n const { items, total } = res;\r\n return {\r\n items,\r\n total\r\n };\r\n }\r\n\r\n #isGuid = (key: string): boolean => {\r\n const regex = /[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}/i;\r\n return regex.test(key);\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n ViewChildren,\r\n QueryList,\r\n AfterViewInit,\r\n OnDestroy,\r\n Inject,\r\n Optional,\r\n ContentChildren\r\n} from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport $ from 'jquery';\r\n\r\nimport {\r\n SdApiService\r\n} from '@sd-angular/core/api';\r\n\r\nimport {\r\n SdExcelService,\r\n ExcelConfig,\r\n ExcelTempateColumn\r\n} from '@sd-angular/core/excel';\r\n\r\nimport {\r\n SdNotifyService\r\n} from '@sd-angular/core/notify';\r\n\r\nimport {\r\n SdLoadingService\r\n} from '@sd-angular/core/loading';\r\n\r\nimport {\r\n SdTranslateService\r\n} from '@sd-angular/core/translate';\r\n\r\nimport { SdGridOption, defaultGridOption, GridItem, SdGridColumn, SdGridExternalFilter } from './grid.model';\r\n\r\nimport { ConfigResult } from './components/grid-config/grid-config.model';\r\nimport { SdGridConfig } from './components/grid-config/grid-config.component';\r\nimport { EditorHandlerPipe } from './pipes/editor-handler.pipe';\r\nimport { SdGridPopupEditor } from './components/grid-popup-editor/grid-popup-editor.component';\r\nimport { SdGridPopupFilter } from './components/grid-popup-filter/grid-popup-filter.component';\r\nimport { merge, Subscription } from 'rxjs';\r\nimport { SdGridPopupExportExcel } from './components/grid-popup-export-excel/grid-popup-export-excel.component';\r\nimport { QuickFilter, FilterConfiguration } from './components/grid-popup-filter/grid-popup-filter.model';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { SdGridFilterInfo } from './models/filter-info.model';\r\n\r\nimport { IGridConfiguration, GRID_CONFIG } from './models/grid-configuration.model';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { SdCellDefDirective } from './directives/cell-def.directive';\r\nimport { SdCellFooterDevDirective } from './directives/cell-footer-def.directive';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { SdCellEditorDefDirective } from './directives/cell-editor-def.directive';\r\nimport { IHandlerServer, IHandlerLocal } from './models/handler';\r\nimport { HandlerLocal } from './models/handler-local';\r\nimport { HandlerDotnet } from './models/handler-dotnet';\r\nimport { SdGridImportExcel } from './components/grid-import-excel/grid-import-excel.component';\r\n\r\n\r\n@Component({\r\n selector: 'sd-grid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdGrid implements AfterViewInit, OnDestroy {\r\n private handler: IHandlerServer | IHandlerLocal;\r\n isMobileOrTablet = false;\r\n displayKey = 'SDCUSTOM';\r\n gridOption: SdGridOption;\r\n orderBy: string;\r\n orderDirection: 'ASC' | 'DESC';\r\n localItems: GridItem[] = [];\r\n items: GridItem[] = [];\r\n total: number;\r\n filter: {\r\n [key: string]: any\r\n } = {};\r\n externalFilter: {\r\n [key: string]: any\r\n } = {};\r\n hiddenPaginate = false;\r\n inlineExternal: {\r\n [key: string]: boolean;\r\n } = {};\r\n inlineColumn: {\r\n [key: string]: boolean;\r\n } = {};\r\n quickFilters: QuickFilter[] = [];\r\n selectedQuickFilter: string;\r\n // Paginate\r\n pages = [1];\r\n pageCount = 5;\r\n totalPage = 1;\r\n\r\n // Loading\r\n isLoading = false;\r\n\r\n viewItems: GridItem[] = [];\r\n sumarize: string;\r\n\r\n fixedColumns: SdGridColumn[] = [];\r\n normalColumns: SdGridColumn[] = [];\r\n columns: SdGridColumn[] = [];\r\n\r\n isCheckedAll = false;\r\n selectedItems: any[] = [];\r\n\r\n @ViewChildren('fixedHeader') private fixedHeaders: QueryList<ElementRef>;\r\n @ViewChildren('fixedBody') private fixedBodies: QueryList<ElementRef>;\r\n\r\n @ViewChild('fixedGridContainer') fixedGridContainer: ElementRef;\r\n @ViewChild('gridFixedBody') gridFixedBody: ElementRef;\r\n\r\n @ViewChild('gridContainer') gridContainer: ElementRef;\r\n @ViewChild('gridHeader') gridHeader: ElementRef;\r\n @ViewChild('gridBody') gridBody: ElementRef;\r\n\r\n @ViewChild('sdGridConfig', { static: true }) sdGridConfig: SdGridConfig;\r\n @ViewChild('sdGridPopupEditor') sdGridPopupEditor: SdGridPopupEditor;\r\n\r\n @ViewChild('sdGridPopupFilter') sdGridPopupFilter: SdGridPopupFilter;\r\n @ViewChild('matSelect') matSelect: MatSelect;\r\n\r\n @ViewChild('sdGridPopupExportExcel') sdGridPopupExportExcel: SdGridPopupExportExcel;\r\n @ViewChild('sdGridImportExcel') sdGridImportExcel: SdGridImportExcel;\r\n\r\n @ContentChildren(SdCellDefDirective) cellDefs = new QueryList<SdCellDefDirective>();\r\n cellDef: {\r\n [column: string]: SdCellDefDirective\r\n } = {};\r\n\r\n @ContentChildren(SdCellEditorDefDirective) cellEditorDefs = new QueryList<SdCellEditorDefDirective>();\r\n cellEditorDef: {\r\n [column: string]: SdCellEditorDefDirective\r\n } = {};\r\n\r\n @ContentChildren(SdCellFooterDevDirective) cellFooterDefs = new QueryList<SdCellFooterDevDirective>();\r\n cellFooterDef: {\r\n [column: string]: SdCellFooterDevDirective[];\r\n } = {};\r\n #numberOfFooterRows = 0;\r\n footerRows: number[] = [];\r\n\r\n #paginator: MatPaginator;\r\n @ViewChild(MatPaginator) set paginator(paginator: MatPaginator) {\r\n if (paginator && this.#paginator !== paginator) {\r\n this.#paginator = paginator;\r\n this.#subscription.add(paginator.page.subscribe(this.selectPage));\r\n }\r\n }\r\n\r\n @Input() set option(value: SdGridOption) {\r\n this.setOption(value);\r\n }\r\n selectedItem: any = null;\r\n #subscription = new Subscription();\r\n rowHandler = {\r\n click: (item: any) => {\r\n this.selectedItem = item;\r\n if (this.gridOption.onClickRow) {\r\n this.gridOption.onClickRow(item);\r\n }\r\n },\r\n dblClick: (item: any) => {\r\n this.selectedItem = item;\r\n if (this.gridOption.onDblClickRow) {\r\n this.gridOption.onDblClickRow(item);\r\n }\r\n }\r\n };\r\n\r\n private setOption = (option: SdGridOption) => {\r\n option = this.initConfiguration(option);\r\n option = this.initTranslate(option);\r\n delete this.gridOption;\r\n this.gridOption = option;\r\n // Loại bỏ những command bị ẩn\r\n this.gridOption.commands = this.gridOption.commands.filter(command => {\r\n const hidden = command.hidden;\r\n if (hidden !== undefined) {\r\n if (typeof (hidden) === 'boolean') {\r\n return !hidden;\r\n } else if (typeof (hidden) === 'function') {\r\n return !hidden();\r\n }\r\n } else {\r\n return true;\r\n }\r\n });\r\n this.sdGridConfig.setOption({\r\n key: option.key,\r\n pageSize: this.gridOption.paginate.pageSize,\r\n columns: this.gridOption.columns\r\n });\r\n this.initExternalFilter();\r\n this.resize();\r\n this.detectChanges();\r\n }\r\n\r\n private initConfiguration = (option: SdGridOption) => {\r\n const gridConfiguration = this.configuration;\r\n // Filter\r\n if (!option.filter?.type && gridConfiguration?.filter?.type) {\r\n if (!option.filter) {\r\n option.filter = {\r\n type: gridConfiguration.filter.type\r\n };\r\n } else {\r\n option.filter.type = gridConfiguration.filter.type;\r\n }\r\n }\r\n if (!option.filter?.columnInline && gridConfiguration?.filter?.columnInline) {\r\n if (!option.filter) {\r\n option.filter = {\r\n columnInline: gridConfiguration.filter.columnInline\r\n };\r\n } else {\r\n option.filter.columnInline = gridConfiguration.filter.columnInline;\r\n }\r\n }\r\n if (!option.filter?.quickFilterVisibility && gridConfiguration?.filter?.quickFilterVisibility) {\r\n if (!option.filter) {\r\n option.filter = {\r\n quickFilterVisibility: gridConfiguration.filter.quickFilterVisibility\r\n };\r\n } else {\r\n option.filter.quickFilterVisibility = gridConfiguration.filter.quickFilterVisibility;\r\n }\r\n }\r\n // Translate\r\n option.translate = option.translate ?? gridConfiguration?.translate;\r\n switch (option.type) {\r\n case 'local':\r\n this.handler = this.handlerLocal;\r\n break;\r\n case 'dotnet':\r\n this.handler = this.handlerDotnet;\r\n break;\r\n case 'custom':\r\n this.handler = option.handlerCustom || gridConfiguration?.handlerCustom;\r\n if (!this.handler) {\r\n this.notifyService.notify.warning(`Handler custom was not found`);\r\n return;\r\n }\r\n break;\r\n }\r\n return { ...defaultGridOption, ...option };\r\n }\r\n\r\n private initTranslate = (option: SdGridOption) => {\r\n const { translate } = this.translateService;\r\n option.commands?.forEach(command => {\r\n if (!option.translate) {\r\n return;\r\n }\r\n if (typeof (command.title) === 'string') {\r\n command.title = translate(command.title);\r\n }\r\n if ('children' in command) {\r\n command.children?.forEach(childCommand => {\r\n if (typeof (childCommand.title) === 'string') {\r\n childCommand.title = translate(childCommand.title);\r\n }\r\n });\r\n }\r\n });\r\n option.columns?.forEach(column => {\r\n if (column.translate === false) {\r\n return;\r\n }\r\n if (option.translate || column.translate) {\r\n column.title = translate(column.title);\r\n }\r\n if (column.type === 'children') {\r\n column?.children?.forEach(childColumn => {\r\n if (childColumn.translate === false) {\r\n return;\r\n }\r\n if (option.translate || childColumn.translate) {\r\n childColumn.title = translate(childColumn.title);\r\n }\r\n });\r\n }\r\n });\r\n option.filter?.externalFilters?.forEach(externalFilter => {\r\n if (option.translate) {\r\n externalFilter.title = translate(externalFilter.title);\r\n }\r\n });\r\n return option;\r\n }\r\n\r\n constructor(\r\n @Inject(GRID_CONFIG) @Optional() public configuration: IGridConfiguration,\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService,\r\n private handlerLocal: HandlerLocal,\r\n private handlerDotnet: HandlerDotnet,\r\n private translateService: SdTranslateService,\r\n private datePipe: DatePipe,\r\n private loadingService: SdLoadingService,\r\n private apiService: SdApiService,\r\n private excelService: SdExcelService,\r\n private notifyService: SdNotifyService,\r\n private editorVisiblePipe: EditorHandlerPipe) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n // this.ref.detach();\r\n // setInterval(() => {\r\n // this.ref.markForCheck();\r\n // }, 1000);\r\n // ref.detach();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.fixedHeaders.changes.pipe(startWith([])).subscribe(() => {\r\n setTimeout(() => {\r\n const fixedHeaders = this.fixedHeaders.toArray();\r\n if (fixedHeaders.length > 0) {\r\n let left = $(fixedHeaders[0].nativeElement).outerWidth(true);\r\n for (let i = 1; i < fixedHeaders.length; i++) {\r\n $(fixedHeaders[i].nativeElement).css({ left });\r\n left += $(fixedHeaders[i].nativeElement).outerWidth(true);\r\n }\r\n }\r\n }, 100);\r\n }));\r\n this.#subscription.add(merge(this.fixedBodies.changes, this.cellFooterDefs.changes).pipe(startWith({})).subscribe(() => {\r\n setTimeout(() => {\r\n const fixedBodies = this.fixedBodies.toArray();\r\n if (fixedBodies.length > 0) {\r\n const fixedPerRow = this.fixedBodies.length / (this.viewItems.length + this.#numberOfFooterRows);\r\n let left = $(fixedBodies[0].nativeElement).outerWidth(true);\r\n for (let i = 1; i < fixedBodies.length; i++) {\r\n if (i % fixedPerRow === 0) {\r\n left = 0;\r\n }\r\n $(fixedBodies[i].nativeElement).css({ left });\r\n left += $(fixedBodies[i].nativeElement).outerWidth(true);\r\n }\r\n }\r\n const fixedHeaders = this.fixedHeaders.toArray();\r\n if (fixedHeaders.length > 0) {\r\n let left = $(fixedHeaders[0].nativeElement).outerWidth(true);\r\n for (let i = 1; i < fixedHeaders.length; i++) {\r\n $(fixedHeaders[i].nativeElement).css({ left });\r\n left += $(fixedHeaders[i].nativeElement).outerWidth(true);\r\n }\r\n }\r\n }, 100);\r\n }));\r\n this.#subscription.add(this.cellDefs.changes.pipe(startWith([])).subscribe(() => {\r\n this.cellDef = {};\r\n for (const cellDef of this.cellDefs) {\r\n if (cellDef.sdCellDef) {\r\n this.cellDef[cellDef.sdCellDef] = cellDef;\r\n }\r\n }\r\n }));\r\n this.#subscription.add(this.cellEditorDefs.changes.pipe(startWith([])).subscribe(() => {\r\n this.cellEditorDef = {};\r\n for (const cellEditorDef of this.cellEditorDefs) {\r\n if (cellEditorDef.sdCellEditorDef) {\r\n this.cellEditorDef[cellEditorDef.sdCellEditorDef] = cellEditorDef;\r\n }\r\n }\r\n }));\r\n this.#subscription.add(this.cellFooterDefs.changes.pipe(startWith([])).subscribe(() => {\r\n this.cellFooterDef = {};\r\n this.#numberOfFooterRows = 0;\r\n for (const cellFooterDef of this.cellFooterDefs) {\r\n if (cellFooterDef.sdCellFooterDef) {\r\n if (!this.cellFooterDef[cellFooterDef.sdCellFooterDef]) {\r\n this.cellFooterDef[cellFooterDef.sdCellFooterDef] = [];\r\n }\r\n this.cellFooterDef[cellFooterDef.sdCellFooterDef].push(cellFooterDef);\r\n if (this.cellFooterDef[cellFooterDef.sdCellFooterDef].length > this.#numberOfFooterRows) {\r\n this.#numberOfFooterRows = this.cellFooterDef[cellFooterDef.sdCellFooterDef].length;\r\n }\r\n }\r\n }\r\n this.footerRows = Array(this.#numberOfFooterRows).fill(0).map((v, i) => i);\r\n }));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reload = async (gridItems?: any[]) => {\r\n if (this.isLoading) {\r\n return;\r\n }\r\n this.isLoading = true;\r\n const currentPage = (this.#paginator?.pageIndex || 0) + 1;\r\n const pageSize = this.#paginator?.pageSize || 50;\r\n try {\r\n if (this.gridOption.type !== 'local') {\r\n const handler = this.handler as IHandlerServer;\r\n const filter = handler.mapRequest(this.getFilterInfo(currentPage, pageSize));\r\n if (this.gridOption.method === 'GET') {\r\n const queryString = Object.keys(filter).filter(key => filter[key] !== null && filter[key] !== undefined)\r\n .map(key => key + '=' + filter[key]).join('&');\r\n const url = this.gridOption.url.includes('?') ? `${this.gridOption.url}&${queryString}` : `${this.gridOption.url}?${queryString}`;\r\n const response = await this.apiService.get(url);\r\n const { items, total } = handler.mapResponse(response);\r\n this.items = items;\r\n this.total = total;\r\n } else {\r\n const response = await this.apiService.post(this.gridOption.url, filter);\r\n const { items, total } = handler.mapResponse(response);\r\n this.items = items;\r\n this.total = total;\r\n }\r\n } else {\r\n const handler = this.handler as IHandlerLocal;\r\n if (typeof (this.gridOption.items) === 'function') {\r\n if (Array.isArray(gridItems)) {\r\n this.localItems = gridItems;\r\n } else {\r\n const results = this.gridOption.items();\r\n if (results instanceof Promise) {\r\n this.localItems = await results;\r\n } else {\r\n this.localItems = results;\r\n }\r\n }\r\n } else {\r\n this.gridOption.items = gridItems || this.gridOption.items;\r\n this.localItems = this.gridOption.items;\r\n }\r\n const response = handler.filter(this.localItems, {\r\n customFilter: this.gridOption.filter.customFilter,\r\n rawFilter: this.filter,\r\n columns: this.gridOption.columns,\r\n rawExternalFilter: this.externalFilter,\r\n externalFilters: this.gridOption.filter?.externalFilters,\r\n orderBy: this.orderBy,\r\n orderDirection: this.orderDirection,\r\n pageNumber: currentPage,\r\n pageSize\r\n });\r\n this.items = response.items;\r\n this.total = response.total;\r\n \r\n }\r\n this.items.forEach(item => item.originItem = { ...item });\r\n this.isCheckedAll = false;\r\n this.#setSelectedItems();\r\n await this.gridOption?.onReloadCompleted?.(this.items);\r\n this.generateViewItems();\r\n this.generateEditorHandlers();\r\n $(this.gridBody.nativeElement).scrollTop(0);\r\n if (currentPage > 1 && !this.viewItems?.length) {\r\n this.#paginator.firstPage();\r\n }\r\n this.detectChanges();\r\n } catch (error) {\r\n this.notifyService.handle.error(error);\r\n } finally {\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n reloadItem(data: { [id: string]: any }) {\r\n Object.keys(data).forEach(id => {\r\n const item = this.items.find(e => !!e.id && e.id === id);\r\n if (item) {\r\n this.gridOption.columns.forEach(column => {\r\n if (item[column.field] !== undefined && data[id][column.field] !== undefined && item[column.field] !== data[id][column.field]) {\r\n this.blink(item, column.field);\r\n }\r\n });\r\n Object.assign(item, data[id]);\r\n this.generateEditorHanlder(item);\r\n this.stopBlink();\r\n }\r\n });\r\n }\r\n\r\n private blink(item: GridItem, field: string) {\r\n item.blinker = item.blinker || {};\r\n item.blinker[field] = true;\r\n }\r\n private stopBlink() {\r\n setTimeout(() => {\r\n this.viewItems.forEach(item => {\r\n item.blinker = {};\r\n });\r\n }, 1500);\r\n }\r\n\r\n detectChanges = () => {\r\n this.ref.detectChanges();\r\n this.ref.markForCheck();\r\n }\r\n\r\n private generateViewItems() {\r\n const currentPage = (this.#paginator?.pageIndex || 0) + 1;\r\n const pageSize = this.#paginator?.pageSize || 50;\r\n delete this.viewItems;\r\n if (this.gridOption.type === 'local') {\r\n this.viewItems = this.items.filter((item, index) => {\r\n return index >= (currentPage - 1) * pageSize\r\n && index < currentPage * pageSize;\r\n });\r\n } else {\r\n this.viewItems = this.items;\r\n }\r\n this.viewItems.forEach(item => {\r\n item.blinker = item.blinker || {};\r\n item.subInformation = item.subInformation || {};\r\n });\r\n }\r\n\r\n get editedItems() {\r\n return this.items.filter(item => {\r\n if (!item.originItem) {\r\n return true;\r\n }\r\n if (Object.keys(item.originItem).some(key => item.originItem[key] !== item[key])) {\r\n return true;\r\n }\r\n return false;\r\n }).map(item => {\r\n const { temporary,\r\n originItem,\r\n editorHandler,\r\n editingStatus,\r\n isChecked,\r\n subInformation,\r\n blinker,\r\n ...result } = item;\r\n return result;\r\n });\r\n }\r\n\r\n selectPage = () => {\r\n if (this.gridOption.type === 'local') {\r\n this.reload(this.localItems);\r\n } else {\r\n this.reload();\r\n }\r\n }\r\n\r\n updateFilter = (param?: { filter: any, externalFilter: any }) => {\r\n this.filter = param?.filter || this.filter;\r\n this.externalFilter = param?.externalFilter || this.externalFilter;\r\n this.#paginator.pageIndex = 0;\r\n if (this.gridOption.type === 'local') {\r\n this.reload(this.localItems);\r\n } else {\r\n this.reload();\r\n }\r\n }\r\n\r\n getItems() {\r\n return this.items;\r\n }\r\n\r\n //#region Checkable\r\n\r\n #setSelectedItems = () => {\r\n this.selectedItems = this.items.filter(item => item.isChecked)\r\n .map(item => {\r\n const { temporary,\r\n originItem,\r\n editorHandler,\r\n editingStatus,\r\n isChecked,\r\n subInformation,\r\n blinker,\r\n ...result } = item;\r\n return result;\r\n });\r\n }\r\n\r\n onCheck = (item: GridItem, isCheckbox?: boolean) => {\r\n if (!this.gridOption.checkable) {\r\n return;\r\n }\r\n if (!isCheckbox) {\r\n item.isChecked = !item.isChecked;\r\n }\r\n this.isCheckedAll = this.items.length === this.items.filter(e => e.isChecked).length;\r\n this.gridOption.onCheck?.(this.items.filter(e => e.isChecked), item);\r\n this.#setSelectedItems();\r\n }\r\n\r\n checkAll(isCheckedAll: boolean) {\r\n this.isCheckedAll = isCheckedAll;\r\n this.items.forEach(item => item.isChecked = this.isCheckedAll);\r\n if (this.gridOption.onCheck) {\r\n this.gridOption.onCheck(this.items.filter(item => item.isChecked));\r\n }\r\n this.#setSelectedItems();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Sort\r\n sort = (column: SdGridColumn) => {\r\n if (column.type === 'children' || column.type === 'image') {\r\n return;\r\n }\r\n const sortable = this.gridOption.sortable ?? true;\r\n const columnSortable = column.sortable ?? true;\r\n if (!sortable || !columnSortable) {\r\n return;\r\n }\r\n if (this.orderBy === column.field) {\r\n this.orderDirection = this.orderDirection === 'ASC' ? 'DESC' : 'ASC';\r\n } else {\r\n this.orderBy = column.field;\r\n this.orderDirection = 'ASC';\r\n }\r\n if (this.gridOption.type === 'local') {\r\n this.reload(this.localItems);\r\n } else {\r\n this.reload();\r\n }\r\n }\r\n //#endregion\r\n\r\n // #region Resize Grid\r\n private resize() {\r\n this.detectChanges();\r\n if (this.gridOption.height) {\r\n this.gridBody.nativeElement.style.height = this.gridOption.height;\r\n } else {\r\n this.gridBody.nativeElement.style.height = `${window.innerHeight - 300}px`;\r\n setTimeout(() => {\r\n // Lấy offset top để điều chỉnh kích thước Grid vừa với màn hình\r\n const top = this.gridBody.nativeElement.getBoundingClientRect().top;\r\n // const top = $(this.gridBody.nativeElement).offset().top;\r\n const bottom = this.gridOption.hideFooter ? 0 : (this.isMobileOrTablet ? 45 : 55);\r\n const height = window.innerHeight - top - bottom;\r\n this.gridBody.nativeElement.style.height = `${height}px`;\r\n }, 0);\r\n setTimeout(() => {\r\n // Lấy offset top để điều chỉnh kích thước Grid vừa với màn hình\r\n const top = this.gridBody.nativeElement.getBoundingClientRect().top;\r\n // const top = $(this.gridBody.nativeElement).offset().top;\r\n const bottom = this.gridOption.hideFooter ? 0 : (this.isMobileOrTablet ? 45 : 55);\r\n const height = window.innerHeight - top - bottom;\r\n this.gridBody.nativeElement.style.height = `${height}px`;\r\n }, 200);\r\n setTimeout(() => {\r\n // Lấy offset top để điều chỉnh kích thước Grid vừa với màn hình\r\n const top = this.gridBody.nativeElement.getBoundingClientRect().top;\r\n // const top = $(this.gridBody.nativeElement).offset().top;\r\n const bottom = this.gridOption.hideFooter ? 0 : (this.isMobileOrTablet ? 45 : 55);\r\n const height = window.innerHeight - top - bottom;\r\n this.gridBody.nativeElement.style.height = `${height}px`;\r\n }, 500);\r\n setTimeout(() => {\r\n // Lấy offset top để điều chỉnh kích thước Grid vừa với màn hình\r\n const top = this.gridBody.nativeElement.getBoundingClientRect().top;\r\n // const top = $(this.gridBody.nativeElement).offset().top;\r\n const bottom = this.gridOption.hideFooter ? 0 : (this.isMobileOrTablet ? 45 : 55);\r\n const height = window.innerHeight - top - bottom;\r\n this.gridBody.nativeElement.style.height = `${height}px`;\r\n }, 1000);\r\n }\r\n }\r\n\r\n setHeight(height?: string) {\r\n this.gridOption.height = height;\r\n this.resize();\r\n }\r\n\r\n // #endregion\r\n\r\n //#region Import, Export, Config\r\n\r\n loadConfig(configResult: ConfigResult) {\r\n this.gridOption.paginate.pageSize = configResult.pageSize;\r\n this.gridOption.columns = configResult.columns;\r\n this.fixedColumns = configResult.fixedColumns;\r\n this.normalColumns = configResult.normalColumns;\r\n this.columns = [...this.fixedColumns, ...this.normalColumns];\r\n this.initFilter();\r\n this.initDictionaryColumnValues();\r\n this.reload();\r\n }\r\n\r\n private initFilter() {\r\n this.gridOption.columns.forEach(column => {\r\n // Gán giá trị filter mặc định cho từng cột\r\n this.filter[column.field] = this.filter[column.field] ?? '';\r\n });\r\n }\r\n\r\n private initDictionaryColumnValues() {\r\n this.gridOption.columns.forEach(column => {\r\n if (column.type === 'values') {\r\n column.dictionary = {};\r\n if (column.values) {\r\n column.values.forEach(e => {\r\n column.dictionary[e.value.toString()] = {\r\n text: e.text,\r\n icon: e.icon,\r\n color: e.color,\r\n backgroundColor: e.backgroundColor\r\n };\r\n });\r\n }\r\n }\r\n if (column.type === 'children') {\r\n column.children.forEach(childColumn => {\r\n if (childColumn.type === 'values') {\r\n childColumn.dictionary = {};\r\n if (childColumn.values) {\r\n childColumn.values.forEach(e => {\r\n childColumn.dictionary[e.value.toString()] = {\r\n text: e.text,\r\n icon: e.icon,\r\n color: e.color,\r\n backgroundColor: e.backgroundColor\r\n };\r\n });\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n private generateEditorHandlers() {\r\n this.viewItems.forEach(item => {\r\n this.generateEditorHanlder(item);\r\n });\r\n }\r\n\r\n private generateEditorHanlder(item: GridItem) {\r\n // item.editorHandler = item.editorHandler || {};\r\n this.editorVisiblePipe.transform(null, item, this.gridOption);\r\n }\r\n trackById(index, item) {\r\n return item.id;\r\n }\r\n\r\n get isFiltering() {\r\n return Object.values(this.filter).some(value => !!value);\r\n }\r\n\r\n onFilterPopup() {\r\n const f1 = JSON.stringify(this.filter);\r\n const f2 = JSON.stringify(this.externalFilter);\r\n const filter = JSON.parse(f1);\r\n const externalFilter = JSON.parse(f2);\r\n this.sdGridPopupFilter.open(this.fixedColumns, this.normalColumns, filter, externalFilter, this.gridOption.filter?.externalFilters);\r\n }\r\n\r\n clearFilter = () => {\r\n this.filter = {};\r\n this.externalFilter = {};\r\n this.initFilter();\r\n this.initExternalFilter();\r\n if (this.sdGridPopupFilter) {\r\n this.sdGridPopupFilter.filter = this.filter;\r\n this.sdGridPopupFilter.externalFilter = this.externalFilter;\r\n }\r\n }\r\n\r\n onClearFilter = () => {\r\n this.clearFilter();\r\n this.reload();\r\n }\r\n\r\n expandOrCollapse = async (gridItem: GridItem) => {\r\n const { temporary,\r\n originItem,\r\n editorHandler,\r\n editingStatus,\r\n isChecked,\r\n subInformation,\r\n ...item } = gridItem;\r\n if (!this.gridOption.subInformation) {\r\n return;\r\n }\r\n if (gridItem.subInformation?.isOpened) {\r\n gridItem.subInformation.isOpened = false;\r\n return;\r\n }\r\n if (this.gridOption.subInformation.lazyLoading && !gridItem.subInformation?.isLoaded) {\r\n gridItem.subInformation.isLoading = true;\r\n try {\r\n gridItem.subInformation.subItems = await this.gridOption.subInformation.onLoad(item);\r\n if (!Array.isArray(gridItem.subInformation.subItems)) {\r\n this.notifyService.alert.warning(`Data is not an array`);\r\n gridItem.subInformation.subItems = [];\r\n }\r\n gridItem.subInformation.isLoading = false;\r\n gridItem.subInformation.isLoaded = true;\r\n gridItem.subInformation.isOpened = true;\r\n this.ref.detectChanges();\r\n } catch (err) {\r\n this.notifyService.handle.error(err);\r\n gridItem.subInformation.isLoading = false;\r\n this.ref.detectChanges();\r\n }\r\n return;\r\n }\r\n if (this.gridOption.subInformation.lazyLoading === false && !gridItem.subInformation.isLoaded) {\r\n gridItem.subInformation.subItems = gridItem[this.gridOption.subInformation.field];\r\n if (!Array.isArray(gridItem.subInformation.subItems)) {\r\n this.notifyService.alert.warning(`Data is not an array`);\r\n gridItem.subInformation.subItems = [];\r\n }\r\n gridItem.subInformation.isLoaded = true;\r\n gridItem.subInformation.isOpened = true;\r\n return;\r\n }\r\n gridItem.subInformation.isOpened = true;\r\n this.ref.detectChanges();\r\n }\r\n //#region Editable\r\n onCreate = () => {\r\n const { type, editor, columns } = this.gridOption;\r\n if (!editor?.addable) {\r\n return;\r\n }\r\n const item: GridItem = {};\r\n // Gán giá trị mặc định\r\n columns.forEach(column => {\r\n if (column.type === 'values') {\r\n item[column.field] = '';\r\n } else if (column.type === 'bool') {\r\n item[column.field] = true;\r\n } else if (column.type === 'number') {\r\n item[column.field] = null;\r\n }\r\n });\r\n editor.onAdd?.(item);\r\n // Đưa item lên dòng đầu tiên nếu type khác popup\r\n if (editor.type !== 'popup') {\r\n if (type === 'local') {\r\n this.items.splice(0, 0, item);\r\n }\r\n this.viewItems.splice(0, 0, item);\r\n }\r\n this.onUpdate(item, false);\r\n }\r\n onUpdate = (item: GridItem, isModified?: boolean) => {\r\n const { editor, columns } = this.gridOption;\r\n item.editingStatus = isModified ? 'update' : 'create';\r\n item.temporary = { ...item };\r\n this.generateEditorHanlder(item);\r\n if (editor.type === 'popup') {\r\n this.sdGridPopupEditor.open(item, columns, isModified);\r\n }\r\n this.ref.detectChanges();\r\n }\r\n onSave = async (item: GridItem) => {\r\n const { editor } = this.gridOption;\r\n try {\r\n item.editorHandler.saving = true;\r\n if (editor.validate) {\r\n const result = editor.validate(item);\r\n if (result instanceof Promise) {\r\n const message = await result;\r\n if (message) {\r\n throw message;\r\n }\r\n } else {\r\n if (result) {\r\n throw result;\r\n }\r\n }\r\n }\r\n if (editor.onSave) {\r\n const result = editor.onSave(item);\r\n if (result instanceof Promise) {\r\n await result;\r\n }\r\n }\r\n\r\n if (item.editingStatus === 'create' && editor.type === 'popup') {\r\n if (this.gridOption.type === 'local') {\r\n this.items.splice(0, 0, item);\r\n }\r\n this.viewItems.splice(0, 0, item);\r\n }\r\n\r\n item.editingStatus = undefined;\r\n this.generateEditorHanlder(item);\r\n } catch (err) {\r\n this.notifyService.notify.warning(err);\r\n } finally {\r\n item.editorHandler.saving = false;\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n onCancel = (item: GridItem) => {\r\n const { editor } = this.gridOption;\r\n if (editor.type === 'inline') {\r\n if (this.gridOption.type === 'local') {\r\n const idx1 = this.items.indexOf(item);\r\n this.items.splice(idx1, 1);\r\n }\r\n const idx2 = this.viewItems.indexOf(item);\r\n this.viewItems.splice(idx2, 1);\r\n return;\r\n }\r\n if (item.editingStatus === 'create') {\r\n if (editor.type !== 'popup') {\r\n if (this.gridOption.type === 'local') {\r\n this.items.splice(0, 1);\r\n }\r\n this.viewItems.splice(0, 1);\r\n }\r\n } else {\r\n Object.assign(item, item.temporary);\r\n item.editingStatus = undefined;\r\n this.generateEditorHanlder(item);\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n private initExternalFilter = () => {\r\n if (this.gridOption.filter?.externalFilters?.length) {\r\n this.gridOption.filter.externalFilters.forEach(externalFilter => {\r\n if (externalFilter.type === 'string') {\r\n if (externalFilter.default) {\r\n this.externalFilter[externalFilter.field] = externalFilter.default ?? '';\r\n }\r\n return;\r\n }\r\n if (externalFilter.type === 'number') {\r\n if (externalFilter.default) {\r\n this.externalFilter[externalFilter.field] = externalFilter.default ?? undefined;\r\n }\r\n return;\r\n }\r\n if (externalFilter.type === 'daterange') {\r\n this.externalFilter[externalFilter.field] = {\r\n from: externalFilter.defaultFrom ?? undefined,\r\n to: externalFilter.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (externalFilter.type === 'numberrange') {\r\n this.externalFilter[externalFilter.field] = {\r\n from: externalFilter.defaultFrom ?? undefined,\r\n to: externalFilter.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (externalFilter.type === 'daterangefull') {\r\n this.externalFilter[externalFilter.field] = {\r\n from: externalFilter.defaultFrom ?? undefined,\r\n to: externalFilter.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (externalFilter.type === 'values') { // andn1\r\n if (externalFilter.default) {\r\n this.externalFilter[externalFilter.field] = externalFilter.default ?? '';\r\n }\r\n return;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n onSearch = (searchValue: string, item: GridItem, column: SdGridColumn) => {\r\n item[column.field] = searchValue;\r\n }\r\n\r\n onFilterConfigurationLoaded = (param: FilterConfiguration) => {\r\n this.quickFilters = param.quickFilters || [];\r\n this.selectedQuickFilter = param.selectedQuickFilter || '';\r\n if (this.selectedQuickFilter) {\r\n const quickFilter = this.quickFilters.find(e => e.code === this.selectedQuickFilter);\r\n if (quickFilter) {\r\n const f1 = JSON.stringify(quickFilter.filter);\r\n const f2 = JSON.stringify(quickFilter.externalFilter);\r\n this.filter = JSON.parse(f1);\r\n this.externalFilter = this.refreshExternalFilter(this.gridOption?.filter?.externalFilters, JSON.parse(f2));\r\n }\r\n }\r\n this.inlineExternal = param.inlineExternal || {};\r\n this.inlineColumn = param.inlineColumn || {};\r\n this.resize();\r\n }\r\n\r\n onSelectQuickFilter = (value: string) => {\r\n const quickFilter = this.quickFilters.find(e => e.code === value);\r\n if (quickFilter?.code) {\r\n const f1 = JSON.stringify(quickFilter.filter);\r\n const f2 = JSON.stringify(quickFilter.externalFilter);\r\n this.selectedQuickFilter = quickFilter?.code;\r\n this.filter = JSON.parse(f1);\r\n this.externalFilter = this.refreshExternalFilter(this.gridOption?.filter?.externalFilters, JSON.parse(f2));\r\n this.updateFilter();\r\n } else {\r\n this.selectedQuickFilter = '';\r\n this.onClearFilter();\r\n }\r\n this.sdGridPopupFilter?.updateConfiguration(this.selectedQuickFilter);\r\n }\r\n\r\n private getExportItems = async (pageNumber: number = 1, pageSize: number = 10000) => {\r\n if (this.isLoading) {\r\n return;\r\n }\r\n this.isLoading = true;\r\n try {\r\n if (this.gridOption.type !== 'local') {\r\n const handler = this.handler as IHandlerServer;\r\n const filter = handler.mapRequest(this.getFilterInfo(pageNumber, pageSize));\r\n if (this.gridOption.method === 'GET') {\r\n const queryString = Object.keys(filter).filter(key => filter[key] !== null && filter[key] !== undefined)\r\n .map(key => key + '=' + filter[key]).join('&');\r\n const url = this.gridOption.url.includes('?') ? `${this.gridOption.url}&${queryString}` : `${this.gridOption.url}?${queryString}`;\r\n const response = await this.apiService.get(url);\r\n return handler.mapResponse(response).items;\r\n } else {\r\n const response = await this.apiService.post(this.gridOption.url, filter);\r\n return handler.mapResponse(response).items;\r\n }\r\n } else {\r\n let localItems = [];\r\n const handler = this.handler as IHandlerLocal;\r\n if (typeof (this.gridOption.items) === 'function') {\r\n const results = this.gridOption.items();\r\n if (results instanceof Promise) {\r\n localItems = await results;\r\n } else {\r\n localItems = results;\r\n }\r\n } else {\r\n localItems = this.gridOption.items;\r\n }\r\n const response = handler.filter(localItems, {\r\n customFilter: this.gridOption.filter.customFilter,\r\n rawFilter: this.filter,\r\n columns: this.gridOption.columns,\r\n rawExternalFilter: this.externalFilter,\r\n externalFilters: this.gridOption.filter?.externalFilters,\r\n orderBy: this.orderBy,\r\n orderDirection: this.orderDirection,\r\n pageNumber,\r\n pageSize\r\n });\r\n return response.items;\r\n }\r\n } catch (error) {\r\n this.notifyService.handle.error(error);\r\n } finally {\r\n this.isLoading = false;\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n private getFilterInfo = (pageNumber: number, pageSize: number): SdGridFilterInfo => {\r\n for (const key of Object.keys(this.filter)) {\r\n if (typeof (this.filter[key]) === 'string') {\r\n this.filter[key] = this.filter[key].trim();\r\n }\r\n }\r\n for (const key of Object.keys(this.externalFilter)) {\r\n if (typeof (this.externalFilter[key]) === 'string') {\r\n this.externalFilter[key] = this.externalFilter[key].trim();\r\n }\r\n }\r\n return {\r\n customFilter: this.gridOption.filter.customFilter,\r\n rawFilter: this.filter,\r\n columns: this.gridOption.columns,\r\n rawExternalFilter: this.externalFilter,\r\n externalFilters: this.gridOption.filter?.externalFilters,\r\n orderBy: this.orderBy,\r\n orderDirection: this.orderDirection,\r\n pageNumber,\r\n pageSize\r\n };\r\n }\r\n\r\n onExportByTemplate = async (params: { excelConfig: ExcelConfig, excelColumns: ExcelTempateColumn[] }) => {\r\n this.loadingService.start();\r\n let exportItems = [];\r\n if (this.gridOption.export?.items) {\r\n exportItems = await this.gridOption.export?.items(this.getFilterInfo(1, 10000)).finally(this.loadingService.stop);\r\n } else {\r\n exportItems = await this.getExportItems().finally(this.loadingService.stop);\r\n }\r\n if (this.gridOption.export?.mapping) {\r\n const results = this.gridOption.export.mapping(exportItems, params.excelConfig.name);\r\n if (results instanceof Promise) {\r\n exportItems = await results;\r\n } else {\r\n exportItems = results;\r\n }\r\n }\r\n const columns = [...this.gridOption.columns, ...(this.gridOption.export?.columns || [])];\r\n const items = exportItems.map(item => {\r\n const obj: any = {};\r\n const handle = (column: SdGridColumn) => {\r\n if (column.type === 'children') {\r\n column.children.forEach(handle);\r\n } else if (column.transform) {\r\n obj[column.field] = column.transform(item[column.field], item);\r\n } else if (item[column.field] === undefined || item[column.field] === null || item[column.field] === '') {\r\n obj[column.field] = '';\r\n } else if (column.type === 'string' || column.type === 'number' || column.type === 'color') {\r\n // Nếu cell là string hoặc number thì gán bằng chính nó\r\n obj[column.field] = item[column.field];\r\n } else if (column.type === 'bool') {\r\n // Nếu là bool thì gán bằng giá trị trueValue và falseValue (nếu có), mặc định là TRUE/FALSE\r\n if (item[column.field]) {\r\n obj[column.field] = column.trueValue || 'True';\r\n } else {\r\n obj[column.field] = column.falseValue || 'False';\r\n }\r\n } else if (column.type === 'date') {\r\n // Nếu là date thì convert theo đúng format\r\n const date = new Date(item[column.field]);\r\n obj[column.field] = this.datePipe.transform(date, 'dd/MM/yyyy');\r\n } else if (column.type === 'datetime') {\r\n // Nếu là datetime thì convert theo đúng format\r\n const date = new Date(item[column.field]);\r\n obj[column.field] = this.datePipe.transform(date, 'dd/MM/yyyy HH:mm:ss');\r\n } else if (column.type === 'time') {\r\n // Nếu là time thì convert theo đúng format\r\n const date = new Date(item[column.field]);\r\n obj[column.field] = this.datePipe.transform(date, 'HH:mm:ss');\r\n } else if (column.type === 'values') {\r\n // Nếu là values thì lấy giá trị của value được chọn\r\n const data = column.values.find(e => e.value === item[column.field]);\r\n if (data) {\r\n obj[column.field] = data.text;\r\n } else {\r\n obj[column.field] = item[column.field];\r\n }\r\n } else if (column.type === 'radio') {\r\n const data = column.values.find(e => e[column.valueField] === item[column.field]);\r\n if (data) {\r\n obj[column.field] = data[column.displayField];\r\n } else {\r\n obj[column.field] = item[column.field];\r\n }\r\n }\r\n };\r\n columns.forEach(handle);\r\n return obj;\r\n });\r\n this.excelService.generateExcelDataByTemplate(params.excelConfig.fullPath, params.excelColumns, items, params.excelConfig.name);\r\n }\r\n\r\n bigExport = async () => {\r\n const pageSize = 1000;\r\n let pageNumber = 1;\r\n this.loadingService.start();\r\n try {\r\n let exportItems = [];\r\n let filePath: string = null;\r\n let destination: string = null;\r\n let latestRow = 0;\r\n while (true) {\r\n if (this.gridOption.export?.items) {\r\n exportItems = await this.gridOption.export?.items(this.getFilterInfo(pageNumber, pageSize)).finally(this.loadingService.stop);\r\n } else {\r\n exportItems = await this.getExportItems(pageNumber, pageSize).finally(this.loadingService.stop);\r\n }\r\n if (this.gridOption.export?.mapping) {\r\n const results = this.gridOption.export.mapping(exportItems);\r\n if (results instanceof Promise) {\r\n exportItems = await results;\r\n } else {\r\n exportItems = results;\r\n }\r\n }\r\n const columns = [...this.gridOption.columns, ...(this.gridOption.export?.columns || [])];\r\n const items = exportItems.map(item => {\r\n const obj: any = {};\r\n const handle = (column: SdGridColumn) => {\r\n if (column.type === 'children') {\r\n column.children.forEach(handle);\r\n } else if (column.transform) {\r\n obj[column.field] = column.transform(item[column.field], item);\r\n } else if (item[column.field] === undefined || item[column.field] === null || item[column.field] === '') {\r\n obj[column.field] = '';\r\n } else if (column.type === 'string' || column.type === 'number' || column.type === 'color') {\r\n // Nếu cell là string hoặc number thì gán bằng chính nó\r\n obj[column.field] = item[column.field];\r\n } else if (column.type === 'bool') {\r\n // Nếu là bool thì gán bằng giá trị trueValue và falseValue (nếu có), mặc định là TRUE/FALSE\r\n if (item[column.field]) {\r\n obj[column.field] = column.trueValue || 'True';\r\n } else {\r\n obj[column.field] = column.falseValue || 'False';\r\n }\r\n } else if (column.type === 'date') {\r\n // Nếu là date thì convert theo đúng format\r\n const date = new Date(item[column.field]);\r\n obj[column.field] = this.datePipe.transform(date, 'dd/MM/yyyy');\r\n } else if (column.type === 'datetime') {\r\n // Nếu là datetime thì convert theo đúng format\r\n const date = new Date(item[column.field]);\r\n obj[column.field] = this.datePipe.transform(date, 'dd/MM/yyyy HH:mm:ss');\r\n } else if (column.type === 'time') {\r\n // Nếu là time thì convert theo đúng format\r\n const date = new Date(item[column.field]);\r\n obj[column.field] = this.datePipe.transform(date, 'HH:mm:ss');\r\n } else if (column.type === 'values') {\r\n // Nếu là values thì lấy giá trị của value được chọn\r\n const data = column.values.find(e => e.value === item[column.field]);\r\n if (data) {\r\n obj[column.field] = data.text;\r\n } else {\r\n obj[column.field] = item[column.field];\r\n }\r\n } else if (column.type === 'radio') {\r\n const data = column.values.find(e => e[column.valueField] === item[column.field]);\r\n if (data) {\r\n obj[column.field] = data[column.displayField];\r\n } else {\r\n obj[column.field] = item[column.field];\r\n }\r\n }\r\n };\r\n columns.forEach(handle);\r\n return obj;\r\n });\r\n const result = await this.excelService.bigExport({\r\n columns,\r\n items,\r\n latestRow,\r\n filePath,\r\n destination\r\n });\r\n latestRow = result.latestRow;\r\n filePath = result.filePath;\r\n destination = result.destination;\r\n if ((pageNumber - 1) * pageSize + items.length >= this.total) {\r\n await this.excelService.download(filePath);\r\n break;\r\n }\r\n pageNumber++;\r\n }\r\n } finally {\r\n this.loadingService.stop();\r\n }\r\n }\r\n\r\n get invalidItems() {\r\n return this.items.filter(e => e.editorHandler?.errorMessage).map(e => {\r\n const { temporary,\r\n originItem,\r\n editorHandler,\r\n editingStatus,\r\n isChecked,\r\n subInformation,\r\n blinker,\r\n ...item } = e;\r\n return {\r\n item,\r\n message: e.editorHandler.errorMessage\r\n };\r\n });\r\n }\r\n\r\n get gridItems() {\r\n return this.items.map(e => {\r\n const { temporary,\r\n originItem,\r\n editorHandler,\r\n editingStatus,\r\n isChecked,\r\n subInformation,\r\n blinker,\r\n ...item } = e;\r\n return item;\r\n });\r\n }\r\n\r\n onEditorChange = () => {\r\n this.ref.detectChanges();\r\n }\r\n onSelectPageSize = () => {\r\n this.reload();\r\n }\r\n private refreshExternalFilter = (externalFilters: SdGridExternalFilter[], externalFilter: any) => {\r\n externalFilter = externalFilter || {};\r\n externalFilters = externalFilters || [];\r\n externalFilters.forEach(e => {\r\n if (e.type === 'string') {\r\n externalFilter[e.field] = externalFilter[e.field] ?? e.default ?? '';\r\n return;\r\n }\r\n if (e.type === 'number') {\r\n externalFilter[e.field] = externalFilter[e.field] ?? e.default ?? undefined;\r\n return;\r\n }\r\n if (e.type === 'daterange') {\r\n externalFilter[e.field] = {\r\n from: externalFilter[e.field]?.from ?? e.defaultFrom ?? undefined,\r\n to: externalFilter[e.field]?.to ?? e.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (e.type === 'numberrange') {\r\n externalFilter[e.field] = {\r\n from: externalFilter[e.field]?.from ?? e.defaultFrom ?? undefined,\r\n to: externalFilter[e.field]?.to ?? e.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (e.type === 'daterangefull') {\r\n externalFilter[e.field] = {\r\n from: externalFilter[e.field]?.from ?? e.defaultFrom ?? undefined,\r\n to: externalFilter[e.field]?.to ?? e.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (e.type === 'values') { // andn1\r\n externalFilter[e.field] = (externalFilter[e.field] || e.default) ?? '';\r\n return;\r\n }\r\n });\r\n return externalFilter;\r\n }\r\n\r\n onCreateQuickFilter = (ev?: Event) => {\r\n this.matSelect?.close();\r\n this.onFilterPopup();\r\n this.sdGridPopupFilter?.close();\r\n this.sdGridPopupFilter?.onCreateQuickFilter(ev);\r\n }\r\n\r\n onEditQuickFilter = (ev: Event, quickFilter?: QuickFilter) => {\r\n this.matSelect?.close();\r\n this.onFilterPopup();\r\n this.sdGridPopupFilter?.close();\r\n this.sdGridPopupFilter?.onEditQuickFilter(ev, quickFilter);\r\n }\r\n\r\n onDeleteQuickFilter = (ev: Event, quickFilter?: QuickFilter) => {\r\n this.matSelect?.close();\r\n this.onFilterPopup();\r\n this.sdGridPopupFilter?.close();\r\n this.sdGridPopupFilter?.onDeleteQuickFilter(ev, quickFilter);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'sdDynamicItems'\r\n})\r\nexport class SdDynamicItems implements PipeTransform {\r\n transform(value: any, dynamicItems: (value: any) => Promise<any[]>) {\r\n return dynamicItems;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { ConfigOption, ConfigResult, ConfigStorage } from './grid-config.model';\r\n\r\nimport {\r\n SdNotifyService\r\n} from '@sd-angular/core/notify';\r\n\r\nimport {\r\n SdTranslateService\r\n} from '@sd-angular/core/translate';\r\n\r\nimport {\r\n SdSetting,\r\n SdSettingService\r\n} from '@sd-angular/core/setting';\r\nimport { SdModal } from '@sd-angular/core/modal';\r\n\r\n@Component({\r\n selector: 'sd-grid-config',\r\n templateUrl: './grid-config.component.html',\r\n styleUrls: ['./grid-config.component.scss']\r\n})\r\nexport class SdGridConfig implements OnInit {\r\n @ViewChild('modal') modal: SdModal;\r\n @Output() sdChange = new EventEmitter<ConfigResult>();\r\n\r\n option: ConfigOption;\r\n storage: ConfigStorage;\r\n #setting: SdSetting<ConfigStorage>;\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private notifyService: SdNotifyService,\r\n private settingService: SdSettingService,\r\n private translateService: SdTranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async setOption(option: ConfigOption) {\r\n this.ref.detectChanges();\r\n this.option = option;\r\n if (this.option.key) {\r\n this.#setting = this.settingService.create<ConfigStorage>(this.option.key);\r\n } else {\r\n this.#setting = null;\r\n }\r\n await this.init();\r\n this.emitOnChange();\r\n }\r\n\r\n private async init() {\r\n if (this.#setting) {\r\n const storage: ConfigStorage = await this.#setting.get();\r\n try {\r\n if (!storage) {\r\n await this.#setting.remove();\r\n this.#initDefault();\r\n return;\r\n }\r\n this.storage = storage;\r\n\r\n // Loại bỏ những column đã bị xóa khỏi originColumns\r\n this.storage.columnConfigs = this.storage.columnConfigs\r\n .filter(column => this.option.columns.some(e => e.field === column.originColumn.field));\r\n\r\n // Thêm những column mới vào storage nếu có\r\n this.option.columns.forEach(column => {\r\n if (!this.storage.columnConfigs.some(e => e.originColumn.field === column.field)) {\r\n this.storage.columnConfigs.push({\r\n originColumn: {\r\n field: column.field,\r\n title: column.title,\r\n width: column.width,\r\n fixed: column.fixed\r\n },\r\n hidden: false,\r\n fixed: column.fixed\r\n });\r\n }\r\n });\r\n\r\n // Cập nhật originColumn\r\n this.storage.columnConfigs.forEach(column => {\r\n const originColumn = this.option.columns.find(e => e.field === column.originColumn.field);\r\n if (originColumn) {\r\n Object.assign(column.originColumn, {\r\n title: originColumn.title,\r\n width: originColumn.width,\r\n fixed: originColumn.fixed\r\n });\r\n }\r\n });\r\n } catch (ex) {\r\n this.#setting.remove();\r\n this.#initDefault();\r\n }\r\n } else {\r\n this.#initDefault();\r\n }\r\n }\r\n\r\n #initDefault = () => {\r\n this.storage = {};\r\n this.storage.pageSize = this.option.pageSize;\r\n this.storage.columnConfigs = [];\r\n this.option.columns.forEach(column => {\r\n this.storage.columnConfigs.push({\r\n originColumn: {\r\n field: column.field,\r\n title: column.title,\r\n width: column.width,\r\n fixed: column.fixed\r\n },\r\n hidden: false,\r\n fixed: column.fixed\r\n });\r\n });\r\n }\r\n\r\n open() {\r\n this.modal.open();\r\n }\r\n\r\n save() {\r\n if (!Number.isSafeInteger(+this.storage.pageSize)) {\r\n this.notifyService.notify.warning(this.translateService.translate('Page size must be an integer'));\r\n return;\r\n }\r\n if (this.storage.pageSize > 200) {\r\n this.notifyService.notify.warning(this.translateService.translate('Page size is too large'));\r\n return;\r\n }\r\n this.#setting?.set?.(this.storage);\r\n this.emitOnChange();\r\n this.modal.close();\r\n this.ref.detectChanges();\r\n }\r\n\r\n reset() {\r\n this.#setting?.remove?.();\r\n this.#initDefault();\r\n this.emitOnChange();\r\n this.modal.close();\r\n this.ref.detectChanges();\r\n }\r\n\r\n moveColumnUp(index: number) {\r\n const temp = this.storage.columnConfigs[index];\r\n this.storage.columnConfigs[index] = this.storage.columnConfigs[index - 1];\r\n this.storage.columnConfigs[index - 1] = temp;\r\n }\r\n\r\n moveColumnDown(index: number) {\r\n const temp = this.storage.columnConfigs[index];\r\n this.storage.columnConfigs[index] = this.storage.columnConfigs[index + 1];\r\n this.storage.columnConfigs[index + 1] = temp;\r\n }\r\n\r\n emitOnChange() {\r\n const pageSize = +this.storage.pageSize || this.option.pageSize;\r\n const columns = this.option.columns.filter(column => {\r\n // Hidden column theo config\r\n // Lấy các thuộc tính Title, Width, Fixed từ config\r\n const columnConfig = this.storage.columnConfigs.find(e => e.originColumn.field === column.field);\r\n if (columnConfig) {\r\n column.title = columnConfig.title || column.title;\r\n column.width = columnConfig.width || column.width;\r\n column.fixed = columnConfig.fixed;\r\n return !columnConfig.hidden;\r\n }\r\n return true;\r\n }).sort((current, next) => {\r\n // Sắp xếp theo config\r\n const currentIndex = this.storage.columnConfigs.findIndex(e => e.originColumn.field === current.field);\r\n const nextIndex = this.storage.columnConfigs.findIndex(e => e.originColumn.field === next.field);\r\n return currentIndex - nextIndex;\r\n }).filter(column => {\r\n // Hidden column theo option truyền vào\r\n if (column.hidden === undefined) {\r\n return true;\r\n }\r\n if (typeof (column.hidden) === 'boolean') {\r\n return !column.hidden;\r\n }\r\n if (typeof (column.hidden) === 'function') {\r\n return !column.hidden();\r\n }\r\n return false;\r\n });\r\n const result: ConfigResult = {\r\n pageSize,\r\n columns,\r\n fixedColumns: columns.filter(e => e.fixed),\r\n normalColumns: columns.filter(e => !e.fixed)\r\n };\r\n this.sdChange.emit(result);\r\n }\r\n}\r\n","import { Component, Input, ChangeDetectorRef, EventEmitter, ChangeDetectionStrategy, Output } from '@angular/core';\r\nimport { SdGridColumn, GridItem } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-desktop-column-edit',\r\n templateUrl: './grid-desktop-column-edit.component.html',\r\n styleUrls: ['./grid-desktop-column-edit.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdGridDesktopColumnEdit {\r\n @Input() column: SdGridColumn;\r\n @Input() item: GridItem;\r\n @Output() sdChange = new EventEmitter<{ column: SdGridColumn, item: GridItem, value: any }>();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n ) { }\r\n\r\n onEditorChange = (column: SdGridColumn, item: GridItem, value: any) => {\r\n if (column.type !== 'children') {\r\n column.editor?.change?.(item, value);\r\n this.ref.detectChanges();\r\n this.sdChange.emit();\r\n }\r\n }\r\n\r\n onAutocompleteChange = (item: any) => {\r\n if (this.column.type === 'string' || this.column.type === 'values') {\r\n this.column.editor?.change?.(this.item, this.item[this.column.field], item);\r\n this.ref.detectChanges();\r\n this.sdChange.emit();\r\n }\r\n }\r\n\r\n onSelectionChange = (params: { value: any, item: any, items: any[] }) => {\r\n if (this.column.type === 'string' || this.column.type === 'values') {\r\n this.column.editor?.change?.(this.item, params?.value, params?.item || params?.items);\r\n this.ref.detectChanges();\r\n this.sdChange.emit();\r\n }\r\n }\r\n\r\n dynamicItems = async (value: any) => {\r\n if ('editor' in this.column && 'item' in this.column.editor) {\r\n const items = this.column.editor.item.items || [];\r\n if (Array.isArray(items)) {\r\n return items;\r\n }\r\n const results = items(this.item, value);\r\n if (results instanceof Promise) {\r\n return await results;\r\n }\r\n return results;\r\n } else {\r\n return [];\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SdGridColumn, GridItem } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-desktop-column-view',\r\n templateUrl: './grid-desktop-column-view.component.html',\r\n styleUrls: ['./grid-desktop-column-view.component.scss']\r\n})\r\nexport class SdGridDesktopColumnView {\r\n @Input() column: SdGridColumn;\r\n @Input() item: GridItem;\r\n constructor(\r\n ) { }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { SdGridColumn, GridBaseOptionFilter } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-desktop-inline-filter',\r\n templateUrl: './grid-desktop-inline-filter.component.html',\r\n styleUrls: ['./grid-desktop-inline-filter.component.scss']\r\n})\r\nexport class SdGridDesktopInlineFilter {\r\n @Input() columns: SdGridColumn[] = [];\r\n @Input() externalFilter: any = {};\r\n @Input() filter: any = {};\r\n @Input() filterOption: GridBaseOptionFilter;\r\n @Input() inlineExternal: {\r\n [key: string]: boolean;\r\n } = {};\r\n @Input() inlineColumn: {\r\n [key: string]: boolean;\r\n } = {};\r\n @Output() sdChange = new EventEmitter();\r\n isDesktop: boolean;\r\n displayKey = 'SDCUSTOM';\r\n constructor() { }\r\n\r\n onUpdateFilter = () => {\r\n this.sdChange.emit();\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { GridItem, SdGridOption } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-mobile-item-view',\r\n templateUrl: './grid-mobile-item-view.component.html',\r\n styleUrls: ['./grid-mobile-item-view.component.scss']\r\n})\r\nexport class SdGridMobileItemView {\r\n @Input() gridOption: SdGridOption;\r\n @Input() item: GridItem;\r\n @Output() check = new EventEmitter<GridItem>();\r\n constructor(\r\n ) { }\r\n\r\n onCheck = (item: GridItem) => {\r\n this.check.emit(item);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { SdModal } from '@sd-angular/core/modal';\r\nimport { SdGridOption, SdGridColumn, GridItem } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-popup-editor',\r\n templateUrl: './grid-popup-editor.component.html'\r\n})\r\nexport class SdGridPopupEditor implements OnInit {\r\n\r\n @ViewChild('modal') modal: SdModal;\r\n @Output() save = new EventEmitter<GridItem>();\r\n columns: SdGridColumn[] = [];\r\n gridOption: SdGridOption;\r\n item: GridItem;\r\n isModified: boolean;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n open = (item: GridItem, columns: SdGridColumn[], isModified?: boolean) => {\r\n this.item = item;\r\n this.isModified = isModified ?? false;\r\n this.columns = [];\r\n columns.forEach(column => {\r\n if (column.type !== 'image' && column.type !== 'children') {\r\n this.columns.push(column);\r\n }\r\n if (column.type === 'children') {\r\n column.children?.forEach(childColumn => {\r\n if (childColumn.type !== 'image') {\r\n this.columns.push(childColumn);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onCancel = () => {\r\n this.modal.close();\r\n }\r\n\r\n onSave = () => {\r\n this.modal.close();\r\n this.save.emit(this.item);\r\n }\r\n}\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Output, EventEmitter, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { SdGridColumn, GridBaseOptionExport } from '../../grid.model';\r\n\r\nimport {\r\n SdExcelService,\r\n ExcelConfig,\r\n ExcelTempateColumn\r\n} from '@sd-angular/core/excel';\r\n\r\nimport {\r\n SdNotifyService\r\n} from '@sd-angular/core/notify';\r\n\r\nimport {\r\n SdLoadingService\r\n} from '@sd-angular/core/loading';\r\n\r\nimport {\r\n SdTranslateService\r\n} from '@sd-angular/core/translate';\r\nimport hash from 'object-hash';\r\nimport { MatRadioChange } from '@angular/material/radio';\r\nimport { SdModal } from '@sd-angular/core/modal';\r\n\r\n@Component({\r\n selector: 'sd-grid-popup-export-excel',\r\n templateUrl: './grid-popup-export-excel.component.html',\r\n styleUrls: ['./grid-popup-export-excel.component.scss']\r\n})\r\nexport class SdGridPopupExportExcel implements OnInit, AfterViewInit {\r\n private prefix = 'Popup Export Excel';\r\n newExcelConfig = 'fd8fb5db-a7ad-4398-93ac-cb3350261180';\r\n @ViewChild('modal') modal: SdModal;\r\n @Input() key = '';\r\n get fullKey() {\r\n if (!this.key) {\r\n return '';\r\n }\r\n return hash({\r\n prefix: this.prefix,\r\n key: this.key\r\n });\r\n }\r\n @Input() columns: SdGridColumn[] = [];\r\n @Input() extendColumns: SdGridColumn[] = [];\r\n @Input() fileName: string;\r\n @Input() validator: (fileName: string) => string;\r\n @Input() exportOption: GridBaseOptionExport;\r\n excelConfigs: ExcelConfig[] = [];\r\n @Output() exportByTemplate = new EventEmitter<{ excelConfig: ExcelConfig, excelColumns: ExcelTempateColumn[] }>();\r\n tabIndex = 0;\r\n selectedExcelConfig: ExcelConfig = {};\r\n exportableColumns: SdGridColumn[] = [];\r\n selected: {\r\n [key: string]: boolean\r\n } = {};\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private loadingService: SdLoadingService,\r\n private excelService: SdExcelService,\r\n private notifyService: SdNotifyService,\r\n private translateService: SdTranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n async open() {\r\n if (!this.fullKey) {\r\n await this.exportDefault();\r\n return;\r\n }\r\n await this.loadConfiguration();\r\n this.exportableColumns = [...this.columns, ...(this.extendColumns || [])].filter(e => e.type !== 'image');\r\n this.selected = {};\r\n if (!this.selectedExcelConfig?.name) {\r\n if (this.excelConfigs?.length > 0) {\r\n this.selectedExcelConfig = this.excelConfigs[0];\r\n } else {\r\n this.selectedExcelConfig = {\r\n name: this.newExcelConfig\r\n };\r\n }\r\n }\r\n this.modal.open();\r\n this.ref.detectChanges();\r\n }\r\n\r\n private generateExcelColumns = (columns: SdGridColumn[]) => {\r\n const excelColumns: ExcelTempateColumn[] = [];\r\n for (const column of columns) {\r\n if (column.type === 'children') {\r\n for (const childColumn of column.children) {\r\n if (childColumn.type !== 'image') {\r\n excelColumns.push({\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n description: childColumn.description,\r\n width: childColumn.width\r\n });\r\n }\r\n }\r\n } else if (column.type !== 'image') {\r\n excelColumns.push({\r\n field: column.field,\r\n title: column.title,\r\n description: column.description,\r\n width: column.width\r\n });\r\n }\r\n }\r\n return excelColumns;\r\n }\r\n\r\n private initTemplate = async (columns: SdGridColumn[], fileName?: string) => {\r\n columns = columns || [];\r\n const sheets: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[] = [];\r\n if (Array.isArray(this.exportOption?.sheets)) {\r\n for (const sheet of this.exportOption.sheets) {\r\n if (sheet.name && sheet.items && sheet.fields) {\r\n if (Array.isArray(sheet.items)) {\r\n sheets.push({\r\n name: sheet.name,\r\n items: sheet.items,\r\n fields: sheet.fields\r\n });\r\n } else {\r\n sheets.push({\r\n name: sheet.name,\r\n items: await sheet.items(),\r\n fields: sheet.fields\r\n });\r\n }\r\n }\r\n }\r\n }\r\n return await this.excelService.generateExcelTemplate({\r\n fileName: fileName || this.fileName,\r\n columns: this.generateExcelColumns(columns),\r\n sheets\r\n });\r\n }\r\n\r\n private initDefaultTemplate = async () => {\r\n const extendColumns = this.extendColumns || [];\r\n const columns = [...this.columns, ...extendColumns];\r\n return await this.initTemplate(columns);\r\n }\r\n\r\n generateTemplate = async () => {\r\n this.loadingService.start();\r\n const result = await this.initDefaultTemplate().finally(this.loadingService.stop);\r\n if (result?.filePath) {\r\n this.excelService.downloadTemplate(result.filePath, `${this.fileName}.xlsx`);\r\n }\r\n }\r\n\r\n generateAndUploadTemplate = async (columns: SdGridColumn[], fileName?: string) => {\r\n const sheets: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[] = [];\r\n if (Array.isArray(this.exportOption?.sheets)) {\r\n for (const sheet of this.exportOption.sheets) {\r\n if (sheet.name && sheet.items && sheet.fields) {\r\n if (Array.isArray(sheet.items)) {\r\n sheets.push({\r\n name: sheet.name,\r\n items: sheet.items,\r\n fields: sheet.fields\r\n });\r\n } else {\r\n sheets.push({\r\n name: sheet.name,\r\n items: await sheet.items(),\r\n fields: sheet.fields\r\n });\r\n }\r\n }\r\n }\r\n }\r\n return await this.excelService.generateAndUploadExcelTemplate(this.fullKey, {\r\n fileName: fileName || this.fileName,\r\n columns: this.generateExcelColumns(columns),\r\n sheets\r\n });\r\n }\r\n\r\n onExportByTemplate = (excelConfig: ExcelConfig) => {\r\n const extendColumns = this.extendColumns || [];\r\n const columns = [...this.columns, ...extendColumns];\r\n this.exportByTemplate.emit({\r\n excelConfig,\r\n excelColumns: this.generateExcelColumns(columns)\r\n });\r\n this.ref.detectChanges();\r\n }\r\n\r\n uploadTemplate = async () => {\r\n const excelConfig = await this.excelService.uploadTemplate(this.fullKey, this.validator);\r\n this.excelConfigs.push({\r\n name: excelConfig.name,\r\n fullPath: excelConfig.fullPath,\r\n removable: true\r\n });\r\n this.ref.detectChanges();\r\n }\r\n\r\n downloadTemplate = (excelConfig: ExcelConfig) => {\r\n this.excelService.downloadTemplate(excelConfig.fullPath, excelConfig.name);\r\n }\r\n\r\n removeTemplate = (excelConfig: ExcelConfig) => {\r\n this.notifyService.confirm(this.translateService.translate('Remove template')).then(async () => {\r\n this.loadingService.start();\r\n await this.excelService.remove(this.fullKey, excelConfig.name).finally(this.loadingService.stop);\r\n const idx = this.excelConfigs.indexOf(excelConfig);\r\n this.excelConfigs.splice(idx, 1);\r\n this.ref.detectChanges();\r\n });\r\n }\r\n\r\n async loadConfiguration() {\r\n this.excelConfigs = [];\r\n this.excelConfigs = await this.excelService.getFiles(this.fullKey);\r\n }\r\n\r\n exportDefault = async () => {\r\n this.loadingService.start();\r\n const result = await this.initDefaultTemplate().finally(this.loadingService.stop);\r\n const excelColumns: ExcelTempateColumn[] = [];\r\n const extendColumns = this.extendColumns || [];\r\n const columns = [...this.columns, ...extendColumns];\r\n for (const column of columns) {\r\n if (column.type === 'children') {\r\n for (const childColumn of column.children) {\r\n if (childColumn.type !== 'image') {\r\n excelColumns.push({\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width\r\n });\r\n }\r\n }\r\n } else if (column.type !== 'image') {\r\n excelColumns.push({\r\n field: column.field,\r\n title: column.title,\r\n width: column.width\r\n });\r\n }\r\n }\r\n this.exportByTemplate.emit({\r\n excelConfig: {\r\n fullPath: result.filePath,\r\n name: `[${this.fullKey}] Default.xlsx`\r\n },\r\n excelColumns\r\n });\r\n this.ref.detectChanges();\r\n }\r\n\r\n newTemplate = () => {\r\n this.notifyService.confirmWithInput(this.translateService.translate('Enter your template name'), {\r\n maxlength: 50\r\n }).then(async (fileName: string) => {\r\n this.loadingService.start();\r\n fileName = fileName + '.xlsx';\r\n try {\r\n if (this.validator?.(fileName)) {\r\n this.notifyService.notify.warning(this.validator(fileName));\r\n return;\r\n }\r\n let exportableColumns = this.exportableColumns.filter(column => this.selected[column.field]);\r\n if (!exportableColumns.length) {\r\n exportableColumns = this.exportableColumns;\r\n }\r\n const result = await this.generateAndUploadTemplate(exportableColumns, fileName);\r\n if (result?.filePath) {\r\n const excelConfig: ExcelConfig = {\r\n fullPath: result.filePath,\r\n name: result.fileName,\r\n removable: true\r\n };\r\n this.excelConfigs.push(excelConfig);\r\n this.onExportByTemplate(excelConfig);\r\n }\r\n } finally {\r\n this.loadingService.stop();\r\n }\r\n });\r\n }\r\n\r\n onChangeRadio = (matRadioChange: MatRadioChange) => {\r\n const selectedExcelConfig = this.excelConfigs.find(e => e.name === matRadioChange.value);\r\n if (!selectedExcelConfig) {\r\n this.selectedExcelConfig = {\r\n name: this.newExcelConfig\r\n };\r\n } else {\r\n this.selectedExcelConfig = selectedExcelConfig;\r\n }\r\n this.exportableColumns = [...this.columns, ...(this.extendColumns || [])].filter(e => e.type !== 'image');\r\n this.selected = {};\r\n }\r\n}\r\n","// tslint:disable-next-line:max-line-length\r\nimport { Component, OnInit, AfterViewInit, ViewChild, Output, EventEmitter, Input, ChangeDetectorRef, ViewEncapsulation } from '@angular/core';\r\nimport { SdGridColumn, SdGridExternalFilter, GridBaseOptionFilter } from '../../grid.model';\r\nimport { QuickFilter, FilterConfiguration } from './grid-popup-filter.model';\r\n\r\nimport {\r\n SdNotifyService\r\n} from '@sd-angular/core/notify';\r\n\r\nimport {\r\n SdSettingService\r\n} from '@sd-angular/core/setting';\r\n\r\nimport {\r\n SdTranslateService\r\n} from '@sd-angular/core/translate';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { SdGridPopupQuickFilterDetail } from '../grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component';\r\nimport { MatSelect, MatSelectChange } from '@angular/material/select';\r\nimport { SdModal } from '@sd-angular/core/modal';\r\n\r\n@Component({\r\n selector: 'sd-grid-popup-filter',\r\n templateUrl: './grid-popup-filter.component.html',\r\n styleUrls: ['./grid-popup-filter.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SdGridPopupFilter implements OnInit, AfterViewInit {\r\n private keyPrefix = 'PopupFilter';\r\n displayKey = 'SDCUSTOM';\r\n isMobileOrTablet = false;\r\n @ViewChild('modal') modal: SdModal;\r\n @ViewChild('popupQuickFilterDetail') popupQuickFilterDetail: SdGridPopupQuickFilterDetail;\r\n @ViewChild('matSelect') matSelect: MatSelect;\r\n @Input() key = '';\r\n @Input() filterOption: GridBaseOptionFilter;\r\n @Output() accept = new EventEmitter<{ filter: any, externalFilter: any }>();\r\n @Output() clear = new EventEmitter<void>();\r\n @Output() loadInlineFilter = new EventEmitter<FilterConfiguration>();\r\n selectedField: string;\r\n newQuickFilter = 'e1ef1d43-d689-424f-959e-e6cd154cfee7';\r\n filter: any = {};\r\n externalFilter: any = {};\r\n columns: SdGridColumn[] = [];\r\n externalFilters: SdGridExternalFilter[] = [];\r\n quickFilters: QuickFilter[] = [];\r\n selectedCode: string;\r\n maxQuickFilters = 5;\r\n @Input() inlineExternal: {\r\n [key: string]: boolean\r\n } = {};\r\n @Input() inlineColumn: {\r\n [key: string]: boolean\r\n } = {};\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService,\r\n private settingService: SdSettingService,\r\n private notifyService: SdNotifyService,\r\n private translateService: SdTranslateService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n this.#loadConfiguration().then(() => {\r\n this.loadInlineFilter.emit({\r\n quickFilters: this.quickFilters || [],\r\n selectedQuickFilter: this.selectedCode || '',\r\n inlineExternal: this.inlineExternal,\r\n inlineColumn: this.inlineColumn\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n open = (\r\n fixedColums: SdGridColumn[],\r\n normalColumns: SdGridColumn[],\r\n filter: any,\r\n externalFilter: any,\r\n externalFilters?: SdGridExternalFilter[]) => {\r\n this.init(fixedColums, normalColumns, filter, externalFilter, externalFilters);\r\n this.modal.open();\r\n }\r\n\r\n init = (\r\n fixedColums: SdGridColumn[],\r\n normalColumns: SdGridColumn[],\r\n filter: any,\r\n externalFilter: any,\r\n externalFilters?: SdGridExternalFilter[]) => {\r\n this.columns = [...fixedColums, ...normalColumns].filter(e => !e.filter?.disabled && e.type !== 'image');\r\n this.columns.forEach(column => {\r\n if (column.type === 'children') {\r\n column.children = column.children.filter(e => !e.filter?.disabled && e.type !== 'image');\r\n }\r\n });\r\n if (externalFilters) {\r\n this.externalFilters = externalFilters.filter(e => !e.disabled);\r\n } else {\r\n this.externalFilters = [];\r\n }\r\n this.filter = filter;\r\n this.externalFilter = this.initExternalFilter(externalFilters, externalFilter);\r\n for (const eFilter of this.externalFilters) {\r\n if (this.inlineExternal[eFilter.field] === undefined) {\r\n this.inlineExternal[eFilter.field] = true;\r\n }\r\n }\r\n for (const column of this.columns) {\r\n if (this.inlineColumn[column.field] === undefined) {\r\n this.inlineColumn[column.field] = true;\r\n }\r\n }\r\n }\r\n\r\n close = () => {\r\n this.modal.close();\r\n }\r\n\r\n onAccept() {\r\n if (this.filterOption?.multiple === false) {\r\n if (this.selectedField) {\r\n if (this.selectedField.startsWith('column')) {\r\n const field = this.selectedField.replace('column', '');\r\n this.accept.emit({\r\n filter: {\r\n [field]: this.filter[field]\r\n },\r\n externalFilter: {}\r\n });\r\n } else if (this.selectedField.startsWith('external')) {\r\n const field = this.selectedField.replace('external', '');\r\n this.accept.emit({\r\n filter: {},\r\n externalFilter: this.initExternalFilter(this.externalFilters, {\r\n [field]: this.externalFilter[field]\r\n })\r\n });\r\n }\r\n }\r\n } else {\r\n this.accept.emit({\r\n filter: this.filter,\r\n externalFilter: this.externalFilter\r\n });\r\n }\r\n this.modal.close();\r\n }\r\n\r\n onClear() {\r\n delete this.selectedCode;\r\n this.clear.emit();\r\n }\r\n\r\n #loadConfiguration = async () => {\r\n this.quickFilters = [];\r\n if (!this.key) {\r\n return;\r\n }\r\n const { get, has } = this.settingService.create<FilterConfiguration>({\r\n prefix: this.keyPrefix,\r\n key: this.key\r\n });\r\n if (!await has()) {\r\n return;\r\n }\r\n const configuration = await get();\r\n if (Array.isArray(configuration?.quickFilters)) {\r\n this.quickFilters = configuration.quickFilters;\r\n }\r\n this.selectedCode = configuration?.selectedQuickFilter || '';\r\n this.inlineExternal = configuration?.inlineExternal || {};\r\n this.inlineColumn = configuration?.inlineColumn || {};\r\n for (const externalFilter of this.externalFilters) {\r\n if (this.inlineExternal[externalFilter.field] === undefined) {\r\n this.inlineExternal[externalFilter.field] = true;\r\n }\r\n }\r\n for (const column of this.columns) {\r\n if (this.inlineColumn[column.field] === undefined) {\r\n this.inlineColumn[column.field] = true;\r\n }\r\n }\r\n }\r\n\r\n async updateConfiguration(selectedQuickFilterCode?: string) {\r\n if (!this.key) {\r\n return;\r\n }\r\n if (selectedQuickFilterCode !== undefined) {\r\n this.selectedCode = selectedQuickFilterCode;\r\n }\r\n const { set } = this.settingService.create<FilterConfiguration>({\r\n prefix: this.keyPrefix,\r\n key: this.key\r\n });\r\n await set({\r\n quickFilters: this.quickFilters,\r\n selectedQuickFilter: this.selectedCode,\r\n inlineExternal: this.inlineExternal,\r\n inlineColumn: this.inlineColumn\r\n });\r\n this.loadInlineFilter.emit({\r\n quickFilters: this.quickFilters || [],\r\n selectedQuickFilter: this.selectedCode || '',\r\n inlineExternal: this.inlineExternal,\r\n inlineColumn: this.inlineColumn\r\n });\r\n this.ref.detectChanges();\r\n }\r\n\r\n onSelectionChange = (change: MatSelectChange) => {\r\n const value = change?.value || '';\r\n if (value === this.newQuickFilter) {\r\n this.selectedCode = '';\r\n this.onCreateQuickFilter();\r\n this.ref.detectChanges();\r\n } else {\r\n const quickFilter = this.quickFilters.find(e => e.code === value);\r\n if (quickFilter) {\r\n this.onDetailQuickFilter(quickFilter);\r\n }\r\n }\r\n }\r\n\r\n onCreateQuickFilter = (ev?: Event) => {\r\n ev?.stopPropagation();\r\n ev?.preventDefault();\r\n this.matSelect?.close();\r\n this.popupQuickFilterDetail.open(this.columns, this.externalFilters);\r\n }\r\n\r\n onDetailQuickFilter = async (quickFilter?: QuickFilter) => {\r\n if (quickFilter) {\r\n this.selectedCode = quickFilter.code;\r\n const f1 = JSON.stringify(quickFilter.filter);\r\n const f2 = JSON.stringify(quickFilter.externalFilter);\r\n this.filter = JSON.parse(f1);\r\n this.externalFilter = this.initExternalFilter(this.externalFilters, JSON.parse(f2));\r\n await this.updateConfiguration();\r\n }\r\n }\r\n\r\n onEditQuickFilter = (ev: Event, quickFilter?: QuickFilter) => {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n this.matSelect?.close();\r\n if (quickFilter) {\r\n this.popupQuickFilterDetail.open(this.columns,\r\n this.externalFilters,\r\n quickFilter.filter,\r\n quickFilter.externalFilter,\r\n quickFilter.code);\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n onDeleteQuickFilter = (ev: Event, quickFilter?: QuickFilter) => {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n this.matSelect?.close();\r\n if (quickFilter) {\r\n this.notifyService.confirm(this.translateService.translate('Remove filter')).then(async () => {\r\n if (quickFilter.code === this.selectedCode) {\r\n this.selectedCode = '';\r\n }\r\n const idx = this.quickFilters.findIndex(e => e.code === quickFilter.code);\r\n this.quickFilters.splice(idx, 1);\r\n await this.updateConfiguration();\r\n this.ref.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n onAcceptQuickFilter = async (args: { code: string, filter: any, externalFilter: any }) => {\r\n const quickFilter = this.quickFilters.find(e => e.code === args.code);\r\n if (!quickFilter) {\r\n this.quickFilters.push({\r\n code: args.code,\r\n filter: args.filter,\r\n externalFilter: this.initExternalFilter(this.externalFilters, args.externalFilter)\r\n });\r\n } else {\r\n quickFilter.filter = args.filter;\r\n quickFilter.externalFilter = this.initExternalFilter(this.externalFilters, args.externalFilter);\r\n }\r\n await this.updateConfiguration();\r\n }\r\n\r\n onInlineChange = () => {\r\n this.updateConfiguration();\r\n }\r\n\r\n private initExternalFilter = (externalFilters: SdGridExternalFilter[], externalFilter: any) => {\r\n externalFilter = externalFilter || {};\r\n externalFilters = externalFilters || [];\r\n externalFilters.forEach(e => {\r\n if (e.type === 'string') {\r\n externalFilter[e.field] = externalFilter[e.field] ?? e.default ?? '';\r\n return;\r\n }\r\n if (e.type === 'number') {\r\n externalFilter[e.field] = externalFilter[e.field] ?? e.default ?? undefined;\r\n return;\r\n }\r\n if (e.type === 'daterange') {\r\n externalFilter[e.field] = {\r\n from: externalFilter[e.field]?.from ?? e.defaultFrom ?? undefined,\r\n to: externalFilter[e.field]?.to ?? e.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (e.type === 'numberrange') {\r\n externalFilter[e.field] = {\r\n from: externalFilter[e.field]?.from ?? e.defaultFrom ?? undefined,\r\n to: externalFilter[e.field]?.to ?? e.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (e.type === 'daterangefull') {\r\n externalFilter[e.field] = {\r\n from: externalFilter[e.field]?.from ?? e.defaultFrom ?? undefined,\r\n to: externalFilter[e.field]?.to ?? e.defaultTo ?? undefined\r\n };\r\n return;\r\n }\r\n if (e.type === 'values') { // andn1\r\n externalFilter[e.field] = (externalFilter[e.field] || e.default) ?? '';\r\n return;\r\n }\r\n });\r\n return externalFilter;\r\n }\r\n}\r\n","import { Component, OnInit, AfterViewInit, ViewChild, Output, EventEmitter, Input } from '@angular/core';\r\nimport { SdGridColumn, SdGridExternalFilter } from '../../grid.model';\r\n\r\nimport {\r\n SdNotifyService\r\n} from '@sd-angular/core/notify';\r\nimport {\r\n SdTranslateService\r\n} from '@sd-angular/core/translate';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { QuickFilter } from '../grid-popup-filter/grid-popup-filter.model';\r\nimport { SdModal } from '@sd-angular/core/modal';\r\n\r\n@Component({\r\n selector: 'sd-grid-popup-quick-filter-detail',\r\n templateUrl: './grid-popup-quick-filter-detail.component.html',\r\n styleUrls: ['./grid-popup-quick-filter-detail.component.scss']\r\n})\r\nexport class SdGridPopupQuickFilterDetail implements OnInit, AfterViewInit {\r\n displayKey = 'SDCUSTOM';\r\n isMobileOrTablet = false;\r\n @ViewChild('modal') modal: SdModal;\r\n @Input() quickFilters: QuickFilter[];\r\n @Output() accept = new EventEmitter<any>();\r\n fields: Field[] = [];\r\n selectableFields: Field[] = [];\r\n columns: SdGridColumn[] = [];\r\n externalFilters: SdGridExternalFilter[] = [];\r\n filter: Filter = {};\r\n externalFilter: Filter = {};\r\n selectedField: {\r\n [key: string]: boolean;\r\n } = {};\r\n page: 1 | 2 = 1;\r\n code: string;\r\n constructor(\r\n deviceService: DeviceDetectorService,\r\n private notifyService: SdNotifyService,\r\n private translateService: SdTranslateService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n open(columns: SdGridColumn[], externalFilters: SdGridExternalFilter[], filter?: Filter, externalFilter?: Filter, code?: string) {\r\n this.fields = [];\r\n this.filter = {};\r\n this.externalFilter = {};\r\n this.columns = columns;\r\n this.externalFilters = externalFilters;\r\n this.code = code;\r\n if (filter) {\r\n Object.keys(filter).forEach(key => {\r\n if (filter[key] === undefined || filter[key] === null || filter[key] === '') {\r\n return;\r\n }\r\n const column = columns.find(e => e.field === key);\r\n if (!column) {\r\n return;\r\n }\r\n this.filter[key] = filter[key];\r\n this.fields.push({\r\n ...column,\r\n id: 'column' + column.field,\r\n group: 'column',\r\n type: column.type,\r\n code: column.field,\r\n title: column.title\r\n });\r\n });\r\n }\r\n if (externalFilter) {\r\n Object.keys(externalFilter).forEach(key => {\r\n if (externalFilter[key] === undefined || externalFilter[key] === null || externalFilter[key] === '') {\r\n return;\r\n }\r\n if (key.startsWith(this.displayKey)) {\r\n this.externalFilter[key] = externalFilter[key];\r\n return;\r\n }\r\n const item = externalFilters.find(e => e.field === key);\r\n if (!item) {\r\n return;\r\n }\r\n if (item.type === 'daterange' || item.type === 'numberrange') {\r\n this.externalFilter[key] = { ...externalFilter[key] };\r\n if (!externalFilter[key]?.from && !externalFilter[key]?.to) {\r\n return;\r\n }\r\n this.fields.push({\r\n ...item,\r\n id: 'external' + item.field,\r\n group: 'external',\r\n type: item.type,\r\n code: item.field,\r\n title: item.title,\r\n fromTitle: item.fromTitle,\r\n toTitle: item.toTitle,\r\n });\r\n } else if (item.type === 'daterangefull') {\r\n this.externalFilter[key] = { ...externalFilter[key] };\r\n if (!externalFilter[key]?.from && !externalFilter[key]?.to) {\r\n return;\r\n }\r\n this.fields.push({\r\n ...item,\r\n id: 'external' + item.field,\r\n group: 'external',\r\n type: item.type,\r\n code: item.field,\r\n title: item.title\r\n });\r\n } else {\r\n this.externalFilter[key] = externalFilter[key];\r\n this.fields.push({\r\n ...item,\r\n id: 'external' + item.field,\r\n group: 'external',\r\n type: item.type,\r\n code: item.field,\r\n title: item.title\r\n });\r\n }\r\n });\r\n }\r\n const externalFields: Field[] = externalFilters?.map(e => ({\r\n ...e,\r\n id: 'external' + e.field,\r\n group: 'external',\r\n code: e.field,\r\n type: e.type,\r\n title: e.title\r\n })) || [];\r\n const columnFields: Field[] = [];\r\n columns?.filter(e => e.type !== 'image').forEach(column => {\r\n if ('children' in column) {\r\n column.children?.filter(e => e.type !== 'image').forEach(e => {\r\n columnFields.push({\r\n ...e,\r\n id: 'column' + e.field,\r\n group: 'column',\r\n code: e.field,\r\n type: e.type,\r\n title: e.title\r\n });\r\n });\r\n } else {\r\n columnFields.push({\r\n ...column,\r\n id: 'column' + column.field,\r\n group: 'column',\r\n code: column.field,\r\n type: column.type,\r\n title: column.title\r\n });\r\n }\r\n });\r\n this.selectableFields = [...externalFields, ...columnFields];\r\n this.selectedField = {};\r\n this.fields.forEach(e => this.selectedField[e.id] = true);\r\n this.page = this.fields.length > 0 ? 2 : 1;\r\n this.modal.open();\r\n }\r\n\r\n onAccept = () => {\r\n const execute = () => {\r\n const filter = {};\r\n const externalFilter = {};\r\n Object.keys(this.filter).forEach(key => {\r\n if (this.filter[key] === undefined || this.filter[key] === null || this.filter[key] === '') {\r\n return;\r\n }\r\n if (!this.fields.some(e => e.group === 'column' && e.code === key)) {\r\n return;\r\n }\r\n filter[key] = this.filter[key];\r\n });\r\n Object.keys(this.externalFilter).forEach(key => {\r\n if (this.externalFilter[key] === undefined || this.externalFilter[key] === null || this.externalFilter[key] === '') {\r\n return;\r\n }\r\n externalFilter[key] = this.externalFilter[key];\r\n });\r\n this.accept.emit({\r\n code: this.code,\r\n filter,\r\n externalFilter\r\n });\r\n this.modal.close();\r\n };\r\n if (!this.code) {\r\n this.notifyService.confirmWithInput('Enter your quick filter name').then((value: string) => {\r\n if (value) {\r\n if (this.quickFilters?.some(e => e.code === value)) {\r\n this.notifyService.notify.warning(this.translateService.translate('Code is existed'));\r\n return;\r\n }\r\n this.code = value;\r\n execute();\r\n }\r\n });\r\n } else {\r\n execute();\r\n }\r\n }\r\n\r\n onCancel = () => {\r\n this.modal.close();\r\n }\r\n\r\n onSelectField = (values: string[]) => {\r\n this.fields = this.selectableFields.filter(e => values.some(v => e.code === v));\r\n for (const field of this.fields) {\r\n if (field.group === 'external' && field.type.includes('range')) {\r\n this.externalFilter[field.code] = this.externalFilter[field.code] || {};\r\n }\r\n }\r\n }\r\n\r\n onSelectFields = () => {\r\n this.fields = this.selectableFields.filter(e => this.selectedField[e.id]);\r\n for (const field of this.fields) {\r\n if (field.group === 'external' && field.type.includes('range')) {\r\n this.externalFilter[field.code] = this.externalFilter[field.code] || {};\r\n }\r\n }\r\n }\r\n}\r\n\r\ninterface Field {\r\n id: string;\r\n group: 'column' | 'external';\r\n type: string;\r\n code: string;\r\n title?: string;\r\n fromTitle?: string;\r\n toTitle?: string;\r\n [key: string]: any;\r\n}\r\n\r\ninterface Filter {\r\n [field: string]: any;\r\n}\r\n","import { Component, OnInit, AfterViewInit, Input, ChangeDetectorRef } from '@angular/core';\r\n\r\nimport { SubOption } from '../../grid.model';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'sd-grid-sub-information',\r\n templateUrl: './grid-sub-information.component.html',\r\n styleUrls: ['./grid-sub-information.component.scss']\r\n})\r\nexport class SdGridSubInformation implements OnInit, AfterViewInit {\r\n @Input() height = 'auto';\r\n @Input() option: SubOption;\r\n @Input() subItems: any[] = [];\r\n isMobileOrTablet: boolean;\r\n filter: any = {};\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService\r\n ) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n updateFilter() {\r\n\r\n }\r\n trackById(index, item) {\r\n return item.id;\r\n }\r\n\r\n onEditorChange = () => {\r\n this.ref.detectChanges();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { GridItem, GridColumnChildren } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-desktop-column-children-view',\r\n templateUrl: './grid-desktop-column-children-view.component.html',\r\n styleUrls: ['./grid-desktop-column-children-view.component.scss']\r\n})\r\nexport class GridDesktopColumnChildrenViewComponent {\r\n @Input() column: GridColumnChildren;\r\n @Input() item: GridItem;\r\n constructor(\r\n ) { }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridColumn } from '../grid.model';\r\n@Pipe({\r\n name: 'cellDesktopClassName'\r\n})\r\nexport class CellDesktopClassNamePipe implements PipeTransform {\r\n transform(value: any, rowData: GridItem, column: SdGridColumn, isChildren?: boolean): string {\r\n const classNames = [];\r\n if (column.click) {\r\n classNames.push('cursor-pointer');\r\n }\r\n if (isChildren) {\r\n classNames.push('c-children');\r\n }\r\n if (column.badge) {\r\n const badge = column.badge(rowData, value);\r\n if (badge) {\r\n classNames.push('c-badge');\r\n classNames.push('badge');\r\n if (badge === 'PRIMARY') {\r\n classNames.push('badge-primary');\r\n } else if (badge === 'SECONDARY') {\r\n classNames.push('badge-secondary');\r\n } else if (badge === 'WARNING') {\r\n classNames.push('badge-warning');\r\n } else if (badge === 'SUCCESS') {\r\n classNames.push('badge-success');\r\n } else if (badge === 'DANGER') {\r\n classNames.push('badge-danger');\r\n } else if (badge === 'LIGHT') {\r\n classNames.push('badge-light');\r\n } else if (badge === 'DARK') {\r\n classNames.push('badge-dark');\r\n }\r\n }\r\n }\r\n return classNames.join(' ');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridColumn } from '../grid.model';\r\n\r\n@Pipe({\r\n name: 'cellMobileClassName'\r\n})\r\nexport class CellMobileClassNamePipe implements PipeTransform {\r\n transform(value: any, rowData: GridItem, column: SdGridColumn): string {\r\n const classNames = [];\r\n if (column.click) {\r\n classNames.push('cursor-pointer');\r\n }\r\n if (column.badge) {\r\n const badge = column.badge(rowData, value);\r\n if (badge) {\r\n classNames.push('badge');\r\n classNames.push('c-badge');\r\n if (badge === 'PRIMARY') {\r\n classNames.push('badge-primary');\r\n } else if (badge === 'SECONDARY') {\r\n classNames.push('badge-secondary');\r\n } else if (badge === 'WARNING') {\r\n classNames.push('badge-warning');\r\n } else if (badge === 'SUCCESS') {\r\n classNames.push('badge-success');\r\n } else if (badge === 'DANGER') {\r\n classNames.push('badge-danger');\r\n } else if (badge === 'LIGHT') {\r\n classNames.push('badge-light');\r\n } else if (badge === 'DARK') {\r\n classNames.push('badge-dark');\r\n }\r\n }\r\n }\r\n return classNames.join(' ');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, ColumnCommand } from '../grid.model';\r\n@Pipe({\r\n name: 'columnCommandFilter'\r\n})\r\nexport class ColumnCommandFilterPipe implements PipeTransform {\r\n async transform(commands: ColumnCommand[], item: GridItem): Promise<ColumnCommand[]> {\r\n const results: ColumnCommand[] = [];\r\n if (!commands) {\r\n return results;\r\n }\r\n for (const command of commands) {\r\n const { hiddenByItem } = command;\r\n if (!hiddenByItem) {\r\n results.push(command);\r\n } else {\r\n const hidden = hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (!await hidden) {\r\n results.push(command);\r\n }\r\n } else {\r\n if (!hidden) {\r\n results.push(command);\r\n }\r\n }\r\n }\r\n }\r\n return results;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem } from '../grid.model';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n@Pipe({\r\n name: 'columnHtmlTemplate'\r\n})\r\nexport class ColumnHtmlTemplatePipe implements PipeTransform {\r\n private isMobileOrTablet = false;\r\n constructor(deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n transform(value: any, rowData: GridItem, htmlTemplate: (value: any, rowData?: any, isMobileOrTablet?: boolean) => string): string {\r\n if (typeof (htmlTemplate) !== 'function') {\r\n return value;\r\n }\r\n return htmlTemplate(value, rowData, this.isMobileOrTablet);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'columnTitle'\r\n})\r\nexport class ColumnTitlePipe implements PipeTransform {\r\n async transform(item: GridItem, title: string, dynamicTitle: ((rowData: any) => string | Promise<string>)): Promise<string> {\r\n if (!title) {\r\n return '';\r\n }\r\n if (dynamicTitle) {\r\n const result = dynamicTitle(item);\r\n if (result instanceof Promise) {\r\n return (await result) || title;\r\n }\r\n return result || title;\r\n }\r\n return title;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport hash from 'object-hash';\r\nimport { SdUtilityService } from '@sd-angular/core/utility';\r\n@Pipe({\r\n name: 'columnValues'\r\n})\r\nexport class ColumnValuesPipe implements PipeTransform {\r\n private static cache: {\r\n [key: string]: {\r\n values: ValueData[],\r\n obj: {\r\n [key: string]: ValueData\r\n }\r\n }\r\n } = {};\r\n constructor(private utilityService: SdUtilityService) { }\r\n transform(value: any, values: ValueData[]): ValueData {\r\n const hashKey = hash(values);\r\n if (!ColumnValuesPipe.cache[hashKey]) {\r\n ColumnValuesPipe.cache[hashKey] = {\r\n values,\r\n obj: this.utilityService.arrayToObject(values, 'value')\r\n };\r\n }\r\n if (!ColumnValuesPipe.cache[hashKey].obj[value]) {\r\n return {\r\n value,\r\n text: value\r\n };\r\n }\r\n return ColumnValuesPipe.cache[hashKey].obj[value];\r\n\r\n }\r\n}\r\n\r\ninterface ValueData {\r\n value: string;\r\n text: string;\r\n icon?: string;\r\n color?: string;\r\n backgroundColor?: string;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'commandDisabled'\r\n})\r\nexport class CommandDisabledPipe implements PipeTransform {\r\n transform(disabled: boolean | ((item?: any) => boolean), item: GridItem): boolean {\r\n if (!disabled) {\r\n return false;\r\n }\r\n if (typeof (disabled) === 'boolean') {\r\n return disabled;\r\n }\r\n return disabled(item);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridCommand, GridCommandNoChildren } from '../grid.model';\r\n@Pipe({\r\n name: 'commandFilter'\r\n})\r\nexport class CommandFilterPipe implements PipeTransform {\r\n async transform(commands: SdGridCommand[], item: GridItem): Promise<SdGridCommand[]> {\r\n const results: SdGridCommand[] = [];\r\n if (!commands) {\r\n return results;\r\n }\r\n for (const command of commands) {\r\n if ('children' in command) {\r\n let flag = true;\r\n const { hiddenByItem } = command;\r\n if (hiddenByItem) {\r\n const hidden = hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (await hidden) {\r\n flag = false;\r\n }\r\n } else {\r\n if (hidden) {\r\n flag = false;\r\n }\r\n }\r\n }\r\n if (flag) {\r\n const children: GridCommandNoChildren[] = [];\r\n for (const childCommand of command.children) {\r\n if (!childCommand.hiddenByItem) {\r\n children.push(childCommand);\r\n } else {\r\n const hidden = childCommand.hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (!await hidden) {\r\n children.push(childCommand);\r\n }\r\n } else {\r\n if (!hidden) {\r\n children.push(childCommand);\r\n }\r\n }\r\n }\r\n }\r\n if (children.length) {\r\n results.push({\r\n ...command,\r\n children\r\n });\r\n }\r\n }\r\n } else {\r\n const { hiddenByItem } = command;\r\n if (!hiddenByItem) {\r\n results.push(command);\r\n } else {\r\n const hidden = hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (!await hidden) {\r\n results.push(command);\r\n }\r\n } else {\r\n if (!hidden) {\r\n results.push(command);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return results;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridCommand } from '../grid.model';\r\n@Pipe({\r\n name: 'commandHidden'\r\n})\r\nexport class CommandHidden implements PipeTransform {\r\n async transform(item: GridItem, command: SdGridCommand): Promise<boolean> {\r\n const { hidden, hiddenByItem } = command;\r\n if (hidden) {\r\n return true;\r\n }\r\n if (hiddenByItem) {\r\n const hiddenResult = hiddenByItem(item);\r\n if (hiddenResult instanceof Promise) {\r\n if (await hiddenResult) {\r\n return true;\r\n }\r\n } else {\r\n if (hiddenResult) {\r\n return true;\r\n }\r\n }\r\n }\r\n if ('children' in command) {\r\n const results = [];\r\n for (const childCommand of command.children) {\r\n const { hidden: childHidden, hiddenByItem: childHiddenByItem } = childCommand;\r\n if (!childHidden && !childHiddenByItem) {\r\n results.push(childCommand);\r\n } else {\r\n if (childHiddenByItem) {\r\n const hiddenResult = childHiddenByItem(item);\r\n if (hiddenResult instanceof Promise) {\r\n if (!await hiddenResult) {\r\n results.push(childCommand);\r\n }\r\n } else {\r\n if (!hiddenResult) {\r\n results.push(childCommand);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (results.length === 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'commandIcon'\r\n})\r\nexport class CommandIconPipe implements PipeTransform {\r\n transform(icon: string | ((item?: any) => string), item: GridItem): string {\r\n if (!icon) {\r\n return '';\r\n }\r\n if (typeof (icon) === 'string') {\r\n return icon;\r\n }\r\n return icon(item);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'commandTitle'\r\n})\r\nexport class CommandTitlePipe implements PipeTransform {\r\n transform(title: string | ((item?: any) => string), item: GridItem): string {\r\n if (!title) {\r\n return '';\r\n }\r\n if (typeof (title) === 'string') {\r\n return title;\r\n }\r\n return title(item);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, DynamicEditorItem } from '../grid.model';\r\n@Pipe({\r\n name: 'editorDynamicItem'\r\n})\r\nexport class EditorDynamicItemPipe implements PipeTransform {\r\n private previous: Date;\r\n private previousResults: any[] = [];\r\n private delay = 200; // 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 async transform(value: any, item: GridItem, editor: DynamicEditorItem) {\r\n if (!editor.dependOnField) {\r\n return editor.items || [];\r\n }\r\n this.previous = new Date();\r\n await new Promise(resolve => setTimeout(resolve, this.delay));\r\n const now = new Date();\r\n const dif = now.getTime() - this.previous.getTime();\r\n if (dif < this.delay) {\r\n return this.previousResults;\r\n }\r\n const items = editor.items || [];\r\n if (typeof (items) === 'function') {\r\n const results = items(item, value);\r\n if (results instanceof Promise) {\r\n this.previousResults = await results;\r\n } else {\r\n this.previousResults = results;\r\n }\r\n } else {\r\n this.previousResults = items;\r\n }\r\n this.previousResults = this.previousResults || [];\r\n return this.previousResults;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SdGridColumn, GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'editorSubInformationHandler'\r\n})\r\nexport class EditorSubInformationHandlerPipe implements PipeTransform {\r\n transform(value: any, item: GridItem, columns: SdGridColumn[]): boolean {\r\n const visible = (column: SdGridColumn) => {\r\n if (column.type === 'children') {\r\n return false;\r\n }\r\n let isDisabled = false;\r\n\r\n // Kiểm tra xem có bị disabled hay không?\r\n if (column.editor) {\r\n isDisabled = typeof (column.editor.disabled) === 'function' ? column.editor.disabled(item) : column.editor.disabled;\r\n }\r\n // Nếu bị disabled return false\r\n if (isDisabled) {\r\n return false;\r\n }\r\n // Nếu bị disabled return false\r\n if (isDisabled) {\r\n return false;\r\n }\r\n\r\n // Hiển thị editor nếu dòng đó:\r\n // Đang được edit: editingStatus\r\n return item.editingStatus\r\n // Được thiết lập alwayDisplay\r\n || (column.editor && column.editor.alwayDisplay);\r\n };\r\n item.editorHandler = item.editorHandler || {};\r\n for (const column of columns) {\r\n item.editorHandler.disabled = false;\r\n item.editorHandler[column.field] = {};\r\n\r\n if (item.editorHandler.disabled) {\r\n item.editorHandler[column.field].visible = false;\r\n } else {\r\n item.editorHandler[column.field].visible = visible(column);\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'editorValidate'\r\n})\r\nexport class EditorValidatePipe implements PipeTransform {\r\n private previous: Date;\r\n private delay = 1000; // 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 validate\r\n async transform(value: string, item: GridItem, validate: (item: GridItem) => string | Promise<string>): Promise<boolean> {\r\n this.previous = new Date();\r\n await new Promise(resolve => setTimeout(resolve, this.delay));\r\n const now = new Date();\r\n const dif = now.getTime() - this.previous.getTime();\r\n if (dif < this.delay) {\r\n return true;\r\n }\r\n item.editorHandler = item.editorHandler || {};\r\n if (!validate) {\r\n item.editorHandler.errorMessage = null;\r\n return true;\r\n }\r\n const result = validate(item);\r\n if (result instanceof Promise) {\r\n item.editorHandler.errorMessage = await result;\r\n return true;\r\n } else {\r\n item.editorHandler.errorMessage = result;\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SdGridColumn, GridItem } from '../grid.model';\r\n\r\n@Pipe({\r\n name: 'filterMobile',\r\n pure: false\r\n})\r\nexport class FilterMobilePipe implements PipeTransform {\r\n transform(columns: SdGridColumn[], item: GridItem): SdGridColumn[] {\r\n // Những giá trị undefined, null và rỗng sẽ bỏ qua khi hiển thị trên mobile\r\n return columns.filter(column => (item[column.field] !== undefined\r\n && item[column.field] !== null\r\n && item[column.field] !== '')\r\n || column.htmlTemplate\r\n || column.type === 'children'\r\n || (column.type === 'string' && column.commands?.length > 0));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridCommand } from '../grid.model';\r\n@Pipe({\r\n name: 'mobileCommandFilter'\r\n})\r\nexport class MobileCommandFilterPipe implements PipeTransform {\r\n async transform(commands: SdGridCommand[], item: GridItem): Promise<SdGridCommand[]> {\r\n const results: SdGridCommand[] = [];\r\n if (!commands) {\r\n return results;\r\n }\r\n for (const command of commands) {\r\n if ('children' in command) {\r\n let flag = true;\r\n const { hiddenByItem } = command;\r\n if (hiddenByItem) {\r\n const hidden = hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (await hidden) {\r\n flag = false;\r\n }\r\n } else {\r\n if (hidden) {\r\n flag = false;\r\n }\r\n }\r\n }\r\n if (flag) {\r\n for (const childCommand of command.children) {\r\n if (!childCommand.hiddenByItem) {\r\n results.push(childCommand);\r\n } else {\r\n const hidden = childCommand.hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (!await hidden) {\r\n results.push(childCommand);\r\n }\r\n } else {\r\n if (!hidden) {\r\n results.push(childCommand);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n const { hiddenByItem } = command;\r\n if (!hiddenByItem) {\r\n results.push(command);\r\n } else {\r\n const hidden = hiddenByItem(item);\r\n if (hidden instanceof Promise) {\r\n if (!await hidden) {\r\n results.push(command);\r\n }\r\n } else {\r\n if (!hidden) {\r\n results.push(command);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return results;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridColumn } from '../grid.model';\r\n\r\n@Pipe({\r\n name: 'mobileViewHtmlTempate'\r\n})\r\nexport class MobileViewHtmlTemplatePipe implements PipeTransform {\r\n transform(rowData: GridItem, columns: SdGridColumn[], htmlTemplate: (rowData: any, columns?: SdGridColumn[]) => string): string {\r\n return htmlTemplate(rowData, columns);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GridItem, SdGridColumn } from '../grid.model';\r\nimport { DecimalPipe } from '@angular/common';\r\n@Pipe({\r\n name: 'valueTransform'\r\n})\r\nexport class ValueTransformPipe implements PipeTransform {\r\n constructor(private decimalPipe: DecimalPipe) {}\r\n transform(value: any, rowData: GridItem, column: SdGridColumn): string {\r\n if (column.transform) {\r\n return column.transform(value, rowData);\r\n } else if (column.type === 'number' && Number.isNumber(value)) {\r\n return this.decimalPipe.transform(value, '1.0-2');\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SdGridColumn, GridItem } from '../grid.model';\r\n@Pipe({\r\n name: 'editorPopupVisible'\r\n})\r\nexport class EditorPopupVisiblePipe implements PipeTransform {\r\n transform(column: SdGridColumn, item: GridItem): boolean {\r\n if (column.type === 'children') {\r\n return false;\r\n }\r\n if (typeof (column.editor?.hidden) === 'boolean' && column.editor.hidden) {\r\n return false;\r\n }\r\n if (typeof (column.editor?.hidden) === 'function' && column.editor.hidden(item)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[sdSubHeaderDef]'\r\n})\r\nexport class SdSubHeaderDefDirective {\r\n constructor(public templateRef: TemplateRef<any>) { }\r\n}\r\n","import { Component, ViewChild, Input } from '@angular/core';\r\nimport { SdUploadExcel, SdUploadExcelColumn, SdUploadExcelOption } from '@sd-angular/core/upload-excel';\r\nimport { SdGridColumn } from '../../grid.model';\r\n\r\n@Component({\r\n selector: 'sd-grid-import-excel',\r\n templateUrl: './grid-import-excel.component.html'\r\n})\r\nexport class SdGridImportExcel {\r\n @Input() key: string;\r\n @Input() accept: (item: any[], successItems: any[], errorItems: any[], warningItems: []) => void | Promise<void>;\r\n @Input() set columns(gridColumns: SdGridColumn[]) {\r\n const columns: SdUploadExcelColumn[] = [];\r\n gridColumns.forEach(column => {\r\n if (column.ignoreImport) {\r\n return;\r\n }\r\n if (column.type === 'string' || column.type === 'color') {\r\n columns.push({\r\n type: 'string',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width\r\n });\r\n } else if (column.type === 'number') {\r\n columns.push({\r\n type: 'number',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width\r\n });\r\n } else if (column.type === 'bool') {\r\n columns.push({\r\n type: 'bool',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width\r\n });\r\n } else if (column.type === 'date') {\r\n columns.push({\r\n type: 'date',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width\r\n });\r\n } else if (column.type === 'datetime' || column.type === 'time') {\r\n columns.push({\r\n type: 'datetime',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width\r\n });\r\n } else if (column.type === 'values') {\r\n columns.push({\r\n type: 'values',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width,\r\n values: column.values.map(e => e.value),\r\n });\r\n } else if (column.type === 'radio') {\r\n columns.push({\r\n type: 'radio',\r\n field: column.field,\r\n title: column.title,\r\n width: column.width,\r\n values: column.values.map(e => e[column.valueField])\r\n });\r\n }\r\n if (column.type === 'children' && column.children?.length) {\r\n column.children.forEach(childColumn => {\r\n if (childColumn.ignoreImport) {\r\n return;\r\n }\r\n if (childColumn.type === 'string' || childColumn.type === 'color') {\r\n columns.push({\r\n type: 'string',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width\r\n });\r\n } else if (childColumn.type === 'number') {\r\n columns.push({\r\n type: 'number',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width\r\n });\r\n } else if (childColumn.type === 'bool') {\r\n columns.push({\r\n type: 'bool',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width\r\n });\r\n } else if (childColumn.type === 'date') {\r\n columns.push({\r\n type: 'date',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width\r\n });\r\n } else if (childColumn.type === 'datetime' || childColumn.type === 'time') {\r\n columns.push({\r\n type: 'datetime',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width\r\n });\r\n } else if (childColumn.type === 'values') {\r\n columns.push({\r\n type: 'values',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width,\r\n values: childColumn.values.map(e => e.value),\r\n });\r\n } else if (childColumn.type === 'radio') {\r\n columns.push({\r\n type: 'radio',\r\n field: childColumn.field,\r\n title: childColumn.title,\r\n width: childColumn.width,\r\n values: childColumn.values.map(e => e[childColumn.valueField])\r\n });\r\n }\r\n });\r\n }\r\n });\r\n this.option = {\r\n key: `GridImport${this.key}`,\r\n columns,\r\n onAccept: this.accept\r\n };\r\n }\r\n option: SdUploadExcelOption;\r\n @ViewChild(SdUploadExcel) control: SdUploadExcel;\r\n constructor() { }\r\n\r\n open = () => {\r\n this.control?.open();\r\n }\r\n}\r\n","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 { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdServiceModule } from '@sd-angular/core/service';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { SdGrid } from './grid.component';\r\nimport { SdDynamicItems } from './pipes/dynamic-items.pipe';\r\nimport { SdGridConfig } from './components/grid-config/grid-config.component';\r\nimport { SdGridDesktopColumnEdit } from './components/grid-desktop-column-edit/grid-desktop-column-edit.component';\r\nimport { SdGridDesktopColumnView } from './components/grid-desktop-column-view/grid-desktop-column-view.component';\r\nimport { SdGridDesktopInlineFilter } from './components/grid-desktop-inline-filter/grid-desktop-inline-filter.component';\r\nimport { SdGridMobileItemView } from './components/grid-mobile-item-view/grid-mobile-item-view.component';\r\nimport { SdGridPopupEditor } from './components/grid-popup-editor/grid-popup-editor.component';\r\nimport { SdGridPopupExportExcel } from './components/grid-popup-export-excel/grid-popup-export-excel.component';\r\nimport { SdGridPopupFilter } from './components/grid-popup-filter/grid-popup-filter.component';\r\nimport { SdGridPopupQuickFilterDetail } from './components/grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component';\r\nimport { SdGridSubInformation } from './components/grid-sub-information/grid-sub-information.component';\r\nimport { GridDesktopColumnChildrenViewComponent } from './components/grid-desktop-column-children-view/grid-desktop-column-children-view.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { CellDesktopClassNamePipe } from './pipes/cell-desktop-class-name.pipe';\r\nimport { CellMobileClassNamePipe } from './pipes/cell-mobile-class-name.pipe';\r\nimport { ColumnCommandFilterPipe } from './pipes/column-command-filter.pipe';\r\nimport { ColumnHtmlTemplatePipe } from './pipes/column-html-template.pipe';\r\nimport { ColumnTitlePipe } from './pipes/column-title.pipe';\r\nimport { ColumnValuesPipe } from './pipes/column-values.pipe';\r\nimport { CommandDisabledPipe } from './pipes/command-disabled.pipe';\r\nimport { CommandFilterPipe } from './pipes/command-filter.pipe';\r\nimport { CommandHidden } from './pipes/command-hidden.pipe';\r\nimport { CommandIconPipe } from './pipes/command-icon.pipe';\r\nimport { CommandTitlePipe } from './pipes/command-title.pipe';\r\nimport { EditorDynamicItemPipe } from './pipes/editor-dynamic-item.pipe';\r\nimport { EditorHandlerPipe } from './pipes/editor-handler.pipe';\r\nimport { EditorSubInformationHandlerPipe } from './pipes/editor-sub-information-handler.pipe';\r\nimport { EditorValidatePipe } from './pipes/editor-validate.pipe';\r\nimport { FilterMobilePipe } from './pipes/filter-mobile.pipe';\r\nimport { MobileCommandFilterPipe } from './pipes/mobile-command-filter';\r\nimport { MobileViewHtmlTemplatePipe } from './pipes/mobile-view-html-template.pipe';\r\nimport { ValueTransformPipe } from './pipes/value-transform.pipe';\r\nimport { EditorPopupVisiblePipe } from './pipes/editor-popup-visible.pipe';\r\nimport { SdCellDefDirective } from './directives/cell-def.directive';\r\nimport { SdCellEditorDefDirective } from './directives/cell-editor-def.directive';\r\nimport { SdCellFooterDevDirective } from './directives/cell-footer-def.directive';\r\nimport { SdSubHeaderDefDirective } from './directives/sub-information-header-def.directive';\r\nimport { SdGridImportExcel } from './components/grid-import-excel/grid-import-excel.component';\r\nimport { SdFormModule } from '@sd-angular/core/form';\r\nimport { SdUploadExcelModule } from '@sd-angular/core/upload-excel';\r\nimport { HandlerLocal } from './models/handler-local';\r\nimport { HandlerDotnet } from './models/handler-dotnet';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatPaginatorModule,\r\n MatTableModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n MatRadioModule,\r\n MatSlideToggleModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n SdUploadExcelModule,\r\n SdFormModule,\r\n SdServiceModule\r\n ],\r\n declarations: [\r\n SdGrid,\r\n SdGridConfig,\r\n SdGridDesktopColumnEdit,\r\n SdGridDesktopColumnView,\r\n SdGridDesktopInlineFilter,\r\n SdGridMobileItemView,\r\n SdGridPopupEditor,\r\n SdGridPopupExportExcel,\r\n SdGridPopupFilter,\r\n SdGridPopupQuickFilterDetail,\r\n SdGridSubInformation,\r\n SdGridImportExcel,\r\n\r\n GridDesktopColumnChildrenViewComponent,\r\n CellDesktopClassNamePipe,\r\n CellMobileClassNamePipe,\r\n ColumnCommandFilterPipe,\r\n ColumnHtmlTemplatePipe,\r\n ColumnTitlePipe,\r\n ColumnValuesPipe,\r\n CommandDisabledPipe,\r\n CommandFilterPipe,\r\n CommandHidden,\r\n CommandIconPipe,\r\n CommandTitlePipe,\r\n SdDynamicItems,\r\n EditorDynamicItemPipe,\r\n EditorHandlerPipe,\r\n EditorSubInformationHandlerPipe,\r\n EditorValidatePipe,\r\n FilterMobilePipe,\r\n MobileCommandFilterPipe,\r\n MobileViewHtmlTemplatePipe,\r\n ValueTransformPipe,\r\n EditorPopupVisiblePipe,\r\n\r\n SdCellDefDirective,\r\n SdCellEditorDefDirective,\r\n SdCellFooterDevDirective,\r\n SdSubHeaderDefDirective,\r\n ],\r\n exports: [\r\n SdGrid,\r\n SdCellDefDirective,\r\n SdCellEditorDefDirective,\r\n SdCellFooterDevDirective,\r\n SdSubHeaderDefDirective,\r\n ],\r\n providers: [\r\n HandlerLocal,\r\n HandlerDotnet,\r\n EditorHandlerPipe\r\n ]\r\n})\r\nexport class SdGridModule {\r\n}\r\n","export class QuickFilter {\r\n code: string;\r\n filter: {\r\n [field: string]: any\r\n };\r\n externalFilter: {\r\n [field: string]: any\r\n };\r\n}\r\n\r\nexport interface FilterConfiguration {\r\n selectedQuickFilter: string;\r\n quickFilters: QuickFilter[];\r\n inlineExternal: {\r\n [key: string]: boolean;\r\n };\r\n inlineColumn: {\r\n [key: string]: boolean;\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Pipe","InjectionToken","Directive","TemplateRef","Input","Injectable","DatePipe","QueryList","Subscription","$","startWith","merge","Component","ChangeDetectionStrategy","Inject","Optional","ChangeDetectorRef","DeviceDetectorService","SdTranslateService","SdLoadingService","SdApiService","SdExcelService","SdNotifyService","ViewChildren","ViewChild","ContentChildren","MatPaginator","EventEmitter","SdSettingService","Output","hash","ViewEncapsulation","SdUtilityService","DecimalPipe","SdUploadExcel","NgModule","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatFormFieldModule","MatPaginatorModule","MatTableModule","MatMenuModule","MatIconModule","MatButtonModule","MatTooltipModule","MatProgressSpinnerModule","MatChipsModule","MatRadioModule","MatSlideToggleModule","MatSelectModule","MatCheckboxModule","SdUploadExcelModule","SdFormModule","SdServiceModule"],"mappings":"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"}
|