sk-front-lib 0.17.49 → 0.17.51

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 (255) hide show
  1. package/esm2020/lib/sk-byte.pipe.mjs +4 -4
  2. package/esm2020/lib/sk-date-time.pipe.mjs +4 -4
  3. package/esm2020/lib/sk-date.pipe.mjs +4 -4
  4. package/esm2020/lib/sk-front-lib.module.mjs +5 -5
  5. package/esm2020/lib/sk-keys.pipe.mjs +4 -4
  6. package/esm2020/lib/sk-time.pipe.mjs +4 -4
  7. package/fesm2015/sk-front-lib.mjs +19 -19
  8. package/fesm2015/sk-front-lib.mjs.map +1 -1
  9. package/fesm2020/sk-front-lib.mjs +19 -19
  10. package/fesm2020/sk-front-lib.mjs.map +1 -1
  11. package/lib/sk-byte.pipe.d.ts +1 -1
  12. package/lib/sk-date-time.pipe.d.ts +1 -1
  13. package/lib/sk-date.pipe.d.ts +1 -1
  14. package/lib/sk-keys.pipe.d.ts +1 -1
  15. package/lib/sk-time.pipe.d.ts +1 -1
  16. package/package.json +3 -67
  17. package/api/model/api-config.d.ts +0 -6
  18. package/api/model/api-pageable-param.d.ts +0 -11
  19. package/api/model/api-pageable.d.ts +0 -11
  20. package/api/model/api-response.d.ts +0 -8
  21. package/api/model/index.d.ts +0 -4
  22. package/api/package.json +0 -10
  23. package/api/public_api.d.ts +0 -3
  24. package/api/sk-api.module.d.ts +0 -12
  25. package/api/sk-api.service.d.ts +0 -34
  26. package/api/sk-front-lib-api.d.ts +0 -5
  27. package/article/package.json +0 -10
  28. package/article/public_api.d.ts +0 -6
  29. package/article/sk-article-editor-server.component.d.ts +0 -23
  30. package/article/sk-article-editor.component.d.ts +0 -27
  31. package/article/sk-article-server.module.d.ts +0 -10
  32. package/article/sk-article.module.d.ts +0 -9
  33. package/article/sk-article.service.d.ts +0 -96
  34. package/article/sk-froala-editor.directive.d.ts +0 -40
  35. package/article/sk-front-lib-article.d.ts +0 -5
  36. package/crud/package.json +0 -10
  37. package/crud/public_api.d.ts +0 -24
  38. package/crud/sk-account.service.d.ts +0 -16
  39. package/crud/sk-affiliate.service.d.ts +0 -38
  40. package/crud/sk-auth-admin.guard.d.ts +0 -13
  41. package/crud/sk-auth.guard.d.ts +0 -13
  42. package/crud/sk-auth.service.d.ts +0 -33
  43. package/crud/sk-board.service.d.ts +0 -21
  44. package/crud/sk-brand.service.d.ts +0 -19
  45. package/crud/sk-cart.service.d.ts +0 -72
  46. package/crud/sk-category.service.d.ts +0 -28
  47. package/crud/sk-comment.service.d.ts +0 -15
  48. package/crud/sk-config.service.d.ts +0 -13
  49. package/crud/sk-contact.service.d.ts +0 -15
  50. package/crud/sk-coupon.service.d.ts +0 -24
  51. package/crud/sk-document.service.d.ts +0 -51
  52. package/crud/sk-etc.service.d.ts +0 -12
  53. package/crud/sk-file.service.d.ts +0 -18
  54. package/crud/sk-front-lib-crud.d.ts +0 -5
  55. package/crud/sk-keyword.service.d.ts +0 -19
  56. package/crud/sk-order.service.d.ts +0 -45
  57. package/crud/sk-point.service.d.ts +0 -17
  58. package/crud/sk-product.service.d.ts +0 -84
  59. package/crud/sk-promotion.service.d.ts +0 -41
  60. package/crud/sk-search.service.d.ts +0 -12
  61. package/crud/sk-store.service.d.ts +0 -17
  62. package/crud/sk-user.service.d.ts +0 -25
  63. package/esm2020/api/model/api-config.mjs +0 -2
  64. package/esm2020/api/model/api-pageable-param.mjs +0 -29
  65. package/esm2020/api/model/api-pageable.mjs +0 -3
  66. package/esm2020/api/model/api-response.mjs +0 -3
  67. package/esm2020/api/model/index.mjs +0 -4
  68. package/esm2020/api/public_api.mjs +0 -4
  69. package/esm2020/api/sk-api.module.mjs +0 -35
  70. package/esm2020/api/sk-api.service.mjs +0 -145
  71. package/esm2020/api/sk-front-lib-api.mjs +0 -5
  72. package/esm2020/article/public_api.mjs +0 -7
  73. package/esm2020/article/sk-article-editor-server.component.mjs +0 -51
  74. package/esm2020/article/sk-article-editor.component.mjs +0 -93
  75. package/esm2020/article/sk-article-server.module.mjs +0 -33
  76. package/esm2020/article/sk-article.module.mjs +0 -32
  77. package/esm2020/article/sk-article.service.mjs +0 -248
  78. package/esm2020/article/sk-froala-editor.directive.mjs +0 -325
  79. package/esm2020/article/sk-front-lib-article.mjs +0 -5
  80. package/esm2020/crud/public_api.mjs +0 -25
  81. package/esm2020/crud/sk-account.service.mjs +0 -36
  82. package/esm2020/crud/sk-affiliate.service.mjs +0 -94
  83. package/esm2020/crud/sk-auth-admin.guard.mjs +0 -31
  84. package/esm2020/crud/sk-auth.guard.mjs +0 -31
  85. package/esm2020/crud/sk-auth.service.mjs +0 -67
  86. package/esm2020/crud/sk-board.service.mjs +0 -54
  87. package/esm2020/crud/sk-brand.service.mjs +0 -46
  88. package/esm2020/crud/sk-cart.service.mjs +0 -256
  89. package/esm2020/crud/sk-category.service.mjs +0 -63
  90. package/esm2020/crud/sk-comment.service.mjs +0 -43
  91. package/esm2020/crud/sk-config.service.mjs +0 -31
  92. package/esm2020/crud/sk-contact.service.mjs +0 -39
  93. package/esm2020/crud/sk-coupon.service.mjs +0 -62
  94. package/esm2020/crud/sk-document.service.mjs +0 -110
  95. package/esm2020/crud/sk-etc.service.mjs +0 -25
  96. package/esm2020/crud/sk-file.service.mjs +0 -37
  97. package/esm2020/crud/sk-front-lib-crud.mjs +0 -5
  98. package/esm2020/crud/sk-keyword.service.mjs +0 -46
  99. package/esm2020/crud/sk-order.service.mjs +0 -133
  100. package/esm2020/crud/sk-point.service.mjs +0 -45
  101. package/esm2020/crud/sk-product.service.mjs +0 -168
  102. package/esm2020/crud/sk-promotion.service.mjs +0 -84
  103. package/esm2020/crud/sk-search.service.mjs +0 -25
  104. package/esm2020/crud/sk-store.service.mjs +0 -47
  105. package/esm2020/crud/sk-user.service.mjs +0 -73
  106. package/esm2020/google-analytics/google-analytics-router.module.mjs +0 -30
  107. package/esm2020/google-analytics/google-analytics.module.mjs +0 -40
  108. package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -24
  109. package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +0 -46
  110. package/esm2020/google-analytics/interfaces/google-analytics-command.mjs +0 -2
  111. package/esm2020/google-analytics/interfaces/google-analytics-settings.mjs +0 -2
  112. package/esm2020/google-analytics/public_api.mjs +0 -11
  113. package/esm2020/google-analytics/services/google-analytics.service.mjs +0 -223
  114. package/esm2020/google-analytics/sk-front-lib-google-analytics.mjs +0 -5
  115. package/esm2020/google-analytics/tokens/google-analytics-settings-token.mjs +0 -5
  116. package/esm2020/google-analytics/types/ga-action.type.mjs +0 -2
  117. package/esm2020/google-analytics/types/ga-bind.type.mjs +0 -2
  118. package/esm2020/image/public_api.mjs +0 -3
  119. package/esm2020/image/sk-front-lib-image.mjs +0 -5
  120. package/esm2020/image/sk-image.component.mjs +0 -262
  121. package/esm2020/image/sk-image.module.mjs +0 -43
  122. package/esm2020/model/lib/article.mjs +0 -11
  123. package/esm2020/model/lib/audit.mjs +0 -12
  124. package/esm2020/model/lib/auth.mjs +0 -2
  125. package/esm2020/model/lib/board.mjs +0 -21
  126. package/esm2020/model/lib/cart.mjs +0 -29
  127. package/esm2020/model/lib/comment.mjs +0 -25
  128. package/esm2020/model/lib/contact.mjs +0 -28
  129. package/esm2020/model/lib/coupon.mjs +0 -23
  130. package/esm2020/model/lib/document.mjs +0 -49
  131. package/esm2020/model/lib/etc.mjs +0 -57
  132. package/esm2020/model/lib/file.mjs +0 -8
  133. package/esm2020/model/lib/filetype.mjs +0 -179
  134. package/esm2020/model/lib/grid.mjs +0 -83
  135. package/esm2020/model/lib/nicepay.mjs +0 -81
  136. package/esm2020/model/lib/order.mjs +0 -106
  137. package/esm2020/model/lib/payment.mjs +0 -35
  138. package/esm2020/model/lib/point.mjs +0 -47
  139. package/esm2020/model/lib/product-series.mjs +0 -2
  140. package/esm2020/model/lib/product.mjs +0 -156
  141. package/esm2020/model/lib/promotion.mjs +0 -80
  142. package/esm2020/model/lib/shipping.mjs +0 -37
  143. package/esm2020/model/lib/tosspay.mjs +0 -61
  144. package/esm2020/model/lib/user.mjs +0 -61
  145. package/esm2020/model/public_api.mjs +0 -24
  146. package/esm2020/model/sk-front-lib-model.mjs +0 -5
  147. package/esm2020/search-address/dialog/dialog.component.mjs +0 -27
  148. package/esm2020/search-address/public_api.mjs +0 -4
  149. package/esm2020/search-address/sk-front-lib-search-address.mjs +0 -5
  150. package/esm2020/search-address/sk-search-address.directive.mjs +0 -41
  151. package/esm2020/search-address/sk-search-address.model.mjs +0 -8
  152. package/esm2020/search-address/sk-search-address.module.mjs +0 -52
  153. package/esm2020/search-address/sk-search-address.service.mjs +0 -65
  154. package/esm2020/uploader/public_api.mjs +0 -4
  155. package/esm2020/uploader/sk-front-lib-uploader.mjs +0 -5
  156. package/esm2020/uploader/sk-uploader-file-item.model.mjs +0 -95
  157. package/esm2020/uploader/sk-uploader.animation.mjs +0 -47
  158. package/esm2020/uploader/sk-uploader.class.mjs +0 -188
  159. package/esm2020/uploader/sk-uploader.component.mjs +0 -120
  160. package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
  161. package/esm2020/uploader/sk-uploader.module.mjs +0 -62
  162. package/fesm2015/sk-front-lib-api.mjs +0 -218
  163. package/fesm2015/sk-front-lib-api.mjs.map +0 -1
  164. package/fesm2015/sk-front-lib-article.mjs +0 -762
  165. package/fesm2015/sk-front-lib-article.mjs.map +0 -1
  166. package/fesm2015/sk-front-lib-crud.mjs +0 -1529
  167. package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
  168. package/fesm2015/sk-front-lib-google-analytics.mjs +0 -361
  169. package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
  170. package/fesm2015/sk-front-lib-image.mjs +0 -306
  171. package/fesm2015/sk-front-lib-image.mjs.map +0 -1
  172. package/fesm2015/sk-front-lib-model.mjs +0 -1171
  173. package/fesm2015/sk-front-lib-model.mjs.map +0 -1
  174. package/fesm2015/sk-front-lib-search-address.mjs +0 -188
  175. package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
  176. package/fesm2015/sk-front-lib-uploader.mjs +0 -551
  177. package/fesm2015/sk-front-lib-uploader.mjs.map +0 -1
  178. package/fesm2020/sk-front-lib-api.mjs +0 -216
  179. package/fesm2020/sk-front-lib-api.mjs.map +0 -1
  180. package/fesm2020/sk-front-lib-article.mjs +0 -771
  181. package/fesm2020/sk-front-lib-article.mjs.map +0 -1
  182. package/fesm2020/sk-front-lib-crud.mjs +0 -1525
  183. package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
  184. package/fesm2020/sk-front-lib-google-analytics.mjs +0 -358
  185. package/fesm2020/sk-front-lib-google-analytics.mjs.map +0 -1
  186. package/fesm2020/sk-front-lib-image.mjs +0 -309
  187. package/fesm2020/sk-front-lib-image.mjs.map +0 -1
  188. package/fesm2020/sk-front-lib-model.mjs +0 -1171
  189. package/fesm2020/sk-front-lib-model.mjs.map +0 -1
  190. package/fesm2020/sk-front-lib-search-address.mjs +0 -186
  191. package/fesm2020/sk-front-lib-search-address.mjs.map +0 -1
  192. package/fesm2020/sk-front-lib-uploader.mjs +0 -549
  193. package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
  194. package/google-analytics/google-analytics-router.module.d.ts +0 -8
  195. package/google-analytics/google-analytics.module.d.ts +0 -10
  196. package/google-analytics/initializers/google-analytics-router.initializer.d.ts +0 -5
  197. package/google-analytics/initializers/google-analytics.initializer.d.ts +0 -4
  198. package/google-analytics/interfaces/google-analytics-command.d.ts +0 -4
  199. package/google-analytics/interfaces/google-analytics-settings.d.ts +0 -6
  200. package/google-analytics/package.json +0 -10
  201. package/google-analytics/public_api.d.ts +0 -10
  202. package/google-analytics/services/google-analytics.service.d.ts +0 -85
  203. package/google-analytics/sk-front-lib-google-analytics.d.ts +0 -5
  204. package/google-analytics/tokens/google-analytics-settings-token.d.ts +0 -3
  205. package/google-analytics/types/ga-action.type.d.ts +0 -1
  206. package/google-analytics/types/ga-bind.type.d.ts +0 -1
  207. package/image/package.json +0 -10
  208. package/image/public_api.d.ts +0 -3
  209. package/image/sk-front-lib-image.d.ts +0 -5
  210. package/image/sk-image.component.d.ts +0 -112
  211. package/image/sk-image.module.d.ts +0 -12
  212. package/model/lib/article.d.ts +0 -13
  213. package/model/lib/audit.d.ts +0 -13
  214. package/model/lib/auth.d.ts +0 -8
  215. package/model/lib/board.d.ts +0 -39
  216. package/model/lib/cart.d.ts +0 -45
  217. package/model/lib/comment.d.ts +0 -43
  218. package/model/lib/contact.d.ts +0 -40
  219. package/model/lib/coupon.d.ts +0 -116
  220. package/model/lib/document.d.ts +0 -104
  221. package/model/lib/etc.d.ts +0 -220
  222. package/model/lib/file.d.ts +0 -24
  223. package/model/lib/filetype.d.ts +0 -10
  224. package/model/lib/grid.d.ts +0 -97
  225. package/model/lib/nicepay.d.ts +0 -39
  226. package/model/lib/order.d.ts +0 -163
  227. package/model/lib/payment.d.ts +0 -32
  228. package/model/lib/point.d.ts +0 -30
  229. package/model/lib/product-series.d.ts +0 -25
  230. package/model/lib/product.d.ts +0 -309
  231. package/model/lib/promotion.d.ts +0 -169
  232. package/model/lib/shipping.d.ts +0 -44
  233. package/model/lib/tosspay.d.ts +0 -29
  234. package/model/lib/user.d.ts +0 -54
  235. package/model/package.json +0 -10
  236. package/model/public_api.d.ts +0 -23
  237. package/model/sk-front-lib-model.d.ts +0 -5
  238. package/search-address/dialog/dialog.component.d.ts +0 -13
  239. package/search-address/package.json +0 -10
  240. package/search-address/public_api.d.ts +0 -3
  241. package/search-address/sk-front-lib-search-address.d.ts +0 -5
  242. package/search-address/sk-search-address.directive.d.ts +0 -15
  243. package/search-address/sk-search-address.model.d.ts +0 -40
  244. package/search-address/sk-search-address.module.d.ts +0 -14
  245. package/search-address/sk-search-address.service.d.ts +0 -13
  246. package/uploader/package.json +0 -10
  247. package/uploader/public_api.d.ts +0 -4
  248. package/uploader/sk-front-lib-uploader.d.ts +0 -5
  249. package/uploader/sk-uploader-file-item.model.d.ts +0 -29
  250. package/uploader/sk-uploader.animation.d.ts +0 -1
  251. package/uploader/sk-uploader.class.d.ts +0 -47
  252. package/uploader/sk-uploader.component.d.ts +0 -28
  253. package/uploader/sk-uploader.directive.d.ts +0 -15
  254. package/uploader/sk-uploader.module.d.ts +0 -16
  255. /package/{sk-front-lib.d.ts → index.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"sk-front-lib-article.mjs","sources":["../../../projects/sk-front-lib/article/src/sk-article.service.ts","../../../projects/sk-front-lib/article/src/sk-froala-editor.directive.ts","../../../projects/sk-front-lib/article/src/sk-article-editor.component.ts","../../../projects/sk-front-lib/article/src/sk-article-editor.component.html","../../../projects/sk-front-lib/article/src/sk-article.module.ts","../../../projects/sk-front-lib/article/src/sk-article-editor-server.component.ts","../../../projects/sk-front-lib/article/src/sk-article-editor-server.component.html","../../../projects/sk-front-lib/article/src/sk-article-server.module.ts","../../../projects/sk-front-lib/article/src/sk-front-lib-article.ts"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\n\nimport FroalaEditor from 'froala-editor';\nimport 'froala-editor/js/plugins.pkgd.min.js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkArticleService {\n\n constructor(@Inject('environment') public environment: any) {\n this.initializeFroala();\n }\n\n initializeFroala() {\n FroalaEditor.DefineIconTemplate('material_design', '<i class=\"material-icons\">[NAME]</i>');\n\n this.loadFontWeight();\n this.registerShortcuts();\n }\n\n loadFontWeight() {\n // Define an icon.\n FroalaEditor.DefineIcon('font-weight', {NAME: 'format_size', template: 'material_design'});\n\n // Define a dropdown button.\n FroalaEditor.RegisterCommand('font-weight-drop', {\n // Button title.\n title: 'Font Weight',\n\n // Mark the button as a dropdown.\n type: 'dropdown',\n\n // Specify the icon for the button.\n // If this option is not specified, the button name will be used.\n icon: 'font-weight',\n\n // Options for the dropdown.\n options: {\n 100: 'Thin',\n 300: 'Light',\n 400: 'Regular',\n 500: 'Medium',\n 700: 'Bold',\n 900: 'Black'\n },\n\n // If present, the options property will be ignored.\n // It can be used to define a custom HTML for the dropdown.\n // html: function () {\n // // The current context is the editor instance.\n // return '';\n // },\n\n // Save the dropdown action into undo stack.\n undo: true,\n\n // Focus inside the editor before callback.\n focus: true,\n\n // Refresh the button state after the callback.\n refreshAfterCallback: true,\n\n // Callback.\n callback(cmd, val, params) {\n this.format.removeStyle('font-weight');\n this.format.applyStyle('font-weight', val);\n },\n\n // Called when the dropdown button state might have changed.\n // refresh: function ($btn) {\n // // The current context is the editor instance.\n // console.log (this.selection.element());\n // console.log(this);\n // },\n\n // Called when the dropdown is shown.\n // refreshOnShow: function ($btn, $dropdown) {\n // // The current context is the editor instance.\n // console.log (this.selection.element());\n // }\n });\n }\n\n registerShortcuts() {\n FroalaEditor.RegisterShortcut(49, 'paragraphFormat', 'H1', '1', false);\n FroalaEditor.RegisterShortcut(50, 'paragraphFormat', 'H2', '2', false);\n FroalaEditor.RegisterShortcut(51, 'paragraphFormat', 'H3', '3', false);\n FroalaEditor.RegisterShortcut(52, 'paragraphFormat', 'N', '4', false);\n FroalaEditor.RegisterShortcut(66, 'font-weight-drop', '700');\n }\n\n getBaseConfig() {\n return {\n key: 'Ig1A7vB2D2E2E1F1B4muvugzxmwA-7I-7A5B-21qrC-11A2B2C2A1C9B3B3C6E2C1==',\n editorClass: 'sk-custom',\n fontFamily: {\n 'Noto Sans KR, Noto Sans, Arial,Helvetica,sans-serif': 'Noto Sans',\n 'Roboto, Arial,Helvetica,sans-serif': 'Roboto',\n 'Georgia,serif': 'Georgia',\n 'Impact,Charcoal,sans-serif': 'Impact',\n 'Tahoma,Geneva,sans-serif': 'Tahoma',\n '\\'Times New Roman\\',Times,serif': 'Times New Roman',\n 'Verdana,Geneva,sans-serif': 'Verdana'\n },\n imageDefaultWidth: 0,\n // remove image manager\n // imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL', 'imageManager'],\n imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL'],\n imageEditButtons: ['imageAlign', 'imageCaption', 'imageRemove', '|', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '-', 'imageDisplay', 'imageStyle', 'imageAlt', 'imageSize'],\n imageAllowedTypes: ['jpeg', 'jpg', 'png', 'gif'],\n\n // remove video upload\n // ['videoBack', '|', 'videoByURL', 'videoEmbed', 'videoUpload']\n videoInsertButtons: ['videoBack', '|', 'videoByURL', 'videoEmbed'],\n videoUpload: false,\n videoResponsive: true,\n\n pastePlain: true,\n pasteDeniedAttrs: ['class', 'id', 'style'],\n pasteDeniedTags: ['div'],\n wordPasteKeepFormatting: false,\n imagePaste: false,\n\n quickInsertEnabled: false,\n\n paragraphFormat: {\n H1: '대제목',\n H2: '소제목',\n H3: '문단 제목',\n N: '본문'\n },\n\n // toolbarContainer: '.sk-custom-editor-toolbar',\n toolbarSticky: false,\n toolbarBottom: false,\n\n\n attribution: false,\n\n helpSets: [\n {\n title: 'Gearlounge Custom',\n commands: [\n {val: 'OSkey1', desc: '대제목'},\n {val: 'OSkey2', desc: '소제목'},\n {val: 'OSkey3', desc: '문단 제목'},\n {val: 'OSkey4', desc: '본문'}\n ]\n },\n {\n title: 'Inline Editor',\n commands: [\n {val: 'OSkeyE', desc: 'Show the editor'}\n ]\n },\n {\n title: 'Common actions',\n commands: [\n {val: 'OSkeyC', desc: 'Copy'},\n {val: 'OSkeyX', desc: 'Cut'},\n {val: 'OSkeyV', desc: 'Paste'},\n {val: 'OSkeyZ', desc: 'Undo'},\n {val: 'OSkeyShift+Z', desc: 'Redo'},\n {val: 'OSkeyK', desc: 'Insert Link'},\n {val: 'OSkeyP', desc: 'Insert Image'}\n ]\n },\n {\n title: 'Basic Formatting',\n commands: [\n {val: 'OSkeyA', desc: 'Select All'},\n {val: 'OSkeyB', desc: 'Bold'},\n {val: 'OSkeyI', desc: 'Italic'},\n {val: 'OSkeyU', desc: 'Underline'},\n {val: 'OSkeyS', desc: 'Strikethrough'},\n {val: 'OSkey]', desc: 'Increase Indent'},\n {val: 'OSkey[', desc: 'Decrease Indent'}\n ]\n },\n {\n title: 'Quote',\n commands: [\n {val: 'OSkey\\'', desc: 'Increase quote level'},\n {val: 'OSkeyShift+\\'', desc: 'Decrease quote level'}\n ]\n },\n {\n title: 'Image / Video',\n commands: [\n {val: 'OSkey+', desc: 'Resize larger'},\n {val: 'OSkey-', desc: 'Resize smaller'}\n ]\n },\n {\n title: 'Table',\n commands: [\n {val: 'Alt+Space', desc: 'Select table cell'},\n {val: 'Shift+Left/Right arrow', desc: 'Extend selection one cell'},\n {val: 'Shift+Up/Down arrow', desc: 'Extend selection one row'}\n ]\n },\n {\n title: 'Navigation',\n commands: [\n {val: 'OSkey/', desc: 'Shortcuts'},\n {val: 'Alt+F10', desc: 'Focus popup / toolbar'},\n {val: 'Esc', desc: 'Return focus to previous position'}\n ]\n }\n ],\n };\n }\n\n getToolbar(type: string = 'default') {\n if (type === 'default') {\n return {\n toolbarButtons: {\n moreText: {\n buttons: ['font-weight-drop', 'fontFamily', 'fontSize', 'textColor', 'clearFormatting', 'italic', 'strikeThrough', 'subscript', 'superscript', 'backgroundColor', 'inlineClass', 'inlineStyle'],\n buttonsVisible: 5\n },\n moreParagraph: {\n buttons: ['paragraphFormat', 'alignLeft', 'alignCenter', 'formatUL', 'quote', 'alignRight', 'alignJustify', 'formatOLSimple', 'formatOL', 'paragraphStyle', 'lineHeight', 'outdent', 'indent'],\n buttonsVisible: 5\n },\n moreRich: {\n buttons: ['insertLink', 'insertImage', 'insertVideo', 'insertHR', 'insertTable', 'emoticons', 'fontAwesome', 'specialCharacters', 'embedly', 'insertFile'],\n buttonsVisible: 4\n },\n moreMisc: {\n buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'],\n align: 'right',\n buttonsVisible: 3\n }\n },\n toolbarButtonsSm: {\n moreText: {\n buttons: ['font-weight-drop', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'],\n buttonsVisible: 2\n },\n moreParagraph: {\n buttons: ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'],\n buttonsVisible: 2\n },\n moreRich: {\n buttons: ['insertLink', 'insertImage', 'insertVideo', 'insertTable', 'emoticons', 'fontAwesome', 'specialCharacters', 'embedly', 'insertFile', 'insertHR'],\n buttonsVisible: 2\n },\n moreMisc: {\n buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'],\n align: 'right',\n buttonsVisible: 2\n }\n },\n };\n } else if (type === 'simple') {\n return {\n toolbarButtons: [['font-weight-drop', 'fontFamily', 'fontSize', 'textColor', 'clearFormatting'], ['paragraphFormat', 'alignLeft', 'alignCenter', 'formatUL', 'quote'], ['insertLink']],\n toolbarButtonsSm: [['font-weight-drop', 'fontFamily', 'fontSize', 'textColor', 'clearFormatting'], ['paragraphFormat', 'alignLeft', 'alignCenter', 'formatUL', 'quote'], ['insertLink']],\n };\n }\n\n }\n\n\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n Output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport FroalaEditor from 'froala-editor';\n\n@Directive({\n selector: '[froalaEditor]',\n exportAs: 'froalaEditor',\n providers: [{\n provide: NG_VALUE_ACCESSOR, useExisting:\n forwardRef(() => SkFroalaEditorDirective),\n multi: true\n }]\n})\nexport class SkFroalaEditorDirective implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\n constructor(el: ElementRef, private zone: NgZone) {\n\n const element: any = el.nativeElement;\n\n // check if the element is a special tag\n if (this.SPECIAL_TAGS.indexOf(element.tagName.toLowerCase()) != -1) {\n this._hasSpecialTag = true;\n }\n this._element = element;\n\n this.zone = zone;\n }\n\n // End ControlValueAccesor methods.\n\n // froalaEditor directive as input: store the editor options\n @Input() set froalaEditor(opts: any) {\n this._opts = this.clone(opts || this._opts);\n this._opts = {...this._opts};\n }\n\n // froalaModel directive as input: store initial editor content\n @Input() set froalaModel(content: any) {\n this.updateEditor(content);\n }\n\n // editor options\n private _opts: any = {\n immediateAngularModelUpdate: false,\n angularIgnoreAttrs: null\n };\n\n private _element: any;\n\n private SPECIAL_TAGS: string[] = ['img', 'button', 'input', 'a'];\n private INNER_HTML_ATTR: string = 'innerHTML';\n private _hasSpecialTag: boolean = false;\n\n // editor element\n private _editor: any;\n\n // initial editor content\n private _model: string;\n\n private _editorInitialized: boolean = false;\n\n private _oldModel: string = null;\n\n // froalaModel directive as output: update model if editor contentChanged\n @Output() froalaModelChange: EventEmitter<any> = new EventEmitter<any>();\n\n // froalaInit directive as output: send manual editor initialization\n @Output() froalaInit: EventEmitter<Object> = new EventEmitter<Object>();\n\n // Begin ControlValueAccesor methods.\n onChange = (_) => {\n }\n onTouched = () => {\n }\n\n // Form model content changed.\n writeValue(content: any): void {\n this.updateEditor(content);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // TODO: replace clone method with better possible alternate\n private clone(item) {\n const me = this;\n if (!item) {\n return item;\n } // null, undefined values check\n\n let types = [Number, String, Boolean],\n result;\n\n // normalizing primitives if someone did new String('aaa'), or new Number('444');\n types.forEach(function(type) {\n if (item instanceof type) {\n result = type(item);\n }\n });\n\n if (typeof result == 'undefined') {\n if (Object.prototype.toString.call(item) === '[object Array]') {\n result = [];\n item.forEach(function(child, index, array) {\n result[index] = me.clone(child);\n });\n } else if (typeof item == 'object') {\n // testing that this is DOM\n if (item.nodeType && typeof item.cloneNode == 'function') {\n result = item.cloneNode(true);\n } else if (!item.prototype) { // check that this is a literal\n if (item instanceof Date) {\n result = new Date(item);\n } else {\n // it is an object literal\n result = {};\n for (const i in item) {\n result[i] = me.clone(item[i]);\n }\n }\n } else {\n if (false && item.constructor) {\n result = new item.constructor();\n } else {\n result = item;\n }\n }\n } else {\n result = item;\n }\n }\n return result;\n }\n\n // Update editor with model contents.\n private updateEditor(content: any) {\n if (JSON.stringify(this._oldModel) == JSON.stringify(content)) {\n return;\n }\n\n if (!this._hasSpecialTag) {\n this._oldModel = content;\n } else {\n this._model = content;\n }\n\n if (this._editorInitialized) {\n if (!this._hasSpecialTag) {\n this._editor.html.set(content);\n } else {\n this.setContent();\n }\n } else {\n if (!this._hasSpecialTag) {\n this._element.innerHTML = content || '';\n } else {\n this.setContent();\n }\n }\n }\n\n // update model if editor contentChanged\n private updateModel() {\n this.zone.run(() => {\n\n let modelContent: any = null;\n\n if (this._hasSpecialTag) {\n\n const attributeNodes = this._element.attributes;\n const attrs = {};\n\n for (let i = 0; i < attributeNodes.length; i++) {\n\n const attrName = attributeNodes[i].name;\n if (this._opts.angularIgnoreAttrs && this._opts.angularIgnoreAttrs.indexOf(attrName) != -1) {\n continue;\n }\n\n attrs[attrName] = attributeNodes[i].value;\n }\n\n if (this._element.innerHTML) {\n attrs[this.INNER_HTML_ATTR] = this._element.innerHTML;\n }\n\n modelContent = attrs;\n } else {\n\n const returnedHtml: any = this._editor.html.get();\n if (typeof returnedHtml === 'string') {\n modelContent = returnedHtml;\n }\n }\n if (this._oldModel !== modelContent) {\n this._oldModel = modelContent;\n\n // Update froalaModel.\n this.froalaModelChange.emit(modelContent);\n\n // Update form model.\n this.onChange(modelContent);\n }\n\n });\n }\n\n private registerEvent(eventName, callback) {\n\n if (!eventName || !callback) {\n return;\n }\n\n if (!this._opts.events) {\n this._opts.events = {};\n }\n\n this._opts.events[eventName] = callback;\n }\n\n private initListeners() {\n const self = this;\n // Check if we have events on the editor.\n if (this._editor.events) {\n // bind contentChange and keyup event to froalaModel\n this._editor.events.on('contentChanged', function() {\n setTimeout(function() {\n self.updateModel();\n }, 0);\n });\n this._editor.events.on('mousedown', function() {\n setTimeout(function() {\n self.onTouched();\n }, 0);\n });\n\n if (this._opts.immediateAngularModelUpdate) {\n this._editor.events.on('keyup', function() {\n setTimeout(function() {\n self.updateModel();\n }, 0);\n });\n }\n }\n\n this._editorInitialized = true;\n }\n\n private createEditor() {\n if (this._editorInitialized) {\n return;\n }\n\n this.setContent(true);\n\n // init editor\n this.zone.runOutsideAngular(() => {\n // Add listeners on initialized event.\n if (!this._opts.events) { this._opts.events = {}; }\n\n // Register initialized event.\n this.registerEvent('initialized', this._opts.events && this._opts.events.initialized);\n const existingInitCallback = this._opts.events.initialized;\n // Default initialized event.\n if (!this._opts.events.initialized || !this._opts.events.initialized.overridden) {\n this._opts.events.initialized = () => {\n this.initListeners();\n existingInitCallback && existingInitCallback.call(this._editor, this);\n };\n this._opts.events.initialized.overridden = true;\n }\n\n // Initialize the Froala Editor.\n this._editor = new FroalaEditor(\n this._element,\n this._opts\n );\n });\n }\n\n private setHtml() {\n this._editor.html.set(this._model || '');\n\n // This will reset the undo stack everytime the model changes externally. Can we fix this?\n this._editor.undo.reset();\n this._editor.undo.saveStep();\n }\n\n private setContent(firstTime = false) {\n const self = this;\n\n // Set initial content\n if (this._model || this._model == '') {\n this._oldModel = this._model;\n if (this._hasSpecialTag) {\n\n const tags: Object = this._model;\n\n // add tags on element\n if (tags) {\n\n for (const attr in tags) {\n if (tags.hasOwnProperty(attr) && attr != this.INNER_HTML_ATTR) {\n this._element.setAttribute(attr, tags[attr]);\n }\n }\n\n if (tags.hasOwnProperty(this.INNER_HTML_ATTR)) {\n this._element.innerHTML = tags[this.INNER_HTML_ATTR];\n }\n }\n } else {\n if (firstTime) {\n this.registerEvent('initialized', function() {\n self.setHtml();\n });\n } else {\n self.setHtml();\n }\n }\n }\n }\n\n private destroyEditor() {\n if (this._editorInitialized) {\n this._editor.destroy();\n this._editorInitialized = false;\n }\n }\n\n private getEditor() {\n if (this._element) {\n return this._editor;\n }\n\n return null;\n }\n\n // send manual editor initialization\n private generateManualController() {\n const controls = {\n initialize: this.createEditor.bind(this),\n destroy: this.destroyEditor.bind(this),\n getEditor: this.getEditor.bind(this),\n };\n this.froalaInit.emit(controls);\n }\n\n // TODO not sure if ngOnInit is executed after @inputs\n ngAfterViewInit() {\n // check if output froalaInit is present. Maybe observers is private and should not be used?? TODO how to better test that an output directive is present.\n if (!this.froalaInit.observers.length) {\n this.createEditor();\n } else {\n this.generateManualController();\n }\n }\n\n ngOnDestroy() {\n this.destroyEditor();\n }\n}\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { SkApiService } from 'sk-front-lib/api';\nimport { ISkFile, SkArticle, SkFile } from 'sk-front-lib/model';\nimport { SkArticleService } from './sk-article.service';\n\n@Component({\n selector: 'sk-article-editor',\n templateUrl: './sk-article-editor.component.html',\n styleUrls: ['./sk-article-editor.component.scss']\n})\nexport class SkArticleEditorComponent implements OnInit, OnChanges {\n\n @Input() article: SkArticle;\n @Input() toolbarType: string = 'default';\n\n content: string;\n images: SkFile[];\n\n editorConfig;\n\n constructor(private _apiService: SkApiService,\n private _articleService: SkArticleService) {\n this._initOptions();\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // ------------------------------------------1-----------------------------------------------------------\n\n // -----------------------------------------------------------------------------------------------------\n // @ Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._initData();\n this._initOptions();\n }\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n public getData(): { content: string, images: SkFile[] } {\n return {content: this.content, images: this.images};\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Private methods\n // -----------------------------------------------------------------------------------------------------\n\n\n _initData() {\n if (!this.article) {\n return;\n }\n\n this.content = this.article.content;\n this.images = this.article.images || [];\n }\n\n _initOptions() {\n this.editorConfig = Object.assign({}, this._articleService.getBaseConfig(), {\n requestHeaders: {\n 'Authorization': 'Bearer ' + this._apiService.getToken(),\n 'ngsw-bypass': 'true'\n },\n imageUploadParams: {\n imageUrl: this._articleService.environment.apiServer + '/api/public/images/'\n },\n imageUploadParam: 'file',\n imageUploadRemoteUrls: true,\n imageUploadURL: this._articleService.environment.apiServer + '/external/froala/upload',\n\n fileUploadParams: {\n imageUrl: this._articleService.environment.apiServer + '/api/public/files/'\n },\n fileUploadParam: 'file',\n fileUploadURL: this._articleService.environment.apiServer + '/external/froala/upload',\n\n events: {\n 'image.inserted': ($img, response) => {\n this._addImage(JSON.parse(response).file);\n },\n 'image.removed': ($img) => {\n console.log($img, $img.dataset);\n for (let i = 0; i < $img.length; i++) {\n this._removeImage(Number($img[i].dataset.id));\n }\n }\n },\n ...this._articleService.getToolbar(this.toolbarType)\n });\n }\n\n _addImage(file: ISkFile) {\n this.images.push(new SkFile(file));\n }\n\n _removeImage(id: number) {\n const index = this.images.findIndex(value => value.id === id);\n if (index > -1) {\n this.images.splice(index, 1);\n }\n }\n}\n","<div [froalaEditor]=\"editorConfig\" [(froalaModel)]=\"content\"></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkArticleEditorComponent } from './sk-article-editor.component';\nimport { SkFroalaEditorDirective } from './sk-froala-editor.directive';\n\n@NgModule({\n declarations: [\n SkArticleEditorComponent,\n SkFroalaEditorDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SkArticleEditorComponent,\n SkFroalaEditorDirective\n ],\n providers: [\n ]\n})\nexport class SkArticleModule {\n}\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { SkApiService } from 'sk-front-lib/api';\nimport { SkArticle, SkFile } from 'sk-front-lib/model';\n\n@Component({\n selector: 'sk-article-editor',\n templateUrl: './sk-article-editor-server.component.html',\n styleUrls: ['./sk-article-editor-server.component.scss']\n})\nexport class SkArticleEditorServerComponent implements OnInit, OnChanges {\n\n @Input() article: SkArticle;\n @Input() toolbarType: string = 'default';\n\n content: string;\n images: SkFile[];\n\n editorConfig;\n\n constructor(private _apiService: SkApiService) {\n this._initOptions();\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Accessors\n // ------------------------------------------1-----------------------------------------------------------\n\n // -----------------------------------------------------------------------------------------------------\n // @ Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._initData();\n this._initOptions();\n }\n\n\n // -----------------------------------------------------------------------------------------------------\n // @ Public methods\n // -----------------------------------------------------------------------------------------------------\n\n public getData(): { content: string, images: SkFile[] } {\n return {content: this.content, images: this.images};\n }\n\n // -----------------------------------------------------------------------------------------------------\n // @ Private methods\n // -----------------------------------------------------------------------------------------------------\n\n\n _initData() {\n if (!this.article) {\n return;\n }\n\n this.content = this.article.content;\n this.images = this.article.images || [];\n }\n\n _initOptions() {\n }\n}\n","<div>Server</div>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { SkArticleEditorServerComponent } from './sk-article-editor-server.component';\n\n@NgModule({\n declarations: [\n SkArticleEditorServerComponent,\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SkArticleEditorServerComponent,\n ],\n providers: [\n ]\n})\nexport class SkArticleServerModule {\n static forRoot(environment): ModuleWithProviders<SkArticleServerModule> {\n return {\n ngModule: SkArticleServerModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}