diff --git a/dist/gumga.min.js b/dist/gumga.min.js index 3bf5608..73a0a4e 100755 --- a/dist/gumga.min.js +++ b/dist/gumga.min.js @@ -1,7 +1,7 @@ -"use strict";function QueryModelFactory(){function e(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]||arguments[1],n=arguments.length<=2||void 0===arguments[2]?"NOTHING":arguments[2],a=arguments.length<=3||void 0===arguments[3]?999:arguments[3];this.STATES=Object.freeze({NOTHING:1,ONLY_ATTRIBUTE:2,ATTRIBUTE_AND_CONDITION:4,EVERYTHING_NEEDED:8,UPDATING_ATTRIBUTE:16,UPDATING_CONDITION:32,UPDATING_VALUE:64}),this.query=e,this.active=t,this.activeStates=this.STATES[n],this.zIndex=a}return e.prototype.addState=function(e){return this.activeStates|=this.STATES[e],this},e.prototype.removeState=function(e){return this.activeStates&=~this.STATES[e],this},e.prototype.isNOTHING=function(){return 0!=(this.activeStates&this.STATES.NOTHING)},e.prototype.isONLY_ATTRIBUTE=function(){return 0!=(this.activeStates&this.STATES.ONLY_ATTRIBUTE)},e.prototype.isATTRIBUTE_AND_CONDITION=function(){return 0!=(this.activeStates&this.STATES.ATTRIBUTE_AND_CONDITION)},e.prototype.isEVERYTHING_NEEDED=function(){return 0!=(this.activeStates&this.STATES.EVERYTHING_NEEDED)},e.prototype.isUPDATING_ATTRIBUTE=function(){return 0!=(this.activeStates&this.STATES.UPDATING_ATTRIBUTE)},e.prototype.isUPDATING_CONDITION=function(){return 0!=(this.activeStates&this.STATES.UPDATING_CONDITION)},e.prototype.isUPDATING_VALUE=function(){return 0!=(this.activeStates&this.STATES.UPDATING_VALUE)},e.prototype.isBeingUpdated=function(){return this.isUPDATING_VALUE()},{create:function(){for(var t=arguments.length,n=Array(t),a=0;a\n '+t+"\n \n \n \n ";return e?n:t}function t(e){return e.headers?"\n \n \n "+n(e.columnsConfig)+"\n \n \n ":""}function n(){var t=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];arguments.length<=1||void 0===arguments[1]||arguments[1];return t.reduce(function(t,n){return t+='\n \n \n '+e(n.sortField,n.title)+"\n \n "}," ")}function a(e){return e.reduce(function(e,t){return e+='\n "+t.content+""}," ")}function o(e,n){return e.checkbox&&e.columnsConfig.unshift({title:'",name:"$checkbox",content:'',size:"col-md-1",conditional:angular.noop}),"\n "+(e.itemsPerPage.length>0?i:" ")+'\n
\n \n \n \n '+t(e)+'\n \n \n \n \n '+a(e.columnsConfig)+"\n \n \n
\n
"}var i='\n
\n
\n
\n \n
\n
\n
\n \n
\n
';return{mountTable:o}}function TranslateFilter(e,t){return function(t,n){if(t){if(!angular.isString(t))throw"É necessário passar uma string para o filtro gumgaTranslate";var a=n?n.toLowerCase().concat(".").concat(t?t.toLowerCase():" "):t?t.toLowerCase():" ";return e.returnTranslation(a)||t}return t}}function HQLFactory(e){function t(e){return g[e]||null}function n(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.contains={hql:" contains ",label:" contém ",before:" like '%",after:"%'"},t.not_contains={hql:" not_contains ",label:" não contém ",before:" not like '%",after:"%'"},t.starts_with={hql:" starts_with ",label:" começa com ",before:" like '",after:"%'"},t.ends_with={hql:" ends_with ",label:" termina com ",before:" like '%",after:"'"},t.eq={hql:" eq ",label:" igual ",before:" = '",after:"'"},t.ne={hql:" ne ",label:" diferente de ",before:" != '",after:"'"},t.ge={hql:" ge ",label:" maior igual ",before:" >= '",after:"'"},t.gt={hql:" gt ",label:" maior que ",before:" > ",after:""},t.le={hql:" le ",label:" menor igual ",before:" <= ",after:""},t.lt={hql:" lt ",label:" menor que ",before:" < '",after:"'"},t["in"]={hql:" in ",label:" em",before:" in (",after:")"},t.is={hql:" is ",label:" está ",before:" is ",after:""},t.date_eq={hql:" eq ",label:" igual ",before:" >= ",after:""},t.date_ne={hql:" ne ",label:" diferente de ",before:" <= ",after:""},e.map(function(e){return t[e]})}function a(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=[],n=Object.keys(e).filter(function(t){return e[t].active&&e[t].query.value}).map(function(n){var a="obj.".concat(e[n].query.attribute?e[n].query.attribute.field:"*"),o=e[n].query.condition?e[n].query.condition.before:"*",i=e[n].query.value.replace?e[n].query.value.replace(/'/g,"''"):e[n].query.value,r=e[n].query.condition?e[n].query.condition.after:"*";if(e[n].query.attribute)switch(e[n].query.attribute.type){case"date":var l=i.split("");i=""+l[4]+l[5]+l[6]+l[7]+"-"+l[2]+l[3]+"-"+l[0]+l[1];var s="'"+i+" 00:00:00'",c="'"+i+" 23:59:59'";switch(e[n].query.condition.hql){case" eq ":i=s+" AND "+a+" <= "+c;break;case" ne ":i=s+" OR "+a+" >= "+c;break;case" le ":i=c;break;case" gt ":i=c}i=i;break;case"enum":i="'"+e[n].query.value.join("','")+"'";break;case"number":case"float":case"money":o=o.replace(/'/g,""),r=r.replace(/'/g,"")}return t.push({attribute:e[n].query.attribute,condition:e[n].query.condition,value:e[n].query.value.replace?e[n].query.value.replace(/'/g,"''"):e[n].query.value}),a.concat(o).concat(i).concat(r).replace(/obj.\*/g,"").replace(/\*/g,"")}).filter(function(e,t,n){var a=["OR","AND"];if(a.indexOf(e)===-1)return!0;var o=n[t-1],i=n[t+1];return void 0!==o&&a.indexOf(o)===-1&&void 0!==i&&a.indexOf(i)===-1}).join(" ");return"ND"===n.slice(-2)||"OR"===n.slice(-2)?(t.pop(),{hql:n.slice(0,-3),source:JSON.stringify(t)}):n?{hql:n,source:JSON.stringify(t)}:{}}function o(){var e=arguments.length<=0||void 0===arguments[0]?" ":arguments[0];return g[e]?g[e].validator:angular.noop}var i=/[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}/,r=/[0-9]{2}\.?[0-9]{3}\.?[0-9]{3}\/?[0-9]{4}\-?[0-9]{2}/,l=/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/,s=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,c=/(?:[0-9]{1,3}\.){3}[0-9]{1,3}/,u=/^[0-9]+$/,d=/^[0-9]+(\.[0-9]{1,2})?$/,g={};g.string={validator:function(e){return"string"==typeof e||e instanceof String},defaultCondition:n(["contains"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.number={validator:function(e){return u.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g["float"]={validator:function(e){return d.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.money={validator:function(e){return d.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.cpf={validator:function(e){return i.test(p.toCpf(e))},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.cnpj={validator:function(e){return r.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g["boolean"]={validator:function(e){return"true"==e||"false"==e},defaultCondition:n(["is"]),conditions:n(["is"]),template:'
'},g.date={validator:function(t){return l.test(e("date")(t,"dd/MM/yyyy"))},defaultCondition:n(["date_eq"]),conditions:n(["date_eq","date_ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.select={validator:function(e){return!!e},defaultCondition:n(["eq"]),conditions:n(["eq","ne"]),template:''},g["enum"]={validator:function(e){return Array.isArray(e)},defaultCondition:n(["in"]),conditions:n(["in"]),template:'
{{d.label}}
'},g.email={validator:function(e){return"string"==typeof e||e instanceof String},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.url={validator:function(e){return s.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.ip={validator:function(e){return c.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'};var p={toCpf:function(e){var t=e+"";return t.replace(/\D/g,"").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2")}};return{useType:t,hqlObjectCreator:n,createHql:a,validator:o}}function Popover(){}function controller(e,t,n,a,o,i){function r(e,t){var n=this,a=void 0,o=void 0;return"right"==e?(o=angular.copy(this.selectedArray),o.push(this.getValueFromAvailable(t)),this.updateObject(o).updateSelected([this.getValueFromAvailable(t)]),a=function(e){return n.updateAvailable(n.availableArray)},this.emit(t)):(this.selectedArray.splice(this.getIndexFromSelected(t),1),this.updateObject(this.selectedArray),a=function(e){n.searchAvailable(e).then(function(e){return n.updateAvailable(e.data?e.data.values:e)})}),a}function l(){return this.availableArray}function s(){var e="{{$value.definition}}";return a(function(t){angular.forEach(t,function(t){var n=angular.element(t)[0];"TAG-CONTENT"==n.nodeName&&(e=n.innerText)})}),e}function c(){return this.dragElement}function u(e){return this.availableArray.filter(function(t){return t.definition.name==e})[0]}function d(e){for(var t=void 0,n=0,a=this.selectedArray.length;n\n \n \n \n \n ',b='\n
\n \n
\n '+(n.hasSearch?h:" ")+'\n
\n
\n \n \n \n \n
\n
\n
\n
';t[0].addEventListener("dragstart",r,!1),t[0].addEventListener("dragend",l,!1),t[0].addEventListener("dragenter",s,!1),this.ngModelOptions={updateOn:"default blur",debounce:{"default":150,blur:0}},this.removeMe=m,this.search=p,this.id=n.id,this.cleanPopovers=c,this.setActive=u,this.getActive=d,this.on=g,t.append(a(angular.element(b))(e)),o.bindToElement(t[0],"mod+enter",function(e){return f.search(f["searchText"+t[0].id])}),o.bindToElement(t[0],"enter",function(e){return f.search(f["searchText"+t[0].id])})}return e.$inject=["$scope","$element","$attrs","$compile","GumgaKeyboard","$rootScope"],{restrict:"E",controller:e,controllerAs:"gumgaTagColumn",bindToController:!0,scope:{tags:"=?array",label:"@?"}}}function gumgaUnityTag(e,t,n,a){function o(e,n,a,o){function i(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];return e.reduce(function(e,t,n){return e+='\n \t
\n \t\t\n \t\t\n \t
'}," ")}function r(){o.setActive(),o.cleanPopovers(),e.hasValues()||o.removeMe(e.name)}function l(e){return e.replace(/[^a-zA-Z ]/g,"").replace(/\s/g,"")}function s(t){o.cleanPopovers(),o.setActive(t),e.oldAttributes=angular.copy(e.attributes)}function c(e){n.find("div").remove()}function u(){arguments.length<=0||void 0===arguments[0]?{}:arguments[0];o.setActive(),o.cleanPopovers(),d(e.attributes)}function d(){var t=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];e.tooltip=t.reduce(function(e,t){return e+="\n\n\n ["+t.name+" "+(t.value?": "+t.value:"")+"]"}," ")}function g(){return o.getActive()===e.name?"true":""}function p(){return e.attributes=e.attributes||[],e.attributes.filter(function(e){return!!e.value}).length>0}a.$set("draggable",!0);var m='\n \n\t\t\t\t",n.append(e(u)(t))}}}e.$inject=["$compile"],angular.module("gumga.directives.form.errors",["ui.bootstrap"]).directive("gumgaErrors",e)}(),function(){function e(){return{restrict:"A",scope:!1,priority:501,require:"form",transclude:!1,controller:["$scope","$element","$attrs","$timeout",function(e,t,n,a){function o(e,t){if(!e)throw"É necessário passar o nome do input [changeInputMessage(inputName, messages)]";if(!t)throw"É necessário passar um objeto com as mensagens [changeInputMessage(inputName, messages)]";var n=Object.keys(t).filter(function(e){return!g[e]}),a=n.length>1;if(n.length>0)throw(a?"Os":"O")+" "+(a?"tipos":"tipo")+" de validação "+(a?n.join(","):n)+" não "+(a?"existem":"existe")+".";return d.customMessage[e]=t,this}function i(t,n,a,o,i){if(i=i||t,!t)throw"É necessário passar um valor válido como primeiro parâmetro [changeStateOfInput(inputName, validationType, inputIsValid, value)]";if(!n)throw"É necessário passar um valor válido como segundo parâmetro [changeStateOfInput(inputName, validationType, inputIsValid, value)]";if(a!==!0&&a!==!1)throw"É necessário passar um booleano como terceiro parâmetro [changeStateOfInput(inputName, validationType, inputIsValid, value)]";var r=d.customMessage[t]?d.customMessage[t]:{},l=r[n]?r[n]:g[n],s=l.replace("{0}",i).replace("{1}",n.indexOf("range")!=-1?"mínimo de "+o[0]+" e máximo de "+o[1]:o),c=void 0;return c=a?{validationType:n}:{message:s,validationType:n},this.updateFormErrors(t,n,a,s),e.$broadcast("form-changed"),e.$broadcast(t+"-"+(a?"":"in")+"valid",c),this}function r(){return angular.copy(g)}function l(){return angular.copy(d.formErrors)}function s(){return n.name}function c(e,t,n,a){var o=d.formErrors;return o[e]&&o[e][t]&&n===!0?(delete o[e][t],this):o[e]&&o[e][t]?this:(d.formErrors[e]||(d.formErrors[e]={}),n||(d.formErrors[e][t]=a),this)}function u(){var t=this,o=arguments.length<=0||void 0===arguments[0]||arguments[0];a(function(){var a=e[n.name].$error,i=[];return Object.keys(a).forEach(function(e){return a[e].forEach(function(t,n){i.push(t),n==a[e].length-1&&(i.forEach(function(t){return t.$setValidity(e,o)}),i=[])})}),t})}var d=this,g={maxdate:"A data especificada no campo {0} não deve ultrapassar o limite de: {1}.",maxlength:"O texto especificado no campo {0} não deve ultrapassar o limite de: {1}.",maxnumber:"O número especificado no campo {0} não deve ultrapassar o limite de: {1}.",mindate:"A data especificada no campo {0} não deve ser menor que o limite mínimo de: {1}.",minlength:"O texto especificado no campo {0} não deve ser menor que o limite mínimo de: {1}.",minnumber:"O número especificado no campo {0} não deve ser menor que o limite mínimo de: {1}.",pattern:"O texto especificado no campo {0} deve estar dentro do padrão: {1}.",rangedate:"A data especificada no campo {0} deve estar dentro do intervalo: {1}.",rangenumber:"O número especificado no campo {0} deve estar dentro do intervalo: {1}.",validatetype:"O valor digitado no campo {0} deve ser do tipo: {1}",required:"O campo {0} é obrigatório."};d.customMessage={},d.formErrors={},d.changeInputMessage=o,d.changeStateOfInput=i,d.getDefaultMessages=r,d.getFormErrors=l,d.getFormName=s,d.setFormValidity=u,d.updateFormErrors=c}]}}e.$inject=[],angular.module("gumga.directives.form.form",[]).directive("gumgaForm",e)}(),function(){function e(e){function t(e,t,n){function a(e,t){for(var n=!0;n;){var a=e,o=t;n=!1;{if(o.nodeName.toLowerCase()==a)return o;e=a,t=o.parentNode,n=!0}}}if(!n.gumgaFormClass)throw"É necessário passar para a directive gumgaFormClass o nome do input com o qual ela está relacionada.";var o=t[0].outerHTML.split("\n")[0].indexOf("valid-green")!=-1,i=a("form",t[0]).name,r=n.gumgaFormClass;e.$watch(i+"."+r+".$invalid",function(){try{if(e[i][r].$valid)return void n.$set("class",o?"form-group has-success":"form-group");n.$set("class","form-group has-error")}catch(t){console.error("O componente GumgaFormClass necessita que o nome passada como parâmetro seja igual ao nome do input.")}})}var n={restrict:"A",link:t,scope:!1};return n}e.$inject=["$compile"],angular.module("gumga.directives.form.class",[]).directive("gumgaFormClass",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(t,n,a,o){function i(t){if(t){var n=e("date")(t,c),a=e("date")(g,c),o=n<=a; -r.$setValidity(s,o),l.changeStateOfInput(u,s,o,g,d)}return t}if("date"!=a.type)throw"Esta diretiva suporta apenas inputs do tipo date";if(!a.gumgaMaxDate)throw"O valor da diretiva gumga-max-date não foi informado.";var r=o[0],l=o[1],s="maxdate",c="yyyy-MM-dd",u=a.name,d=a.field,g=a.gumgaMaxDate;r.$parsers.unshift(i),r.$formatters.push(i),a.$observe("gumgaMaxDate",function(){i(r.$viewValue)})}}}e.$inject=["$filter"],angular.module("gumga.directives.form.max.date",[]).directive("gumgaMaxDate",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=e.length<=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if(!n.gumgaMaxLength)throw"O valor da diretiva gumga-max-length não foi informado.";var i=a[0],r=a[1],l="maxlength",s=n.name,c=n.field,u=parseInt(n.gumgaMaxLength);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMaxLength",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.max.length",[]).directive("gumgaMaxLength",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=parseInt(e)<=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if("number"!=n.type)throw"Esta diretiva suporta apenas inputs do tipo number";if(!n.gumgaMaxNumber)throw"O valor da diretiva gumga-max-number não foi informado.";var i=a[0],r=a[1],l="maxnumber",s=n.name,c=n.field,u=parseInt(n.gumgaMaxNumber);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMaxNumber",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.max.number",[]).directive("gumgaMaxNumber",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(t,n,a,o){function i(t){if(t){var n=e("date")(t,c),a=e("date")(g,c),o=n>=a;r.$setValidity(s,o),l.changeStateOfInput(u,s,o,g,d)}return t}if("date"!=a.type)throw"Esta diretiva suporta apenas inputs do tipo date";if(!a.gumgaMinDate)throw"O valor da diretiva gumga-min-date não foi informado.";var r=o[0],l=o[1],s="mindate",c="yyyy-MM-dd",u=a.name,d=a.field,g=a.gumgaMinDate;r.$parsers.unshift(i),r.$formatters.push(i),a.$observe("gumgaMinDate",function(){i(r.$viewValue)})}}}e.$inject=["$filter"],angular.module("gumga.directives.form.min.date",[]).directive("gumgaMinDate",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=e.length>=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if(!n.gumgaMinLength)throw"O valor da diretiva gumga-min-length não foi informado.";var i=a[0],r=a[1],l="minlength",s=n.name,c=n.field,u=parseInt(n.gumgaMinLength);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMinLength",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.min.length",[]).directive("gumgaMinLength",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=parseInt(e)>=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if("number"!=n.type)throw"Esta diretiva suporta apenas inputs do tipo number";if(!n.gumgaMinNumber)throw"O valor da diretiva gumga-min-number não foi informado.";var i=a[0],r=a[1],l="minnumber",s=n.name,c=n.field,u=parseInt(n.gumgaMinNumber);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMinNumber",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.min.number",[]).directive("gumgaMinNumber",e)}(),function(){function e(e){return{restrict:"A",scope:!1,require:"^?gumgaForm",link:function(e,t,n,a){if(!n.gumgaModelError)throw'gumgaModelError precisa de um objeto de configuração, veja na documentação';var o=e[n.gumgaModelError];if(!o.hasOwnProperty("ngModel"))throw'O Objeto de configuração precisa ter o atributo ngModel, veja na documentação';if(!o.hasOwnProperty("options"))throw'O Objeto de configuração precisa ter o atributo options, veja na documentação';var i=function(e){if(o.options.hasOwnProperty("empty")){var t=!(void 0==e||""==e||0==e.length);a.updateFormErrors(o.ngModel,"empty",t,o.options.empty.message)}},r=function(e){var t=!(e!==Object(e));a.updateFormErrors(o.ngModel,"type",t,o.options.message)},l=function(e){var t=Array.isArray(e);a.updateFormErrors(o.ngModel,"type",t,o.options.message)},s=function(e){i(e),r(e)},c=function(e){if(o.options.hasOwnProperty("min")){var t=!(e.lengtho.options.max.value);a.updateFormErrors(o.ngModel,"max",t,o.options.max.message)}},d=function(e){i(e),c(e),u(e),l(e)},g=function(e){switch(o.options.type.toLowerCase().trim()){case"object":s(e);break;case"array":d(e)}};e.$watch(o.ngModel,function(t){g(t),e.$broadcast("form-changed")},!0)}}}e.$inject=["$compile"],angular.module("gumga.directives.form.modelerror",[]).directive("gumgaModelError",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=u.test(e);i.$setValidity(l,t),r.changeStateOfInput(s,l,t,n.gumgaPattern,c)}return e}if(!n.gumgaPattern)throw"O valor da diretiva gumga-pattern não foi informado.";var i=a[0],r=a[1],l="pattern",s=n.name,c=n.field,u=new RegExp("^"+n.gumgaPattern+"$");i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaPattern",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.pattern",[]).directive("gumgaPattern",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","^?gumgaForm"],link:function(t,n,a,o){function i(t){if(t){var n=e("date")(t,c),o=n>=p&&n<=m;u.$setValidity(r,o),d.changeStateOfInput(s,r,o,a.gumgaRangeDate,l)}return t}if("date"!=a.type)throw"Esta diretiva suporta apenas inputs do tipo date";if(!a.gumgaRangeDate)throw"O valor da diretiva gumga-range-date não foi informado.";var r="rangedate",l=a.field,s=a.name,c="yyyy-MM-dd",u=o[0],d=o[1],g=t.$eval(a.gumgaRangeDate),p=e("date")(g.min,c),m=e("date")(g.max,c);u.$parsers.unshift(i),u.$formatters.push(i),a.$observe("gumgaRangeDate",function(e){return i(u.$viewValue)})}}}e.$inject=["$filter"],angular.module("gumga.directives.form.range.date",[]).directive("gumgaRangeDate",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","^?gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=parseInt(e),a=t>=s.min&&t<=s.max;r.$setValidity(i,a),l.changeStateOfInput(u,i,a,n.gumgaRangeNumber,c)}return e}if("number"!=n.type)throw"Esta diretiva suporta apenas inputs do tipo number";if(!n.gumgaRangeNumber)throw"O valor da diretiva gumga-range-number não foi informado.";var i="rangenumber",r=a[0],l=a[1],s=e.$eval(n.gumgaRangeNumber),c=n.field,u=n.name;r.$parsers.unshift(o),r.$formatters.push(o),n.$observe("gumgaRangeNumber",function(e){return o(r.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.range.number",[]).directive("gumgaRangeNumber",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","^?gumgaForm"],link:function(t,n,a,o){function i(n){var o=0==a.gumgaRequired.length?!!(n&&n.length>0):!!e(a.gumgaRequired)(t);return u.changeStateOfInput(l,r,o,null,s),c.$setValidity(r,o),n}var r="required",l=a.name,s=a.field,c=o[0],u=o[1];!function(){var n=0==a.gumgaRequired.length?!!(c.$viewValue&&c.$viewValue.length>0):!!e(a.gumgaRequired)(t);u.changeStateOfInput(l,r,n,null,s),c.$setValidity(r,n)}(),c.$parsers.unshift(i),c.$formatters.push(i),a.$observe("gumgaRequired",function(e){return i(c.$viewValue)})}}}e.$inject=["$interpolate"],angular.module("gumga.directives.form.required",[]).directive("gumgaRequired",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var n=t[0].validity.valid;l.$setValidity(r,n),s.changeStateOfInput(u,r,n,i,c)}return e}var i=void 0,r="validatetype",l=a[0],s=a[1],c=n.field,u=n.name;switch(n.type){case"date":i="data";break;case"datetime-local":i="data e hora";break;case"time":i="hora";break;case"week":i="semana";break;case"month":i="mês";break;case"number":i="número";break;case"url":i="URL";break;case"email":i="e-mail";break;default:i="unknown"}if("unknown"==i)throw"Esta diretiva suporta apenas inputs dos tipos date, datetime-local, time, week, month, number, url e email.";l.$parsers.unshift(o),l.$formatters.push(o),n.$observe("gumgaValidateType",function(e){return o(l.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.validate.type",[]).directive("gumgaValidateType",e)}(),function(){function e(){var e='
';return{restrict:"E",template:e,scope:{attr:"@",label:"@translate",hql:"@",value:"=",index:"=",disabled:"="},link:function(e,t,n){n.disabled||(e.disabled=!1),e.bol=!1,e.orOrAnd=function(){"string"!=typeof e.value||"OU"!==e.value.toUpperCase()||e.hql?"E"!==e.value.toUpperCase()||e.hql||(e.value="OU"):e.value="E"},e.emitDelete=function(){e.$emit("deletepls",e.index)},e.getVisibility=function(e){return!("E"==e||"OU"==e)}}}}e.$inject=[],angular.module("gumga.directives.search.advancedlabel",[]).directive("gumgaAdvancedLabel",e)}(),function(){function e(e){function t(t,n,a,o){function i(n){var a=JSON.parse(n.value);t.$emit("advanced",{hql:e.translateArrayToHQL(a),source:a})}if(!t.$parent.normalFields.length>0||!t.$parent.entityToTranslate)throw"Missing some parameters in GumgaSearch";t.searchField="",t.translate=t.$parent.entityToTranslate,t.models={},t.isPanelOpen=!1,t.selectHQL=!1,t.attributes=t.$parent.attributes,t.hqlOpts=[],t.queries=[],t.doQuery=i,t.$on("_doSearch",function(){return 0!=t.queries.length?void t.showArray(t.queries):void(t.searchInputText&&t.doSearch(t.searchInputText))}),t.$on("_focus",function(){return t.isPanelOpen?void document.getElementById("selectableAdvancedValue").focus():void document.getElementById("textMain").focus()}),t.normalFields=t.$parent.normalFields.map(function(e,n){var a=!1;return t.attributes.forEach(function(e){e.selected&&(a=!0)}),a?t.models[e]=t.attributes[n].selected||!1:(t.models[e]=!1,0==n&&(t.models[e]=!0)),{name:e.slice(0,1).toUpperCase()+e.slice(1,e.length).toLowerCase(),value:e}}),t.$on("showPanel",function(){t.isPanelOpen=!t.isPanelOpen,t.$apply()}),t.models.returnString=function(){var e="";for(var n in this)this.hasOwnProperty(n)&&"returnString"!=n&&this[n]&&(e+=n+",");return 0==e.length?t.normalFields[0].value:e.slice(0,-1)},t.$watch("isPanelOpen",function(){t.isPanelOpen===!0?t.selectAttribute=!0:t.queries=[],t.query={}}),t.attributeHasChanged=function(n){switch(t.query.attribute=n,n.type){case"boolean":t.typeInput="checkbox";break;case"array":t.typeInput="array";break;default:t.typeInput="text"}try{t.hqlOpts=e.getTypeListOfHQLPossibilities(n.type)}catch(a){}"array"==t.typeInput&&angular.element(document.getElementById("")),t.selectHQL=!0,t.selectAttribute=!1},t.handleHqlOption=function(e){t.query.hql=e,t.selectHQL=!1},angular.element(document.getElementById("selectableAdvancedValue")).on("keydown",function(e){13==e.keyCode&&e.target.value.length>0&&t.addQuery(t.query),t.$apply()}),angular.element(document.getElementById("textMain")).on("keydown",function(e){13==e.keyCode&&e.target.value.length>0&&(t.$emit("normal",{field:t.models.returnString(),param:t.searchInputText||""}),t.littlePanelAppears&&(t.littlePanelAppears=!t.littlePanelAppears))}),t.addQuery=function(e){t.query.value&&t.query.hql&&t.query.attribute&&(0===t.queries.length?t.queries.push(e):t.queries.length>=1&&t.queries.splice(t.queries.length,1,{value:"E"},e),t.query={},t.typeInput="text")},t.$on("deletepls",function(e,n){0==n&&1==t.queries.length?t.queries.splice(n,1):0==n&&t.queries.length>2?t.queries.splice(n,2):n>0&&t.queries.length>2&&t.queries.splice(n-1,2)}),t.showArray=function(n){t.isPanelOpen=!1,t.$emit("advanced",{hql:e.translateArrayToHQL(n),source:n})},t.doSearch=function(e,n){n||t.$emit("normal",{field:t.models.returnString(),param:e||""}),n&&13==n.keyCode&&t.$emit("normal",{field:t.models.returnString(),param:e||""})},t.attributes.forEach(function(e){"array"==e.type&&(e.data=e.data.map(function(t){return t[e.arrayItemContent]}))})}var n='\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n \n \n \n\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n \t\t\t\t\t\n \t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t \t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t';return{restrict:"E",template:n,scope:!1,require:"^?gumgaSearch",link:t}}e.$inject=["GumgaSearchHelper"],angular.module("gumga.directives.search.advancedsearch",["gumga.directives.search.searchhelper","gumga.translate.filter.filter"]).directive("gumgaAdvancedSearch",e)}(),function(){function e(){var e='
';return{restrict:"E",template:e,link:function(e,t,n){if(!e.$parent.normalFields.length>0||!e.$parent.entityToTranslate)throw"Missing some parameters in GumgaSearch";e.models={},e.searchField="",e.translate=e.$parent.entityToTranslate,e.normalFields=e.$parent.normalFields.map(function(t,n){return e.models[t]=!1,0==n&&(e.models[t]=!0),{name:t.slice(0,1).toUpperCase()+t.slice(1,t.length).toLowerCase(),value:t}}),e.models.returnString=function(){var t="";for(var n in this)this.hasOwnProperty(n)&&"returnString"!=n&&this[n]&&(t+=n+",");return 0==t.length?e.normalFields[0].value:t.slice(0,-1)},t.find("input").bind("keypress",function(t){13==t.keyCode&&e.searchField.length>0&&(e.$emit("normal",{field:e.models.returnString(),param:e.searchField}),e.showLittlePanel&&(e.showLittlePanel=!e.showLittlePanel))}),e.doSearch=function(t,n){n||e.$emit("normal",{field:e.models.returnString(),param:t||""}),n&&13==n.keyCode&&e.$emit("normal",{field:e.models.returnString(),param:t||""})}}}}e.$inject=[],angular.module("gumga.directives.search.normalsearch",[]).directive("gumgaNormalSearch",e)}(),function(){function e(){var e='
';return{restrict:"E",template:e,transclude:!0,priority:50,scope:{advanced:"&advancedMethod",normal:"&searchMethod",onSearch:"&",onAdvancedSearch:"&",getQueries:"&?"},link:function(e,t,n,a,o){if(e.adv=!1,e.attributes=[],e.normalFields=n.fields.split(","),e.entityToTranslate=n.translateEntity,e.$parent.searchQueries=[],e.availableQueries=[],e.saveQuery=!1,n.getQueries){e.saveQuery=!0;try{e.getQueries({page:location.hash}).then(function(t){e.availableQueries=t})}catch(i){throw"The return from getQueries must be asynchronous"}}var r={search:n.onSearch?e.onSearch:angular.noop,advanced:n.onAdvancedSearch?e.onAdvancedSearch:angular.noop};"true"===n.advanced&&(e.adv=!0),e.getAttributes=function(){o(function(t){angular.forEach(t,function(t){if("ADVANCED-FIELD"==t.nodeName){var n={name:t.getAttribute("name"),type:t.getAttribute("type"),selected:"true"==t.getAttribute("selected"),translate:t.getAttribute("translate")||t.getAttribute("name")};"array"==t.getAttribute("type").trim().toLowerCase()&&(n.data=e.$parent[t.getAttribute("data")]||[],n.arrayItemContent=t.getAttribute("array-item-content")),e.attributes.push(n)}})})},e.$on("advanced",function(t,n){e.$parent.searchQueries=[],e.$parent.searchQueries=n.source,e.advanced({param:n}),r.advanced()}),e.$on("normal",function(t,n){e.normal({field:n.field,param:n.param}),r.search()}),e.getAttributes()}}}e.$inject=[],angular.module("gumga.directives.search.search",[]).directive("gumgaSearch",e)}(),function(){function e(){var e={string:{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"},{hql:"ne",label:"diferente de",before:"!='",after:"'"},{hql:"contains",label:"contém",before:" like '%",after:"%'"},{hql:"not_contains",label:"não contém",before:" not like '%",after:"%'"},{hql:"starts_with",label:"começa com",before:" like '",after:"%'"},{hql:"ends_with",label:"termina com",before:" like '%",after:"'"},{hql:"ge",label:"maior igual",before:">='",after:"'"},{hql:"le",label:"menor igual",before:"<='",after:"'"}]},number:{HQLPossibilities:[{hql:"eq",label:"igual",before:"=",after:""},{hql:"ne",label:"diferente de",before:"!=",after:""},{hql:"gt",label:"maior que",before:">",after:""},{hql:"ge",label:"maior igual",before:">=",after:""},{hql:"lt",label:"menor que",before:"<",after:""},{hql:"le",label:"menor igual",before:"<=",after:""}]},money:{HQLPossibilities:[{hql:"eq",label:"igual",before:"=",after:""},{hql:"ne",label:"diferente de",before:"!=",after:""},{hql:"gt",label:"maior que",before:">",after:""},{hql:"ge",label:"maior igual",before:">=",after:""},{hql:"lt",label:"menor que",before:"<",after:""},{hql:"le",label:"maior igual",before:"<=",after:""}]},"boolean":{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"}]},date:{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"},{hql:"ge",label:"maior igual",before:">='",after:"'"},{hql:"le",label:"menor igual",before:"<='",after:"'"}]},array:{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"},{hql:"ne",label:"diferente de",before:"!='",after:"'"}]}};return{getTypeListOfHQLPossibilities:function(t){if(angular.isDefined(e[t]))return e[t].HQLPossibilities;throw"Type doesn't exist"},translateArrayToHQL:function(e){return e.map(function(e){return(angular.isDefined(e.attribute)?"obj."+e.attribute.name:"*")+""+(angular.isDefined(e.hql)?e.hql.before:" *")+e.value+(angular.isDefined(e.hql)?e.hql.after:" *")}).map(function(e){return e.indexOf("*")!=-1?e.replace(/\*/g,""):e}).join("")}}}e.$inject=[],angular.module("gumga.directives.search.searchhelper",[]).factory("GumgaSearchHelper",e)}(),function(){function e(e,t,n){return{restrict:"AEC",scope:!1,priority:9999,link:function(n,a,o){var i=o.gumgaTranslate.toLowerCase()||navigator.language.toLowerCase();e.get("./i18n/"+i+".json").then(function(e){t.setTranslators(i,e.data)})}}}e.$inject=["$http","TranslateHelper","$timeout"],angular.module("gumga.directives.translate.translate",["gumga.directives.translate.translatehelper"]).directive("gumgaTranslate",e)}(),function(){function e(e){return{translators:{},setTranslators:function(e,t){function n(e,t){for(var o in e)e.hasOwnProperty(o)&&("object"==typeof e[o]?n(e[o],t+"."+o):a.translators[(t+"."+o).substring(1).toLowerCase()]=e[o])}var a=this;n(t,""),sessionStorage.setItem("language",angular.toJson(this.translators))},returnTranslation:function(e){return this.translators[e.toLowerCase().replace(/\s/g,"")]}}}e.$inject=["$timeout"],angular.module("gumga.directives.translate.translatehelper",[]).factory("TranslateHelper",e)}(),function(){function e(e,t,n){return{restrict:"A",link:function(a,o,i){if(!i.gumgaTranslateTag)throw"You must pass a valid value to gumgaTranslateTag";n(function(){var n=e.returnTranslation(i.gumgaTranslateTag)||i.gumgaTranslateTag;o[0].childNodes.length>0&&"#text"!=o[0].childNodes[0].nodeName?(a.child=o[0].childNodes[0],o[0].innerHTML=n,o.append(t(a.child)(a))):o[0].innerHTML=n||o[0].innerHTML})}}}e.$inject=["TranslateHelper","$compile","$timeout"],angular.module("gumga.directives.translate.translatetag",["gumga.directives.translate.translatehelper"]).directive("gumgaTranslateTag",e)}(),controller.$inject=["$scope","$element","$attrs","$transclude","$q","$rootScope"],gumgaTag.$inject=[],angular.module("gumga.tag.tag",[]).directive("gumgaTag",gumgaTag),gumgaTagColumn.$inject=[],angular.module("gumga.tag.column",[]).directive("gumgaTagColumn",gumgaTagColumn),gumgaUnityTag.$inject=["$templateCache","$compile","$rootScope","$timeout"],angular.module("gumga.tag.unity",[]).directive("gumgaUnityTag",gumgaUnityTag); \ No newline at end of file +"use strict";function QueryModelFactory(){function e(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=arguments.length<=1||void 0===arguments[1]||arguments[1],n=arguments.length<=2||void 0===arguments[2]?"NOTHING":arguments[2],a=arguments.length<=3||void 0===arguments[3]?999:arguments[3];this.STATES=Object.freeze({NOTHING:1,ONLY_ATTRIBUTE:2,ATTRIBUTE_AND_CONDITION:4,EVERYTHING_NEEDED:8,UPDATING_ATTRIBUTE:16,UPDATING_CONDITION:32,UPDATING_VALUE:64}),this.query=e,this.active=t,this.activeStates=this.STATES[n],this.zIndex=a}return e.prototype.addState=function(e){return this.activeStates|=this.STATES[e],this},e.prototype.removeState=function(e){return this.activeStates&=~this.STATES[e],this},e.prototype.isNOTHING=function(){return 0!=(this.activeStates&this.STATES.NOTHING)},e.prototype.isONLY_ATTRIBUTE=function(){return 0!=(this.activeStates&this.STATES.ONLY_ATTRIBUTE)},e.prototype.isATTRIBUTE_AND_CONDITION=function(){return 0!=(this.activeStates&this.STATES.ATTRIBUTE_AND_CONDITION)},e.prototype.isEVERYTHING_NEEDED=function(){return 0!=(this.activeStates&this.STATES.EVERYTHING_NEEDED)},e.prototype.isUPDATING_ATTRIBUTE=function(){return 0!=(this.activeStates&this.STATES.UPDATING_ATTRIBUTE)},e.prototype.isUPDATING_CONDITION=function(){return 0!=(this.activeStates&this.STATES.UPDATING_CONDITION)},e.prototype.isUPDATING_VALUE=function(){return 0!=(this.activeStates&this.STATES.UPDATING_VALUE)},e.prototype.isBeingUpdated=function(){return this.isUPDATING_VALUE()},{create:function(){for(var t=arguments.length,n=Array(t),a=0;a\n '+t+"\n \n \n \n ";return e?n:t}function t(e){return e.headers?"\n \n \n "+n(e.columnsConfig)+"\n \n \n ":""}function n(){var t=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];arguments.length<=1||void 0===arguments[1]||arguments[1];return t.reduce(function(t,n){return t+='\n \n \n '+e(n.sortField,n.title)+"\n \n "}," ")}function a(e){return e.reduce(function(e,t){return e+='\n "+t.content+""}," ")}function o(e,n){return e.checkbox&&e.columnsConfig.unshift({title:'",name:"$checkbox",content:'',size:"col-md-1",conditional:angular.noop}),"\n "+(e.itemsPerPage.length>0?i:" ")+'\n
\n \n \n \n '+t(e)+'\n \n \n \n \n '+a(e.columnsConfig)+"\n \n \n
\n
"}var i='\n
\n
\n
\n \n
\n
\n
\n \n
\n
';return{mountTable:o}}function TranslateFilter(e,t){return function(t,n){if(t){if(!angular.isString(t))throw"É necessário passar uma string para o filtro gumgaTranslate";var a=n?n.toLowerCase().concat(".").concat(t?t.toLowerCase():" "):t?t.toLowerCase():" ";return e.returnTranslation(a)||t}return t}}function HQLFactory(e){function t(e){return g[e]||null}function n(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.contains={hql:" contains ",label:" contém ",before:" like '%",after:"%'"},t.not_contains={hql:" not_contains ",label:" não contém ",before:" not like '%",after:"%'"},t.starts_with={hql:" starts_with ",label:" começa com ",before:" like '",after:"%'"},t.ends_with={hql:" ends_with ",label:" termina com ",before:" like '%",after:"'"},t.eq={hql:" eq ",label:" igual ",before:" = '",after:"'"},t.ne={hql:" ne ",label:" diferente de ",before:" != '",after:"'"},t.ge={hql:" ge ",label:" maior igual ",before:" >= '",after:"'"},t.gt={hql:" gt ",label:" maior que ",before:" > ",after:""},t.le={hql:" le ",label:" menor igual ",before:" <= ",after:""},t.lt={hql:" lt ",label:" menor que ",before:" < '",after:"'"},t["in"]={hql:" in ",label:" em",before:" in (",after:")"},t.is={hql:" is ",label:" está ",before:" is ",after:""},t.date_eq={hql:" eq ",label:" igual ",before:" >= ",after:""},t.date_ne={hql:" ne ",label:" diferente de ",before:" <= ",after:""},e.map(function(e){return t[e]})}function a(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=[],n=Object.keys(e).filter(function(t){return e[t].active&&e[t].query.value}).map(function(n){var a="obj.".concat(e[n].query.attribute?e[n].query.attribute.field:"*"),o=e[n].query.condition?e[n].query.condition.before:"*",i=e[n].query.value.replace?e[n].query.value.replace(/'/g,"''"):e[n].query.value,r=e[n].query.condition?e[n].query.condition.after:"*";if(e[n].query.attribute)switch(e[n].query.attribute.type){case"date":var l=i.split("");i=""+l[4]+l[5]+l[6]+l[7]+"-"+l[2]+l[3]+"-"+l[0]+l[1];var s="'"+i+" 00:00:00'",c="'"+i+" 23:59:59'";switch(e[n].query.condition.hql){case" eq ":i=s+" AND "+a+" <= "+c;break;case" ne ":i=s+" OR "+a+" >= "+c;break;case" le ":i=c;break;case" gt ":i=c}i=i;break;case"enum":i="'"+e[n].query.value.join("','")+"'";break;case"number":case"float":case"money":o=o.replace(/'/g,""),r=r.replace(/'/g,"")}return t.push({attribute:e[n].query.attribute,condition:e[n].query.condition,value:e[n].query.value.replace?e[n].query.value.replace(/'/g,"''"):e[n].query.value}),a.concat(o).concat(i).concat(r).replace(/obj.\*/g,"").replace(/\*/g,"")}).filter(function(e,t,n){var a=["OR","AND"];if(a.indexOf(e)===-1)return!0;var o=n[t-1],i=n[t+1];return void 0!==o&&a.indexOf(o)===-1&&void 0!==i&&a.indexOf(i)===-1}).join(" ");return"ND"===n.slice(-2)||"OR"===n.slice(-2)?(t.pop(),{hql:n.slice(0,-3),source:JSON.stringify(t)}):n?{hql:n,source:JSON.stringify(t)}:{}}function o(){var e=arguments.length<=0||void 0===arguments[0]?" ":arguments[0];return g[e]?g[e].validator:angular.noop}var i=/[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}/,r=/[0-9]{2}\.?[0-9]{3}\.?[0-9]{3}\/?[0-9]{4}\-?[0-9]{2}/,l=/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/,s=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,c=/(?:[0-9]{1,3}\.){3}[0-9]{1,3}/,u=/^[0-9]+$/,d=/^[0-9]+(\.[0-9]{1,2})?$/,g={};g.string={validator:function(e){return"string"==typeof e||e instanceof String},defaultCondition:n(["contains"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.number={validator:function(e){return u.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g["float"]={validator:function(e){return d.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.money={validator:function(e){return d.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.cpf={validator:function(e){return i.test(p.toCpf(e))},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.cnpj={validator:function(e){return r.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g["boolean"]={validator:function(e){return"true"==e||"false"==e},defaultCondition:n(["is"]),conditions:n(["is"]),template:'
'},g.date={validator:function(t){return l.test(e("date")(t,"dd/MM/yyyy"))},defaultCondition:n(["date_eq"]),conditions:n(["date_eq","date_ne","gt","ge","lt","le"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.select={validator:function(e){return!!e},defaultCondition:n(["eq"]),conditions:n(["eq","ne"]),template:''},g["enum"]={validator:function(e){return Array.isArray(e)},defaultCondition:n(["in"]),conditions:n(["in"]),template:'
{{d.label}}
'},g.email={validator:function(e){return"string"==typeof e||e instanceof String},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.url={validator:function(e){return s.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'},g.ip={validator:function(e){return c.test(e)},defaultCondition:n(["eq"]),conditions:n(["eq","ne","contains","not_contains","starts_with","ends_with"]),template:'
\n \n
\n \n \n
\n
\n \n
\n
'};var p={toCpf:function(e){var t=e+"";return t.replace(/\D/g,"").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2")}};return{useType:t,hqlObjectCreator:n,createHql:a,validator:o}}function Popover(){}function controller(e,t,n,a,o,i){function r(e,t){var n=this,a=void 0,o=void 0;return"right"==e?(o=angular.copy(this.selectedArray),o.push(this.getValueFromAvailable(t)),this.updateObject(o).updateSelected([this.getValueFromAvailable(t)]),a=function(e){return n.updateAvailable(n.availableArray)},this.emit(t)):(this.selectedArray.splice(this.getIndexFromSelected(t),1),this.updateObject(this.selectedArray),a=function(e){n.searchAvailable(e).then(function(e){return n.updateAvailable(e.data?e.data.values:e)})}),a}function l(){return this.availableArray}function s(){var e="{{$value.definition}}";return a(function(t){angular.forEach(t,function(t){var n=angular.element(t)[0];"TAG-CONTENT"==n.nodeName&&(e=n.innerText)})}),e}function c(){return this.dragElement}function u(e){return this.availableArray.filter(function(t){return t.definition.name==e})[0]}function d(e){for(var t=void 0,n=0,a=this.selectedArray.length;n\n \t\t\n \t'}," ")}function r(){o.setActive(),o.cleanPopovers(),e.hasValues()||o.removeMe(e.name)}function l(e){return e.replace(/[^a-zA-Z ]/g,"").replace(/\s/g,"")}function s(t){o.cleanPopovers(),o.setActive(t),e.oldAttributes=angular.copy(e.attributes)}function c(e){n.find("div").remove()}function u(){arguments.length<=0||void 0===arguments[0]?{}:arguments[0];o.setActive(),o.cleanPopovers(),d(e.attributes)}function d(){var t=arguments.length<=0||void 0===arguments[0]?[]:arguments[0];e.tooltip=t.reduce(function(e,t){return e+="\n\n\n ["+t.name+" "+(t.value?": "+t.value:"")+"]"}," ")}function g(){return o.getActive()===e.name?"true":""}function p(){return e.attributes=e.attributes||[],e.attributes.filter(function(e){return!!e.value}).length>0}a.$set("draggable",!0);var m='\n \n\t\t\t\t",n.append(e(u)(t))}}}e.$inject=["$compile"],angular.module("gumga.directives.form.errors",["ui.bootstrap"]).directive("gumgaErrors",e)}(),function(){function e(){return{restrict:"A",scope:!1,priority:501,require:"form",transclude:!1,controller:["$scope","$element","$attrs","$timeout",function(e,t,n,a){function o(e,t){if(!e)throw"É necessário passar o nome do input [changeInputMessage(inputName, messages)]";if(!t)throw"É necessário passar um objeto com as mensagens [changeInputMessage(inputName, messages)]";var n=Object.keys(t).filter(function(e){return!g[e]}),a=n.length>1;if(n.length>0)throw(a?"Os":"O")+" "+(a?"tipos":"tipo")+" de validação "+(a?n.join(","):n)+" não "+(a?"existem":"existe")+".";return d.customMessage[e]=t,this}function i(t,n,a,o,i){if(i=i||t,!t)throw"É necessário passar um valor válido como primeiro parâmetro [changeStateOfInput(inputName, validationType, inputIsValid, value)]";if(!n)throw"É necessário passar um valor válido como segundo parâmetro [changeStateOfInput(inputName, validationType, inputIsValid, value)]";if(a!==!0&&a!==!1)throw"É necessário passar um booleano como terceiro parâmetro [changeStateOfInput(inputName, validationType, inputIsValid, value)]";var r=d.customMessage[t]?d.customMessage[t]:{},l=r[n]?r[n]:g[n],s=l.replace("{0}",i).replace("{1}",n.indexOf("range")!=-1?"mínimo de "+o[0]+" e máximo de "+o[1]:o),c=void 0;return c=a?{validationType:n}:{message:s,validationType:n},this.updateFormErrors(t,n,a,s),e.$broadcast("form-changed"),e.$broadcast(t+"-"+(a?"":"in")+"valid",c),this}function r(){return angular.copy(g)}function l(){return angular.copy(d.formErrors)}function s(){return n.name}function c(e,t,n,a){var o=d.formErrors;return o[e]&&o[e][t]&&n===!0?(delete o[e][t],this):o[e]&&o[e][t]?this:(d.formErrors[e]||(d.formErrors[e]={}),n||(d.formErrors[e][t]=a),this)}function u(){var t=this,o=arguments.length<=0||void 0===arguments[0]||arguments[0];a(function(){var a=e[n.name].$error,i=[];return Object.keys(a).forEach(function(e){return a[e].forEach(function(t,n){i.push(t),n==a[e].length-1&&(i.forEach(function(t){return t.$setValidity(e,o)}),i=[])})}),t})}var d=this,g={maxdate:"A data especificada no campo {0} não deve ultrapassar o limite de: {1}.",maxlength:"O texto especificado no campo {0} não deve ultrapassar o limite de: {1}.",maxnumber:"O número especificado no campo {0} não deve ultrapassar o limite de: {1}.",mindate:"A data especificada no campo {0} não deve ser menor que o limite mínimo de: {1}.",minlength:"O texto especificado no campo {0} não deve ser menor que o limite mínimo de: {1}.",minnumber:"O número especificado no campo {0} não deve ser menor que o limite mínimo de: {1}.",pattern:"O texto especificado no campo {0} deve estar dentro do padrão: {1}.",rangedate:"A data especificada no campo {0} deve estar dentro do intervalo: {1}.",rangenumber:"O número especificado no campo {0} deve estar dentro do intervalo: {1}.",validatetype:"O valor digitado no campo {0} deve ser do tipo: {1}",required:"O campo {0} é obrigatório."};d.customMessage={},d.formErrors={},d.changeInputMessage=o,d.changeStateOfInput=i,d.getDefaultMessages=r,d.getFormErrors=l,d.getFormName=s,d.setFormValidity=u,d.updateFormErrors=c}]}}e.$inject=[],angular.module("gumga.directives.form.form",[]).directive("gumgaForm",e)}(),function(){function e(e){function t(e,t,n){function a(e,t){for(var n=!0;n;){var a=e,o=t;n=!1;{if(o.nodeName.toLowerCase()==a)return o;e=a,t=o.parentNode,n=!0}}}if(!n.gumgaFormClass)throw"É necessário passar para a directive gumgaFormClass o nome do input com o qual ela está relacionada.";var o=t[0].outerHTML.split("\n")[0].indexOf("valid-green")!=-1,i=a("form",t[0]).name,r=n.gumgaFormClass;e.$watch(i+"."+r+".$invalid",function(){try{if(e[i][r].$valid)return void n.$set("class",o?"form-group has-success":"form-group");n.$set("class","form-group has-error")}catch(t){console.error("O componente GumgaFormClass necessita que o nome passada como parâmetro seja igual ao nome do input.")}})}var n={restrict:"A",link:t,scope:!1};return n}e.$inject=["$compile"],angular.module("gumga.directives.form.class",[]).directive("gumgaFormClass",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(t,n,a,o){function i(t){if(t){var n=e("date")(t,c),a=e("date")(g,c),o=n<=a;r.$setValidity(s,o),l.changeStateOfInput(u,s,o,g,d)}return t}if("date"!=a.type)throw"Esta diretiva suporta apenas inputs do tipo date";if(!a.gumgaMaxDate)throw"O valor da diretiva gumga-max-date não foi informado.";var r=o[0],l=o[1],s="maxdate",c="yyyy-MM-dd",u=a.name,d=a.field,g=a.gumgaMaxDate;r.$parsers.unshift(i),r.$formatters.push(i),a.$observe("gumgaMaxDate",function(){i(r.$viewValue)})}}}e.$inject=["$filter"], +angular.module("gumga.directives.form.max.date",[]).directive("gumgaMaxDate",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=e.length<=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if(!n.gumgaMaxLength)throw"O valor da diretiva gumga-max-length não foi informado.";var i=a[0],r=a[1],l="maxlength",s=n.name,c=n.field,u=parseInt(n.gumgaMaxLength);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMaxLength",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.max.length",[]).directive("gumgaMaxLength",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=parseInt(e)<=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if("number"!=n.type)throw"Esta diretiva suporta apenas inputs do tipo number";if(!n.gumgaMaxNumber)throw"O valor da diretiva gumga-max-number não foi informado.";var i=a[0],r=a[1],l="maxnumber",s=n.name,c=n.field,u=parseInt(n.gumgaMaxNumber);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMaxNumber",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.max.number",[]).directive("gumgaMaxNumber",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(t,n,a,o){function i(t){if(t){var n=e("date")(t,c),a=e("date")(g,c),o=n>=a;r.$setValidity(s,o),l.changeStateOfInput(u,s,o,g,d)}return t}if("date"!=a.type)throw"Esta diretiva suporta apenas inputs do tipo date";if(!a.gumgaMinDate)throw"O valor da diretiva gumga-min-date não foi informado.";var r=o[0],l=o[1],s="mindate",c="yyyy-MM-dd",u=a.name,d=a.field,g=a.gumgaMinDate;r.$parsers.unshift(i),r.$formatters.push(i),a.$observe("gumgaMinDate",function(){i(r.$viewValue)})}}}e.$inject=["$filter"],angular.module("gumga.directives.form.min.date",[]).directive("gumgaMinDate",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=e.length>=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if(!n.gumgaMinLength)throw"O valor da diretiva gumga-min-length não foi informado.";var i=a[0],r=a[1],l="minlength",s=n.name,c=n.field,u=parseInt(n.gumgaMinLength);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMinLength",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.min.length",[]).directive("gumgaMinLength",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=parseInt(e)>=u;i.$setValidity(l,t),r.changeStateOfInput(s,l,t,u,c)}return e}if("number"!=n.type)throw"Esta diretiva suporta apenas inputs do tipo number";if(!n.gumgaMinNumber)throw"O valor da diretiva gumga-min-number não foi informado.";var i=a[0],r=a[1],l="minnumber",s=n.name,c=n.field,u=parseInt(n.gumgaMinNumber);i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaMinNumber",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.min.number",[]).directive("gumgaMinNumber",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=u.test(e);i.$setValidity(l,t),r.changeStateOfInput(s,l,t,n.gumgaPattern,c)}return e}if(!n.gumgaPattern)throw"O valor da diretiva gumga-pattern não foi informado.";var i=a[0],r=a[1],l="pattern",s=n.name,c=n.field,u=new RegExp("^"+n.gumgaPattern+"$");i.$parsers.unshift(o),i.$formatters.push(o),n.$observe("gumgaPattern",function(e){return o(i.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.pattern",[]).directive("gumgaPattern",e)}(),function(){function e(e){return{restrict:"A",scope:!1,require:"^?gumgaForm",link:function(e,t,n,a){if(!n.gumgaModelError)throw'gumgaModelError precisa de um objeto de configuração, veja na documentação';var o=e[n.gumgaModelError];if(!o.hasOwnProperty("ngModel"))throw'O Objeto de configuração precisa ter o atributo ngModel, veja na documentação';if(!o.hasOwnProperty("options"))throw'O Objeto de configuração precisa ter o atributo options, veja na documentação';var i=function(e){if(o.options.hasOwnProperty("empty")){var t=!(void 0==e||""==e||0==e.length);a.updateFormErrors(o.ngModel,"empty",t,o.options.empty.message)}},r=function(e){var t=!(e!==Object(e));a.updateFormErrors(o.ngModel,"type",t,o.options.message)},l=function(e){var t=Array.isArray(e);a.updateFormErrors(o.ngModel,"type",t,o.options.message)},s=function(e){i(e),r(e)},c=function(e){if(o.options.hasOwnProperty("min")){var t=!(e.lengtho.options.max.value);a.updateFormErrors(o.ngModel,"max",t,o.options.max.message)}},d=function(e){i(e),c(e),u(e),l(e)},g=function(e){switch(o.options.type.toLowerCase().trim()){case"object":s(e);break;case"array":d(e)}};e.$watch(o.ngModel,function(t){g(t),e.$broadcast("form-changed")},!0)}}}e.$inject=["$compile"],angular.module("gumga.directives.form.modelerror",[]).directive("gumgaModelError",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","^?gumgaForm"],link:function(t,n,a,o){function i(t){if(t){var n=e("date")(t,c),o=n>=p&&n<=m;u.$setValidity(r,o),d.changeStateOfInput(s,r,o,a.gumgaRangeDate,l)}return t}if("date"!=a.type)throw"Esta diretiva suporta apenas inputs do tipo date";if(!a.gumgaRangeDate)throw"O valor da diretiva gumga-range-date não foi informado.";var r="rangedate",l=a.field,s=a.name,c="yyyy-MM-dd",u=o[0],d=o[1],g=t.$eval(a.gumgaRangeDate),p=e("date")(g.min,c),m=e("date")(g.max,c);u.$parsers.unshift(i),u.$formatters.push(i),a.$observe("gumgaRangeDate",function(e){return i(u.$viewValue)})}}}e.$inject=["$filter"],angular.module("gumga.directives.form.range.date",[]).directive("gumgaRangeDate",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","^?gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var t=parseInt(e),a=t>=s.min&&t<=s.max;r.$setValidity(i,a),l.changeStateOfInput(u,i,a,n.gumgaRangeNumber,c)}return e}if("number"!=n.type)throw"Esta diretiva suporta apenas inputs do tipo number";if(!n.gumgaRangeNumber)throw"O valor da diretiva gumga-range-number não foi informado.";var i="rangenumber",r=a[0],l=a[1],s=e.$eval(n.gumgaRangeNumber),c=n.field,u=n.name;r.$parsers.unshift(o),r.$formatters.push(o),n.$observe("gumgaRangeNumber",function(e){return o(r.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.range.number",[]).directive("gumgaRangeNumber",e)}(),function(){function e(e){return{restrict:"A",require:["ngModel","^?gumgaForm"],link:function(t,n,a,o){function i(n){var o=0==a.gumgaRequired.length?!!(n&&n.length>0):!!e(a.gumgaRequired)(t);return u.changeStateOfInput(l,r,o,null,s),c.$setValidity(r,o),n}var r="required",l=a.name,s=a.field,c=o[0],u=o[1];!function(){var n=0==a.gumgaRequired.length?!!(c.$viewValue&&c.$viewValue.length>0):!!e(a.gumgaRequired)(t);u.changeStateOfInput(l,r,n,null,s),c.$setValidity(r,n)}(),c.$parsers.unshift(i),c.$formatters.push(i),a.$observe("gumgaRequired",function(e){return i(c.$viewValue)})}}}e.$inject=["$interpolate"],angular.module("gumga.directives.form.required",[]).directive("gumgaRequired",e)}(),function(){function e(){return{restrict:"A",require:["ngModel","?^gumgaForm"],link:function(e,t,n,a){function o(e){if(e){var n=t[0].validity.valid;l.$setValidity(r,n),s.changeStateOfInput(u,r,n,i,c)}return e}var i=void 0,r="validatetype",l=a[0],s=a[1],c=n.field,u=n.name;switch(n.type){case"date":i="data";break;case"datetime-local":i="data e hora";break;case"time":i="hora";break;case"week":i="semana";break;case"month":i="mês";break;case"number":i="número";break;case"url":i="URL";break;case"email":i="e-mail";break;default:i="unknown"}if("unknown"==i)throw"Esta diretiva suporta apenas inputs dos tipos date, datetime-local, time, week, month, number, url e email.";l.$parsers.unshift(o),l.$formatters.push(o),n.$observe("gumgaValidateType",function(e){return o(l.$viewValue)})}}}e.$inject=[],angular.module("gumga.directives.form.validate.type",[]).directive("gumgaValidateType",e)}(),function(){function e(){var e='
';return{restrict:"E",template:e,scope:{attr:"@",label:"@translate",hql:"@",value:"=",index:"=",disabled:"="},link:function(e,t,n){n.disabled||(e.disabled=!1),e.bol=!1,e.orOrAnd=function(){"string"!=typeof e.value||"OU"!==e.value.toUpperCase()||e.hql?"E"!==e.value.toUpperCase()||e.hql||(e.value="OU"):e.value="E"},e.emitDelete=function(){e.$emit("deletepls",e.index)},e.getVisibility=function(e){return!("E"==e||"OU"==e)}}}}e.$inject=[],angular.module("gumga.directives.search.advancedlabel",[]).directive("gumgaAdvancedLabel",e)}(),function(){function e(e){function t(t,n,a,o){function i(n){var a=JSON.parse(n.value);t.$emit("advanced",{hql:e.translateArrayToHQL(a),source:a})}if(!t.$parent.normalFields.length>0||!t.$parent.entityToTranslate)throw"Missing some parameters in GumgaSearch";t.searchField="",t.translate=t.$parent.entityToTranslate,t.models={},t.isPanelOpen=!1,t.selectHQL=!1,t.attributes=t.$parent.attributes,t.hqlOpts=[],t.queries=[],t.doQuery=i,t.$on("_doSearch",function(){return 0!=t.queries.length?void t.showArray(t.queries):void(t.searchInputText&&t.doSearch(t.searchInputText))}),t.$on("_focus",function(){return t.isPanelOpen?void document.getElementById("selectableAdvancedValue").focus():void document.getElementById("textMain").focus()}),t.normalFields=t.$parent.normalFields.map(function(e,n){var a=!1;return t.attributes.forEach(function(e){e.selected&&(a=!0)}),a?t.models[e]=t.attributes[n].selected||!1:(t.models[e]=!1,0==n&&(t.models[e]=!0)),{name:e.slice(0,1).toUpperCase()+e.slice(1,e.length).toLowerCase(),value:e}}),t.$on("showPanel",function(){t.isPanelOpen=!t.isPanelOpen,t.$apply()}),t.models.returnString=function(){var e="";for(var n in this)this.hasOwnProperty(n)&&"returnString"!=n&&this[n]&&(e+=n+",");return 0==e.length?t.normalFields[0].value:e.slice(0,-1)},t.$watch("isPanelOpen",function(){t.isPanelOpen===!0?t.selectAttribute=!0:t.queries=[],t.query={}}),t.attributeHasChanged=function(n){switch(t.query.attribute=n,n.type){case"boolean":t.typeInput="checkbox";break;case"array":t.typeInput="array";break;default:t.typeInput="text"}try{t.hqlOpts=e.getTypeListOfHQLPossibilities(n.type)}catch(a){}"array"==t.typeInput&&angular.element(document.getElementById("")),t.selectHQL=!0,t.selectAttribute=!1},t.handleHqlOption=function(e){t.query.hql=e,t.selectHQL=!1},angular.element(document.getElementById("selectableAdvancedValue")).on("keydown",function(e){13==e.keyCode&&e.target.value.length>0&&t.addQuery(t.query),t.$apply()}),angular.element(document.getElementById("textMain")).on("keydown",function(e){13==e.keyCode&&e.target.value.length>0&&(t.$emit("normal",{field:t.models.returnString(),param:t.searchInputText||""}),t.littlePanelAppears&&(t.littlePanelAppears=!t.littlePanelAppears))}),t.addQuery=function(e){t.query.value&&t.query.hql&&t.query.attribute&&(0===t.queries.length?t.queries.push(e):t.queries.length>=1&&t.queries.splice(t.queries.length,1,{value:"E"},e),t.query={},t.typeInput="text")},t.$on("deletepls",function(e,n){0==n&&1==t.queries.length?t.queries.splice(n,1):0==n&&t.queries.length>2?t.queries.splice(n,2):n>0&&t.queries.length>2&&t.queries.splice(n-1,2)}),t.showArray=function(n){t.isPanelOpen=!1,t.$emit("advanced",{hql:e.translateArrayToHQL(n),source:n})},t.doSearch=function(e,n){n||t.$emit("normal",{field:t.models.returnString(),param:e||""}),n&&13==n.keyCode&&t.$emit("normal",{field:t.models.returnString(),param:e||""})},t.attributes.forEach(function(e){"array"==e.type&&(e.data=e.data.map(function(t){return t[e.arrayItemContent]}))})}var n='\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n \n \n \n\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n \t\t\t\t\t\n \t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t \t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t';return{restrict:"E",template:n,scope:!1,require:"^?gumgaSearch",link:t}}e.$inject=["GumgaSearchHelper"],angular.module("gumga.directives.search.advancedsearch",["gumga.directives.search.searchhelper","gumga.translate.filter.filter"]).directive("gumgaAdvancedSearch",e)}(),function(){function e(){var e='
';return{restrict:"E",template:e,link:function(e,t,n){if(!e.$parent.normalFields.length>0||!e.$parent.entityToTranslate)throw"Missing some parameters in GumgaSearch";e.models={},e.searchField="",e.translate=e.$parent.entityToTranslate,e.normalFields=e.$parent.normalFields.map(function(t,n){return e.models[t]=!1,0==n&&(e.models[t]=!0),{name:t.slice(0,1).toUpperCase()+t.slice(1,t.length).toLowerCase(),value:t}}),e.models.returnString=function(){var t="";for(var n in this)this.hasOwnProperty(n)&&"returnString"!=n&&this[n]&&(t+=n+",");return 0==t.length?e.normalFields[0].value:t.slice(0,-1)},t.find("input").bind("keypress",function(t){13==t.keyCode&&e.searchField.length>0&&(e.$emit("normal",{field:e.models.returnString(),param:e.searchField}),e.showLittlePanel&&(e.showLittlePanel=!e.showLittlePanel))}),e.doSearch=function(t,n){n||e.$emit("normal",{field:e.models.returnString(),param:t||""}),n&&13==n.keyCode&&e.$emit("normal",{field:e.models.returnString(),param:t||""})}}}}e.$inject=[],angular.module("gumga.directives.search.normalsearch",[]).directive("gumgaNormalSearch",e)}(),function(){function e(){var e='
';return{restrict:"E",template:e,transclude:!0,priority:50,scope:{advanced:"&advancedMethod",normal:"&searchMethod",onSearch:"&",onAdvancedSearch:"&",getQueries:"&?"},link:function(e,t,n,a,o){if(e.adv=!1,e.attributes=[],e.normalFields=n.fields.split(","),e.entityToTranslate=n.translateEntity,e.$parent.searchQueries=[],e.availableQueries=[],e.saveQuery=!1,n.getQueries){e.saveQuery=!0;try{e.getQueries({page:location.hash}).then(function(t){e.availableQueries=t})}catch(i){throw"The return from getQueries must be asynchronous"}}var r={search:n.onSearch?e.onSearch:angular.noop,advanced:n.onAdvancedSearch?e.onAdvancedSearch:angular.noop};"true"===n.advanced&&(e.adv=!0),e.getAttributes=function(){o(function(t){angular.forEach(t,function(t){if("ADVANCED-FIELD"==t.nodeName){var n={name:t.getAttribute("name"),type:t.getAttribute("type"),selected:"true"==t.getAttribute("selected"),translate:t.getAttribute("translate")||t.getAttribute("name")};"array"==t.getAttribute("type").trim().toLowerCase()&&(n.data=e.$parent[t.getAttribute("data")]||[],n.arrayItemContent=t.getAttribute("array-item-content")),e.attributes.push(n)}})})},e.$on("advanced",function(t,n){e.$parent.searchQueries=[],e.$parent.searchQueries=n.source,e.advanced({param:n}),r.advanced()}),e.$on("normal",function(t,n){e.normal({field:n.field,param:n.param}),r.search()}),e.getAttributes()}}}e.$inject=[],angular.module("gumga.directives.search.search",[]).directive("gumgaSearch",e)}(),function(){function e(){var e={string:{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"},{hql:"ne",label:"diferente de",before:"!='",after:"'"},{hql:"contains",label:"contém",before:" like '%",after:"%'"},{hql:"not_contains",label:"não contém",before:" not like '%",after:"%'"},{hql:"starts_with",label:"começa com",before:" like '",after:"%'"},{hql:"ends_with",label:"termina com",before:" like '%",after:"'"},{hql:"ge",label:"maior igual",before:">='",after:"'"},{hql:"le",label:"menor igual",before:"<='",after:"'"}]},number:{HQLPossibilities:[{hql:"eq",label:"igual",before:"=",after:""},{hql:"ne",label:"diferente de",before:"!=",after:""},{hql:"gt",label:"maior que",before:">",after:""},{hql:"ge",label:"maior igual",before:">=",after:""},{hql:"lt",label:"menor que",before:"<",after:""},{hql:"le",label:"menor igual",before:"<=",after:""}]},money:{HQLPossibilities:[{hql:"eq",label:"igual",before:"=",after:""},{hql:"ne",label:"diferente de",before:"!=",after:""},{hql:"gt",label:"maior que",before:">",after:""},{hql:"ge",label:"maior igual",before:">=",after:""},{hql:"lt",label:"menor que",before:"<",after:""},{hql:"le",label:"maior igual",before:"<=",after:""}]},"boolean":{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"}]},date:{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"},{hql:"ge",label:"maior igual",before:">='",after:"'"},{hql:"le",label:"menor igual",before:"<='",after:"'"}]},array:{HQLPossibilities:[{hql:"eq",label:"igual",before:"='",after:"'"},{hql:"ne",label:"diferente de",before:"!='",after:"'"}]}};return{getTypeListOfHQLPossibilities:function(t){if(angular.isDefined(e[t]))return e[t].HQLPossibilities;throw"Type doesn't exist"},translateArrayToHQL:function(e){return e.map(function(e){return(angular.isDefined(e.attribute)?"obj."+e.attribute.name:"*")+""+(angular.isDefined(e.hql)?e.hql.before:" *")+e.value+(angular.isDefined(e.hql)?e.hql.after:" *")}).map(function(e){return e.indexOf("*")!=-1?e.replace(/\*/g,""):e}).join("")}}}e.$inject=[],angular.module("gumga.directives.search.searchhelper",[]).factory("GumgaSearchHelper",e)}(),function(){function e(e,t,n){return{restrict:"AEC",scope:!1,priority:9999,link:function(n,a,o){var i=o.gumgaTranslate.toLowerCase()||navigator.language.toLowerCase();e.get("./i18n/"+i+".json").then(function(e){t.setTranslators(i,e.data)})}}}e.$inject=["$http","TranslateHelper","$timeout"],angular.module("gumga.directives.translate.translate",["gumga.directives.translate.translatehelper"]).directive("gumgaTranslate",e)}(),function(){function e(e){return{translators:{},setTranslators:function(e,t){function n(e,t){for(var o in e)e.hasOwnProperty(o)&&("object"==typeof e[o]?n(e[o],t+"."+o):a.translators[(t+"."+o).substring(1).toLowerCase()]=e[o])}var a=this;n(t,""),sessionStorage.setItem("language",angular.toJson(this.translators))},returnTranslation:function(e){return this.translators[e.toLowerCase().replace(/\s/g,"")]}}}e.$inject=["$timeout"],angular.module("gumga.directives.translate.translatehelper",[]).factory("TranslateHelper",e)}(),function(){function e(e,t,n){return{restrict:"A",link:function(a,o,i){if(!i.gumgaTranslateTag)throw"You must pass a valid value to gumgaTranslateTag";n(function(){var n=e.returnTranslation(i.gumgaTranslateTag)||i.gumgaTranslateTag;o[0].childNodes.length>0&&"#text"!=o[0].childNodes[0].nodeName?(a.child=o[0].childNodes[0],o[0].innerHTML=n,o.append(t(a.child)(a))):o[0].innerHTML=n||o[0].innerHTML})}}}e.$inject=["TranslateHelper","$compile","$timeout"],angular.module("gumga.directives.translate.translatetag",["gumga.directives.translate.translatehelper"]).directive("gumgaTranslateTag",e)}(),controller.$inject=["$scope","$element","$attrs","$transclude","$q","$rootScope"],gumgaTag.$inject=[],angular.module("gumga.tag.tag",[]).directive("gumgaTag",gumgaTag),gumgaUnityTag.$inject=["$templateCache","$compile","$rootScope","$timeout"],angular.module("gumga.tag.unity",[]).directive("gumgaUnityTag",gumgaUnityTag),gumgaTagColumn.$inject=[],angular.module("gumga.tag.column",[]).directive("gumgaTagColumn",gumgaTagColumn); \ No newline at end of file diff --git a/examples/errors.html b/examples/errors.html index 848da5a..7988dc3 100644 --- a/examples/errors.html +++ b/examples/errors.html @@ -76,10 +76,14 @@ } $scope.configManyToMany = { - ngModel : 'selecionados', + ngModel : 'entity.name', options : { type: 'array', message : 'Deve ter array', + empty: { + value: true, + message: "" + } min : { value: 1, message: 'Tem que ter ao menos um.' diff --git a/src/directives/CustomFields/CustomFields.js b/src/directives/CustomFields/CustomFields.js index 0b3cf88..8682317 100755 --- a/src/directives/CustomFields/CustomFields.js +++ b/src/directives/CustomFields/CustomFields.js @@ -7,7 +7,7 @@ restrict: 'E', scope: { fields: '=', - useLabels: '?=' + useLabels: '=?' }, bindToController: true, controller: ['$scope','$element','$attrs', '$http', '$compile','$filter', function($scope, $element, $attrs, $http, $compile, $filter) {