cronapp-framework-mobile-js 2.9.4-SP.6 → 2.9.4-SP.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/directives.js +1 -1
- package/js/directives.js +2 -1
- package/package.json +1 -1
package/dist/js/directives.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask.$inject=["$compile","$translate","$parse"],cronFrame.$inject=["$compile","$sce","$parse"],window.addEventListener("message",function(e){"reload"==e.data?window.location.reload():"reload(true)"==e.data&&window.location.reload(!0)}),function($app){var _Mathfloor=Math.floor;app.common={generateId:function(){var e=_Mathfloor(65536*(1+Math.random())).toString(16).substring(1);return-1<"0123456789".indexOf(e.substr(0,1))?this.generateId():e}};var isoDate=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,patternFormat=function(e){return e?$(e).attr("format")||"DD/MM/YYYY":"DD/MM/YYYY"},parsePermission=function(e){var t={visible:{public:!0},enabled:{public:!0},render:{public:!0},notvisible:{public:!1},notenabled:{public:!1},notrender:{public:!1}};if(e)for(var a,n=e.toLowerCase().trim().split(","),o=0;o<n.length;o++)if(a=n[o].trim(),a){var l=a.split(":");if(2==l.length){var r=l[0].trim(),s=l[1].trim();if(s){for(var d,c=s.split(";"),u={},m=0;m<c.length;m++)d=c[m].trim(),d&&(u[d]=!0);t[r]=u}}}return t};app.directive("updateLanguage",["$rootScope",function(e){return{link:function(t,a){e.$on("$translateChangeSuccess",function(e,t){let n=t.language?t.language.split("_")[0]:null;a.attr("lang",n||"en")})}}}]),app.directive("asDate",maskDirectiveAsDate),app.directive("input",transformText),app.directive("textarea",transformText).directive("ngDestroy",function(){return{restrict:"A",link:function(scope,element,attrs,ctrl){element.on("$destroy",function(){attrs.ngDestroy&&0<attrs.ngDestroy.length&&(-1<attrs.ngDestroy.indexOf("app.")||-1<attrs.ngDestroy.indexOf("blockly.")?scope.$eval(attrs.ngDestroy):eval(attrs.ngDestroy))})}}}).filter("mask",["$translate",function(e){return function(t,a,n){if(a=parseMaskType(a,e),!a)return t;var o;if(void 0===n?o=window.fixedTimeZone:(o="date"==n||"datetime"==n||"time"==n,!window.fixedTimeZone&&(o=!1)),0<a.indexOf(";local")&&(o=!1),a=a.replace(";1","").replace(";0","").replace(";local","").trim(),"string"==typeof t&&t.match(isoDate)||t instanceof Date)return o?moment(t).utcOffset(window.timeZoneOffset).format(a):moment(t).format(a);if("number"==typeof t)return format(a,t);if(null!=t&&null!=t&&""!=t&&""!=a){var l=$("<input type=\"text\">");return l.mask(a),l.masked(t)}return t}}]).directive("screenParams",[function(){"use strict";return{link:function(scope,elem,attrs,ctrl){var screenParams=eval(attrs.screenParams);screenParams&&screenParams.length&&screenParams.forEach(function(e){scope.params&&!scope.params[e.key]&&(scope.params[e.key]=e.value||"")})}}}]).directive("mask",maskDirectiveMask).directive("dynamicImage",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){let l="<div ngf-drop=\"\" ngf-drag-over-class=\"dragover\" class=\"dynamicImage\" > <img role=\"img\" alt=\"$altText$\" style=\"width: 100%;\" ng-if=\"$ngModel$\" data-ng-src=\"{{$ngModel$.startsWith('http') || ($ngModel$.startsWith('/') && $ngModel$.length < 1000)? $ngModel$ : 'data:image/png;base64,' + $ngModel$}}\"> <div class=\"btn action-button-border\" ng-if=\"!$ngModel$\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.setFile('$ngModel$', $file)\" ngf-pattern=\"'image/*'\" ngf-max-size=\"$maxFileSize$\"> $userHtml$ </div> <div aria-label=\"$closeAriaText$\" class=\"remove-image-button button button-assertive\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span class=\"icon ion-android-close\"></span> </div> <div aria-label=\"$videocamAriaText$\" class=\"button button-default buttomImage\" ng-if=\"!$ngModel$\" ng-click=\"cronapi.internal.startCamera('$ngModel$','$quality$','$allowEdit$','$targetWidth$','$targetHeight$')\"> <span class=\"icon ion-ios-videocam\"></span> </div> </div>";const r={ngModel:o.ngModel,required:o.ngRequired&&"true"==o.ngRequired?"required":"",content:n.html(),altText:o.alt?o.alt:t.instant("Users.view.Picture"),closeAriaText:t.instant("Home.view.Close"),videocamAriaText:t.instant("OpenCamera"),maxFileSize:o.maxFileSize?o.maxFileSize:"",quality:o.quality?o.quality:"60",allowEdit:o.allowEdit?o.allowEdit:"false",targetWidth:o.targetWidth?o.targetWidth:"640",targetHeight:o.targetHeight?o.targetHeight:"480"};l=$(l.split("$ngModel$").join(r.ngModel).split("$required$").join(r.required).split("$userHtml$").join(r.content).split("$maxFileSize$").join(r.maxFileSize).split("$altText$").join(r.altText).split("$closeAriaText$").join(r.closeAriaText).split("$videocamAriaText$").join(r.videocamAriaText).split("$quality$").join(r.quality).split("$allowEdit$").join(r.allowEdit).split("$targetWidth$").join(r.targetWidth).split("$targetHeight$").join(r.targetHeight)),$(n).html(l),e(l)(n.scope())}}}]).directive("dynamicFile",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){var l=o.ngRequired&&"true"==o.ngRequired?"required":"",r=t.instant("Home.view.Close"),s=o.ngModel.split("."),d=s[0],c=s[s.length-1],p=_Mathfloor(1e3*Math.random()+20),u=n.html(),m="",g=o.acceptFile||"'*.*'";o.maxFileSize&&(m=o.maxFileSize);var f=o.fileInfo?`'${o.fileInfo}'`:"undefined",h=" <div ng-show=\"!$ngModel$\" ngf-drop=\"\" ngf-drag-over-class=\"dragover\"> <div class=\"btn action-button-border\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.uploadFile('$ngModel$', $file, 'uploadprogress$number$', $fileInfo$)\" ngf-max-size=\"$maxFileSize$\" ngf-pattern=\"$acceptPattern$\" ngf-accept=\"$acceptFile$\"> $userHtml$ </div> <div class=\"progress\" data-type=\"bootstrapProgress\" id=\"uploadprogress$number$\" style=\"display:none\"> <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"70\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width:0%\"> <span class=\"sr-only\"></span> </div> </div> </div> <div ng-show=\"$ngModel$\" class=\"upload-image-component-attribute\"> <div aria-label=\"$closeAriaText$\" class=\"button button-assertive\" style=\"float:right;\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span role=\"img\" alt=\"$closeAriaText$\" class=\"icon ion-android-close\"></span> </div> <div> <div ng-bind-html=\"cronapi.internal.generatePreviewDescriptionByte($ngModel$, $fileInfo$)\"></div> <div aria-label=\"Download\" class=\"button button-positive\" ng-click=\"cronapi.internal.downloadFileEntityMobile($datasource$,'$field$', undefined, $fileInfo$)\">$lblDownload$</div> </div> </div> ";h=$(h.split("$ngModel$").join(o.ngModel).split("$datasource$").join(d).split("$field$").join(c).split("$number$").join(p).split("$required$").join(l).split("$userHtml$").join(u).split("$maxFileSize$").join(m).split("$closeAriaText$").join(r).split("$lblDownload$").join(t.instant("download")).split("$fileInfo$").join(f).split("$acceptPattern$").join(g).split("$acceptFile$").join(g)),$(n).html(h),e(h)(n.scope())}}}]).directive("pwCheck",[function(){"use strict";return{require:"ngModel",link:function(e,t,a,n){var o="#"+a.pwCheck;t.add(o).on("keyup",function(){e.$apply(function(){var e=t.val()===$(o).val();n.$setValidity("pwmatch",e)})})}}}]).directive("qr",["$window",function(e){return{restrict:"EA",require:"^ngModel",template:"<canvas ng-hide=\"image\"></canvas><img alt=\"qr-code\" ng-if=\"image\" ng-src=\"{{canvasImage}}\"/>",link:function(t,a,n,o){t.size===void 0&&n.size&&(t.text=n.size);var l=function(){return o.$modelValue||""},r=function(e){return /^[0-9]*$/.test(e)},s=function(e){return /^[0-9A-Z $%*+\-./:]*$/.test(e)},d=function(e){for(var t,a=0;a<e.length;a++)if(t=e.charCodeAt(a),255<t)return!1;return!0},c=function(e,t){if("NUMBER"===e&&!r(t))throw new Error("The `NUMBER` input mode is invalid for text.");else if("ALPHA_NUM"===e&&!s(t))throw new Error("The `ALPHA_NUM` input mode is invalid for text.");else if("8bit"===e&&!d(t))throw new Error("The `8bit` input mode is invalid for text.");else if(!d(t))throw new Error("Input mode is invalid for text.");return!0},p=function(e){var a=t.inputMode;return a=a||(r(e)?"NUMBER":void 0),a=a||(s(e)?"ALPHA_NUM":void 0),a=a||(d(e)?"8bit":""),c(a,e)?a:""},u=a.find("canvas")[0],m=!!e.CanvasRenderingContext2D;t.TYPE_NUMBER=function(){return t.typeNumber||0}(),t.TEXT=l(),t.CORRECTION=function(){var e=t.correctionLevel||0;return{L:1,M:0,Q:3,H:2}[e]||0}(),t.SIZE=function(){return t.size||$(a).outerWidth()}(),t.INPUT_MODE=p(t.TEXT),t.canvasImage="";var g=function(e,t,a,n){for(var o=Math.round,l=Math.ceil,r=0;r<a;r++)for(var s=0;s<a;s++){var d=l((s+1)*n)-_Mathfloor(s*n),c=l((r+1)*n)-_Mathfloor(r*n);e.fillStyle=t.isDark(r,s)?"#000":"#fff",e.fillRect(o(s*n),o(r*n),d,c)}},f=function(e,a,n,o,l,r){var s=a.replace(/^\s+|\s+$/g,""),d=new QRCode(n,o,r);d.addData(s),d.make();var c=e.getContext("2d"),p=d.getModuleCount();e.width=e.height=l,m&&(g(c,d,p,l/p),t.canvasImage=e.toDataURL()||"")};t.$watch(function(){return o.$modelValue},function(e,a){(e!==a||e!==t.TEXT)&&(t.text=o.$modelValue,t.TEXT=l(),t.INPUT_MODE=p(t.TEXT),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE))}),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE)}}}]).directive("valid",function(){return{require:"^ngModel",restrict:"A",link:function(e,t,a,n){var o={cpf:CPF,cnpj:CNPJ};n.$validators[a.valid]=function(e,n){var l=e||n,r=o[a.valid].isValid(l);return r?t[0].setCustomValidity(""):t.scope().$applyAsync(function(){t[0].setCustomValidity(t[0].dataset.errorMessage)}),r||!l}}}}).directive("cronappSecurity",["$rootScope",function(e){return{restrict:"A",priority:Number.MIN_SAFE_INTEGER,link:function(t,a,n){if(""==n.cronappSecurity||null==n.cronappSecurity||null==n.cronappSecurity)return;var o=[],l=JSON.parse(localStorage.getItem("_u"));l&&l.roles&&(o=l.roles.toLowerCase().split(","));for(var r,s=parsePermission(n.cronappSecurity),d=!1,c=!1,p=!1,u=0;u<o.length;u++)r=o[u].trim(),r&&(s.visible[r]&&(d=!0),s.enabled[r]&&(c=!0),s.render[r]&&(p=!0));for(var r,u=0;u<o.length;u++)r=o[u].trim(),r&&(s.notvisible[r]&&(d=!1),s.notenabled[r]&&(c=!1),s.notrender[r]&&(p=!1));let m=$(a),g=()=>{d||m.hide(),c||m.find("*").addBack().attr("disabled",!0).off("click").on("click",t=>t.preventDefault()),p||m.remove()},f=setInterval(()=>{"$apply"!==e.$$phase&&"$digest"!==e.$$phase&&(g(),clearInterval(f))})}}}]).directive("cronappStars",[function(){"use strict";return{restrict:"A",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)d[t-1].removeClass("ion-android-star-outline"),d[t-1].removeClass("ion-android-star"),t<=e?d[t-1].addClass("ion-android-star"):d[t-1].addClass("ion-android-star-outline");return e}var l=$(t),r=$("<i style=\"font-size: 200%\" class=\"component-holder ion ion-android-star-outline\" style=\"\" xattr-size=\"\" data-component=\"crn-icon\"></i>");l.html("");for(var s,d=[],c=1;5>=c;c++)s=r.clone(),l.append(s),s.attr("idx",c),s.click(function(){e.$apply(function(){n.$viewValue=parseInt($(this).attr("idx")),n.$commitViewValue()}.bind(this))}),d.push(s);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("cronappRating",[function(){"use strict";return{restrict:"E",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)c[t-1].removeClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].removeClass(a.iconOn),c[t-1].removeClass(a.theme),t<=e?(c[t-1].addClass(a.iconOn),c[t-1].addClass(a.theme)):(c[t-1].addClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].addClass(a.theme),c[t-1].addClass(a.iconSize));return e}a.theme=$(t).find("i").attr("xattr-theme"),a.iconOn=$(t).find("i").attr("class"),a.iconSize=$(t).find("i").attr("icon-size");var l=$(t),r=[];a.xattrDefaultValue&&(n.$viewValue=0,n.$commitViewValue());for(var s=1;5>=s;s++)r.push($(t).find("i").get(s-1)),$(r[s-1]).addClass(a.iconOff||"ion ion-android-star-outline");l.html("");for(var d,c=[],s=1;5>=s;s++)d=$(r[s-1]).clone(),l.append(d),d.attr("idx",s),d.click(function(){e.$apply(function(){let e=parseInt($(this).attr("idx"));n.$viewValue=n.$viewValue===e?0:e,n.$commitViewValue()}.bind(this))}),c.push(d);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("ngInitialValue",["$parse",function(e){return{restrict:"A",require:"ngModel",link:function(t,a,n,o){if(n.ngInitialValue){var l,r=e(n.ngModel),s=r.assign;try{l=t.$eval(n.ngInitialValue)}catch(t){l=n.ngInitialValue}"checkbox"==a[0].type&&l&&(l="true"==(""+l).toLowerCase()),s(t,l)}}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(t,a,e,n){n.$formatters=[],n.$parsers=[];let o=!!e.ngFalseValue&&e.ngFalseValue.split("'").join(""),l=!e.ngTrueValue||e.ngTrueValue.split("'").join(""),r=e=>"true"===e||void 0===e||null===e||0==e.length;n.$render=r(e.crnAllowNullValues)?function(){let e=n.$viewValue;a.data("checked",e),!0===e||e===l?(a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!0)),e=l):!1===e||e===o?(a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!1)),e=o):(e=null,a.prop("indeterminate",!0)),setTimeout(()=>n.$setViewValue(e))}:function(){let r=n.$viewValue;if((void 0===n.$viewValue||null===n.$viewValue)&&(n.$setViewValue(!1),r=!1),r===o){let n=e.ngFalseValue?`${a.attr("ng-model")}=${e.ngFalseValue}`:`${a.attr("ng-model")}=${o}`;t.$eval(n)}switch(a.data("checked",r),r){case!0:case l:a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!0)),r=l;break;default:a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!1)),r=o;}setTimeout(()=>n.$setViewValue(r))},a.bind("click",function(r){let s;switch(a.data("checked")){case!1:case o:s=!e.ngTrueValue||l;break;default:s=!!e.ngFalseValue&&o;}n.$setViewValue(s),t.$apply(n.$render),r.preventDefault()})}}}]).directive("cronappFilter",["$compile",function($compile){var setFilterInButton=function(e,t,a){var n=e.closest("div");if(n){var o=n.find("button[cronapp-filter]");if(o){var l=o.data("filters");l||(l=[]);var r=-1,s=e.attr("ng-model");if($(l).each(function(e){this.ngModel==s&&(r=e)}),-1<r&&l.splice(r,1),0<t.length){var d={ngModel:s,bindedFilter:t};l.push(d)}o.data("filters",l)}}},makeAutoPostSearch=function(e,t,a,n){var o=e.closest("div");if(o&&0<o.length){var l=o.find("button[cronapp-filter]");if(l&&0<l.length){var r=l.data("filters");r&&0<r.length&&(t="",$(r).each(function(){t+=this.bindedFilter+";"}))}}a.search(t,"true"==n.cronappFilterCaseinsensitive)},inputBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasource,filterTemplate="",filtersSplited=attrs.cronappFilter.split(";");if(attrs.crnDatasource)datasource=eval(attrs.crnDatasource);else{var fieldset=$element.closest("div");if(!fieldset)return;var button=fieldset.find("button[cronapp-filter]");if(!button)return;if(!button.attr("crn-datasource"))return;datasource=eval(button.attr("crn-datasource"))}var isOData=datasource.isOData();$(filtersSplited).each(function(){0<this.length&&(""!=filterTemplate&&(isOData?filterTemplate+=" or ":filterTemplate+=";"),isOData?"="==operator&&"text"==typeElement&&""==filterTemplate?filterTemplate="substringof({value.lower}, tolower("+this+"))":"="==operator?filterTemplate+=" substringof({value.lower},tolower("+this+"))":"!="==operator?filterTemplate+=this+" ne {value}":">"==operator?filterTemplate+=this+" gt {value}":">="==operator?filterTemplate+=this+" ge {value}":"<"==operator?filterTemplate+=this+" lt {value}":"<="==operator&&(filterTemplate+=this+" le {value}"):"text"==typeElement?filterTemplate+=this+"@"+operator+"%{value}%":filterTemplate+=this+operator+"{value}")}),0==filterTemplate.length&&(isOData?filterTemplate="{value}":filterTemplate="%{value}%"),ngModelCtrl?scope.$watch(attrs.ngModel,function(e,t){if(!angular.equals(e,t)){var a=$element.data("type")||$element.attr("type"),n=ngModelCtrl.$modelValue;isOData?n instanceof Date?"datetime-local"==a?n="datetimeoffset'"+n.toISOString()+"'":n="datetime'"+n.toISOString().substring(0,23)+"'":"number"==typeof n?n=n:"boolean"==typeof n?n=n:n="'"+n+"'":n instanceof Date?(n=n.toISOString(),n+="date"==a?"@@date":"time"==a||"time-local"==a?"@@time":"@@datetime"):"number"==typeof n?n+="@@number":"boolean"==typeof n&&(n+="@@boolean");var o=filterTemplate.split("{value}").join(n);o="string"==typeof n?o.split("{value.lower}").join(n.toLowerCase()):o.split("{value.lower}").join(n),0==ngModelCtrl.$viewValue.length&&(o=""),setFilterInButton($element,o,operator),autopost&&makeAutoPostSearch($element,o,datasource,attrs)}}):"text"==typeElement?$element.on("keyup",function(){var datasource=eval(attrs.crnDatasource),value=void 0;value=ngModelCtrl&&null!=ngModelCtrl?ngModelCtrl.$viewValue:this.value;var bindedFilter=filterTemplate.split("{value}").join(value);0==this.value.length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)}):$element.on("change",function(){var datasource=eval(attrs.crnDatasource),value=void 0,typeElement=$(this).attr("type");if(null!=attrs.asDate&&(typeElement="date"),ngModelCtrl&&null!=ngModelCtrl)value=ngModelCtrl.$viewValue;else if("checkbox"==typeElement)value=$(this).is(":checked");else if("date"!=typeElement)value=this.value;else if(value=this.value,0<this.value.length){var momentDate=moment(this.value,patternFormat(this));value=momentDate.toDate().toISOString()}var bindedFilter=filterTemplate.split("{value}").join(value);0==value.toString().length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)})},forceDisableDatasource=function(datasourceName,scope){var disableDatasource=setInterval(function(){try{var datasourceInstance=eval(datasourceName);datasourceInstance&&($(document).ready(function(){var e=0,t=setInterval(function(){10>e?(scope.$apply(function(){datasourceInstance.enabled=!1,datasourceInstance.data=[]}),e++):clearInterval(t)},20)}),clearInterval(disableDatasource))}catch(t){}},10)},buttonBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasourceName="";datasourceName=attrs.crnDatasource?attrs.crnDatasource:$element.parent().attr("crn-datasource");var datasource=eval(datasourceName),isOData=datasource.isOData(),requiredFilter=attrs.requiredFilter&&"true"==attrs.requiredFilter.toString();requiredFilter&&this.forceDisableDatasource(datasourceName,scope),$element.on("click",function(){var $this=$(this),filters=$this.data("filters");if(datasourceName&&0<datasourceName.length&&filters){var bindedFilter="";$(filters).each(function(){""!=bindedFilter&&(bindedFilter+=isOData?" and ":";"),bindedFilter+=this.bindedFilter});var datasourceToFilter=eval(datasourceName);requiredFilter?(datasourceToFilter.enabled=0<bindedFilter.length,datasourceToFilter.enabled?datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive):scope.$apply(function(){datasourceToFilter.data=[]})):datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive)}})};return{restrict:"A",require:"?ngModel",link:function(e,t,a,n){var o=$(t),l=o.data("type")||o.attr("type");a.asDate!=null&&(l="date");var r="=";a.cronappFilterOperator&&0<a.cronappFilterOperator.length&&(r=a.cronappFilterOperator);var s=!0;a.cronappFilterAutopost&&"false"==a.cronappFilterAutopost&&(s=!1),setTimeout(function(){"INPUT"==o[0].tagName?inputBehavior(e,t,a,n,o,l,r,s):buttonBehavior(e,t,a,n,o,l,r,s)},100)}}}]).directive("cronList",["$compile","$parse",function($compile,$parse){"use strict";const defaultAdvancedTemplate=`<ion-list type="" can-swipe="listCanSwipe">
|
|
1
|
+
maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask.$inject=["$compile","$translate","$parse"],cronFrame.$inject=["$compile","$sce","$parse"],window.addEventListener("message",function(e){"reload"==e.data?window.location.reload():"reload(true)"==e.data&&window.location.reload(!0)}),function($app){var _Mathfloor=Math.floor;app.common={generateId:function(){var e=_Mathfloor(65536*(1+Math.random())).toString(16).substring(1);return-1<"0123456789".indexOf(e.substr(0,1))?this.generateId():e}};var isoDate=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,patternFormat=function(e){return e?$(e).attr("format")||"DD/MM/YYYY":"DD/MM/YYYY"},parsePermission=function(e){var t={visible:{public:!0},enabled:{public:!0},render:{public:!0},notvisible:{public:!1},notenabled:{public:!1},notrender:{public:!1}};if(e)for(var a,n=e.toLowerCase().trim().split(","),o=0;o<n.length;o++)if(a=n[o].trim(),a){var l=a.split(":");if(2==l.length){var r=l[0].trim(),s=l[1].trim();if(s){for(var d,c=s.split(";"),u={},m=0;m<c.length;m++)d=c[m].trim(),d&&(u[d]=!0);t[r]=u}}}return t};app.directive("updateLanguage",["$rootScope",function(e){return{link:function(t,a){e.$on("$translateChangeSuccess",function(e,t){let n=t.language?t.language.split("_")[0]:null;a.attr("lang",n||"en")})}}}]),app.directive("asDate",maskDirectiveAsDate),app.directive("input",transformText),app.directive("textarea",transformText).directive("ngDestroy",function(){return{restrict:"A",link:function(scope,element,attrs,ctrl){element.on("$destroy",function(){attrs.ngDestroy&&0<attrs.ngDestroy.length&&(-1<attrs.ngDestroy.indexOf("app.")||-1<attrs.ngDestroy.indexOf("blockly.")?scope.$eval(attrs.ngDestroy):eval(attrs.ngDestroy))})}}}).filter("mask",["$translate",function(e){return function(t,a,n){if(a=parseMaskType(a,e),!a)return t;var o;if(void 0===n?o=window.fixedTimeZone:(o="date"==n||"datetime"==n||"time"==n,!window.fixedTimeZone&&(o=!1)),0<a.indexOf(";local")&&(o=!1),a=a.replace(";1","").replace(";0","").replace(";local","").trim(),"string"==typeof t&&t.match(isoDate)||t instanceof Date)return o?moment(t).utcOffset(window.timeZoneOffset).format(a):moment(t).format(a);if("number"==typeof t)return format(a,t);if(null!=t&&null!=t&&""!=t&&""!=a){var l=$("<input type=\"text\">");return l.mask(a),l.masked(t)}return t}}]).directive("screenParams",[function(){"use strict";return{link:function(scope,elem,attrs,ctrl){var screenParams=eval(attrs.screenParams);screenParams&&screenParams.length&&screenParams.forEach(function(e){scope.params&&!scope.params[e.key]&&(scope.params[e.key]=e.value||"")})}}}]).directive("mask",maskDirectiveMask).directive("dynamicImage",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){let l="<div ngf-drop=\"\" ngf-drag-over-class=\"dragover\" class=\"dynamicImage\" > <img role=\"img\" alt=\"$altText$\" style=\"width: 100%;\" ng-if=\"$ngModel$\" data-ng-src=\"{{$ngModel$.startsWith('http') || ($ngModel$.startsWith('/') && $ngModel$.length < 1000)? $ngModel$ : 'data:image/png;base64,' + $ngModel$}}\"> <div class=\"btn action-button-border\" ng-if=\"!$ngModel$\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.setFile('$ngModel$', $file)\" ngf-pattern=\"'image/*'\" ngf-max-size=\"$maxFileSize$\"> $userHtml$ </div> <div aria-label=\"$closeAriaText$\" class=\"remove-image-button button button-assertive\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span class=\"icon ion-android-close\"></span> </div> <div aria-label=\"$videocamAriaText$\" class=\"button button-default buttomImage\" ng-if=\"!$ngModel$\" ng-click=\"cronapi.internal.startCamera('$ngModel$','$quality$','$allowEdit$','$targetWidth$','$targetHeight$')\"> <span class=\"icon ion-ios-videocam\"></span> </div> </div>";const r=o.quality||$(n).closest("[data-component=\"crn-dynamic-image\"]").attr("quality")||"60",s={ngModel:o.ngModel,required:o.ngRequired&&"true"==o.ngRequired?"required":"",content:n.html(),altText:o.alt?o.alt:t.instant("Users.view.Picture"),closeAriaText:t.instant("Home.view.Close"),videocamAriaText:t.instant("OpenCamera"),maxFileSize:o.maxFileSize?o.maxFileSize:"",quality:r,allowEdit:o.allowEdit?o.allowEdit:"false",targetWidth:o.targetWidth?o.targetWidth:"640",targetHeight:o.targetHeight?o.targetHeight:"480"};l=$(l.split("$ngModel$").join(s.ngModel).split("$required$").join(s.required).split("$userHtml$").join(s.content).split("$maxFileSize$").join(s.maxFileSize).split("$altText$").join(s.altText).split("$closeAriaText$").join(s.closeAriaText).split("$videocamAriaText$").join(s.videocamAriaText).split("$quality$").join(s.quality).split("$allowEdit$").join(s.allowEdit).split("$targetWidth$").join(s.targetWidth).split("$targetHeight$").join(s.targetHeight)),$(n).html(l),e(l)(n.scope())}}}]).directive("dynamicFile",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){var l=o.ngRequired&&"true"==o.ngRequired?"required":"",r=t.instant("Home.view.Close"),s=o.ngModel.split("."),d=s[0],c=s[s.length-1],p=_Mathfloor(1e3*Math.random()+20),u=n.html(),m="",g=o.acceptFile||"'*.*'";o.maxFileSize&&(m=o.maxFileSize);var f=o.fileInfo?`'${o.fileInfo}'`:"undefined",h=" <div ng-show=\"!$ngModel$\" ngf-drop=\"\" ngf-drag-over-class=\"dragover\"> <div class=\"btn action-button-border\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.uploadFile('$ngModel$', $file, 'uploadprogress$number$', $fileInfo$)\" ngf-max-size=\"$maxFileSize$\" ngf-pattern=\"$acceptPattern$\" ngf-accept=\"$acceptFile$\"> $userHtml$ </div> <div class=\"progress\" data-type=\"bootstrapProgress\" id=\"uploadprogress$number$\" style=\"display:none\"> <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"70\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width:0%\"> <span class=\"sr-only\"></span> </div> </div> </div> <div ng-show=\"$ngModel$\" class=\"upload-image-component-attribute\"> <div aria-label=\"$closeAriaText$\" class=\"button button-assertive\" style=\"float:right;\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span role=\"img\" alt=\"$closeAriaText$\" class=\"icon ion-android-close\"></span> </div> <div> <div ng-bind-html=\"cronapi.internal.generatePreviewDescriptionByte($ngModel$, $fileInfo$)\"></div> <div aria-label=\"Download\" class=\"button button-positive\" ng-click=\"cronapi.internal.downloadFileEntityMobile($datasource$,'$field$', undefined, $fileInfo$)\">$lblDownload$</div> </div> </div> ";h=$(h.split("$ngModel$").join(o.ngModel).split("$datasource$").join(d).split("$field$").join(c).split("$number$").join(p).split("$required$").join(l).split("$userHtml$").join(u).split("$maxFileSize$").join(m).split("$closeAriaText$").join(r).split("$lblDownload$").join(t.instant("download")).split("$fileInfo$").join(f).split("$acceptPattern$").join(g).split("$acceptFile$").join(g)),$(n).html(h),e(h)(n.scope())}}}]).directive("pwCheck",[function(){"use strict";return{require:"ngModel",link:function(e,t,a,n){var o="#"+a.pwCheck;t.add(o).on("keyup",function(){e.$apply(function(){var e=t.val()===$(o).val();n.$setValidity("pwmatch",e)})})}}}]).directive("qr",["$window",function(e){return{restrict:"EA",require:"^ngModel",template:"<canvas ng-hide=\"image\"></canvas><img alt=\"qr-code\" ng-if=\"image\" ng-src=\"{{canvasImage}}\"/>",link:function(t,a,n,o){t.size===void 0&&n.size&&(t.text=n.size);var l=function(){return o.$modelValue||""},r=function(e){return /^[0-9]*$/.test(e)},s=function(e){return /^[0-9A-Z $%*+\-./:]*$/.test(e)},d=function(e){for(var t,a=0;a<e.length;a++)if(t=e.charCodeAt(a),255<t)return!1;return!0},c=function(e,t){if("NUMBER"===e&&!r(t))throw new Error("The `NUMBER` input mode is invalid for text.");else if("ALPHA_NUM"===e&&!s(t))throw new Error("The `ALPHA_NUM` input mode is invalid for text.");else if("8bit"===e&&!d(t))throw new Error("The `8bit` input mode is invalid for text.");else if(!d(t))throw new Error("Input mode is invalid for text.");return!0},p=function(e){var a=t.inputMode;return a=a||(r(e)?"NUMBER":void 0),a=a||(s(e)?"ALPHA_NUM":void 0),a=a||(d(e)?"8bit":""),c(a,e)?a:""},u=a.find("canvas")[0],m=!!e.CanvasRenderingContext2D;t.TYPE_NUMBER=function(){return t.typeNumber||0}(),t.TEXT=l(),t.CORRECTION=function(){var e=t.correctionLevel||0;return{L:1,M:0,Q:3,H:2}[e]||0}(),t.SIZE=function(){return t.size||$(a).outerWidth()}(),t.INPUT_MODE=p(t.TEXT),t.canvasImage="";var g=function(e,t,a,n){for(var o=Math.round,l=Math.ceil,r=0;r<a;r++)for(var s=0;s<a;s++){var d=l((s+1)*n)-_Mathfloor(s*n),c=l((r+1)*n)-_Mathfloor(r*n);e.fillStyle=t.isDark(r,s)?"#000":"#fff",e.fillRect(o(s*n),o(r*n),d,c)}},f=function(e,a,n,o,l,r){var s=a.replace(/^\s+|\s+$/g,""),d=new QRCode(n,o,r);d.addData(s),d.make();var c=e.getContext("2d"),p=d.getModuleCount();e.width=e.height=l,m&&(g(c,d,p,l/p),t.canvasImage=e.toDataURL()||"")};t.$watch(function(){return o.$modelValue},function(e,a){(e!==a||e!==t.TEXT)&&(t.text=o.$modelValue,t.TEXT=l(),t.INPUT_MODE=p(t.TEXT),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE))}),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE)}}}]).directive("valid",function(){return{require:"^ngModel",restrict:"A",link:function(e,t,a,n){var o={cpf:CPF,cnpj:CNPJ};n.$validators[a.valid]=function(e,n){var l=e||n,r=o[a.valid].isValid(l);return r?t[0].setCustomValidity(""):t.scope().$applyAsync(function(){t[0].setCustomValidity(t[0].dataset.errorMessage)}),r||!l}}}}).directive("cronappSecurity",["$rootScope",function(e){return{restrict:"A",priority:Number.MIN_SAFE_INTEGER,link:function(t,a,n){if(""==n.cronappSecurity||null==n.cronappSecurity||null==n.cronappSecurity)return;var o=[],l=JSON.parse(localStorage.getItem("_u"));l&&l.roles&&(o=l.roles.toLowerCase().split(","));for(var r,s=parsePermission(n.cronappSecurity),d=!1,c=!1,p=!1,u=0;u<o.length;u++)r=o[u].trim(),r&&(s.visible[r]&&(d=!0),s.enabled[r]&&(c=!0),s.render[r]&&(p=!0));for(var r,u=0;u<o.length;u++)r=o[u].trim(),r&&(s.notvisible[r]&&(d=!1),s.notenabled[r]&&(c=!1),s.notrender[r]&&(p=!1));let m=$(a),g=()=>{d||m.hide(),c||m.find("*").addBack().attr("disabled",!0).off("click").on("click",t=>t.preventDefault()),p||m.remove()},f=setInterval(()=>{"$apply"!==e.$$phase&&"$digest"!==e.$$phase&&(g(),clearInterval(f))})}}}]).directive("cronappStars",[function(){"use strict";return{restrict:"A",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)d[t-1].removeClass("ion-android-star-outline"),d[t-1].removeClass("ion-android-star"),t<=e?d[t-1].addClass("ion-android-star"):d[t-1].addClass("ion-android-star-outline");return e}var l=$(t),r=$("<i style=\"font-size: 200%\" class=\"component-holder ion ion-android-star-outline\" style=\"\" xattr-size=\"\" data-component=\"crn-icon\"></i>");l.html("");for(var s,d=[],c=1;5>=c;c++)s=r.clone(),l.append(s),s.attr("idx",c),s.click(function(){e.$apply(function(){n.$viewValue=parseInt($(this).attr("idx")),n.$commitViewValue()}.bind(this))}),d.push(s);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("cronappRating",[function(){"use strict";return{restrict:"E",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)c[t-1].removeClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].removeClass(a.iconOn),c[t-1].removeClass(a.theme),t<=e?(c[t-1].addClass(a.iconOn),c[t-1].addClass(a.theme)):(c[t-1].addClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].addClass(a.theme),c[t-1].addClass(a.iconSize));return e}a.theme=$(t).find("i").attr("xattr-theme"),a.iconOn=$(t).find("i").attr("class"),a.iconSize=$(t).find("i").attr("icon-size");var l=$(t),r=[];a.xattrDefaultValue&&(n.$viewValue=0,n.$commitViewValue());for(var s=1;5>=s;s++)r.push($(t).find("i").get(s-1)),$(r[s-1]).addClass(a.iconOff||"ion ion-android-star-outline");l.html("");for(var d,c=[],s=1;5>=s;s++)d=$(r[s-1]).clone(),l.append(d),d.attr("idx",s),d.click(function(){e.$apply(function(){let e=parseInt($(this).attr("idx"));n.$viewValue=n.$viewValue===e?0:e,n.$commitViewValue()}.bind(this))}),c.push(d);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("ngInitialValue",["$parse",function(e){return{restrict:"A",require:"ngModel",link:function(t,a,n,o){if(n.ngInitialValue){var l,r=e(n.ngModel),s=r.assign;try{l=t.$eval(n.ngInitialValue)}catch(t){l=n.ngInitialValue}"checkbox"==a[0].type&&l&&(l="true"==(""+l).toLowerCase()),s(t,l)}}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(t,a,e,n){n.$formatters=[],n.$parsers=[];let o=!!e.ngFalseValue&&e.ngFalseValue.split("'").join(""),l=!e.ngTrueValue||e.ngTrueValue.split("'").join(""),r=e=>"true"===e||void 0===e||null===e||0==e.length;n.$render=r(e.crnAllowNullValues)?function(){let e=n.$viewValue;a.data("checked",e),!0===e||e===l?(a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!0)),e=l):!1===e||e===o?(a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!1)),e=o):(e=null,a.prop("indeterminate",!0)),setTimeout(()=>n.$setViewValue(e))}:function(){let r=n.$viewValue;if((void 0===n.$viewValue||null===n.$viewValue)&&(n.$setViewValue(!1),r=!1),r===o){let n=e.ngFalseValue?`${a.attr("ng-model")}=${e.ngFalseValue}`:`${a.attr("ng-model")}=${o}`;t.$eval(n)}switch(a.data("checked",r),r){case!0:case l:a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!0)),r=l;break;default:a.prop("indeterminate",!1),setTimeout(()=>a.prop("checked",!1)),r=o;}setTimeout(()=>n.$setViewValue(r))},a.bind("click",function(r){let s;switch(a.data("checked")){case!1:case o:s=!e.ngTrueValue||l;break;default:s=!!e.ngFalseValue&&o;}n.$setViewValue(s),t.$apply(n.$render),r.preventDefault()})}}}]).directive("cronappFilter",["$compile",function($compile){var setFilterInButton=function(e,t,a){var n=e.closest("div");if(n){var o=n.find("button[cronapp-filter]");if(o){var l=o.data("filters");l||(l=[]);var r=-1,s=e.attr("ng-model");if($(l).each(function(e){this.ngModel==s&&(r=e)}),-1<r&&l.splice(r,1),0<t.length){var d={ngModel:s,bindedFilter:t};l.push(d)}o.data("filters",l)}}},makeAutoPostSearch=function(e,t,a,n){var o=e.closest("div");if(o&&0<o.length){var l=o.find("button[cronapp-filter]");if(l&&0<l.length){var r=l.data("filters");r&&0<r.length&&(t="",$(r).each(function(){t+=this.bindedFilter+";"}))}}a.search(t,"true"==n.cronappFilterCaseinsensitive)},inputBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasource,filterTemplate="",filtersSplited=attrs.cronappFilter.split(";");if(attrs.crnDatasource)datasource=eval(attrs.crnDatasource);else{var fieldset=$element.closest("div");if(!fieldset)return;var button=fieldset.find("button[cronapp-filter]");if(!button)return;if(!button.attr("crn-datasource"))return;datasource=eval(button.attr("crn-datasource"))}var isOData=datasource.isOData();$(filtersSplited).each(function(){0<this.length&&(""!=filterTemplate&&(isOData?filterTemplate+=" or ":filterTemplate+=";"),isOData?"="==operator&&"text"==typeElement&&""==filterTemplate?filterTemplate="substringof({value.lower}, tolower("+this+"))":"="==operator?filterTemplate+=" substringof({value.lower},tolower("+this+"))":"!="==operator?filterTemplate+=this+" ne {value}":">"==operator?filterTemplate+=this+" gt {value}":">="==operator?filterTemplate+=this+" ge {value}":"<"==operator?filterTemplate+=this+" lt {value}":"<="==operator&&(filterTemplate+=this+" le {value}"):"text"==typeElement?filterTemplate+=this+"@"+operator+"%{value}%":filterTemplate+=this+operator+"{value}")}),0==filterTemplate.length&&(isOData?filterTemplate="{value}":filterTemplate="%{value}%"),ngModelCtrl?scope.$watch(attrs.ngModel,function(e,t){if(!angular.equals(e,t)){var a=$element.data("type")||$element.attr("type"),n=ngModelCtrl.$modelValue;isOData?n instanceof Date?"datetime-local"==a?n="datetimeoffset'"+n.toISOString()+"'":n="datetime'"+n.toISOString().substring(0,23)+"'":"number"==typeof n?n=n:"boolean"==typeof n?n=n:n="'"+n+"'":n instanceof Date?(n=n.toISOString(),n+="date"==a?"@@date":"time"==a||"time-local"==a?"@@time":"@@datetime"):"number"==typeof n?n+="@@number":"boolean"==typeof n&&(n+="@@boolean");var o=filterTemplate.split("{value}").join(n);o="string"==typeof n?o.split("{value.lower}").join(n.toLowerCase()):o.split("{value.lower}").join(n),0==ngModelCtrl.$viewValue.length&&(o=""),setFilterInButton($element,o,operator),autopost&&makeAutoPostSearch($element,o,datasource,attrs)}}):"text"==typeElement?$element.on("keyup",function(){var datasource=eval(attrs.crnDatasource),value=void 0;value=ngModelCtrl&&null!=ngModelCtrl?ngModelCtrl.$viewValue:this.value;var bindedFilter=filterTemplate.split("{value}").join(value);0==this.value.length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)}):$element.on("change",function(){var datasource=eval(attrs.crnDatasource),value=void 0,typeElement=$(this).attr("type");if(null!=attrs.asDate&&(typeElement="date"),ngModelCtrl&&null!=ngModelCtrl)value=ngModelCtrl.$viewValue;else if("checkbox"==typeElement)value=$(this).is(":checked");else if("date"!=typeElement)value=this.value;else if(value=this.value,0<this.value.length){var momentDate=moment(this.value,patternFormat(this));value=momentDate.toDate().toISOString()}var bindedFilter=filterTemplate.split("{value}").join(value);0==value.toString().length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)})},forceDisableDatasource=function(datasourceName,scope){var disableDatasource=setInterval(function(){try{var datasourceInstance=eval(datasourceName);datasourceInstance&&($(document).ready(function(){var e=0,t=setInterval(function(){10>e?(scope.$apply(function(){datasourceInstance.enabled=!1,datasourceInstance.data=[]}),e++):clearInterval(t)},20)}),clearInterval(disableDatasource))}catch(t){}},10)},buttonBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasourceName="";datasourceName=attrs.crnDatasource?attrs.crnDatasource:$element.parent().attr("crn-datasource");var datasource=eval(datasourceName),isOData=datasource.isOData(),requiredFilter=attrs.requiredFilter&&"true"==attrs.requiredFilter.toString();requiredFilter&&this.forceDisableDatasource(datasourceName,scope),$element.on("click",function(){var $this=$(this),filters=$this.data("filters");if(datasourceName&&0<datasourceName.length&&filters){var bindedFilter="";$(filters).each(function(){""!=bindedFilter&&(bindedFilter+=isOData?" and ":";"),bindedFilter+=this.bindedFilter});var datasourceToFilter=eval(datasourceName);requiredFilter?(datasourceToFilter.enabled=0<bindedFilter.length,datasourceToFilter.enabled?datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive):scope.$apply(function(){datasourceToFilter.data=[]})):datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive)}})};return{restrict:"A",require:"?ngModel",link:function(e,t,a,n){var o=$(t),l=o.data("type")||o.attr("type");a.asDate!=null&&(l="date");var r="=";a.cronappFilterOperator&&0<a.cronappFilterOperator.length&&(r=a.cronappFilterOperator);var s=!0;a.cronappFilterAutopost&&"false"==a.cronappFilterAutopost&&(s=!1),setTimeout(function(){"INPUT"==o[0].tagName?inputBehavior(e,t,a,n,o,l,r,s):buttonBehavior(e,t,a,n,o,l,r,s)},100)}}}]).directive("cronList",["$compile","$parse",function($compile,$parse){"use strict";const defaultAdvancedTemplate=`<ion-list type="" can-swipe="listCanSwipe">
|
|
2
2
|
<ion-item ng-class="{'cron-list-selected' : isChecked(rowData)}" class="item {{options.editableButtonClass}} {{options.iconClassPosition}} {{options.imageClassPosition}}" ng-repeat="rowData in datasource">
|
|
3
3
|
<ul ng-if="options.allowMultiselect" class="checkbox-group component-holder {{'cron-list-multiselect-' + options.imageType}}" data-component="crn-checkbox"><label class="checkbox"><input ng-checked="isChecked(rowData);" type="checkbox"></label></ul>
|
|
4
4
|
<img alt='Thumbnail' ng-if="options.imageType !== 'do-not-show' && rowData[options.fields.image]"
|
package/js/directives.js
CHANGED
|
@@ -198,6 +198,7 @@ window.addEventListener('message', function(event) {
|
|
|
198
198
|
</div>\
|
|
199
199
|
</div>';
|
|
200
200
|
|
|
201
|
+
const imageQuality = attr.quality || $(element).closest('[data-component="crn-dynamic-image"]').attr('quality') || '60';
|
|
201
202
|
const attributes = {
|
|
202
203
|
ngModel: attr.ngModel,
|
|
203
204
|
required: (attr.ngRequired && attr.ngRequired == "true")?"required":"",
|
|
@@ -206,7 +207,7 @@ window.addEventListener('message', function(event) {
|
|
|
206
207
|
closeAriaText: $translate.instant('Home.view.Close'),
|
|
207
208
|
videocamAriaText: $translate.instant('OpenCamera'),
|
|
208
209
|
maxFileSize: attr.maxFileSize ? attr.maxFileSize : "",
|
|
209
|
-
quality:
|
|
210
|
+
quality: imageQuality,
|
|
210
211
|
allowEdit: attr.allowEdit ? attr.allowEdit : "false",
|
|
211
212
|
targetWidth: attr.targetWidth ? attr.targetWidth : "640",
|
|
212
213
|
targetHeight: attr.targetHeight ? attr.targetHeight : "480"
|