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.
- package/{esm2020 → esm2022}/croco-html.mjs +4 -4
- package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +53 -0
- package/esm2022/lib/components/editor/external-video-block/external-video-block.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/components/editor/image-editor/image-editor.component.mjs +46 -46
- package/{esm2020 → esm2022}/lib/components/editor/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/editor/main-editor/main-editor.component.mjs +76 -76
- package/{esm2020 → esm2022}/lib/components/editor/main-editor-block/main-editor-block.component.mjs +41 -41
- package/{esm2020 → esm2022}/lib/components/editor/text-editor/text-editor.component.mjs +30 -30
- package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +27 -0
- package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +134 -0
- package/{esm2020 → esm2022}/lib/components/file-id-select/file-id-select.component.mjs +58 -58
- package/esm2022/lib/components/html-view/html-view.component.mjs +18 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +7 -6
- package/{esm2020 → esm2022}/lib/components/upload-files-btn/upload-files-btn.component.mjs +54 -54
- package/{esm2020 → esm2022}/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +22 -22
- package/{esm2020 → esm2022}/lib/components/xml-tags/index.mjs +9 -9
- package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +18 -18
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +16 -16
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.mjs +17 -17
- package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +22 -0
- package/esm2022/lib/croco-html.module.mjs +92 -0
- package/esm2022/lib/extensions/AngularMaterialTableMethods.mjs +64 -0
- package/esm2022/lib/extensions/BodyTagsExtensions.mjs +120 -0
- package/esm2022/lib/extensions/BootstrapTableMethods.mjs +67 -0
- package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +63 -0
- package/{esm2020 → esm2022}/lib/extensions/HtmlRawTagDataConsts.mjs +4 -4
- package/esm2022/lib/extensions/ImageMethods.mjs +32 -0
- package/{esm2020 → esm2022}/lib/extensions/InterfaceBlock.mjs +1 -1
- package/esm2022/lib/extensions/TableBuilder.mjs +35 -0
- package/esm2022/lib/extensions/TableMethods.mjs +108 -0
- package/esm2022/lib/extensions/TextMethods.mjs +29 -0
- package/esm2022/lib/extensions/TextSimpleMethods.mjs +77 -0
- package/esm2022/lib/extensions/VideoMethods.mjs +20 -0
- package/{esm2020 → esm2022}/lib/extensions/XmlExtensions.mjs +25 -25
- package/{esm2020 → esm2022}/lib/extensions/index.mjs +12 -12
- package/esm2022/lib/index.mjs +118 -0
- package/{esm2020 → esm2022}/lib/models/models.mjs +2 -2
- package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +26 -0
- package/{esm2020 → esm2022}/lib/pipes/TagToSpanPipe.mjs +16 -16
- package/{esm2020 → esm2022}/lib/pipes/ToHtmlBodyTagsPipe.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pipes/ToPreviewHtmlPipe.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/to-preview.pipe.mjs +20 -20
- package/esm2022/lib/services/file-upload.service.mjs +70 -0
- package/{esm2020 → esm2022}/lib/services/files-query.service.mjs +27 -27
- package/{esm2020 → esm2022}/public-api.mjs +7 -7
- package/{fesm2020 → fesm2022}/croco-html.mjs +1511 -1496
- package/fesm2022/croco-html.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/add-files-btn/add-files-btn.component.d.ts +18 -18
- package/lib/components/editor/external-video-block/external-video-block.component.d.ts +17 -17
- package/lib/components/editor/html-raw-editor/html-raw-editor.component.d.ts +11 -11
- package/lib/components/editor/image-editor/image-editor.component.d.ts +18 -18
- package/lib/components/editor/index.d.ts +7 -7
- package/lib/components/editor/main-editor/main-editor.component.d.ts +27 -27
- package/lib/components/editor/main-editor-block/main-editor-block.component.d.ts +16 -16
- package/lib/components/editor/text-editor/text-editor.component.d.ts +12 -12
- package/lib/components/editor/visual-editor/DefaultTags.d.ts +6 -6
- package/lib/components/editor/visual-editor/visual-editor.component.d.ts +36 -36
- package/lib/components/file-id-select/file-id-select.component.d.ts +27 -27
- package/lib/components/html-view/html-view.component.d.ts +6 -0
- package/lib/components/index.d.ts +6 -5
- package/lib/components/upload-files-btn/upload-files-btn.component.d.ts +24 -24
- package/lib/components/xml-tags/html-raw-view/html-raw-view.component.d.ts +13 -13
- package/lib/components/xml-tags/index.d.ts +9 -9
- package/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.d.ts +16 -16
- package/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.d.ts +7 -7
- package/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.d.ts +7 -7
- package/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.d.ts +8 -8
- package/lib/croco-html.module.d.ts +64 -63
- package/lib/extensions/AngularMaterialTableMethods.d.ts +7 -10
- package/lib/extensions/BodyTagsExtensions.d.ts +11 -11
- package/lib/extensions/BootstrapTableMethods.d.ts +9 -9
- package/lib/extensions/HtmlExtractionMethods.d.ts +73 -73
- package/lib/extensions/HtmlRawTagDataConsts.d.ts +3 -3
- package/lib/extensions/ImageMethods.d.ts +18 -18
- package/lib/extensions/InterfaceBlock.d.ts +4 -4
- package/lib/extensions/TableBuilder.d.ts +5 -5
- package/lib/extensions/TableMethods.d.ts +59 -59
- package/lib/extensions/TextMethods.d.ts +19 -19
- package/lib/extensions/TextSimpleMethods.d.ts +23 -23
- package/lib/extensions/VideoMethods.d.ts +19 -19
- package/lib/extensions/XmlExtensions.d.ts +5 -5
- package/lib/extensions/index.d.ts +10 -10
- package/lib/index.d.ts +21 -21
- package/lib/models/models.d.ts +14 -10
- package/lib/pipes/RichTextToHtmlPipe.d.ts +8 -8
- package/lib/pipes/TagToSpanPipe.d.ts +7 -7
- package/lib/pipes/ToHtmlBodyTagsPipe.d.ts +8 -8
- package/lib/pipes/ToPreviewHtmlPipe.d.ts +9 -9
- package/lib/pipes/index.d.ts +5 -5
- package/lib/pipes/to-preview.pipe.d.ts +8 -8
- package/lib/services/file-upload.service.d.ts +34 -34
- package/lib/services/files-query.service.d.ts +42 -42
- package/package.json +11 -17
- package/public-api.d.ts +4 -4
- package/esm2020/lib/components/add-files-btn/add-files-btn.component.mjs +0 -53
- package/esm2020/lib/components/editor/external-video-block/external-video-block.component.mjs +0 -43
- package/esm2020/lib/components/editor/visual-editor/DefaultTags.mjs +0 -27
- package/esm2020/lib/components/editor/visual-editor/visual-editor.component.mjs +0 -134
- package/esm2020/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +0 -49
- package/esm2020/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +0 -22
- package/esm2020/lib/croco-html.module.mjs +0 -91
- package/esm2020/lib/extensions/AngularMaterialTableMethods.mjs +0 -64
- package/esm2020/lib/extensions/BodyTagsExtensions.mjs +0 -120
- package/esm2020/lib/extensions/BootstrapTableMethods.mjs +0 -67
- package/esm2020/lib/extensions/HtmlExtractionMethods.mjs +0 -63
- package/esm2020/lib/extensions/ImageMethods.mjs +0 -32
- package/esm2020/lib/extensions/TableBuilder.mjs +0 -35
- package/esm2020/lib/extensions/TableMethods.mjs +0 -108
- package/esm2020/lib/extensions/TextMethods.mjs +0 -29
- package/esm2020/lib/extensions/TextSimpleMethods.mjs +0 -77
- package/esm2020/lib/extensions/VideoMethods.mjs +0 -20
- package/esm2020/lib/index.mjs +0 -116
- package/esm2020/lib/pipes/RichTextToHtmlPipe.mjs +0 -26
- package/esm2020/lib/services/file-upload.service.mjs +0 -70
- package/fesm2015/croco-html.mjs +0 -1636
- package/fesm2015/croco-html.mjs.map +0 -1
- package/fesm2020/croco-html.mjs.map +0 -1
|
@@ -0,0 +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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWlCLEVBQUUsSUFBb0I7UUFFdEUsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXhCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTNCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVkLEtBQUssSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0RCxDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTztZQUNILGdCQUFnQixFQUFFLE9BQU87WUFDekIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBb0I7UUFDcEMsSUFBRyxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksRUFBQyxDQUFDO1lBQzFCLE9BQU87Z0JBQ0gsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxzQ0FBc0M7YUFDbEQsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEQsT0FBTztnQkFDSCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLHlFQUF5RTthQUNyRixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU87WUFDSCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxTQUFvQixFQUFFLGVBQXdCLElBQUk7UUFFbkYsSUFBRyxZQUFZLEVBQUMsQ0FBQztZQUNiLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0RCxJQUFHLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQ2hDLE9BQU8sa0JBQWtCLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksR0FBbUIsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQyxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwQixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsT0FBTztvQkFDSCxXQUFXLEVBQUUsS0FBSztvQkFDbEIsT0FBTyxFQUFFLHlDQUF5QzswQkFDNUMsNkdBQTZHOzBCQUM3RyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsT0FBTyxDQUFDLE1BQU0sR0FBRztpQkFDbEgsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UsIFRhYmxlRGF0YSwgVGFibGVSb3dEYXRhIH0gZnJvbSAnLi9UYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQge0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YX0gZnJvbSBcIi4uL21vZGVscy9tb2RlbHNcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzIHtcclxuICAgIHN0YXRpYyBnZXRBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEoY29sdW1uczogc3RyaW5nW10sIHJvd3M6IFRhYmxlUm93RGF0YVtdKTogQW5ndWxhck1hdGVyaWFsVGFibGVEYXRhIHtcclxuXHJcbiAgICAgICAgbGV0IGRhdGE6IG9iamVjdFtdID0gW107XHJcblxyXG4gICAgICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCByb3dzLmxlbmd0aDsgcm93SW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW3Jvd0luZGV4XTtcclxuXHJcbiAgICAgICAgICAgIHZhciBlbGVtID0ge307XHJcblxyXG4gICAgICAgICAgICBmb3IgKGxldCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5sZW5ndGg7IGNvbHVtbkluZGV4KyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSW5kZXhdO1xyXG5cclxuICAgICAgICAgICAgICAgIGVsZW1bY29sdW1uXSA9IHJvdy5jb2x1bW5zW2NvbHVtbkluZGV4XS5kYXRhLnRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRhdGEucHVzaChlbGVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXllZENvbHVtbnM6IGNvbHVtbnMsXHJcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY2hlY2tIZWFkZXJzKHRhYmxlRGF0YTogVGFibGVEYXRhKTogQmFzZUFwaVJlc3BvbnNlIHtcclxuICAgICAgICBpZih0YWJsZURhdGEuaGVhZGVyID09PSBudWxsKXtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J3QtdC+0LHRhdC+0LTQuNC80L4g0YPQutCw0LfQsNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGLXCJcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBjb2x1bW5zOiBzdHJpbmdbXSA9IHRhYmxlRGF0YS5oZWFkZXIuY29sdW1ucztcclxuXHJcbiAgICAgICAgdmFyIHVuaXF1ZURpc2xheWVkQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpO1xyXG5cclxuICAgICAgICBpZiAodW5pcXVlRGlzbGF5ZWRDb2x1bW5zLmxlbmd0aCAhPT0gY29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4g0J7QsdC90LDRgNGD0LbQtdC90Ysg0LTRg9Cx0LvQuNC60LDRgtGLINC30LDQs9C+0LvQvtCy0LrQvtCyLlwiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBjaGVja0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSh0YWJsZURhdGE6IFRhYmxlRGF0YSwgY2hlY2tIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSk6IEJhc2VBcGlSZXNwb25zZSB7XHJcblxyXG4gICAgICAgIGlmKGNoZWNrSGVhZGVycyl7XHJcbiAgICAgICAgICAgIHZhciBjaGVja0hlYWRlcnNSZXN1bHQgPSB0aGlzLmNoZWNrSGVhZGVycyh0YWJsZURhdGEpO1xyXG5cclxuICAgICAgICAgICAgaWYoIWNoZWNrSGVhZGVyc1Jlc3VsdC5pc1N1Y2NlZWRlZCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hlY2tIZWFkZXJzUmVzdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcm93czogVGFibGVSb3dEYXRhW10gPSB0YWJsZURhdGEucm93cztcclxuICAgICAgICBsZXQgY29sdW1uczogc3RyaW5nW10gPSB0YWJsZURhdGEuaGVhZGVyLmNvbHVtbnM7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xyXG5cclxuICAgICAgICAgICAgaWYgKHJvdy5jb2x1bW5zLmxlbmd0aCAhPT0gY29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQntGI0LjQsdC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQtSDRgNCw0LfQvNC10YLQutC4INGC0LDQsdC70LjRhtGLLiBgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYNCa0L7Qu9C40YfQtdGB0YLQstC+INC60L7Qu9C+0L3QvtC6INCyINC60LDQttC00L7QuSDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg0LTQvtC70LbQvdC+INGB0L7QvtGC0LLQtdGB0YLQstC+0LLQsNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0YMg0LrQvtC70L7QvdC+0Log0YPQutCw0LfQsNC90L3Ri9GFINCyINC30LDQs9C+0LvQvtCy0LrQtS4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQkiDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg4oSWJHtpICsgMX0g0LrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0LogPSAke3Jvdy5jb2x1bW5zLmxlbmd0aH0sINCwINC00L7Qu9C20L3QviDQsdGL0YLRjCAke2NvbHVtbnMubGVuZ3RofS5gXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +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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b0JBQ3ZDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDN0Q7Z0JBQ0QsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLFNBQVMsRUFBRSxFQUFFO2FBQ2hCLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLE9BQU8sRUFBQyxDQUFDO1lBRTNDLE9BQU87Z0JBQ0gsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGNBQWMsRUFBRTtvQkFDWixHQUFHLEVBQUUsb0JBQW9CLENBQUMsT0FBTztvQkFDakMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUM3RDtnQkFDRCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxTQUFTLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxRSxDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU87WUFDSCxhQUFhLEVBQUUsSUFBSTtZQUNuQixjQUFjLEVBQUU7Z0JBQ1osR0FBRyxFQUFFLGlCQUFpQjtnQkFDdEIsWUFBWSxFQUFFLHNCQUFzQjthQUN2QztZQUNELFVBQVUsRUFBRSxFQUFHO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1NBQ2xDLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gXCIuLi9tb2RlbHMvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEh0bWxFeHRyYWN0aW9uTWV0aG9kcywgSHRtbEV4dHJhY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vSHRtbEV4dHJhY3Rpb25NZXRob2RzXCI7XHJcbmltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSBcIi4vSW50ZXJmYWNlQmxvY2tcIjtcclxuaW1wb3J0IHsgSHRtbFJhd1RhZ0RhdGFDb25zdHMgfSBmcm9tIFwiLi9IdG1sUmF3VGFnRGF0YUNvbnN0c1wiO1xyXG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWdEYXRhLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSBcIi4vSW1hZ2VNZXRob2RzXCI7XHJcbmltcG9ydCB7IFRleHRNZXRob2RzIH0gZnJvbSBcIi4vVGV4dE1ldGhvZHNcIjtcclxuaW1wb3J0IHsgU2ltcGxlVGV4dFRhZ0RhdGEgfSBmcm9tIFwiLi9UZXh0U2ltcGxlTWV0aG9kc1wiO1xyXG5pbXBvcnQgeyBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cyB9IGZyb20gXCIuL1ZpZGVvTWV0aG9kc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEJvZHlUYWdzRXh0ZW5zaW9ucyB7XHJcblxyXG4gICAgc3RhdGljIGdldERlc2NyaXB0aW9uKHRhZ05hbWU6IHN0cmluZyl7XHJcbiAgICAgICAgdmFyIGRlc2NyaXB0aW9ucyA9IHtcclxuICAgICAgICAgICAgXCJ0ZXh0XCI6IFwi0KLQtdC60YHRglwiLFxyXG4gICAgICAgICAgICBcImgxXCI6IFwi0JfQsNCz0L7Qu9C+0LLQvtC6IDEg0YPRgNC+0LLQvdGPXCIsXHJcbiAgICAgICAgICAgIFwiaDJcIjogXCLQl9Cw0LPQvtC70L7QstC+0LogMiDRg9GA0L7QstC90Y9cIixcclxuICAgICAgICAgICAgXCJoM1wiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiAzINGD0YDQvtCy0L3Rj1wiLFxyXG4gICAgICAgICAgICBcImg0XCI6IFwi0JfQsNCz0L7Qu9C+0LLQvtC6IDQg0YPRgNC+0LLQvdGPXCIsXHJcbiAgICAgICAgICAgIFwiaDVcIjogXCLQl9Cw0LPQvtC70L7QstC+0LogNSDRg9GA0L7QstC90Y9cIixcclxuICAgICAgICAgICAgXCJoNlwiOiBcItCX0LDQs9C+0LvQvtCy0L7QuiA2INGD0YDQvtCy0L3Rj1wiLFxyXG4gICAgICAgICAgICBbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lXTogXCLQmNC30L7QsdGA0LDQttC10L3QuNC1XCIsXHJcbiAgICAgICAgICAgIFtFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5UYWdOYW1lXTogXCLQktC90LXRiNC90LXQtSDQstC40LTQtdC+IFlvdVR1YmVcIixcclxuICAgICAgICAgICAgW0h0bWxSYXdUYWdEYXRhQ29uc3RzLlRhZ05hbWVdOiBcIkh0bWwg0YDQsNC30LzQtdGC0LrQsFwiXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uc1t0YWdOYW1lXTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdG9IdG1sKGJvZHlUYWdzOiBIdG1sQm9keVRhZ1tdKTogc3RyaW5ne1xyXG4gICAgICAgIGxldCBodG1scyA9IGJvZHlUYWdzLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgaWYoVGV4dE1ldGhvZHMudGV4dFRhZ3MuaW5jbHVkZXMoeC50YWdEZXNjcmlwdGlvbi50YWcpKXtcclxuICAgICAgICAgICAgICByZXR1cm4gYDwke3gudGFnRGVzY3JpcHRpb24udGFnfSBoLWFsaWduPVwiJHt4LmF0dHJpYnV0ZXNbJ2gtYWxpZ24nXX1cIj4ke3guaW5uZXJIdG1sfTwvJHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8JHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30gdHlwZT1cIiR7eC5hdHRyaWJ1dGVzWyd0eXBlJ119XCIgbGluaz1cIiR7eC5hdHRyaWJ1dGVzWydsaW5rJ119XCI+JHt4LmlubmVySHRtbH08LyR7eC50YWdEZXNjcmlwdGlvbi50YWd9PmBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYoeC50YWdEZXNjcmlwdGlvbi50YWcgPT09IFwiaHRtbC1yYXdcIil7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwke3gudGFnRGVzY3JpcHRpb24udGFnfT4ke3guaW5uZXJIdG1sfTwvJHt4LnRhZ0Rlc2NyaXB0aW9uLnRhZ30+YFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gQm9keVRhZ3NFeHRlbnNpb25zLmltYWdlVGFnVG9IdG1sKHgpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcblxyXG4gICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGh0bWxzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gaHRtbHNbaW5kZXhdO1xyXG5cclxuICAgICAgICAgICAgcmVzdWx0ICs9IGVsZW1lbnQ7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaW1hZ2VUYWdUb0h0bWwoaW1hZ2VUYWc6IEh0bWxCb2R5VGFnKXtcclxuXHJcbiAgICAgICAgdmFyIGF0dHJTdHIgPSBcIlwiO1xyXG5cclxuICAgICAgICB2YXIgYXR0clZhbHVlID0gaW1hZ2VUYWcuYXR0cmlidXRlc1tGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXTtcclxuICAgICAgICBpZihpbWFnZVRhZy5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWUpICYmIGF0dHJWYWx1ZSl7XHJcbiAgICAgICAgICAgIGF0dHJTdHIgPSBgJHtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lfT1cIiR7YXR0clZhbHVlfVwiYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBgPCR7RmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lfSAke2F0dHJTdHJ9PjwvJHtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWV9PmA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEJvZHlUYWdzKGh0bWw6c3RyaW5nLCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpe1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBIdG1sRXh0cmFjdGlvbk1ldGhvZHMudHJhbnNmb3JtSHRtbFN0cmluZ1RvQmxvY2tzKGh0bWwsIG9wdGlvbnMpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQubWFwKHggPT4gQm9keVRhZ3NFeHRlbnNpb25zLnRvQm9keVRhZyh4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNhbml0aXplSW5uZXJIdG1sKGh0bWw6c3RyaW5nKTpzdHJpbmd7XHJcbiAgICAgICAgcmV0dXJuIGh0bWwudHJpbSgpLnJlcGxhY2UoJ1xcblxcdCcsICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdG9Cb2R5VGFnKGRhdGE6IEludGVyZmFjZUJsb2NrKTogSHRtbEJvZHlUYWcge1xyXG4gICAgICAgIGlmIChUZXh0TWV0aG9kcy50ZXh0VGFncy5pbmNsdWRlcyhkYXRhLnR5cGUpKSB7XHJcbiAgICAgICAgICAgIGxldCB0ZXh0VGFnRGF0YSA9IGRhdGEuZGF0YSBhcyBTaW1wbGVUZXh0VGFnRGF0YTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICB0YWc6IHRleHRUYWdEYXRhLnRleHRUYWdOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IFwiaC1hbGlnblwiOiB0ZXh0VGFnRGF0YS5ob3Jpem9udGFsQWxpZ25tZW50IH0sXHJcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IEJvZHlUYWdzRXh0ZW5zaW9ucy5zYW5pdGl6ZUlubmVySHRtbCh0ZXh0VGFnRGF0YS5odG1sKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZGF0YS50eXBlID09PSBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUpe1xyXG5cclxuICAgICAgICAgICAgbGV0IGZpbGVEYXRhID0gZGF0YS5kYXRhIGFzIEZpbGVJbWFnZVRhZ0RhdGE7XHJcblxyXG4gICAgICAgICAgICBsZXQgYXR0cyA9IHt9O1xyXG5cclxuICAgICAgICAgICAgaWYoZmlsZURhdGEuZmlsZUlkKXtcclxuICAgICAgICAgICAgICAgIGF0dHNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0gPSBmaWxlRGF0YS5maWxlSWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICB0YWc6IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogYXR0cyxcclxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogXCJcIlxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZGF0YS50eXBlID09PSBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5UYWdOYW1lKXtcclxuICAgICAgICAgICAgbGV0IGZpbGVEYXRhID0gZGF0YS5kYXRhIGFzIEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB0YWdEZXNjcmlwdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhZzogRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IEJvZHlUYWdzRXh0ZW5zaW9ucy5nZXREZXNjcmlwdGlvbihkYXRhLnR5cGUpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczogZmlsZURhdGEsXHJcbiAgICAgICAgICAgICAgICBpbm5lckh0bWw6IFwiXCJcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGRhdGEudHlwZSA9PT0gSHRtbFJhd1RhZ0RhdGFDb25zdHMuVGFnTmFtZSl7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFnOiBIdG1sUmF3VGFnRGF0YUNvbnN0cy5UYWdOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogQm9keVRhZ3NFeHRlbnNpb25zLmdldERlc2NyaXB0aW9uKGRhdGEudHlwZSlcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcclxuICAgICAgICAgICAgICAgIGlubmVySHRtbDogQm9keVRhZ3NFeHRlbnNpb25zLnNhbml0aXplSW5uZXJIdG1sKGRhdGEuZGF0YVtcImlubmVySFRNTFwiXSlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXHJcbiAgICAgICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICB0YWc6IFwidW5zdXBwb3J0ZWQtdGFnXCIsXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5VmFsdWU6IFwi0J3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0YLQtdCzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYXR0cmlidXRlczogeyB9LFxyXG4gICAgICAgICAgICBpbm5lckh0bWw6IEpTT04uc3RyaW5naWZ5KGRhdGEpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdHN0cmFwVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQm9vdHN0cmFwVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0Isc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQWlCLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFlO1FBQzdCLElBQUksTUFBTSxHQUFHLHNDQUFzQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFxQjtRQUNwQyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdkIsTUFBTSxJQUFJLE1BQU0sQ0FBQztRQUNqQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDaEQsQ0FBQztRQUNELE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFbEIsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFvQjtRQUNqQyxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFcEIsTUFBTSxJQUFJLE1BQU0sQ0FBQztZQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFM0IsTUFBTSxJQUFJLDRCQUE0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUN4RixDQUFDO1lBQ0QsTUFBTSxJQUFJLE9BQU8sQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFzQjtRQUN4QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBb0I7UUFDckMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLElBQUksWUFBWSxHQUFHLElBQW9CLENBQUM7WUFDeEMsT0FBTyxZQUFZLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyx1Q0FBdUMsQ0FBQztRQUNwRixDQUFDO2FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBQyxDQUFDO1lBRTNCLElBQUksYUFBYSxHQUFHLElBQXFCLENBQUM7WUFFMUMsSUFBSSxHQUFHLEdBQUc7Z0JBQ04sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZO2dCQUN0QixDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWE7Z0JBQ3pCLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVTthQUN4QixDQUFDO1lBRUYsSUFBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQ2pELE9BQU8seUJBQXlCLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxTQUFTLENBQUM7WUFDekYsQ0FBQztZQUVELE9BQU8sZUFBZSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUM7UUFDdkgsQ0FBQzthQUNJLENBQUM7WUFDRixPQUFPLFVBQVUsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUM7UUFDdkQsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSBcIi4vSW50ZXJmYWNlQmxvY2tcIjtcclxuaW1wb3J0IHsgRmlsZUltYWdlVGFnLCBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSAnLi9JbWFnZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBUYWJsZURhdGEsIFRhYmxlSGVhZGVyRGF0YSwgVGFibGVSb3dEYXRhIH0gZnJvbSAnLi9UYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBTaW1wbGVUZXh0VGFnLCBUZXh0VGFnIH0gZnJvbSAnLi9UZXh0U2ltcGxlTWV0aG9kcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwVGFibGVNZXRob2RzIHtcclxuXHJcbiAgICBzdGF0aWMgQnVpbGRUYWJsZShkYXRhOiBUYWJsZURhdGEpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWRcIj5gO1xyXG4gICAgICAgIHJlc3VsdCArPSB0aGlzLkJ1aWxkSGVhZGVyKGRhdGEuaGVhZGVyKTtcclxuICAgICAgICByZXN1bHQgKz0gdGhpcy5CdWlsZEJvZHkoZGF0YS5yb3dzKTtcclxuICAgICAgICByZXN1bHQgKz0gXCI8L3RhYmxlPlwiO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZEhlYWRlcihkYXRhOiBUYWJsZUhlYWRlckRhdGEpIHtcclxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByZXN1bHQgPSBcIjx0aGVhZD5cIjtcclxuICAgICAgICByZXN1bHQgKz0gXCI8dHI+XCI7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEuY29sdW1ucy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IGA8dGg+JHtkYXRhLmNvbHVtbnNbaW5kZXhdfTwvdGg+YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90cj5cIjtcclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90aGVhZD5cIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQnVpbGRCb2R5KHJvd3M6IFRhYmxlUm93RGF0YVtdKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiPHRib2R5PlwiO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcclxuXHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIjx0cj5cIjtcclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCByb3cuY29sdW1ucy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gcm93LmNvbHVtbnNbal07XHJcblxyXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGVcIj4ke3RoaXMuQnVpbGRJbm5lclRhZ3MoY29sLmRhdGEuY2hpbGRyZW4pfTwvdGQ+YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCI8L3RyPlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90Ym9keT5cIjtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZElubmVyVGFncyh0YWdzOiBJbnRlcmZhY2VCbG9ja1tdKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWdzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLkJ1aWxkSW5uZXJUYWcodGFnc1tpXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBCdWlsZElubmVyVGFnKGRhdGE6IEludGVyZmFjZUJsb2NrKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoZGF0YS50eXBlID09PSBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLlRhZ05hbWUpIHtcclxuICAgICAgICAgICAgbGV0IGZpbGVJbWFnZVRhZyA9IGRhdGEgYXMgRmlsZUltYWdlVGFnO1xyXG4gICAgICAgICAgICByZXR1cm4gYDxpbWcgc3JjPSR7ZmlsZUltYWdlVGFnLmRhdGEuc3JjfSBjbGFzcz1cIm14LWF1dG8gZC1ibG9jayBpbWctZmx1aWRcIiAvPmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YS50eXBlID09PSBUZXh0VGFnKXtcclxuXHJcbiAgICAgICAgICAgIGxldCBzaW1wbGVUZXh0VGFnID0gZGF0YSBhcyBTaW1wbGVUZXh0VGFnO1xyXG5cclxuICAgICAgICAgICAgdmFyIG1hcCA9IHtcclxuICAgICAgICAgICAgICAgIFtcImxlZnRcIl06IFwidGV4dC1zdGFydFwiLFxyXG4gICAgICAgICAgICAgICAgW1wiY2VudGVyXCJdOiBcInRleHQtY2VudGVyXCIsXHJcbiAgICAgICAgICAgICAgICBbXCJyaWdodFwiXTogXCJ0ZXh0LWVuZFwiXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZighc2ltcGxlVGV4dFRhZy5kYXRhLnZhbGlkYXRpb25SZXN1bHQuaXNTdWNjZWVkZWQpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8c3Bhbj7QntGI0LjQsdC60LAg0LIg0YLQtdC60YHRgtC1ICR7c2ltcGxlVGV4dFRhZy5kYXRhLnZhbGlkYXRpb25SZXN1bHQubWVzc2FnZX08L3NwYW4+YDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiJHttYXBbc2ltcGxlVGV4dFRhZy5kYXRhLmhvcml6b250YWxBbGlnbm1lbnRdfVwiPjxzcGFuPiR7c2ltcGxlVGV4dFRhZy5kYXRhLmh0bWx9PC9zcGFuPjwvZGl2PmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYDxwPtCi0LXQsyAke2RhdGEudHlwZX0g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPPC9wPmA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ImageMethods } from "./ImageMethods";
|
|
2
|
+
import { TableMethods } from "./TableMethods";
|
|
3
|
+
import { TextMethods } from "./TextMethods";
|
|
4
|
+
import { TextSimpleMethods } from "./TextSimpleMethods";
|
|
5
|
+
import { ExternalVideoTagDataConsts, VideoMethods } from "./VideoMethods";
|
|
6
|
+
export class HtmlExtractionMethods {
|
|
7
|
+
static ExtractHeaderTag(elem, tagName) {
|
|
8
|
+
var data = TextSimpleMethods.ExtractTextTag(elem);
|
|
9
|
+
data.type = tagName;
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
static { this.Extractors = {
|
|
13
|
+
["TEXT"]: (elem, options) => TextSimpleMethods.ExtractTextTag(elem),
|
|
14
|
+
["FILE-IMAGE"]: (elem, options) => ImageMethods.ExtractImage(elem, options),
|
|
15
|
+
["TABLE"]: (elem, options) => TableMethods.getTableFromHtmlTag(elem, options),
|
|
16
|
+
["RICH-TEXT"]: (elem, options) => TextMethods.ExtractRichTextData(elem),
|
|
17
|
+
["HTML-RAW"]: (elem, options) => ({
|
|
18
|
+
type: "html-raw",
|
|
19
|
+
data: {
|
|
20
|
+
innerHTML: elem.innerHTML
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
["H1"]: (elem, options) => HtmlExtractionMethods.ExtractHeaderTag(elem, "h1"),
|
|
24
|
+
["H2"]: (elem, options) => HtmlExtractionMethods.ExtractHeaderTag(elem, "h2"),
|
|
25
|
+
["H3"]: (elem, options) => HtmlExtractionMethods.ExtractHeaderTag(elem, "h3"),
|
|
26
|
+
["H4"]: (elem, options) => HtmlExtractionMethods.ExtractHeaderTag(elem, "h4"),
|
|
27
|
+
["H5"]: (elem, options) => HtmlExtractionMethods.ExtractHeaderTag(elem, "h5"),
|
|
28
|
+
["H6"]: (elem, options) => HtmlExtractionMethods.ExtractHeaderTag(elem, "h6"),
|
|
29
|
+
[ExternalVideoTagDataConsts.TagName.toUpperCase()]: (elem, options) => VideoMethods.ExtractExternalVideoTag(elem)
|
|
30
|
+
}; }
|
|
31
|
+
static transformHtmlElementToBlocks(element, options) {
|
|
32
|
+
var data = [];
|
|
33
|
+
for (let i = 0; i < element.children.length; i++) {
|
|
34
|
+
var elem = element.children.item(i);
|
|
35
|
+
if (!HtmlExtractionMethods.Extractors.hasOwnProperty(elem.tagName)) {
|
|
36
|
+
data.push({
|
|
37
|
+
type: "unsupported-tag",
|
|
38
|
+
data: {
|
|
39
|
+
tagString: elem.outerHTML
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
var extractor = HtmlExtractionMethods.Extractors[elem.tagName];
|
|
45
|
+
var result = extractor(elem, options);
|
|
46
|
+
data.push(result);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
static transformHtmlStringToBlocks(value, options) {
|
|
52
|
+
if (value === undefined || value === null) {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
value = value
|
|
56
|
+
.replace('\n', '')
|
|
57
|
+
.replace('\t', '');
|
|
58
|
+
var div = document.createElement("div");
|
|
59
|
+
div.innerHTML = value;
|
|
60
|
+
return this.transformHtmlElementToBlocks(div, options);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHRtbEV4dHJhY3Rpb25NZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvSHRtbEV4dHJhY3Rpb25NZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzFFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQWlCLEVBQUUsT0FBZTtRQUV4RCxJQUFJLElBQUksR0FBbUIsaUJBQWlCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBRXBCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzthQUVNLGVBQVUsR0FBRztRQUNsQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBaUIsRUFBRSxPQUE4QixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3ZHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFpQixFQUFFLE9BQThCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUMvRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBaUIsRUFBRSxPQUE4QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFB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SUFBSSxFQUFFLENBQUM7WUFDMUMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsS0FBSyxHQUFHLEtBQUs7YUFDVixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQzthQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJCLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbWFnZU1ldGhvZHMgfSBmcm9tIFwiLi9JbWFnZU1ldGhvZHNcIjtcclxuaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi9JbnRlcmZhY2VCbG9ja1wiO1xyXG5pbXBvcnQgeyBUYWJsZU1ldGhvZHMgfSBmcm9tIFwiLi9UYWJsZU1ldGhvZHNcIjtcclxuaW1wb3J0IHsgVGV4dE1ldGhvZHMgfSBmcm9tIFwiLi9UZXh0TWV0aG9kc1wiO1xyXG5pbXBvcnQgeyBHZW5lcmljVGV4dFRhZywgVGV4dFNpbXBsZU1ldGhvZHMgfSBmcm9tIFwiLi9UZXh0U2ltcGxlTWV0aG9kc1wiO1xyXG5pbXBvcnQgeyBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cywgVmlkZW9NZXRob2RzIH0gZnJvbSBcIi4vVmlkZW9NZXRob2RzXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0bWxFeHRyYWN0aW9uT3B0aW9uc3tcclxuICB1c2VDdXN0b21Eb21haW46IGJvb2xlYW47XHJcbiAgZG9tYWluOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBIdG1sRXh0cmFjdGlvbk1ldGhvZHMge1xyXG5cclxuICBzdGF0aWMgRXh0cmFjdEhlYWRlclRhZyhlbGVtOiBIVE1MRWxlbWVudCwgdGFnTmFtZTogc3RyaW5nKTogR2VuZXJpY1RleHRUYWcge1xyXG5cclxuICAgIHZhciBkYXRhOiBHZW5lcmljVGV4dFRhZyA9IFRleHRTaW1wbGVNZXRob2RzLkV4dHJhY3RUZXh0VGFnKGVsZW0pO1xyXG4gICAgZGF0YS50eXBlID0gdGFnTmFtZTtcclxuXHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBFeHRyYWN0b3JzID0ge1xyXG4gICAgW1wiVEVYVFwiXTogKGVsZW06IEhUTUxFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpID0+IFRleHRTaW1wbGVNZXRob2RzLkV4dHJhY3RUZXh0VGFnKGVsZW0pLFxyXG4gICAgW1wiRklMRS1JTUFHRVwiXTogKGVsZW06IEhUTUxFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpID0+IEltYWdlTWV0aG9kcy5FeHRyYWN0SW1hZ2UoZWxlbSwgb3B0aW9ucyksXHJcbiAgICBbXCJUQUJMRVwiXTogKGVsZW06IEhUTUxFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpID0+IFRhYmxlTWV0aG9kcy5nZXRUYWJsZUZyb21IdG1sVGFnKGVsZW0gYXMgSFRNTFRhYmxlRWxlbWVudCwgb3B0aW9ucyksXHJcbiAgICBbXCJSSUNILVRFWFRcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBUZXh0TWV0aG9kcy5FeHRyYWN0UmljaFRleHREYXRhKGVsZW0pLFxyXG4gICAgW1wiSFRNTC1SQVdcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiAoe1xyXG4gICAgICB0eXBlOiBcImh0bWwtcmF3XCIsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBpbm5lckhUTUw6IGVsZW0uaW5uZXJIVE1MXHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgW1wiSDFcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBIdG1sRXh0cmFjdGlvbk1ldGhvZHMuRXh0cmFjdEhlYWRlclRhZyhlbGVtLCBcImgxXCIpLFxyXG4gICAgW1wiSDJcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBIdG1sRXh0cmFjdGlvbk1ldGhvZHMuRXh0cmFjdEhlYWRlclRhZyhlbGVtLCBcImgyXCIpLFxyXG4gICAgW1wiSDNcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBIdG1sRXh0cmFjdGlvbk1ldGhvZHMuRXh0cmFjdEhlYWRlclRhZyhlbGVtLCBcImgzXCIpLFxyXG4gICAgW1wiSDRcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBIdG1sRXh0cmFjdGlvbk1ldGhvZHMuRXh0cmFjdEhlYWRlclRhZyhlbGVtLCBcImg0XCIpLFxyXG4gICAgW1wiSDVcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBIdG1sRXh0cmFjdGlvbk1ldGhvZHMuRXh0cmFjdEhlYWRlclRhZyhlbGVtLCBcImg1XCIpLFxyXG4gICAgW1wiSDZcIl06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBIdG1sRXh0cmFjdGlvbk1ldGhvZHMuRXh0cmFjdEhlYWRlclRhZyhlbGVtLCBcImg2XCIpLFxyXG4gICAgW0V4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLlRhZ05hbWUudG9VcHBlckNhc2UoKV06IChlbGVtOiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKSA9PiBWaWRlb01ldGhvZHMuRXh0cmFjdEV4dGVybmFsVmlkZW9UYWcoZWxlbSlcclxuICB9O1xyXG5cclxuICBzdGF0aWMgdHJhbnNmb3JtSHRtbEVsZW1lbnRUb0Jsb2NrcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKTogSW50ZXJmYWNlQmxvY2tbXSB7XHJcbiAgICB2YXIgZGF0YTogSW50ZXJmYWNlQmxvY2tbXSA9IFtdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICB2YXIgZWxlbSA9IGVsZW1lbnQuY2hpbGRyZW4uaXRlbShpKSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgIGlmICghSHRtbEV4dHJhY3Rpb25NZXRob2RzLkV4dHJhY3RvcnMuaGFzT3duUHJvcGVydHkoZWxlbS50YWdOYW1lKSkge1xyXG4gICAgICAgIGRhdGEucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiBcInVuc3VwcG9ydGVkLXRhZ1wiLFxyXG4gICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICB0YWdTdHJpbmc6IGVsZW0ub3V0ZXJIVE1MXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdmFyIGV4dHJhY3RvciA9IEh0bWxFeHRyYWN0aW9uTWV0aG9kcy5FeHRyYWN0b3JzW2VsZW0udGFnTmFtZV07XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGV4dHJhY3RvcihlbGVtLCBvcHRpb25zKTtcclxuICAgICAgICBkYXRhLnB1c2gocmVzdWx0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRyYW5zZm9ybUh0bWxTdHJpbmdUb0Jsb2Nrcyh2YWx1ZTogc3RyaW5nLCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpOiBJbnRlcmZhY2VCbG9ja1tdIHtcclxuXHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgdmFsdWUgPSB2YWx1ZVxyXG4gICAgICAucmVwbGFjZSgnXFxuJywgJycpXHJcbiAgICAgIC5yZXBsYWNlKCdcXHQnLCAnJyk7XHJcblxyXG4gICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcbiAgICBkaXYuaW5uZXJIVE1MID0gdmFsdWU7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtSHRtbEVsZW1lbnRUb0Jsb2NrcyhkaXYsIG9wdGlvbnMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export class HtmlRawTagDataConsts {
|
|
2
|
-
}
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class HtmlRawTagDataConsts {
|
|
2
|
+
static { this.TagName = "html-raw"; }
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHRtbFJhd1RhZ0RhdGFDb25zdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvZXh0ZW5zaW9ucy9IdG1sUmF3VGFnRGF0YUNvbnN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO2FBQ3RCLFlBQU8sR0FBRyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSHRtbFJhd1RhZ0RhdGFDb25zdHMge1xyXG4gICAgc3RhdGljIFRhZ05hbWUgPSBcImh0bWwtcmF3XCI7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export class FileImageTagDataConsts {
|
|
2
|
+
static { this.TagName = "file-image"; }
|
|
3
|
+
static { this.FileIdAttrName = "file-id"; }
|
|
4
|
+
}
|
|
5
|
+
export class ImageMethods {
|
|
6
|
+
static buildUrl(fileId, options) {
|
|
7
|
+
var baseUrl = `/FileCopies/Images/Medium/${fileId}.jpg`;
|
|
8
|
+
if (!options.useCustomDomain) {
|
|
9
|
+
return baseUrl;
|
|
10
|
+
}
|
|
11
|
+
return `${options.domain}${baseUrl}`;
|
|
12
|
+
}
|
|
13
|
+
static buildSmallUrl(fileId, options) {
|
|
14
|
+
var baseUrl = `/FileCopies/Images/Small/${fileId}.jpg`;
|
|
15
|
+
if (!options.useCustomDomain) {
|
|
16
|
+
return baseUrl;
|
|
17
|
+
}
|
|
18
|
+
return `${options.domain}${baseUrl}`;
|
|
19
|
+
}
|
|
20
|
+
static ExtractImage(elem, options) {
|
|
21
|
+
let fileId = +elem.getAttribute(FileImageTagDataConsts.FileIdAttrName);
|
|
22
|
+
let src = ImageMethods.buildUrl(fileId, options);
|
|
23
|
+
return {
|
|
24
|
+
type: FileImageTagDataConsts.TagName,
|
|
25
|
+
data: {
|
|
26
|
+
src,
|
|
27
|
+
fileId: fileId,
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1hZ2VNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvSW1hZ2VNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxzQkFBc0I7YUFDeEIsWUFBTyxHQUFHLFlBQVksQ0FBQzthQUN2QixtQkFBYyxHQUFHLFNBQVMsQ0FBQzs7QUFhdEMsTUFBTSxPQUFPLFlBQVk7SUFFZCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQWMsRUFBRSxPQUE4QjtRQUVqRSxJQUFJLE9BQU8sR0FBRyw2QkFBNkIsTUFBTSxNQUFNLENBQUM7UUFFeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUMsQ0FBQztZQUMxQixPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBYyxFQUFFLE9BQThCO1FBQ3RFLElBQUksT0FBTyxHQUFHLDRCQUE0QixNQUFNLE1BQU0sQ0FBQztRQUV2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBQyxDQUFDO1lBQzFCLE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFpQixFQUFFLE9BQThCO1FBQ3hFLElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RSxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxPQUFPO1lBQ0gsSUFBSSxFQUFFLHNCQUFzQixDQUFDLE9BQU87WUFDcEMsSUFBSSxFQUFFO2dCQUNGLEdBQUc7Z0JBQ0gsTUFBTSxFQUFFLE1BQU07YUFDakI7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHRtbEV4dHJhY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vSHRtbEV4dHJhY3Rpb25NZXRob2RzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsZUltYWdlVGFnRGF0YUNvbnN0cyB7XHJcbiAgICBzdGF0aWMgVGFnTmFtZSA9IFwiZmlsZS1pbWFnZVwiO1xyXG4gICAgc3RhdGljIEZpbGVJZEF0dHJOYW1lID0gXCJmaWxlLWlkXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUltYWdlVGFne1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgZGF0YTogRmlsZUltYWdlVGFnRGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlSW1hZ2VUYWdEYXRhe1xyXG4gICAgc3JjOiBzdHJpbmc7XHJcbiAgICBmaWxlSWQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEltYWdlTWV0aG9kcyB7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBidWlsZFVybChmaWxlSWQ6IG51bWJlciwgb3B0aW9uczogSHRtbEV4dHJhY3Rpb25PcHRpb25zKTpzdHJpbmd7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdmFyIGJhc2VVcmwgPSBgL0ZpbGVDb3BpZXMvSW1hZ2VzL01lZGl1bS8ke2ZpbGVJZH0uanBnYDtcclxuXHJcbiAgICAgICAgaWYgKCFvcHRpb25zLnVzZUN1c3RvbURvbWFpbil7XHJcbiAgICAgICAgICAgIHJldHVybiBiYXNlVXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICByZXR1cm4gYCR7b3B0aW9ucy5kb21haW59JHtiYXNlVXJsfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBidWlsZFNtYWxsVXJsKGZpbGVJZDogbnVtYmVyLCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpOnN0cmluZ3tcclxuICAgICAgICB2YXIgYmFzZVVybCA9IGAvRmlsZUNvcGllcy9JbWFnZXMvU21hbGwvJHtmaWxlSWR9LmpwZ2A7XHJcblxyXG4gICAgICAgIGlmICghb3B0aW9ucy51c2VDdXN0b21Eb21haW4pe1xyXG4gICAgICAgICAgICByZXR1cm4gYmFzZVVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgcmV0dXJuIGAke29wdGlvbnMuZG9tYWlufSR7YmFzZVVybH1gO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgRXh0cmFjdEltYWdlKGVsZW06IEhUTUxFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpOiBGaWxlSW1hZ2VUYWcge1xyXG4gICAgICAgIGxldCBmaWxlSWQgPSArZWxlbS5nZXRBdHRyaWJ1dGUoRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZSk7XHJcbiAgICAgICAgbGV0IHNyYyA9IEltYWdlTWV0aG9kcy5idWlsZFVybChmaWxlSWQsIG9wdGlvbnMpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHR5cGU6IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgc3JjLFxyXG4gICAgICAgICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJmYWNlQmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvZXh0ZW5zaW9ucy9JbnRlcmZhY2VCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlQmxvY2sge1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBkYXRhOiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { XmlExtensions } from './XmlExtensions';
|
|
2
|
+
export class TableBuilder {
|
|
3
|
+
static getTableMarkUp(rows, cols, generateHeaders) {
|
|
4
|
+
rows = +rows;
|
|
5
|
+
cols = +cols;
|
|
6
|
+
let result = "<table>";
|
|
7
|
+
if (generateHeaders) {
|
|
8
|
+
result += TableBuilder.getTableHeaderMarkUp(cols);
|
|
9
|
+
}
|
|
10
|
+
result += TableBuilder.getTableBodyMarkUp(cols, rows);
|
|
11
|
+
result += "</table>";
|
|
12
|
+
return XmlExtensions.formatXml(result);
|
|
13
|
+
}
|
|
14
|
+
static getTableHeaderMarkUp(cols) {
|
|
15
|
+
let result = "<thead><tr>";
|
|
16
|
+
for (let i = 0; i < cols; i++) {
|
|
17
|
+
result += `<th>Колонка #${i + 1}</th>`;
|
|
18
|
+
}
|
|
19
|
+
result += "</tr></thead>";
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
static getTableBodyMarkUp(cols, rows) {
|
|
23
|
+
let result = "<tbody>";
|
|
24
|
+
for (let row = 0; row < rows; row++) {
|
|
25
|
+
result += "<tr>";
|
|
26
|
+
for (let i = 0; i < cols; i++) {
|
|
27
|
+
result += `<td>Ряд№${row + 1} Колонка #${i + 1}</td>`;
|
|
28
|
+
}
|
|
29
|
+
result += "</tr>";
|
|
30
|
+
}
|
|
31
|
+
result += "</tbody>";
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVGFibGVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsZUFBd0I7UUFDdEUsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBRWIsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBRXZCLElBQUcsZUFBZSxFQUFDLENBQUM7WUFDaEIsTUFBTSxJQUFJLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsTUFBTSxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEQsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFZO1FBRXBDLElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUUzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0MsQ0FBQztRQUVELE1BQU0sSUFBSSxlQUFlLENBQUM7UUFFMUIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUVoRCxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFFdkIsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxNQUFNLENBQUM7WUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUU1QixNQUFNLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUMxRCxDQUFDO1lBQ0QsTUFBTSxJQUFJLE9BQU8sQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYbWxFeHRlbnNpb25zIH0gZnJvbSAnLi9YbWxFeHRlbnNpb25zJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUJ1aWxkZXIge1xyXG4gICAgc3RhdGljIGdldFRhYmxlTWFya1VwKHJvd3M6IG51bWJlciwgY29sczogbnVtYmVyLCBnZW5lcmF0ZUhlYWRlcnM6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgICAgIHJvd3MgPSArcm93cztcclxuICAgICAgICBjb2xzID0gK2NvbHM7XHJcblxyXG4gICAgICAgIGxldCByZXN1bHQgPSBcIjx0YWJsZT5cIjtcclxuICAgICAgICBcclxuICAgICAgICBpZihnZW5lcmF0ZUhlYWRlcnMpe1xyXG4gICAgICAgICAgICByZXN1bHQgKz0gVGFibGVCdWlsZGVyLmdldFRhYmxlSGVhZGVyTWFya1VwKGNvbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICByZXN1bHQgKz0gVGFibGVCdWlsZGVyLmdldFRhYmxlQm9keU1hcmtVcChjb2xzLCByb3dzKTtcclxuICAgICAgICByZXN1bHQgKz0gXCI8L3RhYmxlPlwiO1xyXG5cclxuICAgICAgICByZXR1cm4gWG1sRXh0ZW5zaW9ucy5mb3JtYXRYbWwocmVzdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0VGFibGVIZWFkZXJNYXJrVXAoY29sczogbnVtYmVyKTogc3RyaW5nIHtcclxuXHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiPHRoZWFkPjx0cj5cIjtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xzOyBpKyspIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IGA8dGg+0JrQvtC70L7QvdC60LAgIyR7aSArIDF9PC90aD5gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90cj48L3RoZWFkPlwiO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRUYWJsZUJvZHlNYXJrVXAoY29sczogbnVtYmVyLCByb3dzOiBudW1iZXIpOiBzdHJpbmcge1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0ID0gXCI8dGJvZHk+XCI7XHJcblxyXG4gICAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHJvd3M7IHJvdysrKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIjx0cj5cIjtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xzOyBpKyspIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gYDx0ZD7QoNGP0LTihJYke3JvdyArIDF9INCa0L7Qu9C+0L3QutCwICMke2kgKyAxfTwvdGQ+YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQgKz0gXCI8L3RyPlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IFwiPC90Ym9keT5cIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { AngularMaterialTableMethods } from './AngularMaterialTableMethods';
|
|
2
|
+
import { BootstrapTableMethods } from './BootstrapTableMethods';
|
|
3
|
+
import { HtmlExtractionMethods } from './HtmlExtractionMethods';
|
|
4
|
+
import { TextSimpleMethods } from './TextSimpleMethods';
|
|
5
|
+
export class TableTypes {
|
|
6
|
+
static { this.TableRowColumnData = "table-row-column-data"; }
|
|
7
|
+
static { this.Table = "table"; }
|
|
8
|
+
static { this.TableRowColumn = "table-row-column"; }
|
|
9
|
+
}
|
|
10
|
+
export class TableMethods {
|
|
11
|
+
static getTableFromHtmlTag(tableTag, options) {
|
|
12
|
+
let tableData = {
|
|
13
|
+
header: TableMethods.getHeader(tableTag),
|
|
14
|
+
rows: TableMethods.getTableRows(tableTag, options)
|
|
15
|
+
};
|
|
16
|
+
var result = {
|
|
17
|
+
type: TableTypes.Table,
|
|
18
|
+
data: tableData,
|
|
19
|
+
validationResult: this.checkTable(tableData),
|
|
20
|
+
bootstrapHtml: ""
|
|
21
|
+
};
|
|
22
|
+
if (!result.validationResult) {
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
result.bootstrapHtml = BootstrapTableMethods.BuildTable(result.data);
|
|
26
|
+
var angularMaterialTableDataCheck = AngularMaterialTableMethods.checkAngularMaterialTableData(tableData);
|
|
27
|
+
if (!angularMaterialTableDataCheck.isSucceeded) {
|
|
28
|
+
return {
|
|
29
|
+
...result,
|
|
30
|
+
angularMaterialTableDataCheck
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
...result,
|
|
35
|
+
angularMaterialTableDataCheck,
|
|
36
|
+
html: tableTag.outerHTML,
|
|
37
|
+
angularMaterialTableData: AngularMaterialTableMethods.getAngularMaterialTableData(tableData.header.columns, tableData.rows),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
static checkTable(tableData) {
|
|
41
|
+
let rows = tableData.rows;
|
|
42
|
+
let prevRowCount = -1;
|
|
43
|
+
for (let i = 0; i < rows.length; i++) {
|
|
44
|
+
const row = rows[i];
|
|
45
|
+
if (row.columns.length !== prevRowCount && prevRowCount != -1) {
|
|
46
|
+
return {
|
|
47
|
+
isSucceeded: false,
|
|
48
|
+
message: `Ошибка при обработке разметки таблицы. `
|
|
49
|
+
+ `Количество колонок в каждой строке таблицы должно соотвествовать друг другу. `
|
|
50
|
+
+ `В строке таблицы №${i + 1} количество колонок = ${row.columns.length}, а в строке выше ${prevRowCount}.`
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
prevRowCount = row.columns.length;
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
isSucceeded: true,
|
|
57
|
+
message: "Ok"
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
static getHeader(tableTag) {
|
|
61
|
+
let header = tableTag.tHead;
|
|
62
|
+
if (header === null) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
let tr = header.children.item(0);
|
|
66
|
+
let headerColumns = [];
|
|
67
|
+
for (let j = 0; j < tr.children.length; j++) {
|
|
68
|
+
const jElement = tr.children.item(j);
|
|
69
|
+
headerColumns.push(jElement.innerHTML);
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
type: "table-header",
|
|
73
|
+
columns: headerColumns
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
static getTableRows(tableTag, options) {
|
|
77
|
+
let tBody = tableTag.tBodies.item(0);
|
|
78
|
+
let rows = [];
|
|
79
|
+
for (let i = 0; i < tBody.children.length; i++) {
|
|
80
|
+
const iElement = tBody.children.item(i);
|
|
81
|
+
let rowColumns = [];
|
|
82
|
+
for (let j = 0; j < iElement.children.length; j++) {
|
|
83
|
+
const jElement = iElement.children.item(j);
|
|
84
|
+
let children = HtmlExtractionMethods.transformHtmlElementToBlocks(jElement, options);
|
|
85
|
+
if (children.length === 0) {
|
|
86
|
+
var textTag = document.createElement("p");
|
|
87
|
+
textTag.innerHTML = jElement.innerHTML;
|
|
88
|
+
var textElem = TextSimpleMethods.ExtractTextTag(textTag);
|
|
89
|
+
children.push(textElem);
|
|
90
|
+
}
|
|
91
|
+
var result = {
|
|
92
|
+
type: TableTypes.TableRowColumnData,
|
|
93
|
+
data: {
|
|
94
|
+
text: jElement.innerHTML,
|
|
95
|
+
children
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
rowColumns.push(result);
|
|
99
|
+
}
|
|
100
|
+
rows.push({
|
|
101
|
+
type: TableTypes.TableRowColumn,
|
|
102
|
+
columns: rowColumns
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return rows;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW1DeEQsTUFBTSxPQUFPLFVBQVU7YUFDSCx1QkFBa0IsR0FBRyx1QkFBdUIsQ0FBQzthQUM3QyxVQUFLLEdBQUcsT0FBTyxDQUFDO2FBQ2hCLG1CQUFjLEdBQUcsa0JBQWtCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxZQUFZO0lBRXJCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUEwQixFQUFFLE9BQThCO1FBQ2pGLElBQUksU0FBUyxHQUFlO1lBQ3hCLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN4QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1NBQ3JELENBQUM7UUFFRixJQUFJLE1BQU0sR0FBRztZQUNULElBQUksRUFBRSxVQUFVLENBQUMsS0FBSztZQUN0QixJQUFJLEVBQUUsU0FBUztZQUNmLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQzVDLGFBQWEsRUFBRSxFQUFFO1NBQ3BCLENBQUE7UUFFRCxJQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFDLENBQUM7WUFDekIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE1BQU0sQ0FBQyxhQUFhLEdBQUcscUJB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SiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcyB9IGZyb20gJy4vQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Cb290c3RyYXBUYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBIdG1sRXh0cmFjdGlvbk1ldGhvZHMsIEh0bWxFeHRyYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4vSHRtbEV4dHJhY3Rpb25NZXRob2RzJztcclxuaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi9JbnRlcmZhY2VCbG9ja1wiO1xyXG5pbXBvcnQgeyBUZXh0U2ltcGxlTWV0aG9kcyB9IGZyb20gJy4vVGV4dFNpbXBsZU1ldGhvZHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXBpUmVzcG9uc2Uge1xyXG4gICAgaXNTdWNjZWVkZWQ6IGJvb2xlYW47XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVIZWFkZXJEYXRhe1xyXG4gICAgdHlwZTogXCJ0YWJsZS1oZWFkZXJcIjtcclxuICAgIGNvbHVtbnM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUm93Q29sdW1uRGF0YSB7XHJcbiAgICB0eXBlOiBcInRhYmxlLXJvdy1jb2x1bW4tZGF0YVwiO1xyXG4gICAgZGF0YToge1xyXG4gICAgICAgIHRleHQ6IHN0cmluZztcclxuICAgICAgICBjaGlsZHJlbjogSW50ZXJmYWNlQmxvY2tbXTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0RhdGEge1xyXG4gICAgdHlwZTogXCJ0YWJsZS1yb3ctY29sdW1uXCI7XHJcbiAgICBjb2x1bW5zOiBUYWJsZVJvd0NvbHVtbkRhdGFbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURhdGF7XHJcbiAgICBoZWFkZXI6IFRhYmxlSGVhZGVyRGF0YSxcclxuICAgIHJvd3M6IFRhYmxlUm93RGF0YVtdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVUYWdEYXRhe1xyXG4gICAgdHlwZTogXCJ0YWJsZVwiO1xyXG4gICAgZGF0YTogVGFibGVEYXRhO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVUeXBlc3tcclxuICAgIHN0YXRpYyByZWFkb25seSBUYWJsZVJvd0NvbHVtbkRhdGEgPSBcInRhYmxlLXJvdy1jb2x1bW4tZGF0YVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlID0gXCJ0YWJsZVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlUm93Q29sdW1uID0gXCJ0YWJsZS1yb3ctY29sdW1uXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZU1ldGhvZHMge1xyXG5cclxuICAgIHN0YXRpYyBnZXRUYWJsZUZyb21IdG1sVGFnKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpIHtcclxuICAgICAgICBsZXQgdGFibGVEYXRhIDogVGFibGVEYXRhID0ge1xyXG4gICAgICAgICAgICBoZWFkZXI6IFRhYmxlTWV0aG9kcy5nZXRIZWFkZXIodGFibGVUYWcpLFxyXG4gICAgICAgICAgICByb3dzOiBUYWJsZU1ldGhvZHMuZ2V0VGFibGVSb3dzKHRhYmxlVGFnLCBvcHRpb25zKVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHZhciByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgIHR5cGU6IFRhYmxlVHlwZXMuVGFibGUsXHJcbiAgICAgICAgICAgIGRhdGE6IHRhYmxlRGF0YSxcclxuICAgICAgICAgICAgdmFsaWRhdGlvblJlc3VsdDogdGhpcy5jaGVja1RhYmxlKHRhYmxlRGF0YSksXHJcbiAgICAgICAgICAgIGJvb3RzdHJhcEh0bWw6IFwiXCJcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKCFyZXN1bHQudmFsaWRhdGlvblJlc3VsdCl7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdC5ib290c3RyYXBIdG1sID0gQm9vdHN0cmFwVGFibGVNZXRob2RzLkJ1aWxkVGFibGUocmVzdWx0LmRhdGEpO1xyXG5cclxuICAgICAgICB2YXIgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2sgPSBBbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMuY2hlY2tBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEodGFibGVEYXRhKTtcclxuXHJcbiAgICAgICAgaWYgKCFhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVjay5pc1N1Y2NlZWRlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2tcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2ssXHJcbiAgICAgICAgICAgIGh0bWw6IHRhYmxlVGFnLm91dGVySFRNTCxcclxuICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhOiBBbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMuZ2V0QW5ndWxhck1hdGVyaWFsVGFibGVEYXRhKHRhYmxlRGF0YS5oZWFkZXIuY29sdW1ucywgdGFibGVEYXRhLnJvd3MpLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNoZWNrVGFibGUodGFibGVEYXRhOiBUYWJsZURhdGEpIDogQmFzZUFwaVJlc3BvbnNle1xyXG5cclxuICAgICAgICBsZXQgcm93cyA9IHRhYmxlRGF0YS5yb3dzO1xyXG5cclxuICAgICAgICBsZXQgcHJldlJvd0NvdW50ID0gLTE7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XHJcblxyXG4gICAgICAgICAgICBpZiAocm93LmNvbHVtbnMubGVuZ3RoICE9PSBwcmV2Um93Q291bnQgJiYgcHJldlJvd0NvdW50ICE9IC0xKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQmtC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiDQsiDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLINC00L7Qu9C20L3QviDRgdC+0L7RgtCy0LXRgdGC0LLQvtCy0LDRgtGMINC00YDRg9CzINC00YDRg9Cz0YMuIGBcclxuICAgICAgICAgICAgICAgICAgICAgICAgKyBg0JIg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLIOKEliR7aSArIDF9INC60L7Qu9C40YfQtdGB0YLQstC+INC60L7Qu9C+0L3QvtC6ID0gJHtyb3cuY29sdW1ucy5sZW5ndGh9LCDQsCDQsiDRgdGC0YDQvtC60LUg0LLRi9GI0LUgJHtwcmV2Um93Q291bnR9LmBcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJldlJvd0NvdW50ID0gcm93LmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGdldEhlYWRlcih0YWJsZVRhZzogSFRNTFRhYmxlRWxlbWVudCkgOiBUYWJsZUhlYWRlckRhdGEge1xyXG4gICAgICAgIGxldCBoZWFkZXIgPSB0YWJsZVRhZy50SGVhZDtcclxuXHJcbiAgICAgICAgaWYoaGVhZGVyID09PSBudWxsKXtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgdHIgPSBoZWFkZXIuY2hpbGRyZW4uaXRlbSgwKTtcclxuXHJcbiAgICAgICAgbGV0IGhlYWRlckNvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdHIuY2hpbGRyZW4ubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgY29uc3QgakVsZW1lbnQgPSB0ci5jaGlsZHJlbi5pdGVtKGopIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgaGVhZGVyQ29sdW1ucy5wdXNoKGpFbGVtZW50LmlubmVySFRNTCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiBcInRhYmxlLWhlYWRlclwiLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBoZWFkZXJDb2x1bW5zXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0VGFibGVSb3dzKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpOiBBcnJheTxUYWJsZVJvd0RhdGE+IHtcclxuICAgICAgICBsZXQgdEJvZHkgPSB0YWJsZVRhZy50Qm9kaWVzLml0ZW0oMCk7XHJcblxyXG4gICAgICAgIGxldCByb3dzOiBUYWJsZVJvd0RhdGFbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRCb2R5LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50ID0gdEJvZHkuY2hpbGRyZW4uaXRlbShpKTtcclxuXHJcbiAgICAgICAgICAgIGxldCByb3dDb2x1bW5zOiBUYWJsZVJvd0NvbHVtbkRhdGFbXSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpRWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgakVsZW1lbnQgPSBpRWxlbWVudC5jaGlsZHJlbi5pdGVtKGopIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IEh0bWxFeHRyYWN0aW9uTWV0aG9kcy50cmFuc2Zvcm1IdG1sRWxlbWVudFRvQmxvY2tzKGpFbGVtZW50LCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZihjaGlsZHJlbi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0VGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInBcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dFRhZy5pbm5lckhUTUwgPSBqRWxlbWVudC5pbm5lckhUTUw7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0RWxlbSA9IFRleHRTaW1wbGVNZXRob2RzLkV4dHJhY3RUZXh0VGFnKHRleHRUYWcpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHRleHRFbGVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0OlRhYmxlUm93Q29sdW1uRGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZVR5cGVzLlRhYmxlUm93Q29sdW1uRGF0YSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGpFbGVtZW50LmlubmVySFRNTCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHJvd0NvbHVtbnMucHVzaChyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByb3dzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZVJvd0NvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbHVtbnM6IHJvd0NvbHVtbnNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcm93cztcclxuICAgIH1cclxufVxyXG4iXX0=
|