survey-creator-angular 1.9.92 → 1.9.94
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 +34 -0
- package/bundles/survey-creator-angular.umd.js +59 -7
- package/bundles/survey-creator-angular.umd.js.map +1 -1
- package/esm2015/adorners/image-item-value.component.js +2 -2
- package/esm2015/custom-questions/color.component.js +2 -2
- package/esm2015/page-add-question.component.js +1 -1
- package/esm2015/page-navigator/page-navigator.component.js +1 -1
- package/esm2015/panel.component.js +1 -1
- package/esm2015/questions/logic-operator.component.js +1 -1
- package/fesm2015/survey-creator-angular.js +6 -6
- package/fesm2015/survey-creator-angular.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,6 +18,40 @@ To get started with Survey Creator / Form Builder for Angular, refer to the foll
|
|
|
18
18
|
- [Live Examples](https://surveyjs.io/survey-creator/examples/free-nps-survey-template/angular)
|
|
19
19
|
- [What's New](https://surveyjs.io/WhatsNew)
|
|
20
20
|
|
|
21
|
+
## Build Survey Creator / Form Builder for Angular from Sources
|
|
22
|
+
|
|
23
|
+
If you want to build the library yourself, do the following:
|
|
24
|
+
|
|
25
|
+
1. **Build `survey-library` and `survey-creator-core`**\
|
|
26
|
+
Refer to the following instructions:
|
|
27
|
+
|
|
28
|
+
- [Build the SurveyJS Form Library from Sources](https://github.com/surveyjs/survey-library#build-the-surveyjs-form-library-from-sources)
|
|
29
|
+
- [Build the Survey Creator Model from Sources](https://github.com/surveyjs/survey-creator/tree/master/packages/survey-creator-core#build-the-survey-creator-model-from-sources)
|
|
30
|
+
|
|
31
|
+
> NOTE: Make sure that folders with cloned `survey-library` and `survey-creator` repositories are in the same directory.
|
|
32
|
+
|
|
33
|
+
2. **Install build dependencies for Survey Creator / Form Builder for Angular**
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
cd survey-creator/packages/survey-creator-angular
|
|
37
|
+
npm install
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
3. **Build the library**
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
npm run build
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
You can find the built library in the "build" directory.
|
|
47
|
+
|
|
48
|
+
4. **Run unit tests**
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
npm test
|
|
52
|
+
```
|
|
53
|
+
This command runs unit tests using [Karma](https://karma-runner.github.io/0.13/index.html).
|
|
54
|
+
|
|
21
55
|
## Licensing
|
|
22
56
|
|
|
23
57
|
Survey Creator is **not available for free commercial usage**. If you want to integrate it into your application, you must purchase a [commercial license](https://surveyjs.io/licensing). However, you can [use Survey Creator online](https://surveyjs.io/create-survey) to produce survey JSON configurations and run them with [SurveyJS Form Library](https://surveyjs.io/form-library/documentation/overview) in your application free of charge.
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
42
42
|
PERFORMANCE OF THIS SOFTWARE.
|
|
43
43
|
***************************************************************************** */
|
|
44
|
-
/* global Reflect, Promise */
|
|
44
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
45
45
|
var extendStatics = function (d, b) {
|
|
46
46
|
extendStatics = Object.setPrototypeOf ||
|
|
47
47
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
@@ -411,6 +411,56 @@
|
|
|
411
411
|
throw new TypeError("Cannot use 'in' operator on non-object");
|
|
412
412
|
return typeof state === "function" ? receiver === state : state.has(receiver);
|
|
413
413
|
}
|
|
414
|
+
function __addDisposableResource(env, value, async) {
|
|
415
|
+
if (value !== null && value !== void 0) {
|
|
416
|
+
if (typeof value !== "object")
|
|
417
|
+
throw new TypeError("Object expected.");
|
|
418
|
+
var dispose;
|
|
419
|
+
if (async) {
|
|
420
|
+
if (!Symbol.asyncDispose)
|
|
421
|
+
throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
422
|
+
dispose = value[Symbol.asyncDispose];
|
|
423
|
+
}
|
|
424
|
+
if (dispose === void 0) {
|
|
425
|
+
if (!Symbol.dispose)
|
|
426
|
+
throw new TypeError("Symbol.dispose is not defined.");
|
|
427
|
+
dispose = value[Symbol.dispose];
|
|
428
|
+
}
|
|
429
|
+
if (typeof dispose !== "function")
|
|
430
|
+
throw new TypeError("Object not disposable.");
|
|
431
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
432
|
+
}
|
|
433
|
+
else if (async) {
|
|
434
|
+
env.stack.push({ async: true });
|
|
435
|
+
}
|
|
436
|
+
return value;
|
|
437
|
+
}
|
|
438
|
+
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
439
|
+
var e = new Error(message);
|
|
440
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
441
|
+
};
|
|
442
|
+
function __disposeResources(env) {
|
|
443
|
+
function fail(e) {
|
|
444
|
+
env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
445
|
+
env.hasError = true;
|
|
446
|
+
}
|
|
447
|
+
function next() {
|
|
448
|
+
while (env.stack.length) {
|
|
449
|
+
var rec = env.stack.pop();
|
|
450
|
+
try {
|
|
451
|
+
var result = rec.dispose && rec.dispose.call(rec.value);
|
|
452
|
+
if (rec.async)
|
|
453
|
+
return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
|
|
454
|
+
}
|
|
455
|
+
catch (e) {
|
|
456
|
+
fail(e);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
if (env.hasError)
|
|
460
|
+
throw env.error;
|
|
461
|
+
}
|
|
462
|
+
return next();
|
|
463
|
+
}
|
|
414
464
|
var tslib_es6 = {
|
|
415
465
|
__extends: __extends,
|
|
416
466
|
__assign: __assign,
|
|
@@ -437,6 +487,8 @@
|
|
|
437
487
|
__classPrivateFieldGet: __classPrivateFieldGet,
|
|
438
488
|
__classPrivateFieldSet: __classPrivateFieldSet,
|
|
439
489
|
__classPrivateFieldIn: __classPrivateFieldIn,
|
|
490
|
+
__addDisposableResource: __addDisposableResource,
|
|
491
|
+
__disposeResources: __disposeResources,
|
|
440
492
|
};
|
|
441
493
|
|
|
442
494
|
var SvgBundleComponent = /** @class */ (function () {
|
|
@@ -932,7 +984,7 @@
|
|
|
932
984
|
return PageNavigatorComponent;
|
|
933
985
|
}(CreatorModelComponent));
|
|
934
986
|
PageNavigatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageNavigatorComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
935
|
-
PageNavigatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: { pagesController: "pagesController", pageEditMode: "pageEditMode" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <div>\n <svc-page-navigator-item *ngFor=\"let item of model.visibleItems\" [model]=\"item\"></svc-page-navigator-item>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
987
|
+
PageNavigatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: { pagesController: "pagesController", pageEditMode: "pageEditMode" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <div>\n <svc-page-navigator-item *ngFor=\"let item of model.visibleItems\" [model]=\"item\"></svc-page-navigator-item>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel", "getTarget"] }, { type: PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
936
988
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageNavigatorComponent, decorators: [{
|
|
937
989
|
type: i0.Component,
|
|
938
990
|
args: [{
|
|
@@ -1548,7 +1600,7 @@
|
|
|
1548
1600
|
return AddQuestionButtonComponent;
|
|
1549
1601
|
}(i1.ActionBarItemComponent));
|
|
1550
1602
|
AddQuestionButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddQuestionButtonComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1551
|
-
AddQuestionButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddQuestionButtonComponent, selector: "svc-add-new-question-btn", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-page__add-new-question svc-btn\" [key2click]\n (click)=\"addNewQuestion($event)\" (mouseover)=\"adorner.hoverStopper($event, $event.currentTarget)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n <button type=\"button\" [key2click] (click)=\"selectQuestionType($event)\"\n [attr.title]=\"adorner.questionTypeSelectorModel.title\" [attr.aria-label]=\"adorner.questionTypeSelectorModel.title\"\n class=\"svc-page__question-type-selector\">\n <svg class=\"svc-page__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
|
|
1603
|
+
AddQuestionButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddQuestionButtonComponent, selector: "svc-add-new-question-btn", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-page__add-new-question svc-btn\" [key2click]\n (click)=\"addNewQuestion($event)\" (mouseover)=\"adorner.hoverStopper($event, $event.currentTarget)\"\n data-bind=\"clickBubble: false\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n <button type=\"button\" [key2click] (click)=\"selectQuestionType($event)\"\n [attr.title]=\"adorner.questionTypeSelectorModel.title\" [attr.aria-label]=\"adorner.questionTypeSelectorModel.title\"\n class=\"svc-page__question-type-selector\">\n <svg class=\"svc-page__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel", "getTarget"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
|
|
1552
1604
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AddQuestionButtonComponent, decorators: [{
|
|
1553
1605
|
type: i0.Component,
|
|
1554
1606
|
args: [{
|
|
@@ -1782,7 +1834,7 @@
|
|
|
1782
1834
|
return ImageItemValueDesignerComponent;
|
|
1783
1835
|
}(CreatorModelComponent));
|
|
1784
1836
|
ImageItemValueDesignerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageItemValueDesignerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1785
|
-
ImageItemValueDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageItemValueDesignerComponent, selector: "svc-image-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div (pointerdown)=\"adorner.onPointerDown($event)\" [class]=\"adorner.getRootCss()\"
|
|
1837
|
+
ImageItemValueDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ImageItemValueDesignerComponent, selector: "svc-image-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div (pointerdown)=\"adorner.onPointerDown($event)\" [class]=\"adorner.getRootCss()\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? this.item.value : null\" #container>\n <div class=\"svc-image-item-value-wrapper__ghost\" [style]=\"getNewItemStyle()\"></div>\n\n <div class=\"svc-image-item-value-wrapper__content\">\n <input type=\"file\" aria-hidden=\"true\" tabindex=\"-1\" [accept]=\"adorner.acceptedTypes\"\n class=\"svc-choose-file-input\" />\n\n <ng-container *ngIf=\"!adorner.isNew\">\n <div *ngIf=\"!adorner.isNew\" class=\"svc-image-item-value__item\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-context-button svc-image-item-value-controls__drag-area-indicator\"\n (pointerdown)=\"adorner.onPointerDown($event)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <div class=\"svc-context-container svc-image-item-value-controls\">\n <ng-container *ngIf=\"adorner.allowRemove && !adorner.isUploading\">\n <span class=\"svc-context-button\" (click)=\"adorner.chooseFile(adorner)\" [key2click] [attr.title]=\"undefined\"\n [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-file'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n <span class=\"svc-context-button svc-context-button--danger\" (click)=\"adorner.remove(adorner)\" [key2click]\n [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg [iconName]=\"'icon-delete'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"adorner.isNew\">\n <div class=\"svc-image-item-value__item\"\n data-bind=\"event: { dragover: dragover, drop: drop, dragleave: dragleave }\">\n <div class=\"sd-imagepicker__item sd-imagepicker__item--inline\">\n <label class=\"sd-imagepicker__label\">\n <div [style]=\"getNewItemStyle()\" class=\"sd-imagepicker__image\"></div>\n </label>\n </div>\n </div>\n\n <div class=\"svc-image-item-value-controls\" data-bind=\"event: { pointerdown: blockEvent }\">\n <span class=\"svc-context-button svc-image-item-value-controls__add\" [key2click]\n (click)=\"adorner.chooseNewFile(adorner)\" [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\">\n <svg *ngIf=\"adorner.allowAdd && !adorner.isUploading\" [iconName]=\"'icon-add-lg'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </span>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
|
|
1786
1838
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ImageItemValueDesignerComponent, decorators: [{
|
|
1787
1839
|
type: i0.Component,
|
|
1788
1840
|
args: [{
|
|
@@ -1946,7 +1998,7 @@
|
|
|
1946
1998
|
return PanelDesignerComponent;
|
|
1947
1999
|
}(QuestionDesignerComponent));
|
|
1948
2000
|
PanelDesignerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDesignerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1949
|
-
PanelDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDesignerComponent, selector: "svc-panel", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div [class]=\"adorner.css()\" [key2click]\n (click)=\"adorner.element.isInteractiveDesignElement ? adorner.select(adorner, $event) : null\"\n [attr.tabindex]=\"adorner.element.isInteractiveDesignElement ? undefined : -1\">\n <div *ngIf=\"adorner.allowDragging && adorner.element.isInteractiveDesignElement\" class=\"svc-question__drag-area\"\n (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent && adorner.element.isInteractiveDesignElement\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n\n <div *ngIf=\"!adorner.isEmptyElement && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n </div>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
2001
|
+
PanelDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDesignerComponent, selector: "svc-panel", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"adorner\" class=\"svc-question__adorner\" [class]=\"adorner.rootCss()\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\"\n [attr.data-sv-drop-target-survey-element]=\"adorner.element.name || null\" #container>\n\n <div [class]=\"adorner.css()\" [key2click]\n (click)=\"adorner.element.isInteractiveDesignElement ? adorner.select(adorner, $event) : null\"\n [attr.tabindex]=\"adorner.element.isInteractiveDesignElement ? undefined : -1\">\n <div *ngIf=\"adorner.allowDragging && adorner.element.isInteractiveDesignElement\" class=\"svc-question__drag-area\"\n (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n </div>\n\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n\n <div *ngIf=\"adorner.isEmptyElement\" class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{ adorner.placeholderText }}</div>\n <div *ngIf=\"adorner.showAddQuestionButton\" class=\"svc-panel__add-new-question svc-action-button\" [key2click]\n (click)=\"addNewQuestion($event)\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n </div>\n\n <ng-template *ngIf=\"adornerComponent && adorner.element.isInteractiveDesignElement\"\n [component]=\"{ name: adornerComponent, data: { adorner: adorner, question: model } }\">\n </ng-template>\n\n <div *ngIf=\"!adorner.isEmptyElement && adorner.showAddQuestionButton\"\n class=\"svc-panel__add-new-question-container\">\n <div class=\"svc-panel__add-new-question svc-action-button\" [key2click] (click)=\"addNewQuestion($event)\">\n <span class=\"svc-text svc-text--normal svc-text--bold\">\n {{ adorner.addNewQuestionText }}\n </span>\n </div>\n <button type=\"button\" [attr.title]=\"adorner.addNewQuestionText\" [key2click] (click)=\"selectQuestionType($event)\"\n class=\"svc-panel__question-type-selector\">\n <svg class=\"svc-panel__question-type-selector-icon\" [iconName]=\"adorner.questionTypeSelectorModel.iconName\"\n [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"adorner.questionTypeSelectorModel.popupModel\"></sv-ng-popup>\n </button>\n </div>\n\n <div *ngIf=\"adorner.element.isInteractiveDesignElement\" class=\"svc-question__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" [handleClick]=\"false\"></sv-action-bar>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel", "getTarget"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
1950
2002
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PanelDesignerComponent, decorators: [{
|
|
1951
2003
|
type: i0.Component,
|
|
1952
2004
|
args: [{
|
|
@@ -2188,7 +2240,7 @@
|
|
|
2188
2240
|
return LogicOperatorComponent;
|
|
2189
2241
|
}(i1.QuestionAngular));
|
|
2190
2242
|
LogicOperatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LogicOperatorComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2191
|
-
LogicOperatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogicOperatorComponent, selector: "svc-logic-operator", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
|
|
2243
|
+
LogicOperatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogicOperatorComponent, selector: "svc-logic-operator", usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel", "getTarget"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
|
|
2192
2244
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LogicOperatorComponent, decorators: [{
|
|
2193
2245
|
type: i0.Component,
|
|
2194
2246
|
args: [{
|
|
@@ -2668,7 +2720,7 @@
|
|
|
2668
2720
|
return QuestionColorComponent;
|
|
2669
2721
|
}(i1.QuestionAngular));
|
|
2670
2722
|
QuestionColorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionColorComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2671
|
-
QuestionColorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionColorComponent, selector: "svc-color", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\">\n <label [class]=\"model.cssClasses.swatch\" [style]=\"model.getSwatchStyle()\">\n <svg [iconName]=\"model.cssClasses.swatchIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <input type=\"color\" [class]=\"model.cssClasses.colorInput\" [value]=\"model.renderedValue\" (change)=\"model.onColorInputChange($event)\"/>\n </label>\n <input autocomplete=\"off\" \n [disabled]=\"model.isInputReadOnly\" \n [attr.id]=\"model.inputId\" \n [placeholder]=\"model.renderedPlaceholder\" \n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]=\"model.ariaDescribedBy\" \n (change)=\"model.onChange($event)\" \n (keyup)=\"model.onKeyUp($event)\" \n (blur)=\"model.onBlur($event)\" \n (beforeinput)=\"model.onBeforeInput($event)\"\n [value]=\"model.renderedValue\"\n [class]=\"model.cssClasses.control\"/> \n <ng-container *ngIf=\"model.showDropdownAction\">\n <sv-action-bar-item [model]=\"model.dropdownAction\"></sv-action-bar-item>\n <sv-ng-popup [popupModel]=\"model.dropdownAction.popupModel\"
|
|
2723
|
+
QuestionColorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QuestionColorComponent, selector: "svc-color", usesInheritance: true, ngImport: i0__namespace, template: "<div [class]=\"model.cssClasses.root\">\n <label [class]=\"model.cssClasses.swatch\" [style]=\"model.getSwatchStyle()\">\n <svg [iconName]=\"model.cssClasses.swatchIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <input type=\"color\" [class]=\"model.cssClasses.colorInput\" [value]=\"model.renderedValue\" (change)=\"model.onColorInputChange($event)\"/>\n </label>\n <input autocomplete=\"off\" \n [disabled]=\"model.isInputReadOnly\" \n [attr.id]=\"model.inputId\" \n [placeholder]=\"model.renderedPlaceholder\" \n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]=\"model.ariaDescribedBy\" \n (change)=\"model.onChange($event)\" \n (keyup)=\"model.onKeyUp($event)\" \n (blur)=\"model.onBlur($event)\" \n (beforeinput)=\"model.onBeforeInput($event)\"\n [value]=\"model.renderedValue\"\n [class]=\"model.cssClasses.control\"/> \n <ng-container *ngIf=\"model.showDropdownAction\">\n <sv-action-bar-item [model]=\"model.dropdownAction\"></sv-action-bar-item>\n <sv-ng-popup [popupModel]=\"model.dropdownAction.popupModel\"></sv-ng-popup>\n </ng-container>\n</div>", components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.ActionBarItemComponent, selector: "sv-action-bar-item", inputs: ["model"] }, { type: i1__namespace.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel", "getTarget"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2672
2724
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QuestionColorComponent, decorators: [{
|
|
2673
2725
|
type: i0.Component,
|
|
2674
2726
|
args: [{
|