croco-html 2.0.0 → 2.0.1

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 (105) hide show
  1. package/esm2022/croco-html.mjs +4 -4
  2. package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +53 -53
  3. package/esm2022/lib/components/editor/external-video-block/external-video-block.component.mjs +43 -43
  4. package/esm2022/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +25 -25
  5. package/esm2022/lib/components/editor/image-editor/image-editor.component.mjs +46 -46
  6. package/esm2022/lib/components/editor/index.mjs +7 -7
  7. package/esm2022/lib/components/editor/main-editor/main-editor.component.mjs +76 -76
  8. package/esm2022/lib/components/editor/main-editor-block/main-editor-block.component.mjs +41 -41
  9. package/esm2022/lib/components/editor/text-editor/text-editor.component.mjs +30 -30
  10. package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +27 -27
  11. package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +134 -134
  12. package/esm2022/lib/components/file-id-select/file-id-select.component.mjs +58 -58
  13. package/esm2022/lib/components/html-view/html-view.component.mjs +18 -18
  14. package/esm2022/lib/components/index.mjs +6 -6
  15. package/esm2022/lib/components/upload-files-btn/upload-files-btn.component.mjs +54 -54
  16. package/esm2022/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +22 -22
  17. package/esm2022/lib/components/xml-tags/index.mjs +9 -9
  18. package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +49 -49
  19. package/esm2022/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +17 -17
  20. package/esm2022/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +18 -18
  21. package/esm2022/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +16 -16
  22. package/esm2022/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +20 -20
  23. package/esm2022/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +20 -20
  24. package/esm2022/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.mjs +17 -17
  25. package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +22 -22
  26. package/esm2022/lib/croco-html.module.mjs +92 -92
  27. package/esm2022/lib/extensions/AngularMaterialTableMethods.mjs +64 -64
  28. package/esm2022/lib/extensions/BodyTagsExtensions.mjs +120 -120
  29. package/esm2022/lib/extensions/BootstrapTableMethods.mjs +67 -67
  30. package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +63 -63
  31. package/esm2022/lib/extensions/HtmlRawTagDataConsts.mjs +3 -3
  32. package/esm2022/lib/extensions/ImageMethods.mjs +32 -32
  33. package/esm2022/lib/extensions/InterfaceBlock.mjs +1 -1
  34. package/esm2022/lib/extensions/TableBuilder.mjs +35 -35
  35. package/esm2022/lib/extensions/TableMethods.mjs +108 -108
  36. package/esm2022/lib/extensions/TextMethods.mjs +29 -29
  37. package/esm2022/lib/extensions/TextSimpleMethods.mjs +77 -77
  38. package/esm2022/lib/extensions/VideoMethods.mjs +19 -19
  39. package/esm2022/lib/extensions/XmlExtensions.mjs +25 -25
  40. package/esm2022/lib/extensions/index.mjs +12 -12
  41. package/esm2022/lib/index.mjs +117 -117
  42. package/esm2022/lib/models/models.mjs +1 -1
  43. package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +26 -26
  44. package/esm2022/lib/pipes/TagToSpanPipe.mjs +16 -16
  45. package/esm2022/lib/pipes/ToHtmlBodyTagsPipe.mjs +17 -17
  46. package/esm2022/lib/pipes/ToPreviewHtmlPipe.mjs +17 -17
  47. package/esm2022/lib/pipes/index.mjs +5 -5
  48. package/esm2022/lib/pipes/to-preview.pipe.mjs +20 -20
  49. package/esm2022/lib/services/file-upload.service.mjs +70 -70
  50. package/esm2022/lib/services/files-query.service.mjs +27 -27
  51. package/esm2022/public-api.mjs +7 -7
  52. package/fesm2022/croco-html.mjs +1488 -1488
  53. package/fesm2022/croco-html.mjs.map +1 -1
  54. package/index.d.ts +5 -5
  55. package/lib/components/add-files-btn/add-files-btn.component.d.ts +18 -18
  56. package/lib/components/editor/external-video-block/external-video-block.component.d.ts +17 -17
  57. package/lib/components/editor/html-raw-editor/html-raw-editor.component.d.ts +11 -11
  58. package/lib/components/editor/image-editor/image-editor.component.d.ts +18 -18
  59. package/lib/components/editor/index.d.ts +7 -7
  60. package/lib/components/editor/main-editor/main-editor.component.d.ts +27 -27
  61. package/lib/components/editor/main-editor-block/main-editor-block.component.d.ts +16 -16
  62. package/lib/components/editor/text-editor/text-editor.component.d.ts +12 -12
  63. package/lib/components/editor/visual-editor/DefaultTags.d.ts +6 -6
  64. package/lib/components/editor/visual-editor/visual-editor.component.d.ts +36 -36
  65. package/lib/components/file-id-select/file-id-select.component.d.ts +27 -27
  66. package/lib/components/html-view/html-view.component.d.ts +6 -6
  67. package/lib/components/index.d.ts +6 -6
  68. package/lib/components/upload-files-btn/upload-files-btn.component.d.ts +24 -24
  69. package/lib/components/xml-tags/html-raw-view/html-raw-view.component.d.ts +13 -13
  70. package/lib/components/xml-tags/index.d.ts +9 -9
  71. package/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.d.ts +16 -16
  72. package/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.d.ts +10 -10
  73. package/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.d.ts +10 -10
  74. package/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.d.ts +7 -7
  75. package/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.d.ts +10 -10
  76. package/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.d.ts +7 -7
  77. package/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.d.ts +10 -10
  78. package/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.d.ts +8 -8
  79. package/lib/croco-html.module.d.ts +64 -64
  80. package/lib/extensions/AngularMaterialTableMethods.d.ts +7 -7
  81. package/lib/extensions/BodyTagsExtensions.d.ts +11 -11
  82. package/lib/extensions/BootstrapTableMethods.d.ts +9 -9
  83. package/lib/extensions/HtmlExtractionMethods.d.ts +73 -73
  84. package/lib/extensions/HtmlRawTagDataConsts.d.ts +3 -3
  85. package/lib/extensions/ImageMethods.d.ts +18 -18
  86. package/lib/extensions/InterfaceBlock.d.ts +4 -4
  87. package/lib/extensions/TableBuilder.d.ts +5 -5
  88. package/lib/extensions/TableMethods.d.ts +59 -59
  89. package/lib/extensions/TextMethods.d.ts +19 -19
  90. package/lib/extensions/TextSimpleMethods.d.ts +23 -23
  91. package/lib/extensions/VideoMethods.d.ts +19 -19
  92. package/lib/extensions/XmlExtensions.d.ts +5 -5
  93. package/lib/extensions/index.d.ts +10 -10
  94. package/lib/index.d.ts +21 -22
  95. package/lib/models/models.d.ts +14 -14
  96. package/lib/pipes/RichTextToHtmlPipe.d.ts +8 -8
  97. package/lib/pipes/TagToSpanPipe.d.ts +7 -7
  98. package/lib/pipes/ToHtmlBodyTagsPipe.d.ts +8 -8
  99. package/lib/pipes/ToPreviewHtmlPipe.d.ts +9 -9
  100. package/lib/pipes/index.d.ts +5 -5
  101. package/lib/pipes/to-preview.pipe.d.ts +8 -8
  102. package/lib/services/file-upload.service.d.ts +34 -34
  103. package/lib/services/files-query.service.d.ts +42 -42
  104. package/package.json +2 -2
  105. package/public-api.d.ts +4 -4
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvY28taHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2Nyb2NvLWh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,53 +1,53 @@
1
- import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
2
- import { FileImageTagDataConsts } from '../../extensions/ImageMethods';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/button";
5
- import * as i2 from "../upload-files-btn/upload-files-btn.component";
6
- export class AddFilesBtnComponent {
7
- constructor() {
8
- this.postFilesStarted = new EventEmitter();
9
- this.fileIds = [];
10
- this.filesTagsReady = new EventEmitter();
11
- }
12
- postFilesStartedEventHandler(data) {
13
- this.postFilesStarted.emit(data);
14
- }
15
- filesUploadedHandler(data) {
16
- this.fileIds = data.responseObject;
17
- let fileTags = [];
18
- for (let i = 0; i < this.fileIds.length; i++) {
19
- let fileTag = {
20
- presentOrEdit: true,
21
- tagDescription: {
22
- tag: FileImageTagDataConsts.TagName,
23
- displayValue: "Изображение"
24
- },
25
- attributes: {
26
- [FileImageTagDataConsts.FileIdAttrName]: this.fileIds[i]
27
- },
28
- innerHtml: ""
29
- };
30
- fileTags.push(fileTag);
31
- }
32
- this.filesTagsReady.emit(fileTags);
33
- }
34
- handleClick() {
35
- this.fakeBtn.clickFileInput();
36
- }
37
- ngOnInit() {
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddFilesBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AddFilesBtnComponent, selector: "croco-html-add-files-btn", outputs: { postFilesStarted: "postFilesStarted", filesTagsReady: "filesTagsReady" }, viewQueries: [{ propertyName: "fakeBtn", first: true, predicate: ["fakeBtn"], descendants: true }], ngImport: i0, template: "<div [hidden]=\"true\">\r\n <croco-app-upload-files-btn #fakeBtn \r\n (onFilesUploaded)=\"filesUploadedHandler($event)\" \r\n [btnText]=\"'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F'\"\r\n [createLocalCopiesNow]=\"true\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" \r\n [extAccepts]=\"'image/*'\"></croco-app-upload-files-btn>\r\n</div>\r\n\r\n<div>\r\n <button class=\"w-100\" \r\n (click)=\"handleClick()\"\r\n mat-stroked-button>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</button>\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.UploadFilesBtnComponent, selector: "croco-app-upload-files-btn", inputs: ["extAccepts", "isMultiple", "btnText", "createLocalCopiesNow", "hidden"], outputs: ["postFilesStarted", "onFilesUploaded"] }] }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddFilesBtnComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'croco-html-add-files-btn', template: "<div [hidden]=\"true\">\r\n <croco-app-upload-files-btn #fakeBtn \r\n (onFilesUploaded)=\"filesUploadedHandler($event)\" \r\n [btnText]=\"'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F'\"\r\n [createLocalCopiesNow]=\"true\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" \r\n [extAccepts]=\"'image/*'\"></croco-app-upload-files-btn>\r\n</div>\r\n\r\n<div>\r\n <button class=\"w-100\" \r\n (click)=\"handleClick()\"\r\n mat-stroked-button>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</button>\r\n</div>" }]
45
- }], ctorParameters: function () { return []; }, propDecorators: { postFilesStarted: [{
46
- type: Output
47
- }], fakeBtn: [{
48
- type: ViewChild,
49
- args: ["fakeBtn"]
50
- }], filesTagsReady: [{
51
- type: Output
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpbGVzLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZmlsZXMtYnRuL2FkZC1maWxlcy1idG4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvYWRkLWZpbGVzLWJ0bi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFVdkUsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQjtRQVBBLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBSzFELFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUhuQyxDQUFDO0lBS2pCLDRCQUE0QixDQUFDLElBQXdCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQWlDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVuQyxJQUFJLFFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBRWhDLEtBQUksSUFBSSxDQUFDLEdBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztZQUN6QyxJQUFJLE9BQU8sR0FBZ0I7Z0JBQ3pCLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixjQUFjLEVBQUU7b0JBQ2QsR0FBRyxFQUFFLHNCQUFzQixDQUFDLE9BQU87b0JBQ25DLFlBQVksRUFBRSxhQUFhO2lCQUM1QjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekQ7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7YUFDZCxDQUFDO1lBRUYsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7K0dBaERVLG9CQUFvQjttR0FBcEIsb0JBQW9CLHlQQ1hqQyw0c0JBYU07OzRGREZPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBT3BDLGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTO2dCQVFwQixjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzIH0gZnJvbSAnLi4vLi4vZXh0ZW5zaW9ucy9JbWFnZU1ldGhvZHMnO1xyXG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWxlLXVwbG9hZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZVBvc3RpbmdTdGFydGVkLCBVcGxvYWRGaWxlc0J0bkNvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1maWxlcy1idG4vdXBsb2FkLWZpbGVzLWJ0bi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWFkZC1maWxlcy1idG4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkRmlsZXNCdG5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwb3N0RmlsZXNTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlUG9zdGluZ1N0YXJ0ZWQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJmYWtlQnRuXCIpXHJcbiAgZmFrZUJ0biE6IFVwbG9hZEZpbGVzQnRuQ29tcG9uZW50O1xyXG5cclxuICBmaWxlSWRzOm51bWJlcltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGZpbGVzVGFnc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZ1tdPigpO1xyXG5cclxuICBwb3N0RmlsZXNTdGFydGVkRXZlbnRIYW5kbGVyKGRhdGE6IEZpbGVQb3N0aW5nU3RhcnRlZCl7XHJcbiAgICB0aGlzLnBvc3RGaWxlc1N0YXJ0ZWQuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG4gIGZpbGVzVXBsb2FkZWRIYW5kbGVyKGRhdGE6IEJhc2VBcGlSZXNwb25zZVdpdGhGaWxlc0lkcyl7XHJcbiAgICB0aGlzLmZpbGVJZHMgPSBkYXRhLnJlc3BvbnNlT2JqZWN0O1xyXG5cclxuICAgIGxldCBmaWxlVGFnczpIdG1sQm9keVRhZ1tdID0gW107XHJcblxyXG4gICAgZm9yKGxldCBpPSAwOyBpIDwgdGhpcy5maWxlSWRzLmxlbmd0aDsgaSsrKXtcclxuICAgICAgbGV0IGZpbGVUYWc6IEh0bWxCb2R5VGFnID0ge1xyXG4gICAgICAgIHByZXNlbnRPckVkaXQ6IHRydWUsXHJcbiAgICAgICAgdGFnRGVzY3JpcHRpb246IHtcclxuICAgICAgICAgIHRhZzogRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lLFxyXG4gICAgICAgICAgZGlzcGxheVZhbHVlOiBcItCY0LfQvtCx0YDQsNC20LXQvdC40LVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgICAgW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdOiB0aGlzLmZpbGVJZHNbaV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGlubmVySHRtbDogXCJcIlxyXG4gICAgICB9O1xyXG5cclxuICAgICAgZmlsZVRhZ3MucHVzaChmaWxlVGFnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbGVzVGFnc1JlYWR5LmVtaXQoZmlsZVRhZ3MpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2xpY2soKXtcclxuICAgIHRoaXMuZmFrZUJ0bi5jbGlja0ZpbGVJbnB1dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2hpZGRlbl09XCJ0cnVlXCI+XHJcbiAgICA8Y3JvY28tYXBwLXVwbG9hZC1maWxlcy1idG4gI2Zha2VCdG4gXHJcbiAgICAgICAgKG9uRmlsZXNVcGxvYWRlZCk9XCJmaWxlc1VwbG9hZGVkSGFuZGxlcigkZXZlbnQpXCIgXHJcbiAgICAgICAgW2J0blRleHRdPVwiJ9CU0L7QsdCw0LLQuNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjRjydcIlxyXG4gICAgICAgIFtjcmVhdGVMb2NhbENvcGllc05vd109XCJ0cnVlXCJcclxuICAgICAgICAocG9zdEZpbGVzU3RhcnRlZCk9XCJwb3N0RmlsZXNTdGFydGVkRXZlbnRIYW5kbGVyKCRldmVudClcIiBcclxuICAgICAgICBbZXh0QWNjZXB0c109XCInaW1hZ2UvKidcIj48L2Nyb2NvLWFwcC11cGxvYWQtZmlsZXMtYnRuPlxyXG48L2Rpdj5cclxuXHJcbjxkaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwidy0xMDBcIiBcclxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiXHJcbiAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uPtCU0L7QsdCw0LLQuNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjRjzwvYnV0dG9uPlxyXG48L2Rpdj4iXX0=
1
+ import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
2
+ import { FileImageTagDataConsts } from '../../extensions/ImageMethods';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "../upload-files-btn/upload-files-btn.component";
6
+ export class AddFilesBtnComponent {
7
+ constructor() {
8
+ this.postFilesStarted = new EventEmitter();
9
+ this.fileIds = [];
10
+ this.filesTagsReady = new EventEmitter();
11
+ }
12
+ postFilesStartedEventHandler(data) {
13
+ this.postFilesStarted.emit(data);
14
+ }
15
+ filesUploadedHandler(data) {
16
+ this.fileIds = data.responseObject;
17
+ let fileTags = [];
18
+ for (let i = 0; i < this.fileIds.length; i++) {
19
+ let fileTag = {
20
+ presentOrEdit: true,
21
+ tagDescription: {
22
+ tag: FileImageTagDataConsts.TagName,
23
+ displayValue: "Изображение"
24
+ },
25
+ attributes: {
26
+ [FileImageTagDataConsts.FileIdAttrName]: this.fileIds[i]
27
+ },
28
+ innerHtml: ""
29
+ };
30
+ fileTags.push(fileTag);
31
+ }
32
+ this.filesTagsReady.emit(fileTags);
33
+ }
34
+ handleClick() {
35
+ this.fakeBtn.clickFileInput();
36
+ }
37
+ ngOnInit() {
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AddFilesBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: AddFilesBtnComponent, selector: "croco-html-add-files-btn", outputs: { postFilesStarted: "postFilesStarted", filesTagsReady: "filesTagsReady" }, viewQueries: [{ propertyName: "fakeBtn", first: true, predicate: ["fakeBtn"], descendants: true }], ngImport: i0, template: "<div [hidden]=\"true\">\r\n <croco-app-upload-files-btn #fakeBtn \r\n (onFilesUploaded)=\"filesUploadedHandler($event)\" \r\n [btnText]=\"'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F'\"\r\n [createLocalCopiesNow]=\"true\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" \r\n [extAccepts]=\"'image/*'\"></croco-app-upload-files-btn>\r\n</div>\r\n\r\n<div>\r\n <button class=\"w-100\" \r\n (click)=\"handleClick()\"\r\n mat-stroked-button>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</button>\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.UploadFilesBtnComponent, selector: "croco-app-upload-files-btn", inputs: ["extAccepts", "isMultiple", "btnText", "createLocalCopiesNow", "hidden"], outputs: ["postFilesStarted", "onFilesUploaded"] }] }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: AddFilesBtnComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'croco-html-add-files-btn', template: "<div [hidden]=\"true\">\r\n <croco-app-upload-files-btn #fakeBtn \r\n (onFilesUploaded)=\"filesUploadedHandler($event)\" \r\n [btnText]=\"'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F'\"\r\n [createLocalCopiesNow]=\"true\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" \r\n [extAccepts]=\"'image/*'\"></croco-app-upload-files-btn>\r\n</div>\r\n\r\n<div>\r\n <button class=\"w-100\" \r\n (click)=\"handleClick()\"\r\n mat-stroked-button>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</button>\r\n</div>" }]
45
+ }], ctorParameters: () => [], propDecorators: { postFilesStarted: [{
46
+ type: Output
47
+ }], fakeBtn: [{
48
+ type: ViewChild,
49
+ args: ["fakeBtn"]
50
+ }], filesTagsReady: [{
51
+ type: Output
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpbGVzLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZmlsZXMtYnRuL2FkZC1maWxlcy1idG4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvYWRkLWZpbGVzLWJ0bi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFVdkUsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQjtRQVBBLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBSzFELFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUhuQyxDQUFDO0lBS2pCLDRCQUE0QixDQUFDLElBQXdCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQWlDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVuQyxJQUFJLFFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBRWhDLEtBQUksSUFBSSxDQUFDLEdBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQyxDQUFDO1lBQzFDLElBQUksT0FBTyxHQUFnQjtnQkFDekIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGNBQWMsRUFBRTtvQkFDZCxHQUFHLEVBQUUsc0JBQXNCLENBQUMsT0FBTztvQkFDbkMsWUFBWSxFQUFFLGFBQWE7aUJBQzVCO2dCQUNELFVBQVUsRUFBRTtvQkFDVixDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUN6RDtnQkFDRCxTQUFTLEVBQUUsRUFBRTthQUNkLENBQUM7WUFFRixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzhHQWhEVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix5UENYakMsNHNCQWFNOzsyRkRGTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsMEJBQTBCO3dEQU9wQyxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFJUCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsU0FBUztnQkFRcEIsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZUltYWdlVGFnRGF0YUNvbnN0cyB9IGZyb20gJy4uLy4uL2V4dGVuc2lvbnMvSW1hZ2VNZXRob2RzJztcclxuaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVQb3N0aW5nU3RhcnRlZCwgVXBsb2FkRmlsZXNCdG5Db21wb25lbnQgfSBmcm9tICcuLi91cGxvYWQtZmlsZXMtYnRuL3VwbG9hZC1maWxlcy1idG4uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3JvY28taHRtbC1hZGQtZmlsZXMtYnRuJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWZpbGVzLWJ0bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWZpbGVzLWJ0bi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEZpbGVzQnRuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcG9zdEZpbGVzU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVBvc3RpbmdTdGFydGVkPigpO1xyXG5cclxuICBAVmlld0NoaWxkKFwiZmFrZUJ0blwiKVxyXG4gIGZha2VCdG4hOiBVcGxvYWRGaWxlc0J0bkNvbXBvbmVudDtcclxuXHJcbiAgZmlsZUlkczpudW1iZXJbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBmaWxlc1RhZ3NSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8SHRtbEJvZHlUYWdbXT4oKTtcclxuXHJcbiAgcG9zdEZpbGVzU3RhcnRlZEV2ZW50SGFuZGxlcihkYXRhOiBGaWxlUG9zdGluZ1N0YXJ0ZWQpe1xyXG4gICAgdGhpcy5wb3N0RmlsZXNTdGFydGVkLmVtaXQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBmaWxlc1VwbG9hZGVkSGFuZGxlcihkYXRhOiBCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHMpe1xyXG4gICAgdGhpcy5maWxlSWRzID0gZGF0YS5yZXNwb25zZU9iamVjdDtcclxuXHJcbiAgICBsZXQgZmlsZVRhZ3M6SHRtbEJvZHlUYWdbXSA9IFtdO1xyXG5cclxuICAgIGZvcihsZXQgaT0gMDsgaSA8IHRoaXMuZmlsZUlkcy5sZW5ndGg7IGkrKyl7XHJcbiAgICAgIGxldCBmaWxlVGFnOiBIdG1sQm9keVRhZyA9IHtcclxuICAgICAgICBwcmVzZW50T3JFZGl0OiB0cnVlLFxyXG4gICAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgICB0YWc6IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuVGFnTmFtZSxcclxuICAgICAgICAgIGRpc3BsYXlWYWx1ZTogXCLQmNC30L7QsdGA0LDQttC10L3QuNC1XCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAgIFtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXTogdGhpcy5maWxlSWRzW2ldXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbm5lckh0bWw6IFwiXCJcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGZpbGVUYWdzLnB1c2goZmlsZVRhZyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWxlc1RhZ3NSZWFkeS5lbWl0KGZpbGVUYWdzKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNsaWNrKCl7XHJcbiAgICB0aGlzLmZha2VCdG4uY2xpY2tGaWxlSW5wdXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtoaWRkZW5dPVwidHJ1ZVwiPlxyXG4gICAgPGNyb2NvLWFwcC11cGxvYWQtZmlsZXMtYnRuICNmYWtlQnRuIFxyXG4gICAgICAgIChvbkZpbGVzVXBsb2FkZWQpPVwiZmlsZXNVcGxvYWRlZEhhbmRsZXIoJGV2ZW50KVwiIFxyXG4gICAgICAgIFtidG5UZXh0XT1cIifQlNC+0LHQsNCy0LjRgtGMINC40LfQvtCx0YDQsNC20LXQvdC40Y8nXCJcclxuICAgICAgICBbY3JlYXRlTG9jYWxDb3BpZXNOb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgKHBvc3RGaWxlc1N0YXJ0ZWQpPVwicG9zdEZpbGVzU3RhcnRlZEV2ZW50SGFuZGxlcigkZXZlbnQpXCIgXHJcbiAgICAgICAgW2V4dEFjY2VwdHNdPVwiJ2ltYWdlLyonXCI+PC9jcm9jby1hcHAtdXBsb2FkLWZpbGVzLWJ0bj5cclxuPC9kaXY+XHJcblxyXG48ZGl2PlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cInctMTAwXCIgXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKClcIlxyXG4gICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvbj7QlNC+0LHQsNCy0LjRgtGMINC40LfQvtCx0YDQsNC20LXQvdC40Y88L2J1dHRvbj5cclxuPC9kaXY+Il19
@@ -1,43 +1,43 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { ExternalVideoSupportedTypes } from '../../../extensions/VideoMethods';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/form-field";
7
- import * as i4 from "@angular/material/input";
8
- import * as i5 from "../../xml-tags/xml-tag-external-video/xml-tag-external-video.component";
9
- export class ExternalVideoBlockComponent {
10
- constructor() {
11
- this.onTagUpdated = new EventEmitter();
12
- this.defaultLink = "https://youtu.be/jzBneaWSswY";
13
- this.data = {
14
- youtubeLink: this.defaultLink
15
- };
16
- this.tagData = {
17
- link: this.defaultLink,
18
- type: ExternalVideoSupportedTypes.Youtube
19
- };
20
- }
21
- linkChanged() {
22
- this.tagData.link = this.data.youtubeLink;
23
- this.tag.attributes = this.tagData;
24
- }
25
- ngOnInit() {
26
- if (!this.tag?.attributes?.['link']) {
27
- this.linkChanged();
28
- }
29
- this.tagData = this.tag.attributes;
30
- this.data.youtubeLink = this.tagData.link;
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalVideoBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExternalVideoBlockComponent, selector: "croco-html-external-video-block", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div *ngIf=\"tag.presentOrEdit\">\r\n \r\n <div>\r\n \u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube: {{data.youtubeLink}}\r\n </div>\r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <croco-html-xml-tag-external-video [tagData]=\"tagData\">\r\n </croco-html-xml-tag-external-video>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube\"\r\n new-autocomplete=\"off\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"data.youtubeLink\"\r\n (ngModelChange)=\"linkChanged()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.XmlTagExternalVideoComponent, selector: "croco-html-xml-tag-external-video", inputs: ["data", "tagData"] }] }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExternalVideoBlockComponent, decorators: [{
36
- type: Component,
37
- args: [{ selector: 'croco-html-external-video-block', template: "<div *ngIf=\"tag.presentOrEdit\">\r\n \r\n <div>\r\n \u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube: {{data.youtubeLink}}\r\n </div>\r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <croco-html-xml-tag-external-video [tagData]=\"tagData\">\r\n </croco-html-xml-tag-external-video>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube\"\r\n new-autocomplete=\"off\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"data.youtubeLink\"\r\n (ngModelChange)=\"linkChanged()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n" }]
38
- }], propDecorators: { tag: [{
39
- type: Input
40
- }], onTagUpdated: [{
41
- type: Output
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlkZW8tYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL2V4dGVybmFsLXZpZGVvLWJsb2NrL2V4dGVybmFsLXZpZGVvLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1ibG9jay9leHRlcm5hbC12aWRlby1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBd0IsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVFyRyxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBV0UsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRS9DLGdCQUFXLEdBQUcsOEJBQThCLENBQUM7UUFFN0MsU0FBSSxHQUFHO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUE7UUFFRCxZQUFPLEdBQXlCO1lBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztZQUN0QixJQUFJLEVBQUUsMkJBQTJCLENBQUMsT0FBTztTQUMxQyxDQUFDO0tBZUg7SUFiQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFrQyxDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzVDLENBQUM7K0dBL0JVLDJCQUEyQjttR0FBM0IsMkJBQTJCLDBJQ1R4QyxpMUJBMEJBOzs0RkRqQmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLGlDQUFpQzs4QkFPM0MsR0FBRztzQkFERixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXh0ZXJuYWxWaWRlb1RhZ0RhdGEsIEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL2V4dGVuc2lvbnMvVmlkZW9NZXRob2RzJztcclxuaW1wb3J0IHsgSHRtbEJvZHlUYWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3JvY28taHRtbC1leHRlcm5hbC12aWRlby1ibG9jaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4dGVybmFsLXZpZGVvLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9leHRlcm5hbC12aWRlby1ibG9jay5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEV4dGVybmFsVmlkZW9CbG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFnOiBIdG1sQm9keVRhZztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcclxuXHJcbiAgZGVmYXVsdExpbmsgPSBcImh0dHBzOi8veW91dHUuYmUvanpCbmVhV1Nzd1lcIjtcclxuXHJcbiAgZGF0YSA9IHtcclxuICAgIHlvdXR1YmVMaW5rOiB0aGlzLmRlZmF1bHRMaW5rXHJcbiAgfVxyXG5cclxuICB0YWdEYXRhOiBFeHRlcm5hbFZpZGVvVGFnRGF0YSA9IHtcclxuICAgIGxpbms6IHRoaXMuZGVmYXVsdExpbmssXHJcbiAgICB0eXBlOiBFeHRlcm5hbFZpZGVvU3VwcG9ydGVkVHlwZXMuWW91dHViZVxyXG4gIH07XHJcblxyXG4gIGxpbmtDaGFuZ2VkKCl7XHJcbiAgICB0aGlzLnRhZ0RhdGEubGluayA9IHRoaXMuZGF0YS55b3V0dWJlTGluaztcclxuICAgIHRoaXMudGFnLmF0dHJpYnV0ZXMgPSB0aGlzLnRhZ0RhdGE7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50YWc/LmF0dHJpYnV0ZXM/LlsnbGluayddKSB7XHJcbiAgICAgIHRoaXMubGlua0NoYW5nZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRhZ0RhdGEgPSB0aGlzLnRhZy5hdHRyaWJ1dGVzIGFzIEV4dGVybmFsVmlkZW9UYWdEYXRhO1xyXG4gICAgdGhpcy5kYXRhLnlvdXR1YmVMaW5rID0gdGhpcy50YWdEYXRhLmxpbms7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJ0YWcucHJlc2VudE9yRWRpdFwiPlxyXG4gICAgXHJcbiAgICA8ZGl2PlxyXG4gICAgICAgINCh0YHRi9C70LrQsCDQvdCwIFlvdVR1YmU6IHt7ZGF0YS55b3V0dWJlTGlua319XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxyXG5cclxuICAgIDxjcm9jby1odG1sLXhtbC10YWctZXh0ZXJuYWwtdmlkZW8gW3RhZ0RhdGFdPVwidGFnRGF0YVwiPlxyXG4gICAgPC9jcm9jby1odG1sLXhtbC10YWctZXh0ZXJuYWwtdmlkZW8+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiF0YWcucHJlc2VudE9yRWRpdFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwi0KHRgdGL0LvQutCwINC90LAgWW91VHViZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3LWF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGEueW91dHViZUxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImxpbmtDaGFuZ2VkKClcIj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ExternalVideoSupportedTypes } from '../../../extensions/VideoMethods';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@angular/material/input";
8
+ import * as i5 from "../../xml-tags/xml-tag-external-video/xml-tag-external-video.component";
9
+ export class ExternalVideoBlockComponent {
10
+ constructor() {
11
+ this.onTagUpdated = new EventEmitter();
12
+ this.defaultLink = "https://youtu.be/jzBneaWSswY";
13
+ this.data = {
14
+ youtubeLink: this.defaultLink
15
+ };
16
+ this.tagData = {
17
+ link: this.defaultLink,
18
+ type: ExternalVideoSupportedTypes.Youtube
19
+ };
20
+ }
21
+ linkChanged() {
22
+ this.tagData.link = this.data.youtubeLink;
23
+ this.tag.attributes = this.tagData;
24
+ }
25
+ ngOnInit() {
26
+ if (!this.tag?.attributes?.['link']) {
27
+ this.linkChanged();
28
+ }
29
+ this.tagData = this.tag.attributes;
30
+ this.data.youtubeLink = this.tagData.link;
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExternalVideoBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ExternalVideoBlockComponent, selector: "croco-html-external-video-block", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div *ngIf=\"tag.presentOrEdit\">\r\n \r\n <div>\r\n \u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube: {{data.youtubeLink}}\r\n </div>\r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <croco-html-xml-tag-external-video [tagData]=\"tagData\">\r\n </croco-html-xml-tag-external-video>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube\"\r\n new-autocomplete=\"off\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"data.youtubeLink\"\r\n (ngModelChange)=\"linkChanged()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.XmlTagExternalVideoComponent, selector: "croco-html-xml-tag-external-video", inputs: ["data", "tagData"] }] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ExternalVideoBlockComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'croco-html-external-video-block', template: "<div *ngIf=\"tag.presentOrEdit\">\r\n \r\n <div>\r\n \u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube: {{data.youtubeLink}}\r\n </div>\r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <croco-html-xml-tag-external-video [tagData]=\"tagData\">\r\n </croco-html-xml-tag-external-video>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 YouTube\"\r\n new-autocomplete=\"off\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"data.youtubeLink\"\r\n (ngModelChange)=\"linkChanged()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n" }]
38
+ }], propDecorators: { tag: [{
39
+ type: Input
40
+ }], onTagUpdated: [{
41
+ type: Output
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlkZW8tYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL2V4dGVybmFsLXZpZGVvLWJsb2NrL2V4dGVybmFsLXZpZGVvLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1ibG9jay9leHRlcm5hbC12aWRlby1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBd0IsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVFyRyxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBV0UsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRS9DLGdCQUFXLEdBQUcsOEJBQThCLENBQUM7UUFFN0MsU0FBSSxHQUFHO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUE7UUFFRCxZQUFPLEdBQXlCO1lBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztZQUN0QixJQUFJLEVBQUUsMkJBQTJCLENBQUMsT0FBTztTQUMxQyxDQUFDO0tBZUg7SUFiQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBa0MsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM1QyxDQUFDOzhHQS9CVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwwSUNUeEMsaTFCQTBCQTs7MkZEakJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxpQ0FBaUM7OEJBTzNDLEdBQUc7c0JBREYsS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEV4dGVybmFsVmlkZW9UYWdEYXRhLCBFeHRlcm5hbFZpZGVvU3VwcG9ydGVkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL1ZpZGVvTWV0aG9kcyc7XHJcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtZXh0ZXJuYWwtdmlkZW8tYmxvY2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leHRlcm5hbC12aWRlby1ibG9jay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXh0ZXJuYWwtdmlkZW8tYmxvY2suY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHRlcm5hbFZpZGVvQmxvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhZzogSHRtbEJvZHlUYWc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVGFnVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SHRtbEJvZHlUYWc+KCk7XHJcblxyXG4gIGRlZmF1bHRMaW5rID0gXCJodHRwczovL3lvdXR1LmJlL2p6Qm5lYVdTc3dZXCI7XHJcblxyXG4gIGRhdGEgPSB7XHJcbiAgICB5b3V0dWJlTGluazogdGhpcy5kZWZhdWx0TGlua1xyXG4gIH1cclxuXHJcbiAgdGFnRGF0YTogRXh0ZXJuYWxWaWRlb1RhZ0RhdGEgPSB7XHJcbiAgICBsaW5rOiB0aGlzLmRlZmF1bHRMaW5rLFxyXG4gICAgdHlwZTogRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzLllvdXR1YmVcclxuICB9O1xyXG5cclxuICBsaW5rQ2hhbmdlZCgpe1xyXG4gICAgdGhpcy50YWdEYXRhLmxpbmsgPSB0aGlzLmRhdGEueW91dHViZUxpbms7XHJcbiAgICB0aGlzLnRhZy5hdHRyaWJ1dGVzID0gdGhpcy50YWdEYXRhO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudGFnPy5hdHRyaWJ1dGVzPy5bJ2xpbmsnXSkge1xyXG4gICAgICB0aGlzLmxpbmtDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50YWdEYXRhID0gdGhpcy50YWcuYXR0cmlidXRlcyBhcyBFeHRlcm5hbFZpZGVvVGFnRGF0YTtcclxuICAgIHRoaXMuZGF0YS55b3V0dWJlTGluayA9IHRoaXMudGFnRGF0YS5saW5rO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidGFnLnByZXNlbnRPckVkaXRcIj5cclxuICAgIFxyXG4gICAgPGRpdj5cclxuICAgICAgICDQodGB0YvQu9C60LAg0L3QsCBZb3VUdWJlOiB7e2RhdGEueW91dHViZUxpbmt9fVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cclxuXHJcbiAgICA8Y3JvY28taHRtbC14bWwtdGFnLWV4dGVybmFsLXZpZGVvIFt0YWdEYXRhXT1cInRhZ0RhdGFcIj5cclxuICAgIDwvY3JvY28taHRtbC14bWwtdGFnLWV4dGVybmFsLXZpZGVvPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhdGFnLnByZXNlbnRPckVkaXRcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCh0YHRi9C70LrQsCDQvdCwIFlvdVR1YmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5ldy1hdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXRhLnlvdXR1YmVMaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJsaW5rQ2hhbmdlZCgpXCI+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -1,25 +1,25 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/forms";
5
- import * as i3 from "@angular/material/form-field";
6
- import * as i4 from "@angular/material/input";
7
- import * as i5 from "@angular/cdk/text-field";
8
- export class HtmlRawEditorComponent {
9
- constructor() {
10
- this.onTagUpdated = new EventEmitter();
11
- }
12
- ngOnInit() {
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HtmlRawEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HtmlRawEditorComponent, selector: "croco-html-html-raw-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div *ngIf=\"tag.presentOrEdit\">\r\n <div [innerHTML]=\"tag.innerHtml\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\">\r\n </div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n placeholder=\"\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 \u0442\u0435\u0433\u0430\"\r\n [(ngModel)]=\"tag.innerHtml\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HtmlRawEditorComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'croco-html-html-raw-editor', template: "<div *ngIf=\"tag.presentOrEdit\">\r\n <div [innerHTML]=\"tag.innerHtml\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\">\r\n </div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n placeholder=\"\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 \u0442\u0435\u0433\u0430\"\r\n [(ngModel)]=\"tag.innerHtml\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n" }]
20
- }], ctorParameters: function () { return []; }, propDecorators: { tag: [{
21
- type: Input
22
- }], onTagUpdated: [{
23
- type: Output
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9odG1sLXJhdy1lZGl0b3IvaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9odG1sLXJhdy1lZGl0b3IvaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRL0UsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQztRQUZBLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUUvQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOytHQVhVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHFJQ1JuQyw0cEJBaUJBOzs0RkRUYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsNEJBQTRCOzBFQU90QyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWh0bWwtcmF3LWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2h0bWwtcmF3LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSHRtbFJhd0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFnOiBIdG1sQm9keVRhZztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidGFnLnByZXNlbnRPckVkaXRcIj5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCJ0YWcuaW5uZXJIdG1sXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiF0YWcucHJlc2VudE9yRWRpdFwiPlxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgY2RrVGV4dGFyZWFBdXRvc2l6ZSAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCJcclxuICAgICAgICAgICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjFcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQktC90YPRgtGA0LXQvdC90Y/RjyDRgNCw0LfQvNC10YLQutCwINGC0LXQs9CwXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnLmlubmVySHRtbFwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ import * as i3 from "@angular/material/form-field";
6
+ import * as i4 from "@angular/material/input";
7
+ import * as i5 from "@angular/cdk/text-field";
8
+ export class HtmlRawEditorComponent {
9
+ constructor() {
10
+ this.onTagUpdated = new EventEmitter();
11
+ }
12
+ ngOnInit() {
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlRawEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: HtmlRawEditorComponent, selector: "croco-html-html-raw-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div *ngIf=\"tag.presentOrEdit\">\r\n <div [innerHTML]=\"tag.innerHtml\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\">\r\n </div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n placeholder=\"\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 \u0442\u0435\u0433\u0430\"\r\n [(ngModel)]=\"tag.innerHtml\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlRawEditorComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'croco-html-html-raw-editor', template: "<div *ngIf=\"tag.presentOrEdit\">\r\n <div [innerHTML]=\"tag.innerHtml\"></div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\">\r\n </div>\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n placeholder=\"\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0430 \u0442\u0435\u0433\u0430\"\r\n [(ngModel)]=\"tag.innerHtml\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n</div>\r\n\r\n" }]
20
+ }], ctorParameters: () => [], propDecorators: { tag: [{
21
+ type: Input
22
+ }], onTagUpdated: [{
23
+ type: Output
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9odG1sLXJhdy1lZGl0b3IvaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9odG1sLXJhdy1lZGl0b3IvaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRL0UsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQztRQUZBLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUUvQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOzhHQVhVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHFJQ1JuQyw0cEJBaUJBOzsyRkRUYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsNEJBQTRCO3dEQU90QyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWh0bWwtcmF3LWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2h0bWwtcmF3LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaHRtbC1yYXctZWRpdG9yLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSHRtbFJhd0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFnOiBIdG1sQm9keVRhZztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidGFnLnByZXNlbnRPckVkaXRcIj5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCJ0YWcuaW5uZXJIdG1sXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiF0YWcucHJlc2VudE9yRWRpdFwiPlxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgY2RrVGV4dGFyZWFBdXRvc2l6ZSAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCJcclxuICAgICAgICAgICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjFcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQktC90YPRgtGA0LXQvdC90Y/RjyDRgNCw0LfQvNC10YLQutCwINGC0LXQs9CwXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnLmlubmVySHRtbFwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -1,46 +1,46 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { ImageMethods, FileImageTagDataConsts } from '../../../extensions/ImageMethods';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/form-field";
7
- import * as i4 from "@angular/material/input";
8
- import * as i5 from "@angular/material/icon";
9
- import * as i6 from "@angular/material/button-toggle";
10
- import * as i7 from "../../file-id-select/file-id-select.component";
11
- export class ImageEditorComponent {
12
- onErrorHandler() {
13
- this.hasImageError = true;
14
- }
15
- constructor() {
16
- this.hasImageError = false;
17
- this.searchOrEdit = "search";
18
- this.onTagUpdated = new EventEmitter();
19
- }
20
- getSrc() {
21
- return ImageMethods.buildUrl(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName], { useCustomDomain: false, domain: "" });
22
- }
23
- hasFileId() {
24
- return this.tag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && !isNaN(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName]);
25
- }
26
- onFileIdChanged(fileId) {
27
- this.tag.attributes[FileImageTagDataConsts.FileIdAttrName] = fileId;
28
- this.removeImageError();
29
- }
30
- removeImageError() {
31
- this.hasImageError = false;
32
- }
33
- ngOnInit() {
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageEditorComponent, selector: "croco-html-image-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div>\r\n <div style=\"height: 10px;\">\r\n </div>\r\n \r\n <div *ngIf=\"hasImageError\" class=\"error-block\">\r\n \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u043C\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0444\u0430\u0439\u043B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.\r\n </div>\r\n\r\n <div *ngIf=\"hasFileId() && !hasImageError\">\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc()\" (error)=\"onErrorHandler()\"/>\r\n </div>\r\n\r\n <div *ngIf=\"!hasFileId()\">\r\n <h5>[\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E]</h5>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div style=\"overflow-x:auto;\">\r\n <mat-button-toggle-group [(ngModel)]=\"searchOrEdit\">\r\n <mat-button-toggle value=\"search\">\r\n \u0418\u0441\u043A\u0430\u0442\u044C \u0444\u0430\u0439\u043B <mat-icon>search</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"edit\">\r\n \u0423\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443 <mat-icon>settings</mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'search'\">\r\n <croco-html-file-id-select\r\n [labelText]=\"'\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B'\"\r\n [(fileId)]=\"tag.attributes['file-id']\"\r\n (onFileIdChanged)=\"onFileIdChanged($event)\">\r\n </croco-html-file-id-select>\r\n </div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'edit'\">\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430\" new-autocomplete=\"off\" autocomplete=\"off\"\r\n type=\"number\"\r\n [(ngModel)]=\"tag.attributes['file-id']\"\r\n (ngModelChange)=\"removeImageError()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>", styles: [".error-block{background-color:#f32323;color:#fff;text-align:center;border-radius:10px;padding:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i6.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i7.FileIdSelectComponent, selector: "croco-html-file-id-select", inputs: ["labelText", "fileId"], outputs: ["fileId", "onFileIdChanged"] }] }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageEditorComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'croco-html-image-editor', template: "<div>\r\n <div style=\"height: 10px;\">\r\n </div>\r\n \r\n <div *ngIf=\"hasImageError\" class=\"error-block\">\r\n \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u043C\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0444\u0430\u0439\u043B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.\r\n </div>\r\n\r\n <div *ngIf=\"hasFileId() && !hasImageError\">\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc()\" (error)=\"onErrorHandler()\"/>\r\n </div>\r\n\r\n <div *ngIf=\"!hasFileId()\">\r\n <h5>[\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E]</h5>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div style=\"overflow-x:auto;\">\r\n <mat-button-toggle-group [(ngModel)]=\"searchOrEdit\">\r\n <mat-button-toggle value=\"search\">\r\n \u0418\u0441\u043A\u0430\u0442\u044C \u0444\u0430\u0439\u043B <mat-icon>search</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"edit\">\r\n \u0423\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443 <mat-icon>settings</mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'search'\">\r\n <croco-html-file-id-select\r\n [labelText]=\"'\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B'\"\r\n [(fileId)]=\"tag.attributes['file-id']\"\r\n (onFileIdChanged)=\"onFileIdChanged($event)\">\r\n </croco-html-file-id-select>\r\n </div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'edit'\">\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430\" new-autocomplete=\"off\" autocomplete=\"off\"\r\n type=\"number\"\r\n [(ngModel)]=\"tag.attributes['file-id']\"\r\n (ngModelChange)=\"removeImageError()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>", styles: [".error-block{background-color:#f32323;color:#fff;text-align:center;border-radius:10px;padding:10px}\n"] }]
41
- }], ctorParameters: function () { return []; }, propDecorators: { tag: [{
42
- type: Input
43
- }], onTagUpdated: [{
44
- type: Output
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFReEYsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixjQUFjO1FBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUtEO1FBYkEsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsaUJBQVksR0FBRyxRQUFRLENBQUM7UUFVeEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBRS9CLENBQUM7SUFFakIsTUFBTTtRQUNKLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7SUFDbEksQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3pKLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzsrR0FuQ1Usb0JBQW9CO21HQUFwQixvQkFBb0Isa0lDVGpDLHV2RkFvRE07OzRGRDNDTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UseUJBQXlCOzBFQVVuQyxHQUFHO3NCQURGLEtBQUs7Z0JBUU4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWFnZU1ldGhvZHMsIEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL0ltYWdlTWV0aG9kcyc7XHJcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtaW1hZ2UtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1lZGl0b3IuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGhhc0ltYWdlRXJyb3IgPSBmYWxzZTtcclxuICBzZWFyY2hPckVkaXQgPSBcInNlYXJjaFwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhZzogSHRtbEJvZHlUYWc7XHJcblxyXG4gIG9uRXJyb3JIYW5kbGVyKCl7XHJcbiAgICB0aGlzLmhhc0ltYWdlRXJyb3IgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgZ2V0U3JjKCl7XHJcbiAgICByZXR1cm4gSW1hZ2VNZXRob2RzLmJ1aWxkVXJsKHRoaXMudGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0sIHsgdXNlQ3VzdG9tRG9tYWluOiBmYWxzZSwgZG9tYWluOiBcIlwifSk7XHJcbiAgfVxyXG5cclxuICBoYXNGaWxlSWQoKXtcclxuICAgIHJldHVybiB0aGlzLnRhZy5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWUpICYmICFpc05hTih0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZUlkQ2hhbmdlZChmaWxlSWQ6bnVtYmVyKXtcclxuICAgIHRoaXMudGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0gPSBmaWxlSWQ7XHJcbiAgICB0aGlzLnJlbW92ZUltYWdlRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUltYWdlRXJyb3IoKXtcclxuICAgIHRoaXMuaGFzSW1hZ2VFcnJvciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8ZGl2ICpuZ0lmPVwiaGFzSW1hZ2VFcnJvclwiIGNsYXNzPVwiZXJyb3ItYmxvY2tcIj5cclxuICAgICAgICDQmNC30L7QsdGA0LDQttC10L3QuNC1INC90LUg0L3QsNC50LTQtdC90L4g0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDLCDQstC+0LfQvNC+0LbQvdC+INGE0LDQudC7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0LjQu9C4INC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0L3QsCDRgdC10YDQstC10YDQtS5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJoYXNGaWxlSWQoKSAmJiAhaGFzSW1hZ2VFcnJvclwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvIGQtYmxvY2sgaW1nLWZsdWlkXCIgW3NyY109XCJnZXRTcmMoKVwiIChlcnJvcik9XCJvbkVycm9ySGFuZGxlcigpXCIvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFoYXNGaWxlSWQoKVwiPlxyXG4gICAgICAgIDxoNT5b0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDQvdC1INCy0YvQsdGA0LDQvdC+XTwvaDU+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIXRhZy5wcmVzZW50T3JFZGl0XCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdy14OmF1dG87XCI+XHJcbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIFsobmdNb2RlbCldPVwic2VhcmNoT3JFZGl0XCI+XHJcbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cInNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgICAg0JjRgdC60LDRgtGMINGE0LDQudC7IDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJlZGl0XCI+XHJcbiAgICAgICAgICAgICAgICDQo9C60LDQt9Cw0YLRjCDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMgPG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgW2hpZGRlbl09XCJzZWFyY2hPckVkaXQgIT09ICdzZWFyY2gnXCI+XHJcbiAgICAgICAgPGNyb2NvLWh0bWwtZmlsZS1pZC1zZWxlY3RcclxuICAgICAgICAgW2xhYmVsVGV4dF09XCIn0JLRi9Cx0YDQsNGC0Ywg0YTQsNC50LsnXCJcclxuICAgICAgICAgWyhmaWxlSWQpXT1cInRhZy5hdHRyaWJ1dGVzWydmaWxlLWlkJ11cIlxyXG4gICAgICAgICAob25GaWxlSWRDaGFuZ2VkKT1cIm9uRmlsZUlkQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9jcm9jby1odG1sLWZpbGUtaWQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBbaGlkZGVuXT1cInNlYXJjaE9yRWRpdCAhPT0gJ2VkaXQnXCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGE0LDQudC70LBcIiBuZXctYXV0b2NvbXBsZXRlPVwib2ZmXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy5hdHRyaWJ1dGVzWydmaWxlLWlkJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbW92ZUltYWdlRXJyb3IoKVwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ImageMethods, FileImageTagDataConsts } from '../../../extensions/ImageMethods';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@angular/material/input";
8
+ import * as i5 from "@angular/material/icon";
9
+ import * as i6 from "@angular/material/button-toggle";
10
+ import * as i7 from "../../file-id-select/file-id-select.component";
11
+ export class ImageEditorComponent {
12
+ onErrorHandler() {
13
+ this.hasImageError = true;
14
+ }
15
+ constructor() {
16
+ this.hasImageError = false;
17
+ this.searchOrEdit = "search";
18
+ this.onTagUpdated = new EventEmitter();
19
+ }
20
+ getSrc() {
21
+ return ImageMethods.buildUrl(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName], { useCustomDomain: false, domain: "" });
22
+ }
23
+ hasFileId() {
24
+ return this.tag.attributes.hasOwnProperty(FileImageTagDataConsts.FileIdAttrName) && !isNaN(this.tag.attributes[FileImageTagDataConsts.FileIdAttrName]);
25
+ }
26
+ onFileIdChanged(fileId) {
27
+ this.tag.attributes[FileImageTagDataConsts.FileIdAttrName] = fileId;
28
+ this.removeImageError();
29
+ }
30
+ removeImageError() {
31
+ this.hasImageError = false;
32
+ }
33
+ ngOnInit() {
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ImageEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ImageEditorComponent, selector: "croco-html-image-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "<div>\r\n <div style=\"height: 10px;\">\r\n </div>\r\n \r\n <div *ngIf=\"hasImageError\" class=\"error-block\">\r\n \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u043C\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0444\u0430\u0439\u043B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.\r\n </div>\r\n\r\n <div *ngIf=\"hasFileId() && !hasImageError\">\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc()\" (error)=\"onErrorHandler()\"/>\r\n </div>\r\n\r\n <div *ngIf=\"!hasFileId()\">\r\n <h5>[\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E]</h5>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div style=\"overflow-x:auto;\">\r\n <mat-button-toggle-group [(ngModel)]=\"searchOrEdit\">\r\n <mat-button-toggle value=\"search\">\r\n \u0418\u0441\u043A\u0430\u0442\u044C \u0444\u0430\u0439\u043B <mat-icon>search</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"edit\">\r\n \u0423\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443 <mat-icon>settings</mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'search'\">\r\n <croco-html-file-id-select\r\n [labelText]=\"'\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B'\"\r\n [(fileId)]=\"tag.attributes['file-id']\"\r\n (onFileIdChanged)=\"onFileIdChanged($event)\">\r\n </croco-html-file-id-select>\r\n </div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'edit'\">\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430\" new-autocomplete=\"off\" autocomplete=\"off\"\r\n type=\"number\"\r\n [(ngModel)]=\"tag.attributes['file-id']\"\r\n (ngModelChange)=\"removeImageError()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>", styles: [".error-block{background-color:#f32323;color:#fff;text-align:center;border-radius:10px;padding:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i6.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i7.FileIdSelectComponent, selector: "croco-html-file-id-select", inputs: ["labelText", "fileId"], outputs: ["fileId", "onFileIdChanged"] }] }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ImageEditorComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'croco-html-image-editor', template: "<div>\r\n <div style=\"height: 10px;\">\r\n </div>\r\n \r\n <div *ngIf=\"hasImageError\" class=\"error-block\">\r\n \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u043C\u0443 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0444\u0430\u0439\u043B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043B\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.\r\n </div>\r\n\r\n <div *ngIf=\"hasFileId() && !hasImageError\">\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc()\" (error)=\"onErrorHandler()\"/>\r\n </div>\r\n\r\n <div *ngIf=\"!hasFileId()\">\r\n <h5>[\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E]</h5>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!tag.presentOrEdit\">\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div style=\"overflow-x:auto;\">\r\n <mat-button-toggle-group [(ngModel)]=\"searchOrEdit\">\r\n <mat-button-toggle value=\"search\">\r\n \u0418\u0441\u043A\u0430\u0442\u044C \u0444\u0430\u0439\u043B <mat-icon>search</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"edit\">\r\n \u0423\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u043E \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0443 <mat-icon>settings</mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n \r\n\r\n <div style=\"height: 10px;\"></div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'search'\">\r\n <croco-html-file-id-select\r\n [labelText]=\"'\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B'\"\r\n [(fileId)]=\"tag.attributes['file-id']\"\r\n (onFileIdChanged)=\"onFileIdChanged($event)\">\r\n </croco-html-file-id-select>\r\n </div>\r\n\r\n <div [hidden]=\"searchOrEdit !== 'edit'\">\r\n <div>\r\n <mat-form-field class=\"w-100\">\r\n <input matInput placeholder=\"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430\" new-autocomplete=\"off\" autocomplete=\"off\"\r\n type=\"number\"\r\n [(ngModel)]=\"tag.attributes['file-id']\"\r\n (ngModelChange)=\"removeImageError()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n</div>", styles: [".error-block{background-color:#f32323;color:#fff;text-align:center;border-radius:10px;padding:10px}\n"] }]
41
+ }], ctorParameters: () => [], propDecorators: { tag: [{
42
+ type: Input
43
+ }], onTagUpdated: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9pbWFnZS1lZGl0b3IvaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFReEYsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixjQUFjO1FBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUtEO1FBYkEsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsaUJBQVksR0FBRyxRQUFRLENBQUM7UUFVeEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0lBRS9CLENBQUM7SUFFakIsTUFBTTtRQUNKLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7SUFDbEksQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3pKLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzs4R0FuQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0Isa0lDVGpDLHV2RkFvRE07OzJGRDNDTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UseUJBQXlCO3dEQVVuQyxHQUFHO3NCQURGLEtBQUs7Z0JBUU4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWFnZU1ldGhvZHMsIEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL0ltYWdlTWV0aG9kcyc7XHJcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtaW1hZ2UtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS1lZGl0b3IuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGhhc0ltYWdlRXJyb3IgPSBmYWxzZTtcclxuICBzZWFyY2hPckVkaXQgPSBcInNlYXJjaFwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRhZzogSHRtbEJvZHlUYWc7XHJcblxyXG4gIG9uRXJyb3JIYW5kbGVyKCl7XHJcbiAgICB0aGlzLmhhc0ltYWdlRXJyb3IgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgZ2V0U3JjKCl7XHJcbiAgICByZXR1cm4gSW1hZ2VNZXRob2RzLmJ1aWxkVXJsKHRoaXMudGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0sIHsgdXNlQ3VzdG9tRG9tYWluOiBmYWxzZSwgZG9tYWluOiBcIlwifSk7XHJcbiAgfVxyXG5cclxuICBoYXNGaWxlSWQoKXtcclxuICAgIHJldHVybiB0aGlzLnRhZy5hdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWUpICYmICFpc05hTih0aGlzLnRhZy5hdHRyaWJ1dGVzW0ZpbGVJbWFnZVRhZ0RhdGFDb25zdHMuRmlsZUlkQXR0ck5hbWVdKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZUlkQ2hhbmdlZChmaWxlSWQ6bnVtYmVyKXtcclxuICAgIHRoaXMudGFnLmF0dHJpYnV0ZXNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0gPSBmaWxlSWQ7XHJcbiAgICB0aGlzLnJlbW92ZUltYWdlRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUltYWdlRXJyb3IoKXtcclxuICAgIHRoaXMuaGFzSW1hZ2VFcnJvciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8ZGl2ICpuZ0lmPVwiaGFzSW1hZ2VFcnJvclwiIGNsYXNzPVwiZXJyb3ItYmxvY2tcIj5cclxuICAgICAgICDQmNC30L7QsdGA0LDQttC10L3QuNC1INC90LUg0L3QsNC50LTQtdC90L4g0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDLCDQstC+0LfQvNC+0LbQvdC+INGE0LDQudC7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0LjQu9C4INC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0L3QsCDRgdC10YDQstC10YDQtS5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJoYXNGaWxlSWQoKSAmJiAhaGFzSW1hZ2VFcnJvclwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvIGQtYmxvY2sgaW1nLWZsdWlkXCIgW3NyY109XCJnZXRTcmMoKVwiIChlcnJvcik9XCJvbkVycm9ySGFuZGxlcigpXCIvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFoYXNGaWxlSWQoKVwiPlxyXG4gICAgICAgIDxoNT5b0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDQvdC1INCy0YvQsdGA0LDQvdC+XTwvaDU+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIXRhZy5wcmVzZW50T3JFZGl0XCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdy14OmF1dG87XCI+XHJcbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIFsobmdNb2RlbCldPVwic2VhcmNoT3JFZGl0XCI+XHJcbiAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cInNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgICAg0JjRgdC60LDRgtGMINGE0LDQudC7IDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJlZGl0XCI+XHJcbiAgICAgICAgICAgICAgICDQo9C60LDQt9Cw0YLRjCDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMgPG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgW2hpZGRlbl09XCJzZWFyY2hPckVkaXQgIT09ICdzZWFyY2gnXCI+XHJcbiAgICAgICAgPGNyb2NvLWh0bWwtZmlsZS1pZC1zZWxlY3RcclxuICAgICAgICAgW2xhYmVsVGV4dF09XCIn0JLRi9Cx0YDQsNGC0Ywg0YTQsNC50LsnXCJcclxuICAgICAgICAgWyhmaWxlSWQpXT1cInRhZy5hdHRyaWJ1dGVzWydmaWxlLWlkJ11cIlxyXG4gICAgICAgICAob25GaWxlSWRDaGFuZ2VkKT1cIm9uRmlsZUlkQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9jcm9jby1odG1sLWZpbGUtaWQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBbaGlkZGVuXT1cInNlYXJjaE9yRWRpdCAhPT0gJ2VkaXQnXCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGE0LDQudC70LBcIiBuZXctYXV0b2NvbXBsZXRlPVwib2ZmXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy5hdHRyaWJ1dGVzWydmaWxlLWlkJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbW92ZUltYWdlRXJyb3IoKVwiPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -1,8 +1,8 @@
1
- export * from './external-video-block/external-video-block.component';
2
- export * from './html-raw-editor/html-raw-editor.component';
3
- export * from './image-editor/image-editor.component';
4
- export * from './main-editor/main-editor.component';
5
- export * from './main-editor-block/main-editor-block.component';
6
- export * from './text-editor/text-editor.component';
7
- export * from './visual-editor/visual-editor.component';
1
+ export * from './external-video-block/external-video-block.component';
2
+ export * from './html-raw-editor/html-raw-editor.component';
3
+ export * from './image-editor/image-editor.component';
4
+ export * from './main-editor/main-editor.component';
5
+ export * from './main-editor-block/main-editor-block.component';
6
+ export * from './text-editor/text-editor.component';
7
+ export * from './visual-editor/visual-editor.component';
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9lZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1REFBdUQsQ0FBQTtBQUNyRSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtdmlkZW8tYmxvY2svZXh0ZXJuYWwtdmlkZW8tYmxvY2suY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2h0bWwtcmF3LWVkaXRvci9odG1sLXJhdy1lZGl0b3IuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLWVkaXRvci9pbWFnZS1lZGl0b3IuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL21haW4tZWRpdG9yL21haW4tZWRpdG9yLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9tYWluLWVkaXRvci1ibG9jay9tYWluLWVkaXRvci1ibG9jay5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3Zpc3VhbC1lZGl0b3IvdmlzdWFsLWVkaXRvci5jb21wb25lbnQnXHJcbiJdfQ==