sk-front-lib 0.18.1 → 0.18.3

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 (163) hide show
  1. package/article/sk-article-editor-server.component.d.ts +1 -1
  2. package/article/sk-article-editor.component.d.ts +1 -1
  3. package/article/sk-froala-editor.directive.d.ts +1 -1
  4. package/crud/sk-auth-admin.guard.d.ts +2 -2
  5. package/crud/sk-auth.guard.d.ts +2 -2
  6. package/{esm2020 → esm2022}/api/sk-api.module.mjs +9 -9
  7. package/{esm2020 → esm2022}/api/sk-api.service.mjs +4 -4
  8. package/{esm2020 → esm2022}/article/sk-article-editor-server.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/article/sk-article-editor.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/article/sk-article-server.module.mjs +5 -5
  11. package/{esm2020 → esm2022}/article/sk-article.module.mjs +7 -7
  12. package/{esm2020 → esm2022}/article/sk-article.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/article/sk-froala-editor.directive.mjs +7 -7
  14. package/{esm2020 → esm2022}/crud/sk-account.service.mjs +4 -4
  15. package/{esm2020 → esm2022}/crud/sk-affiliate.service.mjs +4 -4
  16. package/{esm2020 → esm2022}/crud/sk-auth-admin.guard.mjs +4 -4
  17. package/{esm2020 → esm2022}/crud/sk-auth.guard.mjs +4 -4
  18. package/{esm2020 → esm2022}/crud/sk-auth.service.mjs +7 -7
  19. package/{esm2020 → esm2022}/crud/sk-board.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/crud/sk-brand.service.mjs +4 -4
  21. package/esm2022/crud/sk-cart.service.mjs +256 -0
  22. package/{esm2020 → esm2022}/crud/sk-category.service.mjs +4 -4
  23. package/{esm2020 → esm2022}/crud/sk-comment.service.mjs +4 -4
  24. package/{esm2020 → esm2022}/crud/sk-config.service.mjs +4 -4
  25. package/{esm2020 → esm2022}/crud/sk-contact.service.mjs +4 -4
  26. package/{esm2020 → esm2022}/crud/sk-coupon.service.mjs +4 -4
  27. package/{esm2020 → esm2022}/crud/sk-document.service.mjs +4 -4
  28. package/{esm2020 → esm2022}/crud/sk-etc.service.mjs +4 -4
  29. package/{esm2020 → esm2022}/crud/sk-file.service.mjs +4 -4
  30. package/{esm2020 → esm2022}/crud/sk-keyword.service.mjs +4 -4
  31. package/{esm2020 → esm2022}/crud/sk-order.service.mjs +4 -4
  32. package/{esm2020 → esm2022}/crud/sk-point.service.mjs +4 -4
  33. package/{esm2020 → esm2022}/crud/sk-product.service.mjs +4 -4
  34. package/{esm2020 → esm2022}/crud/sk-promotion.service.mjs +4 -4
  35. package/{esm2020 → esm2022}/crud/sk-search.service.mjs +4 -4
  36. package/{esm2020 → esm2022}/crud/sk-store.service.mjs +4 -4
  37. package/{esm2020 → esm2022}/crud/sk-user.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/google-analytics/google-analytics-router.module.mjs +9 -9
  39. package/{esm2020 → esm2022}/google-analytics/google-analytics.module.mjs +5 -5
  40. package/{esm2020 → esm2022}/google-analytics/services/google-analytics.service.mjs +4 -4
  41. package/{esm2020 → esm2022}/image/sk-image.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/image/sk-image.module.mjs +13 -13
  43. package/{esm2020 → esm2022}/lib/sk-byte.pipe.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/sk-date-time.pipe.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/sk-date.pipe.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/sk-front-lib.module.mjs +13 -13
  47. package/{esm2020 → esm2022}/lib/sk-keys.pipe.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/sk-time.pipe.mjs +4 -4
  49. package/esm2022/model/lib/filetype.mjs +179 -0
  50. package/{esm2020 → esm2022}/search-address/dialog/dialog.component.mjs +4 -4
  51. package/{esm2020 → esm2022}/search-address/sk-search-address.directive.mjs +4 -4
  52. package/{esm2020 → esm2022}/search-address/sk-search-address.module.mjs +16 -16
  53. package/{esm2020 → esm2022}/search-address/sk-search-address.service.mjs +4 -4
  54. package/esm2022/uploader/sk-uploader.component.mjs +119 -0
  55. package/esm2022/uploader/sk-uploader.directive.mjs +44 -0
  56. package/{esm2020 → esm2022}/uploader/sk-uploader.module.mjs +21 -21
  57. package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs +11 -11
  58. package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs.map +1 -1
  59. package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs +25 -25
  60. package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs.map +1 -1
  61. package/{fesm2020 → fesm2022}/sk-front-lib-crud.mjs +93 -93
  62. package/fesm2022/sk-front-lib-crud.mjs.map +1 -0
  63. package/{fesm2020 → fesm2022}/sk-front-lib-google-analytics.mjs +15 -15
  64. package/{fesm2020 → fesm2022}/sk-front-lib-google-analytics.mjs.map +1 -1
  65. package/{fesm2020 → fesm2022}/sk-front-lib-image.mjs +15 -15
  66. package/{fesm2020 → fesm2022}/sk-front-lib-image.mjs.map +1 -1
  67. package/{fesm2015 → fesm2022}/sk-front-lib-model.mjs +56 -56
  68. package/{fesm2020 → fesm2022}/sk-front-lib-model.mjs.map +1 -1
  69. package/{fesm2020 → fesm2022}/sk-front-lib-search-address.mjs +24 -24
  70. package/{fesm2020 → fesm2022}/sk-front-lib-search-address.mjs.map +1 -1
  71. package/{fesm2020 → fesm2022}/sk-front-lib-uploader.mjs +34 -35
  72. package/{fesm2015 → fesm2022}/sk-front-lib-uploader.mjs.map +1 -1
  73. package/{fesm2020 → fesm2022}/sk-front-lib.mjs +27 -27
  74. package/{fesm2015 → fesm2022}/sk-front-lib.mjs.map +1 -1
  75. package/google-analytics/types/ga-action.type.d.ts +1 -1
  76. package/google-analytics/types/ga-bind.type.d.ts +1 -1
  77. package/image/sk-image.component.d.ts +1 -1
  78. package/model/lib/payment.d.ts +1 -1
  79. package/package.json +44 -66
  80. package/search-address/dialog/dialog.component.d.ts +1 -1
  81. package/search-address/sk-search-address.directive.d.ts +1 -1
  82. package/uploader/sk-uploader.component.d.ts +1 -1
  83. package/uploader/sk-uploader.directive.d.ts +1 -1
  84. package/esm2020/crud/sk-cart.service.mjs +0 -256
  85. package/esm2020/model/lib/filetype.mjs +0 -179
  86. package/esm2020/uploader/sk-uploader.component.mjs +0 -120
  87. package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
  88. package/fesm2015/sk-front-lib-api.mjs +0 -216
  89. package/fesm2015/sk-front-lib-api.mjs.map +0 -1
  90. package/fesm2015/sk-front-lib-article.mjs +0 -758
  91. package/fesm2015/sk-front-lib-article.mjs.map +0 -1
  92. package/fesm2015/sk-front-lib-crud.mjs +0 -1529
  93. package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
  94. package/fesm2015/sk-front-lib-google-analytics.mjs +0 -334
  95. package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
  96. package/fesm2015/sk-front-lib-image.mjs +0 -303
  97. package/fesm2015/sk-front-lib-image.mjs.map +0 -1
  98. package/fesm2015/sk-front-lib-model.mjs.map +0 -1
  99. package/fesm2015/sk-front-lib-search-address.mjs +0 -183
  100. package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
  101. package/fesm2015/sk-front-lib-uploader.mjs +0 -546
  102. package/fesm2015/sk-front-lib.mjs +0 -538
  103. package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
  104. package/fesm2020/sk-front-lib-model.mjs +0 -1105
  105. package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
  106. package/fesm2020/sk-front-lib.mjs.map +0 -1
  107. /package/{esm2020 → esm2022}/api/model/api-config.mjs +0 -0
  108. /package/{esm2020 → esm2022}/api/model/api-pageable-param.mjs +0 -0
  109. /package/{esm2020 → esm2022}/api/model/api-pageable.mjs +0 -0
  110. /package/{esm2020 → esm2022}/api/model/api-response.mjs +0 -0
  111. /package/{esm2020 → esm2022}/api/model/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/api/public_api.mjs +0 -0
  113. /package/{esm2020 → esm2022}/api/sk-front-lib-api.mjs +0 -0
  114. /package/{esm2020 → esm2022}/article/public_api.mjs +0 -0
  115. /package/{esm2020 → esm2022}/article/sk-front-lib-article.mjs +0 -0
  116. /package/{esm2020 → esm2022}/crud/public_api.mjs +0 -0
  117. /package/{esm2020 → esm2022}/crud/sk-front-lib-crud.mjs +0 -0
  118. /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
  119. /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
  120. /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
  121. /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
  122. /package/{esm2020 → esm2022}/google-analytics/public_api.mjs +0 -0
  123. /package/{esm2020 → esm2022}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
  124. /package/{esm2020 → esm2022}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
  125. /package/{esm2020 → esm2022}/google-analytics/types/ga-action.type.mjs +0 -0
  126. /package/{esm2020 → esm2022}/google-analytics/types/ga-bind.type.mjs +0 -0
  127. /package/{esm2020 → esm2022}/image/public_api.mjs +0 -0
  128. /package/{esm2020 → esm2022}/image/sk-front-lib-image.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/sk-animations.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/sk-utils.mjs +0 -0
  131. /package/{esm2020 → esm2022}/model/lib/article.mjs +0 -0
  132. /package/{esm2020 → esm2022}/model/lib/audit.mjs +0 -0
  133. /package/{esm2020 → esm2022}/model/lib/auth.mjs +0 -0
  134. /package/{esm2020 → esm2022}/model/lib/board.mjs +0 -0
  135. /package/{esm2020 → esm2022}/model/lib/cart.mjs +0 -0
  136. /package/{esm2020 → esm2022}/model/lib/comment.mjs +0 -0
  137. /package/{esm2020 → esm2022}/model/lib/contact.mjs +0 -0
  138. /package/{esm2020 → esm2022}/model/lib/coupon.mjs +0 -0
  139. /package/{esm2020 → esm2022}/model/lib/document.mjs +0 -0
  140. /package/{esm2020 → esm2022}/model/lib/etc.mjs +0 -0
  141. /package/{esm2020 → esm2022}/model/lib/file.mjs +0 -0
  142. /package/{esm2020 → esm2022}/model/lib/grid.mjs +0 -0
  143. /package/{esm2020 → esm2022}/model/lib/nicepay.mjs +0 -0
  144. /package/{esm2020 → esm2022}/model/lib/order.mjs +0 -0
  145. /package/{esm2020 → esm2022}/model/lib/payment.mjs +0 -0
  146. /package/{esm2020 → esm2022}/model/lib/point.mjs +0 -0
  147. /package/{esm2020 → esm2022}/model/lib/product-series.mjs +0 -0
  148. /package/{esm2020 → esm2022}/model/lib/product.mjs +0 -0
  149. /package/{esm2020 → esm2022}/model/lib/promotion.mjs +0 -0
  150. /package/{esm2020 → esm2022}/model/lib/shipping.mjs +0 -0
  151. /package/{esm2020 → esm2022}/model/lib/user.mjs +0 -0
  152. /package/{esm2020 → esm2022}/model/public_api.mjs +0 -0
  153. /package/{esm2020 → esm2022}/model/sk-front-lib-model.mjs +0 -0
  154. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  155. /package/{esm2020 → esm2022}/search-address/public_api.mjs +0 -0
  156. /package/{esm2020 → esm2022}/search-address/sk-front-lib-search-address.mjs +0 -0
  157. /package/{esm2020 → esm2022}/search-address/sk-search-address.model.mjs +0 -0
  158. /package/{esm2020 → esm2022}/sk-front-lib.mjs +0 -0
  159. /package/{esm2020 → esm2022}/uploader/public_api.mjs +0 -0
  160. /package/{esm2020 → esm2022}/uploader/sk-front-lib-uploader.mjs +0 -0
  161. /package/{esm2020 → esm2022}/uploader/sk-uploader-file-item.model.mjs +0 -0
  162. /package/{esm2020 → esm2022}/uploader/sk-uploader.animation.mjs +0 -0
  163. /package/{esm2020 → esm2022}/uploader/sk-uploader.class.mjs +0 -0
@@ -1 +1 @@
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":["i2.SkArticleService","i3.SkFroalaEditorDirective"],"mappings":"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"}
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":["i2.SkArticleService","i3.SkFroalaEditorDirective"],"mappings":"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"}