survey-angular-ui 1.9.72 → 1.9.75
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 -192
- 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 +103 -103
- package/esm2020/angular-ui.module.mjs +184 -184
- package/esm2020/base-angular.mjs +128 -128
- package/esm2020/comment-other.component.mjs +32 -32
- package/esm2020/comment.component.mjs +21 -21
- package/esm2020/component-factory.mjs +26 -26
- package/esm2020/components/action-bar/action-bar-item-dropdown.component.mjs +32 -32
- package/esm2020/components/action-bar/action-bar-item.component.mjs +22 -22
- package/esm2020/components/action-bar/action-bar.component.mjs +43 -43
- package/esm2020/components/action-bar/action.component.mjs +27 -27
- package/esm2020/components/brand-info/brand-info.component.mjs +13 -13
- package/esm2020/components/dropdown/dropdown.component.mjs +66 -66
- package/esm2020/components/element-header/element-header.component.mjs +32 -32
- package/esm2020/components/element-title/dynamic-head.component.mjs +20 -20
- package/esm2020/components/element-title/element-title.component.mjs +17 -17
- package/esm2020/components/element-title/title-actions.component.mjs +17 -17
- package/esm2020/components/list/list-item.component.mjs +48 -48
- package/esm2020/components/list/list.component.mjs +50 -50
- package/esm2020/components/matrix-actions/detail-button/detail-button.component.mjs +25 -25
- package/esm2020/components/matrix-actions/drag-drop-icon/drag-drop-icon.mjs +20 -20
- package/esm2020/components/matrix-actions/remove-button/remove-button.component.mjs +25 -25
- package/esm2020/components/notifier/notifier.component.mjs +22 -22
- package/esm2020/components/paneldynamic-actions/paneldynamic-add-btn.component.mjs +35 -35
- package/esm2020/components/paneldynamic-actions/paneldynamic-next-btn.component.mjs +18 -18
- package/esm2020/components/paneldynamic-actions/paneldynamic-prev-btn.component.mjs +18 -18
- package/esm2020/components/paneldynamic-actions/paneldynamic-progress-text.component.mjs +14 -14
- package/esm2020/components/paneldynamic-actions/paneldynamic-remove-btn.component.mjs +17 -17
- package/esm2020/components/popup/modal-container.component.mjs +42 -42
- package/esm2020/components/popup/popup-container.component.mjs +56 -56
- package/esm2020/components/popup/popup-pointer.component.mjs +22 -22
- package/esm2020/components/popup/popup.component.mjs +43 -43
- package/esm2020/components/popup/popup.service.mjs +26 -26
- package/esm2020/components/progress/buttons/progress.component.mjs +67 -67
- package/esm2020/components/progress/default/progress.component.mjs +27 -27
- package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +21 -21
- package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +22 -22
- package/esm2020/components/renderAs/boolean-radio/boolean-radio.component.mjs +18 -18
- package/esm2020/components/renderAs/dropdown-select/dropdown-option-item.component.mjs +23 -23
- package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +38 -38
- package/esm2020/components/renderAs/rating-dropdown/rating-dropdown.component.mjs +18 -18
- package/esm2020/components/skeleton/skeleton.component.mjs +16 -16
- package/esm2020/components/skeleton.component.mjs +15 -15
- package/esm2020/components/survey-actions/survey-nav-btn.component.mjs +22 -22
- package/esm2020/components/survey-header/logo-image.component.mjs +20 -20
- package/esm2020/components/survey-header/survey-header.component.mjs +30 -30
- package/esm2020/components/svg-icon/svg-icon.component.mjs +68 -68
- package/esm2020/components/tagbox/tagbox-filter.component.mjs +22 -22
- package/esm2020/components/tagbox/tagbox-item.component.mjs +27 -27
- package/esm2020/components/tagbox/tagbox.component.mjs +44 -44
- package/esm2020/components/timer-panel/timer-panel.component.mjs +32 -32
- package/esm2020/element.component.mjs +55 -55
- package/esm2020/embedded-view-content.component.mjs +24 -24
- package/esm2020/errors.component.mjs +58 -58
- package/esm2020/page.component.mjs +35 -35
- package/esm2020/panel.component.mjs +38 -38
- package/esm2020/popup.survey.component.mjs +44 -44
- package/esm2020/question.component.mjs +54 -54
- package/esm2020/question.mjs +33 -33
- package/esm2020/questions/boolean.component.mjs +20 -20
- package/esm2020/questions/button-group/button-group-item.component.mjs +29 -29
- package/esm2020/questions/button-group/button-group.component.mjs +14 -14
- package/esm2020/questions/checkbox-item.component.mjs +24 -36
- package/esm2020/questions/checkbox.component.mjs +17 -17
- package/esm2020/questions/comment.component.mjs +18 -18
- package/esm2020/questions/composite.component.mjs +21 -21
- package/esm2020/questions/custom.component.mjs +27 -27
- package/esm2020/questions/customwidget.component.mjs +51 -51
- package/esm2020/questions/dropdown.component.mjs +17 -17
- package/esm2020/questions/expression.component.mjs +17 -17
- package/esm2020/questions/file.component.mjs +25 -25
- package/esm2020/questions/html.component.mjs +25 -25
- package/esm2020/questions/image.component.mjs +26 -26
- package/esm2020/questions/imagepicker-item.component.mjs +48 -48
- package/esm2020/questions/imagepicker.component.mjs +29 -29
- package/esm2020/questions/matrix-row.component.mjs +27 -27
- package/esm2020/questions/matrix.component.mjs +36 -36
- package/esm2020/questions/matrixcell.component.mjs +90 -90
- package/esm2020/questions/matrixdropdown.component.mjs +16 -16
- package/esm2020/questions/matrixdynamic.component.mjs +17 -17
- package/esm2020/questions/matrixrequiredheader.component.mjs +24 -24
- package/esm2020/questions/matrixtable.component.mjs +31 -31
- package/esm2020/questions/multipletext.component.mjs +25 -25
- package/esm2020/questions/multipletextitem.component.mjs +23 -23
- package/esm2020/questions/paneldynamic.component.mjs +79 -79
- package/esm2020/questions/radiogroup-item.component.mjs +18 -18
- package/esm2020/questions/radiogroup.component.mjs +22 -22
- package/esm2020/questions/ranking-item.component.mjs +24 -24
- package/esm2020/questions/ranking.component.mjs +31 -31
- package/esm2020/questions/rating.component.mjs +23 -23
- package/esm2020/questions/selectbase-item.mjs +33 -33
- package/esm2020/questions/selectbase.component.mjs +50 -47
- package/esm2020/questions/signature.component.mjs +17 -17
- package/esm2020/questions/tagbox.component.mjs +17 -17
- package/esm2020/questions/text.component.mjs +16 -16
- package/esm2020/row.component.mjs +58 -58
- package/esm2020/string-editor.component.mjs +26 -26
- package/esm2020/string-viewer.component.mjs +37 -37
- package/esm2020/survey-angular-ui.mjs +5 -5
- package/esm2020/survey-content.component.mjs +69 -69
- package/esm2020/survey-string.component.mjs +17 -17
- package/esm2020/survey.component.mjs +32 -32
- package/esm2020/template-renderer.component.mjs +23 -23
- package/esm2020/utils/dynamic.directive.mjs +52 -52
- package/esm2020/utils/ng-key2click.directive.mjs +69 -69
- package/esm2020/utils/ng-show.directive.mjs +27 -27
- package/esm2020/utils/safe-html.pipe.mjs +18 -18
- package/esm2020/utils/safe-url.pipe.mjs +33 -33
- package/fesm2015/survey-angular-ui.js +3206 -0
- package/fesm2015/survey-angular-ui.js.map +1 -0
- package/fesm2015/survey-angular-ui.mjs +2864 -2873
- package/fesm2015/survey-angular-ui.mjs.map +1 -1
- package/fesm2020/survey-angular-ui.mjs +2839 -2848
- package/fesm2020/survey-angular-ui.mjs.map +1 -1
- package/package.json +6 -19
- package/utils/dynamic.directive.d.ts +3 -2
|
@@ -1,44 +1,44 @@
|
|
|
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
|
-
this.dropdownListModel?.dispose();
|
|
22
|
-
}
|
|
23
|
-
click(event) {
|
|
24
|
-
this.dropdownListModel?.onClick(event);
|
|
25
|
-
}
|
|
26
|
-
clear(event) {
|
|
27
|
-
this.dropdownListModel?.onClear(event);
|
|
28
|
-
}
|
|
29
|
-
keyhandler(event) {
|
|
30
|
-
this.dropdownListModel?.keyHandler(event);
|
|
31
|
-
}
|
|
32
|
-
blur(event) {
|
|
33
|
-
this.dropdownListModel?.onBlur(event);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
TagboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", 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>" }]
|
|
41
|
-
}], propDecorators: { model: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
this.dropdownListModel?.dispose();
|
|
22
|
+
}
|
|
23
|
+
click(event) {
|
|
24
|
+
this.dropdownListModel?.onClick(event);
|
|
25
|
+
}
|
|
26
|
+
clear(event) {
|
|
27
|
+
this.dropdownListModel?.onClear(event);
|
|
28
|
+
}
|
|
29
|
+
keyhandler(event) {
|
|
30
|
+
this.dropdownListModel?.keyHandler(event);
|
|
31
|
+
}
|
|
32
|
+
blur(event) {
|
|
33
|
+
this.dropdownListModel?.onBlur(event);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
TagboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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"] }] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", 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>" }]
|
|
41
|
+
}], propDecorators: { model: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQVU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzRHQS9CUSxlQUFlO2dHQUFmLGVBQWUsa0dDUDVCLDI0REF5Qk07MkZEbEJPLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQUkvQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy10YWdib3gsICdbc3YtbmctdGFnYm94XSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3guY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBUYWdib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgICBwcml2YXRlIGRyb3Bkb3duTGlzdE1vZGVsITogRHJvcGRvd25NdWx0aVNlbGVjdExpc3RNb2RlbDtcblxuICAgIGdldCBkcm9wZG93bk1vZGVsKCk6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwge1xuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw7XG4gICAgfVxuXG4gICAgZ2V0TW9kZWwoKSB7XG4gICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWwgPSB0aGlzLm1vZGVsLmRyb3Bkb3duTGlzdE1vZGVsIHx8IG5ldyBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8uZGlzcG9zZSgpO1xuICAgIH1cblxuICAgIGNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xpY2soZXZlbnQpO1xuICAgIH1cbiAgICBjbGVhcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkNsZWFyKGV2ZW50KTtcbiAgICB9XG4gICAga2V5aGFuZGxlcihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5rZXlIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG4gICAgYmx1cihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCJkcm9wZG93bk1vZGVsLmlucHV0UmVhZE9ubHkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXloYW5kbGVyKCRldmVudClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xWYWx1ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5KClcIj5cbiAgICAgICAgICAgICAgICA8c3YtbmctdGFnYm94LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc2VsZWN0ZWRDaG9pY2VzXCIgW2l0ZW1dPVwiaXRlbVwiIFtxdWVzdGlvbl09XCJtb2RlbFwiPlxuICAgICAgICAgICAgICAgIDwvc3YtbmctdGFnYm94LWl0ZW0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LXRhZ2JveC1maWx0ZXInLCBkYXRhOiB7IG1vZGVsOiBkcm9wZG93bk1vZGVsLCBxdWVzdGlvbjogbW9kZWwgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIobW9kZWwuYWxsb3dDbGVhciAmJiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkKVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgW3Zpc2libGVdPVwiIW1vZGVsLmlzRW1wdHkoKVwiPlxuICAgICAgICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogJ3N2LXN2Zy1pY29uJywgcGFyYW1zOiB7IGNzczogbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2ZywgaWNvbk5hbWU6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWQsIHNpemU6ICdhdXRvJyB9IH0gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWRcIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uU3ZnXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFyQ2FwdGlvblwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxzdi1uZy1wb3B1cCAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW3BvcHVwTW9kZWxdPVwibW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPGRpdiBkaXNhYmxlZCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+XG4gICAgICAgIDxkaXY+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -1,32 +1,32 @@
|
|
|
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: "13.0.3", ngImport: i0, type: TimerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
TimerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: TimerPanelComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: "sv-timer-panel", 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>" }]
|
|
29
|
-
}], propDecorators: { model: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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: "13.0.3", ngImport: i0, type: TimerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
TimerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: TimerPanelComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: "sv-timer-panel", 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>" }]
|
|
29
|
+
}], propDecorators: { model: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUE2QjtJQVB0RTs7UUFTbUIsc0JBQWlCLEdBQUcsR0FBRyxDQUFDO0tBYzFDO0lBWlcsZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNsRCxDQUFDOztnSEFmVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix5R0NYaEMsK29CQU9tRzsyRkRJdEYsbUJBQW1CO2tCQVAvQixTQUFTOytCQUVJLGdCQUFnQjs4QkFNbkIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlLCBTdXJ2ZXlUaW1lck1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcblxuQENvbXBvbmVudChcbiAge1xuICAgIHNlbGVjdG9yOiBcInN2LXRpbWVyLXBhbmVsXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90aW1lci1wYW5lbC5jb21wb25lbnQuaHRtbFwiLFxuICB9XG4pXG5cbmV4cG9ydCBjbGFzcyBUaW1lclBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8U3VydmV5VGltZXJNb2RlbD4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFN1cnZleVRpbWVyTW9kZWw7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2lyY2xlTGVuZ3RoVmFsdWUgPSA0NDA7XG5cbiAgcHJvdGVjdGVkIGdldFN0YXRlRWxlbWVudCgpOiBCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogU3VydmV5VGltZXJNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHVibGljIGdldCBjaXJjbGVMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jaXJjbGVMZW5ndGhWYWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHByb2dyZXNzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIC10aGlzLm1vZGVsLnByb2dyZXNzICogdGhpcy5jaXJjbGVMZW5ndGg7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJtb2RlbC5zaG93VGltZXJBc0Nsb2NrXCIgW2NsYXNzXT1cIm1vZGVsLnJvb3RDc3NcIj5cbiAgICA8c3ZnICpuZ0lmPVwibW9kZWwuc2hvd1Byb2dyZXNzXCIgW2NsYXNzXT1cIm1vZGVsLmdldFByb2dyZXNzQ3NzKClcIiBbc3R5bGUuc3Ryb2tlLWRhc2hhcnJheV09XCJjaXJjbGVMZW5ndGhcIiBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXRdPVwicHJvZ3Jlc3NcIiBbc2l6ZV09XCInYXV0bydcIiBbaWNvbk5hbWVdPVwiJ2ljb24tdGltZXJjaXJjbGUnXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgPGRpdiBbY2xhc3NdPVwibW9kZWwudGV4dENvbnRhaW5lckNzc1wiPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwubWFqb3JUZXh0Q3NzXCI+e3sgbW9kZWwuY2xvY2tNYWpvclRleHQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibW9kZWwuY2xvY2tNaW5vclRleHRcIiBbY2xhc3NdPVwibW9kZWwubWlub3JUZXh0Q3NzXCI+e3sgbW9kZWwuY2xvY2tNaW5vclRleHQgfX08L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhbW9kZWwuc2hvd1RpbWVyQXNDbG9ja1wiIFtjbGFzc109J21vZGVsLnN1cnZleS5nZXRDc3MoKS50aW1lclJvb3QnPnt7bW9kZWwudGV4dH19PC9kaXY+Il19
|
|
@@ -1,55 +1,55 @@
|
|
|
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: "13.0.3", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: ElementComponent, decorators: [{
|
|
50
|
-
type: Component,
|
|
51
|
-
args: [{ selector: "sv-ng-element", 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"] }]
|
|
52
|
-
}], propDecorators: { model: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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: "13.0.3", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: ElementComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ selector: "sv-ng-element", 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"] }]
|
|
52
|
+
}], propDecorators: { model: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQWtDO0lBRTVELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFjLG9CQUFvQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFBRyxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsb0ZBQW9GO1FBQ3BGLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7U0FDN0I7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUksSUFBUyxDQUFDO1FBQ2QsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDeEMsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGLENBQUM7SUFDSixDQUFDOzs2R0F2Q1UsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd0dDVDdCLHFSQUljOzJGREtELGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxlQUFlOzhCQUtoQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhbmVsTW9kZWwsIFF1ZXN0aW9uLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWVsZW1lbnRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9lbGVtZW50LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbCB8IFF1ZXN0aW9uPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IGVsZW1lbnRDb21wb25lbnROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaXNQYW5lbCA/IFwicGFuZWxcIjogXCJxdWVzdGlvblwiO1xuICB9XG4gIHB1YmxpYyBnZXQgY29tcG9uZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN1cnZleSA9IHRoaXMuc3VydmV5TW9kZWwgYXMgU3VydmV5TW9kZWw7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnROYW1lKHRoaXMubW9kZWwpO1xuICAgICAgaWYoISFuYW1lKSB7XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50Q29tcG9uZW50TmFtZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvb3RTdHlsZSgpIHtcbiAgICAvL3VzZSB0aGlzIGlmIHRvIGNoZWNrIGlmIGNzc0NsYXNzc2VzIGFyZSBjYWxjdWxhdGVkIGFuZCBhbGxvd1Jvb3RTdHlsZSBmbGFnIHdhcyBzZXRcbiAgICBpZighIXRoaXMubW9kZWwuY3NzQ2xhc3Nlcykge1xuICAgICAgcmV0dXJuIHRoaXMubW9kZWwucm9vdFN0eWxlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgY29tcG9uZW50RGF0YSgpOiBhbnkge1xuICAgIGNvbnN0IHN1cnZleSA9IHRoaXMuc3VydmV5TW9kZWwgYXMgU3VydmV5TW9kZWw7XG4gICAgbGV0IGRhdGE6IGFueTtcbiAgICBpZighIXN1cnZleSkge1xuICAgICAgZGF0YSA9IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudERhdGEodGhpcy5tb2RlbCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnROYW1lOiB0aGlzLmVsZW1lbnRDb21wb25lbnROYW1lLFxuICAgICAgY29tcG9uZW50RGF0YToge1xuICAgICAgICBtb2RlbDogdGhpcy5tb2RlbCxcbiAgICAgICAgZGF0YTogZGF0YVxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiEhbW9kZWxcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5xdWVzdGlvbldyYXBwZXJcIiBbc3R5bGVdPVwicm9vdFN0eWxlXCIgKGZvY3VzaW4pPVwibW9kZWwuZm9jdXNJbigpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogY29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -1,24 +1,24 @@
|
|
|
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
|
-
if (!!this.templateRef) {
|
|
9
|
-
this.embeddedView = this.viewContainerRef?.createEmbeddedView(this.templateRef);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
EmbeddedViewContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedViewContentComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
EmbeddedViewContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", isInline: true });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedViewContentComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{
|
|
18
|
-
template: "",
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateRef: [{
|
|
21
|
-
type: ViewChild,
|
|
22
|
-
args: ["template", { read: TemplateRef, static: true }]
|
|
23
|
-
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
if (!!this.templateRef) {
|
|
9
|
+
this.embeddedView = this.viewContainerRef?.createEmbeddedView(this.templateRef);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
EmbeddedViewContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedViewContentComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
EmbeddedViewContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", isInline: true });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmbeddedViewContentComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{
|
|
18
|
+
template: "",
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateRef: [{
|
|
21
|
+
type: ViewChild,
|
|
22
|
+
args: ["template", { read: TemplateRef, static: true }]
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJCLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQU03RyxNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFlBQXNCLGdCQUFtQztRQUFuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO0lBQUcsQ0FBQztJQUU3RCxRQUFRO1FBQ04sSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDakY7SUFDSCxDQUFDOzt5SEFUVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix3SUFDUixXQUFXLDJDQUpoQyxFQUFFOzJGQUdELDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt1R0FHNkQsV0FBVztzQkFBdEUsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVtYmVkZGVkVmlld1JlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBcIlwiLFxufSlcblxuZXhwb3J0IGNsYXNzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKFwidGVtcGxhdGVcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlUmVmITogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+XG4gIHByb3RlY3RlZCBlbWJlZGRlZFZpZXc/OiBFbWJlZGRlZFZpZXdSZWY8SFRNTEVsZW1lbnQ+O1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLmVtYmVkZGVkVmlldyA9IHRoaXMudmlld0NvbnRhaW5lclJlZj8uY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
@@ -1,58 +1,58 @@
|
|
|
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: "13.0.3", ngImport: i0, type: ErrorsComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
ErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: ErrorsComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: "'[sv-ng-errors]'", 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>" }]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { element: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], location: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], errorsContainerRef: [{
|
|
43
|
-
type: ViewChild,
|
|
44
|
-
args: ["errorsContainer", { static: true }]
|
|
45
|
-
}], role: [{
|
|
46
|
-
type: HostBinding,
|
|
47
|
-
args: ["attr.role"]
|
|
48
|
-
}], id: [{
|
|
49
|
-
type: HostBinding,
|
|
50
|
-
args: ["id"]
|
|
51
|
-
}], ariaLive: [{
|
|
52
|
-
type: HostBinding,
|
|
53
|
-
args: ["attr.aria-live"]
|
|
54
|
-
}], class: [{
|
|
55
|
-
type: HostBinding,
|
|
56
|
-
args: ["class"]
|
|
57
|
-
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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: "13.0.3", ngImport: i0, type: ErrorsComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
ErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: "13.0.3", ngImport: i0, type: ErrorsComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: "'[sv-ng-errors]'", 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>" }]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { element: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], location: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], errorsContainerRef: [{
|
|
43
|
+
type: ViewChild,
|
|
44
|
+
args: ["errorsContainer", { static: true }]
|
|
45
|
+
}], role: [{
|
|
46
|
+
type: HostBinding,
|
|
47
|
+
args: ["attr.role"]
|
|
48
|
+
}], id: [{
|
|
49
|
+
type: HostBinding,
|
|
50
|
+
args: ["id"]
|
|
51
|
+
}], ariaLive: [{
|
|
52
|
+
type: HostBinding,
|
|
53
|
+
args: ["attr.aria-live"]
|
|
54
|
+
}], class: [{
|
|
55
|
+
type: HostBinding,
|
|
56
|
+
args: ["class"]
|
|
57
|
+
}] } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL2Vycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1QixXQUFXLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBdUIsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUMxRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxJQUE4QixJQUFJO1FBQ2hDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUF1QixFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFtQyxRQUFRO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUEwQixLQUFLO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7NEdBM0JVLGVBQWU7Z0dBQWYsZUFBZSxrWENQNUIsK1VBT007MkZEQU8sZUFBZTtrQkFKM0IsU0FBUzsrQkFFRSxrQkFBa0I7dUdBR25CLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUMwQyxrQkFBa0I7c0JBQWpFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWFoQixJQUFJO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBR0QsRUFBRTtzQkFBeEIsV0FBVzt1QkFBQyxJQUFJO2dCQUdrQixRQUFRO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHSCxLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlLCBTdXJ2ZXlFbGVtZW50LCBUb29sdGlwTWFuYWdlciB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6IFwiLi9lcnJvcnMuY29tcG9uZW50Lmh0bWxcIixcbiAgc2VsZWN0b3I6IFwiJ1tzdi1uZy1lcnJvcnNdJ1wiXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgZWxlbWVudCE6IFN1cnZleUVsZW1lbnQgfCBhbnk7XG4gIEBJbnB1dCgpIGxvY2F0aW9uPzogU3RyaW5nO1xuICBAVmlld0NoaWxkKFwiZXJyb3JzQ29udGFpbmVyXCIsIHsgc3RhdGljOiB0cnVlIH0pIGVycm9yc0NvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcml2YXRlIHRvb2x0aXBNYW5hZ2VyITogVG9vbHRpcE1hbmFnZXI7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9jYXRpb24gPT0gXCJ0b29sdGlwXCIpIHtcbiAgICAgIHRoaXMudG9vbHRpcE1hbmFnZXIgPSBuZXcgVG9vbHRpcE1hbmFnZXIodGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICghIXRoaXMudG9vbHRpcE1hbmFnZXIpIHtcbiAgICAgIHRoaXMudG9vbHRpcE1hbmFnZXIuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxuICBASG9zdEJpbmRpbmcoXCJhdHRyLnJvbGVcIikgZ2V0IHJvbGUgKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiYWxlcnRcIjtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJpZFwiKSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50LmlkICsgXCJfZXJyb3JzXCI7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiYXR0ci5hcmlhLWxpdmVcIikgZ2V0IGFyaWFMaXZlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwicG9saXRlXCI7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIikgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5jc3NFcnJvcjtcbiAgfVxufSIsIjxkaXYgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVsZW1lbnQuZXJyb3JzO1wiPlxuICA8c3BhblxuICAgIFtjbGFzc109XCJlbGVtZW50LmNzc0NsYXNzZXMgPyBlbGVtZW50LmNzc0NsYXNzZXMuZXJyb3IuaWNvbiA6ICdwYW5lbC1lcnJvci1pY29uJ1wiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgPjwvc3Bhbj5cbiAgPHNwYW4gW2NsYXNzXT1cImVsZW1lbnQuY3NzQ2xhc3NlcyA/IGVsZW1lbnQuY3NzQ2xhc3Nlcy5lcnJvci5pdGVtIDogJ3BhbmVsLWVycm9yLWl0ZW0nXCIgW21vZGVsXT1cImVycm9yLmxvY1RleHRcIiBzdi1uZy1zdHJpbmc+XG4gIDwvc3Bhbj5cbjwvZGl2PiJdfQ==
|