survey-angular-ui 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.
- package/README.md +23 -195
- package/angular-ui.d.ts +2 -0
- package/angular-ui.module.d.ts +82 -80
- package/bundles/survey-angular-ui.umd.js +4338 -0
- package/bundles/survey-angular-ui.umd.js.map +1 -0
- package/component-factory.d.ts +2 -2
- package/components/character-counter/character-counter.component.d.ts +10 -0
- package/components/rating/rating-item.component.d.ts +13 -0
- package/esm2015/angular-ui.js +105 -0
- package/esm2015/angular-ui.module.js +188 -0
- package/esm2015/base-angular.js +128 -0
- package/esm2015/comment-other.component.js +35 -0
- package/esm2015/comment.component.js +24 -0
- package/esm2015/component-factory.js +26 -0
- package/esm2015/components/action-bar/action-bar-item-dropdown.component.js +36 -0
- package/esm2015/components/action-bar/action-bar-item.component.js +26 -0
- package/esm2015/components/action-bar/action-bar.component.js +47 -0
- package/esm2015/components/action-bar/action.component.js +31 -0
- package/esm2015/components/brand-info/brand-info.component.js +16 -0
- package/esm2015/components/character-counter/character-counter.component.js +25 -0
- package/esm2015/components/dropdown/dropdown.component.js +76 -0
- package/esm2015/components/element-header/element-header.component.js +35 -0
- package/esm2015/components/element-title/dynamic-head.component.js +24 -0
- package/esm2015/components/element-title/element-title.component.js +21 -0
- package/esm2015/components/element-title/title-actions.component.js +21 -0
- package/esm2015/components/list/list-item.component.js +52 -0
- package/esm2015/components/list/list.component.js +55 -0
- package/esm2015/components/matrix-actions/detail-button/detail-button.component.js +28 -0
- package/esm2015/components/matrix-actions/drag-drop-icon/drag-drop-icon.js +24 -0
- package/esm2015/components/matrix-actions/remove-button/remove-button.component.js +28 -0
- package/esm2015/components/notifier/notifier.component.js +26 -0
- package/esm2015/components/paneldynamic-actions/paneldynamic-add-btn.component.js +38 -0
- package/esm2015/components/paneldynamic-actions/paneldynamic-next-btn.component.js +21 -0
- package/esm2015/components/paneldynamic-actions/paneldynamic-prev-btn.component.js +21 -0
- package/esm2015/components/paneldynamic-actions/paneldynamic-progress-text.component.js +17 -0
- package/esm2015/components/paneldynamic-actions/paneldynamic-remove-btn.component.js +20 -0
- package/esm2015/components/popup/modal-container.component.js +46 -0
- package/esm2015/components/popup/popup-container.component.js +59 -0
- package/esm2015/components/popup/popup-pointer.component.js +25 -0
- package/esm2015/components/popup/popup.component.js +45 -0
- package/esm2015/components/popup/popup.service.js +26 -0
- package/esm2015/components/progress/buttons/progress.component.js +71 -0
- package/esm2015/components/progress/default/progress.component.js +30 -0
- package/esm2015/components/rating/rating-item.component.js +34 -0
- package/esm2015/components/renderAs/boolean-checkbox/boolean-checkbox.component.js +24 -0
- package/esm2015/components/renderAs/boolean-radio/boolean-radio-item.component.js +25 -0
- package/esm2015/components/renderAs/boolean-radio/boolean-radio.component.js +21 -0
- package/esm2015/components/renderAs/dropdown-select/dropdown-option-item.component.js +23 -0
- package/esm2015/components/renderAs/dropdown-select/dropdown-select.component.js +41 -0
- package/esm2015/components/renderAs/rating-dropdown/rating-dropdown.component.js +21 -0
- package/esm2015/components/skeleton/skeleton.component.js +20 -0
- package/esm2015/components/skeleton.component.js +19 -0
- package/esm2015/components/survey-actions/survey-nav-btn.component.js +26 -0
- package/esm2015/components/survey-header/logo-image.component.js +24 -0
- package/esm2015/components/survey-header/survey-header.component.js +33 -0
- package/esm2015/components/svg-icon/svg-icon.component.js +68 -0
- package/esm2015/components/tagbox/tagbox-filter.component.js +26 -0
- package/esm2015/components/tagbox/tagbox-item.component.js +30 -0
- package/esm2015/components/tagbox/tagbox.component.js +52 -0
- package/esm2015/components/timer-panel/timer-panel.component.js +35 -0
- package/esm2015/element.component.js +59 -0
- package/esm2015/embedded-view-content.component.js +25 -0
- package/esm2015/errors.component.js +61 -0
- package/esm2015/page.component.js +40 -0
- package/esm2015/panel.component.js +42 -0
- package/esm2015/popup.survey.component.js +49 -0
- package/esm2015/question.component.js +58 -0
- package/esm2015/question.js +35 -0
- package/esm2015/questions/boolean.component.js +23 -0
- package/esm2015/questions/button-group/button-group-item.component.js +33 -0
- package/esm2015/questions/button-group/button-group.component.js +17 -0
- package/esm2015/questions/checkbox-item.component.js +28 -0
- package/esm2015/questions/checkbox.component.js +20 -0
- package/esm2015/questions/comment.component.js +22 -0
- package/esm2015/questions/composite.component.js +21 -0
- package/esm2015/questions/custom.component.js +27 -0
- package/esm2015/questions/customwidget.component.js +54 -0
- package/esm2015/questions/dropdown.component.js +20 -0
- package/esm2015/questions/expression.component.js +17 -0
- package/esm2015/questions/file.component.js +29 -0
- package/esm2015/questions/html.component.js +29 -0
- package/esm2015/questions/image.component.js +29 -0
- package/esm2015/questions/imagepicker-item.component.js +52 -0
- package/esm2015/questions/imagepicker.component.js +32 -0
- package/esm2015/questions/matrix-row.component.js +31 -0
- package/esm2015/questions/matrix.component.js +40 -0
- package/esm2015/questions/matrixcell.component.js +94 -0
- package/esm2015/questions/matrixdropdown.component.js +19 -0
- package/esm2015/questions/matrixdynamic.component.js +20 -0
- package/esm2015/questions/matrixrequiredheader.component.js +24 -0
- package/esm2015/questions/matrixtable.component.js +34 -0
- package/esm2015/questions/multipletext.component.js +28 -0
- package/esm2015/questions/multipletextitem.component.js +26 -0
- package/esm2015/questions/paneldynamic.component.js +82 -0
- package/esm2015/questions/radiogroup-item.component.js +22 -0
- package/esm2015/questions/radiogroup.component.js +25 -0
- package/esm2015/questions/ranking-item.component.js +27 -0
- package/esm2015/questions/ranking.component.js +34 -0
- package/esm2015/questions/rating.component.js +27 -0
- package/esm2015/questions/selectbase-item.js +37 -0
- package/esm2015/questions/selectbase.component.js +53 -0
- package/esm2015/questions/signature.component.js +20 -0
- package/esm2015/questions/tagbox.component.js +20 -0
- package/esm2015/questions/text.component.js +21 -0
- package/esm2015/row.component.js +63 -0
- package/esm2015/string-editor.component.js +29 -0
- package/esm2015/string-viewer.component.js +41 -0
- package/esm2015/survey-angular-ui.js +5 -0
- package/esm2015/survey-content.component.js +72 -0
- package/esm2015/survey-string.component.js +17 -0
- package/esm2015/survey.component.js +32 -0
- package/esm2015/template-renderer.component.js +27 -0
- package/esm2015/utils/dynamic.directive.js +54 -0
- package/esm2015/utils/ng-key2click.directive.js +69 -0
- package/esm2015/utils/ng-show.directive.js +27 -0
- package/esm2015/utils/safe-html.pipe.js +18 -0
- package/esm2015/utils/safe-url.pipe.js +33 -0
- package/esm2020/angular-ui.mjs +102 -102
- package/esm2020/angular-ui.module.mjs +183 -183
- package/esm2020/base-angular.mjs +127 -127
- package/esm2020/comment-other.component.mjs +31 -31
- package/esm2020/comment.component.mjs +20 -20
- package/esm2020/component-factory.mjs +25 -25
- package/esm2020/components/action-bar/action-bar-item-dropdown.component.mjs +31 -31
- package/esm2020/components/action-bar/action-bar-item.component.mjs +21 -21
- package/esm2020/components/action-bar/action-bar.component.mjs +42 -42
- package/esm2020/components/action-bar/action.component.mjs +26 -26
- package/esm2020/components/brand-info/brand-info.component.mjs +12 -12
- package/esm2020/components/dropdown/dropdown.component.mjs +65 -65
- package/esm2020/components/element-header/element-header.component.mjs +31 -31
- package/esm2020/components/element-title/dynamic-head.component.mjs +19 -19
- package/esm2020/components/element-title/element-title.component.mjs +16 -16
- package/esm2020/components/element-title/title-actions.component.mjs +16 -16
- package/esm2020/components/list/list-item.component.mjs +47 -47
- package/esm2020/components/list/list.component.mjs +49 -49
- package/esm2020/components/matrix-actions/detail-button/detail-button.component.mjs +24 -24
- package/esm2020/components/matrix-actions/drag-drop-icon/drag-drop-icon.mjs +19 -19
- package/esm2020/components/matrix-actions/remove-button/remove-button.component.mjs +24 -24
- package/esm2020/components/notifier/notifier.component.mjs +21 -21
- package/esm2020/components/paneldynamic-actions/paneldynamic-add-btn.component.mjs +34 -34
- package/esm2020/components/paneldynamic-actions/paneldynamic-next-btn.component.mjs +17 -17
- package/esm2020/components/paneldynamic-actions/paneldynamic-prev-btn.component.mjs +17 -17
- package/esm2020/components/paneldynamic-actions/paneldynamic-progress-text.component.mjs +13 -13
- package/esm2020/components/paneldynamic-actions/paneldynamic-remove-btn.component.mjs +16 -16
- package/esm2020/components/popup/modal-container.component.mjs +41 -41
- package/esm2020/components/popup/popup-container.component.mjs +55 -55
- package/esm2020/components/popup/popup-pointer.component.mjs +21 -21
- package/esm2020/components/popup/popup.component.mjs +42 -42
- package/esm2020/components/popup/popup.service.mjs +25 -25
- package/esm2020/components/progress/buttons/progress.component.mjs +66 -66
- package/esm2020/components/progress/default/progress.component.mjs +26 -26
- package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +20 -20
- package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +21 -21
- package/esm2020/components/renderAs/boolean-radio/boolean-radio.component.mjs +17 -17
- package/esm2020/components/renderAs/dropdown-select/dropdown-option-item.component.mjs +22 -22
- package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +37 -37
- package/esm2020/components/renderAs/rating-dropdown/rating-dropdown.component.mjs +17 -17
- package/esm2020/components/skeleton/skeleton.component.mjs +15 -15
- package/esm2020/components/skeleton.component.mjs +14 -14
- package/esm2020/components/survey-actions/survey-nav-btn.component.mjs +21 -21
- package/esm2020/components/survey-header/logo-image.component.mjs +19 -19
- package/esm2020/components/survey-header/survey-header.component.mjs +29 -29
- package/esm2020/components/svg-icon/svg-icon.component.mjs +67 -67
- package/esm2020/components/tagbox/tagbox-filter.component.mjs +21 -21
- package/esm2020/components/tagbox/tagbox-item.component.mjs +26 -26
- package/esm2020/components/tagbox/tagbox.component.mjs +43 -43
- package/esm2020/components/timer-panel/timer-panel.component.mjs +31 -31
- package/esm2020/element.component.mjs +54 -54
- package/esm2020/embedded-view-content.component.mjs +23 -23
- package/esm2020/errors.component.mjs +57 -57
- package/esm2020/page.component.mjs +34 -34
- package/esm2020/panel.component.mjs +37 -37
- package/esm2020/popup.survey.component.mjs +43 -43
- package/esm2020/question.component.mjs +53 -53
- package/esm2020/question.mjs +32 -32
- package/esm2020/questions/boolean.component.mjs +19 -19
- package/esm2020/questions/button-group/button-group-item.component.mjs +28 -28
- package/esm2020/questions/button-group/button-group.component.mjs +13 -13
- package/esm2020/questions/checkbox-item.component.mjs +23 -23
- package/esm2020/questions/checkbox.component.mjs +16 -16
- package/esm2020/questions/comment.component.mjs +17 -17
- package/esm2020/questions/composite.component.mjs +20 -20
- package/esm2020/questions/custom.component.mjs +26 -26
- package/esm2020/questions/customwidget.component.mjs +50 -50
- package/esm2020/questions/dropdown.component.mjs +16 -16
- package/esm2020/questions/expression.component.mjs +16 -16
- package/esm2020/questions/file.component.mjs +24 -24
- package/esm2020/questions/html.component.mjs +24 -24
- package/esm2020/questions/image.component.mjs +25 -25
- package/esm2020/questions/imagepicker-item.component.mjs +47 -47
- package/esm2020/questions/imagepicker.component.mjs +28 -28
- package/esm2020/questions/matrix-row.component.mjs +26 -26
- package/esm2020/questions/matrix.component.mjs +35 -35
- package/esm2020/questions/matrixcell.component.mjs +89 -89
- package/esm2020/questions/matrixdropdown.component.mjs +15 -15
- package/esm2020/questions/matrixdynamic.component.mjs +16 -16
- package/esm2020/questions/matrixrequiredheader.component.mjs +23 -23
- package/esm2020/questions/matrixtable.component.mjs +30 -30
- package/esm2020/questions/multipletext.component.mjs +24 -24
- package/esm2020/questions/multipletextitem.component.mjs +22 -22
- package/esm2020/questions/paneldynamic.component.mjs +78 -78
- package/esm2020/questions/radiogroup-item.component.mjs +17 -17
- package/esm2020/questions/radiogroup.component.mjs +21 -21
- package/esm2020/questions/ranking-item.component.mjs +23 -23
- package/esm2020/questions/ranking.component.mjs +30 -30
- package/esm2020/questions/rating.component.mjs +22 -22
- package/esm2020/questions/selectbase-item.mjs +32 -32
- package/esm2020/questions/selectbase.component.mjs +49 -49
- package/esm2020/questions/signature.component.mjs +16 -16
- package/esm2020/questions/tagbox.component.mjs +16 -16
- package/esm2020/questions/text.component.mjs +15 -15
- package/esm2020/row.component.mjs +57 -57
- package/esm2020/string-editor.component.mjs +25 -25
- package/esm2020/string-viewer.component.mjs +36 -36
- package/esm2020/survey-angular-ui.mjs +4 -4
- package/esm2020/survey-content.component.mjs +68 -68
- package/esm2020/survey-string.component.mjs +16 -16
- package/esm2020/survey.component.mjs +31 -31
- package/esm2020/template-renderer.component.mjs +22 -22
- package/esm2020/utils/dynamic.directive.mjs +51 -51
- package/esm2020/utils/ng-key2click.directive.mjs +68 -68
- package/esm2020/utils/ng-show.directive.mjs +26 -26
- package/esm2020/utils/safe-html.pipe.mjs +17 -17
- package/esm2020/utils/safe-url.pipe.mjs +32 -32
- package/fesm2015/survey-angular-ui.js +3206 -0
- package/fesm2015/survey-angular-ui.js.map +1 -0
- package/fesm2015/survey-angular-ui.mjs +2864 -2864
- package/fesm2020/survey-angular-ui.mjs +2839 -2839
- package/package.json +6 -19
- package/utils/dynamic.directive.d.ts +3 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../element-title/element-title.component";
|
|
4
|
+
import * as i2 from "../../survey-string.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "../../utils/dynamic.directive";
|
|
7
|
+
export class SurveyHeaderComponent {
|
|
8
|
+
constructor(viewContainerRef, changeDetectorRef) {
|
|
9
|
+
this.viewContainerRef = viewContainerRef;
|
|
10
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
this.survey.afterRenderHeader(this.viewContainerRef.element.nativeElement);
|
|
14
|
+
this.survey.locLogo.onChanged = () => {
|
|
15
|
+
this.changeDetectorRef.detectChanges();
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this.survey.locLogo.onChanged = () => { };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
SurveyHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyHeaderComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
SurveyHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: { survey: "survey" }, ngImport: i0, template: "<div *ngIf=\"survey.isLogoBefore\" [class]=\"survey.logoClassNames\">\n <ng-template [component]=\"{ name: survey.getElementWrapperComponentName(survey, 'logo-image'), data: { data: survey.getElementWrapperComponentData(survey, 'logo-image') } }\"></ng-template>\n</div>\n<div\n *ngIf=\"survey.renderedHasTitle\"\n [class]=\"survey.css.headerText\"\n [style.maxWidth]=\"survey.titleMaxWidth\"\n>\n <sv-ng-element-title [element]=\"survey\"></sv-ng-element-title>\n <h5 *ngIf=\"survey.renderedHasDescription\" [class]=\"survey.css.description\" [model]=\"survey.locDescription\" sv-ng-string></h5>\n</div>\n\n<div *ngIf=\"survey.isLogoAfter\" [class]=\"survey.logoClassNames\">\n <ng-template [component]=\"{ name: survey.getElementWrapperComponentName(survey, 'logo-image'), data: { data: survey.getElementWrapperComponentData(survey, 'logo-image') } }\"></ng-template>\n</div>\n<div [class]=\"survey.css.headerClose\"></div>", components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SurveyHeaderComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{
|
|
27
|
+
selector: "'[sv-ng-survey-header]'",
|
|
28
|
+
templateUrl: "survey-header.component.html"
|
|
29
|
+
}]
|
|
30
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { survey: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zdXJ2ZXktaGVhZGVyL3N1cnZleS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3VydmV5LWhlYWRlci9zdXJ2ZXktaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU9oSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLGdCQUFrQyxFQUFVLGlCQUFvQztRQUFoRixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFDeEcsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7bUhBWFUscUJBQXFCO3VHQUFyQixxQkFBcUIsNkZDUGxDLHM2QkFlNEM7NEZEUi9CLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzt1SUFFVSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCInW3N2LW5nLXN1cnZleS1oZWFkZXJdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCJzdXJ2ZXktaGVhZGVyLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc3VydmV5ITogU3VydmV5TW9kZWw7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1cnZleS5hZnRlclJlbmRlckhlYWRlcih0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnN1cnZleS5sb2NMb2dvLm9uQ2hhbmdlZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdXJ2ZXkubG9jTG9nby5vbkNoYW5nZWQgPSAoKSA9PiB7fTtcbiAgfVxufSIsIjxkaXYgKm5nSWY9XCJzdXJ2ZXkuaXNMb2dvQmVmb3JlXCIgW2NsYXNzXT1cInN1cnZleS5sb2dvQ2xhc3NOYW1lc1wiPlxuICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudE5hbWUoc3VydmV5LCAnbG9nby1pbWFnZScpLCBkYXRhOiB7IGRhdGE6IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudERhdGEoc3VydmV5LCAnbG9nby1pbWFnZScpIH0gfVwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxkaXZcbiAgKm5nSWY9XCJzdXJ2ZXkucmVuZGVyZWRIYXNUaXRsZVwiXG4gIFtjbGFzc109XCJzdXJ2ZXkuY3NzLmhlYWRlclRleHRcIlxuICBbc3R5bGUubWF4V2lkdGhdPVwic3VydmV5LnRpdGxlTWF4V2lkdGhcIlxuPlxuICA8c3YtbmctZWxlbWVudC10aXRsZSBbZWxlbWVudF09XCJzdXJ2ZXlcIj48L3N2LW5nLWVsZW1lbnQtdGl0bGU+XG4gIDxoNSAqbmdJZj1cInN1cnZleS5yZW5kZXJlZEhhc0Rlc2NyaXB0aW9uXCIgW2NsYXNzXT1cInN1cnZleS5jc3MuZGVzY3JpcHRpb25cIiBbbW9kZWxdPVwic3VydmV5LmxvY0Rlc2NyaXB0aW9uXCIgc3Ytbmctc3RyaW5nPjwvaDU+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cInN1cnZleS5pc0xvZ29BZnRlclwiIFtjbGFzc109XCJzdXJ2ZXkubG9nb0NsYXNzTmFtZXNcIj5cbiAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnROYW1lKHN1cnZleSwgJ2xvZ28taW1hZ2UnKSwgZGF0YTogeyBkYXRhOiBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnREYXRhKHN1cnZleSwgJ2xvZ28taW1hZ2UnKSB9IH1cIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48ZGl2IFtjbGFzc109XCJzdXJ2ZXkuY3NzLmhlYWRlckNsb3NlXCI+PC9kaXY+Il19
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from "@angular/core";
|
|
2
|
+
import * as Survey from "survey-core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SvgIconComponent {
|
|
5
|
+
constructor(viewContaierRef) {
|
|
6
|
+
this.viewContaierRef = viewContaierRef;
|
|
7
|
+
}
|
|
8
|
+
createSvg() {
|
|
9
|
+
if (!!this.iconName) {
|
|
10
|
+
Survey.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
get rootClass() {
|
|
14
|
+
let className = "sv-svg-icon";
|
|
15
|
+
if (!this.css && !!this.partCss) {
|
|
16
|
+
className += " " + this.partCss;
|
|
17
|
+
}
|
|
18
|
+
else if (!!this.css) {
|
|
19
|
+
className = this.css;
|
|
20
|
+
}
|
|
21
|
+
return className;
|
|
22
|
+
}
|
|
23
|
+
get rootRole() {
|
|
24
|
+
return "img";
|
|
25
|
+
}
|
|
26
|
+
get ariaLabel() {
|
|
27
|
+
return this.title;
|
|
28
|
+
}
|
|
29
|
+
ngOnChanges() {
|
|
30
|
+
const el = this.viewContaierRef.element.nativeElement;
|
|
31
|
+
el.innerHTML = "";
|
|
32
|
+
el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use"));
|
|
33
|
+
this.createSvg();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
SvgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgIconComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
SvgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: { size: "size", width: "width", height: "height", iconName: "iconName", partCss: "partCss", css: "css", title: "title" }, host: { properties: { "class": "this.rootClass", "[attr.role]": "this.rootRole", "[attr.aria-label]": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0, template: "", isInline: true });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgIconComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: "'[sv-ng-svg-icon]'",
|
|
42
|
+
template: ""
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { size: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], width: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], height: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], iconName: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], partCss: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], css: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], title: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], rootClass: [{
|
|
59
|
+
type: HostBinding,
|
|
60
|
+
args: ["class"]
|
|
61
|
+
}], rootRole: [{
|
|
62
|
+
type: HostBinding,
|
|
63
|
+
args: ["[attr.role]"]
|
|
64
|
+
}], ariaLabel: [{
|
|
65
|
+
type: HostBinding,
|
|
66
|
+
args: ["[attr.aria-label]"]
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3ZnLWljb24vc3ZnLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO0lBQ3JELENBQUM7SUFDTyxTQUFTO1FBQ2YsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFjLENBQUMsU0FBUyxDQUN2QixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsSUFBMEIsU0FBUztRQUNqQyxJQUFJLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDOUIsSUFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDOUIsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO2FBQU0sSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNwQixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFnQyxRQUFRO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQXNDLFNBQVM7UUFDN0MsT0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXO1FBQ1QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOzs4R0ExQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNlVBRmpCLEVBQUU7NEZBRUQsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxFQUFFO2lCQUNiO3VHQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBZW9CLFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTztnQkFTWSxRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWE7Z0JBR1ksU0FBUztzQkFBOUMsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIFN1cnZleSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIidbc3Ytbmctc3ZnLWljb25dJ1wiLFxuICB0ZW1wbGF0ZTogXCJcIlxufSlcbmV4cG9ydCBjbGFzcyBTdmdJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2l6ZT86IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgaWNvbk5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhcnRDc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNzcz86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaWVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVTdmcoKSB7XG4gICAgaWYoISF0aGlzLmljb25OYW1lKSB7XG4gICAgICAoU3VydmV5IGFzIGFueSkuY3JlYXRlU3ZnKFxuICAgICAgICB0aGlzLnNpemUsXG4gICAgICAgIHRoaXMud2lkdGgsXG4gICAgICAgIHRoaXMuaGVpZ2h0LFxuICAgICAgICB0aGlzLmljb25OYW1lLFxuICAgICAgICB0aGlzLnZpZXdDb250YWllclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMudGl0bGVcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGdldCByb290Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gXCJzdi1zdmctaWNvblwiO1xuICAgIGlmKCF0aGlzLmNzcyAmJiAhIXRoaXMucGFydENzcykge1xuICAgICAgY2xhc3NOYW1lICs9IFwiIFwiICsgdGhpcy5wYXJ0Q3NzO1xuICAgIH0gZWxzZSBpZighIXRoaXMuY3NzKSB7XG4gICAgICBjbGFzc05hbWUgPSB0aGlzLmNzcztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJbYXR0ci5yb2xlXVwiKSBnZXQgcm9vdFJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJpbWdcIjtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJbYXR0ci5hcmlhLWxhYmVsXVwiKSBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIDxzdHJpbmc+dGhpcy50aXRsZTtcbiAgfVxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaWVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBlbC5pbm5lckhUTUwgPSBcIlwiO1xuICAgIGVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsIFwidXNlXCIpKTtcbiAgICB0aGlzLmNyZWF0ZVN2ZygpO1xuICB9XG59Il19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "../../base-angular";
|
|
3
|
+
import { AngularComponentFactory } from "../../component-factory";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
export class TagboxFilterComponent extends BaseAngular {
|
|
7
|
+
getModel() {
|
|
8
|
+
return this.model;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
TagboxFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
TagboxFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <input\n type=\"text\"\n autocomplete=\"off\"\n [(ngModel)]=\"model.filterString\"\n [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\"\n [attr.inputmode]=\"model.inputMode\"\n [attr.role]=\"model.filterStringEnabled ? question.ariaRole : null\"\n [attr.readonly]=\"!model.searchEnabled ? true : null\"\n [attr.disabled]=\"question.isInputReadOnly ? true : null\"\n [attr.size]=\"!model.filterString ? 1 : null\"\n [attr.aria-label]=\"question.placeholder\"\n [attr.placeholder]=\"model.filterStringPlaceholder\"\n (keydown)=\"model.inputKeyHandler($event)\"\n (blur)=\"model.onBlur($event)\"\n />\n</ng-template>\n", styles: [":host{display:none}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxFilterComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: "sv-tagbox-filter",
|
|
17
|
+
templateUrl: "./tagbox-filter.component.html",
|
|
18
|
+
styleUrls: ["../../hide-host.scss"]
|
|
19
|
+
}]
|
|
20
|
+
}], propDecorators: { model: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], question: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
AngularComponentFactory.Instance.registerComponent("sv-tagbox-filter", TagboxFilterComponent);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90YWdib3gvdGFnYm94LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90YWdib3gvdGFnYm94LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU9sRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBVztJQUlwRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O21IQU5VLHFCQUFxQjt1R0FBckIscUJBQXFCLGlJQ1ZsQyxvdEJBa0JBOzRGRFJhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEM7OEJBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7O0FBT1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwsIFF1ZXN0aW9uVGFnYm94TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LXRhZ2JveC1maWx0ZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3gtZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGFnYm94RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIge1xuICBASW5wdXQoKSBtb2RlbCE6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWw7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25UYWdib3hNb2RlbDtcblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXRhZ2JveC1maWx0ZXJcIiwgVGFnYm94RmlsdGVyQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8aW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLmZpbHRlclN0cmluZ1wiXG4gICAgW2F0dHIuaWRdPVwicXVlc3Rpb24uZ2V0SW5wdXRJZCgpXCJcbiAgICBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5maWx0ZXJTdHJpbmdJbnB1dFwiXG4gICAgW2F0dHIuaW5wdXRtb2RlXT1cIm1vZGVsLmlucHV0TW9kZVwiXG4gICAgW2F0dHIucm9sZV09XCJtb2RlbC5maWx0ZXJTdHJpbmdFbmFibGVkID8gcXVlc3Rpb24uYXJpYVJvbGUgOiBudWxsXCJcbiAgICBbYXR0ci5yZWFkb25seV09XCIhbW9kZWwuc2VhcmNoRW5hYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJxdWVzdGlvbi5pc0lucHV0UmVhZE9ubHkgPyB0cnVlIDogbnVsbFwiXG4gICAgW2F0dHIuc2l6ZV09XCIhbW9kZWwuZmlsdGVyU3RyaW5nID8gMSA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24ucGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIm1vZGVsLmZpbHRlclN0cmluZ1BsYWNlaG9sZGVyXCJcbiAgICAoa2V5ZG93bik9XCJtb2RlbC5pbnB1dEtleUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwibW9kZWwub25CbHVyKCRldmVudClcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "../../base-angular";
|
|
3
|
+
import { AngularComponentFactory } from "../../component-factory";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../survey-string.component";
|
|
6
|
+
import * as i2 from "../svg-icon/svg-icon.component";
|
|
7
|
+
export class TagboxItemComponent extends BaseAngular {
|
|
8
|
+
removeItem(event) {
|
|
9
|
+
this.question.dropdownListModel.deselectItem(this.item.value);
|
|
10
|
+
event.stopPropagation();
|
|
11
|
+
}
|
|
12
|
+
getModel() {
|
|
13
|
+
return this.item;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
TagboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
TagboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: { item: "item", question: "question" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sv-tagbox__item\">\n <div class=\"sv-tagbox__item-text\" [model]=\"item.locText\" sv-ng-string></div> \n <div [class]=\"question.cssClasses.cleanItemButton\" (click)=\"removeItem($event)\">\n <svg [iconName]=\"question.cssClasses.cleanItemButtonIconId\" [partCss]=\"question.cssClasses.cleanItemButtonSvg\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxItemComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{
|
|
21
|
+
selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'",
|
|
22
|
+
templateUrl: "./tagbox-item.component.html",
|
|
23
|
+
}]
|
|
24
|
+
}], propDecorators: { item: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], question: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
AngularComponentFactory.Instance.registerComponent("sv-tagbox-item", TagboxItemComponent);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3gtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNbEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQVc7SUFJbEQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7aUhBWFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsdUpDVGhDLGlZQUtNOzRGRElPLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzs4QkFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSzs7QUFZUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSXRlbVZhbHVlLCBRdWVzdGlvblRhZ2JveE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gtaXRlbSwgJ1tzdi1uZy10YWdib3gtaXRlbV0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFnYm94LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgVGFnYm94SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyIHtcbiAgQElucHV0KCkgaXRlbSE6IEl0ZW1WYWx1ZTtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvblRhZ2JveE1vZGVsO1xuXG4gIHJlbW92ZUl0ZW0oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucXVlc3Rpb24uZHJvcGRvd25MaXN0TW9kZWwuZGVzZWxlY3RJdGVtKHRoaXMuaXRlbS52YWx1ZSk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtdGFnYm94LWl0ZW1cIiwgVGFnYm94SXRlbUNvbXBvbmVudCk7IiwiPGRpdiBjbGFzcz1cInN2LXRhZ2JveF9faXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwic3YtdGFnYm94X19pdGVtLXRleHRcIiBbbW9kZWxdPVwiaXRlbS5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPjwvZGl2PiAgXG4gIDxkaXYgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2xlYW5JdGVtQnV0dG9uXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0oJGV2ZW50KVwiPlxuICAgIDxzdmcgW2ljb25OYW1lXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2xlYW5JdGVtQnV0dG9uSWNvbklkXCIgW3BhcnRDc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jbGVhbkl0ZW1CdXR0b25TdmdcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { DropdownMultiSelectListModel } from "survey-core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./tagbox-item.component";
|
|
5
|
+
import * as i2 from "../svg-icon/svg-icon.component";
|
|
6
|
+
import * as i3 from "../popup/popup.component";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "../../utils/dynamic.directive";
|
|
9
|
+
import * as i6 from "../../utils/ng-show.directive";
|
|
10
|
+
export class TagboxComponent {
|
|
11
|
+
get dropdownModel() {
|
|
12
|
+
return this.dropdownListModel;
|
|
13
|
+
}
|
|
14
|
+
getModel() {
|
|
15
|
+
return this.model;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.dropdownListModel = this.model.dropdownListModel || new DropdownMultiSelectListModel(this.model);
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
var _a;
|
|
22
|
+
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
23
|
+
}
|
|
24
|
+
click(event) {
|
|
25
|
+
var _a;
|
|
26
|
+
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
|
|
27
|
+
}
|
|
28
|
+
clear(event) {
|
|
29
|
+
var _a;
|
|
30
|
+
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClear(event);
|
|
31
|
+
}
|
|
32
|
+
keyhandler(event) {
|
|
33
|
+
var _a;
|
|
34
|
+
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
|
|
35
|
+
}
|
|
36
|
+
blur(event) {
|
|
37
|
+
var _a;
|
|
38
|
+
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onBlur(event);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
TagboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"dropdownModel.inputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keydown)=\"keyhandler($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedChoices\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.clearCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <div>{{ model.readOnlyText }}</div>\n </div>\n</div>", components: [{ type: i1.TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i3.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TagboxComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: "sv-ng-tagbox, '[sv-ng-tagbox]'",
|
|
47
|
+
templateUrl: "./tagbox.component.html"
|
|
48
|
+
}]
|
|
49
|
+
}], propDecorators: { model: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxXQUFXOztRQUNULE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVU7O1FBQ2QsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQVU7O1FBQ2QsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7O1FBQ25CLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFVOztRQUNiLE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7NkdBL0JRLGVBQWU7aUdBQWYsZUFBZSxrR0NQNUIsMjREQXlCTTs0RkRsQk8sZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUseUJBQXlCO2lCQUN2Qzs4QkFFWSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gsICdbc3YtbmctdGFnYm94XSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3guY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBUYWdib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgICBwcml2YXRlIGRyb3Bkb3duTGlzdE1vZGVsITogRHJvcGRvd25NdWx0aVNlbGVjdExpc3RNb2RlbDtcblxuICAgIGdldCBkcm9wZG93bk1vZGVsKCk6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwge1xuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw7XG4gICAgfVxuXG4gICAgZ2V0TW9kZWwoKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWwgPSB0aGlzLm1vZGVsLmRyb3Bkb3duTGlzdE1vZGVsIHx8IG5ldyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8uZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIGNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xpY2soZXZlbnQpO1xuICAgIH1cbiAgICBjbGVhcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgICB9XG4gICAga2V5aGFuZGxlcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5rZXlIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gICAgYmx1cihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXloYW5kbGVyKCRldmVudClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgICAgICA8c3YtbmctdGFnYm94LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc2VsZWN0ZWRDaG9pY2VzXCIgW2l0ZW1dPVwiaXRlbVwiIFtxdWVzdGlvbl09XCJtb2RlbFwiPlxuICAgICAgICAgICAgICAgIDwvc3YtbmctdGFnYm94LWl0ZW0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LXRhZ2JveC1maWx0ZXInLCBkYXRhOiB7IG1vZGVsOiBkcm9wZG93bk1vZGVsLCBxdWVzdGlvbjogbW9kZWwgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIobW9kZWwuYWxsb3dDbGVhciAmJiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkKVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgW3Zpc2libGVdPVwiIW1vZGVsLmlzRW1wdHkoKVwiPlxuICAgICAgICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogJ3N2LXN2Zy1pY29uJywgcGFyYW1zOiB7IGNzczogbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2ZywgaWNvbk5hbWU6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWQsIHNpemU6ICdhdXRvJyB9IH0gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWRcIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uU3ZnXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFyQ2FwdGlvblwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxzdi1uZy1wb3B1cCAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW3BvcHVwTW9kZWxdPVwibW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPGRpdiBkaXNhYmxlZCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+XG4gICAgICAgIDxkaXY+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "../../base-angular";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../svg-icon/svg-icon.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class TimerPanelComponent extends BaseAngular {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.circleLengthValue = 440;
|
|
10
|
+
}
|
|
11
|
+
getStateElement() {
|
|
12
|
+
return this.model;
|
|
13
|
+
}
|
|
14
|
+
getModel() {
|
|
15
|
+
return this.model;
|
|
16
|
+
}
|
|
17
|
+
get circleLength() {
|
|
18
|
+
return this.circleLengthValue;
|
|
19
|
+
}
|
|
20
|
+
get progress() {
|
|
21
|
+
return -this.model.progress * this.circleLength;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
TimerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
TimerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimerPanelComponent, selector: "sv-timer-panel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"model.showTimerAsClock\" [class]=\"model.rootCss\">\n <svg *ngIf=\"model.showProgress\" [class]=\"model.getProgressCss()\" [style.stroke-dasharray]=\"circleLength\" [style.stroke-dashoffset]=\"progress\" [size]=\"'auto'\" [iconName]=\"'icon-timercircle'\" sv-ng-svg-icon></svg>\n <div [class]=\"model.textContainerCss\">\n <span [class]=\"model.majorTextCss\">{{ model.clockMajorText }}</span>\n <span *ngIf=\"model.clockMinorText\" [class]=\"model.minorTextCss\">{{ model.clockMinorText }}</span>\n </div>\n</div>\n<div *ngIf=\"!model.showTimerAsClock\" [class]='model.survey.getCss().timerRoot'>{{model.text}}</div>", 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"] }] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimerPanelComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: "sv-timer-panel",
|
|
30
|
+
templateUrl: "./timer-panel.component.html",
|
|
31
|
+
}]
|
|
32
|
+
}], propDecorators: { model: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUE2QjtJQVB0RTs7UUFTbUIsc0JBQWlCLEdBQUcsR0FBRyxDQUFDO0tBYzFDO0lBWlcsZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNsRCxDQUFDOztpSEFmVSxtQkFBbUI7cUdBQW5CLG1CQUFtQix5R0NYaEMsK29CQU9tRzs0RkRJdEYsbUJBQW1CO2tCQVAvQixTQUFTO21CQUNSO29CQUNFLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw4QkFBOEI7aUJBQzVDOzhCQUlRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZSwgU3VydmV5VGltZXJNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5cbkBDb21wb25lbnQoXG4gIHtcbiAgICBzZWxlY3RvcjogXCJzdi10aW1lci1wYW5lbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGltZXItcGFuZWwuY29tcG9uZW50Lmh0bWxcIixcbiAgfVxuKVxuXG5leHBvcnQgY2xhc3MgVGltZXJQYW5lbENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFN1cnZleVRpbWVyTW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlUaW1lck1vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IGNpcmNsZUxlbmd0aFZhbHVlID0gNDQwO1xuXG4gIHByb3RlY3RlZCBnZXRTdGF0ZUVsZW1lbnQoKTogQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFN1cnZleVRpbWVyTW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXQgY2lyY2xlTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2lyY2xlTGVuZ3RoVmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBwcm9ncmVzcygpOiBudW1iZXIge1xuICAgIHJldHVybiAtdGhpcy5tb2RlbC5wcm9ncmVzcyAqIHRoaXMuY2lyY2xlTGVuZ3RoO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd1RpbWVyQXNDbG9ja1wiIFtjbGFzc109XCJtb2RlbC5yb290Q3NzXCI+XG4gICAgPHN2ZyAqbmdJZj1cIm1vZGVsLnNob3dQcm9ncmVzc1wiIFtjbGFzc109XCJtb2RlbC5nZXRQcm9ncmVzc0NzcygpXCIgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXldPVwiY2lyY2xlTGVuZ3RoXCIgW3N0eWxlLnN0cm9rZS1kYXNob2Zmc2V0XT1cInByb2dyZXNzXCIgW3NpemVdPVwiJ2F1dG8nXCIgW2ljb25OYW1lXT1cIidpY29uLXRpbWVyY2lyY2xlJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLnRleHRDb250YWluZXJDc3NcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLm1ham9yVGV4dENzc1wiPnt7IG1vZGVsLmNsb2NrTWFqb3JUZXh0IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIm1vZGVsLmNsb2NrTWlub3JUZXh0XCIgW2NsYXNzXT1cIm1vZGVsLm1pbm9yVGV4dENzc1wiPnt7IG1vZGVsLmNsb2NrTWlub3JUZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIW1vZGVsLnNob3dUaW1lckFzQ2xvY2tcIiBbY2xhc3NdPSdtb2RlbC5zdXJ2ZXkuZ2V0Q3NzKCkudGltZXJSb290Jz57e21vZGVsLnRleHR9fTwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "./base-angular";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "./utils/dynamic.directive";
|
|
6
|
+
export class ElementComponent extends BaseAngular {
|
|
7
|
+
getModel() {
|
|
8
|
+
return this.model;
|
|
9
|
+
}
|
|
10
|
+
get elementComponentName() {
|
|
11
|
+
return this.model.isPanel ? "panel" : "question";
|
|
12
|
+
}
|
|
13
|
+
get componentName() {
|
|
14
|
+
const survey = this.surveyModel;
|
|
15
|
+
if (!!survey) {
|
|
16
|
+
const name = survey.getElementWrapperComponentName(this.model);
|
|
17
|
+
if (!!name) {
|
|
18
|
+
return name;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return this.elementComponentName;
|
|
22
|
+
}
|
|
23
|
+
get rootStyle() {
|
|
24
|
+
//use this if to check if cssClassses are calculated and allowRootStyle flag was set
|
|
25
|
+
if (!!this.model.cssClasses) {
|
|
26
|
+
return this.model.rootStyle;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get componentData() {
|
|
33
|
+
const survey = this.surveyModel;
|
|
34
|
+
let data;
|
|
35
|
+
if (!!survey) {
|
|
36
|
+
data = survey.getElementWrapperComponentData(this.model);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
componentName: this.elementComponentName,
|
|
40
|
+
componentData: {
|
|
41
|
+
model: this.model,
|
|
42
|
+
data: data
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
ElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model\" [class]=\"model.cssClasses.questionWrapper\" [style]=\"rootStyle\" (focusin)=\"model.focusIn()\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{
|
|
52
|
+
selector: "sv-ng-element",
|
|
53
|
+
templateUrl: "./element.component.html",
|
|
54
|
+
styleUrls: ["./hide-host.scss"]
|
|
55
|
+
}]
|
|
56
|
+
}], propDecorators: { model: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQWtDO0lBRTVELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFjLG9CQUFvQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFBRyxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsb0ZBQW9GO1FBQ3BGLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7U0FDN0I7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUksSUFBUyxDQUFDO1FBQ2QsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDeEMsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGLENBQUM7SUFDSixDQUFDOzs4R0F2Q1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isd0dDVDdCLHFSQUljOzRGREtELGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2hDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFuZWxNb2RlbCwgUXVlc3Rpb24sIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctZWxlbWVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2VsZW1lbnQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2hpZGUtaG9zdC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYW5lbE1vZGVsIHwgUXVlc3Rpb24+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb247XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb24ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHByb3RlY3RlZCBnZXQgZWxlbWVudENvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5pc1BhbmVsID8gXCJwYW5lbFwiOiBcInF1ZXN0aW9uXCI7XG4gIH1cbiAgcHVibGljIGdldCBjb21wb25lbnROYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3VydmV5ID0gdGhpcy5zdXJ2ZXlNb2RlbCBhcyBTdXJ2ZXlNb2RlbDtcbiAgICBpZighIXN1cnZleSkge1xuICAgICAgY29uc3QgbmFtZSA9IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudE5hbWUodGhpcy5tb2RlbCk7XG4gICAgICBpZighIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRDb21wb25lbnROYW1lO1xuICB9XG4gIHB1YmxpYyBnZXQgcm9vdFN0eWxlKCkge1xuICAgIC8vdXNlIHRoaXMgaWYgdG8gY2hlY2sgaWYgY3NzQ2xhc3NzZXMgYXJlIGNhbGN1bGF0ZWQgYW5kIGFsbG93Um9vdFN0eWxlIGZsYWcgd2FzIHNldFxuICAgIGlmKCEhdGhpcy5tb2RlbC5jc3NDbGFzc2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC5yb290U3R5bGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBjb21wb25lbnREYXRhKCk6IGFueSB7XG4gICAgY29uc3Qgc3VydmV5ID0gdGhpcy5zdXJ2ZXlNb2RlbCBhcyBTdXJ2ZXlNb2RlbDtcbiAgICBsZXQgZGF0YTogYW55O1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICBkYXRhID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50RGF0YSh0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IHRoaXMuZWxlbWVudENvbXBvbmVudE5hbWUsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIG1vZGVsOiB0aGlzLm1vZGVsLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiISFtb2RlbFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnF1ZXN0aW9uV3JhcHBlclwiIFtzdHlsZV09XCJyb290U3R5bGVcIiAoZm9jdXNpbik9XCJtb2RlbC5mb2N1c0luKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, TemplateRef, ViewChild } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class EmbeddedViewContentComponent {
|
|
4
|
+
constructor(viewContainerRef) {
|
|
5
|
+
this.viewContainerRef = viewContainerRef;
|
|
6
|
+
}
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!!this.templateRef) {
|
|
10
|
+
this.embeddedView = (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(this.templateRef);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
EmbeddedViewContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedViewContentComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
EmbeddedViewContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", isInline: true });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedViewContentComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{
|
|
19
|
+
template: "",
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateRef: [{
|
|
22
|
+
type: ViewChild,
|
|
23
|
+
args: ["template", { read: TemplateRef, static: true }]
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJCLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQU03RyxNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFlBQXNCLGdCQUFtQztRQUFuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO0lBQUcsQ0FBQztJQUU3RCxRQUFROztRQUNOLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0gsQ0FBQzs7MEhBVFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsd0lBQ1IsV0FBVywyQ0FKaEMsRUFBRTs0RkFHRCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7dUdBRzZELFdBQVc7c0JBQXRFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbWJlZGRlZFZpZXdSZWYsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogXCJcIixcbn0pXG5cbmV4cG9ydCBjbGFzcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChcInRlbXBsYXRlXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PlxuICBwcm90ZWN0ZWQgZW1iZWRkZWRWaWV3PzogRW1iZWRkZWRWaWV3UmVmPEhUTUxFbGVtZW50PjtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKCEhdGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5lbWJlZGRlZFZpZXcgPSB0aGlzLnZpZXdDb250YWluZXJSZWY/LmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICB9XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Component, HostBinding, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { TooltipManager } from "survey-core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./survey-string.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class ErrorsComponent {
|
|
7
|
+
constructor(viewContainerRef) {
|
|
8
|
+
this.viewContainerRef = viewContainerRef;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
if (this.location == "tooltip") {
|
|
12
|
+
this.tooltipManager = new TooltipManager(this.viewContainerRef.element.nativeElement);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
ngOnDestroy() {
|
|
16
|
+
if (!!this.tooltipManager) {
|
|
17
|
+
this.tooltipManager.dispose();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
get role() {
|
|
21
|
+
return "alert";
|
|
22
|
+
}
|
|
23
|
+
get id() {
|
|
24
|
+
return this.element.id + "_errors";
|
|
25
|
+
}
|
|
26
|
+
get ariaLive() {
|
|
27
|
+
return "polite";
|
|
28
|
+
}
|
|
29
|
+
get class() {
|
|
30
|
+
return this.element.cssError;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ErrorsComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
ErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "attr.role": "this.role", "id": "this.id", "attr.aria-live": "this.ariaLive", "class": "this.class" } }, viewQueries: [{ propertyName: "errorsContainerRef", first: true, predicate: ["errorsContainer"], descendants: true, static: true }], ngImport: i0, template: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ErrorsComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{
|
|
38
|
+
templateUrl: "./errors.component.html",
|
|
39
|
+
selector: "'[sv-ng-errors]'"
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { element: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], location: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], errorsContainerRef: [{
|
|
46
|
+
type: ViewChild,
|
|
47
|
+
args: ["errorsContainer", { static: true }]
|
|
48
|
+
}], role: [{
|
|
49
|
+
type: HostBinding,
|
|
50
|
+
args: ["attr.role"]
|
|
51
|
+
}], id: [{
|
|
52
|
+
type: HostBinding,
|
|
53
|
+
args: ["id"]
|
|
54
|
+
}], ariaLive: [{
|
|
55
|
+
type: HostBinding,
|
|
56
|
+
args: ["attr.aria-live"]
|
|
57
|
+
}], class: [{
|
|
58
|
+
type: HostBinding,
|
|
59
|
+
args: ["class"]
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL2Vycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1QixXQUFXLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBdUIsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUMxRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxJQUE4QixJQUFJO1FBQ2hDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUF1QixFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFtQyxRQUFRO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUEwQixLQUFLO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7NkdBM0JVLGVBQWU7aUdBQWYsZUFBZSxrWENQNUIsK1VBT007NEZEQU8sZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjt1R0FFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDMEMsa0JBQWtCO3NCQUFqRSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFhaEIsSUFBSTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUdELEVBQUU7c0JBQXhCLFdBQVc7dUJBQUMsSUFBSTtnQkFHa0IsUUFBUTtzQkFBMUMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBR0gsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZSwgU3VydmV5RWxlbWVudCwgVG9vbHRpcE1hbmFnZXIgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiBcIi4vZXJyb3JzLmNvbXBvbmVudC5odG1sXCIsXG4gIHNlbGVjdG9yOiBcIidbc3YtbmctZXJyb3JzXSdcIlxufSlcbmV4cG9ydCBjbGFzcyBFcnJvcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBTdXJ2ZXlFbGVtZW50IHwgYW55O1xuICBASW5wdXQoKSBsb2NhdGlvbj86IFN0cmluZztcbiAgQFZpZXdDaGlsZChcImVycm9yc0NvbnRhaW5lclwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBlcnJvcnNDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHJpdmF0ZSB0b29sdGlwTWFuYWdlciE6IFRvb2x0aXBNYW5hZ2VyO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvY2F0aW9uID09IFwidG9vbHRpcFwiKSB7XG4gICAgICB0aGlzLnRvb2x0aXBNYW5hZ2VyID0gbmV3IFRvb2x0aXBNYW5hZ2VyKHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAoISF0aGlzLnRvb2x0aXBNYW5hZ2VyKSB7XG4gICAgICB0aGlzLnRvb2x0aXBNYW5hZ2VyLmRpc3Bvc2UoKTtcbiAgICB9XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiYXR0ci5yb2xlXCIpIGdldCByb2xlICgpOiBzdHJpbmcge1xuICAgIHJldHVybiBcImFsZXJ0XCI7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiaWRcIikgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5pZCArIFwiX2Vycm9yc1wiO1xuICB9XG4gIEBIb3N0QmluZGluZyhcImF0dHIuYXJpYS1saXZlXCIpIGdldCBhcmlhTGl2ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBcInBvbGl0ZVwiO1xuICB9XG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY3NzRXJyb3I7XG4gIH1cbn0iLCI8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlbGVtZW50LmVycm9ycztcIj5cbiAgPHNwYW5cbiAgICBbY2xhc3NdPVwiZWxlbWVudC5jc3NDbGFzc2VzID8gZWxlbWVudC5jc3NDbGFzc2VzLmVycm9yLmljb24gOiAncGFuZWwtZXJyb3ItaWNvbidcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gID48L3NwYW4+XG4gIDxzcGFuIFtjbGFzc109XCJlbGVtZW50LmNzc0NsYXNzZXMgPyBlbGVtZW50LmNzc0NsYXNzZXMuZXJyb3IuaXRlbSA6ICdwYW5lbC1lcnJvci1pdGVtJ1wiIFttb2RlbF09XCJlcnJvci5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPlxuICA8L3NwYW4+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "./base-angular";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./components/element-title/element-title.component";
|
|
5
|
+
import * as i2 from "./survey-string.component";
|
|
6
|
+
import * as i3 from "./row.component";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "./utils/dynamic.directive";
|
|
9
|
+
export class PageComponent extends BaseAngular {
|
|
10
|
+
getModel() {
|
|
11
|
+
return this.model;
|
|
12
|
+
}
|
|
13
|
+
onModelChanged() {
|
|
14
|
+
if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
|
|
15
|
+
this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngAfterViewInit() {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
(_a = this.model.survey) === null || _a === void 0 ? void 0 : _a.afterRenderPage((_b = this.pageContainerRef) === null || _b === void 0 ? void 0 : _b.nativeElement);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageComponent, selector: "page, sv-ng-page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{
|
|
28
|
+
selector: "page, sv-ng-page",
|
|
29
|
+
templateUrl: "./page.component.html",
|
|
30
|
+
styleUrls: ["./hide-host.scss"]
|
|
31
|
+
}]
|
|
32
|
+
}], propDecorators: { model: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], survey: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], pageContainerRef: [{
|
|
37
|
+
type: ViewChild,
|
|
38
|
+
args: ["pageContainer", { static: false, read: ElementRef }]
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTTdDLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBc0I7SUFJN0MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNrQixjQUFjO1FBQy9CLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBQ0QsZUFBZTs7UUFDYixNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSwwQ0FBRSxlQUFlLENBQUMsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7OzJHQWRVLGFBQWE7K0ZBQWIsYUFBYSxvTUFHMkIsVUFBVSxvRENYL0Qsd3lCQWNjOzRGRE5ELGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCOzhCQUVRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQzJELGdCQUFnQjtzQkFBaEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYWdlTW9kZWwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInBhZ2UsIHN2LW5nLXBhZ2VcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYWdlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9oaWRlLWhvc3Quc2Nzc1wiXVxuICB9KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYWdlTW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYWdlTW9kZWw7XG4gIEBJbnB1dCgpIHN1cnZleT86IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFnZUNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgcGFnZUNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFnZU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhZ2VDb250YWluZXJSZWYgJiYgdGhpcy5wYWdlQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc3VydmV5LmFmdGVyUmVuZGVyUGFnZSh0aGlzLnBhZ2VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYWdlKHRoaXMucGFnZUNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudCk7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiISF0aGlzLnN1cnZleSAmJiAhIXRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5pc1Zpc2libGUgJiYgISF0aGlzLm1vZGVsLnN1cnZleVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc1Jvb3RcIiAjcGFnZUNvbnRhaW5lcj5cbiAgICAgIDxzdi1uZy1lbGVtZW50LXRpdGxlIFtlbGVtZW50XT1cIm1vZGVsXCI+PC9zdi1uZy1lbGVtZW50LXRpdGxlPlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLl9zaG93RGVzY3JpcHRpb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5wYWdlLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPiAgXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "./base-angular";
|
|
3
|
+
import { AngularComponentFactory } from "./component-factory";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./components/element-header/element-header.component";
|
|
6
|
+
import * as i2 from "./row.component";
|
|
7
|
+
import * as i3 from "./components/action-bar/action-bar.component";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "./utils/dynamic.directive";
|
|
10
|
+
export class PanelComponent extends BaseAngular {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.trackRowBy = (_, row) => {
|
|
14
|
+
return row.id;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
getModel() {
|
|
18
|
+
return this.model;
|
|
19
|
+
}
|
|
20
|
+
ngAfterViewInit() {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
if (!!((_a = this.panelContainerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
|
|
23
|
+
(_b = this.model.survey) === null || _b === void 0 ? void 0 : _b.afterRenderPanel(this.model, this.panelContainerRef.nativeElement);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model && model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i2.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: "sv-ng-panel, '[sv-ng-panel]'",
|
|
33
|
+
templateUrl: "./panel.component.html",
|
|
34
|
+
}]
|
|
35
|
+
}], propDecorators: { model: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], panelContainerRef: [{
|
|
38
|
+
type: ViewChild,
|
|
39
|
+
args: ["panelContainer", { static: false, read: ElementRef }]
|
|
40
|
+
}] } });
|
|
41
|
+
AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFLOUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUF1QjtJQUozRDs7UUFlRSxlQUFVLEdBQUcsQ0FBQyxDQUFNLEVBQUUsR0FBUSxFQUFFLEVBQUU7WUFDaEMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQTtLQUNGO0lBWFcsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGVBQWU7O1FBQ2IsSUFBRyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDMUMsTUFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sMENBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDOzs0R0FWVSxjQUFjO2dHQUFkLGNBQWMsZ01BRTJCLFVBQVUsb0RDVmhFLDYrQkFjYzs0RkRORCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx3QkFBd0I7aUJBQ3RDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDNEQsaUJBQWlCO3NCQUFsRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQWFsRSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhbmVsTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcGFuZWwsICdbc3YtbmctcGFuZWxdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BhbmVsLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFuZWxDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHBhbmVsQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhbmVsQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYW5lbCh0aGlzLm1vZGVsLCB0aGlzLnBhbmVsQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICB0cmFja1Jvd0J5ID0gKF86IGFueSwgcm93OiBhbnkpID0+IHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInBhbmVsXCIsIFBhbmVsQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiISFtb2RlbCAmJiBtb2RlbC5pc1Zpc2libGVcIiBbYXR0ci5pZF09XCJtb2RlbC5pZFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250YWluZXJDc3MoKVwiIChmb2N1c2luKT1cIm1vZGVsLmZvY3VzSW4oKVwiICNwYW5lbENvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzRGVzY3JpcHRpb24gfHwgbW9kZWwuaGFzVGl0bGVcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVsZW1lbnQtaGVhZGVyPjwvZGl2PlxuICAgIDwhLS0ga28gdGVtcGxhdGU6IHsgbmFtZTogJ3N1cnZleS1xdWVzdGlvbi1lcnJvcnMnLCBkYXRhOiAkZGF0YSB9IC0tPlxuICAgIDwhLS0gL2tvIC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaXNDb2xsYXBzZWRcIiBbc3R5bGUucGFkZGluZ0xlZnRdPVwibW9kZWwuaW5uZXJQYWRkaW5nTGVmdFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnBhbmVsLmNvbnRlbnRcIiBbYXR0ci5pZF09XCJtb2RlbC5jb250ZW50SWRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwuZ2V0Rm9vdGVyVG9vbGJhcigpXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|