@sd-angular/core 1.2.98 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/package.json +12 -1
- package/api/sd-angular-core-api.d.ts +2 -0
- package/api/sd-angular-core-api.d.ts.__ivy_ngcc_bak +4 -0
- package/api/sd-angular-core-api.d.ts.map +1 -0
- package/autocomplete/package.json +12 -1
- package/autocomplete/sd-angular-core-autocomplete.d.ts +2 -0
- package/autocomplete/sd-angular-core-autocomplete.d.ts.__ivy_ngcc_bak +4 -0
- package/autocomplete/sd-angular-core-autocomplete.d.ts.map +1 -0
- package/badge/package.json +12 -1
- package/badge/sd-angular-core-badge.d.ts +2 -0
- package/badge/sd-angular-core-badge.d.ts.__ivy_ngcc_bak +4 -0
- package/badge/sd-angular-core-badge.d.ts.map +1 -0
- package/bundles/sd-angular-core-api.umd.js +2 -1
- package/bundles/sd-angular-core-api.umd.js.__ivy_ngcc_bak +876 -0
- package/bundles/sd-angular-core-api.umd.js.map +1 -1
- package/bundles/sd-angular-core-api.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-autocomplete.umd.js +2 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.__ivy_ngcc_bak +791 -0
- package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
- package/bundles/sd-angular-core-autocomplete.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-badge.umd.js +2 -1
- package/bundles/sd-angular-core-badge.umd.js.__ivy_ngcc_bak +89 -0
- package/bundles/sd-angular-core-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-badge.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-button.umd.js +2 -1
- package/bundles/sd-angular-core-button.umd.js.__ivy_ngcc_bak +447 -0
- package/bundles/sd-angular-core-button.umd.js.map +1 -1
- package/bundles/sd-angular-core-button.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-cache.umd.js +2 -1
- package/bundles/sd-angular-core-cache.umd.js.__ivy_ngcc_bak +623 -0
- package/bundles/sd-angular-core-cache.umd.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-chart.umd.js +2 -1
- package/bundles/sd-angular-core-chart.umd.js.__ivy_ngcc_bak +1106 -0
- package/bundles/sd-angular-core-chart.umd.js.map +1 -1
- package/bundles/sd-angular-core-chart.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-checkbox.umd.js +2 -1
- package/bundles/sd-angular-core-checkbox.umd.js.__ivy_ngcc_bak +461 -0
- package/bundles/sd-angular-core-checkbox.umd.js.map +1 -1
- package/bundles/sd-angular-core-checkbox.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-chip.umd.js +2 -1
- package/bundles/sd-angular-core-chip.umd.js.__ivy_ngcc_bak +1051 -0
- package/bundles/sd-angular-core-chip.umd.js.map +1 -1
- package/bundles/sd-angular-core-chip.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-comment.umd.js +2 -1
- package/bundles/sd-angular-core-comment.umd.js.__ivy_ngcc_bak +456 -0
- package/bundles/sd-angular-core-comment.umd.js.map +1 -1
- package/bundles/sd-angular-core-comment.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-common.umd.js +2 -1
- package/bundles/sd-angular-core-common.umd.js.__ivy_ngcc_bak +962 -0
- package/bundles/sd-angular-core-common.umd.js.map +1 -1
- package/bundles/sd-angular-core-common.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-confirm.umd.js +2 -1
- package/bundles/sd-angular-core-confirm.umd.js.__ivy_ngcc_bak +159 -0
- package/bundles/sd-angular-core-confirm.umd.js.map +1 -1
- package/bundles/sd-angular-core-confirm.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-date-month.umd.js +2 -1
- package/bundles/sd-angular-core-date-month.umd.js.__ivy_ngcc_bak +650 -0
- package/bundles/sd-angular-core-date-month.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-month.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-date-range.umd.js +2 -1
- package/bundles/sd-angular-core-date-range.umd.js.__ivy_ngcc_bak +660 -0
- package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-range.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-date-time.umd.js +2 -1
- package/bundles/sd-angular-core-date-time.umd.js.__ivy_ngcc_bak +734 -0
- package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-date-time.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-db.umd.js +3 -2
- package/bundles/sd-angular-core-db.umd.js.__ivy_ngcc_bak +475 -0
- package/bundles/sd-angular-core-db.umd.js.map +1 -1
- package/bundles/sd-angular-core-db.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-db.umd.min.js +1 -1
- package/bundles/sd-angular-core-db.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js +2 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js.__ivy_ngcc_bak +96 -0
- package/bundles/sd-angular-core-dynamic-report.umd.js.map +1 -1
- package/bundles/sd-angular-core-dynamic-report.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-editor.umd.js +2 -1
- package/bundles/sd-angular-core-editor.umd.js.__ivy_ngcc_bak +943 -0
- package/bundles/sd-angular-core-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-editor.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-excel.umd.js +2 -1
- package/bundles/sd-angular-core-excel.umd.js.__ivy_ngcc_bak +500 -0
- package/bundles/sd-angular-core-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-excel.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-export.umd.js +2 -1
- package/bundles/sd-angular-core-export.umd.js.__ivy_ngcc_bak +712 -0
- package/bundles/sd-angular-core-export.umd.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-filter.umd.js +2 -1
- package/bundles/sd-angular-core-filter.umd.js.__ivy_ngcc_bak +703 -0
- package/bundles/sd-angular-core-filter.umd.js.map +1 -1
- package/bundles/sd-angular-core-filter.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-form.umd.js +2 -1
- package/bundles/sd-angular-core-form.umd.js.__ivy_ngcc_bak +88 -0
- package/bundles/sd-angular-core-form.umd.js.map +1 -1
- package/bundles/sd-angular-core-form.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-grid-material.umd.js +2 -1
- package/bundles/sd-angular-core-grid-material.umd.js.__ivy_ngcc_bak +5029 -0
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-grid.umd.js +2 -1
- package/bundles/sd-angular-core-grid.umd.js.__ivy_ngcc_bak +5125 -0
- package/bundles/sd-angular-core-grid.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-group.umd.js +2 -1
- package/bundles/sd-angular-core-group.umd.js.__ivy_ngcc_bak +93 -0
- package/bundles/sd-angular-core-group.umd.js.map +1 -1
- package/bundles/sd-angular-core-group.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-header-title.umd.js +2 -1
- package/bundles/sd-angular-core-header-title.umd.js.__ivy_ngcc_bak +56 -0
- package/bundles/sd-angular-core-header-title.umd.js.map +1 -1
- package/bundles/sd-angular-core-header-title.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-image-preview.umd.js +2 -1
- package/bundles/sd-angular-core-image-preview.umd.js.__ivy_ngcc_bak +121 -0
- package/bundles/sd-angular-core-image-preview.umd.js.map +1 -1
- package/bundles/sd-angular-core-image-preview.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-currency.umd.js +2 -1
- package/bundles/sd-angular-core-input-currency.umd.js.__ivy_ngcc_bak +737 -0
- package/bundles/sd-angular-core-input-currency.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-currency.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-dropdown.umd.js +2 -1
- package/bundles/sd-angular-core-input-dropdown.umd.js.__ivy_ngcc_bak +634 -0
- package/bundles/sd-angular-core-input-dropdown.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-dropdown.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-number.umd.js +2 -1
- package/bundles/sd-angular-core-input-number.umd.js.__ivy_ngcc_bak +792 -0
- package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-number.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input-upload-file.umd.js +2 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js.__ivy_ngcc_bak +648 -0
- package/bundles/sd-angular-core-input-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-input-upload-file.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-input.umd.js +2 -1
- package/bundles/sd-angular-core-input.umd.js.__ivy_ngcc_bak +798 -0
- package/bundles/sd-angular-core-input.umd.js.map +1 -1
- package/bundles/sd-angular-core-input.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-json-editor.umd.js +2 -1
- package/bundles/sd-angular-core-json-editor.umd.js.__ivy_ngcc_bak +523 -0
- package/bundles/sd-angular-core-json-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-json-editor.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-konva.umd.js +2 -1
- package/bundles/sd-angular-core-konva.umd.js.__ivy_ngcc_bak +605 -0
- package/bundles/sd-angular-core-konva.umd.js.map +1 -1
- package/bundles/sd-angular-core-konva.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-label.umd.js +2 -1
- package/bundles/sd-angular-core-label.umd.js.__ivy_ngcc_bak +60 -0
- package/bundles/sd-angular-core-label.umd.js.map +1 -1
- package/bundles/sd-angular-core-label.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-loading.umd.js +2 -1
- package/bundles/sd-angular-core-loading.umd.js.__ivy_ngcc_bak +413 -0
- package/bundles/sd-angular-core-loading.umd.js.map +1 -1
- package/bundles/sd-angular-core-loading.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-modal-resizable.umd.js +2 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js.__ivy_ngcc_bak +487 -0
- package/bundles/sd-angular-core-modal-resizable.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal-resizable.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-modal.umd.js +2 -1
- package/bundles/sd-angular-core-modal.umd.js.__ivy_ngcc_bak +307 -0
- package/bundles/sd-angular-core-modal.umd.js.map +1 -1
- package/bundles/sd-angular-core-modal.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-notify.umd.js +2 -1
- package/bundles/sd-angular-core-notify.umd.js.__ivy_ngcc_bak +719 -0
- package/bundles/sd-angular-core-notify.umd.js.map +1 -1
- package/bundles/sd-angular-core-notify.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-popover.umd.js +2 -1
- package/bundles/sd-angular-core-popover.umd.js.__ivy_ngcc_bak +752 -0
- package/bundles/sd-angular-core-popover.umd.js.map +1 -1
- package/bundles/sd-angular-core-popover.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-quick-action.umd.js +2 -1
- package/bundles/sd-angular-core-quick-action.umd.js.__ivy_ngcc_bak +66 -0
- package/bundles/sd-angular-core-quick-action.umd.js.map +1 -1
- package/bundles/sd-angular-core-quick-action.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-radio.umd.js +2 -1
- package/bundles/sd-angular-core-radio.umd.js.__ivy_ngcc_bak +535 -0
- package/bundles/sd-angular-core-radio.umd.js.map +1 -1
- package/bundles/sd-angular-core-radio.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-select-badge.umd.js +2 -1
- package/bundles/sd-angular-core-select-badge.umd.js.__ivy_ngcc_bak +486 -0
- package/bundles/sd-angular-core-select-badge.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-badge.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-select-editor.umd.js +2 -1
- package/bundles/sd-angular-core-select-editor.umd.js.__ivy_ngcc_bak +431 -0
- package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-select-editor.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-select.umd.js +2 -1
- package/bundles/sd-angular-core-select.umd.js.__ivy_ngcc_bak +921 -0
- package/bundles/sd-angular-core-select.umd.js.map +1 -1
- package/bundles/sd-angular-core-select.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-service.umd.js +2 -1
- package/bundles/sd-angular-core-service.umd.js.__ivy_ngcc_bak +42 -0
- package/bundles/sd-angular-core-service.umd.js.map +1 -1
- package/bundles/sd-angular-core-service.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-setting.umd.js +2 -1
- package/bundles/sd-angular-core-setting.umd.js.__ivy_ngcc_bak +664 -0
- package/bundles/sd-angular-core-setting.umd.js.map +1 -1
- package/bundles/sd-angular-core-setting.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-side-drawer.umd.js +2 -1
- package/bundles/sd-angular-core-side-drawer.umd.js.__ivy_ngcc_bak +438 -0
- package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
- package/bundles/sd-angular-core-side-drawer.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-switch.umd.js +2 -1
- package/bundles/sd-angular-core-switch.umd.js.__ivy_ngcc_bak +454 -0
- package/bundles/sd-angular-core-switch.umd.js.map +1 -1
- package/bundles/sd-angular-core-switch.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-tab-router.umd.js +2 -1
- package/bundles/sd-angular-core-tab-router.umd.js.__ivy_ngcc_bak +941 -0
- package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-textarea.umd.js +2 -1
- package/bundles/sd-angular-core-textarea.umd.js.__ivy_ngcc_bak +642 -0
- package/bundles/sd-angular-core-textarea.umd.js.map +1 -1
- package/bundles/sd-angular-core-textarea.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-time.umd.js +2 -1
- package/bundles/sd-angular-core-time.umd.js.__ivy_ngcc_bak +497 -0
- package/bundles/sd-angular-core-time.umd.js.map +1 -1
- package/bundles/sd-angular-core-time.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-timeline.umd.js +2 -1
- package/bundles/sd-angular-core-timeline.umd.js.__ivy_ngcc_bak +102 -0
- package/bundles/sd-angular-core-timeline.umd.js.map +1 -1
- package/bundles/sd-angular-core-timeline.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-translate.umd.js +2 -1
- package/bundles/sd-angular-core-translate.umd.js.__ivy_ngcc_bak +119 -0
- package/bundles/sd-angular-core-translate.umd.js.map +1 -1
- package/bundles/sd-angular-core-translate.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-upload-excel.umd.js +2 -1
- package/bundles/sd-angular-core-upload-excel.umd.js.__ivy_ngcc_bak +1114 -0
- package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-upload-file.umd.js +2 -1
- package/bundles/sd-angular-core-upload-file.umd.js.__ivy_ngcc_bak +880 -0
- package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-utility.umd.js +33 -1
- package/bundles/sd-angular-core-utility.umd.js.__ivy_ngcc_bak +739 -0
- package/bundles/sd-angular-core-utility.umd.js.map +1 -1
- package/bundles/sd-angular-core-utility.umd.js.map.__ivy_ngcc_bak +1 -0
- package/bundles/sd-angular-core-utility.umd.min.js +1 -1
- package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-view.umd.js +2 -1
- package/bundles/sd-angular-core-view.umd.js.__ivy_ngcc_bak +32 -0
- package/bundles/sd-angular-core-view.umd.js.map +1 -1
- package/bundles/sd-angular-core-view.umd.js.map.__ivy_ngcc_bak +1 -0
- package/button/package.json +12 -1
- package/button/sd-angular-core-button.d.ts +2 -0
- package/button/sd-angular-core-button.d.ts.__ivy_ngcc_bak +4 -0
- package/button/sd-angular-core-button.d.ts.map +1 -0
- package/cache/package.json +12 -1
- package/cache/sd-angular-core-cache.d.ts +2 -0
- package/cache/sd-angular-core-cache.d.ts.__ivy_ngcc_bak +4 -0
- package/cache/sd-angular-core-cache.d.ts.map +1 -0
- package/chart/package.json +12 -1
- package/chart/sd-angular-core-chart.d.ts +2 -0
- package/chart/sd-angular-core-chart.d.ts.__ivy_ngcc_bak +4 -0
- package/chart/sd-angular-core-chart.d.ts.map +1 -0
- package/checkbox/package.json +12 -1
- package/checkbox/sd-angular-core-checkbox.d.ts +2 -0
- package/checkbox/sd-angular-core-checkbox.d.ts.__ivy_ngcc_bak +5 -0
- package/checkbox/sd-angular-core-checkbox.d.ts.map +1 -0
- package/chip/package.json +12 -1
- package/chip/sd-angular-core-chip.d.ts +2 -0
- package/chip/sd-angular-core-chip.d.ts.__ivy_ngcc_bak +5 -0
- package/chip/sd-angular-core-chip.d.ts.map +1 -0
- package/comment/package.json +12 -1
- package/comment/sd-angular-core-comment.d.ts +2 -0
- package/comment/sd-angular-core-comment.d.ts.__ivy_ngcc_bak +4 -0
- package/comment/sd-angular-core-comment.d.ts.map +1 -0
- package/common/package.json +12 -1
- package/common/sd-angular-core-common.d.ts +2 -0
- package/common/sd-angular-core-common.d.ts.__ivy_ngcc_bak +4 -0
- package/common/sd-angular-core-common.d.ts.map +1 -0
- package/confirm/package.json +12 -1
- package/confirm/sd-angular-core-confirm.d.ts +2 -0
- package/confirm/sd-angular-core-confirm.d.ts.__ivy_ngcc_bak +4 -0
- package/confirm/sd-angular-core-confirm.d.ts.map +1 -0
- package/date-month/package.json +12 -1
- package/date-month/sd-angular-core-date-month.d.ts +2 -0
- package/date-month/sd-angular-core-date-month.d.ts.__ivy_ngcc_bak +5 -0
- package/date-month/sd-angular-core-date-month.d.ts.map +1 -0
- package/date-range/package.json +12 -1
- package/date-range/sd-angular-core-date-range.d.ts +2 -0
- package/date-range/sd-angular-core-date-range.d.ts.__ivy_ngcc_bak +4 -0
- package/date-range/sd-angular-core-date-range.d.ts.map +1 -0
- package/date-time/package.json +12 -1
- package/date-time/sd-angular-core-date-time.d.ts +2 -0
- package/date-time/sd-angular-core-date-time.d.ts.__ivy_ngcc_bak +4 -0
- package/date-time/sd-angular-core-date-time.d.ts.map +1 -0
- package/db/package.json +12 -1
- package/db/sd-angular-core-db.d.ts +2 -0
- package/db/sd-angular-core-db.d.ts.__ivy_ngcc_bak +4 -0
- package/db/sd-angular-core-db.d.ts.map +1 -0
- package/db/sd-angular-core-db.metadata.json +1 -1
- package/db/src/lib/db.model.d.ts +10 -2
- package/db/src/lib/db.service.d.ts +6 -9
- package/dynamic-report/package.json +12 -1
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts +2 -0
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts.__ivy_ngcc_bak +4 -0
- package/dynamic-report/sd-angular-core-dynamic-report.d.ts.map +1 -0
- package/editor/package.json +12 -1
- package/editor/sd-angular-core-editor.d.ts +2 -0
- package/editor/sd-angular-core-editor.d.ts.__ivy_ngcc_bak +4 -0
- package/editor/sd-angular-core-editor.d.ts.map +1 -0
- package/esm2015/api/sd-angular-core-api.js +1 -1
- package/esm2015/api/sd-angular-core-api.js.__ivy_ngcc_bak +5 -0
- package/esm2015/autocomplete/sd-angular-core-autocomplete.js +1 -1
- package/esm2015/autocomplete/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +5 -0
- package/esm2015/badge/sd-angular-core-badge.js +1 -1
- package/esm2015/badge/sd-angular-core-badge.js.__ivy_ngcc_bak +5 -0
- package/esm2015/button/sd-angular-core-button.js +1 -1
- package/esm2015/button/sd-angular-core-button.js.__ivy_ngcc_bak +5 -0
- package/esm2015/cache/sd-angular-core-cache.js +1 -1
- package/esm2015/cache/sd-angular-core-cache.js.__ivy_ngcc_bak +5 -0
- package/esm2015/chart/sd-angular-core-chart.js +1 -1
- package/esm2015/chart/sd-angular-core-chart.js.__ivy_ngcc_bak +5 -0
- package/esm2015/checkbox/sd-angular-core-checkbox.js +1 -1
- package/esm2015/checkbox/sd-angular-core-checkbox.js.__ivy_ngcc_bak +6 -0
- package/esm2015/chip/sd-angular-core-chip.js +1 -1
- package/esm2015/chip/sd-angular-core-chip.js.__ivy_ngcc_bak +6 -0
- package/esm2015/comment/sd-angular-core-comment.js +1 -1
- package/esm2015/comment/sd-angular-core-comment.js.__ivy_ngcc_bak +5 -0
- package/esm2015/common/sd-angular-core-common.js +1 -1
- package/esm2015/common/sd-angular-core-common.js.__ivy_ngcc_bak +5 -0
- package/esm2015/confirm/sd-angular-core-confirm.js +1 -1
- package/esm2015/confirm/sd-angular-core-confirm.js.__ivy_ngcc_bak +5 -0
- package/esm2015/date-month/sd-angular-core-date-month.js +1 -1
- package/esm2015/date-month/sd-angular-core-date-month.js.__ivy_ngcc_bak +6 -0
- package/esm2015/date-range/sd-angular-core-date-range.js +1 -1
- package/esm2015/date-range/sd-angular-core-date-range.js.__ivy_ngcc_bak +5 -0
- package/esm2015/date-time/sd-angular-core-date-time.js +1 -1
- package/esm2015/date-time/sd-angular-core-date-time.js.__ivy_ngcc_bak +5 -0
- package/esm2015/db/sd-angular-core-db.js +1 -1
- package/esm2015/db/sd-angular-core-db.js.__ivy_ngcc_bak +5 -0
- package/esm2015/db/src/lib/db.model.js +1 -1
- package/esm2015/db/src/lib/db.service.js +2 -2
- package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js +1 -1
- package/esm2015/dynamic-report/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +5 -0
- package/esm2015/editor/sd-angular-core-editor.js +1 -1
- package/esm2015/editor/sd-angular-core-editor.js.__ivy_ngcc_bak +5 -0
- package/esm2015/excel/sd-angular-core-excel.js +1 -1
- package/esm2015/excel/sd-angular-core-excel.js.__ivy_ngcc_bak +5 -0
- package/esm2015/export/sd-angular-core-export.js +1 -1
- package/esm2015/export/sd-angular-core-export.js.__ivy_ngcc_bak +5 -0
- package/esm2015/filter/sd-angular-core-filter.js +1 -1
- package/esm2015/filter/sd-angular-core-filter.js.__ivy_ngcc_bak +8 -0
- package/esm2015/form/sd-angular-core-form.js +1 -1
- package/esm2015/form/sd-angular-core-form.js.__ivy_ngcc_bak +5 -0
- package/esm2015/grid/sd-angular-core-grid.js +1 -1
- package/esm2015/grid/sd-angular-core-grid.js.__ivy_ngcc_bak +5 -0
- package/esm2015/grid-material/sd-angular-core-grid-material.js +1 -1
- package/esm2015/grid-material/sd-angular-core-grid-material.js.__ivy_ngcc_bak +47 -0
- package/esm2015/group/sd-angular-core-group.js +1 -1
- package/esm2015/group/sd-angular-core-group.js.__ivy_ngcc_bak +6 -0
- package/esm2015/header-title/sd-angular-core-header-title.js +1 -1
- package/esm2015/header-title/sd-angular-core-header-title.js.__ivy_ngcc_bak +6 -0
- package/esm2015/image-preview/sd-angular-core-image-preview.js +1 -1
- package/esm2015/image-preview/sd-angular-core-image-preview.js.__ivy_ngcc_bak +7 -0
- package/esm2015/input/sd-angular-core-input.js +1 -1
- package/esm2015/input/sd-angular-core-input.js.__ivy_ngcc_bak +6 -0
- package/esm2015/input-currency/sd-angular-core-input-currency.js +1 -1
- package/esm2015/input-currency/sd-angular-core-input-currency.js.__ivy_ngcc_bak +5 -0
- package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js +1 -1
- package/esm2015/input-dropdown/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +5 -0
- package/esm2015/input-number/sd-angular-core-input-number.js +1 -1
- package/esm2015/input-number/sd-angular-core-input-number.js.__ivy_ngcc_bak +5 -0
- package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js +1 -1
- package/esm2015/input-upload-file/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +5 -0
- package/esm2015/json-editor/sd-angular-core-json-editor.js +1 -1
- package/esm2015/json-editor/sd-angular-core-json-editor.js.__ivy_ngcc_bak +5 -0
- package/esm2015/konva/sd-angular-core-konva.js +1 -1
- package/esm2015/konva/sd-angular-core-konva.js.__ivy_ngcc_bak +5 -0
- package/esm2015/label/sd-angular-core-label.js +1 -1
- package/esm2015/label/sd-angular-core-label.js.__ivy_ngcc_bak +6 -0
- package/esm2015/loading/sd-angular-core-loading.js +1 -1
- package/esm2015/loading/sd-angular-core-loading.js.__ivy_ngcc_bak +5 -0
- package/esm2015/modal/sd-angular-core-modal.js +1 -1
- package/esm2015/modal/sd-angular-core-modal.js.__ivy_ngcc_bak +5 -0
- package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js +1 -1
- package/esm2015/modal-resizable/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +5 -0
- package/esm2015/notify/sd-angular-core-notify.js +1 -1
- package/esm2015/notify/sd-angular-core-notify.js.__ivy_ngcc_bak +5 -0
- package/esm2015/popover/sd-angular-core-popover.js +1 -1
- package/esm2015/popover/sd-angular-core-popover.js.__ivy_ngcc_bak +5 -0
- package/esm2015/quick-action/sd-angular-core-quick-action.js +1 -1
- package/esm2015/quick-action/sd-angular-core-quick-action.js.__ivy_ngcc_bak +5 -0
- package/esm2015/radio/sd-angular-core-radio.js +1 -1
- package/esm2015/radio/sd-angular-core-radio.js.__ivy_ngcc_bak +5 -0
- package/esm2015/select/sd-angular-core-select.js +1 -1
- package/esm2015/select/sd-angular-core-select.js.__ivy_ngcc_bak +5 -0
- package/esm2015/select-badge/sd-angular-core-select-badge.js +1 -1
- package/esm2015/select-badge/sd-angular-core-select-badge.js.__ivy_ngcc_bak +5 -0
- package/esm2015/select-editor/sd-angular-core-select-editor.js +1 -1
- package/esm2015/select-editor/sd-angular-core-select-editor.js.__ivy_ngcc_bak +5 -0
- package/esm2015/service/sd-angular-core-service.js +1 -1
- package/esm2015/service/sd-angular-core-service.js.__ivy_ngcc_bak +5 -0
- package/esm2015/setting/sd-angular-core-setting.js +1 -1
- package/esm2015/setting/sd-angular-core-setting.js.__ivy_ngcc_bak +5 -0
- package/esm2015/side-drawer/sd-angular-core-side-drawer.js +1 -1
- package/esm2015/side-drawer/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +5 -0
- package/esm2015/switch/sd-angular-core-switch.js +1 -1
- package/esm2015/switch/sd-angular-core-switch.js.__ivy_ngcc_bak +5 -0
- package/esm2015/tab-router/sd-angular-core-tab-router.js +1 -1
- package/esm2015/tab-router/sd-angular-core-tab-router.js.__ivy_ngcc_bak +7 -0
- package/esm2015/textarea/sd-angular-core-textarea.js +1 -1
- package/esm2015/textarea/sd-angular-core-textarea.js.__ivy_ngcc_bak +5 -0
- package/esm2015/time/sd-angular-core-time.js +1 -1
- package/esm2015/time/sd-angular-core-time.js.__ivy_ngcc_bak +6 -0
- package/esm2015/timeline/sd-angular-core-timeline.js +1 -1
- package/esm2015/timeline/sd-angular-core-timeline.js.__ivy_ngcc_bak +6 -0
- package/esm2015/translate/sd-angular-core-translate.js +1 -1
- package/esm2015/translate/sd-angular-core-translate.js.__ivy_ngcc_bak +5 -0
- package/esm2015/upload-excel/sd-angular-core-upload-excel.js +1 -1
- package/esm2015/upload-excel/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +7 -0
- package/esm2015/upload-file/sd-angular-core-upload-file.js +1 -1
- package/esm2015/upload-file/sd-angular-core-upload-file.js.__ivy_ngcc_bak +5 -0
- package/esm2015/utility/sd-angular-core-utility.js +1 -1
- package/esm2015/utility/sd-angular-core-utility.js.__ivy_ngcc_bak +5 -0
- package/esm2015/utility/src/lib/utility.service.js +22 -2
- package/esm2015/view/sd-angular-core-view.js +1 -1
- package/esm2015/view/sd-angular-core-view.js.__ivy_ngcc_bak +5 -0
- package/excel/package.json +12 -1
- package/excel/sd-angular-core-excel.d.ts +2 -0
- package/excel/sd-angular-core-excel.d.ts.__ivy_ngcc_bak +4 -0
- package/excel/sd-angular-core-excel.d.ts.map +1 -0
- package/export/package.json +12 -1
- package/export/sd-angular-core-export.d.ts +2 -0
- package/export/sd-angular-core-export.d.ts.__ivy_ngcc_bak +4 -0
- package/export/sd-angular-core-export.d.ts.map +1 -0
- package/fesm2015/sd-angular-core-api.js +2 -1
- package/fesm2015/sd-angular-core-api.js.__ivy_ngcc_bak +496 -0
- package/fesm2015/sd-angular-core-api.js.map +1 -1
- package/fesm2015/sd-angular-core-api.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-autocomplete.js +2 -1
- package/fesm2015/sd-angular-core-autocomplete.js.__ivy_ngcc_bak +427 -0
- package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
- package/fesm2015/sd-angular-core-autocomplete.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-badge.js +2 -1
- package/fesm2015/sd-angular-core-badge.js.__ivy_ngcc_bak +70 -0
- package/fesm2015/sd-angular-core-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-badge.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-button.js +2 -1
- package/fesm2015/sd-angular-core-button.js.__ivy_ngcc_bak +118 -0
- package/fesm2015/sd-angular-core-button.js.map +1 -1
- package/fesm2015/sd-angular-core-button.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-cache.js +2 -1
- package/fesm2015/sd-angular-core-cache.js.__ivy_ngcc_bak +259 -0
- package/fesm2015/sd-angular-core-cache.js.map +1 -1
- package/fesm2015/sd-angular-core-cache.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-chart.js +2 -1
- package/fesm2015/sd-angular-core-chart.js.__ivy_ngcc_bak +727 -0
- package/fesm2015/sd-angular-core-chart.js.map +1 -1
- package/fesm2015/sd-angular-core-chart.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-checkbox.js +2 -1
- package/fesm2015/sd-angular-core-checkbox.js.__ivy_ngcc_bak +120 -0
- package/fesm2015/sd-angular-core-checkbox.js.map +1 -1
- package/fesm2015/sd-angular-core-checkbox.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-chip.js +2 -1
- package/fesm2015/sd-angular-core-chip.js.__ivy_ngcc_bak +632 -0
- package/fesm2015/sd-angular-core-chip.js.map +1 -1
- package/fesm2015/sd-angular-core-chip.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-comment.js +2 -1
- package/fesm2015/sd-angular-core-comment.js.__ivy_ngcc_bak +118 -0
- package/fesm2015/sd-angular-core-comment.js.map +1 -1
- package/fesm2015/sd-angular-core-comment.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-common.js +2 -1
- package/fesm2015/sd-angular-core-common.js.__ivy_ngcc_bak +562 -0
- package/fesm2015/sd-angular-core-common.js.map +1 -1
- package/fesm2015/sd-angular-core-common.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-confirm.js +2 -1
- package/fesm2015/sd-angular-core-confirm.js.__ivy_ngcc_bak +154 -0
- package/fesm2015/sd-angular-core-confirm.js.map +1 -1
- package/fesm2015/sd-angular-core-confirm.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-date-month.js +2 -1
- package/fesm2015/sd-angular-core-date-month.js.__ivy_ngcc_bak +289 -0
- package/fesm2015/sd-angular-core-date-month.js.map +1 -1
- package/fesm2015/sd-angular-core-date-month.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-date-range.js +2 -1
- package/fesm2015/sd-angular-core-date-range.js.__ivy_ngcc_bak +297 -0
- package/fesm2015/sd-angular-core-date-range.js.map +1 -1
- package/fesm2015/sd-angular-core-date-range.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-date-time.js +2 -1
- package/fesm2015/sd-angular-core-date-time.js.__ivy_ngcc_bak +367 -0
- package/fesm2015/sd-angular-core-date-time.js.map +1 -1
- package/fesm2015/sd-angular-core-date-time.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-db.js +3 -2
- package/fesm2015/sd-angular-core-db.js.__ivy_ngcc_bak +102 -0
- package/fesm2015/sd-angular-core-db.js.map +1 -1
- package/fesm2015/sd-angular-core-db.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-dynamic-report.js +2 -1
- package/fesm2015/sd-angular-core-dynamic-report.js.__ivy_ngcc_bak +82 -0
- package/fesm2015/sd-angular-core-dynamic-report.js.map +1 -1
- package/fesm2015/sd-angular-core-dynamic-report.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-editor.js +2 -1
- package/fesm2015/sd-angular-core-editor.js.__ivy_ngcc_bak +576 -0
- package/fesm2015/sd-angular-core-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-editor.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-excel.js +2 -1
- package/fesm2015/sd-angular-core-excel.js.__ivy_ngcc_bak +100 -0
- package/fesm2015/sd-angular-core-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-excel.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-export.js +2 -1
- package/fesm2015/sd-angular-core-export.js.__ivy_ngcc_bak +272 -0
- package/fesm2015/sd-angular-core-export.js.map +1 -1
- package/fesm2015/sd-angular-core-export.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-filter.js +2 -1
- package/fesm2015/sd-angular-core-filter.js.__ivy_ngcc_bak +323 -0
- package/fesm2015/sd-angular-core-filter.js.map +1 -1
- package/fesm2015/sd-angular-core-filter.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-form.js +2 -1
- package/fesm2015/sd-angular-core-form.js.__ivy_ngcc_bak +104 -0
- package/fesm2015/sd-angular-core-form.js.map +1 -1
- package/fesm2015/sd-angular-core-form.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-grid-material.js +2 -1
- package/fesm2015/sd-angular-core-grid-material.js.__ivy_ngcc_bak +3740 -0
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-grid.js +2 -1
- package/fesm2015/sd-angular-core-grid.js.__ivy_ngcc_bak +3935 -0
- package/fesm2015/sd-angular-core-grid.js.map +1 -1
- package/fesm2015/sd-angular-core-grid.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-group.js +2 -1
- package/fesm2015/sd-angular-core-group.js.__ivy_ngcc_bak +74 -0
- package/fesm2015/sd-angular-core-group.js.map +1 -1
- package/fesm2015/sd-angular-core-group.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-header-title.js +2 -1
- package/fesm2015/sd-angular-core-header-title.js.__ivy_ngcc_bak +45 -0
- package/fesm2015/sd-angular-core-header-title.js.map +1 -1
- package/fesm2015/sd-angular-core-header-title.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-image-preview.js +2 -1
- package/fesm2015/sd-angular-core-image-preview.js.__ivy_ngcc_bak +107 -0
- package/fesm2015/sd-angular-core-image-preview.js.map +1 -1
- package/fesm2015/sd-angular-core-image-preview.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-currency.js +2 -1
- package/fesm2015/sd-angular-core-input-currency.js.__ivy_ngcc_bak +330 -0
- package/fesm2015/sd-angular-core-input-currency.js.map +1 -1
- package/fesm2015/sd-angular-core-input-currency.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-dropdown.js +2 -1
- package/fesm2015/sd-angular-core-input-dropdown.js.__ivy_ngcc_bak +268 -0
- package/fesm2015/sd-angular-core-input-dropdown.js.map +1 -1
- package/fesm2015/sd-angular-core-input-dropdown.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-number.js +2 -1
- package/fesm2015/sd-angular-core-input-number.js.__ivy_ngcc_bak +415 -0
- package/fesm2015/sd-angular-core-input-number.js.map +1 -1
- package/fesm2015/sd-angular-core-input-number.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input-upload-file.js +2 -1
- package/fesm2015/sd-angular-core-input-upload-file.js.__ivy_ngcc_bak +274 -0
- package/fesm2015/sd-angular-core-input-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-input-upload-file.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-input.js +2 -1
- package/fesm2015/sd-angular-core-input.js.__ivy_ngcc_bak +398 -0
- package/fesm2015/sd-angular-core-input.js.map +1 -1
- package/fesm2015/sd-angular-core-input.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-json-editor.js +2 -1
- package/fesm2015/sd-angular-core-json-editor.js.__ivy_ngcc_bak +180 -0
- package/fesm2015/sd-angular-core-json-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-json-editor.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-konva.js +2 -1
- package/fesm2015/sd-angular-core-konva.js.__ivy_ngcc_bak +237 -0
- package/fesm2015/sd-angular-core-konva.js.map +1 -1
- package/fesm2015/sd-angular-core-konva.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-label.js +2 -1
- package/fesm2015/sd-angular-core-label.js.__ivy_ngcc_bak +49 -0
- package/fesm2015/sd-angular-core-label.js.map +1 -1
- package/fesm2015/sd-angular-core-label.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-loading.js +2 -1
- package/fesm2015/sd-angular-core-loading.js.__ivy_ngcc_bak +83 -0
- package/fesm2015/sd-angular-core-loading.js.map +1 -1
- package/fesm2015/sd-angular-core-loading.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-modal-resizable.js +2 -1
- package/fesm2015/sd-angular-core-modal-resizable.js.__ivy_ngcc_bak +161 -0
- package/fesm2015/sd-angular-core-modal-resizable.js.map +1 -1
- package/fesm2015/sd-angular-core-modal-resizable.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-modal.js +2 -1
- package/fesm2015/sd-angular-core-modal.js.__ivy_ngcc_bak +284 -0
- package/fesm2015/sd-angular-core-modal.js.map +1 -1
- package/fesm2015/sd-angular-core-modal.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-notify.js +2 -1
- package/fesm2015/sd-angular-core-notify.js.__ivy_ngcc_bak +402 -0
- package/fesm2015/sd-angular-core-notify.js.map +1 -1
- package/fesm2015/sd-angular-core-notify.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-popover.js +2 -1
- package/fesm2015/sd-angular-core-popover.js.__ivy_ngcc_bak +415 -0
- package/fesm2015/sd-angular-core-popover.js.map +1 -1
- package/fesm2015/sd-angular-core-popover.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-quick-action.js +2 -1
- package/fesm2015/sd-angular-core-quick-action.js.__ivy_ngcc_bak +53 -0
- package/fesm2015/sd-angular-core-quick-action.js.map +1 -1
- package/fesm2015/sd-angular-core-quick-action.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-radio.js +2 -1
- package/fesm2015/sd-angular-core-radio.js.__ivy_ngcc_bak +188 -0
- package/fesm2015/sd-angular-core-radio.js.map +1 -1
- package/fesm2015/sd-angular-core-radio.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-select-badge.js +2 -1
- package/fesm2015/sd-angular-core-select-badge.js.__ivy_ngcc_bak +156 -0
- package/fesm2015/sd-angular-core-select-badge.js.map +1 -1
- package/fesm2015/sd-angular-core-select-badge.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-select-editor.js +2 -1
- package/fesm2015/sd-angular-core-select-editor.js.__ivy_ngcc_bak +110 -0
- package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-select-editor.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-select.js +2 -1
- package/fesm2015/sd-angular-core-select.js.__ivy_ngcc_bak +487 -0
- package/fesm2015/sd-angular-core-select.js.map +1 -1
- package/fesm2015/sd-angular-core-select.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-service.js +2 -1
- package/fesm2015/sd-angular-core-service.js.__ivy_ngcc_bak +36 -0
- package/fesm2015/sd-angular-core-service.js.map +1 -1
- package/fesm2015/sd-angular-core-service.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-setting.js +2 -1
- package/fesm2015/sd-angular-core-setting.js.__ivy_ngcc_bak +290 -0
- package/fesm2015/sd-angular-core-setting.js.map +1 -1
- package/fesm2015/sd-angular-core-setting.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-side-drawer.js +2 -1
- package/fesm2015/sd-angular-core-side-drawer.js.__ivy_ngcc_bak +115 -0
- package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
- package/fesm2015/sd-angular-core-side-drawer.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-switch.js +2 -1
- package/fesm2015/sd-angular-core-switch.js.__ivy_ngcc_bak +116 -0
- package/fesm2015/sd-angular-core-switch.js.map +1 -1
- package/fesm2015/sd-angular-core-switch.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-tab-router.js +2 -1
- package/fesm2015/sd-angular-core-tab-router.js.__ivy_ngcc_bak +531 -0
- package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
- package/fesm2015/sd-angular-core-tab-router.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-textarea.js +2 -1
- package/fesm2015/sd-angular-core-textarea.js.__ivy_ngcc_bak +266 -0
- package/fesm2015/sd-angular-core-textarea.js.map +1 -1
- package/fesm2015/sd-angular-core-textarea.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-time.js +2 -1
- package/fesm2015/sd-angular-core-time.js.__ivy_ngcc_bak +143 -0
- package/fesm2015/sd-angular-core-time.js.map +1 -1
- package/fesm2015/sd-angular-core-time.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-timeline.js +2 -1
- package/fesm2015/sd-angular-core-timeline.js.__ivy_ngcc_bak +87 -0
- package/fesm2015/sd-angular-core-timeline.js.map +1 -1
- package/fesm2015/sd-angular-core-timeline.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-translate.js +2 -1
- package/fesm2015/sd-angular-core-translate.js.__ivy_ngcc_bak +101 -0
- package/fesm2015/sd-angular-core-translate.js.map +1 -1
- package/fesm2015/sd-angular-core-translate.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-upload-excel.js +2 -1
- package/fesm2015/sd-angular-core-upload-excel.js.__ivy_ngcc_bak +638 -0
- package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-excel.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-upload-file.js +2 -1
- package/fesm2015/sd-angular-core-upload-file.js.__ivy_ngcc_bak +462 -0
- package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-file.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-utility.js +23 -2
- package/fesm2015/sd-angular-core-utility.js.__ivy_ngcc_bak +384 -0
- package/fesm2015/sd-angular-core-utility.js.map +1 -1
- package/fesm2015/sd-angular-core-utility.js.map.__ivy_ngcc_bak +1 -0
- package/fesm2015/sd-angular-core-view.js +2 -1
- package/fesm2015/sd-angular-core-view.js.__ivy_ngcc_bak +23 -0
- package/fesm2015/sd-angular-core-view.js.map +1 -1
- package/fesm2015/sd-angular-core-view.js.map.__ivy_ngcc_bak +1 -0
- package/filter/package.json +12 -1
- package/filter/sd-angular-core-filter.d.ts +2 -0
- package/filter/sd-angular-core-filter.d.ts.__ivy_ngcc_bak +7 -0
- package/filter/sd-angular-core-filter.d.ts.map +1 -0
- package/form/package.json +12 -1
- package/form/sd-angular-core-form.d.ts +2 -0
- package/form/sd-angular-core-form.d.ts.__ivy_ngcc_bak +4 -0
- package/form/sd-angular-core-form.d.ts.map +1 -0
- package/grid/package.json +12 -1
- package/grid/sd-angular-core-grid.d.ts +2 -0
- package/grid/sd-angular-core-grid.d.ts.__ivy_ngcc_bak +4 -0
- package/grid/sd-angular-core-grid.d.ts.map +1 -0
- package/grid-material/package.json +12 -1
- package/grid-material/sd-angular-core-grid-material.d.ts +2 -0
- package/grid-material/sd-angular-core-grid-material.d.ts.__ivy_ngcc_bak +46 -0
- package/grid-material/sd-angular-core-grid-material.d.ts.map +1 -0
- package/group/package.json +12 -1
- package/group/sd-angular-core-group.d.ts +2 -0
- package/group/sd-angular-core-group.d.ts.__ivy_ngcc_bak +5 -0
- package/group/sd-angular-core-group.d.ts.map +1 -0
- package/header-title/package.json +12 -1
- package/header-title/sd-angular-core-header-title.d.ts +2 -0
- package/header-title/sd-angular-core-header-title.d.ts.__ivy_ngcc_bak +5 -0
- package/header-title/sd-angular-core-header-title.d.ts.map +1 -0
- package/image-preview/package.json +12 -1
- package/image-preview/sd-angular-core-image-preview.d.ts +2 -0
- package/image-preview/sd-angular-core-image-preview.d.ts.__ivy_ngcc_bak +6 -0
- package/image-preview/sd-angular-core-image-preview.d.ts.map +1 -0
- package/input/package.json +12 -1
- package/input/sd-angular-core-input.d.ts +2 -0
- package/input/sd-angular-core-input.d.ts.__ivy_ngcc_bak +5 -0
- package/input/sd-angular-core-input.d.ts.map +1 -0
- package/input-currency/package.json +12 -1
- package/input-currency/sd-angular-core-input-currency.d.ts +2 -0
- package/input-currency/sd-angular-core-input-currency.d.ts.__ivy_ngcc_bak +4 -0
- package/input-currency/sd-angular-core-input-currency.d.ts.map +1 -0
- package/input-dropdown/package.json +12 -1
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts +2 -0
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts.__ivy_ngcc_bak +4 -0
- package/input-dropdown/sd-angular-core-input-dropdown.d.ts.map +1 -0
- package/input-number/package.json +12 -1
- package/input-number/sd-angular-core-input-number.d.ts +2 -0
- package/input-number/sd-angular-core-input-number.d.ts.__ivy_ngcc_bak +4 -0
- package/input-number/sd-angular-core-input-number.d.ts.map +1 -0
- package/input-upload-file/package.json +12 -1
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts +2 -0
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts.__ivy_ngcc_bak +4 -0
- package/input-upload-file/sd-angular-core-input-upload-file.d.ts.map +1 -0
- package/json-editor/package.json +12 -1
- package/json-editor/sd-angular-core-json-editor.d.ts +2 -0
- package/json-editor/sd-angular-core-json-editor.d.ts.__ivy_ngcc_bak +4 -0
- package/json-editor/sd-angular-core-json-editor.d.ts.map +1 -0
- package/konva/package.json +12 -1
- package/konva/sd-angular-core-konva.d.ts +2 -0
- package/konva/sd-angular-core-konva.d.ts.__ivy_ngcc_bak +4 -0
- package/konva/sd-angular-core-konva.d.ts.map +1 -0
- package/label/package.json +12 -1
- package/label/sd-angular-core-label.d.ts +2 -0
- package/label/sd-angular-core-label.d.ts.__ivy_ngcc_bak +5 -0
- package/label/sd-angular-core-label.d.ts.map +1 -0
- package/loading/package.json +12 -1
- package/loading/sd-angular-core-loading.d.ts +2 -0
- package/loading/sd-angular-core-loading.d.ts.__ivy_ngcc_bak +4 -0
- package/loading/sd-angular-core-loading.d.ts.map +1 -0
- package/modal/package.json +12 -1
- package/modal/sd-angular-core-modal.d.ts +2 -0
- package/modal/sd-angular-core-modal.d.ts.__ivy_ngcc_bak +4 -0
- package/modal/sd-angular-core-modal.d.ts.map +1 -0
- package/modal-resizable/package.json +12 -1
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts +2 -0
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts.__ivy_ngcc_bak +4 -0
- package/modal-resizable/sd-angular-core-modal-resizable.d.ts.map +1 -0
- package/notify/package.json +12 -1
- package/notify/sd-angular-core-notify.d.ts +2 -0
- package/notify/sd-angular-core-notify.d.ts.__ivy_ngcc_bak +4 -0
- package/notify/sd-angular-core-notify.d.ts.map +1 -0
- package/package.json +1 -1
- package/popover/package.json +12 -1
- package/popover/sd-angular-core-popover.d.ts +2 -0
- package/popover/sd-angular-core-popover.d.ts.__ivy_ngcc_bak +4 -0
- package/popover/sd-angular-core-popover.d.ts.map +1 -0
- package/quick-action/package.json +12 -1
- package/quick-action/sd-angular-core-quick-action.d.ts +2 -0
- package/quick-action/sd-angular-core-quick-action.d.ts.__ivy_ngcc_bak +4 -0
- package/quick-action/sd-angular-core-quick-action.d.ts.map +1 -0
- package/radio/package.json +12 -1
- package/radio/sd-angular-core-radio.d.ts +2 -0
- package/radio/sd-angular-core-radio.d.ts.__ivy_ngcc_bak +4 -0
- package/radio/sd-angular-core-radio.d.ts.map +1 -0
- package/sd-angular-core-1.3.0.tgz +0 -0
- package/select/package.json +12 -1
- package/select/sd-angular-core-select.d.ts +2 -0
- package/select/sd-angular-core-select.d.ts.__ivy_ngcc_bak +4 -0
- package/select/sd-angular-core-select.d.ts.map +1 -0
- package/select-badge/package.json +12 -1
- package/select-badge/sd-angular-core-select-badge.d.ts +2 -0
- package/select-badge/sd-angular-core-select-badge.d.ts.__ivy_ngcc_bak +4 -0
- package/select-badge/sd-angular-core-select-badge.d.ts.map +1 -0
- package/select-editor/package.json +12 -1
- package/select-editor/sd-angular-core-select-editor.d.ts +2 -0
- package/select-editor/sd-angular-core-select-editor.d.ts.__ivy_ngcc_bak +4 -0
- package/select-editor/sd-angular-core-select-editor.d.ts.map +1 -0
- package/service/package.json +12 -1
- package/service/sd-angular-core-service.d.ts +2 -0
- package/service/sd-angular-core-service.d.ts.__ivy_ngcc_bak +4 -0
- package/service/sd-angular-core-service.d.ts.map +1 -0
- package/setting/package.json +12 -1
- package/setting/sd-angular-core-setting.d.ts +2 -0
- package/setting/sd-angular-core-setting.d.ts.__ivy_ngcc_bak +4 -0
- package/setting/sd-angular-core-setting.d.ts.map +1 -0
- package/side-drawer/package.json +12 -1
- package/side-drawer/sd-angular-core-side-drawer.d.ts +2 -0
- package/side-drawer/sd-angular-core-side-drawer.d.ts.__ivy_ngcc_bak +4 -0
- package/side-drawer/sd-angular-core-side-drawer.d.ts.map +1 -0
- package/switch/package.json +12 -1
- package/switch/sd-angular-core-switch.d.ts +2 -0
- package/switch/sd-angular-core-switch.d.ts.__ivy_ngcc_bak +4 -0
- package/switch/sd-angular-core-switch.d.ts.map +1 -0
- package/tab-router/package.json +12 -1
- package/tab-router/sd-angular-core-tab-router.d.ts +2 -0
- package/tab-router/sd-angular-core-tab-router.d.ts.__ivy_ngcc_bak +6 -0
- package/tab-router/sd-angular-core-tab-router.d.ts.map +1 -0
- package/textarea/package.json +12 -1
- package/textarea/sd-angular-core-textarea.d.ts +2 -0
- package/textarea/sd-angular-core-textarea.d.ts.__ivy_ngcc_bak +4 -0
- package/textarea/sd-angular-core-textarea.d.ts.map +1 -0
- package/time/package.json +12 -1
- package/time/sd-angular-core-time.d.ts +2 -0
- package/time/sd-angular-core-time.d.ts.__ivy_ngcc_bak +5 -0
- package/time/sd-angular-core-time.d.ts.map +1 -0
- package/timeline/package.json +12 -1
- package/timeline/sd-angular-core-timeline.d.ts +2 -0
- package/timeline/sd-angular-core-timeline.d.ts.__ivy_ngcc_bak +5 -0
- package/timeline/sd-angular-core-timeline.d.ts.map +1 -0
- package/translate/package.json +12 -1
- package/translate/sd-angular-core-translate.d.ts +2 -0
- package/translate/sd-angular-core-translate.d.ts.__ivy_ngcc_bak +4 -0
- package/translate/sd-angular-core-translate.d.ts.map +1 -0
- package/upload-excel/package.json +12 -1
- package/upload-excel/sd-angular-core-upload-excel.d.ts +2 -0
- package/upload-excel/sd-angular-core-upload-excel.d.ts.__ivy_ngcc_bak +6 -0
- package/upload-excel/sd-angular-core-upload-excel.d.ts.map +1 -0
- package/upload-file/package.json +12 -1
- package/upload-file/sd-angular-core-upload-file.d.ts +2 -0
- package/upload-file/sd-angular-core-upload-file.d.ts.__ivy_ngcc_bak +4 -0
- package/upload-file/sd-angular-core-upload-file.d.ts.map +1 -0
- package/utility/package.json +12 -1
- package/utility/sd-angular-core-utility.d.ts +2 -0
- package/utility/sd-angular-core-utility.d.ts.__ivy_ngcc_bak +4 -0
- package/utility/sd-angular-core-utility.d.ts.map +1 -0
- package/utility/src/lib/utility.service.d.ts +4 -0
- package/view/package.json +12 -1
- package/view/sd-angular-core-view.d.ts +2 -0
- package/view/sd-angular-core-view.d.ts.__ivy_ngcc_bak +4 -0
- package/view/sd-angular-core-view.d.ts.map +1 -0
- package/sd-angular-core-1.2.98.tgz +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { EventEmitter, Component, ChangeDetectionStrategy, ChangeDetectorRef, Input, Output, ContentChild, NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
5
|
+
import { MatInputModule } from '@angular/material/input';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { SdTranslateModule } from '@sd-angular/core/translate';
|
|
8
|
+
import { NgForm, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { SdFormControl, SdLabelDefDirective, SdCommonModule } from '@sd-angular/core/common';
|
|
10
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
11
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
12
|
+
import { v4 } from 'uuid';
|
|
13
|
+
import { debounceTime } from 'rxjs/operators';
|
|
14
|
+
import { Subscription } from 'rxjs';
|
|
15
|
+
import JSONEditor from 'jsoneditor';
|
|
16
|
+
|
|
17
|
+
var _name, _form, _model, _subscription, _reload, _onChange, _updateJson;
|
|
18
|
+
class SdJsonEditor {
|
|
19
|
+
constructor(ref) {
|
|
20
|
+
this.ref = ref;
|
|
21
|
+
this.id = `I${v4()}`;
|
|
22
|
+
_name.set(this, v4());
|
|
23
|
+
this.height = '400px';
|
|
24
|
+
_form.set(this, void 0);
|
|
25
|
+
_model.set(this, void 0);
|
|
26
|
+
this.modelChange = new EventEmitter();
|
|
27
|
+
// Validator
|
|
28
|
+
this.isRequired = false;
|
|
29
|
+
this.sdChange = new EventEmitter();
|
|
30
|
+
this.formControl = new SdFormControl();
|
|
31
|
+
_subscription.set(this, new Subscription());
|
|
32
|
+
_reload.set(this, () => {
|
|
33
|
+
var _a;
|
|
34
|
+
const container = document.getElementById(this.id);
|
|
35
|
+
const option = {
|
|
36
|
+
mode: this.formControl.disabled ? 'view' : 'tree',
|
|
37
|
+
modes: ['tree', 'form', 'text', 'view'],
|
|
38
|
+
onChange: () => {
|
|
39
|
+
const text = this.editor.getText();
|
|
40
|
+
if (!text) {
|
|
41
|
+
this.editor.set(null);
|
|
42
|
+
__classPrivateFieldSet(this, _model, null);
|
|
43
|
+
this.formControl.setValue(__classPrivateFieldGet(this, _model));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
__classPrivateFieldSet(this, _model, this.editor.get());
|
|
47
|
+
this.formControl.setValue(__classPrivateFieldGet(this, _model));
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
this.editor = new JSONEditor(container, option);
|
|
52
|
+
__classPrivateFieldGet(this, _updateJson).call(this);
|
|
53
|
+
__classPrivateFieldGet(this, _subscription).add(this.formControl.valueChanges.pipe(debounceTime(100)).subscribe(__classPrivateFieldGet(this, _onChange)));
|
|
54
|
+
(_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.addControl(__classPrivateFieldGet(this, _name), this.formControl);
|
|
55
|
+
});
|
|
56
|
+
this.reValidate = () => {
|
|
57
|
+
this.formControl.updateValueAndValidity();
|
|
58
|
+
};
|
|
59
|
+
_onChange.set(this, (value) => {
|
|
60
|
+
this.modelChange.emit(value);
|
|
61
|
+
this.sdChange.emit(value);
|
|
62
|
+
});
|
|
63
|
+
_updateJson.set(this, () => {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
(_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.set) === null || _b === void 0 ? void 0 : _b.call(_a, this.formControl.value);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
set name(val) {
|
|
69
|
+
if (val) {
|
|
70
|
+
__classPrivateFieldSet(this, _name, val);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
set form(val) {
|
|
74
|
+
if (val) {
|
|
75
|
+
if (val instanceof NgForm) {
|
|
76
|
+
__classPrivateFieldSet(this, _form, val.form);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
__classPrivateFieldSet(this, _form, val);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
set model(value) {
|
|
84
|
+
if (__classPrivateFieldGet(this, _model) !== value) {
|
|
85
|
+
__classPrivateFieldSet(this, _model, value);
|
|
86
|
+
this.formControl.setValue(__classPrivateFieldGet(this, _model), {
|
|
87
|
+
emitEvent: false
|
|
88
|
+
});
|
|
89
|
+
__classPrivateFieldGet(this, _updateJson).call(this);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
set required(val) {
|
|
93
|
+
this.isRequired = (val === '') || val;
|
|
94
|
+
// this.#updateValidator();
|
|
95
|
+
}
|
|
96
|
+
// Optional
|
|
97
|
+
set disabled(val) {
|
|
98
|
+
val = (val === '') || val;
|
|
99
|
+
if (val) {
|
|
100
|
+
this.formControl.disable();
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.formControl.enable();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
ngOnInit() {
|
|
107
|
+
__classPrivateFieldGet(this, _subscription).add(this.formControl.sdChanges.subscribe(() => {
|
|
108
|
+
this.ref.markForCheck();
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
ngAfterViewInit() {
|
|
112
|
+
__classPrivateFieldGet(this, _reload).call(this);
|
|
113
|
+
}
|
|
114
|
+
ngOnDestroy() {
|
|
115
|
+
var _a;
|
|
116
|
+
(_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.removeControl(__classPrivateFieldGet(this, _name));
|
|
117
|
+
__classPrivateFieldGet(this, _subscription).unsubscribe();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
_name = new WeakMap(), _form = new WeakMap(), _model = new WeakMap(), _subscription = new WeakMap(), _reload = new WeakMap(), _onChange = new WeakMap(), _updateJson = new WeakMap();
|
|
121
|
+
SdJsonEditor.decorators = [
|
|
122
|
+
{ type: Component, args: [{
|
|
123
|
+
selector: 'sd-json-editor',
|
|
124
|
+
template: "<label *ngIf=\"label&&!sdLabelDef?.templateRef\" class=\"d-block T14M\">{{label}} <span class=\"text-danger mb-2\" *ngIf=\"required\">*</span></label>\r\n<ng-container *ngIf=\"sdLabelDef?.templateRef\" matSuffix>\r\n <ng-container *ngTemplateOutlet=\"sdLabelDef.templateRef\">\r\n </ng-container>\r\n</ng-container>\r\n<div [id]=\"id\" [style.height]=\"height\"></div>\r\n",
|
|
125
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
126
|
+
styles: [""]
|
|
127
|
+
},] }
|
|
128
|
+
];
|
|
129
|
+
SdJsonEditor.ctorParameters = () => [
|
|
130
|
+
{ type: ChangeDetectorRef }
|
|
131
|
+
];
|
|
132
|
+
SdJsonEditor.propDecorators = {
|
|
133
|
+
name: [{ type: Input }],
|
|
134
|
+
height: [{ type: Input }],
|
|
135
|
+
form: [{ type: Input }],
|
|
136
|
+
label: [{ type: Input }],
|
|
137
|
+
model: [{ type: Input }],
|
|
138
|
+
modelChange: [{ type: Output }],
|
|
139
|
+
required: [{ type: Input }],
|
|
140
|
+
disabled: [{ type: Input }],
|
|
141
|
+
tooltip: [{ type: Input }],
|
|
142
|
+
sdChange: [{ type: Output }],
|
|
143
|
+
sdLabelDef: [{ type: ContentChild, args: [SdLabelDefDirective,] }]
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
class SdJsonEditorModule {
|
|
147
|
+
}
|
|
148
|
+
SdJsonEditorModule.decorators = [
|
|
149
|
+
{ type: NgModule, args: [{
|
|
150
|
+
imports: [
|
|
151
|
+
CommonModule,
|
|
152
|
+
FormsModule,
|
|
153
|
+
ReactiveFormsModule,
|
|
154
|
+
MatFormFieldModule,
|
|
155
|
+
MatInputModule,
|
|
156
|
+
MatIconModule,
|
|
157
|
+
MatTooltipModule,
|
|
158
|
+
SdTranslateModule,
|
|
159
|
+
SdCommonModule,
|
|
160
|
+
MatButtonModule
|
|
161
|
+
],
|
|
162
|
+
declarations: [
|
|
163
|
+
SdJsonEditor,
|
|
164
|
+
],
|
|
165
|
+
exports: [
|
|
166
|
+
SdJsonEditor
|
|
167
|
+
]
|
|
168
|
+
},] }
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
/*
|
|
172
|
+
* Public API Surface of superdev-angular-core
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Generated bundle index. Do not edit.
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
export { SdJsonEditor, SdJsonEditorModule };
|
|
180
|
+
//# sourceMappingURL=sd-angular-core-json-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-json-editor.js","sources":["../../../../projects/sd-core/json-editor/src/lib/json-editor.component.ts","../../../../projects/sd-core/json-editor/src/lib/json-editor.module.ts","../../../../projects/sd-core/json-editor/src/public-api.ts","../../../../projects/sd-core/json-editor/sd-angular-core-json-editor.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n HostListener\r\n} from '@angular/core';\r\nimport { NgForm, FormGroup } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdFormControl } from '@sd-angular/core/common';\r\nimport 'jsoneditor';\r\nimport JSONEditor, { JSONEditorOptions } from 'jsoneditor';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n@Component({\r\n selector: 'sd-json-editor',\r\n templateUrl: './json-editor.component.html',\r\n styleUrls: ['./json-editor.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdJsonEditor implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n editor: JSONEditor;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() height = '400px';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() label: string;\r\n #model: any;\r\n @Input() set model(value: any) {\r\n if (this.#model !== value) {\r\n this.#model = value;\r\n this.formControl.setValue(this.#model, {\r\n emitEvent: false\r\n });\r\n this.#updateJson();\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Validator\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n // this.#updateValidator();\r\n }\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n }\r\n }\r\n @Input() tooltip: string | ((inputValue: string) => string);\r\n @Output() sdChange = new EventEmitter<any>();\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n\r\n formControl = new SdFormControl();\r\n #subscription = new Subscription();\r\n constructor(\r\n public ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#reload();\r\n }\r\n\r\n #reload = () => {\r\n const container = document.getElementById(this.id);\r\n const option: JSONEditorOptions = {\r\n mode: this.formControl.disabled ? 'view' : 'tree',\r\n modes: ['tree', 'form', 'text', 'view'],\r\n onChange: () => {\r\n const text = this.editor.getText();\r\n if (!text) {\r\n this.editor.set(null);\r\n this.#model = null;\r\n this.formControl.setValue(this.#model);\r\n } else {\r\n this.#model = this.editor.get();\r\n this.formControl.setValue(this.#model);\r\n }\r\n },\r\n };\r\n this.editor = new JSONEditor(container, option);\r\n this.#updateJson();\r\n this.#subscription.add(this.formControl.valueChanges.pipe(debounceTime(100)).subscribe(this.#onChange));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #onChange = (value: any) => {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n\r\n #updateJson = () => {\r\n this.editor?.set?.(this.formControl.value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdJsonEditor } from './json-editor.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n MatButtonModule\r\n ],\r\n declarations: [\r\n SdJsonEditor,\r\n ],\r\n exports: [\r\n SdJsonEditor\r\n ]\r\n})\r\nexport class SdJsonEditorModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/json-editor.module';\r\nexport * from './lib/json-editor.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]
|
|
1
|
+
{"version":3,"file":"sd-angular-core-json-editor.js","sources":["../../../../projects/sd-core/json-editor/src/lib/json-editor.component.ts","../../../../projects/sd-core/json-editor/src/lib/json-editor.module.ts","../../../../projects/sd-core/json-editor/src/public-api.ts","../../../../projects/sd-core/json-editor/sd-angular-core-json-editor.ts"],"names":["uuid.v4"],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n HostListener\r\n} from '@angular/core';\r\nimport { NgForm, FormGroup } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdFormControl } from '@sd-angular/core/common';\r\nimport 'jsoneditor';\r\nimport JSONEditor, { JSONEditorOptions } from 'jsoneditor';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n@Component({\r\n selector: 'sd-json-editor',\r\n templateUrl: './json-editor.component.html',\r\n styleUrls: ['./json-editor.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdJsonEditor implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n editor: JSONEditor;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() height = '400px';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() label: string;\r\n #model: any;\r\n @Input() set model(value: any) {\r\n if (this.#model !== value) {\r\n this.#model = value;\r\n this.formControl.setValue(this.#model, {\r\n emitEvent: false\r\n });\r\n this.#updateJson();\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Validator\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n // this.#updateValidator();\r\n }\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n }\r\n }\r\n @Input() tooltip: string | ((inputValue: string) => string);\r\n @Output() sdChange = new EventEmitter<any>();\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n\r\n formControl = new SdFormControl();\r\n #subscription = new Subscription();\r\n constructor(\r\n public ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#reload();\r\n }\r\n\r\n #reload = () => {\r\n const container = document.getElementById(this.id);\r\n const option: JSONEditorOptions = {\r\n mode: this.formControl.disabled ? 'view' : 'tree',\r\n modes: ['tree', 'form', 'text', 'view'],\r\n onChange: () => {\r\n const text = this.editor.getText();\r\n if (!text) {\r\n this.editor.set(null);\r\n this.#model = null;\r\n this.formControl.setValue(this.#model);\r\n } else {\r\n this.#model = this.editor.get();\r\n this.formControl.setValue(this.#model);\r\n }\r\n },\r\n };\r\n this.editor = new JSONEditor(container, option);\r\n this.#updateJson();\r\n this.#subscription.add(this.formControl.valueChanges.pipe(debounceTime(100)).subscribe(this.#onChange));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #onChange = (value: any) => {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n\r\n #updateJson = () => {\r\n this.editor?.set?.(this.formControl.value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdJsonEditor } from './json-editor.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n MatButtonModule\r\n ],\r\n declarations: [\r\n SdJsonEditor,\r\n ],\r\n exports: [\r\n SdJsonEditor\r\n ]\r\n})\r\nexport class SdJsonEditorModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/json-editor.module';\r\nexport * from './lib/json-editor.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-json-editor.js","sources":["../../../../projects/sd-core/json-editor/src/lib/json-editor.component.ts","../../../../projects/sd-core/json-editor/src/lib/json-editor.module.ts","../../../../projects/sd-core/json-editor/src/public-api.ts","../../../../projects/sd-core/json-editor/sd-angular-core-json-editor.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n ElementRef,\r\n OnInit,\r\n ContentChild,\r\n ChangeDetectionStrategy,\r\n HostListener\r\n} from '@angular/core';\r\nimport { NgForm, FormGroup } from '@angular/forms';\r\nimport * as uuid from 'uuid';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { SdFormControl } from '@sd-angular/core/common';\r\nimport 'jsoneditor';\r\nimport JSONEditor, { JSONEditorOptions } from 'jsoneditor';\r\nimport { SdLabelDefDirective } from '@sd-angular/core/common';\r\n@Component({\r\n selector: 'sd-json-editor',\r\n templateUrl: './json-editor.component.html',\r\n styleUrls: ['./json-editor.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdJsonEditor implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n editor: JSONEditor;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n @Input() height = '400px';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() label: string;\r\n #model: any;\r\n @Input() set model(value: any) {\r\n if (this.#model !== value) {\r\n this.#model = value;\r\n this.formControl.setValue(this.#model, {\r\n emitEvent: false\r\n });\r\n this.#updateJson();\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n\r\n // Validator\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n // this.#updateValidator();\r\n }\r\n // Optional\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.formControl.disable();\r\n } else {\r\n this.formControl.enable();\r\n }\r\n }\r\n @Input() tooltip: string | ((inputValue: string) => string);\r\n @Output() sdChange = new EventEmitter<any>();\r\n @ContentChild(SdLabelDefDirective) sdLabelDef: SdLabelDefDirective;\r\n\r\n formControl = new SdFormControl();\r\n #subscription = new Subscription();\r\n constructor(\r\n public ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.#subscription.add(this.formControl.sdChanges.subscribe(() => {\r\n this.ref.markForCheck();\r\n }));\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#reload();\r\n }\r\n\r\n #reload = () => {\r\n const container = document.getElementById(this.id);\r\n const option: JSONEditorOptions = {\r\n mode: this.formControl.disabled ? 'view' : 'tree',\r\n modes: ['tree', 'form', 'text', 'view'],\r\n onChange: () => {\r\n const text = this.editor.getText();\r\n if (!text) {\r\n this.editor.set(null);\r\n this.#model = null;\r\n this.formControl.setValue(this.#model);\r\n } else {\r\n this.#model = this.editor.get();\r\n this.formControl.setValue(this.#model);\r\n }\r\n },\r\n };\r\n this.editor = new JSONEditor(container, option);\r\n this.#updateJson();\r\n this.#subscription.add(this.formControl.valueChanges.pipe(debounceTime(100)).subscribe(this.#onChange));\r\n this.#form?.addControl(this.#name, this.formControl);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n reValidate = () => {\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n #onChange = (value: any) => {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n\r\n #updateJson = () => {\r\n this.editor?.set?.(this.formControl.value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SdCommonModule } from '@sd-angular/core/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { SdJsonEditor } from './json-editor.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n SdTranslateModule,\r\n SdCommonModule,\r\n MatButtonModule\r\n ],\r\n declarations: [\r\n SdJsonEditor,\r\n ],\r\n exports: [\r\n SdJsonEditor\r\n ]\r\n})\r\nexport class SdJsonEditorModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/json-editor.module';\r\nexport * from './lib/json-editor.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { EventEmitter, Component, ChangeDetectorRef, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
4
|
+
import { v4 } from 'uuid';
|
|
5
|
+
import Konva from 'konva';
|
|
6
|
+
import { Subject, Subscription } from 'rxjs';
|
|
7
|
+
import { startWith } from 'rxjs/operators';
|
|
8
|
+
|
|
9
|
+
var _height, _width, _images, _stage, _layer, _elementRef, _onLoad, _subscription;
|
|
10
|
+
class SdMergeImages {
|
|
11
|
+
constructor(ref) {
|
|
12
|
+
this.ref = ref;
|
|
13
|
+
this.id = `I${v4()}`;
|
|
14
|
+
this.kImages = [];
|
|
15
|
+
_height.set(this, void 0);
|
|
16
|
+
_width.set(this, void 0);
|
|
17
|
+
_images.set(this, void 0);
|
|
18
|
+
_stage.set(this, void 0);
|
|
19
|
+
_layer.set(this, void 0);
|
|
20
|
+
this.save = new EventEmitter();
|
|
21
|
+
_elementRef.set(this, void 0);
|
|
22
|
+
_onLoad.set(this, new Subject());
|
|
23
|
+
_subscription.set(this, new Subscription());
|
|
24
|
+
this.toImage = () => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
return yield new Promise(resolve => {
|
|
26
|
+
var _a;
|
|
27
|
+
(_a = __classPrivateFieldGet(this, _stage)) === null || _a === void 0 ? void 0 : _a.toImage({
|
|
28
|
+
callback: (image) => {
|
|
29
|
+
resolve(image);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
this.toDataUrl = () => {
|
|
35
|
+
return __classPrivateFieldGet(this, _stage).toDataURL();
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
set height(height) {
|
|
39
|
+
__classPrivateFieldSet(this, _height, +height);
|
|
40
|
+
}
|
|
41
|
+
set width(width) {
|
|
42
|
+
__classPrivateFieldSet(this, _width, +width);
|
|
43
|
+
}
|
|
44
|
+
set images(images) {
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
__classPrivateFieldSet(this, _images, images);
|
|
47
|
+
__classPrivateFieldGet(this, _onLoad).next(__classPrivateFieldGet(this, _images));
|
|
48
|
+
}, 2000);
|
|
49
|
+
}
|
|
50
|
+
set container(elementRef) {
|
|
51
|
+
if (__classPrivateFieldGet(this, _elementRef) !== elementRef) {
|
|
52
|
+
__classPrivateFieldSet(this, _elementRef, elementRef);
|
|
53
|
+
__classPrivateFieldGet(this, _onLoad).next(__classPrivateFieldGet(this, _images));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
}
|
|
58
|
+
ngAfterViewInit() {
|
|
59
|
+
__classPrivateFieldGet(this, _subscription).add(__classPrivateFieldGet(this, _onLoad).pipe(startWith([])).subscribe(() => {
|
|
60
|
+
var _a;
|
|
61
|
+
if (!document.getElementById(this.id)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
document.getElementById(this.id).innerHTML = '';
|
|
65
|
+
if (!((_a = __classPrivateFieldGet(this, _images)) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const images = __classPrivateFieldGet(this, _images);
|
|
69
|
+
__classPrivateFieldSet(this, _stage, new Konva.Stage({
|
|
70
|
+
container: this.id,
|
|
71
|
+
width: __classPrivateFieldGet(this, _width),
|
|
72
|
+
height: __classPrivateFieldGet(this, _height)
|
|
73
|
+
}));
|
|
74
|
+
__classPrivateFieldSet(this, _layer, new Konva.Layer());
|
|
75
|
+
__classPrivateFieldGet(this, _stage).add(__classPrivateFieldGet(this, _layer));
|
|
76
|
+
for (const [idx, img] of images.entries()) {
|
|
77
|
+
let x = 0;
|
|
78
|
+
let y = 0;
|
|
79
|
+
const width = __classPrivateFieldGet(this, _width) / 2;
|
|
80
|
+
const height = __classPrivateFieldGet(this, _height) / 2;
|
|
81
|
+
if (images.length === 1) {
|
|
82
|
+
x = __classPrivateFieldGet(this, _width) / 4;
|
|
83
|
+
y = __classPrivateFieldGet(this, _height) / 4;
|
|
84
|
+
}
|
|
85
|
+
else if (images.length === 2) {
|
|
86
|
+
if (idx === 0) {
|
|
87
|
+
x = 0;
|
|
88
|
+
y = __classPrivateFieldGet(this, _height) / 4;
|
|
89
|
+
}
|
|
90
|
+
else if (idx === 1) {
|
|
91
|
+
x = __classPrivateFieldGet(this, _width) / 2;
|
|
92
|
+
y = __classPrivateFieldGet(this, _height) / 4;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (images.length === 3) {
|
|
96
|
+
if (idx === 0) {
|
|
97
|
+
x = 0;
|
|
98
|
+
y = 0;
|
|
99
|
+
}
|
|
100
|
+
else if (idx === 1) {
|
|
101
|
+
x = __classPrivateFieldGet(this, _width) / 2;
|
|
102
|
+
y = 0;
|
|
103
|
+
}
|
|
104
|
+
else if (idx === 2) {
|
|
105
|
+
x = __classPrivateFieldGet(this, _width) / 4;
|
|
106
|
+
y = __classPrivateFieldGet(this, _height) / 4;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if (images.length === 4) {
|
|
110
|
+
if (idx === 0) {
|
|
111
|
+
x = 0;
|
|
112
|
+
y = 0;
|
|
113
|
+
}
|
|
114
|
+
else if (idx === 1) {
|
|
115
|
+
x = __classPrivateFieldGet(this, _width) / 2;
|
|
116
|
+
y = 0;
|
|
117
|
+
}
|
|
118
|
+
else if (idx === 2) {
|
|
119
|
+
x = 0;
|
|
120
|
+
y = __classPrivateFieldGet(this, _height) / 2;
|
|
121
|
+
}
|
|
122
|
+
else if (idx === 3) {
|
|
123
|
+
x = __classPrivateFieldGet(this, _width) / 2;
|
|
124
|
+
y = __classPrivateFieldGet(this, _height) / 2;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const image = new Image();
|
|
128
|
+
const konvaImage = new Konva.Image({
|
|
129
|
+
image,
|
|
130
|
+
x,
|
|
131
|
+
y,
|
|
132
|
+
width,
|
|
133
|
+
height,
|
|
134
|
+
name: 'image',
|
|
135
|
+
draggable: true,
|
|
136
|
+
});
|
|
137
|
+
this.kImages.push(konvaImage);
|
|
138
|
+
image.onload = () => {
|
|
139
|
+
konvaImage.image(image);
|
|
140
|
+
this.ref.detectChanges();
|
|
141
|
+
};
|
|
142
|
+
image.crossOrigin = 'Anonymous';
|
|
143
|
+
image.src = img;
|
|
144
|
+
__classPrivateFieldGet(this, _layer).add(konvaImage);
|
|
145
|
+
}
|
|
146
|
+
const tr = new Konva.Transformer();
|
|
147
|
+
__classPrivateFieldGet(this, _layer).add(tr);
|
|
148
|
+
// at this point basic demo is finished!!
|
|
149
|
+
// we just have several transforming nodes
|
|
150
|
+
__classPrivateFieldGet(this, _layer).draw();
|
|
151
|
+
this.ref.detectChanges();
|
|
152
|
+
// clicks should select/deselect shapes
|
|
153
|
+
__classPrivateFieldGet(this, _stage).on('click tap', (e) => {
|
|
154
|
+
// if click on empty area - remove all selections
|
|
155
|
+
if (e.target === __classPrivateFieldGet(this, _stage)) {
|
|
156
|
+
tr.nodes([]);
|
|
157
|
+
__classPrivateFieldGet(this, _layer).draw();
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
// do nothing if clicked NOT on our rectangles
|
|
161
|
+
if (!e.target.hasName('rect') && !e.target.hasName('image')) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
// do we pressed shift or ctrl?
|
|
165
|
+
const metaPressed = e.evt.shiftKey || e.evt.ctrlKey || e.evt.metaKey;
|
|
166
|
+
const isSelected = tr.nodes().indexOf(e.target) >= 0;
|
|
167
|
+
if (!metaPressed && !isSelected) {
|
|
168
|
+
// if no key pressed and the node is not selected
|
|
169
|
+
// select just one
|
|
170
|
+
tr.nodes([e.target]);
|
|
171
|
+
}
|
|
172
|
+
else if (metaPressed && isSelected) {
|
|
173
|
+
// if we pressed keys and node was selected
|
|
174
|
+
// we need to remove it from selection:
|
|
175
|
+
const nodes = tr.nodes().slice(); // use slice to have new copy of array
|
|
176
|
+
// remove node from array
|
|
177
|
+
nodes.splice(nodes.indexOf(e.target), 1);
|
|
178
|
+
tr.nodes(nodes);
|
|
179
|
+
}
|
|
180
|
+
else if (metaPressed && !isSelected) {
|
|
181
|
+
// add the node into selection
|
|
182
|
+
const nodes = tr.nodes().concat([e.target]);
|
|
183
|
+
tr.nodes(nodes);
|
|
184
|
+
}
|
|
185
|
+
__classPrivateFieldGet(this, _layer).draw();
|
|
186
|
+
});
|
|
187
|
+
}));
|
|
188
|
+
}
|
|
189
|
+
ngOnDestroy() {
|
|
190
|
+
__classPrivateFieldGet(this, _subscription).unsubscribe();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
_height = new WeakMap(), _width = new WeakMap(), _images = new WeakMap(), _stage = new WeakMap(), _layer = new WeakMap(), _elementRef = new WeakMap(), _onLoad = new WeakMap(), _subscription = new WeakMap();
|
|
194
|
+
SdMergeImages.decorators = [
|
|
195
|
+
{ type: Component, args: [{
|
|
196
|
+
selector: 'sd-merge-images',
|
|
197
|
+
template: "<div [id]=\"id\" #container></div>",
|
|
198
|
+
styles: [":host ::ng-deep .konvajs-content{border:2px solid #dadada}"]
|
|
199
|
+
},] }
|
|
200
|
+
];
|
|
201
|
+
SdMergeImages.ctorParameters = () => [
|
|
202
|
+
{ type: ChangeDetectorRef }
|
|
203
|
+
];
|
|
204
|
+
SdMergeImages.propDecorators = {
|
|
205
|
+
height: [{ type: Input }],
|
|
206
|
+
width: [{ type: Input }],
|
|
207
|
+
images: [{ type: Input }],
|
|
208
|
+
save: [{ type: Output }],
|
|
209
|
+
container: [{ type: ViewChild, args: ['container',] }]
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
class SdKonvaModule {
|
|
213
|
+
}
|
|
214
|
+
SdKonvaModule.decorators = [
|
|
215
|
+
{ type: NgModule, args: [{
|
|
216
|
+
declarations: [
|
|
217
|
+
SdMergeImages
|
|
218
|
+
],
|
|
219
|
+
imports: [
|
|
220
|
+
CommonModule
|
|
221
|
+
],
|
|
222
|
+
exports: [
|
|
223
|
+
SdMergeImages
|
|
224
|
+
]
|
|
225
|
+
},] }
|
|
226
|
+
];
|
|
227
|
+
|
|
228
|
+
/*
|
|
229
|
+
* Public API Surface of superdev-angular-core
|
|
230
|
+
*/
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Generated bundle index. Do not edit.
|
|
234
|
+
*/
|
|
235
|
+
|
|
236
|
+
export { SdKonvaModule, SdMergeImages };
|
|
237
|
+
//# sourceMappingURL=sd-angular-core-konva.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-konva.js","sources":["../../../../projects/sd-core/konva/src/lib/merge-images/merge-images.component.ts","../../../../projects/sd-core/konva/src/lib/konva.module.ts","../../../../projects/sd-core/konva/src/public-api.ts","../../../../projects/sd-core/konva/sd-angular-core-konva.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\n\r\nimport * as uuid from 'uuid';\r\nimport 'konva';\r\nimport Konva from 'konva';\r\nimport { Image as KonvaImage } from 'konva/types/shapes/Image';\r\nimport { Rect } from 'konva/types/shapes/Rect';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { Layer } from 'konva/types/Layer';\r\nimport { Stage } from 'konva/types/Stage';\r\n@Component({\r\n selector: 'sd-merge-images',\r\n templateUrl: './merge-images.component.html',\r\n styleUrls: ['./merge-images.component.scss']\r\n})\r\n\r\nexport class SdMergeImages implements OnInit, AfterViewInit, OnDestroy {\r\n id = `I${uuid.v4()}`;\r\n kImages: (Rect | KonvaImage)[] = [];\r\n #height: number;\r\n #width: number;\r\n #images: string[];\r\n #stage: Stage;\r\n #layer: Layer;\r\n @Input() set height(height: number) {\r\n this.#height = +height;\r\n }\r\n @Input() set width(width: number) {\r\n this.#width = +width;\r\n }\r\n @Input() set images(images: string[]) {\r\n setTimeout(() => {\r\n this.#images = images;\r\n this.#onLoad.next(this.#images);\r\n }, 2000);\r\n }\r\n\r\n @Output() save = new EventEmitter();\r\n #elementRef: ElementRef;\r\n @ViewChild('container') set container(elementRef: ElementRef) {\r\n if (this.#elementRef !== elementRef) {\r\n this.#elementRef = elementRef;\r\n this.#onLoad.next(this.#images);\r\n }\r\n }\r\n\r\n #onLoad = new Subject();\r\n #subscription = new Subscription();\r\n constructor(private ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.#onLoad.pipe(startWith([])).subscribe(() => {\r\n if (!document.getElementById(this.id)) {\r\n return;\r\n }\r\n document.getElementById(this.id).innerHTML = '';\r\n if (!this.#images?.length) {\r\n return;\r\n }\r\n const images = this.#images;\r\n this.#stage = new Konva.Stage({\r\n container: this.id,\r\n width: this.#width,\r\n height: this.#height\r\n });\r\n\r\n this.#layer = new Konva.Layer();\r\n this.#stage.add(this.#layer);\r\n for (const [idx, img] of images.entries()) {\r\n let x = 0;\r\n let y = 0;\r\n const width = this.#width / 2;\r\n const height = this.#height / 2;\r\n if (images.length === 1) {\r\n x = this.#width / 4;\r\n y = this.#height / 4;\r\n } else if (images.length === 2) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = this.#height / 4;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = this.#height / 4;\r\n }\r\n } else if (images.length === 3) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = 0;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = 0;\r\n } else if (idx === 2) {\r\n x = this.#width / 4;\r\n y = this.#height / 4;\r\n }\r\n } else if (images.length === 4) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = 0;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = 0;\r\n } else if (idx === 2) {\r\n x = 0;\r\n y = this.#height / 2;\r\n } else if (idx === 3) {\r\n x = this.#width / 2;\r\n y = this.#height / 2;\r\n }\r\n }\r\n const image = new Image();\r\n const konvaImage = new Konva.Image({\r\n image,\r\n x,\r\n y,\r\n width,\r\n height,\r\n name: 'image',\r\n draggable: true,\r\n });\r\n this.kImages.push(konvaImage);\r\n image.onload = () => {\r\n konvaImage.image(image);\r\n this.ref.detectChanges();\r\n };\r\n image.crossOrigin = 'Anonymous';\r\n image.src = img;\r\n this.#layer.add(konvaImage);\r\n }\r\n const tr = new Konva.Transformer();\r\n this.#layer.add(tr);\r\n\r\n // at this point basic demo is finished!!\r\n // we just have several transforming nodes\r\n this.#layer.draw();\r\n this.ref.detectChanges();\r\n // clicks should select/deselect shapes\r\n this.#stage.on('click tap', (e) => {\r\n\r\n // if click on empty area - remove all selections\r\n if (e.target === this.#stage) {\r\n tr.nodes([]);\r\n this.#layer.draw();\r\n return;\r\n }\r\n\r\n // do nothing if clicked NOT on our rectangles\r\n if (!e.target.hasName('rect') && !e.target.hasName('image')) {\r\n return;\r\n }\r\n\r\n // do we pressed shift or ctrl?\r\n const metaPressed = e.evt.shiftKey || e.evt.ctrlKey || e.evt.metaKey;\r\n const isSelected = tr.nodes().indexOf(e.target) >= 0;\r\n\r\n if (!metaPressed && !isSelected) {\r\n // if no key pressed and the node is not selected\r\n // select just one\r\n tr.nodes([e.target]);\r\n } else if (metaPressed && isSelected) {\r\n // if we pressed keys and node was selected\r\n // we need to remove it from selection:\r\n const nodes = tr.nodes().slice(); // use slice to have new copy of array\r\n // remove node from array\r\n nodes.splice(nodes.indexOf(e.target), 1);\r\n tr.nodes(nodes);\r\n } else if (metaPressed && !isSelected) {\r\n // add the node into selection\r\n const nodes = tr.nodes().concat([e.target]);\r\n tr.nodes(nodes);\r\n }\r\n this.#layer.draw();\r\n });\r\n }));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n toImage = async (): Promise<HTMLImageElement> => {\r\n return await new Promise(resolve => {\r\n this.#stage?.toImage({\r\n callback: (image) => {\r\n resolve(image);\r\n }\r\n });\r\n });\r\n }\r\n\r\n toDataUrl = (): string => {\r\n return this.#stage.toDataURL();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdMergeImages } from './merge-images/merge-images.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdMergeImages\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SdMergeImages\r\n ]\r\n})\r\nexport class SdKonvaModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/konva.module';\r\nexport * from './lib/merge-images/merge-images.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-konva.js","sources":["../../../../projects/sd-core/konva/src/lib/merge-images/merge-images.component.ts","../../../../projects/sd-core/konva/src/lib/konva.module.ts","../../../../projects/sd-core/konva/src/public-api.ts","../../../../projects/sd-core/konva/sd-angular-core-konva.ts"],"names":["uuid.v4"],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\n\r\nimport * as uuid from 'uuid';\r\nimport 'konva';\r\nimport Konva from 'konva';\r\nimport { Image as KonvaImage } from 'konva/types/shapes/Image';\r\nimport { Rect } from 'konva/types/shapes/Rect';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { Layer } from 'konva/types/Layer';\r\nimport { Stage } from 'konva/types/Stage';\r\n@Component({\r\n selector: 'sd-merge-images',\r\n templateUrl: './merge-images.component.html',\r\n styleUrls: ['./merge-images.component.scss']\r\n})\r\n\r\nexport class SdMergeImages implements OnInit, AfterViewInit, OnDestroy {\r\n id = `I${uuid.v4()}`;\r\n kImages: (Rect | KonvaImage)[] = [];\r\n #height: number;\r\n #width: number;\r\n #images: string[];\r\n #stage: Stage;\r\n #layer: Layer;\r\n @Input() set height(height: number) {\r\n this.#height = +height;\r\n }\r\n @Input() set width(width: number) {\r\n this.#width = +width;\r\n }\r\n @Input() set images(images: string[]) {\r\n setTimeout(() => {\r\n this.#images = images;\r\n this.#onLoad.next(this.#images);\r\n }, 2000);\r\n }\r\n\r\n @Output() save = new EventEmitter();\r\n #elementRef: ElementRef;\r\n @ViewChild('container') set container(elementRef: ElementRef) {\r\n if (this.#elementRef !== elementRef) {\r\n this.#elementRef = elementRef;\r\n this.#onLoad.next(this.#images);\r\n }\r\n }\r\n\r\n #onLoad = new Subject();\r\n #subscription = new Subscription();\r\n constructor(private ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.#onLoad.pipe(startWith([])).subscribe(() => {\r\n if (!document.getElementById(this.id)) {\r\n return;\r\n }\r\n document.getElementById(this.id).innerHTML = '';\r\n if (!this.#images?.length) {\r\n return;\r\n }\r\n const images = this.#images;\r\n this.#stage = new Konva.Stage({\r\n container: this.id,\r\n width: this.#width,\r\n height: this.#height\r\n });\r\n\r\n this.#layer = new Konva.Layer();\r\n this.#stage.add(this.#layer);\r\n for (const [idx, img] of images.entries()) {\r\n let x = 0;\r\n let y = 0;\r\n const width = this.#width / 2;\r\n const height = this.#height / 2;\r\n if (images.length === 1) {\r\n x = this.#width / 4;\r\n y = this.#height / 4;\r\n } else if (images.length === 2) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = this.#height / 4;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = this.#height / 4;\r\n }\r\n } else if (images.length === 3) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = 0;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = 0;\r\n } else if (idx === 2) {\r\n x = this.#width / 4;\r\n y = this.#height / 4;\r\n }\r\n } else if (images.length === 4) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = 0;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = 0;\r\n } else if (idx === 2) {\r\n x = 0;\r\n y = this.#height / 2;\r\n } else if (idx === 3) {\r\n x = this.#width / 2;\r\n y = this.#height / 2;\r\n }\r\n }\r\n const image = new Image();\r\n const konvaImage = new Konva.Image({\r\n image,\r\n x,\r\n y,\r\n width,\r\n height,\r\n name: 'image',\r\n draggable: true,\r\n });\r\n this.kImages.push(konvaImage);\r\n image.onload = () => {\r\n konvaImage.image(image);\r\n this.ref.detectChanges();\r\n };\r\n image.crossOrigin = 'Anonymous';\r\n image.src = img;\r\n this.#layer.add(konvaImage);\r\n }\r\n const tr = new Konva.Transformer();\r\n this.#layer.add(tr);\r\n\r\n // at this point basic demo is finished!!\r\n // we just have several transforming nodes\r\n this.#layer.draw();\r\n this.ref.detectChanges();\r\n // clicks should select/deselect shapes\r\n this.#stage.on('click tap', (e) => {\r\n\r\n // if click on empty area - remove all selections\r\n if (e.target === this.#stage) {\r\n tr.nodes([]);\r\n this.#layer.draw();\r\n return;\r\n }\r\n\r\n // do nothing if clicked NOT on our rectangles\r\n if (!e.target.hasName('rect') && !e.target.hasName('image')) {\r\n return;\r\n }\r\n\r\n // do we pressed shift or ctrl?\r\n const metaPressed = e.evt.shiftKey || e.evt.ctrlKey || e.evt.metaKey;\r\n const isSelected = tr.nodes().indexOf(e.target) >= 0;\r\n\r\n if (!metaPressed && !isSelected) {\r\n // if no key pressed and the node is not selected\r\n // select just one\r\n tr.nodes([e.target]);\r\n } else if (metaPressed && isSelected) {\r\n // if we pressed keys and node was selected\r\n // we need to remove it from selection:\r\n const nodes = tr.nodes().slice(); // use slice to have new copy of array\r\n // remove node from array\r\n nodes.splice(nodes.indexOf(e.target), 1);\r\n tr.nodes(nodes);\r\n } else if (metaPressed && !isSelected) {\r\n // add the node into selection\r\n const nodes = tr.nodes().concat([e.target]);\r\n tr.nodes(nodes);\r\n }\r\n this.#layer.draw();\r\n });\r\n }));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n toImage = async (): Promise<HTMLImageElement> => {\r\n return await new Promise(resolve => {\r\n this.#stage?.toImage({\r\n callback: (image) => {\r\n resolve(image);\r\n }\r\n });\r\n });\r\n }\r\n\r\n toDataUrl = (): string => {\r\n return this.#stage.toDataURL();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdMergeImages } from './merge-images/merge-images.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdMergeImages\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SdMergeImages\r\n ]\r\n})\r\nexport class SdKonvaModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/konva.module';\r\nexport * from './lib/merge-images/merge-images.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-konva.js","sources":["../../../../projects/sd-core/konva/src/lib/merge-images/merge-images.component.ts","../../../../projects/sd-core/konva/src/lib/konva.module.ts","../../../../projects/sd-core/konva/src/public-api.ts","../../../../projects/sd-core/konva/sd-angular-core-konva.ts"],"sourcesContent":["import {\r\n Component,\r\n Input,\r\n OnInit,\r\n AfterViewInit,\r\n Output,\r\n EventEmitter,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\n\r\nimport * as uuid from 'uuid';\r\nimport 'konva';\r\nimport Konva from 'konva';\r\nimport { Image as KonvaImage } from 'konva/types/shapes/Image';\r\nimport { Rect } from 'konva/types/shapes/Rect';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { startWith } from 'rxjs/operators';\r\nimport { Layer } from 'konva/types/Layer';\r\nimport { Stage } from 'konva/types/Stage';\r\n@Component({\r\n selector: 'sd-merge-images',\r\n templateUrl: './merge-images.component.html',\r\n styleUrls: ['./merge-images.component.scss']\r\n})\r\n\r\nexport class SdMergeImages implements OnInit, AfterViewInit, OnDestroy {\r\n id = `I${uuid.v4()}`;\r\n kImages: (Rect | KonvaImage)[] = [];\r\n #height: number;\r\n #width: number;\r\n #images: string[];\r\n #stage: Stage;\r\n #layer: Layer;\r\n @Input() set height(height: number) {\r\n this.#height = +height;\r\n }\r\n @Input() set width(width: number) {\r\n this.#width = +width;\r\n }\r\n @Input() set images(images: string[]) {\r\n setTimeout(() => {\r\n this.#images = images;\r\n this.#onLoad.next(this.#images);\r\n }, 2000);\r\n }\r\n\r\n @Output() save = new EventEmitter();\r\n #elementRef: ElementRef;\r\n @ViewChild('container') set container(elementRef: ElementRef) {\r\n if (this.#elementRef !== elementRef) {\r\n this.#elementRef = elementRef;\r\n this.#onLoad.next(this.#images);\r\n }\r\n }\r\n\r\n #onLoad = new Subject();\r\n #subscription = new Subscription();\r\n constructor(private ref: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.#onLoad.pipe(startWith([])).subscribe(() => {\r\n if (!document.getElementById(this.id)) {\r\n return;\r\n }\r\n document.getElementById(this.id).innerHTML = '';\r\n if (!this.#images?.length) {\r\n return;\r\n }\r\n const images = this.#images;\r\n this.#stage = new Konva.Stage({\r\n container: this.id,\r\n width: this.#width,\r\n height: this.#height\r\n });\r\n\r\n this.#layer = new Konva.Layer();\r\n this.#stage.add(this.#layer);\r\n for (const [idx, img] of images.entries()) {\r\n let x = 0;\r\n let y = 0;\r\n const width = this.#width / 2;\r\n const height = this.#height / 2;\r\n if (images.length === 1) {\r\n x = this.#width / 4;\r\n y = this.#height / 4;\r\n } else if (images.length === 2) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = this.#height / 4;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = this.#height / 4;\r\n }\r\n } else if (images.length === 3) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = 0;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = 0;\r\n } else if (idx === 2) {\r\n x = this.#width / 4;\r\n y = this.#height / 4;\r\n }\r\n } else if (images.length === 4) {\r\n if (idx === 0) {\r\n x = 0;\r\n y = 0;\r\n } else if (idx === 1) {\r\n x = this.#width / 2;\r\n y = 0;\r\n } else if (idx === 2) {\r\n x = 0;\r\n y = this.#height / 2;\r\n } else if (idx === 3) {\r\n x = this.#width / 2;\r\n y = this.#height / 2;\r\n }\r\n }\r\n const image = new Image();\r\n const konvaImage = new Konva.Image({\r\n image,\r\n x,\r\n y,\r\n width,\r\n height,\r\n name: 'image',\r\n draggable: true,\r\n });\r\n this.kImages.push(konvaImage);\r\n image.onload = () => {\r\n konvaImage.image(image);\r\n this.ref.detectChanges();\r\n };\r\n image.crossOrigin = 'Anonymous';\r\n image.src = img;\r\n this.#layer.add(konvaImage);\r\n }\r\n const tr = new Konva.Transformer();\r\n this.#layer.add(tr);\r\n\r\n // at this point basic demo is finished!!\r\n // we just have several transforming nodes\r\n this.#layer.draw();\r\n this.ref.detectChanges();\r\n // clicks should select/deselect shapes\r\n this.#stage.on('click tap', (e) => {\r\n\r\n // if click on empty area - remove all selections\r\n if (e.target === this.#stage) {\r\n tr.nodes([]);\r\n this.#layer.draw();\r\n return;\r\n }\r\n\r\n // do nothing if clicked NOT on our rectangles\r\n if (!e.target.hasName('rect') && !e.target.hasName('image')) {\r\n return;\r\n }\r\n\r\n // do we pressed shift or ctrl?\r\n const metaPressed = e.evt.shiftKey || e.evt.ctrlKey || e.evt.metaKey;\r\n const isSelected = tr.nodes().indexOf(e.target) >= 0;\r\n\r\n if (!metaPressed && !isSelected) {\r\n // if no key pressed and the node is not selected\r\n // select just one\r\n tr.nodes([e.target]);\r\n } else if (metaPressed && isSelected) {\r\n // if we pressed keys and node was selected\r\n // we need to remove it from selection:\r\n const nodes = tr.nodes().slice(); // use slice to have new copy of array\r\n // remove node from array\r\n nodes.splice(nodes.indexOf(e.target), 1);\r\n tr.nodes(nodes);\r\n } else if (metaPressed && !isSelected) {\r\n // add the node into selection\r\n const nodes = tr.nodes().concat([e.target]);\r\n tr.nodes(nodes);\r\n }\r\n this.#layer.draw();\r\n });\r\n }));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n toImage = async (): Promise<HTMLImageElement> => {\r\n return await new Promise(resolve => {\r\n this.#stage?.toImage({\r\n callback: (image) => {\r\n resolve(image);\r\n }\r\n });\r\n });\r\n }\r\n\r\n toDataUrl = (): string => {\r\n return this.#stage.toDataURL();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdMergeImages } from './merge-images/merge-images.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SdMergeImages\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SdMergeImages\r\n ]\r\n})\r\nexport class SdKonvaModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/konva.module';\r\nexport * from './lib/merge-images/merge-images.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Component, Input, NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
|
|
5
|
+
class SdLabel {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.fontSet = 'material-icons';
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
}
|
|
11
|
+
ngAfterViewInit() {
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SdLabel.decorators = [
|
|
15
|
+
{ type: Component, args: [{
|
|
16
|
+
selector: 'sd-label',
|
|
17
|
+
template: "<div class=\"d-inline mr-2\">\r\n <mat-icon *ngIf=\"icon\" class=\"align-middle mr-2\" [fontSet]=\"fontSet\">{{icon}}</mat-icon><span class=\"T14R\">{{label}}:</span>\r\n</div>\r\n<ng-content></ng-content>"
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
SdLabel.ctorParameters = () => [];
|
|
21
|
+
SdLabel.propDecorators = {
|
|
22
|
+
label: [{ type: Input }],
|
|
23
|
+
icon: [{ type: Input }],
|
|
24
|
+
fontSet: [{ type: Input }]
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
class SdLabelModule {
|
|
28
|
+
}
|
|
29
|
+
SdLabelModule.decorators = [
|
|
30
|
+
{ type: NgModule, args: [{
|
|
31
|
+
imports: [
|
|
32
|
+
CommonModule,
|
|
33
|
+
MatIconModule
|
|
34
|
+
],
|
|
35
|
+
declarations: [
|
|
36
|
+
SdLabel
|
|
37
|
+
],
|
|
38
|
+
exports: [
|
|
39
|
+
SdLabel
|
|
40
|
+
]
|
|
41
|
+
},] }
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Generated bundle index. Do not edit.
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
export { SdLabelModule, SdLabel as ɵa };
|
|
49
|
+
//# sourceMappingURL=sd-angular-core-label.js.map
|