survey-creator-angular 1.9.74 → 1.9.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +14 -205
  2. package/bundles/survey-creator-angular.umd.js +2536 -0
  3. package/bundles/survey-creator-angular.umd.js.map +1 -0
  4. package/esm2015/adorners/cell-question-dropdown.component.js +34 -0
  5. package/esm2015/adorners/cell-question.component.js +28 -0
  6. package/esm2015/adorners/image-item-value.component.js +64 -0
  7. package/esm2015/adorners/item-value.component.js +48 -0
  8. package/esm2015/adorners/matrix-cell.component.js +50 -0
  9. package/esm2015/adorners/question-dropdown.component.js +62 -0
  10. package/esm2015/adorners/question-image.component.js +54 -0
  11. package/esm2015/adorners/question-rating.component.js +54 -0
  12. package/esm2015/angular-ui.js +53 -0
  13. package/esm2015/angular-ui.module.js +92 -0
  14. package/esm2015/components/action-button.component.js +48 -0
  15. package/esm2015/creator-model.component.js +40 -0
  16. package/esm2015/creator.component.js +52 -0
  17. package/esm2015/header/logo-image.component.js +44 -0
  18. package/esm2015/page-navigator/page-navigator-item.component.js +29 -0
  19. package/esm2015/page-navigator/page-navigator.component.js +59 -0
  20. package/esm2015/page.component.js +54 -0
  21. package/esm2015/panel.component.js +20 -0
  22. package/esm2015/property-panel/object-selector.component.js +24 -0
  23. package/esm2015/property-panel/property-grid.component.js +28 -0
  24. package/esm2015/question-editor.component.js +49 -0
  25. package/esm2015/question-widget.component.js +26 -0
  26. package/esm2015/question.component.js +55 -0
  27. package/esm2015/questions/logic-operator.component.js +40 -0
  28. package/esm2015/questions/question-embedded-survey.component.js +30 -0
  29. package/esm2015/questions/question-link-value.component.js +23 -0
  30. package/esm2015/row.component.js +36 -0
  31. package/esm2015/side-bar/side-bar-tab.component.js +23 -0
  32. package/esm2015/side-bar/side-bar.component.js +34 -0
  33. package/esm2015/string-editor.component.js +105 -0
  34. package/esm2015/survey-creator-angular.js +5 -0
  35. package/esm2015/svg-bundle.component.js +22 -0
  36. package/esm2015/tabbed-menu/tabbed-menu/tabbed-menu-item-wrapper.component.js +22 -0
  37. package/esm2015/tabbed-menu/tabbed-menu/tabbed-menu-item.component.js +23 -0
  38. package/esm2015/tabbed-menu/tabbed-menu/tabbed-menu.component.js +35 -0
  39. package/esm2015/tabs/designer/designer-pages.component.js +28 -0
  40. package/esm2015/tabs/designer/designer-survey.component.js +32 -0
  41. package/esm2015/tabs/designer/designer.component.js +33 -0
  42. package/esm2015/tabs/json/json-editor-ace.component.js +29 -0
  43. package/esm2015/tabs/json/json-editor-textarea.component.js +28 -0
  44. package/esm2015/tabs/logic/logic-add-btn.component.js +26 -0
  45. package/esm2015/tabs/logic/logic.component.js +25 -0
  46. package/esm2015/tabs/preview/simulator.component.js +36 -0
  47. package/esm2015/tabs/preview/survey-results-row.component.js +23 -0
  48. package/esm2015/tabs/preview/survey-results.component.js +34 -0
  49. package/esm2015/tabs/preview/test-again.component.js +22 -0
  50. package/esm2015/tabs/preview/test.component.js +27 -0
  51. package/esm2015/tabs/translation/translation-line-skeleton.component.js +17 -0
  52. package/esm2015/tabs/translation/translation.component.js +24 -0
  53. package/esm2015/toolbox/adaptive-toolbox.component.js +40 -0
  54. package/esm2015/toolbox/toolbox-category.component.js +26 -0
  55. package/esm2015/toolbox/toolbox-item.component.js +41 -0
  56. package/esm2015/toolbox/toolbox-tool.component.js +41 -0
  57. package/esm2015/toolbox/toolbox.component.js +28 -0
  58. package/esm2020/adorners/cell-question-dropdown.component.mjs +29 -29
  59. package/esm2020/adorners/cell-question.component.mjs +23 -23
  60. package/esm2020/adorners/image-item-value.component.mjs +59 -59
  61. package/esm2020/adorners/item-value.component.mjs +43 -43
  62. package/esm2020/adorners/matrix-cell.component.mjs +45 -45
  63. package/esm2020/adorners/question-dropdown.component.mjs +53 -53
  64. package/esm2020/adorners/question-image.component.mjs +44 -44
  65. package/esm2020/adorners/question-rating.component.mjs +45 -45
  66. package/esm2020/angular-ui.mjs +52 -52
  67. package/esm2020/angular-ui.module.mjs +91 -91
  68. package/esm2020/components/action-button.component.mjs +43 -43
  69. package/esm2020/creator-model.component.mjs +39 -39
  70. package/esm2020/creator.component.mjs +48 -48
  71. package/esm2020/header/logo-image.component.mjs +39 -39
  72. package/esm2020/page-navigator/page-navigator-item.component.mjs +24 -24
  73. package/esm2020/page-navigator/page-navigator.component.mjs +52 -52
  74. package/esm2020/page.component.mjs +48 -48
  75. package/esm2020/panel.component.mjs +15 -15
  76. package/esm2020/property-panel/object-selector.component.mjs +19 -19
  77. package/esm2020/property-panel/property-grid.component.mjs +23 -23
  78. package/esm2020/question-editor.component.mjs +45 -45
  79. package/esm2020/question-widget.component.mjs +21 -21
  80. package/esm2020/question.component.mjs +49 -49
  81. package/esm2020/questions/logic-operator.component.mjs +32 -32
  82. package/esm2020/questions/question-embedded-survey.component.mjs +25 -25
  83. package/esm2020/questions/question-link-value.component.mjs +18 -18
  84. package/esm2020/row.component.mjs +32 -32
  85. package/esm2020/side-bar/side-bar-tab.component.mjs +18 -18
  86. package/esm2020/side-bar/side-bar.component.mjs +29 -29
  87. package/esm2020/string-editor.component.mjs +98 -98
  88. package/esm2020/survey-creator-angular.mjs +4 -4
  89. package/esm2020/svg-bundle.component.mjs +21 -21
  90. package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu-item-wrapper.component.mjs +17 -17
  91. package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu-item.component.mjs +18 -18
  92. package/esm2020/tabbed-menu/tabbed-menu/tabbed-menu.component.mjs +30 -30
  93. package/esm2020/tabs/designer/designer-pages.component.mjs +23 -23
  94. package/esm2020/tabs/designer/designer-survey.component.mjs +27 -27
  95. package/esm2020/tabs/designer/designer.component.mjs +28 -28
  96. package/esm2020/tabs/json/json-editor-ace.component.mjs +24 -24
  97. package/esm2020/tabs/json/json-editor-textarea.component.mjs +23 -23
  98. package/esm2020/tabs/logic/logic-add-btn.component.mjs +21 -21
  99. package/esm2020/tabs/logic/logic.component.mjs +20 -20
  100. package/esm2020/tabs/preview/simulator.component.mjs +31 -31
  101. package/esm2020/tabs/preview/survey-results-row.component.mjs +18 -18
  102. package/esm2020/tabs/preview/survey-results.component.mjs +29 -29
  103. package/esm2020/tabs/preview/test-again.component.mjs +17 -17
  104. package/esm2020/tabs/preview/test.component.mjs +22 -22
  105. package/esm2020/tabs/translation/translation-line-skeleton.component.mjs +12 -12
  106. package/esm2020/tabs/translation/translation.component.mjs +19 -19
  107. package/esm2020/toolbox/adaptive-toolbox.component.mjs +34 -34
  108. package/esm2020/toolbox/toolbox-category.component.mjs +21 -21
  109. package/esm2020/toolbox/toolbox-item.component.mjs +36 -36
  110. package/esm2020/toolbox/toolbox-tool.component.mjs +36 -36
  111. package/esm2020/toolbox/toolbox.component.mjs +23 -23
  112. package/fesm2015/survey-creator-angular.js +1635 -0
  113. package/fesm2015/survey-creator-angular.js.map +1 -0
  114. package/fesm2015/survey-creator-angular.mjs +1430 -1430
  115. package/fesm2020/survey-creator-angular.mjs +1419 -1419
  116. package/package.json +10 -18
