1 (function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory();
4 else if(typeof define === 'function' && define.amd)
6 else if(typeof exports === 'object')
7 exports["angular-material-form-builder"] = factory();
9 root["angular-material-form-builder"] = factory();
11 return /******/ (() => { // webpackBootstrap
12 /******/ "use strict";
13 /******/ var __webpack_modules__ = ({
15 /***/ "./src/lib/directives/agreement-item/agreement-item.controller.js":
16 /*!************************************************************************!*\
17 !*** ./src/lib/directives/agreement-item/agreement-item.controller.js ***!
18 \************************************************************************/
19 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
21 __webpack_require__.r(__webpack_exports__);
22 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23 /* harmony export */ "AgreementItemCtrl": () => (/* binding */ AgreementItemCtrl)
24 /* harmony export */ });
25 AgreementItemCtrl.$inject = ["Utils", "$element"];
30 * @param {import('../../utils/utils.service').Utils} Utils
31 * @param {JQLite} $element
33 function AgreementItemCtrl(Utils, $element) {
34 this.Element = $element;
35 this.item = Utils.extend(this.item || {}, {
50 /***/ "./src/lib/directives/agreement-item/agreement-item.directive.js":
51 /*!***********************************************************************!*\
52 !*** ./src/lib/directives/agreement-item/agreement-item.directive.js ***!
53 \***********************************************************************/
54 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
56 __webpack_require__.r(__webpack_exports__);
57 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
58 /* harmony export */ "AgreementItem": () => (/* binding */ AgreementItem)
59 /* harmony export */ });
60 /* harmony import */ var _agreement_item_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./agreement-item.controller */ "./src/lib/directives/agreement-item/agreement-item.controller.js");
61 // import AgreementItemTemplate from './agreement-item.tpl.html'
64 * @implements {ng.IDirective}
76 this.controller = _agreement_item_controller__WEBPACK_IMPORTED_MODULE_0__.AgreementItemCtrl;
77 this.controllerAs = 'Agreement';
78 this.bindToController = true;
83 AgreementItem.$inject = [];
88 /***/ "./src/lib/directives/agreement-item/agreement-view.controller.js":
89 /*!************************************************************************!*\
90 !*** ./src/lib/directives/agreement-item/agreement-view.controller.js ***!
91 \************************************************************************/
92 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
94 __webpack_require__.r(__webpack_exports__);
95 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
96 /* harmony export */ "AgreementViewCtrl": () => (/* binding */ AgreementViewCtrl)
97 /* harmony export */ });
98 class AgreementViewCtrl {
101 * @param {ng.IScope} $scope
102 * @param {import('../../utils/utils.service').Utils} Utils
104 constructor($scope, Utils) {
111 this.formItem = this.Utils.extend(this.formItem || {}, {
118 this.selectedOptions = this._getSelectedOptions();
119 this.disableOptions = false;
124 this._updateValidity();
126 if (this.isPreview()) {
127 this._enableWatchers();
131 toggleSelectedOption() {
132 this.selectedOptions = this._getSelectedOptions();
136 this._updateValidity();
139 _getSelectedOptions() {
140 return this.formItem.options.filter(option => {
141 return option.selected;
146 if (!this.formItem.config.maxSelections) {
147 this.disableOptions = false;
148 } else if (this.selectedOptions.length === this.formItem.config.maxSelections) {
149 this.disableOptions = true;
151 this.disableOptions = false;
156 if (this.formItem.config.required) {
157 this.isValid = this.selectedOptions.length > 0;
162 this.form.$setValidity('minSelections', this.isValid);
166 this.Scope.$watch('AgreementView.formItem.config.required', newVal => {
167 if (newVal !== undefined) {
170 this._updateValidity();
177 AgreementViewCtrl.$inject = ["$scope", "Utils"];
182 /***/ "./src/lib/directives/agreement-item/agreement-view.directive.js":
183 /*!***********************************************************************!*\
184 !*** ./src/lib/directives/agreement-item/agreement-view.directive.js ***!
185 \***********************************************************************/
186 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
188 __webpack_require__.r(__webpack_exports__);
189 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
190 /* harmony export */ "AgreementView": () => (/* binding */ AgreementView)
191 /* harmony export */ });
192 /* harmony import */ var _agreement_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./agreement-view.controller */ "./src/lib/directives/agreement-item/agreement-view.controller.js");
193 /* harmony import */ var _agreement_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./agreement-view.tpl.html */ "./src/lib/directives/agreement-item/agreement-view.tpl.html");
197 class AgreementView {
200 * @param {ng.ITimeoutService} $timeout
202 constructor($timeout) {
203 this.$timeout = $timeout;
204 this.template = _agreement_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
211 this.controller = _agreement_view_controller__WEBPACK_IMPORTED_MODULE_0__.AgreementViewCtrl;
212 this.controllerAs = 'AgreementView';
213 this.bindToController = true;
216 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
217 * @param {ng.IScope} scope - scope
218 * @param {JQLite} element - element
219 * @param {ng.IAttributes} attrs - attributes
220 * @param {AgreementViewCtrl} ctrl - this instance controller
221 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
225 link(scope, element, attrs, ctrl) {
226 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
227 this.$timeout(function () {
234 AgreementView.$inject = ["$timeout"];
239 /***/ "./src/lib/directives/checkboxes-item/checkboxes-item.controller.js":
240 /*!**************************************************************************!*\
241 !*** ./src/lib/directives/checkboxes-item/checkboxes-item.controller.js ***!
242 \**************************************************************************/
243 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
245 __webpack_require__.r(__webpack_exports__);
246 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
247 /* harmony export */ "CheckboxesItemCtrl": () => (/* binding */ CheckboxesItemCtrl)
248 /* harmony export */ });
249 class CheckboxesItemCtrl {
253 * @param {import('../../utils/utils.service').Utils} Utils
254 * @param {JQLite} $element
256 constructor(Utils, $element) {
257 this.Element = $element;
258 this.item = Utils.extend(this.item || {}, {
269 deleteOption(index) {
270 this.item.options.splice(index, 1);
274 this.item.options.push({
277 }); // Focus new element
280 const options = this.Element.find('input');
281 const addedOption = options[options.length - 1];
288 CheckboxesItemCtrl.$inject = ["Utils", "$element"];
293 /***/ "./src/lib/directives/checkboxes-item/checkboxes-item.directive.js":
294 /*!*************************************************************************!*\
295 !*** ./src/lib/directives/checkboxes-item/checkboxes-item.directive.js ***!
296 \*************************************************************************/
297 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
299 __webpack_require__.r(__webpack_exports__);
300 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
301 /* harmony export */ "CheckboxesItem": () => (/* binding */ CheckboxesItem)
302 /* harmony export */ });
303 /* harmony import */ var _checkboxes_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkboxes-item.tpl.html */ "./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html");
304 /* harmony import */ var _checkboxes_item_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./checkboxes-item.controller */ "./src/lib/directives/checkboxes-item/checkboxes-item.controller.js");
308 * @implements {ng.IDirective}
311 function CheckboxesItem() {
314 template: _checkboxes_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"],
318 controller: _checkboxes_item_controller__WEBPACK_IMPORTED_MODULE_1__.CheckboxesItemCtrl,
319 controllerAs: 'Checkboxes',
320 bindToController: true
329 /***/ "./src/lib/directives/checkboxes-item/checkboxes-view.controller.js":
330 /*!**************************************************************************!*\
331 !*** ./src/lib/directives/checkboxes-item/checkboxes-view.controller.js ***!
332 \**************************************************************************/
333 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
335 __webpack_require__.r(__webpack_exports__);
336 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
337 /* harmony export */ "CheckboxesViewCtrl": () => (/* binding */ CheckboxesViewCtrl)
338 /* harmony export */ });
339 class CheckboxesViewCtrl {
342 * @param {ng.IScope} $scope
343 * @param {import('../../utils/utils.service').Utils} Utils
345 constructor($scope, Utils) {
352 this.formItem = this.Utils.extend(this.formItem || {}, {
356 this.selectedOptions = this._getSelectedOptions();
357 this.disableOptions = false;
362 this._updateValidity();
364 if (this.isPreview()) {
365 this._enableWatchers();
369 toggleSelectedOption() {
370 this.selectedOptions = this._getSelectedOptions();
374 this._updateValidity();
377 _getSelectedOptions() {
378 return this.formItem.options.filter(option => {
379 return option.selected;
384 if (!this.formItem.config.maxSelections) {
385 this.disableOptions = false;
386 } else if (this.selectedOptions.length === this.formItem.config.maxSelections) {
387 this.disableOptions = true;
389 this.disableOptions = false;
394 if (this.formItem.config.required) {
395 this.isValid = this.selectedOptions.length > 0;
400 this.form.$setValidity('minSelections', this.isValid);
404 this.Scope.$watch('CheckboxesView.formItem.config.required', newVal => {
405 if (newVal !== undefined) {
408 this._updateValidity();
415 CheckboxesViewCtrl.$inject = ["$scope", "Utils"];
420 /***/ "./src/lib/directives/checkboxes-item/checkboxes-view.directive.js":
421 /*!*************************************************************************!*\
422 !*** ./src/lib/directives/checkboxes-item/checkboxes-view.directive.js ***!
423 \*************************************************************************/
424 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
426 __webpack_require__.r(__webpack_exports__);
427 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
428 /* harmony export */ "CheckboxesView": () => (/* binding */ CheckboxesView)
429 /* harmony export */ });
430 /* harmony import */ var _checkboxes_view_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./checkboxes-view.tpl.html */ "./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html");
431 /* harmony import */ var _checkboxes_view_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./checkboxes-view.controller */ "./src/lib/directives/checkboxes-item/checkboxes-view.controller.js");
435 * @implements {ng.IDirective}
438 class CheckboxesView {
441 * @param {ng.ITimeoutService} $timeout
443 constructor($timeout) {
444 this.$timeout = $timeout;
446 this.template = _checkboxes_view_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"];
452 this.controller = _checkboxes_view_controller__WEBPACK_IMPORTED_MODULE_1__.CheckboxesViewCtrl;
453 this.controllerAs = 'CheckboxesView';
454 this.bindToController = true;
457 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
458 * @param {ng.IScope} scope - scope
459 * @param {JQLite} element - element
460 * @param {ng.IAttributes} attrs - attributes
461 * @param {CheckboxesViewCtrl} ctrl - this instance controller
462 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
466 link(scope, element, attrs, ctrl) {
467 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
468 this.$timeout(function () {
475 CheckboxesView.$inject = ["$timeout"];
480 /***/ "./src/lib/directives/form-item/form-item.controller.js":
481 /*!**************************************************************!*\
482 !*** ./src/lib/directives/form-item/form-item.controller.js ***!
483 \**************************************************************/
484 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
486 __webpack_require__.r(__webpack_exports__);
487 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
488 /* harmony export */ "FormItemCtrl": () => (/* binding */ FormItemCtrl)
489 /* harmony export */ });
490 const DEFAULT_TITLE = {
491 upload: 'Attachment',
492 agreement: 'Agreement',
494 chooseFromList: 'Select',
496 multipleChoices: 'Choice',
498 checkboxes: 'Options',
505 * @param {ng.IScope} $scope
506 * @param {ng.IAttributes} $attrs
507 * @param {import('../../utils/utils.service').Utils} Utils
509 constructor($scope, $attrs, Utils) {
513 upload: '<upload-item item="FormItem.item"></upload-item>',
514 agreement: '<agreement-item item="FormItem.item"></agreement-item>',
515 input: '<input-item item="FormItem.item"></input-item>',
516 chooseFromList: '<bet-form-choose-from-list item="FormItem.item"></bet-form-choose-from-list>',
517 label: '<label-item item="FormItem.item"></label-item>',
518 multipleChoices: '<radio-button-item item="FormItem.item"></radio-button-item>',
519 matrix: '<matrix-item item="FormItem.item"></matrix-item>',
520 checkboxes: '<checkboxes-item item="FormItem.item"></checkboxes-item>',
521 textarea: '<textarea-item item="FormItem.item"></textarea-item>'
528 this.item = this.Utils.extend(this.item || {}, {
529 type: this.Attrs.type,
531 title: DEFAULT_TITLE[this.Attrs.type],
548 * @param {string} type
552 _getItemTemplate(type) {
553 const prefix = '' + '<div class="form-item-container">' + '<div class="form-item-actions">' + '<md-button class="md-button" ng-if="FormItem.Attrs.onDelete" ng-click="FormItem.deleteClicked()"> ' + '<md-icon class="material-icons small">delete</md-icon>' + '</md-button>' + '<md-button class="md-button" ng-if="FormItem.Attrs.onUp" ng-click="FormItem.onUp({item: FormItem.item, index: FormItem.index()})"> ' + '<md-icon class="material-icons small">arrow_drop_up</md-icon>' + '</md-button>' + '<md-button class="md-button" ng-if="FormItem.Attrs.onDown" ng-click="FormItem.onDown({item: FormItem.item, index: FormItem.index()})"> ' + '<md-icon class="material-icons small">arrow_drop_down</md-icon>' + '</md-button>' + '</div>' + '<md-input-container>' + '<label>Field Title</label>' + '<input ng-model="FormItem.item.props.title"/>' + '</md-input-container>' + '<md-input-container>' + '<label>Help Text</label>' + '<input ng-model="FormItem.item.props.helpText" />' + '</md-input-container>';
554 const suffix = '' + '<md-input-container>' + '<md-checkbox ng-model="FormItem.item.config.required">Required field</md-checkbox>' + '</md-input-container>' + '</div>';
555 return prefix + this.templates[type] + suffix;
560 FormItemCtrl.$inject = ["$scope", "$attrs", "Utils"];
565 /***/ "./src/lib/directives/form-item/form-item.directive.js":
566 /*!*************************************************************!*\
567 !*** ./src/lib/directives/form-item/form-item.directive.js ***!
568 \*************************************************************/
569 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
571 __webpack_require__.r(__webpack_exports__);
572 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
573 /* harmony export */ "FormItem": () => (/* binding */ FormItem)
574 /* harmony export */ });
575 /* harmony import */ var _form_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-item.tpl.html */ "./src/lib/directives/form-item/form-item.tpl.html");
576 /* harmony import */ var _form_item_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form-item.controller */ "./src/lib/directives/form-item/form-item.controller.js");
580 * @implements {ng.IDirective}
586 * @param {ng.ICompileService} $compile
588 constructor($compile) {
589 this.$compile = $compile;
598 this.controller = _form_item_controller__WEBPACK_IMPORTED_MODULE_1__.FormItemCtrl;
599 this.controllerAs = 'FormItem';
600 this.bindToController = true;
601 this.template = _form_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"];
604 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
605 * @param {ng.IScope} scope - scope
606 * @param {JQLite} element - element
607 * @param {ng.IAttributes} attrs - attributes
608 * @param {FormItemCtrl} ctrl - this instance controller
609 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
613 link(scope, element, attrs, ctrl) {
614 const template = ctrl._getItemTemplate(attrs.type);
616 const el = this.$compile(template)(scope); // element.append(el)
617 // if done like above adds twice
618 // element.append(this.$compile(template)(scope))
626 FormItem.$inject = ["$compile"];
631 /***/ "./src/lib/directives/form-items-container/form-items-container.controller.js":
632 /*!************************************************************************************!*\
633 !*** ./src/lib/directives/form-items-container/form-items-container.controller.js ***!
634 \************************************************************************************/
635 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
637 __webpack_require__.r(__webpack_exports__);
638 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
639 /* harmony export */ "FormItemsContainerCtrl": () => (/* binding */ FormItemsContainerCtrl)
640 /* harmony export */ });
641 class FormItemsContainerCtrl {
647 * @type {import('../../main/main.controller').FormConfig}
655 * @param {import('../../main/main.controller').Item} item
656 * @param {number} index
660 delete(item, index) {
661 this.form.items.splice(index, 1);
665 * @param {import('../../main/main.controller').Item} item
666 * @param {number} index
672 const prevItem = this.form.items[index - 1];
673 this.form.items[index] = prevItem;
674 this.form.items[index - 1] = item;
679 * @param {import('../../main/main.controller').Item} item
680 * @param {number} index
685 if (index !== this.form.items.length - 1) {
686 const nextItem = this.form.items[index + 1];
687 this.form.items[index] = nextItem;
688 this.form.items[index + 1] = item;
694 FormItemsContainerCtrl.$inject = [];
699 /***/ "./src/lib/directives/form-items-container/form-items-container.directive.js":
700 /*!***********************************************************************************!*\
701 !*** ./src/lib/directives/form-items-container/form-items-container.directive.js ***!
702 \***********************************************************************************/
703 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
705 __webpack_require__.r(__webpack_exports__);
706 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
707 /* harmony export */ "FormItemsContainer": () => (/* binding */ FormItemsContainer)
708 /* harmony export */ });
709 /* harmony import */ var _form_items_container_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-items-container.controller */ "./src/lib/directives/form-items-container/form-items-container.controller.js");
710 /* harmony import */ var _form_items_container_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form-items-container.tpl.html */ "./src/lib/directives/form-items-container/form-items-container.tpl.html");
714 * @implements {ng.IDirective}
717 class FormItemsContainer {
726 this.template = _form_items_container_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
727 this.controller = _form_items_container_controller__WEBPACK_IMPORTED_MODULE_0__.FormItemsContainerCtrl;
728 this.controllerAs = 'container';
729 this.bindToController = true;
734 FormItemsContainer.$inject = [];
739 /***/ "./src/lib/directives/form-view/form-view.controller.js":
740 /*!**************************************************************!*\
741 !*** ./src/lib/directives/form-view/form-view.controller.js ***!
742 \**************************************************************/
743 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
745 __webpack_require__.r(__webpack_exports__);
746 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
747 /* harmony export */ "FormViewCtrl": () => (/* binding */ FormViewCtrl)
748 /* harmony export */ });
752 * @param {ng.IScù} $scope
754 constructor($scope) {
762 FormViewCtrl.$inject = ["$scope"];
767 /***/ "./src/lib/directives/form-view/form-view.directive.js":
768 /*!*************************************************************!*\
769 !*** ./src/lib/directives/form-view/form-view.directive.js ***!
770 \*************************************************************/
771 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
773 __webpack_require__.r(__webpack_exports__);
774 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
775 /* harmony export */ "FormView": () => (/* binding */ FormView)
776 /* harmony export */ });
777 /* harmony import */ var _form_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-view.controller */ "./src/lib/directives/form-view/form-view.controller.js");
778 /* harmony import */ var _form_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form-view.tpl.html */ "./src/lib/directives/form-view/form-view.tpl.html");
782 * @implements {ng.IDirective}
791 this.template = _form_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
795 this.controller = _form_view_controller__WEBPACK_IMPORTED_MODULE_0__.FormViewCtrl;
796 this.controllerAs = 'FormView';
797 this.bindToController = true;
800 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
801 * @param {ng.IScope} scope - scope
802 * @param {JQLite} element - element
803 * @param {ng.IAttributes} attrs - attributes
804 * @param {FormViewCtrl} ctrl - this instance controller
805 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
809 link(scope, element, attrs, ctrl) {
815 FormView.$inject = [];
820 /***/ "./src/lib/directives/input-item/input-item.controller.js":
821 /*!****************************************************************!*\
822 !*** ./src/lib/directives/input-item/input-item.controller.js ***!
823 \****************************************************************/
824 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
826 __webpack_require__.r(__webpack_exports__);
827 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
828 /* harmony export */ "InputItemCtrl": () => (/* binding */ InputItemCtrl)
829 /* harmony export */ });
830 class InputItemCtrl {
833 * @param {import('../../utils/utils.service').Utils} Utils
834 * @param {JQLite} $element
836 constructor(Utils, $element) {
837 this.Element = $element;
838 this.item = Utils.extend(this.item || {}, {
847 InputItemCtrl.$inject = ["Utils", "$element"];
852 /***/ "./src/lib/directives/input-item/input-item.directive.js":
853 /*!***************************************************************!*\
854 !*** ./src/lib/directives/input-item/input-item.directive.js ***!
855 \***************************************************************/
856 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
858 __webpack_require__.r(__webpack_exports__);
859 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
860 /* harmony export */ "InputItem": () => (/* binding */ InputItem)
861 /* harmony export */ });
862 /* harmony import */ var _input_item_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./input-item.controller */ "./src/lib/directives/input-item/input-item.controller.js");
863 /* harmony import */ var _input_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./input-item.tpl.html */ "./src/lib/directives/input-item/input-item.tpl.html");
867 * @implements {ng.IDirective}
876 this.template = _input_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
880 this.controller = _input_item_controller__WEBPACK_IMPORTED_MODULE_0__.InputItemCtrl;
881 this.controllerAs = 'Input';
882 this.bindToController = true;
887 InputItem.$inject = [];
892 /***/ "./src/lib/directives/input-item/input-view.controller.js":
893 /*!****************************************************************!*\
894 !*** ./src/lib/directives/input-item/input-view.controller.js ***!
895 \****************************************************************/
896 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
898 __webpack_require__.r(__webpack_exports__);
899 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
900 /* harmony export */ "InputViewCtrl": () => (/* binding */ InputViewCtrl)
901 /* harmony export */ });
902 class InputViewCtrl {
905 * @param {import('../../utils/utils.service').Utils} Utils
913 this.Utils.extend(this.formItem, {
920 InputViewCtrl.$inject = ["Utils"];
925 /***/ "./src/lib/directives/input-item/input-view.directive.js":
926 /*!***************************************************************!*\
927 !*** ./src/lib/directives/input-item/input-view.directive.js ***!
928 \***************************************************************/
929 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
931 __webpack_require__.r(__webpack_exports__);
932 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
933 /* harmony export */ "InputView": () => (/* binding */ InputView)
934 /* harmony export */ });
935 /* harmony import */ var _input_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./input-view.controller */ "./src/lib/directives/input-item/input-view.controller.js");
936 /* harmony import */ var _input_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./input-view.tpl.html */ "./src/lib/directives/input-item/input-view.tpl.html");
940 * @implements {ng.IDirective}
946 * @param {ng.ITimeoutService} $timeout
948 constructor($timeout) {
949 this.$timeout = $timeout;
951 this.template = _input_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
956 this.controller = _input_view_controller__WEBPACK_IMPORTED_MODULE_0__.InputViewCtrl;
957 this.controllerAs = 'InputView';
958 this.bindToController = true;
961 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
962 * @param {ng.IScope} scope - scope
963 * @param {JQLite} element - element
964 * @param {ng.IAttributes} attrs - attributes
965 * @param {FormItemCtrl} ctrl - this instance controller
966 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
970 link(scope, elem, attrs, ctrl) {
971 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
972 this.$timeout(function () {
979 InputView.$inject = ["$timeout"];
984 /***/ "./src/lib/directives/label-item/label-item.controller.js":
985 /*!****************************************************************!*\
986 !*** ./src/lib/directives/label-item/label-item.controller.js ***!
987 \****************************************************************/
988 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
990 __webpack_require__.r(__webpack_exports__);
991 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
992 /* harmony export */ "LabelItemCtrl": () => (/* binding */ LabelItemCtrl)
993 /* harmony export */ });
994 class LabelItemCtrl {
997 * @param {JQLite} $element
999 constructor($element) {
1000 this.Element = $element;
1005 LabelItemCtrl.$inject = ["$element"];
1010 /***/ "./src/lib/directives/label-item/label-item.directive.js":
1011 /*!***************************************************************!*\
1012 !*** ./src/lib/directives/label-item/label-item.directive.js ***!
1013 \***************************************************************/
1014 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1016 __webpack_require__.r(__webpack_exports__);
1017 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1018 /* harmony export */ "LabelItem": () => (/* binding */ LabelItem)
1019 /* harmony export */ });
1020 /* harmony import */ var _label_item_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-item.controller */ "./src/lib/directives/label-item/label-item.controller.js");
1021 /* harmony import */ var _label_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./label-item.tpl.html */ "./src/lib/directives/label-item/label-item.tpl.html");
1025 * @implements {ng.IDirective}
1030 this.restrict = 'E';
1031 this.template = _label_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1035 this.controller = _label_item_controller__WEBPACK_IMPORTED_MODULE_0__.LabelItemCtrl;
1036 this.controllerAs = 'Label';
1037 this.bindToController = true;
1046 /***/ "./src/lib/directives/label-item/label-view.controller.js":
1047 /*!****************************************************************!*\
1048 !*** ./src/lib/directives/label-item/label-view.controller.js ***!
1049 \****************************************************************/
1050 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1052 __webpack_require__.r(__webpack_exports__);
1053 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1054 /* harmony export */ "LabelViewCtrl": () => (/* binding */ LabelViewCtrl)
1055 /* harmony export */ });
1056 class LabelViewCtrl {
1059 * @param {import('../../utils/utils.service').Utils} Utils
1060 * @param {ng.ISCEService} $sce
1062 constructor(Utils, $sce) {
1068 this.Utils.extend(this.formItem, {});
1071 get sanitizedTitle() {
1072 return this.$sce.trustAsHtml(this.formItem.value);
1077 LabelViewCtrl.$inject = ["Utils", "$sce"];
1082 /***/ "./src/lib/directives/label-item/label-view.directive.js":
1083 /*!***************************************************************!*\
1084 !*** ./src/lib/directives/label-item/label-view.directive.js ***!
1085 \***************************************************************/
1086 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1088 __webpack_require__.r(__webpack_exports__);
1089 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1090 /* harmony export */ "LabelView": () => (/* binding */ LabelView)
1091 /* harmony export */ });
1092 /* harmony import */ var _label_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-view.controller */ "./src/lib/directives/label-item/label-view.controller.js");
1093 /* harmony import */ var _label_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./label-view.tpl.html */ "./src/lib/directives/label-item/label-view.tpl.html");
1097 * @implements {ng.IDirective}
1103 * @param {ng.ITimeoutService} $timeout
1105 constructor($timeout) {
1106 this.$timeout = $timeout;
1107 this.restrict = 'E';
1108 this.template = _label_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1113 this.controller = _label_view_controller__WEBPACK_IMPORTED_MODULE_0__.LabelViewCtrl;
1114 this.controllerAs = 'LabelView';
1115 this.bindToController = true;
1118 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
1119 * @param {ng.IScope} scope - scope
1120 * @param {JQLite} element - element
1121 * @param {ng.IAttributes} attrs - attributes
1122 * @param {LabelViewCtrl} ctrl - this instance controller
1123 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
1127 link(scope, elem, attrs, ctrl) {
1128 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
1129 this.$timeout(function () {
1136 LabelView.$inject = ["$timeout"];
1141 /***/ "./src/lib/directives/matrix-item/matrix-item.controller.js":
1142 /*!******************************************************************!*\
1143 !*** ./src/lib/directives/matrix-item/matrix-item.controller.js ***!
1144 \******************************************************************/
1145 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1147 __webpack_require__.r(__webpack_exports__);
1148 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1149 /* harmony export */ "MatrixItemCtrl": () => (/* binding */ MatrixItemCtrl)
1150 /* harmony export */ });
1151 class MatrixItemCtrl {
1154 * @param {import('../../utils/utils.service').Utils} Utils
1155 * @param {ng.IDocumentService} $document
1157 constructor(Utils, $document) {
1158 this.RowContainer = angular.element($document[0].querySelector('.rowContainer'));
1159 this.ColumnContainer = angular.element($document[0].querySelector('.columnContainer'));
1160 this.item = Utils.extend(this.item || {}, {
1173 * @param {number} index
1178 this.item.config.rows.splice(index, 1);
1182 this.item.config.rows.push({
1185 setTimeout(function () {
1186 const options = this.RowContainer.find('input');
1187 const addedOption = options[options.length - 1];
1188 addedOption.focus();
1193 * @param {number} index
1197 deleteColumn(index) {
1198 this.item.config.columns.splice(index, 1);
1202 this.item.config.columns.push({
1206 const options = this.ColumnContainer.find('input');
1207 const addedOption = options[options.length - 1];
1208 addedOption.focus();
1214 MatrixItemCtrl.$inject = ["Utils", "$document"];
1219 /***/ "./src/lib/directives/matrix-item/matrix-item.directive.js":
1220 /*!*****************************************************************!*\
1221 !*** ./src/lib/directives/matrix-item/matrix-item.directive.js ***!
1222 \*****************************************************************/
1223 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1225 __webpack_require__.r(__webpack_exports__);
1226 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1227 /* harmony export */ "MatrixItem": () => (/* binding */ MatrixItem)
1228 /* harmony export */ });
1229 /* harmony import */ var _matrix_item_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./matrix-item.controller */ "./src/lib/directives/matrix-item/matrix-item.controller.js");
1230 /* harmony import */ var _matrix_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./matrix-item.tpl.html */ "./src/lib/directives/matrix-item/matrix-item.tpl.html");
1234 * @implements {ng.IDirective}
1242 this.restrict = 'E';
1243 this.template = _matrix_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1247 this.controller = _matrix_item_controller__WEBPACK_IMPORTED_MODULE_0__.MatrixItemCtrl;
1248 this.controllerAs = 'Matrix';
1249 this.bindToController = true;
1254 MatrixItem.$inject = [];
1259 /***/ "./src/lib/directives/matrix-item/matrix-view.controller.js":
1260 /*!******************************************************************!*\
1261 !*** ./src/lib/directives/matrix-item/matrix-view.controller.js ***!
1262 \******************************************************************/
1263 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1265 __webpack_require__.r(__webpack_exports__);
1266 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1267 /* harmony export */ "MatrixViewCtrl": () => (/* binding */ MatrixViewCtrl)
1268 /* harmony export */ });
1269 class MatrixViewCtrl {
1272 * @param {ng.IScope} $scope
1273 * @param {import('../../utils/utils.service').Utils} Utils
1275 constructor($scope, Utils) {
1276 this.Scope = $scope;
1278 this.isValid = true;
1283 this.formItem = this.Utils.extend(this.formItem, {
1290 this._updateValidity();
1292 if (this.isPreview()) {
1293 this._enableWatchers();
1300 if (this.formItem.config.required) {
1301 valid = !this.formItem.config.rows.some(row => typeof row['selected'] === 'undefined'); // for (let i = 0; i < this.formItem.config.rows.length; i++) {
1302 // if (typeof this.formItem.config.rows[i]['selected'] === 'undefined') {
1309 this.isValid = valid;
1310 this.form.$setValidity('required', this.isValid);
1314 this.Scope.$watchGroup(['MatrixView.formItem.config.required', 'MatrixView.formItem.config.rows.length'], newVal => {
1315 if (newVal !== undefined) {
1316 this._updateValidity();
1323 MatrixViewCtrl.$inject = ["$scope", "Utils"];
1328 /***/ "./src/lib/directives/matrix-item/matrix-view.directive.js":
1329 /*!*****************************************************************!*\
1330 !*** ./src/lib/directives/matrix-item/matrix-view.directive.js ***!
1331 \*****************************************************************/
1332 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1334 __webpack_require__.r(__webpack_exports__);
1335 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1336 /* harmony export */ "MatrixView": () => (/* binding */ MatrixView)
1337 /* harmony export */ });
1338 /* harmony import */ var _matrix_view_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./matrix-view.tpl.html */ "./src/lib/directives/matrix-item/matrix-view.tpl.html");
1339 /* harmony import */ var _matrix_view_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./matrix-view.controller */ "./src/lib/directives/matrix-item/matrix-view.controller.js");
1343 * @implements {ng.IDirective}
1349 * @param {ng.ITimeoutService} $timeout
1351 constructor($timeout) {
1352 this.$timeout = $timeout;
1353 this.restrict = 'E';
1354 this.template = _matrix_view_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"];
1360 this.controller = _matrix_view_controller__WEBPACK_IMPORTED_MODULE_1__.MatrixViewCtrl;
1361 this.controllerAs = 'MatrixView';
1362 this.bindToController = true;
1365 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
1366 * @param {ng.IScope} scope - scope
1367 * @param {JQLite} element - element
1368 * @param {ng.IAttributes} attrs - attributes
1369 * @param {MatrixViewCtrl} ctrl - this instance controller
1370 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
1374 link(scope, elem, attrs, ctrl) {
1375 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
1376 this.$timeout(function () {
1383 MatrixView.$inject = ["$timeout"];
1388 /***/ "./src/lib/directives/radio-button-item/radio-button-item.controller.js":
1389 /*!******************************************************************************!*\
1390 !*** ./src/lib/directives/radio-button-item/radio-button-item.controller.js ***!
1391 \******************************************************************************/
1392 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1394 __webpack_require__.r(__webpack_exports__);
1395 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1396 /* harmony export */ "RadioButtonItemCtrl": () => (/* binding */ RadioButtonItemCtrl)
1397 /* harmony export */ });
1398 class RadioButtonItemCtrl {
1401 * @param {import('../../utils/utils.service').Utils} Utils
1402 * @param {JQLite} $element
1404 constructor(Utils, $element) {
1405 this.Element = $element;
1406 this.item = Utils.extend(this.item || {}, {
1414 deleteOption(index) {
1415 this.item.options.splice(index, 1);
1419 this.item.options.push({
1423 const options = this.Element.find('input');
1424 const addedOption = options[options.length - 1];
1425 addedOption.focus();
1431 RadioButtonItemCtrl.$inject = ["Utils", "$element"];
1436 /***/ "./src/lib/directives/radio-button-item/radio-button-item.directive.js":
1437 /*!*****************************************************************************!*\
1438 !*** ./src/lib/directives/radio-button-item/radio-button-item.directive.js ***!
1439 \*****************************************************************************/
1440 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1442 __webpack_require__.r(__webpack_exports__);
1443 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1444 /* harmony export */ "RadioButtonItem": () => (/* binding */ RadioButtonItem)
1445 /* harmony export */ });
1446 /* harmony import */ var _radio_button_item_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio-button-item.controller */ "./src/lib/directives/radio-button-item/radio-button-item.controller.js");
1447 /* harmony import */ var _radio_button_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./radio-button-item.tpl.html */ "./src/lib/directives/radio-button-item/radio-button-item.tpl.html");
1451 * @implements {ng.IDirective}
1454 class RadioButtonItem {
1459 this.restrict = 'E';
1460 this.template = _radio_button_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1464 this.controller = _radio_button_item_controller__WEBPACK_IMPORTED_MODULE_0__.RadioButtonItemCtrl;
1465 this.controllerAs = 'RadioButton';
1466 this.bindToController = true;
1471 RadioButtonItem.$inject = [];
1476 /***/ "./src/lib/directives/radio-button-item/radio-button-view.controller.js":
1477 /*!******************************************************************************!*\
1478 !*** ./src/lib/directives/radio-button-item/radio-button-view.controller.js ***!
1479 \******************************************************************************/
1480 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1482 __webpack_require__.r(__webpack_exports__);
1483 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1484 /* harmony export */ "RadioButtonViewCtrl": () => (/* binding */ RadioButtonViewCtrl)
1485 /* harmony export */ });
1486 class RadioButtonViewCtrl {
1489 * @param {import('../../utils/utils.service').Utils} Utils
1491 constructor(Utils) {
1497 this.formItem = this.Utils.extend(this.formItem, {
1505 RadioButtonViewCtrl.$inject = ["Utils"];
1510 /***/ "./src/lib/directives/radio-button-item/radio-button-view.directive.js":
1511 /*!*****************************************************************************!*\
1512 !*** ./src/lib/directives/radio-button-item/radio-button-view.directive.js ***!
1513 \*****************************************************************************/
1514 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1516 __webpack_require__.r(__webpack_exports__);
1517 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1518 /* harmony export */ "RadioButtonView": () => (/* binding */ RadioButtonView)
1519 /* harmony export */ });
1520 /* harmony import */ var _radio_button_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./radio-button-view.controller */ "./src/lib/directives/radio-button-item/radio-button-view.controller.js");
1521 /* harmony import */ var _radio_button_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./radio-button-view.tpl.html */ "./src/lib/directives/radio-button-item/radio-button-view.tpl.html");
1525 class RadioButtonView {
1528 * @param {ng.ITimeoutService} $timeout
1530 constructor($timeout) {
1531 this.$timeout = $timeout;
1532 this.restrict = 'E';
1533 this.template = _radio_button_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1539 this.controller = _radio_button_view_controller__WEBPACK_IMPORTED_MODULE_0__.RadioButtonViewCtrl;
1540 this.controllerAs = 'RadioButtonView';
1541 this.bindToController = true;
1544 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
1545 * @param {ng.IScope} scope - scope
1546 * @param {JQLite} element - element
1547 * @param {ng.IAttributes} attrs - attributes
1548 * @param {RadioButtonViewCtrl} ctrl - this instance controller
1549 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
1553 link(scope, elem, attrs, ctrl) {
1554 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
1555 this.$timeout(function () {
1562 RadioButtonView.$inject = ["$timeout"];
1567 /***/ "./src/lib/directives/select-item/select-item.controller.js":
1568 /*!******************************************************************!*\
1569 !*** ./src/lib/directives/select-item/select-item.controller.js ***!
1570 \******************************************************************/
1571 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1573 __webpack_require__.r(__webpack_exports__);
1574 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1575 /* harmony export */ "SelectItemCtrl": () => (/* binding */ SelectItemCtrl)
1576 /* harmony export */ });
1577 class SelectItemCtrl {
1580 * @param {import('../../utils/utils.service').Utils} Utils
1581 * @param {JQLite} $element
1583 constructor(Utils, $element) {
1584 this.Element = $element;
1585 this.item = Utils.extend(this.item || {}, {
1594 * @param {number} index
1598 deleteOption(index) {
1599 this.item.options.splice(index, 1);
1603 this.item.options.push({
1607 const options = this.Element.find('input');
1608 const addedOption = options[options.length - 1];
1609 addedOption.focus();
1615 SelectItemCtrl.$inject = ["Utils", "$element"];
1620 /***/ "./src/lib/directives/select-item/select-item.directive.js":
1621 /*!*****************************************************************!*\
1622 !*** ./src/lib/directives/select-item/select-item.directive.js ***!
1623 \*****************************************************************/
1624 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1626 __webpack_require__.r(__webpack_exports__);
1627 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1628 /* harmony export */ "SelectItem": () => (/* binding */ SelectItem)
1629 /* harmony export */ });
1630 /* harmony import */ var _select_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select-item.tpl.html */ "./src/lib/directives/select-item/select-item.tpl.html");
1631 /* harmony import */ var _select_item_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./select-item.controller */ "./src/lib/directives/select-item/select-item.controller.js");
1635 * @implements {ng.IDirective}
1643 this.restrict = 'E';
1644 this.template = _select_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"];
1648 this.controller = _select_item_controller__WEBPACK_IMPORTED_MODULE_1__.SelectItemCtrl;
1649 this.controllerAs = 'Select';
1650 this.bindToController = true;
1655 SelectItem.$inject = [];
1660 /***/ "./src/lib/directives/select-item/select-view.controller.js":
1661 /*!******************************************************************!*\
1662 !*** ./src/lib/directives/select-item/select-view.controller.js ***!
1663 \******************************************************************/
1664 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1666 __webpack_require__.r(__webpack_exports__);
1667 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1668 /* harmony export */ "SelectViewCtrl": () => (/* binding */ SelectViewCtrl)
1669 /* harmony export */ });
1670 class SelectViewCtrl {
1673 * @param {import('../../utils/utils.service').Utils} Utils
1675 constructor(Utils) {
1681 this.formItem = this.Utils.extend(this.formItem, {
1689 SelectViewCtrl.$inject = ["Utils"];
1694 /***/ "./src/lib/directives/select-item/select-view.directive.js":
1695 /*!*****************************************************************!*\
1696 !*** ./src/lib/directives/select-item/select-view.directive.js ***!
1697 \*****************************************************************/
1698 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1700 __webpack_require__.r(__webpack_exports__);
1701 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1702 /* harmony export */ "SelectView": () => (/* binding */ SelectView)
1703 /* harmony export */ });
1704 /* harmony import */ var _select_view_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select-view.tpl.html */ "./src/lib/directives/select-item/select-view.tpl.html");
1705 /* harmony import */ var _select_view_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./select-view.controller */ "./src/lib/directives/select-item/select-view.controller.js");
1709 * @implements {ng.IDirective}
1715 * @param {ng.ITimeoutService} $timeout
1717 constructor($timeout) {
1718 this.$timeout = $timeout;
1719 this.restrict = 'E';
1720 this.template = _select_view_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"];
1726 this.controller = _select_view_controller__WEBPACK_IMPORTED_MODULE_1__.SelectViewCtrl;
1727 this.controllerAs = 'SelectView';
1728 this.bindToController = true;
1731 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
1732 * @param {ng.IScope} scope - scope
1733 * @param {JQLite} element - element
1734 * @param {ng.IAttributes} attrs - attributes
1735 * @param {SelectViewCtrl} ctrl - this instance controller
1736 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
1740 link(scope, elem, attrs, ctrl) {
1741 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
1742 this.$timeout(function () {
1749 SelectView.$inject = ["$timeout"];
1754 /***/ "./src/lib/directives/textarea-item/textarea-item.controller.js":
1755 /*!**********************************************************************!*\
1756 !*** ./src/lib/directives/textarea-item/textarea-item.controller.js ***!
1757 \**********************************************************************/
1758 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1760 __webpack_require__.r(__webpack_exports__);
1761 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1762 /* harmony export */ "TextareaItemCtrl": () => (/* binding */ TextareaItemCtrl)
1763 /* harmony export */ });
1764 class TextareaItemCtrl {
1767 * @param {import('../../utils/utils.service').Utils} Utils
1768 * @param {JQLite} $element
1770 constructor(Utils, $element) {
1771 this.Element = $element;
1772 this.item = Utils.extend(this.item || {}, {
1779 TextareaItemCtrl.$inject = ["Utils", "$element"];
1784 /***/ "./src/lib/directives/textarea-item/textarea-item.directive.js":
1785 /*!*********************************************************************!*\
1786 !*** ./src/lib/directives/textarea-item/textarea-item.directive.js ***!
1787 \*********************************************************************/
1788 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1790 __webpack_require__.r(__webpack_exports__);
1791 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1792 /* harmony export */ "TextareaItem": () => (/* binding */ TextareaItem)
1793 /* harmony export */ });
1794 /* harmony import */ var _textarea_item_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./textarea-item.controller */ "./src/lib/directives/textarea-item/textarea-item.controller.js");
1795 /* harmony import */ var _textarea_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./textarea-item.tpl.html */ "./src/lib/directives/textarea-item/textarea-item.tpl.html");
1799 * @implements {ng.IDirective}
1802 class TextareaItem {
1807 this.restrict = 'E';
1808 this.template = _textarea_item_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1812 this.controller = _textarea_item_controller__WEBPACK_IMPORTED_MODULE_0__.TextareaItemCtrl;
1813 this.controllerAs = 'Textarea';
1814 this.bindToController = true;
1819 TextareaItem.$inject = [];
1824 /***/ "./src/lib/directives/textarea-item/textarea-view.controller.js":
1825 /*!**********************************************************************!*\
1826 !*** ./src/lib/directives/textarea-item/textarea-view.controller.js ***!
1827 \**********************************************************************/
1828 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1830 __webpack_require__.r(__webpack_exports__);
1831 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1832 /* harmony export */ "TextareaViewCtrl": () => (/* binding */ TextareaViewCtrl)
1833 /* harmony export */ });
1834 class TextareaViewCtrl {
1837 * @param {import('../../utils/utils.service').Utils} Utils
1839 constructor(Utils) {
1845 this.formItem = this.Utils.extend(this.formItem, {
1852 TextareaViewCtrl.$inject = ["Utils"];
1857 /***/ "./src/lib/directives/textarea-item/textarea-view.directive.js":
1858 /*!*********************************************************************!*\
1859 !*** ./src/lib/directives/textarea-item/textarea-view.directive.js ***!
1860 \*********************************************************************/
1861 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1863 __webpack_require__.r(__webpack_exports__);
1864 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1865 /* harmony export */ "TextareaView": () => (/* binding */ TextareaView)
1866 /* harmony export */ });
1867 /* harmony import */ var _textarea_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./textarea-view.controller */ "./src/lib/directives/textarea-item/textarea-view.controller.js");
1868 /* harmony import */ var _textarea_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./textarea-view.tpl.html */ "./src/lib/directives/textarea-item/textarea-view.tpl.html");
1872 * @implements {ng.IDirective}
1875 class TextareaView {
1878 * @param {ng.ITimeoutService} $timeout
1880 constructor($timeout) {
1881 this.$timeout = $timeout;
1886 this.restrict = 'E';
1887 this.template = _textarea_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
1888 this.controller = _textarea_view_controller__WEBPACK_IMPORTED_MODULE_0__.TextareaViewCtrl;
1889 this.controllerAs = 'TextareaView';
1890 this.bindToController = true;
1893 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
1894 * @param {ng.IScope} scope - scope
1895 * @param {JQLite} element - element
1896 * @param {ng.IAttributes} attrs - attributes
1897 * @param {TextareaViewCtrl} ctrl - this instance controller
1898 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
1902 link(scope, elem, attrs, ctrl) {
1903 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
1904 this.$timeout(function () {
1911 TextareaView.$inject = ["$timeout"];
1916 /***/ "./src/lib/directives/upload-item/upload-item.controller.js":
1917 /*!******************************************************************!*\
1918 !*** ./src/lib/directives/upload-item/upload-item.controller.js ***!
1919 \******************************************************************/
1920 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1922 __webpack_require__.r(__webpack_exports__);
1923 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1924 /* harmony export */ "UploadItemCtrl": () => (/* binding */ UploadItemCtrl)
1925 /* harmony export */ });
1926 class UploadItemCtrl {
1930 * @param {import('../../utils/utils.service').Utils} Utils
1931 * @param {JQLite} $element
1933 constructor(Utils, $element) {
1934 this.Element = $element;
1935 this.item = Utils.extend(this.item || {}, {
1943 UploadItemCtrl.$inject = ["Utils", "$element"];
1948 /***/ "./src/lib/directives/upload-item/upload-item.directive.js":
1949 /*!*****************************************************************!*\
1950 !*** ./src/lib/directives/upload-item/upload-item.directive.js ***!
1951 \*****************************************************************/
1952 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1954 __webpack_require__.r(__webpack_exports__);
1955 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1956 /* harmony export */ "UploadItem": () => (/* binding */ UploadItem)
1957 /* harmony export */ });
1958 /* harmony import */ var _upload_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./upload-item.tpl.html */ "./src/lib/directives/upload-item/upload-item.tpl.html");
1959 /* harmony import */ var _upload_item_controller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upload-item.controller */ "./src/lib/directives/upload-item/upload-item.controller.js");
1963 * @implements {ng.IDirective}
1971 this.restrict = 'E';
1972 this.template = _upload_item_tpl_html__WEBPACK_IMPORTED_MODULE_0__["default"];
1976 this.controller = _upload_item_controller__WEBPACK_IMPORTED_MODULE_1__.UploadItemCtrl;
1977 this.controllerAs = 'Upload';
1978 this.bindToController = true;
1983 UploadItem.$inject = [];
1988 /***/ "./src/lib/directives/upload-item/upload-view.controller.js":
1989 /*!******************************************************************!*\
1990 !*** ./src/lib/directives/upload-item/upload-view.controller.js ***!
1991 \******************************************************************/
1992 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1994 __webpack_require__.r(__webpack_exports__);
1995 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1996 /* harmony export */ "UploadViewCtrl": () => (/* binding */ UploadViewCtrl)
1997 /* harmony export */ });
1998 class UploadViewCtrl {
2001 * @param {ng.IScope} $scope
2002 * @param {import('../../utils/utils.service').Utils} Utils
2003 * @param {JQLite} $element
2005 constructor($scope, Utils, $element) {
2006 this.Scope = $scope;
2007 this.Element = $element;
2013 this.isMultiple = false;
2014 this.showAllowed = false;
2015 this.formItem = this.Utils.extend(this.formItem || {}, {
2018 uploadFileButtonLabel: 'Add files'
2023 if (this.isPreview()) {
2024 this._enableWatchers();
2029 this.isMultiple = !!this.formItem.config.multipleUpload;
2030 const input = angular.element(this.Element[0].querySelector('input[type=file]'));
2033 this.formItem.options = [];
2035 if (this.isMultiple) {
2036 input.attr('multiple', 'multiple');
2038 input.removeAttr('multiple');
2044 this.showAllowed = !!this.formItem.config.showAccept;
2045 const input = angular.element(this.Element[0].querySelector('input[type=file]'));
2048 if (this.showAllowed) {
2049 input[0].setAttribute('accept', this.formItem.config.accept);
2051 input[0].removeAttribute('accept');
2052 delete this.formItem.config.accept;
2058 this.Scope.$watch('UploadView.formItem.config.multipleUpload', newVal => {
2059 if (newVal !== undefined) {
2060 this._updateMultiple();
2063 this.Scope.$watch('UploadView.formItem.config.showAccept', newVal => {
2064 if (newVal !== undefined) {
2065 this._updateAccept();
2068 this.Scope.$watch('UploadView.formItem.config.accept', newVal => {
2069 if (newVal !== undefined) {
2070 this._updateAccept();
2076 this.formItem.options.splice(index, 1);
2081 UploadViewCtrl.$inject = ["$scope", "Utils", "$element"];
2086 /***/ "./src/lib/directives/upload-item/upload-view.directive.js":
2087 /*!*****************************************************************!*\
2088 !*** ./src/lib/directives/upload-item/upload-view.directive.js ***!
2089 \*****************************************************************/
2090 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2092 __webpack_require__.r(__webpack_exports__);
2093 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2094 /* harmony export */ "UploadView": () => (/* binding */ UploadView)
2095 /* harmony export */ });
2096 /* harmony import */ var _upload_view_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./upload-view.controller */ "./src/lib/directives/upload-item/upload-view.controller.js");
2097 /* harmony import */ var _upload_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upload-view.tpl.html */ "./src/lib/directives/upload-item/upload-view.tpl.html");
2100 const MB = 1024 * 1024;
2105 * @param {ng.ITimeoutService} $timeout
2107 constructor($timeout) {
2108 this.$timeout = $timeout;
2109 this.template = _upload_view_tpl_html__WEBPACK_IMPORTED_MODULE_1__["default"];
2110 this.restrict = 'E';
2116 this.controller = _upload_view_controller__WEBPACK_IMPORTED_MODULE_0__.UploadViewCtrl;
2117 this.controllerAs = 'UploadView';
2118 this.bindToController = true;
2121 * @see https://docs.angularjs.org/api/ng/service/$compile#-link-
2122 * @param {ng.IScope} scope - scope
2123 * @param {JQLite} element - element
2124 * @param {ng.IAttributes} attrs - attributes
2125 * @param {UploadViewCtrl} ctrl - this instance controller
2126 * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)
2130 link(scope, element, attrs, ctrl) {
2131 //this timeout is placed here in order to make sure that the creator directive of this view is finished its work
2132 this.$timeout(function () {
2135 const button = angular.element(element[0].querySelector('.upload-button'));
2136 const input = angular.element(element[0].querySelector('input[type=file]'));
2137 const label = angular.element(element[0].querySelector('label'));
2140 label.css('display', 'none');
2143 button.on('click', () => {
2144 label.css('display', 'none');
2145 typeof input.trigger === 'function' ? input.trigger('click') : input[0].click();
2147 input.on('change', e => {
2148 scope.$apply(function () {
2152 const files = Array.from(e.target.files); // Max allowed size in MB
2154 const maxSizeMB = ctrl.formItem.config.size * MB;
2155 const exceedsSize = files.some(file => file.size >= maxSizeMB);
2158 label.css('display', 'block');
2159 label.text(ctrl.formItem.config.sizeErrMessage);
2160 ctrl.formItem.options = [];
2162 ctrl.formItem.options = files.map(file => {
2182 UploadView.$inject = ["$timeout"];
2187 /***/ "./src/lib/main/main.controller.js":
2188 /*!*****************************************!*\
2189 !*** ./src/lib/main/main.controller.js ***!
2190 \*****************************************/
2191 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2193 __webpack_require__.r(__webpack_exports__);
2194 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2195 /* harmony export */ "MainController": () => (/* binding */ MainController)
2196 /* harmony export */ });
2198 * @typedef {{type:string}} Item
2199 * @typedef {{items: Item[]}} FormConfig
2201 class MainController {
2207 * @type {FormConfig}
2215 * @param {string} type
2220 this.form.items.push({
2225 * Remove item at index
2226 * @param {Item} item
2227 * @param {number} index
2231 delete(item, index) {
2232 this.form.items.splice(index, 1);
2235 * insert before (bounded)
2236 * Pops out latest element (wanted?)
2237 * @param {Item} item
2238 * @param {number} index
2244 const prevItem = this.form.items[index - 1];
2245 this.form.items[index] = prevItem;
2246 this.form.items[index - 1] = item;
2250 * insert after (bounded)
2251 * Pops out latest element (wanted?)
2252 * @param {Item} item
2253 * @param {number} index
2258 if (index !== this.form.items.length - 1) {
2259 const nextItem = this.form.items[index + 1];
2260 this.form.items[index] = nextItem;
2261 this.form.items[index + 1] = item;
2267 MainController.$inject = [];
2272 /***/ "./src/lib/utils/utils.service.js":
2273 /*!****************************************!*\
2274 !*** ./src/lib/utils/utils.service.js ***!
2275 \****************************************/
2276 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2278 __webpack_require__.r(__webpack_exports__);
2279 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2280 /* harmony export */ "Utils": () => (/* binding */ Utils)
2281 /* harmony export */ });
2284 * Recursively extend object properties
2285 * @param {Object} dest
2286 * @param {Object} src
2290 return Object.keys(src).reduce((result, key) => {
2291 if (typeof result[key] === 'undefined') {
2292 result[key] = src[key];
2293 } else if (typeof src[key] === 'object') {
2294 result[key] = this.extend(result[key], src[key]);
2298 }, typeof dest === 'undefined' ? {} : dest);
2307 /***/ "./src/lib/index.scss":
2308 /*!****************************!*\
2309 !*** ./src/lib/index.scss ***!
2310 \****************************/
2311 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2313 __webpack_require__.r(__webpack_exports__);
2314 // extracted by mini-css-extract-plugin
2319 /***/ "./src/lib/directives/agreement-item/agreement-view.tpl.html":
2320 /*!*******************************************************************!*\
2321 !*** ./src/lib/directives/agreement-item/agreement-view.tpl.html ***!
2322 \*******************************************************************/
2323 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2325 __webpack_require__.r(__webpack_exports__);
2326 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2327 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2328 /* harmony export */ });
2329 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container>\n <div\n layout=\"{{AgreementView.formItem.config.direction == 'horizontal' ? 'row' : 'columb'}}\"\n >\n <md-checkbox\n ng-model=\"AgreementView.formItem.options[0].selected\"\n ng-change=\"AgreementView.toggleSelectedOption(option)\"\n ng-disabled=\"AgreementView.disableOptions && !option.selected\"\n aria-label=\"...\"\n >{{AgreementView.formItem.options[0].value}}</md-checkbox\n >\n </div>\n\n <div ng-messages=\"AgreementView.form.$error\">\n <div ng-message=\"minSelections\">\n Must select {{AgreementView.formItem.maxSelections || 1}} items\n </div>\n </div>\n</md-input-container>\n");
2333 /***/ "./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html":
2334 /*!*********************************************************************!*\
2335 !*** ./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html ***!
2336 \*********************************************************************/
2337 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2339 __webpack_require__.r(__webpack_exports__);
2340 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2341 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2342 /* harmony export */ });
2343 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div\n class=\"sortable-container\"\n layout=\"column\"\n sv-root\n sv-part=\"Checkboxes.item.options\"\n>\n <md-input-container class=\"md-block\">\n <label>Max Selections</label>\n <input type=\"number\" ng-model=\"Checkboxes.item.config.maxSelections\" />\n </md-input-container>\n\n <md-switch\n ng-model=\"Checkboxes.item.config.direction\"\n ng-true-value=\"'horizontal'\"\n ng-false-value=\"'vertical'\"\n >\n Layout direction ({{Checkboxes.item.config.direction == 'horizontal' ?\n 'Horizontal' : 'Vertical'}})\n </md-switch>\n\n <div\n class=\"option-item\"\n layout=\"row\"\n ng-repeat=\"option in Checkboxes.item.options track by $index\"\n sv-element\n >\n <md-button\n class=\"md-button handle\"\n md-no-ink\n aria-label=\"reorder option item\"\n sv-handle\n >\n <md-icon class=\"material-icons\">reorder</md-icon>\n </md-button>\n\n <md-input-container class=\"md-block\">\n <label>Option {{$index + 1}}</label>\n <input ng-model=\"option.value\" />\n </md-input-container>\n\n <md-button class=\"md-button\" ng-click=\"Checkboxes.deleteOption($index)\">\n <md-icon class=\"material-icons\">delete</md-icon>\n </md-button>\n </div>\n <div layout=\"row\" layout-align=\"start\">\n <md-button\n class=\"md-primary add-option-button\"\n ng-click=\"Checkboxes.addOption()\"\n >\n <md-icon class=\"material-icons\">add</md-icon>\n </md-button>\n </div>\n</div>\n");
2347 /***/ "./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html":
2348 /*!*********************************************************************!*\
2349 !*** ./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html ***!
2350 \*********************************************************************/
2351 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2353 __webpack_require__.r(__webpack_exports__);
2354 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2355 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2356 /* harmony export */ });
2357 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container>\n <div\n layout=\"{{CheckboxesView.formItem.config.direction == 'horizontal' ? 'row' : 'column'}}\"\n >\n <md-checkbox\n ng-repeat=\"option in CheckboxesView.formItem.options track by $index\"\n ng-model=\"option.selected\"\n ng-change=\"CheckboxesView.toggleSelectedOption(option)\"\n ng-disabled=\"CheckboxesView.disableOptions && !option.selected\"\n aria-label=\"...\"\n >{{option.value}}</md-checkbox\n >\n </div>\n\n <div ng-messages=\"CheckboxesView.form.$error\">\n <div ng-message=\"minSelections\">\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\n </div>\n </div>\n</md-input-container>\n");
2361 /***/ "./src/lib/directives/form-item/form-item.tpl.html":
2362 /*!*********************************************************!*\
2363 !*** ./src/lib/directives/form-item/form-item.tpl.html ***!
2364 \*********************************************************/
2365 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2367 __webpack_require__.r(__webpack_exports__);
2368 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2369 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2370 /* harmony export */ });
2371 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div class=\"form-item-container md-inline-form\">\n <div class=\"form-item-actions\">\n <md-button\n class=\"md-button\"\n ng-if=\"FormItem.Attrs.onDelete\"\n ng-click=\"FormItem.deleteClicked()\"\n >\n <md-icon class=\"material-icons small\">delete</md-icon>\n </md-button>\n <md-button\n class=\"md-button\"\n ng-if=\"FormItem.Attrs.onUp\"\n ng-click=\"FormItem.onUp({item: FormItem.item, index: FormItem.index()})\"\n >\n <md-icon class=\"material-icons small\">arrow_drop_up</md-icon>\n </md-button>\n <md-button\n class=\"md-button\"\n ng-if=\"FormItem.Attrs.onDown\"\n ng-click=\"FormItem.onDown({item: FormItem.item, index: FormItem.index()})\"\n >\n <md-icon class=\"material-icons small\">arrow_drop_down</md-icon>\n </md-button>\n </div>\n\n <md-input-container ng-if=\"FormItem.item.type != 'label'\" class=\"md-block\">\n <label>Field Title</label>\n <input ng-model=\"FormItem.item.props.title\" />\n </md-input-container>\n\n <md-input-container ng-if=\"FormItem.item.type != 'label'\" class=\"md-block\">\n <label>Help Text</label>\n <input ng-model=\"FormItem.item.props.helpText\" />\n </md-input-container>\n\n <md-input-container\n ng-if=\"FormItem.item.type === 'agreement'\"\n class=\"md-block\"\n >\n <label>Option Text</label>\n <input ng-model=\"FormItem.item.options[0].value\" />\n </md-input-container>\n\n <div ng-switch=\"FormItem.item.type\">\n <upload-item ng-switch-when=\"upload\" item=\"FormItem.item\"></upload-item>\n <agreement-item\n ng-switch-when=\"agreement\"\n item=\"FormItem.item\"\n ></agreement-item>\n <label-item ng-switch-when=\"label\" item=\"FormItem.item\"></label-item>\n <input-item ng-switch-when=\"input\" item=\"FormItem.item\"></input-item>\n <radio-button-item\n ng-switch-when=\"multipleChoices\"\n item=\"FormItem.item\"\n ></radio-button-item>\n <matrix-item ng-switch-when=\"matrix\" item=\"FormItem.item\"></matrix-item>\n <checkboxes-item\n ng-switch-when=\"checkboxes\"\n item=\"FormItem.item\"\n ></checkboxes-item>\n <textarea-item\n ng-switch-when=\"textarea\"\n item=\"FormItem.item\"\n ></textarea-item>\n <select-item\n ng-switch-when=\"chooseFromList\"\n item=\"FormItem.item\"\n ></select-item>\n <p ng-switch-default>UNKNOWN TYPE</p>\n </div>\n\n <md-input-container\n ng-if=\"FormItem.item.type != 'label' && FormItem.item.type != 'upload'\"\n class=\"md-block\"\n >\n <md-checkbox ng-model=\"FormItem.item.config.required\"\n >Required field</md-checkbox\n >\n </md-input-container>\n</div>\n");
2375 /***/ "./src/lib/directives/form-items-container/form-items-container.tpl.html":
2376 /*!*******************************************************************************!*\
2377 !*** ./src/lib/directives/form-items-container/form-items-container.tpl.html ***!
2378 \*******************************************************************************/
2379 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2381 __webpack_require__.r(__webpack_exports__);
2382 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2383 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2384 /* harmony export */ });
2385 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div>\n <form-item\n ng-repeat=\"item in container.form.items track by $index\"\n type=\"{{item.type}}\"\n item=\"item\"\n index=\"$index\"\n on-delete=\"container.delete(item, index)\"\n on-up=\"container.up(item, index)\"\n on-down=\"container.down(item, index)\"\n >\n </form-item>\n</div>\n");
2389 /***/ "./src/lib/directives/form-view/form-view.tpl.html":
2390 /*!*********************************************************!*\
2391 !*** ./src/lib/directives/form-view/form-view.tpl.html ***!
2392 \*********************************************************/
2393 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2395 __webpack_require__.r(__webpack_exports__);
2396 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2397 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2398 /* harmony export */ });
2399 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div class=\"md-inline-form\">\n <div\n class=\"formItem\"\n ng-repeat=\"formItem in FormView.form.items track by $index\"\n ng-switch=\"formItem.type\"\n layout=\"column\"\n >\n <ng-form name=\"formItemForm\">\n <div>\n <div class=\"formItem-title\" ng-show=\"formItem.type !== 'label'\">{{formItem.props.title}}</div>\n <div class=\"formItem-help-text\">{{formItem.props.helpText}}</div>\n\n <upload-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"upload\"\n ></upload-view>\n <agreement-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"agreement\"\n ></agreement-view>\n <checkboxes-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"checkboxes\"\n ></checkboxes-view>\n <radio-button-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"multipleChoices\"\n ></radio-button-view>\n <input-view\n form-item=\"formItem\"\n form=\"formItemForm\"\n ng-switch-when=\"input\"\n ></input-view>\n <textarea-view\n form-item=\"formItem\"\n form=\"formItemForm\"\n ng-switch-when=\"textarea\"\n ></textarea-view>\n <matrix-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"matrix\"\n ></matrix-view>\n <select-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"chooseFromList\"\n ></select-view>\n <label-view\n form-item=\"formItem\"\n is-preview=\"true\"\n form=\"formItemForm\"\n ng-switch-when=\"label\"\n ></label-view>\n </div>\n </ng-form>\n </div>\n</div>\n");
2403 /***/ "./src/lib/directives/input-item/input-item.tpl.html":
2404 /*!***********************************************************!*\
2405 !*** ./src/lib/directives/input-item/input-item.tpl.html ***!
2406 \***********************************************************/
2407 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2409 __webpack_require__.r(__webpack_exports__);
2410 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2411 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2412 /* harmony export */ });
2413 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <label>Placeholder</label>\n <input type=\"text\" ng-model=\"Input.item.config.placeholder\" />\n</md-input-container>\n<md-input-container class=\"md-block\">\n <label>Type</label>\n <md-select ng-model=\"Input.item.config.type\">\n <md-option value=\"text\">Text</md-option>\n <md-option value=\"number\">Number</md-option>\n <md-option value=\"email\">Email</md-option>\n </md-select>\n</md-input-container>\n");
2417 /***/ "./src/lib/directives/input-item/input-view.tpl.html":
2418 /*!***********************************************************!*\
2419 !*** ./src/lib/directives/input-item/input-view.tpl.html ***!
2420 \***********************************************************/
2421 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2423 __webpack_require__.r(__webpack_exports__);
2424 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2425 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2426 /* harmony export */ });
2427 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <input\n ng-model=\"InputView.formItem.value\"\n type=\"{{InputView.formItem.config.type}}\"\n placeholder=\"{{InputView.formItem.config.placeholder}}\"\n ng-required=\"InputView.formItem.config.required\"\n />\n <div ng-messages=\"InputView.form.$error\">\n <div ng-message=\"required\">This field is required</div>\n </div>\n</md-input-container>\n");
2431 /***/ "./src/lib/directives/label-item/label-item.tpl.html":
2432 /*!***********************************************************!*\
2433 !*** ./src/lib/directives/label-item/label-item.tpl.html ***!
2434 \***********************************************************/
2435 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2437 __webpack_require__.r(__webpack_exports__);
2438 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2439 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2440 /* harmony export */ });
2441 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <label>Text</label>\n <textarea ng-model=\"Label.item.value\" md-maxlength=\"150\" rows=\"5\"></textarea>\n</md-input-container>\n");
2445 /***/ "./src/lib/directives/label-item/label-view.tpl.html":
2446 /*!***********************************************************!*\
2447 !*** ./src/lib/directives/label-item/label-view.tpl.html ***!
2448 \***********************************************************/
2449 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2451 __webpack_require__.r(__webpack_exports__);
2452 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2453 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2454 /* harmony export */ });
2455 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <md-content flex layout-padding layout=\"row\" layout-align=\"center center\">\n <pre>\n \n <span class=\"formItem-content\" ng-bind-html=\"LabelView.sanitizedTitle\"></span>\n </pre>\n </md-content>\n</md-input-container>\n");
2459 /***/ "./src/lib/directives/matrix-item/matrix-item.tpl.html":
2460 /*!*************************************************************!*\
2461 !*** ./src/lib/directives/matrix-item/matrix-item.tpl.html ***!
2462 \*************************************************************/
2463 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2465 __webpack_require__.r(__webpack_exports__);
2466 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2467 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2468 /* harmony export */ });
2469 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div\n class=\"sortable-container columnContainer\"\n layout=\"column\"\n sv-root\n sv-part=\"Matrix.item.config.columns\"\n>\n <div\n class=\"option-item\"\n layout=\"row\"\n ng-repeat=\"column in Matrix.item.config.columns track by $index\"\n sv-element\n >\n <md-button\n class=\"md-button handle\"\n md-no-ink\n aria-label=\"reorder option item\"\n sv-handle\n >\n <md-icon class=\"material-icons\">reorder</md-icon>\n </md-button>\n\n <md-input-container class=\"input-container\">\n <label>Column {{$index + 1}}</label>\n <input ng-model=\"column.value\" />\n </md-input-container>\n\n <md-button\n class=\"md-button\"\n md-no-ink\n aria-label=\"delete column item\"\n ng-click=\"Matrix.deleteColumn($index)\"\n >\n <md-icon class=\"material-icons\">delete</md-icon>\n <md-tooltip md-autohide=\"true\">Delete</md-tooltip>\n </md-button>\n </div>\n <div layout=\"row\" layout-align=\"start\">\n <md-button\n class=\"md-primary add-option-button\"\n md-no-ink\n aria-label=\"add option item\"\n ng-click=\"Matrix.addColumn()\"\n >Add Column</md-button\n >\n </div>\n</div>\n\n<div\n class=\"sortable-container rowContainer\"\n layout=\"column\"\n sv-root\n sv-part=\"Matrix.item.config.rows\"\n>\n <div\n class=\"option-item\"\n layout=\"row\"\n ng-repeat=\"row in Matrix.item.config.rows track by $index\"\n sv-element\n >\n <md-button\n class=\"md-button handle\"\n md-no-ink\n aria-label=\"reorder row item\"\n sv-handle\n >\n <md-icon class=\"material-icons\">reorder</md-icon>\n </md-button>\n\n <md-input-container class=\"input-container\">\n <label>Row {{$index + 1}}</label>\n <input ng-model=\"row.value\" />\n </md-input-container>\n\n <md-button\n class=\"md-button\"\n md-no-ink\n aria-label=\"delete row item\"\n ng-click=\"Matrix.deleteRow($index)\"\n >\n <md-icon class=\"material-icons\">delete</md-icon>\n <md-tooltip md-autohide=\"true\">Delete</md-tooltip>\n </md-button>\n </div>\n <div layout=\"row\" layout-align=\"start\">\n <md-button\n class=\"md-primary add-option-button\"\n md-no-ink\n aria-label=\"add row item\"\n ng-click=\"Matrix.addRow()\"\n >Add row</md-button\n >\n </div>\n</div>\n");
2473 /***/ "./src/lib/directives/matrix-item/matrix-view.tpl.html":
2474 /*!*************************************************************!*\
2475 !*** ./src/lib/directives/matrix-item/matrix-view.tpl.html ***!
2476 \*************************************************************/
2477 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2479 __webpack_require__.r(__webpack_exports__);
2480 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2481 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2482 /* harmony export */ });
2483 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"matrix-container md-block\" layout=\"column\">\n <div class=\"matrix\">\n <div class=\"matrix-row\" flex layout=\"row\">\n <span class=\"matrix-cell\" flex=\"20\"></span>\n <span\n class=\"matrix-cell matrix-cell-header\"\n flex\n ng-repeat=\"column in MatrixView.formItem.config.columns track by $index\"\n >{{column.value}}</span\n >\n </div>\n <div\n class=\"matrix-row\"\n ng-repeat=\"row in MatrixView.formItem.config.rows track by $index\"\n layout=\"row\"\n >\n <span class=\"matrix-cell\" flex=\"20\" layout=\"column\" layout-align=\"center\"\n >{{row.value}}</span\n >\n <md-radio-group\n ng-model=\"row.selected\"\n ng-change=\"MatrixView._updateValidity()\"\n flex\n layout=\"row\"\n >\n <span\n class=\"matrix-cell radio-button-cell\"\n flex\n ng-repeat=\"column in MatrixView.formItem.config.columns track by $index\"\n >\n <md-radio-button\n value=\"{{column.value}}\"\n aria-label=\"...\"\n ></md-radio-button>\n </span>\n </md-radio-group>\n </div>\n </div>\n\n <div ng-messages=\"MatrixView.form.$error\">\n <div ng-message=\"required\">This is required</div>\n </div>\n</md-input-container>\n");
2487 /***/ "./src/lib/directives/radio-button-item/radio-button-item.tpl.html":
2488 /*!*************************************************************************!*\
2489 !*** ./src/lib/directives/radio-button-item/radio-button-item.tpl.html ***!
2490 \*************************************************************************/
2491 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2493 __webpack_require__.r(__webpack_exports__);
2494 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2495 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2496 /* harmony export */ });
2497 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div\n class=\"sortable-container\"\n layout=\"column\"\n sv-root\n sv-part=\"RadioButton.item.options\"\n>\n <md-switch\n ng-model=\"RadioButton.item.config.direction\"\n ng-true-value=\"'horizontal'\"\n ng-false-value=\"'vertical'\"\n >\n Layout direction ({{RadioButton.item.config.direction == 'horizontal' ?\n 'Horizontal' : 'Vertical'}})\n </md-switch>\n\n <div\n class=\"option-item\"\n layout=\"row\"\n ng-repeat=\"option in RadioButton.item.options track by $index\"\n sv-element\n >\n <md-button\n class=\"md-button handle\"\n md-no-ink\n aria-label=\"reorder option item\"\n sv-handle\n >\n <md-icon class=\"material-icons\">reorder</md-icon>\n </md-button>\n\n <md-input-container class=\"md-block\">\n <label>Option {{$index + 1}}</label>\n <input ng-model=\"option.value\" />\n </md-input-container>\n\n <md-button\n class=\"md-button md-warn\"\n ng-click=\"RadioButton.deleteOption($index)\"\n >\n <md-icon class=\"material-icons\">delete</md-icon>\n </md-button>\n </div>\n\n <md-button class=\"md-raised md-accent\" ng-click=\"RadioButton.addOption()\"\n >Add Option</md-button\n >\n</div>\n");
2501 /***/ "./src/lib/directives/radio-button-item/radio-button-view.tpl.html":
2502 /*!*************************************************************************!*\
2503 !*** ./src/lib/directives/radio-button-item/radio-button-view.tpl.html ***!
2504 \*************************************************************************/
2505 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2507 __webpack_require__.r(__webpack_exports__);
2508 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2509 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2510 /* harmony export */ });
2511 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <md-radio-group\n name=\"formItemInput\"\n ng-required=\"RadioButtonView.formItem.config.required\"\n ng-model=\"RadioButtonView.formItem.value\"\n layout=\"{{RadioButtonView.formItem.config.direction == 'horizontal' ? 'row' : 'column'}}\"\n required\n >\n <md-radio-button\n ng-repeat=\"option in RadioButtonView.formItem.options track by $index\"\n value=\"{{option.value}}\"\n aria-label=\"...\"\n >\n {{option.value}}\n </md-radio-button>\n </md-radio-group>\n\n <div ng-messages=\"RadioButtonView.form.$error\">\n <div ng-message=\"required\">This field is required</div>\n </div>\n</md-input-container>\n");
2515 /***/ "./src/lib/directives/select-item/select-item.tpl.html":
2516 /*!*************************************************************!*\
2517 !*** ./src/lib/directives/select-item/select-item.tpl.html ***!
2518 \*************************************************************/
2519 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2521 __webpack_require__.r(__webpack_exports__);
2522 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2523 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2524 /* harmony export */ });
2525 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div\n class=\"sortable-container\"\n layout=\"column\"\n sv-root\n sv-part=\"Select.item.options\"\n>\n <div\n class=\"option-item\"\n layout=\"row\"\n ng-repeat=\"option in Select.item.options track by $index\"\n sv-element\n >\n <md-button\n class=\"md-button handle\"\n md-no-ink\n aria-label=\"reorder option item\"\n sv-handle\n >\n <md-icon class=\"material-icons\">reorder</md-icon>\n </md-button>\n\n <md-input-container class=\"md-block\">\n <label>Option {{$index + 1}}</label>\n <input ng-model=\"option.value\" />\n </md-input-container>\n\n <md-button class=\"md-button md-warn\" ng-click=\"Select.deleteOption($index)\">\n <md-icon class=\"material-icons\">delete</md-icon>\n </md-button>\n </div>\n\n <md-button class=\"md-raised md-accent\" ng-click=\"Select.addOption()\"\n >Add Option</md-button\n >\n</div>\n");
2529 /***/ "./src/lib/directives/select-item/select-view.tpl.html":
2530 /*!*************************************************************!*\
2531 !*** ./src/lib/directives/select-item/select-view.tpl.html ***!
2532 \*************************************************************/
2533 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2535 __webpack_require__.r(__webpack_exports__);
2536 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2537 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2538 /* harmony export */ });
2539 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <md-select\n name=\"formItemInput\"\n ng-required=\"SelectView.formItem.config.required\"\n ng-model=\"SelectView.formItem.value\"\n >\n <md-option\n ng-repeat=\"option in SelectView.formItem.options track by $index\"\n ng-value=\"option.value\"\n >{{ option.value }}</md-option\n >\n </md-select>\n <div ng-messages=\"SelectView.form.$error\">\n <div ng-message=\"required\">This field is required</div>\n </div>\n</md-input-container>\n");
2543 /***/ "./src/lib/directives/textarea-item/textarea-item.tpl.html":
2544 /*!*****************************************************************!*\
2545 !*** ./src/lib/directives/textarea-item/textarea-item.tpl.html ***!
2546 \*****************************************************************/
2547 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2549 __webpack_require__.r(__webpack_exports__);
2550 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2551 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2552 /* harmony export */ });
2553 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <label>Placeholder</label>\n <input type=\"text\" ng-model=\"Textarea.item.config.placeholder\" />\n</md-input-container>\n");
2557 /***/ "./src/lib/directives/textarea-item/textarea-view.tpl.html":
2558 /*!*****************************************************************!*\
2559 !*** ./src/lib/directives/textarea-item/textarea-view.tpl.html ***!
2560 \*****************************************************************/
2561 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2563 __webpack_require__.r(__webpack_exports__);
2564 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2565 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2566 /* harmony export */ });
2567 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<md-input-container class=\"md-block\">\n <textarea\n ng-model=\"TextareaView.formItem.value\"\n placeholder=\"{{TextareaView.formItem.config.placeholder}}\"\n ng-required=\"TextareaView.formItem.config.required\"\n ></textarea>\n <div ng-messages=\"TextareaView.form.$error\">\n <div ng-message=\"required\">This field is required</div>\n </div>\n</md-input-container>\n");
2571 /***/ "./src/lib/directives/upload-item/upload-item.tpl.html":
2572 /*!*************************************************************!*\
2573 !*** ./src/lib/directives/upload-item/upload-item.tpl.html ***!
2574 \*************************************************************/
2575 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2577 __webpack_require__.r(__webpack_exports__);
2578 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2579 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2580 /* harmony export */ });
2581 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div\n class=\"sortable-container\"\n layout=\"column\"\n sv-root\n sv-part=\"Upload.item.options\"\n>\n <md-input-container class=\"md-block\">\n <label>Upload Button label</label>\n <input ng-model=\"Upload.item.config.uploadFileButtonLabel\" />\n </md-input-container>\n\n <md-switch\n ng-model=\"Upload.item.config.multipleUpload\"\n ng-true-value=\"true\"\n ng-false-value=\"false\"\n >\n Multiple\n </md-switch>\n\n <md-input-container class=\"md-block\">\n <span>Max File size: {{Upload.item.config.size}} Mb</span>\n <input\n type=\"number\"\n id=\"size\"\n name=\"size\"\n min=\"0.1\"\n max=\"999\"\n step=\"0.1\"\n aria-label=\"size\"\n ng-model=\"Upload.item.config.size\"\n />\n </md-input-container>\n\n <md-input-container class=\"md-block\">\n <label>Max file size error message</label>\n <textarea\n ng-model=\"Upload.item.config.sizeErrMessage\"\n md-maxlength=\"150\"\n rows=\"2\"\n ></textarea>\n </md-input-container>\n\n <md-switch\n ng-model=\"Upload.item.config.showAccept\"\n ng-true-value=\"true\"\n ng-false-value=\"false\"\n >\n Configure allowed file types\n </md-switch>\n\n <md-input-container class=\"md-block\" ng-if=\"Upload.item.config.showAccept\">\n <label>Allowed Types</label>\n <textarea\n ng-model=\"Upload.item.config.accept\"\n md-maxlength=\"150\"\n rows=\"2\"\n ></textarea>\n </md-input-container>\n</div>\n");
2585 /***/ "./src/lib/directives/upload-item/upload-view.tpl.html":
2586 /*!*************************************************************!*\
2587 !*** ./src/lib/directives/upload-item/upload-view.tpl.html ***!
2588 \*************************************************************/
2589 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2591 __webpack_require__.r(__webpack_exports__);
2592 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2593 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2594 /* harmony export */ });
2595 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("<div layout=\"row\" class=\"option-item upload-item\">\n <md-input-container class=\"md-block\" style=\"margin: 0\">\n <input type=\"file\" class=\"ng-hide\" aria-label=\"file\" />\n <md-input-container flex class=\"md-block\">\n <input\n type=\"text\"\n ng-model=\"fileName\"\n class=\"ng-hide\"\n disabled\n aria-label=\"fileName\"\n />\n </md-input-container>\n </md-input-container>\n\n <md-button class=\"md-raised md-accent upload-button\"\n ><md-icon class=\"material-icons\">attach_file</md-icon\n ><span\n >{{UploadView.formItem.config.uploadFileButtonLabel}}</span\n ></md-button\n >\n</div>\n\n<div>\n <label></label>\n <div\n style=\"display: grid; grid-template-columns: 8em auto; align-items: center\"\n layout=\"row\"\n ng-repeat=\"option in UploadView.formItem.options track by $index\"\n >\n <md-button ng-click=\"UploadView.removeItem($index)\" class=\"md-icon-button\">\n <md-icon class=\"material-icons\">close</md-icon>\n </md-button>\n <span>{{option.name}}</span>\n </div>\n</div>\n");
2600 /************************************************************************/
2601 /******/ // The module cache
2602 /******/ var __webpack_module_cache__ = {};
2604 /******/ // The require function
2605 /******/ function __webpack_require__(moduleId) {
2606 /******/ // Check if module is in cache
2607 /******/ var cachedModule = __webpack_module_cache__[moduleId];
2608 /******/ if (cachedModule !== undefined) {
2609 /******/ return cachedModule.exports;
2611 /******/ // Create a new module (and put it into the cache)
2612 /******/ var module = __webpack_module_cache__[moduleId] = {
2613 /******/ // no module.id needed
2614 /******/ // no module.loaded needed
2615 /******/ exports: {}
2618 /******/ // Execute the module function
2619 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
2621 /******/ // Return the exports of the module
2622 /******/ return module.exports;
2625 /************************************************************************/
2626 /******/ /* webpack/runtime/define property getters */
2628 /******/ // define getter functions for harmony exports
2629 /******/ __webpack_require__.d = (exports, definition) => {
2630 /******/ for(var key in definition) {
2631 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2632 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2638 /******/ /* webpack/runtime/hasOwnProperty shorthand */
2640 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
2643 /******/ /* webpack/runtime/make namespace object */
2645 /******/ // define __esModule on exports
2646 /******/ __webpack_require__.r = (exports) => {
2647 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2648 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2650 /******/ Object.defineProperty(exports, '__esModule', { value: true });
2654 /************************************************************************/
2655 var __webpack_exports__ = {};
2656 // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
2658 /*!*********************************!*\
2659 !*** ./src/lib/index.module.js ***!
2660 \*********************************/
2661 __webpack_require__.r(__webpack_exports__);
2662 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2663 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2664 /* harmony export */ });
2665 /* harmony import */ var _index_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.scss */ "./src/lib/index.scss");
2666 /* harmony import */ var _directives_upload_item_upload_item_directive__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./directives/upload-item/upload-item.directive */ "./src/lib/directives/upload-item/upload-item.directive.js");
2667 /* harmony import */ var _directives_upload_item_upload_view_directive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./directives/upload-item/upload-view.directive */ "./src/lib/directives/upload-item/upload-view.directive.js");
2668 /* harmony import */ var _directives_agreement_item_agreement_item_directive__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./directives/agreement-item/agreement-item.directive */ "./src/lib/directives/agreement-item/agreement-item.directive.js");
2669 /* harmony import */ var _directives_agreement_item_agreement_view_directive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./directives/agreement-item/agreement-view.directive */ "./src/lib/directives/agreement-item/agreement-view.directive.js");
2670 /* harmony import */ var _main_main_controller__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./main/main.controller */ "./src/lib/main/main.controller.js");
2671 /* harmony import */ var _utils_utils_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/utils.service */ "./src/lib/utils/utils.service.js");
2672 /* harmony import */ var _directives_checkboxes_item_checkboxes_item_directive__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./directives/checkboxes-item/checkboxes-item.directive */ "./src/lib/directives/checkboxes-item/checkboxes-item.directive.js");
2673 /* harmony import */ var _directives_checkboxes_item_checkboxes_view_directive__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./directives/checkboxes-item/checkboxes-view.directive */ "./src/lib/directives/checkboxes-item/checkboxes-view.directive.js");
2674 /* harmony import */ var _directives_form_item_form_item_directive__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./directives/form-item/form-item.directive */ "./src/lib/directives/form-item/form-item.directive.js");
2675 /* harmony import */ var _directives_form_items_container_form_items_container_directive__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./directives/form-items-container/form-items-container.directive */ "./src/lib/directives/form-items-container/form-items-container.directive.js");
2676 /* harmony import */ var _directives_form_view_form_view_directive__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./directives/form-view/form-view.directive */ "./src/lib/directives/form-view/form-view.directive.js");
2677 /* harmony import */ var _directives_input_item_input_item_directive__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./directives/input-item/input-item.directive */ "./src/lib/directives/input-item/input-item.directive.js");
2678 /* harmony import */ var _directives_input_item_input_view_directive__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./directives/input-item/input-view.directive */ "./src/lib/directives/input-item/input-view.directive.js");
2679 /* harmony import */ var _directives_label_item_label_item_directive__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./directives/label-item/label-item.directive */ "./src/lib/directives/label-item/label-item.directive.js");
2680 /* harmony import */ var _directives_label_item_label_view_directive__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./directives/label-item/label-view.directive */ "./src/lib/directives/label-item/label-view.directive.js");
2681 /* harmony import */ var _directives_matrix_item_matrix_item_directive__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./directives/matrix-item/matrix-item.directive */ "./src/lib/directives/matrix-item/matrix-item.directive.js");
2682 /* harmony import */ var _directives_matrix_item_matrix_view_directive__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./directives/matrix-item/matrix-view.directive */ "./src/lib/directives/matrix-item/matrix-view.directive.js");
2683 /* harmony import */ var _directives_radio_button_item_radio_button_item_directive__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./directives/radio-button-item/radio-button-item.directive */ "./src/lib/directives/radio-button-item/radio-button-item.directive.js");
2684 /* harmony import */ var _directives_radio_button_item_radio_button_view_directive__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./directives/radio-button-item/radio-button-view.directive */ "./src/lib/directives/radio-button-item/radio-button-view.directive.js");
2685 /* harmony import */ var _directives_select_item_select_view_directive__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./directives/select-item/select-view.directive */ "./src/lib/directives/select-item/select-view.directive.js");
2686 /* harmony import */ var _directives_select_item_select_item_directive__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./directives/select-item/select-item.directive */ "./src/lib/directives/select-item/select-item.directive.js");
2687 /* harmony import */ var _directives_textarea_item_textarea_item_directive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./directives/textarea-item/textarea-item.directive */ "./src/lib/directives/textarea-item/textarea-item.directive.js");
2688 /* harmony import */ var _directives_textarea_item_textarea_view_directive__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./directives/textarea-item/textarea-view.directive */ "./src/lib/directives/textarea-item/textarea-view.directive.js");
2713 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (angular.module('angularMaterialFormBuilder', ['ngMaterial', 'angular-sortable-view', 'ngMessages']).service('Utils', _utils_utils_service__WEBPACK_IMPORTED_MODULE_6__.Utils).controller('MainController', _main_main_controller__WEBPACK_IMPORTED_MODULE_5__.MainController).directive('uploadItem', _directives_upload_item_upload_item_directive__WEBPACK_IMPORTED_MODULE_1__.UploadItem).directive('uploadView', _directives_upload_item_upload_view_directive__WEBPACK_IMPORTED_MODULE_2__.UploadView).directive('agreementItem', _directives_agreement_item_agreement_item_directive__WEBPACK_IMPORTED_MODULE_3__.AgreementItem).directive('agreementView', _directives_agreement_item_agreement_view_directive__WEBPACK_IMPORTED_MODULE_4__.AgreementView).directive('checkboxesItem', _directives_checkboxes_item_checkboxes_item_directive__WEBPACK_IMPORTED_MODULE_7__.CheckboxesItem).directive('checkboxesView', _directives_checkboxes_item_checkboxes_view_directive__WEBPACK_IMPORTED_MODULE_8__.CheckboxesView).directive('formItem', _directives_form_item_form_item_directive__WEBPACK_IMPORTED_MODULE_9__.FormItem).directive('formItemsContainer', _directives_form_items_container_form_items_container_directive__WEBPACK_IMPORTED_MODULE_10__.FormItemsContainer).directive('formView', _directives_form_view_form_view_directive__WEBPACK_IMPORTED_MODULE_11__.FormView).directive('inputItem', _directives_input_item_input_item_directive__WEBPACK_IMPORTED_MODULE_12__.InputItem).directive('inputView', _directives_input_item_input_view_directive__WEBPACK_IMPORTED_MODULE_13__.InputView).directive('labelItem', _directives_label_item_label_item_directive__WEBPACK_IMPORTED_MODULE_14__.LabelItem).directive('labelView', _directives_label_item_label_view_directive__WEBPACK_IMPORTED_MODULE_15__.LabelView).directive('matrixItem', _directives_matrix_item_matrix_item_directive__WEBPACK_IMPORTED_MODULE_16__.MatrixItem).directive('matrixView', _directives_matrix_item_matrix_view_directive__WEBPACK_IMPORTED_MODULE_17__.MatrixView).directive('radioButtonItem', _directives_radio_button_item_radio_button_item_directive__WEBPACK_IMPORTED_MODULE_18__.RadioButtonItem).directive('radioButtonView', _directives_radio_button_item_radio_button_view_directive__WEBPACK_IMPORTED_MODULE_19__.RadioButtonView).directive('selectItem', _directives_select_item_select_item_directive__WEBPACK_IMPORTED_MODULE_21__.SelectItem).directive('selectView', _directives_select_item_select_view_directive__WEBPACK_IMPORTED_MODULE_20__.SelectView).directive('textareaItem', _directives_textarea_item_textarea_item_directive__WEBPACK_IMPORTED_MODULE_22__.TextareaItem).directive('textareaView', _directives_textarea_item_textarea_view_directive__WEBPACK_IMPORTED_MODULE_23__.TextareaView));
2716 /******/ return __webpack_exports__;
2720 //# sourceMappingURL=angular-material-form-builder.js.map