croco-html 2.1.1 → 2.2.0
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/esm2022/lib/components/editor/image-editor/image-editor.component.mjs +11 -6
- package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +11 -6
- package/esm2022/lib/components/file-id-select/file-id-select.component.mjs +11 -6
- package/esm2022/lib/consts/index.mjs +2 -0
- package/esm2022/lib/extensions/BodyTagsExtensions.mjs +1 -1
- package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +1 -1
- package/esm2022/lib/extensions/ImageMethods.mjs +10 -13
- package/esm2022/lib/extensions/TableMethods.mjs +1 -1
- package/esm2022/lib/extensions/index.mjs +1 -3
- package/esm2022/lib/pipes/ToHtmlBodyTagsPipe.mjs +12 -5
- package/esm2022/lib/pipes/ToPreviewHtmlPipe.mjs +13 -6
- package/esm2022/lib/pipes/to-preview.pipe.mjs +12 -8
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/croco-html.mjs +64 -38
- package/fesm2022/croco-html.mjs.map +1 -1
- package/lib/components/editor/image-editor/image-editor.component.d.ts +3 -1
- package/lib/components/editor/visual-editor/visual-editor.component.d.ts +4 -2
- package/lib/components/file-id-select/file-id-select.component.d.ts +4 -2
- package/lib/consts/index.d.ts +1 -0
- package/lib/extensions/BodyTagsExtensions.d.ts +2 -2
- package/lib/extensions/HtmlExtractionMethods.d.ts +18 -19
- package/lib/extensions/ImageMethods.d.ts +5 -4
- package/lib/extensions/TableMethods.d.ts +3 -3
- package/lib/index.d.ts +5 -4
- package/lib/pipes/ToHtmlBodyTagsPipe.d.ts +3 -0
- package/lib/pipes/ToPreviewHtmlPipe.d.ts +4 -2
- package/lib/pipes/to-preview.pipe.d.ts +3 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -105,4 +105,4 @@ export class TableMethods {
|
|
|
105
105
|
return rows;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW1DeEQsTUFBTSxPQUFPLFVBQVU7YUFDSCx1QkFBa0IsR0FBRyx1QkFBdUIsQ0FBQzthQUM3QyxVQUFLLEdBQUcsT0FBTyxDQUFDO2FBQ2hCLG1CQUFjLEdBQUcsa0JBQWtCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxZQUFZO0lBRXJCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUEwQixFQUFFLE9BQThCO1FBQ2pGLElBQUksU0FBUyxHQUFlO1lBQ3hCLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN4QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1NBQ3JELENBQUM7UUFFRixJQUFJLE1BQU0sR0FBRztZQUNULElBQUksRUFBRSxVQUFVLENBQUMsS0FBSztZQUN0QixJQUFJLEVBQUUsU0FBUztZQUNmLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQzVDLGFBQWEsRUFBRSxFQUFFO1NBQ3BCLENBQUE7UUFFRCxJQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFDLENBQUM7WUFDekIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE1BQU0sQ0FBQyxhQUFhLEdBQUcscUJB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SiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcyB9IGZyb20gJy4vQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Cb290c3RyYXBUYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBIdG1sRXh0cmFjdGlvbk1ldGhvZHMsIEh0bWxFeHRyYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4vSHRtbEV4dHJhY3Rpb25NZXRob2RzJztcclxuaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi9JbnRlcmZhY2VCbG9ja1wiO1xyXG5pbXBvcnQgeyBUZXh0U2ltcGxlTWV0aG9kcyB9IGZyb20gJy4vVGV4dFNpbXBsZU1ldGhvZHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXBpUmVzcG9uc2Uge1xyXG4gICAgaXNTdWNjZWVkZWQ6IGJvb2xlYW47XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVIZWFkZXJEYXRhe1xyXG4gICAgdHlwZTogXCJ0YWJsZS1oZWFkZXJcIjtcclxuICAgIGNvbHVtbnM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUm93Q29sdW1uRGF0YSB7XHJcbiAgICB0eXBlOiBcInRhYmxlLXJvdy1jb2x1bW4tZGF0YVwiO1xyXG4gICAgZGF0YToge1xyXG4gICAgICAgIHRleHQ6IHN0cmluZztcclxuICAgICAgICBjaGlsZHJlbjogSW50ZXJmYWNlQmxvY2tbXTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0RhdGEge1xyXG4gICAgdHlwZTogXCJ0YWJsZS1yb3ctY29sdW1uXCI7XHJcbiAgICBjb2x1bW5zOiBUYWJsZVJvd0NvbHVtbkRhdGFbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURhdGF7XHJcbiAgICBoZWFkZXI6IFRhYmxlSGVhZGVyRGF0YSxcclxuICAgIHJvd3M6IFRhYmxlUm93RGF0YVtdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVUYWdEYXRhe1xyXG4gICAgdHlwZTogXCJ0YWJsZVwiO1xyXG4gICAgZGF0YTogVGFibGVEYXRhO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVUeXBlc3tcclxuICAgIHN0YXRpYyByZWFkb25seSBUYWJsZVJvd0NvbHVtbkRhdGEgPSBcInRhYmxlLXJvdy1jb2x1bW4tZGF0YVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlID0gXCJ0YWJsZVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlUm93Q29sdW1uID0gXCJ0YWJsZS1yb3ctY29sdW1uXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZU1ldGhvZHMge1xyXG5cclxuICAgIHN0YXRpYyBnZXRUYWJsZUZyb21IdG1sVGFnKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpIHtcclxuICAgICAgICBsZXQgdGFibGVEYXRhIDogVGFibGVEYXRhID0ge1xyXG4gICAgICAgICAgICBoZWFkZXI6IFRhYmxlTWV0aG9kcy5nZXRIZWFkZXIodGFibGVUYWcpLFxyXG4gICAgICAgICAgICByb3dzOiBUYWJsZU1ldGhvZHMuZ2V0VGFibGVSb3dzKHRhYmxlVGFnLCBvcHRpb25zKVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHZhciByZXN1bHQgPSB7XHJcbiAgICAgICAgICAgIHR5cGU6IFRhYmxlVHlwZXMuVGFibGUsXHJcbiAgICAgICAgICAgIGRhdGE6IHRhYmxlRGF0YSxcclxuICAgICAgICAgICAgdmFsaWRhdGlvblJlc3VsdDogdGhpcy5jaGVja1RhYmxlKHRhYmxlRGF0YSksXHJcbiAgICAgICAgICAgIGJvb3RzdHJhcEh0bWw6IFwiXCJcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKCFyZXN1bHQudmFsaWRhdGlvblJlc3VsdCl7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdC5ib290c3RyYXBIdG1sID0gQm9vdHN0cmFwVGFibGVNZXRob2RzLkJ1aWxkVGFibGUocmVzdWx0LmRhdGEpO1xyXG5cclxuICAgICAgICB2YXIgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2sgPSBBbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMuY2hlY2tBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEodGFibGVEYXRhKTtcclxuXHJcbiAgICAgICAgaWYgKCFhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVjay5pc1N1Y2NlZWRlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2tcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2ssXHJcbiAgICAgICAgICAgIGh0bWw6IHRhYmxlVGFnLm91dGVySFRNTCxcclxuICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhOiBBbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMuZ2V0QW5ndWxhck1hdGVyaWFsVGFibGVEYXRhKHRhYmxlRGF0YS5oZWFkZXIuY29sdW1ucywgdGFibGVEYXRhLnJvd3MpLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNoZWNrVGFibGUodGFibGVEYXRhOiBUYWJsZURhdGEpIDogQmFzZUFwaVJlc3BvbnNle1xyXG5cclxuICAgICAgICBsZXQgcm93cyA9IHRhYmxlRGF0YS5yb3dzO1xyXG5cclxuICAgICAgICBsZXQgcHJldlJvd0NvdW50ID0gLTE7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XHJcblxyXG4gICAgICAgICAgICBpZiAocm93LmNvbHVtbnMubGVuZ3RoICE9PSBwcmV2Um93Q291bnQgJiYgcHJldlJvd0NvdW50ICE9IC0xKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQmtC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiDQsiDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLINC00L7Qu9C20L3QviDRgdC+0L7RgtCy0LXRgdGC0LLQvtCy0LDRgtGMINC00YDRg9CzINC00YDRg9Cz0YMuIGBcclxuICAgICAgICAgICAgICAgICAgICAgICAgKyBg0JIg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLIOKEliR7aSArIDF9INC60L7Qu9C40YfQtdGB0YLQstC+INC60L7Qu9C+0L3QvtC6ID0gJHtyb3cuY29sdW1ucy5sZW5ndGh9LCDQsCDQsiDRgdGC0YDQvtC60LUg0LLRi9GI0LUgJHtwcmV2Um93Q291bnR9LmBcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJldlJvd0NvdW50ID0gcm93LmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGdldEhlYWRlcih0YWJsZVRhZzogSFRNTFRhYmxlRWxlbWVudCkgOiBUYWJsZUhlYWRlckRhdGEge1xyXG4gICAgICAgIGxldCBoZWFkZXIgPSB0YWJsZVRhZy50SGVhZDtcclxuXHJcbiAgICAgICAgaWYoaGVhZGVyID09PSBudWxsKXtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgdHIgPSBoZWFkZXIuY2hpbGRyZW4uaXRlbSgwKTtcclxuXHJcbiAgICAgICAgbGV0IGhlYWRlckNvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdHIuY2hpbGRyZW4ubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgY29uc3QgakVsZW1lbnQgPSB0ci5jaGlsZHJlbi5pdGVtKGopIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgaGVhZGVyQ29sdW1ucy5wdXNoKGpFbGVtZW50LmlubmVySFRNTCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiBcInRhYmxlLWhlYWRlclwiLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBoZWFkZXJDb2x1bW5zXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0VGFibGVSb3dzKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50LCBvcHRpb25zOiBIdG1sRXh0cmFjdGlvbk9wdGlvbnMpOiBBcnJheTxUYWJsZVJvd0RhdGE+IHtcclxuICAgICAgICBsZXQgdEJvZHkgPSB0YWJsZVRhZy50Qm9kaWVzLml0ZW0oMCk7XHJcblxyXG4gICAgICAgIGxldCByb3dzOiBUYWJsZVJvd0RhdGFbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRCb2R5LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50ID0gdEJvZHkuY2hpbGRyZW4uaXRlbShpKTtcclxuXHJcbiAgICAgICAgICAgIGxldCByb3dDb2x1bW5zOiBUYWJsZVJvd0NvbHVtbkRhdGFbXSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpRWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgakVsZW1lbnQgPSBpRWxlbWVudC5jaGlsZHJlbi5pdGVtKGopIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IEh0bWxFeHRyYWN0aW9uTWV0aG9kcy50cmFuc2Zvcm1IdG1sRWxlbWVudFRvQmxvY2tzKGpFbGVtZW50LCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZihjaGlsZHJlbi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0VGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInBcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dFRhZy5pbm5lckhUTUwgPSBqRWxlbWVudC5pbm5lckhUTUw7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0RWxlbSA9IFRleHRTaW1wbGVNZXRob2RzLkV4dHJhY3RUZXh0VGFnKHRleHRUYWcpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHRleHRFbGVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0OlRhYmxlUm93Q29sdW1uRGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZVR5cGVzLlRhYmxlUm93Q29sdW1uRGF0YSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGpFbGVtZW50LmlubmVySFRNTCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHJvd0NvbHVtbnMucHVzaChyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByb3dzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZVJvd0NvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbHVtbnM6IHJvd0NvbHVtbnNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcm93cztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBb0IscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQW1DeEQsTUFBTSxPQUFPLFVBQVU7YUFDSCx1QkFBa0IsR0FBRyx1QkFBdUIsQ0FBQzthQUM3QyxVQUFLLEdBQUcsT0FBTyxDQUFDO2FBQ2hCLG1CQUFjLEdBQUcsa0JBQWtCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxZQUFZO0lBRXJCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUEwQixFQUFFLE9BQXlCO1FBQzVFLElBQUksU0FBUyxHQUFlO1lBQ3hCLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN4QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1NBQ3JELENBQUM7UUFFRixJQUFJLE1BQU0sR0FBRztZQUNULElBQUksRUFBRSxVQUFVLENBQUMsS0FBSztZQUN0QixJQUFJLEVBQUUsU0FBUztZQUNmLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQzVDLGFBQWEsRUFBRSxFQUFFO1NBQ3BCLENBQUE7UUFFRCxJQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFDLENBQUM7WUFDekIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE1BQU0sQ0FBQyxhQUFhLEdBQUcscUJB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SiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcyB9IGZyb20gJy4vQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Cb290c3RyYXBUYWJsZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBDcm9jb0h0bWxPcHRpb25zLCBIdG1sRXh0cmFjdGlvbk1ldGhvZHMgfSBmcm9tICcuL0h0bWxFeHRyYWN0aW9uTWV0aG9kcyc7XHJcbmltcG9ydCB7IEludGVyZmFjZUJsb2NrIH0gZnJvbSBcIi4vSW50ZXJmYWNlQmxvY2tcIjtcclxuaW1wb3J0IHsgVGV4dFNpbXBsZU1ldGhvZHMgfSBmcm9tICcuL1RleHRTaW1wbGVNZXRob2RzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFwaVJlc3BvbnNlIHtcclxuICAgIGlzU3VjY2VlZGVkOiBib29sZWFuO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlSGVhZGVyRGF0YXtcclxuICAgIHR5cGU6IFwidGFibGUtaGVhZGVyXCI7XHJcbiAgICBjb2x1bW5zOiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0NvbHVtbkRhdGEge1xyXG4gICAgdHlwZTogXCJ0YWJsZS1yb3ctY29sdW1uLWRhdGFcIjtcclxuICAgIGRhdGE6IHtcclxuICAgICAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICAgICAgY2hpbGRyZW46IEludGVyZmFjZUJsb2NrW107XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVSb3dEYXRhIHtcclxuICAgIHR5cGU6IFwidGFibGUtcm93LWNvbHVtblwiO1xyXG4gICAgY29sdW1uczogVGFibGVSb3dDb2x1bW5EYXRhW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVEYXRhe1xyXG4gICAgaGVhZGVyOiBUYWJsZUhlYWRlckRhdGEsXHJcbiAgICByb3dzOiBUYWJsZVJvd0RhdGFbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlVGFnRGF0YXtcclxuICAgIHR5cGU6IFwidGFibGVcIjtcclxuICAgIGRhdGE6IFRhYmxlRGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlVHlwZXN7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgVGFibGVSb3dDb2x1bW5EYXRhID0gXCJ0YWJsZS1yb3ctY29sdW1uLWRhdGFcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBUYWJsZSA9IFwidGFibGVcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBUYWJsZVJvd0NvbHVtbiA9IFwidGFibGUtcm93LWNvbHVtblwiO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVNZXRob2RzIHtcclxuXHJcbiAgICBzdGF0aWMgZ2V0VGFibGVGcm9tSHRtbFRhZyh0YWJsZVRhZzogSFRNTFRhYmxlRWxlbWVudCwgb3B0aW9uczogQ3JvY29IdG1sT3B0aW9ucykge1xyXG4gICAgICAgIGxldCB0YWJsZURhdGEgOiBUYWJsZURhdGEgPSB7XHJcbiAgICAgICAgICAgIGhlYWRlcjogVGFibGVNZXRob2RzLmdldEhlYWRlcih0YWJsZVRhZyksXHJcbiAgICAgICAgICAgIHJvd3M6IFRhYmxlTWV0aG9kcy5nZXRUYWJsZVJvd3ModGFibGVUYWcsIG9wdGlvbnMpXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IHtcclxuICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZSxcclxuICAgICAgICAgICAgZGF0YTogdGFibGVEYXRhLFxyXG4gICAgICAgICAgICB2YWxpZGF0aW9uUmVzdWx0OiB0aGlzLmNoZWNrVGFibGUodGFibGVEYXRhKSxcclxuICAgICAgICAgICAgYm9vdHN0cmFwSHRtbDogXCJcIlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoIXJlc3VsdC52YWxpZGF0aW9uUmVzdWx0KXtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmJvb3RzdHJhcEh0bWwgPSBCb290c3RyYXBUYWJsZU1ldGhvZHMuQnVpbGRUYWJsZShyZXN1bHQuZGF0YSk7XHJcblxyXG4gICAgICAgIHZhciBhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVjayA9IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcy5jaGVja0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSh0YWJsZURhdGEpO1xyXG5cclxuICAgICAgICBpZiAoIWFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YUNoZWNrLmlzU3VjY2VlZGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXHJcbiAgICAgICAgICAgICAgICBhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVja1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgICBhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVjayxcclxuICAgICAgICAgICAgaHRtbDogdGFibGVUYWcub3V0ZXJIVE1MLFxyXG4gICAgICAgICAgICBhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGE6IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcy5nZXRBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEodGFibGVEYXRhLmhlYWRlci5jb2x1bW5zLCB0YWJsZURhdGEucm93cyksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY2hlY2tUYWJsZSh0YWJsZURhdGE6IFRhYmxlRGF0YSkgOiBCYXNlQXBpUmVzcG9uc2V7XHJcblxyXG4gICAgICAgIGxldCByb3dzID0gdGFibGVEYXRhLnJvd3M7XHJcblxyXG4gICAgICAgIGxldCBwcmV2Um93Q291bnQgPSAtMTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyb3cuY29sdW1ucy5sZW5ndGggIT09IHByZXZSb3dDb3VudCAmJiBwcmV2Um93Q291bnQgIT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQntGI0LjQsdC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQtSDRgNCw0LfQvNC10YLQutC4INGC0LDQsdC70LjRhtGLLiBgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYNCa0L7Qu9C40YfQtdGB0YLQstC+INC60L7Qu9C+0L3QvtC6INCyINC60LDQttC00L7QuSDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg0LTQvtC70LbQvdC+INGB0L7QvtGC0LLQtdGB0YLQstC+0LLQsNGC0Ywg0LTRgNGD0LMg0LTRgNGD0LPRgy4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQkiDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg4oSWJHtpICsgMX0g0LrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0LogPSAke3Jvdy5jb2x1bW5zLmxlbmd0aH0sINCwINCyINGB0YLRgNC+0LrQtSDQstGL0YjQtSAke3ByZXZSb3dDb3VudH0uYFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwcmV2Um93Q291bnQgPSByb3cuY29sdW1ucy5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgZ2V0SGVhZGVyKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50KSA6IFRhYmxlSGVhZGVyRGF0YSB7XHJcbiAgICAgICAgbGV0IGhlYWRlciA9IHRhYmxlVGFnLnRIZWFkO1xyXG5cclxuICAgICAgICBpZihoZWFkZXIgPT09IG51bGwpe1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB0ciA9IGhlYWRlci5jaGlsZHJlbi5pdGVtKDApO1xyXG5cclxuICAgICAgICBsZXQgaGVhZGVyQ29sdW1uczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB0ci5jaGlsZHJlbi5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBjb25zdCBqRWxlbWVudCA9IHRyLmNoaWxkcmVuLml0ZW0oaikgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBoZWFkZXJDb2x1bW5zLnB1c2goakVsZW1lbnQuaW5uZXJIVE1MKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHR5cGU6IFwidGFibGUtaGVhZGVyXCIsXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IGhlYWRlckNvbHVtbnNcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRUYWJsZVJvd3ModGFibGVUYWc6IEhUTUxUYWJsZUVsZW1lbnQsIG9wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnMpOiBBcnJheTxUYWJsZVJvd0RhdGE+IHtcclxuICAgICAgICBsZXQgdEJvZHkgPSB0YWJsZVRhZy50Qm9kaWVzLml0ZW0oMCk7XHJcblxyXG4gICAgICAgIGxldCByb3dzOiBUYWJsZVJvd0RhdGFbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRCb2R5LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50ID0gdEJvZHkuY2hpbGRyZW4uaXRlbShpKTtcclxuXHJcbiAgICAgICAgICAgIGxldCByb3dDb2x1bW5zOiBUYWJsZVJvd0NvbHVtbkRhdGFbXSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpRWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgakVsZW1lbnQgPSBpRWxlbWVudC5jaGlsZHJlbi5pdGVtKGopIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IEh0bWxFeHRyYWN0aW9uTWV0aG9kcy50cmFuc2Zvcm1IdG1sRWxlbWVudFRvQmxvY2tzKGpFbGVtZW50LCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZihjaGlsZHJlbi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0VGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInBcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dFRhZy5pbm5lckhUTUwgPSBqRWxlbWVudC5pbm5lckhUTUw7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0RWxlbSA9IFRleHRTaW1wbGVNZXRob2RzLkV4dHJhY3RUZXh0VGFnKHRleHRUYWcpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHRleHRFbGVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0OlRhYmxlUm93Q29sdW1uRGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZVR5cGVzLlRhYmxlUm93Q29sdW1uRGF0YSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGpFbGVtZW50LmlubmVySFRNTCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIHJvd0NvbHVtbnMucHVzaChyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByb3dzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZVJvd0NvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbHVtbnM6IHJvd0NvbHVtbnNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcm93cztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from './AngularMaterialTableMethods';
|
|
2
2
|
export * from './BodyTagsExtensions';
|
|
3
3
|
export * from './BootstrapTableMethods';
|
|
4
|
-
// export * from './HtmlExtractionMethods'
|
|
5
|
-
// export * from './HtmlRawTagDataConsts'
|
|
6
4
|
export * from './ImageMethods';
|
|
7
5
|
export * from './TableBuilder';
|
|
8
6
|
export * from './TableMethods';
|
|
@@ -10,4 +8,4 @@ export * from './TextMethods';
|
|
|
10
8
|
export * from './TextSimpleMethods';
|
|
11
9
|
export * from './VideoMethods';
|
|
12
10
|
export * from './XmlExtensions';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvZXh0ZW5zaW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzJ1xyXG5leHBvcnQgKiBmcm9tICcuL0JvZHlUYWdzRXh0ZW5zaW9ucydcclxuZXhwb3J0ICogZnJvbSAnLi9Cb290c3RyYXBUYWJsZU1ldGhvZHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vSW1hZ2VNZXRob2RzJ1xyXG5leHBvcnQgKiBmcm9tICcuL1RhYmxlQnVpbGRlcidcclxuZXhwb3J0ICogZnJvbSAnLi9UYWJsZU1ldGhvZHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vVGV4dE1ldGhvZHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vVGV4dFNpbXBsZU1ldGhvZHMnXHJcbmV4cG9ydCAqIGZyb20gJy4vVmlkZW9NZXRob2RzJ1xyXG5leHBvcnQgKiBmcm9tICcuL1htbEV4dGVuc2lvbnMnXHJcbiJdfQ==
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
1
|
+
import { Inject, Pipe } from '@angular/core';
|
|
2
2
|
import { BodyTagsExtensions } from '../extensions/BodyTagsExtensions';
|
|
3
|
+
import { CrocoHtmlOptionsToken } from '../consts';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ToHtmlBodyTagsPipe {
|
|
6
|
+
constructor(_options) {
|
|
7
|
+
this._options = _options;
|
|
8
|
+
}
|
|
5
9
|
transform(value) {
|
|
6
|
-
return BodyTagsExtensions.getBodyTags(value,
|
|
10
|
+
return BodyTagsExtensions.getBodyTags(value, this._options);
|
|
7
11
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
13
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, name: "tohtmlbodytags" }); }
|
|
10
14
|
}
|
|
11
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, decorators: [{
|
|
@@ -13,5 +17,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
13
17
|
args: [{
|
|
14
18
|
name: 'tohtmlbodytags'
|
|
15
19
|
}]
|
|
16
|
-
}]
|
|
17
|
-
|
|
20
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
21
|
+
type: Inject,
|
|
22
|
+
args: [CrocoHtmlOptionsToken]
|
|
23
|
+
}] }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9IdG1sQm9keVRhZ3NQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL3BpcGVzL1RvSHRtbEJvZHlUYWdzUGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUtsRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCLFlBQTRELFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQ3RGLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OEdBUFEsa0JBQWtCLGtCQUVQLHFCQUFxQjs0R0FGaEMsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3pCOzswQkFHZ0IsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9keVRhZ3NFeHRlbnNpb25zIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9Cb2R5VGFnc0V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gJy4uL21vZGVscy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDcm9jb0h0bWxPcHRpb25zIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9IdG1sRXh0cmFjdGlvbk1ldGhvZHMnO1xyXG5pbXBvcnQgeyBDcm9jb0h0bWxPcHRpb25zVG9rZW4gfSBmcm9tICcuLi9jb25zdHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3RvaHRtbGJvZHl0YWdzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9IdG1sQm9keVRhZ3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChDcm9jb0h0bWxPcHRpb25zVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnMpIHtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IEh0bWxCb2R5VGFnW10ge1xyXG4gICAgICAgIHJldHVybiBCb2R5VGFnc0V4dGVuc2lvbnMuZ2V0Qm9keVRhZ3ModmFsdWUsIHRoaXMuX29wdGlvbnMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
1
|
+
import { Inject, Pipe } from '@angular/core';
|
|
2
2
|
import { HtmlExtractionMethods } from '../extensions/HtmlExtractionMethods';
|
|
3
|
+
import { CrocoHtmlOptionsToken } from '../consts';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ToPreviewHtmlPipe {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
constructor(_options) {
|
|
7
|
+
this._options = _options;
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
+
transform(value) {
|
|
10
|
+
return HtmlExtractionMethods.transformHtmlStringToBlocks(value, this._options);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewHtmlPipe, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
13
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewHtmlPipe, name: "topreviewhtml" }); }
|
|
10
14
|
}
|
|
11
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewHtmlPipe, decorators: [{
|
|
@@ -13,5 +17,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
13
17
|
args: [{
|
|
14
18
|
name: 'topreviewhtml'
|
|
15
19
|
}]
|
|
16
|
-
}]
|
|
17
|
-
|
|
20
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
21
|
+
type: Inject,
|
|
22
|
+
args: [CrocoHtmlOptionsToken]
|
|
23
|
+
}] }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9QcmV2aWV3SHRtbFBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvcGlwZXMvVG9QcmV2aWV3SHRtbFBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBb0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS2xELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFBNEQsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDdEYsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8scUJBQXFCLENBQUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRixDQUFDOzhHQVBVLGlCQUFpQixrQkFFUixxQkFBcUI7NEdBRjlCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEI7OzBCQUdjLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0bWxFeHRyYWN0aW9uTWV0aG9kcywgQ3JvY29IdG1sT3B0aW9ucyB9IGZyb20gJy4uL2V4dGVuc2lvbnMvSHRtbEV4dHJhY3Rpb25NZXRob2RzJztcclxuaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi4vZXh0ZW5zaW9ucy9JbnRlcmZhY2VCbG9ja1wiO1xyXG5pbXBvcnQgeyBDcm9jb0h0bWxPcHRpb25zVG9rZW4gfSBmcm9tICcuLi9jb25zdHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICd0b3ByZXZpZXdodG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9QcmV2aWV3SHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChDcm9jb0h0bWxPcHRpb25zVG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnMpIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogSW50ZXJmYWNlQmxvY2tbXSB7XHJcbiAgICByZXR1cm4gSHRtbEV4dHJhY3Rpb25NZXRob2RzLnRyYW5zZm9ybUh0bWxTdHJpbmdUb0Jsb2Nrcyh2YWx1ZSwgdGhpcy5fb3B0aW9ucyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
1
|
+
import { Inject, Pipe } from '@angular/core';
|
|
2
2
|
import { HtmlExtractionMethods } from '../extensions/HtmlExtractionMethods';
|
|
3
|
+
import { CrocoHtmlOptionsToken } from '../consts';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ToPreviewPipe {
|
|
6
|
+
constructor(_options) {
|
|
7
|
+
this._options = _options;
|
|
8
|
+
}
|
|
5
9
|
transform(value) {
|
|
6
|
-
return HtmlExtractionMethods.transformHtmlStringToBlocks(value,
|
|
7
|
-
useCustomDomain: false,
|
|
8
|
-
domain: ""
|
|
9
|
-
});
|
|
10
|
+
return HtmlExtractionMethods.transformHtmlStringToBlocks(value, this._options);
|
|
10
11
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
13
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, name: "topreview" }); }
|
|
13
14
|
}
|
|
14
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, decorators: [{
|
|
@@ -16,5 +17,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
16
17
|
args: [{
|
|
17
18
|
name: 'topreview'
|
|
18
19
|
}]
|
|
19
|
-
}]
|
|
20
|
-
|
|
20
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
21
|
+
type: Inject,
|
|
22
|
+
args: [CrocoHtmlOptionsToken]
|
|
23
|
+
}] }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tcHJldmlldy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL3BpcGVzL3RvLXByZXZpZXcucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFvQixxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBNEQsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFDdEYsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8scUJBQXFCLENBQUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRixDQUFDOzhHQVBVLGFBQWEsa0JBRUoscUJBQXFCOzRHQUY5QixhQUFhOzsyRkFBYixhQUFhO2tCQUh6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO2lCQUNsQjs7MEJBR2MsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3JvY29IdG1sT3B0aW9ucywgSHRtbEV4dHJhY3Rpb25NZXRob2RzIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9IdG1sRXh0cmFjdGlvbk1ldGhvZHMnO1xyXG5pbXBvcnQgeyBJbnRlcmZhY2VCbG9jayB9IGZyb20gXCIuLi9leHRlbnNpb25zL0ludGVyZmFjZUJsb2NrXCI7XHJcbmltcG9ydCB7IENyb2NvSHRtbE9wdGlvbnNUb2tlbiB9IGZyb20gJy4uL2NvbnN0cyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3RvcHJldmlldydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvUHJldmlld1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENyb2NvSHRtbE9wdGlvbnNUb2tlbikgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogQ3JvY29IdG1sT3B0aW9ucykge1xyXG4gIH1cclxuICBcclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IEludGVyZmFjZUJsb2NrW10ge1xyXG4gICAgcmV0dXJuIEh0bWxFeHRyYWN0aW9uTWV0aG9kcy50cmFuc2Zvcm1IdG1sU3RyaW5nVG9CbG9ja3ModmFsdWUsIHRoaXMuX29wdGlvbnMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -6,4 +6,5 @@ export * from './lib/pipes';
|
|
|
6
6
|
export * from './lib/extensions';
|
|
7
7
|
export * from './lib/croco-html.module';
|
|
8
8
|
export * from './lib/models/models';
|
|
9
|
-
|
|
9
|
+
export * from './lib/consts';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNyb2NvLWh0bWxcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9leHRlbnNpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3JvY28taHRtbC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdHMnXHJcbiJdfQ==
|
package/fesm2022/croco-html.mjs
CHANGED
|
@@ -80,23 +80,20 @@ class FileImageTagDataConsts {
|
|
|
80
80
|
static { this.FileIdAttrName = "file-id"; }
|
|
81
81
|
}
|
|
82
82
|
class ImageMethods {
|
|
83
|
-
static buildUrl(fileId, options) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
return `${options.domain}${baseUrl}`;
|
|
83
|
+
static buildUrl(fileId, sizeType, options) {
|
|
84
|
+
return options.publicImageResizedUrlFormat
|
|
85
|
+
.replace("{sizeType}", sizeType)
|
|
86
|
+
.replace("{fileId}", fileId.toString());
|
|
89
87
|
}
|
|
90
88
|
static buildSmallUrl(fileId, options) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return `${options.domain}${baseUrl}`;
|
|
89
|
+
return ImageMethods.buildUrl(fileId, "Small", options);
|
|
90
|
+
}
|
|
91
|
+
static buildMediumUrl(fileId, options) {
|
|
92
|
+
return ImageMethods.buildUrl(fileId, "Medium", options);
|
|
96
93
|
}
|
|
97
94
|
static ExtractImage(elem, options) {
|
|
98
95
|
let fileId = +elem.getAttribute(FileImageTagDataConsts.FileIdAttrName);
|
|
99
|
-
let src = ImageMethods.
|
|
96
|
+
let src = ImageMethods.buildMediumUrl(fileId, options);
|
|
100
97
|
return {
|
|
101
98
|
type: FileImageTagDataConsts.TagName,
|
|
102
99
|
data: {
|
|
@@ -411,6 +408,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
411
408
|
type: Output
|
|
412
409
|
}] } });
|
|
413
410
|
|
|
411
|
+
const CrocoHtmlOptionsToken = "croco-html-options";
|
|
412
|
+
|
|
414
413
|
class FilesQueryService {
|
|
415
414
|
constructor(_httpClient, baseUrl) {
|
|
416
415
|
this._httpClient = _httpClient;
|
|
@@ -436,8 +435,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
436
435
|
}] }] });
|
|
437
436
|
|
|
438
437
|
class FileIdSelectComponent {
|
|
439
|
-
constructor(_fileService) {
|
|
438
|
+
constructor(_fileService, _options) {
|
|
440
439
|
this._fileService = _fileService;
|
|
440
|
+
this._options = _options;
|
|
441
441
|
this.labelText = "Поиск файлов";
|
|
442
442
|
this.loading = false;
|
|
443
443
|
this.files = [];
|
|
@@ -447,7 +447,7 @@ class FileIdSelectComponent {
|
|
|
447
447
|
this.onFileIdChanged.emit(fileId);
|
|
448
448
|
}
|
|
449
449
|
getSrc(fileId) {
|
|
450
|
-
return ImageMethods.buildSmallUrl(fileId,
|
|
450
|
+
return ImageMethods.buildSmallUrl(fileId, this._options);
|
|
451
451
|
}
|
|
452
452
|
ngOnInit() {
|
|
453
453
|
this.loadFiles();
|
|
@@ -471,13 +471,16 @@ class FileIdSelectComponent {
|
|
|
471
471
|
ngOnChanges(changes) {
|
|
472
472
|
this.loadFiles();
|
|
473
473
|
}
|
|
474
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileIdSelectComponent, deps: [{ token: FilesQueryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
474
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileIdSelectComponent, deps: [{ token: FilesQueryService }, { token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
475
475
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FileIdSelectComponent, selector: "croco-html-file-id-select", inputs: { labelText: "labelText", fileId: "fileId" }, outputs: { fileId: "fileId", onFileIdChanged: "onFileIdChanged" }, usesOnChanges: true, ngImport: i0, template: "<div>\r\n <div class=\"form-group\">\r\n <label for=\"fileName\">{{labelText}}</label>\r\n <ng-select [(ngModel)]=\"fileId\" (ngModelChange)=\"onModelChanged($event)\"\r\n [items]=\"files\"\r\n #select\r\n bindLabel=\"fileName\"\r\n (search)=\"onSearchChanged($event)\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"'\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u0444\u0430\u0439\u043B\u044B'\"\r\n dropdownPosition=\"auto\"\r\n bindValue=\"fileId\"\r\n labelForId=\"fileName\"\r\n placeholder=\"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\"\r\n [virtualScroll]=\"true\">\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <div>\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc(item.fileId)\"/>\r\n </div>\r\n <div>\r\n <span class=\"h5\">\u0424\u0430\u0439\u043B: </span>\r\n <span class=\"h5\" [ngOptionHighlight]=\"search\"><b>{{item.fileName}}</b></span>\r\n </div>\r\n <div>\r\n <small>\r\n <span>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: <b>{{item.fileId}}</b>\r\n </span>\r\n </small>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n</div>\r\n\r\n<div>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: {{fileId}}\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }] }); }
|
|
476
476
|
}
|
|
477
477
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileIdSelectComponent, decorators: [{
|
|
478
478
|
type: Component,
|
|
479
479
|
args: [{ selector: 'croco-html-file-id-select', template: "<div>\r\n <div class=\"form-group\">\r\n <label for=\"fileName\">{{labelText}}</label>\r\n <ng-select [(ngModel)]=\"fileId\" (ngModelChange)=\"onModelChanged($event)\"\r\n [items]=\"files\"\r\n #select\r\n bindLabel=\"fileName\"\r\n (search)=\"onSearchChanged($event)\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"'\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u0444\u0430\u0439\u043B\u044B'\"\r\n dropdownPosition=\"auto\"\r\n bindValue=\"fileId\"\r\n labelForId=\"fileName\"\r\n placeholder=\"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\"\r\n [virtualScroll]=\"true\">\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <div>\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc(item.fileId)\"/>\r\n </div>\r\n <div>\r\n <span class=\"h5\">\u0424\u0430\u0439\u043B: </span>\r\n <span class=\"h5\" [ngOptionHighlight]=\"search\"><b>{{item.fileName}}</b></span>\r\n </div>\r\n <div>\r\n <small>\r\n <span>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: <b>{{item.fileId}}</b>\r\n </span>\r\n </small>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n</div>\r\n\r\n<div>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: {{fileId}}\r\n</div>\r\n" }]
|
|
480
|
-
}], ctorParameters: () => [{ type: FilesQueryService }
|
|
480
|
+
}], ctorParameters: () => [{ type: FilesQueryService }, { type: undefined, decorators: [{
|
|
481
|
+
type: Inject,
|
|
482
|
+
args: [CrocoHtmlOptionsToken]
|
|
483
|
+
}] }], propDecorators: { labelText: [{
|
|
481
484
|
type: Input
|
|
482
485
|
}], fileId: [{
|
|
483
486
|
type: Input
|
|
@@ -491,13 +494,14 @@ class ImageEditorComponent {
|
|
|
491
494
|
onErrorHandler() {
|
|
492
495
|
this.hasImageError = true;
|
|
493
496
|
}
|
|
494
|
-
constructor() {
|
|
497
|
+
constructor(_options) {
|
|
498
|
+
this._options = _options;
|
|
495
499
|
this.hasImageError = false;
|
|
496
500
|
this.searchOrEdit = "search";
|
|
497
501
|
this.onTagUpdated = new EventEmitter();
|
|
498
502
|
}
|
|
499
503
|
getSrc() {
|
|
500
|
-
return ImageMethods.buildUrl(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName],
|
|
504
|
+
return ImageMethods.buildUrl(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName], "Medium", this._options);
|
|
501
505
|
}
|
|
502
506
|
hasFileId() {
|
|
503
507
|
return this.tag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && !isNaN(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName]);
|
|
@@ -511,13 +515,16 @@ class ImageEditorComponent {
|
|
|
511
515
|
}
|
|
512
516
|
ngOnInit() {
|
|
513
517
|
}
|
|
514
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ImageEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ImageEditorComponent, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
515
519
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ImageEditorComponent, selector: "croco-html-image-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div>\r\n <div style=\"height: 10px;\">\r\n </div>\r\n \r\n <div *ngIf=\"hasImageError\" class=\"error-block\">\r\n \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u043C\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0444\u0430\u0439\u043B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.\r\n </div>\r\n\r\n <div *ngIf=\"hasFileId() && !hasImageError\">\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc()\" (error)=\"onErrorHandler()\"/>\r\n </div>\r\n\r\n <div *ngIf=\"!hasFileId()\">\r\n <h5>[\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E]</h5>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div style=\"overflow-x:auto;\">\r\n <mat-button-toggle-group [(ngModel)]=\"searchOrEdit\">\r\n <mat-button-toggle value=\"search\">\r\n \u0418\u0441\u043A\u0430\u0442\u044C \u0444\u0430\u0439\u043B <mat-icon>search</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"edit\">\r\n \u0423\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443 <mat-icon>settings</mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'search'\">\r\n <croco-html-file-id-select\r\n [labelText]=\"'\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B'\"\r\n [(fileId)]=\"tag.attributes['file-id']\"\r\n (onFileIdChanged)=\"onFileIdChanged($event)\">\r\n </croco-html-file-id-select>\r\n </div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'edit'\">\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430\" new-autocomplete=\"off\" autocomplete=\"off\"\r\n type=\"number\"\r\n [(ngModel)]=\"tag.attributes['file-id']\"\r\n (ngModelChange)=\"removeImageError()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>", styles: [".error-block{background-color:#f32323;color:#fff;text-align:center;border-radius:10px;padding:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i6.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: FileIdSelectComponent, selector: "croco-html-file-id-select", inputs: ["labelText", "fileId"], outputs: ["fileId", "onFileIdChanged"] }] }); }
|
|
516
520
|
}
|
|
517
521
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ImageEditorComponent, decorators: [{
|
|
518
522
|
type: Component,
|
|
519
523
|
args: [{ selector: 'croco-html-image-editor', template: "<div>\r\n <div style=\"height: 10px;\">\r\n </div>\r\n \r\n <div *ngIf=\"hasImageError\" class=\"error-block\">\r\n \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u043C\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0444\u0430\u0439\u043B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.\r\n </div>\r\n\r\n <div *ngIf=\"hasFileId() && !hasImageError\">\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc()\" (error)=\"onErrorHandler()\"/>\r\n </div>\r\n\r\n <div *ngIf=\"!hasFileId()\">\r\n <h5>[\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E]</h5>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div style=\"overflow-x:auto;\">\r\n <mat-button-toggle-group [(ngModel)]=\"searchOrEdit\">\r\n <mat-button-toggle value=\"search\">\r\n \u0418\u0441\u043A\u0430\u0442\u044C \u0444\u0430\u0439\u043B <mat-icon>search</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"edit\">\r\n \u0423\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443 <mat-icon>settings</mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'search'\">\r\n <croco-html-file-id-select\r\n [labelText]=\"'\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B'\"\r\n [(fileId)]=\"tag.attributes['file-id']\"\r\n (onFileIdChanged)=\"onFileIdChanged($event)\">\r\n </croco-html-file-id-select>\r\n </div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'edit'\">\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430\" new-autocomplete=\"off\" autocomplete=\"off\"\r\n type=\"number\"\r\n [(ngModel)]=\"tag.attributes['file-id']\"\r\n (ngModelChange)=\"removeImageError()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>", styles: [".error-block{background-color:#f32323;color:#fff;text-align:center;border-radius:10px;padding:10px}\n"] }]
|
|
520
|
-
}], ctorParameters: () => [
|
|
524
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
525
|
+
type: Inject,
|
|
526
|
+
args: [CrocoHtmlOptionsToken]
|
|
527
|
+
}] }], propDecorators: { tag: [{
|
|
521
528
|
type: Input
|
|
522
529
|
}], onTagUpdated: [{
|
|
523
530
|
type: Output
|
|
@@ -1296,8 +1303,9 @@ class VisualEditorComponent {
|
|
|
1296
1303
|
this.recalculateHtml();
|
|
1297
1304
|
return this.html;
|
|
1298
1305
|
}
|
|
1299
|
-
constructor(_cdref) {
|
|
1306
|
+
constructor(_cdref, _options) {
|
|
1300
1307
|
this._cdref = _cdref;
|
|
1308
|
+
this._options = _options;
|
|
1301
1309
|
this.isLoading = false;
|
|
1302
1310
|
this.loadingText = "Идёт загрузка";
|
|
1303
1311
|
this.isActiveAddText = false;
|
|
@@ -1416,20 +1424,23 @@ class VisualEditorComponent {
|
|
|
1416
1424
|
this.onHtmlChanged.emit(this.html);
|
|
1417
1425
|
}
|
|
1418
1426
|
recalculateBodyTags() {
|
|
1419
|
-
this.bodyTags = BodyTagsExtensions.getBodyTags(this.html,
|
|
1427
|
+
this.bodyTags = BodyTagsExtensions.getBodyTags(this.html, this._options);
|
|
1420
1428
|
}
|
|
1421
1429
|
ngOnInit() {
|
|
1422
1430
|
this.recalculateBodyTags();
|
|
1423
1431
|
this.tags = DefaultTags.getTags(this.useHtmlRaw);
|
|
1424
1432
|
this.selectedValue = this.tags[0].tag;
|
|
1425
1433
|
}
|
|
1426
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: VisualEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1434
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: VisualEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1427
1435
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged", rendered: "rendered" }, viewQueries: [{ propertyName: "textArea", first: true, predicate: ["textArea"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"isLoading\">\r\n <div>\r\n <mat-spinner style=\"margin:0 auto;\"></mat-spinner>\r\n <div style=\"text-align: center;\">{{loadingText}}</div>\r\n </div>\r\n <div style=\"height: 10px;\"></div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <button (click)=\"addText()\" class=\"w-100\" mat-stroked-button *ngIf=\"!isActiveAddText\">\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\r\n </button>\r\n <ng-container *ngIf=\"isActiveAddText\">\r\n <mat-form-field class=\"w-100\" >\r\n <textarea\r\n #autosize=\"cdkTextareaAutosize\"\r\n matInput\r\n cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n placeholder=\"\u0422\u0435\u043A\u0441\u0442\"\r\n #textArea\r\n [(ngModel)]=\"text\"\r\n (ngModelChange)=\"modelChanged()\"\r\n ></textarea>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>\u0422\u0435\u0433 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0430</mat-label>\r\n <mat-select [(ngModel)]=\"textTag\" (ngModelChange)=\"modelChanged()\">\r\n <mat-option *ngFor=\"let option of textTagOptions\" value=\"{{ option.tag }}\">\r\n {{ option.displayValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435</mat-label>\r\n <mat-select [(ngModel)]=\"alignment\" (ngModelChange)=\"modelChanged()\">\r\n <mat-option *ngFor=\"let option of alignmentOptions\" value=\"{{ option.value }}\">\r\n {{ option.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <div class=\"d-flex flex-nowrap justify-content-end w-100\">\r\n <button (click)=\"addText()\" class=\"w-20\" style=\"margin-right: 10px\" mat-flat-button color=\"primary\" *ngIf=\"isActiveAddText\">\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\r\n </button>\r\n <button (click)=\"closeText()\" class=\"w-20\" mat-flat-button color=\"warn\" *ngIf=\"isActiveAddText\">\r\n \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <mat-form-field class=\"w-100\" appearance=\"outline\">\r\n <mat-label>\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0433</mat-label>\r\n <mat-select [(ngModel)]=\"selectedValue\">\r\n <mat-option *ngFor=\"let tag of tags\" [value]=\"tag.tag\">\r\n {{tag.displayValue}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-12\">\r\n <button (click)=\"addTag()\" class=\"w-100\" mat-stroked-button>\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u0433\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <croco-html-add-files-btn (filesTagsReady)=\"filesTagsReadyHandler($event)\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" class=\"w-100\">\r\n </croco-html-add-files-btn>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let tag of bodyTags; let i = index\" cdkDrag>\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"example-handle\" cdkDragHandle>\r\n <svg width=\"24px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\">\r\n </path>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n </svg>\r\n </div>\r\n <div>\r\n <div class=\"badge\">\r\n {{tag.tagDescription.displayValue}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height: 15px;\"></div>\r\n\r\n <croco-html-main-editor-block [tag]=\"tag\" (onTagSaved)=\"onTagSavedHandler($event)\"\r\n (onTagRemoved)=\"onTagRemovedHandler(i)\">\r\n </croco-html-main-editor-block>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.badge{background-color:#50a450;color:#fff;min-width:55px;height:25px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i5$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i11.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i11.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i11.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: MainEditorBlockComponent, selector: "croco-html-main-editor-block", inputs: ["tag"], outputs: ["onTagSaved", "onTagRemoved"] }, { kind: "component", type: AddFilesBtnComponent, selector: "croco-html-add-files-btn", outputs: ["postFilesStarted", "filesTagsReady"] }] }); }
|
|
1428
1436
|
}
|
|
1429
1437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: VisualEditorComponent, decorators: [{
|
|
1430
1438
|
type: Component,
|
|
1431
1439
|
args: [{ selector: 'croco-visual-editor', template: "<div *ngIf=\"isLoading\">\r\n <div>\r\n <mat-spinner style=\"margin:0 auto;\"></mat-spinner>\r\n <div style=\"text-align: center;\">{{loadingText}}</div>\r\n </div>\r\n <div style=\"height: 10px;\"></div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <button (click)=\"addText()\" class=\"w-100\" mat-stroked-button *ngIf=\"!isActiveAddText\">\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442\r\n </button>\r\n <ng-container *ngIf=\"isActiveAddText\">\r\n <mat-form-field class=\"w-100\" >\r\n <textarea\r\n #autosize=\"cdkTextareaAutosize\"\r\n matInput\r\n cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n placeholder=\"\u0422\u0435\u043A\u0441\u0442\"\r\n #textArea\r\n [(ngModel)]=\"text\"\r\n (ngModelChange)=\"modelChanged()\"\r\n ></textarea>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>\u0422\u0435\u0433 \u0434\u043B\u044F \u0442\u0435\u043A\u0441\u0442\u0430</mat-label>\r\n <mat-select [(ngModel)]=\"textTag\" (ngModelChange)=\"modelChanged()\">\r\n <mat-option *ngFor=\"let option of textTagOptions\" value=\"{{ option.tag }}\">\r\n {{ option.displayValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n <mat-label>\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435</mat-label>\r\n <mat-select [(ngModel)]=\"alignment\" (ngModelChange)=\"modelChanged()\">\r\n <mat-option *ngFor=\"let option of alignmentOptions\" value=\"{{ option.value }}\">\r\n {{ option.text }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n <div class=\"d-flex flex-nowrap justify-content-end w-100\">\r\n <button (click)=\"addText()\" class=\"w-20\" style=\"margin-right: 10px\" mat-flat-button color=\"primary\" *ngIf=\"isActiveAddText\">\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\r\n </button>\r\n <button (click)=\"closeText()\" class=\"w-20\" mat-flat-button color=\"warn\" *ngIf=\"isActiveAddText\">\r\n \u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <mat-form-field class=\"w-100\" appearance=\"outline\">\r\n <mat-label>\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0433</mat-label>\r\n <mat-select [(ngModel)]=\"selectedValue\">\r\n <mat-option *ngFor=\"let tag of tags\" [value]=\"tag.tag\">\r\n {{tag.displayValue}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-12\">\r\n <button (click)=\"addTag()\" class=\"w-100\" mat-stroked-button>\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u0433\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <croco-html-add-files-btn (filesTagsReady)=\"filesTagsReadyHandler($event)\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" class=\"w-100\">\r\n </croco-html-add-files-btn>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n<div [hidden]=\"isLoading\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let tag of bodyTags; let i = index\" cdkDrag>\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"example-handle\" cdkDragHandle>\r\n <svg width=\"24px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\">\r\n </path>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n </svg>\r\n </div>\r\n <div>\r\n <div class=\"badge\">\r\n {{tag.tagDescription.displayValue}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height: 15px;\"></div>\r\n\r\n <croco-html-main-editor-block [tag]=\"tag\" (onTagSaved)=\"onTagSavedHandler($event)\"\r\n (onTagRemoved)=\"onTagRemovedHandler(i)\">\r\n </croco-html-main-editor-block>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.badge{background-color:#50a450;color:#fff;min-width:55px;height:25px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-weight:400}\n"] }]
|
|
1432
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }
|
|
1440
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1441
|
+
type: Inject,
|
|
1442
|
+
args: [CrocoHtmlOptionsToken]
|
|
1443
|
+
}] }], propDecorators: { textArea: [{
|
|
1433
1444
|
type: ViewChild,
|
|
1434
1445
|
args: ['textArea']
|
|
1435
1446
|
}], showMarkUp: [{
|
|
@@ -1447,13 +1458,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1447
1458
|
}] } });
|
|
1448
1459
|
|
|
1449
1460
|
class ToPreviewPipe {
|
|
1461
|
+
constructor(_options) {
|
|
1462
|
+
this._options = _options;
|
|
1463
|
+
}
|
|
1450
1464
|
transform(value) {
|
|
1451
|
-
return HtmlExtractionMethods.transformHtmlStringToBlocks(value,
|
|
1452
|
-
useCustomDomain: false,
|
|
1453
|
-
domain: ""
|
|
1454
|
-
});
|
|
1465
|
+
return HtmlExtractionMethods.transformHtmlStringToBlocks(value, this._options);
|
|
1455
1466
|
}
|
|
1456
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1467
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1457
1468
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, name: "topreview" }); }
|
|
1458
1469
|
}
|
|
1459
1470
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewPipe, decorators: [{
|
|
@@ -1461,7 +1472,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1461
1472
|
args: [{
|
|
1462
1473
|
name: 'topreview'
|
|
1463
1474
|
}]
|
|
1464
|
-
}]
|
|
1475
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1476
|
+
type: Inject,
|
|
1477
|
+
args: [CrocoHtmlOptionsToken]
|
|
1478
|
+
}] }] });
|
|
1465
1479
|
|
|
1466
1480
|
class MainEditorComponent {
|
|
1467
1481
|
constructor(_clipboardService, _snackBar, _cdref) {
|
|
@@ -1617,10 +1631,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1617
1631
|
}] });
|
|
1618
1632
|
|
|
1619
1633
|
class ToHtmlBodyTagsPipe {
|
|
1634
|
+
constructor(_options) {
|
|
1635
|
+
this._options = _options;
|
|
1636
|
+
}
|
|
1620
1637
|
transform(value) {
|
|
1621
|
-
return BodyTagsExtensions.getBodyTags(value,
|
|
1638
|
+
return BodyTagsExtensions.getBodyTags(value, this._options);
|
|
1622
1639
|
}
|
|
1623
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1640
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1624
1641
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, name: "tohtmlbodytags" }); }
|
|
1625
1642
|
}
|
|
1626
1643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToHtmlBodyTagsPipe, decorators: [{
|
|
@@ -1628,13 +1645,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1628
1645
|
args: [{
|
|
1629
1646
|
name: 'tohtmlbodytags'
|
|
1630
1647
|
}]
|
|
1631
|
-
}]
|
|
1648
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1649
|
+
type: Inject,
|
|
1650
|
+
args: [CrocoHtmlOptionsToken]
|
|
1651
|
+
}] }] });
|
|
1632
1652
|
|
|
1633
1653
|
class ToPreviewHtmlPipe {
|
|
1634
|
-
|
|
1635
|
-
|
|
1654
|
+
constructor(_options) {
|
|
1655
|
+
this._options = _options;
|
|
1636
1656
|
}
|
|
1637
|
-
|
|
1657
|
+
transform(value) {
|
|
1658
|
+
return HtmlExtractionMethods.transformHtmlStringToBlocks(value, this._options);
|
|
1659
|
+
}
|
|
1660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewHtmlPipe, deps: [{ token: CrocoHtmlOptionsToken }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1638
1661
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewHtmlPipe, name: "topreviewhtml" }); }
|
|
1639
1662
|
}
|
|
1640
1663
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ToPreviewHtmlPipe, decorators: [{
|
|
@@ -1642,7 +1665,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1642
1665
|
args: [{
|
|
1643
1666
|
name: 'topreviewhtml'
|
|
1644
1667
|
}]
|
|
1645
|
-
}]
|
|
1668
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1669
|
+
type: Inject,
|
|
1670
|
+
args: [CrocoHtmlOptionsToken]
|
|
1671
|
+
}] }] });
|
|
1646
1672
|
|
|
1647
1673
|
class TableBuilder {
|
|
1648
1674
|
static getTableMarkUp(rows, cols, generateHeaders) {
|
|
@@ -1787,5 +1813,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
1787
1813
|
* Generated bundle index. Do not edit.
|
|
1788
1814
|
*/
|
|
1789
1815
|
|
|
1790
|
-
export { AddFilesBtnComponent, AngularMaterialTableMethods, BodyTagsExtensions, BootstrapTableMethods, CrocoHtmlModule, ExternalVideoBlockComponent, ExternalVideoSupportedTypes, ExternalVideoTagDataConsts, FileIdSelectComponent, FileImageTagDataConsts, FileImageTagViewComponent, HtmlRawEditorComponent, HtmlRawViewComponent, HtmlViewComponent, ImageEditorComponent, ImageMethods, MainEditorBlockComponent, MainEditorComponent, RichTextToHtmlPipe, TableBuilder, TableMethods, TableTypes, TagToSpanPipe, TextEditorComponent, TextMethods, TextSimpleMethods, TextTag, ToHtmlBodyTagsPipe, ToPreviewHtmlPipe, ToPreviewPipe, UploadFilesBtnComponent, VideoMethods, VisualEditorComponent, XmlExtensions, XmlTagExternalVideoComponent, XmlTagHeaderInnerTextViewComponent, XmlTagHeaderTextViewComponent, XmlTagHtmlViewComponent, XmlTagRichTextViewComponent, XmlTagTableViewComponent, XmlTagTextViewComponent, XmlTagViewComponent };
|
|
1816
|
+
export { AddFilesBtnComponent, AngularMaterialTableMethods, BodyTagsExtensions, BootstrapTableMethods, CrocoHtmlModule, CrocoHtmlOptionsToken, ExternalVideoBlockComponent, ExternalVideoSupportedTypes, ExternalVideoTagDataConsts, FileIdSelectComponent, FileImageTagDataConsts, FileImageTagViewComponent, HtmlRawEditorComponent, HtmlRawViewComponent, HtmlViewComponent, ImageEditorComponent, ImageMethods, MainEditorBlockComponent, MainEditorComponent, RichTextToHtmlPipe, TableBuilder, TableMethods, TableTypes, TagToSpanPipe, TextEditorComponent, TextMethods, TextSimpleMethods, TextTag, ToHtmlBodyTagsPipe, ToPreviewHtmlPipe, ToPreviewPipe, UploadFilesBtnComponent, VideoMethods, VisualEditorComponent, XmlExtensions, XmlTagExternalVideoComponent, XmlTagHeaderInnerTextViewComponent, XmlTagHeaderTextViewComponent, XmlTagHtmlViewComponent, XmlTagRichTextViewComponent, XmlTagTableViewComponent, XmlTagTextViewComponent, XmlTagViewComponent };
|
|
1791
1817
|
//# sourceMappingURL=croco-html.mjs.map
|