sk-front-lib 0.17.44 → 0.17.46

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 (258) hide show
  1. package/api/model/api-config.d.ts +6 -0
  2. package/api/model/api-pageable-param.d.ts +11 -0
  3. package/api/model/api-pageable.d.ts +11 -0
  4. package/api/model/api-response.d.ts +8 -0
  5. package/api/model/index.d.ts +4 -0
  6. package/api/package.json +10 -0
  7. package/api/public_api.d.ts +3 -0
  8. package/api/sk-api.module.d.ts +12 -0
  9. package/api/sk-api.service.d.ts +34 -0
  10. package/api/sk-front-lib-api.d.ts +5 -0
  11. package/article/package.json +10 -0
  12. package/article/public_api.d.ts +6 -0
  13. package/article/sk-article-editor-server.component.d.ts +23 -0
  14. package/article/sk-article-editor.component.d.ts +27 -0
  15. package/article/sk-article-server.module.d.ts +10 -0
  16. package/article/sk-article.module.d.ts +9 -0
  17. package/article/sk-article.service.d.ts +96 -0
  18. package/article/sk-froala-editor.directive.d.ts +40 -0
  19. package/article/sk-front-lib-article.d.ts +5 -0
  20. package/crud/package.json +10 -0
  21. package/crud/public_api.d.ts +24 -0
  22. package/crud/sk-account.service.d.ts +16 -0
  23. package/crud/sk-affiliate.service.d.ts +38 -0
  24. package/crud/sk-auth-admin.guard.d.ts +13 -0
  25. package/crud/sk-auth.guard.d.ts +13 -0
  26. package/crud/sk-auth.service.d.ts +33 -0
  27. package/crud/sk-board.service.d.ts +21 -0
  28. package/crud/sk-brand.service.d.ts +19 -0
  29. package/crud/sk-cart.service.d.ts +72 -0
  30. package/crud/sk-category.service.d.ts +28 -0
  31. package/crud/sk-comment.service.d.ts +15 -0
  32. package/crud/sk-config.service.d.ts +13 -0
  33. package/crud/sk-contact.service.d.ts +15 -0
  34. package/crud/sk-coupon.service.d.ts +24 -0
  35. package/crud/sk-document.service.d.ts +51 -0
  36. package/crud/sk-etc.service.d.ts +12 -0
  37. package/crud/sk-file.service.d.ts +18 -0
  38. package/crud/sk-front-lib-crud.d.ts +5 -0
  39. package/crud/sk-keyword.service.d.ts +19 -0
  40. package/crud/sk-order.service.d.ts +45 -0
  41. package/crud/sk-point.service.d.ts +17 -0
  42. package/crud/sk-product.service.d.ts +84 -0
  43. package/crud/sk-promotion.service.d.ts +41 -0
  44. package/crud/sk-search.service.d.ts +12 -0
  45. package/crud/sk-store.service.d.ts +17 -0
  46. package/crud/sk-user.service.d.ts +25 -0
  47. package/esm2020/api/model/api-config.mjs +2 -0
  48. package/esm2020/api/model/api-pageable-param.mjs +29 -0
  49. package/esm2020/api/model/api-pageable.mjs +3 -0
  50. package/esm2020/api/model/api-response.mjs +3 -0
  51. package/esm2020/api/model/index.mjs +4 -0
  52. package/esm2020/api/public_api.mjs +4 -0
  53. package/esm2020/api/sk-api.module.mjs +35 -0
  54. package/esm2020/api/sk-api.service.mjs +145 -0
  55. package/esm2020/api/sk-front-lib-api.mjs +5 -0
  56. package/esm2020/article/public_api.mjs +7 -0
  57. package/esm2020/article/sk-article-editor-server.component.mjs +51 -0
  58. package/esm2020/article/sk-article-editor.component.mjs +93 -0
  59. package/esm2020/article/sk-article-server.module.mjs +33 -0
  60. package/esm2020/article/sk-article.module.mjs +32 -0
  61. package/esm2020/article/sk-article.service.mjs +248 -0
  62. package/esm2020/article/sk-froala-editor.directive.mjs +325 -0
  63. package/esm2020/article/sk-front-lib-article.mjs +5 -0
  64. package/esm2020/crud/public_api.mjs +25 -0
  65. package/esm2020/crud/sk-account.service.mjs +36 -0
  66. package/esm2020/crud/sk-affiliate.service.mjs +94 -0
  67. package/esm2020/crud/sk-auth-admin.guard.mjs +31 -0
  68. package/esm2020/crud/sk-auth.guard.mjs +31 -0
  69. package/esm2020/crud/sk-auth.service.mjs +67 -0
  70. package/esm2020/crud/sk-board.service.mjs +54 -0
  71. package/esm2020/crud/sk-brand.service.mjs +46 -0
  72. package/esm2020/crud/sk-cart.service.mjs +256 -0
  73. package/esm2020/crud/sk-category.service.mjs +63 -0
  74. package/esm2020/crud/sk-comment.service.mjs +43 -0
  75. package/esm2020/crud/sk-config.service.mjs +31 -0
  76. package/esm2020/crud/sk-contact.service.mjs +39 -0
  77. package/esm2020/crud/sk-coupon.service.mjs +62 -0
  78. package/esm2020/crud/sk-document.service.mjs +110 -0
  79. package/esm2020/crud/sk-etc.service.mjs +25 -0
  80. package/esm2020/crud/sk-file.service.mjs +37 -0
  81. package/esm2020/crud/sk-front-lib-crud.mjs +5 -0
  82. package/esm2020/crud/sk-keyword.service.mjs +46 -0
  83. package/esm2020/crud/sk-order.service.mjs +133 -0
  84. package/esm2020/crud/sk-point.service.mjs +45 -0
  85. package/esm2020/crud/sk-product.service.mjs +168 -0
  86. package/esm2020/crud/sk-promotion.service.mjs +84 -0
  87. package/esm2020/crud/sk-search.service.mjs +25 -0
  88. package/esm2020/crud/sk-store.service.mjs +47 -0
  89. package/esm2020/crud/sk-user.service.mjs +73 -0
  90. package/esm2020/google-analytics/google-analytics-router.module.mjs +30 -0
  91. package/esm2020/google-analytics/google-analytics.module.mjs +40 -0
  92. package/esm2020/google-analytics/initializers/google-analytics-router.initializer.mjs +24 -0
  93. package/esm2020/google-analytics/initializers/google-analytics.initializer.mjs +46 -0
  94. package/esm2020/google-analytics/interfaces/google-analytics-command.mjs +2 -0
  95. package/esm2020/google-analytics/interfaces/google-analytics-settings.mjs +2 -0
  96. package/esm2020/google-analytics/public_api.mjs +11 -0
  97. package/esm2020/google-analytics/services/google-analytics.service.mjs +223 -0
  98. package/esm2020/google-analytics/sk-front-lib-google-analytics.mjs +5 -0
  99. package/esm2020/google-analytics/tokens/google-analytics-settings-token.mjs +5 -0
  100. package/esm2020/google-analytics/types/ga-action.type.mjs +2 -0
  101. package/esm2020/google-analytics/types/ga-bind.type.mjs +2 -0
  102. package/esm2020/image/public_api.mjs +3 -0
  103. package/esm2020/image/sk-front-lib-image.mjs +5 -0
  104. package/esm2020/image/sk-image.component.mjs +262 -0
  105. package/esm2020/image/sk-image.module.mjs +43 -0
  106. package/{esm2022 → esm2020}/lib/sk-byte.pipe.mjs +4 -4
  107. package/{esm2022 → esm2020}/lib/sk-date-time.pipe.mjs +4 -4
  108. package/{esm2022 → esm2020}/lib/sk-date.pipe.mjs +4 -4
  109. package/esm2020/lib/sk-front-lib.module.mjs +41 -0
  110. package/{esm2022 → esm2020}/lib/sk-keys.pipe.mjs +4 -4
  111. package/{esm2022 → esm2020}/lib/sk-time.pipe.mjs +4 -4
  112. package/esm2020/model/lib/article.mjs +11 -0
  113. package/esm2020/model/lib/audit.mjs +12 -0
  114. package/esm2020/model/lib/auth.mjs +2 -0
  115. package/esm2020/model/lib/board.mjs +21 -0
  116. package/esm2020/model/lib/cart.mjs +29 -0
  117. package/esm2020/model/lib/comment.mjs +25 -0
  118. package/esm2020/model/lib/contact.mjs +28 -0
  119. package/esm2020/model/lib/coupon.mjs +23 -0
  120. package/esm2020/model/lib/document.mjs +49 -0
  121. package/esm2020/model/lib/etc.mjs +57 -0
  122. package/esm2020/model/lib/file.mjs +8 -0
  123. package/esm2020/model/lib/filetype.mjs +179 -0
  124. package/esm2020/model/lib/grid.mjs +83 -0
  125. package/esm2020/model/lib/nicepay.mjs +81 -0
  126. package/esm2020/model/lib/order.mjs +106 -0
  127. package/esm2020/model/lib/payment.mjs +30 -0
  128. package/esm2020/model/lib/point.mjs +47 -0
  129. package/esm2020/model/lib/product-series.mjs +2 -0
  130. package/esm2020/model/lib/product.mjs +156 -0
  131. package/esm2020/model/lib/promotion.mjs +80 -0
  132. package/esm2020/model/lib/shipping.mjs +37 -0
  133. package/esm2020/model/lib/user.mjs +61 -0
  134. package/esm2020/model/public_api.mjs +23 -0
  135. package/esm2020/model/sk-front-lib-model.mjs +5 -0
  136. package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
  137. package/esm2020/search-address/public_api.mjs +4 -0
  138. package/esm2020/search-address/sk-front-lib-search-address.mjs +5 -0
  139. package/esm2020/search-address/sk-search-address.directive.mjs +41 -0
  140. package/esm2020/search-address/sk-search-address.model.mjs +8 -0
  141. package/esm2020/search-address/sk-search-address.module.mjs +52 -0
  142. package/esm2020/search-address/sk-search-address.service.mjs +65 -0
  143. package/esm2020/uploader/public_api.mjs +4 -0
  144. package/esm2020/uploader/sk-front-lib-uploader.mjs +5 -0
  145. package/esm2020/uploader/sk-uploader-file-item.model.mjs +95 -0
  146. package/esm2020/uploader/sk-uploader.animation.mjs +47 -0
  147. package/esm2020/uploader/sk-uploader.class.mjs +188 -0
  148. package/esm2020/uploader/sk-uploader.component.mjs +120 -0
  149. package/esm2020/uploader/sk-uploader.directive.mjs +44 -0
  150. package/esm2020/uploader/sk-uploader.module.mjs +62 -0
  151. package/fesm2015/sk-front-lib-api.mjs +218 -0
  152. package/fesm2015/sk-front-lib-api.mjs.map +1 -0
  153. package/fesm2015/sk-front-lib-article.mjs +762 -0
  154. package/fesm2015/sk-front-lib-article.mjs.map +1 -0
  155. package/fesm2015/sk-front-lib-crud.mjs +1529 -0
  156. package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
  157. package/fesm2015/sk-front-lib-google-analytics.mjs +361 -0
  158. package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
  159. package/fesm2015/sk-front-lib-image.mjs +306 -0
  160. package/fesm2015/sk-front-lib-image.mjs.map +1 -0
  161. package/fesm2015/sk-front-lib-model.mjs +1105 -0
  162. package/fesm2015/sk-front-lib-model.mjs.map +1 -0
  163. package/fesm2015/sk-front-lib-search-address.mjs +188 -0
  164. package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
  165. package/fesm2015/sk-front-lib-uploader.mjs +551 -0
  166. package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
  167. package/{fesm2022 → fesm2015}/sk-front-lib.mjs +27 -27
  168. package/{fesm2022 → fesm2015}/sk-front-lib.mjs.map +1 -1
  169. package/fesm2020/sk-front-lib-api.mjs +216 -0
  170. package/fesm2020/sk-front-lib-api.mjs.map +1 -0
  171. package/fesm2020/sk-front-lib-article.mjs +771 -0
  172. package/fesm2020/sk-front-lib-article.mjs.map +1 -0
  173. package/fesm2020/sk-front-lib-crud.mjs +1525 -0
  174. package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
  175. package/fesm2020/sk-front-lib-google-analytics.mjs +358 -0
  176. package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
  177. package/fesm2020/sk-front-lib-image.mjs +309 -0
  178. package/fesm2020/sk-front-lib-image.mjs.map +1 -0
  179. package/fesm2020/sk-front-lib-model.mjs +1105 -0
  180. package/fesm2020/sk-front-lib-model.mjs.map +1 -0
  181. package/fesm2020/sk-front-lib-search-address.mjs +186 -0
  182. package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
  183. package/fesm2020/sk-front-lib-uploader.mjs +549 -0
  184. package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
  185. package/fesm2020/sk-front-lib.mjs +538 -0
  186. package/fesm2020/sk-front-lib.mjs.map +1 -0
  187. package/google-analytics/google-analytics-router.module.d.ts +8 -0
  188. package/google-analytics/google-analytics.module.d.ts +10 -0
  189. package/google-analytics/initializers/google-analytics-router.initializer.d.ts +5 -0
  190. package/google-analytics/initializers/google-analytics.initializer.d.ts +4 -0
  191. package/google-analytics/interfaces/google-analytics-command.d.ts +4 -0
  192. package/google-analytics/interfaces/google-analytics-settings.d.ts +6 -0
  193. package/google-analytics/package.json +10 -0
  194. package/google-analytics/public_api.d.ts +10 -0
  195. package/google-analytics/services/google-analytics.service.d.ts +85 -0
  196. package/google-analytics/sk-front-lib-google-analytics.d.ts +5 -0
  197. package/google-analytics/tokens/google-analytics-settings-token.d.ts +3 -0
  198. package/google-analytics/types/ga-action.type.d.ts +1 -0
  199. package/google-analytics/types/ga-bind.type.d.ts +1 -0
  200. package/image/package.json +10 -0
  201. package/image/public_api.d.ts +3 -0
  202. package/image/sk-front-lib-image.d.ts +5 -0
  203. package/image/sk-image.component.d.ts +112 -0
  204. package/image/sk-image.module.d.ts +12 -0
  205. package/lib/sk-byte.pipe.d.ts +1 -1
  206. package/lib/sk-date-time.pipe.d.ts +1 -1
  207. package/lib/sk-date.pipe.d.ts +1 -1
  208. package/lib/sk-keys.pipe.d.ts +1 -1
  209. package/lib/sk-time.pipe.d.ts +1 -1
  210. package/model/lib/article.d.ts +13 -0
  211. package/model/lib/audit.d.ts +13 -0
  212. package/model/lib/auth.d.ts +8 -0
  213. package/model/lib/board.d.ts +39 -0
  214. package/model/lib/cart.d.ts +45 -0
  215. package/model/lib/comment.d.ts +43 -0
  216. package/model/lib/contact.d.ts +40 -0
  217. package/model/lib/coupon.d.ts +116 -0
  218. package/model/lib/document.d.ts +104 -0
  219. package/model/lib/etc.d.ts +220 -0
  220. package/model/lib/file.d.ts +24 -0
  221. package/model/lib/filetype.d.ts +10 -0
  222. package/model/lib/grid.d.ts +97 -0
  223. package/model/lib/nicepay.d.ts +39 -0
  224. package/model/lib/order.d.ts +163 -0
  225. package/model/lib/payment.d.ts +27 -0
  226. package/model/lib/point.d.ts +30 -0
  227. package/model/lib/product-series.d.ts +25 -0
  228. package/model/lib/product.d.ts +308 -0
  229. package/model/lib/promotion.d.ts +169 -0
  230. package/model/lib/shipping.d.ts +44 -0
  231. package/model/lib/user.d.ts +54 -0
  232. package/model/package.json +10 -0
  233. package/model/public_api.d.ts +22 -0
  234. package/model/sk-front-lib-model.d.ts +5 -0
  235. package/package.json +77 -7
  236. package/search-address/dialog/dialog.component.d.ts +13 -0
  237. package/search-address/package.json +10 -0
  238. package/search-address/public_api.d.ts +3 -0
  239. package/search-address/sk-front-lib-search-address.d.ts +5 -0
  240. package/search-address/sk-search-address.directive.d.ts +15 -0
  241. package/search-address/sk-search-address.model.d.ts +40 -0
  242. package/search-address/sk-search-address.module.d.ts +14 -0
  243. package/search-address/sk-search-address.service.d.ts +13 -0
  244. package/uploader/package.json +10 -0
  245. package/uploader/public_api.d.ts +4 -0
  246. package/uploader/sk-front-lib-uploader.d.ts +5 -0
  247. package/uploader/sk-uploader-file-item.model.d.ts +29 -0
  248. package/uploader/sk-uploader.animation.d.ts +1 -0
  249. package/uploader/sk-uploader.class.d.ts +47 -0
  250. package/uploader/sk-uploader.component.d.ts +28 -0
  251. package/uploader/sk-uploader.directive.d.ts +15 -0
  252. package/uploader/sk-uploader.module.d.ts +16 -0
  253. package/esm2022/lib/sk-front-lib.module.mjs +0 -41
  254. /package/{esm2022 → esm2020}/lib/sk-animations.mjs +0 -0
  255. /package/{esm2022 → esm2020}/lib/sk-utils.mjs +0 -0
  256. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
  257. /package/{esm2022 → esm2020}/sk-front-lib.mjs +0 -0
  258. /package/{index.d.ts → sk-front-lib.d.ts} +0 -0
