@firestitch/html-editor 12.0.5 → 12.1.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.
Files changed (71) hide show
  1. package/app/{classes → modules/html-editor/classes}/plugin.d.ts +0 -0
  2. package/app/{components → modules/html-editor/components}/html-editor/html-editor.component.d.ts +0 -0
  3. package/app/{consts → modules/html-editor/consts}/paragraph-buttons.const.d.ts +0 -0
  4. package/app/{consts → modules/html-editor/consts}/rich-buttons.const.d.ts +0 -0
  5. package/app/{consts → modules/html-editor/consts}/text-buttons.const.d.ts +0 -0
  6. package/app/{enums → modules/html-editor/enums}/default-plugin.enum.d.ts +0 -0
  7. package/app/{fs-html-editor.module.d.ts → modules/html-editor/fs-html-editor.module.d.ts} +5 -5
  8. package/app/{injects → modules/html-editor/injects}/config.inject.d.ts +0 -0
  9. package/app/{interfaces → modules/html-editor/interfaces}/html-editor-config.d.ts +0 -0
  10. package/app/{interfaces → modules/html-editor/interfaces}/plugin-button.d.ts +0 -0
  11. package/app/{interfaces → modules/html-editor/interfaces}/plugin-config.d.ts +0 -0
  12. package/app/{plugins → modules/html-editor/plugins}/checklist.plugin.d.ts +0 -0
  13. package/app/{plugins → modules/html-editor/plugins}/code.plugin.d.ts +0 -0
  14. package/app/{plugins → modules/html-editor/plugins}/configs/mention-plugin.config.d.ts +0 -0
  15. package/app/{plugins → modules/html-editor/plugins}/configs/screen-record-plugin.config.d.ts +0 -0
  16. package/app/{plugins → modules/html-editor/plugins}/mention.plugin.d.ts +0 -0
  17. package/app/modules/html-editor/plugins/realtime.plugin.d.ts +7 -0
  18. package/app/{plugins → modules/html-editor/plugins}/screen-record.plugin.d.ts +0 -0
  19. package/app/{services → modules/html-editor/services}/froala-loader.service.d.ts +0 -0
  20. package/app/{utils → modules/html-editor/utils}/loader.d.ts +0 -0
  21. package/app/{components → modules/html-renderer/components}/html-renderer/html-renderer.component.d.ts +0 -0
  22. package/app/modules/html-renderer/fs-html-renderer.module.d.ts +8 -0
  23. package/bundles/firestitch-html-editor.umd.js +48 -6
  24. package/bundles/firestitch-html-editor.umd.js.map +1 -1
  25. package/esm2015/app/modules/html-editor/classes/plugin.js +5 -0
  26. package/esm2015/app/modules/html-editor/components/html-editor/html-editor.component.js +493 -0
  27. package/esm2015/app/modules/html-editor/consts/paragraph-buttons.const.js +9 -0
  28. package/esm2015/app/modules/html-editor/consts/rich-buttons.const.js +7 -0
  29. package/esm2015/app/modules/html-editor/consts/text-buttons.const.js +19 -0
  30. package/esm2015/app/modules/html-editor/enums/default-plugin.enum.js +2 -0
  31. package/esm2015/app/modules/html-editor/fs-html-editor.module.js +68 -0
  32. package/esm2015/app/modules/html-editor/injects/config.inject.js +4 -0
  33. package/esm2015/app/modules/html-editor/interfaces/html-editor-config.js +2 -0
  34. package/esm2015/app/modules/html-editor/interfaces/plugin-button.js +2 -0
  35. package/esm2015/app/modules/html-editor/interfaces/plugin-config.js +2 -0
  36. package/esm2015/app/modules/html-editor/plugins/checklist.plugin.js +35 -0
  37. package/esm2015/app/modules/html-editor/plugins/code.plugin.js +63 -0
  38. package/esm2015/app/modules/html-editor/plugins/configs/mention-plugin.config.js +2 -0
  39. package/esm2015/app/modules/html-editor/plugins/configs/screen-record-plugin.config.js +2 -0
  40. package/esm2015/app/modules/html-editor/plugins/mention.plugin.js +87 -0
  41. package/esm2015/app/modules/html-editor/plugins/realtime.plugin.js +13 -0
  42. package/esm2015/app/modules/html-editor/plugins/screen-record.plugin.js +94 -0
  43. package/esm2015/app/modules/html-editor/services/froala-loader.service.js +80 -0
  44. package/esm2015/app/modules/html-editor/utils/loader.js +84 -0
  45. package/esm2015/app/modules/html-renderer/components/html-renderer/html-renderer.component.js +29 -0
  46. package/esm2015/app/modules/html-renderer/fs-html-renderer.module.js +26 -0
  47. package/esm2015/public_api.js +14 -12
  48. package/fesm2015/firestitch-html-editor.js +40 -7
  49. package/fesm2015/firestitch-html-editor.js.map +1 -1
  50. package/package.json +1 -1
  51. package/public_api.d.ts +18 -16
  52. package/esm2015/app/classes/plugin.js +0 -5
  53. package/esm2015/app/components/html-editor/html-editor.component.js +0 -493
  54. package/esm2015/app/components/html-renderer/html-renderer.component.js +0 -29
  55. package/esm2015/app/consts/paragraph-buttons.const.js +0 -9
  56. package/esm2015/app/consts/rich-buttons.const.js +0 -7
  57. package/esm2015/app/consts/text-buttons.const.js +0 -19
  58. package/esm2015/app/enums/default-plugin.enum.js +0 -2
  59. package/esm2015/app/fs-html-editor.module.js +0 -69
  60. package/esm2015/app/injects/config.inject.js +0 -4
  61. package/esm2015/app/interfaces/html-editor-config.js +0 -2
  62. package/esm2015/app/interfaces/plugin-button.js +0 -2
  63. package/esm2015/app/interfaces/plugin-config.js +0 -2
  64. package/esm2015/app/plugins/checklist.plugin.js +0 -35
  65. package/esm2015/app/plugins/code.plugin.js +0 -63
  66. package/esm2015/app/plugins/configs/mention-plugin.config.js +0 -2
  67. package/esm2015/app/plugins/configs/screen-record-plugin.config.js +0 -2
  68. package/esm2015/app/plugins/mention.plugin.js +0 -87
  69. package/esm2015/app/plugins/screen-record.plugin.js +0 -94
  70. package/esm2015/app/services/froala-loader.service.js +0 -80
  71. package/esm2015/app/utils/loader.js +0 -84
