@firestitch/html-editor 9.4.1 → 9.4.5
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/components/html-editor/html-editor.component.d.ts +0 -1
- package/app/enums/default-plugin.enum.d.ts +2 -1
- package/bundles/firestitch-html-editor.umd.js +21 -13
- package/bundles/firestitch-html-editor.umd.js.map +1 -1
- package/bundles/firestitch-html-editor.umd.min.js +1 -1
- package/bundles/firestitch-html-editor.umd.min.js.map +1 -1
- package/esm2015/app/components/html-editor/html-editor.component.js +19 -14
- package/esm2015/app/enums/default-plugin.enum.js +1 -1
- package/esm2015/app/fs-html-editor.module.js +2 -1
- package/esm2015/app/utils/loader.js +2 -1
- package/esm5/app/components/html-editor/html-editor.component.js +20 -14
- package/esm5/app/enums/default-plugin.enum.js +1 -1
- package/esm5/app/fs-html-editor.module.js +2 -1
- package/esm5/app/utils/loader.js +2 -1
- package/fesm2015/firestitch-html-editor.js +20 -13
- package/fesm2015/firestitch-html-editor.js.map +1 -1
- package/fesm5/firestitch-html-editor.js +21 -13
- package/fesm5/firestitch-html-editor.js.map +1 -1
- package/firestitch-html-editor.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -290,6 +290,7 @@
|
|
|
290
290
|
video: 'plugins/video.min.js',
|
|
291
291
|
quote: 'plugins/quote.min.js',
|
|
292
292
|
draggable: 'plugins/draggable.min.js',
|
|
293
|
+
font_size: 'plugins/font_size.min.js',
|
|
293
294
|
};
|
|
294
295
|
var stylesPaths = {
|
|
295
296
|
froala: 'froala_editor.pkgd.min.css',
|
|
@@ -489,7 +490,6 @@
|
|
|
489
490
|
this._listenLazyInit();
|
|
490
491
|
};
|
|
491
492
|
FsHtmlEditorComponent.prototype.ngAfterViewInit = function () {
|
|
492
|
-
this._html = this.ngModel || '';
|
|
493
493
|
if (!this.config.initOnClick || !this.hasContent()) {
|
|
494
494
|
this.initialized = true;
|
|
495
495
|
this._initialize$.next();
|
|
@@ -528,7 +528,10 @@
|
|
|
528
528
|
_this._cdRef.markForCheck();
|
|
529
529
|
});
|
|
530
530
|
_this._editor.events.on('contentChanged', function () {
|
|
531
|
-
_this.
|
|
531
|
+
var editorHTML = _this._editor.html.get();
|
|
532
|
+
if (_this.html !== editorHTML) {
|
|
533
|
+
_this._change(editorHTML);
|
|
534
|
+
}
|
|
532
535
|
});
|
|
533
536
|
_this._editor.events.on('paste.afterCleanup', function (html) {
|
|
534
537
|
var div = document.createElement('div');
|
|
@@ -671,15 +674,23 @@
|
|
|
671
674
|
this.writeValue(html);
|
|
672
675
|
};
|
|
673
676
|
FsHtmlEditorComponent.prototype.writeValue = function (html) {
|
|
677
|
+
var _this = this;
|
|
674
678
|
this._html = html || '';
|
|
675
679
|
this._cdRef.markForCheck();
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
680
|
+
// SP-T2298 timeout needed for the case, when froala was already initated and
|
|
681
|
+
// second instance opened in dialog/drawer. In this case init step pass much faster, writeValue trigger
|
|
682
|
+
// after init and froala ignore new html. At the same time froala was initied but editor not yet, and next
|
|
683
|
+
// code doesn't work without timeout. We've got time range when too late for initiate value, and to early
|
|
684
|
+
// for change event.
|
|
685
|
+
setTimeout(function () {
|
|
686
|
+
if (_this.editor && _this.editor.html) {
|
|
687
|
+
try {
|
|
688
|
+
_this.editor.html.set(_this._html);
|
|
689
|
+
}
|
|
690
|
+
catch (e) {
|
|
691
|
+
}
|
|
681
692
|
}
|
|
682
|
-
}
|
|
693
|
+
});
|
|
683
694
|
};
|
|
684
695
|
FsHtmlEditorComponent.prototype.registerOnChange = function (fn) {
|
|
685
696
|
this.onChange = fn;
|
|
@@ -837,10 +848,6 @@
|
|
|
837
848
|
core.Input(),
|
|
838
849
|
__metadata("design:type", Object)
|
|
839
850
|
], FsHtmlEditorComponent.prototype, "config", void 0);
|
|
840
|
-
__decorate([
|
|
841
|
-
core.Input(),
|
|
842
|
-
__metadata("design:type", String)
|
|
843
|
-
], FsHtmlEditorComponent.prototype, "ngModel", void 0);
|
|
844
851
|
FsHtmlEditorComponent = FsHtmlEditorComponent_1 = __decorate([
|
|
845
852
|
core.Component({
|
|
846
853
|
selector: 'fs-html-editor',
|
|
@@ -858,7 +865,7 @@
|
|
|
858
865
|
},
|
|
859
866
|
],
|
|
860
867
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
861
|
-
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px;background-color:transparent}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit;min-height:auto}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-dropdown:after,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2;border-radius:0;background-color:transparent}:host ::ng-deep .fr-toolbar .fr-btn-grp{margin:0 20px 0 0;position:relative}:host ::ng-deep .fr-toolbar .fr-btn-grp:nth-child(1):after,:host ::ng-deep .fr-toolbar .fr-btn-grp:nth-child(2):after{content:\"\";position:absolute;top:9px;height:30px;border-left:1px solid #e5e5e5;margin-left:10px}:host ::ng-deep .fr-toolbar div:first-of-type:before{border:none}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:3px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection
|
|
868
|
+
styles: [":host ::ng-deep .fr-box.fr-basic .fr-wrapper{border:0;border-bottom:1px solid #949494;margin-bottom:1px;background-color:transparent}:host ::ng-deep .fr-box.fr-basic .fr-element{padding:0;font-family:inherit;color:inherit;font-size:inherit;line-height:inherit;min-height:auto}:host ::ng-deep .fr-dropdown-menu .fr-dropdown-wrapper,:host ::ng-deep .fr-dropdown:after,:host ::ng-deep .fr-more-toolbar,:host ::ng-deep .fr-toolbar{transition:none!important}:host ::ng-deep .fr-toolbar{position:-webkit-sticky;position:sticky;z-index:2;border-radius:0;background-color:transparent}:host ::ng-deep .fr-toolbar .fr-btn-grp{margin:0 20px 0 0;position:relative}:host ::ng-deep .fr-toolbar .fr-btn-grp:nth-child(1):after,:host ::ng-deep .fr-toolbar .fr-btn-grp:nth-child(2):after{content:\"\";position:absolute;top:9px;height:30px;border-left:1px solid #e5e5e5;margin-left:10px}:host ::ng-deep .fr-toolbar div:first-of-type:before{border:none}:host ::ng-deep .fr-toolbar.fr-toolbar-open .fr-newline{height:auto}:host ::ng-deep .fr-toolbar .fr-btn-grp:first-child{margin-left:0}:host ::ng-deep .fr-toolbar.fr-top{border:0}:host ::ng-deep .fr-toolbar .fr-newline{margin:0}:host ::ng-deep .fr-toolbar .fr-more-toolbar{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn{z-index:auto}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown:after{right:3px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span{margin-right:24px}:host ::ng-deep .fr-toolbar .fr-command.fr-btn.fr-open{border-radius:4px;margin:4px 2px}:host ::ng-deep .fr-view ol,:host ::ng-deep .fr-view ul{list-style-position:unset}:host.disabled ::ng-deep .fr-box.fr-basic{opacity:.5;pointer-events:none}:host.disabled ::ng-deep .fr-box.fr-basic .fr-wrapper{border:none}:host.disabled ::ng-deep .disabled-line{display:block}::ng-deep .fr-popup{z-index:1001!important}::ng-deep .fr-video-by-url-layer .fr-checkbox-line{display:none}.disabled-line{display:none;position:absolute;bottom:-1px;z-index:1;background-image:linear-gradient(90deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x;height:1px;width:100%}.bottom-line{opacity:0;transform-origin:50%;transform:scaleX(.5);transition:background-color .3s cubic-bezier(.55,0,.55,.2);width:100%;border-bottom:2px solid #949494;position:absolute;bottom:-1px;z-index:1}:host{position:relative;display:block}:host.focused .bottom-line{opacity:1;display:block;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}::ng-deep .fs-html-editor-mention-container{position:absolute;top:0;left:0;height:auto;max-height:300px;max-width:500px;overflow:auto;display:block;z-index:999999;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);border-bottom-left-radius:4px;border-bottom-right-radius:4px;background:#fff}::ng-deep .fs-html-editor-mention-container ul{margin:0;padding:0;list-style:none}::ng-deep .fs-html-editor-mention-container li{padding:0 16px;cursor:pointer;line-height:48px}::ng-deep .fs-html-editor-mention-container li.highlight,::ng-deep .fs-html-editor-mention-container li:hover{background:#f5f5f5}::ng-deep .fs-html-editor-mention-container li.no-match{cursor:default}"]
|
|
862
869
|
}),
|
|
863
870
|
__param(0, core.Optional()), __param(0, core.Inject(FS_HTML_EDITOR_CONFIG)),
|
|
864
871
|
__metadata("design:paramtypes", [Object, core.ChangeDetectorRef,
|
|
@@ -952,6 +959,7 @@
|
|
|
952
959
|
"url" /* Url */,
|
|
953
960
|
"video" /* Video */,
|
|
954
961
|
"draggable" /* Draggable */,
|
|
962
|
+
"font_size" /* FontSize */,
|
|
955
963
|
] }, config);
|
|
956
964
|
}
|
|
957
965
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-html-editor.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://@firestitch/html-editor/app/consts/rich-buttons.const.ts","ng://@firestitch/html-editor/app/consts/text-buttons.const.ts","ng://@firestitch/html-editor/app/consts/paragraph-buttons.const.ts","ng://@firestitch/html-editor/app/injects/config.inject.ts","ng://@firestitch/html-editor/app/utils/loader.ts","ng://@firestitch/html-editor/app/services/froala-loader.service.ts","ng://@firestitch/html-editor/app/components/html-editor/html-editor.component.ts","ng://@firestitch/html-editor/app/components/html-renderer/html-renderer.component.ts","ng://@firestitch/html-editor/app/fs-html-editor.module.ts","ng://@firestitch/html-editor/app/classes/plugin.ts","ng://@firestitch/html-editor/app/plugins/mention.plugin.ts","ng://@firestitch/html-editor/app/plugins/checklist.plugin.ts","ng://@firestitch/html-editor/app/plugins/code.plugin.ts","ng://@firestitch/html-editor/app/plugins/screen-record.plugin.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const RichButtons = [\n 'insertTable',\n 'insertImage',\n 'insertLink',\n 'insertVideo',\n];\n","export const TextButtons = [\n 'paragraphFormat',\n 'code',\n 'bold',\n 'italic',\n 'underline',\n 'strikeThrough',\n 'subscript',\n 'superscript',\n 'fontFamily',\n 'fontSize',\n 'textColor',\n 'backgroundColor',\n 'inlineClass',\n 'inlineStyle',\n 'clearFormatting',\n 'quote',\n];\n","export const ParagraphButtons = [\n 'align',\n 'formatOL',\n 'formatUL',\n 'checklist',\n 'indent',\n 'outdent',\n];\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_HTML_EDITOR_DEFAULT_CONFIG = new InjectionToken<any[]>('fs-html-editor.default-config');\nexport const FS_HTML_EDITOR_CONFIG = new InjectionToken<any[]>('fs-html-editor.config');\n","import { Observable } from 'rxjs';\nimport { shareReplay } from 'rxjs/operators';\n\nfunction resourceLoaderFactory() {\n let resourceBase = '/assets/js/froala/';\n let stylesBase = '/assets/css/';\n\n const head = document.getElementsByTagName('head')[0];\n const files = new Map<string, Observable<unknown>>();\n\n const resourcePaths = {\n froala: 'froala_editor.min.js',\n align: 'plugins/align.min.js',\n colors: 'plugins/colors.min.js',\n image: 'plugins/image.min.js',\n link: 'plugins/link.min.js',\n lists: 'plugins/lists.min.js',\n paragraph_format: 'plugins/paragraph_format.min.js',\n table: 'plugins/table.min.js',\n url: 'plugins/url.min.js',\n video: 'plugins/video.min.js',\n quote: 'plugins/quote.min.js',\n draggable: 'plugins/draggable.min.js',\n }\n\n const stylesPaths = {\n froala: 'froala_editor.pkgd.min.css',\n }\n\n const loadResource = function (scriptPath: string): Observable<unknown> {\n if (!files.has(scriptPath)) {\n const obs$ = new Observable((obs) => {\n\n const script = document.createElement('script');\n script.src = scriptPath;\n\n head.appendChild(script);\n\n script.onload = () => {\n obs.next();\n obs.complete();\n };\n\n script.onerror = (err) => {\n obs.error(err);\n }\n })\n .pipe(\n shareReplay(1),\n );\n\n files.set(scriptPath, obs$);\n }\n\n return files.get(scriptPath);\n };\n\n const loadStyles = function (stylePath: string): Observable<unknown> {\n if (!files.has(stylePath)) {\n const obs$ = new Observable((obs) => {\n const style = document.createElement('link');\n style.id = stylePath;\n style.rel = 'stylesheet';\n style.href = `${stylePath}`;\n\n head.appendChild(style);\n\n style.onload = () => {\n obs.next();\n obs.complete();\n };\n\n style.onerror = (err) => {\n obs.error(err);\n }\n });\n\n files.set(stylePath, obs$);\n }\n\n return files.get(stylePath);\n };\n\n return {\n setResourceBase: (path: string) => {\n resourceBase = path;\n },\n setStylesBase: (path: string) => {\n stylesBase = path;\n },\n loadResource: (resourceName: string) => {\n const path = resourcePaths[resourceName] || resourceName;\n\n return loadResource(resourceBase + path);\n },\n loadStyles: (resourceName: string) => {\n const path = stylesPaths[resourceName] || resourceName;\n\n return loadStyles(stylesBase + path);\n }\n }\n}\n\n\nexport const ResourceLoader = resourceLoaderFactory();\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { concatMap, map, shareReplay, tap } from 'rxjs/operators';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';\nimport { FsHtmlEditorConfig } from '../interfaces/html-editor-config';\n\nimport { ResourceLoader } from '../utils/loader';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FsFroalaLoaderService {\n\n private _FroalaEditor: unknown;\n\n private _froalaLoaded = new BehaviorSubject(false);\n private _defaultPluginsLoaded = new BehaviorSubject(false);\n\n private _ready$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])\n .pipe(\n map(([FroalaReady, pluginsRead]) => {\n return pluginsRead && FroalaReady;\n }),\n shareReplay(1),\n );\n\n constructor(\n @Optional() @Inject(FS_HTML_EDITOR_CONFIG) private _defaultConfig: FsHtmlEditorConfig,\n ) {\n if (this._defaultConfig) {\n if (this._defaultConfig.assetsJSPath) {\n ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath)\n }\n\n if (this._defaultConfig.assetsCSSPath) {\n ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath)\n }\n }\n\n this._load();\n }\n\n public get ready$(): Observable<boolean> {\n return this._ready$;\n }\n\n public get ready(): boolean {\n return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();\n }\n\n public get FroalaEditor(): any {\n return this._FroalaEditor;\n }\n\n private _load() {\n combineLatest([\n ResourceLoader.loadResource('froala'),\n ResourceLoader.loadStyles('froala')\n ])\n .pipe(\n tap(() => {\n this._FroalaEditor = (window as any).FroalaEditor;\n this._froalaDone();\n }),\n concatMap(() => {\n return this._loadPlugins();\n }),\n tap(() => {\n this._defaultPluginsDone();\n }),\n )\n .subscribe();\n }\n\n private _loadPlugins(): Observable<unknown> {\n const imports = this._defaultConfig\n .defaultPlugins\n .reduce((acc, pluginName) => {\n const import$ = ResourceLoader.loadResource(pluginName);\n\n acc.push(import$);\n\n return acc;\n }, []);\n\n return combineLatest(imports);\n }\n\n private _froalaDone() {\n this._froalaLoaded.next(true);\n }\n\n private _defaultPluginsDone() {\n this._defaultPluginsLoaded.next(true);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { merge } from 'lodash-es';\n\nimport { PluginButton } from './../../interfaces/plugin-button';\nimport { FsHtmlEditorConfig } from '../../interfaces/html-editor-config';\nimport { RichButtons } from './../../consts/rich-buttons.const';\nimport { TextButtons } from './../../consts/text-buttons.const';\nimport { ParagraphButtons } from './../../consts/paragraph-buttons.const';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../../injects/config.inject';\nimport { Plugin } from './../../classes/plugin';\n\nimport { FsFroalaLoaderService } from '../../services/froala-loader.service';\n\n\n@Component({\n selector: 'fs-html-editor',\n templateUrl: 'html-editor.component.html',\n styleUrls: ['html-editor.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, Validator, OnDestroy {\n\n @HostBinding('class.focused') classFocused = false;\n @HostBinding('class.disabled') classDisabled = false;\n\n @ViewChild('elRef') public elRef: ElementRef;\n\n @Input() public config: FsHtmlEditorConfig = {};\n @Input() public ngModel: string;\n\n public initialized = false;\n\n private _editor: any;\n private _html: string;\n private _initialize$ = new ReplaySubject();\n private _destroy$ = new Subject();\n\n constructor(\n @Optional() @Inject(FS_HTML_EDITOR_CONFIG) private _defaultConfig,\n private _cdRef: ChangeDetectorRef,\n private _fr: FsFroalaLoaderService,\n ) { }\n\n public onChange = (data: any) => {}\n public onTouched = () => {}\n\n public get el(): any {\n return this.elRef.nativeElement;\n }\n\n public get html(): string {\n return this._html;\n }\n\n public get editor(): any {\n return this._editor;\n }\n\n public get froalaReady$(): Observable<boolean> {\n return this._fr.ready$;\n }\n\n public ngOnInit(): void {\n this.config = this.config || {};\n this.config.autofocus = this.config.autofocus !== false && !this.config.disabled;\n this.initialized = !this.config.initOnClick;\n this._listenLazyInit();\n }\n\n public ngAfterViewInit() {\n this._html = this.ngModel || '';\n if (!this.config.initOnClick || !this.hasContent()) {\n this.initialized = true;\n this._initialize$.next();\n }\n }\n\n public hasContent() {\n const el = document.createElement('div');\n\n if (el.querySelector('img')) {\n return true;\n }\n\n el.innerHTML = this._html;\n return !!el.innerText.length;\n }\n\n public initialize(options: any = {}) {\n const config = this._createConfig();\n\n this._initPlugins(config);\n this.el.innerHTML = this._html;\n\n this._editor = new this._fr.FroalaEditor(this.el, this._createOptions(), () => {\n this._cdRef.markForCheck();\n if (config.disabled) {\n this.disable();\n }\n\n if (config.froalaConfig.events) {\n if (config.froalaConfig.events.initialized) {\n config.froalaConfig.events.initialized();\n }\n }\n\n this._editor.events.on('focus', () => {\n this.classFocused = true;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('blur', () => {\n this.classFocused = false;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('contentChanged', () => {\n this._change(this._editor.html.get());\n });\n\n this._editor.events.on('paste.afterCleanup', (html) => {\n var div = document.createElement('div');\n div.innerHTML = html;\n div.querySelectorAll('*')\n .forEach((el) => {\n for (var i = 0; i < el.attributes.length; i++) {\n const name = el.attributes[0].name;\n if (name !== 'href') {\n el.removeAttribute(name);\n }\n }\n });\n return div.innerHTML;\n });\n\n this._editor.events.on('keydown', () => {\n this.onTouched();\n });\n\n if (this.config.image && this.config.image.upload) {\n this._editor.events.on('image.beforePasteUpload', (image) => {\n\n fetch(image.getAttribute('src'))\n .then((res) => {\n res.blob()\n .then((blob) => {\n this._processImageUpload(blob)\n .subscribe((url) => {\n image.setAttribute('src', url);\n image.removeAttribute('data-fr-image-pasted');\n });\n });\n });\n\n return false;\n });\n\n this._editor.events.on('image.beforeUpload', (blobs) => {\n this._processImageUpload(blobs[0]).subscribe((url) => {\n this.editor.image.insert(url, null, null, this.editor.image.get());\n });\n return false;\n });\n }\n\n if (this.el.querySelector('.fr-second-toolbar')) {\n this.el.querySelector('.fr-second-toolbar').remove();\n }\n\n const selection = options.selection;\n\n if (selection) {\n const node: any = Array.from(this.el.querySelectorAll('.fr-element *')).find((node: any) => {\n return selection.node === node.textContent;\n });\n\n if (node) {\n const range = document.createRange();\n const sel = window.getSelection();\n\n range.setStart(this._getTextNode(node), selection.offset);\n range.collapse(true)\n\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (this.config.autofocus) {\n this.focus();\n }\n } else if (this.config.autofocus) {\n this.focus();\n }\n\n });\n }\n\n private _processImageUpload(blob) {\n return this.config.image.upload(blob)\n .pipe(\n takeUntil(this._destroy$),\n );\n }\n\n private _getTextNode(node) {\n if (node) {\n if (node.nodeType === Node.TEXT_NODE) {\n return node;\n }\n if (node.childNodes) {\n return this._getTextNode(node.childNodes[0]);\n }\n }\n }\n\n public uninitializedClick(event: UIEvent): void {\n if (!event.defaultPrevented) {\n const target: any = event.target;\n if (target && target.nodeName === 'A' && target.getAttribute('href')) {\n const targetTarget = target.getAttribute('target');\n target.setAttribute('target', '_blank');\n setTimeout(() => {\n if (targetTarget) {\n target.setAttribute('target', targetTarget);\n } else {\n target.removeAttribute('target');\n }\n });\n } else {\n if (this.config.initClick) {\n this.config.initClick(event);\n }\n this._initialize$.next();\n this.initialized = true;\n }\n }\n }\n\n public updateSize() {\n // Hack: To trigger the toolbar button size modes\n window.dispatchEvent(new Event('resize'));\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n\n const err: any = {};\n if (this.config.maxLength && this._html) {\n const maxLength = this.config.maxLength;\n const length = this._html.length;\n if (length > maxLength) {\n err.maxLengthError = `Must be ${maxLength} characters or fewer. You entered ${length} characters.`;\n }\n }\n\n return Object.keys(err).length ? err : null;\n }\n\n public focus(options?: { cursorPosition?: 'start' | 'end' }) {\n options = options ? options : {};\n\n if (options.cursorPosition === 'end') {\n this.editor.selection.setAtEnd(this.editor.$el.get(0));\n } else {\n this.editor.selection.setAtStart(this.editor.$el.get(0));\n }\n\n this.editor.selection.restore();\n\n const elSelection = this.editor.selection.element();\n if (elSelection) {\n elSelection.scrollIntoView({ block: 'center' });\n }\n }\n\n public clear() {\n this.writeValue('');\n }\n\n public disable() {\n this.classDisabled = true;\n }\n\n public setHtml(html) {\n this.writeValue(html);\n }\n\n public writeValue(html: string): void {\n this._html = html || '';\n this._cdRef.markForCheck();\n if (this.editor && this.editor.html) {\n try {\n this.editor.html.set(this._html);\n } catch (e) {\n }\n }\n }\n\n public registerOnChange(fn: (data: any) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public ngOnDestroy() {\n this._initialize$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n this.destroy();\n }\n\n public destroy() {\n if (this.editor) {\n this.editor.destroy();\n }\n this.initialized = false;\n this._cdRef.markForCheck();\n this.el.innerHTML = '';\n }\n\n private _createConfig(): FsHtmlEditorConfig {\n return merge({ froalaConfig: {} }, this._defaultConfig, this.config);\n }\n\n private _change(html): void {\n this._html = html;\n this.onChange(html);\n }\n\n private _initPlugins(config) {\n\n (config.plugins || []).forEach((plugin: Plugin) => {\n this._fr.FroalaEditor.PLUGINS[plugin.config.name] = function (editor) {\n plugin.editor = editor;\n plugin.initialize();\n return plugin;\n };\n\n (plugin.config.buttons || []).forEach((button: PluginButton) => {\n this._fr.FroalaEditor.DefineIcon(button.name, {\n NAME: button.name,\n PATH: button.svgPath,\n });\n\n this._fr.FroalaEditor.RegisterCommand(button.name, {\n icon: button.name,\n title: button.tooltip,\n undo: button.undo,\n focus: button.focus,\n showOnMobile: button.showOnMobile,\n refreshAfterCallback: button.refreshAfterCallback,\n callback: function () {\n if (button.click) {\n button.click(this);\n }\n },\n refresh: function (button) {\n if (button.refresh) {\n button.refresh(this, button);\n }\n }\n });\n });\n\n });\n }\n\n private _createOptions() {\n const config = this._createConfig();\n\n return merge(\n // For some reason editor store somewhere pointer on default config object and dublicate options each time on init\n // Extra merge level fixed this problem and allow to init config properly without legacy data\n {},\n {\n key: config.activationKey,\n placeholderText: config.placeholder,\n linkAlwaysBlank: true,\n tabSpaces: 2,\n typingTimer: 250,\n tooltips: false,\n wordPasteModal: false,\n imageDefaultWidth: 0,\n imageDefaultAlign: 'left',\n quickInsertEnabled: false,\n paragraphDefaultSelection: 'Format',\n videoUpload: false,\n paragraphFormat: {\n N: 'Normal',\n H1: 'Heading 1',\n H2: 'Heading 2',\n H3: 'Heading 3',\n H4: 'Heading 4',\n BLOCKQUOTE: 'Quote',\n },\n paragraphFormatSelection: true,\n toolbarButtonsXS: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 1,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 2,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 0,\n },\n },\n toolbarButtons: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 3,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 5,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 3,\n },\n },\n },\n config.froalaConfig,\n );\n }\n\n private _listenLazyInit() {\n this.froalaReady$\n .pipe(\n filter((ready) => ready),\n switchMap(() => this._initialize$)\n )\n .subscribe(() => {\n const selection: any = window.getSelection();\n const options: any = {};\n if (selection.baseNode) {\n options.selection = {\n node: selection.baseNode.nodeValue,\n offset: selection.baseOffset,\n };\n }\n this.initialize(options);\n });\n }\n}\n","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ChangeDetectionStrategy, Component, Input, ChangeDetectorRef } from '@angular/core';\n\n\n@Component({\n selector: 'fs-html-renderer',\n templateUrl: 'html-renderer.component.html',\n styleUrls: ['html-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlRendererComponent {\n\n @Input('html') public set setHtml(html) {\n this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html);\n this._cdRef.markForCheck();\n }\n\n public trustedHtml: SafeHtml;\n\n public constructor(\n private sanitized: DomSanitizer,\n private _cdRef: ChangeDetectorRef,\n ) { }\n\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsSkeletonModule } from '@firestitch/skeleton';\n\nimport { FsHtmlEditorComponent } from './components/html-editor/html-editor.component';\nimport { FsHtmlRendererComponent } from './components/html-renderer/html-renderer.component';\nimport { FsHtmlEditorConfig } from './interfaces/html-editor-config';\nimport { FS_HTML_EDITOR_CONFIG, FS_HTML_EDITOR_DEFAULT_CONFIG } from './injects/config.inject';\nimport { DefaultPlugin } from './enums/default-plugin.enum';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FsSkeletonModule,\n ],\n exports: [\n FsHtmlEditorComponent,\n FsHtmlRendererComponent,\n ],\n declarations: [\n FsHtmlEditorComponent,\n FsHtmlRendererComponent,\n ],\n})\nexport class FsHtmlEditorModule {\n static forRoot(config: FsHtmlEditorConfig = {}): ModuleWithProviders<FsHtmlEditorModule> {\n return {\n ngModule: FsHtmlEditorModule,\n providers: [\n { provide: FS_HTML_EDITOR_DEFAULT_CONFIG, useValue: config },\n {\n provide: FS_HTML_EDITOR_CONFIG,\n useFactory: FsHtmlEditorConfigFactory,\n deps: [FS_HTML_EDITOR_DEFAULT_CONFIG]\n }\n ]\n };\n }\n}\n\nexport function FsHtmlEditorConfigFactory(config: FsHtmlEditorConfig) {\n return {\n defaultPlugins: [\n DefaultPlugin.Align,\n DefaultPlugin.Colors,\n DefaultPlugin.Image,\n DefaultPlugin.Link,\n DefaultPlugin.Lists,\n DefaultPlugin.ParagraphFormat,\n DefaultPlugin.Quote,\n DefaultPlugin.Table,\n DefaultPlugin.Url,\n DefaultPlugin.Video,\n DefaultPlugin.Draggable,\n ],\n ...config\n };\n}\n","// import { FroalaEditor } from 'froala-editor';\nimport { PluginConfig } from './../interfaces/plugin-config';\n\nexport class Plugin {\n\n public config: PluginConfig;\n public editor: any;\n\n public initialize() {}\n public destroy() {}\n\n}\n","import { debounce } from 'lodash-es';\nimport Tribute, { TributeItem } from 'tributejs';\n\nimport { MentionPluginConfig } from './configs/mention-plugin.config';\n\nimport { Plugin } from '../classes/plugin';\n\n\nexport class MentionPlugin extends Plugin {\n\n private static _tributes = [];\n private _tribute;\n\n public constructor(public config: MentionPluginConfig) {\n super();\n this.config = {\n ...config,\n buttons: [\n {\n name: config.name,\n tooltip: config.tooltip,\n svgPath: config.iconPath,\n click: (editor) => {\n this._closeAll();\n this._tribute.showMenuForCollection(editor.el);\n }\n }\n ]\n };\n\n this._tribute = new Tribute({\n values: debounce(this._loadValues.bind(this), 200),\n searchOpts: {\n pre: '',\n post: '',\n skip: true\n },\n containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,\n itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,\n trigger: this.config.trigger,\n allowSpaces: true,\n menuItemTemplate: (item: TributeItem<any>) => {\n return this.config.menuItemTemplate(item.original);\n },\n selectTemplate: (item: TributeItem<any>) => {\n const template = this.config.selectedTemplate(item.original);\n\n let p = document.createElement('p');\n p.innerHTML = template;\n\n let node = p.firstElementChild;\n if (!node) {\n node = document.createElement('span');\n node.innerHTML = template;\n }\n\n node.setAttribute('contenteditable', 'false');\n node.classList.add('fr-deletable');\n\n return node.outerHTML;\n },\n });\n\n MentionPlugin._tributes.push(this._tribute);\n }\n\n public initialize() {\n this._tribute.attach(this.editor.el);\n this.editor.events.on('keydown', (e) => {\n if (e.key === 'Enter' && this._tribute.isActive) {\n return false;\n }\n }, true);\n }\n\n public destroy() {}\n\n private _closeAll() {\n MentionPlugin._tributes.forEach((tribute) => {\n if (tribute.menu) {\n tribute.hideMenu();\n }\n });\n }\n\n private _loadValues(keyword, cb) {\n return this.config.fetch(keyword)\n .subscribe((data) => {\n cb(data);\n });\n }\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class ChecklistPlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'checklist' }) {\n super();\n this.config = {\n ...config,\n name: 'checklist',\n buttons: [\n {\n name: 'checklist',\n svgPath: 'M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z',\n click: (editor) => {\n editor.html.insert('<ul class=\"checklist\"><li></li></ul>');\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('click', (e) => {\n const li = e.target;\n if (li.nodeName === 'LI' && e.offsetX < 0) {\n\n const items = [li, ...li.querySelectorAll('li')];\n\n if (li.classList.contains('checked')) {\n items.forEach((item) => {\n item.classList.remove('checked');\n });\n } else {\n items.forEach((item) => {\n item.classList.add('checked');\n });\n }\n }\n\n }, false);\n }\n\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class CodePlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'code' }) {\n super();\n this.config = {\n ...config,\n name: 'code',\n buttons: [\n {\n name: 'code',\n svgPath: 'M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z',\n click: (editor) => {\n const node = editor.selection.get();\n const codeEl = this._getCodeEl(node.baseNode);\n if (codeEl) {\n codeEl.classList.remove('code');\n } else {\n editor.html.insert('<p class=\"code\">' + editor.selection.get().toString().replace(/\\n{1,}/g,'<br>') + '</p>');\n }\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('keydown', (e) => {\n if (e.keyCode === 13) {\n const selection = this.editor.selection.get();\n\n if (selection && this._getCodeEl(selection.baseNode)) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n let br = '<br>';\n const base = selection.baseNode;\n if (base.nodeName === '#text' && selection.baseOffset === base.length) {\n\n if (!(base.nextSibling && base.nextSibling.nodeName === 'BR')) {\n br += '<br>';\n }\n } else {\n const el: any = Array.from(base.childNodes).splice(selection.baseOffset - 1, 1).pop();\n if (el && el.nodeName !== 'BR') {\n br += '<br>';\n }\n }\n\n this.editor.html.insert(br);\n return false;\n }\n }\n }, true);\n }\n\n public destroy() {}\n\n private _getCodeEl(el) {\n\n if (el) {\n if (el.classList && el.classList.contains('code')) {\n return el;\n }\n\n if (el.parentElement) {\n return this._getCodeEl(el.parentElement);\n }\n }\n\n return null;\n }\n}\n","import { ScreenRecordPluginConfig } from './configs/screen-record-plugin.config';\nimport { Plugin } from '../classes/plugin';\nimport { ResourceLoader } from '../utils/loader';\n\n\ndeclare var MediaRecorder: any;\n\nexport class ScreenRecordPlugin extends Plugin {\n\n private _activeEl;\n\n public constructor(public config: ScreenRecordPluginConfig = {}) {\n super();\n\n this.config = {\n ...config,\n name: config.name || 'screenRecord',\n buttons: [\n {\n name: 'screenRecord',\n 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`,\n tooltip: 'Screen Record',\n click: (editor) => {\n\n (<any>navigator).mediaDevices.getDisplayMedia({ video: true })\n .then((stream) => {\n const chunks = [];\n const options = { mimeType: 'video/webm; codecs=vp9' };\n let mediaRecorder = new MediaRecorder(stream, options);\n\n stream.addEventListener('inactive', (e) => {\n mediaRecorder.stop();\n mediaRecorder = null;\n stream.getTracks().forEach((track) => track.stop());\n stream = null;\n\n const blob = new Blob(chunks, { type: 'video/webm' });\n config.upload(blob)\n .subscribe((url) => {\n 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>`);\n });\n });\n\n mediaRecorder.addEventListener('dataavailable', (event) => {\n if (event.data && event.data.size > 0) {\n chunks.push(event.data);\n }\n });\n\n mediaRecorder.start(10);\n })\n .catch((e) => { });\n }\n }\n ]\n };\n }\n\n public async initialize() {\n await ResourceLoader.loadStyles('froala')\n .toPromise();\n\n const FroalaEditor = (window as any).FroalaEditor;\n\n this.editor.events.on('mouseup', (e) => {\n const el = this._getEl(e.target);\n\n if (el) {\n this.editor.popups.hideAll();\n this._activeEl = el;\n this._showPopup(el);\n }\n });\n\n FroalaEditor.POPUP_TEMPLATES[\"screenRecordPlugin.popup\"] = '[_BUTTONS_]';\n\n FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });\n FroalaEditor.RegisterCommand('popupClose', {\n title: 'Remove',\n undo: false,\n focus: false,\n callback: () => {\n if (this._activeEl) {\n this._activeEl.remove();\n }\n }\n });\n }\n\n private _createPopup() {\n\n const template = {\n buttons: `<div class=\"fr-buttons\">${this.editor.button.buildList(['popupClose'])}</div>`,\n };\n\n return this.editor.popups.create('screenRecordPlugin.popup', template);\n }\n\n private _showPopup (el) {\n var $popup = this.editor.popups.get('screenRecordPlugin.popup');\n\n if (!$popup) {\n $popup = this._createPopup();\n }\n\n this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));\n\n const left = el.offsetLeft + el.offsetWidth / 2;\n\n this.editor.popups.show('screenRecordPlugin.popup', left, null);\n }\n\n private _getEl(el) {\n if (el && el.classList) {\n if (el.classList.contains('fr-screen-record'))\n return el;\n\n return this._getEl(el.parentNode);\n }\n }\n}\n"],"names":["InjectionToken","Observable","shareReplay","BehaviorSubject","combineLatest","map","tap","concatMap","Optional","Inject","Injectable","ReplaySubject","Subject","takeUntil","merge","filter","switchMap","ChangeDetectorRef","HostBinding","ViewChild","ElementRef","Input","Component","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","ChangeDetectionStrategy","DomSanitizer","NgModule","CommonModule","FsSkeletonModule","debounce"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firestitch-html-editor.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://@firestitch/html-editor/app/consts/rich-buttons.const.ts","ng://@firestitch/html-editor/app/consts/text-buttons.const.ts","ng://@firestitch/html-editor/app/consts/paragraph-buttons.const.ts","ng://@firestitch/html-editor/app/injects/config.inject.ts","ng://@firestitch/html-editor/app/utils/loader.ts","ng://@firestitch/html-editor/app/services/froala-loader.service.ts","ng://@firestitch/html-editor/app/components/html-editor/html-editor.component.ts","ng://@firestitch/html-editor/app/components/html-renderer/html-renderer.component.ts","ng://@firestitch/html-editor/app/fs-html-editor.module.ts","ng://@firestitch/html-editor/app/classes/plugin.ts","ng://@firestitch/html-editor/app/plugins/mention.plugin.ts","ng://@firestitch/html-editor/app/plugins/checklist.plugin.ts","ng://@firestitch/html-editor/app/plugins/code.plugin.ts","ng://@firestitch/html-editor/app/plugins/screen-record.plugin.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const RichButtons = [\n 'insertTable',\n 'insertImage',\n 'insertLink',\n 'insertVideo',\n];\n","export const TextButtons = [\n 'paragraphFormat',\n 'code',\n 'bold',\n 'italic',\n 'underline',\n 'strikeThrough',\n 'subscript',\n 'superscript',\n 'fontFamily',\n 'fontSize',\n 'textColor',\n 'backgroundColor',\n 'inlineClass',\n 'inlineStyle',\n 'clearFormatting',\n 'quote',\n];\n","export const ParagraphButtons = [\n 'align',\n 'formatOL',\n 'formatUL',\n 'checklist',\n 'indent',\n 'outdent',\n];\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_HTML_EDITOR_DEFAULT_CONFIG = new InjectionToken<any[]>('fs-html-editor.default-config');\nexport const FS_HTML_EDITOR_CONFIG = new InjectionToken<any[]>('fs-html-editor.config');\n","import { Observable } from 'rxjs';\nimport { shareReplay } from 'rxjs/operators';\n\nfunction resourceLoaderFactory() {\n let resourceBase = '/assets/js/froala/';\n let stylesBase = '/assets/css/';\n\n const head = document.getElementsByTagName('head')[0];\n const files = new Map<string, Observable<unknown>>();\n\n const resourcePaths = {\n froala: 'froala_editor.min.js',\n align: 'plugins/align.min.js',\n colors: 'plugins/colors.min.js',\n image: 'plugins/image.min.js',\n link: 'plugins/link.min.js',\n lists: 'plugins/lists.min.js',\n paragraph_format: 'plugins/paragraph_format.min.js',\n table: 'plugins/table.min.js',\n url: 'plugins/url.min.js',\n video: 'plugins/video.min.js',\n quote: 'plugins/quote.min.js',\n draggable: 'plugins/draggable.min.js',\n font_size: 'plugins/font_size.min.js',\n }\n\n const stylesPaths = {\n froala: 'froala_editor.pkgd.min.css',\n }\n\n const loadResource = function (scriptPath: string): Observable<unknown> {\n if (!files.has(scriptPath)) {\n const obs$ = new Observable((obs) => {\n\n const script = document.createElement('script');\n script.src = scriptPath;\n\n head.appendChild(script);\n\n script.onload = () => {\n obs.next();\n obs.complete();\n };\n\n script.onerror = (err) => {\n obs.error(err);\n }\n })\n .pipe(\n shareReplay(1),\n );\n\n files.set(scriptPath, obs$);\n }\n\n return files.get(scriptPath);\n };\n\n const loadStyles = function (stylePath: string): Observable<unknown> {\n if (!files.has(stylePath)) {\n const obs$ = new Observable((obs) => {\n const style = document.createElement('link');\n style.id = stylePath;\n style.rel = 'stylesheet';\n style.href = `${stylePath}`;\n\n head.appendChild(style);\n\n style.onload = () => {\n obs.next();\n obs.complete();\n };\n\n style.onerror = (err) => {\n obs.error(err);\n }\n });\n\n files.set(stylePath, obs$);\n }\n\n return files.get(stylePath);\n };\n\n return {\n setResourceBase: (path: string) => {\n resourceBase = path;\n },\n setStylesBase: (path: string) => {\n stylesBase = path;\n },\n loadResource: (resourceName: string) => {\n const path = resourcePaths[resourceName] || resourceName;\n\n return loadResource(resourceBase + path);\n },\n loadStyles: (resourceName: string) => {\n const path = stylesPaths[resourceName] || resourceName;\n\n return loadStyles(stylesBase + path);\n }\n }\n}\n\n\nexport const ResourceLoader = resourceLoaderFactory();\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { concatMap, map, shareReplay, tap } from 'rxjs/operators';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';\nimport { FsHtmlEditorConfig } from '../interfaces/html-editor-config';\n\nimport { ResourceLoader } from '../utils/loader';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FsFroalaLoaderService {\n\n private _FroalaEditor: unknown;\n\n private _froalaLoaded = new BehaviorSubject(false);\n private _defaultPluginsLoaded = new BehaviorSubject(false);\n\n private _ready$ = combineLatest([this._froalaLoaded, this._defaultPluginsLoaded])\n .pipe(\n map(([FroalaReady, pluginsRead]) => {\n return pluginsRead && FroalaReady;\n }),\n shareReplay(1),\n );\n\n constructor(\n @Optional() @Inject(FS_HTML_EDITOR_CONFIG) private _defaultConfig: FsHtmlEditorConfig,\n ) {\n if (this._defaultConfig) {\n if (this._defaultConfig.assetsJSPath) {\n ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath)\n }\n\n if (this._defaultConfig.assetsCSSPath) {\n ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath)\n }\n }\n\n this._load();\n }\n\n public get ready$(): Observable<boolean> {\n return this._ready$;\n }\n\n public get ready(): boolean {\n return this._froalaLoaded.getValue() && this._defaultPluginsLoaded.getValue();\n }\n\n public get FroalaEditor(): any {\n return this._FroalaEditor;\n }\n\n private _load() {\n combineLatest([\n ResourceLoader.loadResource('froala'),\n ResourceLoader.loadStyles('froala')\n ])\n .pipe(\n tap(() => {\n this._FroalaEditor = (window as any).FroalaEditor;\n this._froalaDone();\n }),\n concatMap(() => {\n return this._loadPlugins();\n }),\n tap(() => {\n this._defaultPluginsDone();\n }),\n )\n .subscribe();\n }\n\n private _loadPlugins(): Observable<unknown> {\n const imports = this._defaultConfig\n .defaultPlugins\n .reduce((acc, pluginName) => {\n const import$ = ResourceLoader.loadResource(pluginName);\n\n acc.push(import$);\n\n return acc;\n }, []);\n\n return combineLatest(imports);\n }\n\n private _froalaDone() {\n this._froalaLoaded.next(true);\n }\n\n private _defaultPluginsDone() {\n this._defaultPluginsLoaded.next(true);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { merge } from 'lodash-es';\n\nimport { PluginButton } from './../../interfaces/plugin-button';\nimport { FsHtmlEditorConfig } from '../../interfaces/html-editor-config';\nimport { RichButtons } from './../../consts/rich-buttons.const';\nimport { TextButtons } from './../../consts/text-buttons.const';\nimport { ParagraphButtons } from './../../consts/paragraph-buttons.const';\n\nimport { FS_HTML_EDITOR_CONFIG } from '../../injects/config.inject';\nimport { Plugin } from './../../classes/plugin';\n\nimport { FsFroalaLoaderService } from '../../services/froala-loader.service';\n\n\n@Component({\n selector: 'fs-html-editor',\n templateUrl: 'html-editor.component.html',\n styleUrls: ['html-editor.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FsHtmlEditorComponent),\n multi: true\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, Validator, OnDestroy {\n\n @HostBinding('class.focused') classFocused = false;\n @HostBinding('class.disabled') classDisabled = false;\n\n @ViewChild('elRef') public elRef: ElementRef;\n\n @Input() public config: FsHtmlEditorConfig = {};\n\n public initialized = false;\n\n private _editor: any;\n private _html: string;\n private _initialize$ = new ReplaySubject();\n private _destroy$ = new Subject();\n\n constructor(\n @Optional() @Inject(FS_HTML_EDITOR_CONFIG) private _defaultConfig,\n private _cdRef: ChangeDetectorRef,\n private _fr: FsFroalaLoaderService,\n ) { }\n\n public onChange = (data: any) => {}\n public onTouched = () => {}\n\n public get el(): any {\n return this.elRef.nativeElement;\n }\n\n public get html(): string {\n return this._html;\n }\n\n public get editor(): any {\n return this._editor;\n }\n\n public get froalaReady$(): Observable<boolean> {\n return this._fr.ready$;\n }\n\n public ngOnInit(): void {\n this.config = this.config || {};\n this.config.autofocus = this.config.autofocus !== false && !this.config.disabled;\n this.initialized = !this.config.initOnClick;\n this._listenLazyInit();\n }\n\n public ngAfterViewInit() {\n if (!this.config.initOnClick || !this.hasContent()) {\n this.initialized = true;\n this._initialize$.next();\n }\n }\n\n public hasContent() {\n const el = document.createElement('div');\n\n if (el.querySelector('img')) {\n return true;\n }\n\n el.innerHTML = this._html;\n return !!el.innerText.length;\n }\n\n public initialize(options: any = {}) {\n const config = this._createConfig();\n\n this._initPlugins(config);\n this.el.innerHTML = this._html;\n\n this._editor = new this._fr.FroalaEditor(this.el, this._createOptions(), () => {\n this._cdRef.markForCheck();\n if (config.disabled) {\n this.disable();\n }\n\n if (config.froalaConfig.events) {\n if (config.froalaConfig.events.initialized) {\n config.froalaConfig.events.initialized();\n }\n }\n\n this._editor.events.on('focus', () => {\n this.classFocused = true;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('blur', () => {\n this.classFocused = false;\n this._cdRef.markForCheck();\n });\n\n this._editor.events.on('contentChanged', () => {\n const editorHTML = this._editor.html.get();\n\n if (this.html !== editorHTML) {\n this._change(editorHTML);\n }\n });\n\n this._editor.events.on('paste.afterCleanup', (html) => {\n var div = document.createElement('div');\n div.innerHTML = html;\n div.querySelectorAll('*')\n .forEach((el) => {\n for (var i = 0; i < el.attributes.length; i++) {\n const name = el.attributes[0].name;\n if (name !== 'href') {\n el.removeAttribute(name);\n }\n }\n });\n return div.innerHTML;\n });\n\n this._editor.events.on('keydown', () => {\n this.onTouched();\n });\n\n if (this.config.image && this.config.image.upload) {\n this._editor.events.on('image.beforePasteUpload', (image) => {\n\n fetch(image.getAttribute('src'))\n .then((res) => {\n res.blob()\n .then((blob) => {\n this._processImageUpload(blob)\n .subscribe((url) => {\n image.setAttribute('src', url);\n image.removeAttribute('data-fr-image-pasted');\n });\n });\n });\n\n return false;\n });\n\n this._editor.events.on('image.beforeUpload', (blobs) => {\n this._processImageUpload(blobs[0]).subscribe((url) => {\n this.editor.image.insert(url, null, null, this.editor.image.get());\n });\n return false;\n });\n }\n\n if (this.el.querySelector('.fr-second-toolbar')) {\n this.el.querySelector('.fr-second-toolbar').remove();\n }\n\n const selection = options.selection;\n\n if (selection) {\n const node: any = Array.from(this.el.querySelectorAll('.fr-element *')).find((node: any) => {\n return selection.node === node.textContent;\n });\n\n if (node) {\n const range = document.createRange();\n const sel = window.getSelection();\n\n range.setStart(this._getTextNode(node), selection.offset);\n range.collapse(true)\n\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (this.config.autofocus) {\n this.focus();\n }\n } else if (this.config.autofocus) {\n this.focus();\n }\n\n });\n }\n\n private _processImageUpload(blob) {\n return this.config.image.upload(blob)\n .pipe(\n takeUntil(this._destroy$),\n );\n }\n\n private _getTextNode(node) {\n if (node) {\n if (node.nodeType === Node.TEXT_NODE) {\n return node;\n }\n if (node.childNodes) {\n return this._getTextNode(node.childNodes[0]);\n }\n }\n }\n\n public uninitializedClick(event: UIEvent): void {\n if (!event.defaultPrevented) {\n const target: any = event.target;\n if (target && target.nodeName === 'A' && target.getAttribute('href')) {\n const targetTarget = target.getAttribute('target');\n target.setAttribute('target', '_blank');\n setTimeout(() => {\n if (targetTarget) {\n target.setAttribute('target', targetTarget);\n } else {\n target.removeAttribute('target');\n }\n });\n } else {\n if (this.config.initClick) {\n this.config.initClick(event);\n }\n this._initialize$.next();\n this.initialized = true;\n }\n }\n }\n\n public updateSize() {\n // Hack: To trigger the toolbar button size modes\n window.dispatchEvent(new Event('resize'));\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n\n const err: any = {};\n if (this.config.maxLength && this._html) {\n const maxLength = this.config.maxLength;\n const length = this._html.length;\n if (length > maxLength) {\n err.maxLengthError = `Must be ${maxLength} characters or fewer. You entered ${length} characters.`;\n }\n }\n\n return Object.keys(err).length ? err : null;\n }\n\n public focus(options?: { cursorPosition?: 'start' | 'end' }) {\n options = options ? options : {};\n\n if (options.cursorPosition === 'end') {\n this.editor.selection.setAtEnd(this.editor.$el.get(0));\n } else {\n this.editor.selection.setAtStart(this.editor.$el.get(0));\n }\n\n this.editor.selection.restore();\n\n const elSelection = this.editor.selection.element();\n if (elSelection) {\n elSelection.scrollIntoView({ block: 'center' });\n }\n }\n\n public clear() {\n this.writeValue('');\n }\n\n public disable() {\n this.classDisabled = true;\n }\n\n public setHtml(html) {\n this.writeValue(html);\n }\n\n public writeValue(html: string): void {\n this._html = html || '';\n\n this._cdRef.markForCheck();\n // SP-T2298 timeout needed for the case, when froala was already initated and\n // second instance opened in dialog/drawer. In this case init step pass much faster, writeValue trigger\n // after init and froala ignore new html. At the same time froala was initied but editor not yet, and next\n // code doesn't work without timeout. We've got time range when too late for initiate value, and to early\n // for change event.\n setTimeout(() => {\n if (this.editor && this.editor.html) {\n try {\n this.editor.html.set(this._html);\n } catch (e) {\n }\n }\n });\n }\n\n public registerOnChange(fn: (data: any) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public ngOnDestroy() {\n this._initialize$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n this.destroy();\n }\n\n public destroy() {\n if (this.editor) {\n this.editor.destroy();\n }\n this.initialized = false;\n this._cdRef.markForCheck();\n this.el.innerHTML = '';\n }\n\n private _createConfig(): FsHtmlEditorConfig {\n return merge({ froalaConfig: {} }, this._defaultConfig, this.config);\n }\n\n private _change(html): void {\n this._html = html;\n this.onChange(html);\n }\n\n private _initPlugins(config) {\n\n (config.plugins || []).forEach((plugin: Plugin) => {\n this._fr.FroalaEditor.PLUGINS[plugin.config.name] = function (editor) {\n plugin.editor = editor;\n plugin.initialize();\n return plugin;\n };\n\n (plugin.config.buttons || []).forEach((button: PluginButton) => {\n this._fr.FroalaEditor.DefineIcon(button.name, {\n NAME: button.name,\n PATH: button.svgPath,\n });\n\n this._fr.FroalaEditor.RegisterCommand(button.name, {\n icon: button.name,\n title: button.tooltip,\n undo: button.undo,\n focus: button.focus,\n showOnMobile: button.showOnMobile,\n refreshAfterCallback: button.refreshAfterCallback,\n callback: function () {\n if (button.click) {\n button.click(this);\n }\n },\n refresh: function (button) {\n if (button.refresh) {\n button.refresh(this, button);\n }\n }\n });\n });\n\n });\n }\n\n private _createOptions() {\n const config = this._createConfig();\n\n return merge(\n // For some reason editor store somewhere pointer on default config object and dublicate options each time on init\n // Extra merge level fixed this problem and allow to init config properly without legacy data\n {},\n {\n key: config.activationKey,\n placeholderText: config.placeholder,\n linkAlwaysBlank: true,\n tabSpaces: 2,\n typingTimer: 250,\n tooltips: false,\n wordPasteModal: false,\n imageDefaultWidth: 0,\n imageDefaultAlign: 'left',\n quickInsertEnabled: false,\n paragraphDefaultSelection: 'Format',\n videoUpload: false,\n paragraphFormat: {\n N: 'Normal',\n H1: 'Heading 1',\n H2: 'Heading 2',\n H3: 'Heading 3',\n H4: 'Heading 4',\n BLOCKQUOTE: 'Quote',\n },\n paragraphFormatSelection: true,\n toolbarButtonsXS: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 1,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 2,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 0,\n },\n },\n toolbarButtons: {\n moreText: {\n buttons: TextButtons,\n buttonsVisible: 3,\n },\n moreParagraph: {\n buttons: ParagraphButtons,\n buttonsVisible: 5,\n },\n moreRich: {\n buttons: RichButtons,\n buttonsVisible: 3,\n },\n },\n },\n config.froalaConfig,\n );\n }\n\n private _listenLazyInit() {\n this.froalaReady$\n .pipe(\n filter((ready) => ready),\n switchMap(() => this._initialize$)\n )\n .subscribe(() => {\n const selection: any = window.getSelection();\n const options: any = {};\n if (selection.baseNode) {\n options.selection = {\n node: selection.baseNode.nodeValue,\n offset: selection.baseOffset,\n };\n }\n this.initialize(options);\n });\n }\n}\n","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { ChangeDetectionStrategy, Component, Input, ChangeDetectorRef } from '@angular/core';\n\n\n@Component({\n selector: 'fs-html-renderer',\n templateUrl: 'html-renderer.component.html',\n styleUrls: ['html-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsHtmlRendererComponent {\n\n @Input('html') public set setHtml(html) {\n this.trustedHtml = this.sanitized.bypassSecurityTrustHtml(html);\n this._cdRef.markForCheck();\n }\n\n public trustedHtml: SafeHtml;\n\n public constructor(\n private sanitized: DomSanitizer,\n private _cdRef: ChangeDetectorRef,\n ) { }\n\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsSkeletonModule } from '@firestitch/skeleton';\n\nimport { FsHtmlEditorComponent } from './components/html-editor/html-editor.component';\nimport { FsHtmlRendererComponent } from './components/html-renderer/html-renderer.component';\nimport { FsHtmlEditorConfig } from './interfaces/html-editor-config';\nimport { FS_HTML_EDITOR_CONFIG, FS_HTML_EDITOR_DEFAULT_CONFIG } from './injects/config.inject';\nimport { DefaultPlugin } from './enums/default-plugin.enum';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FsSkeletonModule,\n ],\n exports: [\n FsHtmlEditorComponent,\n FsHtmlRendererComponent,\n ],\n declarations: [\n FsHtmlEditorComponent,\n FsHtmlRendererComponent,\n ],\n})\nexport class FsHtmlEditorModule {\n static forRoot(config: FsHtmlEditorConfig = {}): ModuleWithProviders<FsHtmlEditorModule> {\n return {\n ngModule: FsHtmlEditorModule,\n providers: [\n { provide: FS_HTML_EDITOR_DEFAULT_CONFIG, useValue: config },\n {\n provide: FS_HTML_EDITOR_CONFIG,\n useFactory: FsHtmlEditorConfigFactory,\n deps: [FS_HTML_EDITOR_DEFAULT_CONFIG]\n }\n ]\n };\n }\n}\n\nexport function FsHtmlEditorConfigFactory(config: FsHtmlEditorConfig) {\n return {\n defaultPlugins: [\n DefaultPlugin.Align,\n DefaultPlugin.Colors,\n DefaultPlugin.Image,\n DefaultPlugin.Link,\n DefaultPlugin.Lists,\n DefaultPlugin.ParagraphFormat,\n DefaultPlugin.Quote,\n DefaultPlugin.Table,\n DefaultPlugin.Url,\n DefaultPlugin.Video,\n DefaultPlugin.Draggable,\n DefaultPlugin.FontSize,\n ],\n ...config\n };\n}\n","// import { FroalaEditor } from 'froala-editor';\nimport { PluginConfig } from './../interfaces/plugin-config';\n\nexport class Plugin {\n\n public config: PluginConfig;\n public editor: any;\n\n public initialize() {}\n public destroy() {}\n\n}\n","import { debounce } from 'lodash-es';\nimport Tribute, { TributeItem } from 'tributejs';\n\nimport { MentionPluginConfig } from './configs/mention-plugin.config';\n\nimport { Plugin } from '../classes/plugin';\n\n\nexport class MentionPlugin extends Plugin {\n\n private static _tributes = [];\n private _tribute;\n\n public constructor(public config: MentionPluginConfig) {\n super();\n this.config = {\n ...config,\n buttons: [\n {\n name: config.name,\n tooltip: config.tooltip,\n svgPath: config.iconPath,\n click: (editor) => {\n this._closeAll();\n this._tribute.showMenuForCollection(editor.el);\n }\n }\n ]\n };\n\n this._tribute = new Tribute({\n values: debounce(this._loadValues.bind(this), 200),\n searchOpts: {\n pre: '',\n post: '',\n skip: true\n },\n containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,\n itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,\n trigger: this.config.trigger,\n allowSpaces: true,\n menuItemTemplate: (item: TributeItem<any>) => {\n return this.config.menuItemTemplate(item.original);\n },\n selectTemplate: (item: TributeItem<any>) => {\n const template = this.config.selectedTemplate(item.original);\n\n let p = document.createElement('p');\n p.innerHTML = template;\n\n let node = p.firstElementChild;\n if (!node) {\n node = document.createElement('span');\n node.innerHTML = template;\n }\n\n node.setAttribute('contenteditable', 'false');\n node.classList.add('fr-deletable');\n\n return node.outerHTML;\n },\n });\n\n MentionPlugin._tributes.push(this._tribute);\n }\n\n public initialize() {\n this._tribute.attach(this.editor.el);\n this.editor.events.on('keydown', (e) => {\n if (e.key === 'Enter' && this._tribute.isActive) {\n return false;\n }\n }, true);\n }\n\n public destroy() {}\n\n private _closeAll() {\n MentionPlugin._tributes.forEach((tribute) => {\n if (tribute.menu) {\n tribute.hideMenu();\n }\n });\n }\n\n private _loadValues(keyword, cb) {\n return this.config.fetch(keyword)\n .subscribe((data) => {\n cb(data);\n });\n }\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class ChecklistPlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'checklist' }) {\n super();\n this.config = {\n ...config,\n name: 'checklist',\n buttons: [\n {\n name: 'checklist',\n svgPath: 'M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z',\n click: (editor) => {\n editor.html.insert('<ul class=\"checklist\"><li></li></ul>');\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('click', (e) => {\n const li = e.target;\n if (li.nodeName === 'LI' && e.offsetX < 0) {\n\n const items = [li, ...li.querySelectorAll('li')];\n\n if (li.classList.contains('checked')) {\n items.forEach((item) => {\n item.classList.remove('checked');\n });\n } else {\n items.forEach((item) => {\n item.classList.add('checked');\n });\n }\n }\n\n }, false);\n }\n\n}\n","import { Plugin } from '../classes/plugin';\n\nimport { PluginConfig } from './../interfaces/plugin-config';\n\n\nexport class CodePlugin extends Plugin {\n\n public constructor(public config: PluginConfig = { name: 'code' }) {\n super();\n this.config = {\n ...config,\n name: 'code',\n buttons: [\n {\n name: 'code',\n svgPath: 'M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z',\n click: (editor) => {\n const node = editor.selection.get();\n const codeEl = this._getCodeEl(node.baseNode);\n if (codeEl) {\n codeEl.classList.remove('code');\n } else {\n editor.html.insert('<p class=\"code\">' + editor.selection.get().toString().replace(/\\n{1,}/g,'<br>') + '</p>');\n }\n }\n }\n ]\n };\n }\n\n public initialize() {\n this.editor.events.on('keydown', (e) => {\n if (e.keyCode === 13) {\n const selection = this.editor.selection.get();\n\n if (selection && this._getCodeEl(selection.baseNode)) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n let br = '<br>';\n const base = selection.baseNode;\n if (base.nodeName === '#text' && selection.baseOffset === base.length) {\n\n if (!(base.nextSibling && base.nextSibling.nodeName === 'BR')) {\n br += '<br>';\n }\n } else {\n const el: any = Array.from(base.childNodes).splice(selection.baseOffset - 1, 1).pop();\n if (el && el.nodeName !== 'BR') {\n br += '<br>';\n }\n }\n\n this.editor.html.insert(br);\n return false;\n }\n }\n }, true);\n }\n\n public destroy() {}\n\n private _getCodeEl(el) {\n\n if (el) {\n if (el.classList && el.classList.contains('code')) {\n return el;\n }\n\n if (el.parentElement) {\n return this._getCodeEl(el.parentElement);\n }\n }\n\n return null;\n }\n}\n","import { ScreenRecordPluginConfig } from './configs/screen-record-plugin.config';\nimport { Plugin } from '../classes/plugin';\nimport { ResourceLoader } from '../utils/loader';\n\n\ndeclare var MediaRecorder: any;\n\nexport class ScreenRecordPlugin extends Plugin {\n\n private _activeEl;\n\n public constructor(public config: ScreenRecordPluginConfig = {}) {\n super();\n\n this.config = {\n ...config,\n name: config.name || 'screenRecord',\n buttons: [\n {\n name: 'screenRecord',\n 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`,\n tooltip: 'Screen Record',\n click: (editor) => {\n\n (<any>navigator).mediaDevices.getDisplayMedia({ video: true })\n .then((stream) => {\n const chunks = [];\n const options = { mimeType: 'video/webm; codecs=vp9' };\n let mediaRecorder = new MediaRecorder(stream, options);\n\n stream.addEventListener('inactive', (e) => {\n mediaRecorder.stop();\n mediaRecorder = null;\n stream.getTracks().forEach((track) => track.stop());\n stream = null;\n\n const blob = new Blob(chunks, { type: 'video/webm' });\n config.upload(blob)\n .subscribe((url) => {\n 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>`);\n });\n });\n\n mediaRecorder.addEventListener('dataavailable', (event) => {\n if (event.data && event.data.size > 0) {\n chunks.push(event.data);\n }\n });\n\n mediaRecorder.start(10);\n })\n .catch((e) => { });\n }\n }\n ]\n };\n }\n\n public async initialize() {\n await ResourceLoader.loadStyles('froala')\n .toPromise();\n\n const FroalaEditor = (window as any).FroalaEditor;\n\n this.editor.events.on('mouseup', (e) => {\n const el = this._getEl(e.target);\n\n if (el) {\n this.editor.popups.hideAll();\n this._activeEl = el;\n this._showPopup(el);\n }\n });\n\n FroalaEditor.POPUP_TEMPLATES[\"screenRecordPlugin.popup\"] = '[_BUTTONS_]';\n\n FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });\n FroalaEditor.RegisterCommand('popupClose', {\n title: 'Remove',\n undo: false,\n focus: false,\n callback: () => {\n if (this._activeEl) {\n this._activeEl.remove();\n }\n }\n });\n }\n\n private _createPopup() {\n\n const template = {\n buttons: `<div class=\"fr-buttons\">${this.editor.button.buildList(['popupClose'])}</div>`,\n };\n\n return this.editor.popups.create('screenRecordPlugin.popup', template);\n }\n\n private _showPopup (el) {\n var $popup = this.editor.popups.get('screenRecordPlugin.popup');\n\n if (!$popup) {\n $popup = this._createPopup();\n }\n\n this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));\n\n const left = el.offsetLeft + el.offsetWidth / 2;\n\n this.editor.popups.show('screenRecordPlugin.popup', left, null);\n }\n\n private _getEl(el) {\n if (el && el.classList) {\n if (el.classList.contains('fr-screen-record'))\n return el;\n\n return this._getEl(el.parentNode);\n }\n }\n}\n"],"names":["InjectionToken","Observable","shareReplay","BehaviorSubject","combineLatest","map","tap","concatMap","Optional","Inject","Injectable","ReplaySubject","Subject","takeUntil","merge","filter","switchMap","ChangeDetectorRef","HostBinding","ViewChild","ElementRef","Input","Component","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","ChangeDetectionStrategy","DomSanitizer","NgModule","CommonModule","FsSkeletonModule","debounce"],"mappings":"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"}
|