UNPKG

39.7 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@tinymce/tinymce-angular/TinyMCE.ts","ng://@tinymce/tinymce-angular/editor/Events.ts","ng://@tinymce/tinymce-angular/utils/Utils.ts","ng://@tinymce/tinymce-angular/utils/ScriptLoader.ts","ng://@tinymce/tinymce-angular/editor/editor.component.ts","ng://@tinymce/tinymce-angular/editor/editor.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","getTinymce","w","window","undefined","tinymce","Events","onBeforePaste","EventEmitter","onBlur","onClick","onContextMenu","onCopy","onCut","onDblclick","onDrag","onDragDrop","onDragEnd","onDragGesture","onDragOver","onDrop","onFocus","onFocusIn","onFocusOut","onKeyDown","onKeyPress","onKeyUp","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPaste","onSelectionChange","onActivate","onAddUndo","onBeforeAddUndo","onBeforeExecCommand","onBeforeGetContent","onBeforeRenderUI","onBeforeSetContent","onChange","onClearUndos","onDeactivate","onDirty","onExecCommand","onGetContent","onHide","onInit","onLoadContent","onNodeChange","onPostProcess","onPostRender","onPreInit","onPreProcess","onProgressState","onRedo","onRemove","onReset","onSaveContent","onSetAttrib","onObjectResizeStart","onObjectResized","onObjectSelected","onSetContent","onShow","onSubmit","onUndo","onVisualAid","Output","validEvents","bindHandlers","ctx","editor","forEach","eventName","eventEmitter","on","substring","event","ngZone","run","emit","unique","uuid","prefix","time","Date","getTime","Math","floor","random","String","isTextarea","element","tagName","toLowerCase","normalizePluginArray","plugins","isArray","split","mergePlugins","initPlugins","inputPlugins","concat","noop","isNullOrUndefined","value","createState","listeners","scriptId","scriptLoaded","CreateScriptLoader","state","load","doc","url","callback","push","getElementById","scriptTag","createElement","referrerPolicy","type","id","src","handler","removeEventListener","addEventListener","head","appendChild","injectScriptTag","fn","reinitialize","ScriptLoader","TINYMCE_SCRIPT_SRC","InjectionToken","EDITOR_COMPONENT_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","EditorComponent","multi","elementRef","platformId","tinymceScriptSrc","_this","_super","cloudChannel","apiKey","modelEvents","onTouchedCallback","onChangeCallback","_elementRef","initialise","bind","__","constructor","create","__extends","defineProperty","_disabled","val","_editor","initialized","setMode","writeValue","setContent","initialValue","registerOnChange","registerOnTouched","setDisabledState","isDisabled","init","readonly","ngAfterViewInit","isPlatformBrowser","inline","_element","ownerDocument","getScriptSrc","ngOnDestroy","remove","document","style","visibility","nativeElement","finalInit","target","disabled","toolbar","setup","e","initEditor","runOutsideAngular","getContent","format","outputFormat","ElementRef","NgZone","decorators","Inject","args","PLATFORM_ID","Optional","Component","selector","template","providers","Input","EditorModule","NgModule","imports","CommonModule","FormsModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = 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\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)) result[k] = mod[k];\r\n result.default = 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","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst getTinymce = () => {\n const w = typeof window !== 'undefined' ? (window as any) : undefined;\n return w && w.tinymce ? w.tinymce : null;\n};\n\nexport { getTinymce };\n","import { Output, EventEmitter } from '@angular/core';\n\nexport interface EventObj<T> {\n event: T;\n editor: any;\n}\n\nexport class Events {\n @Output() public onBeforePaste: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onBlur: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onClick: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onContextMenu: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onCopy: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onCut: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onDblclick: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onDrag: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragDrop: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragEnd: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragGesture: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragOver: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDrop: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onFocus: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onFocusIn: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onFocusOut: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onKeyDown: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onKeyPress: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onKeyUp: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onMouseDown: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseEnter: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseLeave: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseMove: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseOut: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseOver: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseUp: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onPaste: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onSelectionChange: EventEmitter<EventObj<Event>> = new EventEmitter();\n @Output() public onActivate: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onAddUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeAddUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeExecCommand: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeGetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeRenderUI: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeSetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onChange: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onClearUndos: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onDeactivate: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onDirty: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onExecCommand: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onGetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onHide: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onLoadContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onNodeChange: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPostProcess: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPostRender: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPreInit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPreProcess: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onProgressState: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onRedo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onRemove: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onReset: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSaveContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSetAttrib: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectResizeStart: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectResized: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectSelected: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onShow: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSubmit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onVisualAid: EventEmitter<EventObj<any>> = new EventEmitter();\n}\n\nexport const validEvents: (keyof Events)[] = [\n 'onActivate',\n 'onAddUndo',\n 'onBeforeAddUndo',\n 'onBeforeExecCommand',\n 'onBeforeGetContent',\n 'onBeforeRenderUI',\n 'onBeforeSetContent',\n 'onBeforePaste',\n 'onBlur',\n 'onChange',\n 'onClearUndos',\n 'onClick',\n 'onContextMenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onDeactivate',\n 'onDirty',\n 'onDrag',\n 'onDragDrop',\n 'onDragEnd',\n 'onDragGesture',\n 'onDragOver',\n 'onDrop',\n 'onExecCommand',\n 'onFocus',\n 'onFocusIn',\n 'onFocusOut',\n 'onGetContent',\n 'onHide',\n 'onInit',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onLoadContent',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onNodeChange',\n 'onObjectResizeStart',\n 'onObjectResized',\n 'onObjectSelected',\n 'onPaste',\n 'onPostProcess',\n 'onPostRender',\n 'onPreProcess',\n 'onProgressState',\n 'onRedo',\n 'onRemove',\n 'onReset',\n 'onSaveContent',\n 'onSelectionChange',\n 'onSetAttrib',\n 'onSetContent',\n 'onShow',\n 'onSubmit',\n 'onUndo',\n 'onVisualAid'\n];\n","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { EventEmitter } from '@angular/core';\nimport { EditorComponent } from '../editor/editor.component';\nimport { validEvents } from '../editor/Events';\n\nconst bindHandlers = (ctx: EditorComponent, editor: any): void => {\n validEvents.forEach((eventName) => {\n const eventEmitter: EventEmitter<any> = ctx[eventName];\n editor.on(eventName.substring(2), (event: any) => ctx.ngZone.run(() => eventEmitter.emit({ event, editor })));\n });\n};\n\nlet unique = 0;\n\nconst uuid = (prefix: string): string => {\n const date = new Date();\n const time = date.getTime();\n const random = Math.floor(Math.random() * 1000000000);\n\n unique++;\n\n return prefix + '_' + random + unique + String(time);\n};\n\nconst isTextarea = (element?: Element): element is HTMLTextAreaElement => {\n return typeof element !== 'undefined' && element.tagName.toLowerCase() === 'textarea';\n};\n\nconst normalizePluginArray = (plugins?: string | string[]): string[] => {\n if (typeof plugins === 'undefined' || plugins === '') {\n return [];\n }\n\n return Array.isArray(plugins) ? plugins : plugins.split(' ');\n};\n\nconst mergePlugins = (initPlugins: string | string[], inputPlugins?: string | string[]) =>\n normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));\n\n// tslint:disable-next-line:no-empty\nconst noop: (...args: any[]) => void = () => { };\n\nconst isNullOrUndefined = (value: any): value is null | undefined => value === null || value === undefined;\n\nexport {\n bindHandlers,\n uuid,\n isTextarea,\n normalizePluginArray,\n mergePlugins,\n noop,\n isNullOrUndefined\n};\n","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { uuid } from './Utils';\n\nexport type callbackFn = () => void;\nexport interface IStateObj {\n listeners: callbackFn[];\n scriptId: string;\n scriptLoaded: boolean;\n}\n\nconst createState = (): IStateObj => {\n return {\n listeners: [],\n scriptId: uuid('tiny-script'),\n scriptLoaded: false\n };\n};\n\ninterface ScriptLoader {\n load: (doc: Document, url: string, callback: callbackFn) => void;\n reinitialize: () => void;\n}\n\nconst CreateScriptLoader = (): ScriptLoader => {\n let state: IStateObj = createState();\n\n const injectScriptTag = (scriptId: string, doc: Document, url: string, callback: callbackFn) => {\n const scriptTag = doc.createElement('script');\n scriptTag.referrerPolicy = 'origin';\n scriptTag.type = 'application/javascript';\n scriptTag.id = scriptId;\n scriptTag.src = url;\n\n const handler = () => {\n scriptTag.removeEventListener('load', handler);\n callback();\n };\n scriptTag.addEventListener('load', handler);\n if (doc.head) {\n doc.head.appendChild(scriptTag);\n }\n };\n\n const load = (doc: Document, url: string, callback: callbackFn) => {\n if (state.scriptLoaded) {\n callback();\n } else {\n state.listeners.push(callback);\n if (!doc.getElementById(state.scriptId)) {\n injectScriptTag(state.scriptId, doc, url, () => {\n state.listeners.forEach((fn) => fn());\n state.scriptLoaded = true;\n });\n }\n }\n };\n\n // Only to be used by tests.\n const reinitialize = () => {\n state = createState();\n };\n\n return {\n load,\n reinitialize\n };\n};\n\nconst ScriptLoader = CreateScriptLoader();\n\nexport {\n ScriptLoader\n};","import { isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, forwardRef, Inject, Input, NgZone, OnDestroy, PLATFORM_ID, InjectionToken, Optional } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getTinymce } from '../TinyMCE';\nimport { bindHandlers, isTextarea, mergePlugins, uuid, noop, isNullOrUndefined } from '../utils/Utils';\nimport { Events } from './Events';\nimport { ScriptLoader } from '../utils/ScriptLoader';\n\nexport const TINYMCE_SCRIPT_SRC = new InjectionToken<string>('TINYMCE_SCRIPT_SRC');\n\nconst EDITOR_COMPONENT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditorComponent),\n multi: true\n};\n\n@Component({\n selector: 'editor',\n template: '<ng-template></ng-template>',\n styles: [':host { display: block; }'],\n providers: [EDITOR_COMPONENT_VALUE_ACCESSOR]\n})\nexport class EditorComponent extends Events implements AfterViewInit, ControlValueAccessor, OnDestroy {\n\n @Input()\n set disabled(val) {\n this._disabled = val;\n if (this._editor && this._editor.initialized) {\n this._editor.setMode(val ? 'readonly' : 'design');\n }\n }\n\n get disabled() {\n return this._disabled;\n }\n\n get editor() {\n return this._editor;\n }\n\n public ngZone: NgZone;\n\n @Input() public cloudChannel = '5';\n @Input() public apiKey = 'no-api-key';\n @Input() public init: Record<string, any> | undefined;\n @Input() public id = '';\n @Input() public initialValue: string | undefined;\n @Input() public outputFormat: 'html' | 'text' | undefined;\n @Input() public inline: boolean | undefined;\n @Input() public tagName: string | undefined;\n @Input() public plugins: string | undefined;\n @Input() public toolbar: string | string[] | undefined;\n @Input() public modelEvents = 'change keyup undo redo';\n\n private _elementRef: ElementRef;\n private _element: Element | undefined;\n private _disabled: boolean | undefined;\n private _editor: any;\n\n private onTouchedCallback = noop;\n private onChangeCallback = noop;\n\nconstructor(\n elementRef: ElementRef,\n ngZone: NgZone,\n @Inject(PLATFORM_ID) private platformId: Object,\n @Optional() @Inject(TINYMCE_SCRIPT_SRC) private tinymceScriptSrc?: string\n ) {\n super();\n this._elementRef = elementRef;\n this.ngZone = ngZone;\n this.initialise = this.initialise.bind(this);\n }\n\n public writeValue(value: string | null): void {\n if (this._editor && this._editor.initialized) {\n this._editor.setContent(isNullOrUndefined(value) ? '' : value);\n } else {\n this.initialValue = value === null ? undefined : value;\n }\n }\n\n public registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n public setDisabledState(isDisabled: boolean) {\n if (this._editor) {\n this._editor.setMode(isDisabled ? 'readonly' : 'design');\n } else if (isDisabled) {\n this.init = { ...this.init, readonly: true };\n }\n }\n\n public ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.id = this.id || uuid('tiny-angular');\n this.inline =\n typeof this.inline !== 'undefined' ? (typeof this.inline === 'boolean' ? this.inline : true) : this.init && this.init.inline;\n this.createElement();\n if (getTinymce() !== null) {\n this.initialise();\n } else if (this._element && this._element.ownerDocument) {\n ScriptLoader.load(\n this._element.ownerDocument,\n this.getScriptSrc(),\n this.initialise\n );\n }\n }\n }\n\n public ngOnDestroy() {\n if (getTinymce() !== null) {\n getTinymce().remove(this._editor);\n }\n }\n\n public createElement() {\n const tagName = typeof this.tagName === 'string' ? this.tagName : 'div';\n this._element = document.createElement(this.inline ? tagName : 'textarea');\n if (this._element) {\n this._element.id = this.id;\n if (isTextarea(this._element)) {\n this._element.style.visibility = 'hidden';\n }\n this._elementRef.nativeElement.appendChild(this._element);\n }\n }\n\n public initialise() {\n const finalInit = {\n ...this.init,\n target: this._element,\n inline: this.inline,\n readonly: this.disabled,\n plugins: mergePlugins(this.init && this.init.plugins, this.plugins),\n toolbar: this.toolbar || (this.init && this.init.toolbar),\n setup: (editor: any) => {\n this._editor = editor;\n editor.on('init', (e: Event) => {\n this.initEditor(editor);\n });\n bindHandlers(this, editor);\n\n if (this.init && typeof this.init.setup === 'function') {\n this.init.setup(editor);\n }\n }\n };\n\n if (isTextarea(this._element)) {\n this._element.style.visibility = '';\n }\n\n this.ngZone.runOutsideAngular(() => {\n getTinymce().init(finalInit);\n });\n }\n\n private getScriptSrc() {\n return isNullOrUndefined(this.tinymceScriptSrc) ?\n `https://cdn.tiny.cloud/1/${this.apiKey}/tinymce/${this.cloudChannel}/tinymce.min.js` :\n this.tinymceScriptSrc;\n }\n\n private initEditor(editor: any) {\n editor.on('blur', () => this.ngZone.run(() => this.onTouchedCallback()));\n editor.on(this.modelEvents, () => {\n this.ngZone.run(() => this.onChangeCallback(editor.getContent({ format: this.outputFormat })));\n });\n if (typeof this.initialValue === 'string') {\n this.ngZone.run(() => {\n editor.setContent(this.initialValue);\n this.onChangeCallback(editor.getContent({ format: this.outputFormat }));\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { EditorComponent } from './editor.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [EditorComponent],\n exports: [EditorComponent]\n})\nexport class EditorModule {}\n"]}
\No newline at end of file