angular-froala-wysiwyg 5.1.0 → 5.3.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,6 +1,6 @@
1
1
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, PLATFORM_ID, forwardRef, Directive, Inject, Input, Output, NgModule } from '@angular/core';
3
+ import { EventEmitter, PLATFORM_ID, forwardRef, Output, Input, Inject, Directive, NgModule } from '@angular/core';
4
4
  import { isPlatformBrowser } from '@angular/common';
5
5
 
6
6
  class FroalaEditorDirective {
@@ -337,8 +337,8 @@ class FroalaEditorDirective {
337
337
  }
338
338
  setDisabledState(isDisabled) {
339
339
  }
340
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaEditorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
341
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: FroalaEditorDirective, isStandalone: false, selector: "[froalaEditor]", inputs: { froalaEditor: "froalaEditor", froalaModel: "froalaModel" }, outputs: { froalaModelChange: "froalaModelChange", froalaInit: "froalaInit" }, providers: [
340
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaEditorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
341
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: FroalaEditorDirective, isStandalone: false, selector: "[froalaEditor]", inputs: { froalaEditor: "froalaEditor", froalaModel: "froalaModel" }, outputs: { froalaModelChange: "froalaModelChange", froalaInit: "froalaInit" }, providers: [
342
342
  {
343
343
  provide: NG_VALUE_ACCESSOR,
344
344
  useExisting: forwardRef((() => FroalaEditorDirective)),
@@ -346,7 +346,7 @@ class FroalaEditorDirective {
346
346
  }
347
347
  ], exportAs: ["froalaEditor"], ngImport: i0 });
348
348
  }
349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaEditorDirective, decorators: [{
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaEditorDirective, decorators: [{
350
350
  type: Directive,
351
351
  args: [{
352
352
  selector: '[froalaEditor]',
@@ -377,11 +377,11 @@ class FroalaEditorModule {
377
377
  static forRoot() {
378
378
  return { ngModule: FroalaEditorModule, providers: [] };
379
379
  }
380
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
381
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: FroalaEditorModule, declarations: [FroalaEditorDirective], exports: [FroalaEditorDirective] });
382
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaEditorModule });
380
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
381
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FroalaEditorModule, declarations: [FroalaEditorDirective], exports: [FroalaEditorDirective] });
382
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaEditorModule });
383
383
  }
