croco-html 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/{esm2020 → esm2022}/croco-html.mjs +4 -4
  2. package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +53 -0
  3. package/esm2022/lib/components/editor/external-video-block/external-video-block.component.mjs +43 -0
  4. package/{esm2020 → esm2022}/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +25 -25
  5. package/{esm2020 → esm2022}/lib/components/editor/image-editor/image-editor.component.mjs +46 -46
  6. package/{esm2020 → esm2022}/lib/components/editor/index.mjs +7 -7
  7. package/{esm2020 → esm2022}/lib/components/editor/main-editor/main-editor.component.mjs +76 -76
  8. package/{esm2020 → esm2022}/lib/components/editor/main-editor-block/main-editor-block.component.mjs +41 -41
  9. package/{esm2020 → esm2022}/lib/components/editor/text-editor/text-editor.component.mjs +30 -30
  10. package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +27 -0
  11. package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +134 -0
  12. package/{esm2020 → esm2022}/lib/components/file-id-select/file-id-select.component.mjs +58 -58
  13. package/esm2022/lib/components/html-view/html-view.component.mjs +18 -0
  14. package/{esm2020 → esm2022}/lib/components/index.mjs +7 -6
  15. package/{esm2020 → esm2022}/lib/components/upload-files-btn/upload-files-btn.component.mjs +54 -54
  16. package/{esm2020 → esm2022}/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +22 -22
  17. package/{esm2020 → esm2022}/lib/components/xml-tags/index.mjs +9 -9
  18. package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +49 -0
  19. package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +17 -17
  20. package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +18 -18
  21. package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +16 -16
  22. package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +20 -20
  23. package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +20 -20
  24. package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.mjs +17 -17
  25. package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +22 -0
  26. package/esm2022/lib/croco-html.module.mjs +92 -0
  27. package/esm2022/lib/extensions/AngularMaterialTableMethods.mjs +64 -0
  28. package/esm2022/lib/extensions/BodyTagsExtensions.mjs +120 -0
  29. package/esm2022/lib/extensions/BootstrapTableMethods.mjs +67 -0
  30. package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +63 -0
  31. package/{esm2020 → esm2022}/lib/extensions/HtmlRawTagDataConsts.mjs +4 -4
  32. package/esm2022/lib/extensions/ImageMethods.mjs +32 -0
  33. package/{esm2020 → esm2022}/lib/extensions/InterfaceBlock.mjs +1 -1
  34. package/esm2022/lib/extensions/TableBuilder.mjs +35 -0
  35. package/esm2022/lib/extensions/TableMethods.mjs +108 -0
  36. package/esm2022/lib/extensions/TextMethods.mjs +29 -0
  37. package/esm2022/lib/extensions/TextSimpleMethods.mjs +77 -0
  38. package/esm2022/lib/extensions/VideoMethods.mjs +20 -0
  39. package/{esm2020 → esm2022}/lib/extensions/XmlExtensions.mjs +25 -25
  40. package/{esm2020 → esm2022}/lib/extensions/index.mjs +12 -12
  41. package/esm2022/lib/index.mjs +118 -0
  42. package/{esm2020 → esm2022}/lib/models/models.mjs +2 -2
  43. package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +26 -0
  44. package/{esm2020 → esm2022}/lib/pipes/TagToSpanPipe.mjs +16 -16
  45. package/{esm2020 → esm2022}/lib/pipes/ToHtmlBodyTagsPipe.mjs +17 -17
  46. package/{esm2020 → esm2022}/lib/pipes/ToPreviewHtmlPipe.mjs +17 -17
  47. package/{esm2020 → esm2022}/lib/pipes/index.mjs +5 -5
  48. package/{esm2020 → esm2022}/lib/pipes/to-preview.pipe.mjs +20 -20
  49. package/esm2022/lib/services/file-upload.service.mjs +70 -0
  50. package/{esm2020 → esm2022}/lib/services/files-query.service.mjs +27 -27
  51. package/{esm2020 → esm2022}/public-api.mjs +7 -7
  52. package/{fesm2020 → fesm2022}/croco-html.mjs +1511 -1496
  53. package/fesm2022/croco-html.mjs.map +1 -0
  54. package/index.d.ts +5 -5
  55. package/lib/components/add-files-btn/add-files-btn.component.d.ts +18 -18
  56. package/lib/components/editor/external-video-block/external-video-block.component.d.ts +17 -17
  57. package/lib/components/editor/html-raw-editor/html-raw-editor.component.d.ts +11 -11
  58. package/lib/components/editor/image-editor/image-editor.component.d.ts +18 -18
  59. package/lib/components/editor/index.d.ts +7 -7
  60. package/lib/components/editor/main-editor/main-editor.component.d.ts +27 -27
  61. package/lib/components/editor/main-editor-block/main-editor-block.component.d.ts +16 -16
  62. package/lib/components/editor/text-editor/text-editor.component.d.ts +12 -12
  63. package/lib/components/editor/visual-editor/DefaultTags.d.ts +6 -6
  64. package/lib/components/editor/visual-editor/visual-editor.component.d.ts +36 -36
  65. package/lib/components/file-id-select/file-id-select.component.d.ts +27 -27
  66. package/lib/components/html-view/html-view.component.d.ts +6 -0
  67. package/lib/components/index.d.ts +6 -5
  68. package/lib/components/upload-files-btn/upload-files-btn.component.d.ts +24 -24
  69. package/lib/components/xml-tags/html-raw-view/html-raw-view.component.d.ts +13 -13
  70. package/lib/components/xml-tags/index.d.ts +9 -9
  71. package/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.d.ts +16 -16
  72. package/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.d.ts +10 -10
  73. package/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.d.ts +10 -10
  74. package/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.d.ts +7 -7
  75. package/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.d.ts +10 -10
  76. package/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.d.ts +7 -7
  77. package/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.d.ts +10 -10
  78. package/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.d.ts +8 -8
  79. package/lib/croco-html.module.d.ts +64 -63
  80. package/lib/extensions/AngularMaterialTableMethods.d.ts +7 -10
  81. package/lib/extensions/BodyTagsExtensions.d.ts +11 -11
  82. package/lib/extensions/BootstrapTableMethods.d.ts +9 -9
  83. package/lib/extensions/HtmlExtractionMethods.d.ts +73 -73
  84. package/lib/extensions/HtmlRawTagDataConsts.d.ts +3 -3
  85. package/lib/extensions/ImageMethods.d.ts +18 -18
  86. package/lib/extensions/InterfaceBlock.d.ts +4 -4
  87. package/lib/extensions/TableBuilder.d.ts +5 -5
  88. package/lib/extensions/TableMethods.d.ts +59 -59
  89. package/lib/extensions/TextMethods.d.ts +19 -19
  90. package/lib/extensions/TextSimpleMethods.d.ts +23 -23
  91. package/lib/extensions/VideoMethods.d.ts +19 -19
  92. package/lib/extensions/XmlExtensions.d.ts +5 -5
  93. package/lib/extensions/index.d.ts +10 -10
  94. package/lib/index.d.ts +21 -21
  95. package/lib/models/models.d.ts +14 -10
  96. package/lib/pipes/RichTextToHtmlPipe.d.ts +8 -8
  97. package/lib/pipes/TagToSpanPipe.d.ts +7 -7
  98. package/lib/pipes/ToHtmlBodyTagsPipe.d.ts +8 -8
  99. package/lib/pipes/ToPreviewHtmlPipe.d.ts +9 -9
  100. package/lib/pipes/index.d.ts +5 -5
  101. package/lib/pipes/to-preview.pipe.d.ts +8 -8
  102. package/lib/services/file-upload.service.d.ts +34 -34
  103. package/lib/services/files-query.service.d.ts +42 -42
  104. package/package.json +11 -17
  105. package/public-api.d.ts +4 -4
  106. package/esm2020/lib/components/add-files-btn/add-files-btn.component.mjs +0 -53
  107. package/esm2020/lib/components/editor/external-video-block/external-video-block.component.mjs +0 -43
  108. package/esm2020/lib/components/editor/visual-editor/DefaultTags.mjs +0 -27
  109. package/esm2020/lib/components/editor/visual-editor/visual-editor.component.mjs +0 -134
  110. package/esm2020/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +0 -49
  111. package/esm2020/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +0 -22
  112. package/esm2020/lib/croco-html.module.mjs +0 -91
  113. package/esm2020/lib/extensions/AngularMaterialTableMethods.mjs +0 -64
  114. package/esm2020/lib/extensions/BodyTagsExtensions.mjs +0 -120
  115. package/esm2020/lib/extensions/BootstrapTableMethods.mjs +0 -67
  116. package/esm2020/lib/extensions/HtmlExtractionMethods.mjs +0 -63
  117. package/esm2020/lib/extensions/ImageMethods.mjs +0 -32
  118. package/esm2020/lib/extensions/TableBuilder.mjs +0 -35
  119. package/esm2020/lib/extensions/TableMethods.mjs +0 -108
  120. package/esm2020/lib/extensions/TextMethods.mjs +0 -29
  121. package/esm2020/lib/extensions/TextSimpleMethods.mjs +0 -77
  122. package/esm2020/lib/extensions/VideoMethods.mjs +0 -20
  123. package/esm2020/lib/index.mjs +0 -116
  124. package/esm2020/lib/pipes/RichTextToHtmlPipe.mjs +0 -26
  125. package/esm2020/lib/services/file-upload.service.mjs +0 -70
  126. package/fesm2015/croco-html.mjs +0 -1636
  127. package/fesm2015/croco-html.mjs.map +0 -1
  128. package/fesm2020/croco-html.mjs.map +0 -1
