@firestitch/html-editor 14.0.0 → 16.0.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/app/modules/html-editor/classes/plugin.d.ts +7 -7
- package/app/modules/html-editor/components/html-editor/html-editor.component.d.ts +60 -60
- package/app/modules/html-editor/consts/paragraph-buttons.const.d.ts +1 -1
- package/app/modules/html-editor/consts/rich-buttons.const.d.ts +1 -1
- package/app/modules/html-editor/consts/text-buttons.const.d.ts +1 -1
- package/app/modules/html-editor/directives/html-editor-container.directive.d.ts +9 -9
- package/app/modules/html-editor/directives/index.d.ts +1 -1
- package/app/modules/html-editor/enums/default-plugin.enum.d.ts +16 -16
- package/app/modules/html-editor/fs-html-editor.module.d.ts +37 -37
- package/app/modules/html-editor/injects/config.inject.d.ts +3 -3
- package/app/modules/html-editor/interfaces/html-editor-config.d.ts +34 -34
- package/app/modules/html-editor/interfaces/index.d.ts +3 -3
- package/app/modules/html-editor/interfaces/plugin-config.d.ts +5 -5
- package/app/modules/html-editor/interfaces/toolbar-button.d.ts +14 -14
- package/app/modules/html-editor/plugins/checklist.plugin.d.ts +7 -7
- package/app/modules/html-editor/plugins/code.plugin.d.ts +9 -9
- package/app/modules/html-editor/plugins/configs/mention-plugin.config.d.ts +13 -13
- package/app/modules/html-editor/plugins/configs/screen-record-plugin.config.d.ts +7 -7
- package/app/modules/html-editor/plugins/mention.plugin.d.ts +15 -15
- package/app/modules/html-editor/plugins/realtime.plugin.d.ts +7 -7
- package/app/modules/html-editor/plugins/screen-record.plugin.d.ts +11 -11
- package/app/modules/html-editor/services/froala-loader.service.d.ts +21 -21
- package/app/modules/html-renderer/components/html-renderer/html-renderer.component.d.ts +12 -12
- package/app/modules/html-renderer/fs-html-renderer.module.d.ts +8 -8
- package/esm2022/app/modules/html-editor/classes/plugin.mjs +7 -0
- package/esm2022/app/modules/html-editor/components/html-editor/html-editor.component.mjs +518 -0
- package/{esm2020 → esm2022}/app/modules/html-editor/consts/paragraph-buttons.const.mjs +9 -9
- package/{esm2020 → esm2022}/app/modules/html-editor/consts/rich-buttons.const.mjs +6 -6
- package/{esm2020 → esm2022}/app/modules/html-editor/consts/text-buttons.const.mjs +18 -18
- package/{esm2020 → esm2022}/app/modules/html-editor/directives/html-editor-container.directive.mjs +14 -14
- package/{esm2020 → esm2022}/app/modules/html-editor/directives/index.mjs +1 -1
- package/{esm2020 → esm2022}/app/modules/html-editor/enums/default-plugin.enum.mjs +1 -1
- package/{esm2020 → esm2022}/app/modules/html-editor/fs-html-editor.module.mjs +75 -75
- package/{esm2020 → esm2022}/app/modules/html-editor/injects/config.inject.mjs +3 -3
- package/{esm2020 → esm2022}/app/modules/html-editor/interfaces/html-editor-config.mjs +1 -1
- package/{esm2020 → esm2022}/app/modules/html-editor/interfaces/index.mjs +3 -3
- package/{esm2020 → esm2022}/app/modules/html-editor/interfaces/plugin-config.mjs +1 -1
- package/{esm2020 → esm2022}/app/modules/html-editor/interfaces/toolbar-button.mjs +1 -1
- package/esm2022/app/modules/html-editor/plugins/checklist.plugin.mjs +40 -0
- package/esm2022/app/modules/html-editor/plugins/code.plugin.mjs +68 -0
- package/{esm2020 → esm2022}/app/modules/html-editor/plugins/configs/mention-plugin.config.mjs +1 -1
- package/{esm2020 → esm2022}/app/modules/html-editor/plugins/configs/screen-record-plugin.config.mjs +1 -1
- package/esm2022/app/modules/html-editor/plugins/mention.plugin.mjs +92 -0
- package/esm2022/app/modules/html-editor/plugins/realtime.plugin.mjs +17 -0
- package/esm2022/app/modules/html-editor/plugins/screen-record.plugin.mjs +94 -0
- package/esm2022/app/modules/html-editor/services/froala-loader.service.mjs +93 -0
- package/esm2022/app/modules/html-renderer/components/html-renderer/html-renderer.component.mjs +27 -0
- package/{esm2020 → esm2022}/app/modules/html-renderer/fs-html-renderer.module.mjs +24 -24
- package/{esm2020 → esm2022}/firestitch-html-editor.mjs +4 -4
- package/{esm2020 → esm2022}/public_api.mjs +14 -14
- package/{fesm2020 → fesm2022}/firestitch-html-editor.mjs +1025 -1001
- package/{fesm2020 → fesm2022}/firestitch-html-editor.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/package.json +5 -11
- package/public_api.d.ts +19 -19
- package/esm2020/app/modules/html-editor/classes/plugin.mjs +0 -5
- package/esm2020/app/modules/html-editor/components/html-editor/html-editor.component.mjs +0 -509
- package/esm2020/app/modules/html-editor/plugins/checklist.plugin.mjs +0 -39
- package/esm2020/app/modules/html-editor/plugins/code.plugin.mjs +0 -67
- package/esm2020/app/modules/html-editor/plugins/mention.plugin.mjs +0 -90
- package/esm2020/app/modules/html-editor/plugins/realtime.plugin.mjs +0 -16
- package/esm2020/app/modules/html-editor/plugins/screen-record.plugin.mjs +0 -92
- package/esm2020/app/modules/html-editor/services/froala-loader.service.mjs +0 -90
- package/esm2020/app/modules/html-renderer/components/html-renderer/html-renderer.component.mjs +0 -24
- package/fesm2015/firestitch-html-editor.mjs +0 -1043
- package/fesm2015/firestitch-html-editor.mjs.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Plugin } from '../classes/plugin';
|
|
2
|
-
export class ChecklistPlugin extends Plugin {
|
|
3
|
-
constructor(config = { name: 'checklist' }) {
|
|
4
|
-
super();
|
|
5
|
-
this.config = config;
|
|
6
|
-
this.config = {
|
|
7
|
-
...config,
|
|
8
|
-
name: 'checklist',
|
|
9
|
-
buttons: [
|
|
10
|
-
{
|
|
11
|
-
name: 'checklist',
|
|
12
|
-
svgPath: 'M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z',
|
|
13
|
-
click: (editor) => {
|
|
14
|
-
editor.html.insert('<ul class="checklist"><li></li></ul>');
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
initialize() {
|
|
21
|
-
this.editor.events.on('click', (e) => {
|
|
22
|
-
const li = e.target;
|
|
23
|
-
if (li.nodeName === 'LI' && e.offsetX < 0) {
|
|
24
|
-
const items = [li, ...li.querySelectorAll('li')];
|
|
25
|
-
if (li.classList.contains('checked')) {
|
|
26
|
-
items.forEach((item) => {
|
|
27
|
-
item.classList.remove('checked');
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
items.forEach((item) => {
|
|
32
|
-
item.classList.add('checked');
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}, false);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9odG1sLWVkaXRvci9wbHVnaW5zL2NoZWNrbGlzdC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNDLE1BQU0sT0FBTyxlQUFnQixTQUFRLE1BQU07SUFFekMsWUFBMEIsU0FBdUIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1FBQ3BFLEtBQUssRUFBRSxDQUFDO1FBRGdCLFdBQU0sR0FBTixNQUFNLENBQXNDO1FBRXBFLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixHQUFHLE1BQU07WUFDVCxJQUFJLEVBQUUsV0FBVztZQUNqQixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLE9BQU8sRUFBRSw0S0FBNEs7b0JBQ3JMLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO29CQUM3RCxDQUFDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwQixJQUFJLEVBQUUsQ0FBQyxRQUFRLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFO2dCQUV6QyxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUVqRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNuQyxDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNoQyxDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1FBRUgsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi4vY2xhc3Nlcy9wbHVnaW4nO1xuXG5pbXBvcnQgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLy4uL2ludGVyZmFjZXMvcGx1Z2luLWNvbmZpZyc7XG5cblxuZXhwb3J0IGNsYXNzIENoZWNrbGlzdFBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBsdWdpbkNvbmZpZyA9IHsgbmFtZTogJ2NoZWNrbGlzdCcgfSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBuYW1lOiAnY2hlY2tsaXN0JyxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjaGVja2xpc3QnLFxuICAgICAgICAgIHN2Z1BhdGg6ICdNOC40LDEwLjNsLTEuMiwxLjJsNCw0TDIwLDYuN2wtMS4yLTEuMmwtNy42LDcuNkw4LjQsMTAuM3ogTTE4LjIsMTguMkg1LjhWNS44aDguOVY0SDUuOEM0LjgsNCw0LDQuOCw0LDUuOHYxMi40YzAsMSwwLjgsMS44LDEuOCwxLjhoMTIuNGMxLDAsMS44LTAuOCwxLjgtMS44di03LjFoLTEuOFYxOC4yeicsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIGVkaXRvci5odG1sLmluc2VydCgnPHVsIGNsYXNzPVwiY2hlY2tsaXN0XCI+PGxpPjwvbGk+PC91bD4nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdjbGljaycsIChlKSA9PiB7XG4gICAgICBjb25zdCBsaSA9IGUudGFyZ2V0O1xuICAgICAgaWYgKGxpLm5vZGVOYW1lID09PSAnTEknICYmIGUub2Zmc2V0WCA8IDApIHtcblxuICAgICAgICBjb25zdCBpdGVtcyA9IFtsaSwgLi4ubGkucXVlcnlTZWxlY3RvckFsbCgnbGknKV07XG5cbiAgICAgICAgaWYgKGxpLmNsYXNzTGlzdC5jb250YWlucygnY2hlY2tlZCcpKSB7XG4gICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdjaGVja2VkJyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdjaGVja2VkJyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0sIGZhbHNlKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Plugin } from '../classes/plugin';
|
|
2
|
-
export class CodePlugin extends Plugin {
|
|
3
|
-
constructor(config = { name: 'code' }) {
|
|
4
|
-
super();
|
|
5
|
-
this.config = config;
|
|
6
|
-
this.config = {
|
|
7
|
-
...config,
|
|
8
|
-
name: 'code',
|
|
9
|
-
buttons: [
|
|
10
|
-
{
|
|
11
|
-
name: 'code',
|
|
12
|
-
svgPath: 'M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z',
|
|
13
|
-
click: (editor) => {
|
|
14
|
-
const node = editor.selection.get();
|
|
15
|
-
const codeEl = this._getCodeEl(node.baseNode);
|
|
16
|
-
if (codeEl) {
|
|
17
|
-
codeEl.classList.remove('code');
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
editor.html.insert('<p class="code">' + editor.selection.get().toString().replace(/\n{1,}/g, '<br>') + '</p>');
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
initialize() {
|
|
28
|
-
this.editor.events.on('keydown', (e) => {
|
|
29
|
-
if (e.keyCode === 13) {
|
|
30
|
-
const selection = this.editor.selection.get();
|
|
31
|
-
if (selection && this._getCodeEl(selection.baseNode)) {
|
|
32
|
-
e.preventDefault();
|
|
33
|
-
e.stopPropagation();
|
|
34
|
-
e.stopImmediatePropagation();
|
|
35
|
-
let br = '<br>';
|
|
36
|
-
const base = selection.baseNode;
|
|
37
|
-
if (base.nodeName === '#text' && selection.baseOffset === base.length) {
|
|
38
|
-
if (!(base.nextSibling && base.nextSibling.nodeName === 'BR')) {
|
|
39
|
-
br += '<br>';
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
const el = Array.from(base.childNodes).splice(selection.baseOffset - 1, 1).pop();
|
|
44
|
-
if (el && el.nodeName !== 'BR') {
|
|
45
|
-
br += '<br>';
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
this.editor.html.insert(br);
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}, true);
|
|
53
|
-
}
|
|
54
|
-
destroy() { }
|
|
55
|
-
_getCodeEl(el) {
|
|
56
|
-
if (el) {
|
|
57
|
-
if (el.classList && el.classList.contains('code')) {
|
|
58
|
-
return el;
|
|
59
|
-
}
|
|
60
|
-
if (el.parentElement) {
|
|
61
|
-
return this._getCodeEl(el.parentElement);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvaHRtbC1lZGl0b3IvcGx1Z2lucy9jb2RlLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLM0MsTUFBTSxPQUFPLFVBQVcsU0FBUSxNQUFNO0lBRXBDLFlBQTBCLFNBQXVCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUMvRCxLQUFLLEVBQUUsQ0FBQztRQURnQixXQUFNLEdBQU4sTUFBTSxDQUFpQztRQUUvRCxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxNQUFNO1lBQ1QsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osT0FBTyxFQUFFLG1IQUFtSDtvQkFDNUgsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ2hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUM5QyxJQUFJLE1BQU0sRUFBRTs0QkFDVixNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDakM7NkJBQU07NEJBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO3lCQUMvRztvQkFDSCxDQUFDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtnQkFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBRTlDLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNwRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7b0JBQzdCLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztvQkFDaEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztvQkFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sSUFBSSxTQUFTLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBRXJFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLEVBQUU7NEJBQzdELEVBQUUsSUFBSSxNQUFNLENBQUM7eUJBQ2Q7cUJBQ0Y7eUJBQU07d0JBQ0wsTUFBTSxFQUFFLEdBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUN0RixJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTs0QkFDOUIsRUFBRSxJQUFJLE1BQU0sQ0FBQzt5QkFDZDtxQkFDRjtvQkFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzVCLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU0sT0FBTyxLQUFJLENBQUM7SUFFWCxVQUFVLENBQUMsRUFBRTtRQUVuQixJQUFJLEVBQUUsRUFBRTtZQUNOLElBQUksRUFBRSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDakQsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUVELElBQUksRUFBRSxDQUFDLGFBQWEsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9jbGFzc2VzL3BsdWdpbic7XG5cbmltcG9ydCB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vLi4vaW50ZXJmYWNlcy9wbHVnaW4tY29uZmlnJztcblxuXG5leHBvcnQgY2xhc3MgQ29kZVBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBsdWdpbkNvbmZpZyA9IHsgbmFtZTogJ2NvZGUnIH0pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgbmFtZTogJ2NvZGUnLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2NvZGUnLFxuICAgICAgICAgIHN2Z1BhdGg6ICdNOC45LDcuM0w0LjIsMTJsNC43LDQuN2wxLjEtMS4xTDYuNCwxMkwxMCw4LjRMOC45LDcuM3ogTTE1LjEsNy4zTDE0LDguNGwzLjYsMy42TDE0LDE1LjZsMS4xLDEuMWw0LjctNC43TDE1LjEsNy4zeicsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBlZGl0b3Iuc2VsZWN0aW9uLmdldCgpO1xuICAgICAgICAgICAgY29uc3QgY29kZUVsID0gdGhpcy5fZ2V0Q29kZUVsKG5vZGUuYmFzZU5vZGUpO1xuICAgICAgICAgICAgaWYgKGNvZGVFbCkge1xuICAgICAgICAgICAgICBjb2RlRWwuY2xhc3NMaXN0LnJlbW92ZSgnY29kZScpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZWRpdG9yLmh0bWwuaW5zZXJ0KCc8cCBjbGFzcz1cImNvZGVcIj4nICsgZWRpdG9yLnNlbGVjdGlvbi5nZXQoKS50b1N0cmluZygpLnJlcGxhY2UoL1xcbnsxLH0vZywnPGJyPicpICsgJzwvcD4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdrZXlkb3duJywgKGUpID0+IHtcbiAgICAgIGlmIChlLmtleUNvZGUgPT09IDEzKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZWRpdG9yLnNlbGVjdGlvbi5nZXQoKTtcblxuICAgICAgICBpZiAoc2VsZWN0aW9uICYmIHRoaXMuX2dldENvZGVFbChzZWxlY3Rpb24uYmFzZU5vZGUpKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBsZXQgYnIgPSAnPGJyPic7XG4gICAgICAgICAgY29uc3QgYmFzZSA9IHNlbGVjdGlvbi5iYXNlTm9kZTtcbiAgICAgICAgICBpZiAoYmFzZS5ub2RlTmFtZSA9PT0gJyN0ZXh0JyAmJiBzZWxlY3Rpb24uYmFzZU9mZnNldCA9PT0gYmFzZS5sZW5ndGgpIHtcblxuICAgICAgICAgICAgaWYgKCEoYmFzZS5uZXh0U2libGluZyAmJiBiYXNlLm5leHRTaWJsaW5nLm5vZGVOYW1lID09PSAnQlInKSkge1xuICAgICAgICAgICAgICBiciArPSAnPGJyPic7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGVsOiBhbnkgPSBBcnJheS5mcm9tKGJhc2UuY2hpbGROb2Rlcykuc3BsaWNlKHNlbGVjdGlvbi5iYXNlT2Zmc2V0IC0gMSwgMSkucG9wKCk7XG4gICAgICAgICAgICBpZiAoZWwgJiYgZWwubm9kZU5hbWUgIT09ICdCUicpIHtcbiAgICAgICAgICAgICAgYnIgKz0gJzxicj4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZWRpdG9yLmh0bWwuaW5zZXJ0KGJyKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge31cblxuICBwcml2YXRlIF9nZXRDb2RlRWwoZWwpIHtcblxuICAgIGlmIChlbCkge1xuICAgICAgaWYgKGVsLmNsYXNzTGlzdCAmJiBlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2NvZGUnKSkge1xuICAgICAgICByZXR1cm4gZWw7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDb2RlRWwoZWwucGFyZW50RWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { debounce } from 'lodash-es';
|
|
2
|
-
import Tribute from 'tributejs';
|
|
3
|
-
import { Plugin } from '../classes/plugin';
|
|
4
|
-
import { guid } from '@firestitch/common';
|
|
5
|
-
export class MentionPlugin extends Plugin {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
super();
|
|
8
|
-
this.config = config;
|
|
9
|
-
this._guid = guid();
|
|
10
|
-
this.selected = (event) => {
|
|
11
|
-
if (this.config.selected) {
|
|
12
|
-
if (MentionPlugin._currentGuid === this._guid) {
|
|
13
|
-
this.config.selected(event.detail.item.original);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
this.config = {
|
|
18
|
-
...config,
|
|
19
|
-
buttons: [
|
|
20
|
-
{
|
|
21
|
-
name: config.name,
|
|
22
|
-
tooltip: config.tooltip,
|
|
23
|
-
svgPath: config.iconPath,
|
|
24
|
-
click: (editor) => {
|
|
25
|
-
this._closeAll();
|
|
26
|
-
this._tribute.showMenuForCollection(editor.el);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
};
|
|
31
|
-
this._tribute = new Tribute({
|
|
32
|
-
values: debounce(this._loadValues.bind(this), 200),
|
|
33
|
-
searchOpts: {
|
|
34
|
-
pre: '',
|
|
35
|
-
post: '',
|
|
36
|
-
skip: true
|
|
37
|
-
},
|
|
38
|
-
containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,
|
|
39
|
-
itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,
|
|
40
|
-
trigger: this.config.trigger,
|
|
41
|
-
allowSpaces: true,
|
|
42
|
-
menuItemTemplate: (item) => {
|
|
43
|
-
return this.config.menuItemTemplate(item.original);
|
|
44
|
-
},
|
|
45
|
-
selectTemplate: (item) => {
|
|
46
|
-
const template = this.config.selectedTemplate(item.original);
|
|
47
|
-
let p = document.createElement('p');
|
|
48
|
-
p.innerHTML = template;
|
|
49
|
-
let node = p.firstElementChild;
|
|
50
|
-
if (!node) {
|
|
51
|
-
node = document.createElement('span');
|
|
52
|
-
node.innerHTML = template;
|
|
53
|
-
}
|
|
54
|
-
node.setAttribute('contenteditable', 'false');
|
|
55
|
-
node.classList.add('fr-deletable');
|
|
56
|
-
return node.outerHTML;
|
|
57
|
-
},
|
|
58
|
-
});
|
|
59
|
-
MentionPlugin._tributes.push(this._tribute);
|
|
60
|
-
}
|
|
61
|
-
initialize() {
|
|
62
|
-
this._tribute.attach(this.editor.el);
|
|
63
|
-
this.editor.events.on('keydown', (e) => {
|
|
64
|
-
if (e.key === 'Enter' && this._tribute.isActive) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
}, true);
|
|
68
|
-
this.editor.el.addEventListener("tribute-replaced", this.selected);
|
|
69
|
-
}
|
|
70
|
-
destroy() {
|
|
71
|
-
this.editor.el.removeEventListener("tribute-replaced", this.selected);
|
|
72
|
-
}
|
|
73
|
-
_closeAll() {
|
|
74
|
-
MentionPlugin._tributes.forEach((tribute) => {
|
|
75
|
-
if (tribute.menu) {
|
|
76
|
-
tribute.hideMenu();
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
_loadValues(keyword, cb) {
|
|
81
|
-
MentionPlugin._currentGuid = this._guid;
|
|
82
|
-
return this.config.fetch(keyword)
|
|
83
|
-
.subscribe((data) => {
|
|
84
|
-
cb(data);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
MentionPlugin._currentGuid = null;
|
|
89
|
-
MentionPlugin._tributes = [];
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvaHRtbC1lZGl0b3IvcGx1Z2lucy9tZW50aW9uLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sT0FBd0IsTUFBTSxXQUFXLENBQUM7QUFJakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLE1BQU07SUFPdkMsWUFBMEIsTUFBMkI7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFGN0MsVUFBSyxHQUFHLElBQUksRUFBRSxDQUFDO1FBbUVoQixhQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUN2QixJQUFHLGFBQWEsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2xEO2FBQ0Y7UUFDSCxDQUFDLENBQUE7UUFyRUMsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRO29CQUN4QixLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTt3QkFDaEIsSUFBSSxDQUFD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QUMsSUFBSSxFQUFFO2dCQUNoQixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDN0IsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7QUFoR2MsMEJBQVksR0FBRyxJQUFJLENBQUM7QUFDcEIsdUJBQVMsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgVHJpYnV0ZSwgeyBUcmlidXRlSXRlbSB9IGZyb20gJ3RyaWJ1dGVqcyc7XG5cbmltcG9ydCB7IE1lbnRpb25QbHVnaW5Db25maWcgfSBmcm9tICcuL2NvbmZpZ3MvbWVudGlvbi1wbHVnaW4uY29uZmlnJztcblxuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi4vY2xhc3Nlcy9wbHVnaW4nO1xuXG5pbXBvcnQgeyBndWlkIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcblxuXG5leHBvcnQgY2xhc3MgTWVudGlvblBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnRHdWlkID0gbnVsbDtcbiAgcHJpdmF0ZSBzdGF0aWMgX3RyaWJ1dGVzID0gW107XG4gIHByaXZhdGUgX3RyaWJ1dGU7XG4gIHByaXZhdGUgX2d1aWQgPSBndWlkKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IE1lbnRpb25QbHVnaW5Db25maWcpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogY29uZmlnLm5hbWUsXG4gICAgICAgICAgdG9vbHRpcDogY29uZmlnLnRvb2x0aXAsXG4gICAgICAgICAgc3ZnUGF0aDogY29uZmlnLmljb25QYXRoLFxuICAgICAgICAgIGNsaWNrOiAoZWRpdG9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zZUFsbCgpO1xuICAgICAgICAgICAgdGhpcy5fdHJpYnV0ZS5zaG93TWVudUZvckNvbGxlY3Rpb24oZWRpdG9yLmVsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuXG4gICAgdGhpcy5fdHJpYnV0ZSA9IG5ldyBUcmlidXRlKHtcbiAgICAgICAgdmFsdWVzOiBkZWJvdW5jZSh0aGlzLl9sb2FkVmFsdWVzLmJpbmQodGhpcyksIDIwMCksXG4gICAgICAgIHNlYXJjaE9wdHM6IHtcbiAgICAgICAgICBwcmU6ICcnLFxuICAgICAgICAgIHBvc3Q6ICcnLFxuICAgICAgICAgIHNraXA6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgY29udGFpbmVyQ2xhc3M6IGBmcy1odG1sLWVkaXRvci1tZW50aW9uLWNvbnRhaW5lciAke3RoaXMuY29uZmlnLmNvbnRhaW5lckNsYXNzIHx8ICcnfWAsXG4gICAgICAgIGl0ZW1DbGFzczogYGZzLWh0bWwtZWRpdG9yLW1lbnRpb24tbWVudS1pdGVtICR7dGhpcy5jb25maWcubWVudUl0ZW1DbGFzcyB8fCAnJ31gLFxuICAgICAgICB0cmlnZ2VyOiB0aGlzLmNvbmZpZy50cmlnZ2VyLFxuICAgICAgICBhbGxvd1NwYWNlczogdHJ1ZSxcbiAgICAgICAgbWVudUl0ZW1UZW1wbGF0ZTogKGl0ZW06IFRyaWJ1dGVJdGVtPGFueT4pID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb25maWcubWVudUl0ZW1UZW1wbGF0ZShpdGVtLm9yaWdpbmFsKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0VGVtcGxhdGU6IChpdGVtOiBUcmlidXRlSXRlbTxhbnk+KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmNvbmZpZy5zZWxlY3RlZFRlbXBsYXRlKGl0ZW0ub3JpZ2luYWwpO1xuXG4gICAgICAgICAgbGV0IHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7XG4gICAgICAgICAgcC5pbm5lckhUTUwgPSB0ZW1wbGF0ZTtcblxuICAgICAgICAgIGxldCBub2RlID0gcC5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICBub2RlLmlubmVySFRNTCA9IHRlbXBsYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnZmFsc2UnKTtcbiAgICAgICAgICBub2RlLmNsYXNzTGlzdC5hZGQoJ2ZyLWRlbGV0YWJsZScpO1xuXG4gICAgICAgICAgcmV0dXJuIG5vZGUub3V0ZXJIVE1MO1xuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICBNZW50aW9uUGx1Z2luLl90cmlidXRlcy5wdXNoKHRoaXMuX3RyaWJ1dGUpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5fdHJpYnV0ZS5hdHRhY2godGhpcy5lZGl0b3IuZWwpO1xuICAgIHRoaXMuZWRpdG9yLmV2ZW50cy5vbigna2V5ZG93bicsIChlKSA9PiB7XG4gICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIHRoaXMuX3RyaWJ1dGUuaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0sIHRydWUpO1xuXG4gICAgXG4gICAgdGhpcy5lZGl0b3IuZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRyaWJ1dGUtcmVwbGFjZWRcIiwgdGhpcy5zZWxlY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWQgPSAoZXZlbnQpID0+IHtcbiAgICBpZih0aGlzLmNvbmZpZy5zZWxlY3RlZCkge1xuICAgICAgaWYoTWVudGlvblBsdWdpbi5fY3VycmVudEd1aWQgPT09IHRoaXMuX2d1aWQpIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2VsZWN0ZWQoZXZlbnQuZGV0YWlsLml0ZW0ub3JpZ2luYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuZWRpdG9yLmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmlidXRlLXJlcGxhY2VkXCIsIHRoaXMuc2VsZWN0ZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2VBbGwoKSB7XG4gICAgTWVudGlvblBsdWdpbi5fdHJpYnV0ZXMuZm9yRWFjaCgodHJpYnV0ZSkgPT4ge1xuICAgICAgaWYgKHRyaWJ1dGUubWVudSkge1xuICAgICAgICB0cmlidXRlLmhpZGVNZW51KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkVmFsdWVzKGtleXdvcmQsIGNiKSB7XG4gICAgTWVudGlvblBsdWdpbi5fY3VycmVudEd1aWQgPSB0aGlzLl9ndWlkO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5mZXRjaChrZXl3b3JkKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgY2IoZGF0YSk7XG4gICAgICAgICAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Plugin } from '../classes/plugin';
|
|
2
|
-
export class RealtimePlugin extends Plugin {
|
|
3
|
-
constructor(config = { name: 'realtime' }) {
|
|
4
|
-
super();
|
|
5
|
-
this.config = config;
|
|
6
|
-
this.config = {
|
|
7
|
-
...config,
|
|
8
|
-
name: 'realtime',
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
initialize() {
|
|
12
|
-
this.editor.events.on('click', (e) => {
|
|
13
|
-
}, false);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2h0bWwtZWRpdG9yL3BsdWdpbnMvcmVhbHRpbWUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczQyxNQUFNLE9BQU8sY0FBZSxTQUFRLE1BQU07SUFFeEMsWUFBMEIsU0FBdUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1FBQ25FLEtBQUssRUFBRSxDQUFDO1FBRGdCLFdBQU0sR0FBTixNQUFNLENBQXFDO1FBRW5FLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixHQUFHLE1BQU07WUFDVCxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFFZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFFckMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wbHVnaW4tY29uZmlnJztcblxuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi4vY2xhc3Nlcy9wbHVnaW4nO1xuXG5cbmV4cG9ydCBjbGFzcyBSZWFsdGltZVBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWc6IFBsdWdpbkNvbmZpZyA9IHsgbmFtZTogJ3JlYWx0aW1lJyB9KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG5hbWU6ICdyZWFsdGltZScsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCkge1xuXG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdjbGljaycsIChlKSA9PiB7XG5cbiAgICB9LCBmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Plugin } from '../classes/plugin';
|
|
2
|
-
export class ScreenRecordPlugin extends Plugin {
|
|
3
|
-
constructor(config = {}) {
|
|
4
|
-
super();
|
|
5
|
-
this.config = config;
|
|
6
|
-
this.config = {
|
|
7
|
-
...config,
|
|
8
|
-
name: config.name || 'screenRecord',
|
|
9
|
-
buttons: [
|
|
10
|
-
{
|
|
11
|
-
name: 'screenRecord',
|
|
12
|
-
svgPath: `M14.7,7.7v6.1H7.1V7.7H14.7 M16.3,9.6V6.9c0-0.4-0.3-0.8-0.8-0.8H6.4c-0.4,0-0.8,0.3-0.8,0.8v7.6c0,0.4,0.3,0.8,0.8,0.8h9.1c0.4,0,0.8-0.3,0.8-0.8v-2.7l1.7,1.7c0.3,0.3,0.8,0.3,1.1,0c0.1-0.1,0.2-0.3,0.2-0.5V8.4c0-0.4-0.3-0.8-0.8-0.8
|
|
13
|
-
c-0.2,0-0.4,0.1-0.5,0.2L16.3,9.6z M21.5,1.6H2.9c-0.7,0-1.3,0.7-1.3,1.6v14.6c0,0.9,0.6,1.6,1.3,1.6h7.6v1.1l-5,1c-0.2,0-0.4,0.3-0.4,0.6c0,0.3,0.2,0.4,0.4,0.4c0,0,0,0,0.1,0l5.3-1h2.6l5.3,1c0,0,0,0,0.1,0c0.2,0,0.4-0.2,0.4-0.4
|
|
14
|
-
c0-0.3-0.1-0.6-0.4-0.6l-5-1v-1.1h7.6c0.7,0,1.3-0.7,1.3-1.6V3.2C22.9,2.3,22.3,1.6,21.5,1.6z M21.1,17.3H3.3V3.7h17.8L21.1,17.3L21.1,17.3z`,
|
|
15
|
-
tooltip: 'Screen Record',
|
|
16
|
-
click: (editor) => {
|
|
17
|
-
navigator.mediaDevices.getDisplayMedia({ video: true })
|
|
18
|
-
.then((stream) => {
|
|
19
|
-
const chunks = [];
|
|
20
|
-
const options = { mimeType: 'video/webm; codecs=vp9' };
|
|
21
|
-
let mediaRecorder = new MediaRecorder(stream, options);
|
|
22
|
-
stream.addEventListener('inactive', (e) => {
|
|
23
|
-
mediaRecorder.stop();
|
|
24
|
-
mediaRecorder = null;
|
|
25
|
-
stream.getTracks().forEach((track) => track.stop());
|
|
26
|
-
stream = null;
|
|
27
|
-
const blob = new Blob(chunks, { type: 'video/webm' });
|
|
28
|
-
config.upload(blob)
|
|
29
|
-
.subscribe((url) => {
|
|
30
|
-
editor.html.insert(`<span class="fr-screen-record fr-deletable fr-draggable"><video controls style="max-width:${config.maxWidth}"><source src="${url}" type="video/webm"></video></span>`);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
mediaRecorder.addEventListener('dataavailable', (event) => {
|
|
34
|
-
if (event.data && event.data.size > 0) {
|
|
35
|
-
chunks.push(event.data);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
mediaRecorder.start(10);
|
|
39
|
-
})
|
|
40
|
-
.catch((e) => { });
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
async initialize() {
|
|
47
|
-
const FroalaEditor = window.FroalaEditor;
|
|
48
|
-
this.editor.events.on('mouseup', (e) => {
|
|
49
|
-
const el = this._getEl(e.target);
|
|
50
|
-
if (el) {
|
|
51
|
-
this.editor.popups.hideAll();
|
|
52
|
-
this._activeEl = el;
|
|
53
|
-
this._showPopup(el);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
FroalaEditor.POPUP_TEMPLATES["screenRecordPlugin.popup"] = '[_BUTTONS_]';
|
|
57
|
-
FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });
|
|
58
|
-
FroalaEditor.RegisterCommand('popupClose', {
|
|
59
|
-
title: 'Remove',
|
|
60
|
-
undo: false,
|
|
61
|
-
focus: false,
|
|
62
|
-
callback: () => {
|
|
63
|
-
if (this._activeEl) {
|
|
64
|
-
this._activeEl.remove();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
_createPopup() {
|
|
70
|
-
const template = {
|
|
71
|
-
buttons: `<div class="fr-buttons">${this.editor.button.buildList(['popupClose'])}</div>`,
|
|
72
|
-
};
|
|
73
|
-
return this.editor.popups.create('screenRecordPlugin.popup', template);
|
|
74
|
-
}
|
|
75
|
-
_showPopup(el) {
|
|
76
|
-
var $popup = this.editor.popups.get('screenRecordPlugin.popup');
|
|
77
|
-
if (!$popup) {
|
|
78
|
-
$popup = this._createPopup();
|
|
79
|
-
}
|
|
80
|
-
this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));
|
|
81
|
-
const left = el.offsetLeft + el.offsetWidth / 2;
|
|
82
|
-
this.editor.popups.show('screenRecordPlugin.popup', left, null);
|
|
83
|
-
}
|
|
84
|
-
_getEl(el) {
|
|
85
|
-
if (el && el.classList) {
|
|
86
|
-
if (el.classList.contains('fr-screen-record'))
|
|
87
|
-
return el;
|
|
88
|
-
return this._getEl(el.parentNode);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlY29yZC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvaHRtbC1lZGl0b3IvcGx1Z2lucy9zY3JlZW4tcmVjb3JkLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLM0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE1BQU07SUFJNUMsWUFBMEIsU0FBbUMsRUFBRTtRQUM3RCxLQUFLLEVBQUUsQ0FBQztRQURnQixXQUFNLEdBQU4sTUFBTSxDQUErQjtRQUc3RCxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxNQUFNO1lBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksY0FBYztZQUNuQyxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLE9BQU8sRUFBRTs7MElBRXVIO29CQUNoSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBRVYsU0FBVSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7NkJBQzNELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFOzRCQUNmLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQzs0QkFDbEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQzs0QkFDdkQsSUFBSSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzRCQUV2RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0NBQ3hDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQ0FDckIsYUFBYSxHQUFHLElBQUksQ0FBQztn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QUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUvRSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLE1BQU0sQ0FBQyxFQUFFO1FBQ2YsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRTtZQUN0QixJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQztZQUVaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JlZW5SZWNvcmRQbHVnaW5Db25maWcgfSBmcm9tICcuL2NvbmZpZ3Mvc2NyZWVuLXJlY29yZC1wbHVnaW4uY29uZmlnJztcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJy4uL2NsYXNzZXMvcGx1Z2luJztcblxuXG5kZWNsYXJlIHZhciBNZWRpYVJlY29yZGVyOiBhbnk7XG5cbmV4cG9ydCBjbGFzcyBTY3JlZW5SZWNvcmRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuXG4gIHByaXZhdGUgX2FjdGl2ZUVsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBTY3JlZW5SZWNvcmRQbHVnaW5Db25maWcgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lIHx8ICdzY3JlZW5SZWNvcmQnLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3NjcmVlblJlY29yZCcsXG4gICAgICAgICAgc3ZnUGF0aDogYE0xNC43LDcuN3Y2LjFINy4xVjcuN0gxNC43IE0xNi4zLDkuNlY2LjljMC0wLjQtMC4zLTAuOC0wLjgtMC44SDYuNGMtMC40LDAtMC44LDAuMy0wLjgsMC44djcuNmMwLDAuNCwwLjMsMC44LDAuOCwwLjhoOS4xYzAuNCwwLDAuOC0wLjMsMC44LTAuOHYtMi43bDEuNywxLjdjMC4zLDAuMywwLjgsMC4zLDEuMSwwYzAuMS0wLjEsMC4yLTAuMywwLjItMC41VjguNGMwLTAuNC0wLjMtMC44LTAuOC0wLjhcblx0Yy0wLjIsMC0wLjQsMC4xLTAuNSwwLjJMMTYuMyw5LjZ6IE0yMS41LDEuNkgyLjljLTAuNywwLTEuMywwLjctMS4zLDEuNnYxNC42YzAsMC45LDAuNiwxLjYsMS4zLDEuNmg3LjZ2MS4xbC01LDFjLTAuMiwwLTAuNCwwLjMtMC40LDAuNmMwLDAuMywwLjIsMC40LDAuNCwwLjRjMCwwLDAsMCwwLjEsMGw1LjMtMWgyLjZsNS4zLDFjMCwwLDAsMCwwLjEsMGMwLjIsMCwwLjQtMC4yLDAuNC0wLjRcbiAgYzAtMC4zLTAuMS0wLjYtMC40LTAuNmwtNS0xdi0xLjFoNy42YzAuNywwLDEuMy0wLjcsMS4zLTEuNlYzLjJDMjIuOSwyLjMsMjIuMywxLjYsMjEuNSwxLjZ6IE0yMS4xLDE3LjNIMy4zVjMuN2gxNy44TDIxLjEsMTcuM0wyMS4xLDE3LjN6YCxcbiAgICAgICAgICB0b29sdGlwOiAnU2NyZWVuIFJlY29yZCcsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcblxuICAgICAgICAgICAgKDxhbnk+bmF2aWdhdG9yKS5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSlcbiAgICAgICAgICAgICAgLnRoZW4oKHN0cmVhbSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IG1pbWVUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPXZwOScgfTtcbiAgICAgICAgICAgICAgICBsZXQgbWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICBzdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcignaW5hY3RpdmUnLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgbWVkaWFSZWNvcmRlci5zdG9wKCk7XG4gICAgICAgICAgICAgICAgICBtZWRpYVJlY29yZGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjaykgPT4gdHJhY2suc3RvcCgpKTtcbiAgICAgICAgICAgICAgICAgIHN0cmVhbSA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihjaHVua3MsIHsgdHlwZTogJ3ZpZGVvL3dlYm0nIH0pO1xuICAgICAgICAgICAgICAgICAgY29uZmlnLnVwbG9hZChibG9iKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmh0bWwuaW5zZXJ0KGA8c3BhbiBjbGFzcz1cImZyLXNjcmVlbi1yZWNvcmQgZnItZGVsZXRhYmxlIGZyLWRyYWdnYWJsZVwiPjx2aWRlbyBjb250cm9scyBzdHlsZT1cIm1heC13aWR0aDoke2NvbmZpZy5tYXhXaWR0aH1cIj48c291cmNlIHNyYz1cIiR7dXJsfVwiIHR5cGU9XCJ2aWRlby93ZWJtXCI+PC92aWRlbz48L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuYWRkRXZlbnRMaXN0ZW5lcignZGF0YWF2YWlsYWJsZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS5zaXplID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChldmVudC5kYXRhKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuc3RhcnQoMTApO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHsgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKCkge1xuICAgIGNvbnN0IEZyb2FsYUVkaXRvciA9ICh3aW5kb3cgYXMgYW55KS5Gcm9hbGFFZGl0b3I7XG5cbiAgICB0aGlzLmVkaXRvci5ldmVudHMub24oJ21vdXNldXAnLCAoZSkgPT4ge1xuICAgICAgY29uc3QgZWwgPSB0aGlzLl9nZXRFbChlLnRhcmdldCk7XG5cbiAgICAgIGlmIChlbCkge1xuICAgICAgICB0aGlzLmVkaXRvci5wb3B1cHMuaGlkZUFsbCgpO1xuICAgICAgICB0aGlzLl9hY3RpdmVFbCA9IGVsO1xuICAgICAgICB0aGlzLl9zaG93UG9wdXAoZWwpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgRnJvYWxhRWRpdG9yLlBPUFVQX1RFTVBMQVRFU1tcInNjcmVlblJlY29yZFBsdWdpbi5wb3B1cFwiXSA9ICdbX0JVVFRPTlNfXSc7XG5cbiAgICBGcm9hbGFFZGl0b3IuRGVmaW5lSWNvbigncG9wdXBDbG9zZScsIHsgTkFNRTogJ3RyYXNoJywgU1ZHX0tFWTogJ3JlbW92ZScgfSk7XG4gICAgRnJvYWxhRWRpdG9yLlJlZ2lzdGVyQ29tbWFuZCgncG9wdXBDbG9zZScsIHtcbiAgICAgIHRpdGxlOiAnUmVtb3ZlJyxcbiAgICAgIHVuZG86IGZhbHNlLFxuICAgICAgZm9jdXM6IGZhbHNlLFxuICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZUVsKSB7XG4gICAgICAgICAgdGhpcy5fYWN0aXZlRWwucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBvcHVwKCkge1xuXG4gICAgY29uc3QgdGVtcGxhdGUgPSB7XG4gICAgICBidXR0b25zOiBgPGRpdiBjbGFzcz1cImZyLWJ1dHRvbnNcIj4ke3RoaXMuZWRpdG9yLmJ1dHRvbi5idWlsZExpc3QoWydwb3B1cENsb3NlJ10pfTwvZGl2PmAsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmVkaXRvci5wb3B1cHMuY3JlYXRlKCdzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXAnLCB0ZW1wbGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zaG93UG9wdXAgKGVsKSB7XG4gICAgdmFyICRwb3B1cCA9IHRoaXMuZWRpdG9yLnBvcHVwcy5nZXQoJ3NjcmVlblJlY29yZFBsdWdpbi5wb3B1cCcpO1xuXG4gICAgaWYgKCEkcG9wdXApIHtcbiAgICAgICRwb3B1cCA9IHRoaXMuX2NyZWF0ZVBvcHVwKCk7XG4gICAgfVxuXG4gICAgdGhpcy5lZGl0b3IucG9wdXBzLnNldENvbnRhaW5lcignc2NyZWVuUmVjb3JkUGx1Z2luLnBvcHVwJywgdGhpcy5lZGl0b3IuJChlbCkpO1xuXG4gICAgY29uc3QgbGVmdCA9IGVsLm9mZnNldExlZnQgKyBlbC5vZmZzZXRXaWR0aCAvIDI7XG5cbiAgICB0aGlzLmVkaXRvci5wb3B1cHMuc2hvdygnc2NyZWVuUmVjb3JkUGx1Z2luLnBvcHVwJywgbGVmdCwgbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbChlbCkge1xuICAgIGlmIChlbCAmJiBlbC5jbGFzc0xpc3QpIHtcbiAgICAgIGlmIChlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZyLXNjcmVlbi1yZWNvcmQnKSlcbiAgICAgICAgcmV0dXJuIGVsO1xuXG4gICAgICByZXR1cm4gdGhpcy5fZ2V0RWwoZWwucGFyZW50Tm9kZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { fsSourceLoader } from '@firestitch/common';
|
|
4
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
5
|
-
import { concatMap, map, shareReplay, tap } from 'rxjs/operators';
|
|
6
|
-
import { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class FsFroalaLoaderService {
|
|
9
|
-
constructor(_defaultConfig, _document) {
|
|
10
|
-
this._defaultConfig = _defaultConfig;
|
|
11
|
-
this._document = _document;
|
|
12
|
-
this._froalaLoaded = new BehaviorSubject(false);
|
|
13
|
-
this._froalaPluginsLoaded = new BehaviorSubject(false);
|
|
14
|
-
this._sourceLoader = fsSourceLoader;
|
|
15
|
-
this._loaded$ = combineLatest([this._froalaLoaded, this._froalaPluginsLoaded])
|
|
16
|
-
.pipe(map(([FroalaReady, pluginsRead]) => {
|
|
17
|
-
return pluginsRead && FroalaReady;
|
|
18
|
-
}), shareReplay(1));
|
|
19
|
-
this._sourceLoader.setDocument(this._document);
|
|
20
|
-
this._load();
|
|
21
|
-
}
|
|
22
|
-
get loaded$() {
|
|
23
|
-
return this._loaded$;
|
|
24
|
-
}
|
|
25
|
-
get FroalaEditor() {
|
|
26
|
-
return this._froalaEditor;
|
|
27
|
-
}
|
|
28
|
-
_load() {
|
|
29
|
-
const baseDir = '/assets/froala/';
|
|
30
|
-
this._sourceLoader.registerResources({
|
|
31
|
-
froala: [
|
|
32
|
-
`${baseDir}js/froala_editor.min.js`,
|
|
33
|
-
`${baseDir}css/froala_editor.pkgd.min.css`,
|
|
34
|
-
],
|
|
35
|
-
froala_align: `${baseDir}js/plugins/align.min.js`,
|
|
36
|
-
froala_colors: `${baseDir}js/plugins/colors.min.js`,
|
|
37
|
-
froala_image: `${baseDir}js/plugins/image.min.js`,
|
|
38
|
-
froala_link: `${baseDir}js/plugins/link.min.js`,
|
|
39
|
-
froala_lists: `${baseDir}js/plugins/lists.min.js`,
|
|
40
|
-
froala_paragraph_format: `${baseDir}js/plugins/paragraph_format.min.js`,
|
|
41
|
-
froala_table: `${baseDir}js/plugins/table.min.js`,
|
|
42
|
-
froala_url: `${baseDir}js/plugins/url.min.js`,
|
|
43
|
-
froala_video: `${baseDir}js/plugins/video.min.js`,
|
|
44
|
-
froala_quote: `${baseDir}js/plugins/quote.min.js`,
|
|
45
|
-
froala_draggable: `${baseDir}js/plugins/draggable.min.js`,
|
|
46
|
-
froala_font_size: `${baseDir}js/plugins/font_size.min.js`,
|
|
47
|
-
froala_quick_insert: `${baseDir}js/plugins/quick_insert.min.js`,
|
|
48
|
-
froala_line_height: `${baseDir}js/plugins/line_height.min.js`,
|
|
49
|
-
});
|
|
50
|
-
this._sourceLoader.loadResource('froala')
|
|
51
|
-
.pipe(tap(() => {
|
|
52
|
-
this._froalaEditor = window.FroalaEditor;
|
|
53
|
-
this._froalaDone();
|
|
54
|
-
}), concatMap(() => {
|
|
55
|
-
return this._loadPlugins();
|
|
56
|
-
}), tap(() => {
|
|
57
|
-
this._froalaPluginsDone();
|
|
58
|
-
}))
|
|
59
|
-
.subscribe();
|
|
60
|
-
}
|
|
61
|
-
_loadPlugins() {
|
|
62
|
-
const resources = this._defaultConfig
|
|
63
|
-
.froalaPlugins
|
|
64
|
-
.map((pluginName) => `froala_${pluginName}`);
|
|
65
|
-
return this._sourceLoader.loadResources(resources);
|
|
66
|
-
}
|
|
67
|
-
_froalaDone() {
|
|
68
|
-
this._froalaLoaded.next(true);
|
|
69
|
-
}
|
|
70
|
-
_froalaPluginsDone() {
|
|
71
|
-
this._froalaPluginsLoaded.next(true);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
FsFroalaLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFroalaLoaderService, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
FsFroalaLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFroalaLoaderService, providedIn: 'root' });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFroalaLoaderService, decorators: [{
|
|
77
|
-
type: Injectable,
|
|
78
|
-
args: [{
|
|
79
|
-
providedIn: 'root',
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
82
|
-
type: Optional
|
|
83
|
-
}, {
|
|
84
|
-
type: Inject,
|
|
85
|
-
args: [FS_HTML_EDITOR_CONFIG]
|
|
86
|
-
}] }, { type: Document, decorators: [{
|
|
87
|
-
type: Inject,
|
|
88
|
-
args: [DOCUMENT]
|
|
89
|
-
}] }]; } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvYWxhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2h0bWwtZWRpdG9yL3NlcnZpY2VzL2Zyb2FsYS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBT2pFLE1BQU0sT0FBTyxxQkFBcUI7SUFnQmhDLFlBR1UsY0FBa0MsRUFFbEMsU0FBbUI7UUFGbkIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBRWxDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFqQnJCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxjQUFjLENBQUM7UUFFL0IsYUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDOUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDakMsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFD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bnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmc1NvdXJjZUxvYWRlciB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZTX0hUTUxfRURJVE9SX0NPTkZJRyB9IGZyb20gJy4uL2luamVjdHMvY29uZmlnLmluamVjdCc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzRnJvYWxhTG9hZGVyU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfZnJvYWxhRWRpdG9yOiBhbnk7XG5cbiAgcHJpdmF0ZSBfZnJvYWxhTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2Zyb2FsYVBsdWdpbnNMb2FkZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBfc291cmNlTG9hZGVyID0gZnNTb3VyY2VMb2FkZXI7XG5cbiAgcHJpdmF0ZSBfbG9hZGVkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Zyb2FsYUxvYWRlZCwgdGhpcy5fZnJvYWxhUGx1Z2luc0xvYWRlZF0pXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKFtGcm9hbGFSZWFkeSwgcGx1Z2luc1JlYWRdKSA9PiB7XG4gICAgICAgIHJldHVybiBwbHVnaW5zUmVhZCAmJiBGcm9hbGFSZWFkeTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoRlNfSFRNTF9FRElUT1JfQ09ORklHKVxuICAgIHByaXZhdGUgX2RlZmF1bHRDb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZyxcbiAgICBASW5qZWN0KERPQ1VNRU5UKVxuICAgIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCxcbiAgKSB7XG4gICAgdGhpcy5fc291cmNlTG9hZGVyLnNldERvY3VtZW50KHRoaXMuX2RvY3VtZW50KTtcbiAgICB0aGlzLl9sb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvYWRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRlZCQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEZyb2FsYUVkaXRvcigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9mcm9hbGFFZGl0b3I7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkKCkge1xuICAgIGNvbnN0IGJhc2VEaXIgPSAnL2Fzc2V0cy9mcm9hbGEvJztcbiAgICB0aGlzLl9zb3VyY2VMb2FkZXIucmVnaXN0ZXJSZXNvdXJjZXMoe1xuICAgICAgZnJvYWxhOiBbXG4gICAgICAgIGAke2Jhc2VEaXJ9anMvZnJvYWxhX2VkaXRvci5taW4uanNgLFxuICAgICAgICBgJHtiYXNlRGlyfWNzcy9mcm9hbGFfZWRpdG9yLnBrZ2QubWluLmNzc2AsXG4gICAgICBdLFxuICAgICAgZnJvYWxhX2FsaWduOiBgJHtiYXNlRGlyfWpzL3BsdWdpbnMvYWxpZ24ubWluLmpzYCxcbiAgICAgIGZyb2FsYV9jb2xvcnM6IGAke2Jhc2VEaXJ9anMvcGx1Z2lucy9jb2xvcnMubWluLmpzYCxcbiAgICAgIGZyb2FsYV9pbWFnZTogYCR7YmFzZURpcn1qcy9wbHVnaW5zL2ltYWdlLm1pbi5qc2AsXG4gICAgICBmcm9hbGFfbGluazogYCR7YmFzZURpcn1qcy9wbHVnaW5zL2xpbmsubWluLmpzYCxcbiAgICAgIGZyb2FsYV9saXN0czogYCR7YmFzZURpcn1qcy9wbHVnaW5zL2xpc3RzLm1pbi5qc2AsXG4gICAgICBmcm9hbGFfcGFyYWdyYXBoX2Zvcm1hdDogYCR7YmFzZURpcn1qcy9wbHVnaW5zL3BhcmFncmFwaF9mb3JtYXQubWluLmpzYCxcbiAgICAgIGZyb2FsYV90YWJsZTogYCR7YmFzZURpcn1qcy9wbHVnaW5zL3RhYmxlLm1pbi5qc2AsXG4gICAgICBmcm9hbGFfdXJsOiBgJHtiYXNlRGlyfWpzL3BsdWdpbnMvdXJsLm1pbi5qc2AsXG4gICAgICBmcm9hbGFfdmlkZW86IGAke2Jhc2VEaXJ9anMvcGx1Z2lucy92aWRlby5taW4uanNgLFxuICAgICAgZnJvYWxhX3F1b3RlOiBgJHtiYXNlRGlyfWpzL3BsdWdpbnMvcXVvdGUubWluLmpzYCxcbiAgICAgIGZyb2FsYV9kcmFnZ2FibGU6IGAke2Jhc2VEaXJ9anMvcGx1Z2lucy9kcmFnZ2FibGUubWluLmpzYCxcbiAgICAgIGZyb2FsYV9mb250X3NpemU6IGAke2Jhc2VEaXJ9anMvcGx1Z2lucy9mb250X3NpemUubWluLmpzYCxcbiAgICAgIGZyb2FsYV9xdWlja19pbnNlcnQ6IGAke2Jhc2VEaXJ9anMvcGx1Z2lucy9xdWlja19pbnNlcnQubWluLmpzYCxcbiAgICAgIGZyb2FsYV9saW5lX2hlaWdodDogYCR7YmFzZURpcn1qcy9wbHVnaW5zL2xpbmVfaGVpZ2h0Lm1pbi5qc2AsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9zb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKCdmcm9hbGEnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZnJvYWxhRWRpdG9yID0gKHdpbmRvdyBhcyBhbnkpLkZyb2FsYUVkaXRvcjtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFEb25lKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkUGx1Z2lucygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFQbHVnaW5zRG9uZSgpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRQbHVnaW5zKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIGNvbnN0IHJlc291cmNlcyA9IHRoaXMuX2RlZmF1bHRDb25maWdcbiAgICAgIC5mcm9hbGFQbHVnaW5zXG4gICAgICAubWFwKChwbHVnaW5OYW1lKSA9PiBgZnJvYWxhXyR7cGx1Z2luTmFtZX1gKTtcblxuICAgIHJldHVybiB0aGlzLl9zb3VyY2VMb2FkZXIubG9hZFJlc291cmNlcyhyZXNvdXJjZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZnJvYWxhRG9uZSgpIHtcbiAgICB0aGlzLl9mcm9hbGFMb2FkZWQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Zyb2FsYVBsdWdpbnNEb25lKCkge1xuICAgIHRoaXMuX2Zyb2FsYVBsdWdpbnNMb2FkZWQubmV4dCh0cnVlKTtcbiAgfVxufVxuIl19
|
package/esm2020/app/modules/html-renderer/components/html-renderer/html-renderer.component.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
export class FsHtmlRendererComponent {
|
|
6
|
-
constructor(sanitized, _cdRef) {
|
|
7
|
-
this.sanitized = sanitized;
|
|
8
|
-
this._cdRef = _cdRef;
|
|
9
|
-
}
|
|
10
|
-
set setHtml(html) {
|
|
11
|
-
this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html || '');
|
|
12
|
-
this._cdRef.markForCheck();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
FsHtmlRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsHtmlRendererComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
FsHtmlRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsHtmlRendererComponent, selector: "fs-html-renderer", inputs: { setHtml: ["html", "setHtml"] }, ngImport: i0, template: "<span class=\"fr-view fs-html-editor-default\" [innerHtml]=\"trustedHtml\"></span>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsHtmlRendererComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ selector: 'fs-html-renderer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"fr-view fs-html-editor-default\" [innerHtml]=\"trustedHtml\"></span>\n" }]
|
|
20
|
-
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { setHtml: [{
|
|
21
|
-
type: Input,
|
|
22
|
-
args: ['html']
|
|
23
|
-
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvaHRtbC1yZW5kZXJlci9jb21wb25lbnRzL2h0bWwtcmVuZGVyZXIvaHRtbC1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvaHRtbC1yZW5kZXJlci9jb21wb25lbnRzL2h0bWwtcmVuZGVyZXIvaHRtbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVM3RixNQUFNLE9BQU8sdUJBQXVCO0lBU2xDLFlBQ1UsU0FBdUIsRUFDdkIsTUFBeUI7UUFEekIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUMvQixDQUFDO0lBVkwsSUFBMEIsT0FBTyxDQUFDLElBQUk7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7O29IQUxVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGtHQ1ZwQyxzRkFDQTsyRkRTYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07bUlBSXJCLE9BQU87c0JBQWhDLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWh0bWwtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJ2h0bWwtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnaHRtbC1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNIdG1sUmVuZGVyZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgnaHRtbCcpIHB1YmxpYyBzZXQgc2V0SHRtbChodG1sKSB7XG4gICAgdGhpcy50cnVzdGVkSHRtbCA9IHRoaXMuc2FuaXRpemVkLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwgfHwgJycpO1xuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHRydXN0ZWRIdG1sOiBTYWZlSHRtbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZWQ6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkgeyB9XG5cbn1cbiIsIjxzcGFuIGNsYXNzPVwiZnItdmlldyBmcy1odG1sLWVkaXRvci1kZWZhdWx0XCIgW2lubmVySHRtbF09XCJ0cnVzdGVkSHRtbFwiPjwvc3Bhbj5cbiJdfQ==
|