@colijnit/configurator 1.0.8 → 1.0.9
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/app/builder.d.ts +10 -0
- package/app/components/answers/answers.component.d.ts +6 -0
- package/app/components/answers/answers.module.d.ts +2 -0
- package/app/components/selections/selections.component.d.ts +16 -0
- package/app/components/selections/selections.module.d.ts +2 -0
- package/bundles/colijnit-configurator.umd.js +224 -55
- package/bundles/colijnit-configurator.umd.js.map +1 -1
- package/bundles/colijnit-configurator.umd.min.js +2 -2
- package/bundles/colijnit-configurator.umd.min.js.map +1 -1
- package/colijnit-configurator.metadata.json +1 -1
- package/esm2015/app/builder.js +62 -38
- package/esm2015/app/components/answers/answers.component.js +29 -0
- package/esm2015/app/components/answers/answers.module.js +21 -0
- package/esm2015/app/components/selections/selections.component.js +83 -0
- package/esm2015/app/components/selections/selections.module.js +21 -0
- package/esm2015/public_api.js +5 -1
- package/esm2015/utils/threed.utils.js +3 -2
- package/esm5/app/builder.js +87 -51
- package/esm5/app/components/answers/answers.component.js +24 -0
- package/esm5/app/components/answers/answers.module.js +24 -0
- package/esm5/app/components/selections/selections.component.js +73 -0
- package/esm5/app/components/selections/selections.module.js +24 -0
- package/esm5/public_api.js +5 -1
- package/esm5/utils/threed.utils.js +3 -2
- package/fesm2015/colijnit-configurator.js +205 -40
- package/fesm2015/colijnit-configurator.js.map +1 -1
- package/fesm5/colijnit-configurator.js +221 -53
- package/fesm5/colijnit-configurator.js.map +1 -1
- package/package.json +2 -2
- package/public_api.d.ts +4 -0
- package/utils/threed.utils.d.ts +0 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
3
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
4
|
+
var SelectionViewModel = /** @class */ (function () {
|
|
5
|
+
function SelectionViewModel() {
|
|
6
|
+
this.children = [];
|
|
7
|
+
this.expanded = false;
|
|
8
|
+
}
|
|
9
|
+
return SelectionViewModel;
|
|
10
|
+
}());
|
|
11
|
+
var SelectionsComponent = /** @class */ (function () {
|
|
12
|
+
function SelectionsComponent() {
|
|
13
|
+
this.selectionViewModels = [];
|
|
14
|
+
this.selectionClick = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(SelectionsComponent.prototype, "selections", {
|
|
17
|
+
set: function (value) {
|
|
18
|
+
this._prepareSelections(value);
|
|
19
|
+
},
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true
|
|
22
|
+
});
|
|
23
|
+
SelectionsComponent.prototype.expandClicked = function (selectionViewModel, mouseEvent) {
|
|
24
|
+
mouseEvent.preventDefault();
|
|
25
|
+
mouseEvent.stopImmediatePropagation();
|
|
26
|
+
selectionViewModel.expanded = !selectionViewModel.expanded;
|
|
27
|
+
};
|
|
28
|
+
SelectionsComponent.prototype.selectSelection = function (selection, mouseEvent) {
|
|
29
|
+
mouseEvent.preventDefault();
|
|
30
|
+
mouseEvent.stopImmediatePropagation();
|
|
31
|
+
this.selectionClick.next(selection);
|
|
32
|
+
};
|
|
33
|
+
SelectionsComponent.prototype._prepareSelections = function (value) {
|
|
34
|
+
var _this = this;
|
|
35
|
+
this.selectionViewModels.length = 0;
|
|
36
|
+
var selectionViewModel;
|
|
37
|
+
value.forEach(function (s) {
|
|
38
|
+
if (s.presentationLevel === 1) {
|
|
39
|
+
selectionViewModel = new SelectionViewModel();
|
|
40
|
+
selectionViewModel.selection = s;
|
|
41
|
+
_this.selectionViewModels.push(selectionViewModel);
|
|
42
|
+
}
|
|
43
|
+
else if (s.presentationLevel > 1) {
|
|
44
|
+
if (selectionViewModel) {
|
|
45
|
+
selectionViewModel.children.push(s);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
__decorate([
|
|
51
|
+
Input()
|
|
52
|
+
], SelectionsComponent.prototype, "selections", null);
|
|
53
|
+
__decorate([
|
|
54
|
+
Output()
|
|
55
|
+
], SelectionsComponent.prototype, "selectionClick", void 0);
|
|
56
|
+
SelectionsComponent = __decorate([
|
|
57
|
+
Component({
|
|
58
|
+
selector: "selections",
|
|
59
|
+
template: "\n <ng-container *ngFor=\"let selectionViewModel of selectionViewModels\">\n <div class=\"selection\" (click)=\"selectSelection(selectionViewModel.selection, $event)\">\n <div class=\"question\" [textContent]=\"selectionViewModel.selection.commercialQuestion\"></div>\n <div class=\"answer\" [textContent]=\"selectionViewModel.selection.answer\"></div>\n <div class=\"collapse-handle\" [class.expanded]=\"selectionViewModel.expanded\" \n *ngIf=\"selectionViewModel.children.length > 0\" (click)=\"expandClicked(selectionViewModel, $event)\"></div>\n <div *ngIf=\"selectionViewModel.children.length > 0 && selectionViewModel.expanded\" @showHideChildren>\n <div class=\"child-selection\" *ngFor=\"let selection of selectionViewModel.children\"\n (click)=\"selectSelection(selection, $event)\"\n >\n <div class=\"question\" [textContent]=\"selection.commercialQuestion\"></div>\n <div class=\"answer\" [textContent]=\"selection.answer\"></div>\n </div>\n </div>\n </div>\n </ng-container>\n ",
|
|
60
|
+
animations: [
|
|
61
|
+
trigger('showHideChildren', [
|
|
62
|
+
state('void', style({ 'height': '0' })),
|
|
63
|
+
state('*', style({ 'height': '*' })),
|
|
64
|
+
transition('void <=> *', animate(200))
|
|
65
|
+
])
|
|
66
|
+
],
|
|
67
|
+
styles: [":host{position:absolute;top:0;right:0;width:300px}:host .selection{position:relative;overflow:hidden;cursor:pointer;font-size:12px;border:1px solid gray}:host .question{font-weight:700}:host .answer{font-size:10px}:host .collapse-handle{position:absolute;top:10px;right:12px;border:solid #000;border-width:0 3px 3px 0;display:inline-block;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}:host .collapse-handle.expanded{transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}:host .child-selection{margin-left:10px}"]
|
|
68
|
+
})
|
|
69
|
+
], SelectionsComponent);
|
|
70
|
+
return SelectionsComponent;
|
|
71
|
+
}());
|
|
72
|
+
export { SelectionsComponent };
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvY29uZmlndXJhdG9yLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvc2VsZWN0aW9ucy9zZWxlY3Rpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FO0lBQUE7UUFFVyxhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFBRCx5QkFBQztBQUFELENBQUMsQUFKRCxJQUlDO0FBa0NEO0lBQUE7UUFNVyx3QkFBbUIsR0FBeUIsRUFBRSxDQUFDO1FBRy9DLG1CQUFjLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7SUE2Qm5GLENBQUM7SUFwQ0csc0JBQVcsMkNBQVU7YUFBckIsVUFBc0IsS0FBa0I7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7OztPQUFBO0lBT00sMkNBQWEsR0FBcEIsVUFBcUIsa0JBQXNDLEVBQUUsVUFBc0I7UUFDL0UsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3RDLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDO0lBRU0sNkNBQWUsR0FBdEIsVUFBdUIsU0FBb0IsRUFBRSxVQUFzQjtRQUMvRCxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsVUFBVSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGdEQUFrQixHQUExQixVQUEyQixLQUFrQjtRQUE3QyxpQkFjQztRQWJHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksa0JBQXNDLENBQUM7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUM7WUFDWCxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDOUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztnQkFDakMsS0FBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3JEO2lCQUFNLElBQUksQ0FBQyxDQUFDLGlCQUFpQixHQUFHLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxrQkFBa0IsRUFBRTtvQkFDcEIsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdkM7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQW5DRDtRQURDLEtBQUssRUFBRTt5REFHUDtJQUtEO1FBREMsTUFBTSxFQUFFOytEQUNzRTtJQVR0RSxtQkFBbUI7UUFoQy9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFFBQVEsRUFBRSxvdUNBaUJUO1lBSUQsVUFBVSxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtvQkFDeEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztvQkFDckMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztvQkFDbEMsVUFBVSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3pDLENBQUM7YUFDTDs7U0FDSixDQUFDO09BRVcsbUJBQW1CLENBc0MvQjtJQUFELDBCQUFDO0NBQUEsQUF0Q0QsSUFzQ0M7U0F0Q1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTZWxlY3Rpb259IGZyb20gXCJAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL3NyYy9tb2RlbC9zZWxlY3Rpb25cIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcblxyXG5jbGFzcyBTZWxlY3Rpb25WaWV3TW9kZWwge1xyXG4gICAgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uO1xyXG4gICAgcHVibGljIGNoaWxkcmVuOiBTZWxlY3Rpb25bXSA9IFtdO1xyXG4gICAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwic2VsZWN0aW9uc1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWxlY3Rpb25WaWV3TW9kZWwgb2Ygc2VsZWN0aW9uVmlld01vZGVsc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uXCIgKGNsaWNrKT1cInNlbGVjdFNlbGVjdGlvbihzZWxlY3Rpb25WaWV3TW9kZWwuc2VsZWN0aW9uLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25cIiBbdGV4dENvbnRlbnRdPVwic2VsZWN0aW9uVmlld01vZGVsLnNlbGVjdGlvbi5jb21tZXJjaWFsUXVlc3Rpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbnN3ZXJcIiBbdGV4dENvbnRlbnRdPVwic2VsZWN0aW9uVmlld01vZGVsLnNlbGVjdGlvbi5hbnN3ZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZS1oYW5kbGVcIiBbY2xhc3MuZXhwYW5kZWRdPVwic2VsZWN0aW9uVmlld01vZGVsLmV4cGFuZGVkXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0aW9uVmlld01vZGVsLmNoaWxkcmVuLmxlbmd0aCA+IDBcIiAoY2xpY2spPVwiZXhwYW5kQ2xpY2tlZChzZWxlY3Rpb25WaWV3TW9kZWwsICRldmVudClcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3Rpb25WaWV3TW9kZWwuY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBzZWxlY3Rpb25WaWV3TW9kZWwuZXhwYW5kZWRcIiBAc2hvd0hpZGVDaGlsZHJlbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpbGQtc2VsZWN0aW9uXCIgKm5nRm9yPVwibGV0IHNlbGVjdGlvbiBvZiBzZWxlY3Rpb25WaWV3TW9kZWwuY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFNlbGVjdGlvbihzZWxlY3Rpb24sICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uXCIgW3RleHRDb250ZW50XT1cInNlbGVjdGlvbi5jb21tZXJjaWFsUXVlc3Rpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFuc3dlclwiIFt0ZXh0Q29udGVudF09XCJzZWxlY3Rpb24uYW5zd2VyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbXHJcbiAgICAgICAgJy4vc2VsZWN0aW9ucy5jb21wb25lbnQuc2NzcydcclxuICAgIF0sXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcignc2hvd0hpZGVDaGlsZHJlbicsIFtcclxuICAgICAgICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7J2hlaWdodCc6ICcwJ30pKSxcclxuICAgICAgICAgICAgc3RhdGUoJyonLCBzdHlsZSh7J2hlaWdodCc6ICcqJ30pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA8PT4gKicsIGFuaW1hdGUoMjAwKSlcclxuICAgICAgICBdKVxyXG4gICAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbnNDb21wb25lbnQge1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9ucyh2YWx1ZTogU2VsZWN0aW9uW10pIHtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlU2VsZWN0aW9ucyh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlbGVjdGlvblZpZXdNb2RlbHM6IFNlbGVjdGlvblZpZXdNb2RlbFtdID0gW107XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb24+KCk7XHJcblxyXG4gICAgcHVibGljIGV4cGFuZENsaWNrZWQoc2VsZWN0aW9uVmlld01vZGVsOiBTZWxlY3Rpb25WaWV3TW9kZWwsIG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBtb3VzZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgbW91c2VFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBzZWxlY3Rpb25WaWV3TW9kZWwuZXhwYW5kZWQgPSAhc2VsZWN0aW9uVmlld01vZGVsLmV4cGFuZGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RTZWxlY3Rpb24oc2VsZWN0aW9uOiBTZWxlY3Rpb24sIG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBtb3VzZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgbW91c2VFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNsaWNrLm5leHQoc2VsZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlU2VsZWN0aW9ucyh2YWx1ZTogU2VsZWN0aW9uW10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvblZpZXdNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgICAgICBsZXQgc2VsZWN0aW9uVmlld01vZGVsOiBTZWxlY3Rpb25WaWV3TW9kZWw7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChzID0+IHtcclxuICAgICAgICAgICAgaWYgKHMucHJlc2VudGF0aW9uTGV2ZWwgPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIHNlbGVjdGlvblZpZXdNb2RlbCA9IG5ldyBTZWxlY3Rpb25WaWV3TW9kZWwoKTtcclxuICAgICAgICAgICAgICAgIHNlbGVjdGlvblZpZXdNb2RlbC5zZWxlY3Rpb24gPSBzO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25WaWV3TW9kZWxzLnB1c2goc2VsZWN0aW9uVmlld01vZGVsKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChzLnByZXNlbnRhdGlvbkxldmVsID4gMSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvblZpZXdNb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblZpZXdNb2RlbC5jaGlsZHJlbi5wdXNoKHMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { SelectionsComponent } from "./selections.component";
|
|
5
|
+
var SelectionsModule = /** @class */ (function () {
|
|
6
|
+
function SelectionsModule() {
|
|
7
|
+
}
|
|
8
|
+
SelectionsModule = __decorate([
|
|
9
|
+
NgModule({
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule
|
|
12
|
+
],
|
|
13
|
+
declarations: [
|
|
14
|
+
SelectionsComponent
|
|
15
|
+
],
|
|
16
|
+
exports: [
|
|
17
|
+
SelectionsComponent
|
|
18
|
+
]
|
|
19
|
+
})
|
|
20
|
+
], SelectionsModule);
|
|
21
|
+
return SelectionsModule;
|
|
22
|
+
}());
|
|
23
|
+
export { SelectionsModule };
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29saWpuaXQvY29uZmlndXJhdG9yLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvc2VsZWN0aW9ucy9zZWxlY3Rpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFhM0Q7SUFBQTtJQUVBLENBQUM7SUFGWSxnQkFBZ0I7UUFYNUIsUUFBUSxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLFlBQVk7YUFDZjtZQUNELFlBQVksRUFBRTtnQkFDVixtQkFBbUI7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ0wsbUJBQW1CO2FBQ3RCO1NBQ0osQ0FBQztPQUNXLGdCQUFnQixDQUU1QjtJQUFELHVCQUFDO0NBQUEsQUFGRCxJQUVDO1NBRlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtTZWxlY3Rpb25zQ29tcG9uZW50fSBmcm9tIFwiLi9zZWxlY3Rpb25zLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBTZWxlY3Rpb25zQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFNlbGVjdGlvbnNDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbnNNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
|
package/esm5/public_api.js
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
export * from './app/builder';
|
|
2
|
-
|
|
2
|
+
export * from './app/components/answers/answers.module';
|
|
3
|
+
export * from './app/components/answers/answers.component';
|
|
4
|
+
export * from './app/components/selections/selections.module';
|
|
5
|
+
export * from './app/components/selections/selections.component';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC9jb25maWd1cmF0b3IvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC9idWlsZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAvY29tcG9uZW50cy9hbnN3ZXJzL2Fuc3dlcnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAvY29tcG9uZW50cy9hbnN3ZXJzL2Fuc3dlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAvY29tcG9uZW50cy9zZWxlY3Rpb25zL3NlbGVjdGlvbnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hcHAvY29tcG9uZW50cy9zZWxlY3Rpb25zL3NlbGVjdGlvbnMuY29tcG9uZW50JztcclxuIl19
|
|
@@ -22,7 +22,8 @@ var ThreedUtils = /** @class */ (function () {
|
|
|
22
22
|
fileName = fileName.replace('.unity3d', '');
|
|
23
23
|
lookupFileName = fileName + (fileName.indexOf('.glb') < 0 ? '.glb' : '');
|
|
24
24
|
if (this._objectCache.has(lookupFileName)) {
|
|
25
|
-
|
|
25
|
+
resolve(this._objectCache.get(lookupFileName));
|
|
26
|
+
return [2 /*return*/];
|
|
26
27
|
}
|
|
27
28
|
return [4 /*yield*/, FileUtils.FileExists(lookupFileName, 'https://cdn1.colijn-it.nl/content43/')];
|
|
28
29
|
case 1:
|
|
@@ -275,4 +276,4 @@ var ThreedUtils = /** @class */ (function () {
|
|
|
275
276
|
return ThreedUtils;
|
|
276
277
|
}());
|
|
277
278
|
export { ThreedUtils };
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWVkLnV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L2NvbmZpZ3VyYXRvci8iLCJzb3VyY2VzIjpbInV0aWxzL3RocmVlZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFdkM7SUFBQTtRQUVVLGlCQUFZLEdBQWdDLElBQUksR0FBRyxFQUFFLENBQUM7SUFvTmhFLENBQUM7SUFqTlEsZ0NBQVUsR0FBakI7UUFDRSxJQUFNLElBQUksR0FBcUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQTVCLENBQTRCLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxzQ0FBZ0IsR0FBdkIsVUFBd0IsUUFBZ0I7UUFBeEMsaUJBZ0JDO1FBZkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFPLE9BQWlCLEVBQUUsTUFBZ0I7Ozs7Ozt3QkFDM0QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUN4QyxjQUFjLEdBQVcsUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3JGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFD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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUM7Ozs7d0JBR3RDLHNCQUFPLEVBQUUsRUFBQzs7Ozs7S0FFYjtJQUVILGtCQUFDO0FBQUQsQ0FBQyxBQXRORCxJQXNOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gXCJ0aHJlZVwiO1xuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vZmlsZS51dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgVGhyZWVkVXRpbHMge1xuXG4gIHByaXZhdGUgX29iamVjdENhY2hlOiBNYXA8c3RyaW5nLCBUSFJFRS5PYmplY3QzRD4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgX3NvdXJjZUNhY2hlXG5cbiAgcHVibGljIGNsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgY29uc3Qgb2JqczogVEhSRUUuT2JqZWN0M0RbXSA9IEFycmF5LmZyb20odGhpcy5fb2JqZWN0Q2FjaGUudmFsdWVzKCkpO1xuICAgIG9ianMuZm9yRWFjaChvID0+IE9iamVjdFV0aWxzLkRpc3Bvc2VPYmplY3QobykpO1xuICAgIHRoaXMuX29iamVjdENhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWQzRFNvdXJjZShmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxUSFJFRS5PYmplY3QzRD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcbiAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZSgnLnVuaXR5M2QnLCAnJyk7XG4gICAgICBsZXQgbG9va3VwRmlsZU5hbWU6IHN0cmluZyA9IGZpbGVOYW1lICsgKGZpbGVOYW1lLmluZGV4T2YoJy5nbGInKSA8IDAgPyAnLmdsYicgOiAnJyk7XG4gICAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGxvb2t1cEZpbGVOYW1lKSkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChsb29rdXBGaWxlTmFtZSkpO1xuICAgICAgfVxuICAgICAgaWYgKGF3YWl0IEZpbGVVdGlscy5GaWxlRXhpc3RzKGxvb2t1cEZpbGVOYW1lLCAnaHR0cHM6Ly9jZG4xLmNvbGlqbi1pdC5ubC9jb250ZW50NDMvJykpIHtcbiAgICAgICAgdGhpcy5sb2FkR2xiU291cmNlKGxvb2t1cEZpbGVOYW1lKS50aGVuKChvYmo6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICAgICAgdGhpcy5fb2JqZWN0Q2FjaGUuc2V0KGxvb2t1cEZpbGVOYW1lLCBvYmopO1xuICAgICAgICAgIHJlc29sdmUob2JqKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWplY3QoYEdMQiBzb3VyY2Ugbm90IGZvdW5kISAoJHtsb29rdXBGaWxlTmFtZX0pYCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZEZpbGVBc1RleHQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGZpbGVSZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4gcmVzb2x2ZShlLnRhcmdldC5yZXN1bHQpO1xuICAgICAgZmlsZVJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzVGV4dChmaWxlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkSnNvbk1vZGVsKGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLl9vYmplY3RDYWNoZS5oYXMoZmlsZVBhdGgpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChmaWxlUGF0aCkpO1xuICAgIH1cbiAgICBjb25zdCBqc29uOiBzdHJpbmcgPSBhd2FpdCB0aGlzLl9yZWFkSnNvbkZpbGUoZmlsZVBhdGgpO1xuICAgIGNvbnN0IGxvYWRlciA9IG5ldyBUSFJFRS5PYmplY3RMb2FkZXIoKTtcbiAgICBsb2FkZXIuY3Jvc3NPcmlnaW4gPSAnQW5vbnltb3VzJztcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgb2JqID0gbG9hZGVyLnBhcnNlKGpzb24pO1xuICAgICAgICB0aGlzLl9vYmplY3RDYWNoZS5zZXQoZmlsZVBhdGgsIG9iaik7XG4gICAgICAgIHJlc29sdmUob2JqKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVqZWN0KG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRKc29uT2JqZWN0TW9kZWwoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuX29iamVjdENhY2hlLmhhcyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fb2JqZWN0Q2FjaGUuZ2V0KGZpbGVQYXRoKSk7XG4gICAgfVxuICAgIGNvbnN0IGxvYWRlciA9IG5ldyBUSFJFRS5PYmplY3RMb2FkZXIoKTtcbiAgICBsb2FkZXIuc2V0Q3Jvc3NPcmlnaW4oJ0Fub255bW91cycpO1xuICAgIGxvYWRlci5zZXRSZXNvdXJjZVBhdGgoJycpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsb2FkZXIubG9hZChmaWxlUGF0aCxcbiAgICAgICAgKG9iamVjdDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb2JqOiBUSFJFRS5PYmplY3QzRCA9IChvYmplY3QudHlwZSA9PT0gJ1NjZW5lJyAmJiBvYmplY3QuY2hpbGRyZW5bMF0udHlwZSA9PT0gJ09iamVjdDNEJykgPyBvYmplY3QuY2hpbGRyZW5bMF0gOiBvYmplY3Q7XG4gICAgICAgICAgdGhpcy5fb2JqZWN0Q2FjaGUuc2V0KGZpbGVQYXRoLCBvYmopO1xuICAgICAgICAgIHJlc29sdmUob2JqIGFzIFRIUkVFLk9iamVjdDNEKTtcbiAgICAgICAgfSxcbiAgICAgICAgeGhyID0+IG51bGwsXG4gICAgICAgIGVycm9yID0+IHJlamVjdChlcnJvcilcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZEdsYk1vZGVsKGZpbGU6IHN0cmluZywgY2xlYW5VcDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPFRIUkVFLk9iamVjdDNEPiB7XG4gICAgaWYgKHRoaXMuX29iamVjdENhY2hlLmhhcyhmaWxlKSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9vYmplY3RDYWNoZS5nZXQoZmlsZSkpO1xuICAgIH1cbiAgICBpZiAoIXdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnbG9hZEdMVEYnKSkge1xuICAgICAgY29uc29sZS5lcnJvcignbG9hZEdMVEYgbm90IGRlZmluZWQgaW4gd2luZG93IGdsb2JhbCcpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICAgLy8gY29uc3QgbG9hZGVyID0gbmV3IEdMVEZMb2FkZXIoKTtcbiAgICBjb25zdCBvYmo6IFRIUkVFLk9iamVjdDNEID0gYXdhaXQgKHdpbmRvdyBhcyBhbnkpLmxvYWRHTFRGKGZpbGUpO1xuICAgIGlmIChvYmopIHtcbiAgICAgIHRoaXMuX2NsZWFuZWRVcE9iamVjdHMob2JqLCBjbGVhblVwKTtcbiAgICAgIHRoaXMuX29iamVjdENhY2hlLnNldChmaWxlLCBvYmopO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRHbGJTb3VyY2UoZmlsZTogc3RyaW5nKTogUHJvbWlzZTxUSFJFRS5PYmplY3QzRD4ge1xuICAgIGNvbnN0IG9iaiA9IGF3YWl0IHRoaXMubG9hZEdsYk1vZGVsKGZpbGUsIGZhbHNlKTtcbiAgICBpZiAob2JqKSB7XG4gICAgICBvYmouY2hpbGRyZW4gPSBvYmouY2hpbGRyZW4uZmlsdGVyKGMgPT4gIShjIGluc3RhbmNlb2YgVEhSRUUuQ2FtZXJhKSk7XG4gICAgICBvYmouY2hpbGRyZW4uc29ydCgoYSwgYikgPT4gYVsnbmFtZSddIDwgYlsnbmFtZSddID8gMSA6IC0xKTtcbiAgICAgIG9iai5jaGlsZHJlbi5mb3JFYWNoKChjOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgICBjLnRyYXZlcnNlKCh0OiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgICAgIHQudmlzaWJsZSA9ICF0Lm5hbWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdjXycpO1xuICAgICAgICB9KTtcbiAgICAgICAgYy52aXNpYmxlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIGlmIChvYmouY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIG9iai5jaGlsZHJlblswXSBpbnN0YW5jZW9mIFRIUkVFLkdyb3VwKSB7IC8vIGZsYXR0ZW4gY2hpbGRyZW5cbiAgICAgICAgY29uc3QgY2hpbGRyZW46IGFueSA9IG9iai5jaGlsZHJlblswXS5jaGlsZHJlbi5zbGljZSgpO1xuICAgICAgICBvYmouY2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgICAgICAgb2JqLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdGV4dHVyZUZyb21VcmwodXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIHVybCA9IHRoaXMuX2luY2x1ZGVCYXNlVXJsKHVybCk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRleHR1cmVMb2FkZXIgPSBuZXcgVEhSRUUuVGV4dHVyZUxvYWRlcigpO1xuICAgICAgLy8gdGV4dHVyZUxvYWRlci5zZXRCYXNlVSh0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MuYXNzZXRQYXRoKTtcbiAgICAgIHRleHR1cmVMb2FkZXIubG9hZCh1cmwsXG4gICAgICAgICh0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlKSA9PiB7XG4gICAgICAgICAgdGV4dHVyZS53cmFwVCA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgICAgICAgIHRleHR1cmUud3JhcFMgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICAgICAgICB0ZXh0dXJlLnJlcGVhdC5zZXQoMSwgMSk7XG4gICAgICAgICAgdGV4dHVyZS5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUodGV4dHVyZSk7XG4gICAgICAgIH0sXG4gICAgICAgIG51bGwsXG4gICAgICAgIHJlamVjdFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsZWFuZWRVcE9iamVjdHMob2JqZWN0OiBUSFJFRS5PYmplY3QzRCwgY2xlYW5VcDogYm9vbGVhbiA9IHRydWUpOiBUSFJFRS5PYmplY3QzRCB7XG4gICAgbGV0IG9iajogVEhSRUUuT2JqZWN0M0QgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICBvYmplY3QuY2hpbGRyZW4uZm9yRWFjaCgoYzogVEhSRUUuT2JqZWN0M0QpID0+IHtcbiAgICAgIGlmICghKGMgaW5zdGFuY2VvZiBUSFJFRS5DYW1lcmEpKSB7XG4gICAgICAgIGlmIChjbGVhblVwICYmIGMgaW5zdGFuY2VvZiBUSFJFRS5Hcm91cCB8fCAoYy5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgYy5jaGlsZHJlblswXSBpbnN0YW5jZW9mIFRIUkVFLkdyb3VwKSkge1xuICAgICAgICAgIHRoaXMuX2FkZEdyb3VwQ2hpbGRyZW5Ub09iamVjdChjLCBvYmopO1xuICAgICAgICB9IGVsc2UgaWYgKChjbGVhblVwICYmICEoYyBpbnN0YW5jZW9mIFRIUkVFLk1lc2gpKSB8fCAoIShjIGluc3RhbmNlb2YgVEhSRUUuTWVzaCkgJiYgIWMubmFtZSAmJiBjLmNoaWxkcmVuLmxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgYy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgY2hpbGQudHJhbnNsYXRlWShjLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGMudHJhbnNsYXRlWSgtYy5wb3NpdGlvbi55KTtcbiAgICAgICAgICBpZiAob2JqLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG9iai5hZGQoYy5jbG9uZSgpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2JqID0gYy5jbG9uZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBpZiAoYy5wb3NpdGlvbi55ID4gMCB8fCBjLnBvc2l0aW9uLnkgPCAwKSB7XG4gICAgICAgICAgLy8gICBjLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgLy8gICAgIGNoaWxkLnRyYW5zbGF0ZVkoYy5wb3NpdGlvbi55KTtcbiAgICAgICAgICAvLyAgIH0pO1xuICAgICAgICAgIC8vICAgYy50cmFuc2xhdGVZKC1jLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgICBvYmouYWRkKGMuY2xvbmUoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBib3VuZGluZ0JveCA9IG5ldyBUSFJFRS5Cb3gzKCkuc2V0RnJvbU9iamVjdChvYmopO1xuICAgIGNvbnN0IGJiQ2VudGVyUGl2b3QgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuICAgIGJvdW5kaW5nQm94LmdldENlbnRlcihiYkNlbnRlclBpdm90KTtcbiAgICBjb25zdCBkZWx0YTogVEhSRUUuVmVjdG9yMyA9IG5ldyBUSFJFRS5WZWN0b3IzKCkuYWRkKGJiQ2VudGVyUGl2b3QpLm5lZ2F0ZSgpO1xuICAgIG9iai5jaGlsZHJlbi5mb3JFYWNoKChjYykgPT4ge1xuICAgICAgY2MucG9zaXRpb24uYWRkKGRlbHRhKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkR3JvdXBDaGlsZHJlblRvT2JqZWN0KGdyb3VwOiBUSFJFRS5PYmplY3QzRCwgb2JqOiBUSFJFRS5PYmplY3QzRCwgY2xlYW5VcDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBncm91cC5jaGlsZHJlbi5mb3JFYWNoKChnYzogVEhSRUUuT2JqZWN0M0QpID0+IHtcbiAgICAgIGlmIChjbGVhblVwICYmIGdjIGluc3RhbmNlb2YgVEhSRUUuR3JvdXApIHtcbiAgICAgICAgdGhpcy5fYWRkR3JvdXBDaGlsZHJlblRvT2JqZWN0KGdjLCBvYmopO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZ2MudHJhbnNsYXRlWCgtZ3JvdXAucG9zaXRpb24ueCk7XG4gICAgICAgIGdjLnRyYW5zbGF0ZVkoZ3JvdXAucG9zaXRpb24ueSk7XG4gICAgICAgIC8vIGdjLnRyYW5zbGF0ZVooLWdyb3VwLnBvc2l0aW9uLnopO1xuICAgICAgICBvYmouYWRkKGdjLmNsb25lKCkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXRlcmF0ZUNoaWxkcmVuKGNoaWxkcmVuOiBUSFJFRS5PYmplY3QzRFtdLCBjYWxsYmFjazogKGNoaWxkOiBUSFJFRS5NZXNoKSA9PiB7fSk6IHZvaWQge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoaWxkOiBUSFJFRS5PYmplY3QzRCA9IGNoaWxkcmVuW2ldO1xuICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgVEhSRUUuTWVzaCkge1xuICAgICAgICBjYWxsYmFjayhjaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pdGVyYXRlQ2hpbGRyZW4oY2hpbGQuY2hpbGRyZW4sIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkSnNvbkZpbGUoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goZmlsZVBhdGgpO1xuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgZW1wdHkgPSBmYWxzZTtcbiAgICAgICAgYXdhaXQgcmVzcG9uc2UuY2xvbmUoKS50ZXh0KCkudGhlbigodmFsdWUpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICBlbXB0eSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGVtcHR5ID8ge30gOiByZXNwb25zZS5qc29uKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWVkLnV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L2NvbmZpZ3VyYXRvci8iLCJzb3VyY2VzIjpbInV0aWxzL3RocmVlZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFdkM7SUFBQTtRQUVVLGlCQUFZLEdBQWdDLElBQUksR0FBRyxFQUFFLENBQUM7SUFvTmhFLENBQUM7SUFsTlEsZ0NBQVUsR0FBakI7UUFDRSxJQUFNLElBQUksR0FBcUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQTVCLENBQTRCLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxzQ0FBZ0IsR0FBdkIsVUFBd0IsUUFBZ0I7UUFBeEMsaUJBaUJDO1FBaEJDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBTyxPQUFpQixFQUFFLE1BQWdCOzs7Ozs7d0JBQzNELFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDeEMsY0FBYyxHQUFXLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNyRixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FB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QUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUM7Ozs7d0JBR3RDLHNCQUFPLEVBQUUsRUFBQzs7Ozs7S0FFYjtJQUVILGtCQUFDO0FBQUQsQ0FBQyxBQXRORCxJQXNOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gXCJ0aHJlZVwiO1xuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vb2JqZWN0LnV0aWxzXCI7XG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vZmlsZS51dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgVGhyZWVkVXRpbHMge1xuXG4gIHByaXZhdGUgX29iamVjdENhY2hlOiBNYXA8c3RyaW5nLCBUSFJFRS5PYmplY3QzRD4gPSBuZXcgTWFwKCk7XG5cbiAgcHVibGljIGNsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgY29uc3Qgb2JqczogVEhSRUUuT2JqZWN0M0RbXSA9IEFycmF5LmZyb20odGhpcy5fb2JqZWN0Q2FjaGUudmFsdWVzKCkpO1xuICAgIG9ianMuZm9yRWFjaChvID0+IE9iamVjdFV0aWxzLkRpc3Bvc2VPYmplY3QobykpO1xuICAgIHRoaXMuX29iamVjdENhY2hlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWQzRFNvdXJjZShmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxUSFJFRS5PYmplY3QzRD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcbiAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZSgnLnVuaXR5M2QnLCAnJyk7XG4gICAgICBsZXQgbG9va3VwRmlsZU5hbWU6IHN0cmluZyA9IGZpbGVOYW1lICsgKGZpbGVOYW1lLmluZGV4T2YoJy5nbGInKSA8IDAgPyAnLmdsYicgOiAnJyk7XG4gICAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGxvb2t1cEZpbGVOYW1lKSkge1xuICAgICAgICByZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChsb29rdXBGaWxlTmFtZSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoYXdhaXQgRmlsZVV0aWxzLkZpbGVFeGlzdHMobG9va3VwRmlsZU5hbWUsICdodHRwczovL2NkbjEuY29saWpuLWl0Lm5sL2NvbnRlbnQ0My8nKSkge1xuICAgICAgICB0aGlzLmxvYWRHbGJTb3VyY2UobG9va3VwRmlsZU5hbWUpLnRoZW4oKG9iajogVEhSRUUuT2JqZWN0M0QpID0+IHtcbiAgICAgICAgICB0aGlzLl9vYmplY3RDYWNoZS5zZXQobG9va3VwRmlsZU5hbWUsIG9iaik7XG4gICAgICAgICAgcmVzb2x2ZShvYmopO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdChgR0xCIHNvdXJjZSBub3QgZm91bmQhICgke2xvb2t1cEZpbGVOYW1lfSlgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkRmlsZUFzVGV4dChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiByZXNvbHZlKGUudGFyZ2V0LnJlc3VsdCk7XG4gICAgICBmaWxlUmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgZmlsZVJlYWRlci5yZWFkQXNUZXh0KGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWRKc29uTW9kZWwoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuX29iamVjdENhY2hlLmhhcyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fb2JqZWN0Q2FjaGUuZ2V0KGZpbGVQYXRoKSk7XG4gICAgfVxuICAgIGNvbnN0IGpzb246IHN0cmluZyA9IGF3YWl0IHRoaXMuX3JlYWRKc29uRmlsZShmaWxlUGF0aCk7XG4gICAgY29uc3QgbG9hZGVyID0gbmV3IFRIUkVFLk9iamVjdExvYWRlcigpO1xuICAgIGxvYWRlci5jcm9zc09yaWdpbiA9ICdBbm9ueW1vdXMnO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBvYmogPSBsb2FkZXIucGFyc2UoanNvbik7XG4gICAgICAgIHRoaXMuX29iamVjdENhY2hlLnNldChmaWxlUGF0aCwgb2JqKTtcbiAgICAgICAgcmVzb2x2ZShvYmopO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZEpzb25PYmplY3RNb2RlbChmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGZpbGVQYXRoKSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9vYmplY3RDYWNoZS5nZXQoZmlsZVBhdGgpKTtcbiAgICB9XG4gICAgY29uc3QgbG9hZGVyID0gbmV3IFRIUkVFLk9iamVjdExvYWRlcigpO1xuICAgIGxvYWRlci5zZXRDcm9zc09yaWdpbignQW5vbnltb3VzJyk7XG4gICAgbG9hZGVyLnNldFJlc291cmNlUGF0aCgnJyk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGxvYWRlci5sb2FkKGZpbGVQYXRoLFxuICAgICAgICAob2JqZWN0OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBvYmo6IFRIUkVFLk9iamVjdDNEID0gKG9iamVjdC50eXBlID09PSAnU2NlbmUnICYmIG9iamVjdC5jaGlsZHJlblswXS50eXBlID09PSAnT2JqZWN0M0QnKSA/IG9iamVjdC5jaGlsZHJlblswXSA6IG9iamVjdDtcbiAgICAgICAgICB0aGlzLl9vYmplY3RDYWNoZS5zZXQoZmlsZVBhdGgsIG9iaik7XG4gICAgICAgICAgcmVzb2x2ZShvYmogYXMgVEhSRUUuT2JqZWN0M0QpO1xuICAgICAgICB9LFxuICAgICAgICB4aHIgPT4gbnVsbCxcbiAgICAgICAgZXJyb3IgPT4gcmVqZWN0KGVycm9yKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkR2xiTW9kZWwoZmlsZTogc3RyaW5nLCBjbGVhblVwOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8VEhSRUUuT2JqZWN0M0Q+IHtcbiAgICBpZiAodGhpcy5fb2JqZWN0Q2FjaGUuaGFzKGZpbGUpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX29iamVjdENhY2hlLmdldChmaWxlKSk7XG4gICAgfVxuICAgIGlmICghd2luZG93Lmhhc093blByb3BlcnR5KCdsb2FkR0xURicpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdsb2FkR0xURiBub3QgZGVmaW5lZCBpbiB3aW5kb3cgZ2xvYmFsJyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgICAvLyBjb25zdCBsb2FkZXIgPSBuZXcgR0xURkxvYWRlcigpO1xuICAgIGNvbnN0IG9iajogVEhSRUUuT2JqZWN0M0QgPSBhd2FpdCAod2luZG93IGFzIGFueSkubG9hZEdMVEYoZmlsZSk7XG4gICAgaWYgKG9iaikge1xuICAgICAgdGhpcy5fY2xlYW5lZFVwT2JqZWN0cyhvYmosIGNsZWFuVXApO1xuICAgICAgdGhpcy5fb2JqZWN0Q2FjaGUuc2V0KGZpbGUsIG9iaik7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZEdsYlNvdXJjZShmaWxlOiBzdHJpbmcpOiBQcm9taXNlPFRIUkVFLk9iamVjdDNEPiB7XG4gICAgY29uc3Qgb2JqID0gYXdhaXQgdGhpcy5sb2FkR2xiTW9kZWwoZmlsZSwgZmFsc2UpO1xuICAgIGlmIChvYmopIHtcbiAgICAgIG9iai5jaGlsZHJlbiA9IG9iai5jaGlsZHJlbi5maWx0ZXIoYyA9PiAhKGMgaW5zdGFuY2VvZiBUSFJFRS5DYW1lcmEpKTtcbiAgICAgIG9iai5jaGlsZHJlbi5zb3J0KChhLCBiKSA9PiBhWyduYW1lJ10gPCBiWyduYW1lJ10gPyAxIDogLTEpO1xuICAgICAgb2JqLmNoaWxkcmVuLmZvckVhY2goKGM6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICAgIGMudHJhdmVyc2UoKHQ6IFRIUkVFLk9iamVjdDNEKSA9PiB7XG4gICAgICAgICAgdC52aXNpYmxlID0gIXQubmFtZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2NfJyk7XG4gICAgICAgIH0pO1xuICAgICAgICBjLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgICAgaWYgKG9iai5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgb2JqLmNoaWxkcmVuWzBdIGluc3RhbmNlb2YgVEhSRUUuR3JvdXApIHsgLy8gZmxhdHRlbiBjaGlsZHJlblxuICAgICAgICBjb25zdCBjaGlsZHJlbjogYW55ID0gb2JqLmNoaWxkcmVuWzBdLmNoaWxkcmVuLnNsaWNlKCk7XG4gICAgICAgIG9iai5jaGlsZHJlbi5sZW5ndGggPSAwO1xuICAgICAgICBvYmouY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB0ZXh0dXJlRnJvbVVybCh1cmw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gdXJsID0gdGhpcy5faW5jbHVkZUJhc2VVcmwodXJsKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgdGV4dHVyZUxvYWRlciA9IG5ldyBUSFJFRS5UZXh0dXJlTG9hZGVyKCk7XG4gICAgICAvLyB0ZXh0dXJlTG9hZGVyLnNldEJhc2VVKHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5hc3NldFBhdGgpO1xuICAgICAgdGV4dHVyZUxvYWRlci5sb2FkKHVybCxcbiAgICAgICAgKHRleHR1cmU6IFRIUkVFLlRleHR1cmUpID0+IHtcbiAgICAgICAgICB0ZXh0dXJlLndyYXBUID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgICAgICAgdGV4dHVyZS53cmFwUyA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgICAgICAgIHRleHR1cmUucmVwZWF0LnNldCgxLCAxKTtcbiAgICAgICAgICB0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0ZXh0dXJlKTtcbiAgICAgICAgfSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgcmVqZWN0XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYW5lZFVwT2JqZWN0cyhvYmplY3Q6IFRIUkVFLk9iamVjdDNELCBjbGVhblVwOiBib29sZWFuID0gdHJ1ZSk6IFRIUkVFLk9iamVjdDNEIHtcbiAgICBsZXQgb2JqOiBUSFJFRS5PYmplY3QzRCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgIG9iamVjdC5jaGlsZHJlbi5mb3JFYWNoKChjOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgaWYgKCEoYyBpbnN0YW5jZW9mIFRIUkVFLkNhbWVyYSkpIHtcbiAgICAgICAgaWYgKGNsZWFuVXAgJiYgYyBpbnN0YW5jZW9mIFRIUkVFLkdyb3VwIHx8IChjLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJiBjLmNoaWxkcmVuWzBdIGluc3RhbmNlb2YgVEhSRUUuR3JvdXApKSB7XG4gICAgICAgICAgdGhpcy5fYWRkR3JvdXBDaGlsZHJlblRvT2JqZWN0KGMsIG9iaik7XG4gICAgICAgIH0gZWxzZSBpZiAoKGNsZWFuVXAgJiYgIShjIGluc3RhbmNlb2YgVEhSRUUuTWVzaCkpIHx8ICghKGMgaW5zdGFuY2VvZiBUSFJFRS5NZXNoKSAmJiAhYy5uYW1lICYmIGMuY2hpbGRyZW4ubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICBjLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBjaGlsZC50cmFuc2xhdGVZKGMucG9zaXRpb24ueSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYy50cmFuc2xhdGVZKC1jLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIGlmIChvYmouY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgb2JqLmFkZChjLmNsb25lKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYmogPSBjLmNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGlmIChjLnBvc2l0aW9uLnkgPiAwIHx8IGMucG9zaXRpb24ueSA8IDApIHtcbiAgICAgICAgICAvLyAgIGMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAvLyAgICAgY2hpbGQudHJhbnNsYXRlWShjLnBvc2l0aW9uLnkpO1xuICAgICAgICAgIC8vICAgfSk7XG4gICAgICAgICAgLy8gICBjLnRyYW5zbGF0ZVkoLWMucG9zaXRpb24ueSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIG9iai5hZGQoYy5jbG9uZSgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGJvdW5kaW5nQm94ID0gbmV3IFRIUkVFLkJveDMoKS5zZXRGcm9tT2JqZWN0KG9iaik7XG4gICAgY29uc3QgYmJDZW50ZXJQaXZvdCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgYm91bmRpbmdCb3guZ2V0Q2VudGVyKGJiQ2VudGVyUGl2b3QpO1xuICAgIGNvbnN0IGRlbHRhOiBUSFJFRS5WZWN0b3IzID0gbmV3IFRIUkVFLlZlY3RvcjMoKS5hZGQoYmJDZW50ZXJQaXZvdCkubmVnYXRlKCk7XG4gICAgb2JqLmNoaWxkcmVuLmZvckVhY2goKGNjKSA9PiB7XG4gICAgICBjYy5wb3NpdGlvbi5hZGQoZGVsdGEpO1xuICAgIH0pO1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBwcml2YXRlIF9hZGRHcm91cENoaWxkcmVuVG9PYmplY3QoZ3JvdXA6IFRIUkVFLk9iamVjdDNELCBvYmo6IFRIUkVFLk9iamVjdDNELCBjbGVhblVwOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGdyb3VwLmNoaWxkcmVuLmZvckVhY2goKGdjOiBUSFJFRS5PYmplY3QzRCkgPT4ge1xuICAgICAgaWYgKGNsZWFuVXAgJiYgZ2MgaW5zdGFuY2VvZiBUSFJFRS5Hcm91cCkge1xuICAgICAgICB0aGlzLl9hZGRHcm91cENoaWxkcmVuVG9PYmplY3QoZ2MsIG9iaik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBnYy50cmFuc2xhdGVYKC1ncm91cC5wb3NpdGlvbi54KTtcbiAgICAgICAgZ2MudHJhbnNsYXRlWShncm91cC5wb3NpdGlvbi55KTtcbiAgICAgICAgLy8gZ2MudHJhbnNsYXRlWigtZ3JvdXAucG9zaXRpb24ueik7XG4gICAgICAgIG9iai5hZGQoZ2MuY2xvbmUoKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pdGVyYXRlQ2hpbGRyZW4oY2hpbGRyZW46IFRIUkVFLk9iamVjdDNEW10sIGNhbGxiYWNrOiAoY2hpbGQ6IFRIUkVFLk1lc2gpID0+IHt9KTogdm9pZCB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hpbGQ6IFRIUkVFLk9iamVjdDNEID0gY2hpbGRyZW5baV07XG4gICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBUSFJFRS5NZXNoKSB7XG4gICAgICAgIGNhbGxiYWNrKGNoaWxkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2l0ZXJhdGVDaGlsZHJlbihjaGlsZC5jaGlsZHJlbiwgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3JlYWRKc29uRmlsZShmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmaWxlUGF0aCk7XG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBlbXB0eSA9IGZhbHNlO1xuICAgICAgICBhd2FpdCByZXNwb25zZS5jbG9uZSgpLnRleHQoKS50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIGVtcHR5ID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZW1wdHkgPyB7fSA6IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
1
|
+
import { __awaiter, __decorate } from 'tslib';
|
|
2
2
|
import { Mesh, ObjectLoader, Camera, Group, TextureLoader, RepeatWrapping, Object3D, Box3, Vector3, Vector2, Euler, Quaternion, Color, Texture, sRGBEncoding, MeshPhongMaterial, MeshStandardMaterial } from 'three';
|
|
3
3
|
import { Configurator } from '@colijnit/configuratorapi/build/src/configurator';
|
|
4
4
|
import { DecoNode } from '@colijnit/configuratorapi/build/src/model/deco-node';
|
|
@@ -10,6 +10,9 @@ import { DecoNodeKind } from '@colijnit/configuratorapi/build/src/enum/deco-node
|
|
|
10
10
|
import * as JSZip from 'jszip';
|
|
11
11
|
import { Article } from '@colijnit/configuratorapi/build/src/model/article';
|
|
12
12
|
import { BehaviorSubject } from 'rxjs';
|
|
13
|
+
import { EventEmitter, Input, Output, Component, NgModule } from '@angular/core';
|
|
14
|
+
import { CommonModule } from '@angular/common';
|
|
15
|
+
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
13
16
|
|
|
14
17
|
class ObjectUtils {
|
|
15
18
|
static DisposeMaterial(material) {
|
|
@@ -210,7 +213,8 @@ class ThreedUtils {
|
|
|
210
213
|
fileName = fileName.replace('.unity3d', '');
|
|
211
214
|
let lookupFileName = fileName + (fileName.indexOf('.glb') < 0 ? '.glb' : '');
|
|
212
215
|
if (this._objectCache.has(lookupFileName)) {
|
|
213
|
-
|
|
216
|
+
resolve(this._objectCache.get(lookupFileName));
|
|
217
|
+
return;
|
|
214
218
|
}
|
|
215
219
|
if (yield FileUtils.FileExists(lookupFileName, 'https://cdn1.colijn-it.nl/content43/')) {
|
|
216
220
|
this.loadGlbSource(lookupFileName).then((obj) => {
|
|
@@ -1057,12 +1061,16 @@ class VariationHelper {
|
|
|
1057
1061
|
class Builder {
|
|
1058
1062
|
constructor(scene, options) {
|
|
1059
1063
|
this.selectionsReceived = new BehaviorSubject([]);
|
|
1064
|
+
this.answersReceived = new BehaviorSubject([]);
|
|
1065
|
+
this.questionReceived = new BehaviorSubject(undefined);
|
|
1060
1066
|
this._selections = [];
|
|
1061
1067
|
this._decos = [];
|
|
1062
1068
|
this._placedAdjustables = [];
|
|
1063
1069
|
this._placedAddables = [];
|
|
1064
1070
|
this._adjustables = [];
|
|
1065
1071
|
this._addables = [];
|
|
1072
|
+
this._articleCache = new Map();
|
|
1073
|
+
this._subs = [];
|
|
1066
1074
|
if (!scene) {
|
|
1067
1075
|
throw 'No scene object provided!';
|
|
1068
1076
|
}
|
|
@@ -1074,6 +1082,7 @@ class Builder {
|
|
|
1074
1082
|
this._boFactory = new BusinessObjectFactory();
|
|
1075
1083
|
this._threedUtils = new ThreedUtils();
|
|
1076
1084
|
this._variationHelper = new VariationHelper();
|
|
1085
|
+
this._subs.push(this._configuratorApi.selectionsReceived.subscribe(selections => this.selectionsReceived.next(selections)), this._configuratorApi.answersReceived.subscribe(answers => this.answersReceived.next(answers)), this._configuratorApi.questionReceived.subscribe(question => this.questionReceived.next(question)));
|
|
1077
1086
|
}
|
|
1078
1087
|
buildModel(instanceId, sku, goodId) {
|
|
1079
1088
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1081,39 +1090,18 @@ class Builder {
|
|
|
1081
1090
|
return;
|
|
1082
1091
|
}
|
|
1083
1092
|
try {
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
.catch((error) => {
|
|
1094
|
-
throw error;
|
|
1095
|
-
});
|
|
1096
|
-
if (this._source) {
|
|
1097
|
-
if (article.contentDeliveryUrl) {
|
|
1098
|
-
this._variationHelper.assetPath =
|
|
1099
|
-
article.contentDeliveryUrl +
|
|
1100
|
-
(article.contentDeliveryUrl.endsWith('/') ? '' : '/') +
|
|
1101
|
-
(article.distSchema ? article.distSchema : 'UP_DBA');
|
|
1102
|
-
}
|
|
1103
|
-
yield this._configuratorApi.setInstanceToConfigure(instanceId);
|
|
1104
|
-
const promises = [];
|
|
1105
|
-
promises.push(this._getSelections());
|
|
1106
|
-
promises.push(this._getDecos());
|
|
1107
|
-
yield Promise.all(promises);
|
|
1108
|
-
this._linkSelectionsAndDecos();
|
|
1109
|
-
return this._build(instanceId);
|
|
1110
|
-
}
|
|
1111
|
-
else {
|
|
1112
|
-
throw 'GLB source not found!';
|
|
1113
|
-
}
|
|
1093
|
+
yield this._prepareConfiguration(sku, goodId);
|
|
1094
|
+
if (this._source) {
|
|
1095
|
+
yield this._configuratorApi.setInstanceToConfigure(instanceId);
|
|
1096
|
+
const promises = [];
|
|
1097
|
+
promises.push(this._getSelections(instanceId));
|
|
1098
|
+
promises.push(this._getDecos());
|
|
1099
|
+
yield Promise.all(promises);
|
|
1100
|
+
this._linkSelectionsAndDecos();
|
|
1101
|
+
return this._build(instanceId);
|
|
1114
1102
|
}
|
|
1115
1103
|
else {
|
|
1116
|
-
|
|
1104
|
+
throw 'GLB source not found!';
|
|
1117
1105
|
}
|
|
1118
1106
|
}
|
|
1119
1107
|
catch (e) {
|
|
@@ -1128,6 +1116,34 @@ class Builder {
|
|
|
1128
1116
|
this._threedUtils.clearCache();
|
|
1129
1117
|
this._variationHelper.clearCache();
|
|
1130
1118
|
}
|
|
1119
|
+
selectSelection(selection) {
|
|
1120
|
+
this._configuratorApi.selectSelection(selection, false);
|
|
1121
|
+
}
|
|
1122
|
+
getQuestionAndAnswers() {
|
|
1123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1124
|
+
return this._configuratorApi.getQuestionAndAnswers(false);
|
|
1125
|
+
});
|
|
1126
|
+
}
|
|
1127
|
+
selectAnswer(answer) {
|
|
1128
|
+
this._configuratorApi.selectAnswer(answer, false);
|
|
1129
|
+
}
|
|
1130
|
+
_prepareConfiguration(sku, goodId) {
|
|
1131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1132
|
+
const article = yield this._getArticle(sku, goodId);
|
|
1133
|
+
if (article && article.assetUrl) {
|
|
1134
|
+
this._source = yield this._threedUtils.download3DSource(article.assetUrl)
|
|
1135
|
+
.catch((error) => {
|
|
1136
|
+
throw error;
|
|
1137
|
+
});
|
|
1138
|
+
if (article.contentDeliveryUrl) {
|
|
1139
|
+
this._variationHelper.assetPath =
|
|
1140
|
+
article.contentDeliveryUrl +
|
|
1141
|
+
(article.contentDeliveryUrl.endsWith('/') ? '' : '/') +
|
|
1142
|
+
(article.distSchema ? article.distSchema : 'UP_DBA');
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
});
|
|
1146
|
+
}
|
|
1131
1147
|
_build(instanceId) {
|
|
1132
1148
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1133
1149
|
this._reset();
|
|
@@ -1344,27 +1360,39 @@ class Builder {
|
|
|
1344
1360
|
}
|
|
1345
1361
|
});
|
|
1346
1362
|
}
|
|
1347
|
-
_getArticle(
|
|
1363
|
+
_getArticle(sku, goodId) {
|
|
1348
1364
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1349
|
-
|
|
1365
|
+
if (this._articleCache.has(sku)) {
|
|
1366
|
+
return this._articleCache.get(sku);
|
|
1367
|
+
}
|
|
1368
|
+
if (!goodId) {
|
|
1369
|
+
goodId = yield this._getGoodIdFromSku(sku)
|
|
1370
|
+
.catch((error) => {
|
|
1371
|
+
throw `Article with sku ${sku} not found!`;
|
|
1372
|
+
});
|
|
1373
|
+
}
|
|
1374
|
+
let article;
|
|
1375
|
+
const articleResponse = yield this._configuratorApi.getArticleQuickSel(goodId, false);
|
|
1350
1376
|
if (articleResponse.validationResult.success && articleResponse.resultObject) {
|
|
1351
1377
|
if (articleResponse.resultObject.hasOwnProperty('oArticle')) {
|
|
1352
1378
|
const obj = Array.isArray(articleResponse.resultObject['oArticle']) ? articleResponse.resultObject['oArticle'][0] : articleResponse.resultObject['oArticle'];
|
|
1353
|
-
|
|
1379
|
+
article = this._boFactory.makeWithRawBackendData(Article, obj);
|
|
1354
1380
|
}
|
|
1355
1381
|
else {
|
|
1356
|
-
|
|
1382
|
+
article = this._boFactory.makeWithRawBackendData(Article, articleResponse.resultObject);
|
|
1357
1383
|
}
|
|
1358
1384
|
}
|
|
1385
|
+
this._articleCache.set(sku, article);
|
|
1386
|
+
return article;
|
|
1359
1387
|
});
|
|
1360
1388
|
}
|
|
1361
|
-
_getSelections() {
|
|
1389
|
+
_getSelections(instanceId) {
|
|
1362
1390
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1363
1391
|
this._selections.length = 0;
|
|
1364
1392
|
const selectionResponse = yield this._configuratorApi.getSelections(false);
|
|
1365
1393
|
if (selectionResponse.resultObjects && selectionResponse.resultObjects.length > 0) {
|
|
1366
1394
|
this._selections = this._boFactory.makeBOArrayFromRawBackendDataArray(Selection, selectionResponse.resultObjects);
|
|
1367
|
-
this.
|
|
1395
|
+
this._selections.forEach(s => s.instanceId = instanceId);
|
|
1368
1396
|
}
|
|
1369
1397
|
else {
|
|
1370
1398
|
throw 'No selections found!';
|
|
@@ -1438,9 +1466,146 @@ class Builder {
|
|
|
1438
1466
|
}
|
|
1439
1467
|
}
|
|
1440
1468
|
|
|
1469
|
+
let AnswersComponent = class AnswersComponent {
|
|
1470
|
+
constructor() {
|
|
1471
|
+
this.answers = [];
|
|
1472
|
+
this.answerClick = new EventEmitter();
|
|
1473
|
+
}
|
|
1474
|
+
};
|
|
1475
|
+
__decorate([
|
|
1476
|
+
Input()
|
|
1477
|
+
], AnswersComponent.prototype, "answers", void 0);
|
|
1478
|
+
__decorate([
|
|
1479
|
+
Output()
|
|
1480
|
+
], AnswersComponent.prototype, "answerClick", void 0);
|
|
1481
|
+
AnswersComponent = __decorate([
|
|
1482
|
+
Component({
|
|
1483
|
+
selector: "answers",
|
|
1484
|
+
template: `
|
|
1485
|
+
<ng-container *ngFor="let answer of answers">
|
|
1486
|
+
<div class="answers" (click)="answerClick.emit(answer)">
|
|
1487
|
+
<div class="answer" [textContent]="answer.commercialAnswer"></div>
|
|
1488
|
+
</div>
|
|
1489
|
+
</ng-container>
|
|
1490
|
+
`,
|
|
1491
|
+
styles: [":host{position:absolute;top:0;right:0;width:400px;height:100%;background:#fff}:host .answers{cursor:pointer}"]
|
|
1492
|
+
})
|
|
1493
|
+
], AnswersComponent);
|
|
1494
|
+
|
|
1495
|
+
let AnswersModule = class AnswersModule {
|
|
1496
|
+
};
|
|
1497
|
+
AnswersModule = __decorate([
|
|
1498
|
+
NgModule({
|
|
1499
|
+
imports: [
|
|
1500
|
+
CommonModule
|
|
1501
|
+
],
|
|
1502
|
+
declarations: [
|
|
1503
|
+
AnswersComponent
|
|
1504
|
+
],
|
|
1505
|
+
exports: [
|
|
1506
|
+
AnswersComponent
|
|
1507
|
+
]
|
|
1508
|
+
})
|
|
1509
|
+
], AnswersModule);
|
|
1510
|
+
|
|
1511
|
+
class SelectionViewModel {
|
|
1512
|
+
constructor() {
|
|
1513
|
+
this.children = [];
|
|
1514
|
+
this.expanded = false;
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
let SelectionsComponent = class SelectionsComponent {
|
|
1518
|
+
constructor() {
|
|
1519
|
+
this.selectionViewModels = [];
|
|
1520
|
+
this.selectionClick = new EventEmitter();
|
|
1521
|
+
}
|
|
1522
|
+
set selections(value) {
|
|
1523
|
+
this._prepareSelections(value);
|
|
1524
|
+
}
|
|
1525
|
+
expandClicked(selectionViewModel, mouseEvent) {
|
|
1526
|
+
mouseEvent.preventDefault();
|
|
1527
|
+
mouseEvent.stopImmediatePropagation();
|
|
1528
|
+
selectionViewModel.expanded = !selectionViewModel.expanded;
|
|
1529
|
+
}
|
|
1530
|
+
selectSelection(selection, mouseEvent) {
|
|
1531
|
+
mouseEvent.preventDefault();
|
|
1532
|
+
mouseEvent.stopImmediatePropagation();
|
|
1533
|
+
this.selectionClick.next(selection);
|
|
1534
|
+
}
|
|
1535
|
+
_prepareSelections(value) {
|
|
1536
|
+
this.selectionViewModels.length = 0;
|
|
1537
|
+
let selectionViewModel;
|
|
1538
|
+
value.forEach(s => {
|
|
1539
|
+
if (s.presentationLevel === 1) {
|
|
1540
|
+
selectionViewModel = new SelectionViewModel();
|
|
1541
|
+
selectionViewModel.selection = s;
|
|
1542
|
+
this.selectionViewModels.push(selectionViewModel);
|
|
1543
|
+
}
|
|
1544
|
+
else if (s.presentationLevel > 1) {
|
|
1545
|
+
if (selectionViewModel) {
|
|
1546
|
+
selectionViewModel.children.push(s);
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
});
|
|
1550
|
+
}
|
|
1551
|
+
};
|
|
1552
|
+
__decorate([
|
|
1553
|
+
Input()
|
|
1554
|
+
], SelectionsComponent.prototype, "selections", null);
|
|
1555
|
+
__decorate([
|
|
1556
|
+
Output()
|
|
1557
|
+
], SelectionsComponent.prototype, "selectionClick", void 0);
|
|
1558
|
+
SelectionsComponent = __decorate([
|
|
1559
|
+
Component({
|
|
1560
|
+
selector: "selections",
|
|
1561
|
+
template: `
|
|
1562
|
+
<ng-container *ngFor="let selectionViewModel of selectionViewModels">
|
|
1563
|
+
<div class="selection" (click)="selectSelection(selectionViewModel.selection, $event)">
|
|
1564
|
+
<div class="question" [textContent]="selectionViewModel.selection.commercialQuestion"></div>
|
|
1565
|
+
<div class="answer" [textContent]="selectionViewModel.selection.answer"></div>
|
|
1566
|
+
<div class="collapse-handle" [class.expanded]="selectionViewModel.expanded"
|
|
1567
|
+
*ngIf="selectionViewModel.children.length > 0" (click)="expandClicked(selectionViewModel, $event)"></div>
|
|
1568
|
+
<div *ngIf="selectionViewModel.children.length > 0 && selectionViewModel.expanded" @showHideChildren>
|
|
1569
|
+
<div class="child-selection" *ngFor="let selection of selectionViewModel.children"
|
|
1570
|
+
(click)="selectSelection(selection, $event)"
|
|
1571
|
+
>
|
|
1572
|
+
<div class="question" [textContent]="selection.commercialQuestion"></div>
|
|
1573
|
+
<div class="answer" [textContent]="selection.answer"></div>
|
|
1574
|
+
</div>
|
|
1575
|
+
</div>
|
|
1576
|
+
</div>
|
|
1577
|
+
</ng-container>
|
|
1578
|
+
`,
|
|
1579
|
+
animations: [
|
|
1580
|
+
trigger('showHideChildren', [
|
|
1581
|
+
state('void', style({ 'height': '0' })),
|
|
1582
|
+
state('*', style({ 'height': '*' })),
|
|
1583
|
+
transition('void <=> *', animate(200))
|
|
1584
|
+
])
|
|
1585
|
+
],
|
|
1586
|
+
styles: [":host{position:absolute;top:0;right:0;width:300px}:host .selection{position:relative;overflow:hidden;cursor:pointer;font-size:12px;border:1px solid gray}:host .question{font-weight:700}:host .answer{font-size:10px}:host .collapse-handle{position:absolute;top:10px;right:12px;border:solid #000;border-width:0 3px 3px 0;display:inline-block;padding:3px;transform:rotate(45deg);-webkit-transform:rotate(45deg)}:host .collapse-handle.expanded{transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}:host .child-selection{margin-left:10px}"]
|
|
1587
|
+
})
|
|
1588
|
+
], SelectionsComponent);
|
|
1589
|
+
|
|
1590
|
+
let SelectionsModule = class SelectionsModule {
|
|
1591
|
+
};
|
|
1592
|
+
SelectionsModule = __decorate([
|
|
1593
|
+
NgModule({
|
|
1594
|
+
imports: [
|
|
1595
|
+
CommonModule
|
|
1596
|
+
],
|
|
1597
|
+
declarations: [
|
|
1598
|
+
SelectionsComponent
|
|
1599
|
+
],
|
|
1600
|
+
exports: [
|
|
1601
|
+
SelectionsComponent
|
|
1602
|
+
]
|
|
1603
|
+
})
|
|
1604
|
+
], SelectionsModule);
|
|
1605
|
+
|
|
1441
1606
|
/**
|
|
1442
1607
|
* Generated bundle index. Do not edit.
|
|
1443
1608
|
*/
|
|
1444
1609
|
|
|
1445
|
-
export { Builder };
|
|
1610
|
+
export { AnswersComponent, AnswersModule, Builder, SelectionsComponent, SelectionsModule };
|
|
1446
1611
|
//# sourceMappingURL=colijnit-configurator.js.map
|