cronapp-framework-mobile-js 2.8.11 → 2.9.0
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/components/crn-button-bar.components.json +1 -1
- package/components/crn-checkbox.components.json +2 -1
- package/components/crn-dynamic-image.components.json +9 -0
- package/components/crn-input-floating.components.json +1 -1
- package/components/crn-ion-footer-bar.components.json +2 -2
- package/components/crn-ion-segment-item.components.json +4 -1
- package/components/crn-ion-segment.components.json +1 -1
- package/components/crn-item-swipe.components.json +1 -1
- package/components/crn-multiselect.components.json +1 -1
- package/components/crn-range.components.json +1 -1
- package/components/crn-signature-pad.components.json +36 -0
- package/components/templates/checkbox.template.html +6 -7
- package/components/templates/crn-ion-segment-item.template.html +1 -1
- package/components/templates/crn-ion-segment.template.html +4 -4
- package/components/templates/crn-signature-pad.designtime.html +31 -0
- package/components/templates/crn-signature-pad.template.html +1 -0
- package/css/app.css +10 -0
- package/css/signup.css +13 -0
- package/dist/components/templates/checkbox.template.html +1 -1
- package/dist/components/templates/crn-ion-segment-item.template.html +1 -1
- package/dist/components/templates/crn-ion-segment.template.html +1 -1
- package/dist/components/templates/crn-signature-pad.designtime.html +22 -0
- package/dist/components/templates/crn-signature-pad.template.html +1 -0
- package/dist/css/app.css +1 -1
- package/dist/css/signup.css +1 -0
- package/dist/i18n/locale_en_us.json +3 -1
- package/dist/i18n/locale_pt_br.json +4 -1
- package/dist/img/cron-icon/crn-signature-pad.svg +1 -0
- package/dist/js/app.authentication.js +1 -1
- package/dist/js/controllers.authentication.js +1 -1
- package/dist/js/directives.js +2 -2
- package/dist/js/reports/reports.service.js +1 -1
- package/i18n/locale_en_us.json +3 -1
- package/i18n/locale_pt_br.json +4 -1
- package/img/cron-icon/crn-signature-pad.svg +27 -0
- package/js/app.authentication.js +8 -1
- package/js/controllers.authentication.js +50 -0
- package/js/directives.js +198 -105
- package/js/reports/reports.service.js +6 -26
- package/package.json +4 -2
- package/postupdate.json +11 -0
package/dist/js/directives.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask.$inject=["$compile","$translate","$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}};if(e)for(var a,n=e.toLowerCase().trim().split(","),o=0;o<n.length;o++)if(a=n[o].trim(),a){var r=a.split(":");if(2==r.length){var l=r[0].trim(),s=r[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[l]=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 r=$("<input type=\"text\">");return r.mask(a),r.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 r="<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-positive buttomImage\" ng-if=\"!$ngModel$\" ng-click=\"cronapi.internal.startCamera('$ngModel$','$quality$','$allowEdit$','$targetWidth$','$targetHeight$')\"> <span class=\"icon ion-ios-videocam\"></span> </div> </div>";const l={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"};r=$(r.split("$ngModel$").join(l.ngModel).split("$required$").join(l.required).split("$userHtml$").join(l.content).split("$maxFileSize$").join(l.maxFileSize).split("$altText$").join(l.altText).split("$closeAriaText$").join(l.closeAriaText).split("$videocamAriaText$").join(l.videocamAriaText).split("$quality$").join(l.quality).split("$allowEdit$").join(l.allowEdit).split("$targetWidth$").join(l.targetWidth).split("$targetHeight$").join(l.targetHeight)),$(n).html(r),e(r)(n.scope())}}}]).directive("dynamicFile",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){var r=o.ngRequired&&"true"==o.ngRequired?"required":"",l=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="";o.maxFileSize&&(m=o.maxFileSize);var g=o.fileInfo?`'${o.fileInfo}'`:"undefined",f=" <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$\"> $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> ";f=$(f.split("$ngModel$").join(o.ngModel).split("$datasource$").join(d).split("$field$").join(c).split("$number$").join(p).split("$required$").join(r).split("$userHtml$").join(u).split("$maxFileSize$").join(m).split("$closeAriaText$").join(l).split("$lblDownload$").join(t.instant("download")).split("$fileInfo$").join(g)),$(n).html(f),e(f)(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 r=function(){return o.$modelValue||""},l=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&&!l(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||(l(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=r(),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,r=Math.ceil,l=0;l<a;l++)for(var s=0;s<a;s++){var d=r((s+1)*n)-_Mathfloor(s*n),c=r((l+1)*n)-_Mathfloor(l*n);e.fillStyle=t.isDark(l,s)?"#000":"#fff",e.fillRect(o(s*n),o(l*n),d,c)}},f=function(e,a,n,o,r,l){var s=a.replace(/^\s+|\s+$/g,""),d=new QRCode(n,o,l);d.addData(s),d.make();var c=e.getContext("2d"),p=d.getModuleCount();e.width=e.height=r,m&&(g(c,d,p,r/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=r(),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 r=e||n,l=o[a.valid].isValid(r);return l?t[0].setCustomValidity(""):t.scope().$applyAsync(function(){t[0].setCustomValidity(t[0].dataset.errorMessage)}),l||!r}}}}).directive("cronappSecurity",function(){return{restrict:"A",link:function(e,t,a){var n=[],o=JSON.parse(localStorage.getItem("_u"));o&&o.roles&&(n=o.roles.toLowerCase().split(","));for(var r,l=parsePermission(a.cronappSecurity),s=!1,d=!1,c=0;c<n.length;c++)r=n[c].trim(),r&&(l.visible[r]&&(s=!0),l.enabled[r]&&(d=!0));s||$(t).hide(),d||$(t).find("*").addBack().attr("disabled",!0)}}}).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 r=$(t),l=$("<i style=\"font-size: 200%\" class=\"component-holder ion ion-android-star-outline\" style=\"\" xattr-size=\"\" data-component=\"crn-icon\"></i>");r.html("");for(var s,d=[],c=1;5>=c;c++)s=l.clone(),r.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));return e}a.theme=$(t).find("i").attr("xattr-theme"),a.iconOn=$(t).find("i").attr("class");var r=$(t),l=[];a.xattrDefaultValue&&(n.$viewValue=0,n.$commitViewValue());for(var s=1;5>=s;s++)l.push($(t).find("i").get(s-1)),$(l[s-1]).addClass(a.iconOff||"fa fa-star-o");r.html("");for(var d,c=[],s=1;5>=s;s++)d=$(l[s-1]).clone(),r.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){if(n.ngInitialValue){var o,r=e(n.ngModel),l=r.assign;try{o=t.$eval(n.ngInitialValue)}catch(t){o=n.ngInitialValue}"checkbox"==a[0].type&&o&&(o="true"==(""+o).toLowerCase()),l(t,o)}}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(e,t,a,n){n.$formatters=[],n.$parsers=[];let o=a.ngFalseValue?a.ngFalseValue.split("'").join(""):"false",r=a.ngTrueValue?a.ngTrueValue.split("'").join(""):"true";"true"==a.crnAllowNullValues?(n.$render=function(){let e=n.$viewValue;t.data("checked",e);!0===e||e===r?(t.removeAttr("indeterminate"),t.prop("checked",!0)):!1===e||e===o?(t.removeAttr("indeterminate"),t.prop("checked",!1)):t.attr("indeterminate",!0)},t.bind("click",function(){let l;switch(t.data("checked")){case!1:case o:l=!a.ngTrueValue||r;break;default:l=!!a.ngFalseValue&&o;}n.$setViewValue(l),e.$apply(n.$render)})):"false"==a.crnAllowNullValues&&(n.$render=function(){let e=n.$viewValue;switch((void 0===e||null===e)&&(n.$setViewValue(!1),e=!1),t.data("checked",e),e){case!0:case r:t.removeAttr("indeterminate"),t.prop("checked",!0);break;default:t.removeAttr("indeterminate"),t.prop("checked",!1);}},t.bind("click",function(){let l;switch(t.data("checked")){case!1:case o:l=!a.ngTrueValue||r;break;default:l=!!a.ngFalseValue&&o;}n.$setViewValue(l),e.$apply(n.$render)}))}}}]).directive("cronappFilter",["$compile",function($compile){var setFilterInButton=function(e,t){var a=e.closest("div");if(a){var n=a.find("button[cronapp-filter]");if(n){var o=n.data("filters");o||(o=[]);var r=-1,l=e.attr("ng-model");if($(o).each(function(e){this.ngModel==l&&(r=e)}),-1<r&&o.splice(r,1),0<t.length){o.push({ngModel:l,bindedFilter:t})}n.data("filters",o)}}},makeAutoPostSearch=function(e,t,a,n){var o=e.closest("div");if(o&&0<o.length){var r=o.find("button[cronapp-filter]");if(r&&0<r.length){var l=r.data("filters");l&&0<l.length&&(t="",$(l).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),r=o.data("type")||o.attr("type");a.asDate!=null&&(r="date");var l="=";a.cronappFilterOperator&&0<a.cronappFilterOperator.length&&(l=a.cronappFilterOperator);var s=!0;a.cronappFilterAutopost&&"false"==a.cronappFilterAutopost&&(s=!1),setTimeout(function(){"INPUT"==o[0].tagName?inputBehavior(e,t,a,n,o,r,l,s):buttonBehavior(e,t,a,n,o,r,l,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"],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}};if(e)for(var a,n=e.toLowerCase().trim().split(","),o=0;o<n.length;o++)if(a=n[o].trim(),a){var r=a.split(":");if(2==r.length){var l=r[0].trim(),s=r[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[l]=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 r=$("<input type=\"text\">");return r.mask(a),r.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 r="<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-positive buttomImage\" ng-if=\"!$ngModel$\" ng-click=\"cronapi.internal.startCamera('$ngModel$','$quality$','$allowEdit$','$targetWidth$','$targetHeight$')\"> <span class=\"icon ion-ios-videocam\"></span> </div> </div>";const l={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"};r=$(r.split("$ngModel$").join(l.ngModel).split("$required$").join(l.required).split("$userHtml$").join(l.content).split("$maxFileSize$").join(l.maxFileSize).split("$altText$").join(l.altText).split("$closeAriaText$").join(l.closeAriaText).split("$videocamAriaText$").join(l.videocamAriaText).split("$quality$").join(l.quality).split("$allowEdit$").join(l.allowEdit).split("$targetWidth$").join(l.targetWidth).split("$targetHeight$").join(l.targetHeight)),$(n).html(r),e(r)(n.scope())}}}]).directive("dynamicFile",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){var r=o.ngRequired&&"true"==o.ngRequired?"required":"",l=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="";o.maxFileSize&&(m=o.maxFileSize);var g=o.fileInfo?`'${o.fileInfo}'`:"undefined",f=" <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$\"> $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> ";f=$(f.split("$ngModel$").join(o.ngModel).split("$datasource$").join(d).split("$field$").join(c).split("$number$").join(p).split("$required$").join(r).split("$userHtml$").join(u).split("$maxFileSize$").join(m).split("$closeAriaText$").join(l).split("$lblDownload$").join(t.instant("download")).split("$fileInfo$").join(g)),$(n).html(f),e(f)(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 r=function(){return o.$modelValue||""},l=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&&!l(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||(l(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=r(),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,r=Math.ceil,l=0;l<a;l++)for(var s=0;s<a;s++){var d=r((s+1)*n)-_Mathfloor(s*n),c=r((l+1)*n)-_Mathfloor(l*n);e.fillStyle=t.isDark(l,s)?"#000":"#fff",e.fillRect(o(s*n),o(l*n),d,c)}},f=function(e,a,n,o,r,l){var s=a.replace(/^\s+|\s+$/g,""),d=new QRCode(n,o,l);d.addData(s),d.make();var c=e.getContext("2d"),p=d.getModuleCount();e.width=e.height=r,m&&(g(c,d,p,r/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=r(),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 r=e||n,l=o[a.valid].isValid(r);return l?t[0].setCustomValidity(""):t.scope().$applyAsync(function(){t[0].setCustomValidity(t[0].dataset.errorMessage)}),l||!r}}}}).directive("cronappSecurity",function(){return{restrict:"A",link:function(e,t,a){var n=[],o=JSON.parse(localStorage.getItem("_u"));o&&o.roles&&(n=o.roles.toLowerCase().split(","));for(var r,l=parsePermission(a.cronappSecurity),s=!1,d=!1,c=0;c<n.length;c++)r=n[c].trim(),r&&(l.visible[r]&&(s=!0),l.enabled[r]&&(d=!0));s||$(t).hide(),d||$(t).find("*").addBack().attr("disabled",!0)}}}).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 r=$(t),l=$("<i style=\"font-size: 200%\" class=\"component-holder ion ion-android-star-outline\" style=\"\" xattr-size=\"\" data-component=\"crn-icon\"></i>");r.html("");for(var s,d=[],c=1;5>=c;c++)s=l.clone(),r.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));return e}a.theme=$(t).find("i").attr("xattr-theme"),a.iconOn=$(t).find("i").attr("class");var r=$(t),l=[];a.xattrDefaultValue&&(n.$viewValue=0,n.$commitViewValue());for(var s=1;5>=s;s++)l.push($(t).find("i").get(s-1)),$(l[s-1]).addClass(a.iconOff||"fa fa-star-o");r.html("");for(var d,c=[],s=1;5>=s;s++)d=$(l[s-1]).clone(),r.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){if(n.ngInitialValue){var o,r=e(n.ngModel),l=r.assign;try{o=t.$eval(n.ngInitialValue)}catch(t){o=n.ngInitialValue}"checkbox"==a[0].type&&o&&(o="true"==(""+o).toLowerCase()),l(t,o)}}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(e,t,a,n){n.$formatters=[],n.$parsers=[];let o=!!a.ngFalseValue&&a.ngFalseValue.split("'").join(""),r=!a.ngTrueValue||a.ngTrueValue.split("'").join("");n.$render="false"==a.crnAllowNullValues?function(){let l=n.$viewValue;if((void 0===n.$viewValue||null===n.$viewValue)&&(n.$setViewValue(!1),l=!1),l===o){let n=`${t.attr("ng-model")}=${a.ngFalseValue}`;e.$eval(n)}switch(t.data("checked",l),l){case!0:case r:t.removeAttr("indeterminate"),t.prop("checked",!0),l=r;break;default:t.removeAttr("indeterminate"),t.prop("checked",!1),l=o;}setTimeout(()=>n.$setViewValue(l))}:function(){let e=n.$viewValue;t.data("checked",e),!0===e||e===r?(t.removeAttr("indeterminate"),t.prop("checked",!0),e=r):!1===e||e===o?(t.removeAttr("indeterminate"),t.prop("checked",!1),e=o):(e=null,t.attr("indeterminate",!0)),setTimeout(()=>n.$setViewValue(e))},t.bind("click",function(){let l;switch(t.data("checked")){case!1:case o:l=!a.ngTrueValue||r;break;default:l=!!a.ngFalseValue&&o;}n.$setViewValue(l),e.$apply(n.$render)})}}}]).directive("cronappFilter",["$compile",function($compile){var setFilterInButton=function(e,t){var a=e.closest("div");if(a){var n=a.find("button[cronapp-filter]");if(n){var o=n.data("filters");o||(o=[]);var r=-1,l=e.attr("ng-model");if($(o).each(function(e){this.ngModel==l&&(r=e)}),-1<r&&o.splice(r,1),0<t.length){o.push({ngModel:l,bindedFilter:t})}n.data("filters",o)}}},makeAutoPostSearch=function(e,t,a,n){var o=e.closest("div");if(o&&0<o.length){var r=o.find("button[cronapp-filter]");if(r&&0<r.length){var l=r.data("filters");l&&0<l.length&&(t="",$(l).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),r=o.data("type")||o.attr("type");a.asDate!=null&&(r="date");var l="=";a.cronappFilterOperator&&0<a.cronappFilterOperator.length&&(l=a.cronappFilterOperator);var s=!0;a.cronappFilterAutopost&&"false"==a.cronappFilterAutopost&&(s=!1),setTimeout(function(){"INPUT"==o[0].tagName?inputBehavior(e,t,a,n,o,r,l,s):buttonBehavior(e,t,a,n,o,r,l,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]"
|
|
@@ -14,4 +14,4 @@ maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask
|
|
|
14
14
|
</div>
|
|
15
15
|
</ion-item>
|
|
16
16
|
</ion-list>
|
|
17
|
-
<ion-infinite-scroll></ion-infinite-scroll>`,defaultSearchTemplate="<div class=\"item item-input-inset\">\n <div class=\"item-input-wrapper\">\n <i class=\"icon ion-search placeholder-icon\"></i>\n <input aria-label=\"{{'template.crud.search' | translate}}\" type=\"text\" ng-model=\"vars.searchableList[options.randomModel]\" cronapp-filter=\"{{options.filterFields}}\" cronapp-filter-operator=\"\" cronapp-filter-caseinsensitive=\"false\"\n cronapp-filter-autopost=\"true\" crn-datasource=\"{{options.dataSourceScreen.name}}\" placeholder=\"{{'template.crud.search' | translate}}\">\n </div>\n <button ng-if=\"showButton()\" ng-click=\"limparSelecao()\"\n class=\"button-small cron-list-button-clean button button-inline button-positive component-holder\">\n <span cron-list-button-text>Limpar Sele\xE7\xE3o</span></button>\n</div>";var getExpression=function(e){return"rowData in ".concat(e).concat(".data")},buildFormat=function(e){var t="";return t=" | mask: \""+e.type+"\"",e.format&&(t=" | mask: \""+e.format+"\":\""+e.type+"\""),t},getEditCommand=function(e){return e+".startEditing(rowData)"},getCronappSecurity=function(e){return e.security?`cronapp-security="${e.security}"`:""},addDefaultButton=function(e,t){const a="<ion-option-button "+getCronappSecurity(t)+" class=\"button-positive ion-edit button-edit\" ng-click=\""+getEditCommand(e)+"\"><span> {{\"Permission.view.Edit\" | translate}}</span></ion-option-button>",n="<ion-option-button "+getCronappSecurity(t)+" class=\"button-assertive ion-trash-a button-delete\" ng-click=\""+e+".remove(rowData)\"><span> {{\"Permission.view.Remove\" | translate}}</span></ion-option-button>";if("edit|destroy"==t.command)return a.concat(n);return"edit"==t.command?a:"destroy"==t.command?n:void 0},encodeHTML=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},generateBlocklyCall=function(e){var t;if("client"==e.type){var a=e.blocklyClass.split("/"),n=a[a.length-1];t="blockly.js.blockly."+n,t+="."+e.blocklyMethod;var o="()";0<e.blocklyParams.length&&(o="(",e.blocklyParams.forEach(function(e){o+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),o=o.substr(0,o.length-1),o+=")"),t+=o}else if("server"==e.type){var n=e.blocklyClass+":"+e.blocklyMethod;t="cronapi.util.makeCallServerBlocklyAsync('"+n+"',null,null,",0<e.blocklyParams.length&&e.blocklyParams.forEach(function(e){t+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),t=t.substr(0,t.length-1),t+=")"}return t},addBlockly=function(e){return"<ion-option-button class=\"button-dark "+getCronappSecurity(e)+" ion-navigate\" ng-click=\""+generateBlocklyCall(e.blocklyInfo)+"\"></ion-option-button>"},isImage=function(e,t){for(var a,n=0;n<t.length;n++)if(a=t[n],e==a.name)return"Binary"==a.type;return!1},addCustomButton=function(e){return`<ion-option-button ${getCronappSecurity(e)} class="button-dark ${e.iconClass}" ng-click="listButtonClick($index, rowData, '${window.stringToJs(e.execute)}', $event)">${e.label}</ion-option-button> `};return{restrict:"E",require:"?ngModel",scope:!0,priority:9999998,terminal:!0,link:function(scope,element,attrs,ngModelCtrl){scope.hasValue=e=>null!==e&&e!==void 0;var optionsList={},dataSourceName="",buttons="";try{optionsList=JSON.parse(attrs.options),dataSourceName=optionsList.dataSourceScreen.name;var dataSource=eval(optionsList.dataSourceScreen.name),imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",checkboxTemplate="",modelArrayToInsert=[],isKey=!1;if(scope.options=optionsList,attrs.ngModel){var modelGetter=$parse(attrs.ngModel),modelSetter=modelGetter.assign;optionsList.allowMultiselect?(scope.verifyIsKey=function(e){return isKey=!1,optionsList.fieldType&&"key"===optionsList.fieldType&&(e=this.changeRowDataField(e),isKey=!0),e},scope.limparSelecao=function(){modelSetter(scope,[])},scope.isChecked=function(e){let t=!1;return modelArrayToInsert=modelGetter(scope),e=scope.verifyIsKey(e),t=scope.hasObjectChecked(isKey,e,null,event),scope.isSelected=t,t},scope.hasObjectChecked=function(e,t){let a=!1;return Array.isArray(modelArrayToInsert)&&(e&&"object"!=typeof t?modelArrayToInsert.forEach(e=>{t===e&&(a=!0)}):modelArrayToInsert.forEach(e=>{dataSource.objectIsEquals(t,e)&&(a=!0)})),a},scope.checkboxButtonClick=function(e,t,a,n){let o=!1,r=$(n.currentTarget),l=r.find("input[type=checkbox]:checked").length;modelArrayToInsert=modelGetter(scope),Array.isArray(modelArrayToInsert)||(modelArrayToInsert=[]),$(n.target).is("input[type=checkbox]")||a||(0<l?r.find("input[type=checkbox]").prop("checked",!1):r.find("input[type=checkbox]").prop("checked",!0));let s=$(n.currentTarget).find("input[type=checkbox]");t=scope.verifyIsKey(t),$(s).is(":checked")?(o=scope.hasObjectChecked(isKey,t,a,n),!o&&modelArrayToInsert.push(t)):isKey&&"object"!=typeof t?modelArrayToInsert.forEach((e,a)=>{t===e&&modelArrayToInsert.splice(a,1)}):modelArrayToInsert.forEach((e,a)=>{dataSource.objectIsEquals(t,e)&&modelArrayToInsert.splice(a,1)}),modelSetter(scope,modelArrayToInsert),n.stopPropagation()}):scope.setRowDataModel=function(e,t){optionsList.fieldType&&"key"===optionsList.fieldType&&(t=this.changeRowDataField(t)),modelSetter(scope,t)},scope.changeRowDataField=function(e){e=dataSource.getKeyValues(e);var t=Object.keys(e);return 1===t.length&&(e=e[t]),e}}scope.listButtonClick=function(e,t,a,n){if("INPUT"!=n.target.tagName){dataSource.goTo(t);var o={currentData:dataSource.data,datasource:dataSource,selectedIndex:e,index:e,selectedRow:t,consolidated:{item:t,index:e},item:t,selectedKeys:dataSource.getKeyValues(dataSource.active,!0)};scope.$eval(a,o),n.preventDefault(),n.stopPropagation()}};var searchableField=null,isNativeEdit=!1,addedImage=!1;scope.options=optionsList,scope.options.fields={},scope.options.isImageFromDropbox=!1,scope.options.editableButtonClass="",scope.options.itemContentClass="",scope.options.itemSimple="",scope.options.filterFields="",scope.options.randomModel=_Mathfloor(9e3*Math.random())+1e3,optionsList.imagePosition||(scope.options.imagePosition="left"),optionsList.iconPosition||(scope.options.iconPosition="right"),optionsList.imageType||(scope.options.imageType="avatar");for(var column,imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",visibleColumns=[],i=0;i<optionsList.columns.length;i++)column=optionsList.columns[i],column.visible&&visibleColumns.push(optionsList.columns[i]);for(var column,i=0;i<visibleColumns.length;i++)column=visibleColumns[i],column.field&&"Database"==column.dataType?(scope.options.fields["security"+i]=column.security,scope.options.fields["field"+i]=column.field,scope.options.fields["type"+i]=column.type,scope.options.fields["mask"+i]=column.format,!addedImage&&isImage(column.field,optionsList.dataSourceScreen.entityDataSource.schemaFields)&&"do-not-show"!==optionsList.imageType?(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!1):addedImage||"image"!=column.type?column.filterable&&(searchableField=null==searchableField?column.field:searchableField+";"+column.field):(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!0)):("Command"==column.dataType||"Blockly"==column.dataType||"Customized"==column.dataType)&&(scope.options.editableButtonClass="item-complex item-right-editable","Command"==column.dataType?(scope.options.fields["field"+i]=column.field,buttons=buttons.concat(addDefaultButton(dataSourceName,column)),("edit"==column.command||"edit|destroy"==column.command)&&(isNativeEdit=!0)):"Blockly"==column.dataType?buttons=buttons.concat(addBlockly(column)):"Customized"==column.dataType&&(buttons=buttons.concat(addCustomButton(column))))}catch(e){console.log("CronList invalid configuration! "+e)}scope.options.editableButtonClass||addedImage?!scope.options.editableButtonClass&&addedImage&&(scope.options.itemContentClass="item-content",scope.options.editableButtonClass="item-complex",scope.options.itemSimple=""):(scope.options.itemContentClass="item-content",scope.options.itemSimple="item-simple"),scope.options.fields.image&&"do-not-show"!=scope.options.imageType&&(scope.options.imageClassPosition="item-"+scope.options.imageType+"-"+scope.options.imagePosition),addedImage||(scope.options.imageType="do-not-show"),scope.options.icon&&scope.options.iconPosition&&scope.options.imageType&&(scope.options.iconClassPosition="item-icon-"+scope.options.iconPosition),bothDirection&&scope.options.icon&&scope.options.imagePosition&&scope.options.imageType&&(scope.options.imageToClassPosition="image-to-"+scope.options.imagePosition+"-"+scope.options.imageType,scope.options.textToClassPosition="text-to-"+scope.options.iconPosition+"-"+scope.options.imageType),scope.options.advancedTemplate||(scope.options.advancedTemplate=defaultAdvancedTemplate),scope.options.searchTemplate||(scope.options.searchTemplate=defaultSearchTemplate);var templateDyn=null;searchableField?(scope.options.filterFields=searchableField,templateDyn=scope.options.searchTemplate+scope.options.advancedTemplate):templateDyn=scope.options.advancedTemplate;for(let e,t=0;t<visibleColumns.length;t++)if(e=visibleColumns[t],e.field&&"Database"===e.dataType&&scope.options.fields[`security${t}`]){let e=`ng-if="rowData[options.fields.field${t}]"`,a=`${e} cronapp-security="${scope.options.fields["security"+t]}"`;templateDyn=templateDyn.replace(e,a)}templateDyn=$(templateDyn),scope.options.xattrTextPosition=attrs.xattrTextPosition,templateDyn.attr("type",optionsList.listType),$(element).replaceWith(templateDyn);var $element=templateDyn,ionItem=$element.find("ion-item");"rowData in datasource"===$(ionItem).attr("ng-repeat")&&ionItem.attr("ng-repeat",getExpression(dataSourceName)),isNativeEdit&&ionItem.attr("ng-click",getEditCommand(dataSourceName));var ngClickAttrTemplate="",ngClickAttrTemplateCheckbox="";optionsList.allowMultiselect?(attrs.ngModel&&(ngClickAttrTemplateCheckbox="checkboxButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),checkboxTemplate=$element.find("ul"),attrs.ngClick&&(checkboxTemplate=$(checkboxTemplate).attr("ng-click",ngClickAttrTemplateCheckbox).get(0).outerHTML,ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplateCheckbox+ngClickAttrTemplate)):(attrs.ngModel&&(ngClickAttrTemplate="setRowDataModel($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),attrs.ngClick&&(ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplate));const attrsExcludeds=["options","ng-repeat","ng-click"],filteredItems=Object.values(attrs.$attr).filter(function(e){return!attrsExcludeds.includes(e)});for(let e in filteredItems)ionItem.attr(filteredItems[e],attrs[e]);ionItem.append(buttons);var firstScroll=!0;scope.nextPageInfinite=function(){return $element.find("ion-item").length<dataSource.data.length||0==dataSource.data.length?void scope.$broadcast("scroll.infiniteScrollComplete"):void($element.find("ion-item").length==dataSource.data.length&&(firstScroll?(scope.$broadcast("scroll.infiniteScrollComplete"),firstScroll=!1):dataSource.nextPage(function(){scope.$broadcast("scroll.infiniteScrollComplete")})))};var infiniteScroll=$element.filter(function(){return $(this).is("ion-infinite-scroll")});infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),scope.showButton=function(){if(optionsList.allowMultiselect){var e=modelGetter(scope);if(null!==e&&e!==void 0)return 0<e.length}return!1},$compile(templateDyn,null,9999998)(scope)}}}]).directive("cronInfiniteScroll",["$compile",function($compile){'use strict';return{restrict:"EA",link:function(scope,element,attrs){var dataSource=attrs.cronInfiniteScroll?eval(attrs.cronInfiniteScroll):attrs.crnDatasource?eval(attrs.crnDatasource):void 0;if(dataSource){scope.nextPageInfinite=function(){dataSource.nextPage(),scope.$broadcast("scroll.infiniteScrollComplete")};var templateDyn=$("<ion-infinite-scroll></ion-infinite-scroll>");$(element).html(templateDyn);var infiniteScroll=$(element).find("ion-infinite-scroll");infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),$compile(templateDyn)(element.scope())}}}}]).filter("raw",["$translate",function(){return function(e){if(null!=e&&e!==void 0){if("number"==typeof e)return e+"";if("boolean"==typeof e)return e+"";if(e instanceof Date)"datetimeoffset'"+e.toISOString()+"'";else return 10<=e.length&&e.match(ISO_PATTERN)?"datetimeoffset'"+e+"'":"'"+e+"'"}else return""}}]).directive("xkeyField",["$compile",function(e){'use strict';return{restrict:"A",link:function(t,a,n){if(n.xkeyField&&n.xdisplayField){var o="";n.crnDatasource&&(o=n.crnDatasource),a.removeAttr("xkey-field"),a.removeAttr("xdisplay-field"),a.append("<option ng-repeat=\"opt in "+o+".data\" value=\"{{opt."+n.xkeyField+"}}\">{{opt."+n.xdisplayField+"}}</option>"),e($(a))(t)}}}}]).directive("cronMobileMenu",["$compile","$translate",function(e,t){'use strict';var a=function(e){var a="";return e&&null!=e&&e.subMenuOptions&&null!=e.subMenuOptions&&Array.isArray(e.subMenuOptions)&&e.subMenuOptions.forEach(function(e){var n=e.security&&null!=e.security?" cronapp-security=\""+e.security+"\" ":"",o=e.action&&null!=e.action?" ng-click=\""+e.action+"\" ":"",r=e.hide&&null!=e.hide?" ng-hide=\""+e.hide+"\" ":"",l=e.iconClass&&null!=e.iconClass?e.iconClass:"",s=e.imagePosition&&null!=e.imagePosition?"item-icon-"+e.imagePosition:"",d=e.textPosition&&null!=e.textPosition?"text-"+e.textPosition:"",c=e.contentTheme&&null!=e.contentTheme?e.contentTheme:"",p=e.iconTheme&&null!=e.iconTheme?e.iconTheme:"",u=t.instant(e.title);a=a+" <a menu-close=\"\" class=\"item "+s+"\" "+o+n+r+"> <i class=\""+l+" "+p+"\" style=\"font-size: 150%\"></i> <div class=\"item-content "+d+"\"> <h2 class=\""+c+"\">"+u+"</h2> </div> </a> "}),a};return{restrict:"EA",link:function(t,n,o){var r={};try{r=JSON.parse(o.options)}catch(t){console.log("CronMobileMenu: Invalid configuration!")}var l=$("<ul class=\"nav navbar-nav\" style=\"float:none\"></ul>"),s=a(r);l.append(s);var d=angular.element(l);n.html(""),n.append(l),n.attr("id",null),e(d)(t)}}}]).directive("srcLazy",["$compile",function(){'use strict';return{restrict:"A",link:function(e,t,a){var n=$(t);setTimeout(function(){return n.is(":appeared")?void t.attr("src",a.srcLazy):void(a.srcLazyPreview?n.attr("src",a.srcLazyPreview):n.css("visibility","hidden"),n.appear(),n.on("appear",function(){n.attr("src-lazy")&&(!a.srcLazyPreview&&n.css("visibility","visible"),console.log(a.srcLazy),n.attr("src",a.srcLazy),n.attr("src-lazy",""))}))},100),e.$on("$destroy",function(){n.appearStop()})}}}]).directive("cronMap",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronMap")[0];e(o)(a.scope());var r=a.find(".cronMapIframe")[0];e(r)(a.scope());var l="",s=n.src,d=n.width,c=n.height;l=`<iframe class="cronMapIframe" src="${s}" width="${d}" height="${c}" style="border:0;" allowfullscreen="" loading="lazy"></iframe>`,a.html(l),e(l)(a.scope())}}}]).directive("cronVideo",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronVideo")[0];e(o)(a.scope());var r=a.find(".cronVideoIframe")[0];e(r)(a.scope());var l="",s=n.src,d=n.width,c=n.height,p=n.title;l=`<iframe class="cronVideoIframe" src="${s}" width="${d}" height="${c}" title="${p}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> </iframe>`,a.html(l),e(l)(a.scope())}}}]),app.directive("kendoChat",["$compile","$timeout",function(e,t){return{restrict:"E",link:function(e,a,n){function o(){let e=$(".k-chat");e.height($(window).height()-e.offset().top)}let r=n.ngOnPostMessage,l=n.ngOnSendMessage,s=n.ngOnTypingEnd,d=n.ngOnTypingStart,c=n.ngOnActionClick,p=n.chatUserId,u=n.chatUsername,m=n.chatUserImage,g=n.chatPlaceholder,f=localStorage.getItem("_u")===void 0?null:JSON.parse(localStorage.getItem("_u")),h=window.navigator.userAgent,v="";f&&f.user&&(v=f.user.name);let y=$("<div></div>");y.kendoChat({messages:{placeholder:g},user:{id:p||h,name:u||v,iconUrl:m}}),chat=y.data("kendoChat"),chat.bind("post",t=>{if(r)try{e.$eval(r,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("sendMessage",t=>{if(l)try{e.$eval(l,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingStart",t=>{if(d)try{e.$eval(d,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingEnd",t=>{if(s)try{e.$eval(s,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("actionClick",t=>{if(c)try{e.$eval(c,{chatMessage:t})}catch(t){console.error(t)}}),a.empty().append(y),$(window).resize(()=>{o()}),t(()=>{o()})}}}])}(app),function(e){function t(){return e(this).is(":appeared")}function a(){return!e(this).data("_appear_triggered")}function n(){l=!1;for(var n,o=0,s=r.length;o<s;o++){if(n=e(r[o]).filter(t),n.filter(a).data("_appear_triggered",!0).trigger("appear",[n]),c[o]){var d=c[o].not(n);d.data("_appear_triggered",!1).trigger("disappear",[d])}c[o]=n}}function o(e){r.push(e),c.push()}var r=[],l=!1,s={interval:250,force_process:!1},d=e(window),c=[];e.expr.pseudos.appeared=e.expr.createPseudo(function(){return function(t){var a=e(t),n=d.scrollLeft(),o=d.scrollTop(),r=a.offset(),l=r.left,s=r.top;return!!(s+a.height()>=o&&s-(a.data("appear-top-offset")||0)<=o+d.height()&&l+a.width()>=n&&l-(a.data("appear-left-offset")||0)<=n+d.width())}}),e.fn.extend({appear:function(t,a){return e.appear(this,a),this}}),e.fn.extend({appearStop:function(t,a){return e.appearStop(this,a),this}}),e.extend({appearStop:function(e){var t=-1;for(i=0;i<r.length;i++)if(r[i].get(0)==e.get(0)){t=i;break}-1!=t&&r.splice(t)},appear:function(t,a){var r=e.extend({},s,a||{}),d=e("ion-content");if(d.length){if(!d.get(0).checkBinded){var c=function(){l||(l=!0,setTimeout(n,r.interval))};d.scroll(c).resize(c),d.get(0).checkBinded=!0}r.force_process&&setTimeout(n,r.interval),o(t)}}})}(function(){return"undefined"==typeof module?jQuery:require("jquery")}());function maskDirectiveAsDate(e,t,a){return maskDirective(e,t,"as-date",a)}function maskDirectiveMask(e,t,a){return maskDirective(e,t,"mask",a)}function maskDirective(e,t,a,n){return{restrict:"A",require:"?ngModel",link:function(e,o,r,l){var s=n(r.ngModel),d=s.assign;if("as-date"!=a||void 0===r.mask){var c=$(o),p=c.attr("type");if("checkbox"!=p&&"password"!=p){c.data("type",p),c.attr("type","text"),l&&(l.$formatters=[],l.$parsers=[]),void 0!==r.asDate&&"text"==p&&(p="date");var u=!0,m=!1,g=r.mask||r.format;g=g?parseMaskType(g,t):parseMaskType(p,t),g.endsWith(";0")&&(m=!0);var f=g.replace(";1","").replace(";0","").replace(";local","").trim(),h=r.keyboard,v=t.instant("keyboardDecimalChar")&&1==t.instant("keyboardDecimalChar").length?t.instant("keyboardDecimalChar"):",";if(h&&parseKeyboardType(h,v,c),null!=f&&0!=f.length){if("date"==p||"datetime"==p||"datetime-local"==p||"month"==p||"time"==p||"time-local"==p||"week"==p){var y="date"==p||"datetime"==p||"time"==p;window.fixedTimeZone||(y=!1),"date"==p?(f=moment.HTML5_FMT.DATE,c.attr("type","date")):"month"==p?(f=moment.HTML5_FMT.MONTH,c.attr("type","month")):"week"==p?(f=moment.HTML5_FMT.WEEK,c.attr("type","week")):"datetime"==p||"datetime-local"==p?(f=moment.HTML5_FMT.DATETIME_LOCAL,c.attr("type","datetime-local")):("time"==p||"time-local"==p)&&(f=moment.HTML5_FMT.TIME,c.attr("type","time")),l&&(l.$formatters.push(function(e){return e?y?moment(e).utcOffset(window.timeZoneOffset).format(f):moment(e).format(f):null}),l.$parsers.push(function(e){return e?y?moment(e,f).utcOffset(window.timeZoneOffset,!0).toDate():moment(e,f).toDate():new Date(e)}))}else if("number"==p||"money"==p||"integer"==p||"money-decimal"==p){m=!0,u=!1;var b=f.trim().replace(/\./g,"").replace(/\,/g,"").replace(/#/g,"").replace(/0/g,"").replace(/9/g,"");h||("integer"==p||"money-decimal"==p?h="integer":h="number");var k="",x="",M="",T=",",w=0;f.startsWith(b)?k=b:f.endsWith(b)&&(x=b);var C=f.trim().replace(k,"").replace(x,"").trim();C.startsWith("#.")?M=".":C.startsWith("#,")&&(M=",");var D=null;if(-1==C.indexOf(",0")?-1!=C.indexOf(".0")&&(T=".",D=".0"):(T=",",D=",0"),null!=D){var P=C.substring(C.indexOf(D)+1);w=P.length}var F="numeric";0==w&&(F="integer");var I={rightAlign:"money"==p||"money-decimal"==p,unmaskAsNumber:!0,allowMinus:"money"!=p&&"money-decimal"!=p,prefix:k,suffix:x,radixPoint:T,digits:w,numericInput:"money-decimal"==p};M&&(I.autoGroup=!0,I.groupSeparator=M),"money-decimal"==p&&(F="currency"),$(o).inputmask(F,I),useInputMaskPlugin(o,l,e,d,f)}else"text"==p||"tel"==p?(h||"tel"!=p||(h="tel"),r.maskPlaceholder?(options={},options.placeholder=r.maskPlaceholder,$(o).inputmask(f,options),$(o).off("keypress"),m&&useInputMaskPlugin(o,l,e,d,f)):(c.mask(f),useMaskPlugin(o,l,e,d,m))):("email"==p||"password"==p||"search"==p)&&(h||(h=p));h&&parseKeyboardType(h,v,c)}}}}}}function useInputMaskPlugin(e,t,a,n,o){var r=$(e);$(e).off("keypress"),$(e).on("keyup",function(){var t=$(this).inputmask("unmaskedvalue");$(this).data("rawvalue",t),e._ignoreFormatter=!0,a.safeApply(function(){n(a,t)})}),t&&(t.$formatters.push(function(t){return e._ignoreFormatter?(e._ignoreFormatter=!1,$(e).val()):(e._ignoreFormatter=!1,null!=t&&null!=t&&""!==t?format(o,t):null)}),t.$parsers.push(function(e){if(e!=null&&null!=e&&""!==e){var t=r.inputmask("unmaskedvalue");if(""!==t)return t}return null}))}function useMaskPlugin(e,t,a,n,o){var r=$(e),l=function(){o&&$(this).data("rawvalue",$(this).cleanVal())};$(e).on("keydown",l).on("keyup",l),o&&t&&(t.$formatters.push(function(e){return e?r.masked(e):null}),t.$parsers.push(function(e){return e?r.cleanVal():null}))}function parseKeyboardType(e,t,a){("integer"==e||"number"==e||"tel"==e)&&(a.attr("pattern","\\d*"),a.attr("inputmode","decimal")),("tel"==e||"email"==e||"search"==e||"password"==e)&&a.attr("type",e),"ios"===cordova.platformId&&"number"==e&&(a.attr("decimal","true"),a.attr("allow-multiple-decimals","true"),a.attr("decimal-char",t))}function parseMaskType(e,t){return"datetime"==e||"datetime-local"==e?(e=t.instant("Format.DateTime"),"Format.DateTime"==e&&(e="DD/MM/YYYY HH:mm:ss")):"date"==e?(e=t.instant("Format.Date"),"Format.Date"==e&&(e="DD/MM/YYYY")):"time"==e||"time-local"==e?(e=t.instant("Format.Hour"),"Format.Hour"==e&&(e="HH:mm:ss")):"month"==e?e="MMMM":"number"==e?(e=t.instant("Format.Decimal"),"Format.Decimal"==e&&(e="0,00")):"money"==e||"money-decimal"==e?(e=t.instant("Format.Money"),"Format.Money"==e&&(e="#.#00,00")):"integer"==e?e="0":"week"==e?e="dddd":"tel"==e?e="(99) 99999-9999;0":"text"==e?e="":"string"==e&&(e=""),e}function transformText(){return{restrict:"E",require:"?ngModel",link:function(e,t,a,n){let o=function(e,t){if(e&&t&&("string"==typeof t||t instanceof String)){if("uppercase"===e.css("text-transform"))return t.toUpperCase();if("lowercase"===e.css("text-transform"))return t.toLowerCase()}return t};n&&(n.$formatters.push(function(e){return o(t,e)}),n.$parsers.push(function(e){return o(t,e)}))}}}
|
|
17
|
+
<ion-infinite-scroll></ion-infinite-scroll>`,defaultSearchTemplate="<div class=\"item item-input-inset\">\n <div class=\"item-input-wrapper\">\n <i class=\"icon ion-search placeholder-icon\"></i>\n <input aria-label=\"{{'template.crud.search' | translate}}\" type=\"text\" ng-model=\"vars.searchableList[options.randomModel]\" cronapp-filter=\"{{options.filterFields}}\" cronapp-filter-operator=\"\" cronapp-filter-caseinsensitive=\"false\"\n cronapp-filter-autopost=\"true\" crn-datasource=\"{{options.dataSourceScreen.name}}\" placeholder=\"{{'template.crud.search' | translate}}\">\n </div>\n <button ng-if=\"showButton()\" ng-click=\"limparSelecao()\"\n class=\"button-small cron-list-button-clean button button-inline button-positive component-holder\">\n <span cron-list-button-text>Limpar Sele\xE7\xE3o</span></button>\n</div>";var getExpression=function(e){return"rowData in ".concat(e).concat(".data")},buildFormat=function(e){var t="";return t=" | mask: \""+e.type+"\"",e.format&&(t=" | mask: \""+e.format+"\":\""+e.type+"\""),t},getEditCommand=function(e){return e+".startEditing(rowData)"},getCronappSecurity=function(e){return e.security?`cronapp-security="${e.security}"`:""},addDefaultButton=function(e,t){const a="<ion-option-button "+getCronappSecurity(t)+" class=\"button-positive ion-edit button-edit\" ng-click=\""+getEditCommand(e)+"\"><span> {{\"Permission.view.Edit\" | translate}}</span></ion-option-button>",n="<ion-option-button "+getCronappSecurity(t)+" class=\"button-assertive ion-trash-a button-delete\" ng-click=\""+e+".remove(rowData)\"><span> {{\"Permission.view.Remove\" | translate}}</span></ion-option-button>";if("edit|destroy"==t.command)return a.concat(n);return"edit"==t.command?a:"destroy"==t.command?n:void 0},encodeHTML=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},generateBlocklyCall=function(e){var t;if("client"==e.type){var a=e.blocklyClass.split("/"),n=a[a.length-1];t="blockly.js.blockly."+n,t+="."+e.blocklyMethod;var o="()";0<e.blocklyParams.length&&(o="(",e.blocklyParams.forEach(function(e){o+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),o=o.substr(0,o.length-1),o+=")"),t+=o}else if("server"==e.type){var n=e.blocklyClass+":"+e.blocklyMethod;t="cronapi.util.makeCallServerBlocklyAsync('"+n+"',null,null,",0<e.blocklyParams.length&&e.blocklyParams.forEach(function(e){t+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),t=t.substr(0,t.length-1),t+=")"}return t},addBlockly=function(e){return"<ion-option-button class=\"button-dark "+getCronappSecurity(e)+" ion-navigate\" ng-click=\""+generateBlocklyCall(e.blocklyInfo)+"\"></ion-option-button>"},isImage=function(e,t){for(var a,n=0;n<t.length;n++)if(a=t[n],e==a.name)return"Binary"==a.type;return!1},addCustomButton=function(e){return`<ion-option-button ${getCronappSecurity(e)} class="button-dark ${e.iconClass}" ng-click="listButtonClick($index, rowData, '${window.stringToJs(e.execute)}', $event)">${e.label}</ion-option-button> `};return{restrict:"E",require:"?ngModel",scope:!0,priority:9999998,terminal:!0,link:function(scope,element,attrs,ngModelCtrl){scope.hasValue=e=>null!==e&&e!==void 0;var optionsList={},dataSourceName="",buttons="";try{optionsList=JSON.parse(attrs.options),dataSourceName=optionsList.dataSourceScreen.name;var dataSource=eval(optionsList.dataSourceScreen.name),imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",checkboxTemplate="",modelArrayToInsert=[],isKey=!1;if(scope.options=optionsList,attrs.ngModel){var modelGetter=$parse(attrs.ngModel),modelSetter=modelGetter.assign;optionsList.allowMultiselect?(scope.verifyIsKey=function(e){return isKey=!1,optionsList.fieldType&&"key"===optionsList.fieldType&&(e=this.changeRowDataField(e),isKey=!0),e},scope.limparSelecao=function(){modelSetter(scope,[])},scope.isChecked=function(e){let t=!1;return modelArrayToInsert=modelGetter(scope),e=scope.verifyIsKey(e),t=scope.hasObjectChecked(isKey,e,null,event),scope.isSelected=t,t},scope.hasObjectChecked=function(e,t){let a=!1;return Array.isArray(modelArrayToInsert)&&(e&&"object"!=typeof t?modelArrayToInsert.forEach(e=>{t===e&&(a=!0)}):modelArrayToInsert.forEach(e=>{dataSource.objectIsEquals(t,e)&&(a=!0)})),a},scope.checkboxButtonClick=function(e,t,a,n){let o=!1,r=$(n.currentTarget),l=r.find("input[type=checkbox]:checked").length;modelArrayToInsert=modelGetter(scope),Array.isArray(modelArrayToInsert)||(modelArrayToInsert=[]),$(n.target).is("input[type=checkbox]")||a||(0<l?r.find("input[type=checkbox]").prop("checked",!1):r.find("input[type=checkbox]").prop("checked",!0));let s=$(n.currentTarget).find("input[type=checkbox]");t=scope.verifyIsKey(t),$(s).is(":checked")?(o=scope.hasObjectChecked(isKey,t,a,n),!o&&modelArrayToInsert.push(t)):isKey&&"object"!=typeof t?modelArrayToInsert.forEach((e,a)=>{t===e&&modelArrayToInsert.splice(a,1)}):modelArrayToInsert.forEach((e,a)=>{dataSource.objectIsEquals(t,e)&&modelArrayToInsert.splice(a,1)}),modelSetter(scope,modelArrayToInsert),n.stopPropagation()}):scope.setRowDataModel=function(e,t){optionsList.fieldType&&"key"===optionsList.fieldType&&(t=this.changeRowDataField(t)),modelSetter(scope,t)},scope.changeRowDataField=function(e){e=dataSource.getKeyValues(e);var t=Object.keys(e);return 1===t.length&&(e=e[t]),e}}scope.listButtonClick=function(e,t,a,n){if("INPUT"!=n.target.tagName){dataSource.goTo(t);var o={currentData:dataSource.data,datasource:dataSource,selectedIndex:e,index:e,selectedRow:t,consolidated:{item:t,index:e},item:t,selectedKeys:dataSource.getKeyValues(dataSource.active,!0)};scope.$eval(a,o),n.preventDefault(),n.stopPropagation()}};var searchableField=null,isNativeEdit=!1,addedImage=!1;scope.options=optionsList,scope.options.fields={},scope.options.isImageFromDropbox=!1,scope.options.editableButtonClass="",scope.options.itemContentClass="",scope.options.itemSimple="",scope.options.filterFields="",scope.options.randomModel=_Mathfloor(9e3*Math.random())+1e3,optionsList.imagePosition||(scope.options.imagePosition="left"),optionsList.iconPosition||(scope.options.iconPosition="right"),optionsList.imageType||(scope.options.imageType="avatar");for(var column,imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",visibleColumns=[],i=0;i<optionsList.columns.length;i++)column=optionsList.columns[i],column.visible&&visibleColumns.push(optionsList.columns[i]);for(var column,i=0;i<visibleColumns.length;i++)column=visibleColumns[i],column.field&&"Database"==column.dataType?(scope.options.fields["security"+i]=column.security,scope.options.fields["field"+i]=column.field,scope.options.fields["type"+i]=column.type,scope.options.fields["mask"+i]=column.format,!addedImage&&isImage(column.field,optionsList.dataSourceScreen.entityDataSource.schemaFields)&&"do-not-show"!==optionsList.imageType?(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!1):addedImage||"image"!=column.type?column.filterable&&(searchableField=null==searchableField?column.field:searchableField+";"+column.field):(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!0)):("Command"==column.dataType||"Blockly"==column.dataType||"Customized"==column.dataType)&&(scope.options.editableButtonClass="item-complex item-right-editable","Command"==column.dataType?(scope.options.fields["field"+i]=column.field,buttons=buttons.concat(addDefaultButton(dataSourceName,column)),("edit"==column.command||"edit|destroy"==column.command)&&(isNativeEdit=!0)):"Blockly"==column.dataType?buttons=buttons.concat(addBlockly(column)):"Customized"==column.dataType&&(buttons=buttons.concat(addCustomButton(column))))}catch(e){console.log("CronList invalid configuration! "+e)}scope.options.editableButtonClass||addedImage?!scope.options.editableButtonClass&&addedImage&&(scope.options.itemContentClass="item-content",scope.options.editableButtonClass="item-complex",scope.options.itemSimple=""):(scope.options.itemContentClass="item-content",scope.options.itemSimple="item-simple"),scope.options.fields.image&&"do-not-show"!=scope.options.imageType&&(scope.options.imageClassPosition="item-"+scope.options.imageType+"-"+scope.options.imagePosition),addedImage||(scope.options.imageType="do-not-show"),scope.options.icon&&scope.options.iconPosition&&scope.options.imageType&&(scope.options.iconClassPosition="item-icon-"+scope.options.iconPosition),bothDirection&&scope.options.icon&&scope.options.imagePosition&&scope.options.imageType&&(scope.options.imageToClassPosition="image-to-"+scope.options.imagePosition+"-"+scope.options.imageType,scope.options.textToClassPosition="text-to-"+scope.options.iconPosition+"-"+scope.options.imageType),scope.options.advancedTemplate||(scope.options.advancedTemplate=defaultAdvancedTemplate),scope.options.searchTemplate||(scope.options.searchTemplate=defaultSearchTemplate);var templateDyn=null;searchableField?(scope.options.filterFields=searchableField,templateDyn=scope.options.searchTemplate+scope.options.advancedTemplate):templateDyn=scope.options.advancedTemplate;for(let e,t=0;t<visibleColumns.length;t++)if(e=visibleColumns[t],e.field&&"Database"===e.dataType&&scope.options.fields[`security${t}`]){let e=`ng-if="rowData[options.fields.field${t}]"`,a=`${e} cronapp-security="${scope.options.fields["security"+t]}"`;templateDyn=templateDyn.replace(e,a)}templateDyn=$(templateDyn),scope.options.xattrTextPosition=attrs.xattrTextPosition,templateDyn.attr("type",optionsList.listType),$(element).replaceWith(templateDyn);var $element=templateDyn,ionItem=$element.find("ion-item");"rowData in datasource"===$(ionItem).attr("ng-repeat")&&ionItem.attr("ng-repeat",getExpression(dataSourceName)),isNativeEdit&&ionItem.attr("ng-click",getEditCommand(dataSourceName));var ngClickAttrTemplate="",ngClickAttrTemplateCheckbox="";optionsList.allowMultiselect?(attrs.ngModel&&(ngClickAttrTemplateCheckbox="checkboxButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),checkboxTemplate=$element.find("ul"),attrs.ngClick&&(checkboxTemplate=$(checkboxTemplate).attr("ng-click",ngClickAttrTemplateCheckbox).get(0).outerHTML,ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplateCheckbox+ngClickAttrTemplate)):(attrs.ngModel&&(ngClickAttrTemplate="setRowDataModel($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),attrs.ngClick&&(ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplate));const attrsExcludeds=["options","ng-repeat","ng-click"],filteredItems=Object.values(attrs.$attr).filter(function(e){return!attrsExcludeds.includes(e)});for(let e in filteredItems)ionItem.attr(filteredItems[e],attrs[e]);ionItem.append(buttons);var firstScroll=!0;scope.nextPageInfinite=function(){return $element.find("ion-item").length<dataSource.data.length||0==dataSource.data.length?void scope.$broadcast("scroll.infiniteScrollComplete"):void($element.find("ion-item").length==dataSource.data.length&&(firstScroll?(scope.$broadcast("scroll.infiniteScrollComplete"),firstScroll=!1):dataSource.nextPage(function(){scope.$broadcast("scroll.infiniteScrollComplete")})))};var infiniteScroll=$element.filter(function(){return $(this).is("ion-infinite-scroll")});infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),scope.showButton=function(){if(optionsList.allowMultiselect){var e=modelGetter(scope);if(null!==e&&e!==void 0)return 0<e.length}return!1},$compile(templateDyn,null,9999998)(scope)}}}]).directive("cronInfiniteScroll",["$compile",function($compile){'use strict';return{restrict:"EA",link:function(scope,element,attrs){var dataSource=attrs.cronInfiniteScroll?eval(attrs.cronInfiniteScroll):attrs.crnDatasource?eval(attrs.crnDatasource):void 0;if(dataSource){scope.nextPageInfinite=function(){dataSource.nextPage(),scope.$broadcast("scroll.infiniteScrollComplete")};var templateDyn=$("<ion-infinite-scroll></ion-infinite-scroll>");$(element).html(templateDyn);var infiniteScroll=$(element).find("ion-infinite-scroll");infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),$compile(templateDyn)(element.scope())}}}}]).filter("raw",["$translate",function(){return function(e){if(null!=e&&e!==void 0){if("number"==typeof e)return e+"";if("boolean"==typeof e)return e+"";if(e instanceof Date)"datetimeoffset'"+e.toISOString()+"'";else return 10<=e.length&&e.match(ISO_PATTERN)?"datetimeoffset'"+e+"'":"'"+e+"'"}else return""}}]).directive("xkeyField",["$compile",function(e){'use strict';return{restrict:"A",link:function(t,a,n){if(n.xkeyField&&n.xdisplayField){var o="";n.crnDatasource&&(o=n.crnDatasource),a.removeAttr("xkey-field"),a.removeAttr("xdisplay-field"),a.append("<option ng-repeat=\"opt in "+o+".data\" value=\"{{opt."+n.xkeyField+"}}\">{{opt."+n.xdisplayField+"}}</option>"),e($(a))(t)}}}}]).directive("cronMobileMenu",["$compile","$translate",function(e,t){'use strict';var a=function(e){var a="";return e&&null!=e&&e.subMenuOptions&&null!=e.subMenuOptions&&Array.isArray(e.subMenuOptions)&&e.subMenuOptions.forEach(function(e){var n=e.security&&null!=e.security?" cronapp-security=\""+e.security+"\" ":"",o=e.action&&null!=e.action?" ng-click=\""+e.action+"\" ":"",r=e.hide&&null!=e.hide?" ng-hide=\""+e.hide+"\" ":"",l=e.iconClass&&null!=e.iconClass?e.iconClass:"",s=e.imagePosition&&null!=e.imagePosition?"item-icon-"+e.imagePosition:"",d=e.textPosition&&null!=e.textPosition?"text-"+e.textPosition:"",c=e.contentTheme&&null!=e.contentTheme?e.contentTheme:"",p=e.iconTheme&&null!=e.iconTheme?e.iconTheme:"",u=t.instant(e.title);a=a+" <a menu-close=\"\" class=\"item "+s+"\" "+o+n+r+"> <i class=\""+l+" "+p+"\" style=\"font-size: 150%\"></i> <div class=\"item-content "+d+"\"> <h2 class=\""+c+"\">"+u+"</h2> </div> </a> "}),a};return{restrict:"EA",link:function(t,n,o){var r={};try{r=JSON.parse(o.options)}catch(t){console.log("CronMobileMenu: Invalid configuration!")}var l=$("<ul class=\"nav navbar-nav\" style=\"float:none\"></ul>"),s=a(r);l.append(s);var d=angular.element(l);n.html(""),n.append(l),n.attr("id",null),e(d)(t)}}}]).directive("srcLazy",["$compile",function(){'use strict';return{restrict:"A",link:function(e,t,a){var n=$(t);setTimeout(function(){return n.is(":appeared")?void t.attr("src",a.srcLazy):void(a.srcLazyPreview?n.attr("src",a.srcLazyPreview):n.css("visibility","hidden"),n.appear(),n.on("appear",function(){n.attr("src-lazy")&&(!a.srcLazyPreview&&n.css("visibility","visible"),console.log(a.srcLazy),n.attr("src",a.srcLazy),n.attr("src-lazy",""))}))},100),e.$on("$destroy",function(){n.appearStop()})}}}]).directive("cronMap",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronMap")[0];e(o)(a.scope());var r=a.find(".cronMapIframe")[0];e(r)(a.scope());var l="",s=n.src,d=n.width,c=n.height;l=`<iframe class="cronMapIframe" src="${s}" width="${d}" height="${c}" style="border:0;" allowfullscreen="" loading="lazy"></iframe>`,a.html(l),e(l)(a.scope())}}}]).directive("signaturePad",["$compile","$window",function(e,t){'use strict';var a;return{restrict:"E",require:"ngModel",scope:!0,replace:!0,template:"<div><canvas style=\"width:100%\" ng-click=\"mouseup()\" ng-mouseup=\"mouseup()\"></canvas><div><button type=\"button\" style=\"margin-right:5px;margin-bottom:5px;\" ng-click=\"clear()\">{{\"clear\"|translate}}</button></div></div>",scope:{clear:"=",dataurl:"=",height:"@",width:"@",ngClick:"@",ngModel:"="},controller:["$scope",function(e){e.mouseup=function(){var t={};if(e.signaturePad.isEmpty()?(t.dataUrl=null,t.isEmpty=!0):(t.dataUrl=e.signaturePad.toDataURL(),t.isEmpty=!1),null!=t.dataUrl){var a=t.dataUrl.split(",")[1];e.ngModel=a}},e.$watch("ngModel",function(t,a){var n=e.signaturePad,o=e.ngModel;t!==a&&(n.fromDataURL("data:image/png;base64,"+t,{ratio:1}),e.ngModel=t,n.clear())},!0),e.clear=function(){e.signaturePad.clear(),e.ngModel=null}}],link:function(n,o){a=o.find("canvas")[0],n.onResize=function(){var e=o.find("canvas")[0],a=Math.max(t.devicePixelRatio||1,1);e.width=e.offsetWidth*a,e.height=e.offsetHeight*a,e.getContext("2d").scale(a,a)},n.onResize(),n.signaturePad=new SignaturePad(a),angular.element(t).bind("resize",function(){n.onResize()}),e(o)(o.scope())}}}]).directive("cronVideo",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronVideo")[0];e(o)(a.scope());var r=a.find(".cronVideoIframe")[0];e(r)(a.scope());var l="",s=n.src,d=n.width,c=n.height,p=n.title;l=`<iframe class="cronVideoIframe" src="${s}" width="${d}" height="${c}" title="${p}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> </iframe>`,a.html(l),e(l)(a.scope())}}}]),app.directive("kendoChat",["$compile","$timeout",function(e,t){return{restrict:"E",link:function(e,a,n){function o(){let e=$(".k-chat");e.height($(window).height()-e.offset().top)}let r=n.ngOnPostMessage,l=n.ngOnSendMessage,s=n.ngOnTypingEnd,d=n.ngOnTypingStart,c=n.ngOnActionClick,p=n.chatUserId,u=n.chatUsername,m=n.chatUserImage,g=n.chatPlaceholder,f=localStorage.getItem("_u")===void 0?null:JSON.parse(localStorage.getItem("_u")),h=window.navigator.userAgent,v="";f&&f.user&&(v=f.user.name);let y=$("<div></div>");y.kendoChat({messages:{placeholder:g},user:{id:p||h,name:u||v,iconUrl:m}}),chat=y.data("kendoChat"),chat.bind("post",t=>{if(r)try{e.$eval(r,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("sendMessage",t=>{if(l)try{e.$eval(l,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingStart",t=>{if(d)try{e.$eval(d,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingEnd",t=>{if(s)try{e.$eval(s,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("actionClick",t=>{if(c)try{e.$eval(c,{chatMessage:t})}catch(t){console.error(t)}}),a.empty().append(y),$(window).resize(()=>{o()}),t(()=>{o()})}}}])}(app),function(e){function t(){return e(this).is(":appeared")}function a(){return!e(this).data("_appear_triggered")}function n(){l=!1;for(var n,o=0,s=r.length;o<s;o++){if(n=e(r[o]).filter(t),n.filter(a).data("_appear_triggered",!0).trigger("appear",[n]),c[o]){var d=c[o].not(n);d.data("_appear_triggered",!1).trigger("disappear",[d])}c[o]=n}}function o(e){r.push(e),c.push()}var r=[],l=!1,s={interval:250,force_process:!1},d=e(window),c=[];e.expr.pseudos.appeared=e.expr.createPseudo(function(){return function(t){var a=e(t),n=d.scrollLeft(),o=d.scrollTop(),r=a.offset(),l=r.left,s=r.top;return!!(s+a.height()>=o&&s-(a.data("appear-top-offset")||0)<=o+d.height()&&l+a.width()>=n&&l-(a.data("appear-left-offset")||0)<=n+d.width())}}),e.fn.extend({appear:function(t,a){return e.appear(this,a),this}}),e.fn.extend({appearStop:function(t,a){return e.appearStop(this,a),this}}),e.extend({appearStop:function(e){var t=-1;for(i=0;i<r.length;i++)if(r[i].get(0)==e.get(0)){t=i;break}-1!=t&&r.splice(t)},appear:function(t,a){var r=e.extend({},s,a||{}),d=e("ion-content");if(d.length){if(!d.get(0).checkBinded){var c=function(){l||(l=!0,setTimeout(n,r.interval))};d.scroll(c).resize(c),d.get(0).checkBinded=!0}r.force_process&&setTimeout(n,r.interval),o(t)}}})}(function(){return"undefined"==typeof module?jQuery:require("jquery")}());function maskDirectiveAsDate(e,t,a){return maskDirective(e,t,"as-date",a)}function maskDirectiveMask(e,t,a){return maskDirective(e,t,"mask",a)}function maskDirective(e,t,a,n){return{restrict:"A",require:"?ngModel",link:function(e,o,r,l){var s=n(r.ngModel),d=s.assign;if("as-date"!=a||void 0===r.mask){var c=$(o),p=c.attr("type");if("checkbox"!=p&&"password"!=p){c.data("type",p),c.attr("type","text"),l&&(l.$formatters=[],l.$parsers=[]),void 0!==r.asDate&&"text"==p&&(p="date");var u=!0,m=!1,g=r.mask||r.format;g=g?parseMaskType(g,t):parseMaskType(p,t),g.endsWith(";0")&&(m=!0);var f=g.replace(";1","").replace(";0","").replace(";local","").trim(),h=r.keyboard,v=t.instant("keyboardDecimalChar")&&1==t.instant("keyboardDecimalChar").length?t.instant("keyboardDecimalChar"):",";if(h&&parseKeyboardType(h,v,c),null!=f&&0!=f.length){if("date"==p||"datetime"==p||"datetime-local"==p||"month"==p||"time"==p||"time-local"==p||"week"==p){var y="date"==p||"datetime"==p||"time"==p;window.fixedTimeZone||(y=!1),"date"==p?(f=moment.HTML5_FMT.DATE,c.attr("type","date")):"month"==p?(f=moment.HTML5_FMT.MONTH,c.attr("type","month")):"week"==p?(f=moment.HTML5_FMT.WEEK,c.attr("type","week")):"datetime"==p||"datetime-local"==p?(f=moment.HTML5_FMT.DATETIME_LOCAL,c.attr("type","datetime-local")):("time"==p||"time-local"==p)&&(f=moment.HTML5_FMT.TIME,c.attr("type","time")),l&&(l.$formatters.push(function(e){return e?y?moment(e).utcOffset(window.timeZoneOffset).format(f):moment(e).format(f):null}),l.$parsers.push(function(e){return e?y?moment(e,f).utcOffset(window.timeZoneOffset,!0).toDate():moment(e,f).toDate():new Date(e)}))}else if("number"==p||"money"==p||"integer"==p||"money-decimal"==p){m=!0,u=!1;var b=f.trim().replace(/\./g,"").replace(/\,/g,"").replace(/#/g,"").replace(/0/g,"").replace(/9/g,"");h||("integer"==p||"money-decimal"==p?h="integer":h="number");var k="",x="",M="",T=",",w=0;f.startsWith(b)?k=b:f.endsWith(b)&&(x=b);var C=f.trim().replace(k,"").replace(x,"").trim();C.startsWith("#.")?M=".":C.startsWith("#,")&&(M=",");var D=null;if(-1==C.indexOf(",0")?-1!=C.indexOf(".0")&&(T=".",D=".0"):(T=",",D=",0"),null!=D){var P=C.substring(C.indexOf(D)+1);w=P.length}var E="numeric";0==w&&(E="integer");var F={rightAlign:"money"==p||"money-decimal"==p,unmaskAsNumber:!0,allowMinus:"money"!=p&&"money-decimal"!=p,prefix:k,suffix:x,radixPoint:T,digits:w,numericInput:"money-decimal"==p};M&&(F.autoGroup=!0,F.groupSeparator=M),"money-decimal"==p&&(E="currency"),$(o).inputmask(E,F),useInputMaskPlugin(o,l,e,d,f)}else"text"==p||"tel"==p?(h||"tel"!=p||(h="tel"),r.maskPlaceholder?(options={},options.placeholder=r.maskPlaceholder,$(o).inputmask(f,options),$(o).off("keypress"),m&&useInputMaskPlugin(o,l,e,d,f)):(c.mask(f),useMaskPlugin(o,l,e,d,m))):("email"==p||"password"==p||"search"==p)&&(h||(h=p));h&&parseKeyboardType(h,v,c)}}}}}}function useInputMaskPlugin(e,t,a,n,o){var r=$(e);$(e).off("keypress"),$(e).on("keyup",function(){var t=$(this).inputmask("unmaskedvalue");$(this).data("rawvalue",t),e._ignoreFormatter=!0,a.safeApply(function(){n(a,t)})}),t&&(t.$formatters.push(function(t){return e._ignoreFormatter?(e._ignoreFormatter=!1,$(e).val()):(e._ignoreFormatter=!1,null!=t&&null!=t&&""!==t?format(o,t):null)}),t.$parsers.push(function(e){if(e!=null&&null!=e&&""!==e){var t=r.inputmask("unmaskedvalue");if(""!==t)return t}return null}))}function useMaskPlugin(e,t,a,n,o){var r=$(e),l=function(){o&&$(this).data("rawvalue",$(this).cleanVal())};$(e).on("keydown",l).on("keyup",l),o&&t&&(t.$formatters.push(function(e){return e?r.masked(e):null}),t.$parsers.push(function(e){return e?r.cleanVal():null}))}function parseKeyboardType(e,t,a){("integer"==e||"number"==e||"tel"==e)&&(a.attr("pattern","\\d*"),a.attr("inputmode","decimal")),("tel"==e||"email"==e||"search"==e||"password"==e)&&a.attr("type",e),"ios"===cordova.platformId&&"number"==e&&(a.attr("decimal","true"),a.attr("allow-multiple-decimals","true"),a.attr("decimal-char",t))}function parseMaskType(e,t){return"datetime"==e||"datetime-local"==e?(e=t.instant("Format.DateTime"),"Format.DateTime"==e&&(e="DD/MM/YYYY HH:mm:ss")):"date"==e?(e=t.instant("Format.Date"),"Format.Date"==e&&(e="DD/MM/YYYY")):"time"==e||"time-local"==e?(e=t.instant("Format.Hour"),"Format.Hour"==e&&(e="HH:mm:ss")):"month"==e?e="MMMM":"number"==e?(e=t.instant("Format.Decimal"),"Format.Decimal"==e&&(e="0,00")):"money"==e||"money-decimal"==e?(e=t.instant("Format.Money"),"Format.Money"==e&&(e="#.#00,00")):"integer"==e?e="0":"week"==e?e="dddd":"tel"==e?e="(99) 99999-9999;0":"text"==e?e="":"string"==e&&(e=""),e}function transformText(){return{restrict:"E",require:"?ngModel",link:function(e,t,a,n){let o=function(e,t){if(e&&t&&("string"==typeof t||t instanceof String)){if("uppercase"===e.css("text-transform"))return t.toUpperCase();if("lowercase"===e.css("text-transform"))return t.toLowerCase()}return t};n&&(n.$formatters.push(function(e){return o(t,e)}),n.$parsers.push(function(e){return o(t,e)}))}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){angular.module("report.services",[]).service("ReportService",["$http","$compile","$modal","$translate","$window","$rootScope","$ionicModal","$ionicLoading",function(a,b,c,d,e,f,g,h){var
|
|
1
|
+
(function(){angular.module("report.services",[]).service("ReportService",["$http","$compile","$modal","$translate","$window","$rootScope","$ionicModal","$ionicLoading",function(a,b,c,d,e,f,g,h){function i(a){window.open(a,"_system")}var j=$("body"),k=angular.element(j.get(0)).scope(),l=["node_modules/cronapp-lib-js/dist/js/stimulsoft/stimulsoft-all.js","node_modules/cronapp-lib-js/dist/js/stimulsoft/stimulsoft-helper.js"],m=[];this.getReport=function(b){var c={url:window.hostApp+"api/rest/report",method:"POST",data:angular.toJson({reportName:b})};return a(c)},this.getPDFAsFile=function(b){var c={url:window.hostApp+"api/rest/report/pdfasfile",method:"POST",data:angular.toJson(b)};return a(c)},this.getContentAsString=function(b){var c={url:window.hostApp+"api/rest/report/contentasstring",method:"POST",data:angular.toJson(b)};return a(c)},this.getDataSourcesParams=function(b){var c={url:window.hostApp+"api/rest/report/getdatasourcesparams",method:"POST",data:angular.toJson(b)};return a(c)},this.openURLContent=function(a){i(a)},this.initializeStimulsoft=function(a){if(!Stimulsoft.Base.StiLicense.Key){stimulsoftHelper.setLanguage(a);var b=stimulsoftHelper.getLocalization();Stimulsoft.Base.Localization.StiLocalization.loadLocalization(b.xml),Stimulsoft.Base.Localization.StiLocalization.cultureName=b.cultureName,Stimulsoft.Base.StiLicense.Key=stimulsoftHelper.getKey()}},this.openStimulsoftReport=function(a,b,c,e,f){function g(a,b){try{window.resolveLocalFileSystemURL(cordova.file.externalApplicationStorageDirectory,function(c){f&&f(),c.getFile(a,{create:!0},function(c){c.createWriter(function(c){c.onwriteend=function(){cordova.plugins.fileOpener2.open(cordova.file.externalApplicationStorageDirectory+a,"application/pdf",{error:function(a){k.Notification.error(d.instant("General.ErrorNotSpecified"),a.message),console.log("Error status: "+a.status+" - Error message: "+a.message)}})},c.onerror=function(a){alert(a)};var e=new Blob([b],{type:"application/pdf"});c.write(e)},function(a){alert(a)})},function(a){alert(a)})},function(a){f&&f(),alert(a)})}catch(a){f&&f(),alert(a)}}var h=new Stimulsoft.Report.StiReport;h.load(a),c||(c=stimulsoftHelper.getDatasourcesInBand(h)),b&&b.forEach(function(a){c.datasources.forEach(function(b){for(var c=0;c<b.fieldParams.length;c++)if(b.fieldParams[c].param==a.originalName){b.fieldParams[c].value=a.value;break}})}),stimulsoftHelper.setParamsInFilter(h.dictionary.dataSources,c.datasources);var i=new Stimulsoft.Report.Export.StiPdfExportSettings,j=new Stimulsoft.Report.Export.StiPdfExportService,l=new Stimulsoft.System.IO.MemoryStream;h.renderAsync(function(){j.exportToAsync(function(){var b=l.toArray(),c=new Blob([new Uint8Array(b)],{type:"application/pdf"});window.resolveLocalFileSystemURL?g(a.ReportAlias+".pdf",c):(f&&f(),window.open(URL.createObjectURL(c)))},h,l,i)},!1)},this.showParameters=function(a){var b=a.parameters,c=[],d=0,e=function(a){return a.replace(/([.*+?^=!:()|\[\]\/\\])/g,"\\$1")},f=function(a,b,c){return a.replace(new RegExp(e(b),"g"),c)},i=function(){if(d<b.length){var e=b[d++];$.get("node_modules/cronapp-framework-mobile-js/components/reports/"+e.type+".parameter.html").done(function(a){c.push(f(a,"_field_",e.name)),i()})}else if(0<c.length){k.report=a,k.htmlParameters=c,k.getDescription=function(a){var b=a.name;return a.description&&(b=a.description,-1<b.indexOf("{{")&&-1<b.indexOf("}}")&&(b=b.replace("{{","").replace("}}",""),b=window.cronapi.i18n.translate(b,[]))),b},k.cloneElement=function(a){return angular.copy(a)},k.isVisibleParam=function(a){if("DATA_LIMIT"===a.name)return!1;return!(""!==a.value)||!(""!==a.value)};var j=a.reportName.match(/\/(.*?)(.*?)(\.jrxml|\.report)/);k.report.name=j[2];var l=this;k.onPrint=function(){k.report.reportName.endsWith(".report")&&(h.show({content:"Loading",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:0}),l.openStimulsoftReport(k.report.contentData,k.report.parameters,k.report.datasourcesInBand,void 0,k.onCancel))},k.onCancel=function(){k.ionicModal.remove(),h.hide()},g.fromTemplateUrl("node_modules/cronapp-framework-mobile-js/components/reports/reports.parameters.html",{scope:k,animation:"slide-in-up"}).then(function(a){a.scope.$parent.ionicModal=a,a.show(),$(".modal-backdrop-bg").css("opacity","0")})}}.bind(this);i()},this.mergeParam=function(a,b){var c=function(a,b){for(var c in Object.keys(b)){var d=Object.keys(b[c])[0];if(a==d)return Object.values(b[c])[0]}};for(var d in Object.keys(a)){var e=a[d].name,f=a[d].value,g=c(e,b);g&&(a[d].value=g)}return a},this.setVariablesBasedOnParams=function(a,b){for(var c in b){var d=Object.keys(b[c])[0],e=b[c][d];for(var f in a)if(a[f]&&a[f].Name&&a[f].Name===d){a[f].Value=e;break}}},this.hasParameterWithOutValue=function(a){for(var b in Object.keys(a))if(!a[b].value)return!0;return!1},this.getDatasourcesInBand=function(a){var b=new Stimulsoft.Report.StiReport;b.load(a);var c=stimulsoftHelper.getDatasourcesInBand(b);return c},this.loadSriptsStimulsoft=function(a){var b=!0,c=l.length,d=0;Pace.options.initialRate=.7,Pace.options.minTime=1750,Pace.options.maxProgressPerFrame=1,Pace.options.ghostTime=12e4,Pace.restart(),l.forEach(function(e){this.loadScript(e,function(e){d++,e||(b=!1),d==c&&(Pace.options.initialRate=.03,Pace.options.minTime=250,Pace.options.maxProgressPerFrame=20,Pace.options.ghostTime=10,Pace.stop(),a(b))})}.bind(this))},this.loadScript=function(a,b){if(0<=$.inArray(a,m))return void(b&&b(!0));if(-1!=a.indexOf(".css")){var c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.href=a,c.media="all",c.onload=function(){m.push(a),b&&b(!0)},c.onerror=function(){b&&b(!1)};try{document.getElementsByTagName("head")[0].appendChild(c)}catch(a){console.log(a)}}else{var d=document.createElement("script");d.type="text/javascript",d.readyState?d.onreadystatechange=function(){("loaded"==d.readyState||"complete"==d.readyState)&&(d.onreadystatechange=null,m.push(a),b&&b(!0))}:d.onload=function(){m.push(a),b&&b(!0)},d.src=a,document.getElementsByTagName("head")[0].appendChild(d)}},this.openReport=function(a,b,c){this.getReport(a).then(function(a){a&&a.data&&(a.data.reportName.endsWith(".report")?this.loadSriptsStimulsoft(function(e){e?(this.initializeStimulsoft(d.use()),this.getContentAsString(a.data).then(function(e){var f=this.getDatasourcesInBand(e.data);this.getDataSourcesParams(f).then(function(g){f=g.data,a.data.parameters=stimulsoftHelper.parseToGroupedParam(f.datasources),a.data.contentData=e.data,a.data.datasourcesInBand=f,b&&(a.data.parameters=this.mergeParam(a.data.parameters,b),a.data.contentData.Dictionary=a.data.contentData.Dictionary||{},this.setVariablesBasedOnParams(a.data.contentData.Dictionary.Variables,b)),this.hasParameterWithOutValue(a.data.parameters)&&!c?(a.data.parameters.forEach(function(a){a.name=d.instant(a.name)}),this.showParameters(JSON.parse(JSON.stringify(a.data)))):this.openStimulsoftReport(e.data,a.data.parameters,a.data.datasourcesInBand,c)}.bind(this))}.bind(this),function(a){var b=cronapi.internal.getErrorMessage(a,a.statusText);k.Notification.error(b)}.bind(this))):k.Notification.error("Error loading report script")}.bind(this)):0==a.data.parameters.length||1==a.data.parameters.length&&"DATA_LIMIT"==a.data.parameters[0].name?this.getPDFAsFile(a.data.reportName).then(function(a){this.openURLContent(a.data)}.bind(this),function(a){var b=cronapi.internal.getErrorMessage(a,a.statusText);k.Notification.error(b)}.bind(this)):(b&&(a.data.parameters=this.mergeParam(a.data.parameters,b)),this.hasParameterWithOutValue(a.data.parameters)?this.showParameters(JSON.parse(JSON.stringify(a.data))):this.getPDFAsFile(a.data).then(function(a){this.openURLContent(a.data)}.bind(this))))}.bind(this))}}])})(app);
|
package/i18n/locale_en_us.json
CHANGED
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"Permission.view.Exclude": "Exception",
|
|
70
70
|
"General.RemoveData": "Do you whant to remove?",
|
|
71
71
|
"General.ErrorNotSpecified": "Error not specified",
|
|
72
|
+
"General.ErrorOnServerCommunication": "Error connecting to server",
|
|
72
73
|
"Login.view.invalidPassword": "Username or password invalid!",
|
|
73
74
|
"LoginViewInvalidpassword": "Username or password invalid!",
|
|
74
75
|
"Home.view.passwordChanged": "Password successfully changed!",
|
|
@@ -122,5 +123,6 @@
|
|
|
122
123
|
"Admin.server.out": "Error contacting the server",
|
|
123
124
|
"ParamForReport": "Parameter(s) for the report",
|
|
124
125
|
"template.crud.clickToAddFile": "Click to add a file",
|
|
125
|
-
"template.crud.clickToAddImage": "Click to add an image"
|
|
126
|
+
"template.crud.clickToAddImage": "Click to add an image",
|
|
127
|
+
"clear": "Clear"
|
|
126
128
|
}
|
package/i18n/locale_pt_br.json
CHANGED
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"Permission.view.Exclude": "Exceção",
|
|
70
70
|
"General.RemoveData": "Deseja remover?",
|
|
71
71
|
"General.ErrorNotSpecified": "Erro não especificado",
|
|
72
|
+
"General.ErrorOnServerCommunication": "Erro ao conectar no servidor",
|
|
72
73
|
"Login.view.invalidPassword": "Usuário ou senha inválidos!",
|
|
73
74
|
"LoginViewInvalidpassword": "Usuário ou senha inválidos!",
|
|
74
75
|
"Home.view.passwordChanged": "Senha alterada com sucesso!",
|
|
@@ -122,5 +123,7 @@
|
|
|
122
123
|
"Admin.server.out": "Erro ao contactar o servidor",
|
|
123
124
|
"ParamForReport": "Parâmetro(s) para o relatório",
|
|
124
125
|
"template.crud.clickToAddFile": "Clique para adicionar um arquivo",
|
|
125
|
-
"template.crud.clickToAddImage": "Clique para adicionar uma imagem"
|
|
126
|
+
"template.crud.clickToAddImage": "Clique para adicionar uma imagem",
|
|
127
|
+
"clear": "Limpar"
|
|
128
|
+
|
|
126
129
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
.st0{fill:#C9C9C9;}
|
|
7
|
+
</style>
|
|
8
|
+
<g id="Camada_1">
|
|
9
|
+
</g>
|
|
10
|
+
<g id="Camada_3">
|
|
11
|
+
</g>
|
|
12
|
+
<g id="Camada_4">
|
|
13
|
+
</g>
|
|
14
|
+
<g id="Camada_2">
|
|
15
|
+
<g>
|
|
16
|
+
<path class="st0" d="M20,0H4C1.79,0,0,1.79,0,4V20c0,2.21,1.79,4,4,4H20c2.21,0,4-1.79,4-4V4C24,1.79,22.21,0,20,0z M22,20
|
|
17
|
+
c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V4c0-1.1,0.9-2,2-2H20c1.1,0,2,0.9,2,2V20z"/>
|
|
18
|
+
<path class="st0" d="M19.5,4H16.5C16.22,4,16,4.22,16,4.49v0.51c0,0.27,0.22,0.49,0.5,0.49h3.01c0.27,0,0.5-0.22,0.5-0.49V4.49
|
|
19
|
+
C20,4.22,19.78,4,19.5,4z"/>
|
|
20
|
+
<path class="st0" d="M19.49,6h-2.98C16.23,6,16,6.23,16,6.51v6.29c0,0.39,0.12,0.78,0.34,1.11l1.24,1.86c0.2,0.3,0.65,0.3,0.85,0
|
|
21
|
+
l1.24-1.86C19.88,13.59,20,13.2,20,12.81V6.51C20,6.23,19.77,6,19.49,6z"/>
|
|
22
|
+
<path class="st0" d="M18,18H7c-0.55,0-1-0.45-1-1c0-0.55,0.45-1,1-1h4c1.65,0,3-1.34,3-3c0-1.66-1.35-3-3-3H9c-0.55,0-1,0.45-1,1
|
|
23
|
+
s0.45,1,1,1h2c0.55,0,1,0.45,1,1c0,0.55-0.45,1-1,1H7c-1.66,0-3,1.35-3,3c0,1.65,1.34,3,3,3h11c0.55,0,1-0.45,1-1S18.55,18,18,18z
|
|
24
|
+
"/>
|
|
25
|
+
</g>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
package/js/app.authentication.js
CHANGED
|
@@ -176,6 +176,13 @@ var app = (function() {
|
|
|
176
176
|
templateUrl: 'node_modules/cronapp-framework-mobile-js/components/templates/publicMenu.template.html'
|
|
177
177
|
})
|
|
178
178
|
|
|
179
|
+
.state('signup', {
|
|
180
|
+
url: "/app/public/signup",
|
|
181
|
+
cache: false,
|
|
182
|
+
controller: 'SignupController',
|
|
183
|
+
templateUrl: 'views/public/signup.view.html'
|
|
184
|
+
})
|
|
185
|
+
|
|
179
186
|
.state('public.pages', {
|
|
180
187
|
url: "/{name:.*}",
|
|
181
188
|
cache: false,
|
|
@@ -402,7 +409,7 @@ app.config = {};
|
|
|
402
409
|
app.config.datasourceApiVersion = 2;
|
|
403
410
|
app.config.defaultRoute = "/app";
|
|
404
411
|
|
|
405
|
-
app.publicRoutes = ["publicRoot", "public", "public.pages", "main"];
|
|
412
|
+
app.publicRoutes = ["publicRoot", "public", "public.pages", "signup", "main"];
|
|
406
413
|
app.isPublicRoute = route => { return app.publicRoutes.includes(route.name); };
|
|
407
414
|
|
|
408
415
|
app.bindScope = function($scope, obj) {
|
|
@@ -240,6 +240,56 @@
|
|
|
240
240
|
}));
|
|
241
241
|
});
|
|
242
242
|
|
|
243
|
+
app.controller('SignupController' , [
|
|
244
|
+
'$scope',
|
|
245
|
+
'$translate',
|
|
246
|
+
'$ionicModal',
|
|
247
|
+
'$ionicLoading',
|
|
248
|
+
|
|
249
|
+
function($scope, $translate, $ionicModal, $ionicLoading) {
|
|
250
|
+
|
|
251
|
+
app.registerEventsCronapi($scope, $translate,$ionicModal,$ionicLoading);
|
|
252
|
+
$scope.Notification = Notification;
|
|
253
|
+
|
|
254
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupEmail','');
|
|
255
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupUsername','');
|
|
256
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupPassword','');
|
|
257
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupConfirmPassword','');
|
|
258
|
+
|
|
259
|
+
}]);
|
|
260
|
+
|
|
261
|
+
app.controller('SignupController' , [
|
|
262
|
+
'$scope',
|
|
263
|
+
'$stateParams',
|
|
264
|
+
'Notification',
|
|
265
|
+
'$location',
|
|
266
|
+
'$http',
|
|
267
|
+
'$rootScope',
|
|
268
|
+
'$translate',
|
|
269
|
+
'$ionicModal',
|
|
270
|
+
'$ionicLoading',
|
|
271
|
+
'$timeout',
|
|
272
|
+
'UploadService',
|
|
273
|
+
'ReportService',
|
|
274
|
+
function($scope, $stateParams, Notification, $location, $http, $rootScope, $translate, $ionicModal, $ionicLoading, $timeout, UploadService, ReportService) {
|
|
275
|
+
app.registerEventsCronapi($scope, $translate,$ionicModal,$ionicLoading);
|
|
276
|
+
$rootScope.http = $http;
|
|
277
|
+
$rootScope.Notification = Notification;
|
|
278
|
+
|
|
279
|
+
$scope.params = $stateParams;
|
|
280
|
+
$rootScope.$http = $http;
|
|
281
|
+
$rootScope.UploadService = UploadService;
|
|
282
|
+
$scope.listCanSwipe = true;
|
|
283
|
+
|
|
284
|
+
for (let x in app.userEvents)
|
|
285
|
+
$scope[x]= app.userEvents[x].bind($scope);
|
|
286
|
+
|
|
287
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupEmail','');
|
|
288
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupUsername','');
|
|
289
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupPassword','');
|
|
290
|
+
$scope.cronapi.screen.changeValueOfField('vars.signupConfirmPassword','');
|
|
291
|
+
}]);
|
|
292
|
+
|
|
243
293
|
app.controller('MenuController', [
|
|
244
294
|
'$scope',
|
|
245
295
|
'$http',
|