@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.
Files changed (531) hide show
  1. package/api/package.json +2 -3
  2. package/api/sd-angular-core-api.metadata.json +1 -1
  3. package/assets/scss/sd-core.scss +0 -2
  4. package/bundles/sd-angular-core-api.umd.js +3 -25
  5. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  6. package/bundles/sd-angular-core-api.umd.min.js +1 -1
  7. package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
  8. package/bundles/sd-angular-core-chart.umd.js +1 -1
  9. package/bundles/sd-angular-core-chart.umd.min.js +1 -1
  10. package/bundles/sd-angular-core-chart.umd.min.js.map +1 -1
  11. package/bundles/sd-angular-core-date-range.umd.js +1 -1
  12. package/bundles/sd-angular-core-date-range.umd.min.js +1 -1
  13. package/bundles/sd-angular-core-date-time.umd.js +1 -1
  14. package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
  15. package/bundles/sd-angular-core-editor.umd.js +2 -2
  16. package/bundles/sd-angular-core-editor.umd.js.map +1 -1
  17. package/bundles/sd-angular-core-editor.umd.min.js +2 -2
  18. package/bundles/sd-angular-core-editor.umd.min.js.map +1 -1
  19. package/bundles/sd-angular-core-export.umd.js +5 -24
  20. package/bundles/sd-angular-core-export.umd.js.map +1 -1
  21. package/bundles/sd-angular-core-export.umd.min.js +1 -1
  22. package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
  23. package/bundles/sd-angular-core-filter.umd.js +1 -1
  24. package/bundles/sd-angular-core-filter.umd.min.js +1 -1
  25. package/bundles/sd-angular-core-filter.umd.min.js.map +1 -1
  26. package/bundles/sd-angular-core-grid-material.umd.js +1 -1
  27. package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
  28. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  29. package/bundles/sd-angular-core-grid.umd.js +1 -1
  30. package/bundles/sd-angular-core-grid.umd.min.js +1 -1
  31. package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
  32. package/bundles/sd-angular-core-input-currency.umd.js +1 -1
  33. package/bundles/sd-angular-core-input-currency.umd.min.js +1 -1
  34. package/bundles/sd-angular-core-konva.umd.js +1 -1
  35. package/bundles/sd-angular-core-konva.umd.min.js +1 -1
  36. package/bundles/sd-angular-core-notify.umd.js +1 -1
  37. package/bundles/sd-angular-core-notify.umd.min.js +1 -1
  38. package/bundles/sd-angular-core-notify.umd.min.js.map +1 -1
  39. package/bundles/sd-angular-core-upload-excel.umd.js +1 -1
  40. package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
  41. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  42. package/bundles/sd-angular-core-upload-file.umd.js +1 -1
  43. package/bundles/sd-angular-core-upload-file.umd.min.js +1 -1
  44. package/bundles/sd-angular-core-utility.umd.js +1 -1
  45. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  46. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  47. package/bundles/sd-angular-core.umd.js +6 -734
  48. package/bundles/sd-angular-core.umd.js.map +1 -1
  49. package/bundles/sd-angular-core.umd.min.js +1 -1
  50. package/bundles/sd-angular-core.umd.min.js.map +1 -1
  51. package/esm2015/api/src/lib/api.service.js +2 -2
  52. package/esm2015/api/src/lib/http.service.js +1 -1
  53. package/esm2015/editor/src/lib/editor.component.js +2 -2
  54. package/esm2015/export/src/lib/export.service.js +2 -2
  55. package/esm2015/lib/core.module.js +4 -36
  56. package/esm2015/public-api.js +1 -10
  57. package/fesm2015/sd-angular-core-api.js +2 -3
  58. package/fesm2015/sd-angular-core-api.js.map +1 -1
  59. package/fesm2015/sd-angular-core-editor.js +1 -1
  60. package/fesm2015/sd-angular-core-editor.js.map +1 -1
  61. package/fesm2015/sd-angular-core-export.js +1 -1
  62. package/fesm2015/sd-angular-core-export.js.map +1 -1
  63. package/fesm2015/sd-angular-core.js +5 -367
  64. package/fesm2015/sd-angular-core.js.map +1 -1
  65. package/package.json +14 -19
  66. package/public-api.d.ts +0 -7
  67. package/sd-angular-core-1.0.1.tgz +0 -0
  68. package/sd-angular-core.metadata.json +1 -1
  69. package/assets/ckeditor/CHANGES.md +0 -1703
  70. package/assets/ckeditor/LICENSE.md +0 -1420
  71. package/assets/ckeditor/README.md +0 -39
  72. package/assets/ckeditor/adapters/jquery.js +0 -10
  73. package/assets/ckeditor/build-config.js +0 -123
  74. package/assets/ckeditor/ckeditor.js +0 -27038
  75. package/assets/ckeditor/config.js +0 -10
  76. package/assets/ckeditor/contents.css +0 -209
  77. package/assets/ckeditor/lang/en.js +0 -5
  78. package/assets/ckeditor/lang/vi.js +0 -5
  79. package/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -10
  80. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +0 -25
  81. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +0 -11
  82. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +0 -11
  83. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +0 -11
  84. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +0 -11
  85. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +0 -13
  86. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +0 -12
  87. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +0 -11
  88. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +0 -11
  89. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +0 -12
  90. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +0 -13
  91. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +0 -13
  92. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +0 -11
  93. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +0 -11
  94. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +0 -11
  95. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +0 -13
  96. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +0 -13
  97. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +0 -13
  98. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +0 -11
  99. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +0 -12
  100. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +0 -11
  101. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +0 -11
  102. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +0 -11
  103. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +0 -11
  104. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +0 -13
  105. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +0 -12
  106. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +0 -11
  107. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +0 -11
  108. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +0 -11
  109. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +0 -11
  110. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +0 -12
  111. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +0 -11
  112. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +0 -13
  113. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +0 -9
  114. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +0 -11
  115. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +0 -10
  116. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +0 -11
  117. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +0 -11
  118. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +0 -12
  119. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +0 -11
  120. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +0 -11
  121. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +0 -12
  122. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +0 -12
  123. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +0 -11
  124. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +0 -12
  125. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +0 -13
  126. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +0 -13
  127. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +0 -12
  128. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +0 -12
  129. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +0 -11
  130. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +0 -10
  131. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +0 -11
  132. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +0 -11
  133. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +0 -12
  134. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +0 -12
  135. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +0 -12
  136. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +0 -11
  137. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +0 -11
  138. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +0 -12
  139. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +0 -11
  140. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +0 -12
  141. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +0 -12
  142. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +0 -11
  143. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +0 -9
  144. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +0 -9
  145. package/assets/ckeditor/plugins/about/dialogs/about.js +0 -8
  146. package/assets/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  147. package/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  148. package/assets/ckeditor/plugins/clipboard/dialogs/paste.js +0 -11
  149. package/assets/ckeditor/plugins/colordialog/dialogs/colordialog.css +0 -20
  150. package/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -14
  151. package/assets/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg +0 -25
  152. package/assets/ckeditor/plugins/copyformatting/cursors/cursor.svg +0 -14
  153. package/assets/ckeditor/plugins/copyformatting/styles/copyformatting.css +0 -45
  154. package/assets/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  155. package/assets/ckeditor/plugins/div/dialogs/div.js +0 -9
  156. package/assets/ckeditor/plugins/find/dialogs/find.js +0 -25
  157. package/assets/ckeditor/plugins/flash/dialogs/flash.js +0 -24
  158. package/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
  159. package/assets/ckeditor/plugins/forms/dialogs/button.js +0 -8
  160. package/assets/ckeditor/plugins/forms/dialogs/checkbox.js +0 -9
  161. package/assets/ckeditor/plugins/forms/dialogs/form.js +0 -8
  162. package/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -7
  163. package/assets/ckeditor/plugins/forms/dialogs/radio.js +0 -9
  164. package/assets/ckeditor/plugins/forms/dialogs/select.js +0 -21
  165. package/assets/ckeditor/plugins/forms/dialogs/textarea.js +0 -8
  166. package/assets/ckeditor/plugins/forms/dialogs/textfield.js +0 -11
  167. package/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  168. package/assets/ckeditor/plugins/icons.png +0 -0
  169. package/assets/ckeditor/plugins/icons_hidpi.png +0 -0
  170. package/assets/ckeditor/plugins/iframe/dialogs/iframe.js +0 -10
  171. package/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  172. package/assets/ckeditor/plugins/image/dialogs/image.js +0 -44
  173. package/assets/ckeditor/plugins/image/images/noimage.png +0 -0
  174. package/assets/ckeditor/plugins/link/dialogs/anchor.js +0 -8
  175. package/assets/ckeditor/plugins/link/dialogs/link.js +0 -30
  176. package/assets/ckeditor/plugins/link/images/anchor.png +0 -0
  177. package/assets/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  178. package/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -10
  179. package/assets/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  180. package/assets/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  181. package/assets/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  182. package/assets/ckeditor/plugins/magicline/images/icon.png +0 -0
  183. package/assets/ckeditor/plugins/notification/lang/az.js +0 -7
  184. package/assets/ckeditor/plugins/notification/lang/bg.js +0 -7
  185. package/assets/ckeditor/plugins/notification/lang/ca.js +0 -7
  186. package/assets/ckeditor/plugins/notification/lang/cs.js +0 -7
  187. package/assets/ckeditor/plugins/notification/lang/da.js +0 -7
  188. package/assets/ckeditor/plugins/notification/lang/de-ch.js +0 -7
  189. package/assets/ckeditor/plugins/notification/lang/de.js +0 -7
  190. package/assets/ckeditor/plugins/notification/lang/en-au.js +0 -7
  191. package/assets/ckeditor/plugins/notification/lang/en.js +0 -7
  192. package/assets/ckeditor/plugins/notification/lang/eo.js +0 -7
  193. package/assets/ckeditor/plugins/notification/lang/es-mx.js +0 -7
  194. package/assets/ckeditor/plugins/notification/lang/es.js +0 -7
  195. package/assets/ckeditor/plugins/notification/lang/et.js +0 -7
  196. package/assets/ckeditor/plugins/notification/lang/eu.js +0 -7
  197. package/assets/ckeditor/plugins/notification/lang/fa.js +0 -7
  198. package/assets/ckeditor/plugins/notification/lang/fr.js +0 -7
  199. package/assets/ckeditor/plugins/notification/lang/gl.js +0 -7
  200. package/assets/ckeditor/plugins/notification/lang/hr.js +0 -7
  201. package/assets/ckeditor/plugins/notification/lang/hu.js +0 -7
  202. package/assets/ckeditor/plugins/notification/lang/id.js +0 -7
  203. package/assets/ckeditor/plugins/notification/lang/it.js +0 -7
  204. package/assets/ckeditor/plugins/notification/lang/ja.js +0 -7
  205. package/assets/ckeditor/plugins/notification/lang/km.js +0 -7
  206. package/assets/ckeditor/plugins/notification/lang/ko.js +0 -7
  207. package/assets/ckeditor/plugins/notification/lang/ku.js +0 -7
  208. package/assets/ckeditor/plugins/notification/lang/lt.js +0 -7
  209. package/assets/ckeditor/plugins/notification/lang/lv.js +0 -7
  210. package/assets/ckeditor/plugins/notification/lang/nb.js +0 -7
  211. package/assets/ckeditor/plugins/notification/lang/nl.js +0 -7
  212. package/assets/ckeditor/plugins/notification/lang/oc.js +0 -7
  213. package/assets/ckeditor/plugins/notification/lang/pl.js +0 -7
  214. package/assets/ckeditor/plugins/notification/lang/pt-br.js +0 -7
  215. package/assets/ckeditor/plugins/notification/lang/pt.js +0 -7
  216. package/assets/ckeditor/plugins/notification/lang/ro.js +0 -7
  217. package/assets/ckeditor/plugins/notification/lang/ru.js +0 -7
  218. package/assets/ckeditor/plugins/notification/lang/sk.js +0 -7
  219. package/assets/ckeditor/plugins/notification/lang/sq.js +0 -7
  220. package/assets/ckeditor/plugins/notification/lang/sr-latn.js +0 -7
  221. package/assets/ckeditor/plugins/notification/lang/sr.js +0 -7
  222. package/assets/ckeditor/plugins/notification/lang/sv.js +0 -7
  223. package/assets/ckeditor/plugins/notification/lang/tr.js +0 -7
  224. package/assets/ckeditor/plugins/notification/lang/ug.js +0 -7
  225. package/assets/ckeditor/plugins/notification/lang/uk.js +0 -7
  226. package/assets/ckeditor/plugins/notification/lang/zh-cn.js +0 -7
  227. package/assets/ckeditor/plugins/notification/lang/zh.js +0 -7
  228. package/assets/ckeditor/plugins/notification/plugin.js +0 -933
  229. package/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  230. package/assets/ckeditor/plugins/pastefromword/filter/default.js +0 -55
  231. package/assets/ckeditor/plugins/preview/preview.html +0 -13
  232. package/assets/ckeditor/plugins/scayt/CHANGELOG.md +0 -20
  233. package/assets/ckeditor/plugins/scayt/LICENSE.md +0 -28
  234. package/assets/ckeditor/plugins/scayt/README.md +0 -81
  235. package/assets/ckeditor/plugins/scayt/dialogs/dialog.css +0 -23
  236. package/assets/ckeditor/plugins/scayt/dialogs/options.js +0 -32
  237. package/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
  238. package/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +0 -25
  239. package/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  240. package/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  241. package/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  242. package/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  243. package/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  244. package/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  245. package/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  246. package/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  247. package/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  248. package/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  249. package/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  250. package/assets/ckeditor/plugins/smiley/dialogs/smiley.js +0 -11
  251. package/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  252. package/assets/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  253. package/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  254. package/assets/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  255. package/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  256. package/assets/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  257. package/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  258. package/assets/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  259. package/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  260. package/assets/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  261. package/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  262. package/assets/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  263. package/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  264. package/assets/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  265. package/assets/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  266. package/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  267. package/assets/ckeditor/plugins/smiley/images/envelope.png +0 -0
  268. package/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
  269. package/assets/ckeditor/plugins/smiley/images/heart.png +0 -0
  270. package/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  271. package/assets/ckeditor/plugins/smiley/images/kiss.png +0 -0
  272. package/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  273. package/assets/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  274. package/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  275. package/assets/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  276. package/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  277. package/assets/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  278. package/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  279. package/assets/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  280. package/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  281. package/assets/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  282. package/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  283. package/assets/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  284. package/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  285. package/assets/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  286. package/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  287. package/assets/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  288. package/assets/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  289. package/assets/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  290. package/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  291. package/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  292. package/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  293. package/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  294. package/assets/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  295. package/assets/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +0 -20
  296. package/assets/ckeditor/plugins/specialchar/dialogs/lang/af.js +0 -13
  297. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ar.js +0 -13
  298. package/assets/ckeditor/plugins/specialchar/dialogs/lang/az.js +0 -10
  299. package/assets/ckeditor/plugins/specialchar/dialogs/lang/bg.js +0 -13
  300. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ca.js +0 -14
  301. package/assets/ckeditor/plugins/specialchar/dialogs/lang/cs.js +0 -13
  302. package/assets/ckeditor/plugins/specialchar/dialogs/lang/cy.js +0 -14
  303. package/assets/ckeditor/plugins/specialchar/dialogs/lang/da.js +0 -11
  304. package/assets/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +0 -13
  305. package/assets/ckeditor/plugins/specialchar/dialogs/lang/de.js +0 -13
  306. package/assets/ckeditor/plugins/specialchar/dialogs/lang/el.js +0 -13
  307. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +0 -13
  308. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +0 -13
  309. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +0 -13
  310. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en.js +0 -13
  311. package/assets/ckeditor/plugins/specialchar/dialogs/lang/eo.js +0 -12
  312. package/assets/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +0 -13
  313. package/assets/ckeditor/plugins/specialchar/dialogs/lang/es.js +0 -13
  314. package/assets/ckeditor/plugins/specialchar/dialogs/lang/et.js +0 -13
  315. package/assets/ckeditor/plugins/specialchar/dialogs/lang/eu.js +0 -13
  316. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fa.js +0 -12
  317. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fi.js +0 -13
  318. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +0 -10
  319. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fr.js +0 -12
  320. package/assets/ckeditor/plugins/specialchar/dialogs/lang/gl.js +0 -13
  321. package/assets/ckeditor/plugins/specialchar/dialogs/lang/he.js +0 -12
  322. package/assets/ckeditor/plugins/specialchar/dialogs/lang/hr.js +0 -13
  323. package/assets/ckeditor/plugins/specialchar/dialogs/lang/hu.js +0 -12
  324. package/assets/ckeditor/plugins/specialchar/dialogs/lang/id.js +0 -13
  325. package/assets/ckeditor/plugins/specialchar/dialogs/lang/it.js +0 -14
  326. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ja.js +0 -9
  327. package/assets/ckeditor/plugins/specialchar/dialogs/lang/km.js +0 -13
  328. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ko.js +0 -10
  329. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ku.js +0 -13
  330. package/assets/ckeditor/plugins/specialchar/dialogs/lang/lt.js +0 -13
  331. package/assets/ckeditor/plugins/specialchar/dialogs/lang/lv.js +0 -13
  332. package/assets/ckeditor/plugins/specialchar/dialogs/lang/nb.js +0 -11
  333. package/assets/ckeditor/plugins/specialchar/dialogs/lang/nl.js +0 -13
  334. package/assets/ckeditor/plugins/specialchar/dialogs/lang/no.js +0 -11
  335. package/assets/ckeditor/plugins/specialchar/dialogs/lang/oc.js +0 -12
  336. package/assets/ckeditor/plugins/specialchar/dialogs/lang/pl.js +0 -12
  337. package/assets/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +0 -11
  338. package/assets/ckeditor/plugins/specialchar/dialogs/lang/pt.js +0 -13
  339. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ro.js +0 -13
  340. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ru.js +0 -13
  341. package/assets/ckeditor/plugins/specialchar/dialogs/lang/si.js +0 -13
  342. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sk.js +0 -13
  343. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sl.js +0 -12
  344. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sq.js +0 -13
  345. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js +0 -13
  346. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sr.js +0 -13
  347. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sv.js +0 -11
  348. package/assets/ckeditor/plugins/specialchar/dialogs/lang/th.js +0 -13
  349. package/assets/ckeditor/plugins/specialchar/dialogs/lang/tr.js +0 -12
  350. package/assets/ckeditor/plugins/specialchar/dialogs/lang/tt.js +0 -13
  351. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ug.js +0 -13
  352. package/assets/ckeditor/plugins/specialchar/dialogs/lang/uk.js +0 -12
  353. package/assets/ckeditor/plugins/specialchar/dialogs/lang/vi.js +0 -14
  354. package/assets/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +0 -9
  355. package/assets/ckeditor/plugins/specialchar/dialogs/lang/zh.js +0 -9
  356. package/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -14
  357. package/assets/ckeditor/plugins/table/dialogs/table.js +0 -21
  358. package/assets/ckeditor/plugins/tableselection/styles/tableselection.css +0 -36
  359. package/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -19
  360. package/assets/ckeditor/plugins/templates/dialogs/templates.css +0 -84
  361. package/assets/ckeditor/plugins/templates/dialogs/templates.js +0 -10
  362. package/assets/ckeditor/plugins/templates/templates/default.js +0 -7
  363. package/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  364. package/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  365. package/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  366. package/assets/ckeditor/plugins/videoembed/.gitattributes +0 -17
  367. package/assets/ckeditor/plugins/videoembed/README.md +0 -35
  368. package/assets/ckeditor/plugins/videoembed/dialogs/videoembedDialog.js +0 -114
  369. package/assets/ckeditor/plugins/videoembed/icons/videoembed.png +0 -0
  370. package/assets/ckeditor/plugins/videoembed/lang/en.js +0 -8
  371. package/assets/ckeditor/plugins/videoembed/lang/fr.js +0 -8
  372. package/assets/ckeditor/plugins/videoembed/plugin.js +0 -27
  373. package/assets/ckeditor/plugins/widget/images/handle.png +0 -0
  374. package/assets/ckeditor/plugins/wordcount/css/wordcount.css +0 -3
  375. package/assets/ckeditor/plugins/wordcount/lang/ar.js +0 -12
  376. package/assets/ckeditor/plugins/wordcount/lang/bg.js +0 -17
  377. package/assets/ckeditor/plugins/wordcount/lang/ca.js +0 -14
  378. package/assets/ckeditor/plugins/wordcount/lang/cs.js +0 -15
  379. package/assets/ckeditor/plugins/wordcount/lang/da.js +0 -14
  380. package/assets/ckeditor/plugins/wordcount/lang/de.js +0 -14
  381. package/assets/ckeditor/plugins/wordcount/lang/el.js +0 -14
  382. package/assets/ckeditor/plugins/wordcount/lang/en.js +0 -17
  383. package/assets/ckeditor/plugins/wordcount/lang/es.js +0 -14
  384. package/assets/ckeditor/plugins/wordcount/lang/eu.js +0 -17
  385. package/assets/ckeditor/plugins/wordcount/lang/fa.js +0 -13
  386. package/assets/ckeditor/plugins/wordcount/lang/fi.js +0 -15
  387. package/assets/ckeditor/plugins/wordcount/lang/fr.js +0 -12
  388. package/assets/ckeditor/plugins/wordcount/lang/he.js +0 -14
  389. package/assets/ckeditor/plugins/wordcount/lang/hr.js +0 -14
  390. package/assets/ckeditor/plugins/wordcount/lang/hu.js +0 -14
  391. package/assets/ckeditor/plugins/wordcount/lang/it.js +0 -15
  392. package/assets/ckeditor/plugins/wordcount/lang/ja.js +0 -14
  393. package/assets/ckeditor/plugins/wordcount/lang/ko.js +0 -16
  394. package/assets/ckeditor/plugins/wordcount/lang/nl.js +0 -14
  395. package/assets/ckeditor/plugins/wordcount/lang/no.js +0 -11
  396. package/assets/ckeditor/plugins/wordcount/lang/pl.js +0 -14
  397. package/assets/ckeditor/plugins/wordcount/lang/pt-br.js +0 -14
  398. package/assets/ckeditor/plugins/wordcount/lang/pt.js +0 -10
  399. package/assets/ckeditor/plugins/wordcount/lang/ro.js +0 -15
  400. package/assets/ckeditor/plugins/wordcount/lang/ru.js +0 -14
  401. package/assets/ckeditor/plugins/wordcount/lang/sk.js +0 -15
  402. package/assets/ckeditor/plugins/wordcount/lang/sv.js +0 -15
  403. package/assets/ckeditor/plugins/wordcount/lang/tr.js +0 -14
  404. package/assets/ckeditor/plugins/wordcount/lang/uk.js +0 -17
  405. package/assets/ckeditor/plugins/wordcount/lang/zh-cn.js +0 -17
  406. package/assets/ckeditor/plugins/wordcount/lang/zh.js +0 -17
  407. package/assets/ckeditor/plugins/wordcount/plugin.js +0 -639
  408. package/assets/ckeditor/plugins/wordcount/samples/maxParagraphs.html +0 -26
  409. package/assets/ckeditor/plugins/wordcount/samples/wordcount.html +0 -61
  410. package/assets/ckeditor/plugins/wordcount/samples/wordcountWithMaxCount.html +0 -110
  411. package/assets/ckeditor/plugins/wsc/LICENSE.md +0 -28
  412. package/assets/ckeditor/plugins/wsc/README.md +0 -80
  413. package/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -66
  414. package/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  415. package/assets/ckeditor/plugins/wsc/dialogs/wsc.css +0 -82
  416. package/assets/ckeditor/plugins/wsc/dialogs/wsc.js +0 -91
  417. package/assets/ckeditor/plugins/wsc/dialogs/wsc_ie.js +0 -11
  418. package/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +0 -43
  419. package/assets/ckeditor/samples/css/samples.css +0 -1637
  420. package/assets/ckeditor/samples/img/github-top.png +0 -0
  421. package/assets/ckeditor/samples/img/header-bg.png +0 -0
  422. package/assets/ckeditor/samples/img/header-separator.png +0 -0
  423. package/assets/ckeditor/samples/img/logo.png +0 -0
  424. package/assets/ckeditor/samples/img/logo.svg +0 -13
  425. package/assets/ckeditor/samples/img/navigation-tip.png +0 -0
  426. package/assets/ckeditor/samples/index.html +0 -128
  427. package/assets/ckeditor/samples/js/sample.js +0 -53
  428. package/assets/ckeditor/samples/js/sf.js +0 -17
  429. package/assets/ckeditor/samples/old/ajax.html +0 -85
  430. package/assets/ckeditor/samples/old/api.html +0 -210
  431. package/assets/ckeditor/samples/old/appendto.html +0 -59
  432. package/assets/ckeditor/samples/old/assets/inlineall/logo.png +0 -0
  433. package/assets/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css +0 -204
  434. package/assets/ckeditor/samples/old/assets/posteddata.php +0 -59
  435. package/assets/ckeditor/samples/old/assets/sample.jpg +0 -0
  436. package/assets/ckeditor/samples/old/assets/uilanguages/languages.js +0 -7
  437. package/assets/ckeditor/samples/old/datafiltering.html +0 -508
  438. package/assets/ckeditor/samples/old/dialog/assets/my_dialog.js +0 -48
  439. package/assets/ckeditor/samples/old/dialog/dialog.html +0 -190
  440. package/assets/ckeditor/samples/old/divarea/divarea.html +0 -64
  441. package/assets/ckeditor/samples/old/divreplace.html +0 -144
  442. package/assets/ckeditor/samples/old/enterkey/enterkey.html +0 -106
  443. package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  444. package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  445. package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js +0 -19
  446. package/assets/ckeditor/samples/old/htmlwriter/outputforflash.html +0 -283
  447. package/assets/ckeditor/samples/old/htmlwriter/outputhtml.html +0 -224
  448. package/assets/ckeditor/samples/old/index.html +0 -134
  449. package/assets/ckeditor/samples/old/inlineall.html +0 -314
  450. package/assets/ckeditor/samples/old/inlinebycode.html +0 -124
  451. package/assets/ckeditor/samples/old/inlinetextarea.html +0 -113
  452. package/assets/ckeditor/samples/old/jquery.html +0 -103
  453. package/assets/ckeditor/samples/old/magicline/magicline.html +0 -209
  454. package/assets/ckeditor/samples/old/readonly.html +0 -76
  455. package/assets/ckeditor/samples/old/replacebyclass.html +0 -60
  456. package/assets/ckeditor/samples/old/replacebycode.html +0 -59
  457. package/assets/ckeditor/samples/old/sample.css +0 -357
  458. package/assets/ckeditor/samples/old/sample.js +0 -50
  459. package/assets/ckeditor/samples/old/sample_posteddata.php +0 -16
  460. package/assets/ckeditor/samples/old/tabindex.html +0 -78
  461. package/assets/ckeditor/samples/old/toolbar/toolbar.html +0 -235
  462. package/assets/ckeditor/samples/old/uicolor.html +0 -72
  463. package/assets/ckeditor/samples/old/uilanguages.html +0 -122
  464. package/assets/ckeditor/samples/old/wysiwygarea/fullpage.html +0 -80
  465. package/assets/ckeditor/samples/old/xhtmlstyle.html +0 -234
  466. package/assets/ckeditor/samples/toolbarconfigurator/css/fontello.css +0 -55
  467. package/assets/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt +0 -10
  468. package/assets/ckeditor/samples/toolbarconfigurator/font/config.json +0 -28
  469. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.eot +0 -0
  470. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.svg +0 -14
  471. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.ttf +0 -0
  472. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.woff +0 -0
  473. package/assets/ckeditor/samples/toolbarconfigurator/index.html +0 -446
  474. package/assets/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js +0 -13
  475. package/assets/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js +0 -9
  476. package/assets/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js +0 -33
  477. package/assets/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js +0 -14
  478. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/LICENSE +0 -19
  479. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css +0 -325
  480. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js +0 -288
  481. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js +0 -25
  482. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css +0 -36
  483. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css +0 -38
  484. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js +0 -16
  485. package/assets/ckeditor/skins/office2013/dialog.css +0 -5
  486. package/assets/ckeditor/skins/office2013/editor.css +0 -5
  487. package/assets/ckeditor/skins/office2013/icons.png +0 -0
  488. package/assets/ckeditor/skins/office2013/icons_hidpi.png +0 -0
  489. package/assets/ckeditor/skins/office2013/images/arrow.png +0 -0
  490. package/assets/ckeditor/skins/office2013/images/close.png +0 -0
  491. package/assets/ckeditor/skins/office2013/images/hidpi/close.png +0 -0
  492. package/assets/ckeditor/skins/office2013/images/hidpi/lock-open.png +0 -0
  493. package/assets/ckeditor/skins/office2013/images/hidpi/lock.png +0 -0
  494. package/assets/ckeditor/skins/office2013/images/hidpi/refresh.png +0 -0
  495. package/assets/ckeditor/skins/office2013/images/lock-open.png +0 -0
  496. package/assets/ckeditor/skins/office2013/images/lock.png +0 -0
  497. package/assets/ckeditor/skins/office2013/images/refresh.png +0 -0
  498. package/assets/ckeditor/styles.js +0 -137
  499. package/bundles/sd-angular-core-modal-custom.umd.js +0 -487
  500. package/bundles/sd-angular-core-modal-custom.umd.js.map +0 -1
  501. package/bundles/sd-angular-core-modal-custom.umd.min.js +0 -16
  502. package/bundles/sd-angular-core-modal-custom.umd.min.js.map +0 -1
  503. package/esm2015/lib/controls/ckeditor-control/ckeditor-control.component.js +0 -53
  504. package/esm2015/lib/controls/date-picker-control/date-picker-control.component.js +0 -156
  505. package/esm2015/lib/pipes/sd-date.pipe.js +0 -15
  506. package/esm2015/lib/validators/chip-min-item.validator.js +0 -26
  507. package/esm2015/lib/validators/custom.validator.js +0 -39
  508. package/esm2015/lib/validators/max-date.validator.js +0 -30
  509. package/esm2015/lib/validators/min-date.validator.js +0 -30
  510. package/esm2015/modal-custom/index.js +0 -2
  511. package/esm2015/modal-custom/sd-angular-core-modal-custom.js +0 -5
  512. package/esm2015/modal-custom/src/lib/modal-custom/modal-custom.component.js +0 -123
  513. package/esm2015/modal-custom/src/lib/modal-custom.module.js +0 -30
  514. package/esm2015/modal-custom/src/public-api.js +0 -6
  515. package/fesm2015/sd-angular-core-modal-custom.js +0 -161
  516. package/fesm2015/sd-angular-core-modal-custom.js.map +0 -1
  517. package/lib/controls/ckeditor-control/ckeditor-control.component.d.ts +0 -20
  518. package/lib/controls/date-picker-control/date-picker-control.component.d.ts +0 -36
  519. package/lib/pipes/sd-date.pipe.d.ts +0 -4
  520. package/lib/validators/chip-min-item.validator.d.ts +0 -5
  521. package/lib/validators/custom.validator.d.ts +0 -5
  522. package/lib/validators/max-date.validator.d.ts +0 -5
  523. package/lib/validators/min-date.validator.d.ts +0 -5
  524. package/modal-custom/index.d.ts +0 -1
  525. package/modal-custom/package.json +0 -12
  526. package/modal-custom/sd-angular-core-modal-custom.d.ts +0 -4
  527. package/modal-custom/sd-angular-core-modal-custom.metadata.json +0 -1
  528. package/modal-custom/src/lib/modal-custom/modal-custom.component.d.ts +0 -31
  529. package/modal-custom/src/lib/modal-custom.module.d.ts +0 -2
  530. package/modal-custom/src/public-api.d.ts +0 -2
  531. 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, &quot;Courier New&quot;, 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, &quot;Courier New&quot;, 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 * as hash from 'object-hash';
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, Pipe, EventEmitter, Component, ViewEncapsulation, ChangeDetectorRef, Input, Output, ViewChild, Directive } from '@angular/core';
19
- import { CommonModule, DatePipe, DecimalPipe } from '@angular/common';
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 { CkeditorControlComponent, DatePickerControlComponent, MaterialModule, SdChipMinItemValidator, SdCoreModule, SdCustomValidator, SdDatePipe, SdMaxDateValidator, SdMinDateValidator };
156
+ export { MaterialModule, SdCoreModule };
519
157
  //# sourceMappingURL=sd-angular-core.js.map