croco-html 2.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 (105) hide show
  1. package/esm2022/croco-html.mjs +4 -4
  2. package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +53 -53
  3. package/esm2022/lib/components/editor/external-video-block/external-video-block.component.mjs +43 -43
  4. package/esm2022/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +25 -25
  5. package/esm2022/lib/components/editor/image-editor/image-editor.component.mjs +46 -46
  6. package/esm2022/lib/components/editor/index.mjs +7 -7
  7. package/esm2022/lib/components/editor/main-editor/main-editor.component.mjs +76 -76
  8. package/esm2022/lib/components/editor/main-editor-block/main-editor-block.component.mjs +41 -41
  9. package/esm2022/lib/components/editor/text-editor/text-editor.component.mjs +30 -30
  10. package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +27 -27
  11. package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +134 -134
  12. package/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 -18
  14. package/esm2022/lib/components/index.mjs +6 -6
  15. package/esm2022/lib/components/upload-files-btn/upload-files-btn.component.mjs +54 -54
  16. package/esm2022/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +22 -22
  17. package/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 -49
  19. package/esm2022/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +17 -17
  20. package/esm2022/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +18 -18
  21. package/esm2022/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +16 -16
  22. package/esm2022/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +20 -20
  23. package/esm2022/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +20 -20
  24. package/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 -22
  26. package/esm2022/lib/croco-html.module.mjs +92 -92
  27. package/esm2022/lib/extensions/AngularMaterialTableMethods.mjs +64 -64
  28. package/esm2022/lib/extensions/BodyTagsExtensions.mjs +120 -120
  29. package/esm2022/lib/extensions/BootstrapTableMethods.mjs +67 -67
  30. package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +63 -63
  31. package/esm2022/lib/extensions/HtmlRawTagDataConsts.mjs +3 -3
  32. package/esm2022/lib/extensions/ImageMethods.mjs +32 -32
  33. package/esm2022/lib/extensions/InterfaceBlock.mjs +1 -1
  34. package/esm2022/lib/extensions/TableBuilder.mjs +35 -35
  35. package/esm2022/lib/extensions/TableMethods.mjs +108 -108
  36. package/esm2022/lib/extensions/TextMethods.mjs +29 -29
  37. package/esm2022/lib/extensions/TextSimpleMethods.mjs +77 -77
  38. package/esm2022/lib/extensions/VideoMethods.mjs +19 -19
  39. package/esm2022/lib/extensions/XmlExtensions.mjs +25 -25
  40. package/esm2022/lib/extensions/index.mjs +12 -12
  41. package/esm2022/lib/index.mjs +117 -117
  42. package/esm2022/lib/models/models.mjs +1 -1
  43. package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +26 -26
  44. package/esm2022/lib/pipes/TagToSpanPipe.mjs +16 -16
  45. package/esm2022/lib/pipes/ToHtmlBodyTagsPipe.mjs +17 -17
  46. package/esm2022/lib/pipes/ToPreviewHtmlPipe.mjs +17 -17
  47. package/esm2022/lib/pipes/index.mjs +5 -5
  48. package/esm2022/lib/pipes/to-preview.pipe.mjs +20 -20
  49. package/esm2022/lib/services/file-upload.service.mjs +70 -70
  50. package/esm2022/lib/services/files-query.service.mjs +27 -27
  51. package/esm2022/public-api.mjs +7 -7
  52. package/fesm2022/croco-html.mjs +1488 -1488
  53. package/fesm2022/croco-html.mjs.map +1 -1
  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 -6
  67. package/lib/components/index.d.ts +6 -6
  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 -64
  80. package/lib/extensions/AngularMaterialTableMethods.d.ts +7 -7
  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 -22
  95. package/lib/models/models.d.ts +14 -14
  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 +2 -2
  105. package/public-api.d.ts +4 -4
