@sd-angular/core 1.2.94 → 1.2.97
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 +6 -2
- 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-button.umd.min.js +1 -1
- package/bundles/sd-angular-core-button.umd.min.js.map +1 -1
- 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 +2 -1
- package/bundles/sd-angular-core-db.umd.js.__ivy_ngcc_bak +464 -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-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 +13 -21
- 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-editor.umd.min.js +2 -2
- package/bundles/sd-angular-core-editor.umd.min.js.map +1 -1
- 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 +2 -1
- package/bundles/sd-angular-core-utility.umd.js.__ivy_ngcc_bak +708 -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-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/button/sd-angular-core-button.metadata.json +1 -1
- 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/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/editor/sd-angular-core-editor.metadata.json +1 -1
- package/editor/src/lib/editor.component.d.ts +1 -6
- package/editor/src/lib/editor.model.d.ts +4 -2
- 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/button/src/lib/button.component.js +5 -2
- 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/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/editor/src/lib/editor.component.js +8 -19
- package/esm2015/editor/src/lib/editor.model.js +2 -2
- 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/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 +6 -2
- 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 +2 -1
- package/fesm2015/sd-angular-core-db.js.__ivy_ngcc_bak +91 -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 +10 -19
- 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 +2 -1
- package/fesm2015/sd-angular-core-utility.js.__ivy_ngcc_bak +364 -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.2.97.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/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.94.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-upload-file.js","sources":["../../../../projects/sd-core/upload-file/src/lib/upload-file.component.ts","../../../../projects/sd-core/upload-file/src/lib/upload-file.module.ts","../../../../projects/sd-core/upload-file/src/public-api.ts","../../../../projects/sd-core/upload-file/sd-angular-core-upload-file.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ViewChildren,\r\n QueryList,\r\n OnDestroy,\r\n ViewChild,\r\n ContentChild\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as uuid from 'uuid';\r\nimport $ from 'jquery';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTranslateService } from '@sd-angular/core/translate';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\n// https://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded\r\n@Component({\r\n selector: 'sd-upload-file',\r\n templateUrl: './upload-file.component.html',\r\n styleUrls: ['./upload-file.component.scss']\r\n})\r\nexport class SdUploadFile implements OnInit, AfterViewInit, OnDestroy {\r\n id = `I${uuid.v4()}`;\r\n #isMobileOrTablet = false;\r\n #canvas1 = `C${uuid.v4()}`;\r\n #canvas2 = `C${uuid.v4()}`;\r\n previewFiles: PreviewFile[] = [];\r\n selectedFile: PreviewFile;\r\n @Input() label: string;\r\n @Input() type: 'image' | 'file' = 'file';\r\n @Input() disabled = false;\r\n @Input() extensions: string[] = [];\r\n @Input() max = 1;\r\n @Input() maxSize: number;\r\n @Input() maxWidth: number;\r\n @Input() maxHeight: number;\r\n @Input() scaleToPixel: number;\r\n #srcs: string[];\r\n @Input() set srcs(srcs: string[]) {\r\n if (Array.isArray(srcs)) {\r\n this.#srcs = srcs;\r\n this.#srcChanges.next(this.#srcs);\r\n }\r\n }\r\n @Input() previewWidth: string = '100px';\r\n @Input() previewHeight: string = '100px';\r\n @Input() align: 'left' | 'center' = 'center';\r\n #model: PreviewFile[];\r\n @Input() set model(model: (string | PreviewFile)[]) {\r\n if (Array.isArray(model) && this.#model !== model) {\r\n let flag = false;\r\n this.#model = model.map(src => {\r\n if (typeof (src) === 'string') {\r\n let extension = null;\r\n const lastDot = src.lastIndexOf('.');\r\n if (lastDot > 0) {\r\n extension = src.substring(lastDot + 1);\r\n }\r\n flag = true;\r\n return {\r\n file: null,\r\n previewSrc: null,\r\n src,\r\n isPreviewImage: this.type === 'image',\r\n extension\r\n }\r\n }\r\n return src;\r\n });\r\n if (flag) {\r\n this.modelChange.emit(this.#model);\r\n }\r\n this.#modelChanges.next(this.#model);\r\n } else {\r\n this.#model = [];\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter<PreviewFile[]>();\r\n @Output() sdChange = new EventEmitter<PreviewFile[]>();\r\n @ViewChildren('dropElement') dropElements: QueryList<ElementRef>;\r\n @ViewChild('canvas') canvas: ElementRef;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n #subscription = new Subscription();\r\n #currentDropContainer: any;\r\n #srcChanges = new Subject();\r\n #modelChanges = new Subject();\r\n constructor(\r\n deviceService: DeviceDetectorService,\r\n private ref: ChangeDetectorRef,\r\n private notifyService: SdNotifyService,\r\n private translateService: SdTranslateService) {\r\n this.#isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.#srcChanges.pipe(startWith(this.#srcs)).subscribe(() => {\r\n if (!Array.isArray(this.#srcs)) {\r\n return;\r\n }\r\n const previewFiles = this.#srcs.map(src => {\r\n let extension = null;\r\n const lastDot = src.lastIndexOf('.');\r\n if (lastDot > 0) {\r\n extension = src.substring(lastDot + 1);\r\n }\r\n return {\r\n file: null,\r\n previewSrc: null,\r\n src,\r\n isPreviewImage: this.type === 'image',\r\n extension\r\n }\r\n });\r\n this.previewFiles = previewFiles;\r\n this.modelChange.emit(previewFiles);\r\n // this.sdChange.emit(previewFiles);\r\n }));\r\n this.#subscription.add(this.#modelChanges.pipe(startWith([])).subscribe(() => {\r\n if (Array.isArray(this.#model)) {\r\n this.previewFiles = this.#model;\r\n }\r\n }));\r\n if (!this.#isMobileOrTablet) {\r\n if (this.dropElements.length > 0) {\r\n const dropContainer = this.dropElements.first.nativeElement;\r\n this.#currentDropContainer = dropContainer;\r\n dropContainer.addEventListener('dragover', (evt: Event) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.9;\r\n dropContainer.style.border = '2px solid grey';\r\n });\r\n dropContainer.addEventListener('dragenter', (evt: Event) => {\r\n evt.preventDefault();\r\n });\r\n dropContainer.addEventListener('dragleave', (evt: Event) => {\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n });\r\n dropContainer.addEventListener('drop', async (evt: DragEvent) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n await this.#uploadFile(evt.dataTransfer);\r\n });\r\n }\r\n this.#subscription.add(this.dropElements.changes.subscribe(() => {\r\n if (this.dropElements.length > 0 && this.#currentDropContainer !== this.dropElements.first.nativeElement) {\r\n const dropContainer = this.dropElements.first.nativeElement;\r\n this.#currentDropContainer = dropContainer;\r\n dropContainer.addEventListener('dragover', (evt: Event) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.9;\r\n dropContainer.style.border = '2px solid grey';\r\n });\r\n dropContainer.addEventListener('dragenter', (evt: Event) => {\r\n evt.preventDefault();\r\n });\r\n dropContainer.addEventListener('dragleave', (evt: Event) => {\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n });\r\n dropContainer.addEventListener('drop', async (evt: DragEvent) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n await this.#uploadFile(evt.dataTransfer);\r\n });\r\n }\r\n }));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reload = (previewFiles: PreviewFile[]) => {\r\n if (Array.isArray(previewFiles)) {\r\n this.previewFiles = previewFiles;\r\n this.modelChange.emit(previewFiles);\r\n // this.sdChange.emit(previewFiles);\r\n }\r\n }\r\n\r\n #validate = async (file: File): Promise<string> => {\r\n if (this.type === 'image') {\r\n if (file.type.split('/')[0] !== 'image') {\r\n return `[${file.name}] ${this.translateService.translate('Uploaded file is not an image')}`;\r\n }\r\n }\r\n if (this.extensions?.length) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n if (!this.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n return `[${file.name}] ${this.translateService.translate('Uploaded file is not match extension')} ${this.extensions.join(', ')}`;\r\n }\r\n }\r\n if (this.maxSize) {\r\n if (this.maxSize * 1024 * 1024 < file.size) {\r\n return `[${file.name}] ${this.translateService.translate('Max file size')} ${this.maxSize} Mbs`;\r\n }\r\n }\r\n if (this.type === 'image' && (this.maxWidth || this.maxHeight)) {\r\n const message: string = await new Promise(resolve => {\r\n const URL = window.URL || window.webkitURL;\r\n const img = new Image();\r\n img.onload = () => {\r\n if (this.maxWidth && img.width > this.maxWidth) {\r\n resolve(`[${file.name}] ${this.translateService.translate('Max image width')} ${this.maxWidth}px`);\r\n }\r\n if (this.maxHeight && img.height > this.maxHeight) {\r\n resolve(`[${file.name}] ${this.translateService.translate('Max image height')} ${this.maxHeight}px`);\r\n }\r\n resolve(null);\r\n };\r\n img.src = URL.createObjectURL(file);\r\n });\r\n if (message) {\r\n return message;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n #preview = () => {\r\n for (const previewFile of this.previewFiles.filter(e => e.file)) {\r\n const reader = new FileReader();\r\n reader.onload = (evt) => {\r\n previewFile.previewSrc = evt.target.result;\r\n previewFile.isPreviewImage = previewFile.file?.type.split('/')[0] === 'image';\r\n this.ref.detectChanges();\r\n };\r\n reader.readAsDataURL(previewFile.file);\r\n }\r\n }\r\n\r\n onUpload = (previewFile?: PreviewFile) => {\r\n if ($(`#${this.id}`).length) {\r\n $('body').children(`#${this.id}`).remove();\r\n }\r\n if (previewFile || this.max === 1) {\r\n $('body').append(`<input id=\"${this.id}\" style=\"display: none\" type=\"file\" />`);\r\n } else {\r\n $('body').append(`<input id=\"${this.id}\" style=\"display: none\" type=\"file\" multiple />`);\r\n }\r\n $(`#${this.id}`).on('change', async (evt: any) => {\r\n await this.#uploadFile(evt.target, previewFile);\r\n $('body').children(`#${this.id}`).remove();\r\n });\r\n $(`#${this.id}`).trigger('click');\r\n }\r\n\r\n #uploadFile = async (target: DataTransfer, previewFile?: PreviewFile) => {\r\n if (!target.files.length) {\r\n return;\r\n }\r\n const originFiles = target.files;\r\n const files: File[] = [];\r\n if (!previewFile) {\r\n if (originFiles.length + this.previewFiles.length > this.max) {\r\n this.notifyService.notify.warning(`${this.translateService.translate('Max number of files')} ${this.max}`);\r\n return;\r\n }\r\n for (let i = 0; i < originFiles.length; i++) {\r\n let file = originFiles.item(i);\r\n if (this.type === 'image' && this.scaleToPixel > 0) {\r\n file = await this.#resize(file);\r\n }\r\n const message = await this.#validate(file);\r\n if (message) {\r\n this.notifyService.notify.warning(message);\r\n return;\r\n }\r\n files.push(file);\r\n }\r\n for (const file of files) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n this.previewFiles.push({\r\n file,\r\n isPreviewImage: false,\r\n previewSrc: null,\r\n src: null,\r\n fileName: file.name,\r\n extension\r\n });\r\n }\r\n } else {\r\n const idx = this.previewFiles.indexOf(previewFile);\r\n let file = originFiles.item(0);\r\n if (this.type === 'image' && this.scaleToPixel > 0) {\r\n file = await this.#resize(file);\r\n }\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n this.previewFiles[idx] = {\r\n file,\r\n isPreviewImage: false,\r\n previewSrc: null,\r\n src: null,\r\n fileName: file.name,\r\n extension\r\n };\r\n }\r\n this.#preview();\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n this.ref.detectChanges();\r\n }\r\n\r\n onRemove = (previewFile: PreviewFile) => {\r\n this.notifyService.confirmDelete().then(() => {\r\n const idx = this.previewFiles.indexOf(previewFile);\r\n this.previewFiles.splice(idx, 1);\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n });\r\n }\r\n\r\n onDrop = (event: CdkDragDrop<string[]>) => {\r\n moveItemInArray(this.previewFiles, event.previousIndex, event.currentIndex);\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n }\r\n\r\n #resize = async (file: File): Promise<File> => {\r\n if (!this.scaleToPixel) {\r\n return file;\r\n }\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n return file;\r\n }\r\n return await new Promise((resolve, reject) => {\r\n const URL = window.URL || window.webkitURL;\r\n const img = new Image();\r\n img.onload = () => {\r\n try {\r\n if (img.width * img.height <= this.scaleToPixel) {\r\n return resolve(file);\r\n }\r\n const canvas1 = document.createElement('canvas');\r\n canvas1.setAttribute('id', this.#canvas1);\r\n const ctx1 = canvas1.getContext('2d');\r\n const { width, height } = this.#scale(img.width, img.height, this.scaleToPixel);\r\n canvas1.width = width;\r\n canvas1.height = height;\r\n\r\n const canvas2 = document.createElement('canvas');\r\n canvas2.setAttribute('id', this.#canvas2);\r\n const ctx2 = canvas2.getContext('2d');\r\n canvas2.width = width;\r\n canvas2.height = height;\r\n ctx2.drawImage(img, 0, 0, canvas2.width, canvas2.height);\r\n ctx2.drawImage(canvas2, 0, 0, canvas2.width * 0.5, canvas2.height * 0.5);\r\n ctx1.drawImage(canvas2, 0, 0, canvas2.width * 0.5, canvas2.height * 0.5, 0, 0, canvas1.width, canvas1.height);\r\n canvas1.toBlob(blob => {\r\n resolve(this.#blobToFile(blob, `${file.name.substring(0, lastDot)}.png`));\r\n });\r\n } catch (err) {\r\n reject(err);\r\n } finally {\r\n $(`#${this.#canvas1}`).remove();\r\n $(`#${this.#canvas2}`).remove();\r\n }\r\n };\r\n img.src = URL.createObjectURL(file);\r\n });\r\n }\r\n\r\n #scale = (width: number, height: number, scaleToPixcel: number) => {\r\n if (!width || !height || !scaleToPixcel) {\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n const ratio = width / height;\r\n for (let i = 0; i < width; i++) {\r\n width -= i;\r\n height = Math.trunc(width / ratio);\r\n if (width * height <= scaleToPixcel) {\r\n break;\r\n }\r\n }\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n\r\n onSelect = (file: PreviewFile) => {\r\n if (!this.#isMobileOrTablet) {\r\n return;\r\n }\r\n if (this.selectedFile !== file) {\r\n this.selectedFile = file;\r\n } else {\r\n this.selectedFile = null;\r\n }\r\n }\r\n\r\n #blobToFile = (blob: Blob, fileName: string): File => {\r\n const temp: any = blob;\r\n temp.lastModifiedDate = new Date();\r\n temp.name = fileName;\r\n return blob as File;\r\n }\r\n}\r\n\r\nexport interface PreviewFile {\r\n file: File;\r\n src: string;\r\n previewSrc: string | ArrayBuffer;\r\n isPreviewImage: boolean;\r\n fileName?: string;\r\n extension?: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DeviceDetectorModule } from 'ngx-device-detector';\r\nimport { SdUploadFile } from './upload-file.component';\r\nimport { SdNotifyModule } from '@sd-angular/core/notify';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { SdImagePreviewModule } from '@sd-angular/core/image-preview';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DeviceDetectorModule.forRoot(),\r\n MatButtonModule,\r\n MatIconModule,\r\n DragDropModule,\r\n SdNotifyModule,\r\n SdTranslateModule,\r\n SdImagePreviewModule\r\n ],\r\n declarations: [\r\n SdUploadFile\r\n ],\r\n exports: [\r\n SdUploadFile\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdUploadFileModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdUploadFileModule } from './lib/upload-file.module';\r\nexport * from './lib/upload-file.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-upload-file.js","sources":["../../../../projects/sd-core/upload-file/src/lib/upload-file.component.ts","../../../../projects/sd-core/upload-file/src/lib/upload-file.module.ts","../../../../projects/sd-core/upload-file/src/public-api.ts","../../../../projects/sd-core/upload-file/sd-angular-core-upload-file.ts"],"names":["uuid.v4"],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ViewChildren,\r\n QueryList,\r\n OnDestroy,\r\n ViewChild,\r\n ContentChild\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as uuid from 'uuid';\r\nimport $ from 'jquery';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTranslateService } from '@sd-angular/core/translate';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\n// https://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded\r\n@Component({\r\n selector: 'sd-upload-file',\r\n templateUrl: './upload-file.component.html',\r\n styleUrls: ['./upload-file.component.scss']\r\n})\r\nexport class SdUploadFile implements OnInit, AfterViewInit, OnDestroy {\r\n id = `I${uuid.v4()}`;\r\n #isMobileOrTablet = false;\r\n #canvas1 = `C${uuid.v4()}`;\r\n #canvas2 = `C${uuid.v4()}`;\r\n previewFiles: PreviewFile[] = [];\r\n selectedFile: PreviewFile;\r\n @Input() label: string;\r\n @Input() type: 'image' | 'file' = 'file';\r\n @Input() disabled = false;\r\n @Input() extensions: string[] = [];\r\n @Input() max = 1;\r\n @Input() maxSize: number;\r\n @Input() maxWidth: number;\r\n @Input() maxHeight: number;\r\n @Input() scaleToPixel: number;\r\n #srcs: string[];\r\n @Input() set srcs(srcs: string[]) {\r\n if (Array.isArray(srcs)) {\r\n this.#srcs = srcs;\r\n this.#srcChanges.next(this.#srcs);\r\n }\r\n }\r\n @Input() previewWidth: string = '100px';\r\n @Input() previewHeight: string = '100px';\r\n @Input() align: 'left' | 'center' = 'center';\r\n #model: PreviewFile[];\r\n @Input() set model(model: (string | PreviewFile)[]) {\r\n if (Array.isArray(model) && this.#model !== model) {\r\n let flag = false;\r\n this.#model = model.map(src => {\r\n if (typeof (src) === 'string') {\r\n let extension = null;\r\n const lastDot = src.lastIndexOf('.');\r\n if (lastDot > 0) {\r\n extension = src.substring(lastDot + 1);\r\n }\r\n flag = true;\r\n return {\r\n file: null,\r\n previewSrc: null,\r\n src,\r\n isPreviewImage: this.type === 'image',\r\n extension\r\n }\r\n }\r\n return src;\r\n });\r\n if (flag) {\r\n this.modelChange.emit(this.#model);\r\n }\r\n this.#modelChanges.next(this.#model);\r\n } else {\r\n this.#model = [];\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter<PreviewFile[]>();\r\n @Output() sdChange = new EventEmitter<PreviewFile[]>();\r\n @ViewChildren('dropElement') dropElements: QueryList<ElementRef>;\r\n @ViewChild('canvas') canvas: ElementRef;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n #subscription = new Subscription();\r\n #currentDropContainer: any;\r\n #srcChanges = new Subject();\r\n #modelChanges = new Subject();\r\n constructor(\r\n deviceService: DeviceDetectorService,\r\n private ref: ChangeDetectorRef,\r\n private notifyService: SdNotifyService,\r\n private translateService: SdTranslateService) {\r\n this.#isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.#srcChanges.pipe(startWith(this.#srcs)).subscribe(() => {\r\n if (!Array.isArray(this.#srcs)) {\r\n return;\r\n }\r\n const previewFiles = this.#srcs.map(src => {\r\n let extension = null;\r\n const lastDot = src.lastIndexOf('.');\r\n if (lastDot > 0) {\r\n extension = src.substring(lastDot + 1);\r\n }\r\n return {\r\n file: null,\r\n previewSrc: null,\r\n src,\r\n isPreviewImage: this.type === 'image',\r\n extension\r\n }\r\n });\r\n this.previewFiles = previewFiles;\r\n this.modelChange.emit(previewFiles);\r\n // this.sdChange.emit(previewFiles);\r\n }));\r\n this.#subscription.add(this.#modelChanges.pipe(startWith([])).subscribe(() => {\r\n if (Array.isArray(this.#model)) {\r\n this.previewFiles = this.#model;\r\n }\r\n }));\r\n if (!this.#isMobileOrTablet) {\r\n if (this.dropElements.length > 0) {\r\n const dropContainer = this.dropElements.first.nativeElement;\r\n this.#currentDropContainer = dropContainer;\r\n dropContainer.addEventListener('dragover', (evt: Event) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.9;\r\n dropContainer.style.border = '2px solid grey';\r\n });\r\n dropContainer.addEventListener('dragenter', (evt: Event) => {\r\n evt.preventDefault();\r\n });\r\n dropContainer.addEventListener('dragleave', (evt: Event) => {\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n });\r\n dropContainer.addEventListener('drop', async (evt: DragEvent) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n await this.#uploadFile(evt.dataTransfer);\r\n });\r\n }\r\n this.#subscription.add(this.dropElements.changes.subscribe(() => {\r\n if (this.dropElements.length > 0 && this.#currentDropContainer !== this.dropElements.first.nativeElement) {\r\n const dropContainer = this.dropElements.first.nativeElement;\r\n this.#currentDropContainer = dropContainer;\r\n dropContainer.addEventListener('dragover', (evt: Event) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.9;\r\n dropContainer.style.border = '2px solid grey';\r\n });\r\n dropContainer.addEventListener('dragenter', (evt: Event) => {\r\n evt.preventDefault();\r\n });\r\n dropContainer.addEventListener('dragleave', (evt: Event) => {\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n });\r\n dropContainer.addEventListener('drop', async (evt: DragEvent) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n await this.#uploadFile(evt.dataTransfer);\r\n });\r\n }\r\n }));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reload = (previewFiles: PreviewFile[]) => {\r\n if (Array.isArray(previewFiles)) {\r\n this.previewFiles = previewFiles;\r\n this.modelChange.emit(previewFiles);\r\n // this.sdChange.emit(previewFiles);\r\n }\r\n }\r\n\r\n #validate = async (file: File): Promise<string> => {\r\n if (this.type === 'image') {\r\n if (file.type.split('/')[0] !== 'image') {\r\n return `[${file.name}] ${this.translateService.translate('Uploaded file is not an image')}`;\r\n }\r\n }\r\n if (this.extensions?.length) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n if (!this.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n return `[${file.name}] ${this.translateService.translate('Uploaded file is not match extension')} ${this.extensions.join(', ')}`;\r\n }\r\n }\r\n if (this.maxSize) {\r\n if (this.maxSize * 1024 * 1024 < file.size) {\r\n return `[${file.name}] ${this.translateService.translate('Max file size')} ${this.maxSize} Mbs`;\r\n }\r\n }\r\n if (this.type === 'image' && (this.maxWidth || this.maxHeight)) {\r\n const message: string = await new Promise(resolve => {\r\n const URL = window.URL || window.webkitURL;\r\n const img = new Image();\r\n img.onload = () => {\r\n if (this.maxWidth && img.width > this.maxWidth) {\r\n resolve(`[${file.name}] ${this.translateService.translate('Max image width')} ${this.maxWidth}px`);\r\n }\r\n if (this.maxHeight && img.height > this.maxHeight) {\r\n resolve(`[${file.name}] ${this.translateService.translate('Max image height')} ${this.maxHeight}px`);\r\n }\r\n resolve(null);\r\n };\r\n img.src = URL.createObjectURL(file);\r\n });\r\n if (message) {\r\n return message;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n #preview = () => {\r\n for (const previewFile of this.previewFiles.filter(e => e.file)) {\r\n const reader = new FileReader();\r\n reader.onload = (evt) => {\r\n previewFile.previewSrc = evt.target.result;\r\n previewFile.isPreviewImage = previewFile.file?.type.split('/')[0] === 'image';\r\n this.ref.detectChanges();\r\n };\r\n reader.readAsDataURL(previewFile.file);\r\n }\r\n }\r\n\r\n onUpload = (previewFile?: PreviewFile) => {\r\n if ($(`#${this.id}`).length) {\r\n $('body').children(`#${this.id}`).remove();\r\n }\r\n if (previewFile || this.max === 1) {\r\n $('body').append(`<input id=\"${this.id}\" style=\"display: none\" type=\"file\" />`);\r\n } else {\r\n $('body').append(`<input id=\"${this.id}\" style=\"display: none\" type=\"file\" multiple />`);\r\n }\r\n $(`#${this.id}`).on('change', async (evt: any) => {\r\n await this.#uploadFile(evt.target, previewFile);\r\n $('body').children(`#${this.id}`).remove();\r\n });\r\n $(`#${this.id}`).trigger('click');\r\n }\r\n\r\n #uploadFile = async (target: DataTransfer, previewFile?: PreviewFile) => {\r\n if (!target.files.length) {\r\n return;\r\n }\r\n const originFiles = target.files;\r\n const files: File[] = [];\r\n if (!previewFile) {\r\n if (originFiles.length + this.previewFiles.length > this.max) {\r\n this.notifyService.notify.warning(`${this.translateService.translate('Max number of files')} ${this.max}`);\r\n return;\r\n }\r\n for (let i = 0; i < originFiles.length; i++) {\r\n let file = originFiles.item(i);\r\n if (this.type === 'image' && this.scaleToPixel > 0) {\r\n file = await this.#resize(file);\r\n }\r\n const message = await this.#validate(file);\r\n if (message) {\r\n this.notifyService.notify.warning(message);\r\n return;\r\n }\r\n files.push(file);\r\n }\r\n for (const file of files) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n this.previewFiles.push({\r\n file,\r\n isPreviewImage: false,\r\n previewSrc: null,\r\n src: null,\r\n fileName: file.name,\r\n extension\r\n });\r\n }\r\n } else {\r\n const idx = this.previewFiles.indexOf(previewFile);\r\n let file = originFiles.item(0);\r\n if (this.type === 'image' && this.scaleToPixel > 0) {\r\n file = await this.#resize(file);\r\n }\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n this.previewFiles[idx] = {\r\n file,\r\n isPreviewImage: false,\r\n previewSrc: null,\r\n src: null,\r\n fileName: file.name,\r\n extension\r\n };\r\n }\r\n this.#preview();\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n this.ref.detectChanges();\r\n }\r\n\r\n onRemove = (previewFile: PreviewFile) => {\r\n this.notifyService.confirmDelete().then(() => {\r\n const idx = this.previewFiles.indexOf(previewFile);\r\n this.previewFiles.splice(idx, 1);\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n });\r\n }\r\n\r\n onDrop = (event: CdkDragDrop<string[]>) => {\r\n moveItemInArray(this.previewFiles, event.previousIndex, event.currentIndex);\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n }\r\n\r\n #resize = async (file: File): Promise<File> => {\r\n if (!this.scaleToPixel) {\r\n return file;\r\n }\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n return file;\r\n }\r\n return await new Promise((resolve, reject) => {\r\n const URL = window.URL || window.webkitURL;\r\n const img = new Image();\r\n img.onload = () => {\r\n try {\r\n if (img.width * img.height <= this.scaleToPixel) {\r\n return resolve(file);\r\n }\r\n const canvas1 = document.createElement('canvas');\r\n canvas1.setAttribute('id', this.#canvas1);\r\n const ctx1 = canvas1.getContext('2d');\r\n const { width, height } = this.#scale(img.width, img.height, this.scaleToPixel);\r\n canvas1.width = width;\r\n canvas1.height = height;\r\n\r\n const canvas2 = document.createElement('canvas');\r\n canvas2.setAttribute('id', this.#canvas2);\r\n const ctx2 = canvas2.getContext('2d');\r\n canvas2.width = width;\r\n canvas2.height = height;\r\n ctx2.drawImage(img, 0, 0, canvas2.width, canvas2.height);\r\n ctx2.drawImage(canvas2, 0, 0, canvas2.width * 0.5, canvas2.height * 0.5);\r\n ctx1.drawImage(canvas2, 0, 0, canvas2.width * 0.5, canvas2.height * 0.5, 0, 0, canvas1.width, canvas1.height);\r\n canvas1.toBlob(blob => {\r\n resolve(this.#blobToFile(blob, `${file.name.substring(0, lastDot)}.png`));\r\n });\r\n } catch (err) {\r\n reject(err);\r\n } finally {\r\n $(`#${this.#canvas1}`).remove();\r\n $(`#${this.#canvas2}`).remove();\r\n }\r\n };\r\n img.src = URL.createObjectURL(file);\r\n });\r\n }\r\n\r\n #scale = (width: number, height: number, scaleToPixcel: number) => {\r\n if (!width || !height || !scaleToPixcel) {\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n const ratio = width / height;\r\n for (let i = 0; i < width; i++) {\r\n width -= i;\r\n height = Math.trunc(width / ratio);\r\n if (width * height <= scaleToPixcel) {\r\n break;\r\n }\r\n }\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n\r\n onSelect = (file: PreviewFile) => {\r\n if (!this.#isMobileOrTablet) {\r\n return;\r\n }\r\n if (this.selectedFile !== file) {\r\n this.selectedFile = file;\r\n } else {\r\n this.selectedFile = null;\r\n }\r\n }\r\n\r\n #blobToFile = (blob: Blob, fileName: string): File => {\r\n const temp: any = blob;\r\n temp.lastModifiedDate = new Date();\r\n temp.name = fileName;\r\n return blob as File;\r\n }\r\n}\r\n\r\nexport interface PreviewFile {\r\n file: File;\r\n src: string;\r\n previewSrc: string | ArrayBuffer;\r\n isPreviewImage: boolean;\r\n fileName?: string;\r\n extension?: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DeviceDetectorModule } from 'ngx-device-detector';\r\nimport { SdUploadFile } from './upload-file.component';\r\nimport { SdNotifyModule } from '@sd-angular/core/notify';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { SdImagePreviewModule } from '@sd-angular/core/image-preview';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DeviceDetectorModule.forRoot(),\r\n MatButtonModule,\r\n MatIconModule,\r\n DragDropModule,\r\n SdNotifyModule,\r\n SdTranslateModule,\r\n SdImagePreviewModule\r\n ],\r\n declarations: [\r\n SdUploadFile\r\n ],\r\n exports: [\r\n SdUploadFile\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdUploadFileModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdUploadFileModule } from './lib/upload-file.module';\r\nexport * from './lib/upload-file.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sd-angular-core-upload-file.js","sources":["../../../../projects/sd-core/upload-file/src/lib/upload-file.component.ts","../../../../projects/sd-core/upload-file/src/lib/upload-file.module.ts","../../../../projects/sd-core/upload-file/src/public-api.ts","../../../../projects/sd-core/upload-file/sd-angular-core-upload-file.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ViewChildren,\r\n QueryList,\r\n OnDestroy,\r\n ViewChild,\r\n ContentChild\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as uuid from 'uuid';\r\nimport $ from 'jquery';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\nimport { SdTranslateService } from '@sd-angular/core/translate';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n\r\n// https://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded\r\n@Component({\r\n selector: 'sd-upload-file',\r\n templateUrl: './upload-file.component.html',\r\n styleUrls: ['./upload-file.component.scss']\r\n})\r\nexport class SdUploadFile implements OnInit, AfterViewInit, OnDestroy {\r\n id = `I${uuid.v4()}`;\r\n #isMobileOrTablet = false;\r\n #canvas1 = `C${uuid.v4()}`;\r\n #canvas2 = `C${uuid.v4()}`;\r\n previewFiles: PreviewFile[] = [];\r\n selectedFile: PreviewFile;\r\n @Input() label: string;\r\n @Input() type: 'image' | 'file' = 'file';\r\n @Input() disabled = false;\r\n @Input() extensions: string[] = [];\r\n @Input() max = 1;\r\n @Input() maxSize: number;\r\n @Input() maxWidth: number;\r\n @Input() maxHeight: number;\r\n @Input() scaleToPixel: number;\r\n #srcs: string[];\r\n @Input() set srcs(srcs: string[]) {\r\n if (Array.isArray(srcs)) {\r\n this.#srcs = srcs;\r\n this.#srcChanges.next(this.#srcs);\r\n }\r\n }\r\n @Input() previewWidth: string = '100px';\r\n @Input() previewHeight: string = '100px';\r\n @Input() align: 'left' | 'center' = 'center';\r\n #model: PreviewFile[];\r\n @Input() set model(model: (string | PreviewFile)[]) {\r\n if (Array.isArray(model) && this.#model !== model) {\r\n let flag = false;\r\n this.#model = model.map(src => {\r\n if (typeof (src) === 'string') {\r\n let extension = null;\r\n const lastDot = src.lastIndexOf('.');\r\n if (lastDot > 0) {\r\n extension = src.substring(lastDot + 1);\r\n }\r\n flag = true;\r\n return {\r\n file: null,\r\n previewSrc: null,\r\n src,\r\n isPreviewImage: this.type === 'image',\r\n extension\r\n }\r\n }\r\n return src;\r\n });\r\n if (flag) {\r\n this.modelChange.emit(this.#model);\r\n }\r\n this.#modelChanges.next(this.#model);\r\n } else {\r\n this.#model = [];\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter<PreviewFile[]>();\r\n @Output() sdChange = new EventEmitter<PreviewFile[]>();\r\n @ViewChildren('dropElement') dropElements: QueryList<ElementRef>;\r\n @ViewChild('canvas') canvas: ElementRef;\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n #subscription = new Subscription();\r\n #currentDropContainer: any;\r\n #srcChanges = new Subject();\r\n #modelChanges = new Subject();\r\n constructor(\r\n deviceService: DeviceDetectorService,\r\n private ref: ChangeDetectorRef,\r\n private notifyService: SdNotifyService,\r\n private translateService: SdTranslateService) {\r\n this.#isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.#srcChanges.pipe(startWith(this.#srcs)).subscribe(() => {\r\n if (!Array.isArray(this.#srcs)) {\r\n return;\r\n }\r\n const previewFiles = this.#srcs.map(src => {\r\n let extension = null;\r\n const lastDot = src.lastIndexOf('.');\r\n if (lastDot > 0) {\r\n extension = src.substring(lastDot + 1);\r\n }\r\n return {\r\n file: null,\r\n previewSrc: null,\r\n src,\r\n isPreviewImage: this.type === 'image',\r\n extension\r\n }\r\n });\r\n this.previewFiles = previewFiles;\r\n this.modelChange.emit(previewFiles);\r\n // this.sdChange.emit(previewFiles);\r\n }));\r\n this.#subscription.add(this.#modelChanges.pipe(startWith([])).subscribe(() => {\r\n if (Array.isArray(this.#model)) {\r\n this.previewFiles = this.#model;\r\n }\r\n }));\r\n if (!this.#isMobileOrTablet) {\r\n if (this.dropElements.length > 0) {\r\n const dropContainer = this.dropElements.first.nativeElement;\r\n this.#currentDropContainer = dropContainer;\r\n dropContainer.addEventListener('dragover', (evt: Event) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.9;\r\n dropContainer.style.border = '2px solid grey';\r\n });\r\n dropContainer.addEventListener('dragenter', (evt: Event) => {\r\n evt.preventDefault();\r\n });\r\n dropContainer.addEventListener('dragleave', (evt: Event) => {\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n });\r\n dropContainer.addEventListener('drop', async (evt: DragEvent) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n await this.#uploadFile(evt.dataTransfer);\r\n });\r\n }\r\n this.#subscription.add(this.dropElements.changes.subscribe(() => {\r\n if (this.dropElements.length > 0 && this.#currentDropContainer !== this.dropElements.first.nativeElement) {\r\n const dropContainer = this.dropElements.first.nativeElement;\r\n this.#currentDropContainer = dropContainer;\r\n dropContainer.addEventListener('dragover', (evt: Event) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.9;\r\n dropContainer.style.border = '2px solid grey';\r\n });\r\n dropContainer.addEventListener('dragenter', (evt: Event) => {\r\n evt.preventDefault();\r\n });\r\n dropContainer.addEventListener('dragleave', (evt: Event) => {\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n });\r\n dropContainer.addEventListener('drop', async (evt: DragEvent) => {\r\n evt.preventDefault();\r\n dropContainer.style.opacity = 0.6;\r\n dropContainer.style.border = '2px dashed grey';\r\n await this.#uploadFile(evt.dataTransfer);\r\n });\r\n }\r\n }));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reload = (previewFiles: PreviewFile[]) => {\r\n if (Array.isArray(previewFiles)) {\r\n this.previewFiles = previewFiles;\r\n this.modelChange.emit(previewFiles);\r\n // this.sdChange.emit(previewFiles);\r\n }\r\n }\r\n\r\n #validate = async (file: File): Promise<string> => {\r\n if (this.type === 'image') {\r\n if (file.type.split('/')[0] !== 'image') {\r\n return `[${file.name}] ${this.translateService.translate('Uploaded file is not an image')}`;\r\n }\r\n }\r\n if (this.extensions?.length) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n if (!this.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {\r\n return `[${file.name}] ${this.translateService.translate('Uploaded file is not match extension')} ${this.extensions.join(', ')}`;\r\n }\r\n }\r\n if (this.maxSize) {\r\n if (this.maxSize * 1024 * 1024 < file.size) {\r\n return `[${file.name}] ${this.translateService.translate('Max file size')} ${this.maxSize} Mbs`;\r\n }\r\n }\r\n if (this.type === 'image' && (this.maxWidth || this.maxHeight)) {\r\n const message: string = await new Promise(resolve => {\r\n const URL = window.URL || window.webkitURL;\r\n const img = new Image();\r\n img.onload = () => {\r\n if (this.maxWidth && img.width > this.maxWidth) {\r\n resolve(`[${file.name}] ${this.translateService.translate('Max image width')} ${this.maxWidth}px`);\r\n }\r\n if (this.maxHeight && img.height > this.maxHeight) {\r\n resolve(`[${file.name}] ${this.translateService.translate('Max image height')} ${this.maxHeight}px`);\r\n }\r\n resolve(null);\r\n };\r\n img.src = URL.createObjectURL(file);\r\n });\r\n if (message) {\r\n return message;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n #preview = () => {\r\n for (const previewFile of this.previewFiles.filter(e => e.file)) {\r\n const reader = new FileReader();\r\n reader.onload = (evt) => {\r\n previewFile.previewSrc = evt.target.result;\r\n previewFile.isPreviewImage = previewFile.file?.type.split('/')[0] === 'image';\r\n this.ref.detectChanges();\r\n };\r\n reader.readAsDataURL(previewFile.file);\r\n }\r\n }\r\n\r\n onUpload = (previewFile?: PreviewFile) => {\r\n if ($(`#${this.id}`).length) {\r\n $('body').children(`#${this.id}`).remove();\r\n }\r\n if (previewFile || this.max === 1) {\r\n $('body').append(`<input id=\"${this.id}\" style=\"display: none\" type=\"file\" />`);\r\n } else {\r\n $('body').append(`<input id=\"${this.id}\" style=\"display: none\" type=\"file\" multiple />`);\r\n }\r\n $(`#${this.id}`).on('change', async (evt: any) => {\r\n await this.#uploadFile(evt.target, previewFile);\r\n $('body').children(`#${this.id}`).remove();\r\n });\r\n $(`#${this.id}`).trigger('click');\r\n }\r\n\r\n #uploadFile = async (target: DataTransfer, previewFile?: PreviewFile) => {\r\n if (!target.files.length) {\r\n return;\r\n }\r\n const originFiles = target.files;\r\n const files: File[] = [];\r\n if (!previewFile) {\r\n if (originFiles.length + this.previewFiles.length > this.max) {\r\n this.notifyService.notify.warning(`${this.translateService.translate('Max number of files')} ${this.max}`);\r\n return;\r\n }\r\n for (let i = 0; i < originFiles.length; i++) {\r\n let file = originFiles.item(i);\r\n if (this.type === 'image' && this.scaleToPixel > 0) {\r\n file = await this.#resize(file);\r\n }\r\n const message = await this.#validate(file);\r\n if (message) {\r\n this.notifyService.notify.warning(message);\r\n return;\r\n }\r\n files.push(file);\r\n }\r\n for (const file of files) {\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n this.previewFiles.push({\r\n file,\r\n isPreviewImage: false,\r\n previewSrc: null,\r\n src: null,\r\n fileName: file.name,\r\n extension\r\n });\r\n }\r\n } else {\r\n const idx = this.previewFiles.indexOf(previewFile);\r\n let file = originFiles.item(0);\r\n if (this.type === 'image' && this.scaleToPixel > 0) {\r\n file = await this.#resize(file);\r\n }\r\n const lastDot = file.name.lastIndexOf('.');\r\n const extension = file.name.substring(lastDot + 1);\r\n this.previewFiles[idx] = {\r\n file,\r\n isPreviewImage: false,\r\n previewSrc: null,\r\n src: null,\r\n fileName: file.name,\r\n extension\r\n };\r\n }\r\n this.#preview();\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n this.ref.detectChanges();\r\n }\r\n\r\n onRemove = (previewFile: PreviewFile) => {\r\n this.notifyService.confirmDelete().then(() => {\r\n const idx = this.previewFiles.indexOf(previewFile);\r\n this.previewFiles.splice(idx, 1);\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n });\r\n }\r\n\r\n onDrop = (event: CdkDragDrop<string[]>) => {\r\n moveItemInArray(this.previewFiles, event.previousIndex, event.currentIndex);\r\n this.modelChange.emit(this.previewFiles);\r\n this.sdChange.emit(this.previewFiles);\r\n }\r\n\r\n #resize = async (file: File): Promise<File> => {\r\n if (!this.scaleToPixel) {\r\n return file;\r\n }\r\n const lastDot = file.name.lastIndexOf('.');\r\n if (lastDot === -1) {\r\n return file;\r\n }\r\n return await new Promise((resolve, reject) => {\r\n const URL = window.URL || window.webkitURL;\r\n const img = new Image();\r\n img.onload = () => {\r\n try {\r\n if (img.width * img.height <= this.scaleToPixel) {\r\n return resolve(file);\r\n }\r\n const canvas1 = document.createElement('canvas');\r\n canvas1.setAttribute('id', this.#canvas1);\r\n const ctx1 = canvas1.getContext('2d');\r\n const { width, height } = this.#scale(img.width, img.height, this.scaleToPixel);\r\n canvas1.width = width;\r\n canvas1.height = height;\r\n\r\n const canvas2 = document.createElement('canvas');\r\n canvas2.setAttribute('id', this.#canvas2);\r\n const ctx2 = canvas2.getContext('2d');\r\n canvas2.width = width;\r\n canvas2.height = height;\r\n ctx2.drawImage(img, 0, 0, canvas2.width, canvas2.height);\r\n ctx2.drawImage(canvas2, 0, 0, canvas2.width * 0.5, canvas2.height * 0.5);\r\n ctx1.drawImage(canvas2, 0, 0, canvas2.width * 0.5, canvas2.height * 0.5, 0, 0, canvas1.width, canvas1.height);\r\n canvas1.toBlob(blob => {\r\n resolve(this.#blobToFile(blob, `${file.name.substring(0, lastDot)}.png`));\r\n });\r\n } catch (err) {\r\n reject(err);\r\n } finally {\r\n $(`#${this.#canvas1}`).remove();\r\n $(`#${this.#canvas2}`).remove();\r\n }\r\n };\r\n img.src = URL.createObjectURL(file);\r\n });\r\n }\r\n\r\n #scale = (width: number, height: number, scaleToPixcel: number) => {\r\n if (!width || !height || !scaleToPixcel) {\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n const ratio = width / height;\r\n for (let i = 0; i < width; i++) {\r\n width -= i;\r\n height = Math.trunc(width / ratio);\r\n if (width * height <= scaleToPixcel) {\r\n break;\r\n }\r\n }\r\n return {\r\n width,\r\n height\r\n };\r\n }\r\n\r\n onSelect = (file: PreviewFile) => {\r\n if (!this.#isMobileOrTablet) {\r\n return;\r\n }\r\n if (this.selectedFile !== file) {\r\n this.selectedFile = file;\r\n } else {\r\n this.selectedFile = null;\r\n }\r\n }\r\n\r\n #blobToFile = (blob: Blob, fileName: string): File => {\r\n const temp: any = blob;\r\n temp.lastModifiedDate = new Date();\r\n temp.name = fileName;\r\n return blob as File;\r\n }\r\n}\r\n\r\nexport interface PreviewFile {\r\n file: File;\r\n src: string;\r\n previewSrc: string | ArrayBuffer;\r\n isPreviewImage: boolean;\r\n fileName?: string;\r\n extension?: string;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DeviceDetectorModule } from 'ngx-device-detector';\r\nimport { SdUploadFile } from './upload-file.component';\r\nimport { SdNotifyModule } from '@sd-angular/core/notify';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { SdImagePreviewModule } from '@sd-angular/core/image-preview';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DeviceDetectorModule.forRoot(),\r\n MatButtonModule,\r\n MatIconModule,\r\n DragDropModule,\r\n SdNotifyModule,\r\n SdTranslateModule,\r\n SdImagePreviewModule\r\n ],\r\n declarations: [\r\n SdUploadFile\r\n ],\r\n exports: [\r\n SdUploadFile\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdUploadFileModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport { SdUploadFileModule } from './lib/upload-file.module';\r\nexport * from './lib/upload-file.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
@@ -361,4 +361,5 @@ SdUtilityModule.decorators = [
|
|
|
361
361
|
*/
|
|
362
362
|
|
|
363
363
|
export { SdCurrencyPipe, SdDesktopDirective, SdMobileDirective, SdMobileTabletDirective, SdSafeHtmlPipe, SdTabletDirective, SdTimeDifferentPipe, SdUtilityModule, SdUtilityService };
|
|
364
|
-
|
|
364
|
+
|
|
365
|
+
//# sourceMappingURL=sd-angular-core-utility.js.map
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import '@sd-angular/core/common';
|
|
2
|
+
import { Directive, TemplateRef, ViewContainerRef, Pipe, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
5
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
|
+
import { of, interval } from 'rxjs';
|
|
7
|
+
import { map } from 'rxjs/operators';
|
|
8
|
+
import { __classPrivateFieldGet } from 'tslib';
|
|
9
|
+
import md5 from 'md5';
|
|
10
|
+
import $ from 'jquery';
|
|
11
|
+
import { v4 } from 'uuid';
|
|
12
|
+
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
13
|
+
|
|
14
|
+
class SdDesktopDirective {
|
|
15
|
+
constructor(templateRef, viewContainerRef, deviceService) {
|
|
16
|
+
this.templateRef = templateRef;
|
|
17
|
+
this.viewContainerRef = viewContainerRef;
|
|
18
|
+
if (deviceService.isDesktop()) {
|
|
19
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
SdDesktopDirective.decorators = [
|
|
24
|
+
{ type: Directive, args: [{
|
|
25
|
+
selector: '[sdDesktop]'
|
|
26
|
+
},] }
|
|
27
|
+
];
|
|
28
|
+
SdDesktopDirective.ctorParameters = () => [
|
|
29
|
+
{ type: TemplateRef },
|
|
30
|
+
{ type: ViewContainerRef },
|
|
31
|
+
{ type: DeviceDetectorService }
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
class SdMobileDirective {
|
|
35
|
+
constructor(templateRef, viewContainerRef, deviceService) {
|
|
36
|
+
this.templateRef = templateRef;
|
|
37
|
+
this.viewContainerRef = viewContainerRef;
|
|
38
|
+
if (deviceService.isMobile()) {
|
|
39
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
SdMobileDirective.decorators = [
|
|
44
|
+
{ type: Directive, args: [{
|
|
45
|
+
selector: '[sdMobile]'
|
|
46
|
+
},] }
|
|
47
|
+
];
|
|
48
|
+
SdMobileDirective.ctorParameters = () => [
|
|
49
|
+
{ type: TemplateRef },
|
|
50
|
+
{ type: ViewContainerRef },
|
|
51
|
+
{ type: DeviceDetectorService }
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
class SdMobileTabletDirective {
|
|
55
|
+
constructor(templateRef, viewContainerRef, deviceService) {
|
|
56
|
+
this.templateRef = templateRef;
|
|
57
|
+
this.viewContainerRef = viewContainerRef;
|
|
58
|
+
if (deviceService.isMobile() || deviceService.isTablet()) {
|
|
59
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
SdMobileTabletDirective.decorators = [
|
|
64
|
+
{ type: Directive, args: [{
|
|
65
|
+
selector: '[sdMobileTablet]'
|
|
66
|
+
},] }
|
|
67
|
+
];
|
|
68
|
+
SdMobileTabletDirective.ctorParameters = () => [
|
|
69
|
+
{ type: TemplateRef },
|
|
70
|
+
{ type: ViewContainerRef },
|
|
71
|
+
{ type: DeviceDetectorService }
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
class SdTabletDirective {
|
|
75
|
+
constructor(templateRef, viewContainerRef, deviceService) {
|
|
76
|
+
this.templateRef = templateRef;
|
|
77
|
+
this.viewContainerRef = viewContainerRef;
|
|
78
|
+
if (deviceService.isTablet()) {
|
|
79
|
+
this.viewContainerRef.createEmbeddedView(this.templateRef);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
SdTabletDirective.decorators = [
|
|
84
|
+
{ type: Directive, args: [{
|
|
85
|
+
selector: '[sdTablet]'
|
|
86
|
+
},] }
|
|
87
|
+
];
|
|
88
|
+
SdTabletDirective.ctorParameters = () => [
|
|
89
|
+
{ type: TemplateRef },
|
|
90
|
+
{ type: ViewContainerRef },
|
|
91
|
+
{ type: DeviceDetectorService }
|
|
92
|
+
];
|
|
93
|
+
|
|
94
|
+
class SdCurrencyPipe {
|
|
95
|
+
transform(value) {
|
|
96
|
+
return Number.toVNCurrency(value);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
SdCurrencyPipe.decorators = [
|
|
100
|
+
{ type: Pipe, args: [{
|
|
101
|
+
name: 'sdCurrency',
|
|
102
|
+
},] }
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
class SdSafeHtmlPipe {
|
|
106
|
+
constructor(sanitizer) {
|
|
107
|
+
this.sanitizer = sanitizer;
|
|
108
|
+
}
|
|
109
|
+
transform(html) {
|
|
110
|
+
return this.sanitizer.bypassSecurityTrustHtml(html);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
SdSafeHtmlPipe.decorators = [
|
|
114
|
+
{ type: Pipe, args: [{
|
|
115
|
+
name: 'safeHtml',
|
|
116
|
+
},] }
|
|
117
|
+
];
|
|
118
|
+
SdSafeHtmlPipe.ctorParameters = () => [
|
|
119
|
+
{ type: DomSanitizer }
|
|
120
|
+
];
|
|
121
|
+
|
|
122
|
+
var _uploadId, _translate;
|
|
123
|
+
class SdUtilityService {
|
|
124
|
+
constructor(httpClient) {
|
|
125
|
+
this.httpClient = httpClient;
|
|
126
|
+
_uploadId.set(this, 'U1e09c1c0-b647-437e-995e-d7a1a1b60550');
|
|
127
|
+
_translate.set(this, (value) => value);
|
|
128
|
+
this.hashMD5 = (key) => md5(key);
|
|
129
|
+
this.arrayToObject = (items, key) => {
|
|
130
|
+
return items.reduce((obj, item) => { obj[item[key]] = item; return obj; }, {});
|
|
131
|
+
};
|
|
132
|
+
this.changeAliasLowerCase = (alias) => {
|
|
133
|
+
var _a;
|
|
134
|
+
let str = (_a = alias === null || alias === void 0 ? void 0 : alias.toString()) !== null && _a !== void 0 ? _a : '';
|
|
135
|
+
str = str.toString().toLowerCase();
|
|
136
|
+
str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');
|
|
137
|
+
str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');
|
|
138
|
+
str = str.replace(/ì|í|ị|ỉ|ĩ/g, 'i');
|
|
139
|
+
str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');
|
|
140
|
+
str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');
|
|
141
|
+
str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');
|
|
142
|
+
str = str.replace(/đ/g, 'd');
|
|
143
|
+
str = str.replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'|\"|\&|\#|\[|\]|~|\$|_|`|-|{|}|\||\\/g, ' ');
|
|
144
|
+
str = str.replace(/ + /g, ' ');
|
|
145
|
+
str = str.trim();
|
|
146
|
+
return str;
|
|
147
|
+
};
|
|
148
|
+
this.timeDifference = (previous, current = new Date()) => {
|
|
149
|
+
if (!Date.isDate(previous)) {
|
|
150
|
+
return '';
|
|
151
|
+
}
|
|
152
|
+
if (!Date.isDate(current)) {
|
|
153
|
+
return '';
|
|
154
|
+
}
|
|
155
|
+
const from = new Date(previous);
|
|
156
|
+
const to = new Date(current);
|
|
157
|
+
const msPerMinute = 60 * 1000;
|
|
158
|
+
const msPerHour = msPerMinute * 60;
|
|
159
|
+
const msPerDay = msPerHour * 24;
|
|
160
|
+
const msPerMonth = msPerDay * 30;
|
|
161
|
+
const msPerYear = msPerDay * 365;
|
|
162
|
+
const elapsed = to.getTime() - from.getTime();
|
|
163
|
+
if (elapsed < msPerMinute) {
|
|
164
|
+
return `${Math.round(elapsed / 1000)} ${__classPrivateFieldGet(this, _translate).call(this, 'seconds ago')}`;
|
|
165
|
+
}
|
|
166
|
+
if (elapsed < msPerHour) {
|
|
167
|
+
return `${Math.round(elapsed / msPerMinute)} ${__classPrivateFieldGet(this, _translate).call(this, 'minutes ago')}`;
|
|
168
|
+
}
|
|
169
|
+
if (elapsed < msPerDay) {
|
|
170
|
+
return `${Math.round(elapsed / msPerHour)} ${__classPrivateFieldGet(this, _translate).call(this, 'hours ago')}`;
|
|
171
|
+
}
|
|
172
|
+
if (elapsed < msPerMonth) {
|
|
173
|
+
return `${Math.round(elapsed / msPerDay)} ${__classPrivateFieldGet(this, _translate).call(this, 'days ago')}`;
|
|
174
|
+
}
|
|
175
|
+
if (elapsed < msPerYear) {
|
|
176
|
+
return `${Math.round(elapsed / msPerMonth)} ${__classPrivateFieldGet(this, _translate).call(this, 'months ago')}`;
|
|
177
|
+
}
|
|
178
|
+
return `${Math.round(elapsed / msPerYear)} ${__classPrivateFieldGet(this, _translate).call(this, 'years ago')}`;
|
|
179
|
+
};
|
|
180
|
+
this.upload = (option) => {
|
|
181
|
+
const promise = new Promise((resolve, reject) => {
|
|
182
|
+
if ($(`#${__classPrivateFieldGet(this, _uploadId)}`).length) {
|
|
183
|
+
$('body').children(`#${__classPrivateFieldGet(this, _uploadId)}`).remove();
|
|
184
|
+
}
|
|
185
|
+
$('body').append(`<input id="${__classPrivateFieldGet(this, _uploadId)}" style="display: none" type="file" />`);
|
|
186
|
+
$(`#${__classPrivateFieldGet(this, _uploadId)}`).on('change', (evt) => {
|
|
187
|
+
var _a;
|
|
188
|
+
try {
|
|
189
|
+
const target = evt.target;
|
|
190
|
+
const file = target.files.item(0);
|
|
191
|
+
if (file) {
|
|
192
|
+
const lastDot = file.name.lastIndexOf('.');
|
|
193
|
+
if (lastDot === -1) {
|
|
194
|
+
const message = __classPrivateFieldGet(this, _translate).call(this, `Invalid file extension`);
|
|
195
|
+
throw new Error(message);
|
|
196
|
+
}
|
|
197
|
+
const extension = file.name.substring(lastDot + 1);
|
|
198
|
+
if (option) {
|
|
199
|
+
if (((_a = option.extensions) === null || _a === void 0 ? void 0 : _a.length) && !option.extensions.some(e => e.toUpperCase() === extension.toUpperCase())) {
|
|
200
|
+
const message = `[${file.name}] ${__classPrivateFieldGet(this, _translate).call(this, 'Uploaded file is not match extension')} ${option.extensions.join(', ')}`;
|
|
201
|
+
throw new Error(message);
|
|
202
|
+
}
|
|
203
|
+
if (option.maxSizeInMb > 0 && option.maxSizeInMb * 1024 * 1024 < file.size) {
|
|
204
|
+
const message = `[${file.name}] ${__classPrivateFieldGet(this, _translate).call(this, 'Max file size')} ${option.maxSizeInMb} Mbs`;
|
|
205
|
+
throw new Error(message);
|
|
206
|
+
}
|
|
207
|
+
if (option.validator && option.validator(file.name)) {
|
|
208
|
+
const message = option.validator(file.name);
|
|
209
|
+
throw new Error(message);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
resolve(file);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
reject(error);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
$(`#${__classPrivateFieldGet(this, _uploadId)}`).trigger('click');
|
|
220
|
+
});
|
|
221
|
+
return promise;
|
|
222
|
+
};
|
|
223
|
+
this.download = (filePath, fileName) => {
|
|
224
|
+
const link = document.createElement('a');
|
|
225
|
+
link.download = `${fileName || v4()}`;
|
|
226
|
+
link.href = filePath;
|
|
227
|
+
document.body.appendChild(link);
|
|
228
|
+
link.click();
|
|
229
|
+
document.body.removeChild(link);
|
|
230
|
+
};
|
|
231
|
+
this.copyToClipboard = (text) => {
|
|
232
|
+
navigator.clipboard.writeText(text);
|
|
233
|
+
};
|
|
234
|
+
this.printHtml = (elementId, fileName) => {
|
|
235
|
+
const printId = `sdPrintSection`;
|
|
236
|
+
const div = 'sd-print';
|
|
237
|
+
// const printContents = document.getElementById(elementId).innerHTML;
|
|
238
|
+
// const originalContents = document.body.innerHTML;
|
|
239
|
+
// document.body.innerHTML = printContents;
|
|
240
|
+
// setTimeout(() => {
|
|
241
|
+
// document.body.innerHTML = originalContents;
|
|
242
|
+
// }, 100);
|
|
243
|
+
// window.print();
|
|
244
|
+
const elem = document.querySelector('#' + elementId).firstElementChild;
|
|
245
|
+
const domClone = elem.cloneNode(true);
|
|
246
|
+
const printSection = document.createElement('div');
|
|
247
|
+
printSection.id = printId;
|
|
248
|
+
printSection.appendChild(domClone);
|
|
249
|
+
document.body.insertBefore(printSection, document.body.firstChild);
|
|
250
|
+
document.querySelector('body app-root').classList.add(div);
|
|
251
|
+
const title = document.title;
|
|
252
|
+
if (fileName) {
|
|
253
|
+
document.title = fileName;
|
|
254
|
+
}
|
|
255
|
+
window.print();
|
|
256
|
+
document.title = title;
|
|
257
|
+
document.querySelector('body app-root').classList.remove(div);
|
|
258
|
+
const oldElem = document.getElementById(printId);
|
|
259
|
+
if (oldElem !== null) {
|
|
260
|
+
oldElem.parentNode.removeChild(oldElem); // oldElem.remove() not supported by IE
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
_uploadId = new WeakMap(), _translate = new WeakMap();
|
|
266
|
+
SdUtilityService.ɵprov = ɵɵdefineInjectable({ factory: function SdUtilityService_Factory() { return new SdUtilityService(ɵɵinject(HttpClient)); }, token: SdUtilityService, providedIn: "root" });
|
|
267
|
+
SdUtilityService.decorators = [
|
|
268
|
+
{ type: Injectable, args: [{
|
|
269
|
+
providedIn: 'root'
|
|
270
|
+
},] }
|
|
271
|
+
];
|
|
272
|
+
SdUtilityService.ctorParameters = () => [
|
|
273
|
+
{ type: HttpClient }
|
|
274
|
+
];
|
|
275
|
+
|
|
276
|
+
class SdTimeDifferentPipe {
|
|
277
|
+
constructor(utilityService) {
|
|
278
|
+
this.utilityService = utilityService;
|
|
279
|
+
this.maxSecond = 60;
|
|
280
|
+
this.maxMinute = this.maxSecond * 60;
|
|
281
|
+
this.maxHour = this.maxMinute * 24;
|
|
282
|
+
this.maxDay = this.maxHour * 30;
|
|
283
|
+
this.maxMonth = this.maxHour * 365;
|
|
284
|
+
}
|
|
285
|
+
transform(value, format, different) {
|
|
286
|
+
if (!Date.isDate(value)) {
|
|
287
|
+
return of(null);
|
|
288
|
+
}
|
|
289
|
+
if (!different) {
|
|
290
|
+
return of(Date.toFormat(value, format));
|
|
291
|
+
}
|
|
292
|
+
if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {
|
|
293
|
+
return of(Date.toFormat(value, format));
|
|
294
|
+
}
|
|
295
|
+
return interval(1000).pipe(map(() => {
|
|
296
|
+
const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);
|
|
297
|
+
if (different === 'month' && timeDifferent < this.maxMonth) {
|
|
298
|
+
return this.utilityService.timeDifference(value);
|
|
299
|
+
}
|
|
300
|
+
if (different === 'day' && timeDifferent < this.maxDay) {
|
|
301
|
+
return this.utilityService.timeDifference(value);
|
|
302
|
+
}
|
|
303
|
+
if (different === 'hour' && timeDifferent < this.maxHour) {
|
|
304
|
+
return this.utilityService.timeDifference(value);
|
|
305
|
+
}
|
|
306
|
+
if (different === 'minute' && timeDifferent < this.maxMinute) {
|
|
307
|
+
return this.utilityService.timeDifference(value);
|
|
308
|
+
}
|
|
309
|
+
if (different === 'second' && timeDifferent < this.maxSecond) {
|
|
310
|
+
return this.utilityService.timeDifference(value);
|
|
311
|
+
}
|
|
312
|
+
return Date.toFormat(value, format);
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
SdTimeDifferentPipe.decorators = [
|
|
317
|
+
{ type: Pipe, args: [{
|
|
318
|
+
name: 'sdTimeDifferent',
|
|
319
|
+
},] }
|
|
320
|
+
];
|
|
321
|
+
SdTimeDifferentPipe.ctorParameters = () => [
|
|
322
|
+
{ type: SdUtilityService }
|
|
323
|
+
];
|
|
324
|
+
|
|
325
|
+
class SdUtilityModule {
|
|
326
|
+
}
|
|
327
|
+
SdUtilityModule.decorators = [
|
|
328
|
+
{ type: NgModule, args: [{
|
|
329
|
+
imports: [
|
|
330
|
+
CommonModule,
|
|
331
|
+
HttpClientModule
|
|
332
|
+
],
|
|
333
|
+
declarations: [
|
|
334
|
+
SdDesktopDirective,
|
|
335
|
+
SdMobileTabletDirective,
|
|
336
|
+
SdMobileDirective,
|
|
337
|
+
SdTabletDirective,
|
|
338
|
+
SdCurrencyPipe,
|
|
339
|
+
SdSafeHtmlPipe,
|
|
340
|
+
SdTimeDifferentPipe
|
|
341
|
+
],
|
|
342
|
+
exports: [
|
|
343
|
+
SdDesktopDirective,
|
|
344
|
+
SdMobileTabletDirective,
|
|
345
|
+
SdMobileDirective,
|
|
346
|
+
SdTabletDirective,
|
|
347
|
+
SdCurrencyPipe,
|
|
348
|
+
SdSafeHtmlPipe,
|
|
349
|
+
SdTimeDifferentPipe
|
|
350
|
+
],
|
|
351
|
+
providers: [
|
|
352
|
+
SdCurrencyPipe,
|
|
353
|
+
SdSafeHtmlPipe,
|
|
354
|
+
SdTimeDifferentPipe
|
|
355
|
+
]
|
|
356
|
+
},] }
|
|
357
|
+
];
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Generated bundle index. Do not edit.
|
|
361
|
+
*/
|
|
362
|
+
|
|
363
|
+
export { SdCurrencyPipe, SdDesktopDirective, SdMobileDirective, SdMobileTabletDirective, SdSafeHtmlPipe, SdTabletDirective, SdTimeDifferentPipe, SdUtilityModule, SdUtilityService };
|
|
364
|
+
//# sourceMappingURL=sd-angular-core-utility.js.map
|