survey-creator-angular 1.9.46
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/README.md +214 -0
- package/adorners/cell-question-dropdown.component.d.ts +9 -0
- package/adorners/cell-question.component.d.ts +11 -0
- package/adorners/image-item-value.component.d.ts +24 -0
- package/adorners/item-value.component.d.ts +17 -0
- package/adorners/matrix-cell.component.d.ts +20 -0
- package/adorners/question-dropdown.component.d.ts +18 -0
- package/adorners/question-image.component.d.ts +19 -0
- package/adorners/question-rating.component.d.ts +19 -0
- package/angular-ui.d.ts +2 -0
- package/angular-ui.module.d.ts +60 -0
- package/components/action-button.component.d.ts +14 -0
- package/creator-model.component.d.ts +14 -0
- package/creator.component.d.ts +16 -0
- package/esm2020/adorners/cell-question-dropdown.component.mjs +30 -0
- package/esm2020/adorners/cell-question.component.mjs +24 -0
- package/esm2020/adorners/image-item-value.component.mjs +60 -0
- package/esm2020/adorners/item-value.component.mjs +41 -0
- package/esm2020/adorners/matrix-cell.component.mjs +46 -0
- package/esm2020/adorners/question-dropdown.component.mjs +54 -0
- package/esm2020/adorners/question-image.component.mjs +45 -0
- package/esm2020/adorners/question-rating.component.mjs +46 -0
- package/esm2020/angular-ui.mjs +3 -0
- package/esm2020/angular-ui.module.mjs +85 -0
- package/esm2020/components/action-button.component.mjs +44 -0
- package/esm2020/creator-model.component.mjs +40 -0
- package/esm2020/creator.component.mjs +47 -0
- package/esm2020/header/logo-image.component.mjs +40 -0
- package/esm2020/notifier.component.mjs +18 -0
- package/esm2020/page-navigator/page-navigator-item.component.mjs +22 -0
- package/esm2020/page-navigator/page-navigator.component.mjs +51 -0
- package/esm2020/page.component.mjs +49 -0
- package/esm2020/panel.component.mjs +16 -0
- package/esm2020/property-panel/object-selector.component.mjs +20 -0
- package/esm2020/property-panel/property-grid.component.mjs +20 -0
- package/esm2020/question-editor.component.mjs +46 -0
- package/esm2020/question-widget.component.mjs +22 -0
- package/esm2020/question.component.mjs +50 -0
- package/esm2020/questions/logic-operator.component.mjs +33 -0
- package/esm2020/questions/question-embedded-survey.component.mjs +26 -0
- package/esm2020/questions/question-link-value.component.mjs +19 -0
- package/esm2020/row.component.mjs +33 -0
- package/esm2020/side-bar/side-bar-tab.component.mjs +19 -0
- package/esm2020/side-bar/side-bar.component.mjs +30 -0
- package/esm2020/string-editor.component.mjs +101 -0
- package/esm2020/survey-creator-angular.mjs +5 -0
- package/esm2020/svg-bundle.component.mjs +22 -0
- package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu-item-wrapper.component.mjs +18 -0
- package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu-item.component.mjs +19 -0
- package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu.component.mjs +31 -0
- package/esm2020/tabs/designer/designer-pages.component.mjs +24 -0
- package/esm2020/tabs/designer/designer-survey.component.mjs +28 -0
- package/esm2020/tabs/designer/designer.component.mjs +29 -0
- package/esm2020/tabs/json/json-editor-ace.component.mjs +25 -0
- package/esm2020/tabs/json/json-editor-textarea.component.mjs +24 -0
- package/esm2020/tabs/logic/logic-add-btn.component.mjs +22 -0
- package/esm2020/tabs/logic/logic.component.mjs +21 -0
- package/esm2020/tabs/preview/simulator.component.mjs +32 -0
- package/esm2020/tabs/preview/survey-results-row.component.mjs +19 -0
- package/esm2020/tabs/preview/survey-results.component.mjs +30 -0
- package/esm2020/tabs/preview/test-again.component.mjs +18 -0
- package/esm2020/tabs/preview/test.component.mjs +23 -0
- package/esm2020/tabs/translation/translation-line-skeleton.component.mjs +13 -0
- package/esm2020/tabs/translation/translation.component.mjs +20 -0
- package/esm2020/toolbox/adaptive-toolbox.component.mjs +35 -0
- package/esm2020/toolbox/toolbox-category.component.mjs +22 -0
- package/esm2020/toolbox/toolbox-item.component.mjs +37 -0
- package/esm2020/toolbox/toolbox-tool.component.mjs +34 -0
- package/esm2020/toolbox/toolbox.component.mjs +24 -0
- package/fesm2015/survey-creator-angular.mjs +1420 -0
- package/fesm2015/survey-creator-angular.mjs.map +1 -0
- package/fesm2020/survey-creator-angular.mjs +1410 -0
- package/fesm2020/survey-creator-angular.mjs.map +1 -0
- package/header/logo-image.component.d.ts +18 -0
- package/notifier.component.d.ts +9 -0
- package/package.json +52 -0
- package/page-navigator/page-navigator-item.component.d.ts +10 -0
- package/page-navigator/page-navigator.component.d.ts +17 -0
- package/page.component.d.ts +19 -0
- package/panel.component.d.ts +6 -0
- package/property-panel/object-selector.component.d.ts +9 -0
- package/property-panel/property-grid.component.d.ts +9 -0
- package/question-editor.component.d.ts +12 -0
- package/question-widget.component.d.ts +7 -0
- package/question.component.d.ts +19 -0
- package/questions/logic-operator.component.d.ts +13 -0
- package/questions/question-embedded-survey.component.d.ts +9 -0
- package/questions/question-link-value.component.d.ts +8 -0
- package/row.component.d.ts +18 -0
- package/side-bar/side-bar-tab.component.d.ts +9 -0
- package/side-bar/side-bar.component.d.ts +13 -0
- package/string-editor.component.d.ts +33 -0
- package/survey-creator-angular.d.ts +5 -0
- package/svg-bundle.component.d.ts +8 -0
- package/tabbed-menu/tabbed-menu/tabbed-menu-item-wrapper.component.d.ts +9 -0
- package/tabbed-menu/tabbed-menu/tabbed-menu-item.component.d.ts +9 -0
- package/tabbed-menu/tabbed-menu/tabbed-menu.component.d.ts +14 -0
- package/tabs/designer/designer-pages.component.d.ts +11 -0
- package/tabs/designer/designer-survey.component.d.ts +12 -0
- package/tabs/designer/designer.component.d.ts +11 -0
- package/tabs/json/json-editor-ace.component.d.ts +12 -0
- package/tabs/json/json-editor-textarea.component.d.ts +11 -0
- package/tabs/logic/logic-add-btn.component.d.ts +10 -0
- package/tabs/logic/logic.component.d.ts +9 -0
- package/tabs/preview/simulator.component.d.ts +12 -0
- package/tabs/preview/survey-results-row.component.d.ts +9 -0
- package/tabs/preview/survey-results.component.d.ts +13 -0
- package/tabs/preview/test-again.component.d.ts +9 -0
- package/tabs/preview/test.component.d.ts +9 -0
- package/tabs/translation/translation-line-skeleton.component.d.ts +5 -0
- package/tabs/translation/translation.component.d.ts +9 -0
- package/toolbox/adaptive-toolbox.component.d.ts +15 -0
- package/toolbox/toolbox-category.component.d.ts +10 -0
- package/toolbox/toolbox-item.component.d.ts +15 -0
- package/toolbox/toolbox-tool.component.d.ts +15 -0
- package/toolbox/toolbox.component.d.ts +10 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { AngularComponentFactory } from "survey-angular-ui";
|
|
3
|
+
import { ImageItemValueWrapperViewModel } from "survey-creator-core";
|
|
4
|
+
import { CreatorModelComponent } from "../creator-model.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "survey-angular-ui";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class ImageItemValueDesignerComponent extends CreatorModelComponent {
|
|
9
|
+
get creator() {
|
|
10
|
+
return this.componentData.data.creator;
|
|
11
|
+
}
|
|
12
|
+
get question() {
|
|
13
|
+
return this.componentData.question;
|
|
14
|
+
}
|
|
15
|
+
get item() {
|
|
16
|
+
return this.componentData.model;
|
|
17
|
+
}
|
|
18
|
+
createModel() {
|
|
19
|
+
if (this.componentData) {
|
|
20
|
+
this.adorner = new ImageItemValueWrapperViewModel(this.creator, this.question, this.item, null, null);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
getPropertiesToTrack() {
|
|
24
|
+
return ["creator", "question", "item"];
|
|
25
|
+
}
|
|
26
|
+
getModel() {
|
|
27
|
+
return this.adorner;
|
|
28
|
+
}
|
|
29
|
+
get showDragDropGhostOnTop() {
|
|
30
|
+
return this.adorner.ghostPosition === "top";
|
|
31
|
+
}
|
|
32
|
+
get showDragDropGhostOnBottom() {
|
|
33
|
+
return this.adorner.ghostPosition === "bottom";
|
|
34
|
+
}
|
|
35
|
+
blockEvent(event) {
|
|
36
|
+
event.stopPropagation();
|
|
37
|
+
}
|
|
38
|
+
getNewItemStyle() {
|
|
39
|
+
const needStyle = !this.adorner.getIsNewItemSingle();
|
|
40
|
+
return { width: needStyle ? this.question.renderedImageWidth : undefined, height: needStyle ? this.question.renderedImageHeight : undefined };
|
|
41
|
+
}
|
|
42
|
+
ngAfterViewInit() {
|
|
43
|
+
this.adorner.itemsRoot = this.container.nativeElement;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
ImageItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
ImageItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ImageItemValueDesignerComponent, selector: "svc-image-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div (pointerdown)=\"adorner.onPointerDown($event)\" [class]=\"adorner.getRootCss()\" [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? this.item.value : null\" #container>\n <div class=\"svc-image-item-value-wrapper__ghost\" [style]=\"getNewItemStyle()\"></div>\n\n <div class=\"svc-image-item-value-wrapper__content\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n\n <ng-container *ngIf=\"!adorner.isNew\">\n <div *ngIf=\"!adorner.isNew\" class=\"svc-image-item-value__item\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__drag-area-indicator\" (pointerdown)=\"adorner.onPointerDown($event)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <ng-container *ngIf=\"adorner.allowRemove\">\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__choose-file\" (click)=\"adorner.chooseFile(adorner)\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__remove\" (click)=\"adorner.remove(adorner)\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-delete'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"adorner.isNew\">\n <div class=\"svc-image-item-value__item\"\n data-bind=\"event: { dragover: dragover, drop: drop, dragleave: dragleave }\">\n <div class=\"sd-imagepicker__item sd-imagepicker__item--inline\">\n <label class=\"sd-imagepicker__label\">\n <div [style]=\"getNewItemStyle()\" class=\"sd-imagepicker__image\"></div>\n </label>\n </div>\n </div>\n\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__add\" [key2click] (click)=\"adorner.chooseNewFile(adorner)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg *ngIf=\"adorner.allowAdd\" [iconName]=\"'icon-add-lg'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImageItemValueDesignerComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: "svc-image-item-value", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div (pointerdown)=\"adorner.onPointerDown($event)\" [class]=\"adorner.getRootCss()\" [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? this.item.value : null\" #container>\n <div class=\"svc-image-item-value-wrapper__ghost\" [style]=\"getNewItemStyle()\"></div>\n\n <div class=\"svc-image-item-value-wrapper__content\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n\n <ng-container *ngIf=\"!adorner.isNew\">\n <div *ngIf=\"!adorner.isNew\" class=\"svc-image-item-value__item\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__drag-area-indicator\" (pointerdown)=\"adorner.onPointerDown($event)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <ng-container *ngIf=\"adorner.allowRemove\">\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__choose-file\" (click)=\"adorner.chooseFile(adorner)\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__remove\" (click)=\"adorner.remove(adorner)\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-delete'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"adorner.isNew\">\n <div class=\"svc-image-item-value__item\"\n data-bind=\"event: { dragover: dragover, drop: drop, dragleave: dragleave }\">\n <div class=\"sd-imagepicker__item sd-imagepicker__item--inline\">\n <label class=\"sd-imagepicker__label\">\n <div [style]=\"getNewItemStyle()\" class=\"sd-imagepicker__image\"></div>\n </label>\n </div>\n </div>\n\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <span class=\"svc-image-item-value-controls__button svc-image-item-value-controls__add\" [key2click] (click)=\"adorner.chooseNewFile(adorner)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg *ngIf=\"adorner.allowAdd\" [iconName]=\"'icon-add-lg'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>" }]
|
|
51
|
+
}], propDecorators: { componentName: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], componentData: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], container: [{
|
|
56
|
+
type: ViewChild,
|
|
57
|
+
args: ["container", { read: ElementRef }]
|
|
58
|
+
}] } });
|
|
59
|
+
AngularComponentFactory.Instance.registerComponent("svc-image-item-value", ImageItemValueDesignerComponent);
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBZSw4QkFBOEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT25FLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxxQkFBcUQ7SUFLeEcsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ1MsV0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFPLElBQUksRUFBTyxJQUFJLENBQUMsQ0FBQztTQUNqSDtJQUNILENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUM7SUFDakQsQ0FBQztJQUNNLFVBQVUsQ0FBQyxLQUFpQjtRQUNqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hKLENBQUM7SUFDTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7OzRIQTFDVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiwyTkFHVixVQUFVLG9EQ2Y1Qyw0MkZBNENjOzJGRGhDRCwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0Usc0JBQXNCLFVBRXhCLENBQUMsMEJBQTBCLENBQUM7OEJBRzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDd0MsU0FBUztzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQTBDOUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgSW1hZ2VJdGVtVmFsdWUsIFF1ZXN0aW9uSW1hZ2VQaWNrZXJNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvckJhc2UsIEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yTW9kZWxDb21wb25lbnQgfSBmcm9tIFwiLi4vY3JlYXRvci1tb2RlbC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy1pbWFnZS1pdGVtLXZhbHVlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUl0ZW1WYWx1ZURlc2lnbmVyQ29tcG9uZW50IGV4dGVuZHMgQ3JlYXRvck1vZGVsQ29tcG9uZW50PEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbD4ge1xuICBASW5wdXQoKSBjb21wb25lbnROYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBjb21wb25lbnREYXRhITogYW55O1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBjb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBwdWJsaWMgYWRvcm5lciE6IEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbDtcbiAgcHJpdmF0ZSBnZXQgY3JlYXRvcigpOiBDcmVhdG9yQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5kYXRhLmNyZWF0b3I7XG4gIH1cbiAgcHVibGljIGdldCBxdWVzdGlvbigpOiBRdWVzdGlvbkltYWdlUGlja2VyTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEucXVlc3Rpb247XG4gIH1cbiAgcHVibGljIGdldCBpdGVtKCk6IEltYWdlSXRlbVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLm1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgSW1hZ2VJdGVtVmFsdWVXcmFwcGVyVmlld01vZGVsKHRoaXMuY3JlYXRvciwgdGhpcy5xdWVzdGlvbiwgdGhpcy5pdGVtLCA8YW55Pm51bGwsIDxhbnk+bnVsbCk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBnZXRQcm9wZXJ0aWVzVG9UcmFjaygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcImNyZWF0b3JcIiwgXCJxdWVzdGlvblwiLCBcIml0ZW1cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuYWRvcm5lcjtcbiAgfVxuXG4gIGdldCBzaG93RHJhZ0Ryb3BHaG9zdE9uVG9wKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFkb3JuZXIuZ2hvc3RQb3NpdGlvbiA9PT0gXCJ0b3BcIjtcbiAgfVxuICBnZXQgc2hvd0RyYWdEcm9wR2hvc3RPbkJvdHRvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyLmdob3N0UG9zaXRpb24gPT09IFwiYm90dG9tXCI7XG4gIH1cbiAgcHVibGljIGJsb2NrRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGdldE5ld0l0ZW1TdHlsZSgpOiBhbnkge1xuICAgIGNvbnN0IG5lZWRTdHlsZSA9ICF0aGlzLmFkb3JuZXIuZ2V0SXNOZXdJdGVtU2luZ2xlKCk7XG4gICAgcmV0dXJuIHsgd2lkdGg6IG5lZWRTdHlsZSA/IHRoaXMucXVlc3Rpb24ucmVuZGVyZWRJbWFnZVdpZHRoIDogdW5kZWZpbmVkLCBoZWlnaHQ6IG5lZWRTdHlsZSA/IHRoaXMucXVlc3Rpb24ucmVuZGVyZWRJbWFnZUhlaWdodCA6IHVuZGVmaW5lZCB9O1xuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hZG9ybmVyLml0ZW1zUm9vdCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtaW1hZ2UtaXRlbS12YWx1ZVwiLCBJbWFnZUl0ZW1WYWx1ZURlc2lnbmVyQ29tcG9uZW50KTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKHBvaW50ZXJkb3duKT1cImFkb3JuZXIub25Qb2ludGVyRG93bigkZXZlbnQpXCIgW2NsYXNzXT1cImFkb3JuZXIuZ2V0Um9vdENzcygpXCIgW2F0dHIuZGF0YS1zdi1kcm9wLXRhcmdldC1pdGVtLXZhbHVlXT1cImFkb3JuZXIuaXNEcmFnZ2FibGUgPyB0aGlzLml0ZW0udmFsdWUgOiBudWxsXCIgI2NvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWUtd3JhcHBlcl9fZ2hvc3RcIiBbc3R5bGVdPVwiZ2V0TmV3SXRlbVN0eWxlKClcIj48L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS13cmFwcGVyX19jb250ZW50XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0YWJpbmRleD1cIi0xXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIGNsYXNzPVwic3ZjLWNob29zZS1maWxlLWlucHV0XCIgLz5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhZG9ybmVyLmlzTmV3XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhYWRvcm5lci5pc05ld1wiIGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWVfX2l0ZW1cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNvbXBvbmVudE5hbWUsIGRhdGE6IGNvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN2Yy1pbWFnZS1pdGVtLXZhbHVlLWNvbnRyb2xzX19idXR0b24gc3ZjLWltYWdlLWl0ZW0tdmFsdWUtY29udHJvbHNfX2RyYWctYXJlYS1pbmRpY2F0b3JcIiAocG9pbnRlcmRvd24pPVwiYWRvcm5lci5vblBvaW50ZXJEb3duKCRldmVudClcIiBbYXR0ci50aXRsZV09XCJ1bmRlZmluZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInVuZGVmaW5lZFwiPlxuICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIidpY29uLWRyYWctYXJlYS1pbmRpY2F0b3InXCIgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWUtY29udHJvbHNcIiBkYXRhLWJpbmQ9XCJldmVudDogeyBwb2ludGVyZG93bjogYmxvY2tFdmVudCB9XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkb3JuZXIuYWxsb3dSZW1vdmVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc19fY2hvb3NlLWZpbGVcIiAoY2xpY2spPVwiYWRvcm5lci5jaG9vc2VGaWxlKGFkb3JuZXIpXCIgW2tleTJjbGlja10gW2F0dHIudGl0bGVdPVwidW5kZWZpbmVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ1bmRlZmluZWRcIj5cbiAgICAgICAgICAgICAgPHN2ZyBbaWNvbk5hbWVdPVwiJ2ljb24tZmlsZSdcIiBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc19fYnV0dG9uIHN2Yy1pbWFnZS1pdGVtLXZhbHVlLWNvbnRyb2xzX19yZW1vdmVcIiAoY2xpY2spPVwiYWRvcm5lci5yZW1vdmUoYWRvcm5lcilcIiBba2V5MmNsaWNrXSBbYXR0ci50aXRsZV09XCJ1bmRlZmluZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInVuZGVmaW5lZFwiPlxuICAgICAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1kZWxldGUnXCIgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkb3JuZXIuaXNOZXdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1pbWFnZS1pdGVtLXZhbHVlX19pdGVtXCJcbiAgICAgICAgICBkYXRhLWJpbmQ9XCJldmVudDogeyBkcmFnb3ZlcjogZHJhZ292ZXIsIGRyb3A6IGRyb3AsIGRyYWdsZWF2ZTogZHJhZ2xlYXZlIH1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2QtaW1hZ2VwaWNrZXJfX2l0ZW0gc2QtaW1hZ2VwaWNrZXJfX2l0ZW0tLWlubGluZVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2QtaW1hZ2VwaWNrZXJfX2xhYmVsXCI+XG4gICAgICAgICAgICAgIDxkaXYgW3N0eWxlXT1cImdldE5ld0l0ZW1TdHlsZSgpXCIgY2xhc3M9XCJzZC1pbWFnZXBpY2tlcl9faW1hZ2VcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc1wiIGRhdGEtYmluZD1cImV2ZW50OiB7IHBvaW50ZXJkb3duOiBibG9ja0V2ZW50IH1cIj5cbiAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc19fYnV0dG9uIHN2Yy1pbWFnZS1pdGVtLXZhbHVlLWNvbnRyb2xzX19hZGRcIiBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRvcm5lci5jaG9vc2VOZXdGaWxlKGFkb3JuZXIpXCIgW2F0dHIudGl0bGVdPVwidW5kZWZpbmVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ1bmRlZmluZWRcIj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJhZG9ybmVyLmFsbG93QWRkXCIgW2ljb25OYW1lXT1cIidpY29uLWFkZC1sZydcIiBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { AngularComponentFactory } from "survey-angular-ui";
|
|
3
|
+
import { ItemValueWrapperViewModel } from "survey-creator-core";
|
|
4
|
+
import { CreatorModelComponent } from "../creator-model.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "survey-angular-ui";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class ItemValueDesignerComponent extends CreatorModelComponent {
|
|
9
|
+
get creator() {
|
|
10
|
+
return this.componentData.data.creator;
|
|
11
|
+
}
|
|
12
|
+
get question() {
|
|
13
|
+
return this.componentData.question;
|
|
14
|
+
}
|
|
15
|
+
get item() {
|
|
16
|
+
return this.componentData.model;
|
|
17
|
+
}
|
|
18
|
+
createModel() {
|
|
19
|
+
if (this.componentData) {
|
|
20
|
+
this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
getPropertiesToTrack() {
|
|
24
|
+
return ["creator", "question", "item"];
|
|
25
|
+
}
|
|
26
|
+
getModel() {
|
|
27
|
+
return this.adorner;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
ItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ItemValueDesignerComponent, selector: "svc-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" [attr.aria-label]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <svg *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [attr.title]=\"undefined\"\n [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: "svc-item-value", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" [attr.aria-label]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <svg *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [attr.title]=\"undefined\"\n [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>" }]
|
|
35
|
+
}], propDecorators: { componentName: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], componentData: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
AngularComponentFactory.Instance.registerComponent("svc-item-value", ItemValueDesignerComponent);
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaXRlbS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RyxPQUFPLEVBQWUseUJBQXlCLEVBQTRCLE1BQU0scUJBQXFCLENBQUM7QUFDdkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFPbkUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHFCQUFnRDtJQUk5RixJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFDUyxXQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RjtJQUNILENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7O3VIQXZCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix5SkNadkMsb3VEQXNCYzsyRkRWRCwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsZ0JBQWdCLFVBRWxCLENBQUMsMEJBQTBCLENBQUM7OEJBRzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSzs7QUF3QlIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLDBCQUEwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBCYXNlQW5ndWxhciwgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgSXRlbVZhbHVlLCBQYWdlTW9kZWwsIFBhbmVsTW9kZWwsIFF1ZXN0aW9uLCBRdWVzdGlvblNlbGVjdEJhc2UsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yQmFzZSwgSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCwgUXVlc3Rpb25BZG9ybmVyVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IENyZWF0b3JNb2RlbENvbXBvbmVudCB9IGZyb20gXCIuLi9jcmVhdG9yLW1vZGVsLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3ZjLWl0ZW0tdmFsdWVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9pdGVtLXZhbHVlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIEl0ZW1WYWx1ZURlc2lnbmVyQ29tcG9uZW50IGV4dGVuZHMgQ3JlYXRvck1vZGVsQ29tcG9uZW50PEl0ZW1WYWx1ZVdyYXBwZXJWaWV3TW9kZWw+IHtcbiAgQElucHV0KCkgY29tcG9uZW50TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgY29tcG9uZW50RGF0YSE6IGFueTtcbiAgcHVibGljIGFkb3JuZXIhOiBJdGVtVmFsdWVXcmFwcGVyVmlld01vZGVsO1xuICBwcml2YXRlIGdldCBjcmVhdG9yKCk6IENyZWF0b3JCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLmRhdGEuY3JlYXRvcjtcbiAgfVxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uU2VsZWN0QmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5xdWVzdGlvbjtcbiAgfVxuICBwdWJsaWMgZ2V0IGl0ZW0oKTogSXRlbVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLm1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCh0aGlzLmNyZWF0b3IsIHRoaXMucXVlc3Rpb24sIHRoaXMuaXRlbSk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBnZXRQcm9wZXJ0aWVzVG9UcmFjaygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcImNyZWF0b3JcIiwgXCJxdWVzdGlvblwiLCBcIml0ZW1cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IEl0ZW1WYWx1ZVdyYXBwZXJWaWV3TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmFkb3JuZXI7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtaXRlbS12YWx1ZVwiLCBJdGVtVmFsdWVEZXNpZ25lckNvbXBvbmVudCk7XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtd3JhcHBlclwiIChwb2ludGVyZG93bik9XCJhZG9ybmVyLm9uUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgW2F0dHIuZGF0YS1zdi1kcm9wLXRhcmdldC1pdGVtLXZhbHVlXT1cImFkb3JuZXIuaXNEcmFnZ2FibGUgPyBpdGVtLnZhbHVlIDogbnVsbFwiXG4gICAgW25nQ2xhc3NdPVwieydzdmMtaXRlbS12YWx1ZS0tbmV3JzogYWRvcm5lci5pc05ldywgJ3N2Yy1pdGVtLXZhbHVlLS1kcmFnZ2luZyc6IGFkb3JuZXIuaXNEcmFnZ2luZywgJ3N2Yy1pdGVtLXZhbHVlLS1naG9zdCc6IGFkb3JuZXIuaXNEcmFnRHJvcEdob3N0LCAnc3ZjLWl0ZW0tdmFsdWUtLW1vdmVkb3duJzogYWRvcm5lci5pc0RyYWdEcm9wTW92ZURvd24sICdzdmMtaXRlbS12YWx1ZS0tbW92ZXVwJzogYWRvcm5lci5pc0RyYWdEcm9wTW92ZVVwfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdmMtaXRlbS12YWx1ZV9fZ2hvc3RcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYWRvcm5lci5pc0RyYWdnYWJsZVwiIGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fZHJhZ1wiPlxuICAgICAgICA8c3ZnIGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2RyYWctaWNvblwiIFtpY29uTmFtZV09XCInaWNvbi1kcmFnLWFyZWEtaW5kaWNhdG9yJ1wiIFtzaXplXT1cIjI0XCJcbiAgICAgICAgICBbYXR0ci50aXRsZV09XCJhZG9ybmVyLmRyYWdUb29sdGlwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhZG9ybmVyLmRyYWdUb29sdGlwXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3ZnICpuZ0lmPVwiYWRvcm5lci5hbGxvd0FkZFwiIGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fYWRkXCIgW2tleTJjbGlja11cbiAgICAgICAgKGNsaWNrKT1cImFkb3JuZXIuYWRkKGFkb3JuZXIpXCIgW2ljb25OYW1lXT1cIidpY29uLWFkZF8xNngxNidcIiBbc2l6ZV09XCIxNlwiIFthdHRyLnRpdGxlXT1cInVuZGVmaW5lZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidW5kZWZpbmVkXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8c3ZnICpuZ0lmPVwiYWRvcm5lci5hbGxvd1JlbW92ZVwiIGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fcmVtb3ZlXCJcbiAgICAgICAgW2tleTJjbGlja10gKGNsaWNrKT1cImFkb3JuZXIucmVtb3ZlKGFkb3JuZXIpXCIgW2ljb25OYW1lXT1cIidpY29uLXJlbW92ZV8xNngxNidcIiBbc2l6ZV09XCIxNlwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cInVuZGVmaW5lZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwidW5kZWZpbmVkXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWVfX2l0ZW1cIiAoY2xpY2spPVwiYWRvcm5lci5zZWxlY3QoYWRvcm5lciwgJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { AngularComponentFactory } from "survey-angular-ui";
|
|
3
|
+
import { MatrixCellWrapperViewModel } from "survey-creator-core";
|
|
4
|
+
import { CreatorModelComponent } from "../creator-model.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "survey-angular-ui";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class MatrixCellComponent extends CreatorModelComponent {
|
|
9
|
+
get creator() {
|
|
10
|
+
return this.componentData.creator;
|
|
11
|
+
}
|
|
12
|
+
get question() {
|
|
13
|
+
return this.componentData.question;
|
|
14
|
+
}
|
|
15
|
+
get column() {
|
|
16
|
+
return this.componentData.column;
|
|
17
|
+
}
|
|
18
|
+
get row() {
|
|
19
|
+
return this.componentData.row;
|
|
20
|
+
}
|
|
21
|
+
createModel() {
|
|
22
|
+
if (this.componentData) {
|
|
23
|
+
this.adorner = new MatrixCellWrapperViewModel(this.creator, null, this.question, this.row, this.column);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getPropertiesToTrack() {
|
|
27
|
+
return ["creator", "row", "column", "question"];
|
|
28
|
+
}
|
|
29
|
+
getModel() {
|
|
30
|
+
return this.adorner;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixCellComponent, selector: "svc-matrix-cell", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: "svc-matrix-cell", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </div>\n</ng-template>" }]
|
|
38
|
+
}], propDecorators: { componentName: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], componentData: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], contentTempl: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}] } });
|
|
45
|
+
AngularComponentFactory.Instance.registerComponent("svc-matrix-cell", MatrixCellComponent);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fkb3JuZXJzL21hdHJpeC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9hZG9ybmVycy9tYXRyaXgtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RyxPQUFPLEVBQTBDLDBCQUEwQixFQUE0QixNQUFNLHFCQUFxQixDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT25FLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBaUQ7SUFLeEYsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxXQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6RztJQUNILENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOztnSEE1QlUsbUJBQW1CO29HQUFuQixtQkFBbUIsd0xDWGhDLGl1QkFVYzsyRkRDRCxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCLFVBRW5CLENBQUMsMEJBQTBCLENBQUM7OEJBRzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLOztBQTRCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIsIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IEl0ZW1WYWx1ZSwgUGFnZU1vZGVsLCBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgUXVlc3Rpb25TZWxlY3RCYXNlLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvckJhc2UsIEl0ZW1WYWx1ZVdyYXBwZXJWaWV3TW9kZWwsIE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsLCBRdWVzdGlvbkFkb3JuZXJWaWV3TW9kZWwgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvck1vZGVsQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NyZWF0b3ItbW9kZWwuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtbWF0cml4LWNlbGxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXgtY2VsbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhDZWxsQ29tcG9uZW50IGV4dGVuZHMgQ3JlYXRvck1vZGVsQ29tcG9uZW50PE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsPiB7XG4gIEBJbnB1dCgpIGNvbXBvbmVudE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGEhOiBhbnk7XG4gIEBJbnB1dCgpIGNvbnRlbnRUZW1wbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIHB1YmxpYyBhZG9ybmVyITogTWF0cml4Q2VsbFdyYXBwZXJWaWV3TW9kZWw7XG4gIHByaXZhdGUgZ2V0IGNyZWF0b3IoKTogQ3JlYXRvckJhc2Uge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEuY3JlYXRvcjtcbiAgfVxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uU2VsZWN0QmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5xdWVzdGlvbjtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbHVtbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLmNvbHVtbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm93KCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEucm93O1xuICB9XG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgTWF0cml4Q2VsbFdyYXBwZXJWaWV3TW9kZWwodGhpcy5jcmVhdG9yLCBudWxsLCB0aGlzLnF1ZXN0aW9uLCB0aGlzLnJvdywgdGhpcy5jb2x1bW4pO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgZ2V0UHJvcGVydGllc1RvVHJhY2soKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXCJjcmVhdG9yXCIsIFwicm93XCIsIFwiY29sdW1uXCIsIFwicXVlc3Rpb25cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLW1hdHJpeC1jZWxsXCIsIE1hdHJpeENlbGxDb21wb25lbnQpO1xuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInN2Yy1tYXRyaXgtY2VsbFwiIChjbGljayk9XCJhZG9ybmVyLnNlbGVjdENvbnRleHQoYWRvcm5lciwgJGV2ZW50KVwiIChtb3VzZW92ZXIpPVwiYWRvcm5lci5ob3ZlcigkZXZlbnQsICRldmVudC5jdXJyZW50VGFyZ2V0KVwiIChtb3VzZWxlYXZlKT1cImFkb3JuZXIuaG92ZXIoJGV2ZW50LCAkZXZlbnQuY3VycmVudFRhcmdldClcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLW1hdHJpeC1jZWxsLS1zZWxlY3RlZFwiIFtjbGFzcy5zdmMtdmlzaWJsZV09XCJhZG9ybmVyLmlzU2VsZWN0ZWRcIj48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uXCIgY2xhc3M9XCJzdmMtbWF0cml4LWNlbGxfX3F1ZXN0aW9uLWNvbnRyb2xzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInN2Yy1tYXRyaXgtY2VsbF9fcXVlc3Rpb24tY29udHJvbHMtYnV0dG9uXCIgKGNsaWNrKT1cImFkb3JuZXIuZWRpdFF1ZXN0aW9uKGFkb3JuZXIpXCIgW2tleTJjbGlja10+XG4gICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIidpY29uLWVkaXQnXCIgW3NpemVdPVwiMjRcIiBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { AngularComponentFactory, EmbeddedViewContentComponent } from "survey-angular-ui";
|
|
3
|
+
import { QuestionDropdownAdornerViewModel } from "survey-creator-core";
|
|
4
|
+
import { QuestionDesignerComponent } from "../question.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "survey-angular-ui";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "../components/action-button.component";
|
|
9
|
+
export class QuestionDropdownDesignerComponent extends QuestionDesignerComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.adornerComponent = "svc-dropdown-question-adorner";
|
|
13
|
+
}
|
|
14
|
+
createModel() {
|
|
15
|
+
if (this.componentData) {
|
|
16
|
+
this.adorner = new QuestionDropdownAdornerViewModel(this.creator, this.model, null);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
QuestionDropdownDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
QuestionDropdownDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionDropdownDesignerComponent, selector: "svc-dropdown-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownDesignerComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: "svc-dropdown-question", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>" }]
|
|
25
|
+
}] });
|
|
26
|
+
AngularComponentFactory.Instance.registerComponent("svc-dropdown-question", QuestionDropdownDesignerComponent);
|
|
27
|
+
export class QuestionDropdownAdornerDesignerComponent extends EmbeddedViewContentComponent {
|
|
28
|
+
getItemValueComponentName(item) {
|
|
29
|
+
return this.question.getItemValueWrapperComponentName(item) || "sv-ng-selectbase-item";
|
|
30
|
+
}
|
|
31
|
+
getItemValueComponentData(item) {
|
|
32
|
+
return {
|
|
33
|
+
componentName: "sv-ng-selectbase-item",
|
|
34
|
+
componentData: {
|
|
35
|
+
question: this.question,
|
|
36
|
+
model: item,
|
|
37
|
+
inputType: "radio",
|
|
38
|
+
data: this.question.getItemValueWrapperComponentData(item)
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
QuestionDropdownAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
QuestionDropdownAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionDropdownAdornerDesignerComponent, selector: "svc-dropdown-question-adorner", inputs: { adorner: "adorner", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-question__dropdown-choices--wrapper\">\n <div class=\"svc-question__dropdown-choices\">\n <div *ngFor=\"let item of adorner.getRenderedItems()\" [class]=\"adorner.getChoiceCss()\"\n data-bind=\"css: $parent.getChoiceCss()\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\">\n </ng-template>\n </div>\n </div>\n <svc-action-button *ngIf=\"adorner.needToCollapse\" [text]=\"adorner.getButtonText()\"\n [click]=\"adorner.switchCollapse.bind(adorner)\" [allowBubble]=\"true\"> \n </svc-action-button>\n <!-- ko if: needToCollapse -->\n <!-- <svc-action-button params=\"text: getButtonText(), click: switchCollapse, allowBubble: true\">\n </svc-action-button> -->\n <!-- /ko -->\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i3.ActionButtonComponent, selector: "svc-action-button", inputs: ["classes", "click", "selected", "disabled", "text", "title", "allowBubble"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionDropdownAdornerDesignerComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: "svc-dropdown-question-adorner", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-question__dropdown-choices--wrapper\">\n <div class=\"svc-question__dropdown-choices\">\n <div *ngFor=\"let item of adorner.getRenderedItems()\" [class]=\"adorner.getChoiceCss()\"\n data-bind=\"css: $parent.getChoiceCss()\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\">\n </ng-template>\n </div>\n </div>\n <svc-action-button *ngIf=\"adorner.needToCollapse\" [text]=\"adorner.getButtonText()\"\n [click]=\"adorner.switchCollapse.bind(adorner)\" [allowBubble]=\"true\"> \n </svc-action-button>\n <!-- ko if: needToCollapse -->\n <!-- <svc-action-button params=\"text: getButtonText(), click: switchCollapse, allowBubble: true\">\n </svc-action-button> -->\n <!-- /ko -->\n </div>\n</ng-template>" }]
|
|
48
|
+
}], propDecorators: { adorner: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], question: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
AngularComponentFactory.Instance.registerComponent("svc-dropdown-question-adorner", QuestionDropdownAdornerDesignerComponent);
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fkb3JuZXJzL3F1ZXN0aW9uLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uL3NyYy9hZG9ybmVycy9xdWVzdGlvbi1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBZSw0QkFBNEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZHLE9BQU8sRUFBeUMsZ0NBQWdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFPbEUsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHlCQUF5QjtJQUxoRjs7UUFXa0IscUJBQWdCLEdBQUcsK0JBQStCLENBQUM7S0FDcEU7SUFOb0IsV0FBVztRQUM1QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBTyxJQUFJLENBQUMsQ0FBQztTQUMxRjtJQUNILENBQUM7OzhIQUxVLGlDQUFpQztrSEFBakMsaUNBQWlDLG9GQ1o5QyxrckpBdUZjOzJGRDNFRCxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsdUJBQXVCLFVBRXpCLENBQUMsMEJBQTBCLENBQUM7O0FBV3RDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO0FBTy9HLE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSw0QkFBNEI7SUFHakYseUJBQXlCLENBQUMsSUFBZTtRQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUM7SUFDekYsQ0FBQztJQUNNLHlCQUF5QixDQUFDLElBQWU7UUFDOUMsT0FBTztZQUNMLGFBQWEsRUFBRSx1QkFBdUI7WUFDdEMsYUFBYSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQzthQUMzRDtTQUNGLENBQUM7SUFDSixDQUFDOztxSUFoQlUsd0NBQXdDO3lIQUF4Qyx3Q0FBd0Msa0pFNUJyRCxxMkJBaUJjOzJGRldELHdDQUF3QztrQkFMcEQsU0FBUzsrQkFDRSwrQkFBK0IsVUFFakMsQ0FBQywwQkFBMEIsQ0FBQzs4QkFHM0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7O0FBa0JSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQywrQkFBK0IsRUFBRSx3Q0FBd0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnksIEJhc2VBbmd1bGFyLCBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSBcInN1cnZleS1hbmd1bGFyLXVpXCI7XG5pbXBvcnQgeyBJdGVtVmFsdWUsIFBhZ2VNb2RlbCwgUXVlc3Rpb24sIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yQmFzZSwgUXVlc3Rpb25BZG9ybmVyVmlld01vZGVsLCBRdWVzdGlvbkRyb3Bkb3duQWRvcm5lclZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yTW9kZWxDb21wb25lbnQgfSBmcm9tIFwiLi4vY3JlYXRvci1tb2RlbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFF1ZXN0aW9uRGVzaWduZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcXVlc3Rpb24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtZHJvcGRvd24tcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi4vcXVlc3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Ecm9wZG93bkRlc2lnbmVyQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25EZXNpZ25lckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgUXVlc3Rpb25Ecm9wZG93bkFkb3JuZXJWaWV3TW9kZWwodGhpcy5jcmVhdG9yLCB0aGlzLm1vZGVsLCA8YW55Pm51bGwpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgYWRvcm5lckNvbXBvbmVudCA9IFwic3ZjLWRyb3Bkb3duLXF1ZXN0aW9uLWFkb3JuZXJcIjtcbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtZHJvcGRvd24tcXVlc3Rpb25cIiwgUXVlc3Rpb25Ecm9wZG93bkRlc2lnbmVyQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy1kcm9wZG93bi1xdWVzdGlvbi1hZG9ybmVyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcXVlc3Rpb24tZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Ecm9wZG93bkFkb3JuZXJEZXNpZ25lckNvbXBvbmVudCBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBhZG9ybmVyITogYW55O1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IGFueTtcbiAgcHVibGljIGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbTogSXRlbVZhbHVlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbi5nZXRJdGVtVmFsdWVXcmFwcGVyQ29tcG9uZW50TmFtZShpdGVtKSB8fCBcInN2LW5nLXNlbGVjdGJhc2UtaXRlbVwiO1xuICB9XG4gIHB1YmxpYyBnZXRJdGVtVmFsdWVDb21wb25lbnREYXRhKGl0ZW06IEl0ZW1WYWx1ZSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IFwic3Ytbmctc2VsZWN0YmFzZS1pdGVtXCIsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIHF1ZXN0aW9uOiB0aGlzLnF1ZXN0aW9uLFxuICAgICAgICBtb2RlbDogaXRlbSxcbiAgICAgICAgaW5wdXRUeXBlOiBcInJhZGlvXCIsXG4gICAgICAgIGRhdGE6IHRoaXMucXVlc3Rpb24uZ2V0SXRlbVZhbHVlV3JhcHBlckNvbXBvbmVudERhdGEoaXRlbSlcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtZHJvcGRvd24tcXVlc3Rpb24tYWRvcm5lclwiLCBRdWVzdGlvbkRyb3Bkb3duQWRvcm5lckRlc2lnbmVyQ29tcG9uZW50KTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCJhZG9ybmVyXCIgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2Fkb3JuZXJcIiBbY2xhc3NdPVwiYWRvcm5lci5yb290Q3NzKClcIlxuICAgIChtb3VzZW92ZXIpPVwiYWRvcm5lci5ob3ZlcigkZXZlbnQsICRldmVudC5jdXJyZW50VGFyZ2V0KVwiIChtb3VzZWxlYXZlKT1cImFkb3JuZXIuaG92ZXIoJGV2ZW50LCAkZXZlbnQuY3VycmVudFRhcmdldClcIlxuICAgIFthdHRyLmRhdGEtc3YtZHJvcC10YXJnZXQtc3VydmV5LWVsZW1lbnRdPVwiYWRvcm5lci5lbGVtZW50Lm5hbWUgfHwgbnVsbFwiICNjb250YWluZXI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5lbGVtZW50LmlzSW50ZXJhY3RpdmVEZXNpZ25FbGVtZW50XCIgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2NvbnRlbnRcIiBbY2xhc3NdPVwiYWRvcm5lci5jc3MoKVwiXG4gICAgICBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRvcm5lci5zZWxlY3QoYWRvcm5lciwgJGV2ZW50KVwiIGRhdGEtYmluZD1cImNsaWNrQnViYmxlOiBmYWxzZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cImFkb3JuZXIuYWxsb3dEcmFnZ2luZ1wiIGNsYXNzPVwic3ZjLXF1ZXN0aW9uX19kcmFnLWFyZWFcIiAocG9pbnRlcmRvd24pPVwiYWRvcm5lci5vblBvaW50ZXJEb3duKCRldmVudClcIj5cbiAgICAgICAgPHN2ZyBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fZHJhZy1lbGVtZW50XCIgW2ljb25OYW1lXT1cIidpY29uLWRyYWctYXJlYS1pbmRpY2F0b3JfMjR4MTYnXCIgW3NpemVdPVwiMjRcIlxuICAgICAgICAgIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogY29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiAqbmdJZj1cImFkb3JuZXIuaXNFbXB0eUVsZW1lbnRcIiBjbGFzcz1cInN2Yy1wYW5lbF9fcGxhY2Vob2xkZXJfZnJhbWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1wYW5lbF9fcGxhY2Vob2xkZXJcIj57eyBhZG9ybmVyLnBsYWNlaG9sZGVyVGV4dCB9fTwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5lbGVtZW50LmlzUGFuZWwgJiYgYWRvcm5lci5zaG93QWRkUXVlc3Rpb25CdXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uIHN2Yy1hY3Rpb24tYnV0dG9uXCIgW2tleTJjbGlja10gKGNsaWNrKT1cImFkZE5ld1F1ZXN0aW9uKCRldmVudClcIlxuICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrQnViYmxlOiBmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLXRleHQgc3ZjLXRleHQtLW5vcm1hbCBzdmMtdGV4dC0tYm9sZFwiPlxuICAgICAgICAgICAge3sgYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHQgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImFkb3JuZXJDb21wb25lbnRcIlxuICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogYWRvcm5lckNvbXBvbmVudCwgZGF0YTogeyBhZG9ybmVyOiBhZG9ybmVyLCBxdWVzdGlvbjogbW9kZWwgfSB9XCI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPCEtLSBrbyBpZjogYWRvcm5lckNvbXBvbmVudCAtLT5cbiAgICAgIDwhLS0ga28gY29tcG9uZW50OiB7IG5hbWU6IGFkb3JuZXJDb21wb25lbnQsIHBhcmFtczogeyBtb2RlbDogJGRhdGEgfSB9IC0tPlxuICAgICAgPCEtLSAva28gLS0+XG4gICAgICA8IS0tIC9rbyAtLT5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFhZG9ybmVyLmlzRW1wdHlFbGVtZW50ICYmIG1vZGVsLmlzUGFuZWwgJiYgYWRvcm5lci5zaG93QWRkUXVlc3Rpb25CdXR0b25cIlxuICAgICAgICBjbGFzcz1cInN2Yy1wYW5lbF9fYWRkLW5ldy1xdWVzdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1wYW5lbF9fYWRkLW5ldy1xdWVzdGlvbiBzdmMtYWN0aW9uLWJ1dHRvblwiIFtrZXkyY2xpY2tdIChjbGljayk9XCJhZGROZXdRdWVzdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICBkYXRhLWJpbmQ9XCJjbGlja0J1YmJsZTogZmFsc2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Yy10ZXh0IHN2Yy10ZXh0LS1ub3JtYWwgc3ZjLXRleHQtLWJvbGRcIj5cbiAgICAgICAgICAgIHt7IGFkb3JuZXIuYWRkTmV3UXVlc3Rpb25UZXh0IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBrbyB3aXRoOiBxdWVzdGlvblR5cGVTZWxlY3Rvck1vZGVsIC0tPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci50aXRsZV09XCJhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dFwiIFtrZXkyY2xpY2tdIChjbGljayk9XCJzZWxlY3RRdWVzdGlvblR5cGUoJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJzdmMtcGFuZWxfX3F1ZXN0aW9uLXR5cGUtc2VsZWN0b3JcIj5cbiAgICAgICAgICA8c3ZnIGNsYXNzPVwic3ZjLXBhbmVsX19xdWVzdGlvbi10eXBlLXNlbGVjdG9yLWljb25cIiBbaWNvbk5hbWVdPVwiYWRvcm5lci5xdWVzdGlvblR5cGVTZWxlY3Rvck1vZGVsLmljb25OYW1lXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjI0XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgICAgPHN2LW5nLXBvcHVwIFtwb3B1cE1vZGVsXT1cImFkb3JuZXIucXVlc3Rpb25UeXBlU2VsZWN0b3JNb2RlbC5wb3B1cE1vZGVsXCI+PC9zdi1uZy1wb3B1cD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwhLS0gL2tvIC0tPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2NvbnRlbnQtYWN0aW9uc1wiPlxuICAgICAgICA8c3YtYWN0aW9uLWJhciBbbW9kZWxdPVwiYWRvcm5lci5hY3Rpb25Db250YWluZXJcIiBbaGFuZGxlQ2xpY2tdPVwiZmFsc2VcIj48L3N2LWFjdGlvbi1iYXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYWRvcm5lci5lbGVtZW50LmlzSW50ZXJhY3RpdmVEZXNpZ25FbGVtZW50XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNvbXBvbmVudE5hbWUsIGRhdGE6IGNvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5pc0VtcHR5RWxlbWVudFwiIGNsYXNzPVwic3ZjLXBhbmVsX19wbGFjZWhvbGRlcl9mcmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXBhbmVsX19wbGFjZWhvbGRlclwiPnt7IGFkb3JuZXIucGxhY2Vob2xkZXJUZXh0IH19PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLnNob3dBZGRRdWVzdGlvbkJ1dHRvblwiIGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uIHN2Yy1hY3Rpb24tYnV0dG9uXCIgW2tleTJjbGlja11cbiAgICAgICAgICAoY2xpY2spPVwiYWRkTmV3UXVlc3Rpb24oJGV2ZW50KVwiIGRhdGEtYmluZD1cImNsaWNrQnViYmxlOiBmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLXRleHQgc3ZjLXRleHQtLW5vcm1hbCBzdmMtdGV4dC0tYm9sZFwiPlxuICAgICAgICAgICAge3sgYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHQgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhYWRvcm5lci5pc0VtcHR5RWxlbWVudFwiIGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uIHN2Yy1hY3Rpb24tYnV0dG9uXCIgW2tleTJjbGlja10gKGNsaWNrKT1cImFkZE5ld1F1ZXN0aW9uKCRldmVudClcIlxuICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrQnViYmxlOiBmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLXRleHQgc3ZjLXRleHQtLW5vcm1hbCBzdmMtdGV4dC0tYm9sZFwiPlxuICAgICAgICAgICAge3sgYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHQgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIGtvIHdpdGg6IHF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwgLS0+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLnRpdGxlXT1cImFkb3JuZXIuYWRkTmV3UXVlc3Rpb25UZXh0XCIgW2tleTJjbGlja10gKGNsaWNrKT1cInNlbGVjdFF1ZXN0aW9uVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cInN2Yy1wYW5lbF9fcXVlc3Rpb24tdHlwZS1zZWxlY3RvclwiPlxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJzdmMtcGFuZWxfX3F1ZXN0aW9uLXR5cGUtc2VsZWN0b3ItaWNvblwiIFtpY29uTmFtZV09XCJhZG9ybmVyLnF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwuaWNvbk5hbWVcIlxuICAgICAgICAgICAgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICA8c3YtbmctcG9wdXAgW3BvcHVwTW9kZWxdPVwiYWRvcm5lci5xdWVzdGlvblR5cGVTZWxlY3Rvck1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fZHJvcGRvd24tY2hvaWNlcy0td3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2Ryb3Bkb3duLWNob2ljZXNcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWRvcm5lci5nZXRSZW5kZXJlZEl0ZW1zKClcIiBbY2xhc3NdPVwiYWRvcm5lci5nZXRDaG9pY2VDc3MoKVwiXG4gICAgICAgIGRhdGEtYmluZD1cImNzczogJHBhcmVudC5nZXRDaG9pY2VDc3MoKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbSksIGRhdGE6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbSkgfVwiPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHN2Yy1hY3Rpb24tYnV0dG9uICpuZ0lmPVwiYWRvcm5lci5uZWVkVG9Db2xsYXBzZVwiIFt0ZXh0XT1cImFkb3JuZXIuZ2V0QnV0dG9uVGV4dCgpXCJcbiAgICAgIFtjbGlja109XCJhZG9ybmVyLnN3aXRjaENvbGxhcHNlLmJpbmQoYWRvcm5lcilcIiBbYWxsb3dCdWJibGVdPVwidHJ1ZVwiPiBcbiAgICA8L3N2Yy1hY3Rpb24tYnV0dG9uPlxuICAgIDwhLS0ga28gaWY6IG5lZWRUb0NvbGxhcHNlIC0tPlxuICAgIDwhLS0gPHN2Yy1hY3Rpb24tYnV0dG9uIHBhcmFtcz1cInRleHQ6IGdldEJ1dHRvblRleHQoKSwgY2xpY2s6IHN3aXRjaENvbGxhcHNlLCBhbGxvd0J1YmJsZTogdHJ1ZVwiPlxuICAgIDwvc3ZjLWFjdGlvbi1idXR0b24+IC0tPlxuICAgIDwhLS0gL2tvIC0tPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { AngularComponentFactory, EmbeddedViewContentComponent } from "survey-angular-ui";
|
|
3
|
+
import { QuestionImageAdornerViewModel } from "survey-creator-core";
|
|
4
|
+
import { QuestionDesignerComponent } from "../question.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "survey-angular-ui";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class QuestionImageDesignerComponent extends QuestionDesignerComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.adornerComponent = "svc-image-question-adorner";
|
|
12
|
+
}
|
|
13
|
+
createModel() {
|
|
14
|
+
if (this.componentData) {
|
|
15
|
+
this.adorner = new QuestionImageAdornerViewModel(this.creator, this.model, null, this.viewContainerRef?.element.nativeElement.nextSibling);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngAfterViewInit() {
|
|
19
|
+
this.adorner.questionRoot = this.container.nativeElement;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
QuestionImageDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
QuestionImageDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionImageDesignerComponent, selector: "svc-image-question", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageDesignerComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: "svc-image-question", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>" }]
|
|
27
|
+
}], propDecorators: { container: [{
|
|
28
|
+
type: ViewChild,
|
|
29
|
+
args: ["container", { read: ElementRef }]
|
|
30
|
+
}] } });
|
|
31
|
+
AngularComponentFactory.Instance.registerComponent("svc-image-question", QuestionImageDesignerComponent);
|
|
32
|
+
export class QuestionImageAdornerDesignerComponent extends EmbeddedViewContentComponent {
|
|
33
|
+
}
|
|
34
|
+
QuestionImageAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
+
QuestionImageAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionImageAdornerDesignerComponent, selector: "svc-image-question-adorner", inputs: { adorner: "adorner", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-image-question-controls\">\n <ng-container *ngIf=\"adorner.allowEdit\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n <span class=\"svc-image-question-controls__button\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" (click)=\"adorner.chooseFile(adorner)\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionImageAdornerDesignerComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: "svc-image-question-adorner", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-image-question-controls\">\n <ng-container *ngIf=\"adorner.allowEdit\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" accept=\"image/*\" class=\"svc-choose-file-input\" />\n <span class=\"svc-image-question-controls__button\" [key2click] [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" (click)=\"adorner.chooseFile(adorner)\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n</ng-template>" }]
|
|
39
|
+
}], propDecorators: { adorner: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], question: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}] } });
|
|
44
|
+
AngularComponentFactory.Instance.registerComponent("svc-image-question-adorner", QuestionImageAdornerDesignerComponent);
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24taW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fkb3JuZXJzL3F1ZXN0aW9uLWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uL3NyYy9hZG9ybmVycy9xdWVzdGlvbi1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQU9sRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEseUJBQXlCO0lBTDdFOztRQWFrQixxQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQztLQUlqRTtJQVRvQixXQUFXO1FBQzVCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFPLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNqSjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ21CLElBQUksQ0FBQyxPQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQzVGLENBQUM7OzJIQVhVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDZJQUNULFVBQVUsb0RDWDVDLGtySkF1RmM7MkZEN0VELDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSxvQkFBb0IsVUFFdEIsQ0FBQywwQkFBMEIsQ0FBQzs4QkFHVSxTQUFTO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O0FBYTlDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0FBT3pHLE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSw0QkFBNEI7O2tJQUExRSxxQ0FBcUM7c0hBQXJDLHFDQUFxQywrSUUvQmxELHNpQkFTYzsyRkZzQkQscUNBQXFDO2tCQUxqRCxTQUFTOytCQUNFLDRCQUE0QixVQUU5QixDQUFDLDBCQUEwQixDQUFDOzhCQUczQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSzs7QUFHUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsNEJBQTRCLEVBQUUscUNBQXFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25JbWFnZUFkb3JuZXJWaWV3TW9kZWwgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25EZXNpZ25lckNvbXBvbmVudCB9IGZyb20gXCIuLi9xdWVzdGlvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy1pbWFnZS1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuLi9xdWVzdGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkltYWdlRGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkRlc2lnbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoXCJjb250YWluZXJcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZU1vZGVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudERhdGEpIHtcbiAgICAgIHRoaXMuYWRvcm5lciA9IG5ldyBRdWVzdGlvbkltYWdlQWRvcm5lclZpZXdNb2RlbCh0aGlzLmNyZWF0b3IsIHRoaXMubW9kZWwsIDxhbnk+bnVsbCwgdGhpcy52aWV3Q29udGFpbmVyUmVmPy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQubmV4dFNpYmxpbmcpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgYWRvcm5lckNvbXBvbmVudCA9IFwic3ZjLWltYWdlLXF1ZXN0aW9uLWFkb3JuZXJcIjtcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICg8UXVlc3Rpb25JbWFnZUFkb3JuZXJWaWV3TW9kZWw+dGhpcy5hZG9ybmVyKS5xdWVzdGlvblJvb3QgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLWltYWdlLXF1ZXN0aW9uXCIsIFF1ZXN0aW9uSW1hZ2VEZXNpZ25lckNvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtaW1hZ2UtcXVlc3Rpb24tYWRvcm5lclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3F1ZXN0aW9uLWltYWdlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uSW1hZ2VBZG9ybmVyRGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IHtcbiAgQElucHV0KCkgYWRvcm5lciE6IFF1ZXN0aW9uSW1hZ2VBZG9ybmVyVmlld01vZGVsO1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IGFueTtcbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtaW1hZ2UtcXVlc3Rpb24tYWRvcm5lclwiLCBRdWVzdGlvbkltYWdlQWRvcm5lckRlc2lnbmVyQ29tcG9uZW50KTtcblxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiAqbmdJZj1cImFkb3JuZXJcIiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fYWRvcm5lclwiIFtjbGFzc109XCJhZG9ybmVyLnJvb3RDc3MoKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJhZG9ybmVyLmhvdmVyKCRldmVudCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpXCIgKG1vdXNlbGVhdmUpPVwiYWRvcm5lci5ob3ZlcigkZXZlbnQsICRldmVudC5jdXJyZW50VGFyZ2V0KVwiXG4gICAgW2F0dHIuZGF0YS1zdi1kcm9wLXRhcmdldC1zdXJ2ZXktZWxlbWVudF09XCJhZG9ybmVyLmVsZW1lbnQubmFtZSB8fCBudWxsXCIgI2NvbnRhaW5lcj5cblxuICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLmVsZW1lbnQuaXNJbnRlcmFjdGl2ZURlc2lnbkVsZW1lbnRcIiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fY29udGVudFwiIFtjbGFzc109XCJhZG9ybmVyLmNzcygpXCJcbiAgICAgIFtrZXkyY2xpY2tdIChjbGljayk9XCJhZG9ybmVyLnNlbGVjdChhZG9ybmVyLCAkZXZlbnQpXCIgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5hbGxvd0RyYWdnaW5nXCIgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2RyYWctYXJlYVwiIChwb2ludGVyZG93bik9XCJhZG9ybmVyLm9uUG9pbnRlckRvd24oJGV2ZW50KVwiPlxuICAgICAgICA8c3ZnIGNsYXNzPVwic3ZjLXF1ZXN0aW9uX19kcmFnLWVsZW1lbnRcIiBbaWNvbk5hbWVdPVwiJ2ljb24tZHJhZy1hcmVhLWluZGljYXRvcl8yNHgxNidcIiBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5pc0VtcHR5RWxlbWVudFwiIGNsYXNzPVwic3ZjLXBhbmVsX19wbGFjZWhvbGRlcl9mcmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXBhbmVsX19wbGFjZWhvbGRlclwiPnt7IGFkb3JuZXIucGxhY2Vob2xkZXJUZXh0IH19PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLmVsZW1lbnQuaXNQYW5lbCAmJiBhZG9ybmVyLnNob3dBZGRRdWVzdGlvbkJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24gc3ZjLWFjdGlvbi1idXR0b25cIiBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRkTmV3UXVlc3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtdGV4dCBzdmMtdGV4dC0tbm9ybWFsIHN2Yy10ZXh0LS1ib2xkXCI+XG4gICAgICAgICAgICB7eyBhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiYWRvcm5lckNvbXBvbmVudFwiXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBhZG9ybmVyQ29tcG9uZW50LCBkYXRhOiB7IGFkb3JuZXI6IGFkb3JuZXIsIHF1ZXN0aW9uOiBtb2RlbCB9IH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8IS0tIGtvIGlmOiBhZG9ybmVyQ29tcG9uZW50IC0tPlxuICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogYWRvcm5lckNvbXBvbmVudCwgcGFyYW1zOiB7IG1vZGVsOiAkZGF0YSB9IH0gLS0+XG4gICAgICA8IS0tIC9rbyAtLT5cbiAgICAgIDwhLS0gL2tvIC0tPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWFkb3JuZXIuaXNFbXB0eUVsZW1lbnQgJiYgbW9kZWwuaXNQYW5lbCAmJiBhZG9ybmVyLnNob3dBZGRRdWVzdGlvbkJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uIHN2Yy1hY3Rpb24tYnV0dG9uXCIgW2tleTJjbGlja10gKGNsaWNrKT1cImFkZE5ld1F1ZXN0aW9uKCRldmVudClcIlxuICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrQnViYmxlOiBmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLXRleHQgc3ZjLXRleHQtLW5vcm1hbCBzdmMtdGV4dC0tYm9sZFwiPlxuICAgICAgICAgICAge3sgYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHQgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIGtvIHdpdGg6IHF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwgLS0+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLnRpdGxlXT1cImFkb3JuZXIuYWRkTmV3UXVlc3Rpb25UZXh0XCIgW2tleTJjbGlja10gKGNsaWNrKT1cInNlbGVjdFF1ZXN0aW9uVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cInN2Yy1wYW5lbF9fcXVlc3Rpb24tdHlwZS1zZWxlY3RvclwiPlxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJzdmMtcGFuZWxfX3F1ZXN0aW9uLXR5cGUtc2VsZWN0b3ItaWNvblwiIFtpY29uTmFtZV09XCJhZG9ybmVyLnF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwuaWNvbk5hbWVcIlxuICAgICAgICAgICAgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICA8c3YtbmctcG9wdXAgW3BvcHVwTW9kZWxdPVwiYWRvcm5lci5xdWVzdGlvblR5cGVTZWxlY3Rvck1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fY29udGVudC1hY3Rpb25zXCI+XG4gICAgICAgIDxzdi1hY3Rpb24tYmFyIFttb2RlbF09XCJhZG9ybmVyLmFjdGlvbkNvbnRhaW5lclwiIFtoYW5kbGVDbGlja109XCJmYWxzZVwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhZG9ybmVyLmVsZW1lbnQuaXNJbnRlcmFjdGl2ZURlc2lnbkVsZW1lbnRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogY29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLmlzRW1wdHlFbGVtZW50XCIgY2xhc3M9XCJzdmMtcGFuZWxfX3BsYWNlaG9sZGVyX2ZyYW1lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtcGFuZWxfX3BsYWNlaG9sZGVyXCI+e3sgYWRvcm5lci5wbGFjZWhvbGRlclRleHQgfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImFkb3JuZXIuc2hvd0FkZFF1ZXN0aW9uQnV0dG9uXCIgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24gc3ZjLWFjdGlvbi1idXR0b25cIiBba2V5MmNsaWNrXVxuICAgICAgICAgIChjbGljayk9XCJhZGROZXdRdWVzdGlvbigkZXZlbnQpXCIgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtdGV4dCBzdmMtdGV4dC0tbm9ybWFsIHN2Yy10ZXh0LS1ib2xkXCI+XG4gICAgICAgICAgICB7eyBhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFhZG9ybmVyLmlzRW1wdHlFbGVtZW50XCIgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24tY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24gc3ZjLWFjdGlvbi1idXR0b25cIiBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRkTmV3UXVlc3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtdGV4dCBzdmMtdGV4dC0tbm9ybWFsIHN2Yy10ZXh0LS1ib2xkXCI+XG4gICAgICAgICAgICB7eyBhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0ga28gd2l0aDogcXVlc3Rpb25UeXBlU2VsZWN0b3JNb2RlbCAtLT5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIudGl0bGVdPVwiYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHRcIiBba2V5MmNsaWNrXSAoY2xpY2spPVwic2VsZWN0UXVlc3Rpb25UeXBlKCRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwic3ZjLXBhbmVsX19xdWVzdGlvbi10eXBlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgPHN2ZyBjbGFzcz1cInN2Yy1wYW5lbF9fcXVlc3Rpb24tdHlwZS1zZWxlY3Rvci1pY29uXCIgW2ljb25OYW1lXT1cImFkb3JuZXIucXVlc3Rpb25UeXBlU2VsZWN0b3JNb2RlbC5pY29uTmFtZVwiXG4gICAgICAgICAgICBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgIDxzdi1uZy1wb3B1cCBbcG9wdXBNb2RlbF09XCJhZG9ybmVyLnF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwic3ZjLWltYWdlLXF1ZXN0aW9uLWNvbnRyb2xzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkb3JuZXIuYWxsb3dFZGl0XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0YWJpbmRleD1cIi0xXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIGNsYXNzPVwic3ZjLWNob29zZS1maWxlLWlucHV0XCIgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLWltYWdlLXF1ZXN0aW9uLWNvbnRyb2xzX19idXR0b25cIiBba2V5MmNsaWNrXSBbYXR0ci50aXRsZV09XCJ1bmRlZmluZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInVuZGVmaW5lZFwiPlxuICAgICAgICA8c3ZnICBbaWNvbk5hbWVdPVwiJ2ljb24tZmlsZSdcIiBbc2l6ZV09XCIyNFwiIChjbGljayk9XCJhZG9ybmVyLmNob29zZUZpbGUoYWRvcm5lcilcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { CreatorModelComponent } from "../creator-model.component";
|
|
3
|
+
import { AngularComponentFactory } from "survey-angular-ui";
|
|
4
|
+
import { QuestionRatingAdornerViewModel } from "survey-creator-core";
|
|
5
|
+
import { QuestionDesignerComponent } from "../question.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "survey-angular-ui";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
export class QuestionRatingDesignerComponent extends QuestionDesignerComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.adornerComponent = "";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
QuestionRatingDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
QuestionRatingDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionRatingDesignerComponent, selector: "svc-rating-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingDesignerComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: "svc-rating-question", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content\" [class]=\"adorner.css()\"\n [key2click] (click)=\"adorner.select(adorner, $event)\" data-bind=\"clickBubble: false\">\n <div *ngIf=\"adorner.allowDragging\" class=\"svc-question__drag-area\" (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.element.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n <!-- ko if: adornerComponent -->\n <!-- ko component: { name: adornerComponent, params: { model: $data } } -->\n <!-- /ko -->\n <!-- /ko -->\n\n <div *ngIf=\"!adorner.isEmptyElement && model.isPanel && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n <div class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n\n <ng-container *ngIf=\"!adorner.element.isInteractiveDesignElement\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\" data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!adorner.isEmptyElement\" class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <!-- ko with: questionTypeSelectorModel -->\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n <!-- /ko -->\n </div>\n\n </ng-container>\n </div>\n</ng-template>" }]
|
|
20
|
+
}] });
|
|
21
|
+
AngularComponentFactory.Instance.registerComponent("svc-rating-question", QuestionRatingDesignerComponent);
|
|
22
|
+
export class QuestionRatingAdornerDesignerComponent extends CreatorModelComponent {
|
|
23
|
+
createModel() {
|
|
24
|
+
if (this.componentData) {
|
|
25
|
+
this.adorner = new QuestionRatingAdornerViewModel(this.componentData.data, this.componentData.model, null);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
getPropertiesToTrack() {
|
|
29
|
+
return ["model", "creator"];
|
|
30
|
+
}
|
|
31
|
+
getModel() {
|
|
32
|
+
return this.adorner;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
QuestionRatingAdornerDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
QuestionRatingAdornerDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionRatingAdornerDesignerComponent, selector: "svc-rating-question-content", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-rating-question-content\">\n <div class=\"svc-rating-question-controls svc-item-value-controls\">\n <svg *ngIf=\"adorner.allowRemove\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [key2click] (click)=\"adorner.removeItem(adorner)\"\n class=\"svc-item-value-controls__button svc-item-value-controls__remove\" [attr.title]=\"adorner.removeTooltip\" [attr.aria-label]=\"adorner.removeTooltip\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowAdd\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [key2click] (click)=\"adorner.addItem(adorner)\"\n class=\"svc-item-value-controls__button svc-item-value-controls__add\" [attr.title]=\"adorner.addTooltip\" [attr.aria-label]=\"adorner.addTooltip\"sv-ng-svg-icon></svg>\n </div>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionRatingAdornerDesignerComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: "svc-rating-question-content", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-rating-question-content\">\n <div class=\"svc-rating-question-controls svc-item-value-controls\">\n <svg *ngIf=\"adorner.allowRemove\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [key2click] (click)=\"adorner.removeItem(adorner)\"\n class=\"svc-item-value-controls__button svc-item-value-controls__remove\" [attr.title]=\"adorner.removeTooltip\" [attr.aria-label]=\"adorner.removeTooltip\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowAdd\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [key2click] (click)=\"adorner.addItem(adorner)\"\n class=\"svc-item-value-controls__button svc-item-value-controls__add\" [attr.title]=\"adorner.addTooltip\" [attr.aria-label]=\"adorner.addTooltip\"sv-ng-svg-icon></svg>\n </div>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>" }]
|
|
40
|
+
}], propDecorators: { componentName: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], componentData: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}] } });
|
|
45
|
+
AngularComponentFactory.Instance.registerComponent("svc-rating-question-content", QuestionRatingAdornerDesignerComponent);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tcmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZG9ybmVycy9xdWVzdGlvbi1yYXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9uLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vc3JjL2Fkb3JuZXJzL3F1ZXN0aW9uLXJhdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFnQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFGLE9BQU8sRUFBZSw4QkFBOEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBUWxFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx5QkFBeUI7SUFMOUU7O1FBTWtCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztLQUN2Qzs7NEhBRlksK0JBQStCO2dIQUEvQiwrQkFBK0Isa0ZDWjVDLGtySkF1RmM7MkZEM0VELCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSxxQkFBcUIsVUFFdkIsQ0FBQywwQkFBMEIsQ0FBQzs7QUFNdEMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLCtCQUErQixDQUFDLENBQUM7QUFPM0csTUFBTSxPQUFPLHNDQUF1QyxTQUFRLHFCQUFxRDtJQUtyRyxXQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQU8sSUFBSSxDQUFDLENBQUM7U0FDakg7SUFDSCxDQUFDO0lBQ1Msb0JBQW9CO1FBQzVCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7O21JQWZVLHNDQUFzQzt1SEFBdEMsc0NBQXNDLHNLRXZCbkQscTVCQVVjOzJGRmFELHNDQUFzQztrQkFMbEQsU0FBUzsrQkFDRSw2QkFBNkIsVUFFL0IsQ0FBQywwQkFBMEIsQ0FBQzs4QkFHM0IsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLOztBQWdCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsNkJBQTZCLEVBQUUsc0NBQXNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yTW9kZWxDb21wb25lbnQgfSBmcm9tIFwiLi4vY3JlYXRvci1tb2RlbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSBcInN1cnZleS1hbmd1bGFyLXVpXCI7XG5pbXBvcnQgeyBDcmVhdG9yQmFzZSwgUXVlc3Rpb25SYXRpbmdBZG9ybmVyVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uRGVzaWduZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcXVlc3Rpb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBRdWVzdGlvblJhdGluZ01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtcmF0aW5nLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4uL3F1ZXN0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uUmF0aW5nRGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkRlc2lnbmVyQ29tcG9uZW50IHtcbiAgcHVibGljIG92ZXJyaWRlIGFkb3JuZXJDb21wb25lbnQgPSBcIlwiO1xufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2Yy1yYXRpbmctcXVlc3Rpb25cIiwgUXVlc3Rpb25SYXRpbmdEZXNpZ25lckNvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtcmF0aW5nLXF1ZXN0aW9uLWNvbnRlbnRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9xdWVzdGlvbi1yYXRpbmcuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25SYXRpbmdBZG9ybmVyRGVzaWduZXJDb21wb25lbnQgZXh0ZW5kcyBDcmVhdG9yTW9kZWxDb21wb25lbnQ8UXVlc3Rpb25SYXRpbmdBZG9ybmVyVmlld01vZGVsPiB7XG4gIEBJbnB1dCgpIGNvbXBvbmVudE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGEhOiBhbnk7XG4gIHB1YmxpYyBhZG9ybmVyITogUXVlc3Rpb25SYXRpbmdBZG9ybmVyVmlld01vZGVsO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgUXVlc3Rpb25SYXRpbmdBZG9ybmVyVmlld01vZGVsKHRoaXMuY29tcG9uZW50RGF0YS5kYXRhLCB0aGlzLmNvbXBvbmVudERhdGEubW9kZWwsIDxhbnk+bnVsbCk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBnZXRQcm9wZXJ0aWVzVG9UcmFjaygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcIm1vZGVsXCIsIFwiY3JlYXRvclwiXTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUXVlc3Rpb25SYXRpbmdBZG9ybmVyVmlld01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLXJhdGluZy1xdWVzdGlvbi1jb250ZW50XCIsIFF1ZXN0aW9uUmF0aW5nQWRvcm5lckRlc2lnbmVyQ29tcG9uZW50KTtcblxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiAqbmdJZj1cImFkb3JuZXJcIiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fYWRvcm5lclwiIFtjbGFzc109XCJhZG9ybmVyLnJvb3RDc3MoKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJhZG9ybmVyLmhvdmVyKCRldmVudCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpXCIgKG1vdXNlbGVhdmUpPVwiYWRvcm5lci5ob3ZlcigkZXZlbnQsICRldmVudC5jdXJyZW50VGFyZ2V0KVwiXG4gICAgW2F0dHIuZGF0YS1zdi1kcm9wLXRhcmdldC1zdXJ2ZXktZWxlbWVudF09XCJhZG9ybmVyLmVsZW1lbnQubmFtZSB8fCBudWxsXCIgI2NvbnRhaW5lcj5cblxuICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLmVsZW1lbnQuaXNJbnRlcmFjdGl2ZURlc2lnbkVsZW1lbnRcIiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fY29udGVudFwiIFtjbGFzc109XCJhZG9ybmVyLmNzcygpXCJcbiAgICAgIFtrZXkyY2xpY2tdIChjbGljayk9XCJhZG9ybmVyLnNlbGVjdChhZG9ybmVyLCAkZXZlbnQpXCIgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5hbGxvd0RyYWdnaW5nXCIgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2RyYWctYXJlYVwiIChwb2ludGVyZG93bik9XCJhZG9ybmVyLm9uUG9pbnRlckRvd24oJGV2ZW50KVwiPlxuICAgICAgICA8c3ZnIGNsYXNzPVwic3ZjLXF1ZXN0aW9uX19kcmFnLWVsZW1lbnRcIiBbaWNvbk5hbWVdPVwiJ2ljb24tZHJhZy1hcmVhLWluZGljYXRvcl8yNHgxNidcIiBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiYWRvcm5lci5pc0VtcHR5RWxlbWVudFwiIGNsYXNzPVwic3ZjLXBhbmVsX19wbGFjZWhvbGRlcl9mcmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXBhbmVsX19wbGFjZWhvbGRlclwiPnt7IGFkb3JuZXIucGxhY2Vob2xkZXJUZXh0IH19PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLmVsZW1lbnQuaXNQYW5lbCAmJiBhZG9ybmVyLnNob3dBZGRRdWVzdGlvbkJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24gc3ZjLWFjdGlvbi1idXR0b25cIiBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRkTmV3UXVlc3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtdGV4dCBzdmMtdGV4dC0tbm9ybWFsIHN2Yy10ZXh0LS1ib2xkXCI+XG4gICAgICAgICAgICB7eyBhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiYWRvcm5lckNvbXBvbmVudFwiXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBhZG9ybmVyQ29tcG9uZW50LCBkYXRhOiB7IGFkb3JuZXI6IGFkb3JuZXIsIHF1ZXN0aW9uOiBtb2RlbCB9IH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8IS0tIGtvIGlmOiBhZG9ybmVyQ29tcG9uZW50IC0tPlxuICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogYWRvcm5lckNvbXBvbmVudCwgcGFyYW1zOiB7IG1vZGVsOiAkZGF0YSB9IH0gLS0+XG4gICAgICA8IS0tIC9rbyAtLT5cbiAgICAgIDwhLS0gL2tvIC0tPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWFkb3JuZXIuaXNFbXB0eUVsZW1lbnQgJiYgbW9kZWwuaXNQYW5lbCAmJiBhZG9ybmVyLnNob3dBZGRRdWVzdGlvbkJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXBhbmVsX19hZGQtbmV3LXF1ZXN0aW9uIHN2Yy1hY3Rpb24tYnV0dG9uXCIgW2tleTJjbGlja10gKGNsaWNrKT1cImFkZE5ld1F1ZXN0aW9uKCRldmVudClcIlxuICAgICAgICAgIGRhdGEtYmluZD1cImNsaWNrQnViYmxlOiBmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLXRleHQgc3ZjLXRleHQtLW5vcm1hbCBzdmMtdGV4dC0tYm9sZFwiPlxuICAgICAgICAgICAge3sgYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHQgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIGtvIHdpdGg6IHF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwgLS0+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLnRpdGxlXT1cImFkb3JuZXIuYWRkTmV3UXVlc3Rpb25UZXh0XCIgW2tleTJjbGlja10gKGNsaWNrKT1cInNlbGVjdFF1ZXN0aW9uVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cInN2Yy1wYW5lbF9fcXVlc3Rpb24tdHlwZS1zZWxlY3RvclwiPlxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJzdmMtcGFuZWxfX3F1ZXN0aW9uLXR5cGUtc2VsZWN0b3ItaWNvblwiIFtpY29uTmFtZV09XCJhZG9ybmVyLnF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwuaWNvbk5hbWVcIlxuICAgICAgICAgICAgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICA8c3YtbmctcG9wdXAgW3BvcHVwTW9kZWxdPVwiYWRvcm5lci5xdWVzdGlvblR5cGVTZWxlY3Rvck1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInN2Yy1xdWVzdGlvbl9fY29udGVudC1hY3Rpb25zXCI+XG4gICAgICAgIDxzdi1hY3Rpb24tYmFyIFttb2RlbF09XCJhZG9ybmVyLmFjdGlvbkNvbnRhaW5lclwiIFtoYW5kbGVDbGlja109XCJmYWxzZVwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhZG9ybmVyLmVsZW1lbnQuaXNJbnRlcmFjdGl2ZURlc2lnbkVsZW1lbnRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogY29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJhZG9ybmVyLmlzRW1wdHlFbGVtZW50XCIgY2xhc3M9XCJzdmMtcGFuZWxfX3BsYWNlaG9sZGVyX2ZyYW1lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtcGFuZWxfX3BsYWNlaG9sZGVyXCI+e3sgYWRvcm5lci5wbGFjZWhvbGRlclRleHQgfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImFkb3JuZXIuc2hvd0FkZFF1ZXN0aW9uQnV0dG9uXCIgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24gc3ZjLWFjdGlvbi1idXR0b25cIiBba2V5MmNsaWNrXVxuICAgICAgICAgIChjbGljayk9XCJhZGROZXdRdWVzdGlvbigkZXZlbnQpXCIgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtdGV4dCBzdmMtdGV4dC0tbm9ybWFsIHN2Yy10ZXh0LS1ib2xkXCI+XG4gICAgICAgICAgICB7eyBhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFhZG9ybmVyLmlzRW1wdHlFbGVtZW50XCIgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24tY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtcGFuZWxfX2FkZC1uZXctcXVlc3Rpb24gc3ZjLWFjdGlvbi1idXR0b25cIiBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRkTmV3UXVlc3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgZGF0YS1iaW5kPVwiY2xpY2tCdWJibGU6IGZhbHNlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtdGV4dCBzdmMtdGV4dC0tbm9ybWFsIHN2Yy10ZXh0LS1ib2xkXCI+XG4gICAgICAgICAgICB7eyBhZG9ybmVyLmFkZE5ld1F1ZXN0aW9uVGV4dCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0ga28gd2l0aDogcXVlc3Rpb25UeXBlU2VsZWN0b3JNb2RlbCAtLT5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIudGl0bGVdPVwiYWRvcm5lci5hZGROZXdRdWVzdGlvblRleHRcIiBba2V5MmNsaWNrXSAoY2xpY2spPVwic2VsZWN0UXVlc3Rpb25UeXBlKCRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwic3ZjLXBhbmVsX19xdWVzdGlvbi10eXBlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgPHN2ZyBjbGFzcz1cInN2Yy1wYW5lbF9fcXVlc3Rpb24tdHlwZS1zZWxlY3Rvci1pY29uXCIgW2ljb25OYW1lXT1cImFkb3JuZXIucXVlc3Rpb25UeXBlU2VsZWN0b3JNb2RlbC5pY29uTmFtZVwiXG4gICAgICAgICAgICBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgIDxzdi1uZy1wb3B1cCBbcG9wdXBNb2RlbF09XCJhZG9ybmVyLnF1ZXN0aW9uVHlwZVNlbGVjdG9yTW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwic3ZjLXJhdGluZy1xdWVzdGlvbi1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInN2Yy1yYXRpbmctcXVlc3Rpb24tY29udHJvbHMgc3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNcIj5cbiAgICAgIDxzdmcgKm5nSWY9XCJhZG9ybmVyLmFsbG93UmVtb3ZlXCIgW2ljb25OYW1lXT1cIidpY29uLXJlbW92ZV8xNngxNidcIiBbc2l6ZV09XCIxNlwiIFtrZXkyY2xpY2tdIChjbGljayk9XCJhZG9ybmVyLnJlbW92ZUl0ZW0oYWRvcm5lcilcIlxuICAgICAgY2xhc3M9XCJzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fYnV0dG9uIHN2Yy1pdGVtLXZhbHVlLWNvbnRyb2xzX19yZW1vdmVcIiBbYXR0ci50aXRsZV09XCJhZG9ybmVyLnJlbW92ZVRvb2x0aXBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFkb3JuZXIucmVtb3ZlVG9vbHRpcFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgPHN2ZyAqbmdJZj1cImFkb3JuZXIuYWxsb3dBZGRcIiBbaWNvbk5hbWVdPVwiJ2ljb24tYWRkXzE2eDE2J1wiIFtzaXplXT1cIjE2XCIgW2tleTJjbGlja10gKGNsaWNrKT1cImFkb3JuZXIuYWRkSXRlbShhZG9ybmVyKVwiXG4gICAgICBjbGFzcz1cInN2Yy1pdGVtLXZhbHVlLWNvbnRyb2xzX19idXR0b24gc3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2FkZFwiIFthdHRyLnRpdGxlXT1cImFkb3JuZXIuYWRkVG9vbHRpcFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiYWRvcm5lci5hZGRUb29sdGlwXCJzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNvbXBvbmVudE5hbWUsIGRhdGE6IGNvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./angular-ui.module";
|
|
2
|
+
export * from "./creator.component";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbmd1bGFyLXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FuZ3VsYXItdWkubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jcmVhdG9yLmNvbXBvbmVudFwiOyJdfQ==
|