croco-html 1.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.
- package/{esm2020 → esm2022}/croco-html.mjs +4 -4
- package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +53 -0
- package/esm2022/lib/components/editor/external-video-block/external-video-block.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/components/editor/image-editor/image-editor.component.mjs +46 -46
- package/{esm2020 → esm2022}/lib/components/editor/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/editor/main-editor/main-editor.component.mjs +76 -76
- package/{esm2020 → esm2022}/lib/components/editor/main-editor-block/main-editor-block.component.mjs +41 -41
- package/{esm2020 → esm2022}/lib/components/editor/text-editor/text-editor.component.mjs +30 -30
- package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +27 -0
- package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +134 -0
- package/{esm2020 → esm2022}/lib/components/file-id-select/file-id-select.component.mjs +58 -58
- package/esm2022/lib/components/html-view/html-view.component.mjs +18 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +7 -6
- package/{esm2020 → esm2022}/lib/components/upload-files-btn/upload-files-btn.component.mjs +54 -54
- package/{esm2020 → esm2022}/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +22 -22
- package/{esm2020 → esm2022}/lib/components/xml-tags/index.mjs +9 -9
- package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +18 -18
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +16 -16
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.mjs +17 -17
- package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +22 -0
- package/esm2022/lib/croco-html.module.mjs +92 -0
- package/esm2022/lib/extensions/AngularMaterialTableMethods.mjs +64 -0
- package/esm2022/lib/extensions/BodyTagsExtensions.mjs +120 -0
- package/esm2022/lib/extensions/BootstrapTableMethods.mjs +67 -0
- package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +63 -0
- package/{esm2020 → esm2022}/lib/extensions/HtmlRawTagDataConsts.mjs +4 -4
- package/esm2022/lib/extensions/ImageMethods.mjs +32 -0
- package/{esm2020 → esm2022}/lib/extensions/InterfaceBlock.mjs +1 -1
- package/esm2022/lib/extensions/TableBuilder.mjs +35 -0
- package/esm2022/lib/extensions/TableMethods.mjs +108 -0
- package/esm2022/lib/extensions/TextMethods.mjs +29 -0
- package/esm2022/lib/extensions/TextSimpleMethods.mjs +77 -0
- package/esm2022/lib/extensions/VideoMethods.mjs +20 -0
- package/{esm2020 → esm2022}/lib/extensions/XmlExtensions.mjs +25 -25
- package/{esm2020 → esm2022}/lib/extensions/index.mjs +12 -12
- package/esm2022/lib/index.mjs +118 -0
- package/{esm2020 → esm2022}/lib/models/models.mjs +2 -2
- package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +26 -0
- package/{esm2020 → esm2022}/lib/pipes/TagToSpanPipe.mjs +16 -16
- package/{esm2020 → esm2022}/lib/pipes/ToHtmlBodyTagsPipe.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pipes/ToPreviewHtmlPipe.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/to-preview.pipe.mjs +20 -20
- package/esm2022/lib/services/file-upload.service.mjs +70 -0
- package/{esm2020 → esm2022}/lib/services/files-query.service.mjs +27 -27
- package/{esm2020 → esm2022}/public-api.mjs +7 -7
- package/{fesm2020 → fesm2022}/croco-html.mjs +1511 -1496
- package/fesm2022/croco-html.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/add-files-btn/add-files-btn.component.d.ts +18 -18
- package/lib/components/editor/external-video-block/external-video-block.component.d.ts +17 -17
- package/lib/components/editor/html-raw-editor/html-raw-editor.component.d.ts +11 -11
- package/lib/components/editor/image-editor/image-editor.component.d.ts +18 -18
- package/lib/components/editor/index.d.ts +7 -7
- package/lib/components/editor/main-editor/main-editor.component.d.ts +27 -27
- package/lib/components/editor/main-editor-block/main-editor-block.component.d.ts +16 -16
- package/lib/components/editor/text-editor/text-editor.component.d.ts +12 -12
- package/lib/components/editor/visual-editor/DefaultTags.d.ts +6 -6
- package/lib/components/editor/visual-editor/visual-editor.component.d.ts +36 -36
- package/lib/components/file-id-select/file-id-select.component.d.ts +27 -27
- package/lib/components/html-view/html-view.component.d.ts +6 -0
- package/lib/components/index.d.ts +6 -5
- package/lib/components/upload-files-btn/upload-files-btn.component.d.ts +24 -24
- package/lib/components/xml-tags/html-raw-view/html-raw-view.component.d.ts +13 -13
- package/lib/components/xml-tags/index.d.ts +9 -9
- package/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.d.ts +16 -16
- package/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.d.ts +7 -7
- package/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.d.ts +7 -7
- package/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.d.ts +10 -10
- package/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.d.ts +8 -8
- package/lib/croco-html.module.d.ts +64 -63
- package/lib/extensions/AngularMaterialTableMethods.d.ts +7 -10
- package/lib/extensions/BodyTagsExtensions.d.ts +11 -11
- package/lib/extensions/BootstrapTableMethods.d.ts +9 -9
- package/lib/extensions/HtmlExtractionMethods.d.ts +73 -73
- package/lib/extensions/HtmlRawTagDataConsts.d.ts +3 -3
- package/lib/extensions/ImageMethods.d.ts +18 -18
- package/lib/extensions/InterfaceBlock.d.ts +4 -4
- package/lib/extensions/TableBuilder.d.ts +5 -5
- package/lib/extensions/TableMethods.d.ts +59 -59
- package/lib/extensions/TextMethods.d.ts +19 -19
- package/lib/extensions/TextSimpleMethods.d.ts +23 -23
- package/lib/extensions/VideoMethods.d.ts +19 -19
- package/lib/extensions/XmlExtensions.d.ts +5 -5
- package/lib/extensions/index.d.ts +10 -10
- package/lib/index.d.ts +21 -21
- package/lib/models/models.d.ts +14 -10
- package/lib/pipes/RichTextToHtmlPipe.d.ts +8 -8
- package/lib/pipes/TagToSpanPipe.d.ts +7 -7
- package/lib/pipes/ToHtmlBodyTagsPipe.d.ts +8 -8
- package/lib/pipes/ToPreviewHtmlPipe.d.ts +9 -9
- package/lib/pipes/index.d.ts +5 -5
- package/lib/pipes/to-preview.pipe.d.ts +8 -8
- package/lib/services/file-upload.service.d.ts +34 -34
- package/lib/services/files-query.service.d.ts +42 -42
- package/package.json +11 -17
- package/public-api.d.ts +4 -4
- package/esm2020/lib/components/add-files-btn/add-files-btn.component.mjs +0 -53
- package/esm2020/lib/components/editor/external-video-block/external-video-block.component.mjs +0 -43
- package/esm2020/lib/components/editor/visual-editor/DefaultTags.mjs +0 -27
- package/esm2020/lib/components/editor/visual-editor/visual-editor.component.mjs +0 -134
- package/esm2020/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +0 -49
- package/esm2020/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +0 -22
- package/esm2020/lib/croco-html.module.mjs +0 -91
- package/esm2020/lib/extensions/AngularMaterialTableMethods.mjs +0 -64
- package/esm2020/lib/extensions/BodyTagsExtensions.mjs +0 -120
- package/esm2020/lib/extensions/BootstrapTableMethods.mjs +0 -67
- package/esm2020/lib/extensions/HtmlExtractionMethods.mjs +0 -63
- package/esm2020/lib/extensions/ImageMethods.mjs +0 -32
- package/esm2020/lib/extensions/TableBuilder.mjs +0 -35
- package/esm2020/lib/extensions/TableMethods.mjs +0 -108
- package/esm2020/lib/extensions/TextMethods.mjs +0 -29
- package/esm2020/lib/extensions/TextSimpleMethods.mjs +0 -77
- package/esm2020/lib/extensions/VideoMethods.mjs +0 -20
- package/esm2020/lib/index.mjs +0 -116
- package/esm2020/lib/pipes/RichTextToHtmlPipe.mjs +0 -26
- package/esm2020/lib/services/file-upload.service.mjs +0 -70
- package/fesm2015/croco-html.mjs +0 -1636
- package/fesm2015/croco-html.mjs.map +0 -1
- package/fesm2020/croco-html.mjs.map +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { BodyTagsExtensions } from '../../../extensions/BodyTagsExtensions';
|
|
4
|
+
import { FileImageTagDataConsts } from '../../../extensions/ImageMethods';
|
|
5
|
+
import { TextMethods } from '../../../extensions/TextMethods';
|
|
6
|
+
import { ExternalVideoTagDataConsts, ExternalVideoSupportedTypes } from '../../../extensions/VideoMethods';
|
|
7
|
+
import { XmlExtensions } from '../../../extensions/XmlExtensions';
|
|
8
|
+
import { DefaultTags } from './DefaultTags';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
import * as i2 from "@angular/forms";
|
|
12
|
+
import * as i3 from "@angular/material/form-field";
|
|
13
|
+
import * as i4 from "@angular/material/progress-spinner";
|
|
14
|
+
import * as i5 from "@angular/material/card";
|
|
15
|
+
import * as i6 from "@angular/material/select";
|
|
16
|
+
import * as i7 from "@angular/material/core";
|
|
17
|
+
import * as i8 from "@angular/material/chips";
|
|
18
|
+
import * as i9 from "@angular/material/button";
|
|
19
|
+
import * as i10 from "@angular/cdk/drag-drop";
|
|
20
|
+
import * as i11 from "../main-editor-block/main-editor-block.component";
|
|
21
|
+
import * as i12 from "../../add-files-btn/add-files-btn.component";
|
|
22
|
+
export class VisualEditorComponent {
|
|
23
|
+
isHtmlSet() {
|
|
24
|
+
return this.html.startsWith("<body>");
|
|
25
|
+
}
|
|
26
|
+
clearHtml() {
|
|
27
|
+
this.html = "";
|
|
28
|
+
this.recalculateBodyTags();
|
|
29
|
+
}
|
|
30
|
+
getHtml() {
|
|
31
|
+
this.recalculateHtml();
|
|
32
|
+
return this.html;
|
|
33
|
+
}
|
|
34
|
+
constructor(_cdref) {
|
|
35
|
+
this._cdref = _cdref;
|
|
36
|
+
this.isLoading = false;
|
|
37
|
+
this.loadingText = "Идёт загрузка";
|
|
38
|
+
this.showMarkUp = true;
|
|
39
|
+
this.tags = [];
|
|
40
|
+
this.useHtmlRaw = false;
|
|
41
|
+
this.html = "";
|
|
42
|
+
this.onHtmlChanged = new EventEmitter();
|
|
43
|
+
this.rendered = new EventEmitter();
|
|
44
|
+
this.bodyTags = [];
|
|
45
|
+
}
|
|
46
|
+
ngAfterViewInit() {
|
|
47
|
+
this.rendered.emit(true);
|
|
48
|
+
}
|
|
49
|
+
ngAfterContentChecked() {
|
|
50
|
+
this._cdref.detectChanges();
|
|
51
|
+
}
|
|
52
|
+
addTag() {
|
|
53
|
+
let tagDescription = this.tags
|
|
54
|
+
.find(x => x.tag === this.selectedValue);
|
|
55
|
+
let attrs = {};
|
|
56
|
+
let innerHtml = "";
|
|
57
|
+
if (TextMethods.textTags.includes(tagDescription.tag)) {
|
|
58
|
+
attrs["h-align"] = "left";
|
|
59
|
+
innerHtml = "Введите ваш текст";
|
|
60
|
+
}
|
|
61
|
+
else if (tagDescription.tag == ExternalVideoTagDataConsts.TagName) {
|
|
62
|
+
attrs[ExternalVideoTagDataConsts.VideoTypeAttrName] = ExternalVideoSupportedTypes.Youtube;
|
|
63
|
+
attrs[ExternalVideoTagDataConsts.LinkAttrName] = null;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
attrs[FileImageTagDataConsts.FileIdAttrName] = null;
|
|
67
|
+
}
|
|
68
|
+
this.bodyTags.push({
|
|
69
|
+
tagDescription,
|
|
70
|
+
innerHtml,
|
|
71
|
+
attributes: attrs,
|
|
72
|
+
presentOrEdit: true
|
|
73
|
+
});
|
|
74
|
+
this.recalculateHtml();
|
|
75
|
+
}
|
|
76
|
+
postFilesStartedEventHandler(model) {
|
|
77
|
+
this.loadingText = "Файлы загружаются на сервер";
|
|
78
|
+
this.isLoading = true;
|
|
79
|
+
}
|
|
80
|
+
addTagCustom(tag) {
|
|
81
|
+
this.bodyTags.push(tag);
|
|
82
|
+
this.recalculateHtml();
|
|
83
|
+
}
|
|
84
|
+
filesTagsReadyHandler(tags) {
|
|
85
|
+
for (let i = 0; i < tags.length; i++) {
|
|
86
|
+
this.bodyTags.push(tags[i]);
|
|
87
|
+
}
|
|
88
|
+
this.recalculateHtml();
|
|
89
|
+
this.isLoading = false;
|
|
90
|
+
}
|
|
91
|
+
drop(event) {
|
|
92
|
+
moveItemInArray(this.bodyTags, event.previousIndex, event.currentIndex);
|
|
93
|
+
this.recalculateHtml();
|
|
94
|
+
}
|
|
95
|
+
onTagSavedHandler(tag) {
|
|
96
|
+
this.recalculateHtml();
|
|
97
|
+
}
|
|
98
|
+
onTagRemovedHandler(index) {
|
|
99
|
+
this.bodyTags.splice(index, 1);
|
|
100
|
+
this.recalculateHtml();
|
|
101
|
+
}
|
|
102
|
+
recalculateHtml() {
|
|
103
|
+
let result = BodyTagsExtensions.toHtml(this.bodyTags);
|
|
104
|
+
this.html = XmlExtensions.formatXml("<body>" + result + "</body>");
|
|
105
|
+
this.onHtmlChanged.emit(this.html);
|
|
106
|
+
}
|
|
107
|
+
recalculateBodyTags() {
|
|
108
|
+
this.bodyTags = BodyTagsExtensions.getBodyTags(this.html, { useCustomDomain: false, domain: "" });
|
|
109
|
+
}
|
|
110
|
+
ngOnInit() {
|
|
111
|
+
this.recalculateBodyTags();
|
|
112
|
+
this.tags = DefaultTags.getTags(this.useHtmlRaw);
|
|
113
|
+
this.selectedValue = this.tags[0].tag;
|
|
114
|
+
}
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: VisualEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged", rendered: "rendered" }, ngImport: i0, template: "<div *ngIf=\"isLoading\">\r\n <div>\r\n <mat-spinner style=\"margin:0 auto;\"></mat-spinner>\r\n <div style=\"text-align: center;\">{{loadingText}}</div>\r\n </div>\r\n <div style=\"height: 10px;\"></div>\r\n</div>\r\n\r\n<div [hidden]=\"isLoading\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let tag of bodyTags; let i = index\" cdkDrag>\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"example-handle\" cdkDragHandle>\r\n <svg width=\"24px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\">\r\n </path>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n </svg>\r\n </div>\r\n <div>\r\n <mat-chip-listbox aria-label=\"Tag display value\">\r\n <mat-chip-option color=\"primary\"\r\n selected>{{tag.tagDescription.displayValue}}</mat-chip-option>\r\n </mat-chip-listbox>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height: 15px;\"></div>\r\n\r\n <croco-html-main-editor-block [tag]=\"tag\" (onTagSaved)=\"onTagSavedHandler($event)\"\r\n (onTagRemoved)=\"onTagRemovedHandler(i)\">\r\n </croco-html-main-editor-block>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <mat-form-field class=\"w-100\" appearance=\"outline\">\r\n <mat-label>\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0433</mat-label>\r\n <mat-select [(ngModel)]=\"selectedValue\">\r\n <mat-option *ngFor=\"let tag of tags\" [value]=\"tag.tag\">\r\n {{tag.displayValue}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-12\">\r\n <button (click)=\"addTag()\" class=\"w-100\" mat-stroked-button>\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u0433\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <croco-html-add-files-btn (filesTagsReady)=\"filesTagsReadyHandler($event)\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" class=\"w-100\">\r\n </croco-html-add-files-btn>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>", styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i8.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i11.MainEditorBlockComponent, selector: "croco-html-main-editor-block", inputs: ["tag"], outputs: ["onTagSaved", "onTagRemoved"] }, { kind: "component", type: i12.AddFilesBtnComponent, selector: "croco-html-add-files-btn", outputs: ["postFilesStarted", "filesTagsReady"] }] }); }
|
|
117
|
+
}
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: VisualEditorComponent, decorators: [{
|
|
119
|
+
type: Component,
|
|
120
|
+
args: [{ selector: 'croco-visual-editor', template: "<div *ngIf=\"isLoading\">\r\n <div>\r\n <mat-spinner style=\"margin:0 auto;\"></mat-spinner>\r\n <div style=\"text-align: center;\">{{loadingText}}</div>\r\n </div>\r\n <div style=\"height: 10px;\"></div>\r\n</div>\r\n\r\n<div [hidden]=\"isLoading\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let tag of bodyTags; let i = index\" cdkDrag>\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"example-handle\" cdkDragHandle>\r\n <svg width=\"24px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path\r\n d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\">\r\n </path>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n </svg>\r\n </div>\r\n <div>\r\n <mat-chip-listbox aria-label=\"Tag display value\">\r\n <mat-chip-option color=\"primary\"\r\n selected>{{tag.tagDescription.displayValue}}</mat-chip-option>\r\n </mat-chip-listbox>\r\n </div>\r\n </div>\r\n\r\n <div style=\"height: 15px;\"></div>\r\n\r\n <croco-html-main-editor-block [tag]=\"tag\" (onTagSaved)=\"onTagSavedHandler($event)\"\r\n (onTagRemoved)=\"onTagRemovedHandler(i)\">\r\n </croco-html-main-editor-block>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <mat-form-field class=\"w-100\" appearance=\"outline\">\r\n <mat-label>\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u0433</mat-label>\r\n <mat-select [(ngModel)]=\"selectedValue\">\r\n <mat-option *ngFor=\"let tag of tags\" [value]=\"tag.tag\">\r\n {{tag.displayValue}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-12\">\r\n <button (click)=\"addTag()\" class=\"w-100\" mat-stroked-button>\r\n \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u0433\r\n </button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>\r\n\r\n<div [hidden]=\"isLoading\">\r\n <mat-card style=\"margin: 2px;\" class=\"mat-card\">\r\n <mat-card-content>\r\n <div class=\"row d-flex align-items-center\">\r\n <div class=\"col-12\">\r\n <croco-html-add-files-btn (filesTagsReady)=\"filesTagsReadyHandler($event)\"\r\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" class=\"w-100\">\r\n </croco-html-add-files-btn>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div style=\"height: 10px;\">\r\n </div>\r\n</div>", styles: [".example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
121
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { showMarkUp: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], useHtmlRaw: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], html: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}, {
|
|
128
|
+
type: Output
|
|
129
|
+
}], onHtmlChanged: [{
|
|
130
|
+
type: Output
|
|
131
|
+
}], rendered: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9lZGl0b3IvdmlzdWFsLWVkaXRvci92aXN1YWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci92aXN1YWwtZWRpdG9yL3Zpc3VhbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBb0MsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEMsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFD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R0FBckIscUJBQXFCLDBOQ2hCbEMsd3pIQXVGTTs7MkZEdkVPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxxQkFBcUI7c0ZBVS9CLFVBQVU7c0JBRFQsS0FBSztnQkFRTixVQUFVO3NCQURULEtBQUs7Z0JBS04sSUFBSTtzQkFGSCxLQUFLOztzQkFDTCxNQUFNO2dCQWtCUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCb2R5VGFnc0V4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL0JvZHlUYWdzRXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL0ltYWdlTWV0aG9kcyc7XHJcbmltcG9ydCB7IFRleHRNZXRob2RzIH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucy9UZXh0TWV0aG9kcyc7XHJcbmltcG9ydCB7IEV4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLCBFeHRlcm5hbFZpZGVvU3VwcG9ydGVkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL1ZpZGVvTWV0aG9kcyc7XHJcbmltcG9ydCB7IFhtbEV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi9leHRlbnNpb25zL1htbEV4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBUYWdJdGVtLCBIdG1sQm9keVRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGaWxlUG9zdGluZ1N0YXJ0ZWQgfSBmcm9tICcuLi8uLi91cGxvYWQtZmlsZXMtYnRuL3VwbG9hZC1maWxlcy1idG4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVmYXVsdFRhZ3MgfSBmcm9tICcuL0RlZmF1bHRUYWdzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3JvY28tdmlzdWFsLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Zpc3VhbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Zpc3VhbC1lZGl0b3IuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaXN1YWxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBsb2FkaW5nVGV4dCA9IFwi0JjQtNGR0YIg0LfQsNCz0YDRg9C30LrQsFwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dNYXJrVXAgPSB0cnVlO1xyXG5cclxuICB0YWdzOiBUYWdJdGVtW10gPSBbXTtcclxuXHJcbiAgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHVzZUh0bWxSYXcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBAT3V0cHV0KClcclxuICBodG1sOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBpc0h0bWxTZXQoKXtcclxuICAgIHJldHVybiB0aGlzLmh0bWwuc3RhcnRzV2l0aChcIjxib2R5PlwiKTtcclxuICB9XHJcblxyXG4gIGNsZWFySHRtbCgpe1xyXG4gICAgdGhpcy5odG1sID0gXCJcIjtcclxuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHRtbCgpe1xyXG4gICAgdGhpcy5yZWNhbGN1bGF0ZUh0bWwoKTtcclxuICAgIHJldHVybiB0aGlzLmh0bWw7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkh0bWxDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJlbmRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBib2R5VGFnczogSHRtbEJvZHlUYWdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZWQuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NkcmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGFkZFRhZygpOiB2b2lkIHtcclxuICAgIGxldCB0YWdEZXNjcmlwdGlvbiA9IHRoaXMudGFnc1xyXG4gICAgICAuZmluZCh4ID0+IHgudGFnID09PSB0aGlzLnNlbGVjdGVkVmFsdWUpO1xyXG5cclxuICAgIGxldCBhdHRycyA9IHt9O1xyXG4gICAgbGV0IGlubmVySHRtbCA9IFwiXCI7XHJcblxyXG4gICAgaWYoVGV4dE1ldGhvZHMudGV4dFRhZ3MuaW5jbHVkZXModGFnRGVzY3JpcHRpb24udGFnKSl7XHJcbiAgICAgIGF0dHJzW1wiaC1hbGlnblwiXSA9IFwibGVmdFwiO1xyXG4gICAgICBpbm5lckh0bWwgPSBcItCS0LLQtdC00LjRgtC1INCy0LDRiCDRgtC10LrRgdGCXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHRhZ0Rlc2NyaXB0aW9uLnRhZyA9PSBFeHRlcm5hbFZpZGVvVGFnRGF0YUNvbnN0cy5UYWdOYW1lKXtcclxuICAgICAgYXR0cnNbRXh0ZXJuYWxWaWRlb1RhZ0RhdGFDb25zdHMuVmlkZW9UeXBlQXR0ck5hbWVdID0gRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzLllvdXR1YmU7XHJcbiAgICAgIGF0dHJzW0V4dGVybmFsVmlkZW9UYWdEYXRhQ29uc3RzLkxpbmtBdHRyTmFtZV0gPSBudWxsO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgYXR0cnNbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5GaWxlSWRBdHRyTmFtZV0gPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYm9keVRhZ3MucHVzaCh7XHJcbiAgICAgIHRhZ0Rlc2NyaXB0aW9uLFxyXG4gICAgICBpbm5lckh0bWwsXHJcbiAgICAgIGF0dHJpYnV0ZXM6IGF0dHJzLFxyXG4gICAgICBwcmVzZW50T3JFZGl0OiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlSHRtbCgpO1xyXG4gIH1cclxuXHJcbiAgcG9zdEZpbGVzU3RhcnRlZEV2ZW50SGFuZGxlcihtb2RlbDpGaWxlUG9zdGluZ1N0YXJ0ZWQpe1xyXG4gICAgdGhpcy5sb2FkaW5nVGV4dCA9IFwi0KTQsNC50LvRiyDQt9Cw0LPRgNGD0LbQsNGO0YLRgdGPINC90LAg0YHQtdGA0LLQtdGAXCI7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBhZGRUYWdDdXN0b20odGFnOiBIdG1sQm9keVRhZyl7XHJcbiAgICB0aGlzLmJvZHlUYWdzLnB1c2godGFnKTtcclxuICAgIHRoaXMucmVjYWxjdWxhdGVIdG1sKCk7XHJcbiAgfVxyXG5cclxuICBmaWxlc1RhZ3NSZWFkeUhhbmRsZXIodGFnczogSHRtbEJvZHlUYWdbXSl7XHJcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGFncy5sZW5ndGg7IGkrKyl7XHJcbiAgICAgIHRoaXMuYm9keVRhZ3MucHVzaCh0YWdzW2ldKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVjYWxjdWxhdGVIdG1sKCk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPG9iamVjdFtdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuYm9keVRhZ3MsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlSHRtbCgpO1xyXG4gIH1cclxuXHJcbiAgb25UYWdTYXZlZEhhbmRsZXIodGFnOiBIdG1sQm9keVRhZyl7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlSHRtbCgpO1xyXG4gIH1cclxuXHJcbiAgb25UYWdSZW1vdmVkSGFuZGxlcihpbmRleDogbnVtYmVyKXtcclxuICAgIHRoaXMuYm9keVRhZ3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMucmVjYWxjdWxhdGVIdG1sKCk7XHJcbiAgfVxyXG5cclxuICByZWNhbGN1bGF0ZUh0bWwoKXtcclxuICAgIGxldCByZXN1bHQgPSBCb2R5VGFnc0V4dGVuc2lvbnMudG9IdG1sKHRoaXMuYm9keVRhZ3MpO1xyXG4gICAgdGhpcy5odG1sID0gWG1sRXh0ZW5zaW9ucy5mb3JtYXRYbWwoXCI8Ym9keT5cIiArIHJlc3VsdCArIFwiPC9ib2R5PlwiKTtcclxuICAgIHRoaXMub25IdG1sQ2hhbmdlZC5lbWl0KHRoaXMuaHRtbCk7XHJcbiAgfVxyXG5cclxuICByZWNhbGN1bGF0ZUJvZHlUYWdzKCl7XHJcbiAgICB0aGlzLmJvZHlUYWdzID0gQm9keVRhZ3NFeHRlbnNpb25zLmdldEJvZHlUYWdzKHRoaXMuaHRtbCwge3VzZUN1c3RvbURvbWFpbjogZmFsc2UsIGRvbWFpbjogXCJcIn0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlQm9keVRhZ3MoKTtcclxuXHJcbiAgICB0aGlzLnRhZ3MgPSBEZWZhdWx0VGFncy5nZXRUYWdzKHRoaXMudXNlSHRtbFJhdyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnRhZ3NbMF0udGFnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lciBzdHlsZT1cIm1hcmdpbjowIGF1dG87XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPnt7bG9hZGluZ1RleHR9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgW2hpZGRlbl09XCJpc0xvYWRpbmdcIj5cclxuICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWcgb2YgYm9keVRhZ3M7IGxldCBpID0gaW5kZXhcIiBjZGtEcmFnPlxyXG4gICAgICAgICAgICA8bWF0LWNhcmQgc3R5bGU9XCJtYXJnaW46IDJweDtcIiBjbGFzcz1cIm1hdC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWhhbmRsZVwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMCA5aDRWNmgzbC01LTUtNSA1aDN2M3ptLTEgMUg2VjdsLTUgNSA1IDV2LTNoM3YtNHptMTQgMmwtNS01djNoLTN2NGgzdjNsNS01em0tOSAzaC00djNIN2w1IDUgNS01aC0zdi0zelwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3Rib3ggYXJpYS1sYWJlbD1cIlRhZyBkaXNwbGF5IHZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGlwLW9wdGlvbiBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD57e3RhZy50YWdEZXNjcmlwdGlvbi5kaXNwbGF5VmFsdWV9fTwvbWF0LWNoaXAtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0Ym94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTVweDtcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGNyb2NvLWh0bWwtbWFpbi1lZGl0b3ItYmxvY2sgW3RhZ109XCJ0YWdcIiAob25UYWdTYXZlZCk9XCJvblRhZ1NhdmVkSGFuZGxlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uVGFnUmVtb3ZlZCk9XCJvblRhZ1JlbW92ZWRIYW5kbGVyKGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9jcm9jby1odG1sLW1haW4tZWRpdG9yLWJsb2NrPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8L21hdC1jYXJkPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPGRpdiBbaGlkZGVuXT1cImlzTG9hZGluZ1wiPlxyXG4gICAgPG1hdC1jYXJkIHN0eWxlPVwibWFyZ2luOiAycHg7XCIgY2xhc3M9XCJtYXQtY2FyZFwiPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+0JLRi9Cx0LXRgNC40YLQtSDRgtC10LM8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3NcIiBbdmFsdWVdPVwidGFnLnRhZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGFnLmRpc3BsYXlWYWx1ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWRkVGFnKClcIiBjbGFzcz1cInctMTAwXCIgbWF0LXN0cm9rZWQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDQlNC+0LHQsNCy0LjRgtGMINGC0LXQs1xyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgIDwvbWF0LWNhcmQ+XHJcblxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgW2hpZGRlbl09XCJpc0xvYWRpbmdcIj5cclxuICAgIDxtYXQtY2FyZCBzdHlsZT1cIm1hcmdpbjogMnB4O1wiIGNsYXNzPVwibWF0LWNhcmRcIj5cclxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNyb2NvLWh0bWwtYWRkLWZpbGVzLWJ0biAoZmlsZXNUYWdzUmVhZHkpPVwiZmlsZXNUYWdzUmVhZHlIYW5kbGVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocG9zdEZpbGVzU3RhcnRlZCk9XCJwb3N0RmlsZXNTdGFydGVkRXZlbnRIYW5kbGVyKCRldmVudClcIiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9jcm9jby1odG1sLWFkZC1maWxlcy1idG4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ImageMethods } from '../../extensions/ImageMethods';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/files-query.service";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "@ng-select/ng-select";
|
|
7
|
-
export class FileIdSelectComponent {
|
|
8
|
-
constructor(_fileService) {
|
|
9
|
-
this._fileService = _fileService;
|
|
10
|
-
this.labelText = "Поиск файлов";
|
|
11
|
-
this.loading = false;
|
|
12
|
-
this.files = [];
|
|
13
|
-
this.onFileIdChanged = new EventEmitter();
|
|
14
|
-
}
|
|
15
|
-
onModelChanged(fileId) {
|
|
16
|
-
this.onFileIdChanged.emit(fileId);
|
|
17
|
-
}
|
|
18
|
-
getSrc(fileId) {
|
|
19
|
-
return ImageMethods.buildSmallUrl(fileId, { useCustomDomain: false, domain: "" });
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.loadFiles();
|
|
23
|
-
}
|
|
24
|
-
loadFiles() {
|
|
25
|
-
this.loading = true;
|
|
26
|
-
this._fileService.getFiles({
|
|
27
|
-
count: 10,
|
|
28
|
-
offSet: 0,
|
|
29
|
-
fileName: null,
|
|
30
|
-
q: this.q
|
|
31
|
-
}).subscribe(data => {
|
|
32
|
-
this.files = [...data.list];
|
|
33
|
-
this.loading = false;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
onSearchChanged(q) {
|
|
37
|
-
this.q = q.term;
|
|
38
|
-
this.loadFiles();
|
|
39
|
-
}
|
|
40
|
-
ngOnChanges(changes) {
|
|
41
|
-
this.loadFiles();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
47
|
-
type: Component,
|
|
48
|
-
args: [{ selector: 'croco-html-file-id-select', template: "<div>\r\n <div class=\"form-group\">\r\n <label for=\"fileName\">{{labelText}}</label>\r\n <ng-select [(ngModel)]=\"fileId\" (ngModelChange)=\"onModelChanged($event)\"\r\n [items]=\"files\"\r\n #select\r\n bindLabel=\"fileName\"\r\n (search)=\"onSearchChanged($event)\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"'\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u0444\u0430\u0439\u043B\u044B'\"\r\n dropdownPosition=\"auto\"\r\n bindValue=\"fileId\"\r\n labelForId=\"fileName\"\r\n placeholder=\"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\"\r\n [virtualScroll]=\"true\">\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <div>\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc(item.fileId)\"/>\r\n </div>\r\n <div>\r\n <span class=\"h5\">\u0424\u0430\u0439\u043B: </span>\r\n <span class=\"h5\" [ngOptionHighlight]=\"search\"><b>{{item.fileName}}</b></span>\r\n </div>\r\n <div>\r\n <small>\r\n <span>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: <b>{{item.fileId}}</b>\r\n </span>\r\n </small>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n</div>\r\n\r\n<div>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: {{fileId}}\r\n</div>\r\n" }]
|
|
49
|
-
}], ctorParameters:
|
|
50
|
-
type: Input
|
|
51
|
-
}], fileId: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}, {
|
|
54
|
-
type: Output
|
|
55
|
-
}], onFileIdChanged: [{
|
|
56
|
-
type: Output
|
|
57
|
-
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ImageMethods } from '../../extensions/ImageMethods';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/files-query.service";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@ng-select/ng-select";
|
|
7
|
+
export class FileIdSelectComponent {
|
|
8
|
+
constructor(_fileService) {
|
|
9
|
+
this._fileService = _fileService;
|
|
10
|
+
this.labelText = "Поиск файлов";
|
|
11
|
+
this.loading = false;
|
|
12
|
+
this.files = [];
|
|
13
|
+
this.onFileIdChanged = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
onModelChanged(fileId) {
|
|
16
|
+
this.onFileIdChanged.emit(fileId);
|
|
17
|
+
}
|
|
18
|
+
getSrc(fileId) {
|
|
19
|
+
return ImageMethods.buildSmallUrl(fileId, { useCustomDomain: false, domain: "" });
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.loadFiles();
|
|
23
|
+
}
|
|
24
|
+
loadFiles() {
|
|
25
|
+
this.loading = true;
|
|
26
|
+
this._fileService.getFiles({
|
|
27
|
+
count: 10,
|
|
28
|
+
offSet: 0,
|
|
29
|
+
fileName: null,
|
|
30
|
+
q: this.q
|
|
31
|
+
}).subscribe(data => {
|
|
32
|
+
this.files = [...data.list];
|
|
33
|
+
this.loading = false;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
onSearchChanged(q) {
|
|
37
|
+
this.q = q.term;
|
|
38
|
+
this.loadFiles();
|
|
39
|
+
}
|
|
40
|
+
ngOnChanges(changes) {
|
|
41
|
+
this.loadFiles();
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileIdSelectComponent, deps: [{ token: i1.FilesQueryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: FileIdSelectComponent, selector: "croco-html-file-id-select", inputs: { labelText: "labelText", fileId: "fileId" }, outputs: { fileId: "fileId", onFileIdChanged: "onFileIdChanged" }, usesOnChanges: true, ngImport: i0, template: "<div>\r\n <div class=\"form-group\">\r\n <label for=\"fileName\">{{labelText}}</label>\r\n <ng-select [(ngModel)]=\"fileId\" (ngModelChange)=\"onModelChanged($event)\"\r\n [items]=\"files\"\r\n #select\r\n bindLabel=\"fileName\"\r\n (search)=\"onSearchChanged($event)\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"'\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u0444\u0430\u0439\u043B\u044B'\"\r\n dropdownPosition=\"auto\"\r\n bindValue=\"fileId\"\r\n labelForId=\"fileName\"\r\n placeholder=\"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\"\r\n [virtualScroll]=\"true\">\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <div>\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc(item.fileId)\"/>\r\n </div>\r\n <div>\r\n <span class=\"h5\">\u0424\u0430\u0439\u043B: </span>\r\n <span class=\"h5\" [ngOptionHighlight]=\"search\"><b>{{item.fileName}}</b></span>\r\n </div>\r\n <div>\r\n <small>\r\n <span>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: <b>{{item.fileId}}</b>\r\n </span>\r\n </small>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n</div>\r\n\r\n<div>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: {{fileId}}\r\n</div>\r\n", styles: [""], dependencies: [{ 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.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }] }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileIdSelectComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'croco-html-file-id-select', template: "<div>\r\n <div class=\"form-group\">\r\n <label for=\"fileName\">{{labelText}}</label>\r\n <ng-select [(ngModel)]=\"fileId\" (ngModelChange)=\"onModelChanged($event)\"\r\n [items]=\"files\"\r\n #select\r\n bindLabel=\"fileName\"\r\n (search)=\"onSearchChanged($event)\"\r\n [loading]=\"loading\"\r\n [loadingText]=\"'\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u044E \u0444\u0430\u0439\u043B\u044B'\"\r\n dropdownPosition=\"auto\"\r\n bindValue=\"fileId\"\r\n labelForId=\"fileName\"\r\n placeholder=\"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\"\r\n [virtualScroll]=\"true\">\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <div>\r\n <img class=\"mx-auto d-block img-fluid\" [src]=\"getSrc(item.fileId)\"/>\r\n </div>\r\n <div>\r\n <span class=\"h5\">\u0424\u0430\u0439\u043B: </span>\r\n <span class=\"h5\" [ngOptionHighlight]=\"search\"><b>{{item.fileName}}</b></span>\r\n </div>\r\n <div>\r\n <small>\r\n <span>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: <b>{{item.fileId}}</b>\r\n </span>\r\n </small>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n</div>\r\n\r\n<div>\r\n \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0444\u0430\u0439\u043B\u0430: {{fileId}}\r\n</div>\r\n" }]
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.FilesQueryService }], propDecorators: { labelText: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], fileId: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}, {
|
|
54
|
+
type: Output
|
|
55
|
+
}], onFileIdChanged: [{
|
|
56
|
+
type: Output
|
|
57
|
+
}] } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pZC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1pZC1zZWxlY3QvZmlsZS1pZC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1pZC1zZWxlY3QvZmlsZS1pZC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFZN0QsTUFBTSxPQUFPLHFCQUFxQjtJQWtCOUIsWUFDWSxZQUErQjtRQUEvQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFkM0MsY0FBUyxHQUFHLGNBQWMsQ0FBQTtRQU0xQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLFVBQUssR0FBeUIsRUFBRSxDQUFDO1FBR2pDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUk3QyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ2pCLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxTQUFTO1FBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxJQUFJO1lBQ2QsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ1osQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQWlDO1FBQzdDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0F0RFEscUJBQXFCO2tHQUFyQixxQkFBcUIsK01DYmxDLDYxREFzQ0E7OzJGRHpCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksMkJBQTJCO3NGQVNyQyxTQUFTO3NCQURSLEtBQUs7Z0JBS04sTUFBTTtzQkFGTCxLQUFLOztzQkFDTCxNQUFNO2dCQVFQLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWFnZU1ldGhvZHMgfSBmcm9tICcuLi8uLi9leHRlbnNpb25zL0ltYWdlTWV0aG9kcyc7XHJcbmltcG9ydCB7IEZpbGVOYW1lQW5kSWRNb2RlbCwgRmlsZXNRdWVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWxlcy1xdWVyeS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUXVlc3Rpb25zRm9ybURhdGF7XHJcbiAgICBxOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWZpbGUtaWQtc2VsZWN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLWlkLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLWlkLXNlbGVjdC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVJZFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgICBxOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGxhYmVsVGV4dCA9IFwi0J/QvtC40YHQuiDRhNCw0LnQu9C+0LJcIlxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGZpbGVJZDogbnVtYmVyO1xyXG5cclxuICAgIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBmaWxlczogRmlsZU5hbWVBbmRJZE1vZGVsW10gPSBbXTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uRmlsZUlkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2ZpbGVTZXJ2aWNlOiBGaWxlc1F1ZXJ5U2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIG9uTW9kZWxDaGFuZ2VkKGZpbGVJZDogbnVtYmVyKXtcclxuICAgICAgICB0aGlzLm9uRmlsZUlkQ2hhbmdlZC5lbWl0KGZpbGVJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3JjKGZpbGVJZDogbnVtYmVyKXtcclxuICAgICAgICByZXR1cm4gSW1hZ2VNZXRob2RzLmJ1aWxkU21hbGxVcmwoZmlsZUlkLCB7IHVzZUN1c3RvbURvbWFpbjogZmFsc2UsIGRvbWFpbjogXCJcIiB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxvYWRGaWxlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBsb2FkRmlsZXMoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9maWxlU2VydmljZS5nZXRGaWxlcyh7XHJcbiAgICAgICAgICAgIGNvdW50OiAxMCxcclxuICAgICAgICAgICAgb2ZmU2V0OiAwLFxyXG4gICAgICAgICAgICBmaWxlTmFtZTogbnVsbCxcclxuICAgICAgICAgICAgcTogdGhpcy5xXHJcbiAgICAgICAgfSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZpbGVzID0gWy4uLmRhdGEubGlzdF07XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VhcmNoQ2hhbmdlZChxOiB7dGVybTogc3RyaW5nLCBpdGVtczpvYmplY3RbXX0pe1xyXG4gICAgICAgIHRoaXMucSA9IHEudGVybTtcclxuICAgICAgICB0aGlzLmxvYWRGaWxlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICB0aGlzLmxvYWRGaWxlcygpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJmaWxlTmFtZVwiPnt7bGFiZWxUZXh0fX08L2xhYmVsPlxyXG4gICAgICAgIDxuZy1zZWxlY3QgWyhuZ01vZGVsKV09XCJmaWxlSWRcIiAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJmaWxlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAjc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICBiaW5kTGFiZWw9XCJmaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAoc2VhcmNoKT1cIm9uU2VhcmNoQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgW2xvYWRpbmdUZXh0XT1cIifQl9Cw0LPRgNGD0LbQsNGOINGE0LDQudC70YsnXCJcclxuICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duUG9zaXRpb249XCJhdXRvXCJcclxuICAgICAgICAgICAgICAgICAgIGJpbmRWYWx1ZT1cImZpbGVJZFwiXHJcbiAgICAgICAgICAgICAgICAgICBsYWJlbEZvcklkPVwiZmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQktGL0LHRgNCw0YLRjCDRhNCw0LnQu1wiXHJcbiAgICAgICAgICAgICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm14LWF1dG8gZC1ibG9jayBpbWctZmx1aWRcIiBbc3JjXT1cImdldFNyYyhpdGVtLmZpbGVJZClcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoNVwiPtCk0LDQudC7OiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoNVwiIFtuZ09wdGlvbkhpZ2hsaWdodF09XCJzZWFyY2hcIj48Yj57e2l0ZW0uZmlsZU5hbWV9fTwvYj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGE0LDQudC70LA6IDxiPnt7aXRlbS5maWxlSWR9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXY+XHJcbiAgICDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRhNCw0LnQu9CwOiB7e2ZpbGVJZH19XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../xml-tags/xml-tag-view/xml-tag-view.component";
|
|
4
|
+
import * as i2 from "../../pipes/to-preview.pipe";
|
|
5
|
+
export class HtmlViewComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.html = "<body></body>";
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: HtmlViewComponent, selector: "croco-html-view", inputs: { html: "html" }, ngImport: i0, template: "<croco-html-xml-tag-view [data]=\"html | topreview\"></croco-html-xml-tag-view>", styles: [""], dependencies: [{ kind: "component", type: i1.XmlTagViewComponent, selector: "croco-html-xml-tag-view", inputs: ["data"] }, { kind: "pipe", type: i2.ToPreviewPipe, name: "topreview" }] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlViewComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'croco-html-view', template: "<croco-html-xml-tag-view [data]=\"html | topreview\"></croco-html-xml-tag-view>" }]
|
|
15
|
+
}], propDecorators: { html: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2h0bWwtdmlldy9odG1sLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvaHRtbC12aWV3L2h0bWwtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9qRCxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBT0UsU0FBSSxHQUFXLGVBQWUsQ0FBQztLQUNoQzs4R0FIWSxpQkFBaUI7a0dBQWpCLGlCQUFpQixpRkNQOUIsaUZBQTZFOzsyRkRPaEUsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGlCQUFpQjs4QkFNM0IsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHRtbC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHRtbC12aWV3LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIdG1sVmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGh0bWw6IHN0cmluZyA9IFwiPGJvZHk+PC9ib2R5PlwiO1xufVxuIiwiPGNyb2NvLWh0bWwteG1sLXRhZy12aWV3IFtkYXRhXT1cImh0bWwgfCB0b3ByZXZpZXdcIj48L2Nyb2NvLWh0bWwteG1sLXRhZy12aWV3PiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export * from './add-files-btn/add-files-btn.component';
|
|
2
|
-
export * from './editor/';
|
|
3
|
-
export * from './file-id-select/file-id-select.component';
|
|
4
|
-
export * from './upload-files-btn/upload-files-btn.component';
|
|
5
|
-
export * from './xml-tags';
|
|
6
|
-
|
|
1
|
+
export * from './add-files-btn/add-files-btn.component';
|
|
2
|
+
export * from './editor/';
|
|
3
|
+
export * from './file-id-select/file-id-select.component';
|
|
4
|
+
export * from './upload-files-btn/upload-files-btn.component';
|
|
5
|
+
export * from './xml-tags';
|
|
6
|
+
export * from './html-view/html-view.component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLGlDQUFpQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtZmlsZXMtYnRuL2FkZC1maWxlcy1idG4uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci8nXHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1pZC1zZWxlY3QvZmlsZS1pZC1zZWxlY3QuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZC1maWxlcy1idG4vdXBsb2FkLWZpbGVzLWJ0bi5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4veG1sLXRhZ3MnXHJcbmV4cG9ydCAqIGZyb20gJy4vaHRtbC12aWV3L2h0bWwtdmlldy5jb21wb25lbnQnXHJcbiJdfQ==
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/file-upload.service";
|
|
4
|
-
import * as i2 from "@angular/material/button";
|
|
5
|
-
export class UploadFilesBtnComponent {
|
|
6
|
-
constructor(_fileUploadService) {
|
|
7
|
-
this._fileUploadService = _fileUploadService;
|
|
8
|
-
this.extAccepts = "*/*";
|
|
9
|
-
this.isMultiple = true;
|
|
10
|
-
this.btnText = "Загрузить файлы";
|
|
11
|
-
this.createLocalCopiesNow = false;
|
|
12
|
-
this.hidden = false;
|
|
13
|
-
this.postFilesStarted = new EventEmitter();
|
|
14
|
-
this.onFilesUploaded = new EventEmitter();
|
|
15
|
-
}
|
|
16
|
-
handleFileInput(files) {
|
|
17
|
-
this.postFilesStarted.emit({
|
|
18
|
-
filesCount: files.length,
|
|
19
|
-
createLocalCopiesNow: this.createLocalCopiesNow
|
|
20
|
-
});
|
|
21
|
-
this._fileUploadService.postFiles(files, this.createLocalCopiesNow).subscribe(data => {
|
|
22
|
-
this.onFilesUploaded.emit(data);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
clickFileInput() {
|
|
26
|
-
this.fileInput.nativeElement.click();
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ selector: 'croco-app-upload-files-btn', template: "<button [hidden]=\"hidden\" mat-raised-button color=\"primary\" (click)=\"filesInput.click()\">{{btnText}}</button>\r\n<input [hidden]=\"true\" [accept]=\"extAccepts\" [multiple]=\"isMultiple\" type=\"file\" #filesInput (change)=\"handleFileInput($event.target.files)\" />" }]
|
|
36
|
-
}], ctorParameters:
|
|
37
|
-
type: ViewChild,
|
|
38
|
-
args: ['filesInput']
|
|
39
|
-
}], extAccepts: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], isMultiple: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], btnText: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], createLocalCopiesNow: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], hidden: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], postFilesStarted: [{
|
|
50
|
-
type: Output
|
|
51
|
-
}], onFilesUploaded: [{
|
|
52
|
-
type: Output
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/file-upload.service";
|
|
4
|
+
import * as i2 from "@angular/material/button";
|
|
5
|
+
export class UploadFilesBtnComponent {
|
|
6
|
+
constructor(_fileUploadService) {
|
|
7
|
+
this._fileUploadService = _fileUploadService;
|
|
8
|
+
this.extAccepts = "*/*";
|
|
9
|
+
this.isMultiple = true;
|
|
10
|
+
this.btnText = "Загрузить файлы";
|
|
11
|
+
this.createLocalCopiesNow = false;
|
|
12
|
+
this.hidden = false;
|
|
13
|
+
this.postFilesStarted = new EventEmitter();
|
|
14
|
+
this.onFilesUploaded = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
handleFileInput(files) {
|
|
17
|
+
this.postFilesStarted.emit({
|
|
18
|
+
filesCount: files.length,
|
|
19
|
+
createLocalCopiesNow: this.createLocalCopiesNow
|
|
20
|
+
});
|
|
21
|
+
this._fileUploadService.postFiles(files, this.createLocalCopiesNow).subscribe(data => {
|
|
22
|
+
this.onFilesUploaded.emit(data);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
clickFileInput() {
|
|
26
|
+
this.fileInput.nativeElement.click();
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: UploadFilesBtnComponent, deps: [{ token: i1.FileUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: UploadFilesBtnComponent, selector: "croco-app-upload-files-btn", inputs: { extAccepts: "extAccepts", isMultiple: "isMultiple", btnText: "btnText", createLocalCopiesNow: "createLocalCopiesNow", hidden: "hidden" }, outputs: { postFilesStarted: "postFilesStarted", onFilesUploaded: "onFilesUploaded" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["filesInput"], descendants: true }], ngImport: i0, template: "<button [hidden]=\"hidden\" mat-raised-button color=\"primary\" (click)=\"filesInput.click()\">{{btnText}}</button>\r\n<input [hidden]=\"true\" [accept]=\"extAccepts\" [multiple]=\"isMultiple\" type=\"file\" #filesInput (change)=\"handleFileInput($event.target.files)\" />", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: UploadFilesBtnComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'croco-app-upload-files-btn', template: "<button [hidden]=\"hidden\" mat-raised-button color=\"primary\" (click)=\"filesInput.click()\">{{btnText}}</button>\r\n<input [hidden]=\"true\" [accept]=\"extAccepts\" [multiple]=\"isMultiple\" type=\"file\" #filesInput (change)=\"handleFileInput($event.target.files)\" />" }]
|
|
36
|
+
}], ctorParameters: () => [{ type: i1.FileUploadService }], propDecorators: { fileInput: [{
|
|
37
|
+
type: ViewChild,
|
|
38
|
+
args: ['filesInput']
|
|
39
|
+
}], extAccepts: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], isMultiple: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], btnText: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], createLocalCopiesNow: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], hidden: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], postFilesStarted: [{
|
|
50
|
+
type: Output
|
|
51
|
+
}], onFilesUploaded: [{
|
|
52
|
+
type: Output
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGVzLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtZmlsZXMtYnRuL3VwbG9hZC1maWxlcy1idG4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvdXBsb2FkLWZpbGVzLWJ0bi91cGxvYWQtZmlsZXMtYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBYXRHLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFJekQsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUczQixlQUFVLEdBQVksSUFBSSxDQUFDO1FBRzNCLFlBQU8sR0FBVyxpQkFBaUIsQ0FBQztRQUdwQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFHN0IsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd4QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUcxRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO0lBdEJMLENBQUM7SUF3QjlELGVBQWUsQ0FBQyxLQUFlO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDekIsVUFBVSxFQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ3ZCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0I7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25GLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OEdBMUNVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHNaQ2JwQyxrUkFDK0k7OzJGRFlsSSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UsNEJBQTRCO3NGQU9MLFNBQVM7c0JBQXpDLFNBQVM7dUJBQUMsWUFBWTtnQkFHdkIsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsTUFBTTtnQkFJUCxlQUFlO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUFwaVJlc3BvbnNlV2l0aEZpbGVzSWRzLCBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlUG9zdGluZ1N0YXJ0ZWQge1xyXG4gIGZpbGVzQ291bnQ6IG51bWJlcjtcclxuICBjcmVhdGVMb2NhbENvcGllc05vdzpib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Nyb2NvLWFwcC11cGxvYWQtZmlsZXMtYnRuJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWZpbGVzLWJ0bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWZpbGVzLWJ0bi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZEZpbGVzQnRuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlKSB7IH1cclxuICBAVmlld0NoaWxkKCdmaWxlc0lucHV0JykgcHJpdmF0ZSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGV4dEFjY2VwdHM6IHN0cmluZyA9IFwiKi8qXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXNNdWx0aXBsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYnRuVGV4dDogc3RyaW5nID0gXCLQl9Cw0LPRgNGD0LfQuNGC0Ywg0YTQsNC50LvRi1wiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNyZWF0ZUxvY2FsQ29waWVzTm93ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGlkZGVuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHBvc3RGaWxlc1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVQb3N0aW5nU3RhcnRlZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25GaWxlc1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNlQXBpUmVzcG9uc2VXaXRoRmlsZXNJZHM+KCk7XHJcblxyXG4gIGhhbmRsZUZpbGVJbnB1dChmaWxlczogRmlsZUxpc3QpIHtcclxuICAgIHRoaXMucG9zdEZpbGVzU3RhcnRlZC5lbWl0KHtcclxuICAgICAgZmlsZXNDb3VudDpmaWxlcy5sZW5ndGgsXHJcbiAgICAgIGNyZWF0ZUxvY2FsQ29waWVzTm93OiB0aGlzLmNyZWF0ZUxvY2FsQ29waWVzTm93XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9maWxlVXBsb2FkU2VydmljZS5wb3N0RmlsZXMoZmlsZXMsIHRoaXMuY3JlYXRlTG9jYWxDb3BpZXNOb3cpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgdGhpcy5vbkZpbGVzVXBsb2FkZWQuZW1pdChkYXRhKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBjbGlja0ZpbGVJbnB1dCgpe1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gW2hpZGRlbl09XCJoaWRkZW5cIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZmlsZXNJbnB1dC5jbGljaygpXCI+e3tidG5UZXh0fX08L2J1dHRvbj5cclxuPGlucHV0IFtoaWRkZW5dPVwidHJ1ZVwiIFthY2NlcHRdPVwiZXh0QWNjZXB0c1wiIFttdWx0aXBsZV09XCJpc011bHRpcGxlXCIgdHlwZT1cImZpbGVcIiAjZmlsZXNJbnB1dCAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiIC8+Il19
|
package/{esm2020 → esm2022}/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs
RENAMED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
|
4
|
-
export class HtmlRawViewComponent {
|
|
5
|
-
constructor(_sanitizer) {
|
|
6
|
-
this._sanitizer = _sanitizer;
|
|
7
|
-
this.rawHtml = "";
|
|
8
|
-
this.isInitialized = false;
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
this.safeHtml = this._sanitizer.bypassSecurityTrustHtml(this.rawHtml);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{ selector: 'croco-html-raw-view', template: "<div [innerHTML]=\"safeHtml\">\n</div>" }]
|
|
19
|
-
}], ctorParameters:
|
|
20
|
-
type: Input
|
|
21
|
-
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class HtmlRawViewComponent {
|
|
5
|
+
constructor(_sanitizer) {
|
|
6
|
+
this._sanitizer = _sanitizer;
|
|
7
|
+
this.rawHtml = "";
|
|
8
|
+
this.isInitialized = false;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.safeHtml = this._sanitizer.bypassSecurityTrustHtml(this.rawHtml);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlRawViewComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: HtmlRawViewComponent, selector: "croco-html-raw-view", inputs: { rawHtml: "rawHtml" }, ngImport: i0, template: "<div [innerHTML]=\"safeHtml\">\n</div>", styles: [""] }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlRawViewComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'croco-html-raw-view', template: "<div [innerHTML]=\"safeHtml\">\n</div>" }]
|
|
19
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { rawHtml: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1yYXctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy94bWwtdGFncy9odG1sLXJhdy12aWV3L2h0bWwtcmF3LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMveG1sLXRhZ3MvaHRtbC1yYXctdmlldy9odG1sLXJhdy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFRekQsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUE2QixVQUF3QjtRQUF4QixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBTHJELFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQUd0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0FiVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwyRkNSakMsd0NBQ007OzJGRE9PLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxxQkFBcUI7aUZBTy9CLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLXJhdy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0bWwtcmF3LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odG1sLXJhdy12aWV3LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIdG1sUmF3Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIFxuICBASW5wdXQoKVxuICByYXdIdG1sID0gXCJcIjtcblxuICBzYWZlSHRtbCA6IFNhZmVIdG1sO1xuICBpc0luaXRpYWxpemVkID0gZmFsc2U7IFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNhZmVIdG1sID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMucmF3SHRtbCk7XG4gIH1cbn1cbiIsIjxkaXYgW2lubmVySFRNTF09XCJzYWZlSHRtbFwiPlxuPC9kaXY+Il19
|