@@ -0,0 +1,145 @@
1
+ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
+ import { isPlatformBrowser } from '@angular/common';
3
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
4
+ import { timer } from 'rxjs';
5
+ import { map, switchMap, tap } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "@angular/common/http";
9
+ export class SkApiService {
10
+ constructor(config, platformId, router, http) {
11
+ this.config = config;
12
+ this.platformId = platformId;
13
+ this.router = router;
14
+ this.http = http;
15
+ this.maintenanceUrl = '/maintenance';
16
+ this.errorUrl = '/error';
17
+ this.loginUrl = '/login';
18
+ if (!config.apiServer) {
19
+ throw Error('ApiService는 baseurl을 주입받아야 합니다.');
20
+ }
21
+ this.apiServer = config.apiServer;
22
+ if (!!config.maintenanceUrl) {
23
+ this.maintenanceUrl = config.maintenanceUrl;
24
+ }
25
+ if (!!config.loginUrl) {
26
+ this.loginUrl = config.loginUrl;
27
+ }
28
+ if (!!config.errorUrl) {
29
+ this.errorUrl = config.errorUrl;
30
+ }
31
+ this.isPlatformBrowser = isPlatformBrowser(this.platformId);
32
+ }
33
+ get(path, parameters) {
34
+ return this.http.get(this.apiServer + path, {
35
+ headers: this.parseTokenHeader(),
36
+ params: parameters,
37
+ withCredentials: true
38
+ }).pipe(tap(next => this.handleNext(next), error => this.handleError(error)));
39
+ }
40
+ getPageable(path, parameters) {
41
+ return this.http.get(this.apiServer + path, {
42
+ headers: this.parseTokenHeader(),
43
+ params: parameters,
44
+ withCredentials: true
45
+ }).pipe(tap(next => this.handleNext(next), error => this.handleError(error)));
46
+ }
47
+ post(path, body, parameters) {
48
+ return this.http.post(this.apiServer + path, body, {
49
+ headers: this.parseTokenHeader(),
50
+ params: parameters,
51
+ withCredentials: true
52
+ }).pipe(tap(next => this.handleNext(next), error => this.handleError(error)));
53
+ }
54
+ put(path, body, parameters) {
55
+ return this.http.put(this.apiServer + path, body, {
56
+ headers: this.parseTokenHeader(),
57
+ params: parameters,
58
+ withCredentials: true
59
+ }).pipe(tap(next => this.handleNext(next), error => this.handleError(error)));
60
+ }
61
+ delete(path, parameters) {
62
+ return this.http.delete(this.apiServer + path, {
63
+ headers: this.parseTokenHeader(),
64
+ params: parameters,
65
+ withCredentials: true
66
+ }).pipe(tap(next => this.handleNext(next), error => this.handleError(error)));
67
+ }
68
+ // 원시적인 request, apiservice의 다른 도움을 받지 못한다.
69
+ rawRequest(req) {
70
+ return this.http.request(req);
71
+ }
72
+ parseTokenHeader() {
73
+ const token = this.getToken();
74
+ if (!!token) {
75
+ return new HttpHeaders().set('Authorization', `Bearer ${token}`);
76
+ }
77
+ else {
78
+ return new HttpHeaders();
79
+ }
80
+ }
81
+ setToken(tokenString) {
82
+ if (this.isPlatformBrowser) {
83
+ localStorage.setItem('token', tokenString);
84
+ }
85
+ }
86
+ getToken() {
87
+ return this.isPlatformBrowser ? localStorage.getItem('token') : null;
88
+ }
89
+ clearToken() {
90
+ if (this.isPlatformBrowser) {
91
+ localStorage.removeItem('token');
92
+ }
93
+ }
94
+ handleError(error) {
95
+ if (error.status === 0) {
96
+ // 서버와 연결 수립이 안될 경우 or 서버가 미가동 상태일때
97
+ this.router.navigate([this.maintenanceUrl], { skipLocationChange: true });
98
+ }
99
+ else if (error.status === 500 || error.status === 502 || error.status === 404) {
100
+ this.router.navigate([this.errorUrl], { skipLocationChange: true });
101
+ }
102
+ else {
103
+ throw error;
104
+ }
105
+ }
106
+ handleNext(next) {
107
+ if (next && next.error) {
108
+ throw new Error(next.message);
109
+ }
110
+ }
111
+ getDuplicateValidator(apiService, path, key, ignore = 0, cdRef = null) {
112
+ return (control) => {
113
+ return timer(500)
114
+ .pipe(switchMap(() => {
115
+ // if (control.pristine && control.valid) {
116
+ // return of(false);
117
+ // } else {
118
+ return apiService.get(path, new HttpParams().append(key, String(control.value)).append('ignore', String(ignore)))
119
+ .pipe(map((result) => result.data));
120
+ // }
121
+ }), map(result => {
122
+ return result ? { duplicated: true } : null;
123
+ }), tap(() => setTimeout(() => {
124
+ if (cdRef) {
125
+ cdRef.markForCheck();
126
+ }
127
+ }, 0)));
128
+ };
129
+ }
130
+ }
131
+ SkApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkApiService, deps: [{ token: 'config' }, { token: PLATFORM_ID }, { token: i1.Router }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
132
+ SkApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkApiService, providedIn: 'root' });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkApiService, decorators: [{
134
+ type: Injectable,
135
+ args: [{
136
+ providedIn: 'root'
137
+ }]
138
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
139
+ type: Inject,
140
+ args: ['config']
141
+ }] }, { type: undefined, decorators: [{
142
+ type: Inject,
143
+ args: [PLATFORM_ID]
144
+ }] }, { type: i1.Router }, { type: i2.HttpClient }]; } });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvYXBpL3NyYy9zay1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR2xELE9BQU8sRUFBYSxXQUFXLEVBQUUsVUFBVSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFFdEYsT0FBTyxFQUFpQixLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPbkQsTUFBTSxPQUFPLFlBQVk7SUFTckIsWUFBc0MsTUFBaUIsRUFDZCxVQUFVLEVBQy9CLE1BQWMsRUFDZCxJQUFnQjtRQUhFLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFBO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBUHBDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxRQUFRLENBQUM7UUFDcEIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQU9oQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRWxDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1NBQy9DO1FBRUQsSUFBSSxD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TSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztxQkFDckgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQTRCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJO1lBQ1IsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNULE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzlDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN0QixJQUFJLEtBQUssRUFBRTtvQkFDUCxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQ3hCO1lBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ1QsQ0FBQztRQUNWLENBQUMsQ0FBQztJQUNOLENBQUM7O3lHQXhLUSxZQUFZLGtCQVNELFFBQVEsYUFDUixXQUFXOzZHQVZ0QixZQUFZLGNBRlQsTUFBTTsyRkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBVWdCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cFJlcXVlc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QXBpQ29uZmlnLCBBcGlQYWdlYWJsZSwgQXBpUmVzcG9uc2V9IGZyb20gJy4vbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQXBpU2VydmljZSB7XG5cbiAgICBhcGlTZXJ2ZXI7XG4gICAgaXNQbGF0Zm9ybUJyb3dzZXI6IGJvb2xlYW47XG5cbiAgICBtYWludGVuYW5jZVVybCA9ICcvbWFpbnRlbmFuY2UnO1xuICAgIGVycm9yVXJsID0gJy9lcnJvcic7XG4gICAgbG9naW5VcmwgPSAnL2xvZ2luJztcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBBcGlDb25maWcsXG4gICAgICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG5cbiAgICAgICAgaWYgKCFjb25maWcuYXBpU2VydmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignQXBpU2VydmljZeuKlCBiYXNldXJs7J2EIOyjvOyeheuwm+yVhOyVvCDtlanri4jri6QuJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2ZXIgPSBjb25maWcuYXBpU2VydmVyO1xuXG4gICAgICAgIGlmICghIWNvbmZpZy5tYWludGVuYW5jZVVybCkge1xuICAgICAgICAgICAgdGhpcy5tYWludGVuYW5jZVVybCA9IGNvbmZpZy5tYWludGVuYW5jZVVybDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIWNvbmZpZy5sb2dpblVybCkge1xuICAgICAgICAgICAgdGhpcy5sb2dpblVybCA9IGNvbmZpZy5sb2dpblVybDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIWNvbmZpZy5lcnJvclVybCkge1xuICAgICAgICAgICAgdGhpcy5lcnJvclVybCA9IGNvbmZpZy5lcnJvclVybDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNQbGF0Zm9ybUJyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICAgIH1cblxuICAgIGdldDxUPihwYXRoOiBzdHJpbmcsIHBhcmFtZXRlcnM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlSZXNwb25zZTxUPj4odGhpcy5hcGlTZXJ2ZXIgKyBwYXRoLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLnBhcnNlVG9rZW5IZWFkZXIoKSxcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKFxuICAgICAgICAgICAgICAgIG5leHQgPT4gdGhpcy5oYW5kbGVOZXh0KG5leHQpLFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0UGFnZWFibGU8VD4ocGF0aDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBpUGFnZWFibGU8VD4+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPEFwaVBhZ2VhYmxlPFQ+Pj4odGhpcy5hcGlTZXJ2ZXIgKyBwYXRoLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLnBhcnNlVG9rZW5IZWFkZXIoKSxcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKFxuICAgICAgICAgICAgICAgIG5leHQgPT4gdGhpcy5oYW5kbGVOZXh0KG5leHQpLFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcG9zdDxUPihwYXRoOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1ldGVycz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlSZXNwb25zZTxUPj4odGhpcy5hcGlTZXJ2ZXIgKyBwYXRoLCBib2R5LCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLnBhcnNlVG9rZW5IZWFkZXIoKSxcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKFxuICAgICAgICAgICAgICAgIG5leHQgPT4gdGhpcy5oYW5kbGVOZXh0KG5leHQpLFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHV0PFQ+KHBhdGg6IHN0cmluZywgYm9keTogYW55LCBwYXJhbWV0ZXJzPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpUmVzcG9uc2U8VD4+KHRoaXMuYXBpU2VydmVyICsgcGF0aCwgYm9keSwge1xuICAgICAgICAgICAgaGVhZGVyczogdGhpcy5wYXJzZVRva2VuSGVhZGVyKCksXG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtZXRlcnMsXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICBuZXh0ID0+IHRoaXMuaGFuZGxlTmV4dChuZXh0KSxcbiAgICAgICAgICAgICAgICBlcnJvciA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZTxUPihwYXRoOiBzdHJpbmcsIHBhcmFtZXRlcnM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlSZXNwb25zZTxUPj4odGhpcy5hcGlTZXJ2ZXIgKyBwYXRoLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLnBhcnNlVG9rZW5IZWFkZXIoKSxcbiAgICAgICAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKFxuICAgICAgICAgICAgICAgIG5leHQgPT4gdGhpcy5oYW5kbGVOZXh0KG5leHQpLFxuICAgICAgICAgICAgICAgIGVycm9yID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8g7JuQ7Iuc7KCB7J24IHJlcXVlc3QsIGFwaXNlcnZpY2XsnZgg64uk66W4IOuPhOybgOydhCDrsJvsp4Ag66q77ZWc64ukLlxuICAgIHJhd1JlcXVlc3Q8VD4ocmVxOiBIdHRwUmVxdWVzdDxUPikge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3QocmVxKTtcbiAgICB9XG5cbiAgICBwYXJzZVRva2VuSGVhZGVyKCk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmdldFRva2VuKCk7XG4gICAgICAgIGlmICghIXRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3Rva2VufWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0VG9rZW4odG9rZW5TdHJpbmc6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5pc1BsYXRmb3JtQnJvd3Nlcikge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgdG9rZW5TdHJpbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNQbGF0Zm9ybUJyb3dzZXIgPyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA6IG51bGw7XG4gICAgfVxuXG4gICAgY2xlYXJUb2tlbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNQbGF0Zm9ybUJyb3dzZXIpIHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gMCkge1xuICAgICAgICAgICAgLy8g7ISc67KE7JmAIOyXsOqysCDsiJjrpr3snbQg7JWI65CgIOqyveyasCBvciDshJzrsoTqsIAg66+46rCA64+ZIOyDge2DnOydvOuVjFxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMubWFpbnRlbmFuY2VVcmxdLCB7c2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDAgfHwgZXJyb3Iuc3RhdHVzID09PSA1MDIgfHwgZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmVycm9yVXJsXSwge3NraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZX0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVOZXh0KG5leHQ6IEFwaVJlc3BvbnNlPGFueT4pIHtcbiAgICAgICAgaWYgKG5leHQgJiYgbmV4dC5lcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG5leHQubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREdXBsaWNhdGVWYWxpZGF0b3IoYXBpU2VydmljZTogU2tBcGlTZXJ2aWNlLCBwYXRoOiBzdHJpbmcsIGtleTogc3RyaW5nLCBpZ25vcmU6IG51bWJlciA9IDAsIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRpbWVyKDUwMClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIChjb250cm9sLnByaXN0aW5lICYmIGNvbnRyb2wudmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhcGlTZXJ2aWNlLmdldDxib29sZWFuPihwYXRoLCBuZXcgSHR0cFBhcmFtcygpLmFwcGVuZChrZXksIFN0cmluZyhjb250cm9sLnZhbHVlKSkuYXBwZW5kKCdpZ25vcmUnLCBTdHJpbmcoaWdub3JlKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IEFwaVJlc3BvbnNlPGJvb2xlYW4+KSA9PiByZXN1bHQuZGF0YSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0ID8ge2R1cGxpY2F0ZWQ6IHRydWV9IDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZFJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCAwKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stZnJvbnQtbGliLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9hcGkvc3JjL3NrLWZyb250LWxpYi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export * from './sk-article-editor.component';
2
+ export * from './sk-article.module';
3
+ export * from './sk-article.service';
4
+ export * from './sk-froala-editor.directive';
5
+ export * from './sk-article-server.module';
6
+ export * from './sk-article-editor-server.component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9hcnRpY2xlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zay1hcnRpY2xlLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zay1hcnRpY2xlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NrLWFydGljbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NrLWZyb2FsYS1lZGl0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2stYXJ0aWNsZS1zZXJ2ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2stYXJ0aWNsZS1lZGl0b3Itc2VydmVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "sk-front-lib/api";
4
+ export class SkArticleEditorServerComponent {
5
+ constructor(_apiService) {
6
+ this._apiService = _apiService;
7
+ this.toolbarType = 'default';
8
+ this._initOptions();
9
+ }
10
+ // -----------------------------------------------------------------------------------------------------
11
+ // @ Accessors
12
+ // ------------------------------------------1-----------------------------------------------------------
13
+ // -----------------------------------------------------------------------------------------------------
14
+ // @ Lifecycle hooks
15
+ // -----------------------------------------------------------------------------------------------------
16
+ ngOnInit() {
17
+ }
18
+ ngOnChanges(changes) {
19
+ this._initData();
20
+ this._initOptions();
21
+ }
22
+ // -----------------------------------------------------------------------------------------------------
23
+ // @ Public methods
24
+ // -----------------------------------------------------------------------------------------------------
25
+ getData() {
26
+ return { content: this.content, images: this.images };
27
+ }
28
+ // -----------------------------------------------------------------------------------------------------
29
+ // @ Private methods
30
+ // -----------------------------------------------------------------------------------------------------
31
+ _initData() {
32
+ if (!this.article) {
33
+ return;
34
+ }
35
+ this.content = this.article.content;
36
+ this.images = this.article.images || [];
37
+ }
38
+ _initOptions() {
39
+ }
40
+ }
41
+ SkArticleEditorServerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleEditorServerComponent, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Component });
42
+ SkArticleEditorServerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: SkArticleEditorServerComponent, selector: "sk-article-editor", inputs: { article: "article", toolbarType: "toolbarType" }, usesOnChanges: true, ngImport: i0, template: "<div>Server</div>\n", styles: [":host{position:relative;display:block}\n"] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleEditorServerComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'sk-article-editor', template: "<div>Server</div>\n", styles: [":host{position:relative;display:block}\n"] }]
46
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }]; }, propDecorators: { article: [{
47
+ type: Input
48
+ }], toolbarType: [{
49
+ type: Input
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stYXJ0aWNsZS1lZGl0b3Itc2VydmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9hcnRpY2xlL3NyYy9zay1hcnRpY2xlLWVkaXRvci1zZXJ2ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2FydGljbGUvc3JjL3NrLWFydGljbGUtZWRpdG9yLXNlcnZlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7OztBQVNuRixNQUFNLE9BQU8sOEJBQThCO0lBVXZDLFlBQW9CLFdBQXlCO1FBQXpCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBUHBDLGdCQUFXLEdBQVcsU0FBUyxDQUFDO1FBUXJDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsd0dBQXdHO0lBQ3hHLGNBQWM7SUFDZCx5R0FBeUc7SUFFekcsd0dBQXdHO0lBQ3hHLG9CQUFvQjtJQUNwQix3R0FBd0c7SUFFeEcsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBR0Qsd0dBQXdHO0lBQ3hHLG1CQUFtQjtJQUNuQix3R0FBd0c7SUFFakcsT0FBTztRQUNWLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUd4RyxTQUFTO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZO0lBQ1osQ0FBQzs7MkhBdERRLDhCQUE4QjsrR0FBOUIsOEJBQThCLDBJQ1QzQyxxQkFDQTsyRkRRYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0ksbUJBQW1CO21HQU1wQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa0FwaVNlcnZpY2UgfSBmcm9tICdzay1mcm9udC1saWIvYXBpJztcbmltcG9ydCB7IFNrQXJ0aWNsZSwgU2tGaWxlIH0gZnJvbSAnc2stZnJvbnQtbGliL21vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzay1hcnRpY2xlLWVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NrLWFydGljbGUtZWRpdG9yLXNlcnZlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2stYXJ0aWNsZS1lZGl0b3Itc2VydmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2tBcnRpY2xlRWRpdG9yU2VydmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgYXJ0aWNsZTogU2tBcnRpY2xlO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJUeXBlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG5cbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgaW1hZ2VzOiBTa0ZpbGVbXTtcblxuICAgIGVkaXRvckNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSkge1xuICAgICAgICB0aGlzLl9pbml0T3B0aW9ucygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBBY2Nlc3NvcnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBMaWZlY3ljbGUgaG9va3NcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0RGF0YSgpO1xuICAgICAgICB0aGlzLl9pbml0T3B0aW9ucygpO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXREYXRhKCk6IHsgY29udGVudDogc3RyaW5nLCBpbWFnZXM6IFNrRmlsZVtdIH0ge1xuICAgICAgICByZXR1cm4ge2NvbnRlbnQ6IHRoaXMuY29udGVudCwgaW1hZ2VzOiB0aGlzLmltYWdlc307XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFByaXZhdGUgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAgIF9pbml0RGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFydGljbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuYXJ0aWNsZS5jb250ZW50O1xuICAgICAgICB0aGlzLmltYWdlcyA9IHRoaXMuYXJ0aWNsZS5pbWFnZXMgfHwgW107XG4gICAgfVxuXG4gICAgX2luaXRPcHRpb25zKCkge1xuICAgIH1cbn1cbiIsIjxkaXY+U2VydmVyPC9kaXY+XG4iXX0=
@@ -0,0 +1,93 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { SkFile } from 'sk-front-lib/model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "sk-front-lib/api";
5
+ import * as i2 from "./sk-article.service";
6
+ import * as i3 from "./sk-froala-editor.directive";
7
+ export class SkArticleEditorComponent {
8
+ constructor(_apiService, _articleService) {
9
+ this._apiService = _apiService;
10
+ this._articleService = _articleService;
11
+ this.toolbarType = 'default';
12
+ this._initOptions();
13
+ }
14
+ // -----------------------------------------------------------------------------------------------------
15
+ // @ Accessors
16
+ // ------------------------------------------1-----------------------------------------------------------
17
+ // -----------------------------------------------------------------------------------------------------
18
+ // @ Lifecycle hooks
19
+ // -----------------------------------------------------------------------------------------------------
20
+ ngOnInit() {
21
+ }
22
+ ngOnChanges(changes) {
23
+ this._initData();
24
+ this._initOptions();
25
+ }
26
+ // -----------------------------------------------------------------------------------------------------
27
+ // @ Public methods
28
+ // -----------------------------------------------------------------------------------------------------
29
+ getData() {
30
+ return { content: this.content, images: this.images };
31
+ }
32
+ // -----------------------------------------------------------------------------------------------------
33
+ // @ Private methods
34
+ // -----------------------------------------------------------------------------------------------------
35
+ _initData() {
36
+ if (!this.article) {
37
+ return;
38
+ }
39
+ this.content = this.article.content;
40
+ this.images = this.article.images || [];
41
+ }
42
+ _initOptions() {
43
+ this.editorConfig = Object.assign({}, this._articleService.getBaseConfig(), {
44
+ requestHeaders: {
45
+ 'Authorization': 'Bearer ' + this._apiService.getToken(),
46
+ 'ngsw-bypass': 'true'
47
+ },
48
+ imageUploadParams: {
49
+ imageUrl: this._articleService.environment.apiServer + '/api/public/images/'
50
+ },
51
+ imageUploadParam: 'file',
52
+ imageUploadRemoteUrls: true,
53
+ imageUploadURL: this._articleService.environment.apiServer + '/external/froala/upload',
54
+ fileUploadParams: {
55
+ imageUrl: this._articleService.environment.apiServer + '/api/public/files/'
56
+ },
57
+ fileUploadParam: 'file',
58
+ fileUploadURL: this._articleService.environment.apiServer + '/external/froala/upload',
59
+ events: {
60
+ 'image.inserted': ($img, response) => {
61
+ this._addImage(JSON.parse(response).file);
62
+ },
63
+ 'image.removed': ($img) => {
64
+ console.log($img, $img.dataset);
65
+ for (let i = 0; i < $img.length; i++) {
66
+ this._removeImage(Number($img[i].dataset.id));
67
+ }
68
+ }
69
+ },
70
+ ...this._articleService.getToolbar(this.toolbarType)
71
+ });
72
+ }
73
+ _addImage(file) {
74
+ this.images.push(new SkFile(file));
75
+ }
76
+ _removeImage(id) {
77
+ const index = this.images.findIndex(value => value.id === id);
78
+ if (index > -1) {
79
+ this.images.splice(index, 1);
80
+ }
81
+ }
82
+ }
83
+ SkArticleEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleEditorComponent, deps: [{ token: i1.SkApiService }, { token: i2.SkArticleService }], target: i0.ɵɵFactoryTarget.Component });
84
+ SkArticleEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: SkArticleEditorComponent, selector: "sk-article-editor", inputs: { article: "article", toolbarType: "toolbarType" }, usesOnChanges: true, ngImport: i0, template: "<div [froalaEditor]=\"editorConfig\" [(froalaModel)]=\"content\"></div>\n", styles: [":host{position:relative;display:block}\n"], directives: [{ type: i3.SkFroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }] });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleEditorComponent, decorators: [{
86
+ type: Component,
87
+ args: [{ selector: 'sk-article-editor', template: "<div [froalaEditor]=\"editorConfig\" [(froalaModel)]=\"content\"></div>\n", styles: [":host{position:relative;display:block}\n"] }]
88
+ }], ctorParameters: function () { return [{ type: i1.SkApiService }, { type: i2.SkArticleService }]; }, propDecorators: { article: [{
89
+ type: Input
90
+ }], toolbarType: [{
91
+ type: Input
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stYXJ0aWNsZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2FydGljbGUvc3JjL3NrLWFydGljbGUtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NrLWZyb250LWxpYi9hcnRpY2xlL3NyYy9zay1hcnRpY2xlLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFzQixNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFRaEUsTUFBTSxPQUFPLHdCQUF3QjtJQVVqQyxZQUFvQixXQUF5QixFQUN6QixlQUFpQztRQURqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFSNUMsZ0JBQVcsR0FBVyxTQUFTLENBQUM7UUFTckMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsY0FBYztJQUNkLHlHQUF5RztJQUV6Ryx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4RyxRQUFRO0lBQ1IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCx3R0FBd0c7SUFDeEcsbUJBQW1CO0lBQ25CLHdHQUF3RztJQUVqRyxPQUFPO1FBQ1YsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxvQkFBb0I7SUFDcEIs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bnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2tBcGlTZXJ2aWNlIH0gZnJvbSAnc2stZnJvbnQtbGliL2FwaSc7XG5pbXBvcnQgeyBJU2tGaWxlLCBTa0FydGljbGUsIFNrRmlsZSB9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5pbXBvcnQgeyBTa0FydGljbGVTZXJ2aWNlIH0gZnJvbSAnLi9zay1hcnRpY2xlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NrLWFydGljbGUtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2stYXJ0aWNsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NrLWFydGljbGUtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2tBcnRpY2xlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgYXJ0aWNsZTogU2tBcnRpY2xlO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJUeXBlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG5cbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgaW1hZ2VzOiBTa0ZpbGVbXTtcblxuICAgIGVkaXRvckNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwaVNlcnZpY2U6IFNrQXBpU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9hcnRpY2xlU2VydmljZTogU2tBcnRpY2xlU2VydmljZSkge1xuICAgICAgICB0aGlzLl9pbml0T3B0aW9ucygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBBY2Nlc3NvcnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBMaWZlY3ljbGUgaG9va3NcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0RGF0YSgpO1xuICAgICAgICB0aGlzLl9pbml0T3B0aW9ucygpO1xuICAgIH1cblxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXREYXRhKCk6IHsgY29udGVudDogc3RyaW5nLCBpbWFnZXM6IFNrRmlsZVtdIH0ge1xuICAgICAgICByZXR1cm4ge2NvbnRlbnQ6IHRoaXMuY29udGVudCwgaW1hZ2VzOiB0aGlzLmltYWdlc307XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFByaXZhdGUgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAgIF9pbml0RGF0YSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFydGljbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuYXJ0aWNsZS5jb250ZW50O1xuICAgICAgICB0aGlzLmltYWdlcyA9IHRoaXMuYXJ0aWNsZS5pbWFnZXMgfHwgW107XG4gICAgfVxuXG4gICAgX2luaXRPcHRpb25zKCkge1xuICAgICAgICB0aGlzLmVkaXRvckNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX2FydGljbGVTZXJ2aWNlLmdldEJhc2VDb25maWcoKSwge1xuICAgICAgICAgICAgcmVxdWVzdEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6ICdCZWFyZXIgJyArIHRoaXMuX2FwaVNlcnZpY2UuZ2V0VG9rZW4oKSxcbiAgICAgICAgICAgICAgICAnbmdzdy1ieXBhc3MnOiAndHJ1ZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbWFnZVVwbG9hZFBhcmFtczoge1xuICAgICAgICAgICAgICAgIGltYWdlVXJsOiB0aGlzLl9hcnRpY2xlU2VydmljZS5lbnZpcm9ubWVudC5hcGlTZXJ2ZXIgKyAnL2FwaS9wdWJsaWMvaW1hZ2VzLydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbWFnZVVwbG9hZFBhcmFtOiAnZmlsZScsXG4gICAgICAgICAgICBpbWFnZVVwbG9hZFJlbW90ZVVybHM6IHRydWUsXG4gICAgICAgICAgICBpbWFnZVVwbG9hZFVSTDogdGhpcy5fYXJ0aWNsZVNlcnZpY2UuZW52aXJvbm1lbnQuYXBpU2VydmVyICsgJy9leHRlcm5hbC9mcm9hbGEvdXBsb2FkJyxcblxuICAgICAgICAgICAgZmlsZVVwbG9hZFBhcmFtczoge1xuICAgICAgICAgICAgICAgIGltYWdlVXJsOiB0aGlzLl9hcnRpY2xlU2VydmljZS5lbnZpcm9ubWVudC5hcGlTZXJ2ZXIgKyAnL2FwaS9wdWJsaWMvZmlsZXMvJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZpbGVVcGxvYWRQYXJhbTogJ2ZpbGUnLFxuICAgICAgICAgICAgZmlsZVVwbG9hZFVSTDogdGhpcy5fYXJ0aWNsZVNlcnZpY2UuZW52aXJvbm1lbnQuYXBpU2VydmVyICsgJy9leHRlcm5hbC9mcm9hbGEvdXBsb2FkJyxcblxuICAgICAgICAgICAgZXZlbnRzOiB7XG4gICAgICAgICAgICAgICAgJ2ltYWdlLmluc2VydGVkJzogKCRpbWcsIHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZEltYWdlKEpTT04ucGFyc2UocmVzcG9uc2UpLmZpbGUpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJ2ltYWdlLnJlbW92ZWQnOiAoJGltZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygkaW1nLCAkaW1nLmRhdGFzZXQpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8ICRpbWcubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUltYWdlKE51bWJlcigkaW1nW2ldLmRhdGFzZXQuaWQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi50aGlzLl9hcnRpY2xlU2VydmljZS5nZXRUb29sYmFyKHRoaXMudG9vbGJhclR5cGUpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9hZGRJbWFnZShmaWxlOiBJU2tGaWxlKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VzLnB1c2gobmV3IFNrRmlsZShmaWxlKSk7XG4gICAgfVxuXG4gICAgX3JlbW92ZUltYWdlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmltYWdlcy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuaWQgPT09IGlkKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IFtmcm9hbGFFZGl0b3JdPVwiZWRpdG9yQ29uZmlnXCIgWyhmcm9hbGFNb2RlbCldPVwiY29udGVudFwiPjwvZGl2PlxuIl19
@@ -0,0 +1,33 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkArticleEditorServerComponent } from './sk-article-editor-server.component';
4
+ import * as i0 from "@angular/core";
5
+ export class SkArticleServerModule {
6
+ static forRoot(environment) {
7
+ return {
8
+ ngModule: SkArticleServerModule,
9
+ providers: []
10
+ };
11
+ }
12
+ }
13
+ SkArticleServerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleServerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ SkArticleServerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleServerModule, declarations: [SkArticleEditorServerComponent], imports: [CommonModule], exports: [SkArticleEditorServerComponent] });
15
+ SkArticleServerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleServerModule, providers: [], imports: [[
16
+ CommonModule
17
+ ]] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleServerModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [
22
+ SkArticleEditorServerComponent,
23
+ ],
24
+ imports: [
25
+ CommonModule
26
+ ],
27
+ exports: [
28
+ SkArticleEditorServerComponent,
29
+ ],
30
+ providers: []
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stYXJ0aWNsZS1zZXJ2ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2FydGljbGUvc3JjL3NrLWFydGljbGUtc2VydmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBZXRGLE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQ3RCLE9BQU87WUFDSCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRSxFQUFFO1NBQ2hCLENBQUM7SUFDTixDQUFDOztrSEFOUSxxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFYMUIsOEJBQThCLGFBRzlCLFlBQVksYUFHWiw4QkFBOEI7bUhBS3pCLHFCQUFxQixhQUhuQixFQUNWLFlBUFE7WUFDTCxZQUFZO1NBQ2Y7MkZBT1EscUJBQXFCO2tCQWJqQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDViw4QkFBOEI7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDTCw4QkFBOEI7cUJBQ2pDO29CQUNELFNBQVMsRUFBRSxFQUNWO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNrQXJ0aWNsZUVkaXRvclNlcnZlckNvbXBvbmVudCB9IGZyb20gJy4vc2stYXJ0aWNsZS1lZGl0b3Itc2VydmVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNrQXJ0aWNsZUVkaXRvclNlcnZlckNvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFNrQXJ0aWNsZUVkaXRvclNlcnZlckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2tBcnRpY2xlU2VydmVyTW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdChlbnZpcm9ubWVudCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2tBcnRpY2xlU2VydmVyTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogU2tBcnRpY2xlU2VydmVyTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkArticleEditorComponent } from './sk-article-editor.component';
4
+ import { SkFroalaEditorDirective } from './sk-froala-editor.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class SkArticleModule {
7
+ }
8
+ SkArticleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ SkArticleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleModule, declarations: [SkArticleEditorComponent,
10
+ SkFroalaEditorDirective], imports: [CommonModule], exports: [SkArticleEditorComponent,
11
+ SkFroalaEditorDirective] });
12
+ SkArticleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleModule, providers: [], imports: [[
13
+ CommonModule
14
+ ]] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: SkArticleModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [
19
+ SkArticleEditorComponent,
20
+ SkFroalaEditorDirective
21
+ ],
22
+ imports: [
23
+ CommonModule
24
+ ],
25
+ exports: [
26
+ SkArticleEditorComponent,
27
+ SkFroalaEditorDirective
28
+ ],
29
+ providers: []
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stYXJ0aWNsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zay1mcm9udC1saWIvYXJ0aWNsZS9zcmMvc2stYXJ0aWNsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBaUJ2RSxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQWJwQix3QkFBd0I7UUFDeEIsdUJBQXVCLGFBR3ZCLFlBQVksYUFHWix3QkFBd0I7UUFDeEIsdUJBQXVCOzZHQUtsQixlQUFlLGFBSGIsRUFDVixZQVJRO1lBQ0wsWUFBWTtTQUNmOzJGQVFRLGVBQWU7a0JBZjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsd0JBQXdCO3dCQUN4Qix1QkFBdUI7cUJBQzFCO29CQUNELFNBQVMsRUFBRSxFQUNWO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNrQXJ0aWNsZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vc2stYXJ0aWNsZS1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNrRnJvYWxhRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9zay1mcm9hbGEtZWRpdG9yLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNrQXJ0aWNsZUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgU2tGcm9hbGFFZGl0b3JEaXJlY3RpdmVcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFNrQXJ0aWNsZUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgU2tGcm9hbGFFZGl0b3JEaXJlY3RpdmVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2tBcnRpY2xlTW9kdWxlIHtcbn1cbiJdfQ==