@@ -1,64 +1,64 @@
1
- export class AngularMaterialTableMethods {
2
- static getAngularMaterialTableData(columns, rows) {
3
- let data = [];
4
- for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {
5
- const row = rows[rowIndex];
6
- var elem = {};
7
- for (let columnIndex = 0; columnIndex < columns.length; columnIndex++) {
8
- const column = columns[columnIndex];
9
- elem[column] = row.columns[columnIndex].data.text;
10
- }
11
- data.push(elem);
12
- }
13
- return {
14
- displayedColumns: columns,
15
- data: data,
16
- };
17
- }
18
- static checkHeaders(tableData) {
19
- if (tableData.header === null) {
20
- return {
21
- isSucceeded: false,
22
- message: "Необходимо указать заголовок таблицы"
23
- };
24
- }
25
- let columns = tableData.header.columns;
26
- var uniqueDislayedColumns = columns.filter((v, i, a) => a.indexOf(v) === i);
27
- if (uniqueDislayedColumns.length !== columns.length) {
28
- return {
29
- isSucceeded: false,
30
- message: "Ошибка при обработке разметки таблицы. Обнаружены дубликаты заголовков."
31
- };
32
- }
33
- return {
34
- isSucceeded: true,
35
- message: "Ok"
36
- };
37
- }
38
- static checkAngularMaterialTableData(tableData, checkHeaders = true) {
39
- if (checkHeaders) {
40
- var checkHeadersResult = this.checkHeaders(tableData);
41
- if (!checkHeadersResult.isSucceeded) {
42
- return checkHeadersResult;
43
- }
44
- }
45
- let rows = tableData.rows;
46
- let columns = tableData.header.columns;
47
- for (let i = 0; i < rows.length; i++) {
48
- const row = rows[i];
49
- if (row.columns.length !== columns.length) {
50
- return {
51
- isSucceeded: false,
52
- message: `Ошибка при обработке разметки таблицы. `
53
- + `Количество колонок в каждой строке таблицы должно соотвествовать количеству колонок указанных в заголовке. `
54
- + `В строке таблицы №${i + 1} количество колонок = ${row.columns.length}, а должно быть ${columns.length}.`
55
- };
56
- }
57
- }
58
- return {
59
- isSucceeded: true,
60
- message: "Ok"
61
- };
62
- }
63
- }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWlCLEVBQUUsSUFBb0I7UUFFdEUsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXhCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUUzQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7WUFFZCxLQUFLLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDbkUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUVwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3JEO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUVELE9BQU87WUFDSCxnQkFBZ0IsRUFBRSxPQUFPO1lBQ3pCLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQW9CO1FBQ3BDLElBQUcsU0FBUyxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUM7WUFDekIsT0FBTztnQkFDSCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLHNDQUFzQzthQUNsRCxDQUFDO1NBQ0w7UUFFRCxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pELE9BQU87Z0JBQ0gsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSx5RUFBeUU7YUFDckYsQ0FBQztTQUNMO1FBRUQsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDO0lBQ0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLFNBQW9CLEVBQUUsZUFBd0IsSUFBSTtRQUVuRixJQUFHLFlBQVksRUFBQztZQUNaLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0RCxJQUFHLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFDO2dCQUMvQixPQUFPLGtCQUFrQixDQUFDO2FBQzdCO1NBQ0o7UUFFRCxJQUFJLElBQUksR0FBbUIsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQyxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFcEIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUN2QyxPQUFPO29CQUNILFdBQVcsRUFBRSxLQUFLO29CQUNsQixPQUFPLEVBQUUseUNBQXlDOzBCQUM1Qyw2R0FBNkc7MEJBQzdHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLG1CQUFtQixPQUFPLENBQUMsTUFBTSxHQUFHO2lCQUNsSCxDQUFDO2FBQ0w7U0FDSjtRQUVELE9BQU87WUFDSCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUFwaVJlc3BvbnNlLCBUYWJsZURhdGEsIFRhYmxlUm93RGF0YSB9IGZyb20gJy4vVGFibGVNZXRob2RzJztcclxuaW1wb3J0IHtBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGF9IGZyb20gXCIuLi9tb2RlbHMvbW9kZWxzXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcyB7XHJcbiAgICBzdGF0aWMgZ2V0QW5ndWxhck1hdGVyaWFsVGFibGVEYXRhKGNvbHVtbnM6IHN0cmluZ1tdLCByb3dzOiBUYWJsZVJvd0RhdGFbXSk6IEFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSB7XHJcblxyXG4gICAgICAgIGxldCBkYXRhOiBvYmplY3RbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgcm93cy5sZW5ndGg7IHJvd0luZGV4KyspIHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tyb3dJbmRleF07XHJcblxyXG4gICAgICAgICAgICB2YXIgZWxlbSA9IHt9O1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgY29sdW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IGNvbHVtbnMubGVuZ3RoOyBjb2x1bW5JbmRleCsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2NvbHVtbkluZGV4XTtcclxuXHJcbiAgICAgICAgICAgICAgICBlbGVtW2NvbHVtbl0gPSByb3cuY29sdW1uc1tjb2x1bW5JbmRleF0uZGF0YS50ZXh0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkYXRhLnB1c2goZWxlbSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5ZWRDb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNoZWNrSGVhZGVycyh0YWJsZURhdGE6IFRhYmxlRGF0YSk6IEJhc2VBcGlSZXNwb25zZSB7XHJcbiAgICAgICAgaWYodGFibGVEYXRhLmhlYWRlciA9PT0gbnVsbCl7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBcItCd0LXQvtCx0YXQvtC00LjQvNC+INGD0LrQsNC30LDRgtGMINC30LDQs9C+0LvQvtCy0L7QuiDRgtCw0LHQu9C40YbRi1wiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgY29sdW1uczogc3RyaW5nW10gPSB0YWJsZURhdGEuaGVhZGVyLmNvbHVtbnM7XHJcblxyXG4gICAgICAgIHZhciB1bmlxdWVEaXNsYXllZENvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKTtcclxuXHJcbiAgICAgICAgaWYgKHVuaXF1ZURpc2xheWVkQ29sdW1ucy5sZW5ndGggIT09IGNvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBcItCe0YjQuNCx0LrQsCDQv9GA0Lgg0L7QsdGA0LDQsdC+0YLQutC1INGA0LDQt9C80LXRgtC60Lgg0YLQsNCx0LvQuNGG0YsuINCe0LHQvdCw0YDRg9C20LXQvdGLINC00YPQsdC70LjQutCw0YLRiyDQt9Cw0LPQvtC70L7QstC60L7Qsi5cIlxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgY2hlY2tBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEodGFibGVEYXRhOiBUYWJsZURhdGEsIGNoZWNrSGVhZGVyczogYm9vbGVhbiA9IHRydWUpOiBCYXNlQXBpUmVzcG9uc2Uge1xyXG5cclxuICAgICAgICBpZihjaGVja0hlYWRlcnMpe1xyXG4gICAgICAgICAgICB2YXIgY2hlY2tIZWFkZXJzUmVzdWx0ID0gdGhpcy5jaGVja0hlYWRlcnModGFibGVEYXRhKTtcclxuXHJcbiAgICAgICAgICAgIGlmKCFjaGVja0hlYWRlcnNSZXN1bHQuaXNTdWNjZWVkZWQpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoZWNrSGVhZGVyc1Jlc3VsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHJvd3M6IFRhYmxlUm93RGF0YVtdID0gdGFibGVEYXRhLnJvd3M7XHJcbiAgICAgICAgbGV0IGNvbHVtbnM6IHN0cmluZ1tdID0gdGFibGVEYXRhLmhlYWRlci5jb2x1bW5zO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyb3cuY29sdW1ucy5sZW5ndGggIT09IGNvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQmtC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiDQsiDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLINC00L7Qu9C20L3QviDRgdC+0L7RgtCy0LXRgdGC0LLQvtCy0LDRgtGMINC60L7Qu9C40YfQtdGB0YLQstGDINC60L7Qu9C+0L3QvtC6INGD0LrQsNC30LDQvdC90YvRhSDQsiDQt9Cw0LPQvtC70L7QstC60LUuIGBcclxuICAgICAgICAgICAgICAgICAgICAgICAgKyBg0JIg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLIOKEliR7aSArIDF9INC60L7Qu9C40YfQtdGB0YLQstC+INC60L7Qu9C+0L3QvtC6ID0gJHtyb3cuY29sdW1ucy5sZW5ndGh9LCDQsCDQtNC+0LvQttC90L4g0LHRi9GC0YwgJHtjb2x1bW5zLmxlbmd0aH0uYFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ export class AngularMaterialTableMethods {
2
+ static getAngularMaterialTableData(columns, rows) {
3
+ let data = [];
4
+ for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {
5
+ const row = rows[rowIndex];
6
+ var elem = {};
7
+ for (let columnIndex = 0; columnIndex < columns.length; columnIndex++) {
8
+ const column = columns[columnIndex];
9
+ elem[column] = row.columns[columnIndex].data.text;
10
+ }
11
+ data.push(elem);
12
+ }
13
+ return {
14
+ displayedColumns: columns,
15
+ data: data,
16
+ };
17
+ }
18
+ static checkHeaders(tableData) {
19
+ if (tableData.header === null) {
20
+ return {
21
+ isSucceeded: false,
22
+ message: "Необходимо указать заголовок таблицы"
23
+ };
24
+ }
25
+ let columns = tableData.header.columns;
26
+ var uniqueDislayedColumns = columns.filter((v, i, a) => a.indexOf(v) === i);
27
+ if (uniqueDislayedColumns.length !== columns.length) {
28
+ return {
29
+ isSucceeded: false,
30
+ message: "Ошибка при обработке разметки таблицы. Обнаружены дубликаты заголовков."
31
+ };
32
+ }
33
+ return {
34
+ isSucceeded: true,
35
+ message: "Ok"
36
+ };
37
+ }
38
+ static checkAngularMaterialTableData(tableData, checkHeaders = true) {
39
+ if (checkHeaders) {
40
+ var checkHeadersResult = this.checkHeaders(tableData);
41
+ if (!checkHeadersResult.isSucceeded) {
42
+ return checkHeadersResult;
43
+ }
44
+ }
45
+ let rows = tableData.rows;
46
+ let columns = tableData.header.columns;
47
+ for (let i = 0; i < rows.length; i++) {
48
+ const row = rows[i];
49
+ if (row.columns.length !== columns.length) {
50
+ return {
51
+ isSucceeded: false,
52
+ message: `Ошибка при обработке разметки таблицы. `
53
+ + `Количество колонок в каждой строке таблицы должно соотвествовать количеству колонок указанных в заголовке. `
54
+ + `В строке таблицы №${i + 1} количество колонок = ${row.columns.length}, а должно быть ${columns.length}.`
55
+ };
56
+ }
57
+ }
58
+ return {
59
+ isSucceeded: true,
60
+ message: "Ok"
61
+ };
62
+ }
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWlCLEVBQUUsSUFBb0I7UUFFdEUsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXhCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTNCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVkLEtBQUssSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0RCxDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTztZQUNILGdCQUFnQixFQUFFLE9BQU87WUFDekIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBb0I7UUFDcEMsSUFBRyxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksRUFBQyxDQUFDO1lBQzFCLE9BQU87Z0JBQ0gsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxzQ0FBc0M7YUFDbEQsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEQsT0FBTztnQkFDSCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLHlFQUF5RTthQUNyRixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU87WUFDSCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxTQUFvQixFQUFFLGVBQXdCLElBQUk7UUFFbkYsSUFBRyxZQUFZLEVBQUMsQ0FBQztZQUNiLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0RCxJQUFHLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQ2hDLE9BQU8sa0JBQWtCLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksR0FBbUIsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQyxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwQixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsT0FBTztvQkFDSCxXQUFXLEVBQUUsS0FBSztvQkFDbEIsT0FBTyxFQUFFLHlDQUF5QzswQkFDNUMsNkdBQTZHOzBCQUM3RyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsT0FBTyxDQUFDLE1BQU0sR0FBRztpQkFDbEgsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UsIFRhYmxlRGF0YSwgVGFibGVSb3dEYXRhIH0gZnJvbSAnLi9UYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQge0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YX0gZnJvbSBcIi4uL21vZGVscy9tb2RlbHNcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzIHtcclxuICAgIHN0YXRpYyBnZXRBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEoY29sdW1uczogc3RyaW5nW10sIHJvd3M6IFRhYmxlUm93RGF0YVtdKTogQW5ndWxhck1hdGVyaWFsVGFibGVEYXRhIHtcclxuXHJcbiAgICAgICAgbGV0IGRhdGE6IG9iamVjdFtdID0gW107XHJcblxyXG4gICAgICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCByb3dzLmxlbmd0aDsgcm93SW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW3Jvd0luZGV4XTtcclxuXHJcbiAgICAgICAgICAgIHZhciBlbGVtID0ge307XHJcblxyXG4gICAgICAgICAgICBmb3IgKGxldCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5sZW5ndGg7IGNvbHVtbkluZGV4KyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSW5kZXhdO1xyXG5cclxuICAgICAgICAgICAgICAgIGVsZW1bY29sdW1uXSA9IHJvdy5jb2x1bW5zW2NvbHVtbkluZGV4XS5kYXRhLnRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRhdGEucHVzaChlbGVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXllZENvbHVtbnM6IGNvbHVtbnMsXHJcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY2hlY2tIZWFkZXJzKHRhYmxlRGF0YTogVGFibGVEYXRhKTogQmFzZUFwaVJlc3BvbnNlIHtcclxuICAgICAgICBpZih0YWJsZURhdGEuaGVhZGVyID09PSBudWxsKXtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J3QtdC+0LHRhdC+0LTQuNC80L4g0YPQutCw0LfQsNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGLXCJcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBjb2x1bW5zOiBzdHJpbmdbXSA9IHRhYmxlRGF0YS5oZWFkZXIuY29sdW1ucztcclxuXHJcbiAgICAgICAgdmFyIHVuaXF1ZURpc2xheWVkQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpO1xyXG5cclxuICAgICAgICBpZiAodW5pcXVlRGlzbGF5ZWRDb2x1bW5zLmxlbmd0aCAhPT0gY29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4g0J7QsdC90LDRgNGD0LbQtdC90Ysg0LTRg9Cx0LvQuNC60LDRgtGLINC30LDQs9C+0LvQvtCy0LrQvtCyLlwiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBjaGVja0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSh0YWJsZURhdGE6IFRhYmxlRGF0YSwgY2hlY2tIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSk6IEJhc2VBcGlSZXNwb25zZSB7XHJcblxyXG4gICAgICAgIGlmKGNoZWNrSGVhZGVycyl7XHJcbiAgICAgICAgICAgIHZhciBjaGVja0hlYWRlcnNSZXN1bHQgPSB0aGlzLmNoZWNrSGVhZGVycyh0YWJsZURhdGEpO1xyXG5cclxuICAgICAgICAgICAgaWYoIWNoZWNrSGVhZGVyc1Jlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hlY2tIZWFkZXJzUmVzdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcm93czogVGFibGVSb3dEYXRhW10gPSB0YWJsZURhdGEucm93cztcclxuICAgICAgICBsZXQgY29sdW1uczogc3RyaW5nW10gPSB0YWJsZURhdGEuaGVhZGVyLmNvbHVtbnM7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xyXG5cclxuICAgICAgICAgICAgaWYgKHJvdy5jb2x1bW5zLmxlbmd0aCAhPT0gY29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQntGI0LjQsdC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQtSDRgNCw0LfQvNC10YLQutC4INGC0LDQsdC70LjRhtGLLiBgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYNCa0L7Qu9C40YfQtdGB0YLQstC+INC60L7Qu9C+0L3QvtC6INCyINC60LDQttC00L7QuSDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg0LTQvtC70LbQvdC+INGB0L7QvtGC0LLQtdGB0YLQstC+0LLQsNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0YMg0LrQvtC70L7QvdC+0Log0YPQutCw0LfQsNC90L3Ri9GFINCyINC30LDQs9C+0LvQvtCy0LrQtS4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQkiDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg4oSWJHtpICsgMX0g0LrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0LogPSAke3Jvdy5jb2x1bW5zLmxlbmd0aH0sINCwINC00L7Qu9C20L3QviDQsdGL0YLRjCAke2NvbHVtbnMubGVuZ3RofS5gXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,120 +1,120 @@
1
- import { HtmlExtractionMethods } from "./HtmlExtractionMethods";
2
- import { HtmlRawTagDataConsts } from "./HtmlRawTagDataConsts";
3
- import { FileImageTagDataConsts } from "./ImageMethods";
4
- import { TextMethods } from "./TextMethods";
5
- import { ExternalVideoTagDataConsts } from "./VideoMethods";
6
- export class BodyTagsExtensions {
7
- static getDescription(tagName) {
8
- var descriptions = {
9
- "text": "Текст",
10
- "h1": "Заголовок 1 уровня",
11
- "h2": "Заголовок 2 уровня",
12
- "h3": "Заголовок 3 уровня",
13
- "h4": "Заголовок 4 уровня",
14
- "h5": "Заголовок 5 уровня",
15
- "h6": "Заголовок 6 уровня",
16
- [FileImageTagDataConsts.TagName]: "Изображение",
17
- [ExternalVideoTagDataConsts.TagName]: "Внешнее видео YouTube",
18
- [HtmlRawTagDataConsts.TagName]: "Html разметка"
19
- };
20
- return descriptions[tagName];
21
- }
22
- static toHtml(bodyTags) {
23
- let htmls = bodyTags.map(x => {
24
- if (TextMethods.textTags.includes(x.tagDescription.tag)) {
25
- return `<${x.tagDescription.tag} h-align="${x.attributes['h-align']}">${x.innerHtml}</${x.tagDescription.tag}>`;
26
- }
27
- if (x.tagDescription.tag === ExternalVideoTagDataConsts.TagName) {
28
- return `<${x.tagDescription.tag} type="${x.attributes['type']}" link="${x.attributes['link']}">${x.innerHtml}</${x.tagDescription.tag}>`;
29
- }
30
- if (x.tagDescription.tag === "html-raw") {
31
- return `<${x.tagDescription.tag}>${x.innerHtml}</${x.tagDescription.tag}>`;
32
- }
33
- return BodyTagsExtensions.imageTagToHtml(x);
34
- });
35
- let result = "";
36
- for (let index = 0; index < htmls.length; index++) {
37
- const element = htmls[index];
38
- result += element;
39
- }
40
- return result;
41
- }
42
- static imageTagToHtml(imageTag) {
43
- var attrStr = "";
44
- var attrValue = imageTag.attributes[FileImageTagDataConsts.FileIdAttrName];
45
- if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && attrValue) {
46
- attrStr = `${FileImageTagDataConsts.FileIdAttrName}="${attrValue}"`;
47
- }
48
- return `<${FileImageTagDataConsts.TagName} ${attrStr}></${FileImageTagDataConsts.TagName}>`;
49
- }
50
- static getBodyTags(html, options) {
51
- let result = HtmlExtractionMethods.transformHtmlStringToBlocks(html, options);
52
- return result.map(x => BodyTagsExtensions.toBodyTag(x));
53
- }
54
- static sanitizeInnerHtml(html) {
55
- return html.trim().replace('\n\t', '');
56
- }
57
- static toBodyTag(data) {
58
- if (TextMethods.textTags.includes(data.type)) {
59
- let textTagData = data.data;
60
- return {
61
- presentOrEdit: true,
62
- tagDescription: {
63
- tag: textTagData.textTagName,
64
- displayValue: BodyTagsExtensions.getDescription(data.type)
65
- },
66
- attributes: { "h-align": textTagData.horizontalAlignment },
67
- innerHtml: BodyTagsExtensions.sanitizeInnerHtml(textTagData.html)
68
- };
69
- }
70
- if (data.type === FileImageTagDataConsts.TagName) {
71
- let fileData = data.data;
72
- let atts = {};
73
- if (fileData.fileId) {
74
- atts[FileImageTagDataConsts.FileIdAttrName] = fileData.fileId;
75
- }
76
- return {
77
- presentOrEdit: true,
78
- tagDescription: {
79
- tag: FileImageTagDataConsts.TagName,
80
- displayValue: BodyTagsExtensions.getDescription(data.type)
81
- },
82
- attributes: atts,
83
- innerHtml: ""
84
- };
85
- }
86
- if (data.type === ExternalVideoTagDataConsts.TagName) {
87
- let fileData = data.data;
88
- return {
89
- presentOrEdit: true,
90
- tagDescription: {
91
- tag: ExternalVideoTagDataConsts.TagName,
92
- displayValue: BodyTagsExtensions.getDescription(data.type)
93
- },
94
- attributes: fileData,
95
- innerHtml: ""
96
- };
97
- }
98
- if (data.type === HtmlRawTagDataConsts.TagName) {
99
- return {
100
- presentOrEdit: true,
101
- tagDescription: {
102
- tag: HtmlRawTagDataConsts.TagName,
103
- displayValue: BodyTagsExtensions.getDescription(data.type)
104
- },
105
- attributes: {},
106
- innerHtml: BodyTagsExtensions.sanitizeInnerHtml(data.data["innerHTML"])
107
- };
108
- }
109
- return {
110
- presentOrEdit: true,
111
- tagDescription: {
112
- tag: "unsupported-tag",
113
- displayValue: "Неподдерживаемый тег"
114
- },
115
- attributes: {},
116
- innerHtml: JSON.stringify(data)
117
- };
118
- }
119
- }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keVRhZ3NFeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9keVRhZ3NFeHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQW9CLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZTtRQUNqQyxJQUFJLFlBQVksR0FBRztZQUNmLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxhQUFhO1lBQy9DLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLEVBQUUsdUJBQXVCO1lBQzdELENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBZTtTQUNsRCxDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBdUI7UUFDakMsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFB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O2dCQUNwQixTQUFTLEVBQUUsRUFBRTthQUNoQixDQUFDO1NBQ0w7UUFFRCxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsT0FBTyxFQUFDO1lBRTFDLE9BQU87Z0JBQ0gsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGNBQWMsRUFBRTtvQkFDWixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTztvQkFDakMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUM3RDtnQkFDRCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxTQUFTLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxRSxDQUFDO1NBQ0w7UUFFRCxPQUFPO1lBQ0gsYUFBYSxFQUFFLElBQUk7WUFDbkIsY0FBYyxFQUFFO2dCQUNaLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLFlBQVksRUFBRSxzQkFBc0I7YUFDdkM7WUFDRCxVQUFVLEVBQUUsRUFBRztZQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztTQUNsQyxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tIFwiLi4vbW9kZWxzL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBIdG1sRXh0cmFjdGlvbk1ldGhvZHMsIEh0bWxFeHRyYWN0aW9uT3B0aW9ucyB9IGZyb20gXCIuL0h0bWxFeHRyYWN0aW9uTWV0aG9kc1wiO1xyXG5pbXBvcnQgeyBJbnRlcmZhY2VCbG9jayB9IGZyb20gXCIuL0ludGVyZmFjZUJsb2NrXCI7XHJcbmltcG9ydCB7IEh0bWxSYXdUYWdEYXRhQ29uc3RzIH0gZnJvbSBcIi4vSHRtbFJhd1RhZ0RhdGFDb25zdHNcIjtcclxuaW1wb3J0IHsgRmlsZUltYWdlVGFnRGF0YSwgRmlsZUltYWdlVGFnRGF0YUNvbnN0cyB9IGZyb20gXCIuL0ltYWdlTWV0aG9kc1wiO1xyXG5pbXBvcnQgeyBUZXh0TWV0aG9kcyB9IGZyb20gXCIuL1RleHRNZXRob2RzXCI7XHJcbmltcG9ydCB7IFNpbXBsZVRleHRUYWdEYXRhIH0gZnJvbSBcIi4vVGV4dFNpbXBsZU1ldGhvZHNcIjtcclxuaW1wb3J0IHsgRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMgfSBmcm9tIFwiLi9WaWRlb01ldGhvZHNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCb2R5VGFnc0V4dGVuc2lvbnMge1xyXG5cclxuICAgIHN0YXRpYyBnZXREZXNjcmlwdGlvbih0YWdOYW1lOiBzdHJpbmcpe1xyXG4gICAgICAgIHZhciBkZXNjcmlwdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIFwidGV4dFwiOiBcItCi0LXQutGB0YJcIixcclxuICAgICAgICAgICAgXCJoMVwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAxINGD0YDQvtCy0L3Rj1wiLFxyXG4gICAgICAgICAgICBcImgyXCI6IFwi0JfQsNCz0L7Qu9C+0LLQvtC6IDIg0YPRgNC+0LLQvdGPXCIsXHJcbiAgICAgICAgICAgIFwiaDNcIjogXCLQl9Cw0LPQvtC70L7QstC+0LogMyDRg9GA0L7QstC90Y9cIixcclxuICAgICAgICAgICAgXCJoNFwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA0INGD0YDQvtCy0L3Rj1wiLFxyXG4gICAgICAgICAgICBcImg1XCI6IFwi0JfQsNCz0L7Qu9C+0LLQvtC6IDUg0YPRgNC+0LLQvdGPXCIsXHJcbiAgICAgICAgICAgIFwiaDZcIjogXCLQl9Cw0LPQvtC70L7QstC+0LogNiDRg9GA0L7QstC90Y9cIixcclxuICAgICAgICAgICAgW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZV06IFwi0JjQt9C+0LHRgNCw0LbQtdC90LjQtVwiLFxyXG4gICAgICAgICAgICBbRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVGFnTmFtZV06IFwi0JLQvdC10YjQvdC10LUg0LLQuNC00LXQviBZb3VUdWJlXCIsXHJcbiAgICAgICAgICAgIFtIdG1sUmF3VGFnRGF0YUNvbnN0cy5UYWdOYW1lXTogXCJIdG1sINGA0LDQt9C80LXRgtC60LBcIlxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbnNbdGFnTmFtZV07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHRvSHRtbChib2R5VGFnczogSHRtbEJvZHlUYWdbXSk6IHN0cmluZ3tcclxuICAgICAgICBsZXQgaHRtbHMgPSBib2R5VGFncy5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIGlmKFRleHRNZXRob2RzLnRleHRUYWdzLmluY2x1ZGVzKHgudGFnRGVzY3JpcHRpb24udGFnKSl7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGA8JHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30gaC1hbGlnbj1cIiR7eC5hdHRyaWJ1dGVzWydoLWFsaWduJ119XCI+JHt4LmlubmVySHRtbH08LyR7eC50YWdEZXNjcmlwdGlvbi50YWd9PmA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmKHgudGFnRGVzY3JpcHRpb24udGFnID09PSBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5UYWdOYW1lKXtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgPCR7eC50YWdEZXNjcmlwdGlvbi50YWd9IHR5cGU9XCIke3guYXR0cmlidXRlc1sndHlwZSddfVwiIGxpbms9XCIke3guYXR0cmlidXRlc1snbGluayddfVwiPiR7eC5pbm5lckh0bWx9PC8ke3gudGFnRGVzY3JpcHRpb24udGFnfT5gXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmKHgudGFnRGVzY3JpcHRpb24udGFnID09PSBcImh0bWwtcmF3XCIpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8JHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+JHt4LmlubmVySHRtbH08LyR7eC50YWdEZXNjcmlwdGlvbi50YWd9PmBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIEJvZHlUYWdzRXh0ZW5zaW9ucy5pbWFnZVRhZ1RvSHRtbCh4KTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG5cclxuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBodG1scy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGh0bWxzW2luZGV4XTtcclxuXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBlbGVtZW50O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGltYWdlVGFnVG9IdG1sKGltYWdlVGFnOiBIdG1sQm9keVRhZyl7XHJcblxyXG4gICAgICAgIHZhciBhdHRyU3RyID0gXCJcIjtcclxuXHJcbiAgICAgICAgdmFyIGF0dHJWYWx1ZSA9IGltYWdlVGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV07XHJcbiAgICAgICAgaWYoaW1hZ2VUYWcuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lKSAmJiBhdHRyVmFsdWUpe1xyXG4gICAgICAgICAgICBhdHRyU3RyID0gYCR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZX09XCIke2F0dHJWYWx1ZX1cImA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYDwke0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZX0gJHthdHRyU3RyfT48LyR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lfT5gO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRCb2R5VGFncyhodG1sOnN0cmluZywgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKXtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gSHRtbEV4dHJhY3Rpb25NZXRob2RzLnRyYW5zZm9ybUh0bWxTdHJpbmdUb0Jsb2NrcyhodG1sLCBvcHRpb25zKTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0Lm1hcCh4ID0+IEJvZHlUYWdzRXh0ZW5zaW9ucy50b0JvZHlUYWcoeCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBzYW5pdGl6ZUlubmVySHRtbChodG1sOnN0cmluZyk6c3RyaW5ne1xyXG4gICAgICAgIHJldHVybiBodG1sLnRyaW0oKS5yZXBsYWNlKCdcXG5cXHQnLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHRvQm9keVRhZyhkYXRhOiBJbnRlcmZhY2VCbG9jayk6IEh0bWxCb2R5VGFnIHtcclxuICAgICAgICBpZiAoVGV4dE1ldGhvZHMudGV4dFRhZ3MuaW5jbHVkZXMoZGF0YS50eXBlKSkge1xyXG4gICAgICAgICAgICBsZXQgdGV4dFRhZ0RhdGEgPSBkYXRhLmRhdGEgYXMgU2ltcGxlVGV4dFRhZ0RhdGE7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFnOiB0ZXh0VGFnRGF0YS50ZXh0VGFnTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogeyBcImgtYWxpZ25cIjogdGV4dFRhZ0RhdGEuaG9yaXpvbnRhbEFsaWdubWVudCB9LFxyXG4gICAgICAgICAgICAgICAgaW5uZXJIdG1sOiBCb2R5VGFnc0V4dGVuc2lvbnMuc2FuaXRpemVJbm5lckh0bWwodGV4dFRhZ0RhdGEuaHRtbClcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGRhdGEudHlwZSA9PT0gRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lKXtcclxuXHJcbiAgICAgICAgICAgIGxldCBmaWxlRGF0YSA9IGRhdGEuZGF0YSBhcyBGaWxlSW1hZ2VUYWdEYXRhO1xyXG5cclxuICAgICAgICAgICAgbGV0IGF0dHMgPSB7fTtcclxuXHJcbiAgICAgICAgICAgIGlmKGZpbGVEYXRhLmZpbGVJZCl7XHJcbiAgICAgICAgICAgICAgICBhdHRzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdID0gZmlsZURhdGEuZmlsZUlkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFnOiBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlOiBCb2R5VGFnc0V4dGVuc2lvbnMuZ2V0RGVzY3JpcHRpb24oZGF0YS50eXBlKVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGF0dHMsXHJcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IFwiXCJcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGRhdGEudHlwZSA9PT0gRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVGFnTmFtZSl7XHJcbiAgICAgICAgICAgIGxldCBmaWxlRGF0YSA9IGRhdGEuZGF0YSBhcyBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cztcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICB0YWc6IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlOiBCb2R5VGFnc0V4dGVuc2lvbnMuZ2V0RGVzY3JpcHRpb24oZGF0YS50eXBlKVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGZpbGVEYXRhLFxyXG4gICAgICAgICAgICAgICAgaW5uZXJIdG1sOiBcIlwiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZihkYXRhLnR5cGUgPT09IEh0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWUpe1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhZzogSHRtbFJhd1RhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczoge30sXHJcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IEJvZHlUYWdzRXh0ZW5zaW9ucy5zYW5pdGl6ZUlubmVySHRtbChkYXRhLmRhdGFbXCJpbm5lckhUTUxcIl0pXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgdGFnOiBcInVuc3VwcG9ydGVkLXRhZ1wiLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheVZhbHVlOiBcItCd0LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGC0LXQs1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsgfSxcclxuICAgICAgICAgICAgaW5uZXJIdG1sOiBKU09OLnN0cmluZ2lmeShkYXRhKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { HtmlExtractionMethods } from "./HtmlExtractionMethods";
2
+ import { HtmlRawTagDataConsts } from "./HtmlRawTagDataConsts";
3
+ import { FileImageTagDataConsts } from "./ImageMethods";
4
+ import { TextMethods } from "./TextMethods";
5
+ import { ExternalVideoTagDataConsts } from "./VideoMethods";
6
+ export class BodyTagsExtensions {
7
+ static getDescription(tagName) {
8
+ var descriptions = {
9
+ "text": "Текст",
10
+ "h1": "Заголовок 1 уровня",
11
+ "h2": "Заголовок 2 уровня",
12
+ "h3": "Заголовок 3 уровня",
13
+ "h4": "Заголовок 4 уровня",
14
+ "h5": "Заголовок 5 уровня",
15
+ "h6": "Заголовок 6 уровня",
16
+ [FileImageTagDataConsts.TagName]: "Изображение",
17
+ [ExternalVideoTagDataConsts.TagName]: "Внешнее видео YouTube",
18
+ [HtmlRawTagDataConsts.TagName]: "Html разметка"
19
+ };
20
+ return descriptions[tagName];
21
+ }
22
+ static toHtml(bodyTags) {
23
+ let htmls = bodyTags.map(x => {
24
+ if (TextMethods.textTags.includes(x.tagDescription.tag)) {
25
+ return `<${x.tagDescription.tag} h-align="${x.attributes['h-align']}">${x.innerHtml}</${x.tagDescription.tag}>`;
26
+ }
27
+ if (x.tagDescription.tag === ExternalVideoTagDataConsts.TagName) {
28
+ return `<${x.tagDescription.tag} type="${x.attributes['type']}" link="${x.attributes['link']}">${x.innerHtml}</${x.tagDescription.tag}>`;
29
+ }
30
+ if (x.tagDescription.tag === "html-raw") {
31
+ return `<${x.tagDescription.tag}>${x.innerHtml}</${x.tagDescription.tag}>`;
32
+ }
33
+ return BodyTagsExtensions.imageTagToHtml(x);
34
+ });
35
+ let result = "";
36
+ for (let index = 0; index < htmls.length; index++) {
37
+ const element = htmls[index];
38
+ result += element;
39
+ }
40
+ return result;
41
+ }
42
+ static imageTagToHtml(imageTag) {
43
+ var attrStr = "";
44
+ var attrValue = imageTag.attributes[FileImageTagDataConsts.FileIdAttrName];
45
+ if (imageTag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && attrValue) {
46
+ attrStr = `${FileImageTagDataConsts.FileIdAttrName}="${attrValue}"`;
47
+ }
48
+ return `<${FileImageTagDataConsts.TagName} ${attrStr}></${FileImageTagDataConsts.TagName}>`;
49
+ }
50
+ static getBodyTags(html, options) {
51
+ let result = HtmlExtractionMethods.transformHtmlStringToBlocks(html, options);
52
+ return result.map(x => BodyTagsExtensions.toBodyTag(x));
53
+ }
54
+ static sanitizeInnerHtml(html) {
55
+ return html.trim().replace('\n\t', '');
56
+ }
57
+ static toBodyTag(data) {
58
+ if (TextMethods.textTags.includes(data.type)) {
59
+ let textTagData = data.data;
60
+ return {
61
+ presentOrEdit: true,
62
+ tagDescription: {
63
+ tag: textTagData.textTagName,
64
+ displayValue: BodyTagsExtensions.getDescription(data.type)
65
+ },
66
+ attributes: { "h-align": textTagData.horizontalAlignment },
67
+ innerHtml: BodyTagsExtensions.sanitizeInnerHtml(textTagData.html)
68
+ };
69
+ }
70
+ if (data.type === FileImageTagDataConsts.TagName) {
71
+ let fileData = data.data;
72
+ let atts = {};
73
+ if (fileData.fileId) {
74
+ atts[FileImageTagDataConsts.FileIdAttrName] = fileData.fileId;
75
+ }
76
+ return {
77
+ presentOrEdit: true,
78
+ tagDescription: {
79
+ tag: FileImageTagDataConsts.TagName,
80
+ displayValue: BodyTagsExtensions.getDescription(data.type)
81
+ },
82
+ attributes: atts,
83
+ innerHtml: ""
84
+ };
85
+ }
86
+ if (data.type === ExternalVideoTagDataConsts.TagName) {
87
+ let fileData = data.data;
88
+ return {
89
+ presentOrEdit: true,
90
+ tagDescription: {
91
+ tag: ExternalVideoTagDataConsts.TagName,
92
+ displayValue: BodyTagsExtensions.getDescription(data.type)
93
+ },
94
+ attributes: fileData,
95
+ innerHtml: ""
96
+ };
97
+ }
98
+ if (data.type === HtmlRawTagDataConsts.TagName) {
99
+ return {
100
+ presentOrEdit: true,
101
+ tagDescription: {
102
+ tag: HtmlRawTagDataConsts.TagName,
103
+ displayValue: BodyTagsExtensions.getDescription(data.type)
104
+ },
105
+ attributes: {},
106
+ innerHtml: BodyTagsExtensions.sanitizeInnerHtml(data.data["innerHTML"])
107
+ };
108
+ }
109
+ return {
110
+ presentOrEdit: true,
111
+ tagDescription: {
112
+ tag: "unsupported-tag",
113
+ displayValue: "Неподдерживаемый тег"
114
+ },
115
+ attributes: {},
116
+ innerHtml: JSON.stringify(data)
117
+ };
118
+ }
119
+ }
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9keVRhZ3NFeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9keVRhZ3NFeHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQW9CLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZTtRQUNqQyxJQUFJLFlBQVksR0FBRztZQUNmLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxhQUFhO1lBQy9DLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLEVBQUUsdUJBQXVCO1lBQzdELENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBZTtTQUNsRCxDQUFDO1FBRUYsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBdUI7UUFDakMsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QixJQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztnQkFDdEQsT0FBTyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ2xILENBQUM7WUFFRCxJQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLDBCQUEwQixDQUFDLE9BQU8sRUFBQyxDQUFDO2dCQUM1RCxPQUFPLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtZQUM1SSxDQUFDO1lBRUQsSUFBRyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUMsQ0FBQztnQkFDcEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtZQUM5RSxDQUFDO1lBRUQsT0FBTyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFaEIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFN0IsTUFBTSxJQUFJLE9BQU8sQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBcUI7UUFFdkMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWpCLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0UsSUFBRyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxTQUFTLEVBQUMsQ0FBQztZQUN2RixPQUFPLEdBQUcsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLEtBQUssU0FBUyxHQUFHLENBQUM7UUFDeEUsQ0FBQztRQUVELE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLElBQUksT0FBTyxNQUFNLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVcsRUFBRSxPQUE4QjtRQUMxRCxJQUFJLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBb0I7UUFDakMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBeUIsQ0FBQztZQUVqRCxPQUFPO2dCQUNILGFBQWEsRUFBRSxJQUFJO2dCQUNuQixjQUFjLEVBQUU7b0JBQ1osR0FBRyxFQUFFLFdBQVcsQ0FBQyxXQUFXO29CQUM1QixZQUFZLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQzdEO2dCQUNELFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzFELFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2FBQ3BFLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sRUFBQyxDQUFDO1lBRTdDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUF3QixDQUFDO1lBRTdDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVkLElBQUcsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDO2dCQUNoQixJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNsRSxDQUFDO1lBRUQsT0FBTztnQkFDSCxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsY0FBYyxFQUFFO29CQUNaLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxPQUFPO29CQUNuQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQzdEO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixTQUFTLEVBQUUsRUFBRTthQUNoQixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUcsSUFBSSxDQUFDLElBQUksS0FBSywwQkFBMEIsQ0FBQyxPQUFPLEVBQUMsQ0FBQztZQUNqRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBa0MsQ0FBQztZQUV2RCxPQUFPO2dCQUNILGFBQWEsRUFBRSxJQUFJO2dCQUNuQixjQUFjLEVBQUU7b0JBQ1osR0FBRyxFQUFFLDBCQUEwQixDQUFDLE9BQU87b0JBQ3ZDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDN0Q7Z0JBQ0QsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLFNBQVMsRUFBRSxFQUFFO2FBQ2hCLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLE9BQU8sRUFBQyxDQUFDO1lBRTNDLE9BQU87Z0JBQ0gsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGNBQWMsRUFBRTtvQkFDWixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTztvQkFDakMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUM3RDtnQkFDRCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxTQUFTLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxRSxDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU87WUFDSCxhQUFhLEVBQUUsSUFBSTtZQUNuQixjQUFjLEVBQUU7Z0JBQ1osR0FBRyxFQUFFLGlCQUFpQjtnQkFDdEIsWUFBWSxFQUFFLHNCQUFzQjthQUN2QztZQUNELFVBQVUsRUFBRSxFQUFHO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQ2xDLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gXCIuLi9tb2RlbHMvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEh0bWxFeHRyYWN0aW9uTWV0aG9kcywgSHRtbEV4dHJhY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vSHRtbEV4dHJhY3Rpb25NZXRob2RzXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSBcIi4vSW50ZXJmYWNlQmxvY2tcIjtcclxuaW1wb3J0IHsgSHRtbFJhd1RhZ0RhdGFDb25zdHMgfSBmcm9tIFwiLi9IdG1sUmF3VGFnRGF0YUNvbnN0c1wiO1xyXG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWdEYXRhLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSBcIi4vSW1hZ2VNZXRob2RzXCI7XHJcbmltcG9ydCB7IFRleHRNZXRob2RzIH0gZnJvbSBcIi4vVGV4dE1ldGhvZHNcIjtcclxuaW1wb3J0IHsgU2ltcGxlVGV4dFRhZ0RhdGEgfSBmcm9tIFwiLi9UZXh0U2ltcGxlTWV0aG9kc1wiO1xyXG5pbXBvcnQgeyBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cyB9IGZyb20gXCIuL1ZpZGVvTWV0aG9kc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJvZHlUYWdzRXh0ZW5zaW9ucyB7XHJcblxyXG4gICAgc3RhdGljIGdldERlc2NyaXB0aW9uKHRhZ05hbWU6IHN0cmluZyl7XHJcbiAgICAgICAgdmFyIGRlc2NyaXB0aW9ucyA9IHtcclxuICAgICAgICAgICAgXCJ0ZXh0XCI6IFwi0KLQtdC60YHRglwiLFxyXG4gICAgICAgICAgICBcImgxXCI6IFwi0JfQsNCz0L7Qu9C+0LLQvtC6IDEg0YPRgNC+0LLQvdGPXCIsXHJcbiAgICAgICAgICAgIFwiaDJcIjogXCLQl9Cw0LPQvtC70L7QstC+0LogMiDRg9GA0L7QstC90Y9cIixcclxuICAgICAgICAgICAgXCJoM1wiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAzINGD0YDQvtCy0L3Rj1wiLFxyXG4gICAgICAgICAgICBcImg0XCI6IFwi0JfQsNCz0L7Qu9C+0LLQvtC6IDQg0YPRgNC+0LLQvdGPXCIsXHJcbiAgICAgICAgICAgIFwiaDVcIjogXCLQl9Cw0LPQvtC70L7QstC+0LogNSDRg9GA0L7QstC90Y9cIixcclxuICAgICAgICAgICAgXCJoNlwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA2INGD0YDQvtCy0L3Rj1wiLFxyXG4gICAgICAgICAgICBbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lXTogXCLQmNC30L7QsdGA0LDQttC10L3QuNC1XCIsXHJcbiAgICAgICAgICAgIFtFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5UYWdOYW1lXTogXCLQktC90LXRiNC90LXQtSDQstC40LTQtdC+IFlvdVR1YmVcIixcclxuICAgICAgICAgICAgW0h0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWVdOiBcIkh0bWwg0YDQsNC30LzQtdGC0LrQsFwiXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uc1t0YWdOYW1lXTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdG9IdG1sKGJvZHlUYWdzOiBIdG1sQm9keVRhZ1tdKTogc3RyaW5ne1xyXG4gICAgICAgIGxldCBodG1scyA9IGJvZHlUYWdzLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgaWYoVGV4dE1ldGhvZHMudGV4dFRhZ3MuaW5jbHVkZXMoeC50YWdEZXNjcmlwdGlvbi50YWcpKXtcclxuICAgICAgICAgICAgICByZXR1cm4gYDwke3gudGFnRGVzY3JpcHRpb24udGFnfSBoLWFsaWduPVwiJHt4LmF0dHJpYnV0ZXNbJ2gtYWxpZ24nXX1cIj4ke3guaW5uZXJIdG1sfTwvJHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8JHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30gdHlwZT1cIiR7eC5hdHRyaWJ1dGVzWyd0eXBlJ119XCIgbGluaz1cIiR7eC5hdHRyaWJ1dGVzWydsaW5rJ119XCI+JHt4LmlubmVySHRtbH08LyR7eC50YWdEZXNjcmlwdGlvbi50YWd9PmBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IFwiaHRtbC1yYXdcIil7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwke3gudGFnRGVzY3JpcHRpb24udGFnfT4ke3guaW5uZXJIdG1sfTwvJHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+YFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gQm9keVRhZ3NFeHRlbnNpb25zLmltYWdlVGFnVG9IdG1sKHgpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcblxyXG4gICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGh0bWxzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gaHRtbHNbaW5kZXhdO1xyXG5cclxuICAgICAgICAgICAgcmVzdWx0ICs9IGVsZW1lbnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaW1hZ2VUYWdUb0h0bWwoaW1hZ2VUYWc6IEh0bWxCb2R5VGFnKXtcclxuXHJcbiAgICAgICAgdmFyIGF0dHJTdHIgPSBcIlwiO1xyXG5cclxuICAgICAgICB2YXIgYXR0clZhbHVlID0gaW1hZ2VUYWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXTtcclxuICAgICAgICBpZihpbWFnZVRhZy5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWUpICYmIGF0dHJWYWx1ZSl7XHJcbiAgICAgICAgICAgIGF0dHJTdHIgPSBgJHtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lfT1cIiR7YXR0clZhbHVlfVwiYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBgPCR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lfSAke2F0dHJTdHJ9PjwvJHtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWV9PmA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEJvZHlUYWdzKGh0bWw6c3RyaW5nLCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpe1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBIdG1sRXh0cmFjdGlvbk1ldGhvZHMudHJhbnNmb3JtSHRtbFN0cmluZ1RvQmxvY2tzKGh0bWwsIG9wdGlvbnMpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQubWFwKHggPT4gQm9keVRhZ3NFeHRlbnNpb25zLnRvQm9keVRhZyh4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNhbml0aXplSW5uZXJIdG1sKGh0bWw6c3RyaW5nKTpzdHJpbmd7XHJcbiAgICAgICAgcmV0dXJuIGh0bWwudHJpbSgpLnJlcGxhY2UoJ1xcblxcdCcsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdG9Cb2R5VGFnKGRhdGE6IEludGVyZmFjZUJsb2NrKTogSHRtbEJvZHlUYWcge1xyXG4gICAgICAgIGlmIChUZXh0TWV0aG9kcy50ZXh0VGFncy5pbmNsdWRlcyhkYXRhLnR5cGUpKSB7XHJcbiAgICAgICAgICAgIGxldCB0ZXh0VGFnRGF0YSA9IGRhdGEuZGF0YSBhcyBTaW1wbGVUZXh0VGFnRGF0YTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICB0YWc6IHRleHRUYWdEYXRhLnRleHRUYWdOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IFwiaC1hbGlnblwiOiB0ZXh0VGFnRGF0YS5ob3Jpem9udGFsQWxpZ25tZW50IH0sXHJcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IEJvZHlUYWdzRXh0ZW5zaW9ucy5zYW5pdGl6ZUlubmVySHRtbCh0ZXh0VGFnRGF0YS5odG1sKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZGF0YS50eXBlID09PSBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUpe1xyXG5cclxuICAgICAgICAgICAgbGV0IGZpbGVEYXRhID0gZGF0YS5kYXRhIGFzIEZpbGVJbWFnZVRhZ0RhdGE7XHJcblxyXG4gICAgICAgICAgICBsZXQgYXR0cyA9IHt9O1xyXG5cclxuICAgICAgICAgICAgaWYoZmlsZURhdGEuZmlsZUlkKXtcclxuICAgICAgICAgICAgICAgIGF0dHNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0gPSBmaWxlRGF0YS5maWxlSWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICB0YWc6IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogYXR0cyxcclxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogXCJcIlxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZGF0YS50eXBlID09PSBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5UYWdOYW1lKXtcclxuICAgICAgICAgICAgbGV0IGZpbGVEYXRhID0gZGF0YS5kYXRhIGFzIEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhZzogRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogZmlsZURhdGEsXHJcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IFwiXCJcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGRhdGEudHlwZSA9PT0gSHRtbFJhd1RhZ0RhdGFDb25zdHMuVGFnTmFtZSl7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFnOiBIdG1sUmF3VGFnRGF0YUNvbnN0cy5UYWdOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcclxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogQm9keVRhZ3NFeHRlbnNpb25zLnNhbml0aXplSW5uZXJIdG1sKGRhdGEuZGF0YVtcImlubmVySFRNTFwiXSlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXHJcbiAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICB0YWc6IFwidW5zdXBwb3J0ZWQtdGFnXCIsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IFwi0J3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0YLQtdCzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXR0cmlidXRlczogeyB9LFxyXG4gICAgICAgICAgICBpbm5lckh0bWw6IEpTT04uc3RyaW5naWZ5KGRhdGEpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,67 +1,67 @@
1
- import { FileImageTagDataConsts } from './ImageMethods';
2
- import { TextTag } from './TextSimpleMethods';
3
- export class BootstrapTableMethods {
4
- static BuildTable(data) {
5
- let result = `<table class="table table-bordered">`;
6
- result += this.BuildHeader(data.header);
7
- result += this.BuildBody(data.rows);
8
- result += "</table>";
9
- return result;
10
- }
11
- static BuildHeader(data) {
12
- if (data === null) {
13
- return "";
14
- }
15
- let result = "<thead>";
16
- result += "<tr>";
17
- for (let index = 0; index < data.columns.length; index++) {
18
- result += `<th>${data.columns[index]}</th>`;
19
- }
20
- result += "</tr>";
21
- result += "</thead>";
22
- return result;
23
- }
24
- static BuildBody(rows) {
25
- let result = "<tbody>";
26
- for (let i = 0; i < rows.length; i++) {
27
- const row = rows[i];
28
- result += "<tr>";
29
- for (let j = 0; j < row.columns.length; j++) {
30
- const col = row.columns[j];
31
- result += `<td class="align-middle">${this.BuildInnerTags(col.data.children)}</td>`;
32
- }
33
- result += "</tr>";
34
- }
35
- result += "</tbody>";
36
- return result;
37
- }
38
- static BuildInnerTags(tags) {
39
- let result = "";
40
- for (let i = 0; i < tags.length; i++) {
41
- result += this.BuildInnerTag(tags[i]);
42
- }
43
- return result;
44
- }
45
- static BuildInnerTag(data) {
46
- if (data.type === FileImageTagDataConsts.TagName) {
47
- let fileImageTag = data;
48
- return `<img src=${fileImageTag.data.src} class="mx-auto d-block img-fluid" />`;
49
- }
50
- else if (data.type === TextTag) {
51
- let simpleTextTag = data;
52
- var map = {
53
- ["left"]: "text-start",
54
- ["center"]: "text-center",
55
- ["right"]: "text-end"
56
- };
57
- if (!simpleTextTag.data.validationResult.isSucceeded) {
58
- return `<span>Ошибка в тексте ${simpleTextTag.data.validationResult.message}</span>`;
59
- }
60
- return `<div class="${map[simpleTextTag.data.horizontalAlignment]}"><span>${simpleTextTag.data.html}</span></div>`;
61
- }
62
- else {
63
- return `<p>Тег ${data.type} не поддерживается</p>`;
64
- }
65
- }
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdHN0cmFwVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9vdHN0cmFwVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0Isc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQWlCLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFlO1FBQzdCLElBQUksTUFBTSxHQUFHLHNDQUFzQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFxQjtRQUNwQyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxNQUFNLENBQUM7UUFDakIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUMvQztRQUNELE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFbEIsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFvQjtRQUNqQyxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBCLE1BQU0sSUFBSSxNQUFNLENBQUM7WUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUzQixNQUFNLElBQUksNEJBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2FBQ3ZGO1lBQ0QsTUFBTSxJQUFJLE9BQU8sQ0FBQztTQUNyQjtRQUVELE1BQU0sSUFBSSxVQUFVLENBQUM7UUFDckIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBc0I7UUFDeEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBb0I7UUFDckMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sRUFBRTtZQUM5QyxJQUFJLFlBQVksR0FBRyxJQUFvQixDQUFDO1lBQ3hDLE9BQU8sWUFBWSxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsdUNBQXVDLENBQUM7U0FDbkY7YUFDSSxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFDO1lBRTFCLElBQUksYUFBYSxHQUFHLElBQXFCLENBQUM7WUFFMUMsSUFBSSxHQUFHLEdBQUc7Z0JBQ04sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZO2dCQUN0QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWE7Z0JBQ3pCLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVTthQUN4QixDQUFDO1lBRUYsSUFBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDO2dCQUNoRCxPQUFPLHlCQUF5QixhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sU0FBUyxDQUFDO2FBQ3hGO1lBRUQsT0FBTyxlQUFlLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQztTQUN0SDthQUNJO1lBQ0QsT0FBTyxVQUFVLElBQUksQ0FBQyxJQUFJLHdCQUF3QixDQUFDO1NBQ3REO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi9JbnRlcmZhY2VCbG9ja1wiO1xyXG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWcsIEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMgfSBmcm9tICcuL0ltYWdlTWV0aG9kcyc7XHJcbmltcG9ydCB7IFRhYmxlRGF0YSwgVGFibGVIZWFkZXJEYXRhLCBUYWJsZVJvd0RhdGEgfSBmcm9tICcuL1RhYmxlTWV0aG9kcyc7XHJcbmltcG9ydCB7IFNpbXBsZVRleHRUYWcsIFRleHRUYWcgfSBmcm9tICcuL1RleHRTaW1wbGVNZXRob2RzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBCb290c3RyYXBUYWJsZU1ldGhvZHMge1xyXG5cclxuICAgIHN0YXRpYyBCdWlsZFRhYmxlKGRhdGE6IFRhYmxlRGF0YSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiPmA7XHJcbiAgICAgICAgcmVzdWx0ICs9IHRoaXMuQnVpbGRIZWFkZXIoZGF0YS5oZWFkZXIpO1xyXG4gICAgICAgIHJlc3VsdCArPSB0aGlzLkJ1aWxkQm9keShkYXRhLnJvd3MpO1xyXG4gICAgICAgIHJlc3VsdCArPSBcIjwvdGFibGU+XCI7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEJ1aWxkSGVhZGVyKGRhdGE6IFRhYmxlSGVhZGVyRGF0YSkge1xyXG4gICAgICAgIGlmIChkYXRhID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiPHRoZWFkPlwiO1xyXG4gICAgICAgIHJlc3VsdCArPSBcIjx0cj5cIjtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5jb2x1bW5zLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gYDx0aD4ke2RhdGEuY29sdW1uc1tpbmRleF19PC90aD5gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHQgKz0gXCI8L3RyPlwiO1xyXG5cclxuICAgICAgICByZXN1bHQgKz0gXCI8L3RoZWFkPlwiO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZEJvZHkocm93czogVGFibGVSb3dEYXRhW10pIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gXCI8dGJvZHk+XCI7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xyXG5cclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiPHRyPlwiO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJvdy5jb2x1bW5zLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb2wgPSByb3cuY29sdW1uc1tqXTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gYDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZVwiPiR7dGhpcy5CdWlsZElubmVyVGFncyhjb2wuZGF0YS5jaGlsZHJlbil9PC90ZD5gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIjwvdHI+XCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXN1bHQgKz0gXCI8L3Rib2R5PlwiO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEJ1aWxkSW5uZXJUYWdzKHRhZ3M6IEludGVyZmFjZUJsb2NrW10pIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gXCJcIjtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhZ3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuQnVpbGRJbm5lclRhZyh0YWdzW2ldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIEJ1aWxkSW5uZXJUYWcoZGF0YTogSW50ZXJmYWNlQmxvY2spOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChkYXRhLnR5cGUgPT09IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSkge1xyXG4gICAgICAgICAgICBsZXQgZmlsZUltYWdlVGFnID0gZGF0YSBhcyBGaWxlSW1hZ2VUYWc7XHJcbiAgICAgICAgICAgIHJldHVybiBgPGltZyBzcmM9JHtmaWxlSW1hZ2VUYWcuZGF0YS5zcmN9IGNsYXNzPVwibXgtYXV0byBkLWJsb2NrIGltZy1mbHVpZFwiIC8+YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihkYXRhLnR5cGUgPT09IFRleHRUYWcpe1xyXG5cclxuICAgICAgICAgICAgbGV0IHNpbXBsZVRleHRUYWcgPSBkYXRhIGFzIFNpbXBsZVRleHRUYWc7XHJcblxyXG4gICAgICAgICAgICB2YXIgbWFwID0ge1xyXG4gICAgICAgICAgICAgICAgW1wibGVmdFwiXTogXCJ0ZXh0LXN0YXJ0XCIsXHJcbiAgICAgICAgICAgICAgICBbXCJjZW50ZXJcIl06IFwidGV4dC1jZW50ZXJcIixcclxuICAgICAgICAgICAgICAgIFtcInJpZ2h0XCJdOiBcInRleHQtZW5kXCJcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmKCFzaW1wbGVUZXh0VGFnLmRhdGEudmFsaWRhdGlvblJlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYDxzcGFuPtCe0YjQuNCx0LrQsCDQsiDRgtC10LrRgdGC0LUgJHtzaW1wbGVUZXh0VGFnLmRhdGEudmFsaWRhdGlvblJlc3VsdC5tZXNzYWdlfTwvc3Bhbj5gO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCIke21hcFtzaW1wbGVUZXh0VGFnLmRhdGEuaG9yaXpvbnRhbEFsaWdubWVudF19XCI+PHNwYW4+JHtzaW1wbGVUZXh0VGFnLmRhdGEuaHRtbH08L3NwYW4+PC9kaXY+YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgPHA+0KLQtdCzICR7ZGF0YS50eXBlfSDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y88L3A+YDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { FileImageTagDataConsts } from './ImageMethods';
2
+ import { TextTag } from './TextSimpleMethods';
3
+ export class BootstrapTableMethods {
4
+ static BuildTable(data) {
5
+ let result = `<table class="table table-bordered">`;
6
+ result += this.BuildHeader(data.header);
7
+ result += this.BuildBody(data.rows);
8
+ result += "</table>";
9
+ return result;
10
+ }
11
+ static BuildHeader(data) {
12
+ if (data === null) {
13
+ return "";
14
+ }
15
+ let result = "<thead>";
16
+ result += "<tr>";
17
+ for (let index = 0; index < data.columns.length; index++) {
18
+ result += `<th>${data.columns[index]}</th>`;
19
+ }
20
+ result += "</tr>";
21
+ result += "</thead>";
22
+ return result;
23
+ }
24
+ static BuildBody(rows) {
25
+ let result = "<tbody>";
26
+ for (let i = 0; i < rows.length; i++) {
27
+ const row = rows[i];
28
+ result += "<tr>";
29
+ for (let j = 0; j < row.columns.length; j++) {
30
+ const col = row.columns[j];
31
+ result += `<td class="align-middle">${this.BuildInnerTags(col.data.children)}</td>`;
32
+ }
33
+ result += "</tr>";
34
+ }
35
+ result += "</tbody>";
36
+ return result;
37
+ }
38
+ static BuildInnerTags(tags) {
39
+ let result = "";
40
+ for (let i = 0; i < tags.length; i++) {
41
+ result += this.BuildInnerTag(tags[i]);
42
+ }
43
+ return result;
44
+ }
45
+ static BuildInnerTag(data) {
46
+ if (data.type === FileImageTagDataConsts.TagName) {
47
+ let fileImageTag = data;
48
+ return `<img src=${fileImageTag.data.src} class="mx-auto d-block img-fluid" />`;
49
+ }
50
+ else if (data.type === TextTag) {
51
+ let simpleTextTag = data;
52
+ var map = {
53
+ ["left"]: "text-start",
54
+ ["center"]: "text-center",
55
+ ["right"]: "text-end"
56
+ };
57
+ if (!simpleTextTag.data.validationResult.isSucceeded) {
58
+ return `<span>Ошибка в тексте ${simpleTextTag.data.validationResult.message}</span>`;
59
+ }
60
+ return `<div class="${map[simpleTextTag.data.horizontalAlignment]}"><span>${simpleTextTag.data.html}</span></div>`;
61
+ }
62
+ else {
63
+ return `<p>Тег ${data.type} не поддерживается</p>`;
64
+ }
65
+ }
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdHN0cmFwVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9vdHN0cmFwVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0Isc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQWlCLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFlO1FBQzdCLElBQUksTUFBTSxHQUFHLHNDQUFzQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFxQjtRQUNwQyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdkIsTUFBTSxJQUFJLE1BQU0sQ0FBQztRQUNqQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDaEQsQ0FBQztRQUNELE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFbEIsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFvQjtRQUNqQyxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFcEIsTUFBTSxJQUFJLE1BQU0sQ0FBQztZQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFM0IsTUFBTSxJQUFJLDRCQUE0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUN4RixDQUFDO1lBQ0QsTUFBTSxJQUFJLE9BQU8sQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFzQjtRQUN4QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBb0I7UUFDckMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLElBQUksWUFBWSxHQUFHLElBQW9CLENBQUM7WUFDeEMsT0FBTyxZQUFZLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyx1Q0FBdUMsQ0FBQztRQUNwRixDQUFDO2FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBQyxDQUFDO1lBRTNCLElBQUksYUFBYSxHQUFHLElBQXFCLENBQUM7WUFFMUMsSUFBSSxHQUFHLEdBQUc7Z0JBQ04sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZO2dCQUN0QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWE7Z0JBQ3pCLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVTthQUN4QixDQUFDO1lBRUYsSUFBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQ2pELE9BQU8seUJBQXlCLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxTQUFTLENBQUM7WUFDekYsQ0FBQztZQUVELE9BQU8sZUFBZSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUM7UUFDdkgsQ0FBQzthQUNJLENBQUM7WUFDRixPQUFPLFVBQVUsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUM7UUFDdkQsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSBcIi4vSW50ZXJmYWNlQmxvY2tcIjtcclxuaW1wb3J0IHsgRmlsZUltYWdlVGFnLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSAnLi9JbWFnZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBUYWJsZURhdGEsIFRhYmxlSGVhZGVyRGF0YSwgVGFibGVSb3dEYXRhIH0gZnJvbSAnLi9UYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBTaW1wbGVUZXh0VGFnLCBUZXh0VGFnIH0gZnJvbSAnLi9UZXh0U2ltcGxlTWV0aG9kcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwVGFibGVNZXRob2RzIHtcclxuXHJcbiAgICBzdGF0aWMgQnVpbGRUYWJsZShkYXRhOiBUYWJsZURhdGEpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWRcIj5gO1xyXG4gICAgICAgIHJlc3VsdCArPSB0aGlzLkJ1aWxkSGVhZGVyKGRhdGEuaGVhZGVyKTtcclxuICAgICAgICByZXN1bHQgKz0gdGhpcy5CdWlsZEJvZHkoZGF0YS5yb3dzKTtcclxuICAgICAgICByZXN1bHQgKz0gXCI8L3RhYmxlPlwiO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZEhlYWRlcihkYXRhOiBUYWJsZUhlYWRlckRhdGEpIHtcclxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByZXN1bHQgPSBcIjx0aGVhZD5cIjtcclxuICAgICAgICByZXN1bHQgKz0gXCI8dHI+XCI7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEuY29sdW1ucy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IGA8dGg+JHtkYXRhLmNvbHVtbnNbaW5kZXhdfTwvdGg+YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90cj5cIjtcclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90aGVhZD5cIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQnVpbGRCb2R5KHJvd3M6IFRhYmxlUm93RGF0YVtdKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiPHRib2R5PlwiO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcclxuXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIjx0cj5cIjtcclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCByb3cuY29sdW1ucy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gcm93LmNvbHVtbnNbal07XHJcblxyXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj4ke3RoaXMuQnVpbGRJbm5lclRhZ3MoY29sLmRhdGEuY2hpbGRyZW4pfTwvdGQ+YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCI8L3RyPlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90Ym9keT5cIjtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZElubmVyVGFncyh0YWdzOiBJbnRlcmZhY2VCbG9ja1tdKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWdzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLkJ1aWxkSW5uZXJUYWcodGFnc1tpXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZElubmVyVGFnKGRhdGE6IEludGVyZmFjZUJsb2NrKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoZGF0YS50eXBlID09PSBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcclxuICAgICAgICAgICAgbGV0IGZpbGVJbWFnZVRhZyA9IGRhdGEgYXMgRmlsZUltYWdlVGFnO1xyXG4gICAgICAgICAgICByZXR1cm4gYDxpbWcgc3JjPSR7ZmlsZUltYWdlVGFnLmRhdGEuc3JjfSBjbGFzcz1cIm14LWF1dG8gZC1ibG9jayBpbWctZmx1aWRcIiAvPmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YS50eXBlID09PSBUZXh0VGFnKXtcclxuXHJcbiAgICAgICAgICAgIGxldCBzaW1wbGVUZXh0VGFnID0gZGF0YSBhcyBTaW1wbGVUZXh0VGFnO1xyXG5cclxuICAgICAgICAgICAgdmFyIG1hcCA9IHtcclxuICAgICAgICAgICAgICAgIFtcImxlZnRcIl06IFwidGV4dC1zdGFydFwiLFxyXG4gICAgICAgICAgICAgICAgW1wiY2VudGVyXCJdOiBcInRleHQtY2VudGVyXCIsXHJcbiAgICAgICAgICAgICAgICBbXCJyaWdodFwiXTogXCJ0ZXh0LWVuZFwiXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZighc2ltcGxlVGV4dFRhZy5kYXRhLnZhbGlkYXRpb25SZXN1bHQuaXNTdWNjZWVkZWQpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8c3Bhbj7QntGI0LjQsdC60LAg0LIg0YLQtdC60YHRgtC1ICR7c2ltcGxlVGV4dFRhZy5kYXRhLnZhbGlkYXRpb25SZXN1bHQubWVzc2FnZX08L3NwYW4+YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiJHttYXBbc2ltcGxlVGV4dFRhZy5kYXRhLmhvcml6b250YWxBbGlnbm1lbnRdfVwiPjxzcGFuPiR7c2ltcGxlVGV4dFRhZy5kYXRhLmh0bWx9PC9zcGFuPjwvZGl2PmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYDxwPtCi0LXQsyAke2RhdGEudHlwZX0g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPPC9wPmA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==