@tinymce/tinymce-angular 3.6.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.
@@ -1,5 +1,4 @@
1
- import { __decorate, __param } from 'tslib';
2
- import { EventEmitter, Output, InjectionToken, forwardRef, ElementRef, NgZone, Inject, PLATFORM_ID, Optional, Input, Component, NgModule } from '@angular/core';
1
+ import { EventEmitter, Output, InjectionToken, forwardRef, ElementRef, NgZone, Inject, PLATFORM_ID, Optional, Component, Input, NgModule } from '@angular/core';
3
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
4
3
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
4
 
@@ -61,6 +60,7 @@ class Events {
61
60
  this.onGetContent = new EventEmitter();
62
61
  this.onHide = new EventEmitter();
63
62
  this.onInit = new EventEmitter();
63
+ this.onInitNgModel = new EventEmitter();
64
64
  this.onLoadContent = new EventEmitter();
65
65
  this.onNodeChange = new EventEmitter();
66
66
  this.onPostProcess = new EventEmitter();
@@ -83,195 +83,72 @@ class Events {
83
83
  this.onVisualAid = new EventEmitter();
84
84
  }
85
85
  }
86
- __decorate([
87
- Output()
88
- ], Events.prototype, "onBeforePaste", void 0);
89
- __decorate([
90
- Output()
91
- ], Events.prototype, "onBlur", void 0);
92
- __decorate([
93
- Output()
94
- ], Events.prototype, "onClick", void 0);
95
- __decorate([
96
- Output()
97
- ], Events.prototype, "onContextMenu", void 0);
98
- __decorate([
99
- Output()
100
- ], Events.prototype, "onCopy", void 0);
101
- __decorate([
102
- Output()
103
- ], Events.prototype, "onCut", void 0);
104
- __decorate([
105
- Output()
106
- ], Events.prototype, "onDblclick", void 0);
107
- __decorate([
108
- Output()
109
- ], Events.prototype, "onDrag", void 0);
110
- __decorate([
111
- Output()
112
- ], Events.prototype, "onDragDrop", void 0);
113
- __decorate([
114
- Output()
115
- ], Events.prototype, "onDragEnd", void 0);
116
- __decorate([
117
- Output()
118
- ], Events.prototype, "onDragGesture", void 0);
119
- __decorate([
120
- Output()
121
- ], Events.prototype, "onDragOver", void 0);
122
- __decorate([
123
- Output()
124
- ], Events.prototype, "onDrop", void 0);
125
- __decorate([
126
- Output()
127
- ], Events.prototype, "onFocus", void 0);
128
- __decorate([
129
- Output()
130
- ], Events.prototype, "onFocusIn", void 0);
131
- __decorate([
132
- Output()
133
- ], Events.prototype, "onFocusOut", void 0);
134
- __decorate([
135
- Output()
136
- ], Events.prototype, "onKeyDown", void 0);
137
- __decorate([
138
- Output()
139
- ], Events.prototype, "onKeyPress", void 0);
140
- __decorate([
141
- Output()
142
- ], Events.prototype, "onKeyUp", void 0);
143
- __decorate([
144
- Output()
145
- ], Events.prototype, "onMouseDown", void 0);
146
- __decorate([
147
- Output()
148
- ], Events.prototype, "onMouseEnter", void 0);
149
- __decorate([
150
- Output()
151
- ], Events.prototype, "onMouseLeave", void 0);
152
- __decorate([
153
- Output()
154
- ], Events.prototype, "onMouseMove", void 0);
155
- __decorate([
156
- Output()
157
- ], Events.prototype, "onMouseOut", void 0);
158
- __decorate([
159
- Output()
160
- ], Events.prototype, "onMouseOver", void 0);
161
- __decorate([
162
- Output()
163
- ], Events.prototype, "onMouseUp", void 0);
164
- __decorate([
165
- Output()
166
- ], Events.prototype, "onPaste", void 0);
167
- __decorate([
168
- Output()
169
- ], Events.prototype, "onSelectionChange", void 0);
170
- __decorate([
171
- Output()
172
- ], Events.prototype, "onActivate", void 0);
173
- __decorate([
174
- Output()
175
- ], Events.prototype, "onAddUndo", void 0);
176
- __decorate([
177
- Output()
178
- ], Events.prototype, "onBeforeAddUndo", void 0);
179
- __decorate([
180
- Output()
181
- ], Events.prototype, "onBeforeExecCommand", void 0);
182
- __decorate([
183
- Output()
184
- ], Events.prototype, "onBeforeGetContent", void 0);
185
- __decorate([
186
- Output()
187
- ], Events.prototype, "onBeforeRenderUI", void 0);
188
- __decorate([
189
- Output()
190
- ], Events.prototype, "onBeforeSetContent", void 0);
191
- __decorate([
192
- Output()
193
- ], Events.prototype, "onChange", void 0);
194
- __decorate([
195
- Output()
196
- ], Events.prototype, "onClearUndos", void 0);
197
- __decorate([
198
- Output()
199
- ], Events.prototype, "onDeactivate", void 0);
200
- __decorate([
201
- Output()
202
- ], Events.prototype, "onDirty", void 0);
203
- __decorate([
204
- Output()
205
- ], Events.prototype, "onExecCommand", void 0);
206
- __decorate([
207
- Output()
208
- ], Events.prototype, "onGetContent", void 0);
209
- __decorate([
210
- Output()
211
- ], Events.prototype, "onHide", void 0);
212
- __decorate([
213
- Output()
214
- ], Events.prototype, "onInit", void 0);
215
- __decorate([
216
- Output()
217
- ], Events.prototype, "onLoadContent", void 0);
218
- __decorate([
219
- Output()
220
- ], Events.prototype, "onNodeChange", void 0);
221
- __decorate([
222
- Output()
223
- ], Events.prototype, "onPostProcess", void 0);
224
- __decorate([
225
- Output()
226
- ], Events.prototype, "onPostRender", void 0);
227
- __decorate([
228
- Output()
229
- ], Events.prototype, "onPreInit", void 0);
230
- __decorate([
231
- Output()
232
- ], Events.prototype, "onPreProcess", void 0);
233
- __decorate([
234
- Output()
235
- ], Events.prototype, "onProgressState", void 0);
236
- __decorate([
237
- Output()
238
- ], Events.prototype, "onRedo", void 0);
239
- __decorate([
240
- Output()
241
- ], Events.prototype, "onRemove", void 0);
242
- __decorate([
243
- Output()
244
- ], Events.prototype, "onReset", void 0);
245
- __decorate([
246
- Output()
247
- ], Events.prototype, "onSaveContent", void 0);
248
- __decorate([
249
- Output()
250
- ], Events.prototype, "onSetAttrib", void 0);
251
- __decorate([
252
- Output()
253
- ], Events.prototype, "onObjectResizeStart", void 0);
254
- __decorate([
255
- Output()
256
- ], Events.prototype, "onObjectResized", void 0);
257
- __decorate([
258
- Output()
259
- ], Events.prototype, "onObjectSelected", void 0);
260
- __decorate([
261
- Output()
262
- ], Events.prototype, "onSetContent", void 0);
263
- __decorate([
264
- Output()
265
- ], Events.prototype, "onShow", void 0);
266
- __decorate([
267
- Output()
268
- ], Events.prototype, "onSubmit", void 0);
269
- __decorate([
270
- Output()
271
- ], Events.prototype, "onUndo", void 0);
272
- __decorate([
273
- Output()
274
- ], Events.prototype, "onVisualAid", void 0);
86
+ Events.propDecorators = {
87
+ onBeforePaste: [{ type: Output }],
88
+ onBlur: [{ type: Output }],
89
+ onClick: [{ type: Output }],
90
+ onContextMenu: [{ type: Output }],
91
+ onCopy: [{ type: Output }],
92
+ onCut: [{ type: Output }],
93
+ onDblclick: [{ type: Output }],
94
+ onDrag: [{ type: Output }],
95
+ onDragDrop: [{ type: Output }],
96
+ onDragEnd: [{ type: Output }],
97
+ onDragGesture: [{ type: Output }],
98
+ onDragOver: [{ type: Output }],
99
+ onDrop: [{ type: Output }],
100
+ onFocus: [{ type: Output }],
101
+ onFocusIn: [{ type: Output }],
102
+ onFocusOut: [{ type: Output }],
103
+ onKeyDown: [{ type: Output }],
104
+ onKeyPress: [{ type: Output }],
105
+ onKeyUp: [{ type: Output }],
106
+ onMouseDown: [{ type: Output }],
107
+ onMouseEnter: [{ type: Output }],
108
+ onMouseLeave: [{ type: Output }],
109
+ onMouseMove: [{ type: Output }],
110
+ onMouseOut: [{ type: Output }],
111
+ onMouseOver: [{ type: Output }],
112
+ onMouseUp: [{ type: Output }],
113
+ onPaste: [{ type: Output }],
114
+ onSelectionChange: [{ type: Output }],
115
+ onActivate: [{ type: Output }],
116
+ onAddUndo: [{ type: Output }],
117
+ onBeforeAddUndo: [{ type: Output }],
118
+ onBeforeExecCommand: [{ type: Output }],
119
+ onBeforeGetContent: [{ type: Output }],
120
+ onBeforeRenderUI: [{ type: Output }],
121
+ onBeforeSetContent: [{ type: Output }],
122
+ onChange: [{ type: Output }],
123
+ onClearUndos: [{ type: Output }],
124
+ onDeactivate: [{ type: Output }],
125
+ onDirty: [{ type: Output }],
126
+ onExecCommand: [{ type: Output }],
127
+ onGetContent: [{ type: Output }],
128
+ onHide: [{ type: Output }],
129
+ onInit: [{ type: Output }],
130
+ onInitNgModel: [{ type: Output }],
131
+ onLoadContent: [{ type: Output }],
132
+ onNodeChange: [{ type: Output }],
133
+ onPostProcess: [{ type: Output }],
134
+ onPostRender: [{ type: Output }],
135
+ onPreInit: [{ type: Output }],
136
+ onPreProcess: [{ type: Output }],
137
+ onProgressState: [{ type: Output }],
138
+ onRedo: [{ type: Output }],
139
+ onRemove: [{ type: Output }],
140
+ onReset: [{ type: Output }],
141
+ onSaveContent: [{ type: Output }],
142
+ onSetAttrib: [{ type: Output }],
143
+ onObjectResizeStart: [{ type: Output }],
144
+ onObjectResized: [{ type: Output }],
145
+ onObjectSelected: [{ type: Output }],
146
+ onSetContent: [{ type: Output }],
147
+ onShow: [{ type: Output }],
148
+ onSubmit: [{ type: Output }],
149
+ onUndo: [{ type: Output }],
150
+ onVisualAid: [{ type: Output }]
151
+ };
275
152
  const validEvents = [
276
153
  'onActivate',
277
154
  'onAddUndo',
@@ -345,12 +222,29 @@ const validEvents = [
345
222
  *
346
223
  */
347
224
  const bindHandlers = (ctx, editor) => {
348
- validEvents.forEach((eventName) => {
225
+ const allowedEvents = getValidEvents(ctx);
226
+ allowedEvents.forEach((eventName) => {
349
227
  const eventEmitter = ctx[eventName];
350
228
  editor.on(eventName.substring(2), (event) => ctx.ngZone.run(() => eventEmitter.emit({ event, editor })));
351
229
  });
352
230
  };
353
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;
354
248
  let unique = 0;
355
249
  const uuid = (prefix) => {
356
250
  const date = new Date();
@@ -359,25 +253,25 @@ const uuid = (prefix) => {
359
253
  unique++;
360
254
  return prefix + '_' + random + unique + String(time);
361
255
  };
362
- const ɵ1 = uuid;
256
+ const ɵ3 = uuid;
363
257
  const isTextarea = (element) => {
364
258
  return typeof element !== 'undefined' && element.tagName.toLowerCase() === 'textarea';
365
259
  };
366
- const ɵ2 = isTextarea;
260
+ const ɵ4 = isTextarea;
367
261
  const normalizePluginArray = (plugins) => {
368
262
  if (typeof plugins === 'undefined' || plugins === '') {
369
263
  return [];
370
264
  }
371
265
  return Array.isArray(plugins) ? plugins : plugins.split(' ');
372
266
  };
373
- const ɵ3 = normalizePluginArray;
267
+ const ɵ5 = normalizePluginArray;
374
268
  const mergePlugins = (initPlugins, inputPlugins) => normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
375
- const ɵ4 = mergePlugins;
269
+ const ɵ6 = mergePlugins;
376
270
  // tslint:disable-next-line:no-empty
377
271
  const noop = () => { };
378
- const ɵ5 = noop;
272
+ const ɵ7 = noop;
379
273
  const isNullOrUndefined = (value) => value === null || value === undefined;
380
- const ɵ6 = isNullOrUndefined;
274
+ const ɵ8 = isNullOrUndefined;
381
275
 
382
276
  /**
383
277
  * Copyright (c) 2017-present, Ephox, Inc.
@@ -443,7 +337,7 @@ const EDITOR_COMPONENT_VALUE_ACCESSOR = {
443
337
  useExisting: forwardRef(() => EditorComponent),
444
338
  multi: true
445
339
  };
446
- let EditorComponent = class EditorComponent extends Events {
340
+ class EditorComponent extends Events {
447
341
  constructor(elementRef, ngZone, platformId, tinymceScriptSrc) {
448
342
  super();
449
343
  this.platformId = platformId;
@@ -451,7 +345,7 @@ let EditorComponent = class EditorComponent extends Events {
451
345
  this.cloudChannel = '5';
452
346
  this.apiKey = 'no-api-key';
453
347
  this.id = '';
454
- this.modelEvents = 'change keyup undo redo';
348
+ this.modelEvents = 'change input undo redo';
455
349
  this.onTouchedCallback = noop;
456
350
  this.onChangeCallback = noop;
457
351
  this._elementRef = elementRef;
@@ -489,7 +383,7 @@ let EditorComponent = class EditorComponent extends Events {
489
383
  this._editor.setMode(isDisabled ? 'readonly' : 'design');
490
384
  }
491
385
  else if (isDisabled) {
492
- this.init = Object.assign({}, this.init, { readonly: true });
386
+ this.init = Object.assign(Object.assign({}, this.init), { readonly: true });
493
387
  }
494
388
  }
495
389
  ngAfterViewInit() {
@@ -523,7 +417,7 @@ let EditorComponent = class EditorComponent extends Events {
523
417
  }
524
418
  }
525
419
  initialise() {
526
- const finalInit = Object.assign({}, this.init, { target: this._element, inline: this.inline, readonly: this.disabled, plugins: mergePlugins(this.init && this.init.plugins, this.plugins), toolbar: this.toolbar || (this.init && this.init.toolbar), setup: (editor) => {
420
+ const finalInit = Object.assign(Object.assign({}, this.init), { target: this._element, inline: this.inline, readonly: this.disabled, plugins: mergePlugins(this.init && this.init.plugins, this.plugins), toolbar: this.toolbar || (this.init && this.init.toolbar), setup: (editor) => {
527
421
  this._editor = editor;
528
422
  editor.on('init', (e) => {
529
423
  this.initEditor(editor);
@@ -551,72 +445,64 @@ let EditorComponent = class EditorComponent extends Events {
551
445
  this.ngZone.run(() => this.onChangeCallback(editor.getContent({ format: this.outputFormat })));
552
446
  });
553
447
  if (typeof this.initialValue === 'string') {
554
- this.ngZone.run(() => editor.setContent(this.initialValue));
448
+ this.ngZone.run(() => {
449
+ editor.setContent(this.initialValue);
450
+ if (editor.getContent() !== this.initialValue) {
451
+ this.onChangeCallback(editor.getContent({ format: this.outputFormat }));
452
+ }
453
+ if (this.onInitNgModel !== undefined) {
454
+ this.onInitNgModel.emit(editor);
455
+ }
456
+ });
555
457
  }
556
458
  }
557
- };
459
+ }
558
460
  EditorComponent.ctorParameters = () => [
559
461
  { type: ElementRef },
560
462
  { type: NgZone },
561
463
  { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
562
464
  { type: String, decorators: [{ type: Optional }, { type: Inject, args: [TINYMCE_SCRIPT_SRC,] }] }
563
465
  ];
564
- __decorate([
565
- Input()
566
- ], EditorComponent.prototype, "disabled", null);
567
- __decorate([
568
- Input()
569
- ], EditorComponent.prototype, "cloudChannel", void 0);
570
- __decorate([
571
- Input()
572
- ], EditorComponent.prototype, "apiKey", void 0);
573
- __decorate([
574
- Input()
575
- ], EditorComponent.prototype, "init", void 0);
576
- __decorate([
577
- Input()
578
- ], EditorComponent.prototype, "id", void 0);
579
- __decorate([
580
- Input()
581
- ], EditorComponent.prototype, "initialValue", void 0);
582
- __decorate([
583
- Input()
584
- ], EditorComponent.prototype, "outputFormat", void 0);
585
- __decorate([
586
- Input()
587
- ], EditorComponent.prototype, "inline", void 0);
588
- __decorate([
589
- Input()
590
- ], EditorComponent.prototype, "tagName", void 0);
591
- __decorate([
592
- Input()
593
- ], EditorComponent.prototype, "plugins", void 0);
594
- __decorate([
595
- Input()
596
- ], EditorComponent.prototype, "toolbar", void 0);
597
- __decorate([
598
- Input()
599
- ], EditorComponent.prototype, "modelEvents", void 0);
600
- EditorComponent = __decorate([
601
- Component({
602
- selector: 'editor',
603
- template: '<ng-template></ng-template>',
604
- providers: [EDITOR_COMPONENT_VALUE_ACCESSOR],
605
- styles: [':host { display: block; }']
606
- }),
607
- __param(2, Inject(PLATFORM_ID)),
608
- __param(3, Optional()), __param(3, Inject(TINYMCE_SCRIPT_SRC))
609
- ], EditorComponent);
610
-
611
- let EditorModule = class EditorModule {
466
+ EditorComponent.decorators = [
467
+ { type: Component, args: [{
468
+ selector: 'editor',
469
+ template: '<ng-template></ng-template>',
470
+ providers: [EDITOR_COMPONENT_VALUE_ACCESSOR],
471
+ styles: [':host { display: block; }']
472
+ },] }
473
+ ];
474
+ EditorComponent.ctorParameters = () => [
475
+ { type: ElementRef },
476
+ { type: NgZone },
477
+ { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
478
+ { type: String, decorators: [{ type: Optional }, { type: Inject, args: [TINYMCE_SCRIPT_SRC,] }] }
479
+ ];
480
+ EditorComponent.propDecorators = {
481
+ disabled: [{ type: Input }],
482
+ cloudChannel: [{ type: Input }],
483
+ apiKey: [{ type: Input }],
484
+ init: [{ type: Input }],
485
+ id: [{ type: Input }],
486
+ initialValue: [{ type: Input }],
487
+ outputFormat: [{ type: Input }],
488
+ inline: [{ type: Input }],
489
+ tagName: [{ type: Input }],
490
+ plugins: [{ type: Input }],
491
+ toolbar: [{ type: Input }],
492
+ modelEvents: [{ type: Input }],
493
+ allowedEvents: [{ type: Input }],
494
+ ignoreEvents: [{ type: Input }]
612
495
  };
613
- EditorModule = __decorate([
614
- NgModule({
615
- imports: [CommonModule, FormsModule],
616
- declarations: [EditorComponent],
617
- exports: [EditorComponent]
618
- })
619
- ], EditorModule);
496
+
497
+ class EditorModule {
498
+ }
499
+ EditorModule.decorators = [
500
+ { type: NgModule, args: [{
501
+ imports: [CommonModule, FormsModule],
502
+ declarations: [EditorComponent],
503
+ exports: [EditorComponent]
504
+ },] }
505
+ ];
620
506
 
621
507
  /**
622
508
  * Generated bundle index. Do not edit.
@@ -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 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(() => editor.setContent(this.initialValue));\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":["tslib_1.__decorate","tslib_1.__param"],"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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"}