@@ -1,24 +1,24 @@
1
- import { Component, Input } from "@angular/core";
2
- import { AngularComponentFactory, BaseAngular } from "survey-angular-ui";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "survey-angular-ui";
5
- export class CellQuestionComponent extends BaseAngular {
6
- getModel() {
7
- return this.model;
8
- }
9
- get model() {
10
- return this.componentData.model;
11
- }
12
- }
13
- CellQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- CellQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CellQuestionComponent, selector: "svc-cell-question", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-question__adorner\">\n <div class=\"svc-question__content svc-question__content--selected-no-border\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: "svc-cell-question", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-question__adorner\">\n <div class=\"svc-question__content svc-question__content--selected-no-border\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>" }]
18
- }], propDecorators: { componentName: [{
19
- type: Input
20
- }], componentData: [{
21
- type: Input
22
- }] } });
23
- AngularComponentFactory.Instance.registerComponent("svc-cell-question", CellQuestionComponent);
1
+ import { Component, Input } from "@angular/core";
2
+ import { AngularComponentFactory, BaseAngular } from "survey-angular-ui";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "survey-angular-ui";
5
+ export class CellQuestionComponent extends BaseAngular {
6
+ getModel() {
7
+ return this.model;
8
+ }
9
+ get model() {
10
+ return this.componentData.model;
11
+ }
12
+ }
13
+ CellQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
+ CellQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CellQuestionComponent, selector: "svc-cell-question", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-question__adorner\">\n <div class=\"svc-question__content svc-question__content--selected-no-border\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CellQuestionComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: "svc-cell-question", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-question__adorner\">\n <div class=\"svc-question__content svc-question__content--selected-no-border\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>" }]
18
+ }], propDecorators: { componentName: [{
19
+ type: Input
20
+ }], componentData: [{
21
+ type: Input
22
+ }] } });
23
+ AngularComponentFactory.Instance.registerComponent("svc-cell-question", CellQuestionComponent);
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1xdWVzdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvY2VsbC1xdWVzdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvY2VsbC1xdWVzdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU96RSxNQUFNLE9BQU8scUJBQTBDLFNBQVEsV0FBYztJQUdqRSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDOztrSEFSVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw0SkNUbEMsNlJBTWM7MkZER0QscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixVQUVyQixDQUFDLDBCQUEwQixDQUFDOzhCQUczQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7O0FBUVIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy1jZWxsLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2VsbC1xdWVzdGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBDZWxsUXVlc3Rpb25Db21wb25lbnQ8VCBleHRlbmRzIFF1ZXN0aW9uPiBleHRlbmRzIEJhc2VBbmd1bGFyPFQ+IHtcbiAgQElucHV0KCkgY29tcG9uZW50TmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgY29tcG9uZW50RGF0YSE6IGFueTtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFQge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXQgbW9kZWwoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5tb2RlbDtcbiAgfVxufVxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtY2VsbC1xdWVzdGlvblwiLCBDZWxsUXVlc3Rpb25Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdmMtcXVlc3Rpb25fX2Fkb3JuZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLXF1ZXN0aW9uX19jb250ZW50IHN2Yy1xdWVzdGlvbl9fY29udGVudC0tc2VsZWN0ZWQtbm8tYm9yZGVyXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNvbXBvbmVudE5hbWUsIGRhdGE6IGNvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,60 +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);
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
60
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBZSw4QkFBOEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT25FLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxxQkFBcUQ7SUFLeEcsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ1MsV0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFPLElBQUksRUFBTyxJQUFJLENBQUMsQ0FBQztTQUNqSDtJQUNILENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUM7SUFDakQsQ0FBQztJQUNNLFVBQVUsQ0FBQyxLQUFpQjtRQUNqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hKLENBQUM7SUFDTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7OzRIQTFDVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiwyTkFHVixVQUFVLG9EQ2Y1Qyw0MkZBNENjOzJGRGhDRCwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0Usc0JBQXNCLFVBRXhCLENBQUMsMEJBQTBCLENBQUM7OEJBRzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDd0MsU0FBUztzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQTBDOUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgSW1hZ2VJdGVtVmFsdWUsIFF1ZXN0aW9uSW1hZ2VQaWNrZXJNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvckJhc2UsIEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yTW9kZWxDb21wb25lbnQgfSBmcm9tIFwiLi4vY3JlYXRvci1tb2RlbC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy1pbWFnZS1pdGVtLXZhbHVlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2UtaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUl0ZW1WYWx1ZURlc2lnbmVyQ29tcG9uZW50IGV4dGVuZHMgQ3JlYXRvck1vZGVsQ29tcG9uZW50PEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbD4ge1xuICBASW5wdXQoKSBjb21wb25lbnROYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBjb21wb25lbnREYXRhITogYW55O1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBjb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBwdWJsaWMgYWRvcm5lciE6IEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbDtcbiAgcHJpdmF0ZSBnZXQgY3JlYXRvcigpOiBDcmVhdG9yQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5kYXRhLmNyZWF0b3I7XG4gIH1cbiAgcHVibGljIGdldCBxdWVzdGlvbigpOiBRdWVzdGlvbkltYWdlUGlja2VyTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEucXVlc3Rpb247XG4gIH1cbiAgcHVibGljIGdldCBpdGVtKCk6IEltYWdlSXRlbVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLm1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgSW1hZ2VJdGVtVmFsdWVXcmFwcGVyVmlld01vZGVsKHRoaXMuY3JlYXRvciwgdGhpcy5xdWVzdGlvbiwgdGhpcy5pdGVtLCA8YW55Pm51bGwsIDxhbnk+bnVsbCk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBnZXRQcm9wZXJ0aWVzVG9UcmFjaygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcImNyZWF0b3JcIiwgXCJxdWVzdGlvblwiLCBcIml0ZW1cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IEltYWdlSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuYWRvcm5lcjtcbiAgfVxuXG4gIGdldCBzaG93RHJhZ0Ryb3BHaG9zdE9uVG9wKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFkb3JuZXIuZ2hvc3RQb3NpdGlvbiA9PT0gXCJ0b3BcIjtcbiAgfVxuICBnZXQgc2hvd0RyYWdEcm9wR2hvc3RPbkJvdHRvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyLmdob3N0UG9zaXRpb24gPT09IFwiYm90dG9tXCI7XG4gIH1cbiAgcHVibGljIGJsb2NrRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGdldE5ld0l0ZW1TdHlsZSgpOiBhbnkge1xuICAgIGNvbnN0IG5lZWRTdHlsZSA9ICF0aGlzLmFkb3JuZXIuZ2V0SXNOZXdJdGVtU2luZ2xlKCk7XG4gICAgcmV0dXJuIHsgd2lkdGg6IG5lZWRTdHlsZSA/IHRoaXMucXVlc3Rpb24ucmVuZGVyZWRJbWFnZVdpZHRoIDogdW5kZWZpbmVkLCBoZWlnaHQ6IG5lZWRTdHlsZSA/IHRoaXMucXVlc3Rpb24ucmVuZGVyZWRJbWFnZUhlaWdodCA6IHVuZGVmaW5lZCB9O1xuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hZG9ybmVyLml0ZW1zUm9vdCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdmMtaW1hZ2UtaXRlbS12YWx1ZVwiLCBJbWFnZUl0ZW1WYWx1ZURlc2lnbmVyQ29tcG9uZW50KTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKHBvaW50ZXJkb3duKT1cImFkb3JuZXIub25Qb2ludGVyRG93bigkZXZlbnQpXCIgW2NsYXNzXT1cImFkb3JuZXIuZ2V0Um9vdENzcygpXCIgW2F0dHIuZGF0YS1zdi1kcm9wLXRhcmdldC1pdGVtLXZhbHVlXT1cImFkb3JuZXIuaXNEcmFnZ2FibGUgPyB0aGlzLml0ZW0udmFsdWUgOiBudWxsXCIgI2NvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWUtd3JhcHBlcl9fZ2hvc3RcIiBbc3R5bGVdPVwiZ2V0TmV3SXRlbVN0eWxlKClcIj48L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS13cmFwcGVyX19jb250ZW50XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0YWJpbmRleD1cIi0xXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIGNsYXNzPVwic3ZjLWNob29zZS1maWxlLWlucHV0XCIgLz5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhZG9ybmVyLmlzTmV3XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhYWRvcm5lci5pc05ld1wiIGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWVfX2l0ZW1cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNvbXBvbmVudE5hbWUsIGRhdGE6IGNvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN2Yy1pbWFnZS1pdGVtLXZhbHVlLWNvbnRyb2xzX19idXR0b24gc3ZjLWltYWdlLWl0ZW0tdmFsdWUtY29udHJvbHNfX2RyYWctYXJlYS1pbmRpY2F0b3JcIiAocG9pbnRlcmRvd24pPVwiYWRvcm5lci5vblBvaW50ZXJEb3duKCRldmVudClcIiBbYXR0ci50aXRsZV09XCJ1bmRlZmluZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInVuZGVmaW5lZFwiPlxuICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIidpY29uLWRyYWctYXJlYS1pbmRpY2F0b3InXCIgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWUtY29udHJvbHNcIiBkYXRhLWJpbmQ9XCJldmVudDogeyBwb2ludGVyZG93bjogYmxvY2tFdmVudCB9XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkb3JuZXIuYWxsb3dSZW1vdmVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZjLWltYWdlLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc19fY2hvb3NlLWZpbGVcIiAoY2xpY2spPVwiYWRvcm5lci5jaG9vc2VGaWxlKGFkb3JuZXIpXCIgW2tleTJjbGlja10gW2F0dHIudGl0bGVdPVwidW5kZWZpbmVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ1bmRlZmluZWRcIj5cbiAgICAgICAgICAgICAgPHN2ZyBbaWNvbk5hbWVdPVwiJ2ljb24tZmlsZSdcIiBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc19fYnV0dG9uIHN2Yy1pbWFnZS1pdGVtLXZhbHVlLWNvbnRyb2xzX19yZW1vdmVcIiAoY2xpY2spPVwiYWRvcm5lci5yZW1vdmUoYWRvcm5lcilcIiBba2V5MmNsaWNrXSBbYXR0ci50aXRsZV09XCJ1bmRlZmluZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInVuZGVmaW5lZFwiPlxuICAgICAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1kZWxldGUnXCIgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkb3JuZXIuaXNOZXdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1pbWFnZS1pdGVtLXZhbHVlX19pdGVtXCJcbiAgICAgICAgICBkYXRhLWJpbmQ9XCJldmVudDogeyBkcmFnb3ZlcjogZHJhZ292ZXIsIGRyb3A6IGRyb3AsIGRyYWdsZWF2ZTogZHJhZ2xlYXZlIH1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2QtaW1hZ2VwaWNrZXJfX2l0ZW0gc2QtaW1hZ2VwaWNrZXJfX2l0ZW0tLWlubGluZVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2QtaW1hZ2VwaWNrZXJfX2xhYmVsXCI+XG4gICAgICAgICAgICAgIDxkaXYgW3N0eWxlXT1cImdldE5ld0l0ZW1TdHlsZSgpXCIgY2xhc3M9XCJzZC1pbWFnZXBpY2tlcl9faW1hZ2VcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc1wiIGRhdGEtYmluZD1cImV2ZW50OiB7IHBvaW50ZXJkb3duOiBibG9ja0V2ZW50IH1cIj5cbiAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJzdmMtaW1hZ2UtaXRlbS12YWx1ZS1jb250cm9sc19fYnV0dG9uIHN2Yy1pbWFnZS1pdGVtLXZhbHVlLWNvbnRyb2xzX19hZGRcIiBba2V5MmNsaWNrXSAoY2xpY2spPVwiYWRvcm5lci5jaG9vc2VOZXdGaWxlKGFkb3JuZXIpXCIgW2F0dHIudGl0bGVdPVwidW5kZWZpbmVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ1bmRlZmluZWRcIj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJhZG9ybmVyLmFsbG93QWRkXCIgW2ljb25OYW1lXT1cIidpY29uLWFkZC1sZydcIiBbc2l6ZV09XCIyNFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,44 +1,44 @@
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
- onBlur(event) {
19
- this.adorner.onFocusOut(event);
20
- }
21
- createModel() {
22
- if (this.componentData) {
23
- this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
24
- }
25
- }
26
- getPropertiesToTrack() {
27
- return ["creator", "question", "item"];
28
- }
29
- getModel() {
30
- return this.adorner;
31
- }
32
- }
33
- ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
34
- 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\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\" [attr.aria-label]=\"undefined\"><svg\n [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\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"] }] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
36
- type: Component,
37
- 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\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\" [attr.aria-label]=\"undefined\"><svg\n [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\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>" }]
38
- }], propDecorators: { componentName: [{
39
- type: Input
40
- }], componentData: [{
41
- type: Input
42
- }] } });
43
- AngularComponentFactory.Instance.registerComponent("svc-item-value", ItemValueDesignerComponent);
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
+ onBlur(event) {
19
+ this.adorner.onFocusOut(event);
20
+ }
21
+ createModel() {
22
+ if (this.componentData) {
23
+ this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
24
+ }
25
+ }
26
+ getPropertiesToTrack() {
27
+ return ["creator", "question", "item"];
28
+ }
29
+ getModel() {
30
+ return this.adorner;
31
+ }
32
+ }
33
+ ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
34
+ 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\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\" [attr.aria-label]=\"undefined\"><svg\n [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\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"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
36
+ type: Component,
37
+ 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\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\" [attr.aria-label]=\"undefined\"><svg\n [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\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>" }]
38
+ }], propDecorators: { componentName: [{
39
+ type: Input
40
+ }], componentData: [{
41
+ type: Input
42
+ }] } });
43
+ AngularComponentFactory.Instance.registerComponent("svc-item-value", ItemValueDesignerComponent);
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaXRlbS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvYWRvcm5lcnMvaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RyxPQUFPLEVBQWUseUJBQXlCLEVBQTRCLE1BQU0scUJBQXFCLENBQUM7QUFDdkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFPbkUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHFCQUFnRDtJQUk5RixJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFDTSxNQUFNLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ1MsV0FBVztRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDO0lBQ1Msb0JBQW9CO1FBQzVCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzt1SEExQlUsMEJBQTBCOzJHQUExQiwwQkFBMEIseUpDWnZDLGt2REFzQmM7MkZEVkQsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLGdCQUFnQixVQUVsQixDQUFDLDBCQUEwQixDQUFDOzhCQUczQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7O0FBMkJSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIsIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IEl0ZW1WYWx1ZSwgUGFnZU1vZGVsLCBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgUXVlc3Rpb25TZWxlY3RCYXNlLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvckJhc2UsIEl0ZW1WYWx1ZVdyYXBwZXJWaWV3TW9kZWwsIFF1ZXN0aW9uQWRvcm5lclZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBDcmVhdG9yTW9kZWxDb21wb25lbnQgfSBmcm9tIFwiLi4vY3JlYXRvci1tb2RlbC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy1pdGVtLXZhbHVlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaXRlbS12YWx1ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBJdGVtVmFsdWVEZXNpZ25lckNvbXBvbmVudCBleHRlbmRzIENyZWF0b3JNb2RlbENvbXBvbmVudDxJdGVtVmFsdWVXcmFwcGVyVmlld01vZGVsPiB7XG4gIEBJbnB1dCgpIGNvbXBvbmVudE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGEhOiBhbnk7XG4gIHB1YmxpYyBhZG9ybmVyITogSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbDtcbiAgcHJpdmF0ZSBnZXQgY3JlYXRvcigpOiBDcmVhdG9yQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5kYXRhLmNyZWF0b3I7XG4gIH1cbiAgcHVibGljIGdldCBxdWVzdGlvbigpOiBRdWVzdGlvblNlbGVjdEJhc2Uge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEucXVlc3Rpb247XG4gIH1cbiAgcHVibGljIGdldCBpdGVtKCk6IEl0ZW1WYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5tb2RlbDtcbiAgfVxuICBwdWJsaWMgb25CbHVyKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmFkb3JuZXIub25Gb2N1c091dChldmVudCk7XG4gIH1cbiAgcHJvdGVjdGVkIGNyZWF0ZU1vZGVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudERhdGEpIHtcbiAgICAgIHRoaXMuYWRvcm5lciA9IG5ldyBJdGVtVmFsdWVXcmFwcGVyVmlld01vZGVsKHRoaXMuY3JlYXRvciwgdGhpcy5xdWVzdGlvbiwgdGhpcy5pdGVtKTtcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIGdldFByb3BlcnRpZXNUb1RyYWNrKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1wiY3JlYXRvclwiLCBcInF1ZXN0aW9uXCIsIFwiaXRlbVwiXTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogSXRlbVZhbHVlV3JhcHBlclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuYWRvcm5lcjtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2Yy1pdGVtLXZhbHVlXCIsIEl0ZW1WYWx1ZURlc2lnbmVyQ29tcG9uZW50KTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdmMtaXRlbS12YWx1ZS13cmFwcGVyXCIgKHBvaW50ZXJkb3duKT1cImFkb3JuZXIub25Qb2ludGVyRG93bigkZXZlbnQpXCJcbiAgICBbYXR0ci5kYXRhLXN2LWRyb3AtdGFyZ2V0LWl0ZW0tdmFsdWVdPVwiYWRvcm5lci5pc0RyYWdnYWJsZSA/IGl0ZW0udmFsdWUgOiBudWxsXCJcbiAgICBbbmdDbGFzc109XCJ7J3N2Yy1pdGVtLXZhbHVlLS1uZXcnOiBhZG9ybmVyLmlzTmV3LCAnc3ZjLWl0ZW0tdmFsdWUtLWRyYWdnaW5nJzogYWRvcm5lci5pc0RyYWdnaW5nLCAnc3ZjLWl0ZW0tdmFsdWUtLWdob3N0JzogYWRvcm5lci5pc0RyYWdEcm9wR2hvc3QsICdzdmMtaXRlbS12YWx1ZS0tbW92ZWRvd24nOiBhZG9ybmVyLmlzRHJhZ0Ryb3BNb3ZlRG93biwgJ3N2Yy1pdGVtLXZhbHVlLS1tb3ZldXAnOiBhZG9ybmVyLmlzRHJhZ0Ryb3BNb3ZlVXB9XCI+XG4gICAgPGRpdiBjbGFzcz1cInN2Yy1pdGVtLXZhbHVlX19naG9zdFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdmMtaXRlbS12YWx1ZS1jb250cm9sc1wiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJhZG9ybmVyLmlzRHJhZ2dhYmxlXCIgY2xhc3M9XCJzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fYnV0dG9uIHN2Yy1pdGVtLXZhbHVlLWNvbnRyb2xzX19kcmFnXCI+XG4gICAgICAgIDxzdmcgY2xhc3M9XCJzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fZHJhZy1pY29uXCIgW2ljb25OYW1lXT1cIidpY29uLWRyYWctYXJlYS1pbmRpY2F0b3InXCIgW3NpemVdPVwiMjRcIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cImFkb3JuZXIuZHJhZ1Rvb2x0aXBcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYWRvcm5lci5hbGxvd0FkZFwiIGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fYWRkXCIgW2tleTJjbGlja11cbiAgICAgICAgKGNsaWNrKT1cImFkb3JuZXIuYWRkKGFkb3JuZXIpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ1bmRlZmluZWRcIj48c3ZnIFtpY29uTmFtZV09XCInaWNvbi1hZGRfMTZ4MTYnXCIgW3NpemVdPVwiMTZcIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cInVuZGVmaW5lZFwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPjwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiYWRvcm5lci5hbGxvd1JlbW92ZVwiIGNsYXNzPVwic3ZjLWl0ZW0tdmFsdWUtY29udHJvbHNfX2J1dHRvbiBzdmMtaXRlbS12YWx1ZS1jb250cm9sc19fcmVtb3ZlXCJcbiAgICAgICAgW2tleTJjbGlja10gKGNsaWNrKT1cImFkb3JuZXIucmVtb3ZlKGFkb3JuZXIpXCIgKGJsdXIpPVwib25CbHVyKCRldmVudClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInVuZGVmaW5lZFwiPjxzdmdcbiAgICAgICAgICBbaWNvbk5hbWVdPVwiJ2ljb24tcmVtb3ZlXzE2eDE2J1wiIFtzaXplXT1cIjE2XCIgW2F0dHIudGl0bGVdPVwidW5kZWZpbmVkXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInN2Yy1pdGVtLXZhbHVlX19pdGVtXCIgKGNsaWNrKT1cImFkb3JuZXIuc2VsZWN0KGFkb3JuZXIsICRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogY29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,46 +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 tabindex=\"-1\" 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 tabindex=\"-1\" 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);
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 tabindex=\"-1\" 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 tabindex=\"-1\" 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
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fkb3JuZXJzL21hdHJpeC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9hZG9ybmVycy9tYXRyaXgtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RyxPQUFPLEVBQTBDLDBCQUEwQixFQUE0QixNQUFNLHFCQUFxQixDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT25FLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBaUQ7SUFLeEYsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxXQUFXO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6RztJQUNILENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOztnSEE1QlUsbUJBQW1CO29HQUFuQixtQkFBbUIsd0xDWGhDLGl2QkFVYzsyRkRDRCxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCLFVBRW5CLENBQUMsMEJBQTBCLENBQUM7OEJBRzNCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLOztBQTRCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIsIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IEl0ZW1WYWx1ZSwgUGFnZU1vZGVsLCBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgUXVlc3Rpb25TZWxlY3RCYXNlLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvckJhc2UsIEl0ZW1WYWx1ZVdyYXBwZXJWaWV3TW9kZWwsIE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsLCBRdWVzdGlvbkFkb3JuZXJWaWV3TW9kZWwgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvck1vZGVsQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NyZWF0b3ItbW9kZWwuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtbWF0cml4LWNlbGxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXgtY2VsbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhDZWxsQ29tcG9uZW50IGV4dGVuZHMgQ3JlYXRvck1vZGVsQ29tcG9uZW50PE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsPiB7XG4gIEBJbnB1dCgpIGNvbXBvbmVudE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGEhOiBhbnk7XG4gIEBJbnB1dCgpIGNvbnRlbnRUZW1wbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIHB1YmxpYyBhZG9ybmVyITogTWF0cml4Q2VsbFdyYXBwZXJWaWV3TW9kZWw7XG4gIHByaXZhdGUgZ2V0IGNyZWF0b3IoKTogQ3JlYXRvckJhc2Uge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEuY3JlYXRvcjtcbiAgfVxuICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uU2VsZWN0QmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5xdWVzdGlvbjtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbHVtbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLmNvbHVtbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm93KCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEucm93O1xuICB9XG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnREYXRhKSB7XG4gICAgICB0aGlzLmFkb3JuZXIgPSBuZXcgTWF0cml4Q2VsbFdyYXBwZXJWaWV3TW9kZWwodGhpcy5jcmVhdG9yLCBudWxsLCB0aGlzLnF1ZXN0aW9uLCB0aGlzLnJvdywgdGhpcy5jb2x1bW4pO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgZ2V0UHJvcGVydGllc1RvVHJhY2soKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXCJjcmVhdG9yXCIsIFwicm93XCIsIFwiY29sdW1uXCIsIFwicXVlc3Rpb25cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLW1hdHJpeC1jZWxsXCIsIE1hdHJpeENlbGxDb21wb25lbnQpO1xuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJzdmMtbWF0cml4LWNlbGxcIiAoY2xpY2spPVwiYWRvcm5lci5zZWxlY3RDb250ZXh0KGFkb3JuZXIsICRldmVudClcIiAobW91c2VvdmVyKT1cImFkb3JuZXIuaG92ZXIoJGV2ZW50LCAkZXZlbnQuY3VycmVudFRhcmdldClcIiAobW91c2VsZWF2ZSk9XCJhZG9ybmVyLmhvdmVyKCRldmVudCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpXCI+XG4gICAgPGRpdiBjbGFzcz1cInN2Yy1tYXRyaXgtY2VsbC0tc2VsZWN0ZWRcIiBbY2xhc3Muc3ZjLXZpc2libGVdPVwiYWRvcm5lci5pc1NlbGVjdGVkXCI+PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJxdWVzdGlvblwiIGNsYXNzPVwic3ZjLW1hdHJpeC1jZWxsX19xdWVzdGlvbi1jb250cm9sc1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmMtbWF0cml4LWNlbGxfX3F1ZXN0aW9uLWNvbnRyb2xzLWJ1dHRvblwiIChjbGljayk9XCJhZG9ybmVyLmVkaXRRdWVzdGlvbihhZG9ybmVyKVwiIFtrZXkyY2xpY2tdPlxuICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1lZGl0J1wiIFtzaXplXT1cIjI0XCIgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==