@sd-angular/core 0.0.1049 → 1.0.1
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 +2 -3
- package/api/sd-angular-core-api.metadata.json +1 -1
- package/assets/scss/sd-core.scss +0 -2
- package/bundles/sd-angular-core-api.umd.js +3 -25
- package/bundles/sd-angular-core-api.umd.js.map +1 -1
- package/bundles/sd-angular-core-api.umd.min.js +1 -1
- package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-chart.umd.js +1 -1
- package/bundles/sd-angular-core-chart.umd.min.js +1 -1
- package/bundles/sd-angular-core-chart.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-date-range.umd.js +1 -1
- package/bundles/sd-angular-core-date-range.umd.min.js +1 -1
- package/bundles/sd-angular-core-date-time.umd.js +1 -1
- package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
- package/bundles/sd-angular-core-editor.umd.js +2 -2
- package/bundles/sd-angular-core-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-editor.umd.min.js +2 -2
- package/bundles/sd-angular-core-editor.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.js +5 -24
- package/bundles/sd-angular-core-export.umd.js.map +1 -1
- package/bundles/sd-angular-core-export.umd.min.js +1 -1
- package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-filter.umd.js +1 -1
- package/bundles/sd-angular-core-filter.umd.min.js +1 -1
- package/bundles/sd-angular-core-filter.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid.umd.js +1 -1
- package/bundles/sd-angular-core-grid.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-input-currency.umd.js +1 -1
- package/bundles/sd-angular-core-input-currency.umd.min.js +1 -1
- package/bundles/sd-angular-core-konva.umd.js +1 -1
- package/bundles/sd-angular-core-konva.umd.min.js +1 -1
- package/bundles/sd-angular-core-notify.umd.js +1 -1
- package/bundles/sd-angular-core-notify.umd.min.js +1 -1
- package/bundles/sd-angular-core-notify.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-file.umd.js +1 -1
- package/bundles/sd-angular-core-upload-file.umd.min.js +1 -1
- package/bundles/sd-angular-core-utility.umd.js +1 -1
- 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.umd.js +6 -734
- package/bundles/sd-angular-core.umd.js.map +1 -1
- package/bundles/sd-angular-core.umd.min.js +1 -1
- package/bundles/sd-angular-core.umd.min.js.map +1 -1
- package/esm2015/api/src/lib/api.service.js +2 -2
- package/esm2015/api/src/lib/http.service.js +1 -1
- package/esm2015/editor/src/lib/editor.component.js +2 -2
- package/esm2015/export/src/lib/export.service.js +2 -2
- package/esm2015/lib/core.module.js +4 -36
- package/esm2015/public-api.js +1 -10
- package/fesm2015/sd-angular-core-api.js +2 -3
- package/fesm2015/sd-angular-core-api.js.map +1 -1
- package/fesm2015/sd-angular-core-editor.js +1 -1
- package/fesm2015/sd-angular-core-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-export.js +1 -1
- package/fesm2015/sd-angular-core-export.js.map +1 -1
- package/fesm2015/sd-angular-core.js +5 -367
- package/fesm2015/sd-angular-core.js.map +1 -1
- package/package.json +14 -19
- package/public-api.d.ts +0 -7
- package/sd-angular-core-1.0.1.tgz +0 -0
- package/sd-angular-core.metadata.json +1 -1
- package/assets/ckeditor/CHANGES.md +0 -1703
- package/assets/ckeditor/LICENSE.md +0 -1420
- package/assets/ckeditor/README.md +0 -39
- package/assets/ckeditor/adapters/jquery.js +0 -10
- package/assets/ckeditor/build-config.js +0 -123
- package/assets/ckeditor/ckeditor.js +0 -27038
- package/assets/ckeditor/config.js +0 -10
- package/assets/ckeditor/contents.css +0 -209
- package/assets/ckeditor/lang/en.js +0 -5
- package/assets/ckeditor/lang/vi.js +0 -5
- package/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -10
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +0 -25
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +0 -9
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +0 -10
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +0 -13
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +0 -10
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +0 -12
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +0 -11
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +0 -9
- package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +0 -9
- package/assets/ckeditor/plugins/about/dialogs/about.js +0 -8
- package/assets/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
- package/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- package/assets/ckeditor/plugins/clipboard/dialogs/paste.js +0 -11
- package/assets/ckeditor/plugins/colordialog/dialogs/colordialog.css +0 -20
- package/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -14
- package/assets/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg +0 -25
- package/assets/ckeditor/plugins/copyformatting/cursors/cursor.svg +0 -14
- package/assets/ckeditor/plugins/copyformatting/styles/copyformatting.css +0 -45
- package/assets/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
- package/assets/ckeditor/plugins/div/dialogs/div.js +0 -9
- package/assets/ckeditor/plugins/find/dialogs/find.js +0 -25
- package/assets/ckeditor/plugins/flash/dialogs/flash.js +0 -24
- package/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
- package/assets/ckeditor/plugins/forms/dialogs/button.js +0 -8
- package/assets/ckeditor/plugins/forms/dialogs/checkbox.js +0 -9
- package/assets/ckeditor/plugins/forms/dialogs/form.js +0 -8
- package/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -7
- package/assets/ckeditor/plugins/forms/dialogs/radio.js +0 -9
- package/assets/ckeditor/plugins/forms/dialogs/select.js +0 -21
- package/assets/ckeditor/plugins/forms/dialogs/textarea.js +0 -8
- package/assets/ckeditor/plugins/forms/dialogs/textfield.js +0 -11
- package/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
- package/assets/ckeditor/plugins/icons.png +0 -0
- package/assets/ckeditor/plugins/icons_hidpi.png +0 -0
- package/assets/ckeditor/plugins/iframe/dialogs/iframe.js +0 -10
- package/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
- package/assets/ckeditor/plugins/image/dialogs/image.js +0 -44
- package/assets/ckeditor/plugins/image/images/noimage.png +0 -0
- package/assets/ckeditor/plugins/link/dialogs/anchor.js +0 -8
- package/assets/ckeditor/plugins/link/dialogs/link.js +0 -30
- package/assets/ckeditor/plugins/link/images/anchor.png +0 -0
- package/assets/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
- package/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -10
- package/assets/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
- package/assets/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
- package/assets/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
- package/assets/ckeditor/plugins/magicline/images/icon.png +0 -0
- package/assets/ckeditor/plugins/notification/lang/az.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/bg.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ca.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/cs.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/da.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/de-ch.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/de.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/en-au.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/en.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/eo.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/es-mx.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/es.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/et.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/eu.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/fa.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/fr.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/gl.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/hr.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/hu.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/id.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/it.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ja.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/km.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ko.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ku.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/lt.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/lv.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/nb.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/nl.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/oc.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/pl.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/pt-br.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/pt.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ro.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ru.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/sk.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/sq.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/sr-latn.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/sr.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/sv.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/tr.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/ug.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/uk.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/zh-cn.js +0 -7
- package/assets/ckeditor/plugins/notification/lang/zh.js +0 -7
- package/assets/ckeditor/plugins/notification/plugin.js +0 -933
- package/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
- package/assets/ckeditor/plugins/pastefromword/filter/default.js +0 -55
- package/assets/ckeditor/plugins/preview/preview.html +0 -13
- package/assets/ckeditor/plugins/scayt/CHANGELOG.md +0 -20
- package/assets/ckeditor/plugins/scayt/LICENSE.md +0 -28
- package/assets/ckeditor/plugins/scayt/README.md +0 -81
- package/assets/ckeditor/plugins/scayt/dialogs/dialog.css +0 -23
- package/assets/ckeditor/plugins/scayt/dialogs/options.js +0 -32
- package/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
- package/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +0 -25
- package/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- package/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- package/assets/ckeditor/plugins/smiley/dialogs/smiley.js +0 -11
- package/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/envelope.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/heart.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/kiss.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
- package/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- package/assets/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +0 -20
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/af.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ar.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/az.js +0 -10
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/bg.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ca.js +0 -14
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/cs.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/cy.js +0 -14
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/da.js +0 -11
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/de.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/el.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/en.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/eo.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/es.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/et.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/eu.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/fa.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/fi.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +0 -10
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/fr.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/gl.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/he.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/hr.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/hu.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/id.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/it.js +0 -14
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ja.js +0 -9
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/km.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ko.js +0 -10
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ku.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/lt.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/lv.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/nb.js +0 -11
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/nl.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/no.js +0 -11
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/oc.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/pl.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +0 -11
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/pt.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ro.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ru.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/si.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/sk.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/sl.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/sq.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/sr.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/sv.js +0 -11
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/th.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/tr.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/tt.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/ug.js +0 -13
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/uk.js +0 -12
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/vi.js +0 -14
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +0 -9
- package/assets/ckeditor/plugins/specialchar/dialogs/lang/zh.js +0 -9
- package/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -14
- package/assets/ckeditor/plugins/table/dialogs/table.js +0 -21
- package/assets/ckeditor/plugins/tableselection/styles/tableselection.css +0 -36
- package/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -19
- package/assets/ckeditor/plugins/templates/dialogs/templates.css +0 -84
- package/assets/ckeditor/plugins/templates/dialogs/templates.js +0 -10
- package/assets/ckeditor/plugins/templates/templates/default.js +0 -7
- package/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- package/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- package/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- package/assets/ckeditor/plugins/videoembed/.gitattributes +0 -17
- package/assets/ckeditor/plugins/videoembed/README.md +0 -35
- package/assets/ckeditor/plugins/videoembed/dialogs/videoembedDialog.js +0 -114
- package/assets/ckeditor/plugins/videoembed/icons/videoembed.png +0 -0
- package/assets/ckeditor/plugins/videoembed/lang/en.js +0 -8
- package/assets/ckeditor/plugins/videoembed/lang/fr.js +0 -8
- package/assets/ckeditor/plugins/videoembed/plugin.js +0 -27
- package/assets/ckeditor/plugins/widget/images/handle.png +0 -0
- package/assets/ckeditor/plugins/wordcount/css/wordcount.css +0 -3
- package/assets/ckeditor/plugins/wordcount/lang/ar.js +0 -12
- package/assets/ckeditor/plugins/wordcount/lang/bg.js +0 -17
- package/assets/ckeditor/plugins/wordcount/lang/ca.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/cs.js +0 -15
- package/assets/ckeditor/plugins/wordcount/lang/da.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/de.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/el.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/en.js +0 -17
- package/assets/ckeditor/plugins/wordcount/lang/es.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/eu.js +0 -17
- package/assets/ckeditor/plugins/wordcount/lang/fa.js +0 -13
- package/assets/ckeditor/plugins/wordcount/lang/fi.js +0 -15
- package/assets/ckeditor/plugins/wordcount/lang/fr.js +0 -12
- package/assets/ckeditor/plugins/wordcount/lang/he.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/hr.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/hu.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/it.js +0 -15
- package/assets/ckeditor/plugins/wordcount/lang/ja.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/ko.js +0 -16
- package/assets/ckeditor/plugins/wordcount/lang/nl.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/no.js +0 -11
- package/assets/ckeditor/plugins/wordcount/lang/pl.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/pt-br.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/pt.js +0 -10
- package/assets/ckeditor/plugins/wordcount/lang/ro.js +0 -15
- package/assets/ckeditor/plugins/wordcount/lang/ru.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/sk.js +0 -15
- package/assets/ckeditor/plugins/wordcount/lang/sv.js +0 -15
- package/assets/ckeditor/plugins/wordcount/lang/tr.js +0 -14
- package/assets/ckeditor/plugins/wordcount/lang/uk.js +0 -17
- package/assets/ckeditor/plugins/wordcount/lang/zh-cn.js +0 -17
- package/assets/ckeditor/plugins/wordcount/lang/zh.js +0 -17
- package/assets/ckeditor/plugins/wordcount/plugin.js +0 -639
- package/assets/ckeditor/plugins/wordcount/samples/maxParagraphs.html +0 -26
- package/assets/ckeditor/plugins/wordcount/samples/wordcount.html +0 -61
- package/assets/ckeditor/plugins/wordcount/samples/wordcountWithMaxCount.html +0 -110
- package/assets/ckeditor/plugins/wsc/LICENSE.md +0 -28
- package/assets/ckeditor/plugins/wsc/README.md +0 -80
- package/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -66
- package/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
- package/assets/ckeditor/plugins/wsc/dialogs/wsc.css +0 -82
- package/assets/ckeditor/plugins/wsc/dialogs/wsc.js +0 -91
- package/assets/ckeditor/plugins/wsc/dialogs/wsc_ie.js +0 -11
- package/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +0 -43
- package/assets/ckeditor/samples/css/samples.css +0 -1637
- package/assets/ckeditor/samples/img/github-top.png +0 -0
- package/assets/ckeditor/samples/img/header-bg.png +0 -0
- package/assets/ckeditor/samples/img/header-separator.png +0 -0
- package/assets/ckeditor/samples/img/logo.png +0 -0
- package/assets/ckeditor/samples/img/logo.svg +0 -13
- package/assets/ckeditor/samples/img/navigation-tip.png +0 -0
- package/assets/ckeditor/samples/index.html +0 -128
- package/assets/ckeditor/samples/js/sample.js +0 -53
- package/assets/ckeditor/samples/js/sf.js +0 -17
- package/assets/ckeditor/samples/old/ajax.html +0 -85
- package/assets/ckeditor/samples/old/api.html +0 -210
- package/assets/ckeditor/samples/old/appendto.html +0 -59
- package/assets/ckeditor/samples/old/assets/inlineall/logo.png +0 -0
- package/assets/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css +0 -204
- package/assets/ckeditor/samples/old/assets/posteddata.php +0 -59
- package/assets/ckeditor/samples/old/assets/sample.jpg +0 -0
- package/assets/ckeditor/samples/old/assets/uilanguages/languages.js +0 -7
- package/assets/ckeditor/samples/old/datafiltering.html +0 -508
- package/assets/ckeditor/samples/old/dialog/assets/my_dialog.js +0 -48
- package/assets/ckeditor/samples/old/dialog/dialog.html +0 -190
- package/assets/ckeditor/samples/old/divarea/divarea.html +0 -64
- package/assets/ckeditor/samples/old/divreplace.html +0 -144
- package/assets/ckeditor/samples/old/enterkey/enterkey.html +0 -106
- package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
- package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
- package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js +0 -19
- package/assets/ckeditor/samples/old/htmlwriter/outputforflash.html +0 -283
- package/assets/ckeditor/samples/old/htmlwriter/outputhtml.html +0 -224
- package/assets/ckeditor/samples/old/index.html +0 -134
- package/assets/ckeditor/samples/old/inlineall.html +0 -314
- package/assets/ckeditor/samples/old/inlinebycode.html +0 -124
- package/assets/ckeditor/samples/old/inlinetextarea.html +0 -113
- package/assets/ckeditor/samples/old/jquery.html +0 -103
- package/assets/ckeditor/samples/old/magicline/magicline.html +0 -209
- package/assets/ckeditor/samples/old/readonly.html +0 -76
- package/assets/ckeditor/samples/old/replacebyclass.html +0 -60
- package/assets/ckeditor/samples/old/replacebycode.html +0 -59
- package/assets/ckeditor/samples/old/sample.css +0 -357
- package/assets/ckeditor/samples/old/sample.js +0 -50
- package/assets/ckeditor/samples/old/sample_posteddata.php +0 -16
- package/assets/ckeditor/samples/old/tabindex.html +0 -78
- package/assets/ckeditor/samples/old/toolbar/toolbar.html +0 -235
- package/assets/ckeditor/samples/old/uicolor.html +0 -72
- package/assets/ckeditor/samples/old/uilanguages.html +0 -122
- package/assets/ckeditor/samples/old/wysiwygarea/fullpage.html +0 -80
- package/assets/ckeditor/samples/old/xhtmlstyle.html +0 -234
- package/assets/ckeditor/samples/toolbarconfigurator/css/fontello.css +0 -55
- package/assets/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt +0 -10
- package/assets/ckeditor/samples/toolbarconfigurator/font/config.json +0 -28
- package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.eot +0 -0
- package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.svg +0 -14
- package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.ttf +0 -0
- package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.woff +0 -0
- package/assets/ckeditor/samples/toolbarconfigurator/index.html +0 -446
- package/assets/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js +0 -13
- package/assets/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js +0 -9
- package/assets/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js +0 -33
- package/assets/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js +0 -14
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/LICENSE +0 -19
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css +0 -325
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js +0 -288
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js +0 -25
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css +0 -36
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css +0 -38
- package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js +0 -16
- package/assets/ckeditor/skins/office2013/dialog.css +0 -5
- package/assets/ckeditor/skins/office2013/editor.css +0 -5
- package/assets/ckeditor/skins/office2013/icons.png +0 -0
- package/assets/ckeditor/skins/office2013/icons_hidpi.png +0 -0
- package/assets/ckeditor/skins/office2013/images/arrow.png +0 -0
- package/assets/ckeditor/skins/office2013/images/close.png +0 -0
- package/assets/ckeditor/skins/office2013/images/hidpi/close.png +0 -0
- package/assets/ckeditor/skins/office2013/images/hidpi/lock-open.png +0 -0
- package/assets/ckeditor/skins/office2013/images/hidpi/lock.png +0 -0
- package/assets/ckeditor/skins/office2013/images/hidpi/refresh.png +0 -0
- package/assets/ckeditor/skins/office2013/images/lock-open.png +0 -0
- package/assets/ckeditor/skins/office2013/images/lock.png +0 -0
- package/assets/ckeditor/skins/office2013/images/refresh.png +0 -0
- package/assets/ckeditor/styles.js +0 -137
- package/bundles/sd-angular-core-modal-custom.umd.js +0 -487
- package/bundles/sd-angular-core-modal-custom.umd.js.map +0 -1
- package/bundles/sd-angular-core-modal-custom.umd.min.js +0 -16
- package/bundles/sd-angular-core-modal-custom.umd.min.js.map +0 -1
- package/esm2015/lib/controls/ckeditor-control/ckeditor-control.component.js +0 -53
- package/esm2015/lib/controls/date-picker-control/date-picker-control.component.js +0 -156
- package/esm2015/lib/pipes/sd-date.pipe.js +0 -15
- package/esm2015/lib/validators/chip-min-item.validator.js +0 -26
- package/esm2015/lib/validators/custom.validator.js +0 -39
- package/esm2015/lib/validators/max-date.validator.js +0 -30
- package/esm2015/lib/validators/min-date.validator.js +0 -30
- package/esm2015/modal-custom/index.js +0 -2
- package/esm2015/modal-custom/sd-angular-core-modal-custom.js +0 -5
- package/esm2015/modal-custom/src/lib/modal-custom/modal-custom.component.js +0 -123
- package/esm2015/modal-custom/src/lib/modal-custom.module.js +0 -30
- package/esm2015/modal-custom/src/public-api.js +0 -6
- package/fesm2015/sd-angular-core-modal-custom.js +0 -161
- package/fesm2015/sd-angular-core-modal-custom.js.map +0 -1
- package/lib/controls/ckeditor-control/ckeditor-control.component.d.ts +0 -20
- package/lib/controls/date-picker-control/date-picker-control.component.d.ts +0 -36
- package/lib/pipes/sd-date.pipe.d.ts +0 -4
- package/lib/validators/chip-min-item.validator.d.ts +0 -5
- package/lib/validators/custom.validator.d.ts +0 -5
- package/lib/validators/max-date.validator.d.ts +0 -5
- package/lib/validators/min-date.validator.d.ts +0 -5
- package/modal-custom/index.d.ts +0 -1
- package/modal-custom/package.json +0 -12
- package/modal-custom/sd-angular-core-modal-custom.d.ts +0 -4
- package/modal-custom/sd-angular-core-modal-custom.metadata.json +0 -1
- package/modal-custom/src/lib/modal-custom/modal-custom.component.d.ts +0 -31
- package/modal-custom/src/lib/modal-custom.module.d.ts +0 -2
- package/modal-custom/src/public-api.d.ts +0 -2
- package/sd-angular-core-0.0.1049.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-editor.js","sources":["../../../../projects/sd-core/editor/src/lib/constant.ts","../../../../projects/sd-core/editor/src/lib/editor.component.ts","../../../../projects/sd-core/editor/src/lib/editor.module.ts","../../../../projects/sd-core/editor/src/public-api.ts","../../../../projects/sd-core/editor/sd-angular-core-editor.ts"],"sourcesContent":["export const Constants = {\r\n ARE_YOU_WANT_TO_DELETE: 'Are you sure you want to delete?',\r\n ACTIVE: 'active',\r\n IN_ACTIVE: 'inactive',\r\n APPROVE: 'approve',\r\n UN_APPROVE: 'unapprove',\r\n ACCEPT_SIZE_IMAGE: 'Logo only accept image with size <= 2MB',\r\n ACCEPT_TYPE_IMAGE:\r\n 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon',\r\n PAGE_TYPE_NEW: 'new',\r\n PAGE_TYPE_EDIT: 'edit',\r\n SAVE: 'saveOb',\r\n SAVE_AND_CONTINUE: 'saveAndContOb',\r\n IMAGE_SIZE: 2048000,\r\n SUCCESS: 'Success',\r\n IMPORT_SUCCESSFULLY: 'Import successfully!',\r\n ERROR: 'Error',\r\n FAILED: 'fail',\r\n FILE: 'file',\r\n NONE: 'none',\r\n NOT_EXIST_ID_OR_LINK: 'This ID/Link is not existing',\r\n FEATURE_IS_PENDING: 'This feature is pending',\r\n NOT_SUPPORT_FILE_IMAGE: 'File upload is not supported.',\r\n NOT_SUPPORT_FILE_IMPORT: 'File import is not supported.',\r\n NETWORK_ERROR: 'Network Error',\r\n SORT_BY: [\r\n {\r\n value: 0,\r\n name: 'Created Date'\r\n },\r\n {\r\n value: 1,\r\n name: 'Title'\r\n }\r\n ],\r\n DESC: [\r\n {\r\n value: true,\r\n name: 'Descending'\r\n },\r\n {\r\n value: false,\r\n name: 'Ascending'\r\n }\r\n ],\r\n FORM_ERRORS: {\r\n Id: '',\r\n textSearch: '',\r\n ImportLogId: '',\r\n SortBy: '',\r\n Reverse: '',\r\n },\r\n VALIDATION_MESSAGES: {}\r\n};\r\n\r\nexport const PROMOTION_PERMISSIONS = ['ListPromotion', 'AddNewPromotion', 'EditPromotion',\r\n 'ActiveOrInactivePromotion', 'RemovePromotion', 'ImportPromotion', 'ExportPromotion'];\r\n\r\nexport const ValidateMessageConstants = {\r\n TITLE_REQUIRED: 'Title is required',\r\n TITLE_MAXLENGTH: 'Title is not more than 55 characters',\r\n TITLE_PATTERN: 'Title is required',\r\n\r\n CREATED_AT_REQUIRED: 'Created At is required',\r\n\r\n SHOW_ON_HOME_REQUIRED: 'Show On Home is required',\r\n\r\n DISPLAY_NUMBER_REQUIRED: 'Display Number is required',\r\n\r\n CONTENT_TYPE_REQUIRED: 'Content Type is required',\r\n\r\n DISCOUNT_PERCENT_REQUIRED: 'Discount percent is required',\r\n DISCOUNT_PERCENT_MAX: 'Max discount percent is 100, cannot input greater',\r\n DISCOUNT_PERCENT_MIN: 'Min discount percent is 0, cannot input lower'\r\n};\r\n\r\nexport const PROMOTION_FORM = {\r\n FORM_ERRORS: {\r\n title: '',\r\n createdAt: '',\r\n displayNumber: '',\r\n showOnHome: '',\r\n discountPercent: '',\r\n isActive: '',\r\n ctaLabelName: '',\r\n ctaDeepLink: '',\r\n tags: ''\r\n },\r\n VALIDATION_MESSAGES: {\r\n title: {\r\n required: ValidateMessageConstants.TITLE_REQUIRED,\r\n maxlength: ValidateMessageConstants.TITLE_MAXLENGTH,\r\n pattern: ValidateMessageConstants.TITLE_PATTERN\r\n },\r\n createdAt: {\r\n required: ValidateMessageConstants.CREATED_AT_REQUIRED\r\n },\r\n showOnHome: {\r\n required: ValidateMessageConstants.SHOW_ON_HOME_REQUIRED\r\n },\r\n displayNumber: {\r\n required: ValidateMessageConstants.DISPLAY_NUMBER_REQUIRED\r\n },\r\n discountPercent: {\r\n required: ValidateMessageConstants.DISCOUNT_PERCENT_REQUIRED,\r\n max: ValidateMessageConstants.DISCOUNT_PERCENT_MAX,\r\n min: ValidateMessageConstants.DISCOUNT_PERCENT_MIN\r\n },\r\n tags: {\r\n required: ValidateMessageConstants.CONTENT_TYPE_REQUIRED\r\n }\r\n }\r\n};\r\n","import {\r\n Component,\r\n ViewChild,\r\n Input,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n AfterViewInit, OnDestroy\r\n} from '@angular/core';\r\nimport {QuillEditorComponent} from 'ngx-quill';\r\nimport * as uuid from 'uuid';\r\nimport {FormControl, FormGroup, NgForm, ValidatorFn, Validators} from '@angular/forms';\r\nimport {Constants} from './constant';\r\nimport {Subscription} from 'rxjs';\r\nimport {SdApiService} from '@sd-angular/core/api';\r\nimport 'quill-mention';\r\n\r\n@Component({\r\n selector: 'sd-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.scss'],\r\n})\r\nexport class SdEditor implements OnInit, AfterViewInit, OnDestroy {\r\n #name = `N${uuid.v4()}`;\r\n id: string = `I${uuid.v4()}`;\r\n #subscription = new Subscription();\r\n @ViewChild('editor') editor: QuillEditorComponent;\r\n @Input() label: string;\r\n #model: string;\r\n @Input() set model(val: string) {\r\n this.#model = val;\r\n this.modelHTML = val;\r\n this.formControl.setValue(this.#model, {\r\n emitEvent: false\r\n });\r\n this.ref.detectChanges();\r\n }\r\n\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\r\n required = false;\r\n\r\n @Input() set pRequired(val: boolean | '') {\r\n this.required = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n\r\n minlength: number;\r\n\r\n @Input('minlength') set _minlength(val: number) {\r\n this.minlength = +val;\r\n this.#updateValidator();\r\n }\r\n\r\n maxlength: number;\r\n\r\n @Input('maxlength') set _maxlength(val: number) {\r\n this.maxlength = +val;\r\n this.#updateValidator();\r\n }\r\n\r\n @Output() modelChange = new EventEmitter<string>();\r\n\r\n @Input() placeholder: string = '';\r\n\r\n @Input() styles: any = {height: '250px'};\r\n\r\n formControl = new FormControl();\r\n\r\n @Input() domain = '';\r\n @Input() urlUploadImage: string;\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\r\n @Input() toolbar: any;\r\n @Input() enableHTMLButton = false;\r\n showHtmlEditor = false;\r\n modelHTML: string;\r\n\r\n quillEvent: any;\r\n @Input() mentionValues: { id: string, value: string, link?: string }[];\r\n\r\n quillConfig = {\r\n // toolbar: '.toolbar',\r\n toolbar: {\r\n container: [\r\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\r\n ['blockquote', 'code-block'],\r\n\r\n [{'header': 1}, {'header': 2}], // custom button values\r\n [{'list': 'ordered'}, {'list': 'bullet'}],\r\n [{'script': 'sub'}, {'script': 'super'}], // superscript/subscript\r\n [{'indent': '-1'}, {'indent': '+1'}], // outdent/indent\r\n [{'direction': 'rtl'}], // text direction\r\n\r\n [{'size': ['small', false, 'large', 'huge']}], // custom dropdown\r\n [{'header': [1, 2, 3, 4, 5, 6, false]}],\r\n\r\n [{'color': []}, {'background': []}], // dropdown with defaults from theme\r\n [{'font': []}],\r\n [{'align': []}],\r\n\r\n ['clean'], // remove formatting button\r\n\r\n ['link', 'image', 'video'] // link and image, video\r\n ]\r\n },\r\n mention: {\r\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\r\n mentionDenotationChars: ['@'],\r\n source: (searchTerm, renderList, mentionChar) => {\r\n if (this.mentionValues) {\r\n let values;\r\n if (mentionChar === '@') {\r\n values = this.mentionValues;\r\n } else {\r\n values = [];\r\n }\r\n\r\n if (searchTerm.length === 0) {\r\n renderList(values, searchTerm);\r\n } else {\r\n const matches = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < values.length; i++) {\r\n // tslint:disable-next-line:no-bitwise\r\n if (~values[i].value.toLowerCase().indexOf(searchTerm.toLowerCase())) {\r\n matches.push(values[i]);\r\n }\r\n }\r\n renderList(matches, searchTerm);\r\n }\r\n }\r\n },\r\n },\r\n keyboard: {\r\n bindings: {\r\n enter: {\r\n key: 13,\r\n handler: (range, context) => {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n textLength: number = 0;\r\n @Output() sdChange = new EventEmitter<string>();\r\n\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private sdApiService: SdApiService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#name, this.formControl);\r\n if (this.toolbar) {\r\n this.quillConfig.toolbar.container = this.toolbar;\r\n console.log('toolbar', this.quillConfig);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.formControl.valueChanges.subscribe((val) => {\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(val);\r\n }));\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 #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n if (this.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.minlength > 0) {\r\n validators.push(Validators.minLength(this.minlength));\r\n }\r\n if (this.maxlength > 0) {\r\n validators.push(Validators.maxLength(this.maxlength));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n editorInit = (quill) => {\r\n this.quillEvent = quill;\r\n // const txtArea = document.createElement('textarea');\r\n // txtArea.style.cssText =\r\n // 'width: 100%;margin: 0px;background: rgb(29, 29, 29);' +\r\n // 'box-sizing: border-box;color: rgb(204, 204, 204);' +\r\n // 'font-size: 15px;outline: none;padding: 20px;' +\r\n // 'line-height: 24px;font-family: Consolas, Menlo, Monaco, "Courier New", monospace;' +\r\n // 'position: absolute;top: 0;bottom: 0;border: none;display:none';\r\n\r\n // const htmlEditor = quill.addContainer('ql-custom');\r\n // htmlEditor.appendChild(txtArea);\r\n\r\n // const myEditor = quill.container;\r\n // quill.on('text-change', (delta, oldDelta, source) => {\r\n // const html = myEditor.children[0].innerHTML;\r\n // txtArea.value = html;\r\n // // if (quill.getLength() > this.maxlength) {\r\n // // quill.deleteText(this.maxlength, quill.getLength());\r\n // // }\r\n // // this.formControl.setValue(html);\r\n // });\r\n\r\n const self = this;\r\n quill.getModule('toolbar').addHandler('image', function () {\r\n let fileInput = this.container.querySelector('input.ql-image[type=file]');\r\n\r\n if (fileInput == null) {\r\n fileInput = document.createElement('input');\r\n fileInput.setAttribute('type', Constants.FILE);\r\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\r\n fileInput.classList.add('ql-image');\r\n fileInput.addEventListener('change', () => {\r\n const files = fileInput.files;\r\n const range = this.quill.getSelection(true);\r\n if (!files || !files.length) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(Constants.FILE, files[0]);\r\n\r\n this.quill.enable(false);\r\n /*this.apiService.post(this.domain + this.urlUploadImage, formData).subscribe((resp: any) => {\r\n this.quill.enable(true);\r\n this.quill.editor.insertEmbed(range.index, 'image', resp.data.imageUrl || resp.data.publish_url || resp.url);\r\n const content = this.quill.getContents();\r\n this.quill.setContents(content);\r\n this.quill.setSelection(range.index + 1, 'silent');\r\n fileInput.value = '';\r\n });*/\r\n self.#uploadImage(formData, quill, range, fileInput);\r\n });\r\n this.container.appendChild(fileInput);\r\n }\r\n fileInput.click();\r\n });\r\n }\r\n\r\n onModelChange = (val: string) => {\r\n this.formControl.setValue(val);\r\n this.modelHTML = val;\r\n }\r\n\r\n onClickShowHtmlEditor = () => {\r\n this.showHtmlEditor = !this.showHtmlEditor;\r\n }\r\n\r\n #uploadImage = (formData, quill, range, fileInput) => {\r\n if (!this.urlUploadImage) {\r\n this.urlUploadImage = '/partner/v2/merchandise/file/uploaduserfile';\r\n }\r\n // this.domain = 'https://api-commerce-qc.vinid.dev';\r\n this.sdApiService.post(this.urlUploadImage, formData).then((resp: any) => {\r\n quill.enable(true);\r\n // quill.editor.insertEmbed(range.index, 'image', resp?.data?.imageUrl || resp?.data?.publish_url || resp?.url || '');\r\n quill.getModule('clipboard').dangerouslyPasteHTML(range.index, '<a target=\"_blank\" href=\"' + (resp?.data?.imageUrl || resp?.data?.publish_url || resp?.url || '')\r\n + '\"><img src=\"' + (resp?.data?.imageUrl || resp?.data?.publish_url || resp?.url || '') + '\" alt=\"c-image-editor-quill\"></a>', 'user');\r\n // quill.insertText();\r\n const content = quill.getContents();\r\n quill.setContents(content);\r\n quill.setSelection(range.index + 1, 'user');\r\n fileInput.value = '';\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SdEditor } from './editor.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport {SdButtonModule} from '@sd-angular/core/button';\r\nimport {SdTextareaModule} from '@sd-angular/core/textarea';\r\nimport {SdApiModule, SdApiService} from '@sd-angular/core/api';\r\n\r\n@NgModule({\r\n declarations: [SdEditor],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n QuillModule.forRoot(),\r\n SdTranslateModule,\r\n SdButtonModule,\r\n SdTextareaModule,\r\n SdApiModule\r\n ],\r\n exports: [SdEditor],\r\n providers: [],\r\n})\r\nexport class SdEditorModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/editor.module';\r\nexport * from './lib/constant';\r\nexport * from './lib/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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"}
|
|
1
|
+
{"version":3,"file":"sd-angular-core-editor.js","sources":["../../../../projects/sd-core/editor/src/lib/constant.ts","../../../../projects/sd-core/editor/src/lib/editor.component.ts","../../../../projects/sd-core/editor/src/lib/editor.module.ts","../../../../projects/sd-core/editor/src/public-api.ts","../../../../projects/sd-core/editor/sd-angular-core-editor.ts"],"sourcesContent":["export const Constants = {\r\n ARE_YOU_WANT_TO_DELETE: 'Are you sure you want to delete?',\r\n ACTIVE: 'active',\r\n IN_ACTIVE: 'inactive',\r\n APPROVE: 'approve',\r\n UN_APPROVE: 'unapprove',\r\n ACCEPT_SIZE_IMAGE: 'Logo only accept image with size <= 2MB',\r\n ACCEPT_TYPE_IMAGE:\r\n 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon',\r\n PAGE_TYPE_NEW: 'new',\r\n PAGE_TYPE_EDIT: 'edit',\r\n SAVE: 'saveOb',\r\n SAVE_AND_CONTINUE: 'saveAndContOb',\r\n IMAGE_SIZE: 2048000,\r\n SUCCESS: 'Success',\r\n IMPORT_SUCCESSFULLY: 'Import successfully!',\r\n ERROR: 'Error',\r\n FAILED: 'fail',\r\n FILE: 'file',\r\n NONE: 'none',\r\n NOT_EXIST_ID_OR_LINK: 'This ID/Link is not existing',\r\n FEATURE_IS_PENDING: 'This feature is pending',\r\n NOT_SUPPORT_FILE_IMAGE: 'File upload is not supported.',\r\n NOT_SUPPORT_FILE_IMPORT: 'File import is not supported.',\r\n NETWORK_ERROR: 'Network Error',\r\n SORT_BY: [\r\n {\r\n value: 0,\r\n name: 'Created Date'\r\n },\r\n {\r\n value: 1,\r\n name: 'Title'\r\n }\r\n ],\r\n DESC: [\r\n {\r\n value: true,\r\n name: 'Descending'\r\n },\r\n {\r\n value: false,\r\n name: 'Ascending'\r\n }\r\n ],\r\n FORM_ERRORS: {\r\n Id: '',\r\n textSearch: '',\r\n ImportLogId: '',\r\n SortBy: '',\r\n Reverse: '',\r\n },\r\n VALIDATION_MESSAGES: {}\r\n};\r\n\r\nexport const PROMOTION_PERMISSIONS = ['ListPromotion', 'AddNewPromotion', 'EditPromotion',\r\n 'ActiveOrInactivePromotion', 'RemovePromotion', 'ImportPromotion', 'ExportPromotion'];\r\n\r\nexport const ValidateMessageConstants = {\r\n TITLE_REQUIRED: 'Title is required',\r\n TITLE_MAXLENGTH: 'Title is not more than 55 characters',\r\n TITLE_PATTERN: 'Title is required',\r\n\r\n CREATED_AT_REQUIRED: 'Created At is required',\r\n\r\n SHOW_ON_HOME_REQUIRED: 'Show On Home is required',\r\n\r\n DISPLAY_NUMBER_REQUIRED: 'Display Number is required',\r\n\r\n CONTENT_TYPE_REQUIRED: 'Content Type is required',\r\n\r\n DISCOUNT_PERCENT_REQUIRED: 'Discount percent is required',\r\n DISCOUNT_PERCENT_MAX: 'Max discount percent is 100, cannot input greater',\r\n DISCOUNT_PERCENT_MIN: 'Min discount percent is 0, cannot input lower'\r\n};\r\n\r\nexport const PROMOTION_FORM = {\r\n FORM_ERRORS: {\r\n title: '',\r\n createdAt: '',\r\n displayNumber: '',\r\n showOnHome: '',\r\n discountPercent: '',\r\n isActive: '',\r\n ctaLabelName: '',\r\n ctaDeepLink: '',\r\n tags: ''\r\n },\r\n VALIDATION_MESSAGES: {\r\n title: {\r\n required: ValidateMessageConstants.TITLE_REQUIRED,\r\n maxlength: ValidateMessageConstants.TITLE_MAXLENGTH,\r\n pattern: ValidateMessageConstants.TITLE_PATTERN\r\n },\r\n createdAt: {\r\n required: ValidateMessageConstants.CREATED_AT_REQUIRED\r\n },\r\n showOnHome: {\r\n required: ValidateMessageConstants.SHOW_ON_HOME_REQUIRED\r\n },\r\n displayNumber: {\r\n required: ValidateMessageConstants.DISPLAY_NUMBER_REQUIRED\r\n },\r\n discountPercent: {\r\n required: ValidateMessageConstants.DISCOUNT_PERCENT_REQUIRED,\r\n max: ValidateMessageConstants.DISCOUNT_PERCENT_MAX,\r\n min: ValidateMessageConstants.DISCOUNT_PERCENT_MIN\r\n },\r\n tags: {\r\n required: ValidateMessageConstants.CONTENT_TYPE_REQUIRED\r\n }\r\n }\r\n};\r\n","import {\r\n Component,\r\n ViewChild,\r\n Input,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ChangeDetectorRef,\r\n AfterViewInit, OnDestroy\r\n} from '@angular/core';\r\nimport {QuillEditorComponent} from 'ngx-quill';\r\nimport * as uuid from 'uuid';\r\nimport {FormControl, FormGroup, NgForm, ValidatorFn, Validators} from '@angular/forms';\r\nimport {Constants} from './constant';\r\nimport {Subscription} from 'rxjs';\r\nimport {SdApiService} from '@sd-angular/core/api';\r\nimport 'quill-mention';\r\n\r\n@Component({\r\n selector: 'sd-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.scss'],\r\n})\r\nexport class SdEditor implements OnInit, AfterViewInit, OnDestroy {\r\n #name = `N${uuid.v4()}`;\r\n id: string = `I${uuid.v4()}`;\r\n #subscription = new Subscription();\r\n @ViewChild('editor') editor: QuillEditorComponent;\r\n @Input() label: string;\r\n #model: string;\r\n @Input() set model(val: string) {\r\n this.#model = val;\r\n this.modelHTML = val;\r\n this.formControl.setValue(this.#model, {\r\n emitEvent: false\r\n });\r\n this.ref.detectChanges();\r\n }\r\n\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\r\n required = false;\r\n\r\n @Input() set pRequired(val: boolean | '') {\r\n this.required = (val === '') || val;\r\n this.#updateValidator();\r\n }\r\n\r\n minlength: number;\r\n\r\n @Input('minlength') set _minlength(val: number) {\r\n this.minlength = +val;\r\n this.#updateValidator();\r\n }\r\n\r\n maxlength: number;\r\n\r\n @Input('maxlength') set _maxlength(val: number) {\r\n this.maxlength = +val;\r\n this.#updateValidator();\r\n }\r\n\r\n @Output() modelChange = new EventEmitter<string>();\r\n\r\n @Input() placeholder: string = '';\r\n\r\n @Input() styles: any = {height: '250px'};\r\n\r\n formControl = new FormControl();\r\n\r\n @Input() domain = '';\r\n @Input() urlUploadImage: string;\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\r\n @Input() toolbar: any;\r\n @Input() enableHTMLButton = false;\r\n showHtmlEditor = false;\r\n modelHTML: string;\r\n\r\n quillEvent: any;\r\n @Input() mentionValues: { id: string, value: string, link?: string }[];\r\n\r\n quillConfig = {\r\n // toolbar: '.toolbar',\r\n toolbar: {\r\n container: [\r\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\r\n ['blockquote', 'code-block'],\r\n\r\n [{'header': 1}, {'header': 2}], // custom button values\r\n [{'list': 'ordered'}, {'list': 'bullet'}],\r\n [{'script': 'sub'}, {'script': 'super'}], // superscript/subscript\r\n [{'indent': '-1'}, {'indent': '+1'}], // outdent/indent\r\n [{'direction': 'rtl'}], // text direction\r\n\r\n [{'size': ['small', false, 'large', 'huge']}], // custom dropdown\r\n [{'header': [1, 2, 3, 4, 5, 6, false]}],\r\n\r\n [{'color': []}, {'background': []}], // dropdown with defaults from theme\r\n [{'font': []}],\r\n [{'align': []}],\r\n\r\n ['clean'], // remove formatting button\r\n\r\n ['link', 'image', 'video'] // link and image, video\r\n ]\r\n },\r\n mention: {\r\n allowedChars: /^[A-Za-z0-9\\sÅÄÖåäö._-]*$/,\r\n mentionDenotationChars: ['@'],\r\n source: (searchTerm, renderList, mentionChar) => {\r\n if (this.mentionValues) {\r\n let values;\r\n if (mentionChar === '@') {\r\n values = this.mentionValues;\r\n } else {\r\n values = [];\r\n }\r\n\r\n if (searchTerm.length === 0) {\r\n renderList(values, searchTerm);\r\n } else {\r\n const matches = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < values.length; i++) {\r\n // tslint:disable-next-line:no-bitwise\r\n if (~values[i].value.toLowerCase().indexOf(searchTerm.toLowerCase())) {\r\n matches.push(values[i]);\r\n }\r\n }\r\n renderList(matches, searchTerm);\r\n }\r\n }\r\n },\r\n },\r\n keyboard: {\r\n bindings: {\r\n enter: {\r\n key: 13,\r\n handler: (range, context) => {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n textLength: number = 0;\r\n @Output() sdChange = new EventEmitter<string>();\r\n\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n private sdApiService: SdApiService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#name, this.formControl);\r\n if (this.toolbar) {\r\n this.quillConfig.toolbar.container = this.toolbar;\r\n console.log('toolbar', this.quillConfig);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(this.formControl.valueChanges.subscribe((val) => {\r\n this.modelChange.emit(val);\r\n this.sdChange.emit(val);\r\n }));\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 #updateValidator = () => {\r\n this.formControl.clearValidators();\r\n this.formControl.clearAsyncValidators();\r\n const validators: ValidatorFn[] = [];\r\n if (this.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (this.minlength > 0) {\r\n validators.push(Validators.minLength(this.minlength));\r\n }\r\n if (this.maxlength > 0) {\r\n validators.push(Validators.maxLength(this.maxlength));\r\n }\r\n this.formControl.setValidators(validators);\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n editorInit = (quill) => {\r\n this.quillEvent = quill;\r\n // const txtArea = document.createElement('textarea');\r\n // txtArea.style.cssText =\r\n // 'width: 100%;margin: 0px;background: rgb(29, 29, 29);' +\r\n // 'box-sizing: border-box;color: rgb(204, 204, 204);' +\r\n // 'font-size: 15px;outline: none;padding: 20px;' +\r\n // 'line-height: 24px;font-family: Consolas, Menlo, Monaco, "Courier New", monospace;' +\r\n // 'position: absolute;top: 0;bottom: 0;border: none;display:none';\r\n\r\n // const htmlEditor = quill.addContainer('ql-custom');\r\n // htmlEditor.appendChild(txtArea);\r\n\r\n // const myEditor = quill.container;\r\n // quill.on('text-change', (delta, oldDelta, source) => {\r\n // const html = myEditor.children[0].innerHTML;\r\n // txtArea.value = html;\r\n // // if (quill.getLength() > this.maxlength) {\r\n // // quill.deleteText(this.maxlength, quill.getLength());\r\n // // }\r\n // // this.formControl.setValue(html);\r\n // });\r\n\r\n const self = this;\r\n quill.getModule('toolbar').addHandler('image', function () {\r\n let fileInput = this.container.querySelector('input.ql-image[type=file]');\r\n\r\n if (fileInput == null) {\r\n fileInput = document.createElement('input');\r\n fileInput.setAttribute('type', Constants.FILE);\r\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\r\n fileInput.classList.add('ql-image');\r\n fileInput.addEventListener('change', () => {\r\n const files = fileInput.files;\r\n const range = this.quill.getSelection(true);\r\n if (!files || !files.length) {\r\n return;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(Constants.FILE, files[0]);\r\n\r\n this.quill.enable(false);\r\n /*this.apiService.post(this.domain + this.urlUploadImage, formData).subscribe((resp: any) => {\r\n this.quill.enable(true);\r\n this.quill.editor.insertEmbed(range.index, 'image', resp.data.imageUrl || resp.data.publish_url || resp.url);\r\n const content = this.quill.getContents();\r\n this.quill.setContents(content);\r\n this.quill.setSelection(range.index + 1, 'silent');\r\n fileInput.value = '';\r\n });*/\r\n self.#uploadImage(formData, quill, range, fileInput);\r\n });\r\n this.container.appendChild(fileInput);\r\n }\r\n fileInput.click();\r\n });\r\n }\r\n\r\n onModelChange = (val: string) => {\r\n this.formControl.setValue(val);\r\n this.modelHTML = val;\r\n }\r\n\r\n onClickShowHtmlEditor = () => {\r\n this.showHtmlEditor = !this.showHtmlEditor;\r\n }\r\n\r\n #uploadImage = (formData, quill, range, fileInput) => {\r\n if (!this.urlUploadImage) {\r\n this.urlUploadImage = '/partner/v2/merchandise/file/uploaduserfile';\r\n }\r\n // this.domain = 'https://api-commerce-qc.vinid.dev';\r\n this.sdApiService.post(this.urlUploadImage, formData).then((resp: any) => {\r\n quill.enable(true);\r\n // quill.editor.insertEmbed(range.index, 'image', resp?.data?.imageUrl || resp?.data?.publish_url || resp?.url || '');\r\n quill.getModule('clipboard').dangerouslyPasteHTML(range.index, '<a target=\"_blank\" href=\"' + (resp?.data?.imageUrl || resp?.data?.publish_url || resp?.url || '')\r\n + '\"><img src=\"' + (resp?.data?.imageUrl || resp?.data?.publish_url || resp?.url || '') + '\" alt=\"c-image-editor-quill\"></a>', 'user');\r\n // quill.insertText();\r\n const content = quill.getContents();\r\n quill.setContents(content);\r\n quill.setSelection(range.index + 1, 'user');\r\n fileInput.value = '';\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SdEditor } from './editor.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport {SdButtonModule} from '@sd-angular/core/button';\r\nimport {SdTextareaModule} from '@sd-angular/core/textarea';\r\nimport {SdApiModule, SdApiService} from '@sd-angular/core/api';\r\n\r\n@NgModule({\r\n declarations: [SdEditor],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n QuillModule.forRoot(),\r\n SdTranslateModule,\r\n SdButtonModule,\r\n SdTextareaModule,\r\n SdApiModule\r\n ],\r\n exports: [SdEditor],\r\n providers: [],\r\n})\r\nexport class SdEditorModule { }\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/editor.module';\r\nexport * from './lib/constant';\r\nexport * from './lib/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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"}
|
|
@@ -2,7 +2,7 @@ import { InjectionToken, ɵɵdefineInjectable, ɵɵinject, Injectable, Inject, O
|
|
|
2
2
|
import { __awaiter, __classPrivateFieldGet } from 'tslib';
|
|
3
3
|
import { SdApiService } from '@sd-angular/core/api';
|
|
4
4
|
import { v4 } from 'uuid';
|
|
5
|
-
import
|
|
5
|
+
import hash from 'object-hash';
|
|
6
6
|
import { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';
|
|
7
7
|
import { SdNotifyService } from '@sd-angular/core/notify';
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-angular-core-export.js","sources":["../../../../projects/sd-core/export/src/lib/export.model.ts","../../../../projects/sd-core/export/src/lib/export.service.ts","../../../../projects/sd-core/export/src/public-api.ts","../../../../projects/sd-core/export/sd-angular-core-export.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ExportTemplate {\r\n fileName?: string;\r\n columns: ExportTempateColumn[];\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface ExportTempateColumn {\r\n field: string;\r\n title: string;\r\n required?: boolean;\r\n color?: string;\r\n width?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface SdExportFile {\r\n fileName?: string;\r\n filePath?: string;\r\n}\r\n\r\nexport interface SdExportColumn {\r\n field: string;\r\n title: string;\r\n description?: string;\r\n width?: string;\r\n}\r\n\r\nexport interface IExportOption {\r\n columns: ExportTempateColumn[];\r\n items: any[];\r\n fileName?: string;\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface IBigExportRequest {\r\n filePath?: string;\r\n destination?: string;\r\n latestRow: number;\r\n columns: {\r\n field: string,\r\n title: string,\r\n description?: string,\r\n width?: string,\r\n }[];\r\n items: any[];\r\n}\r\n\r\nexport interface IBigExportResponse {\r\n filePath: string;\r\n destination: string;\r\n latestRow: number;\r\n}\r\n\r\nexport interface IExportConfiguration {\r\n firebaseUrl: string;\r\n folder: string | (() => string);\r\n token?: string;\r\n user?: {\r\n folder: string | (() => string);\r\n }\r\n groups?: {\r\n code: string;\r\n folder: string | (() => string);\r\n permission: GroupPermission | (() => GroupPermission);\r\n }[];\r\n}\r\n\r\nexport type GroupPermission = 'view' | 'add' | 'delete';\r\n\r\nexport const API = {\r\n generateTemplate: '/excel/generateTemplate',\r\n uploadTemplate: '/excel/uploadTemplate',\r\n generateUploadTemplate: '/excel/generateUploadTemplate',\r\n export: '/excel/export',\r\n downloadByTemplate: '/excel/downloadByTemplate',\r\n filesInFolder: '/excel/filesInFolder',\r\n removeFile: '/excel/remove',\r\n sdExport: '/excel/sd-export',\r\n sdExportByTemplate: '/excel/sd-export-by-template'\r\n};\r\n\r\nexport const EXPORT_CONFIG = new InjectionToken<IExportConfiguration>('export.configuration');\r\n","import { Optional } from '@angular/core';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SdApiService } from '@sd-angular/core/api';\r\nimport * as uuid from 'uuid';\r\nimport * as hash from 'object-hash';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport { ExportTemplate, IExportConfiguration, EXPORT_CONFIG, IExportOption, API, SdExportFile } from './export.model';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdExportService {\r\n get hasConfiguration() {\r\n return !!this.configuration?.firebaseUrl;\r\n }\r\n constructor(\r\n private apiService: SdApiService,\r\n private notifyService: SdNotifyService,\r\n @Inject(EXPORT_CONFIG) @Optional() private configuration: IExportConfiguration) {\r\n }\r\n\r\n private get folder() {\r\n const { folder } = this.configuration;\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n private get userFolder() {\r\n const { user } = this.configuration;\r\n if (!user?.folder) {\r\n return;\r\n }\r\n const { folder } = user;\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n #directory = (key: string, group: string) => {\r\n let hashedFolder = hash({\r\n folder: this.folder,\r\n userFolder: this.userFolder\r\n });\r\n if (!group) {\r\n return `dir1=${this.folder}&dir2=U-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n hashedFolder = hash({\r\n folder: this.folder,\r\n group\r\n });\r\n return `dir1=${this.folder}&dir2=G-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n\r\n generateTemplate = async (template: ExportTemplate) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { generateTemplate } = API;\r\n const url = `${firebaseUrl}${generateTemplate}`;\r\n const { filePath, fileName } = await this.apiService.post(url, template);\r\n return { filePath, fileName };\r\n }\r\n\r\n uploadTemplate = async (args: {\r\n key: string;\r\n group?: string;\r\n validator?: (fileName: string) => string\r\n }): Promise<SdExportFile> => {\r\n const { key, group, validator } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { uploadTemplate } = API;\r\n const url = `${firebaseUrl}${uploadTemplate}?${this.#directory(key, group)}`;\r\n const { filePath, fileName } = await this.apiService.uploadSingle(url, {\r\n extensions: ['xlsx'],\r\n maxSizeInMb: 0.1,\r\n validator\r\n }).catch((err: Error) => {\r\n this.notifyService.notify.warning(err?.message);\r\n throw err;\r\n });\r\n return {\r\n filePath,\r\n fileName,\r\n };\r\n }\r\n\r\n generateUploadTemplate = async (args: {\r\n key: string;\r\n template: ExportTemplate;\r\n group?: string;\r\n }) => {\r\n const { key, template, group } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { generateUploadTemplate } = API;\r\n const url = `${firebaseUrl}${generateUploadTemplate}?${this.#directory(key, group)}`;\r\n const { filePath, fileName } = await this.apiService.post(url, template);\r\n return { filePath, fileName };\r\n }\r\n\r\n removeFile = async (args: {\r\n key: string;\r\n group?: string;\r\n fileName?: string;\r\n }) => {\r\n const { key, group, fileName } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { removeFile } = API;\r\n const url = `${firebaseUrl}${removeFile}?${this.#directory(key, group)}&name=${fileName}`;\r\n await this.apiService.post(url);\r\n }\r\n\r\n filesInFolder = async (args: {\r\n key: string;\r\n group?: string;\r\n }): Promise<SdExportFile[]> => {\r\n interface FilesInFolderRes {\r\n directory: string;\r\n files: {\r\n publicUrl: string, fullPath: string, name: string\r\n }[];\r\n }\r\n const { key, group } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { filesInFolder } = API;\r\n const url = `${firebaseUrl}${filesInFolder}?${this.#directory(key, group)}`;\r\n const res = await this.apiService.get<FilesInFolderRes>(url);\r\n return res.files?.map(e => ({\r\n filePath: e.publicUrl,\r\n fileName: e.name\r\n })) || [];\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}.xlsx`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n exportByTemplate = async (args: {\r\n filePath: string,\r\n columns: any[],\r\n items: any[],\r\n fileName?: string\r\n }) => {\r\n const { filePath, columns, items, fileName } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { sdExportByTemplate } = API;\r\n const url = `${firebaseUrl}${sdExportByTemplate}`;\r\n const buffer = await this.apiService.post(url, {\r\n filePath,\r\n columns,\r\n items,\r\n fileName\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, fileName);\r\n }\r\n\r\n export = async (option: IExportOption) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { sdExport } = API;\r\n const url = `${firebaseUrl}${sdExport}`;\r\n const buffer = await this.apiService.post(url, option, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, option?.fileName);\r\n }\r\n\r\n exportCSV = async (option: IExportOption) => {\r\n const { columns, items, fileName } = option;\r\n const options = {\r\n fieldSeparator: ',',\r\n quoteStrings: '\"',\r\n decimalseparator: '.',\r\n showLabels: true,\r\n showTitle: false,\r\n title: fileName || 'CSV',\r\n useBom: true,\r\n noDownload: false,\r\n useHeader: false,\r\n nullToEmptyString: true,\r\n };\r\n const headerCSV = {};\r\n for (const column of columns) {\r\n headerCSV[column.field] = column.title;\r\n }\r\n return new AngularCsv([...[headerCSV], ...items], `${fileName || 'CSV'}_${Date.toFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss')}`, options);\r\n }\r\n\r\n #blobToSaveAs = (blob: Blob, fileName: string = 'Export') => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n fileName = fileName.replace(/.xlsx/i, '');\r\n if (link.download !== undefined) { // feature detection\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', `${fileName}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n }\r\n}\r\n\r\nexport interface IExportInfo {\r\n data: any[];\r\n sheetName?: string;\r\n fileName?: string;\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/export.model';\r\nexport * from './lib/export.service';\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-export.js","sources":["../../../../projects/sd-core/export/src/lib/export.model.ts","../../../../projects/sd-core/export/src/lib/export.service.ts","../../../../projects/sd-core/export/src/public-api.ts","../../../../projects/sd-core/export/sd-angular-core-export.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ExportTemplate {\r\n fileName?: string;\r\n columns: ExportTempateColumn[];\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface ExportTempateColumn {\r\n field: string;\r\n title: string;\r\n required?: boolean;\r\n color?: string;\r\n width?: string;\r\n description?: string;\r\n}\r\n\r\nexport interface SdExportFile {\r\n fileName?: string;\r\n filePath?: string;\r\n}\r\n\r\nexport interface SdExportColumn {\r\n field: string;\r\n title: string;\r\n description?: string;\r\n width?: string;\r\n}\r\n\r\nexport interface IExportOption {\r\n columns: ExportTempateColumn[];\r\n items: any[];\r\n fileName?: string;\r\n sheets?: {\r\n name: string,\r\n items: any[],\r\n fields: string[]\r\n }[];\r\n}\r\n\r\nexport interface IBigExportRequest {\r\n filePath?: string;\r\n destination?: string;\r\n latestRow: number;\r\n columns: {\r\n field: string,\r\n title: string,\r\n description?: string,\r\n width?: string,\r\n }[];\r\n items: any[];\r\n}\r\n\r\nexport interface IBigExportResponse {\r\n filePath: string;\r\n destination: string;\r\n latestRow: number;\r\n}\r\n\r\nexport interface IExportConfiguration {\r\n firebaseUrl: string;\r\n folder: string | (() => string);\r\n token?: string;\r\n user?: {\r\n folder: string | (() => string);\r\n }\r\n groups?: {\r\n code: string;\r\n folder: string | (() => string);\r\n permission: GroupPermission | (() => GroupPermission);\r\n }[];\r\n}\r\n\r\nexport type GroupPermission = 'view' | 'add' | 'delete';\r\n\r\nexport const API = {\r\n generateTemplate: '/excel/generateTemplate',\r\n uploadTemplate: '/excel/uploadTemplate',\r\n generateUploadTemplate: '/excel/generateUploadTemplate',\r\n export: '/excel/export',\r\n downloadByTemplate: '/excel/downloadByTemplate',\r\n filesInFolder: '/excel/filesInFolder',\r\n removeFile: '/excel/remove',\r\n sdExport: '/excel/sd-export',\r\n sdExportByTemplate: '/excel/sd-export-by-template'\r\n};\r\n\r\nexport const EXPORT_CONFIG = new InjectionToken<IExportConfiguration>('export.configuration');\r\n","import { Optional } from '@angular/core';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SdApiService } from '@sd-angular/core/api';\r\nimport * as uuid from 'uuid';\r\nimport hash from 'object-hash';\r\nimport { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';\r\nimport { ExportTemplate, IExportConfiguration, EXPORT_CONFIG, IExportOption, API, SdExportFile } from './export.model';\r\nimport { SdNotifyService } from '@sd-angular/core/notify';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdExportService {\r\n get hasConfiguration() {\r\n return !!this.configuration?.firebaseUrl;\r\n }\r\n constructor(\r\n private apiService: SdApiService,\r\n private notifyService: SdNotifyService,\r\n @Inject(EXPORT_CONFIG) @Optional() private configuration: IExportConfiguration) {\r\n }\r\n\r\n private get folder() {\r\n const { folder } = this.configuration;\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n private get userFolder() {\r\n const { user } = this.configuration;\r\n if (!user?.folder) {\r\n return;\r\n }\r\n const { folder } = user;\r\n if (typeof (folder) === 'string') {\r\n return folder;\r\n }\r\n return folder();\r\n }\r\n\r\n #directory = (key: string, group: string) => {\r\n let hashedFolder = hash({\r\n folder: this.folder,\r\n userFolder: this.userFolder\r\n });\r\n if (!group) {\r\n return `dir1=${this.folder}&dir2=U-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n hashedFolder = hash({\r\n folder: this.folder,\r\n group\r\n });\r\n return `dir1=${this.folder}&dir2=G-${hashedFolder}&dir3=${key || ''}`;\r\n }\r\n\r\n generateTemplate = async (template: ExportTemplate) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { generateTemplate } = API;\r\n const url = `${firebaseUrl}${generateTemplate}`;\r\n const { filePath, fileName } = await this.apiService.post(url, template);\r\n return { filePath, fileName };\r\n }\r\n\r\n uploadTemplate = async (args: {\r\n key: string;\r\n group?: string;\r\n validator?: (fileName: string) => string\r\n }): Promise<SdExportFile> => {\r\n const { key, group, validator } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { uploadTemplate } = API;\r\n const url = `${firebaseUrl}${uploadTemplate}?${this.#directory(key, group)}`;\r\n const { filePath, fileName } = await this.apiService.uploadSingle(url, {\r\n extensions: ['xlsx'],\r\n maxSizeInMb: 0.1,\r\n validator\r\n }).catch((err: Error) => {\r\n this.notifyService.notify.warning(err?.message);\r\n throw err;\r\n });\r\n return {\r\n filePath,\r\n fileName,\r\n };\r\n }\r\n\r\n generateUploadTemplate = async (args: {\r\n key: string;\r\n template: ExportTemplate;\r\n group?: string;\r\n }) => {\r\n const { key, template, group } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { generateUploadTemplate } = API;\r\n const url = `${firebaseUrl}${generateUploadTemplate}?${this.#directory(key, group)}`;\r\n const { filePath, fileName } = await this.apiService.post(url, template);\r\n return { filePath, fileName };\r\n }\r\n\r\n removeFile = async (args: {\r\n key: string;\r\n group?: string;\r\n fileName?: string;\r\n }) => {\r\n const { key, group, fileName } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { removeFile } = API;\r\n const url = `${firebaseUrl}${removeFile}?${this.#directory(key, group)}&name=${fileName}`;\r\n await this.apiService.post(url);\r\n }\r\n\r\n filesInFolder = async (args: {\r\n key: string;\r\n group?: string;\r\n }): Promise<SdExportFile[]> => {\r\n interface FilesInFolderRes {\r\n directory: string;\r\n files: {\r\n publicUrl: string, fullPath: string, name: string\r\n }[];\r\n }\r\n const { key, group } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { filesInFolder } = API;\r\n const url = `${firebaseUrl}${filesInFolder}?${this.#directory(key, group)}`;\r\n const res = await this.apiService.get<FilesInFolderRes>(url);\r\n return res.files?.map(e => ({\r\n filePath: e.publicUrl,\r\n fileName: e.name\r\n })) || [];\r\n }\r\n\r\n download = (filePath: string, fileName?: string) => {\r\n const link: any = document.createElement('a');\r\n link.download = `${fileName || uuid.v4()}.xlsx`;\r\n link.href = filePath;\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n exportByTemplate = async (args: {\r\n filePath: string,\r\n columns: any[],\r\n items: any[],\r\n fileName?: string\r\n }) => {\r\n const { filePath, columns, items, fileName } = args;\r\n const { firebaseUrl } = this.configuration;\r\n const { sdExportByTemplate } = API;\r\n const url = `${firebaseUrl}${sdExportByTemplate}`;\r\n const buffer = await this.apiService.post(url, {\r\n filePath,\r\n columns,\r\n items,\r\n fileName\r\n }, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, fileName);\r\n }\r\n\r\n export = async (option: IExportOption) => {\r\n const { firebaseUrl } = this.configuration;\r\n const { sdExport } = API;\r\n const url = `${firebaseUrl}${sdExport}`;\r\n const buffer = await this.apiService.post(url, option, null, {\r\n responseType: 'arraybuffer'\r\n });\r\n const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' });\r\n this.#blobToSaveAs(blob, option?.fileName);\r\n }\r\n\r\n exportCSV = async (option: IExportOption) => {\r\n const { columns, items, fileName } = option;\r\n const options = {\r\n fieldSeparator: ',',\r\n quoteStrings: '\"',\r\n decimalseparator: '.',\r\n showLabels: true,\r\n showTitle: false,\r\n title: fileName || 'CSV',\r\n useBom: true,\r\n noDownload: false,\r\n useHeader: false,\r\n nullToEmptyString: true,\r\n };\r\n const headerCSV = {};\r\n for (const column of columns) {\r\n headerCSV[column.field] = column.title;\r\n }\r\n return new AngularCsv([...[headerCSV], ...items], `${fileName || 'CSV'}_${Date.toFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss')}`, options);\r\n }\r\n\r\n #blobToSaveAs = (blob: Blob, fileName: string = 'Export') => {\r\n try {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n fileName = fileName.replace(/.xlsx/i, '');\r\n if (link.download !== undefined) { // feature detection\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', `${fileName}_${new Date().toFormat('yyyy_MM_dd_HH_mm')}`);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n } catch (e) {\r\n console.error('BlobToSaveAs error', e);\r\n }\r\n }\r\n}\r\n\r\nexport interface IExportInfo {\r\n data: any[];\r\n sheetName?: string;\r\n fileName?: string;\r\n}\r\n","/*\r\n * Public API Surface of superdev-angular-core\r\n */\r\n\r\nexport * from './lib/export.model';\r\nexport * from './lib/export.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid.v4"],"mappings":"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"}
|
|
@@ -15,11 +15,8 @@ import '@sd-angular/core/image-preview';
|
|
|
15
15
|
import '@sd-angular/core/comment';
|
|
16
16
|
import '@sd-angular/core/filter';
|
|
17
17
|
import '@sd-angular/core/modal-resizable';
|
|
18
|
-
import { NgModule
|
|
19
|
-
import { CommonModule
|
|
20
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
21
|
-
import { NG_VALIDATORS, NG_ASYNC_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
22
|
-
import { CKEditorModule } from 'ckeditor4-angular';
|
|
18
|
+
import { NgModule } from '@angular/core';
|
|
19
|
+
import { CommonModule } from '@angular/common';
|
|
23
20
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
24
21
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
25
22
|
import { MatInputModule } from '@angular/material/input';
|
|
@@ -39,7 +36,6 @@ import { MatExpansionModule } from '@angular/material/expansion';
|
|
|
39
36
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
40
37
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
41
38
|
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
42
|
-
import { DeviceDetectorService, DeviceDetectorModule } from 'ngx-device-detector';
|
|
43
39
|
import { SdServiceModule } from '@sd-angular/core/service';
|
|
44
40
|
export * from '@sd-angular/core/service';
|
|
45
41
|
import { SdChartModule } from '@sd-angular/core/chart';
|
|
@@ -50,11 +46,6 @@ import { SdEditorModule } from '@sd-angular/core/editor';
|
|
|
50
46
|
export * from '@sd-angular/core/editor';
|
|
51
47
|
import { SdKonvaModule } from '@sd-angular/core/konva';
|
|
52
48
|
export * from '@sd-angular/core/konva';
|
|
53
|
-
import { v4 } from 'uuid';
|
|
54
|
-
import $ from 'jquery';
|
|
55
|
-
import 'jquery-datetimepicker';
|
|
56
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
57
|
-
import { __awaiter } from 'tslib';
|
|
58
49
|
import { SdUploadExcelModule } from '@sd-angular/core/upload-excel';
|
|
59
50
|
export * from '@sd-angular/core/upload-excel';
|
|
60
51
|
import { SdGridModule } from '@sd-angular/core/grid';
|
|
@@ -127,350 +118,13 @@ MaterialModule.decorators = [
|
|
|
127
118
|
},] }
|
|
128
119
|
];
|
|
129
120
|
|
|
130
|
-
class SdDatePipe {
|
|
131
|
-
transform(value, format) {
|
|
132
|
-
if (!Date.isDate(value)) {
|
|
133
|
-
return value;
|
|
134
|
-
}
|
|
135
|
-
return Date.toFormat(value, format);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
SdDatePipe.decorators = [
|
|
139
|
-
{ type: Pipe, args: [{
|
|
140
|
-
name: 'sdDate'
|
|
141
|
-
},] }
|
|
142
|
-
];
|
|
143
|
-
|
|
144
|
-
// Document: https://xdsoft.net/jqplugins/datetimepicker/
|
|
145
|
-
class DatePickerControlComponent {
|
|
146
|
-
constructor(ref, deviceService) {
|
|
147
|
-
this.ref = ref;
|
|
148
|
-
this.isMobileOrTablet = false;
|
|
149
|
-
this.initialized = false;
|
|
150
|
-
this.pMinDate = null;
|
|
151
|
-
this.pMaxDate = null;
|
|
152
|
-
this.name = v4();
|
|
153
|
-
this.type = 'datetime';
|
|
154
|
-
this.disabled = false;
|
|
155
|
-
this.required = false;
|
|
156
|
-
this.sdChange = new EventEmitter();
|
|
157
|
-
this.modelChange = new EventEmitter();
|
|
158
|
-
this.onFocus = () => {
|
|
159
|
-
if (this.isMobileOrTablet) {
|
|
160
|
-
$(this.control.nativeElement).trigger('blur');
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
this.onChanges = () => {
|
|
164
|
-
this.date = this.pDate;
|
|
165
|
-
};
|
|
166
|
-
this.isMobileOrTablet = !deviceService.isDesktop();
|
|
167
|
-
}
|
|
168
|
-
set minDate(date) {
|
|
169
|
-
if (!Date.isDate(date)) {
|
|
170
|
-
this.pMinDate = null;
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
this.pMinDate = Date.toFormat(date, 'yyyy/MM/dd HH:mm');
|
|
174
|
-
}
|
|
175
|
-
this.setOption();
|
|
176
|
-
}
|
|
177
|
-
set maxDate(date) {
|
|
178
|
-
if (!Date.isDate(date)) {
|
|
179
|
-
this.pMaxDate = null;
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
this.pMaxDate = Date.toFormat(date, 'yyyy/MM/dd HH:mm'); // this.datePipe.transform(date, 'yyyy/MM/dd HH:mm');
|
|
183
|
-
}
|
|
184
|
-
this.setOption();
|
|
185
|
-
}
|
|
186
|
-
set model(val) {
|
|
187
|
-
if (!Date.isDate(val)) {
|
|
188
|
-
this.pDate = null;
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
if (this.type === 'datetime') {
|
|
192
|
-
this.pDate = Date.toFormat(val, 'dd/MM/yyyy HH:mm');
|
|
193
|
-
}
|
|
194
|
-
else if (this.type === 'date') {
|
|
195
|
-
this.pDate = Date.toFormat(val, 'dd/MM/yyyy');
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
this.pDate = Date.toFormat(val, 'HH:mm');
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
if (this.initialized) {
|
|
202
|
-
this.onChanges();
|
|
203
|
-
}
|
|
204
|
-
this.ref.detectChanges();
|
|
205
|
-
}
|
|
206
|
-
ngOnDestroy() {
|
|
207
|
-
var _a;
|
|
208
|
-
(_a = this.form) === null || _a === void 0 ? void 0 : _a.removeControl(this.formModel);
|
|
209
|
-
}
|
|
210
|
-
ngAfterViewInit() {
|
|
211
|
-
var _a;
|
|
212
|
-
(_a = this.form) === null || _a === void 0 ? void 0 : _a.addControl(this.formModel);
|
|
213
|
-
this.onChanges();
|
|
214
|
-
this.initialized = true;
|
|
215
|
-
this.setOption();
|
|
216
|
-
this.ref.detectChanges();
|
|
217
|
-
}
|
|
218
|
-
setOption() {
|
|
219
|
-
if (this.initialized) {
|
|
220
|
-
$(this.control.nativeElement).datetimepicker({
|
|
221
|
-
datepicker: this.type === 'datetime' || this.type === 'date',
|
|
222
|
-
timepicker: this.type === 'datetime' || this.type === 'time',
|
|
223
|
-
format: this.type === 'datetime' ? 'd/m/Y H:i' : (this.type === 'date' ? 'd/m/Y' : 'H:i'),
|
|
224
|
-
step: 15,
|
|
225
|
-
minDate: this.pMinDate || undefined,
|
|
226
|
-
maxDate: this.pMaxDate || undefined,
|
|
227
|
-
scrollMonth: false,
|
|
228
|
-
scrollTime: false,
|
|
229
|
-
scrollInput: false,
|
|
230
|
-
onChangeDateTime: (date) => {
|
|
231
|
-
if (!date && !this.date) {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
if (this.type === 'datetime') {
|
|
235
|
-
date = Date.toFormat(date, 'dd/MM/yyyy HH:mm');
|
|
236
|
-
}
|
|
237
|
-
else if (this.type === 'time') {
|
|
238
|
-
date = Date.toFormat(date, 'HH:mm');
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
date = Date.toFormat(date, 'dd/MM/yyyy');
|
|
242
|
-
}
|
|
243
|
-
if (!this.equal(date, this.date)) {
|
|
244
|
-
this.model = this.parse(date);
|
|
245
|
-
this.modelChange.emit(this.parse(date));
|
|
246
|
-
this.sdChange.emit(this.parse(date));
|
|
247
|
-
}
|
|
248
|
-
this.ref.detectChanges();
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
parse(date) {
|
|
254
|
-
if (this.type === 'date') {
|
|
255
|
-
return Date.parseFrom(date, 'dd/MM/yyyy');
|
|
256
|
-
}
|
|
257
|
-
else if (this.type === 'time') {
|
|
258
|
-
return Date.parseFrom(date, 'HH:mm');
|
|
259
|
-
}
|
|
260
|
-
return Date.parseFrom(date, 'dd/MM/yyyy HH:mm');
|
|
261
|
-
}
|
|
262
|
-
equal(date1, date2) {
|
|
263
|
-
return Date.equal(this.parse(date1), this.parse(date2));
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
DatePickerControlComponent.decorators = [
|
|
267
|
-
{ type: Component, args: [{
|
|
268
|
-
selector: 'sd-date-picker-control',
|
|
269
|
-
template: "<mat-form-field appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <input #formModel=\"ngModel\" [name]=\"name\" autocomplete=\"off\" #control matInput\r\n placeholder=\"{{placeholder || label}}\" [ngModel]=\"date\" (focus)=\"onFocus()\" [required]=\"required\" [disabled]=\"disabled\"\r\n [sdMinDate]=\"pMinDate\" [sdMaxDate]=\"pMaxDate\" [sdCustomValidator]=\"validator\" autocomplete=\"off\">\r\n <mat-icon *ngIf=\"type !== 'time'\" matSuffix>date_range</mat-icon>\r\n <mat-icon *ngIf=\"type === 'time'\" matSuffix>schedule</mat-icon>\r\n <!-- <i matSuffix class=\"fa\" [ngClass]=\"{'fa-clock-o':type === 'time', 'fa-calendar':type !== 'time'}\"></i> -->\r\n <mat-error *ngIf=\"formModel?.errors?.required\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formModel?.errors?.minDate\">\r\n {{'Min date' | sdTranslate}}: <strong>{{pMinDate | date:'dd/MM/yyyy HH:mm'}}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"formModel?.errors?.maxDate\">\r\n {{'Max date' | sdTranslate}}: <strong>{{pMaxDate | date:'dd/MM/yyyy HH:mm'}}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"formModel?.errors?.customValidator\">\r\n <strong>{{formModel?.errors?.customValidator}}</strong>\r\n </mat-error>\r\n</mat-form-field>",
|
|
270
|
-
encapsulation: ViewEncapsulation.None,
|
|
271
|
-
styles: [".xdsoft_datetimepicker{z-index:99999}"]
|
|
272
|
-
},] }
|
|
273
|
-
];
|
|
274
|
-
DatePickerControlComponent.ctorParameters = () => [
|
|
275
|
-
{ type: ChangeDetectorRef },
|
|
276
|
-
{ type: DeviceDetectorService }
|
|
277
|
-
];
|
|
278
|
-
DatePickerControlComponent.propDecorators = {
|
|
279
|
-
form: [{ type: Input }],
|
|
280
|
-
type: [{ type: Input }],
|
|
281
|
-
disabled: [{ type: Input }],
|
|
282
|
-
required: [{ type: Input }],
|
|
283
|
-
label: [{ type: Input }],
|
|
284
|
-
placeholder: [{ type: Input }],
|
|
285
|
-
minDate: [{ type: Input }],
|
|
286
|
-
maxDate: [{ type: Input }],
|
|
287
|
-
validator: [{ type: Input }],
|
|
288
|
-
sdChange: [{ type: Output }],
|
|
289
|
-
model: [{ type: Input }],
|
|
290
|
-
modelChange: [{ type: Output }],
|
|
291
|
-
control: [{ type: ViewChild, args: ['control',] }],
|
|
292
|
-
formModel: [{ type: ViewChild, args: ['formModel',] }]
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
class CkeditorControlComponent {
|
|
296
|
-
constructor(ref, sanitizer) {
|
|
297
|
-
this.ref = ref;
|
|
298
|
-
this.sanitizer = sanitizer;
|
|
299
|
-
this.disabled = false;
|
|
300
|
-
this.required = false;
|
|
301
|
-
this.modelChange = new EventEmitter();
|
|
302
|
-
// tslint:disable-next-line: no-output-native
|
|
303
|
-
this.change = new EventEmitter();
|
|
304
|
-
this.sdChange = new EventEmitter();
|
|
305
|
-
this.editorUrl = '../../assets/ckeditor/ckeditor.js';
|
|
306
|
-
}
|
|
307
|
-
set model(value) {
|
|
308
|
-
this.cModel = value;
|
|
309
|
-
this.ref.detectChanges();
|
|
310
|
-
}
|
|
311
|
-
set config(value) {
|
|
312
|
-
this.cConfig = value;
|
|
313
|
-
this.ref.detectChanges();
|
|
314
|
-
}
|
|
315
|
-
ngOnInit() {
|
|
316
|
-
}
|
|
317
|
-
onChange(value) {
|
|
318
|
-
this.model = value;
|
|
319
|
-
this.modelChange.emit(value);
|
|
320
|
-
this.change.emit(value);
|
|
321
|
-
this.sdChange.emit(value);
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
CkeditorControlComponent.decorators = [
|
|
325
|
-
{ type: Component, args: [{
|
|
326
|
-
selector: 'sd-ckeditor-control',
|
|
327
|
-
template: "\r\n<label *ngIf=\"label\" class=\"T14M d-block\">{{label}} <span *ngIf=\"required\" class=\"text-danger\">*</span></label>\r\n<ckeditor [ngModel]=\"cModel\" (ngModelChange)=\"onChange($event)\" [config]=\"cConfig\" [readOnly]=\"disabled\" [editorUrl]=\"editorUrl\"></ckeditor>",
|
|
328
|
-
styles: [":host ::ng-deep .ck-editor__editable{min-height:500px}"]
|
|
329
|
-
},] }
|
|
330
|
-
];
|
|
331
|
-
CkeditorControlComponent.ctorParameters = () => [
|
|
332
|
-
{ type: ChangeDetectorRef },
|
|
333
|
-
{ type: DomSanitizer }
|
|
334
|
-
];
|
|
335
|
-
CkeditorControlComponent.propDecorators = {
|
|
336
|
-
label: [{ type: Input }],
|
|
337
|
-
disabled: [{ type: Input }],
|
|
338
|
-
required: [{ type: Input }],
|
|
339
|
-
model: [{ type: Input }],
|
|
340
|
-
config: [{ type: Input }],
|
|
341
|
-
modelChange: [{ type: Output }],
|
|
342
|
-
change: [{ type: Output }],
|
|
343
|
-
sdChange: [{ type: Output }]
|
|
344
|
-
};
|
|
345
|
-
|
|
346
|
-
class SdMinDateValidator {
|
|
347
|
-
validate(c) {
|
|
348
|
-
const date = c.value || null;
|
|
349
|
-
const minDate = this.minDate || null;
|
|
350
|
-
if (!date) {
|
|
351
|
-
return null;
|
|
352
|
-
}
|
|
353
|
-
if (!minDate) {
|
|
354
|
-
return null;
|
|
355
|
-
}
|
|
356
|
-
if (new Date(Date.parseFrom(date, 'dd/MM/yyyy HH:mm')).getTime() < new Date(minDate).getTime()) {
|
|
357
|
-
return {
|
|
358
|
-
minDate: true
|
|
359
|
-
};
|
|
360
|
-
}
|
|
361
|
-
return null;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
SdMinDateValidator.decorators = [
|
|
365
|
-
{ type: Directive, args: [{
|
|
366
|
-
selector: '[sdMinDate]',
|
|
367
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: SdMinDateValidator, multi: true }]
|
|
368
|
-
},] }
|
|
369
|
-
];
|
|
370
|
-
SdMinDateValidator.propDecorators = {
|
|
371
|
-
minDate: [{ type: Input, args: ['sdMinDate',] }]
|
|
372
|
-
};
|
|
373
|
-
|
|
374
|
-
class SdMaxDateValidator {
|
|
375
|
-
validate(c) {
|
|
376
|
-
const date = c.value || null;
|
|
377
|
-
const maxDate = this.maxDate || null;
|
|
378
|
-
if (!date) {
|
|
379
|
-
return null;
|
|
380
|
-
}
|
|
381
|
-
if (!maxDate) {
|
|
382
|
-
return null;
|
|
383
|
-
}
|
|
384
|
-
if (new Date(Date.parseFrom(date, 'dd/MM/yyyy HH:mm')).getTime() > new Date(maxDate).getTime()) {
|
|
385
|
-
return {
|
|
386
|
-
maxDate: true
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
return null;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
SdMaxDateValidator.decorators = [
|
|
393
|
-
{ type: Directive, args: [{
|
|
394
|
-
selector: '[sdMaxDate]',
|
|
395
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: SdMaxDateValidator, multi: true }]
|
|
396
|
-
},] }
|
|
397
|
-
];
|
|
398
|
-
SdMaxDateValidator.propDecorators = {
|
|
399
|
-
maxDate: [{ type: Input, args: ['sdMaxDate',] }]
|
|
400
|
-
};
|
|
401
|
-
|
|
402
|
-
class SdCustomValidator {
|
|
403
|
-
validate(c) {
|
|
404
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
405
|
-
const value = c.value || null;
|
|
406
|
-
if (this.func && typeof (this.func) === 'function') {
|
|
407
|
-
const result = this.func(value);
|
|
408
|
-
if (result instanceof Promise) {
|
|
409
|
-
const message = yield result;
|
|
410
|
-
if (message) {
|
|
411
|
-
return {
|
|
412
|
-
customValidator: message
|
|
413
|
-
};
|
|
414
|
-
}
|
|
415
|
-
return null;
|
|
416
|
-
}
|
|
417
|
-
if (result) {
|
|
418
|
-
return {
|
|
419
|
-
customValidator: result
|
|
420
|
-
};
|
|
421
|
-
}
|
|
422
|
-
return null;
|
|
423
|
-
}
|
|
424
|
-
return null;
|
|
425
|
-
});
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
SdCustomValidator.decorators = [
|
|
429
|
-
{ type: Directive, args: [{
|
|
430
|
-
selector: '[sdCustomValidator]',
|
|
431
|
-
providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: SdCustomValidator, multi: true }]
|
|
432
|
-
},] }
|
|
433
|
-
];
|
|
434
|
-
SdCustomValidator.propDecorators = {
|
|
435
|
-
func: [{ type: Input, args: ['sdCustomValidator',] }]
|
|
436
|
-
};
|
|
437
|
-
|
|
438
|
-
class SdChipMinItemValidator {
|
|
439
|
-
validate(c) {
|
|
440
|
-
if (this.func && typeof (this.func) === 'function') {
|
|
441
|
-
const result = this.func();
|
|
442
|
-
if (result) {
|
|
443
|
-
return {
|
|
444
|
-
minItem: result
|
|
445
|
-
};
|
|
446
|
-
}
|
|
447
|
-
return null;
|
|
448
|
-
}
|
|
449
|
-
return null;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
SdChipMinItemValidator.decorators = [
|
|
453
|
-
{ type: Directive, args: [{
|
|
454
|
-
selector: '[sdChipMinItem]',
|
|
455
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: SdChipMinItemValidator, multi: true }]
|
|
456
|
-
},] }
|
|
457
|
-
];
|
|
458
|
-
SdChipMinItemValidator.propDecorators = {
|
|
459
|
-
func: [{ type: Input, args: ['sdChipMinItem',] }]
|
|
460
|
-
};
|
|
461
|
-
|
|
462
121
|
class SdCoreModule {
|
|
463
122
|
}
|
|
464
123
|
SdCoreModule.decorators = [
|
|
465
124
|
{ type: NgModule, args: [{
|
|
466
125
|
imports: [
|
|
467
126
|
CommonModule,
|
|
468
|
-
FormsModule,
|
|
469
|
-
ReactiveFormsModule,
|
|
470
|
-
HttpClientModule,
|
|
471
127
|
MaterialModule,
|
|
472
|
-
CKEditorModule,
|
|
473
|
-
DeviceDetectorModule.forRoot(),
|
|
474
128
|
SdChartModule,
|
|
475
129
|
SdKonvaModule,
|
|
476
130
|
SdGridMaterialModule,
|
|
@@ -479,17 +133,7 @@ SdCoreModule.decorators = [
|
|
|
479
133
|
SdFormModule,
|
|
480
134
|
SdServiceModule
|
|
481
135
|
],
|
|
482
|
-
declarations: [
|
|
483
|
-
DatePickerControlComponent,
|
|
484
|
-
CkeditorControlComponent,
|
|
485
|
-
// // Pipes
|
|
486
|
-
SdDatePipe,
|
|
487
|
-
// Validators
|
|
488
|
-
SdMinDateValidator,
|
|
489
|
-
SdMaxDateValidator,
|
|
490
|
-
SdCustomValidator,
|
|
491
|
-
SdChipMinItemValidator
|
|
492
|
-
],
|
|
136
|
+
declarations: [],
|
|
493
137
|
exports: [
|
|
494
138
|
SdChartModule,
|
|
495
139
|
SdKonvaModule,
|
|
@@ -500,14 +144,8 @@ SdCoreModule.decorators = [
|
|
|
500
144
|
SdFormModule,
|
|
501
145
|
SdServiceModule,
|
|
502
146
|
MaterialModule,
|
|
503
|
-
// Controls
|
|
504
|
-
DatePickerControlComponent,
|
|
505
|
-
CkeditorControlComponent
|
|
506
147
|
],
|
|
507
|
-
providers: [
|
|
508
|
-
DatePipe,
|
|
509
|
-
DecimalPipe
|
|
510
|
-
]
|
|
148
|
+
providers: []
|
|
511
149
|
},] }
|
|
512
150
|
];
|
|
513
151
|
|
|
@@ -515,5 +153,5 @@ SdCoreModule.decorators = [
|
|
|
515
153
|
* Generated bundle index. Do not edit.
|
|
516
154
|
*/
|
|
517
155
|
|
|
518
|
-
export {
|
|
156
|
+
export { MaterialModule, SdCoreModule };
|
|
519
157
|
//# sourceMappingURL=sd-angular-core.js.map
|