@@ -1,77 +0,0 @@
1
- export const TextTag = "text";
2
- export class TextSimpleMethods {
3
- static ExtractTextTag(elem) {
4
- var hAlignValue = elem.getAttribute("h-align") ?? "left";
5
- var data = {
6
- textTagName: elem.tagName.toLowerCase(),
7
- text: elem.innerText.trim().replace('\n\t', ''),
8
- html: elem.innerHTML.trim().replace('\n\t', ''),
9
- horizontalAlignment: hAlignValue,
10
- validationResult: {
11
- isSucceeded: true,
12
- message: "Ok"
13
- }
14
- };
15
- let result = {
16
- type: TextTag,
17
- data: data
18
- };
19
- if (result.data.text === '\n') {
20
- result.data.text = '';
21
- }
22
- if (result.data.html === '\n') {
23
- result.data.html = '';
24
- }
25
- var alignmentVals = ["left", "right", "center"];
26
- if (alignmentVals.indexOf(hAlignValue) < 0) {
27
- result.data.validationResult = {
28
- isSucceeded: false,
29
- message: `Недопустимое значение атрибута h-align. Допустимые значения: ${alignmentVals.join(', ')}. `
30
- + 'Данный тег можно не указывать, по-умолчанию будет применено выравнивание слева.'
31
- };
32
- }
33
- var html = result.data.html;
34
- var htmlValidation = this.ValidateTextHtml(html);
35
- if (!htmlValidation.isSucceeded) {
36
- result.data.validationResult = htmlValidation;
37
- }
38
- return result;
39
- }
40
- static ValidateTextHtml(html) {
41
- var p = document.createElement("p");
42
- p.innerHTML = html;
43
- for (let i = 0; i < p.children.length; i++) {
44
- const element = p.children.item(i);
45
- var validationResult = this.ValidateTag(element);
46
- if (!validationResult.isSucceeded) {
47
- return validationResult;
48
- }
49
- }
50
- return {
51
- isSucceeded: true,
52
- message: `Ok`
53
- };
54
- }
55
- static ValidateTag(element) {
56
- let lowerTag = element.tagName.toLowerCase();
57
- if (!this.supportedTags.includes(lowerTag)) {
58
- return {
59
- isSucceeded: false,
60
- message: `Тег <${lowerTag}> не поддерживается внутри тега <text>`
61
- };
62
- }
63
- for (let i = 0; i < element.children.length; i++) {
64
- const nElement = element.children.item(i);
65
- var innerValidationResult = this.ValidateTag(nElement);
66
- if (!innerValidationResult.isSucceeded) {
67
- return innerValidationResult;
68
- }
69
- }
70
- return {
71
- isSucceeded: true,
72
- message: "Ok"
73
- };
74
- }
75
- }
76
- TextSimpleMethods.supportedTags = ["sup", "sub", "strong", "b", "i", "u"];
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFNpbXBsZU1ldGhvZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvZXh0ZW5zaW9ucy9UZXh0U2ltcGxlTWV0aG9kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBb0I5QixNQUFNLE9BQU8saUJBQWlCO0lBSTFCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBaUI7UUFDbkMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFhLENBQUM7UUFFaEUsSUFBSSxJQUFJLEdBQXNCO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxtQkFBbUIsRUFBRSxXQUFXO1lBQ2hDLGdCQUFnQixFQUFFO2dCQUNkLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixPQUFPLEVBQUUsSUFBSTthQUNoQjtTQUNKLENBQUM7UUFFRixJQUFJLE1BQU0sR0FBa0I7WUFDeEIsSUFBSSxFQUFFLE9BQU87WUFDYixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7UUFFRixJQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBQztZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBQztZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLGFBQWEsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFaEQsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUV4QyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHO2dCQUMzQixXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLGdFQUFnRSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO3NCQUMvRixpRkFBaUY7YUFDMUYsQ0FBQztTQUNMO1FBRUQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpELElBQUcsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFDO1lBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZO1FBRWhDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVqRCxJQUFHLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDO2dCQUM3QixPQUFPLGdCQUFnQixDQUFDO2FBQzNCO1NBQ0o7UUFFRCxPQUFPO1lBQ0gsV0FBVyxFQUFDLElBQUk7WUFDaEIsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQTtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWlCO1FBQ2hDLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFN0MsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFDO1lBQ3RDLE9BQU87Z0JBQ0gsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxRQUFRLFFBQVEsd0NBQXdDO2FBQ3BFLENBQUE7U0FDSjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM5QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUxQyxJQUFJLHFCQUFxQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkQsSUFBRyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBQztnQkFDbEMsT0FBTyxxQkFBcUIsQ0FBQzthQUNoQztTQUNKO1FBRUQsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDOztBQTlGTSwrQkFBYSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBcGlSZXNwb25zZSB9IGZyb20gXCIuL1RhYmxlTWV0aG9kc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRleHRUYWcgPSBcInRleHRcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlVGV4dFRhZyB7XHJcbiAgICB0eXBlOiBcInRleHRcIixcclxuICAgIGRhdGE6IFNpbXBsZVRleHRUYWdEYXRhXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY1RleHRUYWcge1xyXG4gICAgdHlwZTogc3RyaW5nLFxyXG4gICAgZGF0YTogU2ltcGxlVGV4dFRhZ0RhdGFcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVUZXh0VGFnRGF0YSB7XHJcbiAgICB0ZXh0VGFnTmFtZTogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgaHRtbDogc3RyaW5nLFxyXG4gICAgaG9yaXpvbnRhbEFsaWdubWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiLFxyXG4gICAgdmFsaWRhdGlvblJlc3VsdDogQmFzZUFwaVJlc3BvbnNlXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUZXh0U2ltcGxlTWV0aG9kcyB7XHJcblxyXG4gICAgc3RhdGljIHN1cHBvcnRlZFRhZ3MgPSBbXCJzdXBcIiwgXCJzdWJcIiwgXCJzdHJvbmdcIiwgXCJiXCIsIFwiaVwiLCBcInVcIl07XHJcblxyXG4gICAgc3RhdGljIEV4dHJhY3RUZXh0VGFnKGVsZW06IEhUTUxFbGVtZW50KTogU2ltcGxlVGV4dFRhZyB7XHJcbiAgICAgICAgdmFyIGhBbGlnblZhbHVlID0gZWxlbS5nZXRBdHRyaWJ1dGUoXCJoLWFsaWduXCIpID8/IFwibGVmdFwiIGFzIGFueTtcclxuXHJcbiAgICAgICAgdmFyIGRhdGE6IFNpbXBsZVRleHRUYWdEYXRhID0ge1xyXG4gICAgICAgICAgICB0ZXh0VGFnTmFtZTogZWxlbS50YWdOYW1lLnRvTG93ZXJDYXNlKCksXHJcbiAgICAgICAgICAgIHRleHQ6IGVsZW0uaW5uZXJUZXh0LnRyaW0oKS5yZXBsYWNlKCdcXG5cXHQnLCAnJyksXHJcbiAgICAgICAgICAgIGh0bWw6IGVsZW0uaW5uZXJIVE1MLnRyaW0oKS5yZXBsYWNlKCdcXG5cXHQnLCAnJyksXHJcbiAgICAgICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6IGhBbGlnblZhbHVlLFxyXG4gICAgICAgICAgICB2YWxpZGF0aW9uUmVzdWx0OiB7XHJcbiAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgbGV0IHJlc3VsdDogU2ltcGxlVGV4dFRhZyA9IHtcclxuICAgICAgICAgICAgdHlwZTogVGV4dFRhZyxcclxuICAgICAgICAgICAgZGF0YTogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmKHJlc3VsdC5kYXRhLnRleHQgPT09ICdcXG4nKXtcclxuICAgICAgICAgICAgcmVzdWx0LmRhdGEudGV4dCA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihyZXN1bHQuZGF0YS5odG1sID09PSAnXFxuJyl7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kYXRhLmh0bWwgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciBhbGlnbm1lbnRWYWxzID0gW1wibGVmdFwiLCBcInJpZ2h0XCIsIFwiY2VudGVyXCJdO1xyXG5cclxuICAgICAgICBpZiAoYWxpZ25tZW50VmFscy5pbmRleE9mKGhBbGlnblZhbHVlKSA8IDApIHtcclxuXHJcbiAgICAgICAgICAgIHJlc3VsdC5kYXRhLnZhbGlkYXRpb25SZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0J3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC30L3QsNGH0LXQvdC40LUg0LDRgtGA0LjQsdGD0YLQsCBoLWFsaWduLiDQlNC+0L/Rg9GB0YLQuNC80YvQtSDQt9C90LDRh9C10L3QuNGPOiAke2FsaWdubWVudFZhbHMuam9pbignLCAnKX0uIGBcclxuICAgICAgICAgICAgICAgICAgICArICfQlNCw0L3QvdGL0Lkg0YLQtdCzINC80L7QttC90L4g0L3QtSDRg9C60LDQt9GL0LLQsNGC0YwsINC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOINCx0YPQtNC10YIg0L/RgNC40LzQtdC90LXQvdC+INCy0YvRgNCw0LLQvdC40LLQsNC90LjQtSDRgdC70LXQstCwLidcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciBodG1sID0gcmVzdWx0LmRhdGEuaHRtbDtcclxuICAgICAgICB2YXIgaHRtbFZhbGlkYXRpb24gPSB0aGlzLlZhbGlkYXRlVGV4dEh0bWwoaHRtbCk7XHJcblxyXG4gICAgICAgIGlmKCFodG1sVmFsaWRhdGlvbi5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kYXRhLnZhbGlkYXRpb25SZXN1bHQgPSBodG1sVmFsaWRhdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIFZhbGlkYXRlVGV4dEh0bWwoaHRtbDogc3RyaW5nKSA6IEJhc2VBcGlSZXNwb25zZXtcclxuXHJcbiAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwicFwiKTtcclxuICAgICAgICBwLmlubmVySFRNTCA9IGh0bWw7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gcC5jaGlsZHJlbi5pdGVtKGkpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLlZhbGlkYXRlVGFnKGVsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgaWYoIXZhbGlkYXRpb25SZXN1bHQuaXNTdWNjZWVkZWQpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlzU3VjY2VlZGVkOnRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBPa2BcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIFZhbGlkYXRlVGFnKGVsZW1lbnQgOiBFbGVtZW50KTogQmFzZUFwaVJlc3BvbnNle1xyXG4gICAgICAgIGxldCBsb3dlclRhZyA9IGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgICAgICBpZighdGhpcy5zdXBwb3J0ZWRUYWdzLmluY2x1ZGVzKGxvd2VyVGFnKSl7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0KLQtdCzIDwke2xvd2VyVGFnfT4g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINCy0L3Rg9GC0YDQuCDRgtC10LPQsCA8dGV4dD5gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBuRWxlbWVudCA9IGVsZW1lbnQuY2hpbGRyZW4uaXRlbShpKTtcclxuXHJcbiAgICAgICAgICAgIHZhciBpbm5lclZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLlZhbGlkYXRlVGFnKG5FbGVtZW50KTtcclxuXHJcbiAgICAgICAgICAgIGlmKCFpbm5lclZhbGlkYXRpb25SZXN1bHQuaXNTdWNjZWVkZWQpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlubmVyVmFsaWRhdGlvblJlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,20 +0,0 @@
1
- export class ExternalVideoTagDataConsts {
2
- }
3
- ExternalVideoTagDataConsts.TagName = "external-video";
4
- ExternalVideoTagDataConsts.VideoTypeAttrName = "type";
5
- ExternalVideoTagDataConsts.LinkAttrName = "link";
6
- export class ExternalVideoSupportedTypes {
7
- }
8
- ExternalVideoSupportedTypes.Youtube = "youtube";
9
- export class VideoMethods {
10
- static ExtractExternalVideoTag(elem) {
11
- return {
12
- type: ExternalVideoTagDataConsts.TagName,
13
- data: {
14
- type: elem.getAttribute(ExternalVideoTagDataConsts.VideoTypeAttrName),
15
- link: elem.getAttribute(ExternalVideoTagDataConsts.LinkAttrName)
16
- }
17
- };
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlkZW9NZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVmlkZW9NZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywwQkFBMEI7O0FBQzVCLGtDQUFPLEdBQUcsZ0JBQWdCLENBQUM7QUFDM0IsNENBQWlCLEdBQUcsTUFBTSxDQUFDO0FBQzNCLHVDQUFZLEdBQUcsTUFBTSxDQUFDO0FBR2pDLE1BQU0sT0FBTywyQkFBMkI7O0FBQzdCLG1DQUFPLEdBQUcsU0FBUyxDQUFBO0FBYTlCLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFpQjtRQUM1QyxPQUFPO1lBQ0gsSUFBSSxFQUFFLDBCQUEwQixDQUFDLE9BQU87WUFDeEMsSUFBSSxFQUFDO2dCQUNELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixDQUFDO2dCQUNyRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLENBQUM7YUFDbkU7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzIHtcclxuICAgIHN0YXRpYyBUYWdOYW1lID0gXCJleHRlcm5hbC12aWRlb1wiO1xyXG4gICAgc3RhdGljIFZpZGVvVHlwZUF0dHJOYW1lID0gXCJ0eXBlXCI7XHJcbiAgICBzdGF0aWMgTGlua0F0dHJOYW1lID0gXCJsaW5rXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFeHRlcm5hbFZpZGVvU3VwcG9ydGVkVHlwZXN7XHJcbiAgICBzdGF0aWMgWW91dHViZSA9IFwieW91dHViZVwiXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxWaWRlb1RhZ3tcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIGRhdGE6IEV4dGVybmFsVmlkZW9UYWdEYXRhO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVybmFsVmlkZW9UYWdEYXRhe1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgbGluazogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmlkZW9NZXRob2RzIHtcclxuICAgIHN0YXRpYyBFeHRyYWN0RXh0ZXJuYWxWaWRlb1RhZyhlbGVtOiBIVE1MRWxlbWVudCk6IEV4dGVybmFsVmlkZW9UYWd7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdHlwZTogRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBlbGVtLmdldEF0dHJpYnV0ZShFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5WaWRlb1R5cGVBdHRyTmFtZSksXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBlbGVtLmdldEF0dHJpYnV0ZShFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5MaW5rQXR0ck5hbWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,116 +0,0 @@
1
- import { ImageEditorComponent } from "./components/editor/image-editor/image-editor.component";
2
- import { MainEditorBlockComponent } from "./components/editor/main-editor-block/main-editor-block.component";
3
- import { MainEditorComponent } from "./components/editor/main-editor/main-editor.component";
4
- import { TextEditorComponent } from "./components/editor/text-editor/text-editor.component";
5
- import { FileIdSelectComponent } from "./components/file-id-select/file-id-select.component";
6
- import { XmlTagHeaderInnerTextViewComponent } from "./components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component";
7
- import { XmlTagHeaderTextViewComponent } from "./components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component";
8
- import { XmlTagHtmlViewComponent } from "./components/xml-tags/xml-tag-html-view/xml-tag-html-view.component";
9
- import { XmlTagRichTextViewComponent } from "./components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component";
10
- import { XmlTagTableViewComponent } from "./components/xml-tags/xml-tag-table-view/xml-tag-table-view.component";
11
- import { XmlTagTextViewComponent } from "./components/xml-tags/xml-tag-text-view/xml-tag-text-view.component";
12
- import { XmlTagViewComponent } from "./components/xml-tags/xml-tag-view/xml-tag-view.component";
13
- import { VisualEditorComponent } from './components/editor/visual-editor/visual-editor.component';
14
- import { AddFilesBtnComponent } from './components/add-files-btn/add-files-btn.component';
15
- import { ExternalVideoBlockComponent } from "./components/editor/external-video-block/external-video-block.component";
16
- import { XmlTagExternalVideoComponent } from "./components/xml-tags/xml-tag-external-video/xml-tag-external-video.component";
17
- import { HtmlRawEditorComponent } from "./components/editor/html-raw-editor/html-raw-editor.component";
18
- import { MatSnackBarModule } from '@angular/material/snack-bar';
19
- import { MatSelectModule } from '@angular/material/select';
20
- import { MatTooltipModule } from '@angular/material/tooltip';
21
- import { MatCheckboxModule } from '@angular/material/checkbox';
22
- import { DragDropModule } from '@angular/cdk/drag-drop';
23
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
24
- import { MatButtonModule } from '@angular/material/button';
25
- import { MatCardModule } from '@angular/material/card';
26
- import { MatChipsModule } from '@angular/material/chips';
27
- import { MatNativeDateModule } from '@angular/material/core';
28
- import { MatDatepickerModule } from '@angular/material/datepicker';
29
- import { MatDialogModule } from '@angular/material/dialog';
30
- import { MatExpansionModule } from '@angular/material/expansion';
31
- import { MatFormFieldModule } from '@angular/material/form-field';
32
- import { MatGridListModule } from '@angular/material/grid-list';
33
- import { MatIconModule } from '@angular/material/icon';
34
- import { MatInputModule } from '@angular/material/input';
35
- import { MatListModule } from '@angular/material/list';
36
- import { MatMenuModule } from '@angular/material/menu';
37
- import { MatPaginatorModule } from '@angular/material/paginator';
38
- import { MatProgressBarModule } from '@angular/material/progress-bar';
39
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
40
- import { MatSidenavModule } from '@angular/material/sidenav';
41
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
42
- import { MatTableModule } from '@angular/material/table';
43
- import { MatTabsModule } from '@angular/material/tabs';
44
- import { MatTreeModule } from '@angular/material/tree';
45
- import { MatBadgeModule } from '@angular/material/badge';
46
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
47
- import { RichTextToHtmlPipe, TagToSpanPipe, ToHtmlBodyTagsPipe, ToPreviewHtmlPipe, ToPreviewPipe } from "./pipes";
48
- import { UploadFilesBtnComponent } from "./components";
49
- import { HtmlRawViewComponent } from "./components/xml-tags/html-raw-view/html-raw-view.component";
50
- export const EditorComponents = [
51
- MainEditorComponent,
52
- FileIdSelectComponent,
53
- TextEditorComponent,
54
- ExternalVideoBlockComponent,
55
- ImageEditorComponent,
56
- MainEditorBlockComponent,
57
- VisualEditorComponent,
58
- AddFilesBtnComponent,
59
- HtmlRawEditorComponent,
60
- ];
61
- export const XmlComponents = [
62
- XmlTagTableViewComponent,
63
- XmlTagViewComponent,
64
- XmlTagRichTextViewComponent,
65
- XmlTagHtmlViewComponent,
66
- XmlTagTextViewComponent,
67
- XmlTagHeaderTextViewComponent,
68
- XmlTagHeaderInnerTextViewComponent,
69
- XmlTagExternalVideoComponent,
70
- HtmlRawViewComponent
71
- ];
72
- export const CrocoPipes = [
73
- RichTextToHtmlPipe,
74
- TagToSpanPipe,
75
- ToPreviewPipe,
76
- ToHtmlBodyTagsPipe,
77
- ToPreviewHtmlPipe
78
- ];
79
- export const CrocoHtmlDeclarations = [
80
- UploadFilesBtnComponent,
81
- ...XmlComponents,
82
- ...EditorComponents,
83
- ...CrocoPipes
84
- ];
85
- export const MaterialModules = [
86
- MatBadgeModule,
87
- MatTableModule,
88
- MatExpansionModule,
89
- MatFormFieldModule,
90
- MatSnackBarModule,
91
- MatProgressBarModule,
92
- MatProgressSpinnerModule,
93
- MatTabsModule,
94
- MatMenuModule,
95
- MatCardModule,
96
- MatSelectModule,
97
- MatTooltipModule,
98
- MatCheckboxModule,
99
- MatChipsModule,
100
- MatListModule,
101
- MatButtonModule,
102
- MatInputModule,
103
- MatDialogModule,
104
- MatPaginatorModule,
105
- MatDatepickerModule,
106
- MatGridListModule,
107
- MatSlideToggleModule,
108
- MatTreeModule,
109
- MatNativeDateModule,
110
- MatAutocompleteModule,
111
- MatSidenavModule,
112
- MatIconModule,
113
- DragDropModule,
114
- MatButtonToggleModule
115
- ];
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDL0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDN0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sK0ZBQStGLENBQUM7QUFDbkosT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7QUFDbEksT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDOUcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDNUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDakgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDOUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDdEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDN0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFF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Q3hCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixpQkFBaUI7Q0FDbEIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLHVCQUF1QjtJQUN2QixHQUFHLGFBQWE7SUFDaEIsR0FBRyxnQkFBZ0I7SUFDbkIsR0FBRyxVQUFVO0NBQ2hCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsY0FBYztJQUNkLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZUFBZTtJQUNmLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsY0FBYztJQUNkLHFCQUFxQjtDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1hZ2VFZGl0b3JDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYWluRWRpdG9yQmxvY2tDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci1ibG9jay9tYWluLWVkaXRvci1ibG9jay5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTWFpbkVkaXRvckNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yL21haW4tZWRpdG9yLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9lZGl0b3IvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZpbGVJZFNlbGVjdENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmlsZS1pZC1zZWxlY3QvZmlsZS1pZC1zZWxlY3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFhtbFRhZ0hlYWRlcklubmVyVGV4dFZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3htbC10YWdzL3htbC10YWctaGVhZGVyLWlubmVyLXRleHQtdmlldy94bWwtdGFnLWhlYWRlci1pbm5lci10ZXh0LXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFhtbFRhZ0hlYWRlclRleHRWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy94bWwtdGFncy94bWwtdGFnLWhlYWRlci10ZXh0LXZpZXcveG1sLXRhZy1oZWFkZXItdGV4dC12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBYbWxUYWdIdG1sVmlld0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMveG1sLXRhZ3MveG1sLXRhZy1odG1sLXZpZXcveG1sLXRhZy1odG1sLXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFhtbFRhZ1JpY2hUZXh0Vmlld0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMveG1sLXRhZ3MveG1sLXRhZy1yaWNoLXRleHQtdmlldy94bWwtdGFnLXJpY2gtdGV4dC12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBYbWxUYWdUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3htbC10YWdzL3htbC10YWctdGFibGUtdmlldy94bWwtdGFnLXRhYmxlLXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFhtbFRhZ1RleHRWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy94bWwtdGFncy94bWwtdGFnLXRleHQtdmlldy94bWwtdGFnLXRleHQtdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWG1sVGFnVmlld0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMveG1sLXRhZ3MveG1sLXRhZy12aWV3L3htbC10YWctdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVmlzdWFsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXRvci92aXN1YWwtZWRpdG9yL3Zpc3VhbC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRkRmlsZXNCdG5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkLWZpbGVzLWJ0bi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVybmFsVmlkZW9CbG9ja0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZWRpdG9yL2V4dGVybmFsLXZpZGVvLWJsb2NrL2V4dGVybmFsLXZpZGVvLWJsb2NrLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBYbWxUYWdFeHRlcm5hbFZpZGVvQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy94bWwtdGFncy94bWwtdGFnLWV4dGVybmFsLXZpZGVvL3htbC10YWctZXh0ZXJuYWwtdmlkZW8uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEh0bWxSYXdFZGl0b3JDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2VkaXRvci9odG1sLXJhdy1lZGl0b3IvaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudFwiO1xyXG5cclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7TWF0Q2hlY2tib3hNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0R3JpZExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9ncmlkLWxpc3QnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7TWF0QnV0dG9uVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgUmljaFRleHRUb0h0bWxQaXBlLCBUYWdUb1NwYW5QaXBlLCBUb0h0bWxCb2R5VGFnc1BpcGUsIFRvUHJldmlld0h0bWxQaXBlLCBUb1ByZXZpZXdQaXBlIH0gZnJvbSBcIi4vcGlwZXNcIjtcclxuaW1wb3J0IHsgVXBsb2FkRmlsZXNCdG5Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IEh0bWxSYXdWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy94bWwtdGFncy9odG1sLXJhdy12aWV3L2h0bWwtcmF3LXZpZXcuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgY29uc3QgRWRpdG9yQ29tcG9uZW50cyA9IFtcclxuICAgIE1haW5FZGl0b3JDb21wb25lbnQsXHJcbiAgICBGaWxlSWRTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgRXh0ZXJuYWxWaWRlb0Jsb2NrQ29tcG9uZW50LFxyXG4gICAgSW1hZ2VFZGl0b3JDb21wb25lbnQsXHJcbiAgICBNYWluRWRpdG9yQmxvY2tDb21wb25lbnQsXHJcbiAgICBWaXN1YWxFZGl0b3JDb21wb25lbnQsXHJcbiAgICBBZGRGaWxlc0J0bkNvbXBvbmVudCxcclxuICAgIEh0bWxSYXdFZGl0b3JDb21wb25lbnQsXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgWG1sQ29tcG9uZW50cyA9IFtcclxuICAgIFhtbFRhZ1RhYmxlVmlld0NvbXBvbmVudCxcclxuICAgIFhtbFRhZ1ZpZXdDb21wb25lbnQsXHJcbiAgICBYbWxUYWdSaWNoVGV4dFZpZXdDb21wb25lbnQsXHJcbiAgICBYbWxUYWdIdG1sVmlld0NvbXBvbmVudCxcclxuICAgIFhtbFRhZ1RleHRWaWV3Q29tcG9uZW50LFxyXG4gICAgWG1sVGFnSGVhZGVyVGV4dFZpZXdDb21wb25lbnQsXHJcbiAgICBYbWxUYWdIZWFkZXJJbm5lclRleHRWaWV3Q29tcG9uZW50LFxyXG4gICAgWG1sVGFnRXh0ZXJuYWxWaWRlb0NvbXBvbmVudCxcclxuICAgIEh0bWxSYXdWaWV3Q29tcG9uZW50XHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgQ3JvY29QaXBlcyA9IFtcclxuICBSaWNoVGV4dFRvSHRtbFBpcGUsXHJcbiAgVGFnVG9TcGFuUGlwZSxcclxuICBUb1ByZXZpZXdQaXBlLFxyXG4gIFRvSHRtbEJvZHlUYWdzUGlwZSxcclxuICBUb1ByZXZpZXdIdG1sUGlwZVxyXG5dXHJcblxyXG5leHBvcnQgY29uc3QgQ3JvY29IdG1sRGVjbGFyYXRpb25zID0gW1xyXG4gICAgVXBsb2FkRmlsZXNCdG5Db21wb25lbnQsXHJcbiAgICAuLi5YbWxDb21wb25lbnRzLFxyXG4gICAgLi4uRWRpdG9yQ29tcG9uZW50cyxcclxuICAgIC4uLkNyb2NvUGlwZXNcclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IE1hdGVyaWFsTW9kdWxlcyA9IFtcclxuICBNYXRCYWRnZU1vZHVsZSxcclxuICBNYXRUYWJsZU1vZHVsZSxcclxuICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICBNYXRUYWJzTW9kdWxlLFxyXG4gIE1hdE1lbnVNb2R1bGUsXHJcbiAgTWF0Q2FyZE1vZHVsZSxcclxuICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICBNYXRDaGVja2JveE1vZHVsZSxcclxuICBNYXRDaGlwc01vZHVsZSxcclxuICBNYXRMaXN0TW9kdWxlLFxyXG4gIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBNYXRJbnB1dE1vZHVsZSxcclxuICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgTWF0R3JpZExpc3RNb2R1bGUsXHJcbiAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgTWF0VHJlZU1vZHVsZSxcclxuICBNYXROYXRpdmVEYXRlTW9kdWxlLFxyXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlXHJcbl07XHJcbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class RichTextToHtmlPipe {
4
- transform(value) {
5
- let result = "";
6
- for (let i = 0; i < value.data.children.length; i++) {
7
- const child = value.data.children[i];
8
- if (child.type === "text-block") {
9
- result += `<span>${child.data.text}</span>`;
10
- }
11
- else if (child.type === "line-break") {
12
- result += "</br>";
13
- }
14
- }
15
- return result;
16
- }
17
- }
18
- RichTextToHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichTextToHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
- RichTextToHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RichTextToHtmlPipe, name: "richTextToHtml" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichTextToHtmlPipe, decorators: [{
21
- type: Pipe,
22
- args: [{
23
- name: 'richTextToHtml'
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmljaFRleHRUb0h0bWxQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL3BpcGVzL1JpY2hUZXh0VG9IdG1sUGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixTQUFTLENBQUMsS0FBbUI7UUFDekIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFckMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTtnQkFDN0IsTUFBTSxJQUFJLFNBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQzthQUMvQztpQkFDSSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO2dCQUNsQyxNQUFNLElBQUksT0FBTyxDQUFDO2FBQ3JCO1NBQ0o7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzsrR0FqQlEsa0JBQWtCOzZHQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFIOUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSaWNoVGV4dERhdGEgfSBmcm9tIFwiLi4vZXh0ZW5zaW9ucy9UZXh0TWV0aG9kc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3JpY2hUZXh0VG9IdG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHRUb0h0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBSaWNoVGV4dERhdGEpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmRhdGEuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSB2YWx1ZS5kYXRhLmNoaWxkcmVuW2ldO1xyXG5cclxuICAgICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09IFwidGV4dC1ibG9ja1wiKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gYDxzcGFuPiR7Y2hpbGQuZGF0YS50ZXh0fTwvc3Bhbj5gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGNoaWxkLnR5cGUgPT09IFwibGluZS1icmVha1wiKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gXCI8L2JyPlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,70 +0,0 @@
1
- import { HttpEventType, HttpResponse } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { throwError } from 'rxjs';
4
- import { filter, switchMap } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- export class FileUploadService {
8
- constructor(_httpClient, baseUrl) {
9
- this._httpClient = _httpClient;
10
- this.baseUrl = baseUrl;
11
- }
12
- postFile(file, createLocalCopiesNow = false, withProgress = false) {
13
- const formData = new FormData();
14
- formData.append(`fileKey1`, file, file.name);
15
- return this.postFilesInner(formData, createLocalCopiesNow, withProgress);
16
- }
17
- postFiles(files, createLocalCopiesNow = false) {
18
- const formData = new FormData();
19
- for (let i = 0; i < files.length; i++) {
20
- var fileToUpload = files.item(i);
21
- formData.append(`fileKey${i}`, fileToUpload, fileToUpload?.name);
22
- }
23
- return this.postFilesInner(formData, createLocalCopiesNow);
24
- }
25
- postFilesInner(formData, createLocalCopiesNow = false, withProgress = false) {
26
- let endpoint = this.baseUrl + 'Api/Files/UploadFiles';
27
- if (createLocalCopiesNow) {
28
- endpoint += '/Now';
29
- }
30
- return this._httpClient.post(endpoint, formData, withProgress ? { reportProgress: true, observe: 'events' } : undefined);
31
- }
32
- uploadFileWithProgress(file, createLocalCopiesNow = false) {
33
- let uploadingLoaded;
34
- let uploadingTotal;
35
- return this.postFile(file, createLocalCopiesNow, true).pipe(filter((event) => {
36
- return event.type === HttpEventType.UploadProgress || event instanceof HttpResponse;
37
- }), switchMap((event) => {
38
- if (event.type === HttpEventType.UploadProgress) {
39
- uploadingLoaded = event.loaded;
40
- uploadingTotal = event.total;
41
- return [{ loading: true, uploadingLoaded, uploadingTotal }];
42
- }
43
- else {
44
- if (event.body.responseObject?.[0]) {
45
- return [
46
- {
47
- loading: false,
48
- fileId: event.body.responseObject[0],
49
- uploadingLoaded,
50
- uploadingTotal,
51
- },
52
- ];
53
- }
54
- else {
55
- return throwError(() => new Error(event.body.message));
56
- }
57
- }
58
- }));
59
- }
60
- }
61
- FileUploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadService, deps: [{ token: i1.HttpClient }, { token: 'BASE_URL' }], target: i0.ɵɵFactoryTarget.Injectable });
62
- FileUploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadService, providedIn: 'root' });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadService, decorators: [{
64
- type: Injectable,
65
- args: [{ providedIn: 'root' }]
66
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
67
- type: Inject,
68
- args: ['BASE_URL']
69
- }] }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsYUFBYSxFQUFFLFlBQVksRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQXVCbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLFdBQXVCLEVBQ0gsT0FBZTtRQURuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNILFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDMUMsQ0FBQztJQW9CRyxRQUFRLENBQ2IsSUFBVSxFQUNWLG9CQUFvQixHQUFHLEtBQUssRUFDNUIsWUFBWSxHQUFHLEtBQUs7UUFFcEIsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUUxQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFlLEVBQUUsb0JBQW9CLEdBQUcsS0FBSztRQUM1RCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBRTFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFlBQW9CLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzFFO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFrQk0sY0FBYyxDQUNuQixRQUFrQixFQUNsQixvQkFBb0IsR0FBRyxLQUFLLEVBQzVCLFlBQVksR0FBRyxLQUFLO1FBRXBCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUM7UUFFdEQsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixRQUFRLElBQUksTUFBTSxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUIsUUFBUSxFQUNSLFFBQVEsRUFDUixZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxJQUFVLEVBQUUsb0JBQW9CLEdBQUcsS0FBSztRQUNwRSxJQUFJLGVBQXVCLENBQUM7UUFDNUIsSUFBSSxjQUFzQixDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN6RCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQWdGLEVBQUU7WUFDN0YsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxjQUFjLElBQUksS0FBSyxZQUFZLFlBQVksQ0FBQztRQUN0RixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLGNBQWMsRUFBRTtnQkFDL0MsZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQy9CLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUM3QixPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO2FBQzdEO2lCQUFNO2dCQUNMLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbEMsT0FBTzt3QkFDTDs0QkFDRSxPQUFPLEVBQUUsS0FBSzs0QkFDZCxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDOzRCQUNwQyxlQUFlOzRCQUNmLGNBQWM7eUJBQ2Y7cUJBQ0YsQ0FBQztpQkFDSDtxQkFBTTtvQkFDTCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ3hEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7OEdBN0dVLGlCQUFpQiw0Q0FHbEIsVUFBVTtrSEFIVCxpQkFBaUIsY0FESixNQUFNOzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJN0IsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVzcG9uc2UsIEh0dHBVcGxvYWRQcm9ncmVzc0V2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFwaVJlc3BvbnNlIHtcclxuICBpc1N1Y2NlZWRlZDogYm9vbGVhbjtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJpY0Jhc2VBcGlSZXNwb25zZTxUPiBleHRlbmRzIEJhc2VBcGlSZXNwb25zZSB7XHJcbiAgcmVzcG9uc2VPYmplY3Q6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzIGV4dGVuZHMgQmFzZUFwaVJlc3BvbnNlIHtcclxuICByZXNwb25zZU9iamVjdDogbnVtYmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkRmlsZVdpdGhQcm9ncmVzc0V2ZW50IHtcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIHJlc3BvbnNlPzogQmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzO1xyXG4gIHVwbG9hZGluZ0xvYWRlZDogbnVtYmVyO1xyXG4gIHVwbG9hZGluZ1RvdGFsOiBudW1iZXI7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdCgnQkFTRV9VUkwnKSBwcml2YXRlIGJhc2VVcmw6IHN0cmluZyxcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBwb3N0RmlsZShcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdzogYm9vbGVhbixcclxuICAgIHdpdGhQcm9ncmVzczogdHJ1ZSxcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+PjtcclxuXHJcbiAgcHVibGljIHBvc3RGaWxlKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93PzogYm9vbGVhbixcclxuICAgIHdpdGhQcm9ncmVzcz86IGZhbHNlLFxyXG4gICk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPjtcclxuXHJcbiAgcHVibGljIHBvc3RGaWxlKFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93PzogYm9vbGVhbixcclxuICAgIHdpdGhQcm9ncmVzcz86IGJvb2xlYW4sXHJcbiAgKTogT2JzZXJ2YWJsZTxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+IHwgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPj47XHJcblxyXG4gIHB1YmxpYyBwb3N0RmlsZShcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdyA9IGZhbHNlLFxyXG4gICAgd2l0aFByb2dyZXNzID0gZmFsc2UsXHJcbiAgKTogT2JzZXJ2YWJsZTxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+IHwgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPj4ge1xyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblxyXG4gICAgZm9ybURhdGEuYXBwZW5kKGBmaWxlS2V5MWAsIGZpbGUsIGZpbGUubmFtZSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucG9zdEZpbGVzSW5uZXIoZm9ybURhdGEsIGNyZWF0ZUxvY2FsQ29waWVzTm93LCB3aXRoUHJvZ3Jlc3MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBvc3RGaWxlcyhmaWxlczogRmlsZUxpc3QsIGNyZWF0ZUxvY2FsQ29waWVzTm93ID0gZmFsc2UpOiBPYnNlcnZhYmxlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4ge1xyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB2YXIgZmlsZVRvVXBsb2FkID0gZmlsZXMuaXRlbShpKTtcclxuICAgICAgZm9ybURhdGEuYXBwZW5kKGBmaWxlS2V5JHtpfWAsIGZpbGVUb1VwbG9hZCBhcyBCbG9iLCBmaWxlVG9VcGxvYWQ/Lm5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnBvc3RGaWxlc0lubmVyKGZvcm1EYXRhLCBjcmVhdGVMb2NhbENvcGllc05vdyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9zdEZpbGVzSW5uZXIoXHJcbiAgICBmb3JtRGF0YTogRm9ybURhdGEsXHJcbiAgICBjcmVhdGVMb2NhbENvcGllc05vdzogYm9vbGVhbixcclxuICAgIHdpdGhQcm9ncmVzczogdHJ1ZSxcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+PjtcclxuXHJcbiAgcHVibGljIHBvc3RGaWxlc0lubmVyKFxyXG4gICAgZm9ybURhdGE6IEZvcm1EYXRhLFxyXG4gICAgY3JlYXRlTG9jYWxDb3BpZXNOb3c/OiBib29sZWFuLFxyXG4gICAgd2l0aFByb2dyZXNzPzogZmFsc2UsXHJcbiAgKTogT2JzZXJ2YWJsZTxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+O1xyXG4gIHB1YmxpYyBwb3N0RmlsZXNJbm5lcihcclxuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSxcclxuICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93OiBib29sZWFuLFxyXG4gICAgd2l0aFByb2dyZXNzOiBib29sZWFuLFxyXG4gICk6IE9ic2VydmFibGU8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPiB8IE9ic2VydmFibGU8SHR0cEV2ZW50PEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4+O1xyXG4gIHB1YmxpYyBwb3N0RmlsZXNJbm5lcihcclxuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSxcclxuICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93ID0gZmFsc2UsXHJcbiAgICB3aXRoUHJvZ3Jlc3MgPSBmYWxzZSxcclxuICApOiBPYnNlcnZhYmxlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4gfCBPYnNlcnZhYmxlPEh0dHBFdmVudDxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+PiB7XHJcbiAgICBsZXQgZW5kcG9pbnQgPSB0aGlzLmJhc2VVcmwgKyAnQXBpL0ZpbGVzL1VwbG9hZEZpbGVzJztcclxuXHJcbiAgICBpZiAoY3JlYXRlTG9jYWxDb3BpZXNOb3cpIHtcclxuICAgICAgZW5kcG9pbnQgKz0gJy9Ob3cnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8QmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzPihcclxuICAgICAgZW5kcG9pbnQsXHJcbiAgICAgIGZvcm1EYXRhLFxyXG4gICAgICB3aXRoUHJvZ3Jlc3MgPyB7IHJlcG9ydFByb2dyZXNzOiB0cnVlLCBvYnNlcnZlOiAnZXZlbnRzJyB9IDogdW5kZWZpbmVkLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGxvYWRGaWxlV2l0aFByb2dyZXNzKGZpbGU6IEZpbGUsIGNyZWF0ZUxvY2FsQ29waWVzTm93ID0gZmFsc2UpOiBPYnNlcnZhYmxlPFVwbG9hZEZpbGVXaXRoUHJvZ3Jlc3NFdmVudD4ge1xyXG4gICAgbGV0IHVwbG9hZGluZ0xvYWRlZDogbnVtYmVyO1xyXG4gICAgbGV0IHVwbG9hZGluZ1RvdGFsOiBudW1iZXI7XHJcbiAgICByZXR1cm4gdGhpcy5wb3N0RmlsZShmaWxlLCBjcmVhdGVMb2NhbENvcGllc05vdywgdHJ1ZSkucGlwZShcclxuICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIEh0dHBVcGxvYWRQcm9ncmVzc0V2ZW50IHwgSHR0cFJlc3BvbnNlPEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcz4gPT4ge1xyXG4gICAgICAgIHJldHVybiBldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzIHx8IGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgc3dpdGNoTWFwKChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XHJcbiAgICAgICAgICB1cGxvYWRpbmdMb2FkZWQgPSBldmVudC5sb2FkZWQ7XHJcbiAgICAgICAgICB1cGxvYWRpbmdUb3RhbCA9IGV2ZW50LnRvdGFsO1xyXG4gICAgICAgICAgcmV0dXJuIFt7IGxvYWRpbmc6IHRydWUsIHVwbG9hZGluZ0xvYWRlZCwgdXBsb2FkaW5nVG90YWwgfV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChldmVudC5ib2R5LnJlc3BvbnNlT2JqZWN0Py5bMF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGZpbGVJZDogZXZlbnQuYm9keS5yZXNwb25zZU9iamVjdFswXSxcclxuICAgICAgICAgICAgICAgIHVwbG9hZGluZ0xvYWRlZCxcclxuICAgICAgICAgICAgICAgIHVwbG9hZGluZ1RvdGFsLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF07XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXZlbnQuYm9keS5tZXNzYWdlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==