@tinymce/tinymce-angular 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -222,12 +222,29 @@ const validEvents = [
222
222
  *
223
223
  */
224
224
  const bindHandlers = (ctx, editor) => {
225
- validEvents.forEach((eventName) => {
225
+ const allowedEvents = getValidEvents(ctx);
226
+ allowedEvents.forEach((eventName) => {
226
227
  const eventEmitter = ctx[eventName];
227
228
  editor.on(eventName.substring(2), (event) => ctx.ngZone.run(() => eventEmitter.emit({ event, editor })));
228
229
  });
229
230
  };
230
231
  const ɵ0$1 = bindHandlers;
232
+ const getValidEvents = (ctx) => {
233
+ const ignoredEvents = parseStringProperty(ctx.ignoreEvents, []);
234
+ const allowedEvents = parseStringProperty(ctx.allowedEvents, validEvents).filter((event) => validEvents.includes(event) && !ignoredEvents.includes(event));
235
+ return allowedEvents;
236
+ };
237
+ const ɵ1 = getValidEvents;
238
+ const parseStringProperty = (property, defaultValue) => {
239
+ if (typeof property === 'string') {
240
+ return property.split(',').map((value) => value.trim());
241
+ }
242
+ if (Array.isArray(property)) {
243
+ return property;
244
+ }
245
+ return defaultValue;
246
+ };
247
+ const ɵ2 = parseStringProperty;
231
248
  let unique = 0;
232
249
  const uuid = (prefix) => {
233
250
  const date = new Date();
@@ -236,25 +253,25 @@ const uuid = (prefix) => {
236
253
  unique++;
237
254
  return prefix + '_' + random + unique + String(time);
238
255
  };
239
- const ɵ1 = uuid;
256
+ const ɵ3 = uuid;
240
257
  const isTextarea = (element) => {
241
258
  return typeof element !== 'undefined' && element.tagName.toLowerCase() === 'textarea';
242
259
  };
243
- const ɵ2 = isTextarea;
260
+ const ɵ4 = isTextarea;
244
261
  const normalizePluginArray = (plugins) => {
245
262
  if (typeof plugins === 'undefined' || plugins === '') {
246
263
  return [];
247
264
  }
248
265
  return Array.isArray(plugins) ? plugins : plugins.split(' ');
249
266
  };
250
- const ɵ3 = normalizePluginArray;
267
+ const ɵ5 = normalizePluginArray;
251
268
  const mergePlugins = (initPlugins, inputPlugins) => normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
252
- const ɵ4 = mergePlugins;
269
+ const ɵ6 = mergePlugins;
253
270
  // tslint:disable-next-line:no-empty
254
271
  const noop = () => { };
255
- const ɵ5 = noop;
272
+ const ɵ7 = noop;
256
273
  const isNullOrUndefined = (value) => value === null || value === undefined;
257
- const ɵ6 = isNullOrUndefined;
274
+ const ɵ8 = isNullOrUndefined;
258
275
 
259
276
  /**
260
277
  * Copyright (c) 2017-present, Ephox, Inc.
@@ -430,7 +447,9 @@ class EditorComponent extends Events {
430
447
  if (typeof this.initialValue === 'string') {
431
448
  this.ngZone.run(() => {
432
449
  editor.setContent(this.initialValue);
433
- this.onChangeCallback(editor.getContent({ format: this.outputFormat }));
450
+ if (editor.getContent() !== this.initialValue) {
451
+ this.onChangeCallback(editor.getContent({ format: this.outputFormat }));
452
+ }
434
453
  if (this.onInitNgModel !== undefined) {
435
454
  this.onInitNgModel.emit(editor);
436
455
  }
@@ -470,7 +489,9 @@ EditorComponent.propDecorators = {
470
489
  tagName: [{ type: Input }],
471
490
  plugins: [{ type: Input }],
472
491
  toolbar: [{ type: Input }],
473
- modelEvents: [{ type: Input }]
492
+ modelEvents: [{ type: Input }],
493
+ allowedEvents: [{ type: Input }],
494
+ ignoreEvents: [{ type: Input }]
474
495
  };
475
496
 
476
497
  class EditorModule {
@@ -1 +1 @@
1
- {"version":3,"file":"tinymce-tinymce-angular.js","sources":["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","ng://@tinymce/tinymce-angular/tinymce-tinymce-angular.ts"],"sourcesContent":["/**\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 onInitNgModel: 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 input 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 if (this.onInitNgModel !== undefined) {\n this.onInitNgModel.emit(editor);\n }\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {Events as ɵa} from './editor/Events';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tinymce-tinymce-angular.js","sources":["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","ng://@tinymce/tinymce-angular/tinymce-tinymce-angular.ts"],"sourcesContent":["/**\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 onInitNgModel: 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, Events } from '../editor/Events';\n\nconst bindHandlers = (ctx: EditorComponent, editor: any): void => {\n const allowedEvents = getValidEvents(ctx);\n allowedEvents.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\nconst getValidEvents = (ctx: EditorComponent): (keyof Events)[] => {\n const ignoredEvents = parseStringProperty(ctx.ignoreEvents, []);\n const allowedEvents = parseStringProperty(ctx.allowedEvents, validEvents).filter(\n (event) => validEvents.includes(event as (keyof Events)) && !ignoredEvents.includes(event)) as (keyof Events)[];\n return allowedEvents;\n}\n\nconst parseStringProperty = (property: string | string[] | undefined, defaultValue: (keyof Events)[]): string[] => {\n if ( typeof property === 'string') {\n return property.split(',').map((value) => value.trim());\n }\n if ( Array.isArray(property)) {\n return property;\n }\n return defaultValue;\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 input undo redo';\n @Input() public allowedEvents: string | string[] | undefined;\n @Input() public ignoreEvents: string | string[] | undefined;\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 if (editor.getContent() !== this.initialValue) {\n this.onChangeCallback(editor.getContent({ format: this.outputFormat }));\n }\n if (this.onInitNgModel !== undefined) {\n this.onInitNgModel.emit(editor);\n }\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {Events as ɵa} from './editor/Events';"],"names":[],"mappings":"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"}
@@ -224,12 +224,29 @@ var validEvents = [
224
224
  *
225
225
  */
226
226
  var bindHandlers = function (ctx, editor) {
227
- validEvents.forEach(function (eventName) {
227
+ var allowedEvents = getValidEvents(ctx);
228
+ allowedEvents.forEach(function (eventName) {
228
229
  var eventEmitter = ctx[eventName];
229
230
  editor.on(eventName.substring(2), function (event) { return ctx.ngZone.run(function () { return eventEmitter.emit({ event: event, editor: editor }); }); });
230
231
  });
231
232
  };
232
233
  var ɵ0$1 = bindHandlers;
234
+ var getValidEvents = function (ctx) {
235
+ var ignoredEvents = parseStringProperty(ctx.ignoreEvents, []);
236
+ var allowedEvents = parseStringProperty(ctx.allowedEvents, validEvents).filter(function (event) { return validEvents.includes(event) && !ignoredEvents.includes(event); });
237
+ return allowedEvents;
238
+ };
239
+ var ɵ1 = getValidEvents;
240
+ var parseStringProperty = function (property, defaultValue) {
241
+ if (typeof property === 'string') {
242
+ return property.split(',').map(function (value) { return value.trim(); });
243
+ }
244
+ if (Array.isArray(property)) {
245
+ return property;
246
+ }
247
+ return defaultValue;
248
+ };
249
+ var ɵ2 = parseStringProperty;
233
250
  var unique = 0;
234
251
  var uuid = function (prefix) {
235
252
  var date = new Date();
@@ -238,27 +255,27 @@ var uuid = function (prefix) {
238
255
  unique++;
239
256
  return prefix + '_' + random + unique + String(time);
240
257
  };
241
- var ɵ1 = uuid;
258
+ var ɵ3 = uuid;
242
259
  var isTextarea = function (element) {
243
260
  return typeof element !== 'undefined' && element.tagName.toLowerCase() === 'textarea';
244
261
  };
245
- var ɵ2 = isTextarea;
262
+ var ɵ4 = isTextarea;
246
263
  var normalizePluginArray = function (plugins) {
247
264
  if (typeof plugins === 'undefined' || plugins === '') {
248
265
  return [];
249
266
  }
250
267
  return Array.isArray(plugins) ? plugins : plugins.split(' ');
251
268
  };
252
- var ɵ3 = normalizePluginArray;
269
+ var ɵ5 = normalizePluginArray;
253
270
  var mergePlugins = function (initPlugins, inputPlugins) {
254
271
  return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
255
272
  };
256
- var ɵ4 = mergePlugins;
273
+ var ɵ6 = mergePlugins;
257
274
  // tslint:disable-next-line:no-empty
258
275
  var noop = function () { };
259
- var ɵ5 = noop;
276
+ var ɵ7 = noop;
260
277
  var isNullOrUndefined = function (value) { return value === null || value === undefined; };
261
- var ɵ6 = isNullOrUndefined;
278
+ var ɵ8 = isNullOrUndefined;
262
279
 
263
280
  /**
264
281
  * Copyright (c) 2017-present, Ephox, Inc.
@@ -446,7 +463,9 @@ var EditorComponent = /** @class */ (function (_super) {
446
463
  if (typeof this.initialValue === 'string') {
447
464
  this.ngZone.run(function () {
448
465
  editor.setContent(_this.initialValue);
449
- _this.onChangeCallback(editor.getContent({ format: _this.outputFormat }));
466
+ if (editor.getContent() !== _this.initialValue) {
467
+ _this.onChangeCallback(editor.getContent({ format: _this.outputFormat }));
468
+ }
450
469
  if (_this.onInitNgModel !== undefined) {
451
470
  _this.onInitNgModel.emit(editor);
452
471
  }
@@ -485,7 +504,9 @@ var EditorComponent = /** @class */ (function (_super) {
485
504
  tagName: [{ type: Input }],
486
505
  plugins: [{ type: Input }],
487
506
  toolbar: [{ type: Input }],
488
- modelEvents: [{ type: Input }]
507
+ modelEvents: [{ type: Input }],
508
+ allowedEvents: [{ type: Input }],
509
+ ignoreEvents: [{ type: Input }]
489
510
  };
490
511
  return EditorComponent;
491
512
  }(Events));
@@ -1 +1 @@
1
- {"version":3,"file":"tinymce-tinymce-angular.js","sources":["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","ng://@tinymce/tinymce-angular/tinymce-tinymce-angular.ts"],"sourcesContent":["/**\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 onInitNgModel: 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 input 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 if (this.onInitNgModel !== undefined) {\n this.onInitNgModel.emit(editor);\n }\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {Events as ɵa} from './editor/Events';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tinymce-tinymce-angular.js","sources":["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","ng://@tinymce/tinymce-angular/tinymce-tinymce-angular.ts"],"sourcesContent":["/**\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 onInitNgModel: 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, Events } from '../editor/Events';\n\nconst bindHandlers = (ctx: EditorComponent, editor: any): void => {\n const allowedEvents = getValidEvents(ctx);\n allowedEvents.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\nconst getValidEvents = (ctx: EditorComponent): (keyof Events)[] => {\n const ignoredEvents = parseStringProperty(ctx.ignoreEvents, []);\n const allowedEvents = parseStringProperty(ctx.allowedEvents, validEvents).filter(\n (event) => validEvents.includes(event as (keyof Events)) && !ignoredEvents.includes(event)) as (keyof Events)[];\n return allowedEvents;\n}\n\nconst parseStringProperty = (property: string | string[] | undefined, defaultValue: (keyof Events)[]): string[] => {\n if ( typeof property === 'string') {\n return property.split(',').map((value) => value.trim());\n }\n if ( Array.isArray(property)) {\n return property;\n }\n return defaultValue;\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 input undo redo';\n @Input() public allowedEvents: string | string[] | undefined;\n @Input() public ignoreEvents: string | string[] | undefined;\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 if (editor.getContent() !== this.initialValue) {\n this.onChangeCallback(editor.getContent({ format: this.outputFormat }));\n }\n if (this.onInitNgModel !== undefined) {\n this.onInitNgModel.emit(editor);\n }\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {Events as ɵa} from './editor/Events';"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tinymce/tinymce-angular",
3
3
  "description": "Official TinyMCE Angular Component",
4
- "version": "4.1.0",
4
+ "version": "4.2.0",
5
5
  "repository": "https://github.com/tinymce/tinymce-angular.git",
6
6
  "author": "Tiny Technologies",
7
7
  "license": "Apache-2.0",