angular-farol-components
Version:
Farol Components for AngularJS
1 lines • 68.9 kB
JavaScript
"use strict";function _typeof(n){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function n(e){return typeof e}:function n(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(n)}function asyncGeneratorStep(n,e,t,i,l,d,o){try{var r=n[d](o),m=r.value}catch(n){return void t(n)}r.done?e(m):Promise.resolve(m).then(i,l)}function _asyncToGenerator(n){return function(){var e=this,t=arguments;return new Promise(function(i,l){var d=n.apply(e,t);function o(n){asyncGeneratorStep(d,i,l,o,r,"next",n)}function r(n){asyncGeneratorStep(d,i,l,o,r,"throw",n)}o(void 0)})}}!function(n,e){if("function"==typeof define&&define.amd)define(["angular"],e);else{if("undefined"==typeof module||"object"!==_typeof(module.exports))return e(angular);module.exports=e(require("angular"))}}(void 0,function(n){var e="FarolComponents";return n.module(e,[]),e}),angular.module("FarolComponents").directive("frlSrc",["FarolSDK",function(n){return{link:function e(t,i,l){var d=l.frlSrc.split(";"),o=0,r=l.frlSrcExt||"png",m=!1,a=l.frlReload;void 0!==a&&t.$watch(a,function(n,e){!0===n&&(a=!1,f())});var c=function n(e,t){if(!m)if(200===e){var i=new Uint8Array(t),a="",c,s,p,v=5e3;for(c=0,s=i.length;c<s;c+=5e3)p=i.subarray(c,c+5e3),a+=String.fromCharCode.apply(null,p);var u=btoa(a);l.$set("src","data:image/"+r+";base64,"+u)}else 404===e&&o<d.length-1&&(o++,f())},f=function e(){var t=d[o].split(","),i={format:r},l=new n.Admin.File;n.authorization?l.download(t[0],t[1],t[2],i,c):l.publicDownload(t[0],t[1],i,c)};f(),"function"==typeof t.$on&&t.$on("$destroy",function(){return m=!0})},restrict:"A"}}]),angular.module("FarolComponents").component("frlAvatar",{bindings:{class:"@",size:"=?",userId:"=",userName:"="},controller:"frlAvatarController",controllerAs:"vmdr",template:'<div\n style="width: {{ vmdr.size }}px; min-width: {{ vmdr.size }}px; height: {{\n vmdr.size\n }}px; line-height: {{ vmdr.size }}px;"\n>\n <img\n class="avatar"\n style="width: {{ vmdr.size }}px; min-width: {{ vmdr.size }}px; height: {{\n vmdr.size\n }}px; line-height: {{ vmdr.size }}px;"\n src="https://ui-avatars.com/api/?name={{\n vmdr.userName\n }}&background=777E86&color=ffffff&size={{ vmdr.size }}"\n frl-src="bas_user,{{ vmdr.userId }},avatar"\n ng-if="vmdr.reload"\n />\n</div>\n'}),angular.module("FarolComponents").controller("frlAvatarController",["$rootScope","$scope","$timeout",function(n,e,t){var i=this;i.$onInit=function(){i.reload=!0,i.size=i.size||36},n.$on("refreshAvatar",function(){i.reload=!1,t(function(){return i.reload=!0},500)})}]),angular.module("FarolComponents").component("frlDataRower",{bindings:{baseModel:"=frlBaseModel",model:"=frlModel",modelPath:"@frlModelPath",fieldName:"@frlFieldname",childrenDefinitions:"<?frlChildrendefinitions",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",minLength:"<?frlMinlength",maxLength:"<?frlMaxlength",initialValue:"<?frlInitialvalue",itemNameField:"@?frlItemnamefield",itemOrderField:"@?frlItemorderfield"},controller:"FrlDataRower",controllerAs:"vmcpt",template:'<div ng-switch="vmcpt.loaded" class="frl-data-rower md-padding">\n <div ng-form="vmcpt.dataRowerForm" ng-switch-when="true">\n <div>\n <span class="md-title">\n {{ vmcpt.fieldName || \'ITEMS\' | translate }}\n </span>\n <span>\n <md-tooltip md-direction="right">{{\n \'ADDITEM\' | translate\n }}</md-tooltip>\n <md-button\n type="button"\n class="md-primary"\n aria-label="Add"\n ng-click="vmcpt.addItem()"\n >\n <md-icon md-svg-icon="baseline-add_box-24px.svg"></md-icon>\n </md-button>\n </span>\n </div>\n <div class="hint" ng-if="vmdr.hint" translate="{{ vmdr.hint }}"></div>\n <div ng-if="vmcpt.model.length > 0">\n <div\n ng-repeat="childModel in vmcpt.model | orderBy: vmcpt.getChildOrder track by childModel._id"\n ng-form="{{ \'vmcpt.form\' + childModel._id }}"\n >\n <md-content>\n <div>\n <span class="md-subhead">\n {{ vmcpt.getChildName(childModel, $index) }}\n </span>\n <span>\n <md-tooltip md-direction="right">{{\n \'DELETE\' | translate\n }}</md-tooltip>\n <md-button\n type="button"\n class="md-primary"\n aria-label="Delete"\n ng-click="vmcpt.deleteItem(childModel._id)"\n >\n <md-icon md-svg-icon="baseline-delete-24px.svg"></md-icon>\n </md-button>\n </span>\n </div>\n <div>\n <md-content class="md-padding">\n <frl-field-router\n frl-model="childModel"\n frl-base-model="vmcpt.baseModel"\n frl-model-path="{{\n vmcpt.modelPath.concat + \'._id:\' + childModel._id\n }}"\n frl-field-definitions="vmcpt.childrenDefinitions"\n ></frl-field-router>\n </md-content>\n </div>\n </md-content>\n </div>\n </div>\n <div ng-if="vmcpt.model.length === 0">\n {{ \'NOITEMS\' | translate }}\n </div>\n </div>\n <div ng-switch-when="undefined" class="loading-animation">\n {{ \'LOADING\' | translate }}\n </div>\n <div ng-switch-when="false" class="load-failled">\n {{ \'LOADINGFAILLED\' | translate }}\n </div>\n</div>\n'}),function(){function n(n,e,t,i){var l=this;l.$onInit=function(){var n=t.showLoading(!0);l.model=l.model||[],Array.isArray(l.model)?(l.model.forEach(d),l.loaded=!0):l.loaded=!1,t.hideLoading(n)},l.addItem=function(){var n=t.showLoading(!0),e=d({});l.model.push(e),t.hideLoading(n)},l.deleteItem=function(n){var e=t.showLoading(!0);l.model.splice(l.model.findIndex(function(e){return e._id===n}),1),t.hideLoading(e)},l.getChildOrder=function(n){return e.getProperty(l.itemOrderField||l.itemNameField||"_id",n)},l.getChildName=function(t,i){return l.itemNameField?e.getProperty(l.itemNameField,t)||n.instant("NONAME"):n.instant("ITEM")+" "+i};var d=function n(e){return e._id=e._id||i.getString(),e}}n.$inject=["$translate","ObjectQueryService","LoadingSplashService","ObjectIdService"],angular.module("FarolComponents").controller("FrlDataRower",n)}(),angular.module("FarolComponents").component("frlDataTabber",{bindings:{baseModel:"=frlBaseModel",model:"=frlModel",modelPath:"@frlModelPath",fieldName:"@frlFieldname",childrenDefinitions:"<?frlChildrendefinitions",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",minLength:"<?frlMinlength",maxLength:"<?frlMaxlength",initialValue:"<?frlInitialvalue",itemNameField:"@?frlItemnamefield",itemOrderField:"@?frlItemorderfield",wrapAround:"<?frlWraparound"},controller:"FrlDataTabber",controllerAs:"vmcpt",template:'<div ng-switch="vmcpt.loaded" class="frl-data-tabber md-padding">\n <div\n ng-class="{wraparound: vmcpt.wrapAround}"\n ng-form="vmcpt.dataTabberForm"\n ng-switch-when="true"\n >\n <div>\n <span class="md-title">\n {{ vmcpt.fieldName || \'ITEMS\' | translate }}\n </span>\n <span>\n <md-tooltip md-direction="right">{{\n \'ADDITEM\' | translate\n }}</md-tooltip>\n <md-button\n type="button"\n class="md-primary"\n aria-label="Add"\n ng-click="vmcpt.addItem()"\n ng-disabled="vmcpt.maxReached()"\n >\n <md-icon md-svg-icon="baseline-add_box-24px.svg"></md-icon>\n </md-button>\n </span>\n </div>\n <div class="hint" ng-if="vmdr.hint" translate="{{ vmdr.hint }}"></div>\n <md-tabs\n ng-if="vmcpt.model.length > 0"\n md-dynamic-height\n md-border-bottom\n md-autoselect\n md-selected="vmcpt.selectedTabIndex"\n >\n <div\n ng-repeat="childModel in vmcpt.model | orderBy: vmcpt.getChildOrder track by childModel._id"\n ng-form="{{ \'vmcpt.form\' + childModel._id }}"\n >\n <md-tab>\n <md-tab-label>\n <span>\n {{ vmcpt.getChildName(childModel, $index) | limitTo: 20 }}\n </span>\n <span ng-if="vmcpt.getChildName(childModel, $index).length > 20"\n >...</span\n >\n <span ng-show="vmcpt.selectedTabIndex === $index && !vmcpt.minReached()">\n <md-tooltip md-direction="right">{{\n \'DELETE\' | translate\n }}</md-tooltip>\n <md-button\n type="button"\n class="md-primary"\n aria-label="Delete"\n ng-click="vmcpt.deleteItem(childModel._id)"\n ng-disabled="vmcpt.minReached()"\n >\n <md-icon md-svg-icon="baseline-delete-24px.svg"></md-icon>\n </md-button>\n </span>\n </md-tab-label>\n <md-tab-body>\n <md-content class="md-padding">\n <frl-field-router\n frl-model="childModel"\n frl-base-model="vmcpt.baseModel"\n frl-model-path="{{\n vmcpt.modelPath.concat(\n vmcpt.modelPath ? \'._id:\' : \'_id:\',\n childModel._id\n )\n }}"\n frl-field-definitions="vmcpt.childrenDefinitions"\n ></frl-field-router>\n </md-content>\n </md-tab-body>\n </md-tab>\n </div>\n </md-tabs>\n <div ng-if="vmcpt.model.length === 0">\n {{ \'NOITEMS\' | translate }}\n </div>\n </div>\n <div ng-switch-when="undefined" class="loading-animation">\n {{ \'LOADING\' | translate }}\n </div>\n <div ng-switch-when="false" class="load-failled">\n {{ \'LOADINGFAILLED\' | translate }}\n </div>\n</div>\n'}),function(){function n(n,e,t,i){var l=this;l.$onInit=function(){var n=t.showLoading(!0);l.model=l.model||[],Array.isArray(l.model)?(l.model.forEach(function(n){d(n)}),l.loaded=!0):l.loaded=!1,t.hideLoading(n)},l.addItem=function(){var n=t.showLoading(!0),e=d({});l.model.push(e),t.hideLoading(n)},l.deleteItem=function(n){var e=t.showLoading(!0);l.model.splice(l.model.findIndex(function(e){return e._id===n}),1),l.loaded=!0,t.hideLoading(e)},l.getChildOrder=function(n){return e.getProperty(l.itemOrderField||l.itemNameField||"_id",n)},l.getChildName=function(t,i){return l.itemNameField?e.getProperty(l.itemNameField,t)||n.instant("NONAME"):n.instant("ITEM")+" "+i},l.minReached=function(){var n=!1;return(l.minLength||0===l.minLength)&&(n=l.minLength>=l.model.length),n},l.maxReached=function(){var n=!1;return(l.maxLength||0===l.maxLength)&&(n=l.model.length>=l.maxLength),n};var d=function n(e){return e._id=e._id||i.getString(),e}}n.$inject=["$translate","ObjectQueryService","LoadingSplashService","ObjectIdService"],angular.module("FarolComponents").controller("FrlDataTabber",n)}(),angular.module("FarolComponents").component("frlDefinitionRower",{bindings:{baseModel:"=frlBaseModel",model:"=frlModel",modelPath:"@frlModelPath",fieldName:"@?frlFieldname",rawChildren:"<frlChildren",rawChildrenDefinitions:"<?frlChildrendefinitions",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",inLine:"<?frlInline"},controller:"FrlDefinitionRower",controllerAs:"vmcpt",template:'<div class="frl-definition-rower">\n <div ng-if="vmcpt.loaded" ng-form="vmcpt.definitionRowerForm">\n <h3 translate="{{ vmcpt.fieldName }}"></h3>\n <div\n ng-repeat="child in vmcpt.children | orderBy: vmcpt.getChildOrder track by child._id"\n flex\n >\n <frl-field-router\n frl-model="child.modelObject[child.modelAttribute]"\n frl-base-model="vmcpt.baseModel"\n frl-model-path="{{ child.modelPath }}"\n frl-field-definitions="child.definitions"\n ></frl-field-router>\n </div>\n </div>\n <div ng-if="vmcpt.loaded === undefined" class="loading-animation">\n {{ \'LOADING\' | translate }}\n </div>\n <div ng-if="vmcpt.loaded === false" class="load-failled">\n {{ \'LOADINGFAILLED\' | translate }}\n </div>\n</div>\n'}),function(){function n(n,e,t){var i=this;i.$onInit=function(){var l=n.showLoading(!0);i.model=i.model||{},i.rawChildrenDefinitions&&(i.childrenDefinitions=JSON.parse(JSON.stringify(i.rawChildrenDefinitions))),Array.isArray(i.rawChildren)?(i.children=JSON.parse(JSON.stringify(i.rawChildren)),i.children.forEach(function(n,l){if(n._id=n._id||t.getString(),n.modelPath=i.modelPath.concat(i.modelPath?".":"",n.modelfield),n.modelfield.includes(".")){var d=n.modelfield.lastIndexOf(".");n.modelObject=e.getProperty(n.modelfield.slice(0,d),i.model),n.modelAttribute=n.modelfield.slice(d+1)}else n.modelObject=i.model,n.modelAttribute=n.modelfield}),i.loaded=!0):i.loaded=!1,n.hideLoading(l)},i.getChildOrder=function(n){return n.order||n.tempId}}n.$inject=["LoadingSplashService","ObjectQueryService","ObjectIdService"],angular.module("FarolComponents").controller("FrlDefinitionRower",n)}(),angular.module("FarolComponents").component("frlDefinitionTabber",{bindings:{baseModel:"=frlBaseModel",model:"=frlModel",modelPath:"@frlModelPath",fieldName:"@?frlFieldname",rawChildren:"<frlChildren",childrenDefinitions:"<?frlChildrendefinitions",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",modelFilterField:"@?frlModelfilterfield",itemNameField:"@?frlItemnamefield"},controller:"FrlDefinitionTabber",controllerAs:"vmcpt",template:'<div class="frl-definition-tabber md-padding">\n <md-content>\n <div ng-if="vmcpt.loaded" ng-form="vmcpt.definitionTabberForm">\n <h3 ng-if="vmcpt.fieldName">{{ vmcpt.fieldName | translate }}</h3>\n <md-tabs\n ng-if="vmcpt.modelFilterField"\n md-dynamic-height\n md-border-bottom\n md-autoselect\n >\n <md-tab\n ng-repeat="child in vmcpt.children | orderBy: vmcpt.getChildOrder track by child._id"\n label="{{ child.name | translate }}"\n ng-if="child.disabled !== true"\n >\n <md-content class="md-padding">\n <frl-field-router\n frl-model="vmcpt.childrenModel[child._id]"\n frl-base-model="vmcpt.baseModel"\n frl-model-path="{{child.modelPath}}"\n frl-field-definitions="child.definitions"\n ></frl-field-router>\n </md-content>\n </md-tab>\n </md-tabs>\n <md-tabs\n ng-if="!vmcpt.modelFilterField"\n md-dynamic-height\n md-border-bottom\n md-autoselect\n >\n <md-tab\n ng-repeat="child in vmcpt.children | orderBy: vmcpt.getChildOrder track by child._id"\n label="{{ child.name | translate }}"\n ng-if="child.disabled !== true"\n >\n <md-content class="md-padding">\n <frl-field-router\n frl-model="vmcpt.model"\n frl-base-model="vmcpt.baseModel"\n frl-model-path="{{ vmcpt.modelPath }}"\n frl-field-definitions="child.definitions"\n ></frl-field-router>\n </md-content>\n </md-tab>\n </md-tabs>\n </div>\n </md-content>\n <div ng-if="vmcpt.loaded === undefined" class="loading-animation">\n {{ \'LOADING\' | translate }}\n </div>\n <div ng-if="vmcpt.loaded === false" class="load-failled">\n {{ \'LOADINGFAILLED\' | translate }}\n </div>\n</div>\n'}),function(){function n(n,e,t,i){var l=this,d=[],o=function n(e){return(e=JSON.parse(JSON.stringify(e))).name=l.itemNameField?e[l.itemNameField]:e.name,l.modelFilterField&&(e.modelPath=l.modelPath.concat(l.modelPath?".":"",l.modelFilterField,":",e._id)),e.definitions=e.definitions||{},l.childrenDefinitions&&(e.definitions=Object.assign(e.definitions,JSON.parse(JSON.stringify(l.childrenDefinitions)))),e};function r(e){e._id=e._id||i.getString(),l.children.push(o(e)),d.push({_id:e._id,item:n.$watchCollection("child",function(n,e,t){if(n){var i=l.children.findIndex(function(e){return n._id===e._id});-1===i?r(n):l.children[i]=o(n)}})}),l.modelFilterField&&(l.childrenModel[e._id]=l.model.filter(function(n){return e._id===t.getProperty(l.modelFilterField,n)}).map(function(n){return n._id=n._id||i.getString(),n}),d.push({id:e._id,item:n.$watchCollection(function(n){return l.childrenModel[e._id]},function(n,t,d){if(n&&t)if(n.length>t.length){var o=n.find(function(n){return!t.some(function(e){return e._id===n._id})});o._id=o._id||i.getString(),o[l.modelFilterField]=e._id,l.model.push(o)}else if(t.length>n.length){var r=t.find(function(e){return!n.some(function(n){return n._id===e._id})}),m=l.model.findIndex(function(n){return n._id===r._id});-1!==m&&l.model.splice(m,1)}})}))}var m=function n(e){c(e._id),l.modelFilterField&&(l.model.map(function(n,t){return e._id===n[l.modelFilterField]&&t}).forEach(function(n){!1!==n&&l.model.splice(n,1)}),delete l.childrenModel[e._id])},a=function n(){l.children=[],l.model=l.model||(l.modelFilterField?[]:{}),l.childrenModel={},l.rawChildren.forEach(function(n){r(n)})},c=function n(e){var t=d.findIndex(function(n){return n._id===e});-1!==t&&(d[t].item(),d.splice(t,1),n(e))};l.$onInit=function(){var t=e.showLoading(!0);if(l.modelPath=l.modelPath||"",l.rawChildren&&Array.isArray(l.rawChildren)&&(l.modelFilterField&&Array.isArray(l.model)||!l.modelFilterField&&!Array.isArray(l.model)||!l.model)){a();var i=n.$watchCollection("vmcpt.rawChildren",function(n,e,t){var i;if(n&&e)if(n.length>e.length)r(n.find(function(n){return!e.some(function(e){return e._id===n._id})}));else if(e.length>n.length){var l=e.find(function(e){return!n.some(function(n){return n._id===e._id})});m(l)}});d.push({_id:"main",item:i}),l.loaded=!0}else l.loaded=!1;e.hideLoading(t)},l.$onDestroy=function(){for(;d.length>0;)c(d[0]._id)},l.getChildOrder=function(n){return n.order||n.tempId}}n.$inject=["$scope","LoadingSplashService","ObjectQueryService","ObjectIdService"],angular.module("FarolComponents").controller("FrlDefinitionTabber",n)}(),angular.module("FarolComponents").component("frlFieldAction",{controllerAs:"vmcpt",controller:"FrlFieldActionController",bindings:{fieldName:"<fieldName",text:"<?text",action:"<action"},template:'<div\n id="frl-field-action"\n ng-if="vmcpt.finishedLoading"\n ng-form="vmcpt.actionField"\n>\n <md-input-container class="md-block" flex>\n <div class="md-padding" layout="row" layout-align="start end">\n <md-button class="md-raised" ng-click="vmcpt.action($event)">\n {{ vmcpt.fieldName | translate }}\n </md-button>\n <div>{{ vmcpt.text | translate }}</div>\n </div>\n </md-input-container>\n</div>\n'}),function(){function n(n){var e=this;e.$onInit=function(){e.finishedLoading=!0}}n.$inject=["uuid"],angular.module("FarolComponents").controller("FrlFieldActionController",n)}(),angular.module("FarolComponents").component("frlFieldBoolean",{controllerAs:"vmdr",controller:"FrlFieldBooleanController",bindings:{fieldName:"@frlFieldname",hint:"@?frlHint",readonly:"<?frlReadonly",hidden:"<?frlHidden",model:"=frlModel",initialValue:"@?frlInitialvalue"},template:'<div\n id="frl-field-boolean"\n ng-if="vmdr.finishedLoading"\n ng-hide="vmdr.hidden"\n ng-form="vmdr.booleanField"\n>\n <md-content>\n <md-switch\n aria-label="{{ vmdr.fieldName | translate }}"\n ng-model="vmdr.model"\n ng-readonly="vmdr.readonly"\n md-invert\n >{{ vmdr.fieldName | translate }}</md-switch\n >\n </md-content>\n</div>\n'}),function(){function n(n){var e=this;e.$onInit=function(){!e.initialValue||""!==e.model&&void 0!==e.model||(e.model=!!e.initialValue),e.finishedLoading=!0}}n.$inject=["uuid"],angular.module("FarolComponents").controller("FrlFieldBooleanController",n)}(),angular.module("FarolComponents").component("frlFieldDisplaytext",{controllerAs:"vmcpt",controller:"FrlFieldDisplaytextController",bindings:{fieldName:"@frlFieldname",hidden:"<?frlHidden",model:"=?frlModel",text:"@?frlText",nonmaterialview:"<?frlNonmaterialview"},template:'<div\n id="frl-field-text"\n ng-if="vmcpt.finishedLoading"\n ng-hide="vmcpt.hidden"\n ng-form="vmcpt.textField"\n>\n <md-input-container ng-if="vmcpt.nonmaterialview" style="padding-bottom: 20px">\n <div class="md-body-2">{{ vmcpt.fieldName | translate }}</div>\n <div class="md-body-1">{{ vmcpt.text }}</div>\n </md-input-container>\n <md-input-container ng-if="!vmcpt.nonmaterialview">\n <span class="md-body-2">{{ vmcpt.fieldName | translate }}:</span><span class="md-body-1"> {{ vmcpt.text }}</span>\n </md-input-container>\n</div>\n'}),function(){function n(n){var e=this;e.$onInit=function(){e.finishedLoading=!0}}n.$inject=["uuid"],angular.module("FarolComponents").controller("FrlFieldDisplaytextController",n)}(),angular.module("FarolComponents").component("frlFieldLimit",{bindings:{fieldName:"@frlFieldname",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",hidden:"<?frlHidden",minValue:"<?frlMinvalue",maxValue:"<?frlMaxvalue",valueStep:"<?frlValuestep",model:"=frlModel",initialValue:"@?frlInitialvalue"},controllerAs:"vmcpt",controller:"FrlFieldLimitController",template:'<div\n ng-if="vmcpt.finishedLoading"\n ng-hide="vmcpt.hidden"\n ng-form="vmcpt.limitField"\n>\n <md-input-container class="md-block" flex>\n <md-switch\n ng-model="vmcpt.limited"\n ng-readonly="vmcpt.readonly"\n aria-label="SWITCH"\n ng-change="vmcpt.updateModel()"\n >\n {{ vmcpt.fieldName | translate }}\n </md-switch>\n </md-input-container>\n <md-input-container class="md-block" ng-if="vmcpt.limited">\n <label translate="QUANTITY">Quantity</label>\n <input\n type="number"\n ng-model="vmcpt.limit"\n ng-min="vmcpt.minValue"\n ng-max="vmcpt.maxValue"\n ng-step="vmcpt.valueStep"\n ng-required="vmcpt.required"\n name="input"\n ng-change="vmcpt.updateModel()"\n />\n <div ng-messages="vmcpt.limitField.input.$error" role="alert" multiple>\n <div ng-message="required">\n <span translate="FIELD_REQUIRED"></span>\n </div>\n <div ng-message="min">\n <span>{{\'MIN_VALUE_IS\' | translate:{value:vmcpt.minValue}}}</span>\n </div>\n <div ng-message="max">\n <span>{{\'MAX_VALUE_IS\' | translate:{value:vmcpt.maxValue}}}</span>\n </div>\n </div>\n </md-input-container>\n <div translate="{{ vmcpt.hint }}"></div>\n</div>\n'}),function(){function n(n){var e=this;e.$onInit=function(){e.minValue=e.minValue&&e.minValue>0?e.minValue:0,e.valueStep=e.valueStep||1,e>=0?(e.limited=!0,e.limit=e.model):(e.model=-1,e.limited=!1,e.limit=e.minValue),e.finishedLoading=!0},e.updateModel=function(){e.model=!1===e.limited?-1:e.limit}}n.$inject=["$scope"],angular.module("FarolComponents").controller("FrlFieldLimitController",n)}(),angular.module("FarolComponents").component("frlFieldLink",{controllerAs:"vmcpt",controller:"FrlFieldLinkController",bindings:{fieldName:"@frlFieldname",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",hidden:"<?frlHidden",model:"=frlModel",initialValue:"@?frlInitialvalue"},template:'<div\n ng-if="vmcpt.finishedLoading"\n ng-hide="vmcpt.hidden"\n ng-form="vmcpt.linkField"\n>\n <h3 translate="{{ vmcpt.fieldName }}"></h3>\n <md-content>\n <div layout="row" layout-xs="column">\n <div class="md-padding" style="padding-left: 8px !important" layout-align="center center" layout>\n <a ng-if="vmcpt.model" target="_blank" ng-href="{{ vmcpt.model }}">{{\n vmcpt.model\n }}</a>\n <p ng-if="!vmcpt.model">{{ \'NOLINK\' | translate }}</p>\n </div>\n <div class="md-padding">\n <md-button\n ng-disabled="vmcpt.readonly"\n class="md-raised"\n ng-click="vmcpt.showEditDialog($event)"\n >\n {{ \'EDIT\' | translate }}\n </md-button>\n </div>\n </div>\n </md-content>\n <input type="text" ng-model="vmcpt.model" style="display: none" ng-required="vmcpt.required">\n</div>\n'}),function(){function n(n,e){var t=this;t.$onInit=function(){!t.initialValue||""!==t.model&&void 0!==t.model||(t.model=String(t.initialValue)),t.finishedLoading=!0},t.showEditDialog=function(e){var i=n.prompt().title("Insert the link address").textContent("Don't forget the protocol (e.g: https://)").placeholder("Link address").ariaLabel("Link address").initialValue(t.model).targetEvent(e).required(t.required).ok("UPDATE").cancel("CANCEL").multiple(!0);n.show(i).then(function(n){t.model=n})}}n.$inject=["$mdDialog","uuid"],angular.module("FarolComponents").controller("FrlFieldLinkController",n)}(),angular.module("FarolComponents").component("frlFieldNumber",{controllerAs:"vmcpt",controller:"FrlFieldNumberController",bindings:{fieldName:"@frlFieldname",hint:"@?frlHint",readonly:"<?frlReadonly",required:"<?frlRequired",hidden:"<?frlHidden",minLength:"<?frlMinlength",maxLength:"<?frlMaxlength",minValue:"<?frlMinvalue",maxValue:"<?frlMaxvalue",valueStep:"<?frlValuestep",pattern:"@?frlPattern",patternDescription:"@?frlPatterndescription",nonMaterialView:"<?frlNonmaterialview",model:"=frlModel",initialValue:"@?frlInitialvalue",help:"@?frlHelp"},template:'<div\n ng-if="vmcpt.finishedLoading"\n ng-hide="vmcpt.hidden"\n ng-form="vmcpt.numberField"\n>\n <md-input-container class="md-block" flex>\n <h3 ng-if="vmcpt.nonMaterialView" translate="{{ vmcpt.fieldName }}"></h3>\n <label\n ng-if="!vmcpt.nonMaterialView"\n translate="{{ vmcpt.fieldName }}"\n ></label>\n <input\n type="number"\n ng-readonly="{{ vmcpt.readonly }}"\n ng-required="{{ vmcpt.required }}"\n minlength="{{ parseInt(vmcpt.minLength) }}"\n maxlength="{{ parseInt(vmcpt.maxLength) }}"\n min="{{ vmcpt.minValue }}"\n max="{{ vmcpt.maxValue }}"\n step="{{ vmcpt.valueStep }}"\n ng-pattern="vmcpt.pattern"\n ng-model="vmcpt.model"\n name="input"\n />\n <div\n class="hint"\n ng-if="(vmcpt.numberField.input.$valid || vmcpt.numberField.input.$pristine) && vmcpt.hint"\n translate="{{ vmcpt.hint }}"\n ></div>\n <div ng-messages="vmcpt.numberField.input.$error" role="alert" multiple>\n <div ng-message="required">\n <span translate="FIELD_REQUIRED"></span>\n </div>\n <div ng-message="minlength">\n <span>{{\n \'MIN_LENGTH_IS\' | translate: { value: vmcpt.minLength }\n }}</span>\n </div>\n <div ng-message="maxlength">\n <span>{{\n \'MAX_LENGTH_IS\' | translate: { value: vmcpt.maxLength }\n }}</span>\n </div>\n <div ng-message="min">\n <span>{{ \'MIN_VALUE_IS\' | translate: { value: vmcpt.minValue } }}</span>\n </div>\n <div ng-message="max">\n <span>{{ \'MAX_VALUE_IS\' | translate: { value: vmcpt.maxValue } }}</span>\n </div>\n <div ng-message="step">\n <span\n >{{\'EXPECTEDVALUESTEPFORMATIS\' | translate:{value:vmcpt.step}}}</span\n >\n </div>\n <div ng-message="pattern">\n <span>{{\n (\'DOES_NOT_MATCH_PATTERN\' | translate) +\n \' \' +\n vmcpt.patternDescription\n }}</span>\n </div>\n </div>\n <md-icon md-font-icon="icon-help-circle" ng-if="vmcpt.help">\n <md-tooltip ng-bind-html="vmcpt.help"></md-tooltip>\n </md-icon>\n </md-input-container>\n</div>\n'}),function(){function n(n){var e=this;e.$onInit=function(){!e.initialValue||""!==e.model&&void 0!==e.model||(e.model=parseFloat(e.initialValue)),e.finishedLoading=!0}}n.$inject=["uuid"],angular.module("FarolComponents").controller("FrlFieldNumberController",n)}(),angular.module("FarolComponents").component("frlFieldRouter",{bindings:{model:"=frlModel",baseModel:"=?frlBaseModel",modelPath:"@?frlModelPath",rawDefinitions:"<frlFieldDefinitions"},controller:"FrlFieldRouterController",controllerAs:"vmcpt",template:'<div \n class="frl-field-router"\n ng-if="!vmcpt.definitions.disabled.modelObject[vmcpt.definitions.disabled.modelAttribute]"\n >\n <div ng-if="vmcpt.loaded" ng-switch="vmcpt.component" class="md-block" flex>\n <frl-field-boolean\n ng-switch-when="boolean"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n>\n</frl-field-boolean>\n\n <frl-field-chips\n ng-switch-when="chips"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n frl-model="vmcpt.model"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}"\n frl-separatorkeys="vmcpt.definitions.separatorkeys.modelObject[vmcpt.definitions.separatorkeys.modelAttribute]"\n>\n</frl-field-chips>\n\n <frl-data-rower\n ng-switch-when="datarower"\n frl-base-model="vmcpt.baseModel"\n frl-model="vmcpt.model"\n frl-model-path="{{ vmcpt.modelPath }}"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-childrendefinitions="vmcpt.definitions.childrendefinitions.modelObject[vmcpt.definitions.childrendefinitions.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-initialvalue="vmcpt.definitions.initialvalue.modelObject[vmcpt.definitions.initialvalue.modelAttribute]"\n frl-itemnamefield="{{\n vmcpt.definitions.itemnamefield.modelObject[\n vmcpt.definitions.itemnamefield.modelAttribute\n ]\n }}"\n frl-itemorderfield="{{\n vmcpt.definitions.itemorderfield.modelObject[\n vmcpt.definitions.itemorderfield.modelAttribute\n ]\n }}"\n>\n</frl-data-rower>\n\n <frl-data-tabber\n ng-switch-when="datatabber"\n frl-base-model="vmcpt.baseModel"\n frl-model="vmcpt.model"\n frl-model-path="{{ vmcpt.modelPath }}"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-childrendefinitions="vmcpt.definitions.childrendefinitions.modelObject[vmcpt.definitions.childrendefinitions.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-wraparound="vmcpt.definitions.wraparound.modelObject[vmcpt.definitions.wraparound.modelAttribute]"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-initialvalue="vmcpt.definitions.initialvalue.modelObject[vmcpt.definitions.initialvalue.modelAttribute]"\n frl-itemnamefield="{{\n vmcpt.definitions.itemnamefield.modelObject[\n vmcpt.definitions.itemnamefield.modelAttribute\n ]\n }}"\n frl-itemorderfield="{{\n vmcpt.definitions.itemorderfield.modelObject[\n vmcpt.definitions.itemorderfield.modelAttribute\n ]\n }}"\n>\n</frl-data-tabber>\n\n <frl-definition-rower\n ng-switch-when="definitionrower"\n frl-base-model="vmcpt.baseModel"\n frl-model="vmcpt.model"\n frl-model-path="{{ vmcpt.modelPath }}"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-children="vmcpt.definitions.children.modelObject[vmcpt.definitions.children.modelAttribute]"\n frl-childrendefinitions="vmcpt.definitions.childrendefinitions.modelObject[vmcpt.definitions.childrendefinitions.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-inline="vmcpt.definitions.inline.modelObject[vmcpt.definitions.inline.modelAttribute]"\n>\n</frl-definition-rower>\n\n <frl-definition-tabber\n ng-switch-when="definitiontabber"\n frl-base-model="vmcpt.baseModel"\n frl-model="vmcpt.model"\n frl-model-path="{{ vmcpt.modelPath }}"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-children="vmcpt.definitions.children.modelObject[vmcpt.definitions.children.modelAttribute]"\n frl-childrendefinitions="vmcpt.definitions.childrendefinitions.modelObject[vmcpt.definitions.childrendefinitions.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-modelfilterfield="{{\n vmcpt.definitions.modelfilterfield.modelObject[\n vmcpt.definitions.modelfilterfield.modelAttribute\n ]\n }}"\n frl-itemnamefield="{{\n vmcpt.definitions.itemnamefield.modelObject[\n vmcpt.definitions.itemnamefield.modelAttribute\n ]\n }}"\n>\n</frl-definition-tabber>\n\n <frl-field-displaytext\n ng-switch-when="displaytext"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-text="{{\n vmcpt.definitions.text.modelObject[vmcpt.definitions.text.modelAttribute]\n }}"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n>\n</frl-field-displaytext>\n\n <frl-field-dynamicobject\n ng-switch-when="dynamicobject"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-mask="{{\n vmcpt.definitions.mask.modelObject[vmcpt.definitions.mask.modelAttribute]\n }}"\n frl-pattern="{{\n vmcpt.definitions.pattern.modelObject[\n vmcpt.definitions.pattern.modelAttribute\n ]\n }}"\n frl-nonmaterialview="vmcpt.definitions.expandedstyle.modelObject[vmcpt.definitions.expandedstyle.modelAttribute]"\n frl-patterndescription="vmcpt.definitions.patterndescription.modelObject[vmcpt.definitions.patterndescription.modelAttribute]"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}"\n>\n</frl-field-dynamicobject>\n\n <frl-field-email\n ng-switch-when="email"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-mask="{{\n vmcpt.definitions.mask.modelObject[vmcpt.definitions.mask.modelAttribute]\n }}"\n frl-pattern="{{\n vmcpt.definitions.pattern.modelObject[\n vmcpt.definitions.pattern.modelAttribute\n ]\n }}"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n frl-patterndescription="vmcpt.definitions.patterndescription.modelObject[vmcpt.definitions.patterndescription.modelAttribute]"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}"\n>\n</frl-field-email>\n\n <frl-field-file\n ng-switch-when="file"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-extension="{{\n vmcpt.definitions.extension.modelObject[\n vmcpt.definitions.extension.modelAttribute\n ]\n }}"\n frl-maxlength="{{\n vmcpt.definitions.maxlength.modelObject[\n vmcpt.definitions.maxlength.modelAttribute\n ]\n }}"\n frl-is-image="\n vmcpt.definitions.isimage.modelObject[\n vmcpt.definitions.isimage.modelAttribute\n ]\n "\n frl-is-public="\n vmcpt.definitions.ispublic.modelObject[\n vmcpt.definitions.ispublic.modelAttribute\n ]\n "\n frl-entityid="evt_paper"\n frl-entityitemid="{{ vmcpt.baseModel._id }}"\n frl-filename="{{ vmcpt.fieldModelName }}"\n>\n</frl-field-file>\n\n <frl-field-limit ng-switch-when="limit" frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}" frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]" frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}" frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]">\n</frl-field-limit>\n <frl-field-link ng-switch-when="link" frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}" frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]" frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}" frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]" frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}">\n</frl-field-link>\n <frl-field-number\n ng-switch-when="number"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-help="{{\n vmcpt.definitions.help.modelObject[vmcpt.definitions.help.modelAttribute]\n }}"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-minvalue="vmcpt.definitions.minvalue.modelObject[vmcpt.definitions.minvalue.modelAttribute]"\n frl-maxvalue="vmcpt.definitions.maxvalue.modelObject[vmcpt.definitions.maxvalue.modelAttribute]"\n frl-valuestep="vmcpt.definitions.valuestep.modelObject[vmcpt.definitions.valuestep.modelAttribute]"\n frl-pattern="{{\n vmcpt.definitions.pattern.modelObject[\n vmcpt.definitions.pattern.modelAttribute\n ]\n }}"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n frl-patterndescription="vmcpt.definitions.patterndescription.modelObject[vmcpt.definitions.patterndescription.modelAttribute]"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}"\n>\n</frl-field-number>\n\n <frl-field-select\n ng-switch-when="select"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}"\n frl-list="vmcpt.definitions.optionlist.modelObject[vmcpt.definitions.optionlist.modelAttribute]"\n frl-itemnamefield="{{\n vmcpt.definitions.itemnamefield.modelObject[\n vmcpt.definitions.itemnamefield.modelAttribute\n ]\n }}"\n frl-itemidfield="{{\n vmcpt.definitions.itemidfield.modelObject[\n vmcpt.definitions.itemidfield.modelAttribute\n ]\n }}"\n frl-multiple="vmcpt.definitions.multiple.modelObject[vmcpt.definitions.multiple.modelAttribute]"\n frl-basemodel="vmcpt.baseModel"\n>\n</frl-field-select>\n\n <frl-table\n ng-switch-when="table"\n frl-model="vmcpt.model"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-columns="vmcpt.definitions.columns.modelObject[vmcpt.definitions.columns.modelAttribute]"\n frl-columnnamefield="{{\n vmcpt.definitions.columnnamefield.modelObject[\n vmcpt.definitions.columnnamefield.modelAttribute\n ]\n }}"\n frl-columnnamelist="vmcpt.definitions.columnnamelist.modelObject[vmcpt.definitions.columnnamelist.modelAttribute]"\n frl-columnorderfield="{{\n vmcpt.definitions.columnorderfield.modelObject[\n vmcpt.definitions.columnorderfield.modelAttribute\n ]\n }}"\n frl-columnfilter="vmcpt.definitions.columnfilter.modelObject[vmcpt.definitions.columnfilter.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-help="{{\n vmcpt.definitions.help.modelObject[vmcpt.definitions.help.modelAttribute]\n }}"\n frl-linenamefield="{{\n vmcpt.definitions.linenamefield.modelObject[\n vmcpt.definitions.linenamefield.modelAttribute\n ]\n }}"\n frl-linenamelist="vmcpt.definitions.linenamelist.modelObject[vmcpt.definitions.linenamelist.modelAttribute]"\n frl-lineorderfield="{{\n vmcpt.definitions.lineorderfield.modelObject[\n vmcpt.definitions.lineorderfield.modelAttribute\n ]\n }}"\n frl-linefilter="vmcpt.definitions.linefilter.modelObject[vmcpt.definitions.linefilter.modelAttribute]"\n frl-celllinefield="{{\n vmcpt.definitions.celllinefield.modelObject[\n vmcpt.definitions.celllinefield.modelAttribute\n ]\n }}"\n frl-wraparound="vmcpt.definitions.wraparound.modelObject[vmcpt.definitions.wraparound.modelAttribute]"\n>\n</frl-table>\n\n <frl-field-text\n ng-switch-when="text"\n frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}"\n frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]"\n frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}"\n frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]"\n frl-mask="{{\n vmcpt.definitions.mask.modelObject[vmcpt.definitions.mask.modelAttribute]\n }}"\n frl-pattern="{{\n vmcpt.definitions.pattern.modelObject[\n vmcpt.definitions.pattern.modelAttribute\n ]\n }}"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n frl-patterndescription="vmcpt.definitions.patterndescription.modelObject[vmcpt.definitions.patterndescription.modelAttribute]"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}"\n >\n </frl-field-text> \n <frl-field-textarea ng-switch-when="textarea" frl-fieldname="{{\n vmcpt.definitions.fieldname.modelObject[\n vmcpt.definitions.fieldname.modelAttribute\n ]\n }}" frl-model="vmcpt.model"\n frl-readonly="vmcpt.definitions.readonly.modelObject[vmcpt.definitions.readonly.modelAttribute]"\n frl-required="vmcpt.definitions.required.modelObject[vmcpt.definitions.required.modelAttribute]" frl-hint="{{\n vmcpt.definitions.hint.modelObject[vmcpt.definitions.hint.modelAttribute]\n }}" frl-hidden="vmcpt.definitions.hidden.modelObject[vmcpt.definitions.hidden.modelAttribute]"\n frl-minlength="vmcpt.definitions.minlength.modelObject[vmcpt.definitions.minlength.modelAttribute]"\n frl-maxlength="vmcpt.definitions.maxlength.modelObject[vmcpt.definitions.maxlength.modelAttribute]" frl-pattern="{{\n vmcpt.definitions.pattern.modelObject[\n vmcpt.definitions.pattern.modelAttribute\n ]\n }}"\n frl-nonmaterialview="vmcpt.definitions.nonmaterialview.modelObject[vmcpt.definitions.nonmaterialview.modelAttribute]"\n frl-patterndescription="vmcpt.definitions.patterndescription.modelObject[vmcpt.definitions.patterndescription.modelAttribute]"\n frl-initialvalue="{{\n vmcpt.definitions.initialvalue.modelObject[\n vmcpt.definitions.initialvalue.modelAttribute\n ]\n }}">\n</frl-field-textarea>\n </div>\n <div ng-if="vmcpt.loaded === undefined" class="loading-animation">\n {{ \'LOADING\' | translate }}\n </div>\n <div ng-if="vmcpt.loaded === false" class="load-failled">\n {{ \'LOADINGFAILLED\' | translate }}\n </div>\n</div>'}),function(){function n(n,e,t,i,l){var d=this;d.$onInit=_asyncToGenerator(regeneratorRuntime.mark(function o(){var r,m,a;return regeneratorRuntime.wrap(function o(c){for(;;)switch(c.prev=c.next){case 0:if(r=t.showLoading(!0),d.definitions={},!d.rawDefinitions||!d.rawDefinitions.fieldtype){c.next=23;break}return d.baseModel=d.baseModel||d.model,d.modelPath=d.modelPath||"",d.modelPath.includes(".")?(m=d.modelPath.lastIndexOf("."),d.fieldModelName=d.modelPath.slice(m+1)):d.fieldModelName=d.modelPath,a={model:d.model,basemodel:d.baseModel,modelpath:d.modelPath,getuserrole:l.getUserRole,getuserid:l.getUserId,modelparentn:function n(e){var t=d.modelPath.split("."),i=t.length-1,l=e>i?t[0]:t[i-e];if("string"==typeof l&&l.includes(":")){var o=l.split(":",2);l={field:o[0],value:o[1]}}return l}},c.prev=7,c.next=10,Promise.all(Object.keys(d.rawDefinitions).map(function(){var t=_asyncToGenerator(regeneratorRuntime