@eui/components 18.2.13 → 18.2.14-snapshot-1750917958216

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 (85) hide show
  1. package/docs/components/EuiAccordionItemComponent.html +32 -0
  2. package/docs/dependencies.html +2 -2
  3. package/docs/js/search/search_index.js +2 -2
  4. package/esm2022/eui-accordion/eui-accordion-item.component.mjs +7 -3
  5. package/eui-accordion/eui-accordion-item.component.d.ts +3 -1
  6. package/eui-accordion/eui-accordion-item.component.d.ts.map +1 -1
  7. package/fesm2022/eui-components-directives.mjs.map +1 -1
  8. package/fesm2022/eui-components-eui-accordion.mjs +6 -2
  9. package/fesm2022/eui-components-eui-accordion.mjs.map +1 -1
  10. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  11. package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
  12. package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
  13. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  14. package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
  15. package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
  16. package/fesm2022/eui-components-eui-breadcrumb.mjs.map +1 -1
  17. package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
  18. package/fesm2022/eui-components-eui-button-v2.mjs.map +1 -1
  19. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  20. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  21. package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
  22. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  23. package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
  24. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  25. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  26. package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
  27. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  28. package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
  29. package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
  30. package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
  31. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  32. package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
  33. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  34. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  35. package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-icon-button-expander.mjs.map +1 -1
  37. package/fesm2022/eui-components-eui-icon-button.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-icon-color.mjs.map +1 -1
  39. package/fesm2022/eui-components-eui-icon-input.mjs.map +1 -1
  40. package/fesm2022/eui-components-eui-icon-state.mjs.map +1 -1
  41. package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
  42. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  43. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  44. package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
  45. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  46. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  47. package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
  48. package/fesm2022/eui-components-eui-label.mjs.map +1 -1
  49. package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
  50. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  51. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  52. package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
  53. package/fesm2022/eui-components-eui-navbar.mjs.map +1 -1
  54. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  55. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  56. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  57. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  58. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  59. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  60. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  61. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  62. package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
  63. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  64. package/fesm2022/eui-components-eui-split-button.mjs.map +1 -1
  65. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  66. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  67. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  68. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  69. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  70. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  71. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  72. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  73. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  74. package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
  75. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  76. package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
  77. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  78. package/fesm2022/eui-components-externals-helpers.mjs.map +1 -1
  79. package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
  80. package/fesm2022/eui-components-externals-search-favourite-queries.mjs.map +1 -1
  81. package/fesm2022/eui-components-layout.mjs.map +1 -1
  82. package/fesm2022/eui-components-pipes.mjs.map +1 -1
  83. package/fesm2022/eui-components-shared.mjs.map +1 -1
  84. package/fesm2022/eui-components-validators.mjs.map +1 -1
  85. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-externals-quill.mjs","sources":["../../externals/quill/quill-defaults.ts","../../externals/quill/quill-editor.interfaces.ts","../../externals/quill/loader.service.ts","../../externals/quill/quill-editor.component.ts","../../externals/quill/quill.module.ts","../../externals/quill/eui-components-externals-quill.ts"],"sourcesContent":["export const defaultModules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ['table'], // adds the insert table button\n ['link', 'image', 'video'], // link and image, video\n ],\n};\n","import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n Array<\n | string\n | {\n indent?: string;\n list?: string;\n direction?: string;\n header?: number | Array<boolean | number>;\n color?: string[];\n background?: string[];\n align?: string[];\n script?: string;\n font?: string[];\n size?: Array<boolean | string>;\n }\n >\n>;\n\nexport interface QuillModules {\n [key: string]: any;\n clipboard?:\n | {\n mathers?: any[];\n matchVisual?: boolean;\n }\n | boolean;\n history?:\n | {\n delay?: number;\n maxStack?: number;\n userOnly?: boolean;\n }\n | boolean;\n keyboard?:\n | {\n bindings?: any;\n }\n | boolean;\n syntax?: boolean;\n table?: boolean;\n toolbar?:\n | QuillToolbarConfig\n | string\n | {\n container?: string | string[] | QuillToolbarConfig;\n handlers?: {\n [key: string]: any;\n };\n }\n | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n bounds?: HTMLElement | string;\n debug?: 'error' | 'warn' | 'log' | false;\n format?: QuillFormat;\n formats?: any;\n modules?: QuillModules;\n placeholder?: string;\n readOnly?: boolean;\n scrollingContainer?: HTMLElement | string | null;\n theme?: string;\n // Custom Config to track all changes or only changes by 'user'\n trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n /** path for scripts and css e.g. '/assets/quill/' */\n path: string;\n /** path for scripts e.g. ['/assets/quill.min.js'] */\n // scripts: string[];\n /** path for css e.g. ['/assets/quill.snow.css'] */\n // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n","import { inject, Injectable } from \"@angular/core\";\n\nimport { Observable } from 'rxjs';\nimport { QUILL_DYNAMIC_CONFIG_TOKEN, QuillDynamicConfig } from \"./quill-editor.interfaces\";\nimport { DOCUMENT } from \"@angular/common\";\n\ndeclare const window: { Quill: any | undefined; quillBetterTable: any | undefined };\n\n/**\n * @internal This service is not part of the public API of the component\n */\n@Injectable({ providedIn: 'root'})\nexport class LoaderService {\n private dynamicConfig: QuillDynamicConfig = inject(QUILL_DYNAMIC_CONFIG_TOKEN, { optional: true });\n\n /**\n * Load the Quill.js library\n *\n * @param path Path to the Quill.js library e.g. \"assets/quill/dist\". The path must contain the \"quill.js\"\n * and \"quillEditor.min.css\" files and also the css ones.\n */\n load(): Observable<boolean> {\n let loaded: boolean = false;\n return new Observable(observer => {\n\n // check if window.Quill is defined other load it\n if (window.Quill === undefined) {\n const loadResult = { mainScript: false, style: false, secondaryScript: false, };\n\n // style\n const quillEditorStyle: HTMLLinkElement = document.createElement('link');\n quillEditorStyle.href = `${this.dynamicConfig?.path}/quill.core.css`;\n quillEditorStyle.rel = 'stylesheet';\n const quillEditorStyleOnload = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n loadResult.style = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n const quillEditorSnowStyle: HTMLLinkElement = document.createElement('link');\n quillEditorSnowStyle.href = `${this.dynamicConfig?.path}/quill.snow.css`;\n quillEditorSnowStyle.rel = 'stylesheet';\n\n // script to inject into page the Quill.js\n let quillEditorScript: HTMLScriptElement = document.createElement('script');\n quillEditorScript.src = `${this.dynamicConfig?.path}/quill.js`;\n quillEditorScript.type = 'application/javascript';\n quillEditorScript.async = true;\n const quillEditorScriptOnload = () => {\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n loadResult.mainScript = true;\n document.body.append(quillBetterTableScript);\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n // script to inject into page the Quill-better-table\"node_modules/quill-better-table/dist/quill-better-table.min.js\",\n const quillBetterTableScript: HTMLScriptElement = document.createElement('script');\n quillBetterTableScript.src = `${this.dynamicConfig?.path}/quill-better-table.js`;\n quillBetterTableScript.type = 'application/javascript';\n quillBetterTableScript.async = true;\n const quillBetterTableScriptOnload = () => {\n quillBetterTableScript.removeEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.removeEventListener('error', quillEditorOnerror);\n loadResult.secondaryScript = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n const quillEditorOnerror = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n observer.next(false);\n observer.complete();\n };\n\n quillEditorStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.addEventListener('error', quillEditorOnerror);\n quillEditorSnowStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorSnowStyle.addEventListener('error', quillEditorOnerror);\n quillEditorScript.addEventListener('load', quillEditorScriptOnload);\n quillEditorScript.addEventListener('error', quillEditorOnerror);\n quillBetterTableScript.addEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.addEventListener('error', quillEditorOnerror);\n\n // check if the script is already loaded. Take into account the Hostname on to src\n if (document.querySelector(`script[src=\"${this.dynamicConfig?.path}/quill.js\"]`) === null) {\n document.body.append(quillEditorScript);\n } else {\n // interval timer to check when the script is loaded\n const interval = setInterval(() => {\n if (loaded) {\n clearInterval(interval);\n } else if (window.Quill !== undefined && window.quillBetterTable !== undefined) {\n observer.next(true);\n observer.complete();\n loaded = true;\n clearInterval(interval);\n }\n }, 100);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.core.css\"]`) === null) {\n document.body.append(quillEditorStyle);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.snow.css\"]`) === null) {\n document.body.append(quillEditorSnowStyle);\n }\n } else {\n observer.next(true);\n observer.complete();\n }\n });\n }\n}\n","import { isPlatformServer } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n QUILL_CONFIG_TOKEN,\n QuillConfig,\n QuillFormat,\n QuillModules,\n} from './quill-editor.interfaces';\n\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n PLATFORM_ID,\n Renderer2,\n SecurityContext,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nimport { DOCUMENT } from '@angular/common';\nimport { defaultModules } from './quill-defaults';\nimport { ContentChange, SelectionChange, Range } from './models/editor.model';\nimport { LoaderService } from './loader.service';\n\n// Because quill uses `document` directly, we cannot `import` during SSR\n// instead, we load dynamically via `require('quill')` in `ngAfterViewInit()`\n// eslint-disable-next-line no-var\ndeclare var require: any;\n// eslint-disable-next-line no-var\ndeclare var Quill: any;\n// let Quill: any = window['Quill'];\n\nexport interface CustomOption {\n import: string;\n whitelist: any[];\n}\n\nconst getFormat = (format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n const passedFormat = format || configFormat;\n return passedFormat || 'html';\n};\n\n@Component({\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n ],\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'quill-editor',\n template: `<ng-content select=\"[quill-editor-toolbar]\"></ng-content>`,\n})\nexport class QuillEditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator {\n quillEditor: any;\n editorElem: HTMLElement | undefined;\n content: any;\n protected loaded = false;\n\n @Input() id: string;\n @Input() format?: 'object' | 'html' | 'text' | 'json';\n @Input() theme?: string;\n @Input() modules?: QuillModules;\n @Input() debug?: 'warn' | 'log' | 'error' | false;\n @Input() placeholder?: string;\n @Input() maxLength?: number;\n @Input() minLength?: number;\n @Input() formats?: string[] | null;\n @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n @Input() styles: any = null;\n @Input() scrollingContainer?: HTMLElement | string | null;\n @Input() bounds?: HTMLElement | string;\n @Input() customOptions: CustomOption[] = [];\n @Input() trackChanges?: 'user' | 'all';\n @Input() hasImageFeature: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onEditorCreated: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onContentChanged: EventEmitter<ContentChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onSelectionChanged: EventEmitter<SelectionChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFocus: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onBlur: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n\n @Input({ transform: booleanAttribute }) readOnly?: boolean;\n @Input({ transform: booleanAttribute }) required = false;\n @Input({ transform: booleanAttribute }) sanitize = false;\n @Input({ transform: booleanAttribute }) strict = true;\n @Input({ transform: booleanAttribute }) preserveWhitespace = false;\n\n private disabled = false; // used to store initial value before ViewInit\n\n constructor(\n private elementRef: ElementRef,\n private domSanitizer: DomSanitizer,\n @Inject(DOCUMENT) private doc: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n @Inject(PLATFORM_ID) private platformId: object,\n private renderer: Renderer2,\n private zone: NgZone,\n @Inject(QUILL_CONFIG_TOKEN) private config: QuillConfig,\n private loader: LoaderService,\n ) {}\n\n // eslint-disable-next-line no-empty,no-empty-function,@typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelChange(_modelValue?: any) {}\n // eslint-disable-next-line no-empty, no-empty-function, @typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelTouched() {}\n\n @Input()\n valueGetter = (quillEditor: any, editorElement: HTMLElement): string | any => {\n let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n let modelValue = html;\n const format = getFormat(this.format, this.config.format);\n\n if (format === 'text') {\n modelValue = quillEditor.getText();\n } else if (format === 'object') {\n modelValue = quillEditor.getContents();\n } else if (format === 'json') {\n try {\n modelValue = JSON.stringify(quillEditor.getContents());\n } catch (e) {\n modelValue = quillEditor.getText();\n }\n }\n\n return modelValue;\n };\n\n @Input()\n valueSetter = (quillEditor: any, value: any): any => {\n const format = getFormat(this.format, this.config.format);\n if (format === 'html') {\n if (this.sanitize) {\n value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n }\n return quillEditor.clipboard.convert({ html: value });\n } else if (format === 'json') {\n try {\n return JSON.parse(value);\n } catch (e) {\n return [{ insert: value }];\n }\n }\n\n return value;\n };\n\n ngAfterViewInit(): void {\n // const loader = new LoaderService();\n this.loader.load().subscribe({\n complete: () => {\n // setup keyboard bindings from BetterTable if present\n const QuillBetterTable = window['quillBetterTable'];\n if(QuillBetterTable) {\n // check if already registered\n if(!window['Quill'].imports.hasOwnProperty('modules/better-table')) {\n window['Quill'].register({ 'modules/better-table': QuillBetterTable });\n }\n if(!this.config.modules.keyboard) {\n this.config.modules.keyboard = {\n bindings: QuillBetterTable?.keyboardBindings,\n };\n }\n }\n\n if (isPlatformServer(this.platformId)) {\n return;\n }\n if (!Quill) {\n // Quill = require('quill')\n Quill = window['Quill'];\n }\n this.overrideScrollBehavior(Quill);\n\n this.loaded = true;\n\n this.elementRef.nativeElement.insertAdjacentHTML(\n this.customToolbarPosition === 'top' ? 'beforeend' : 'afterbegin',\n this.preserveWhitespace ? '<pre quill-editor-element></pre>' : '<div quill-editor-element></div>'\n );\n\n this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]');\n\n const toolbarElem = this.elementRef.nativeElement.querySelector('[quill-editor-toolbar]');\n let modules = this.modules || this.config.modules || defaultModules;\n if (modules.toolbar === undefined) {\n modules.toolbar = defaultModules.toolbar;\n }\n\n let placeholder = this.placeholder !== undefined ? this.placeholder : this.config.placeholder;\n if (placeholder === undefined) {\n placeholder = 'Insert text here ...';\n }\n\n if (toolbarElem) {\n // eslint-disable-next-line dot-notation,@typescript-eslint/dot-notation\n modules['toolbar'] = toolbarElem;\n }\n\n if (!this.hasImageFeature) {\n modules['uploader'] = { handler: () => false };\n } else {\n modules['uploader'] = { mimetypes: ['image/png', 'image/jpeg'] };\n }\n\n if (this.styles) {\n Object.keys(this.styles).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n\n this.customOptions.forEach((customOption) => {\n const newCustomOption = Quill.import(customOption.import);\n newCustomOption.whitelist = customOption.whitelist;\n Quill.register(newCustomOption, true);\n });\n\n let bounds = this.bounds && this.bounds === 'self' ? this.editorElem : this.bounds;\n if (!bounds) {\n bounds = this.config.bounds ? this.config.bounds : this.doc.body;\n }\n\n let debug = this.debug;\n if (!debug && debug !== false && this.config.debug) {\n debug = this.config.debug;\n }\n\n let readOnly = this.readOnly;\n if (!readOnly && this.readOnly !== false) {\n readOnly = this.config.readOnly !== undefined ? this.config.readOnly : false;\n }\n\n let scrollingContainer = this.scrollingContainer;\n if (!scrollingContainer && this.scrollingContainer !== null) {\n scrollingContainer =\n this.config.scrollingContainer === null || this.config.scrollingContainer ? this.config.scrollingContainer : null;\n }\n\n let formats = this.formats;\n if (!formats && formats === undefined) {\n formats = this.config.formats || this.config.formats === null ? this.config.formats : undefined;\n }\n Quill.formats = { ...Quill.formats, [this.id]: formats };\n\n if (formats && formats.indexOf('table') !== -1) {\n modules = {\n ...modules,\n 'better-table': false,\n }\n }\n\n this.quillEditor = new Quill(this.editorElem, {\n bounds,\n debug,\n formats,\n modules,\n placeholder,\n readOnly,\n scrollingContainer,\n strict: this.strict,\n theme: this.theme || (this.config.theme ? this.config.theme : 'snow'),\n });\n this.quillEditor.container.firstChild.id = this.id;\n\n if (this.content) {\n const format = getFormat(this.format, this.config.format);\n if (format === 'object') {\n this.quillEditor.setContents(this.content, 'silent');\n } else if (format === 'text') {\n this.quillEditor.setText(this.content, 'silent');\n } else if (format === 'json') {\n try {\n this.quillEditor.setContents(JSON.parse(this.content), 'silent');\n } catch (e) {\n this.quillEditor.setText(this.content, 'silent');\n }\n } else {\n if (this.sanitize) {\n this.content = this.domSanitizer.sanitize(SecurityContext.HTML, this.content);\n }\n const contents = this.quillEditor.clipboard.convert(this.content);\n this.quillEditor.setContents(contents, 'silent');\n }\n\n this.quillEditor.history.clear();\n }\n\n // initialize disabled status based on this.disabled as default value\n this.setDisabledState();\n\n this.onEditorCreated.emit(this.quillEditor);\n\n // mark model as touched if editor lost focus\n this.quillEditor.on('selection-change', this.selectionChangeHandler);\n\n // update model if text changes\n this.quillEditor.on('text-change', this.textChangeHandler);\n }\n });\n }\n\n selectionChangeHandler = (range: Range | null, oldRange: Range | null, source: string): void => {\n this.zone.run(() => {\n if (range === null) {\n this.onBlur.emit({\n editor: this.quillEditor,\n source,\n });\n } else if (oldRange === null) {\n this.onFocus.emit({\n editor: this.quillEditor,\n source,\n });\n }\n\n this.onSelectionChanged.emit({\n editor: this.quillEditor,\n oldRange,\n range,\n source,\n });\n\n if (!range && this.onModelTouched) {\n this.onModelTouched();\n }\n });\n };\n\n textChangeHandler = (delta: any, oldDelta: any, source: string): void => {\n // only emit changes emitted by user interactions\n\n const text = this.quillEditor.getText();\n const content = this.quillEditor.getContents();\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let html: string | null = this.editorElem!.querySelector('.ql-editor')!.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n\n this.zone.run(() => {\n const trackChanges = this.trackChanges || this.config.trackChanges;\n if ((source === Quill.sources.USER || (trackChanges && trackChanges === 'all')) && this.onModelChange) {\n this.onModelChange(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.valueGetter(this.quillEditor, this.editorElem!)\n );\n }\n\n this.onContentChanged.emit({\n content,\n delta,\n editor: this.quillEditor,\n html,\n oldDelta,\n source,\n text,\n });\n });\n };\n\n ngOnDestroy(): void {\n if (this.quillEditor) {\n this.quillEditor.off('selection-change', this.selectionChangeHandler);\n this.quillEditor.off('text-change', this.textChangeHandler);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.quillEditor) {\n return;\n }\n if (changes.id) {\n this.quillEditor.container.firstChild.id = changes.id.currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: this.formats };\n }\n if (changes['readOnly']) {\n this.quillEditor.enable(!changes['readOnly'].currentValue);\n }\n if (changes['placeholder']) {\n this.quillEditor.root.dataset.placeholder = changes['placeholder'].currentValue;\n }\n if (changes['styles']) {\n const currentStyling = changes['styles'].currentValue;\n const previousStyling = changes['styles'].previousValue;\n\n if (previousStyling) {\n Object.keys(previousStyling).forEach((key: string) => {\n this.renderer.removeStyle(this.editorElem, key);\n });\n }\n if (currentStyling) {\n Object.keys(currentStyling).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n }\n if (changes['formats']) {\n const currentFormats = changes['formats'].currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: currentFormats };\n }\n }\n\n writeValue(currentValue: any): void {\n this.content = currentValue;\n const format = getFormat(this.format, this.config.format);\n\n if (this.quillEditor) {\n if (currentValue) {\n if (format === 'text') {\n this.quillEditor.setText(currentValue);\n } else {\n this.quillEditor.setContents(this.valueSetter(this.quillEditor, this.content));\n }\n return;\n }\n this.quillEditor.setText('');\n }\n }\n\n setDisabledState(isDisabled: boolean = this.disabled): void {\n // store initial value to set appropriate disabled status after ViewInit\n this.disabled = isDisabled;\n if (this.quillEditor) {\n if (isDisabled) {\n this.quillEditor.disable();\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');\n } else {\n if (!this.readOnly) {\n this.quillEditor.enable();\n }\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n }\n\n registerOnChange(fn: (modelValue: any) => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n\n validate(): any {\n if (!this.quillEditor) {\n return null;\n }\n\n const err: {\n minLengthError?: {\n given: number;\n minLength: number;\n };\n maxLengthError?: {\n given: number;\n maxLength: number;\n };\n requiredError?: { empty: boolean };\n } = {};\n let valid = true;\n\n const textLength = this.quillEditor.getText().trim().length;\n\n if (this.minLength && textLength && textLength < this.minLength) {\n err.minLengthError = {\n given: textLength,\n minLength: this.minLength,\n };\n\n valid = false;\n }\n\n if (this.maxLength && textLength > this.maxLength) {\n err.maxLengthError = {\n given: textLength,\n maxLength: this.maxLength,\n };\n\n valid = false;\n }\n\n if (this.required && !textLength) {\n err.requiredError = {\n empty: true,\n };\n\n valid = false;\n }\n\n return valid ? null : err;\n }\n\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones. Then\n * registers the plugin to the Quill editor.\n *\n * @param QuillInstance The Quill class (not the instance)\n * @private\n */\n private overrideScrollBehavior(QuillInstance: any): void {\n // the Built-in Scroll Class is not exported, so we need to import it\n const BuiltinScroll = QuillInstance.import('blots/scroll');\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones.\n */\n class Scroll extends BuiltinScroll {\n formatAt(index: number, length: number, format: string, value: any): void {\n const elementId = this.domNode.id;\n const instanceFormats = QuillInstance.formats[elementId];\n // checks the formats array to see if the format is blacklisted\n if (instanceFormats && instanceFormats.find((f) => f === format)) {\n return;\n }\n // continue with default behavior\n super.formatAt(index, length, format, value);\n }\n }\n /** register the Scroll override */\n QuillInstance.register('blots/scroll', Scroll, true);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { defaultModules } from './quill-defaults';\nimport { QuillEditorComponent } from './quill-editor.component';\nimport { QUILL_CONFIG_TOKEN, QuillConfig } from './quill-editor.interfaces';\nimport { CommonModule } from \"@angular/common\";\n\n// TODO: integrate that module and all related code with the eui-editor module.\n// Remove this sub-entry and move all the code to the eui-editor.\n\n/**\n * @deprecated please don't use it. It will be removed\n */\n@NgModule({\n declarations: [QuillEditorComponent],\n exports: [QuillEditorComponent],\n imports: [CommonModule],\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n useValue: { modules: defaultModules },\n },\n ],\n})\nexport class QuillModule {\n static forRoot(config?: QuillConfig): ModuleWithProviders<QuillModule> {\n return {\n ngModule: QuillModule,\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useValue: config || { modules: defaultModules },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.LoaderService"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-externals-quill.mjs","sources":["../../externals/quill/quill-defaults.ts","../../externals/quill/quill-editor.interfaces.ts","../../externals/quill/loader.service.ts","../../externals/quill/quill-editor.component.ts","../../externals/quill/quill.module.ts","../../externals/quill/eui-components-externals-quill.ts"],"sourcesContent":["export const defaultModules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ['table'], // adds the insert table button\n ['link', 'image', 'video'], // link and image, video\n ],\n};\n","import { InjectionToken } from '@angular/core';\n\nexport type QuillToolbarConfig = Array<\n Array<\n | string\n | {\n indent?: string;\n list?: string;\n direction?: string;\n header?: number | Array<boolean | number>;\n color?: string[];\n background?: string[];\n align?: string[];\n script?: string;\n font?: string[];\n size?: Array<boolean | string>;\n }\n >\n>;\n\nexport interface QuillModules {\n [key: string]: any;\n clipboard?:\n | {\n mathers?: any[];\n matchVisual?: boolean;\n }\n | boolean;\n history?:\n | {\n delay?: number;\n maxStack?: number;\n userOnly?: boolean;\n }\n | boolean;\n keyboard?:\n | {\n bindings?: any;\n }\n | boolean;\n syntax?: boolean;\n table?: boolean;\n toolbar?:\n | QuillToolbarConfig\n | string\n | {\n container?: string | string[] | QuillToolbarConfig;\n handlers?: {\n [key: string]: any;\n };\n }\n | boolean;\n}\n\nexport type QuillFormat = 'object' | 'json' | 'html' | 'text';\n\nexport interface QuillConfig {\n bounds?: HTMLElement | string;\n debug?: 'error' | 'warn' | 'log' | false;\n format?: QuillFormat;\n formats?: any;\n modules?: QuillModules;\n placeholder?: string;\n readOnly?: boolean;\n scrollingContainer?: HTMLElement | string | null;\n theme?: string;\n // Custom Config to track all changes or only changes by 'user'\n trackChanges?: 'user' | 'all';\n}\n\nexport interface QuillDynamicConfig {\n /** path for scripts and css e.g. '/assets/quill/' */\n path: string;\n /** path for scripts e.g. ['/assets/quill.min.js'] */\n // scripts: string[];\n /** path for css e.g. ['/assets/quill.snow.css'] */\n // css: string[];\n}\n\nexport const QUILL_CONFIG_TOKEN = new InjectionToken<QuillConfig>('config');\nexport const QUILL_DYNAMIC_CONFIG_TOKEN = new InjectionToken<QuillDynamicConfig>('Dynamic loading config');\n","import { inject, Injectable } from \"@angular/core\";\n\nimport { Observable } from 'rxjs';\nimport { QUILL_DYNAMIC_CONFIG_TOKEN, QuillDynamicConfig } from \"./quill-editor.interfaces\";\nimport { DOCUMENT } from \"@angular/common\";\n\ndeclare const window: { Quill: any | undefined; quillBetterTable: any | undefined };\n\n/**\n * @internal This service is not part of the public API of the component\n */\n@Injectable({ providedIn: 'root'})\nexport class LoaderService {\n private dynamicConfig: QuillDynamicConfig = inject(QUILL_DYNAMIC_CONFIG_TOKEN, { optional: true });\n\n /**\n * Load the Quill.js library\n *\n * @param path Path to the Quill.js library e.g. \"assets/quill/dist\". The path must contain the \"quill.js\"\n * and \"quillEditor.min.css\" files and also the css ones.\n */\n load(): Observable<boolean> {\n let loaded: boolean = false;\n return new Observable(observer => {\n\n // check if window.Quill is defined other load it\n if (window.Quill === undefined) {\n const loadResult = { mainScript: false, style: false, secondaryScript: false, };\n\n // style\n const quillEditorStyle: HTMLLinkElement = document.createElement('link');\n quillEditorStyle.href = `${this.dynamicConfig?.path}/quill.core.css`;\n quillEditorStyle.rel = 'stylesheet';\n const quillEditorStyleOnload = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n loadResult.style = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n const quillEditorSnowStyle: HTMLLinkElement = document.createElement('link');\n quillEditorSnowStyle.href = `${this.dynamicConfig?.path}/quill.snow.css`;\n quillEditorSnowStyle.rel = 'stylesheet';\n\n // script to inject into page the Quill.js\n let quillEditorScript: HTMLScriptElement = document.createElement('script');\n quillEditorScript.src = `${this.dynamicConfig?.path}/quill.js`;\n quillEditorScript.type = 'application/javascript';\n quillEditorScript.async = true;\n const quillEditorScriptOnload = () => {\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n loadResult.mainScript = true;\n document.body.append(quillBetterTableScript);\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n // script to inject into page the Quill-better-table\"node_modules/quill-better-table/dist/quill-better-table.min.js\",\n const quillBetterTableScript: HTMLScriptElement = document.createElement('script');\n quillBetterTableScript.src = `${this.dynamicConfig?.path}/quill-better-table.js`;\n quillBetterTableScript.type = 'application/javascript';\n quillBetterTableScript.async = true;\n const quillBetterTableScriptOnload = () => {\n quillBetterTableScript.removeEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.removeEventListener('error', quillEditorOnerror);\n loadResult.secondaryScript = true;\n if (Object.values(loadResult).every(v => v === true)) {\n observer.next(true);\n observer.complete();\n loaded = true;\n }\n };\n\n const quillEditorOnerror = () => {\n quillEditorStyle.removeEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.removeEventListener('error', quillEditorOnerror);\n quillEditorScript.removeEventListener('load', quillEditorScriptOnload);\n quillEditorScript.removeEventListener('error', quillEditorOnerror);\n observer.next(false);\n observer.complete();\n };\n\n quillEditorStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorStyle.addEventListener('error', quillEditorOnerror);\n quillEditorSnowStyle.addEventListener('load', quillEditorStyleOnload);\n quillEditorSnowStyle.addEventListener('error', quillEditorOnerror);\n quillEditorScript.addEventListener('load', quillEditorScriptOnload);\n quillEditorScript.addEventListener('error', quillEditorOnerror);\n quillBetterTableScript.addEventListener('load', quillBetterTableScriptOnload);\n quillBetterTableScript.addEventListener('error', quillEditorOnerror);\n\n // check if the script is already loaded. Take into account the Hostname on to src\n if (document.querySelector(`script[src=\"${this.dynamicConfig?.path}/quill.js\"]`) === null) {\n document.body.append(quillEditorScript);\n } else {\n // interval timer to check when the script is loaded\n const interval = setInterval(() => {\n if (loaded) {\n clearInterval(interval);\n } else if (window.Quill !== undefined && window.quillBetterTable !== undefined) {\n observer.next(true);\n observer.complete();\n loaded = true;\n clearInterval(interval);\n }\n }, 100);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.core.css\"]`) === null) {\n document.body.append(quillEditorStyle);\n }\n // check if style is already loaded\n if (document.querySelector(`link[href=\"${this.dynamicConfig?.path}/quill.snow.css\"]`) === null) {\n document.body.append(quillEditorSnowStyle);\n }\n } else {\n observer.next(true);\n observer.complete();\n }\n });\n }\n}\n","import { isPlatformServer } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n QUILL_CONFIG_TOKEN,\n QuillConfig,\n QuillFormat,\n QuillModules,\n} from './quill-editor.interfaces';\n\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n PLATFORM_ID,\n Renderer2,\n SecurityContext,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nimport { DOCUMENT } from '@angular/common';\nimport { defaultModules } from './quill-defaults';\nimport { ContentChange, SelectionChange, Range } from './models/editor.model';\nimport { LoaderService } from './loader.service';\n\n// Because quill uses `document` directly, we cannot `import` during SSR\n// instead, we load dynamically via `require('quill')` in `ngAfterViewInit()`\n// eslint-disable-next-line no-var\ndeclare var require: any;\n// eslint-disable-next-line no-var\ndeclare var Quill: any;\n// let Quill: any = window['Quill'];\n\nexport interface CustomOption {\n import: string;\n whitelist: any[];\n}\n\nconst getFormat = (format?: QuillFormat, configFormat?: QuillFormat): QuillFormat => {\n const passedFormat = format || configFormat;\n return passedFormat || 'html';\n};\n\n@Component({\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => QuillEditorComponent),\n },\n ],\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'quill-editor',\n template: `<ng-content select=\"[quill-editor-toolbar]\"></ng-content>`,\n})\nexport class QuillEditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator {\n quillEditor: any;\n editorElem: HTMLElement | undefined;\n content: any;\n protected loaded = false;\n\n @Input() id: string;\n @Input() format?: 'object' | 'html' | 'text' | 'json';\n @Input() theme?: string;\n @Input() modules?: QuillModules;\n @Input() debug?: 'warn' | 'log' | 'error' | false;\n @Input() placeholder?: string;\n @Input() maxLength?: number;\n @Input() minLength?: number;\n @Input() formats?: string[] | null;\n @Input() customToolbarPosition: 'top' | 'bottom' = 'top';\n @Input() styles: any = null;\n @Input() scrollingContainer?: HTMLElement | string | null;\n @Input() bounds?: HTMLElement | string;\n @Input() customOptions: CustomOption[] = [];\n @Input() trackChanges?: 'user' | 'all';\n @Input() hasImageFeature: boolean;\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onEditorCreated: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onContentChanged: EventEmitter<ContentChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onSelectionChanged: EventEmitter<SelectionChange> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFocus: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onBlur: EventEmitter<{\n editor: any;\n source: string;\n }> = new EventEmitter();\n\n @Input({ transform: booleanAttribute }) readOnly?: boolean;\n @Input({ transform: booleanAttribute }) required = false;\n @Input({ transform: booleanAttribute }) sanitize = false;\n @Input({ transform: booleanAttribute }) strict = true;\n @Input({ transform: booleanAttribute }) preserveWhitespace = false;\n\n private disabled = false; // used to store initial value before ViewInit\n\n constructor(\n private elementRef: ElementRef,\n private domSanitizer: DomSanitizer,\n @Inject(DOCUMENT) private doc: any,\n // eslint-disable-next-line @typescript-eslint/ban-types\n @Inject(PLATFORM_ID) private platformId: object,\n private renderer: Renderer2,\n private zone: NgZone,\n @Inject(QUILL_CONFIG_TOKEN) private config: QuillConfig,\n private loader: LoaderService,\n ) {}\n\n // eslint-disable-next-line no-empty,no-empty-function,@typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelChange(_modelValue?: any) {}\n // eslint-disable-next-line no-empty, no-empty-function, @typescript-eslint/no-empty-function, @typescript-eslint/explicit-function-return-type\n onModelTouched() {}\n\n @Input()\n valueGetter = (quillEditor: any, editorElement: HTMLElement): string | any => {\n let html: string | null = editorElement.querySelector('.ql-editor')?.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n let modelValue = html;\n const format = getFormat(this.format, this.config.format);\n\n if (format === 'text') {\n modelValue = quillEditor.getText();\n } else if (format === 'object') {\n modelValue = quillEditor.getContents();\n } else if (format === 'json') {\n try {\n modelValue = JSON.stringify(quillEditor.getContents());\n } catch (e) {\n modelValue = quillEditor.getText();\n }\n }\n\n return modelValue;\n };\n\n @Input()\n valueSetter = (quillEditor: any, value: any): any => {\n const format = getFormat(this.format, this.config.format);\n if (format === 'html') {\n if (this.sanitize) {\n value = this.domSanitizer.sanitize(SecurityContext.HTML, value);\n }\n return quillEditor.clipboard.convert({ html: value });\n } else if (format === 'json') {\n try {\n return JSON.parse(value);\n } catch (e) {\n return [{ insert: value }];\n }\n }\n\n return value;\n };\n\n ngAfterViewInit(): void {\n // const loader = new LoaderService();\n this.loader.load().subscribe({\n complete: () => {\n // setup keyboard bindings from BetterTable if present\n const QuillBetterTable = window['quillBetterTable'];\n if(QuillBetterTable) {\n // check if already registered\n if(!window['Quill'].imports.hasOwnProperty('modules/better-table')) {\n window['Quill'].register({ 'modules/better-table': QuillBetterTable });\n }\n if(!this.config.modules.keyboard) {\n this.config.modules.keyboard = {\n bindings: QuillBetterTable?.keyboardBindings,\n };\n }\n }\n\n if (isPlatformServer(this.platformId)) {\n return;\n }\n if (!Quill) {\n // Quill = require('quill')\n Quill = window['Quill'];\n }\n this.overrideScrollBehavior(Quill);\n\n this.loaded = true;\n\n this.elementRef.nativeElement.insertAdjacentHTML(\n this.customToolbarPosition === 'top' ? 'beforeend' : 'afterbegin',\n this.preserveWhitespace ? '<pre quill-editor-element></pre>' : '<div quill-editor-element></div>'\n );\n\n this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]');\n\n const toolbarElem = this.elementRef.nativeElement.querySelector('[quill-editor-toolbar]');\n let modules = this.modules || this.config.modules || defaultModules;\n if (modules.toolbar === undefined) {\n modules.toolbar = defaultModules.toolbar;\n }\n\n let placeholder = this.placeholder !== undefined ? this.placeholder : this.config.placeholder;\n if (placeholder === undefined) {\n placeholder = 'Insert text here ...';\n }\n\n if (toolbarElem) {\n // eslint-disable-next-line dot-notation,@typescript-eslint/dot-notation\n modules['toolbar'] = toolbarElem;\n }\n\n if (!this.hasImageFeature) {\n modules['uploader'] = { handler: () => false };\n } else {\n modules['uploader'] = { mimetypes: ['image/png', 'image/jpeg'] };\n }\n\n if (this.styles) {\n Object.keys(this.styles).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n\n this.customOptions.forEach((customOption) => {\n const newCustomOption = Quill.import(customOption.import);\n newCustomOption.whitelist = customOption.whitelist;\n Quill.register(newCustomOption, true);\n });\n\n let bounds = this.bounds && this.bounds === 'self' ? this.editorElem : this.bounds;\n if (!bounds) {\n bounds = this.config.bounds ? this.config.bounds : this.doc.body;\n }\n\n let debug = this.debug;\n if (!debug && debug !== false && this.config.debug) {\n debug = this.config.debug;\n }\n\n let readOnly = this.readOnly;\n if (!readOnly && this.readOnly !== false) {\n readOnly = this.config.readOnly !== undefined ? this.config.readOnly : false;\n }\n\n let scrollingContainer = this.scrollingContainer;\n if (!scrollingContainer && this.scrollingContainer !== null) {\n scrollingContainer =\n this.config.scrollingContainer === null || this.config.scrollingContainer ? this.config.scrollingContainer : null;\n }\n\n let formats = this.formats;\n if (!formats && formats === undefined) {\n formats = this.config.formats || this.config.formats === null ? this.config.formats : undefined;\n }\n Quill.formats = { ...Quill.formats, [this.id]: formats };\n\n if (formats && formats.indexOf('table') !== -1) {\n modules = {\n ...modules,\n 'better-table': false,\n }\n }\n\n this.quillEditor = new Quill(this.editorElem, {\n bounds,\n debug,\n formats,\n modules,\n placeholder,\n readOnly,\n scrollingContainer,\n strict: this.strict,\n theme: this.theme || (this.config.theme ? this.config.theme : 'snow'),\n });\n this.quillEditor.container.firstChild.id = this.id;\n\n if (this.content) {\n const format = getFormat(this.format, this.config.format);\n if (format === 'object') {\n this.quillEditor.setContents(this.content, 'silent');\n } else if (format === 'text') {\n this.quillEditor.setText(this.content, 'silent');\n } else if (format === 'json') {\n try {\n this.quillEditor.setContents(JSON.parse(this.content), 'silent');\n } catch (e) {\n this.quillEditor.setText(this.content, 'silent');\n }\n } else {\n if (this.sanitize) {\n this.content = this.domSanitizer.sanitize(SecurityContext.HTML, this.content);\n }\n const contents = this.quillEditor.clipboard.convert(this.content);\n this.quillEditor.setContents(contents, 'silent');\n }\n\n this.quillEditor.history.clear();\n }\n\n // initialize disabled status based on this.disabled as default value\n this.setDisabledState();\n\n this.onEditorCreated.emit(this.quillEditor);\n\n // mark model as touched if editor lost focus\n this.quillEditor.on('selection-change', this.selectionChangeHandler);\n\n // update model if text changes\n this.quillEditor.on('text-change', this.textChangeHandler);\n }\n });\n }\n\n selectionChangeHandler = (range: Range | null, oldRange: Range | null, source: string): void => {\n this.zone.run(() => {\n if (range === null) {\n this.onBlur.emit({\n editor: this.quillEditor,\n source,\n });\n } else if (oldRange === null) {\n this.onFocus.emit({\n editor: this.quillEditor,\n source,\n });\n }\n\n this.onSelectionChanged.emit({\n editor: this.quillEditor,\n oldRange,\n range,\n source,\n });\n\n if (!range && this.onModelTouched) {\n this.onModelTouched();\n }\n });\n };\n\n textChangeHandler = (delta: any, oldDelta: any, source: string): void => {\n // only emit changes emitted by user interactions\n\n const text = this.quillEditor.getText();\n const content = this.quillEditor.getContents();\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let html: string | null = this.editorElem!.querySelector('.ql-editor')!.innerHTML;\n if (html === '<p><br></p>' || html === '<div><br><div>') {\n html = null;\n }\n\n this.zone.run(() => {\n const trackChanges = this.trackChanges || this.config.trackChanges;\n if ((source === Quill.sources.USER || (trackChanges && trackChanges === 'all')) && this.onModelChange) {\n this.onModelChange(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.valueGetter(this.quillEditor, this.editorElem!)\n );\n }\n\n this.onContentChanged.emit({\n content,\n delta,\n editor: this.quillEditor,\n html,\n oldDelta,\n source,\n text,\n });\n });\n };\n\n ngOnDestroy(): void {\n if (this.quillEditor) {\n this.quillEditor.off('selection-change', this.selectionChangeHandler);\n this.quillEditor.off('text-change', this.textChangeHandler);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.quillEditor) {\n return;\n }\n if (changes.id) {\n this.quillEditor.container.firstChild.id = changes.id.currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: this.formats };\n }\n if (changes['readOnly']) {\n this.quillEditor.enable(!changes['readOnly'].currentValue);\n }\n if (changes['placeholder']) {\n this.quillEditor.root.dataset.placeholder = changes['placeholder'].currentValue;\n }\n if (changes['styles']) {\n const currentStyling = changes['styles'].currentValue;\n const previousStyling = changes['styles'].previousValue;\n\n if (previousStyling) {\n Object.keys(previousStyling).forEach((key: string) => {\n this.renderer.removeStyle(this.editorElem, key);\n });\n }\n if (currentStyling) {\n Object.keys(currentStyling).forEach((key: string) => {\n this.renderer.setStyle(this.editorElem, key, this.styles[key]);\n });\n }\n }\n if (changes['formats']) {\n const currentFormats = changes['formats'].currentValue;\n Quill.formats = { ...Quill.formats, [this.id]: currentFormats };\n }\n }\n\n writeValue(currentValue: any): void {\n this.content = currentValue;\n const format = getFormat(this.format, this.config.format);\n\n if (this.quillEditor) {\n if (currentValue) {\n if (format === 'text') {\n this.quillEditor.setText(currentValue);\n } else {\n this.quillEditor.setContents(this.valueSetter(this.quillEditor, this.content));\n }\n return;\n }\n this.quillEditor.setText('');\n }\n }\n\n setDisabledState(isDisabled: boolean = this.disabled): void {\n // store initial value to set appropriate disabled status after ViewInit\n this.disabled = isDisabled;\n if (this.quillEditor) {\n if (isDisabled) {\n this.quillEditor.disable();\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');\n } else {\n if (!this.readOnly) {\n this.quillEditor.enable();\n }\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n }\n\n registerOnChange(fn: (modelValue: any) => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n\n validate(): any {\n if (!this.quillEditor) {\n return null;\n }\n\n const err: {\n minLengthError?: {\n given: number;\n minLength: number;\n };\n maxLengthError?: {\n given: number;\n maxLength: number;\n };\n requiredError?: { empty: boolean };\n } = {};\n let valid = true;\n\n const textLength = this.quillEditor.getText().trim().length;\n\n if (this.minLength && textLength && textLength < this.minLength) {\n err.minLengthError = {\n given: textLength,\n minLength: this.minLength,\n };\n\n valid = false;\n }\n\n if (this.maxLength && textLength > this.maxLength) {\n err.maxLengthError = {\n given: textLength,\n maxLength: this.maxLength,\n };\n\n valid = false;\n }\n\n if (this.required && !textLength) {\n err.requiredError = {\n empty: true,\n };\n\n valid = false;\n }\n\n return valid ? null : err;\n }\n\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones. Then\n * registers the plugin to the Quill editor.\n *\n * @param QuillInstance The Quill class (not the instance)\n * @private\n */\n private overrideScrollBehavior(QuillInstance: any): void {\n // the Built-in Scroll Class is not exported, so we need to import it\n const BuiltinScroll = QuillInstance.import('blots/scroll');\n /**\n * Override the default Quill scroll behavior to take into account the formats array and skip non-found ones.\n */\n class Scroll extends BuiltinScroll {\n formatAt(index: number, length: number, format: string, value: any): void {\n const elementId = this.domNode.id;\n const instanceFormats = QuillInstance.formats[elementId];\n // checks the formats array to see if the format is blacklisted\n if (instanceFormats && instanceFormats.find((f) => f === format)) {\n return;\n }\n // continue with default behavior\n super.formatAt(index, length, format, value);\n }\n }\n /** register the Scroll override */\n QuillInstance.register('blots/scroll', Scroll, true);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { defaultModules } from './quill-defaults';\nimport { QuillEditorComponent } from './quill-editor.component';\nimport { QUILL_CONFIG_TOKEN, QuillConfig } from './quill-editor.interfaces';\nimport { CommonModule } from \"@angular/common\";\n\n// TODO: integrate that module and all related code with the eui-editor module.\n// Remove this sub-entry and move all the code to the eui-editor.\n\n/**\n * @deprecated please don't use it. It will be removed\n */\n@NgModule({\n declarations: [QuillEditorComponent],\n exports: [QuillEditorComponent],\n imports: [CommonModule],\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n useValue: { modules: defaultModules },\n },\n ],\n})\nexport class QuillModule {\n static forRoot(config?: QuillConfig): ModuleWithProviders<QuillModule> {\n return {\n ngModule: QuillModule,\n providers: [\n {\n provide: QUILL_CONFIG_TOKEN,\n // eslint-disable-next-line prefer-arrow/prefer-arrow-functions\n useValue: config || { modules: defaultModules },\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.LoaderService"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-externals-search-favourite-queries.mjs","sources":["../../externals/search/favourite-queries/services/user-fav-queries.services.ts","../../externals/search/favourite-queries/favourite-queries.component.ts","../../externals/search/favourite-queries/favourite-queries.component.html","../../externals/search/favourite-queries/favourite-queries.module.ts","../../externals/search/favourite-queries/eui-components-externals-search-favourite-queries.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class EuiSearchUsersFavQueriesService {\n\n private LS_ITEM_NAME = 'favQueries';\n\n constructor() { }\n\n getFavouriteQueries(): Map<string, string>[] {\n if (sessionStorage.getItem(this.LS_ITEM_NAME)) {\n return this.stringToArrOfMaps(sessionStorage.getItem(this.LS_ITEM_NAME));\n } else {\n return [];\n }\n }\n\n addFavouriteQuery(query: string): void {\n const favQueries = this.getFavouriteQueries();\n let arrMaps = [];\n if (favQueries.length === 0) {\n arrMaps.push(query);\n } else {\n arrMaps = [...sessionStorage.getItem(this.LS_ITEM_NAME).split(',')];\n arrMaps.push(query);\n }\n sessionStorage.setItem(this.LS_ITEM_NAME, arrMaps.join(','));\n }\n\n deleteFavouriteQuery(queryName: string): void {\n const favQueries = this.getFavouriteQueries();\n const favQueriesRes = favQueries.filter(item => item.get('filterName') !== queryName);\n sessionStorage.setItem(this.LS_ITEM_NAME, this.mapsToString(favQueriesRes));\n }\n\n private mapsToString(queries: Map<string, string>[]): string {\n const res = queries.map(elem => this.mapToString(elem));\n return res.join(',');\n }\n\n private mapToString(elem: Map<string, string>): string {\n const res = [];\n elem.forEach((value, key) => {\n res.push(`${key}=${value}`);\n });\n return res.join('&');\n }\n\n private stringToMapUrl(query: string): Map<string, string> {\n // query=test&database=BUILDINGS&lang=en\n const arr = query.split('&');\n const map = new Map();\n arr.forEach(item => {\n const subArr = item.split('=');\n map.set(subArr[0], subArr[1]);\n });\n return map;\n }\n\n private stringToArrOfMaps(queries: string): Map<string, string>[] {\n const arr = queries.split(',');\n return arr.map(elem => this.stringToMapUrl(elem));\n }\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Params, convertToParamMap, ParamMap } from '@angular/router';\nimport { EuiDialogComponent } from '@eui/components/eui-dialog';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EuiSearchUsersFavQueriesService } from './services/user-fav-queries.services';\n\n@Component({\n selector: 'eui-search-favourite-queries',\n templateUrl: './favourite-queries.component.html'\n})\nexport class EuiSearchFavouriteQueriesComponent implements OnInit, OnDestroy {\n\n @Input() disabled = false;\n @ViewChild('dialogSave') dialogSave: EuiDialogComponent;\n @ViewChild('dialogManage') dialogManage: EuiDialogComponent;\n fb: FormBuilder = new FormBuilder();\n currentFilterName = 'Select filter';\n customFiltersForm: FormGroup;\n queries: Map<string, string>[] = [];\n savedQueriesNames: string[] = [];\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private readonly FILTER_NAME = 'filterName';\n private readonly FILTER_NAME_DEFAULT_TEXT = 'Select filter';\n\n constructor(\n @Inject(EUI_CONFIG_TOKEN) private config, private route: ActivatedRoute,\n private userFavQueriesService: EuiSearchUsersFavQueriesService) { }\n\n ngOnInit(): void {\n this.customFiltersForm = this.fb.group({\n customFilter: new FormControl('', [Validators.required, this.isControlValueValid.bind(this)]),\n });\n this.getFavouriteQueries();\n\n this.customFiltersForm.get('customFilter').valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n if (this.isFilterNameValid(value)) {\n this.dialogSave.enableAcceptButton();\n }\n });\n\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe(params => {\n this.selectCurrentQueryName();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onClickSavedFilter(currFilerName: string): void {\n const currFilter = this.queries.find(el => el.get('filterName') === currFilerName);\n if (currFilter !== undefined) {\n this.openQuery(currFilter);\n }\n }\n\n getFavouriteQueries(): void {\n this.savedQueriesNames = [];\n this.queries = this.userFavQueriesService.getFavouriteQueries();\n this.queries.forEach(q => this.savedQueriesNames.push(q.get(this.FILTER_NAME)));\n }\n\n getRestOfFieldsArr(query: Map<string, string>): string[] {\n const fields = [];\n query.forEach((v, k) => {\n if (k !== 'query' && k !== 'facets') {\n fields.push(k.toLowerCase() + ': ' + v.toLowerCase());\n }\n });\n query.get('facets')?.split(';').forEach((f: string) => {\n const fPair = decodeURIComponent(f).split('=');\n\n const fKey = decodeURIComponent(fPair[0]);\n const fValue = decodeURIComponent(fPair.length > 1 ? fPair[1] : '');\n\n fields.push(fKey.toLowerCase() + ': ' + fValue.toLowerCase());\n });\n return fields;\n }\n\n deleteFavouriteQuery(queryName: string): void {\n this.userFavQueriesService.deleteFavouriteQuery(queryName);\n this.getFavouriteQueries();\n this.selectCurrentQueryName();\n }\n\n selectCurrentQueryName(): void {\n this.currentFilterName = this.FILTER_NAME_DEFAULT_TEXT;\n this.queries.forEach(el => {\n if (this.checkIsCurrentQuery(el)) {\n this.currentFilterName = el.get(this.FILTER_NAME);\n }\n });\n }\n\n hasSavedQueries(): boolean {\n return this.queries.length > 0;\n }\n\n openSaveDialog(evt: Event): void {\n this.dialogSave.openDialog();\n this.cancelEvent(evt);\n }\n\n openManageDialog(evt: Event): void {\n this.dialogManage.openDialog();\n this.cancelEvent(evt);\n }\n\n onSaveWindowOpen(): void {\n this.customFiltersForm.get('customFilter').patchValue('');\n this.dialogSave.disableAcceptButton();\n }\n\n onSaveAccept(): void {\n const filterName = this.customFiltersForm.get('customFilter').value;\n this.addSavedFilter(filterName);\n this.selectCurrentQueryName();\n }\n\n isFilterNameValid(name: string): boolean {\n if (name !== null && name !== undefined && name !== '' && this.checkIsFilterNameUnique(name)) {\n return true;\n } else {\n return false;\n }\n }\n\n private openQuery(query: Map<string, string>): void {\n let urlParams = '';\n query.forEach((value, key) => {\n if (key !== this.FILTER_NAME) {\n if (urlParams.length > 0) {\n urlParams += '&';\n }\n urlParams += encodeURIComponent(key) + '=' + encodeURIComponent(value);\n }\n });\n window.location.href = '?' + urlParams;\n }\n\n private checkIsCurrentQuery(query: Map<string, string>): boolean {\n const currentQuery: Params = this.route.snapshot.queryParams;\n const currentQueryMap: ParamMap = convertToParamMap(currentQuery);\n let testVal;\n if (query.size - 1 !== currentQueryMap.keys.length) {\n return false;\n }\n for (const [key, val] of query) {\n if (key !== this.FILTER_NAME) {\n testVal = currentQueryMap.get(key);\n if (key === 'facets') {\n const facV1 = val?.split(';').sort();\n const facV2 = testVal?.split(';').sort();\n\n return facV1 && facV2 && facV1.length === facV2.length && facV1.slice()\n .every((value: any, index: string | number) => value === facV2[index]);\n } else {\n // in cases of an undefined value, make sure the key\n // actually exists on the object so there are no false positives\n if (testVal !== val || (testVal === undefined && !currentQueryMap.has(key))) {\n return false;\n }\n }\n }\n }\n return true;\n }\n\n private checkIsFilterNameUnique(name: string): boolean {\n return this.queries.find(el => el.get(this.FILTER_NAME) === name) === undefined;\n }\n\n private cancelEvent(event: Event): void {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n private addSavedFilter(filterName: string): void {\n\n const currentQuery = window.location.search.substring(1);\n this.userFavQueriesService.addFavouriteQuery(`filterName=${filterName}&${currentQuery}`);\n this.getFavouriteQueries();\n }\n\n private isControlValueValid(control: AbstractControl): { [key: string]: any } | null {\n if (this.isFilterNameValid(control.value)) {\n return null;\n } else {\n return { error: 'Name is not unique' };\n }\n }\n}\n","<eui-card euiCollapsible>\n <eui-card-header>\n <eui-card-header-title>Saved filters</eui-card-header-title>\n <eui-card-header-right-content>\n <button euiButton euiBasicButton euiPrimary euiSizeS\n (click)=\"openSaveDialog($event);\">Save</button> |\n <button euiButton euiBasicButton euiPrimary euiSizeS [euiDisabled]=\"!hasSavedQueries()\"\n (click)=\"openManageDialog($event);\">Manage</button><br>\n </eui-card-header-right-content>\n </eui-card-header>\n <eui-card-content>\n @if (!hasSavedQueries()) {\n <span euiLabel euiSecondary>-- no queries --</span>\n } @else {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton aria-label=\"Saved filters\" euiSizeVariant=\"s\">\n <span euiLabel>{{currentFilterName}}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"xs\" />\n </button>\n <eui-dropdown-content>\n @for (sq of savedQueriesNames; track sq) {\n <button euiDropdownItem (click)=\"onClickSavedFilter(sq)\">\n <span euiLabel>{{sq}}</span>\n </button>\n }\n </eui-dropdown-content>\n </eui-dropdown>\n }\n </eui-card-content>\n</eui-card>\n\n<eui-dialog #dialogSave title=\"Save filter\" (accept)=\"onSaveAccept()\" (dialogOpen)=\"onSaveWindowOpen()\" acceptLabel=\"Save\" width=\"520px\">\n <form [formGroup]=\"customFiltersForm\">\n <div euiInputGroup>\n <label euiLabel for=\"custom_filter\" euiRequired>Provide name for your custom filter</label>\n <input euiInputText id=\"custom_filter\" formControlName=\"customFilter\" maxlength=\"50\" />\n </div>\n <eui-feedback-message euiDanger *ngIf=\"customFiltersForm.get('customFilter').touched && customFiltersForm.get('customFilter').invalid\">\n Filter name should not be empty and should be unique.</eui-feedback-message>\n </form>\n</eui-dialog>\n\n<eui-dialog #dialogManage title=\"Manage filters\" [hasAcceptButton]=\"false\" dismissLabel=\"Close\" width=\"520px\">\n @if (savedQueriesNames.length > 0) {\n <table euiTable euiTableResponsive [rows]=\"savedQueriesNames\">\n <ng-template let-row euiTemplate=\"body\">\n <tr>\n <td data-col-label=\"Query\">\n {{row}}\n </td>\n <td data-col-label=\"Actions\" style=\"width: 20px\">\n <button euiButton euiBasicButton euiDanger euiIconButton euiSizeS euiTooltip=\"Delete\"\n (click)=\"deleteFavouriteQuery(row);\">\n <eui-icon-svg icon=\"eui-delete-forever:eui\" />\n </button>\n </td>\n </tr>\n </ng-template>\n </table>\n } @else {\n No saved filters.\n }\n</eui-dialog>","// Angular\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n// 3rd party\nimport { TranslateModule } from '@ngx-translate/core';\n\n// eUI\n// import { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiDialogModule } from '@eui/components/eui-dialog';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiCardModule } from '@eui/components/eui-card';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\nimport { EuiTableModule } from '@eui/components/eui-table';\nimport { EuiFeedbackMessageModule } from '@eui/components/eui-feedback-message';\nimport { EuiSearchFavouriteQueriesComponent } from './favourite-queries.component';\nimport { EuiSearchUsersFavQueriesService } from './services/user-fav-queries.services';\n\nconst EUI_MODULES = [\n EuiIconModule, EuiLabelModule, EuiButtonModule, EuiDialogModule, EuiInputTextModule, EuiCardModule, EuiDropdownModule,\n EuiInputGroupModule, EuiTableModule, EuiFeedbackMessageModule,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n ...EUI_MODULES,\n ],\n declarations: [EuiSearchFavouriteQueriesComponent],\n exports: [EuiSearchFavouriteQueriesComponent],\n providers: [\n EuiSearchUsersFavQueriesService,\n ]\n})\n\nexport class EuiSearchFavouriteQueriesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EuiSearchUsersFavQueriesService"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-externals-search-favourite-queries.mjs","sources":["../../externals/search/favourite-queries/services/user-fav-queries.services.ts","../../externals/search/favourite-queries/favourite-queries.component.ts","../../externals/search/favourite-queries/favourite-queries.component.html","../../externals/search/favourite-queries/favourite-queries.module.ts","../../externals/search/favourite-queries/eui-components-externals-search-favourite-queries.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class EuiSearchUsersFavQueriesService {\n\n private LS_ITEM_NAME = 'favQueries';\n\n constructor() { }\n\n getFavouriteQueries(): Map<string, string>[] {\n if (sessionStorage.getItem(this.LS_ITEM_NAME)) {\n return this.stringToArrOfMaps(sessionStorage.getItem(this.LS_ITEM_NAME));\n } else {\n return [];\n }\n }\n\n addFavouriteQuery(query: string): void {\n const favQueries = this.getFavouriteQueries();\n let arrMaps = [];\n if (favQueries.length === 0) {\n arrMaps.push(query);\n } else {\n arrMaps = [...sessionStorage.getItem(this.LS_ITEM_NAME).split(',')];\n arrMaps.push(query);\n }\n sessionStorage.setItem(this.LS_ITEM_NAME, arrMaps.join(','));\n }\n\n deleteFavouriteQuery(queryName: string): void {\n const favQueries = this.getFavouriteQueries();\n const favQueriesRes = favQueries.filter(item => item.get('filterName') !== queryName);\n sessionStorage.setItem(this.LS_ITEM_NAME, this.mapsToString(favQueriesRes));\n }\n\n private mapsToString(queries: Map<string, string>[]): string {\n const res = queries.map(elem => this.mapToString(elem));\n return res.join(',');\n }\n\n private mapToString(elem: Map<string, string>): string {\n const res = [];\n elem.forEach((value, key) => {\n res.push(`${key}=${value}`);\n });\n return res.join('&');\n }\n\n private stringToMapUrl(query: string): Map<string, string> {\n // query=test&database=BUILDINGS&lang=en\n const arr = query.split('&');\n const map = new Map();\n arr.forEach(item => {\n const subArr = item.split('=');\n map.set(subArr[0], subArr[1]);\n });\n return map;\n }\n\n private stringToArrOfMaps(queries: string): Map<string, string>[] {\n const arr = queries.split(',');\n return arr.map(elem => this.stringToMapUrl(elem));\n }\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Params, convertToParamMap, ParamMap } from '@angular/router';\nimport { EuiDialogComponent } from '@eui/components/eui-dialog';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EuiSearchUsersFavQueriesService } from './services/user-fav-queries.services';\n\n@Component({\n selector: 'eui-search-favourite-queries',\n templateUrl: './favourite-queries.component.html'\n})\nexport class EuiSearchFavouriteQueriesComponent implements OnInit, OnDestroy {\n\n @Input() disabled = false;\n @ViewChild('dialogSave') dialogSave: EuiDialogComponent;\n @ViewChild('dialogManage') dialogManage: EuiDialogComponent;\n fb: FormBuilder = new FormBuilder();\n currentFilterName = 'Select filter';\n customFiltersForm: FormGroup;\n queries: Map<string, string>[] = [];\n savedQueriesNames: string[] = [];\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private readonly FILTER_NAME = 'filterName';\n private readonly FILTER_NAME_DEFAULT_TEXT = 'Select filter';\n\n constructor(\n @Inject(EUI_CONFIG_TOKEN) private config, private route: ActivatedRoute,\n private userFavQueriesService: EuiSearchUsersFavQueriesService) { }\n\n ngOnInit(): void {\n this.customFiltersForm = this.fb.group({\n customFilter: new FormControl('', [Validators.required, this.isControlValueValid.bind(this)]),\n });\n this.getFavouriteQueries();\n\n this.customFiltersForm.get('customFilter').valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n if (this.isFilterNameValid(value)) {\n this.dialogSave.enableAcceptButton();\n }\n });\n\n this.route.queryParams.pipe(takeUntil(this.destroy$)).subscribe(params => {\n this.selectCurrentQueryName();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onClickSavedFilter(currFilerName: string): void {\n const currFilter = this.queries.find(el => el.get('filterName') === currFilerName);\n if (currFilter !== undefined) {\n this.openQuery(currFilter);\n }\n }\n\n getFavouriteQueries(): void {\n this.savedQueriesNames = [];\n this.queries = this.userFavQueriesService.getFavouriteQueries();\n this.queries.forEach(q => this.savedQueriesNames.push(q.get(this.FILTER_NAME)));\n }\n\n getRestOfFieldsArr(query: Map<string, string>): string[] {\n const fields = [];\n query.forEach((v, k) => {\n if (k !== 'query' && k !== 'facets') {\n fields.push(k.toLowerCase() + ': ' + v.toLowerCase());\n }\n });\n query.get('facets')?.split(';').forEach((f: string) => {\n const fPair = decodeURIComponent(f).split('=');\n\n const fKey = decodeURIComponent(fPair[0]);\n const fValue = decodeURIComponent(fPair.length > 1 ? fPair[1] : '');\n\n fields.push(fKey.toLowerCase() + ': ' + fValue.toLowerCase());\n });\n return fields;\n }\n\n deleteFavouriteQuery(queryName: string): void {\n this.userFavQueriesService.deleteFavouriteQuery(queryName);\n this.getFavouriteQueries();\n this.selectCurrentQueryName();\n }\n\n selectCurrentQueryName(): void {\n this.currentFilterName = this.FILTER_NAME_DEFAULT_TEXT;\n this.queries.forEach(el => {\n if (this.checkIsCurrentQuery(el)) {\n this.currentFilterName = el.get(this.FILTER_NAME);\n }\n });\n }\n\n hasSavedQueries(): boolean {\n return this.queries.length > 0;\n }\n\n openSaveDialog(evt: Event): void {\n this.dialogSave.openDialog();\n this.cancelEvent(evt);\n }\n\n openManageDialog(evt: Event): void {\n this.dialogManage.openDialog();\n this.cancelEvent(evt);\n }\n\n onSaveWindowOpen(): void {\n this.customFiltersForm.get('customFilter').patchValue('');\n this.dialogSave.disableAcceptButton();\n }\n\n onSaveAccept(): void {\n const filterName = this.customFiltersForm.get('customFilter').value;\n this.addSavedFilter(filterName);\n this.selectCurrentQueryName();\n }\n\n isFilterNameValid(name: string): boolean {\n if (name !== null && name !== undefined && name !== '' && this.checkIsFilterNameUnique(name)) {\n return true;\n } else {\n return false;\n }\n }\n\n private openQuery(query: Map<string, string>): void {\n let urlParams = '';\n query.forEach((value, key) => {\n if (key !== this.FILTER_NAME) {\n if (urlParams.length > 0) {\n urlParams += '&';\n }\n urlParams += encodeURIComponent(key) + '=' + encodeURIComponent(value);\n }\n });\n window.location.href = '?' + urlParams;\n }\n\n private checkIsCurrentQuery(query: Map<string, string>): boolean {\n const currentQuery: Params = this.route.snapshot.queryParams;\n const currentQueryMap: ParamMap = convertToParamMap(currentQuery);\n let testVal;\n if (query.size - 1 !== currentQueryMap.keys.length) {\n return false;\n }\n for (const [key, val] of query) {\n if (key !== this.FILTER_NAME) {\n testVal = currentQueryMap.get(key);\n if (key === 'facets') {\n const facV1 = val?.split(';').sort();\n const facV2 = testVal?.split(';').sort();\n\n return facV1 && facV2 && facV1.length === facV2.length && facV1.slice()\n .every((value: any, index: string | number) => value === facV2[index]);\n } else {\n // in cases of an undefined value, make sure the key\n // actually exists on the object so there are no false positives\n if (testVal !== val || (testVal === undefined && !currentQueryMap.has(key))) {\n return false;\n }\n }\n }\n }\n return true;\n }\n\n private checkIsFilterNameUnique(name: string): boolean {\n return this.queries.find(el => el.get(this.FILTER_NAME) === name) === undefined;\n }\n\n private cancelEvent(event: Event): void {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n private addSavedFilter(filterName: string): void {\n\n const currentQuery = window.location.search.substring(1);\n this.userFavQueriesService.addFavouriteQuery(`filterName=${filterName}&${currentQuery}`);\n this.getFavouriteQueries();\n }\n\n private isControlValueValid(control: AbstractControl): { [key: string]: any } | null {\n if (this.isFilterNameValid(control.value)) {\n return null;\n } else {\n return { error: 'Name is not unique' };\n }\n }\n}\n","<eui-card euiCollapsible>\n <eui-card-header>\n <eui-card-header-title>Saved filters</eui-card-header-title>\n <eui-card-header-right-content>\n <button euiButton euiBasicButton euiPrimary euiSizeS\n (click)=\"openSaveDialog($event);\">Save</button> |\n <button euiButton euiBasicButton euiPrimary euiSizeS [euiDisabled]=\"!hasSavedQueries()\"\n (click)=\"openManageDialog($event);\">Manage</button><br>\n </eui-card-header-right-content>\n </eui-card-header>\n <eui-card-content>\n @if (!hasSavedQueries()) {\n <span euiLabel euiSecondary>-- no queries --</span>\n } @else {\n <eui-dropdown isLabelUpdatedFromSelectedItem>\n <button euiButton aria-label=\"Saved filters\" euiSizeVariant=\"s\">\n <span euiLabel>{{currentFilterName}}</span>\n <eui-icon-svg icon=\"chevron-down:sharp\" size=\"xs\" />\n </button>\n <eui-dropdown-content>\n @for (sq of savedQueriesNames; track sq) {\n <button euiDropdownItem (click)=\"onClickSavedFilter(sq)\">\n <span euiLabel>{{sq}}</span>\n </button>\n }\n </eui-dropdown-content>\n </eui-dropdown>\n }\n </eui-card-content>\n</eui-card>\n\n<eui-dialog #dialogSave title=\"Save filter\" (accept)=\"onSaveAccept()\" (dialogOpen)=\"onSaveWindowOpen()\" acceptLabel=\"Save\" width=\"520px\">\n <form [formGroup]=\"customFiltersForm\">\n <div euiInputGroup>\n <label euiLabel for=\"custom_filter\" euiRequired>Provide name for your custom filter</label>\n <input euiInputText id=\"custom_filter\" formControlName=\"customFilter\" maxlength=\"50\" />\n </div>\n <eui-feedback-message euiDanger *ngIf=\"customFiltersForm.get('customFilter').touched && customFiltersForm.get('customFilter').invalid\">\n Filter name should not be empty and should be unique.</eui-feedback-message>\n </form>\n</eui-dialog>\n\n<eui-dialog #dialogManage title=\"Manage filters\" [hasAcceptButton]=\"false\" dismissLabel=\"Close\" width=\"520px\">\n @if (savedQueriesNames.length > 0) {\n <table euiTable euiTableResponsive [rows]=\"savedQueriesNames\">\n <ng-template let-row euiTemplate=\"body\">\n <tr>\n <td data-col-label=\"Query\">\n {{row}}\n </td>\n <td data-col-label=\"Actions\" style=\"width: 20px\">\n <button euiButton euiBasicButton euiDanger euiIconButton euiSizeS euiTooltip=\"Delete\"\n (click)=\"deleteFavouriteQuery(row);\">\n <eui-icon-svg icon=\"eui-delete-forever:eui\" />\n </button>\n </td>\n </tr>\n </ng-template>\n </table>\n } @else {\n No saved filters.\n }\n</eui-dialog>","// Angular\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n// 3rd party\nimport { TranslateModule } from '@ngx-translate/core';\n\n// eUI\n// import { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiDialogModule } from '@eui/components/eui-dialog';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiCardModule } from '@eui/components/eui-card';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\nimport { EuiTableModule } from '@eui/components/eui-table';\nimport { EuiFeedbackMessageModule } from '@eui/components/eui-feedback-message';\nimport { EuiSearchFavouriteQueriesComponent } from './favourite-queries.component';\nimport { EuiSearchUsersFavQueriesService } from './services/user-fav-queries.services';\n\nconst EUI_MODULES = [\n EuiIconModule, EuiLabelModule, EuiButtonModule, EuiDialogModule, EuiInputTextModule, EuiCardModule, EuiDropdownModule,\n EuiInputGroupModule, EuiTableModule, EuiFeedbackMessageModule,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n ...EUI_MODULES,\n ],\n declarations: [EuiSearchFavouriteQueriesComponent],\n exports: [EuiSearchFavouriteQueriesComponent],\n providers: [\n EuiSearchUsersFavQueriesService,\n ]\n})\n\nexport class EuiSearchFavouriteQueriesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EuiSearchUsersFavQueriesService"],"mappings":"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"}