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,56 +1,56 @@
|
|
|
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 "../action-bar/action-bar.component";
|
|
5
|
-
import * as i2 from "../../utils/ng-show.directive";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "../../utils/dynamic.directive";
|
|
8
|
-
export class PopupBaseContainerComponent extends BaseAngular {
|
|
9
|
-
constructor(changeDetectorRef) {
|
|
10
|
-
super(changeDetectorRef);
|
|
11
|
-
this.prevIsVisible = false;
|
|
12
|
-
this.changeDetectorRef.detach();
|
|
13
|
-
}
|
|
14
|
-
getModel() {
|
|
15
|
-
return this.model;
|
|
16
|
-
}
|
|
17
|
-
get applyButtonText() {
|
|
18
|
-
const popupModalModel = this.model;
|
|
19
|
-
if (!popupModalModel)
|
|
20
|
-
return null;
|
|
21
|
-
return popupModalModel.applyButtonText;
|
|
22
|
-
}
|
|
23
|
-
apply() {
|
|
24
|
-
const popupModalModel = this.model;
|
|
25
|
-
if (!popupModalModel)
|
|
26
|
-
return;
|
|
27
|
-
popupModalModel.apply();
|
|
28
|
-
}
|
|
29
|
-
getShouldReattachChangeDetector() {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
onModelChanged() {
|
|
33
|
-
this.changeDetectorRef.detectChanges();
|
|
34
|
-
}
|
|
35
|
-
afterUpdate() {
|
|
36
|
-
super.afterUpdate();
|
|
37
|
-
if (!this.prevIsVisible && this.model.isVisible) {
|
|
38
|
-
this.model.updateOnShowing();
|
|
39
|
-
}
|
|
40
|
-
if (this.prevIsVisible !== this.model.isVisible) {
|
|
41
|
-
this.prevIsVisible = this.model.isVisible;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
clickInside(event) {
|
|
45
|
-
event.stopPropagation();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
PopupBaseContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupBaseContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
PopupBaseContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside()\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <div class=\"sv-popup__shadow\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupBaseContainerComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside()\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <div class=\"sv-popup__shadow\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n </div>\n</div>" }]
|
|
53
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}] } });
|
|
56
|
-
//# 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 "../action-bar/action-bar.component";
|
|
5
|
+
import * as i2 from "../../utils/ng-show.directive";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "../../utils/dynamic.directive";
|
|
8
|
+
export class PopupBaseContainerComponent extends BaseAngular {
|
|
9
|
+
constructor(changeDetectorRef) {
|
|
10
|
+
super(changeDetectorRef);
|
|
11
|
+
this.prevIsVisible = false;
|
|
12
|
+
this.changeDetectorRef.detach();
|
|
13
|
+
}
|
|
14
|
+
getModel() {
|
|
15
|
+
return this.model;
|
|
16
|
+
}
|
|
17
|
+
get applyButtonText() {
|
|
18
|
+
const popupModalModel = this.model;
|
|
19
|
+
if (!popupModalModel)
|
|
20
|
+
return null;
|
|
21
|
+
return popupModalModel.applyButtonText;
|
|
22
|
+
}
|
|
23
|
+
apply() {
|
|
24
|
+
const popupModalModel = this.model;
|
|
25
|
+
if (!popupModalModel)
|
|
26
|
+
return;
|
|
27
|
+
popupModalModel.apply();
|
|
28
|
+
}
|
|
29
|
+
getShouldReattachChangeDetector() {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
onModelChanged() {
|
|
33
|
+
this.changeDetectorRef.detectChanges();
|
|
34
|
+
}
|
|
35
|
+
afterUpdate() {
|
|
36
|
+
super.afterUpdate();
|
|
37
|
+
if (!this.prevIsVisible && this.model.isVisible) {
|
|
38
|
+
this.model.updateOnShowing();
|
|
39
|
+
}
|
|
40
|
+
if (this.prevIsVisible !== this.model.isVisible) {
|
|
41
|
+
this.prevIsVisible = this.model.isVisible;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
clickInside(event) {
|
|
45
|
+
event.stopPropagation();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
PopupBaseContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupBaseContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
+
PopupBaseContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupBaseContainerComponent, selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside()\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <div class=\"sv-popup__shadow\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupBaseContainerComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: "sv-ng-popup-container, '[sv-ng-popup-container]'", template: "<div class=\"sv-popup\" tabindex=\"-1\" [class]=\"model.styleClass\" [visible]=\"model.isVisible\" (click)=\"model.clickOutside()\" (keydown)=\"model.onKeyDown($event)\">\n <div class=\"sv-popup__container\" [style]=\"{ left: model.left, top: model.top, height: model.height, minWidth: model.minWidth, width: model.width }\" (click)=\"clickInside($event)\">\n <div class=\"sv-popup__shadow\">\n <ng-container *ngIf=\"model.showHeader\">\n <ng-template [component]=\"{ name: model.popupHeaderTemplate, data: { model: model } }\"></ng-template>\n </ng-container>\n <div class=\"sv-popup__body-content\">\n <div *ngIf=\"model.title\" class=\"sv-popup__body-header\">{{ model.title }}</div>\n <div class=\"sv-popup__scrolling-content\">\n <div class=\"sv-popup__content\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"model.showFooter\" class=\"sv-popup__body-footer\">\n <sv-ng-action-bar [model]=\"model.footerToolbar\"></sv-ng-action-bar>\n </div>\n </div>\n </div>\n </div>\n</div>" }]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3B1cC9wb3B1cC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBUWpELE1BQU0sT0FBTywyQkFBK0UsU0FBUSxXQUFjO0lBSWhILFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBSm5CLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBS3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBbUMsQ0FBQztRQUNqRSxJQUFHLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWpDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFtQyxDQUFDO1FBQ2pFLElBQUcsQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUU1QixlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVrQiwrQkFBK0I7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRWtCLGNBQWM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFa0IsV0FBVztRQUM1QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUNNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzt3SEE3Q1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMklDVHhDLDB5Q0FtQk07MkZEVk8sMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLGtEQUFrRDt3R0FNbkQsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBQb3B1cEJhc2VWaWV3TW9kZWwsIFBvcHVwTW9kYWxWaWV3TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXBvcHVwLWNvbnRhaW5lciwgJ1tzdi1uZy1wb3B1cC1jb250YWluZXJdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BvcHVwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiXG4gIH0pXG5cbmV4cG9ydCBjbGFzcyBQb3B1cEJhc2VDb250YWluZXJDb21wb25lbnQ8VCBleHRlbmRzIFBvcHVwQmFzZVZpZXdNb2RlbCA9IFBvcHVwQmFzZVZpZXdNb2RlbD4gZXh0ZW5kcyBCYXNlQW5ndWxhcjxUPiB7XG4gIHByaXZhdGUgcHJldklzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlbCE6IFQ7XG5cbiAgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFQge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgZ2V0IGFwcGx5QnV0dG9uVGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBwb3B1cE1vZGFsTW9kZWwgPSB0aGlzLm1vZGVsIGFzIGFueSBhcyBQb3B1cE1vZGFsVmlld01vZGVsO1xuICAgIGlmKCFwb3B1cE1vZGFsTW9kZWwpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHBvcHVwTW9kYWxNb2RlbC5hcHBseUJ1dHRvblRleHQ7XG4gIH1cblxuICBhcHBseSgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3B1cE1vZGFsTW9kZWwgPSB0aGlzLm1vZGVsIGFzIGFueSBhcyBQb3B1cE1vZGFsVmlld01vZGVsO1xuICAgIGlmKCFwb3B1cE1vZGFsTW9kZWwpIHJldHVybjtcblxuICAgIHBvcHVwTW9kYWxNb2RlbC5hcHBseSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFNob3VsZFJlYXR0YWNoQ2hhbmdlRGV0ZWN0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uTW9kZWxDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFmdGVyVXBkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLmFmdGVyVXBkYXRlKCk7XG4gICAgaWYgKCF0aGlzLnByZXZJc1Zpc2libGUgJiYgdGhpcy5tb2RlbC5pc1Zpc2libGUpIHtcbiAgICAgIHRoaXMubW9kZWwudXBkYXRlT25TaG93aW5nKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByZXZJc1Zpc2libGUgIT09IHRoaXMubW9kZWwuaXNWaXNpYmxlKSB7XG4gICAgICB0aGlzLnByZXZJc1Zpc2libGUgPSB0aGlzLm1vZGVsLmlzVmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGNsaWNrSW5zaWRlKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufSIsIjxkaXYgY2xhc3M9XCJzdi1wb3B1cFwiIHRhYmluZGV4PVwiLTFcIiBbY2xhc3NdPVwibW9kZWwuc3R5bGVDbGFzc1wiIFt2aXNpYmxlXT1cIm1vZGVsLmlzVmlzaWJsZVwiIChjbGljayk9XCJtb2RlbC5jbGlja091dHNpZGUoKVwiIChrZXlkb3duKT1cIm1vZGVsLm9uS2V5RG93bigkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cInN2LXBvcHVwX19jb250YWluZXJcIiBbc3R5bGVdPVwieyBsZWZ0OiBtb2RlbC5sZWZ0LCB0b3A6IG1vZGVsLnRvcCwgaGVpZ2h0OiBtb2RlbC5oZWlnaHQsIG1pbldpZHRoOiBtb2RlbC5taW5XaWR0aCwgd2lkdGg6IG1vZGVsLndpZHRoIH1cIiAoY2xpY2spPVwiY2xpY2tJbnNpZGUoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3YtcG9wdXBfX3NoYWRvd1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLnNob3dIZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLnBvcHVwSGVhZGVyVGVtcGxhdGUsIGRhdGE6IHsgbW9kZWw6IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdi1wb3B1cF9fYm9keS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnRpdGxlXCIgY2xhc3M9XCJzdi1wb3B1cF9fYm9keS1oZWFkZXJcIj57eyBtb2RlbC50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN2LXBvcHVwX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmNvbnRlbnRDb21wb25lbnROYW1lLCBkYXRhOiBtb2RlbC5jb250ZW50Q29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnNob3dGb290ZXJcIiBjbGFzcz1cInN2LXBvcHVwX19ib2R5LWZvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwuZm9vdGVyVG9vbGJhclwiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,22 +1,22 @@
|
|
|
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
|
-
export class PopupPointerComponent extends BaseAngular {
|
|
6
|
-
get popupModel() {
|
|
7
|
-
return this.model;
|
|
8
|
-
}
|
|
9
|
-
getModel() {
|
|
10
|
-
return this.model;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
PopupPointerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupPointerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
PopupPointerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupPointerComponent, selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<span class=\"sv-popup__pointer\" [style]=\"{ left: popupModel.pointerTarget.left, top: popupModel.pointerTarget.top }\"></span>" });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupPointerComponent, decorators: [{
|
|
16
|
-
type: Component,
|
|
17
|
-
args: [{ selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'", template: "<span class=\"sv-popup__pointer\" [style]=\"{ left: popupModel.pointerTarget.left, top: popupModel.pointerTarget.top }\"></span>" }]
|
|
18
|
-
}], propDecorators: { model: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
21
|
-
AngularComponentFactory.Instance.registerComponent("popup-pointer", PopupPointerComponent);
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
export class PopupPointerComponent extends BaseAngular {
|
|
6
|
+
get popupModel() {
|
|
7
|
+
return this.model;
|
|
8
|
+
}
|
|
9
|
+
getModel() {
|
|
10
|
+
return this.model;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
PopupPointerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupPointerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
PopupPointerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupPointerComponent, selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<span class=\"sv-popup__pointer\" [style]=\"{ left: popupModel.pointerTarget.left, top: popupModel.pointerTarget.top }\"></span>" });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupPointerComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: "sv-ng-popup-pointer, '[sv-ng-popup-pointer]'", template: "<span class=\"sv-popup__pointer\" [style]=\"{ left: popupModel.pointerTarget.left, top: popupModel.pointerTarget.top }\"></span>" }]
|
|
18
|
+
}], propDecorators: { model: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
AngularComponentFactory.Instance.registerComponent("popup-pointer", PopupPointerComponent);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtcG9pbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3B1cC9wb3B1cC1wb2ludGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLXBvaW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9sRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBK0I7SUFHeEUsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBK0IsQ0FBQztJQUM5QyxDQUFDO0lBRVMsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7a0hBVFUscUJBQXFCO3NHQUFyQixxQkFBcUIsdUlDVmxDLGtJQUE0SDsyRkRVL0cscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLDhDQUE4Qzs4QkFLL0MsS0FBSztzQkFBYixLQUFLOztBQVVSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBQb3B1cEJhc2VWaWV3TW9kZWwsIFBvcHVwRHJvcGRvd25WaWV3TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wb3B1cC1wb2ludGVyLCAnW3N2LW5nLXBvcHVwLXBvaW50ZXJdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BvcHVwLXBvaW50ZXIuY29tcG9uZW50Lmh0bWxcIlxufSlcblxuZXhwb3J0IGNsYXNzIFBvcHVwUG9pbnRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBvcHVwQmFzZVZpZXdNb2RlbD4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFBvcHVwQmFzZVZpZXdNb2RlbDtcblxuICBnZXQgcG9wdXBNb2RlbCgpOiBQb3B1cERyb3Bkb3duVmlld01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCBhcyBQb3B1cERyb3Bkb3duVmlld01vZGVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFBvcHVwQmFzZVZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwicG9wdXAtcG9pbnRlclwiLCBQb3B1cFBvaW50ZXJDb21wb25lbnQpOyIsIjxzcGFuIGNsYXNzPVwic3YtcG9wdXBfX3BvaW50ZXJcIiBbc3R5bGVdPVwieyBsZWZ0OiBwb3B1cE1vZGVsLnBvaW50ZXJUYXJnZXQubGVmdCwgdG9wOiBwb3B1cE1vZGVsLnBvaW50ZXJUYXJnZXQudG9wIH1cIj48L3NwYW4+Il19
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { BaseAngular } from "../../base-angular";
|
|
3
|
-
import { createPopupViewModel } from "survey-core";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./popup.service";
|
|
6
|
-
export class PopupComponent extends BaseAngular {
|
|
7
|
-
constructor(viewContainerRef, changeDetectorRef, popupService) {
|
|
8
|
-
super(changeDetectorRef, viewContainerRef);
|
|
9
|
-
this.popupService = popupService;
|
|
10
|
-
}
|
|
11
|
-
getModel() {
|
|
12
|
-
return this.popupModel;
|
|
13
|
-
}
|
|
14
|
-
onModelChanged() {
|
|
15
|
-
this.destroyModel();
|
|
16
|
-
this.model = createPopupViewModel(this.popupModel, this.viewContainerRef?.element.nativeElement.parentElement);
|
|
17
|
-
this.model.initializePopupContainer();
|
|
18
|
-
this.portalHost = this.popupService.createComponent(this.model);
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this.onModelChanged();
|
|
22
|
-
}
|
|
23
|
-
destroyModel() {
|
|
24
|
-
this.portalHost?.detach();
|
|
25
|
-
this.model?.unmountPopupContainer();
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
super.ngOnDestroy();
|
|
29
|
-
this.destroyModel();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
PopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i1.PopupService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
PopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: { popupModel: "popupModel" }, usesInheritance: true, ngImport: i0, template: "<div></div>", isInline: true });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{
|
|
37
|
-
selector: "sv-ng-popup, '[sv-ng-popup]'",
|
|
38
|
-
template: "<div></div>"
|
|
39
|
-
}]
|
|
40
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i1.PopupService }]; }, propDecorators: { popupModel: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "../../base-angular";
|
|
3
|
+
import { createPopupViewModel } from "survey-core";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./popup.service";
|
|
6
|
+
export class PopupComponent extends BaseAngular {
|
|
7
|
+
constructor(viewContainerRef, changeDetectorRef, popupService) {
|
|
8
|
+
super(changeDetectorRef, viewContainerRef);
|
|
9
|
+
this.popupService = popupService;
|
|
10
|
+
}
|
|
11
|
+
getModel() {
|
|
12
|
+
return this.popupModel;
|
|
13
|
+
}
|
|
14
|
+
onModelChanged() {
|
|
15
|
+
this.destroyModel();
|
|
16
|
+
this.model = createPopupViewModel(this.popupModel, this.viewContainerRef?.element.nativeElement.parentElement);
|
|
17
|
+
this.model.initializePopupContainer();
|
|
18
|
+
this.portalHost = this.popupService.createComponent(this.model);
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.onModelChanged();
|
|
22
|
+
}
|
|
23
|
+
destroyModel() {
|
|
24
|
+
this.portalHost?.detach();
|
|
25
|
+
this.model?.unmountPopupContainer();
|
|
26
|
+
}
|
|
27
|
+
ngOnDestroy() {
|
|
28
|
+
super.ngOnDestroy();
|
|
29
|
+
this.destroyModel();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
PopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i1.PopupService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
PopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: { popupModel: "popupModel" }, usesInheritance: true, ngImport: i0, template: "<div></div>", isInline: true });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{
|
|
37
|
+
selector: "sv-ng-popup, '[sv-ng-popup]'",
|
|
38
|
+
template: "<div></div>"
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i1.PopupService }]; }, propDecorators: { popupModel: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcG9wdXAvcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBa0Msb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQVNuRixNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQXVCO0lBVXpELFlBQVksZ0JBQWtDLEVBQUUsaUJBQW9DLEVBQVUsWUFBMEI7UUFDdEgsS0FBSyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFEaUQsaUJBQVksR0FBWixZQUFZLENBQWM7SUFFeEgsQ0FBQztJQU5TLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFLa0IsY0FBYztRQUMvQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ1EsUUFBUTtRQUNmLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ00sWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7OzJHQTlCVSxjQUFjOytGQUFkLGNBQWMsaUlBSGYsYUFBYTsyRkFHWixjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRSxhQUFhO2lCQUN4QjtrS0FHVSxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBQb3B1cEJhc2VWaWV3TW9kZWwsIFBvcHVwTW9kZWwsIGNyZWF0ZVBvcHVwVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBEb21Qb3J0YWxPdXRsZXQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgUG9wdXBTZXJ2aWNlIH0gZnJvbSBcIi4vcG9wdXAuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcG9wdXAsICdbc3YtbmctcG9wdXBdJ1wiLFxuICB0ZW1wbGF0ZTogXCI8ZGl2PjwvZGl2PlwiXG59KVxuXG5leHBvcnQgY2xhc3MgUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQb3B1cE1vZGVsPiB7XG4gIEBJbnB1dCgpIHBvcHVwTW9kZWwhOiBQb3B1cE1vZGVsO1xuXG4gIHB1YmxpYyBtb2RlbCE6IFBvcHVwQmFzZVZpZXdNb2RlbDtcbiAgcHJpdmF0ZSBwb3J0YWxIb3N0ITogRG9tUG9ydGFsT3V0bGV0O1xuXG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQb3B1cE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5wb3B1cE1vZGVsO1xuICB9XG5cbiAgY29uc3RydWN0b3Iodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHBvcHVwU2VydmljZTogUG9wdXBTZXJ2aWNlKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYsIHZpZXdDb250YWluZXJSZWYpO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk1vZGVsQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lNb2RlbCgpO1xuICAgIHRoaXMubW9kZWwgPSBjcmVhdGVQb3B1cFZpZXdNb2RlbCh0aGlzLnBvcHVwTW9kZWwsIHRoaXMudmlld0NvbnRhaW5lclJlZj8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xuICAgIHRoaXMubW9kZWwuaW5pdGlhbGl6ZVBvcHVwQ29udGFpbmVyKCk7XG4gICAgdGhpcy5wb3J0YWxIb3N0ID0gdGhpcy5wb3B1cFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KHRoaXMubW9kZWwpO1xuICB9XG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMub25Nb2RlbENoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgZGVzdHJveU1vZGVsKCk6IHZvaWQge1xuICAgIHRoaXMucG9ydGFsSG9zdD8uZGV0YWNoKCk7XG4gICAgdGhpcy5tb2RlbD8udW5tb3VudFBvcHVwQ29udGFpbmVyKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuZGVzdHJveU1vZGVsKCk7XG4gIH1cbn0iXX0=
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { ComponentPortal, DomPortalOutlet } from "@angular/cdk/portal";
|
|
3
|
-
import { PopupBaseContainerComponent } from "./popup-container.component";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class PopupService {
|
|
6
|
-
constructor(injector, applicationRef, componentFactoryResolver) {
|
|
7
|
-
this.injector = injector;
|
|
8
|
-
this.applicationRef = applicationRef;
|
|
9
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
10
|
-
}
|
|
11
|
-
createComponent(popupViewModel) {
|
|
12
|
-
const portalHost = new DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, this.applicationRef, this.injector);
|
|
13
|
-
const portal = new ComponentPortal(PopupBaseContainerComponent);
|
|
14
|
-
const componentRef = portalHost.attach(portal);
|
|
15
|
-
popupViewModel.container = popupViewModel.container.children[0];
|
|
16
|
-
componentRef.instance.model = popupViewModel;
|
|
17
|
-
componentRef.changeDetectorRef.detectChanges();
|
|
18
|
-
return portalHost;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
PopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupService, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
-
PopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupService });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupService, decorators: [{
|
|
24
|
-
type: Injectable
|
|
25
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { ComponentPortal, DomPortalOutlet } from "@angular/cdk/portal";
|
|
3
|
+
import { PopupBaseContainerComponent } from "./popup-container.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PopupService {
|
|
6
|
+
constructor(injector, applicationRef, componentFactoryResolver) {
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
this.applicationRef = applicationRef;
|
|
9
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
10
|
+
}
|
|
11
|
+
createComponent(popupViewModel) {
|
|
12
|
+
const portalHost = new DomPortalOutlet(popupViewModel.container, this.componentFactoryResolver, this.applicationRef, this.injector);
|
|
13
|
+
const portal = new ComponentPortal(PopupBaseContainerComponent);
|
|
14
|
+
const componentRef = portalHost.attach(portal);
|
|
15
|
+
popupViewModel.container = popupViewModel.container.children[0];
|
|
16
|
+
componentRef.instance.model = popupViewModel;
|
|
17
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
18
|
+
return portalHost;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
PopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupService, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
PopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupService });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupService, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }]; } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BvcHVwL3BvcHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHMUUsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsUUFBa0IsRUFDbEIsY0FBOEIsRUFDOUIsd0JBQWtEO1FBRmxELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFBRyxDQUFDO0lBRTFFLGVBQWUsQ0FBQyxjQUFrQztRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwSSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsY0FBYyxDQUFDLFNBQVMsR0FBZ0IsY0FBYyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0UsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQzdDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzt5R0FiVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IFBvcHVwQmFzZVZpZXdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgUG9wdXBCYXNlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcG9wdXAtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9wdXBTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7fVxuXG4gIGNyZWF0ZUNvbXBvbmVudChwb3B1cFZpZXdNb2RlbDogUG9wdXBCYXNlVmlld01vZGVsKTogRG9tUG9ydGFsT3V0bGV0IHtcbiAgICBjb25zdCBwb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChwb3B1cFZpZXdNb2RlbC5jb250YWluZXIsIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCB0aGlzLmFwcGxpY2F0aW9uUmVmLCB0aGlzLmluamVjdG9yKTtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFBvcHVwQmFzZUNvbnRhaW5lckNvbXBvbmVudCk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gcG9ydGFsSG9zdC5hdHRhY2gocG9ydGFsKTtcbiAgICBwb3B1cFZpZXdNb2RlbC5jb250YWluZXIgPSA8SFRNTEVsZW1lbnQ+cG9wdXBWaWV3TW9kZWwuY29udGFpbmVyLmNoaWxkcmVuWzBdO1xuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb2RlbCA9IHBvcHVwVmlld01vZGVsO1xuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHBvcnRhbEhvc3Q7XG4gIH1cbn0iXX0=
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from "@angular/core";
|
|
2
|
-
import { AngularComponentFactory } from "../../../component-factory";
|
|
3
|
-
import { SurveyProgressButtonsModel } from "survey-core";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
export class ProgressButtonsComponent {
|
|
7
|
-
constructor(changeDetectorRef) {
|
|
8
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
9
|
-
this.hasScroller = false;
|
|
10
|
-
this.updateScroller = undefined;
|
|
11
|
-
}
|
|
12
|
-
createProgressButtonsModel() {
|
|
13
|
-
this.progressButtonsModel = new SurveyProgressButtonsModel(this.model);
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.createProgressButtonsModel();
|
|
17
|
-
}
|
|
18
|
-
ngOnChanges(changes) {
|
|
19
|
-
this.createProgressButtonsModel();
|
|
20
|
-
}
|
|
21
|
-
isListElementClickable(index) {
|
|
22
|
-
return this.progressButtonsModel.isListElementClickable(index);
|
|
23
|
-
}
|
|
24
|
-
getListElementCss(index) {
|
|
25
|
-
return this.progressButtonsModel.getListElementCss(index);
|
|
26
|
-
}
|
|
27
|
-
clickListElement(index) {
|
|
28
|
-
this.progressButtonsModel.clickListElement(index);
|
|
29
|
-
}
|
|
30
|
-
getScrollButtonCss(isLeftScroll) {
|
|
31
|
-
return this.progressButtonsModel.getScrollButtonCss(this.hasScroller, isLeftScroll);
|
|
32
|
-
}
|
|
33
|
-
clickScrollButton(isLeftScroll) {
|
|
34
|
-
if (this.progressButtonsListContainer) {
|
|
35
|
-
this.progressButtonsListContainer.nativeElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ngAfterViewInit() {
|
|
39
|
-
this.progressButtonsModel = new SurveyProgressButtonsModel(this.model);
|
|
40
|
-
this.updateScroller = setInterval(() => {
|
|
41
|
-
if (!!this.progressButtonsListContainer?.nativeElement) {
|
|
42
|
-
const listContainerElement = this.progressButtonsListContainer.nativeElement;
|
|
43
|
-
this.hasScroller = listContainerElement.scrollWidth > listContainerElement.offsetWidth;
|
|
44
|
-
this.changeDetectorRef.detectChanges();
|
|
45
|
-
}
|
|
46
|
-
}, 100);
|
|
47
|
-
}
|
|
48
|
-
ngOnDestroy() {
|
|
49
|
-
if (typeof this.updateScroller !== "undefined") {
|
|
50
|
-
clearInterval(this.updateScroller);
|
|
51
|
-
this.updateScroller = undefined;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.css.progressButtonsContainerCenter\">\n <div [class]=\"model.css.progressButtonsContainer\">\n <div\n [class]=\"getScrollButtonCss(true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"model.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"model.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"getListElementCss(index)\"\n (click)=\"isListElementClickable(index) ? clickListElement(index) : null\">\n <div\n [class]=\"model.css.progressButtonsPageTitle\"\n [title]=\"page.locNavigationTitle.renderedHtml || page.name\"\n >\n {{ page.locNavigationTitle.renderedHtml || page.name }}\n </div>\n <div\n [class]=\"model.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"getScrollButtonCss(false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ProgressButtonsComponent, decorators: [{
|
|
58
|
-
type: Component,
|
|
59
|
-
args: [{ selector: "sv-ng-progress-buttons", template: "<div [class]=\"model.css.progressButtonsContainerCenter\">\n <div [class]=\"model.css.progressButtonsContainer\">\n <div\n [class]=\"getScrollButtonCss(true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"model.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"model.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"getListElementCss(index)\"\n (click)=\"isListElementClickable(index) ? clickListElement(index) : null\">\n <div\n [class]=\"model.css.progressButtonsPageTitle\"\n [title]=\"page.locNavigationTitle.renderedHtml || page.name\"\n >\n {{ page.locNavigationTitle.renderedHtml || page.name }}\n </div>\n <div\n [class]=\"model.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"getScrollButtonCss(false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n</div>" }]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], progressButtonsListContainer: [{
|
|
63
|
-
type: ViewChild,
|
|
64
|
-
args: ["progressButtonsListContainer"]
|
|
65
|
-
}] } });
|
|
66
|
-
AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { AngularComponentFactory } from "../../../component-factory";
|
|
3
|
+
import { SurveyProgressButtonsModel } from "survey-core";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class ProgressButtonsComponent {
|
|
7
|
+
constructor(changeDetectorRef) {
|
|
8
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
9
|
+
this.hasScroller = false;
|
|
10
|
+
this.updateScroller = undefined;
|
|
11
|
+
}
|
|
12
|
+
createProgressButtonsModel() {
|
|
13
|
+
this.progressButtonsModel = new SurveyProgressButtonsModel(this.model);
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.createProgressButtonsModel();
|
|
17
|
+
}
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
this.createProgressButtonsModel();
|
|
20
|
+
}
|
|
21
|
+
isListElementClickable(index) {
|
|
22
|
+
return this.progressButtonsModel.isListElementClickable(index);
|
|
23
|
+
}
|
|
24
|
+
getListElementCss(index) {
|
|
25
|
+
return this.progressButtonsModel.getListElementCss(index);
|
|
26
|
+
}
|
|
27
|
+
clickListElement(index) {
|
|
28
|
+
this.progressButtonsModel.clickListElement(index);
|
|
29
|
+
}
|
|
30
|
+
getScrollButtonCss(isLeftScroll) {
|
|
31
|
+
return this.progressButtonsModel.getScrollButtonCss(this.hasScroller, isLeftScroll);
|
|
32
|
+
}
|
|
33
|
+
clickScrollButton(isLeftScroll) {
|
|
34
|
+
if (this.progressButtonsListContainer) {
|
|
35
|
+
this.progressButtonsListContainer.nativeElement.scrollLeft += (isLeftScroll ? -1 : 1) * 70;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ngAfterViewInit() {
|
|
39
|
+
this.progressButtonsModel = new SurveyProgressButtonsModel(this.model);
|
|
40
|
+
this.updateScroller = setInterval(() => {
|
|
41
|
+
if (!!this.progressButtonsListContainer?.nativeElement) {
|
|
42
|
+
const listContainerElement = this.progressButtonsListContainer.nativeElement;
|
|
43
|
+
this.hasScroller = listContainerElement.scrollWidth > listContainerElement.offsetWidth;
|
|
44
|
+
this.changeDetectorRef.detectChanges();
|
|
45
|
+
}
|
|
46
|
+
}, 100);
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
if (typeof this.updateScroller !== "undefined") {
|
|
50
|
+
clearInterval(this.updateScroller);
|
|
51
|
+
this.updateScroller = undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.css.progressButtonsContainerCenter\">\n <div [class]=\"model.css.progressButtonsContainer\">\n <div\n [class]=\"getScrollButtonCss(true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"model.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"model.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"getListElementCss(index)\"\n (click)=\"isListElementClickable(index) ? clickListElement(index) : null\">\n <div\n [class]=\"model.css.progressButtonsPageTitle\"\n [title]=\"page.locNavigationTitle.renderedHtml || page.name\"\n >\n {{ page.locNavigationTitle.renderedHtml || page.name }}\n </div>\n <div\n [class]=\"model.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"getScrollButtonCss(false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ProgressButtonsComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{ selector: "sv-ng-progress-buttons", template: "<div [class]=\"model.css.progressButtonsContainerCenter\">\n <div [class]=\"model.css.progressButtonsContainer\">\n <div\n [class]=\"getScrollButtonCss(true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"model.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"model.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"getListElementCss(index)\"\n (click)=\"isListElementClickable(index) ? clickListElement(index) : null\">\n <div\n [class]=\"model.css.progressButtonsPageTitle\"\n [title]=\"page.locNavigationTitle.renderedHtml || page.name\"\n >\n {{ page.locNavigationTitle.renderedHtml || page.name }}\n </div>\n <div\n [class]=\"model.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"getScrollButtonCss(false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n</div>" }]
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], progressButtonsListContainer: [{
|
|
63
|
+
type: ViewChild,
|
|
64
|
+
args: ["progressButtonsListContainer"]
|
|
65
|
+
}] } });
|
|
66
|
+
AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvYnV0dG9ucy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy9idXR0b25zL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBK0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyx3QkFBd0I7SUFNbkMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGaEQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBUSxTQUFTLENBQUM7SUFFeEMsQ0FBQztJQUNPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDTSxzQkFBc0IsQ0FBQyxLQUFhO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDTSxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDTSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ00sa0JBQWtCLENBQUMsWUFBcUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ00saUJBQWlCLENBQ3RCLFlBQXFCO1FBRXJCLElBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3BDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztJQUNNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsYUFBYSxFQUFFO2dCQUNyRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUM7Z0JBQzdFLElBQUksQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLFdBQVcsQ0FBQztnQkFDdkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUNNLFdBQVc7UUFDaEIsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssV0FBVyxFQUFFO1lBQzlDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7U0FDakM7SUFDSCxDQUFDOztxSEFuRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsNlBDUnJDLDB4Q0FtQ007MkZEM0JPLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSx3QkFBd0I7d0dBSXpCLEtBQUs7c0JBQWIsS0FBSztnQkFDcUMsNEJBQTRCO3NCQUF0RSxTQUFTO3VCQUFDLDhCQUE4Qjs7QUFtRDNDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgU3VydmV5TW9kZWwsIFN1cnZleVByb2dyZXNzQnV0dG9uc01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wcm9ncmVzcy1idXR0b25zXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlNb2RlbDtcbiAgQFZpZXdDaGlsZChcInByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXJcIikgcHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcml2YXRlIHByb2dyZXNzQnV0dG9uc01vZGVsITogU3VydmV5UHJvZ3Jlc3NCdXR0b25zTW9kZWw7XG4gIHByaXZhdGUgaGFzU2Nyb2xsZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVTY3JvbGxlcjogYW55ID0gdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG4gIHByaXZhdGUgY3JlYXRlUHJvZ3Jlc3NCdXR0b25zTW9kZWwoKSB7XG4gICAgdGhpcy5wcm9ncmVzc0J1dHRvbnNNb2RlbCA9IG5ldyBTdXJ2ZXlQcm9ncmVzc0J1dHRvbnNNb2RlbCh0aGlzLm1vZGVsKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVByb2dyZXNzQnV0dG9uc01vZGVsKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlUHJvZ3Jlc3NCdXR0b25zTW9kZWwoKTtcbiAgfVxuICBwdWJsaWMgaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvZ3Jlc3NCdXR0b25zTW9kZWwuaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleCk7XG4gIH1cbiAgcHVibGljIGdldExpc3RFbGVtZW50Q3NzKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb2dyZXNzQnV0dG9uc01vZGVsLmdldExpc3RFbGVtZW50Q3NzKGluZGV4KTtcbiAgfVxuICBwdWJsaWMgY2xpY2tMaXN0RWxlbWVudChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wcm9ncmVzc0J1dHRvbnNNb2RlbC5jbGlja0xpc3RFbGVtZW50KGluZGV4KTtcbiAgfVxuICBwdWJsaWMgZ2V0U2Nyb2xsQnV0dG9uQ3NzKGlzTGVmdFNjcm9sbDogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvZ3Jlc3NCdXR0b25zTW9kZWwuZ2V0U2Nyb2xsQnV0dG9uQ3NzKHRoaXMuaGFzU2Nyb2xsZXIsIGlzTGVmdFNjcm9sbCk7XG4gIH1cbiAgcHVibGljIGNsaWNrU2Nyb2xsQnV0dG9uKFxuICAgIGlzTGVmdFNjcm9sbDogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBpZih0aGlzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXIpIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz0gKGlzTGVmdFNjcm9sbCA/IC0xIDogMSkgKiA3MDtcbiAgICB9XG4gIH1cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnByb2dyZXNzQnV0dG9uc01vZGVsID0gbmV3IFN1cnZleVByb2dyZXNzQnV0dG9uc01vZGVsKHRoaXMubW9kZWwpO1xuICAgIHRoaXMudXBkYXRlU2Nyb2xsZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZighIXRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBsaXN0Q29udGFpbmVyRWxlbWVudCA9IHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmhhc1Njcm9sbGVyID0gbGlzdENvbnRhaW5lckVsZW1lbnQuc2Nyb2xsV2lkdGggPiBsaXN0Q29udGFpbmVyRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZVNjcm9sbGVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMudXBkYXRlU2Nyb2xsZXIpO1xuICAgICAgdGhpcy51cGRhdGVTY3JvbGxlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtcHJvZ3Jlc3MtYnV0dG9uc1wiLCBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQpO1xuIiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzLnByb2dyZXNzQnV0dG9uc0NvbnRhaW5lckNlbnRlclwiPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zQ29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImdldFNjcm9sbEJ1dHRvbkNzcyh0cnVlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24odHJ1ZSlcIlxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lclwiICNwcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyPlxuICAgICAgPHVsIFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zTGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBtb2RlbC52aXNpYmxlUGFnZXM7IGluZGV4IGFzIGluZGV4XCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0TGlzdEVsZW1lbnRDc3MoaW5kZXgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleCkgPyBjbGlja0xpc3RFbGVtZW50KGluZGV4KSA6IG51bGxcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzLnByb2dyZXNzQnV0dG9uc1BhZ2VUaXRsZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicGFnZS5sb2NOYXZpZ2F0aW9uVGl0bGUucmVuZGVyZWRIdG1sIHx8IHBhZ2UubmFtZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcGFnZS5sb2NOYXZpZ2F0aW9uVGl0bGUucmVuZGVyZWRIdG1sIHx8IHBhZ2UubmFtZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zUGFnZURlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJwYWdlLmxvY05hdmlnYXRpb25EZXNjcmlwdGlvbi5yZW5kZXJlZEh0bWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhZ2UubG9jTmF2aWdhdGlvbkRlc2NyaXB0aW9uLnJlbmRlcmVkSHRtbCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiZ2V0U2Nyb2xsQnV0dG9uQ3NzKGZhbHNlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24oZmFsc2UpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|