@firestitch/html-editor 9.5.6 → 9.5.9
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/classes/plugin.d.ts +7 -7
- package/app/components/html-editor/html-editor.component.d.ts +54 -54
- package/app/components/html-renderer/html-renderer.component.d.ts +9 -9
- package/app/consts/paragraph-buttons.const.d.ts +1 -1
- package/app/consts/rich-buttons.const.d.ts +1 -1
- package/app/consts/text-buttons.const.d.ts +1 -1
- package/app/enums/default-plugin.enum.d.ts +14 -14
- package/app/fs-html-editor.module.d.ts +25 -25
- package/app/injects/config.inject.d.ts +3 -3
- package/app/interfaces/html-editor-config.d.ts +31 -31
- package/app/interfaces/plugin-button.d.ts +12 -12
- package/app/interfaces/plugin-config.d.ts +5 -5
- package/app/plugins/checklist.plugin.d.ts +7 -7
- package/app/plugins/code.plugin.d.ts +9 -9
- package/app/plugins/configs/mention-plugin.config.d.ts +13 -12
- package/app/plugins/configs/screen-record-plugin.config.d.ts +7 -7
- package/app/plugins/mention.plugin.d.ts +15 -12
- package/app/plugins/screen-record.plugin.d.ts +11 -11
- package/app/services/froala-loader.service.d.ts +17 -17
- package/app/utils/loader.d.ts +7 -7
- package/bundles/firestitch-html-editor.umd.js +1031 -1018
- package/bundles/firestitch-html-editor.umd.js.map +1 -1
- package/bundles/firestitch-html-editor.umd.min.js +2 -2
- package/bundles/firestitch-html-editor.umd.min.js.map +1 -1
- package/esm2015/app/classes/plugin.js +4 -4
- package/esm2015/app/components/html-editor/html-editor.component.js +444 -444
- package/esm2015/app/components/html-renderer/html-renderer.component.js +34 -34
- package/esm2015/app/consts/paragraph-buttons.const.js +8 -8
- package/esm2015/app/consts/rich-buttons.const.js +6 -6
- package/esm2015/app/consts/text-buttons.const.js +18 -18
- package/esm2015/app/fs-html-editor.module.js +56 -56
- package/esm2015/app/injects/config.inject.js +3 -3
- package/esm2015/app/plugins/checklist.plugin.js +34 -34
- package/esm2015/app/plugins/code.plugin.js +62 -62
- package/esm2015/app/plugins/configs/mention-plugin.config.js +1 -1
- package/esm2015/app/plugins/mention.plugin.js +87 -73
- package/esm2015/app/plugins/screen-record.plugin.js +91 -91
- package/esm2015/app/services/froala-loader.service.js +80 -80
- package/esm2015/app/utils/loader.js +82 -82
- package/esm2015/firestitch-html-editor.js +8 -8
- package/esm2015/public_api.js +11 -11
- package/esm5/app/classes/plugin.js +8 -8
- package/esm5/app/components/html-editor/html-editor.component.js +470 -470
- package/esm5/app/components/html-renderer/html-renderer.component.js +39 -39
- package/esm5/app/consts/paragraph-buttons.const.js +8 -8
- package/esm5/app/consts/rich-buttons.const.js +6 -6
- package/esm5/app/consts/text-buttons.const.js +18 -18
- package/esm5/app/fs-html-editor.module.js +61 -61
- package/esm5/app/injects/config.inject.js +3 -3
- package/esm5/app/plugins/checklist.plugin.js +40 -40
- package/esm5/app/plugins/code.plugin.js +69 -69
- package/esm5/app/plugins/configs/mention-plugin.config.js +1 -1
- package/esm5/app/plugins/mention.plugin.js +93 -79
- package/esm5/app/plugins/screen-record.plugin.js +105 -105
- package/esm5/app/services/froala-loader.service.js +95 -95
- package/esm5/app/utils/loader.js +82 -82
- package/esm5/firestitch-html-editor.js +8 -8
- package/esm5/public_api.js +11 -11
- package/fesm2015/firestitch-html-editor.js +950 -936
- package/fesm2015/firestitch-html-editor.js.map +1 -1
- package/fesm5/firestitch-html-editor.js +1030 -1016
- package/fesm5/firestitch-html-editor.js.map +1 -1
- package/firestitch-html-editor.d.ts +9 -9
- package/firestitch-html-editor.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +16 -16
|
@@ -1,73 +1,87 @@
|
|
|
1
|
-
import { debounce } from 'lodash-es';
|
|
2
|
-
import Tribute from 'tributejs';
|
|
3
|
-
import { Plugin } from '../classes/plugin';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
this.config =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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 = Object.assign(Object.assign({}, config), { buttons: [
|
|
18
|
+
{
|
|
19
|
+
name: config.name,
|
|
20
|
+
tooltip: config.tooltip,
|
|
21
|
+
svgPath: config.iconPath,
|
|
22
|
+
click: (editor) => {
|
|
23
|
+
this._closeAll();
|
|
24
|
+
this._tribute.showMenuForCollection(editor.el);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
] });
|
|
28
|
+
this._tribute = new Tribute({
|
|
29
|
+
values: debounce(this._loadValues.bind(this), 200),
|
|
30
|
+
searchOpts: {
|
|
31
|
+
pre: '',
|
|
32
|
+
post: '',
|
|
33
|
+
skip: true
|
|
34
|
+
},
|
|
35
|
+
containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,
|
|
36
|
+
itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,
|
|
37
|
+
trigger: this.config.trigger,
|
|
38
|
+
allowSpaces: true,
|
|
39
|
+
menuItemTemplate: (item) => {
|
|
40
|
+
return this.config.menuItemTemplate(item.original);
|
|
41
|
+
},
|
|
42
|
+
selectTemplate: (item) => {
|
|
43
|
+
const template = this.config.selectedTemplate(item.original);
|
|
44
|
+
let p = document.createElement('p');
|
|
45
|
+
p.innerHTML = template;
|
|
46
|
+
let node = p.firstElementChild;
|
|
47
|
+
if (!node) {
|
|
48
|
+
node = document.createElement('span');
|
|
49
|
+
node.innerHTML = template;
|
|
50
|
+
}
|
|
51
|
+
node.setAttribute('contenteditable', 'false');
|
|
52
|
+
node.classList.add('fr-deletable');
|
|
53
|
+
return node.outerHTML;
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
MentionPlugin._tributes.push(this._tribute);
|
|
57
|
+
}
|
|
58
|
+
initialize() {
|
|
59
|
+
this._tribute.attach(this.editor.el);
|
|
60
|
+
this.editor.events.on('keydown', (e) => {
|
|
61
|
+
if (e.key === 'Enter' && this._tribute.isActive) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}, true);
|
|
65
|
+
this.editor.el.addEventListener("tribute-replaced", this.selected);
|
|
66
|
+
}
|
|
67
|
+
destroy() {
|
|
68
|
+
this.editor.el.removeEventListener("tribute-replaced", this.selected);
|
|
69
|
+
}
|
|
70
|
+
_closeAll() {
|
|
71
|
+
MentionPlugin._tributes.forEach((tribute) => {
|
|
72
|
+
if (tribute.menu) {
|
|
73
|
+
tribute.hideMenu();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
_loadValues(keyword, cb) {
|
|
78
|
+
MentionPlugin._currentGuid = this._guid;
|
|
79
|
+
return this.config.fetch(keyword)
|
|
80
|
+
.subscribe((data) => {
|
|
81
|
+
cb(data);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
MentionPlugin._currentGuid = null;
|
|
86
|
+
MentionPlugin._tributes = [];
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9odG1sLWVkaXRvci8iLCJzb3VyY2VzIjpbImFwcC9wbHVnaW5zL21lbnRpb24ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxPQUF3QixNQUFNLFdBQVcsQ0FBQztBQUlqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzFDLE1BQU0sT0FBTyxhQUFjLFNBQVEsTUFBTTtJQU92QyxZQUEwQixNQUEyQjtRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURnQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUY3QyxVQUFLLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFtRWhCLGFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFCLElBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZCLElBQUcsYUFBYSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDbEQ7YUFDRjtRQUNILENBQUMsQ0FBQTtRQXJFQyxJQUFJLENBQUMsTUFBTSxtQ0FDTixNQUFNLEtBQ1QsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQ3hCLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ2pC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QU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM3QixhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7YUFDdEIsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDZixDQUFDOztBQWhHYywwQkFBWSxHQUFHLElBQUksQ0FBQztBQUNwQix1QkFBUyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCBUcmlidXRlLCB7IFRyaWJ1dGVJdGVtIH0gZnJvbSAndHJpYnV0ZWpzJztcblxuaW1wb3J0IHsgTWVudGlvblBsdWdpbkNvbmZpZyB9IGZyb20gJy4vY29uZmlncy9tZW50aW9uLXBsdWdpbi5jb25maWcnO1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9jbGFzc2VzL3BsdWdpbic7XG5cbmltcG9ydCB7IGd1aWQgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5cbmV4cG9ydCBjbGFzcyBNZW50aW9uUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcblxuICBwcml2YXRlIHN0YXRpYyBfY3VycmVudEd1aWQgPSBudWxsO1xuICBwcml2YXRlIHN0YXRpYyBfdHJpYnV0ZXMgPSBbXTtcbiAgcHJpdmF0ZSBfdHJpYnV0ZTtcbiAgcHJpdmF0ZSBfZ3VpZCA9IGd1aWQoKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGNvbmZpZzogTWVudGlvblBsdWdpbkNvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcbiAgICAgICAgICB0b29sdGlwOiBjb25maWcudG9vbHRpcCxcbiAgICAgICAgICBzdmdQYXRoOiBjb25maWcuaWNvblBhdGgsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlQWxsKCk7XG4gICAgICAgICAgICB0aGlzLl90cmlidXRlLnNob3dNZW51Rm9yQ29sbGVjdGlvbihlZGl0b3IuZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG5cbiAgICB0aGlzLl90cmlidXRlID0gbmV3IFRyaWJ1dGUoe1xuICAgICAgICB2YWx1ZXM6IGRlYm91bmNlKHRoaXMuX2xvYWRWYWx1ZXMuYmluZCh0aGlzKSwgMjAwKSxcbiAgICAgICAgc2VhcmNoT3B0czoge1xuICAgICAgICAgIHByZTogJycsXG4gICAgICAgICAgcG9zdDogJycsXG4gICAgICAgICAgc2tpcDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBjb250YWluZXJDbGFzczogYGZzLWh0bWwtZWRpdG9yLW1lbnRpb24tY29udGFpbmVyICR7dGhpcy5jb25maWcuY29udGFpbmVyQ2xhc3MgfHwgJyd9YCxcbiAgICAgICAgaXRlbUNsYXNzOiBgZnMtaHRtbC1lZGl0b3ItbWVudGlvbi1tZW51LWl0ZW0gJHt0aGlzLmNvbmZpZy5tZW51SXRlbUNsYXNzIHx8ICcnfWAsXG4gICAgICAgIHRyaWdnZXI6IHRoaXMuY29uZmlnLnRyaWdnZXIsXG4gICAgICAgIGFsbG93U3BhY2VzOiB0cnVlLFxuICAgICAgICBtZW51SXRlbVRlbXBsYXRlOiAoaXRlbTogVHJpYnV0ZUl0ZW08YW55PikgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5tZW51SXRlbVRlbXBsYXRlKGl0ZW0ub3JpZ2luYWwpO1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RUZW1wbGF0ZTogKGl0ZW06IFRyaWJ1dGVJdGVtPGFueT4pID0+IHtcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuY29uZmlnLnNlbGVjdGVkVGVtcGxhdGUoaXRlbS5vcmlnaW5hbCk7XG5cbiAgICAgICAgICBsZXQgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTtcbiAgICAgICAgICBwLmlubmVySFRNTCA9IHRlbXBsYXRlO1xuXG4gICAgICAgICAgbGV0IG5vZGUgPSBwLmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgIG5vZGUuaW5uZXJIVE1MID0gdGVtcGxhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdmYWxzZScpO1xuICAgICAgICAgIG5vZGUuY2xhc3NMaXN0LmFkZCgnZnItZGVsZXRhYmxlJyk7XG5cbiAgICAgICAgICByZXR1cm4gbm9kZS5vdXRlckhUTUw7XG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgIE1lbnRpb25QbHVnaW4uX3RyaWJ1dGVzLnB1c2godGhpcy5fdHJpYnV0ZSk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLl90cmlidXRlLmF0dGFjaCh0aGlzLmVkaXRvci5lbCk7XG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdrZXlkb3duJywgKGUpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAgdGhpcy5fdHJpYnV0ZS5pc0FjdGl2ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSwgdHJ1ZSk7XG5cbiAgICBcbiAgICB0aGlzLmVkaXRvci5lbC5hZGRFdmVudExpc3RlbmVyKFwidHJpYnV0ZS1yZXBsYWNlZFwiLCB0aGlzLnNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZCA9IChldmVudCkgPT4ge1xuICAgIGlmKHRoaXMuY29uZmlnLnNlbGVjdGVkKSB7XG4gICAgICBpZihNZW50aW9uUGx1Z2luLl9jdXJyZW50R3VpZCA9PT0gdGhpcy5fZ3VpZCkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zZWxlY3RlZChldmVudC5kZXRhaWwuaXRlbS5vcmlnaW5hbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5lZGl0b3IuZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRyaWJ1dGUtcmVwbGFjZWRcIiwgdGhpcy5zZWxlY3RlZCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZUFsbCgpIHtcbiAgICBNZW50aW9uUGx1Z2luLl90cmlidXRlcy5mb3JFYWNoKCh0cmlidXRlKSA9PiB7XG4gICAgICBpZiAodHJpYnV0ZS5tZW51KSB7XG4gICAgICAgIHRyaWJ1dGUuaGlkZU1lbnUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRWYWx1ZXMoa2V5d29yZCwgY2IpIHtcbiAgICBNZW50aW9uUGx1Z2luLl9jdXJyZW50R3VpZCA9IHRoaXMuX2d1aWQ7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmZldGNoKGtleXdvcmQpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjYihkYXRhKTtcbiAgICAgICAgICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Plugin } from '../classes/plugin';
|
|
3
|
-
import { ResourceLoader } from '../utils/loader';
|
|
4
|
-
export class ScreenRecordPlugin extends Plugin {
|
|
5
|
-
constructor(config = {}) {
|
|
6
|
-
super();
|
|
7
|
-
this.config = config;
|
|
8
|
-
this.config = Object.assign(Object.assign({}, config), { name: config.name || 'screenRecord', buttons: [
|
|
9
|
-
{
|
|
10
|
-
name: 'screenRecord',
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Plugin } from '../classes/plugin';
|
|
3
|
+
import { ResourceLoader } from '../utils/loader';
|
|
4
|
+
export class ScreenRecordPlugin extends Plugin {
|
|
5
|
+
constructor(config = {}) {
|
|
6
|
+
super();
|
|
7
|
+
this.config = config;
|
|
8
|
+
this.config = Object.assign(Object.assign({}, config), { name: config.name || 'screenRecord', buttons: [
|
|
9
|
+
{
|
|
10
|
+
name: 'screenRecord',
|
|
11
11
|
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
|
|
12
12
|
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
|
|
13
|
-
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`,
|
|
14
|
-
tooltip: 'Screen Record',
|
|
15
|
-
click: (editor) => {
|
|
16
|
-
navigator.mediaDevices.getDisplayMedia({ video: true })
|
|
17
|
-
.then((stream) => {
|
|
18
|
-
const chunks = [];
|
|
19
|
-
const options = { mimeType: 'video/webm; codecs=vp9' };
|
|
20
|
-
let mediaRecorder = new MediaRecorder(stream, options);
|
|
21
|
-
stream.addEventListener('inactive', (e) => {
|
|
22
|
-
mediaRecorder.stop();
|
|
23
|
-
mediaRecorder = null;
|
|
24
|
-
stream.getTracks().forEach((track) => track.stop());
|
|
25
|
-
stream = null;
|
|
26
|
-
const blob = new Blob(chunks, { type: 'video/webm' });
|
|
27
|
-
config.upload(blob)
|
|
28
|
-
.subscribe((url) => {
|
|
29
|
-
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>`);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
mediaRecorder.addEventListener('dataavailable', (event) => {
|
|
33
|
-
if (event.data && event.data.size > 0) {
|
|
34
|
-
chunks.push(event.data);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
mediaRecorder.start(10);
|
|
38
|
-
})
|
|
39
|
-
.catch((e) => { });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
] });
|
|
43
|
-
}
|
|
44
|
-
initialize() {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
yield ResourceLoader.loadStyles('froala')
|
|
47
|
-
.toPromise();
|
|
48
|
-
const FroalaEditor = window.FroalaEditor;
|
|
49
|
-
this.editor.events.on('mouseup', (e) => {
|
|
50
|
-
const el = this._getEl(e.target);
|
|
51
|
-
if (el) {
|
|
52
|
-
this.editor.popups.hideAll();
|
|
53
|
-
this._activeEl = el;
|
|
54
|
-
this._showPopup(el);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
FroalaEditor.POPUP_TEMPLATES["screenRecordPlugin.popup"] = '[_BUTTONS_]';
|
|
58
|
-
FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });
|
|
59
|
-
FroalaEditor.RegisterCommand('popupClose', {
|
|
60
|
-
title: 'Remove',
|
|
61
|
-
undo: false,
|
|
62
|
-
focus: false,
|
|
63
|
-
callback: () => {
|
|
64
|
-
if (this._activeEl) {
|
|
65
|
-
this._activeEl.remove();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
_createPopup() {
|
|
72
|
-
const template = {
|
|
73
|
-
buttons: `<div class="fr-buttons">${this.editor.button.buildList(['popupClose'])}</div>`,
|
|
74
|
-
};
|
|
75
|
-
return this.editor.popups.create('screenRecordPlugin.popup', template);
|
|
76
|
-
}
|
|
77
|
-
_showPopup(el) {
|
|
78
|
-
var $popup = this.editor.popups.get('screenRecordPlugin.popup');
|
|
79
|
-
if (!$popup) {
|
|
80
|
-
$popup = this._createPopup();
|
|
81
|
-
}
|
|
82
|
-
this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));
|
|
83
|
-
const left = el.offsetLeft + el.offsetWidth / 2;
|
|
84
|
-
this.editor.popups.show('screenRecordPlugin.popup', left, null);
|
|
85
|
-
}
|
|
86
|
-
_getEl(el) {
|
|
87
|
-
if (el && el.classList) {
|
|
88
|
-
if (el.classList.contains('fr-screen-record'))
|
|
89
|
-
return el;
|
|
90
|
-
return this._getEl(el.parentNode);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
13
|
+
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`,
|
|
14
|
+
tooltip: 'Screen Record',
|
|
15
|
+
click: (editor) => {
|
|
16
|
+
navigator.mediaDevices.getDisplayMedia({ video: true })
|
|
17
|
+
.then((stream) => {
|
|
18
|
+
const chunks = [];
|
|
19
|
+
const options = { mimeType: 'video/webm; codecs=vp9' };
|
|
20
|
+
let mediaRecorder = new MediaRecorder(stream, options);
|
|
21
|
+
stream.addEventListener('inactive', (e) => {
|
|
22
|
+
mediaRecorder.stop();
|
|
23
|
+
mediaRecorder = null;
|
|
24
|
+
stream.getTracks().forEach((track) => track.stop());
|
|
25
|
+
stream = null;
|
|
26
|
+
const blob = new Blob(chunks, { type: 'video/webm' });
|
|
27
|
+
config.upload(blob)
|
|
28
|
+
.subscribe((url) => {
|
|
29
|
+
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>`);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
mediaRecorder.addEventListener('dataavailable', (event) => {
|
|
33
|
+
if (event.data && event.data.size > 0) {
|
|
34
|
+
chunks.push(event.data);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
mediaRecorder.start(10);
|
|
38
|
+
})
|
|
39
|
+
.catch((e) => { });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
] });
|
|
43
|
+
}
|
|
44
|
+
initialize() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
yield ResourceLoader.loadStyles('froala')
|
|
47
|
+
.toPromise();
|
|
48
|
+
const FroalaEditor = window.FroalaEditor;
|
|
49
|
+
this.editor.events.on('mouseup', (e) => {
|
|
50
|
+
const el = this._getEl(e.target);
|
|
51
|
+
if (el) {
|
|
52
|
+
this.editor.popups.hideAll();
|
|
53
|
+
this._activeEl = el;
|
|
54
|
+
this._showPopup(el);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
FroalaEditor.POPUP_TEMPLATES["screenRecordPlugin.popup"] = '[_BUTTONS_]';
|
|
58
|
+
FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });
|
|
59
|
+
FroalaEditor.RegisterCommand('popupClose', {
|
|
60
|
+
title: 'Remove',
|
|
61
|
+
undo: false,
|
|
62
|
+
focus: false,
|
|
63
|
+
callback: () => {
|
|
64
|
+
if (this._activeEl) {
|
|
65
|
+
this._activeEl.remove();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
_createPopup() {
|
|
72
|
+
const template = {
|
|
73
|
+
buttons: `<div class="fr-buttons">${this.editor.button.buildList(['popupClose'])}</div>`,
|
|
74
|
+
};
|
|
75
|
+
return this.editor.popups.create('screenRecordPlugin.popup', template);
|
|
76
|
+
}
|
|
77
|
+
_showPopup(el) {
|
|
78
|
+
var $popup = this.editor.popups.get('screenRecordPlugin.popup');
|
|
79
|
+
if (!$popup) {
|
|
80
|
+
$popup = this._createPopup();
|
|
81
|
+
}
|
|
82
|
+
this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));
|
|
83
|
+
const left = el.offsetLeft + el.offsetWidth / 2;
|
|
84
|
+
this.editor.popups.show('screenRecordPlugin.popup', left, null);
|
|
85
|
+
}
|
|
86
|
+
_getEl(el) {
|
|
87
|
+
if (el && el.classList) {
|
|
88
|
+
if (el.classList.contains('fr-screen-record'))
|
|
89
|
+
return el;
|
|
90
|
+
return this._getEl(el.parentNode);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
94
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlY29yZC5wbHVnaW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9odG1sLWVkaXRvci8iLCJzb3VyY2VzIjpbImFwcC9wbHVnaW5zL3NjcmVlbi1yZWNvcmQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBS2pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxNQUFNO0lBSTVDLFlBQTBCLFNBQW1DLEVBQUU7UUFDN0QsS0FBSyxFQUFFLENBQUM7UUFEZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBK0I7UUFHN0QsSUFBSSxDQUFDLE1BQU0sbUNBQ04sTUFBTSxLQUNULElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLGNBQWMsRUFDbkMsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixPQUFPLEVBQUU7OzBJQUV1SDtvQkFDaEksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUVWLFNBQVUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzZCQUMzRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTs0QkFDZixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7NEJBQ2xCLE1BQU0sT0FBTyxHQUFHLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLENBQUM7NEJBQ3ZELElBQUksYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQzs0QkFFdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dDQUN4QyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7Z0NBQ3JC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QUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLFVBQVUsQ0FBRSxFQUFFO1FBQ3BCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzlCO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0UsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxNQUFNLENBQUMsRUFBRTtRQUNmLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLENBQUM7WUFFWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyZWVuUmVjb3JkUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi9jb25maWdzL3NjcmVlbi1yZWNvcmQtcGx1Z2luLmNvbmZpZyc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9jbGFzc2VzL3BsdWdpbic7XG5pbXBvcnQgeyBSZXNvdXJjZUxvYWRlciB9IGZyb20gJy4uL3V0aWxzL2xvYWRlcic7XG5cblxuZGVjbGFyZSB2YXIgTWVkaWFSZWNvcmRlcjogYW55O1xuXG5leHBvcnQgY2xhc3MgU2NyZWVuUmVjb3JkUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcblxuICBwcml2YXRlIF9hY3RpdmVFbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGNvbmZpZzogU2NyZWVuUmVjb3JkUGx1Z2luQ29uZmlnID0ge30pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBuYW1lOiBjb25maWcubmFtZSB8fCAnc2NyZWVuUmVjb3JkJyxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdzY3JlZW5SZWNvcmQnLFxuICAgICAgICAgIHN2Z1BhdGg6IGBNMTQuNyw3Ljd2Ni4xSDcuMVY3LjdIMTQuNyBNMTYuMyw5LjZWNi45YzAtMC40LTAuMy0wLjgtMC44LTAuOEg2LjRjLTAuNCwwLTAuOCwwLjMtMC44LDAuOHY3LjZjMCwwLjQsMC4zLDAuOCwwLjgsMC44aDkuMWMwLjQsMCwwLjgtMC4zLDAuOC0wLjh2LTIuN2wxLjcsMS43YzAuMywwLjMsMC44LDAuMywxLjEsMGMwLjEtMC4xLDAuMi0wLjMsMC4yLTAuNVY4LjRjMC0wLjQtMC4zLTAuOC0wLjgtMC44XG5cdGMtMC4yLDAtMC40LDAuMS0wLjUsMC4yTDE2LjMsOS42eiBNMjEuNSwxLjZIMi45Yy0wLjcsMC0xLjMsMC43LTEuMywxLjZ2MTQuNmMwLDAuOSwwLjYsMS42LDEuMywxLjZoNy42djEuMWwtNSwxYy0wLjIsMC0wLjQsMC4zLTAuNCwwLjZjMCwwLjMsMC4yLDAuNCwwLjQsMC40YzAsMCwwLDAsMC4xLDBsNS4zLTFoMi42bDUuMywxYzAsMCwwLDAsMC4xLDBjMC4yLDAsMC40LTAuMiwwLjQtMC40XG4gIGMwLTAuMy0wLjEtMC42LTAuNC0wLjZsLTUtMXYtMS4xaDcuNmMwLjcsMCwxLjMtMC43LDEuMy0xLjZWMy4yQzIyLjksMi4zLDIyLjMsMS42LDIxLjUsMS42eiBNMjEuMSwxNy4zSDMuM1YzLjdoMTcuOEwyMS4xLDE3LjNMMjEuMSwxNy4zemAsXG4gICAgICAgICAgdG9vbHRpcDogJ1NjcmVlbiBSZWNvcmQnLFxuICAgICAgICAgIGNsaWNrOiAoZWRpdG9yKSA9PiB7XG5cbiAgICAgICAgICAgICg8YW55Pm5hdmlnYXRvcikubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0pXG4gICAgICAgICAgICAgIC50aGVuKChzdHJlYW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaHVua3MgPSBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0geyBtaW1lVHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz12cDknIH07XG4gICAgICAgICAgICAgICAgbGV0IG1lZGlhUmVjb3JkZXIgPSBuZXcgTWVkaWFSZWNvcmRlcihzdHJlYW0sIG9wdGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgc3RyZWFtLmFkZEV2ZW50TGlzdGVuZXIoJ2luYWN0aXZlJywgKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuc3RvcCgpO1xuICAgICAgICAgICAgICAgICAgbWVkaWFSZWNvcmRlciA9IG51bGw7XG4gICAgICAgICAgICAgICAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCgodHJhY2spID0+IHRyYWNrLnN0b3AoKSk7XG4gICAgICAgICAgICAgICAgICBzdHJlYW0gPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoY2h1bmtzLCB7IHR5cGU6ICd2aWRlby93ZWJtJyB9KTtcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy51cGxvYWQoYmxvYilcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5odG1sLmluc2VydChgPHNwYW4gY2xhc3M9XCJmci1zY3JlZW4tcmVjb3JkIGZyLWRlbGV0YWJsZSBmci1kcmFnZ2FibGVcIj48dmlkZW8gY29udHJvbHMgc3R5bGU9XCJtYXgtd2lkdGg6JHtjb25maWcubWF4V2lkdGh9XCI+PHNvdXJjZSBzcmM9XCIke3VybH1cIiB0eXBlPVwidmlkZW8vd2VibVwiPjwvdmlkZW8+PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBtZWRpYVJlY29yZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2RhdGFhdmFpbGFibGUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhICYmIGV2ZW50LmRhdGEuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzLnB1c2goZXZlbnQuZGF0YSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBtZWRpYVJlY29yZGVyLnN0YXJ0KDEwKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7IH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICBhd2FpdCBSZXNvdXJjZUxvYWRlci5sb2FkU3R5bGVzKCdmcm9hbGEnKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgY29uc3QgRnJvYWxhRWRpdG9yID0gKHdpbmRvdyBhcyBhbnkpLkZyb2FsYUVkaXRvcjtcblxuICAgIHRoaXMuZWRpdG9yLmV2ZW50cy5vbignbW91c2V1cCcsIChlKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuX2dldEVsKGUudGFyZ2V0KTtcblxuICAgICAgaWYgKGVsKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLnBvcHVwcy5oaWRlQWxsKCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUVsID0gZWw7XG4gICAgICAgIHRoaXMuX3Nob3dQb3B1cChlbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBGcm9hbGFFZGl0b3IuUE9QVVBfVEVNUExBVEVTW1wic2NyZWVuUmVjb3JkUGx1Z2luLnBvcHVwXCJdID0gJ1tfQlVUVE9OU19dJztcblxuICAgIEZyb2FsYUVkaXRvci5EZWZpbmVJY29uKCdwb3B1cENsb3NlJywgeyBOQU1FOiAndHJhc2gnLCBTVkdfS0VZOiAncmVtb3ZlJyB9KTtcbiAgICBGcm9hbGFFZGl0b3IuUmVnaXN0ZXJDb21tYW5kKCdwb3B1cENsb3NlJywge1xuICAgICAgdGl0bGU6ICdSZW1vdmUnLFxuICAgICAgdW5kbzogZmFsc2UsXG4gICAgICBmb2N1czogZmFsc2UsXG4gICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlRWwpIHtcbiAgICAgICAgICB0aGlzLl9hY3RpdmVFbC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUG9wdXAoKSB7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHtcbiAgICAgIGJ1dHRvbnM6IGA8ZGl2IGNsYXNzPVwiZnItYnV0dG9uc1wiPiR7dGhpcy5lZGl0b3IuYnV0dG9uLmJ1aWxkTGlzdChbJ3BvcHVwQ2xvc2UnXSl9PC9kaXY+YCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLnBvcHVwcy5jcmVhdGUoJ3NjcmVlblJlY29yZFBsdWdpbi5wb3B1cCcsIHRlbXBsYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3dQb3B1cCAoZWwpIHtcbiAgICB2YXIgJHBvcHVwID0gdGhpcy5lZGl0b3IucG9wdXBzLmdldCgnc2NyZWVuUmVjb3JkUGx1Z2luLnBvcHVwJyk7XG5cbiAgICBpZiAoISRwb3B1cCkge1xuICAgICAgJHBvcHVwID0gdGhpcy5fY3JlYXRlUG9wdXAoKTtcbiAgICB9XG5cbiAgICB0aGlzLmVkaXRvci5wb3B1cHMuc2V0Q29udGFpbmVyKCdzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXAnLCB0aGlzLmVkaXRvci4kKGVsKSk7XG5cbiAgICBjb25zdCBsZWZ0ID0gZWwub2Zmc2V0TGVmdCArIGVsLm9mZnNldFdpZHRoIC8gMjtcblxuICAgIHRoaXMuZWRpdG9yLnBvcHVwcy5zaG93KCdzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXAnLCBsZWZ0LCBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVsKGVsKSB7XG4gICAgaWYgKGVsICYmIGVsLmNsYXNzTGlzdCkge1xuICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnZnItc2NyZWVuLXJlY29yZCcpKVxuICAgICAgICByZXR1cm4gZWw7XG5cbiAgICAgIHJldHVybiB0aGlzLl9nZXRFbChlbC5wYXJlbnROb2RlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
|
-
import { concatMap, map, shareReplay, tap } from 'rxjs/operators';
|
|
5
|
-
import { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';
|
|
6
|
-
import { ResourceLoader } from '../utils/loader';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../injects/config.inject";
|
|
9
|
-
let FsFroalaLoaderService = class FsFroalaLoaderService {
|
|
10
|
-
constructor(_defaultConfig) {
|
|
11
|
-
this._defaultConfig = _defaultConfig;
|
|
12
|
-
this._froalaLoaded = new BehaviorSubject(false);
|
|
13
|
-
this._defaultPluginsLoaded = new BehaviorSubject(false);
|
|
14
|
-
this._loaded$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])
|
|
15
|
-
.pipe(map(([FroalaReady, pluginsRead]) => {
|
|
16
|
-
return pluginsRead && FroalaReady;
|
|
17
|
-
}), shareReplay(1));
|
|
18
|
-
if (this._defaultConfig) {
|
|
19
|
-
if (this._defaultConfig.assetsJSPath) {
|
|
20
|
-
ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath);
|
|
21
|
-
}
|
|
22
|
-
if (this._defaultConfig.assetsCSSPath) {
|
|
23
|
-
ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
this._load();
|
|
27
|
-
}
|
|
28
|
-
get loaded$() {
|
|
29
|
-
return this._loaded$;
|
|
30
|
-
}
|
|
31
|
-
get ready() {
|
|
32
|
-
return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
|
|
33
|
-
}
|
|
34
|
-
get FroalaEditor() {
|
|
35
|
-
return this._FroalaEditor;
|
|
36
|
-
}
|
|
37
|
-
_load() {
|
|
38
|
-
combineLatest([
|
|
39
|
-
ResourceLoader.loadResource('froala'),
|
|
40
|
-
ResourceLoader.loadStyles('froala')
|
|
41
|
-
])
|
|
42
|
-
.pipe(tap(() => {
|
|
43
|
-
this._FroalaEditor = window.FroalaEditor;
|
|
44
|
-
this._froalaDone();
|
|
45
|
-
}), concatMap(() => {
|
|
46
|
-
return this._loadPlugins();
|
|
47
|
-
}), tap(() => {
|
|
48
|
-
this._defaultPluginsDone();
|
|
49
|
-
}))
|
|
50
|
-
.subscribe();
|
|
51
|
-
}
|
|
52
|
-
_loadPlugins() {
|
|
53
|
-
const imports = this._defaultConfig
|
|
54
|
-
.defaultPlugins
|
|
55
|
-
.reduce((acc, pluginName) => {
|
|
56
|
-
const import$ = ResourceLoader.loadResource(pluginName);
|
|
57
|
-
acc.push(import$);
|
|
58
|
-
return acc;
|
|
59
|
-
}, []);
|
|
60
|
-
return combineLatest(imports);
|
|
61
|
-
}
|
|
62
|
-
_froalaDone() {
|
|
63
|
-
this._froalaLoaded.next(true);
|
|
64
|
-
}
|
|
65
|
-
_defaultPluginsDone() {
|
|
66
|
-
this._defaultPluginsLoaded.next(true);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
FsFroalaLoaderService.ctorParameters = () => [
|
|
70
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FS_HTML_EDITOR_CONFIG,] }] }
|
|
71
|
-
];
|
|
72
|
-
FsFroalaLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FsFroalaLoaderService_Factory() { return new FsFroalaLoaderService(i0.ɵɵinject(i1.FS_HTML_EDITOR_CONFIG, 8)); }, token: FsFroalaLoaderService, providedIn: "root" });
|
|
73
|
-
FsFroalaLoaderService = __decorate([
|
|
74
|
-
Injectable({
|
|
75
|
-
providedIn: 'root',
|
|
76
|
-
}),
|
|
77
|
-
__param(0, Optional()), __param(0, Inject(FS_HTML_EDITOR_CONFIG)),
|
|
78
|
-
__metadata("design:paramtypes", [Object])
|
|
79
|
-
], FsFroalaLoaderService);
|
|
80
|
-
export { FsFroalaLoaderService };
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
|
+
import { concatMap, map, shareReplay, tap } from 'rxjs/operators';
|
|
5
|
+
import { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';
|
|
6
|
+
import { ResourceLoader } from '../utils/loader';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../injects/config.inject";
|
|
9
|
+
let FsFroalaLoaderService = class FsFroalaLoaderService {
|
|
10
|
+
constructor(_defaultConfig) {
|
|
11
|
+
this._defaultConfig = _defaultConfig;
|
|
12
|
+
this._froalaLoaded = new BehaviorSubject(false);
|
|
13
|
+
this._defaultPluginsLoaded = new BehaviorSubject(false);
|
|
14
|
+
this._loaded$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])
|
|
15
|
+
.pipe(map(([FroalaReady, pluginsRead]) => {
|
|
16
|
+
return pluginsRead && FroalaReady;
|
|
17
|
+
}), shareReplay(1));
|
|
18
|
+
if (this._defaultConfig) {
|
|
19
|
+
if (this._defaultConfig.assetsJSPath) {
|
|
20
|
+
ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath);
|
|
21
|
+
}
|
|
22
|
+
if (this._defaultConfig.assetsCSSPath) {
|
|
23
|
+
ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
this._load();
|
|
27
|
+
}
|
|
28
|
+
get loaded$() {
|
|
29
|
+
return this._loaded$;
|
|
30
|
+
}
|
|
31
|
+
get ready() {
|
|
32
|
+
return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
|
|
33
|
+
}
|
|
34
|
+
get FroalaEditor() {
|
|
35
|
+
return this._FroalaEditor;
|
|
36
|
+
}
|
|
37
|
+
_load() {
|
|
38
|
+
combineLatest([
|
|
39
|
+
ResourceLoader.loadResource('froala'),
|
|
40
|
+
ResourceLoader.loadStyles('froala')
|
|
41
|
+
])
|
|
42
|
+
.pipe(tap(() => {
|
|
43
|
+
this._FroalaEditor = window.FroalaEditor;
|
|
44
|
+
this._froalaDone();
|
|
45
|
+
}), concatMap(() => {
|
|
46
|
+
return this._loadPlugins();
|
|
47
|
+
}), tap(() => {
|
|
48
|
+
this._defaultPluginsDone();
|
|
49
|
+
}))
|
|
50
|
+
.subscribe();
|
|
51
|
+
}
|
|
52
|
+
_loadPlugins() {
|
|
53
|
+
const imports = this._defaultConfig
|
|
54
|
+
.defaultPlugins
|
|
55
|
+
.reduce((acc, pluginName) => {
|
|
56
|
+
const import$ = ResourceLoader.loadResource(pluginName);
|
|
57
|
+
acc.push(import$);
|
|
58
|
+
return acc;
|
|
59
|
+
}, []);
|
|
60
|
+
return combineLatest(imports);
|
|
61
|
+
}
|
|
62
|
+
_froalaDone() {
|
|
63
|
+
this._froalaLoaded.next(true);
|
|
64
|
+
}
|
|
65
|
+
_defaultPluginsDone() {
|
|
66
|
+
this._defaultPluginsLoaded.next(true);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
FsFroalaLoaderService.ctorParameters = () => [
|
|
70
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FS_HTML_EDITOR_CONFIG,] }] }
|
|
71
|
+
];
|
|
72
|
+
FsFroalaLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FsFroalaLoaderService_Factory() { return new FsFroalaLoaderService(i0.ɵɵinject(i1.FS_HTML_EDITOR_CONFIG, 8)); }, token: FsFroalaLoaderService, providedIn: "root" });
|
|
73
|
+
FsFroalaLoaderService = __decorate([
|
|
74
|
+
Injectable({
|
|
75
|
+
providedIn: 'root',
|
|
76
|
+
}),
|
|
77
|
+
__param(0, Optional()), __param(0, Inject(FS_HTML_EDITOR_CONFIG)),
|
|
78
|
+
__metadata("design:paramtypes", [Object])
|
|
79
|
+
], FsFroalaLoaderService);
|
|
80
|
+
export { FsFroalaLoaderService };
|
|
81
81
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvYWxhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3IvIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvZnJvYWxhLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTWpELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBZWhDLFlBQ3FELGNBQWtDO1FBQWxDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQVovRSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELGFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQy9FLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQztRQUNwQyxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUtGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFO2dCQUNwQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUE7YUFDakU7WUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFO2dCQUNyQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUE7YUFDaEU7U0FDRjtRQUVELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFTyxLQUFLO1FBQ1gsYUFBYSxDQUFDO1lBQ1osY0FBYyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDckMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGFBQWEsR0FBSSxNQUFjLENBQUMsWUFBWSxDQUFDO1lBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWM7YUFDaEMsY0FBYzthQUNkLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUMxQixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXhELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFVCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGLENBQUE7OzRDQXBFSSxRQUFRLFlBQUksTUFBTSxTQUFDLHFCQUFxQjs7O0FBaEJoQyxxQkFBcUI7SUFIakMsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQztJQWlCRyxXQUFBLFFBQVEsRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTs7R0FoQmpDLHFCQUFxQixDQW9GakM7U0FwRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgbWFwLCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGU19IVE1MX0VESVRPUl9DT05GSUcgfSBmcm9tICcuLi9pbmplY3RzL2NvbmZpZy5pbmplY3QnO1xuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9odG1sLWVkaXRvci1jb25maWcnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZUxvYWRlciB9IGZyb20gJy4uL3V0aWxzL2xvYWRlcic7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzRnJvYWxhTG9hZGVyU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfRnJvYWxhRWRpdG9yOiB1bmtub3duO1xuXG4gIHByaXZhdGUgX2Zyb2FsYUxvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIF9kZWZhdWx0UGx1Z2luc0xvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHByaXZhdGUgX2xvYWRlZCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9mcm9hbGFMb2FkZWQsIHRoaXMuX2RlZmF1bHRQbHVnaW5zTG9hZGVkXSlcbiAgICAucGlwZShcbiAgICAgIG1hcCgoW0Zyb2FsYVJlYWR5LCBwbHVnaW5zUmVhZF0pID0+IHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbnNSZWFkICYmIEZyb2FsYVJlYWR5O1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfSFRNTF9FRElUT1JfQ09ORklHKSBwcml2YXRlIF9kZWZhdWx0Q29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcsXG4gICkge1xuICAgIGlmICh0aGlzLl9kZWZhdWx0Q29uZmlnKSB7XG4gICAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNKU1BhdGgpIHtcbiAgICAgICAgUmVzb3VyY2VMb2FkZXIuc2V0UmVzb3VyY2VCYXNlKHRoaXMuX2RlZmF1bHRDb25maWcuYXNzZXRzSlNQYXRoKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNDU1NQYXRoKSB7XG4gICAgICAgIFJlc291cmNlTG9hZGVyLnNldFN0eWxlc0Jhc2UodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNDU1NQYXRoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2xvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGVkJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb2FsYUxvYWRlZC5nZXRWYWx1ZSgpICYmIHRoaXMuX2RlZmF1bHRQbHVnaW5zTG9hZGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEZyb2FsYUVkaXRvcigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9Gcm9hbGFFZGl0b3I7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkKCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgUmVzb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKCdmcm9hbGEnKSxcbiAgICAgIFJlc291cmNlTG9hZGVyLmxvYWRTdHlsZXMoJ2Zyb2FsYScpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX0Zyb2FsYUVkaXRvciA9ICh3aW5kb3cgYXMgYW55KS5Gcm9hbGFFZGl0b3I7XG4gICAgICAgICAgdGhpcy5fZnJvYWxhRG9uZSgpO1xuICAgICAgICB9KSxcbiAgICAgICAgY29uY2F0TWFwKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fbG9hZFBsdWdpbnMoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZGVmYXVsdFBsdWdpbnNEb25lKCk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZFBsdWdpbnMoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgY29uc3QgaW1wb3J0cyA9IHRoaXMuX2RlZmF1bHRDb25maWdcbiAgICAgIC5kZWZhdWx0UGx1Z2luc1xuICAgICAgLnJlZHVjZSgoYWNjLCBwbHVnaW5OYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGltcG9ydCQgPSBSZXNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UocGx1Z2luTmFtZSk7XG5cbiAgICAgICAgYWNjLnB1c2goaW1wb3J0JCk7XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGltcG9ydHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZnJvYWxhRG9uZSgpIHtcbiAgICB0aGlzLl9mcm9hbGFMb2FkZWQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlZmF1bHRQbHVnaW5zRG9uZSgpIHtcbiAgICB0aGlzLl9kZWZhdWx0UGx1Z2luc0xvYWRlZC5uZXh0KHRydWUpO1xuICB9XG59XG4iXX0=
|