@@ -1,19 +0,0 @@
1
- export const TextButtons = [
2
- 'paragraphFormat',
3
- 'code',
4
- 'bold',
5
- 'italic',
6
- 'underline',
7
- 'strikeThrough',
8
- 'subscript',
9
- 'superscript',
10
- 'fontFamily',
11
- 'fontSize',
12
- 'textColor',
13
- 'backgroundColor',
14
- 'inlineClass',
15
- 'inlineStyle',
16
- 'clearFormatting',
17
- 'quote',
18
- ];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1idXR0b25zLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jb25zdHMvdGV4dC1idXR0b25zLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLE1BQU07SUFDTixRQUFRO0lBQ1IsV0FBVztJQUNYLGVBQWU7SUFDZixXQUFXO0lBQ1gsYUFBYTtJQUNiLFlBQVk7SUFDWixVQUFVO0lBQ1YsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixPQUFPO0NBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0QnV0dG9ucyA9IFtcbiAgJ3BhcmFncmFwaEZvcm1hdCcsXG4gICdjb2RlJyxcbiAgJ2JvbGQnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2VUaHJvdWdoJyxcbiAgJ3N1YnNjcmlwdCcsXG4gICdzdXBlcnNjcmlwdCcsXG4gICdmb250RmFtaWx5JyxcbiAgJ2ZvbnRTaXplJyxcbiAgJ3RleHRDb2xvcicsXG4gICdiYWNrZ3JvdW5kQ29sb3InLFxuICAnaW5saW5lQ2xhc3MnLFxuICAnaW5saW5lU3R5bGUnLFxuICAnY2xlYXJGb3JtYXR0aW5nJyxcbiAgJ3F1b3RlJyxcbl07XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wbHVnaW4uZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZW51bXMvZGVmYXVsdC1wbHVnaW4uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gRnJvYWxhUGx1Z2luIHtcbiAgQWxpZ24gPSAnYWxpZ24nLFxuICBDb2xvcnMgPSAnY29sb3JzJyxcbiAgSW1hZ2UgPSAnaW1hZ2UnLFxuICBMaW5rID0gJ2xpbmsnLFxuICBMaXN0cyA9ICdsaXN0cycsXG4gIFBhcmFncmFwaEZvcm1hdCA9ICdwYXJhZ3JhcGhfZm9ybWF0JyxcbiAgVGFibGUgPSAndGFibGUnLFxuICBVcmwgPSAndXJsJyxcbiAgVmlkZW8gPSAndmlkZW8nLFxuICBRdW90ZSA9ICdxdW90ZScsXG4gIERyYWdnYWJsZSA9ICdkcmFnZ2FibGUnLFxuICBGb250U2l6ZSA9ICdmb250X3NpemUnLFxuICBRdWlja0luc2VydCA9ICdxdWlja19pbnNlcnQnLFxufVxuIl19
@@ -1,69 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FsLabelModule } from '@firestitch/label';
4
- import { FsSkeletonModule } from '@firestitch/skeleton';
5
- import { FsHtmlEditorComponent } from './components/html-editor/html-editor.component';
6
- import { FsHtmlRendererComponent } from './components/html-renderer/html-renderer.component';
7
- import { FS_HTML_EDITOR_CONFIG, FS_HTML_EDITOR_DEFAULT_CONFIG } from './injects/config.inject';
8
- import * as i0 from "@angular/core";
9
- export class FsHtmlEditorModule {
10
- static forRoot(config = {}) {
11
- return {
12
- ngModule: FsHtmlEditorModule,
13
- providers: [
14
- { provide: FS_HTML_EDITOR_DEFAULT_CONFIG, useValue: config },
15
- {
16
- provide: FS_HTML_EDITOR_CONFIG,
17
- useFactory: FsHtmlEditorConfigFactory,
18
- deps: [FS_HTML_EDITOR_DEFAULT_CONFIG]
19
- }
20
- ]
21
- };
22
- }
23
- }
24
- FsHtmlEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHtmlEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- FsHtmlEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHtmlEditorModule, declarations: [FsHtmlEditorComponent,
26
- FsHtmlRendererComponent], imports: [CommonModule,
27
- FsSkeletonModule,
28
- FsLabelModule], exports: [FsHtmlEditorComponent,
29
- FsHtmlRendererComponent] });
30
- FsHtmlEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHtmlEditorModule, imports: [[
31
- CommonModule,
32
- FsSkeletonModule,
33
- FsLabelModule,
34
- ]] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsHtmlEditorModule, decorators: [{
36
- type: NgModule,
37
- args: [{
38
- imports: [
39
- CommonModule,
40
- FsSkeletonModule,
41
- FsLabelModule,
42
- ],
43
- exports: [
44
- FsHtmlEditorComponent,
45
- FsHtmlRendererComponent,
46
- ],
47
- declarations: [
48
- FsHtmlEditorComponent,
49
- FsHtmlRendererComponent,
50
- ],
51
- }]
52
- }] });
53
- export function FsHtmlEditorConfigFactory(config) {
54
- return Object.assign({ froalaPlugins: [
55
- "align" /* Align */,
56
- "colors" /* Colors */,
57
- "image" /* Image */,
58
- "link" /* Link */,
59
- "lists" /* Lists */,
60
- "paragraph_format" /* ParagraphFormat */,
61
- "quote" /* Quote */,
62
- "table" /* Table */,
63
- "url" /* Url */,
64
- "video" /* Video */,
65
- "draggable" /* Draggable */,
66
- "font_size" /* FontSize */,
67
- ] }, config);
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtaHRtbC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy1odG1sLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUU3RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQi9GLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUE2QixFQUFFO1FBQzVDLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUM1RDtvQkFDRSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixVQUFVLEVBQUUseUJBQXlCO29CQUNyQyxJQUFJLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDdEM7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnSEFiVSxrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkFKM0IscUJBQXFCO1FBQ3JCLHVCQUF1QixhQVZ2QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGFBQWEsYUFHYixxQkFBcUI7UUFDckIsdUJBQXVCO2lIQU9kLGtCQUFrQixZQWRwQjtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtTQUNkOzRGQVVVLGtCQUFrQjtrQkFmOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIsdUJBQXVCO3FCQUN4QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQix1QkFBdUI7cUJBQ3hCO2lCQUNGOztBQWlCRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBMEI7SUFDbEUsdUJBQ0UsYUFBYSxFQUFFOzs7Ozs7Ozs7Ozs7O1NBYWQsSUFDRSxNQUFNLEVBQ1Q7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEZzTGFiZWxNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9sYWJlbCc7XG5pbXBvcnQgeyBGc1NrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2tlbGV0b24nO1xuXG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaHRtbC1lZGl0b3IvaHRtbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZzSHRtbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2h0bWwtcmVuZGVyZXIvaHRtbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5pbXBvcnQgeyBGU19IVE1MX0VESVRPUl9DT05GSUcsIEZTX0hUTUxfRURJVE9SX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi9pbmplY3RzL2NvbmZpZy5pbmplY3QnO1xuaW1wb3J0IHsgRnJvYWxhUGx1Z2luIH0gZnJvbSAnLi9lbnVtcy9kZWZhdWx0LXBsdWdpbi5lbnVtJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZzU2tlbGV0b25Nb2R1bGUsXG4gICAgRnNMYWJlbE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZzSHRtbEVkaXRvckNvbXBvbmVudCxcbiAgICBGc0h0bWxSZW5kZXJlckNvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNIdG1sRWRpdG9yQ29tcG9uZW50LFxuICAgIEZzSHRtbFJlbmRlcmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0h0bWxFZGl0b3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxGc0h0bWxFZGl0b3JNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZzSHRtbEVkaXRvck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZTX0hUTUxfRURJVE9SX0RFRkFVTFRfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBGU19IVE1MX0VESVRPUl9DT05GSUcsXG4gICAgICAgICAgdXNlRmFjdG9yeTogRnNIdG1sRWRpdG9yQ29uZmlnRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbRlNfSFRNTF9FRElUT1JfREVGQVVMVF9DT05GSUddXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGc0h0bWxFZGl0b3JDb25maWdGYWN0b3J5KGNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnKSB7XG4gIHJldHVybiB7XG4gICAgZnJvYWxhUGx1Z2luczogW1xuICAgICAgRnJvYWxhUGx1Z2luLkFsaWduLFxuICAgICAgRnJvYWxhUGx1Z2luLkNvbG9ycyxcbiAgICAgIEZyb2FsYVBsdWdpbi5JbWFnZSxcbiAgICAgIEZyb2FsYVBsdWdpbi5MaW5rLFxuICAgICAgRnJvYWxhUGx1Z2luLkxpc3RzLFxuICAgICAgRnJvYWxhUGx1Z2luLlBhcmFncmFwaEZvcm1hdCxcbiAgICAgIEZyb2FsYVBsdWdpbi5RdW90ZSxcbiAgICAgIEZyb2FsYVBsdWdpbi5UYWJsZSxcbiAgICAgIEZyb2FsYVBsdWdpbi5VcmwsXG4gICAgICBGcm9hbGFQbHVnaW4uVmlkZW8sXG4gICAgICBGcm9hbGFQbHVnaW4uRHJhZ2dhYmxlLFxuICAgICAgRnJvYWxhUGx1Z2luLkZvbnRTaXplLFxuICAgIF0sXG4gICAgLi4uY29uZmlnXG4gIH07XG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const FS_HTML_EDITOR_DEFAULT_CONFIG = new InjectionToken('fs-html-editor.default-config');
3
- export const FS_HTML_EDITOR_CONFIG = new InjectionToken('fs-html-editor.config');
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmluamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW5qZWN0cy9jb25maWcuaW5qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQVEsK0JBQStCLENBQUMsQ0FBQztBQUN4RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBUSx1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZTX0hUTUxfRURJVE9SX0RFRkFVTFRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPGFueVtdPignZnMtaHRtbC1lZGl0b3IuZGVmYXVsdC1jb25maWcnKTtcbmV4cG9ydCBjb25zdCBGU19IVE1MX0VESVRPUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55W10+KCdmcy1odG1sLWVkaXRvci5jb25maWcnKTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lZGl0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9jbGFzc2VzL3BsdWdpbic7XG5pbXBvcnQgeyBGcm9hbGFQbHVnaW4gfSBmcm9tICcuLi9lbnVtcy9kZWZhdWx0LXBsdWdpbi5lbnVtJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEZzSHRtbEVkaXRvckNvbmZpZyB7XG4gIGltYWdlPzogRnNIdG1sRWRpdG9yVXBsb2FkQ29uZmlnO1xuICBsYWJlbD86IHN0cmluZztcbiAgaGludD86IHN0cmluZztcbiAgY2hhbmdlPzogRnVuY3Rpb247XG4gIGluaXRPbkNsaWNrPzogYm9vbGVhbjtcbiAgaW5pdENsaWNrPzogKGV2ZW50PzogVUlFdmVudCkgPT4gdm9pZDtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgYXV0b2ZvY3VzPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBhY3RpdmF0aW9uS2V5PzogYW55O1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBwbHVnaW5zPzogUGx1Z2luW107XG4gIGZyb2FsYVBsdWdpbnM/OiBGcm9hbGFQbHVnaW5bXTtcbiAgZnJvYWxhQ29uZmlnPzogYW55O1xuICBhc3NldHNKU1BhdGg/OiBzdHJpbmc7XG4gIGFzc2V0c0NTU1BhdGg/OiBzdHJpbmc7XG4gIGJ1dHRvbnM/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHN2Z0tleT86IHN0cmluZztcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBmb2N1cz86IGJvb2xlYW47XG4gICAgdW5kbz86IGJvb2xlYW47XG4gICAgcmVmcmVzaEFmdGVyQ2FsbGJhY2s/OiBib29sZWFuO1xuICAgIGNsaWNrOiAoZWRpdG9yOiBhbnkpID0+IHZvaWQ7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0h0bWxFZGl0b3JVcGxvYWRDb25maWcge1xuICB3aWR0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgaGVpZ2h0PzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBxdWFsaXR5PzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBmb3JtYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG4gIHVwbG9hZD86IChmaWxlOiBCbG9iKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9wbHVnaW4tYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnV0dG9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgc3ZnUGF0aD86IHN0cmluZztcbiAgdW5kbz86IGJvb2xlYW47XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG4gIGZvY3VzPzogYm9vbGVhbjtcbiAgc2hvd09uTW9iaWxlPzogYm9vbGVhbjtcbiAgcmVmcmVzaEFmdGVyQ2FsbGJhY2s/OiBib29sZWFuO1xuICBjbGljaz86IChlZGl0b3IpID0+IHZvaWQ7XG4gIHJlZnJlc2g/OiAoZWRpdG9yLCBidXR0b24pID0+IHZvaWQ7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9wbHVnaW4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW5CdXR0b24gfSBmcm9tICcuL3BsdWdpbi1idXR0b24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkNvbmZpZyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGJ1dHRvbnM/OiBQbHVnaW5CdXR0b25bXTtcbn1cbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { Plugin } from '../classes/plugin';
2
- export class ChecklistPlugin extends Plugin {
3
- constructor(config = { name: 'checklist' }) {
4
- super();
5
- this.config = config;
6
- this.config = Object.assign(Object.assign({}, config), { name: 'checklist', buttons: [
7
- {
8
- name: 'checklist',
9
- svgPath: 'M8.4,10.3l-1.2,1.2l4,4L20,6.7l-1.2-1.2l-7.6,7.6L8.4,10.3z M18.2,18.2H5.8V5.8h8.9V4H5.8C4.8,4,4,4.8,4,5.8v12.4c0,1,0.8,1.8,1.8,1.8h12.4c1,0,1.8-0.8,1.8-1.8v-7.1h-1.8V18.2z',
10
- click: (editor) => {
11
- editor.html.insert('<ul class="checklist"><li></li></ul>');
12
- }
13
- }
14
- ] });
15
- }
16
- initialize() {
17
- this.editor.events.on('click', (e) => {
18
- const li = e.target;
19
- if (li.nodeName === 'LI' && e.offsetX < 0) {
20
- const items = [li, ...li.querySelectorAll('li')];
21
- if (li.classList.contains('checked')) {
22
- items.forEach((item) => {
23
- item.classList.remove('checked');
24
- });
25
- }
26
- else {
27
- items.forEach((item) => {
28
- item.classList.add('checked');
29
- });
30
- }
31
- }
32
- }, false);
33
- }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcGx1Z2lucy9jaGVja2xpc3QucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUszQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNO0lBRXpDLFlBQTBCLFNBQXVCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtRQUNwRSxLQUFLLEVBQUUsQ0FBQztRQURnQixXQUFNLEdBQU4sTUFBTSxDQUFzQztRQUVwRSxJQUFJLENBQUMsTUFBTSxtQ0FDTixNQUFNLEtBQ1QsSUFBSSxFQUFFLFdBQVcsRUFDakIsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxXQUFXO29CQUNqQixPQUFPLEVBQUUsNEtBQTRLO29CQUNyTCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTt3QkFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQztvQkFDN0QsQ0FBQztpQkFDRjthQUNGLEdBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDcEIsSUFBSSxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtnQkFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFakQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDbkMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDaEMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7YUFDRjtRQUVILENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsdWdpbiB9IGZyb20gJy4uL2NsYXNzZXMvcGx1Z2luJztcblxuaW1wb3J0IHsgUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi8uLi9pbnRlcmZhY2VzL3BsdWdpbi1jb25maWcnO1xuXG5cbmV4cG9ydCBjbGFzcyBDaGVja2xpc3RQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQbHVnaW5Db25maWcgPSB7IG5hbWU6ICdjaGVja2xpc3QnIH0pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgbmFtZTogJ2NoZWNrbGlzdCcsXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnY2hlY2tsaXN0JyxcbiAgICAgICAgICBzdmdQYXRoOiAnTTguNCwxMC4zbC0xLjIsMS4ybDQsNEwyMCw2LjdsLTEuMi0xLjJsLTcuNiw3LjZMOC40LDEwLjN6IE0xOC4yLDE4LjJINS44VjUuOGg4LjlWNEg1LjhDNC44LDQsNCw0LjgsNCw1Ljh2MTIuNGMwLDEsMC44LDEuOCwxLjgsMS44aDEyLjRjMSwwLDEuOC0wLjgsMS44LTEuOHYtNy4xaC0xLjhWMTguMnonLFxuICAgICAgICAgIGNsaWNrOiAoZWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBlZGl0b3IuaHRtbC5pbnNlcnQoJzx1bCBjbGFzcz1cImNoZWNrbGlzdFwiPjxsaT48L2xpPjwvdWw+Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCkge1xuICAgIHRoaXMuZWRpdG9yLmV2ZW50cy5vbignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgY29uc3QgbGkgPSBlLnRhcmdldDtcbiAgICAgIGlmIChsaS5ub2RlTmFtZSA9PT0gJ0xJJyAmJiBlLm9mZnNldFggPCAwKSB7XG5cbiAgICAgICAgY29uc3QgaXRlbXMgPSBbbGksIC4uLmxpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJyldO1xuXG4gICAgICAgIGlmIChsaS5jbGFzc0xpc3QuY29udGFpbnMoJ2NoZWNrZWQnKSkge1xuICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnY2hlY2tlZCcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnY2hlY2tlZCcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9LCBmYWxzZSk7XG4gIH1cblxufVxuIl19
@@ -1,63 +0,0 @@
1
- import { Plugin } from '../classes/plugin';
2
- export class CodePlugin extends Plugin {
3
- constructor(config = { name: 'code' }) {
4
- super();
5
- this.config = config;
6
- this.config = Object.assign(Object.assign({}, config), { name: 'code', buttons: [
7
- {
8
- name: 'code',
9
- svgPath: 'M8.9,7.3L4.2,12l4.7,4.7l1.1-1.1L6.4,12L10,8.4L8.9,7.3z M15.1,7.3L14,8.4l3.6,3.6L14,15.6l1.1,1.1l4.7-4.7L15.1,7.3z',
10
- click: (editor) => {
11
- const node = editor.selection.get();
12
- const codeEl = this._getCodeEl(node.baseNode);
13
- if (codeEl) {
14
- codeEl.classList.remove('code');
15
- }
16
- else {
17
- editor.html.insert('<p class="code">' + editor.selection.get().toString().replace(/\n{1,}/g, '<br>') + '</p>');
18
- }
19
- }
20
- }
21
- ] });
22
- }
23
- initialize() {
24
- this.editor.events.on('keydown', (e) => {
25
- if (e.keyCode === 13) {
26
- const selection = this.editor.selection.get();
27
- if (selection && this._getCodeEl(selection.baseNode)) {
28
- e.preventDefault();
29
- e.stopPropagation();
30
- e.stopImmediatePropagation();
31
- let br = '<br>';
32
- const base = selection.baseNode;
33
- if (base.nodeName === '#text' && selection.baseOffset === base.length) {
34
- if (!(base.nextSibling && base.nextSibling.nodeName === 'BR')) {
35
- br += '<br>';
36
- }
37
- }
38
- else {
39
- const el = Array.from(base.childNodes).splice(selection.baseOffset - 1, 1).pop();
40
- if (el && el.nodeName !== 'BR') {
41
- br += '<br>';
42
- }
43
- }
44
- this.editor.html.insert(br);
45
- return false;
46
- }
47
- }
48
- }, true);
49
- }
50
- destroy() { }
51
- _getCodeEl(el) {
52
- if (el) {
53
- if (el.classList && el.classList.contains('code')) {
54
- return el;
55
- }
56
- if (el.parentElement) {
57
- return this._getCodeEl(el.parentElement);
58
- }
59
- }
60
- return null;
61
- }
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3BsdWdpbnMvY29kZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNDLE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUVwQyxZQUEwQixTQUF1QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBaUM7UUFFL0QsSUFBSSxDQUFDLE1BQU0sbUNBQ04sTUFBTSxLQUNULElBQUksRUFBRSxNQUFNLEVBQ1osT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxtSEFBbUg7b0JBQzVILEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUNoQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDOUMsSUFBSSxNQUFNLEVBQUU7NEJBQ1YsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7eUJBQ2pDOzZCQUFNOzRCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQzt5QkFDL0c7b0JBQ0gsQ0FBQztpQkFDRjthQUNGLEdBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUU5QyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDcEQsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3BCLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO29CQUM3QixJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7b0JBQ2hCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7b0JBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLElBQUksU0FBUyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUVyRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxFQUFFOzRCQUM3RCxFQUFFLElBQUksTUFBTSxDQUFDO3lCQUNkO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sRUFBRSxHQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDdEYsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7NEJBQzlCLEVBQUUsSUFBSSxNQUFNLENBQUM7eUJBQ2Q7cUJBQ0Y7b0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM1QixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1FBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLE9BQU8sS0FBSSxDQUFDO0lBRVgsVUFBVSxDQUFDLEVBQUU7UUFFbkIsSUFBSSxFQUFFLEVBQUU7WUFDTixJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2pELE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFFRCxJQUFJLEVBQUUsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDMUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi4vY2xhc3Nlcy9wbHVnaW4nO1xuXG5pbXBvcnQgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLy4uL2ludGVyZmFjZXMvcGx1Z2luLWNvbmZpZyc7XG5cblxuZXhwb3J0IGNsYXNzIENvZGVQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBQbHVnaW5Db25maWcgPSB7IG5hbWU6ICdjb2RlJyB9KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG5hbWU6ICdjb2RlJyxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjb2RlJyxcbiAgICAgICAgICBzdmdQYXRoOiAnTTguOSw3LjNMNC4yLDEybDQuNyw0LjdsMS4xLTEuMUw2LjQsMTJMMTAsOC40TDguOSw3LjN6IE0xNS4xLDcuM0wxNCw4LjRsMy42LDMuNkwxNCwxNS42bDEuMSwxLjFsNC43LTQuN0wxNS4xLDcuM3onLFxuICAgICAgICAgIGNsaWNrOiAoZWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gZWRpdG9yLnNlbGVjdGlvbi5nZXQoKTtcbiAgICAgICAgICAgIGNvbnN0IGNvZGVFbCA9IHRoaXMuX2dldENvZGVFbChub2RlLmJhc2VOb2RlKTtcbiAgICAgICAgICAgIGlmIChjb2RlRWwpIHtcbiAgICAgICAgICAgICAgY29kZUVsLmNsYXNzTGlzdC5yZW1vdmUoJ2NvZGUnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVkaXRvci5odG1sLmluc2VydCgnPHAgY2xhc3M9XCJjb2RlXCI+JyArIGVkaXRvci5zZWxlY3Rpb24uZ2V0KCkudG9TdHJpbmcoKS5yZXBsYWNlKC9cXG57MSx9L2csJzxicj4nKSArICc8L3A+Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCkge1xuICAgIHRoaXMuZWRpdG9yLmV2ZW50cy5vbigna2V5ZG93bicsIChlKSA9PiB7XG4gICAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmVkaXRvci5zZWxlY3Rpb24uZ2V0KCk7XG5cbiAgICAgICAgaWYgKHNlbGVjdGlvbiAmJiB0aGlzLl9nZXRDb2RlRWwoc2VsZWN0aW9uLmJhc2VOb2RlKSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgbGV0IGJyID0gJzxicj4nO1xuICAgICAgICAgIGNvbnN0IGJhc2UgPSBzZWxlY3Rpb24uYmFzZU5vZGU7XG4gICAgICAgICAgaWYgKGJhc2Uubm9kZU5hbWUgPT09ICcjdGV4dCcgJiYgc2VsZWN0aW9uLmJhc2VPZmZzZXQgPT09IGJhc2UubGVuZ3RoKSB7XG5cbiAgICAgICAgICAgIGlmICghKGJhc2UubmV4dFNpYmxpbmcgJiYgYmFzZS5uZXh0U2libGluZy5ub2RlTmFtZSA9PT0gJ0JSJykpIHtcbiAgICAgICAgICAgICAgYnIgKz0gJzxicj4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBlbDogYW55ID0gQXJyYXkuZnJvbShiYXNlLmNoaWxkTm9kZXMpLnNwbGljZShzZWxlY3Rpb24uYmFzZU9mZnNldCAtIDEsIDEpLnBvcCgpO1xuICAgICAgICAgICAgaWYgKGVsICYmIGVsLm5vZGVOYW1lICE9PSAnQlInKSB7XG4gICAgICAgICAgICAgIGJyICs9ICc8YnI+JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmVkaXRvci5odG1sLmluc2VydChicik7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHt9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29kZUVsKGVsKSB7XG5cbiAgICBpZiAoZWwpIHtcbiAgICAgIGlmIChlbC5jbGFzc0xpc3QgJiYgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2RlJykpIHtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWwucGFyZW50RWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q29kZUVsKGVsLnBhcmVudEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi1wbHVnaW4uY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wbHVnaW5zL2NvbmZpZ3MvbWVudGlvbi1wbHVnaW4uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLy4uLy4uL2ludGVyZmFjZXMvcGx1Z2luLWNvbmZpZyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudGlvblBsdWdpbkNvbmZpZyBleHRlbmRzIFBsdWdpbkNvbmZpZyB7XG4gIHRyaWdnZXI/OiBzdHJpbmc7XG4gIG1lbnVJdGVtVGVtcGxhdGU/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIHNlbGVjdGVkVGVtcGxhdGU/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGZldGNoOiAoa2V5b3JkPzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPGFueT47XG4gIGNvbnRhaW5lckNsYXNzPzogc3RyaW5nO1xuICBtZW51SXRlbUNsYXNzPzogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBpY29uUGF0aD86IHN0cmluZztcbiAgc2VsZWN0ZWQ/OiAoaXRlbTogYW55KSA9PiB2b2lkO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlY29yZC1wbHVnaW4uY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wbHVnaW5zL2NvbmZpZ3Mvc2NyZWVuLXJlY29yZC1wbHVnaW4uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BsdWdpbi1jb25maWcnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmVlblJlY29yZFBsdWdpbkNvbmZpZyBleHRlbmRzIFBsdWdpbkNvbmZpZyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG1heFdpZHRoPzogc3RyaW5nLFxuICB1cGxvYWQ/OiAoZmlsZTogQmxvYikgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xufVxuIl19
@@ -1,87 +0,0 @@
1
- import { debounce } from 'lodash-es';
2
- import Tribute from 'tributejs';
3
- import { Plugin } from '../classes/plugin';
4
- import { guid } from '@firestitch/common';
5
- export class MentionPlugin extends Plugin {
6
- constructor(config) {
7
- super();
8
- this.config = config;
9
- this._guid = guid();
10
- this.selected = (event) => {
11
- if (this.config.selected) {
12
- if (MentionPlugin._currentGuid === this._guid) {
13
- this.config.selected(event.detail.item.original);
14
- }
15
- }
16
- };
17
- this.config = Object.assign(Object.assign({}, config), { buttons: [
18
- {
19
- name: config.name,
20
- tooltip: config.tooltip,
21
- svgPath: config.iconPath,
22
- click: (editor) => {
23
- this._closeAll();
24
- this._tribute.showMenuForCollection(editor.el);
25
- }
26
- }
27
- ] });
28
- this._tribute = new Tribute({
29
- values: debounce(this._loadValues.bind(this), 200),
30
- searchOpts: {
31
- pre: '',
32
- post: '',
33
- skip: true
34
- },
35
- containerClass: `fs-html-editor-mention-container ${this.config.containerClass || ''}`,
36
- itemClass: `fs-html-editor-mention-menu-item ${this.config.menuItemClass || ''}`,
37
- trigger: this.config.trigger,
38
- allowSpaces: true,
39
- menuItemTemplate: (item) => {
40
- return this.config.menuItemTemplate(item.original);
41
- },
42
- selectTemplate: (item) => {
43
- const template = this.config.selectedTemplate(item.original);
44
- let p = document.createElement('p');
45
- p.innerHTML = template;
46
- let node = p.firstElementChild;
47
- if (!node) {
48
- node = document.createElement('span');
49
- node.innerHTML = template;
50
- }
51
- node.setAttribute('contenteditable', 'false');
52
- node.classList.add('fr-deletable');
53
- return node.outerHTML;
54
- },
55
- });
56
- MentionPlugin._tributes.push(this._tribute);
57
- }
58
- initialize() {
59
- this._tribute.attach(this.editor.el);
60
- this.editor.events.on('keydown', (e) => {
61
- if (e.key === 'Enter' && this._tribute.isActive) {
62
- return false;
63
- }
64
- }, true);
65
- this.editor.el.addEventListener("tribute-replaced", this.selected);
66
- }
67
- destroy() {
68
- this.editor.el.removeEventListener("tribute-replaced", this.selected);
69
- }
70
- _closeAll() {
71
- MentionPlugin._tributes.forEach((tribute) => {
72
- if (tribute.menu) {
73
- tribute.hideMenu();
74
- }
75
- });
76
- }
77
- _loadValues(keyword, cb) {
78
- MentionPlugin._currentGuid = this._guid;
79
- return this.config.fetch(keyword)
80
- .subscribe((data) => {
81
- cb(data);
82
- });
83
- }
84
- }
85
- MentionPlugin._currentGuid = null;
86
- MentionPlugin._tributes = [];
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3BsdWdpbnMvbWVudGlvbi5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLE9BQXdCLE1BQU0sV0FBVyxDQUFDO0FBSWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHMUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxNQUFNO0lBT3ZDLFlBQTBCLE1BQTJCO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRGdCLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBRjdDLFVBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQztRQW1FaEIsYUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUIsSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDdkIsSUFBRyxhQUFhLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNsRDthQUNGO1FBQ0gsQ0FBQyxDQUFBO1FBckVDLElBQUksQ0FBQyxNQUFNLG1DQUNOLE1BQU0sS0FDVCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO29CQUNqQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87b0JBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUTtvQkFDeEIsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDakIsSUFBSSxDQUFDLFFB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RUFBRSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzdCLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUN0QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNmLENBQUM7O0FBaEdjLDBCQUFZLEdBQUcsSUFBSSxDQUFDO0FBQ3BCLHVCQUFTLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IFRyaWJ1dGUsIHsgVHJpYnV0ZUl0ZW0gfSBmcm9tICd0cmlidXRlanMnO1xuXG5pbXBvcnQgeyBNZW50aW9uUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi9jb25maWdzL21lbnRpb24tcGx1Z2luLmNvbmZpZyc7XG5cbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJy4uL2NsYXNzZXMvcGx1Z2luJztcblxuaW1wb3J0IHsgZ3VpZCB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cblxuZXhwb3J0IGNsYXNzIE1lbnRpb25QbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuXG4gIHByaXZhdGUgc3RhdGljIF9jdXJyZW50R3VpZCA9IG51bGw7XG4gIHByaXZhdGUgc3RhdGljIF90cmlidXRlcyA9IFtdO1xuICBwcml2YXRlIF90cmlidXRlO1xuICBwcml2YXRlIF9ndWlkID0gZ3VpZCgpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBNZW50aW9uUGx1Z2luQ29uZmlnKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IGNvbmZpZy5uYW1lLFxuICAgICAgICAgIHRvb2x0aXA6IGNvbmZpZy50b29sdGlwLFxuICAgICAgICAgIHN2Z1BhdGg6IGNvbmZpZy5pY29uUGF0aCxcbiAgICAgICAgICBjbGljazogKGVkaXRvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VBbGwoKTtcbiAgICAgICAgICAgIHRoaXMuX3RyaWJ1dGUuc2hvd01lbnVGb3JDb2xsZWN0aW9uKGVkaXRvci5lbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIHRoaXMuX3RyaWJ1dGUgPSBuZXcgVHJpYnV0ZSh7XG4gICAgICAgIHZhbHVlczogZGVib3VuY2UodGhpcy5fbG9hZFZhbHVlcy5iaW5kKHRoaXMpLCAyMDApLFxuICAgICAgICBzZWFyY2hPcHRzOiB7XG4gICAgICAgICAgcHJlOiAnJyxcbiAgICAgICAgICBwb3N0OiAnJyxcbiAgICAgICAgICBza2lwOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRhaW5lckNsYXNzOiBgZnMtaHRtbC1lZGl0b3ItbWVudGlvbi1jb250YWluZXIgJHt0aGlzLmNvbmZpZy5jb250YWluZXJDbGFzcyB8fCAnJ31gLFxuICAgICAgICBpdGVtQ2xhc3M6IGBmcy1odG1sLWVkaXRvci1tZW50aW9uLW1lbnUtaXRlbSAke3RoaXMuY29uZmlnLm1lbnVJdGVtQ2xhc3MgfHwgJyd9YCxcbiAgICAgICAgdHJpZ2dlcjogdGhpcy5jb25maWcudHJpZ2dlcixcbiAgICAgICAgYWxsb3dTcGFjZXM6IHRydWUsXG4gICAgICAgIG1lbnVJdGVtVGVtcGxhdGU6IChpdGVtOiBUcmlidXRlSXRlbTxhbnk+KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLm1lbnVJdGVtVGVtcGxhdGUoaXRlbS5vcmlnaW5hbCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNlbGVjdFRlbXBsYXRlOiAoaXRlbTogVHJpYnV0ZUl0ZW08YW55PikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5jb25maWcuc2VsZWN0ZWRUZW1wbGF0ZShpdGVtLm9yaWdpbmFsKTtcblxuICAgICAgICAgIGxldCBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO1xuICAgICAgICAgIHAuaW5uZXJIVE1MID0gdGVtcGxhdGU7XG5cbiAgICAgICAgICBsZXQgbm9kZSA9IHAuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgbm9kZS5pbm5lckhUTUwgPSB0ZW1wbGF0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgJ2ZhbHNlJyk7XG4gICAgICAgICAgbm9kZS5jbGFzc0xpc3QuYWRkKCdmci1kZWxldGFibGUnKTtcblxuICAgICAgICAgIHJldHVybiBub2RlLm91dGVySFRNTDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgTWVudGlvblBsdWdpbi5fdHJpYnV0ZXMucHVzaCh0aGlzLl90cmlidXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCkge1xuICAgIHRoaXMuX3RyaWJ1dGUuYXR0YWNoKHRoaXMuZWRpdG9yLmVsKTtcbiAgICB0aGlzLmVkaXRvci5ldmVudHMub24oJ2tleWRvd24nLCAoZSkgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICB0aGlzLl90cmlidXRlLmlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9LCB0cnVlKTtcblxuICAgIFxuICAgIHRoaXMuZWRpdG9yLmVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmlidXRlLXJlcGxhY2VkXCIsIHRoaXMuc2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkID0gKGV2ZW50KSA9PiB7XG4gICAgaWYodGhpcy5jb25maWcuc2VsZWN0ZWQpIHtcbiAgICAgIGlmKE1lbnRpb25QbHVnaW4uX2N1cnJlbnRHdWlkID09PSB0aGlzLl9ndWlkKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGVkKGV2ZW50LmRldGFpbC5pdGVtLm9yaWdpbmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLmVkaXRvci5lbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJpYnV0ZS1yZXBsYWNlZFwiLCB0aGlzLnNlbGVjdGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlQWxsKCkge1xuICAgIE1lbnRpb25QbHVnaW4uX3RyaWJ1dGVzLmZvckVhY2goKHRyaWJ1dGUpID0+IHtcbiAgICAgIGlmICh0cmlidXRlLm1lbnUpIHtcbiAgICAgICAgdHJpYnV0ZS5oaWRlTWVudSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZFZhbHVlcyhrZXl3b3JkLCBjYikge1xuICAgIE1lbnRpb25QbHVnaW4uX2N1cnJlbnRHdWlkID0gdGhpcy5fZ3VpZDtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZmV0Y2goa2V5d29yZClcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNiKGRhdGEpO1xuICAgICAgICAgICAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,94 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Plugin } from '../classes/plugin';
3
- import { ResourceLoader } from '../utils/loader';
4
- export class ScreenRecordPlugin extends Plugin {
5
- constructor(config = {}) {
6
- super();
7
- this.config = config;
8
- this.config = Object.assign(Object.assign({}, config), { name: config.name || 'screenRecord', buttons: [
9
- {
10
- name: 'screenRecord',
11
- svgPath: `M14.7,7.7v6.1H7.1V7.7H14.7 M16.3,9.6V6.9c0-0.4-0.3-0.8-0.8-0.8H6.4c-0.4,0-0.8,0.3-0.8,0.8v7.6c0,0.4,0.3,0.8,0.8,0.8h9.1c0.4,0,0.8-0.3,0.8-0.8v-2.7l1.7,1.7c0.3,0.3,0.8,0.3,1.1,0c0.1-0.1,0.2-0.3,0.2-0.5V8.4c0-0.4-0.3-0.8-0.8-0.8
12
- c-0.2,0-0.4,0.1-0.5,0.2L16.3,9.6z M21.5,1.6H2.9c-0.7,0-1.3,0.7-1.3,1.6v14.6c0,0.9,0.6,1.6,1.3,1.6h7.6v1.1l-5,1c-0.2,0-0.4,0.3-0.4,0.6c0,0.3,0.2,0.4,0.4,0.4c0,0,0,0,0.1,0l5.3-1h2.6l5.3,1c0,0,0,0,0.1,0c0.2,0,0.4-0.2,0.4-0.4
13
- c0-0.3-0.1-0.6-0.4-0.6l-5-1v-1.1h7.6c0.7,0,1.3-0.7,1.3-1.6V3.2C22.9,2.3,22.3,1.6,21.5,1.6z M21.1,17.3H3.3V3.7h17.8L21.1,17.3L21.1,17.3z`,
14
- tooltip: 'Screen Record',
15
- click: (editor) => {
16
- navigator.mediaDevices.getDisplayMedia({ video: true })
17
- .then((stream) => {
18
- const chunks = [];
19
- const options = { mimeType: 'video/webm; codecs=vp9' };
20
- let mediaRecorder = new MediaRecorder(stream, options);
21
- stream.addEventListener('inactive', (e) => {
22
- mediaRecorder.stop();
23
- mediaRecorder = null;
24
- stream.getTracks().forEach((track) => track.stop());
25
- stream = null;
26
- const blob = new Blob(chunks, { type: 'video/webm' });
27
- config.upload(blob)
28
- .subscribe((url) => {
29
- editor.html.insert(`<span class="fr-screen-record fr-deletable fr-draggable"><video controls style="max-width:${config.maxWidth}"><source src="${url}" type="video/webm"></video></span>`);
30
- });
31
- });
32
- mediaRecorder.addEventListener('dataavailable', (event) => {
33
- if (event.data && event.data.size > 0) {
34
- chunks.push(event.data);
35
- }
36
- });
37
- mediaRecorder.start(10);
38
- })
39
- .catch((e) => { });
40
- }
41
- }
42
- ] });
43
- }
44
- initialize() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- yield ResourceLoader.loadStyles('froala')
47
- .toPromise();
48
- const FroalaEditor = window.FroalaEditor;
49
- this.editor.events.on('mouseup', (e) => {
50
- const el = this._getEl(e.target);
51
- if (el) {
52
- this.editor.popups.hideAll();
53
- this._activeEl = el;
54
- this._showPopup(el);
55
- }
56
- });
57
- FroalaEditor.POPUP_TEMPLATES["screenRecordPlugin.popup"] = '[_BUTTONS_]';
58
- FroalaEditor.DefineIcon('popupClose', { NAME: 'trash', SVG_KEY: 'remove' });
59
- FroalaEditor.RegisterCommand('popupClose', {
60
- title: 'Remove',
61
- undo: false,
62
- focus: false,
63
- callback: () => {
64
- if (this._activeEl) {
65
- this._activeEl.remove();
66
- }
67
- }
68
- });
69
- });
70
- }
71
- _createPopup() {
72
- const template = {
73
- buttons: `<div class="fr-buttons">${this.editor.button.buildList(['popupClose'])}</div>`,
74
- };
75
- return this.editor.popups.create('screenRecordPlugin.popup', template);
76
- }
77
- _showPopup(el) {
78
- var $popup = this.editor.popups.get('screenRecordPlugin.popup');
79
- if (!$popup) {
80
- $popup = this._createPopup();
81
- }
82
- this.editor.popups.setContainer('screenRecordPlugin.popup', this.editor.$(el));
83
- const left = el.offsetLeft + el.offsetWidth / 2;
84
- this.editor.popups.show('screenRecordPlugin.popup', left, null);
85
- }
86
- _getEl(el) {
87
- if (el && el.classList) {
88
- if (el.classList.contains('fr-screen-record'))
89
- return el;
90
- return this._getEl(el.parentNode);
91
- }
92
- }
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXJlY29yZC5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3BsdWdpbnMvc2NyZWVuLXJlY29yZC5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLakQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE1BQU07SUFJNUMsWUFBMEIsU0FBbUMsRUFBRTtRQUM3RCxLQUFLLEVBQUUsQ0FBQztRQURnQixXQUFNLEdBQU4sTUFBTSxDQUErQjtRQUc3RCxJQUFJLENBQUMsTUFBTSxtQ0FDTixNQUFNLEtBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksY0FBYyxFQUNuQyxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLE9BQU8sRUFBRTs7MElBRXVIO29CQUNoSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBRVYsU0FBVSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7NkJBQzNELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFOzRCQUNmLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQzs0QkFDbEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQzs0QkFDdkQsSUFBSSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzRCQUV2RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0NBQ3hDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQ0FDckIsYUFBYSxHQUFHLElB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RSxRQUFRLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU8sVUFBVSxDQUFFLEVBQUU7UUFDcEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUvRSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLE1BQU0sQ0FBQyxFQUFFO1FBQ2YsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRTtZQUN0QixJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQztZQUVaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JlZW5SZWNvcmRQbHVnaW5Db25maWcgfSBmcm9tICcuL2NvbmZpZ3Mvc2NyZWVuLXJlY29yZC1wbHVnaW4uY29uZmlnJztcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJy4uL2NsYXNzZXMvcGx1Z2luJztcbmltcG9ydCB7IFJlc291cmNlTG9hZGVyIH0gZnJvbSAnLi4vdXRpbHMvbG9hZGVyJztcblxuXG5kZWNsYXJlIHZhciBNZWRpYVJlY29yZGVyOiBhbnk7XG5cbmV4cG9ydCBjbGFzcyBTY3JlZW5SZWNvcmRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuXG4gIHByaXZhdGUgX2FjdGl2ZUVsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnOiBTY3JlZW5SZWNvcmRQbHVnaW5Db25maWcgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lIHx8ICdzY3JlZW5SZWNvcmQnLFxuICAgICAgYnV0dG9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3NjcmVlblJlY29yZCcsXG4gICAgICAgICAgc3ZnUGF0aDogYE0xNC43LDcuN3Y2LjFINy4xVjcuN0gxNC43IE0xNi4zLDkuNlY2LjljMC0wLjQtMC4zLTAuOC0wLjgtMC44SDYuNGMtMC40LDAtMC44LDAuMy0wLjgsMC44djcuNmMwLDAuNCwwLjMsMC44LDAuOCwwLjhoOS4xYzAuNCwwLDAuOC0wLjMsMC44LTAuOHYtMi43bDEuNywxLjdjMC4zLDAuMywwLjgsMC4zLDEuMSwwYzAuMS0wLjEsMC4yLTAuMywwLjItMC41VjguNGMwLTAuNC0wLjMtMC44LTAuOC0wLjhcblx0Yy0wLjIsMC0wLjQsMC4xLTAuNSwwLjJMMTYuMyw5LjZ6IE0yMS41LDEuNkgyLjljLTAuNywwLTEuMywwLjctMS4zLDEuNnYxNC42YzAsMC45LDAuNiwxLjYsMS4zLDEuNmg3LjZ2MS4xbC01LDFjLTAuMiwwLTAuNCwwLjMtMC40LDAuNmMwLDAuMywwLjIsMC40LDAuNCwwLjRjMCwwLDAsMCwwLjEsMGw1LjMtMWgyLjZsNS4zLDFjMCwwLDAsMCwwLjEsMGMwLjIsMCwwLjQtMC4yLDAuNC0wLjRcbiAgYzAtMC4zLTAuMS0wLjYtMC40LTAuNmwtNS0xdi0xLjFoNy42YzAuNywwLDEuMy0wLjcsMS4zLTEuNlYzLjJDMjIuOSwyLjMsMjIuMywxLjYsMjEuNSwxLjZ6IE0yMS4xLDE3LjNIMy4zVjMuN2gxNy44TDIxLjEsMTcuM0wyMS4xLDE3LjN6YCxcbiAgICAgICAgICB0b29sdGlwOiAnU2NyZWVuIFJlY29yZCcsXG4gICAgICAgICAgY2xpY2s6IChlZGl0b3IpID0+IHtcblxuICAgICAgICAgICAgKDxhbnk+bmF2aWdhdG9yKS5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSlcbiAgICAgICAgICAgICAgLnRoZW4oKHN0cmVhbSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rcyA9IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7IG1pbWVUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPXZwOScgfTtcbiAgICAgICAgICAgICAgICBsZXQgbWVkaWFSZWNvcmRlciA9IG5ldyBNZWRpYVJlY29yZGVyKHN0cmVhbSwgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICBzdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcignaW5hY3RpdmUnLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgbWVkaWFSZWNvcmRlci5zdG9wKCk7XG4gICAgICAgICAgICAgICAgICBtZWRpYVJlY29yZGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKCh0cmFjaykgPT4gdHJhY2suc3RvcCgpKTtcbiAgICAgICAgICAgICAgICAgIHN0cmVhbSA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihjaHVua3MsIHsgdHlwZTogJ3ZpZGVvL3dlYm0nIH0pO1xuICAgICAgICAgICAgICAgICAgY29uZmlnLnVwbG9hZChibG9iKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmh0bWwuaW5zZXJ0KGA8c3BhbiBjbGFzcz1cImZyLXNjcmVlbi1yZWNvcmQgZnItZGVsZXRhYmxlIGZyLWRyYWdnYWJsZVwiPjx2aWRlbyBjb250cm9scyBzdHlsZT1cIm1heC13aWR0aDoke2NvbmZpZy5tYXhXaWR0aH1cIj48c291cmNlIHNyYz1cIiR7dXJsfVwiIHR5cGU9XCJ2aWRlby93ZWJtXCI+PC92aWRlbz48L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuYWRkRXZlbnRMaXN0ZW5lcignZGF0YWF2YWlsYWJsZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS5zaXplID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBjaHVua3MucHVzaChldmVudC5kYXRhKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIG1lZGlhUmVjb3JkZXIuc3RhcnQoMTApO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHsgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKCkge1xuICAgIGF3YWl0IFJlc291cmNlTG9hZGVyLmxvYWRTdHlsZXMoJ2Zyb2FsYScpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICBjb25zdCBGcm9hbGFFZGl0b3IgPSAod2luZG93IGFzIGFueSkuRnJvYWxhRWRpdG9yO1xuXG4gICAgdGhpcy5lZGl0b3IuZXZlbnRzLm9uKCdtb3VzZXVwJywgKGUpID0+IHtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5fZ2V0RWwoZS50YXJnZXQpO1xuXG4gICAgICBpZiAoZWwpIHtcbiAgICAgICAgdGhpcy5lZGl0b3IucG9wdXBzLmhpZGVBbGwoKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlRWwgPSBlbDtcbiAgICAgICAgdGhpcy5fc2hvd1BvcHVwKGVsKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIEZyb2FsYUVkaXRvci5QT1BVUF9URU1QTEFURVNbXCJzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXBcIl0gPSAnW19CVVRUT05TX10nO1xuXG4gICAgRnJvYWxhRWRpdG9yLkRlZmluZUljb24oJ3BvcHVwQ2xvc2UnLCB7IE5BTUU6ICd0cmFzaCcsIFNWR19LRVk6ICdyZW1vdmUnIH0pO1xuICAgIEZyb2FsYUVkaXRvci5SZWdpc3RlckNvbW1hbmQoJ3BvcHVwQ2xvc2UnLCB7XG4gICAgICB0aXRsZTogJ1JlbW92ZScsXG4gICAgICB1bmRvOiBmYWxzZSxcbiAgICAgIGZvY3VzOiBmYWxzZSxcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVFbCkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZUVsLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVQb3B1cCgpIHtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0ge1xuICAgICAgYnV0dG9uczogYDxkaXYgY2xhc3M9XCJmci1idXR0b25zXCI+JHt0aGlzLmVkaXRvci5idXR0b24uYnVpbGRMaXN0KFsncG9wdXBDbG9zZSddKX08L2Rpdj5gLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5lZGl0b3IucG9wdXBzLmNyZWF0ZSgnc2NyZWVuUmVjb3JkUGx1Z2luLnBvcHVwJywgdGVtcGxhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2hvd1BvcHVwIChlbCkge1xuICAgIHZhciAkcG9wdXAgPSB0aGlzLmVkaXRvci5wb3B1cHMuZ2V0KCdzY3JlZW5SZWNvcmRQbHVnaW4ucG9wdXAnKTtcblxuICAgIGlmICghJHBvcHVwKSB7XG4gICAgICAkcG9wdXAgPSB0aGlzLl9jcmVhdGVQb3B1cCgpO1xuICAgIH1cblxuICAgIHRoaXMuZWRpdG9yLnBvcHVwcy5zZXRDb250YWluZXIoJ3NjcmVlblJlY29yZFBsdWdpbi5wb3B1cCcsIHRoaXMuZWRpdG9yLiQoZWwpKTtcblxuICAgIGNvbnN0IGxlZnQgPSBlbC5vZmZzZXRMZWZ0ICsgZWwub2Zmc2V0V2lkdGggLyAyO1xuXG4gICAgdGhpcy5lZGl0b3IucG9wdXBzLnNob3coJ3NjcmVlblJlY29yZFBsdWdpbi5wb3B1cCcsIGxlZnQsIG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RWwoZWwpIHtcbiAgICBpZiAoZWwgJiYgZWwuY2xhc3NMaXN0KSB7XG4gICAgICBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdmci1zY3JlZW4tcmVjb3JkJykpXG4gICAgICAgIHJldHVybiBlbDtcblxuICAgICAgcmV0dXJuIHRoaXMuX2dldEVsKGVsLnBhcmVudE5vZGUpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,80 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { BehaviorSubject, combineLatest } from 'rxjs';
3
- import { concatMap, map, shareReplay, tap } from 'rxjs/operators';
4
- import { FS_HTML_EDITOR_CONFIG } from '../injects/config.inject';
5
- import { ResourceLoader } from '../utils/loader';
6
- import * as i0 from "@angular/core";
7
- export class FsFroalaLoaderService {
8
- constructor(_defaultConfig) {
9
- this._defaultConfig = _defaultConfig;
10
- this._froalaLoaded = new BehaviorSubject(false);
11
- this._froalaPluginsLoaded = new BehaviorSubject(false);
12
- this._loaded$ = combineLatest([this._froalaLoaded, this._froalaPluginsLoaded])
13
- .pipe(map(([FroalaReady, pluginsRead]) => {
14
- return pluginsRead && FroalaReady;
15
- }), shareReplay(1));
16
- if (this._defaultConfig) {
17
- if (this._defaultConfig.assetsJSPath) {
18
- ResourceLoader.setResourceBase(this._defaultConfig.assetsJSPath);
19
- }
20
- if (this._defaultConfig.assetsCSSPath) {
21
- ResourceLoader.setStylesBase(this._defaultConfig.assetsCSSPath);
22
- }
23
- }
24
- this._load();
25
- }
26
- get loaded$() {
27
- return this._loaded$;
28
- }
29
- get ready() {
30
- return this._froalaLoaded.getValue() && this._froalaPluginsLoaded.getValue();
31
- }
32
- get FroalaEditor() {
33
- return this._FroalaEditor;
34
- }
35
- _load() {
36
- combineLatest([
37
- ResourceLoader.loadResource('froala'),
38
- ResourceLoader.loadStyles('froala')
39
- ])
40
- .pipe(tap(() => {
41
- this._FroalaEditor = window.FroalaEditor;
42
- this._froalaDone();
43
- }), concatMap(() => {
44
- return this._loadPlugins();
45
- }), tap(() => {
46
- this._froalaPluginsDone();
47
- }))
48
- .subscribe();
49
- }
50
- _loadPlugins() {
51
- const imports = this._defaultConfig
52
- .froalaPlugins
53
- .reduce((acc, pluginName) => {
54
- const import$ = ResourceLoader.loadResource(pluginName);
55
- acc.push(import$);
56
- return acc;
57
- }, []);
58
- return combineLatest(imports);
59
- }
60
- _froalaDone() {
61
- this._froalaLoaded.next(true);
62
- }
63
- _froalaPluginsDone() {
64
- this._froalaPluginsLoaded.next(true);
65
- }
66
- }
67
- FsFroalaLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFroalaLoaderService, deps: [{ token: FS_HTML_EDITOR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
68
- FsFroalaLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFroalaLoaderService, providedIn: 'root' });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFroalaLoaderService, decorators: [{
70
- type: Injectable,
71
- args: [{
72
- providedIn: 'root',
73
- }]
74
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
75
- type: Optional
76
- }, {
77
- type: Inject,
78
- args: [FS_HTML_EDITOR_CONFIG]
79
- }] }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvYWxhLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mcm9hbGEtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxxQkFBcUI7SUFlaEMsWUFDcUQsY0FBa0M7UUFBbEMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBWi9FLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEQsYUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDOUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDakMsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBS0YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3BDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQTthQUNqRTtZQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQTthQUNoRTtTQUNGO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVPLEtBQUs7UUFDWCxhQUFhLENBQUM7WUFDWixjQUFjLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUNyQyxjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQyxDQUFDO2FBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsYUFBYSxHQUFJLE1BQWMsQ0FBQyxZQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYzthQUNoQyxhQUFhO2FBQ2IsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQzFCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFeEQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVULE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOzttSEFuRlUscUJBQXFCLGtCQWdCVixxQkFBcUI7dUhBaEJoQyxxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFpQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHNoYXJlUmVwbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZTX0hUTUxfRURJVE9SX0NPTkZJRyB9IGZyb20gJy4uL2luamVjdHMvY29uZmlnLmluamVjdCc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2h0bWwtZWRpdG9yLWNvbmZpZyc7XG5cbmltcG9ydCB7IFJlc291cmNlTG9hZGVyIH0gZnJvbSAnLi4vdXRpbHMvbG9hZGVyJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNGcm9hbGFMb2FkZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9Gcm9hbGFFZGl0b3I6IHVua25vd247XG5cbiAgcHJpdmF0ZSBfZnJvYWxhTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2Zyb2FsYVBsdWdpbnNMb2FkZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIF9sb2FkZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZnJvYWxhTG9hZGVkLCB0aGlzLl9mcm9hbGFQbHVnaW5zTG9hZGVkXSlcbiAgICAucGlwZShcbiAgICAgIG1hcCgoW0Zyb2FsYVJlYWR5LCBwbHVnaW5zUmVhZF0pID0+IHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbnNSZWFkICYmIEZyb2FsYVJlYWR5O1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfSFRNTF9FRElUT1JfQ09ORklHKSBwcml2YXRlIF9kZWZhdWx0Q29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWcsXG4gICkge1xuICAgIGlmICh0aGlzLl9kZWZhdWx0Q29uZmlnKSB7XG4gICAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNKU1BhdGgpIHtcbiAgICAgICAgUmVzb3VyY2VMb2FkZXIuc2V0UmVzb3VyY2VCYXNlKHRoaXMuX2RlZmF1bHRDb25maWcuYXNzZXRzSlNQYXRoKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNDU1NQYXRoKSB7XG4gICAgICAgIFJlc291cmNlTG9hZGVyLnNldFN0eWxlc0Jhc2UodGhpcy5fZGVmYXVsdENvbmZpZy5hc3NldHNDU1NQYXRoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2xvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGVkJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb2FsYUxvYWRlZC5nZXRWYWx1ZSgpICYmIHRoaXMuX2Zyb2FsYVBsdWdpbnNMb2FkZWQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRnJvYWxhRWRpdG9yKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX0Zyb2FsYUVkaXRvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWQoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICBSZXNvdXJjZUxvYWRlci5sb2FkUmVzb3VyY2UoJ2Zyb2FsYScpLFxuICAgICAgUmVzb3VyY2VMb2FkZXIubG9hZFN0eWxlcygnZnJvYWxhJylcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fRnJvYWxhRWRpdG9yID0gKHdpbmRvdyBhcyBhbnkpLkZyb2FsYUVkaXRvcjtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFEb25lKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkUGx1Z2lucygpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9mcm9hbGFQbHVnaW5zRG9uZSgpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuICBcbiAgcHJpdmF0ZSBfbG9hZFBsdWdpbnMoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgY29uc3QgaW1wb3J0cyA9IHRoaXMuX2RlZmF1bHRDb25maWdcbiAgICAgIC5mcm9hbGFQbHVnaW5zXG4gICAgICAucmVkdWNlKChhY2MsIHBsdWdpbk5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgaW1wb3J0JCA9IFJlc291cmNlTG9hZGVyLmxvYWRSZXNvdXJjZShwbHVnaW5OYW1lKTtcblxuICAgICAgICBhY2MucHVzaChpbXBvcnQkKTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoaW1wb3J0cyk7XG4gIH1cblxuICBwcml2YXRlIF9mcm9hbGFEb25lKCkge1xuICAgIHRoaXMuX2Zyb2FsYUxvYWRlZC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZnJvYWxhUGx1Z2luc0RvbmUoKSB7XG4gICAgdGhpcy5fZnJvYWxhUGx1Z2luc0xvYWRlZC5uZXh0KHRydWUpO1xuICB9XG59XG4iXX0=