384
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaEditorModule, decorators: [{
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaEditorModule, decorators: [{
385
385
  type: NgModule,
386
386
  args: [{
387
387
  declarations: [FroalaEditorDirective],
@@ -403,10 +403,10 @@ class FroalaViewDirective {
403
403
  ngAfterViewInit() {
404
404
  this.renderer.addClass(this._element, "fr-view");
405
405
  }
406
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaViewDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
407
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: FroalaViewDirective, isStandalone: false, selector: "[froalaView]", inputs: { froalaView: "froalaView" }, ngImport: i0 });
406
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaViewDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
407
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: FroalaViewDirective, isStandalone: false, selector: "[froalaView]", inputs: { froalaView: "froalaView" }, ngImport: i0 });
408
408
  }
409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaViewDirective, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaViewDirective, decorators: [{
410
410
  type: Directive,
411
411
  args: [{
412
412
  selector: '[froalaView]',
@@ -420,11 +420,11 @@ class FroalaViewModule {
420
420
  static forRoot() {
421
421
  return { ngModule: FroalaViewModule, providers: [] };
422
422
  }
423
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
424
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: FroalaViewModule, declarations: [FroalaViewDirective], exports: [FroalaViewDirective] });
425
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaViewModule });
423
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
424
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FroalaViewModule, declarations: [FroalaViewDirective], exports: [FroalaViewDirective] });
425
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaViewModule });
426
426
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FroalaViewModule, decorators: [{
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FroalaViewModule, decorators: [{
428
428
  type: NgModule,
429
429
  args: [{
430
430
  declarations: [FroalaViewDirective],
@@ -433,14 +433,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
433
433
  }] });
434
434
 
435
435
  class FERootModule {
436
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FERootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
437
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: FERootModule, imports: [FroalaEditorModule, FroalaViewModule], exports: [FroalaEditorModule,
436
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FERootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
437
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: FERootModule, imports: [FroalaEditorModule, FroalaViewModule], exports: [FroalaEditorModule,
438
438
  FroalaViewModule] });
439
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FERootModule, imports: [FroalaEditorModule.forRoot(),
439
+ /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FERootModule, imports: [FroalaEditorModule.forRoot(),
440
440
  FroalaViewModule.forRoot(), FroalaEditorModule,
441
441
  FroalaViewModule] });
442
442
  }
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: FERootModule, decorators: [{
443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: FERootModule, decorators: [{
444
444
  type: NgModule,
445
445
  args: [{
446
446
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"angular-froala-wysiwyg.mjs","sources":["../../projects/library/src/editor/editor.directive.ts","../../projects/library/src/editor/editor.module.ts","../../projects/library/src/view/view.directive.ts","../../projects/library/src/view/view.module.ts","../../projects/library/src/fe-root.module.ts","../../projects/library/src/angular-froala-wysiwyg.ts"],"sourcesContent":["import { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Directive, ElementRef, EventEmitter, forwardRef, Input, NgZone, Output, PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from \"@angular/common\";\n\n@Directive({\n selector: '[froalaEditor]',\n exportAs: 'froalaEditor',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FroalaEditorDirective),\n multi: true\n }\n ],\n standalone: false\n})\nexport class FroalaEditorDirective implements ControlValueAccessor {\n\n // editor options\n private _opts: any = {\n immediateAngularModelUpdate: false,\n angularIgnoreAttrs: null\n };\n\n private _element: any;\n\n private SPECIAL_TAGS: string[] = ['img', 'button', 'input', 'a'];\n private INNER_HTML_ATTR: string = 'innerHTML';\n private _hasSpecialTag: boolean = false;\n\n // editor element\n private _editor: any;\n\n // initial editor content\n private _model: string;\n\n private _editorInitialized: boolean = false;\n\n private _oldModel: string = null;\n\n constructor(el: ElementRef, private zone: NgZone, @Inject(PLATFORM_ID) private platformId: Object) {\n\n let element: any = el.nativeElement;\n\n // check if the element is a special tag\n if (this.SPECIAL_TAGS.indexOf(element.tagName.toLowerCase()) != -1) {\n this._hasSpecialTag = true;\n }\n this._element = element;\n\n this.zone = zone;\n }\n\n // Begin ControlValueAccesor methods.\n onChange = (_: any) => {\n };\n onTouched = () => {\n };\n\n // Form model content changed.\n writeValue(content: any): void {\n this.updateEditor(content);\n if(content){\n this.setup();\n }\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // End ControlValueAccesor methods.\n\n // froalaEditor directive as input: store the editor options\n @Input() set froalaEditor(opts: any) {\n this._opts = this.clone( opts || this._opts);\n this._opts = {...this._opts};\n }\n\n // TODO: replace clone method with better possible alternate \n private clone(item) {\n \tconst me = this; \n if (!item) { return item; } // null, undefined values check\n\n let types = [ Number, String, Boolean ], \n result;\n\n // normalizing primitives if someone did new String('aaa'), or new Number('444');\n types.forEach(function(type) {\n if (item instanceof type) {\n result = type( item );\n }\n });\n\n if (typeof result == \"undefined\") {\n if (Object.prototype.toString.call( item ) === \"[object Array]\") {\n result = [];\n item.forEach(function(child, index, array) { \n result[index] = me.clone( child );\n });\n } else if (typeof item == \"object\") {\n // testing that this is DOM\n if (item.nodeType && typeof item.cloneNode == \"function\") {\n result = item.cloneNode( true ); \n } else if (!item.prototype) { // check that this is a literal\n if (item instanceof Date) {\n result = new Date(item);\n } else {\n // it is an object literal\n result = {};\n for (var i in item) {\n result[i] = me.clone( item[i] );\n }\n }\n } else {\n if (false && item.constructor) {\n result = new item.constructor();\n } else {\n result = item;\n }\n }\n } else {\n result = item;\n }\n }\n return result;\n }\n // froalaModel directive as input: store initial editor content\n @Input() set froalaModel(content: any) {\n this.updateEditor(content);\n }\n\n private stringify(obj) {\n let cache = [];\n let str = JSON.stringify(obj, function(key, value) {\n if (typeof value === \"object\" && value !== null) {\n if (cache.indexOf(value) !== -1) {\n // Circular reference found, discard key\n return;\n }\n // Store value in our collection\n cache.push(value);\n }\n return value;\n });\n cache = null; // reset the cache\n return str;\n }\n \n // Update editor with model contents.\n private updateEditor(content: any) {\n if (this.stringify(this._oldModel) == this.stringify(content)) {\n return;\n }\n \n if (!this._hasSpecialTag) {\n this._oldModel = content;\n } else {\n this._model = content;\n }\n\n if (this._editorInitialized) {\n if (!this._hasSpecialTag) {\n this._editor.html.set(content);\n } else {\n this.setContent();\n }\n } else {\n if (!this._hasSpecialTag) {\n this._element.innerHTML = content || '';\n } else {\n this.setContent();\n }\n }\n }\n\n // froalaModel directive as output: update model if editor contentChanged\n @Output() froalaModelChange: EventEmitter<any> = new EventEmitter<any>();\n\n // froalaInit directive as output: send manual editor initialization\n @Output() froalaInit: EventEmitter<Object> = new EventEmitter<Object>();\n\n // update model if editor contentChanged\n private updateModel() {\n this.zone.run(() => {\n\n let modelContent: any = null;\n\n if (this._hasSpecialTag) {\n\n let attributeNodes = this._element.attributes;\n let attrs = {};\n\n for (let i = 0; i < attributeNodes.length; i++) {\n\n let attrName = attributeNodes[i].name;\n if (this._opts.angularIgnoreAttrs && this._opts.angularIgnoreAttrs.indexOf(attrName) != -1) {\n continue;\n }\n\n attrs[attrName] = attributeNodes[i].value;\n }\n\n if (this._element.innerHTML) {\n attrs[this.INNER_HTML_ATTR] = this._element.innerHTML;\n }\n\n modelContent = attrs;\n } else {\n\n let returnedHtml: any = this._editor.html.get();\n if (typeof returnedHtml === 'string') {\n modelContent = returnedHtml;\n }\n }\n if (this._oldModel !== modelContent) {\n this._oldModel = modelContent;\n\n // Update froalaModel.\n this.froalaModelChange.emit(modelContent);\n\n // Update form model.\n this.onChange(modelContent);\n }\n\n })\n }\n\n private registerEvent(eventName, callback) {\n if (!eventName || !callback) {\n return;\n }\n\n if (!this._opts.events) {\n this._opts.events = {};\n }\n\n this._opts.events[eventName] = callback;\n }\n\n private initListeners() {\n let self = this;\n // Check if we have events on the editor.\n if (this._editor.events) {\n // bind contentChange and keyup event to froalaModel\n this._editor.events.on('contentChanged', function () {\n self.updateModel();\n });\n this._editor.events.on('mousedown', function () {\n setTimeout(function () {\n self.onTouched();\n }, 0);\n });\n\n if (this._opts.immediateAngularModelUpdate) {\n this._editor.events.on('keyup', function () {\n setTimeout(function () {\n self.updateModel();\n }, 0);\n });\n }\n }\n\n this._editorInitialized = true;\n }\n\n private createEditor() {\n if (this._editorInitialized) {\n return;\n }\n\n this.setContent(true);\n\n // init editor\n this.zone.runOutsideAngular(() => {\n // Add listeners on initialized event.\n if (!this._opts.events) this._opts.events = {};\n\n // Register initialized event.\n this.registerEvent('initialized', this._opts.events && this._opts.events.initialized);\n const existingInitCallback = this._opts.events.initialized;\n // Default initialized event.\n if (!this._opts.events.initialized || !this._opts.events.initialized.overridden) {\n this._opts.events.initialized = () => {\n this.initListeners();\n existingInitCallback && existingInitCallback.call(this._editor, this);\n };\n this._opts.events.initialized.overridden = true;\n }\n\n import('froala-editor').then(({ default: FroalaEditor }) => {\n // Initialize the Froala Editor.\n this._editor = new FroalaEditor(\n this._element,\n this._opts\n );\n });\n });\n }\n\n private setHtml() {\n this._editor.html.set(this._model || \"\");\n\n // This will reset the undo stack everytime the model changes externally. Can we fix this?\n this._editor.undo.reset();\n this._editor.undo.saveStep();\n }\n\n private setContent(firstTime = false) {\n let self = this;\n\n // Set initial content\n if (this._model || this._model == '') {\n this._oldModel = this._model;\n if (this._hasSpecialTag) {\n\n let tags: Object = this._model;\n\n // add tags on element\n if (tags) {\n\n for (let attr in tags) {\n if (tags.hasOwnProperty(attr) && attr != this.INNER_HTML_ATTR) {\n this._element.setAttribute(attr, tags[attr]);\n }\n }\n\n if (tags.hasOwnProperty(this.INNER_HTML_ATTR)) {\n this._element.innerHTML = tags[this.INNER_HTML_ATTR];\n }\n }\n } else {\n if (firstTime) {\n this.registerEvent('initialized', function () {\n self.setHtml();\n });\n } else {\n self.setHtml();\n }\n }\n }\n }\n\n private destroyEditor() {\n if (this._editorInitialized) {\n this._editor.destroy();\n this._editorInitialized = false;\n }\n }\n\n private getEditor() {\n if (this._element) {\n return this._editor;\n }\n\n return null;\n }\n\n // send manual editor initialization\n private generateManualController() {\n let controls = {\n initialize: this.createEditor.bind(this),\n destroy: this.destroyEditor.bind(this),\n getEditor: this.getEditor.bind(this),\n };\n this.froalaInit.emit(controls);\n }\n\n // TODO not sure if ngOnInit is executed after @inputs\n ngAfterViewInit() {\n // check if output froalaInit is present. Maybe observers is private and should not be used?? TODO how to better test that an output directive is present.\n // Only allow initialization in browser\n if (isPlatformBrowser(this.platformId)) {\n this.setup();\n }\n }\n\n private initialized = false;\n private setup() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (!this.froalaInit.observers.length) {\n this.createEditor();\n } else {\n this.generateManualController();\n }\n }\n\n ngOnDestroy() {\n this.destroyEditor();\n }\n\n setDisabledState(isDisabled: boolean): void {\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { FroalaEditorDirective } from './editor.directive';\n\n@NgModule({\n declarations: [FroalaEditorDirective],\n exports: [FroalaEditorDirective]\n})\n\nexport class FroalaEditorModule {\n public static forRoot(): ModuleWithProviders<FroalaEditorModule> {\n return {ngModule: FroalaEditorModule, providers: []};\n }\n}\n","import { Directive, ElementRef, Renderer2, Input } from '@angular/core';\n\n@Directive({\n selector: '[froalaView]',\n standalone: false\n})\nexport class FroalaViewDirective {\n\n private _element: HTMLElement;\n\n constructor(private renderer: Renderer2, element: ElementRef) {\n this._element = element.nativeElement;\n }\n\n // update content model as it comes\n @Input() set froalaView(content: string) {\n this._element.innerHTML = content;\n }\n\n ngAfterViewInit() {\n this.renderer.addClass(this._element, \"fr-view\");\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { FroalaViewDirective } from './view.directive';\n\n@NgModule({\n declarations: [FroalaViewDirective],\n exports: [FroalaViewDirective]\n})\nexport class FroalaViewModule {\n public static forRoot(): ModuleWithProviders<FroalaViewModule> {\n return {ngModule: FroalaViewModule, providers: []};\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FroalaEditorModule } from './editor/editor.module';\nimport { FroalaViewModule } from './view/view.module';\n\n@NgModule({\n imports: [\n FroalaEditorModule.forRoot(),\n FroalaViewModule.forRoot()\n ],\n exports: [\n FroalaEditorModule,\n FroalaViewModule\n ]\n})\nexport class FERootModule {\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-froala-wysiwyg.mjs","sources":["../../projects/library/src/editor/editor.directive.ts","../../projects/library/src/editor/editor.module.ts","../../projects/library/src/view/view.directive.ts","../../projects/library/src/view/view.module.ts","../../projects/library/src/fe-root.module.ts","../../projects/library/src/angular-froala-wysiwyg.ts"],"sourcesContent":["import { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { Directive, ElementRef, EventEmitter, forwardRef, Input, NgZone, Output, PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from \"@angular/common\";\n\n@Directive({\n selector: '[froalaEditor]',\n exportAs: 'froalaEditor',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FroalaEditorDirective),\n multi: true\n }\n ],\n standalone: false\n})\nexport class FroalaEditorDirective implements ControlValueAccessor {\n\n // editor options\n private _opts: any = {\n immediateAngularModelUpdate: false,\n angularIgnoreAttrs: null\n };\n\n private _element: any;\n\n private SPECIAL_TAGS: string[] = ['img', 'button', 'input', 'a'];\n private INNER_HTML_ATTR: string = 'innerHTML';\n private _hasSpecialTag: boolean = false;\n\n // editor element\n private _editor: any;\n\n // initial editor content\n private _model: string;\n\n private _editorInitialized: boolean = false;\n\n private _oldModel: string = null;\n\n constructor(el: ElementRef, private zone: NgZone, @Inject(PLATFORM_ID) private platformId: Object) {\n\n let element: any = el.nativeElement;\n\n // check if the element is a special tag\n if (this.SPECIAL_TAGS.indexOf(element.tagName.toLowerCase()) != -1) {\n this._hasSpecialTag = true;\n }\n this._element = element;\n\n this.zone = zone;\n }\n\n // Begin ControlValueAccesor methods.\n onChange = (_: any) => {\n };\n onTouched = () => {\n };\n\n // Form model content changed.\n writeValue(content: any): void {\n this.updateEditor(content);\n if(content){\n this.setup();\n }\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // End ControlValueAccesor methods.\n\n // froalaEditor directive as input: store the editor options\n @Input() set froalaEditor(opts: any) {\n this._opts = this.clone( opts || this._opts);\n this._opts = {...this._opts};\n }\n\n // TODO: replace clone method with better possible alternate \n private clone(item) {\n \tconst me = this; \n if (!item) { return item; } // null, undefined values check\n\n let types = [ Number, String, Boolean ], \n result;\n\n // normalizing primitives if someone did new String('aaa'), or new Number('444');\n types.forEach(function(type) {\n if (item instanceof type) {\n result = type( item );\n }\n });\n\n if (typeof result == \"undefined\") {\n if (Object.prototype.toString.call( item ) === \"[object Array]\") {\n result = [];\n item.forEach(function(child, index, array) { \n result[index] = me.clone( child );\n });\n } else if (typeof item == \"object\") {\n // testing that this is DOM\n if (item.nodeType && typeof item.cloneNode == \"function\") {\n result = item.cloneNode( true ); \n } else if (!item.prototype) { // check that this is a literal\n if (item instanceof Date) {\n result = new Date(item);\n } else {\n // it is an object literal\n result = {};\n for (var i in item) {\n result[i] = me.clone( item[i] );\n }\n }\n } else {\n if (false && item.constructor) {\n result = new item.constructor();\n } else {\n result = item;\n }\n }\n } else {\n result = item;\n }\n }\n return result;\n }\n // froalaModel directive as input: store initial editor content\n @Input() set froalaModel(content: any) {\n this.updateEditor(content);\n }\n\n private stringify(obj) {\n let cache = [];\n let str = JSON.stringify(obj, function(key, value) {\n if (typeof value === \"object\" && value !== null) {\n if (cache.indexOf(value) !== -1) {\n // Circular reference found, discard key\n return;\n }\n // Store value in our collection\n cache.push(value);\n }\n return value;\n });\n cache = null; // reset the cache\n return str;\n }\n \n // Update editor with model contents.\n private updateEditor(content: any) {\n if (this.stringify(this._oldModel) == this.stringify(content)) {\n return;\n }\n \n if (!this._hasSpecialTag) {\n this._oldModel = content;\n } else {\n this._model = content;\n }\n\n if (this._editorInitialized) {\n if (!this._hasSpecialTag) {\n this._editor.html.set(content);\n } else {\n this.setContent();\n }\n } else {\n if (!this._hasSpecialTag) {\n this._element.innerHTML = content || '';\n } else {\n this.setContent();\n }\n }\n }\n\n // froalaModel directive as output: update model if editor contentChanged\n @Output() froalaModelChange: EventEmitter<any> = new EventEmitter<any>();\n\n // froalaInit directive as output: send manual editor initialization\n @Output() froalaInit: EventEmitter<Object> = new EventEmitter<Object>();\n\n // update model if editor contentChanged\n private updateModel() {\n this.zone.run(() => {\n\n let modelContent: any = null;\n\n if (this._hasSpecialTag) {\n\n let attributeNodes = this._element.attributes;\n let attrs = {};\n\n for (let i = 0; i < attributeNodes.length; i++) {\n\n let attrName = attributeNodes[i].name;\n if (this._opts.angularIgnoreAttrs && this._opts.angularIgnoreAttrs.indexOf(attrName) != -1) {\n continue;\n }\n\n attrs[attrName] = attributeNodes[i].value;\n }\n\n if (this._element.innerHTML) {\n attrs[this.INNER_HTML_ATTR] = this._element.innerHTML;\n }\n\n modelContent = attrs;\n } else {\n\n let returnedHtml: any = this._editor.html.get();\n if (typeof returnedHtml === 'string') {\n modelContent = returnedHtml;\n }\n }\n if (this._oldModel !== modelContent) {\n this._oldModel = modelContent;\n\n // Update froalaModel.\n this.froalaModelChange.emit(modelContent);\n\n // Update form model.\n this.onChange(modelContent);\n }\n\n })\n }\n\n private registerEvent(eventName, callback) {\n if (!eventName || !callback) {\n return;\n }\n\n if (!this._opts.events) {\n this._opts.events = {};\n }\n\n this._opts.events[eventName] = callback;\n }\n\n private initListeners() {\n let self = this;\n // Check if we have events on the editor.\n if (this._editor.events) {\n // bind contentChange and keyup event to froalaModel\n this._editor.events.on('contentChanged', function () {\n self.updateModel();\n });\n this._editor.events.on('mousedown', function () {\n setTimeout(function () {\n self.onTouched();\n }, 0);\n });\n\n if (this._opts.immediateAngularModelUpdate) {\n this._editor.events.on('keyup', function () {\n setTimeout(function () {\n self.updateModel();\n }, 0);\n });\n }\n }\n\n this._editorInitialized = true;\n }\n\n private createEditor() {\n if (this._editorInitialized) {\n return;\n }\n\n this.setContent(true);\n\n // init editor\n this.zone.runOutsideAngular(() => {\n // Add listeners on initialized event.\n if (!this._opts.events) this._opts.events = {};\n\n // Register initialized event.\n this.registerEvent('initialized', this._opts.events && this._opts.events.initialized);\n const existingInitCallback = this._opts.events.initialized;\n // Default initialized event.\n if (!this._opts.events.initialized || !this._opts.events.initialized.overridden) {\n this._opts.events.initialized = () => {\n this.initListeners();\n existingInitCallback && existingInitCallback.call(this._editor, this);\n };\n this._opts.events.initialized.overridden = true;\n }\n\n import('froala-editor').then(({ default: FroalaEditor }) => {\n // Initialize the Froala Editor.\n this._editor = new FroalaEditor(\n this._element,\n this._opts\n );\n });\n });\n }\n\n private setHtml() {\n this._editor.html.set(this._model || \"\");\n\n // This will reset the undo stack everytime the model changes externally. Can we fix this?\n this._editor.undo.reset();\n this._editor.undo.saveStep();\n }\n\n private setContent(firstTime = false) {\n let self = this;\n\n // Set initial content\n if (this._model || this._model == '') {\n this._oldModel = this._model;\n if (this._hasSpecialTag) {\n\n let tags: Object = this._model;\n\n // add tags on element\n if (tags) {\n\n for (let attr in tags) {\n if (tags.hasOwnProperty(attr) && attr != this.INNER_HTML_ATTR) {\n this._element.setAttribute(attr, tags[attr]);\n }\n }\n\n if (tags.hasOwnProperty(this.INNER_HTML_ATTR)) {\n this._element.innerHTML = tags[this.INNER_HTML_ATTR];\n }\n }\n } else {\n if (firstTime) {\n this.registerEvent('initialized', function () {\n self.setHtml();\n });\n } else {\n self.setHtml();\n }\n }\n }\n }\n\n private destroyEditor() {\n if (this._editorInitialized) {\n this._editor.destroy();\n this._editorInitialized = false;\n }\n }\n\n private getEditor() {\n if (this._element) {\n return this._editor;\n }\n\n return null;\n }\n\n // send manual editor initialization\n private generateManualController() {\n let controls = {\n initialize: this.createEditor.bind(this),\n destroy: this.destroyEditor.bind(this),\n getEditor: this.getEditor.bind(this),\n };\n this.froalaInit.emit(controls);\n }\n\n // TODO not sure if ngOnInit is executed after @inputs\n ngAfterViewInit() {\n // check if output froalaInit is present. Maybe observers is private and should not be used?? TODO how to better test that an output directive is present.\n // Only allow initialization in browser\n if (isPlatformBrowser(this.platformId)) {\n this.setup();\n }\n }\n\n private initialized = false;\n private setup() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (!this.froalaInit.observers.length) {\n this.createEditor();\n } else {\n this.generateManualController();\n }\n }\n\n ngOnDestroy() {\n this.destroyEditor();\n }\n\n setDisabledState(isDisabled: boolean): void {\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { FroalaEditorDirective } from './editor.directive';\n\n@NgModule({\n declarations: [FroalaEditorDirective],\n exports: [FroalaEditorDirective]\n})\n\nexport class FroalaEditorModule {\n public static forRoot(): ModuleWithProviders<FroalaEditorModule> {\n return {ngModule: FroalaEditorModule, providers: []};\n }\n}\n","import { Directive, ElementRef, Renderer2, Input } from '@angular/core';\n\n@Directive({\n selector: '[froalaView]',\n standalone: false\n})\nexport class FroalaViewDirective {\n\n private _element: HTMLElement;\n\n constructor(private renderer: Renderer2, element: ElementRef) {\n this._element = element.nativeElement;\n }\n\n // update content model as it comes\n @Input() set froalaView(content: string) {\n this._element.innerHTML = content;\n }\n\n ngAfterViewInit() {\n this.renderer.addClass(this._element, \"fr-view\");\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { FroalaViewDirective } from './view.directive';\n\n@NgModule({\n declarations: [FroalaViewDirective],\n exports: [FroalaViewDirective]\n})\nexport class FroalaViewModule {\n public static forRoot(): ModuleWithProviders<FroalaViewModule> {\n return {ngModule: FroalaViewModule, providers: []};\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FroalaEditorModule } from './editor/editor.module';\nimport { FroalaViewModule } from './view/view.module';\n\n@NgModule({\n imports: [\n FroalaEditorModule.forRoot(),\n FroalaViewModule.forRoot()\n ],\n exports: [\n FroalaEditorModule,\n FroalaViewModule\n ]\n})\nexport class FERootModule {\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -5,9 +5,9 @@
5
5
  "url": "https://github.com/froala/angular-froala-wysiwyg.git",
6
6
  "directory": "projects/library"
7
7
  },
8
- "version": "5.1.0",
8
+ "version": "5.3.0",
9
9
  "dependencies": {
10
- "froala-editor": "5.1.0",
10
+ "froala-editor": "5.3.0",
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "module": "fesm2022/angular-froala-wysiwyg.mjs",