@firestitch/html-editor 9.4.5 → 9.5.3
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 +51 -51
- 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 -25
- 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 +12 -12
- package/app/plugins/configs/screen-record-plugin.config.d.ts +7 -7
- package/app/plugins/mention.plugin.d.ts +12 -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 +1003 -994
- 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 +431 -423
- package/esm2015/app/components/html-renderer/html-renderer.component.js +33 -33
- 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/interfaces/html-editor-config.js +1 -1
- package/esm2015/app/plugins/checklist.plugin.js +34 -34
- package/esm2015/app/plugins/code.plugin.js +62 -62
- package/esm2015/app/plugins/mention.plugin.js +72 -72
- 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 +456 -446
- package/esm5/app/components/html-renderer/html-renderer.component.js +38 -38
- 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/interfaces/html-editor-config.js +1 -1
- package/esm5/app/plugins/checklist.plugin.js +40 -40
- package/esm5/app/plugins/code.plugin.js +69 -69
- package/esm5/app/plugins/mention.plugin.js +78 -78
- 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 +924 -916
- package/fesm2015/firestitch-html-editor.js.map +1 -1
- package/fesm5/firestitch-html-editor.js +1003 -993
- 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,79 +1,79 @@
|
|
|
1
|
-
import { __assign, __extends } from "tslib";
|
|
2
|
-
import { debounce } from 'lodash-es';
|
|
3
|
-
import Tribute from 'tributejs';
|
|
4
|
-
import { Plugin } from '../classes/plugin';
|
|
5
|
-
var MentionPlugin = /** @class */ (function (_super) {
|
|
6
|
-
__extends(MentionPlugin, _super);
|
|
7
|
-
function MentionPlugin(config) {
|
|
8
|
-
var _this = _super.call(this) || this;
|
|
9
|
-
_this.config = config;
|
|
10
|
-
_this.config = __assign(__assign({}, config), { buttons: [
|
|
11
|
-
{
|
|
12
|
-
name: config.name,
|
|
13
|
-
tooltip: config.tooltip,
|
|
14
|
-
svgPath: config.iconPath,
|
|
15
|
-
click: function (editor) {
|
|
16
|
-
_this._closeAll();
|
|
17
|
-
_this._tribute.showMenuForCollection(editor.el);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
] });
|
|
21
|
-
_this._tribute = new Tribute({
|
|
22
|
-
values: debounce(_this._loadValues.bind(_this), 200),
|
|
23
|
-
searchOpts: {
|
|
24
|
-
pre: '',
|
|
25
|
-
post: '',
|
|
26
|
-
skip: true
|
|
27
|
-
},
|
|
28
|
-
containerClass: "fs-html-editor-mention-container " + (_this.config.containerClass || ''),
|
|
29
|
-
itemClass: "fs-html-editor-mention-menu-item " + (_this.config.menuItemClass || ''),
|
|
30
|
-
trigger: _this.config.trigger,
|
|
31
|
-
allowSpaces: true,
|
|
32
|
-
menuItemTemplate: function (item) {
|
|
33
|
-
return _this.config.menuItemTemplate(item.original);
|
|
34
|
-
},
|
|
35
|
-
selectTemplate: function (item) {
|
|
36
|
-
var template = _this.config.selectedTemplate(item.original);
|
|
37
|
-
var p = document.createElement('p');
|
|
38
|
-
p.innerHTML = template;
|
|
39
|
-
var node = p.firstElementChild;
|
|
40
|
-
if (!node) {
|
|
41
|
-
node = document.createElement('span');
|
|
42
|
-
node.innerHTML = template;
|
|
43
|
-
}
|
|
44
|
-
node.setAttribute('contenteditable', 'false');
|
|
45
|
-
node.classList.add('fr-deletable');
|
|
46
|
-
return node.outerHTML;
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
MentionPlugin._tributes.push(_this._tribute);
|
|
50
|
-
return _this;
|
|
51
|
-
}
|
|
52
|
-
MentionPlugin.prototype.initialize = function () {
|
|
53
|
-
var _this = this;
|
|
54
|
-
this._tribute.attach(this.editor.el);
|
|
55
|
-
this.editor.events.on('keydown', function (e) {
|
|
56
|
-
if (e.key === 'Enter' && _this._tribute.isActive) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
}, true);
|
|
60
|
-
};
|
|
61
|
-
MentionPlugin.prototype.destroy = function () { };
|
|
62
|
-
MentionPlugin.prototype._closeAll = function () {
|
|
63
|
-
MentionPlugin._tributes.forEach(function (tribute) {
|
|
64
|
-
if (tribute.menu) {
|
|
65
|
-
tribute.hideMenu();
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
};
|
|
69
|
-
MentionPlugin.prototype._loadValues = function (keyword, cb) {
|
|
70
|
-
return this.config.fetch(keyword)
|
|
71
|
-
.subscribe(function (data) {
|
|
72
|
-
cb(data);
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
MentionPlugin._tributes = [];
|
|
76
|
-
return MentionPlugin;
|
|
77
|
-
}(Plugin));
|
|
78
|
-
export { MentionPlugin };
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import { debounce } from 'lodash-es';
|
|
3
|
+
import Tribute from 'tributejs';
|
|
4
|
+
import { Plugin } from '../classes/plugin';
|
|
5
|
+
var MentionPlugin = /** @class */ (function (_super) {
|
|
6
|
+
__extends(MentionPlugin, _super);
|
|
7
|
+
function MentionPlugin(config) {
|
|
8
|
+
var _this = _super.call(this) || this;
|
|
9
|
+
_this.config = config;
|
|
10
|
+
_this.config = __assign(__assign({}, config), { buttons: [
|
|
11
|
+
{
|
|
12
|
+
name: config.name,
|
|
13
|
+
tooltip: config.tooltip,
|
|
14
|
+
svgPath: config.iconPath,
|
|
15
|
+
click: function (editor) {
|
|
16
|
+
_this._closeAll();
|
|
17
|
+
_this._tribute.showMenuForCollection(editor.el);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
] });
|
|
21
|
+
_this._tribute = new Tribute({
|
|
22
|
+
values: debounce(_this._loadValues.bind(_this), 200),
|
|
23
|
+
searchOpts: {
|
|
24
|
+
pre: '',
|
|
25
|
+
post: '',
|
|
26
|
+
skip: true
|
|
27
|
+
},
|
|
28
|
+
containerClass: "fs-html-editor-mention-container " + (_this.config.containerClass || ''),
|
|
29
|
+
itemClass: "fs-html-editor-mention-menu-item " + (_this.config.menuItemClass || ''),
|
|
30
|
+
trigger: _this.config.trigger,
|
|
31
|
+
allowSpaces: true,
|
|
32
|
+
menuItemTemplate: function (item) {
|
|
33
|
+
return _this.config.menuItemTemplate(item.original);
|
|
34
|
+
},
|
|
35
|
+
selectTemplate: function (item) {
|
|
36
|
+
var template = _this.config.selectedTemplate(item.original);
|
|
37
|
+
var p = document.createElement('p');
|
|
38
|
+
p.innerHTML = template;
|
|
39
|
+
var node = p.firstElementChild;
|
|
40
|
+
if (!node) {
|
|
41
|
+
node = document.createElement('span');
|
|
42
|
+
node.innerHTML = template;
|
|
43
|
+
}
|
|
44
|
+
node.setAttribute('contenteditable', 'false');
|
|
45
|
+
node.classList.add('fr-deletable');
|
|
46
|
+
return node.outerHTML;
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
MentionPlugin._tributes.push(_this._tribute);
|
|
50
|
+
return _this;
|
|
51
|
+
}
|
|
52
|
+
MentionPlugin.prototype.initialize = function () {
|
|
53
|
+
var _this = this;
|
|
54
|
+
this._tribute.attach(this.editor.el);
|
|
55
|
+
this.editor.events.on('keydown', function (e) {
|
|
56
|
+
if (e.key === 'Enter' && _this._tribute.isActive) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}, true);
|
|
60
|
+
};
|
|
61
|
+
MentionPlugin.prototype.destroy = function () { };
|
|
62
|
+
MentionPlugin.prototype._closeAll = function () {
|
|
63
|
+
MentionPlugin._tributes.forEach(function (tribute) {
|
|
64
|
+
if (tribute.menu) {
|
|
65
|
+
tribute.hideMenu();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
MentionPlugin.prototype._loadValues = function (keyword, cb) {
|
|
70
|
+
return this.config.fetch(keyword)
|
|
71
|
+
.subscribe(function (data) {
|
|
72
|
+
cb(data);
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
MentionPlugin._tributes = [];
|
|
76
|
+
return MentionPlugin;
|
|
77
|
+
}(Plugin));
|
|
78
|
+
export { MentionPlugin };
|
|
79
79
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9odG1sLWVkaXRvci8iLCJzb3VyY2VzIjpbImFwcC9wbHVnaW5zL21lbnRpb24ucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sT0FBd0IsTUFBTSxXQUFXLENBQUM7QUFJakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzNDO0lBQW1DLGlDQUFNO0lBS3ZDLHVCQUEwQixNQUEyQjtRQUFyRCxZQUNFLGlCQUFPLFNBa0RSO1FBbkR5QixZQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUVuRCxLQUFJLENBQUMsTUFBTSx5QkFDTixNQUFNLEtBQ1QsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQ3hCLEtBQUssRUFBRSxVQUFDLE1BQU07d0JBQ1osS0FBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUNqQixLQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDakQsQ0FBQztpQkFDRjthQUNGLEdBQ0YsQ0FBQztRQUVGLEtBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUM7WUFDeEIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDbEQsVUFBVSxFQUFFO2dCQUNWLEdBQUcsRUFBRSxFQUFFO2dCQUNQLElBQUksRUFBRSxFQUFFO2dCQUNSLElBQUksRUFBRSxJQUFJO2FBQ1g7WUFDRCxjQUFjLEVBQUUsdUNBQW9DLEtBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBRTtZQUN0RixTQUFTLEVBQUUsdUNBQW9DLEtBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBRTtZQUNoRixPQUFPLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzVCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGdCQUFnQixFQUFFLFVBQUMsSUFBc0I7Z0JBQ3ZDLE9BQU8sS0FBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsQ0FBQztZQUNELGNBQWMsRUFBRSxVQUFDLElBQXNCO2dCQUNyQyxJQUFNLFFBQVEsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFN0QsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7Z0JBRXZCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDVCxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7aUJBQzNCO2dCQUVELElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUVuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVMLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7SUFDOUMsQ0FBQztJQUVNLGtDQUFVLEdBQWpCO1FBQUEsaUJBT0M7UUFOQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsVUFBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUssS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU0sK0JBQU8sR0FBZCxjQUFrQixDQUFDO0lBRVgsaUNBQVMsR0FBakI7UUFDRSxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFDLE9BQU87WUFDdEMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNoQixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQ0FBVyxHQUFuQixVQUFvQixPQUFPLEVBQUUsRUFBRTtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUN0QixTQUFTLENBQUMsVUFBQyxJQUFJO1lBQ2QsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDZixDQUFDO0lBaEZjLHVCQUFTLEdBQUcsRUFBRSxDQUFDO0lBaUZoQyxvQkFBQztDQUFBLEFBbkZELENBQW1DLE1BQU0sR0FtRnhDO1NBbkZZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgVHJpYnV0ZSwgeyBUcmlidXRlSXRlbSB9IGZyb20gJ3RyaWJ1dGVqcyc7XG5cbmltcG9ydCB7IE1lbnRpb25QbHVnaW5Db25maWcgfSBmcm9tICcuL2NvbmZpZ3MvbWVudGlvbi1wbHVnaW4uY29uZmlnJztcblxuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi4vY2xhc3Nlcy9wbHVnaW4nO1xuXG5cbmV4cG9ydCBjbGFzcyBNZW50aW9uUGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcblxuICBwcml2YXRlIHN0YXRpYyBfdHJpYnV0ZXMgPSBbXTtcbiAgcHJpdmF0ZSBfdHJpYnV0ZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIGNvbmZpZzogTWVudGlvblBsdWdpbkNvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcbiAgICAgICAgICB0b29sdGlwOiBjb25maWcudG9vbHRpcCxcbiAgICAgICAgICBzdmdQYXRoOiBjb25maWcuaWNvblBhdGgsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlQWxsKCk7XG4gICAgICAgICAgICB0aGlzLl90cmlidXRlLnNob3dNZW51Rm9yQ29sbGVjdGlvbihlZGl0b3IuZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG5cbiAgICB0aGlzLl90cmlidXRlID0gbmV3IFRyaWJ1dGUoe1xuICAgICAgICB2YWx1ZXM6IGRlYm91bmNlKHRoaXMuX2xvYWRWYWx1ZXMuYmluZCh0aGlzKSwgMjAwKSxcbiAgICAgICAgc2VhcmNoT3B0czoge1xuICAgICAgICAgIHByZTogJycsXG4gICAgICAgICAgcG9zdDogJycsXG4gICAgICAgICAgc2tpcDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBjb250YWluZXJDbGFzczogYGZzLWh0bWwtZWRpdG9yLW1lbnRpb24tY29udGFpbmVyICR7dGhpcy5jb25maWcuY29udGFpbmVyQ2xhc3MgfHwgJyd9YCxcbiAgICAgICAgaXRlbUNsYXNzOiBgZnMtaHRtbC1lZGl0b3ItbWVudGlvbi1tZW51LWl0ZW0gJHt0aGlzLmNvbmZpZy5tZW51SXRlbUNsYXNzIHx8ICcnfWAsXG4gICAgICAgIHRyaWdnZXI6IHRoaXMuY29uZmlnLnRyaWdnZXIsXG4gICAgICAgIGFsbG93U3BhY2VzOiB0cnVlLFxuICAgICAgICBtZW51SXRlbVRlbXBsYXRlOiAoaXRlbTogVHJpYnV0ZUl0ZW08YW55PikgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5tZW51SXRlbVRlbXBsYXRlKGl0ZW0ub3JpZ2luYWwpO1xuICAgICAgICB9LFxuICAgICAgICBzZWxlY3RUZW1wbGF0ZTogKGl0ZW06IFRyaWJ1dGVJdGVtPGFueT4pID0+IHtcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuY29uZmlnLnNlbGVjdGVkVGVtcGxhdGUoaXRlbS5vcmlnaW5hbCk7XG5cbiAgICAgICAgICBsZXQgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTtcbiAgICAgICAgICBwLmlubmVySFRNTCA9IHRlbXBsYXRlO1xuXG4gICAgICAgICAgbGV0IG5vZGUgPSBwLmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgIG5vZGUuaW5uZXJIVE1MID0gdGVtcGxhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdmYWxzZScpO1xuICAgICAgICAgIG5vZGUuY2xhc3NMaXN0LmFkZCgnZnItZGVsZXRhYmxlJyk7XG5cbiAgICAgICAgICByZXR1cm4gbm9kZS5vdXRlckhUTUw7XG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgIE1lbnRpb25QbHVnaW4uX3RyaWJ1dGVzLnB1c2godGhpcy5fdHJpYnV0ZSk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLl90cmlidXRlLmF0dGFjaCh0aGlzLmVkaXRvci5lbCk7XG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdrZXlkb3duJywgKGUpID0+IHtcbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAgdGhpcy5fdHJpYnV0ZS5pc0FjdGl2ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHt9XG5cbiAgcHJpdmF0ZSBfY2xvc2VBbGwoKSB7XG4gICAgTWVudGlvblBsdWdpbi5fdHJpYnV0ZXMuZm9yRWFjaCgodHJpYnV0ZSkgPT4ge1xuICAgICAgaWYgKHRyaWJ1dGUubWVudSkge1xuICAgICAgICB0cmlidXRlLmhpZGVNZW51KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkVmFsdWVzKGtleXdvcmQsIGNiKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmZldGNoKGtleXdvcmQpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjYihkYXRhKTtcbiAgICAgICAgICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
import { __assign, __awaiter, __extends, __generator } from "tslib";
|
|
2
|
-
import { Plugin } from '../classes/plugin';
|
|
3
|
-
import { ResourceLoader } from '../utils/loader';
|
|
4
|
-
var ScreenRecordPlugin = /** @class */ (function (_super) {
|
|
5
|
-
__extends(ScreenRecordPlugin, _super);
|
|
6
|
-
function ScreenRecordPlugin(config) {
|
|
7
|
-
if (config === void 0) { config = {}; }
|
|
8
|
-
var _this = _super.call(this) || this;
|
|
9
|
-
_this.config = config;
|
|
10
|
-
_this.config = __assign(__assign({}, config), { name: config.name || 'screenRecord', buttons: [
|
|
11
|
-
{
|
|
12
|
-
name: 'screenRecord',
|
|
13
|
-
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\n\tc-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\n 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: function (editor) {
|
|
16
|
-
navigator.mediaDevices.getDisplayMedia({ video: true })
|
|
17
|
-
.then(function (stream) {
|
|
18
|
-
var chunks = [];
|
|
19
|
-
var options = { mimeType: 'video/webm; codecs=vp9' };
|
|
20
|
-
var mediaRecorder = new MediaRecorder(stream, options);
|
|
21
|
-
stream.addEventListener('inactive', function (e) {
|
|
22
|
-
mediaRecorder.stop();
|
|
23
|
-
mediaRecorder = null;
|
|
24
|
-
stream.getTracks().forEach(function (track) { return track.stop(); });
|
|
25
|
-
stream = null;
|
|
26
|
-
var blob = new Blob(chunks, { type: 'video/webm' });
|
|
27
|
-
config.upload(blob)
|
|
28
|
-
.subscribe(function (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', function (event) {
|
|
33
|
-
if (event.data && event.data.size > 0) {
|
|
34
|
-
chunks.push(event.data);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
mediaRecorder.start(10);
|
|
38
|
-
})
|
|
39
|
-
.catch(function (e) { });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
] });
|
|
43
|
-
return _this;
|
|
44
|
-
}
|
|
45
|
-
ScreenRecordPlugin.prototype.initialize = function () {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var FroalaEditor;
|
|
48
|
-
var _this = this;
|
|
49
|
-
return __generator(this, function (_a) {
|
|
50
|
-
switch (_a.label) {
|
|
51
|
-
case 0: return [4 /*yield*/, ResourceLoader.loadStyles('froala')
|
|
52
|
-
.toPromise()];
|
|
53
|
-
case 1:
|
|
54
|
-
_a.sent();
|
|
55
|
-
FroalaEditor = window.FroalaEditor;
|
|
56
|
-
this.editor.events.on('mouseup', function (e) {
|
|
57
|
-
var el = _this._getEl(e.target);
|
|
58
|
-
if (el) {
|
|
59
|
-
_this.editor.popups.hideAll();
|
|
60
|
-
_this._activeEl = el;
|
|
61
|
-
_this._showPopup(el);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
FroalaEditor.POPUP_TEMPLATES["screenRecordPlugin.popup"] = '[_BUTTONS_]';
|
|
65
|
-
FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });
|
|
66
|
-
FroalaEditor.RegisterCommand('popupClose', {
|
|
67
|
-
title: 'Remove',
|
|
68
|
-
undo: false,
|
|
69
|
-
focus: false,
|
|
70
|
-
callback: function () {
|
|
71
|
-
if (_this._activeEl) {
|
|
72
|
-
_this._activeEl.remove();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
return [2 /*return*/];
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
ScreenRecordPlugin.prototype._createPopup = function () {
|
|
82
|
-
var template = {
|
|
83
|
-
buttons: "<div class=\"fr-buttons\">" + this.editor.button.buildList(['popupClose']) + "</div>",
|
|
84
|
-
};
|
|
85
|
-
return this.editor.popups.create('screenRecordPlugin.popup', template);
|
|
86
|
-
};
|
|
87
|
-
ScreenRecordPlugin.prototype._showPopup = function (el) {
|
|
88
|
-
var $popup = this.editor.popups.get('screenRecordPlugin.popup');
|
|
89
|
-
if (!$popup) {
|
|
90
|
-
$popup = this._createPopup();
|
|
91
|
-
}
|
|
92
|
-
this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));
|
|
93
|
-
var left = el.offsetLeft + el.offsetWidth / 2;
|
|
94
|
-
this.editor.popups.show('screenRecordPlugin.popup', left, null);
|
|
95
|
-
};
|
|
96
|
-
ScreenRecordPlugin.prototype._getEl = function (el) {
|
|
97
|
-
if (el && el.classList) {
|
|
98
|
-
if (el.classList.contains('fr-screen-record'))
|
|
99
|
-
return el;
|
|
100
|
-
return this._getEl(el.parentNode);
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
return ScreenRecordPlugin;
|
|
104
|
-
}(Plugin));
|
|
105
|
-
export { ScreenRecordPlugin };
|
|
1
|
+
import { __assign, __awaiter, __extends, __generator } from "tslib";
|
|
2
|
+
import { Plugin } from '../classes/plugin';
|
|
3
|
+
import { ResourceLoader } from '../utils/loader';
|
|
4
|
+
var ScreenRecordPlugin = /** @class */ (function (_super) {
|
|
5
|
+
__extends(ScreenRecordPlugin, _super);
|
|
6
|
+
function ScreenRecordPlugin(config) {
|
|
7
|
+
if (config === void 0) { config = {}; }
|
|
8
|
+
var _this = _super.call(this) || this;
|
|
9
|
+
_this.config = config;
|
|
10
|
+
_this.config = __assign(__assign({}, config), { name: config.name || 'screenRecord', buttons: [
|
|
11
|
+
{
|
|
12
|
+
name: 'screenRecord',
|
|
13
|
+
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\n\tc-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\n 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: function (editor) {
|
|
16
|
+
navigator.mediaDevices.getDisplayMedia({ video: true })
|
|
17
|
+
.then(function (stream) {
|
|
18
|
+
var chunks = [];
|
|
19
|
+
var options = { mimeType: 'video/webm; codecs=vp9' };
|
|
20
|
+
var mediaRecorder = new MediaRecorder(stream, options);
|
|
21
|
+
stream.addEventListener('inactive', function (e) {
|
|
22
|
+
mediaRecorder.stop();
|
|
23
|
+
mediaRecorder = null;
|
|
24
|
+
stream.getTracks().forEach(function (track) { return track.stop(); });
|
|
25
|
+
stream = null;
|
|
26
|
+
var blob = new Blob(chunks, { type: 'video/webm' });
|
|
27
|
+
config.upload(blob)
|
|
28
|
+
.subscribe(function (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', function (event) {
|
|
33
|
+
if (event.data && event.data.size > 0) {
|
|
34
|
+
chunks.push(event.data);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
mediaRecorder.start(10);
|
|
38
|
+
})
|
|
39
|
+
.catch(function (e) { });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
] });
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
ScreenRecordPlugin.prototype.initialize = function () {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
+
var FroalaEditor;
|
|
48
|
+
var _this = this;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0: return [4 /*yield*/, ResourceLoader.loadStyles('froala')
|
|
52
|
+
.toPromise()];
|
|
53
|
+
case 1:
|
|
54
|
+
_a.sent();
|
|
55
|
+
FroalaEditor = window.FroalaEditor;
|
|
56
|
+
this.editor.events.on('mouseup', function (e) {
|
|
57
|
+
var el = _this._getEl(e.target);
|
|
58
|
+
if (el) {
|
|
59
|
+
_this.editor.popups.hideAll();
|
|
60
|
+
_this._activeEl = el;
|
|
61
|
+
_this._showPopup(el);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
FroalaEditor.POPUP_TEMPLATES["screenRecordPlugin.popup"] = '[_BUTTONS_]';
|
|
65
|
+
FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });
|
|
66
|
+
FroalaEditor.RegisterCommand('popupClose', {
|
|
67
|
+
title: 'Remove',
|
|
68
|
+
undo: false,
|
|
69
|
+
focus: false,
|
|
70
|
+
callback: function () {
|
|
71
|
+
if (_this._activeEl) {
|
|
72
|
+
_this._activeEl.remove();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return [2 /*return*/];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
ScreenRecordPlugin.prototype._createPopup = function () {
|
|
82
|
+
var template = {
|
|
83
|
+
buttons: "<div class=\"fr-buttons\">" + this.editor.button.buildList(['popupClose']) + "</div>",
|
|
84
|
+
};
|
|
85
|
+
return this.editor.popups.create('screenRecordPlugin.popup', template);
|
|
86
|
+
};
|
|
87
|
+
ScreenRecordPlugin.prototype._showPopup = function (el) {
|
|
88
|
+
var $popup = this.editor.popups.get('screenRecordPlugin.popup');
|
|
89
|
+
if (!$popup) {
|
|
90
|
+
$popup = this._createPopup();
|
|
91
|
+
}
|
|
92
|
+
this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));
|
|
93
|
+
var left = el.offsetLeft + el.offsetWidth / 2;
|
|
94
|
+
this.editor.popups.show('screenRecordPlugin.popup', left, null);
|
|
95
|
+
};
|
|
96
|
+
ScreenRecordPlugin.prototype._getEl = function (el) {
|
|
97
|
+
if (el && el.classList) {
|
|
98
|
+
if (el.classList.contains('fr-screen-record'))
|
|
99
|
+
return el;
|
|
100
|
+
return this._getEl(el.parentNode);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
return ScreenRecordPlugin;
|
|
104
|
+
}(Plugin));
|
|
105
|
+
export { ScreenRecordPlugin };
|
|
106
106
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlY29yZC5wbHVnaW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9odG1sLWVkaXRvci8iLCJzb3VyY2VzIjpbImFwcC9wbHVnaW5zL3NjcmVlbi1yZWNvcmQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBS2pEO0lBQXdDLHNDQUFNO0lBSTVDLDRCQUEwQixNQUFxQztRQUFyQyx1QkFBQSxFQUFBLFdBQXFDO1FBQS9ELFlBQ0UsaUJBQU8sU0E4Q1I7UUEvQ3lCLFlBQU0sR0FBTixNQUFNLENBQStCO1FBRzdELEtBQUksQ0FBQyxNQUFNLHlCQUNOLE1BQU0sS0FDVCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxjQUFjLEVBQ25DLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsY0FBYztvQkFDcEIsT0FBTyxFQUFFLGdsQkFFdUg7b0JBQ2hJLE9BQU8sRUFBRSxlQUFlO29CQUN4QixLQUFLLEVBQUUsVUFBQyxNQUFNO3dCQUVOLFNBQVUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzZCQUMzRCxJQUFJLENBQUMsVUFBQyxNQUFNOzRCQUNYLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQzs0QkFDbEIsSUFBTSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQzs0QkFDdkQsSUFBSSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzRCQUV2RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFVBQUMsQ0FBQztnQ0FDcEMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2dDQUNyQixhQUFhLEdBQUcsSUFBSSxDQUFDO2dD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QUFDO0lBRU8sdUNBQVUsR0FBbEIsVUFBb0IsRUFBRTtRQUNwQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9FLElBQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU8sbUNBQU0sR0FBZCxVQUFlLEVBQUU7UUFDZixJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQ3RCLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxDQUFDO1lBRVosT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFDSCx5QkFBQztBQUFELENBQUMsQUFuSEQsQ0FBd0MsTUFBTSxHQW1IN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JlZW5SZWNvcmRQbHVnaW5Db25maWcgfSBmcm9tICcuL2NvbmZpZ3Mvc2NyZWVuLXJlY29yZC1wbHVnaW4uY29uZmlnJztcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJy4uL2NsYXNzZXMvcGx1Z2luJztcbmltcG9ydCB7IFJlc291cmNlTG9hZGVyIH0gZnJvbSAnLi4vdXRpbHMvbG9hZGVyJztcblxuXG5kZWNsYXJlIHZhciBNZWRpYVJlY29yZGVyOiBhbnk7XG5cbmV4cG9ydCBjbGFzcyBTY3JlZW5SZWNvcmRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuXG4gIHByaXZhdGUgX2FjdGl2ZUVsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBTY3JlZW5SZWNvcmRQbHVnaW5Db25maWcgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lIHx8ICdzY3JlZW5SZWNvcmQnLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3NjcmVlblJlY29yZCcsXG4gICAgICAgICAgc3ZnUGF0aDogYE0xNC43LDcuN3Y2LjFINy4xVjcuN0gxNC43IE0xNi4zLDkuNlY2LjljMC0wLjQtMC4zLTAuOC0wLjgtMC44SDYuNGMtMC40LDAtMC44LDAuMy0wLjgsMC44djcuNmMwLDAuNCwwLjMsMC44LDAuOCwwLjhoOS4xYzAuNCwwLDAuOC0wLjMsMC44LTAuOHYtMi43bDEuNywxLjdjMC4zLDAuMywwLjgsMC4zLDEuMSwwYzAuMS0wLjEsMC4yLTAuMywwLjItMC41VjguNGMwLTAuNC0wLjMtMC44LTAuOC0wLjhcblx0Yy0wLjIsMC0wLjQsMC4xLTAuNSwwLjJMMTYuMyw5LjZ6IE0yMS41LDEuNkgyLjljLTAuNywwLTEuMywwLjctMS4zLDEuNnYxNC42YzAsMC45LDAuNiwxLjYsMS4zLDEuNmg3LjZ2MS4xbC01LDFjLTAuMiwwLTAuNCwwLjMtMC40LDAuNmMwLDAuMywwLjIsMC40LDAuNCwwLjRjMCwwLDAsMCwwLjEsMGw1LjMtMWgyLjZsNS4zLDFjMCwwLDAsMCwwLjEsMGMwLjIsMCwwLjQtMC4yLDAuNC0wLjRcbiAgYzAtMC4zLTAuMS0wLjYtMC40LTAuNmwtNS0xdi0xLjFoNy42YzAuNywwLDEuMy0wLjcsMS4zLTEuNlYzLjJDMjIuOSwyLjMsMjIuMywxLjYsMjEuNSwxLjZ6IE0yMS4xLDE3LjNIMy4zVjMuN2gxNy44TDIxLjEsMTcuM0wyMS4xLDE3LjN6YCxcbiAgICAgICAgICB0b29sdGlwOiAnU2NyZWVuIFJlY29yZCcsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcblxuICAgICAgICAgICAgKDxhbnk+bmF2aWdhdG9yKS5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSlcbiAgICAgICAgICAgICAgLnRoZW4oKHN0cmVhbSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IG1pbWVUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPXZwOScgfTtcbiAgICAgICAgICAgICAgICBsZXQgbWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICBzdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcignaW5hY3RpdmUnLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgbWVkaWFSZWNvcmRlci5zdG9wKCk7XG4gICAgICAgICAgICAgICAgICBtZWRpYVJlY29yZGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjaykgPT4gdHJhY2suc3RvcCgpKTtcbiAgICAgICAgICAgICAgICAgIHN0cmVhbSA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihjaHVua3MsIHsgdHlwZTogJ3ZpZGVvL3dlYm0nIH0pO1xuICAgICAgICAgICAgICAgICAgY29uZmlnLnVwbG9hZChibG9iKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmh0bWwuaW5zZXJ0KGA8c3BhbiBjbGFzcz1cImZyLXNjcmVlbi1yZWNvcmQgZnItZGVsZXRhYmxlIGZyLWRyYWdnYWJsZVwiPjx2aWRlbyBjb250cm9scyBzdHlsZT1cIm1heC13aWR0aDoke2NvbmZpZy5tYXhXaWR0aH1cIj48c291cmNlIHNyYz1cIiR7dXJsfVwiIHR5cGU9XCJ2aWRlby93ZWJtXCI+PC92aWRlbz48L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuYWRkRXZlbnRMaXN0ZW5lcignZGF0YWF2YWlsYWJsZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS5zaXplID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChldmVudC5kYXRhKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuc3RhcnQoMTApO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHsgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKCkge1xuICAgIGF3YWl0IFJlc291cmNlTG9hZGVyLmxvYWRTdHlsZXMoJ2Zyb2FsYScpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICBjb25zdCBGcm9hbGFFZGl0b3IgPSAod2luZG93IGFzIGFueSkuRnJvYWxhRWRpdG9yO1xuXG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdtb3VzZXVwJywgKGUpID0+IHtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5fZ2V0RWwoZS50YXJnZXQpO1xuXG4gICAgICBpZiAoZWwpIHtcbiAgICAgICAgdGhpcy5lZGl0b3IucG9wdXBzLmhpZGVBbGwoKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlRWwgPSBlbDtcbiAgICAgICAgdGhpcy5fc2hvd1BvcHVwKGVsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIEZyb2FsYUVkaXRvci5QT1BVUF9URU1QTEFURVNbXCJzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXBcIl0gPSAnW19CVVRUT05TX10nO1xuXG4gICAgRnJvYWxhRWRpdG9yLkRlZmluZUljb24oJ3BvcHVwQ2xvc2UnLCB7IE5BTUU6ICd0cmFzaCcsIFNWR19LRVk6ICdyZW1vdmUnIH0pO1xuICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlckNvbW1hbmQoJ3BvcHVwQ2xvc2UnLCB7XG4gICAgICB0aXRsZTogJ1JlbW92ZScsXG4gICAgICB1bmRvOiBmYWxzZSxcbiAgICAgIGZvY3VzOiBmYWxzZSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVFbCkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZUVsLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVQb3B1cCgpIHtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0ge1xuICAgICAgYnV0dG9uczogYDxkaXYgY2xhc3M9XCJmci1idXR0b25zXCI+JHt0aGlzLmVkaXRvci5idXR0b24uYnVpbGRMaXN0KFsncG9wdXBDbG9zZSddKX08L2Rpdj5gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5lZGl0b3IucG9wdXBzLmNyZWF0ZSgnc2NyZWVuUmVjb3JkUGx1Z2luLnBvcHVwJywgdGVtcGxhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2hvd1BvcHVwIChlbCkge1xuICAgIHZhciAkcG9wdXAgPSB0aGlzLmVkaXRvci5wb3B1cHMuZ2V0KCdzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXAnKTtcblxuICAgIGlmICghJHBvcHVwKSB7XG4gICAgICAkcG9wdXAgPSB0aGlzLl9jcmVhdGVQb3B1cCgpO1xuICAgIH1cblxuICAgIHRoaXMuZWRpdG9yLnBvcHVwcy5zZXRDb250YWluZXIoJ3NjcmVlblJlY29yZFBsdWdpbi5wb3B1cCcsIHRoaXMuZWRpdG9yLiQoZWwpKTtcblxuICAgIGNvbnN0IGxlZnQgPSBlbC5vZmZzZXRMZWZ0ICsgZWwub2Zmc2V0V2lkdGggLyAyO1xuXG4gICAgdGhpcy5lZGl0b3IucG9wdXBzLnNob3coJ3NjcmVlblJlY29yZFBsdWdpbi5wb3B1cCcsIGxlZnQsIG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RWwoZWwpIHtcbiAgICBpZiAoZWwgJiYgZWwuY2xhc3NMaXN0KSB7XG4gICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdmci1zY3JlZW4tcmVjb3JkJykpXG4gICAgICAgIHJldHVybiBlbDtcblxuICAgICAgcmV0dXJuIHRoaXMuX2dldEVsKGVsLnBhcmVudE5vZGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
import { __decorate, __metadata, __param, __read } 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
|
-
var FsFroalaLoaderService = /** @class */ (function () {
|
|
10
|
-
function FsFroalaLoaderService(_defaultConfig) {
|
|
11
|
-
this._defaultConfig = _defaultConfig;
|
|
12
|
-
this._froalaLoaded = new BehaviorSubject(false);
|
|
13
|
-
this._defaultPluginsLoaded = new BehaviorSubject(false);
|
|
14
|
-
this._ready$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])
|
|
15
|
-
.pipe(map(function (_a) {
|
|
16
|
-
var _b = __read(_a, 2), FroalaReady = _b[0], pluginsRead = _b[1];
|
|
17
|
-
return pluginsRead && FroalaReady;
|
|
18
|
-
}), shareReplay(1));
|
|
19
|
-
if (this._defaultConfig) {
|
|
20
|
-
if (this._defaultConfig.assetsJSPath) {
|
|
21
|
-
ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath);
|
|
22
|
-
}
|
|
23
|
-
if (this._defaultConfig.assetsCSSPath) {
|
|
24
|
-
ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
this._load();
|
|
28
|
-
}
|
|
29
|
-
Object.defineProperty(FsFroalaLoaderService.prototype, "ready$", {
|
|
30
|
-
get: function () {
|
|
31
|
-
return this._ready$;
|
|
32
|
-
},
|
|
33
|
-
enumerable: true,
|
|
34
|
-
configurable: true
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(FsFroalaLoaderService.prototype, "ready", {
|
|
37
|
-
get: function () {
|
|
38
|
-
return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
|
|
39
|
-
},
|
|
40
|
-
enumerable: true,
|
|
41
|
-
configurable: true
|
|
42
|
-
});
|
|
43
|
-
Object.defineProperty(FsFroalaLoaderService.prototype, "FroalaEditor", {
|
|
44
|
-
get: function () {
|
|
45
|
-
return this._FroalaEditor;
|
|
46
|
-
},
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true
|
|
49
|
-
});
|
|
50
|
-
FsFroalaLoaderService.prototype._load = function () {
|
|
51
|
-
var _this = this;
|
|
52
|
-
combineLatest([
|
|
53
|
-
ResourceLoader.loadResource('froala'),
|
|
54
|
-
ResourceLoader.loadStyles('froala')
|
|
55
|
-
])
|
|
56
|
-
.pipe(tap(function () {
|
|
57
|
-
_this._FroalaEditor = window.FroalaEditor;
|
|
58
|
-
_this._froalaDone();
|
|
59
|
-
}), concatMap(function () {
|
|
60
|
-
return _this._loadPlugins();
|
|
61
|
-
}), tap(function () {
|
|
62
|
-
_this._defaultPluginsDone();
|
|
63
|
-
}))
|
|
64
|
-
.subscribe();
|
|
65
|
-
};
|
|
66
|
-
FsFroalaLoaderService.prototype._loadPlugins = function () {
|
|
67
|
-
var imports = this._defaultConfig
|
|
68
|
-
.defaultPlugins
|
|
69
|
-
.reduce(function (acc, pluginName) {
|
|
70
|
-
var import$ = ResourceLoader.loadResource(pluginName);
|
|
71
|
-
acc.push(import$);
|
|
72
|
-
return acc;
|
|
73
|
-
}, []);
|
|
74
|
-
return combineLatest(imports);
|
|
75
|
-
};
|
|
76
|
-
FsFroalaLoaderService.prototype._froalaDone = function () {
|
|
77
|
-
this._froalaLoaded.next(true);
|
|
78
|
-
};
|
|
79
|
-
FsFroalaLoaderService.prototype._defaultPluginsDone = function () {
|
|
80
|
-
this._defaultPluginsLoaded.next(true);
|
|
81
|
-
};
|
|
82
|
-
FsFroalaLoaderService.ctorParameters = function () { return [
|
|
83
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FS_HTML_EDITOR_CONFIG,] }] }
|
|
84
|
-
]; };
|
|
85
|
-
FsFroalaLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FsFroalaLoaderService_Factory() { return new FsFroalaLoaderService(i0.ɵɵinject(i1.FS_HTML_EDITOR_CONFIG, 8)); }, token: FsFroalaLoaderService, providedIn: "root" });
|
|
86
|
-
FsFroalaLoaderService = __decorate([
|
|
87
|
-
Injectable({
|
|
88
|
-
providedIn: 'root',
|
|
89
|
-
}),
|
|
90
|
-
__param(0, Optional()), __param(0, Inject(FS_HTML_EDITOR_CONFIG)),
|
|
91
|
-
__metadata("design:paramtypes", [Object])
|
|
92
|
-
], FsFroalaLoaderService);
|
|
93
|
-
return FsFroalaLoaderService;
|
|
94
|
-
}());
|
|
95
|
-
export { FsFroalaLoaderService };
|
|
1
|
+
import { __decorate, __metadata, __param, __read } 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
|
+
var FsFroalaLoaderService = /** @class */ (function () {
|
|
10
|
+
function FsFroalaLoaderService(_defaultConfig) {
|
|
11
|
+
this._defaultConfig = _defaultConfig;
|
|
12
|
+
this._froalaLoaded = new BehaviorSubject(false);
|
|
13
|
+
this._defaultPluginsLoaded = new BehaviorSubject(false);
|
|
14
|
+
this._ready$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])
|
|
15
|
+
.pipe(map(function (_a) {
|
|
16
|
+
var _b = __read(_a, 2), FroalaReady = _b[0], pluginsRead = _b[1];
|
|
17
|
+
return pluginsRead && FroalaReady;
|
|
18
|
+
}), shareReplay(1));
|
|
19
|
+
if (this._defaultConfig) {
|
|
20
|
+
if (this._defaultConfig.assetsJSPath) {
|
|
21
|
+
ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath);
|
|
22
|
+
}
|
|
23
|
+
if (this._defaultConfig.assetsCSSPath) {
|
|
24
|
+
ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
this._load();
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(FsFroalaLoaderService.prototype, "ready$", {
|
|
30
|
+
get: function () {
|
|
31
|
+
return this._ready$;
|
|
32
|
+
},
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(FsFroalaLoaderService.prototype, "ready", {
|
|
37
|
+
get: function () {
|
|
38
|
+
return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();
|
|
39
|
+
},
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(FsFroalaLoaderService.prototype, "FroalaEditor", {
|
|
44
|
+
get: function () {
|
|
45
|
+
return this._FroalaEditor;
|
|
46
|
+
},
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true
|
|
49
|
+
});
|
|
50
|
+
FsFroalaLoaderService.prototype._load = function () {
|
|
51
|
+
var _this = this;
|
|
52
|
+
combineLatest([
|
|
53
|
+
ResourceLoader.loadResource('froala'),
|
|
54
|
+
ResourceLoader.loadStyles('froala')
|
|
55
|
+
])
|
|
56
|
+
.pipe(tap(function () {
|
|
57
|
+
_this._FroalaEditor = window.FroalaEditor;
|
|
58
|
+
_this._froalaDone();
|
|
59
|
+
}), concatMap(function () {
|
|
60
|
+
return _this._loadPlugins();
|
|
61
|
+
}), tap(function () {
|
|
62
|
+
_this._defaultPluginsDone();
|
|
63
|
+
}))
|
|
64
|
+
.subscribe();
|
|
65
|
+
};
|
|
66
|
+
FsFroalaLoaderService.prototype._loadPlugins = function () {
|
|
67
|
+
var imports = this._defaultConfig
|
|
68
|
+
.defaultPlugins
|
|
69
|
+
.reduce(function (acc, pluginName) {
|
|
70
|
+
var import$ = ResourceLoader.loadResource(pluginName);
|
|
71
|
+
acc.push(import$);
|
|
72
|
+
return acc;
|
|
73
|
+
}, []);
|
|
74
|
+
return combineLatest(imports);
|
|
75
|
+
};
|
|
76
|
+
FsFroalaLoaderService.prototype._froalaDone = function () {
|
|
77
|
+
this._froalaLoaded.next(true);
|
|
78
|
+
};
|
|
79
|
+
FsFroalaLoaderService.prototype._defaultPluginsDone = function () {
|
|
80
|
+
this._defaultPluginsLoaded.next(true);
|
|
81
|
+
};
|
|
82
|
+
FsFroalaLoaderService.ctorParameters = function () { return [
|
|
83
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FS_HTML_EDITOR_CONFIG,] }] }
|
|
84
|
+
]; };
|
|
85
|
+
FsFroalaLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FsFroalaLoaderService_Factory() { return new FsFroalaLoaderService(i0.ɵɵinject(i1.FS_HTML_EDITOR_CONFIG, 8)); }, token: FsFroalaLoaderService, providedIn: "root" });
|
|
86
|
+
FsFroalaLoaderService = __decorate([
|
|
87
|
+
Injectable({
|
|
88
|
+
providedIn: 'root',
|
|
89
|
+
}),
|
|
90
|
+
__param(0, Optional()), __param(0, Inject(FS_HTML_EDITOR_CONFIG)),
|
|
91
|
+
__metadata("design:paramtypes", [Object])
|
|
92
|
+
], FsFroalaLoaderService);
|
|
93
|
+
return FsFroalaLoaderService;
|
|
94
|
+
}());
|
|
95
|
+
export { FsFroalaLoaderService };
|
|
96
96
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvYWxhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3IvIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvZnJvYWxhLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTWpEO0lBZUUsK0JBQ3FELGNBQWtDO1FBQWxDLG1CQUFjLEdBQWQsY0FBYyxDQUFvQjtRQVovRSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELFlBQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQzlFLElBQUksQ0FDSCxHQUFHLENBQUMsVUFBQyxFQUEwQjtnQkFBMUIsa0JBQTBCLEVBQXpCLG1CQUFXLEVBQUUsbUJBQVc7WUFDNUIsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBS0YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQTthQUNqRTtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQTthQUNoRTtTQUNGO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELHNCQUFXLHlDQUFNO2FBQWpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsd0NBQUs7YUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hGLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsK0NBQVk7YUFBdkI7WUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDNUIsQ0FBQzs7O09BQUE7SUFFTyxxQ0FBSyxHQUFiO1FBQUEsaUJBa0JDO1FBakJDLGFBQWEsQ0FBQztZQUNaLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3JDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3BDLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDO1lBQ0YsS0FBSSxDQUFDLGFBQWEsR0FBSSxNQUFjLENBQUMsWUFBWSxDQUFDO1lBQ2xELEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUM7WUFDUixPQUFPLEtBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixHQUFHLENBQUM7WUFDRixLQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyw0Q0FBWSxHQUFwQjtRQUNFLElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjO2FBQ2hDLGNBQWM7YUFDZCxNQUFNLENBQUMsVUFBQyxHQUFHLEVBQUUsVUFBVTtZQUN0QixJQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXhELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFVCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sMkNBQVcsR0FBbkI7UUFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sbURBQW1CLEdBQTNCO1FBQ0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOztnREFuRUUsUUFBUSxZQUFJLE1BQU0sU0FBQyxxQkFBcUI7OztJQWhCaEMscUJBQXFCO1FBSGpDLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFpQkcsV0FBQSxRQUFRLEVBQUUsQ0FBQSxFQUFFLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7O09BaEJqQyxxQkFBcUIsQ0FvRmpDO2dDQWxHRDtDQWtHQyxBQXBGRCxJQW9GQztTQXBGWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZTX0hUTUxfRURJVE9SX0NPTkZJRyB9IGZyb20gJy4uL2luamVjdHMvY29uZmlnLmluamVjdCc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5cbmltcG9ydCB7IFJlc291cmNlTG9hZGVyIH0gZnJvbSAnLi4vdXRpbHMvbG9hZGVyJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNGcm9hbGFMb2FkZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9Gcm9hbGFFZGl0b3I6IHVua25vd247XG5cbiAgcHJpdmF0ZSBfZnJvYWxhTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2RlZmF1bHRQbHVnaW5zTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBfcmVhZHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZnJvYWxhTG9hZGVkLCB0aGlzLl9kZWZhdWx0UGx1Z2luc0xvYWRlZF0pXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKFtGcm9hbGFSZWFkeSwgcGx1Z2luc1JlYWRdKSA9PiB7XG4gICAgICAgIHJldHVybiBwbHVnaW5zUmVhZCAmJiBGcm9hbGFSZWFkeTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0hUTUxfRURJVE9SX0NPTkZJRykgcHJpdmF0ZSBfZGVmYXVsdENvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnLFxuICApIHtcbiAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZykge1xuICAgICAgaWYgKHRoaXMuX2RlZmF1bHRDb25maWcuYXNzZXRzSlNQYXRoKSB7XG4gICAgICAgIFJlc291cmNlTG9hZGVyLnNldFJlc291cmNlQmFzZSh0aGlzLl9kZWZhdWx0Q29uZmlnLmFzc2V0c0pTUGF0aClcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2RlZmF1bHRDb25maWcuYXNzZXRzQ1NTUGF0aCkge1xuICAgICAgICBSZXNvdXJjZUxvYWRlci5zZXRTdHlsZXNCYXNlKHRoaXMuX2RlZmF1bHRDb25maWcuYXNzZXRzQ1NTUGF0aClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9sb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWR5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkO1xuICB9XG5cbiAgcHVibGljIGdldCByZWFkeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnJvYWxhTG9hZGVkLmdldFZhbHVlKCkgJiYgdGhpcy5fZGVmYXVsdFBsdWdpbnNMb2FkZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRnJvYWxhRWRpdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX0Zyb2FsYUVkaXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWQoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICBSZXNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UoJ2Zyb2FsYScpLFxuICAgICAgUmVzb3VyY2VMb2FkZXIubG9hZFN0eWxlcygnZnJvYWxhJylcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fRnJvYWxhRWRpdG9yID0gKHdpbmRvdyBhcyBhbnkpLkZyb2FsYUVkaXRvcjtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFEb25lKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkUGx1Z2lucygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9kZWZhdWx0UGx1Z2luc0RvbmUoKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkUGx1Z2lucygpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBjb25zdCBpbXBvcnRzID0gdGhpcy5fZGVmYXVsdENvbmZpZ1xuICAgICAgLmRlZmF1bHRQbHVnaW5zXG4gICAgICAucmVkdWNlKChhY2MsIHBsdWdpbk5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgaW1wb3J0JCA9IFJlc291cmNlTG9hZGVyLmxvYWRSZXNvdXJjZShwbHVnaW5OYW1lKTtcblxuICAgICAgICBhY2MucHVzaChpbXBvcnQkKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoaW1wb3J0cyk7XG4gIH1cblxuICBwcml2YXRlIF9mcm9hbGFEb25lKCkge1xuICAgIHRoaXMuX2Zyb2FsYUxvYWRlZC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVmYXVsdFBsdWdpbnNEb25lKCkge1xuICAgIHRoaXMuX2RlZmF1bHRQbHVnaW5zTG9hZGVkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
|