cronapp-framework-js 3.0.0-SP.34 → 3.0.0-SP.36

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.
@@ -34,7 +34,7 @@ maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask
34
34
  </tbody>
35
35
  </table>
36
36
  </div>
37
- </div>`),n.sender.element.find(".k-scheduler-header.k-state-default").addClass("changed"))},r=n=>{let e=n.sender.element.find(".k-more-events.k-button.hooked").length;if(!e){let e=n.sender.view(),i=t.views.find(t=>t.type===e.name),o=app.common.generateId();n.sender.element.find(".k-more-events.k-button").attr("data-id",o);let d=generateBlocklyCall(i.moreEventsBlockly);d&&s(o,n=>{let e=$(n.currentTarget).prev(),i=e.data("uid"),o=t.refComponent.dataItems().find(e=>e.uid==i),l={scheduleData:{type:"seeAll",selectedDate:o.start}};a.$eval(d,l)}),n.sender.element.find(".k-more-events.k-button").addClass("hooked")}},s=(e,t)=>new Promise(n=>{let a=setInterval(()=>{let i=$(`[data-id="${e}"]`);if(i.length){clearInterval(a);let e="click";$(".km-pane-wrapper").length&&(e="touchstart"),i.off(e),i.on(e,n=>{t(n),n.stopImmediatePropagation()}),n()}},100)}),c=[];if(t.views)for(let e in t.views){let n=t.views[e];n.visible&&c.push(n)}else t.showDayTab&&c.push("day"),t.showAgendaTab&&c.push("agenda"),t.showMonthTab&&c.push("month"),t.showTimelineTab&&c.push("timeline"),t.showWeekTab&&c.push("week"),t.showWorkWeekTab&&c.push("workWeek");let p={dateHeaderTemplate:kendo.template(`#=kendo.toString(date, ${kendo.culture().name.toLowerCase().includes("pt")?"'ddd dd/M'":"'ddd M/dd'"})#`),showWorkHours:t.showWorkHours,selectable:!0,date:i,mobile:!1,allDaySlot:t.allDaySlot,messages:{editor:{timezone:$translate.instant("TimezoneEvent")}},currentTimeMarker:t.currentTimeMarker?{updateInterval:1e4,useLocalTimezone:!1}:t.currentTimeMarker,views:c,navigate:function(t){let e=t.sender.view()},dataBound:function(t){let e=t.sender.view();l(t),r(t)},eventTemplate:e=>{let n={scheduleData:e},i=t=>e.description?(t?" - ":"")+e.description:"",o=app.common.generateId(),d=t.refComponent.view().name,l=t.views.find(e=>e.type===d),r=[];r.push(`<div class='k-event-template' data-id='${o}'>`),"agenda"===d?(r.push(`<div class='k-event-title'>${e.title}</div>`),!l.showDescription||r.push(`<div class='k-event-description'>${i(!1)}</div>`)):r.push(`<div class='k-event-title'>${e.title}${l.showDescription?i(!0):""} </div>`),r.push("</div>");let c=generateBlocklyCall(l.blockly);return c&&s(o,()=>{a.$eval(c,n)}),r.join("")},change:t=>{t&&t.events&&t.events.length?this.setDatasourceActiveItem(n,t.events[0],"id"):n.startInserting({}),console.log("Active: ",n.active)},edit:function(n){if(t&&t.allowCustomAction){let e=n.container,i=t.customActionLabel?t.customActionLabel:$translate.instant("Details"),o=$("<a class=\"k-button\">"+i+"</a>");o.click(function(n){a.safeApply(()=>{a.$eval(generateBlocklyCall(t.customActionBlockly))})});let d=e.find(".k-edit-buttons");d.append(o)}},dataSource:{batch:!1,transport:{isComponentInDocument:function(e){return!!e&&$(document).has(e.element[0]).length},getCurrentCallbackForPush:function(e,t){return e||t},pushAction:function(e,a){return i=>{let o=["read","memorydelete","overRideRefresh"];if(this.isComponentInDocument(t.refComponent)){let n=this.getCurrentCallbackForPush(a,t.refComponent),o=n[e];o?o(i):(t.fromRead="read"===e,t.refComponent.dataSource.read())}else o.includes(e)||n.removeDataSourceEvents(this.options.dataSourceEventsPush)}},push:function(e){!this.dataSourceEventsPush&&n&&(this.dataSourceEventsPush={create:this.pushAction.bind(this)("pushUpdate",e),update:this.pushAction.bind(this)("pushUpdate",e),delete:this.pushAction.bind(this)("pushDestroy",e),read:this.pushAction.bind(this)("read",e),memorycreate:this.pushAction.bind(this)("pushUpdate",e),memoryupdate:this.pushAction.bind(this)("pushUpdate",e),memorydelete:this.pushAction.bind(this)("pushDestroy",e)},n.addDataSourceEvents(this.dataSourceEventsPush))},read:function(e){e.data=e.data||{};let a=!1;try{t.kendoCallback?t.fromRead?t.isReading?e.error():(t.isReading=!0,t.kendoCallback.success(n.data)):a=!0:(t.kendoCallback=e,a=!0)}finally{t.fromRead=!1,t.isReading=!1}if(a)if(d(e.data)){o=e.data,jQuery.isEmptyObject(e.data)&&(e.data[t.schedulerDataModel.start.name]=i);let a=kendo.data.transports.odata.parameterMap(e.data,"read"),d="",l={};l.params=a,n.fetch(l,{success:function(t){e.success(angular.copy(t))},canceled:function(t){e.error(angular.copy(t))}},!1)}else e.error()}.bind(this),update:e=>{let a=this.parseToDatasourceSchema(n,e.data,t);n.startEditing(n.active),this.mergeSchedulerEventWithDatasourceActive(n,a),n.update(n.active,t=>{let a=angular.copy(t);e.success(a),n.fetch({},{success:e=>{this.setDatasourceActiveItem(n,a,"id")},canceled:e=>{}},!1)},t=>{e.error(angular.copy(t))})},create:e=>{let a=this.parseToDatasourceSchema(n,e.data,t);this.mergeSchedulerEventWithDatasourceActive(n,a),n.insert(n.active,t=>{let a=angular.copy(t);e.success(a),n.fetch({},{success:e=>{this.setDatasourceActiveItem(n,a,"id")},canceled:function(e){}},!1)},t=>{e.error(angular.copy(t))})},destroy:function(e){n.removeSilent(this.parseToDatasourceSchema(n,e.data,t),function(t){e.success(angular.copy(t))},function(t){e.error(angular.copy(t))})}.bind(this)},schema:{model:this.getSchedulerModel(t.schedulerDataModel)}}};return t.views||(p.editable=t.editable),window.fixedTimeZone&&window.timeZone&&(p.timezone=window.timeZone),p},showError:function(e,t,n){let a={message:n,title:t,delay:null};e.Notification.error(a)},parseToDatasourceSchema:function(e,t,n){let a={};for(let i in e.schema){let n=e.schema[i].name;a[n]=t[n]}return a[n.schedulerDataModel.isAllDay.name]=!0===a[n.schedulerDataModel.isAllDay.name],a[n.schedulerDataModel.id.name]||delete a[n.schedulerDataModel.id.name],a},link:function(scope,element,attrs,ngModelCtrl){let datasource,schedulerElement=$("<div></div>"),options=JSON.parse(attrs.options||"{}");if(options.dataSourceScreen&&options.dataSourceScreen.entityDataSource&&(datasource=eval(options.dataSourceScreen.entityDataSource.name)),!datasource){let e={};return void $translate("DatasourceNotFoundMessage").then(t=>(e.message=t,$translate("Scheduler"))).then(t=>(e.component=t,$translate("DatasourceNotFoundTitle"))).then(t=>{e.title=t,this.showError(scope,e.title,e.message.replace("{0}",e.component))})}if(jQuery.isEmptyObject(options.schedulerDataModel))return;let baseUrl="node_modules/cronapp-lib-js/dist/js/kendo-ui/js/messages/kendo.messages.";baseUrl+="pt_br"===$translate.use()?"pt-BR.min.js":"en-US.min.js",this.initCulture(),$.getScript(baseUrl,async function(){function e(e,t){if(!e||!t)return;let n;return e.forEach((e,a)=>t.forEach(t=>{n=e.getTime()===t.getTime()})),n}let t=app.kendoHelper.getDataSource(options.dataSourceScreen.entityDataSource,scope,!0,options.dataSourceScreen.rowsPerPage),n=await this.getSchedulerProperties(options,datasource,scope);schedulerElement.kendoScheduler(n);let a=schedulerElement.data("kendoScheduler");options.refComponent=a;let i;a.bind("navigate",function(t){a._previousView=t.sender.view()}),a.bind("dataBound",function(t){if(a._currentView=t.sender.view(),a._previousView){let t=e(a._previousView._dates,a._currentView._dates);if(!t){let e={};e[options.schedulerDataModel.start.name]=a._currentView._startDate,e[options.schedulerDataModel.end.name]=a._currentView._endDate,a.dataSource.read(e),a._previousView=a._currentView}}})}.bind(this)),element.html(schedulerElement),$compile(schedulerElement)(element.scope())}}}]).directive("cronGrid",["$compile","$translate",function($compile,$translate){return{restrict:"E",replace:!0,require:"ngModel",initCulture:function(){var e=$translate.use();e=e.replace(/_/gm,"-");var t=e.split("-");t[t.length-1]=t[t.length-1].toUpperCase(),e=t.join("-"),kendo.culture(e)},changeObjectField:function(e,t){t=e.getKeyValues(t);var n=Object.keys(t);return 1===n.length&&(t=t[n]),t},removeSpecialChar:function(e){return e.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()},getModelName:function(e){return e?this.removeSpecialChar(e.ngModel):"subgrid"},generateToolbarButtonCall:function(toolbarButton,scope,options,attrs){var buttonCall,generateObjTemplate=function(e,t,n){var a={template:function(){return createTemplateButton(e,t,n)}.bind(this)};return a}.bind(this),createTemplateButton=function(functionToCall,title,iconClass){var template="";let security=toolbarButton.security?`cronapp-security="${toolbarButton.security}"`:"",modelName=this.getModelName(attrs),buttonType=this.removeSpecialChar(toolbarButton.type),buttonDesc=toolbarButton.title?this.removeSpecialChar(toolbarButton.title):this.removeSpecialChar(toolbarButton.iconClass),buttonId=`${modelName}-${buttonType}-${buttonDesc}`;"SaveOrCancelChanges"==toolbarButton.type?toolbarButton.saveButton?template="<a #SECURITY# role=\"button\" class=\"saveorcancelchanges k-button k-button-icontext k-grid-save-changes\" data-id=\"#BUTTONID#\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-check\"></span>#TITLE#</a>":template="<a #SECURITY# role=\"button\" class=\"saveorcancelchanges k-button k-button-icontext k-grid-cancel-changes\" data-id=\"#BUTTONID#\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-cancel\" ></span>#TITLE#</a>":"Blockly"==toolbarButton.type||"Customized"==toolbarButton.type?template="<a #SECURITY# class=\"k-button k-grid-custom\" data-id=\"#BUTTONID#\" href=\"javascript:void(0)\"><span class=\"#ICONCLASS#\" ></span>#TITLE#</a>":"Native"==toolbarButton.type&&"create"==toolbarButton.title?template="<a #SECURITY# role=\"button\" data-id=\"#BUTTONID#\" class=\"k-button k-button-icontext k-grid-add\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-plus\"></span>{{\"Add\" | translate}}</a>":"Native"==toolbarButton.type&&"excel"==toolbarButton.title?template="<a #SECURITY# role=\"button\" data-id=\"#BUTTONID#\" class=\"k-button k-button-icontext k-grid-excel\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-file-excel\"></span>{{\"exportExcel\" | translate}}</a>":"Native"==toolbarButton.type&&"pdf"==toolbarButton.title&&(template="<a #SECURITY# role=\"button\" data-id=\"#BUTTONID#\" class=\"k-button k-button-icontext k-grid-pdf\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-file-pdf\"></span>{{\"exportPDF\" | translate}}</a>"),template=template.split("#BUTTONID#").join(buttonId).split("#FUNCTIONCALL#").join(this.encodeHTML(functionToCall)).split("#TITLE#").join(title).split("#ICONCLASS#").join(iconClass).split("#SECURITY#").join(security);var cronappDatasource=eval(options.dataSourceScreen.entityDataSource.name),waitRender=setInterval(function(){0<$(`[data-id=${buttonId}]`).length&&(scope.safeApply(function(){var e=angular.element($(`[data-id=${buttonId}]`));$compile(e)(scope),$(`[data-id=${buttonId}]`).attr("id",buttonId)}),$(`[data-id=${buttonId}]`).click(function(){var e=options.refComponent,t=[];e.select().each(function(){var n=e.dataItem(this);cronappDatasource.data.forEach(function(e){e.__$id==n.__$id&&t.push(e)})});var n={item:t.length?cronappDatasource.active:null,index:t.length?cronappDatasource.cursor:null};let a=[];options.fieldType&&"key"===options.fieldType?t.forEach(e=>{a.push(this.changeObjectField(cronappDatasource,cronappDatasource.findObjInDs(e)))}):a=t;var i={currentData:cronappDatasource.data,datasource:cronappDatasource.copyWithoutAngularObj(),selectedIndex:t.length?cronappDatasource.cursor:null,index:t.length?cronappDatasource.cursor:null,selectedRow:t.length?cronappDatasource.active:null,consolidated:n,item:t.length?cronappDatasource.active:null,selectedKeys:t.length?cronappDatasource.getKeyValues(cronappDatasource.findObjInDs(t[0]),!0):null,selectedRows:a};scope.$eval(functionToCall,i)}.bind(this)),clearInterval(waitRender))}.bind(this),200);return template}.bind(this),call="";call="Customized"==toolbarButton.type?toolbarButton.execute:toolbarButton.methodCall?toolbarButton.methodCall:generateBlocklyCall(toolbarButton.blocklyInfo);var title=null==toolbarButton.title?"":toolbarButton.title;return buttonCall=generateObjTemplate(call,title,toolbarButton.iconClass),buttonCall},generateModalSaveOrCancelButtonCall:function(e,t,n,a,i){var o=app.common.generateId(),d=function(e,t,n,a){var d;d="save"==e?"<button id=\"#BUTTONID#\" aria-label=\"#ARIALABELSAVE#\" class=\"btn btn-primary btn-fab ng-binding grid-save-button-modal k-button\" data-component=\"crn-button\" ng-click=\"#FUNCTIONCALL#\" onclick=\"(!#DATASOURCENAME#.missingRequiredField(true)?$('##MODALID#').modal('hide'):void(0))\"><span class=\"k-icon k-i-check\"></span></button>":"saveAdd"==e?"<button id=\"#BUTTONID#\" aria-label=\"#ARIALABELSAVEADD#\" class=\"btn btn-primary btn-fab ng-binding grid-save-add-button-modal k-button\" data-component=\"crn-button\" ng-click=\"#FUNCTIONCALL#\"><span class=\"k-icon k-i-plus\"></span></button>":"<button id=\"#BUTTONID#\" aria-label=\"#ARIALABELCANCEL#\" type=\"button\" class=\"btn btn-default btn-fab ng-binding k-button\" data-component=\"crn-button\" data-dismiss=\"modal\"><span class=\"k-icon k-i-cancel\"></span></button>",d=d.split("#BUTTONID#").join(o).split("#FUNCTIONCALL#").join(t).split("#DATASOURCENAME#").join(n).split("#ARIALABELSAVE#").join($translate.instant("SaveChanges")).split("#ARIALABELSAVEADD#").join($translate.instant("SaveAddChanges")).split("#ARIALABELCANCEL#").join($translate.instant("CancelChanges")).split("#MODALID#").join(a);var l=setInterval(function(){0<$("#"+o).length&&i.safeApply(function(){var e=angular.element($("#"+o));$compile(e)(i),clearInterval(l)})},200);return d};return buttonCall=d(e,t,n,a),buttonCall},addButtonsInModal:function(e,t,n,a){var i=$("#"+e).find(".modal-footer");if(!i.find(".grid-save-button-modal").length){var o=t+".post();",d=this.generateModalSaveOrCancelButtonCall("save",o,t,e,n);if(i.append(d),a){let a=this.generateModalSaveOrCancelButtonCall("saveAdd",o+t+".startInserting();",t,e,n);i.append(a)}var l=this.generateModalSaveOrCancelButtonCall("cancel",null,null,null,n);i.append(l)}},getObjectId:function(e){if(!e)e="";else if(e instanceof Date){var t=moment.utc(e);e=new Date(t.format("YYYY-MM-DDTHH:mm:ss"))}else if("object"==typeof e)if(e.id)e=e.id;else for(var n in e){e=e[n];break}return e},encodeHTML:function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},decodeHTML:function(e){return e.replace(/&apos;/g,"'").replace(/&quot;/g,"\"").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")},getColumnByField:function(e,t){var n=null;return e.columns.forEach(function(e){e.field==t&&(n=e)}),n},resizeGridUsingWidthForDevice:function(e){for(let t,n=0;n<e.columns.length;n++)t=this.getWidthForDevice(e.columns[n]),e.columns[n].width=t.width,t.visible?e.showColumn(n):e.hideColumn(n);if(e.options.hasSecurity){let t=$(e.element.find("col")).last();t.css("width","0px")}},getWidthForDevice:function(e){let t=1210,n=1002,a=778,i=424,o=$(window).width(),d=function(t){let n;return e.widthDevices.forEach(e=>{e.device===t&&(n=e)}),void 0===n&&("deviceSmall"===t?n=d("deviceMedium"):"deviceMedium"===t?n=d("deviceDesktop"):"deviceDesktop"===t?n=d("deviceBig"):n=e.widthDevices[0]),n},l={width:e.width};return l.visible=void 0!==e.visible&&null!==e.visible?e.visible:!e.hidden,null!==e.widthDevices&&void 0!==e.widthDevices&&0<e.widthDevices.length&&(1210<=o?l=d("deviceBig"):o>=n&&1210>o?l=d("deviceDesktop"):o>=a&&o<n?l=d("deviceMedium"):l=d("deviceSmall")),l},getColumns:function(options,datasource,scope,tooltips,attrs){function getTemplate(column){var template="#=showTreatedValue("+column.field+")#";return"switch"==column.inputType?template="<span class=\"k-switch km-switch k-widget km-widget k-switch-off km-switch-off\" style=\"width: 100%\"> <span class=\"k-switch-wrapper km-switch-wrapper\"> <span class=\"k-switch-background km-switch-background\" style=\"margin-left: #="+column.field+" ? \"80%\": \"0%\" #\"></span> </span> <span class=\"k-switch-container km-switch-container\"> <span class=\"k-switch-handle km-switch-handle\" style=#="+column.field+" ? \"float:right;margin-right:-1px\": \"margin-left:0%\" #> </span> </span> </span>":"checkbox"==column.inputType||"boolean"==column.type?template="<input crn-set-indeterminate=#="+column.field+"# type='checkbox' class='k-checkbox' #="+column.field+" ? \"checked='checked'\": '' # /><label class='k-checkbox-label k-no-text'></label>":column.displayField&&0<column.displayField.length?hasMask(column.type)||column.format&&"null"!=column.format?template="#= useMask("+column.displayField+",'"+column.format+"','"+column.type+"') #":template="#="+column.displayField+"#":hasMask(column.type)||column.format&&"null"!=column.format?template="#= useMask("+column.field+",'"+column.format+"','"+column.type+"') #":column.showAsImage&&(template=column.showAsImageTemplate?column.showAsImageTemplate:"<img src='#:${column.field}#'/>",template=eval("`"+template+"`")),template}function hasMask(e){return!!(e&&"string"==typeof e)&&(e.startsWith("date")||e.startsWith("month")||e.startsWith("time")||e.startsWith("week")||e.startsWith("money")||e.startsWith("number")||e.startsWith("tel")||e.startsWith("integer"))}function getFormat(e){return hasMask(e.type)?void 0:e.format}function isRequired(e){var t=!1,n=null;return datasource.schema.model.fields[e]&&(n=datasource.schema.model.fields[e]),n&&(t=!n.nullable),t}function getEditor(e){return editor.bind(this)}async function editor(e,t){let n=e=>new Promise((t,n)=>{let a=setInterval(function(){let n=$("#"+e);if(0<n.length){let i=n.closest("td"),o=angular.element(i||n);$compile(o)(scope),clearInterval(a),t(e)}},10)}),a=e=>{e!==t.model[t.field]&&(t.model[t.field]=e,t.model.dirty=!0,t.model.dirtyFields[t.field]=!0)};var i=this.getColumnByField(options,t.field);null==i.visibleCrud||i.visibleCrud||(e.parent().find(".k-edit-label [for="+i.field+"]").parent().remove(),e.remove());var o=isRequired(t.field)?"required":"",d=app.common.generateId();let l=`${options.dataSourceScreen.name}.active.${t.field}`;var r=$(`<input ${o} name="${t.field}" id="${d}" from-grid=true ng-model="${l}" />`);if(r.data("change-grid-model",a),r.data("column-type",i.type),"dynamicComboBox"==i.inputType||"comboBox"==i.inputType){var s=app.kendoHelper.getConfigComboboxSync(i.comboboxOptions,scope);s.autoBind=!0,s.optionLabel=void 0,i.displayField&&(s.change=function(n){t.model.set(i.displayField,this.text()),t.model.dirty=!0,t.model.dirtyFields[i.displayField]=!0});let n=r.appendTo(e).kendoDropDownList(s,scope).data("kendoDropDownList");r.data("kendoDropDownList",n)}else if("slider"==i.inputType){var s=app.kendoHelper.getConfigSlider(i.sliderOptions);s.change=t=>scope.$apply(()=>scope.$eval(`${l}=${t.value}`));let t=r.appendTo(e).kendoSlider(s,scope).data("kendoSlider");r.data("kendoSlider",t)}else if("switch"==i.inputType){var s=app.kendoHelper.getConfigSwitch(i.switchOptions);r.appendTo(e).kendoMobileSwitch(s,scope)}else"checkbox"==i.inputType||"boolean"==i.type?(r=$(`<input id="${d}" name="${t.field}" ng-false-value="false" ng-true-value="true" crn-allow-null-values="${!o}" class="k-checkbox" type="checkbox" from-grid=true ng-model="${l}"><label class="k-checkbox-label" for="${d}"></label>`),r.data("change-grid-model",a),r.appendTo(e)):"date"==i.inputType?(r.attr("cron-date",""),r.attr("options",JSON.stringify(i.dateOptions)),r.data("initial-date",t.model[t.field]),r.attr("type","datetime"),r.appendTo(e).off("change")):(r.attr("type",i.type),r.attr("mask",i.format?i.format:""),("999.999.999-99;0"===i.format||"99.999.999/9999-99;0"===i.format)&&(r.attr("valid","999.999.999-99;0"===i.format?"cpf":"cnpj"),r.attr("data-"+i.field.toLocaleLowerCase()+"validation-msg",$translate.instant("invalid."+r.attr("valid")))),r.css("text-align",i.alignment),r.attr("class","k-input k-textbox"),r.data("initial-value",t.model[t.field]),r.appendTo(e));n(d).then(e=>{$(`#${e}`).data("alreadycompiled",!0),$(`#${e}`).data("$compile",$compile),$(`#${e}`).data("ref-component",options.refComponent)})}function setIdCommandButton(e,t){let n=setInterval(()=>{if($(`.k-grid-${e}`).is(":visible")){clearInterval(n);var a=options.refComponent;$(`.k-grid-${e}`).each((e,n)=>{let i=$(n);if(!i.attr("id")){let e=a.dataItem(i.closest("tr")),n=this.getModelName(attrs),o=e._objectKey,d=`${n}-${t}-${o}`;i.attr("id",d)}})}},200)}function getCommandForEditButtonDatabase(e,t){var n;let a=app.common.generateId(),i=$translate.instant("Edit"),o=`<a href class='k-button k-grid-edit k-grid-${a}' aria-label='${i}'><span class='k-icon k-i-edit'></span></a>`;return n="popupCustom"==e.editable||"datasource"==e.editable?{name:a,template:o,click:function(t){t.preventDefault();var n=$(t.target).closest("tr"),a=n.closest("table"),i=this.dataItem(n),o=this.dataSource.transport.options.cronappDatasource;scope.safeApply(function(){options.hideModalButtons||helperDirective.addButtonsInModal(options.popupEdit,o.name,scope,!1);var t=o.goTo(i);o.startEditing(t,function(e){}),"datasource"==e.editable?cronapi.internal.focusFormInput():cronapi.screen.showModal(options.popupEdit)})}}:{name:t,template:o,text:{edit:" ",update:" ",cancel:" "}},setIdCommandButton.bind(this)(a,t),n}function getCommandForRemoveButtonDatabase(e,t){var n;let a=app.common.generateId(),i=$translate.instant("Remove"),o=`<a href class='k-button k-grid-delete k-grid-${a}' aria-label='${i}'><span class='k-icon k-i-close'></span></a>`;return n="popupCustom"==e.editable||"datasource"==e.editable?{name:a,template:o,click:function(t){t.preventDefault();var e=$(t.target).closest("tr"),n=this.dataItem(e),a=this.dataSource.transport.options.cronappDatasource,i=this;scope.safeApply(function(){var e=a.goTo(n);a.remove(e)})}}:{name:t,template:o},setIdCommandButton.bind(this)(a,t),n}function getAggregate(e){if(e&&e.aggregates){var t=[];if(e.aggregates.forEach(function(e){t.push(e.type)}),0<t.length)return t}}function getAggregateFooter(e,t){if(e&&e.aggregates){var n=[];return e.aggregates.forEach(function(i){var a="#=data."+e.field+" ? data."+e.field+"."+i.type+" : 0 #";("average"==i.type||"sum"==i.type)&&(a="#=useMask(data."+e.field+" ? data."+e.field+"."+i.type+" : 0,'"+e.format+"','"+e.type+"')#");var o=t?i.groupFooterTemplate:i.footerTemplate;o?o+=": ":o="";var d=o+a;e.alignment&&("right"!==e.alignment||t?d="<div style=\"text-align: "+e.alignment+"\">"+d+"</div>":d="<div style=\"text-align: "+e.alignment+"\" class=\"k-fix-margin\">"+d+"</div>"),n.push(d)}),n.join("<br/>")}}function getAggregateHeader(e){return hasMask(e.type)||e.format&&"null"!=e.format?e.headerText+": #=useMask(value,'"+e.format+"','"+e.type+"')#":void 0}function getAttributes(e){let t={};return e&&(e.alignment&&(t.style="text-align: "+e.alignment+";"),e.security&&(t["cronapp-security"]=e.security)),t}function commandClick(t,e){t.preventDefault();let n,a=$(t.target).closest("tr"),i=a.closest("table"),o=this.dataItem(a),d=this.dataItem(a),l=$(i.find("tbody")[0]).children().index(a);n="Customized"==e.dataType||"CustomizedLink"==e.dataType||"GroupedButtons"==e.dataType?e.execute:generateBlocklyCall(e.blocklyInfo);let r=this.dataSource.transport.options.cronappDatasource,s=options.refComponent,c=[];if(s.select().each(function(){let e=s.dataItem(this);r.data.forEach(function(t){t.__$id==e.__$id&&c.push(t)})}),!(r.inserting||r.editing)){let e=t.currentTarget.parentElement.parentElement;this.select(e)}let p=[];options.fieldType&&"key"===options.fieldType?(d=helperDirective.changeObjectField(r,r.findObjInDs(d)),c.forEach(e=>{p.push(helperDirective.changeObjectField(r,r.findObjInDs(e)))})):p=c;let u={item:d,index:l},m={currentData:r.data,datasource:r.copyWithoutAngularObj(),selectedIndex:l,index:l,selectedRow:d,consolidated:u,item:d,selectedKeys:r.getKeyValues(r.findObjInDs(o),!0),selectedRows:p};return r.goTo(o),void scope.$eval(n,m)}var helperDirective=this,columns=[];return options.columns&&options.columns.forEach(function(t){let n=this.getWidthForDevice(t);if("Database"==t.dataType){var a={field:t.field,title:t.headerText,type:t.type,width:n.width,sortable:t.sortable,filterable:t.filterable,hidden:!n.visible};a.template=getTemplate(t),a.format=getFormat(t),a.editor=getEditor.bind(this)(t),a.aggregates=getAggregate(t),a.footerTemplate=getAggregateFooter(t,!1),a.groupFooterTemplate=getAggregateFooter(t,!0),a.groupHeaderTemplate=getAggregateHeader(t),a.attributes=getAttributes(t),a.headerAttributes=a.attributes,a.widthDevices=t.widthDevices,columns.push(a)}else if("Command"==t.dataType){if("no"!=options.editable){var i=t.command.split("|"),o=[];i.forEach(function(e){var t;t="edit"==e?getCommandForEditButtonDatabase.bind(this)(options,e):getCommandForRemoveButtonDatabase.bind(this)(options,e),o.push(t)}.bind(this));var a={command:o,title:t.headerText,width:n.width?n.width:155,hidden:!n.visible,attributes:getAttributes(t)};columns.push(a)}}else if("Blockly"==t.dataType||"Customized"==t.dataType||"CustomizedLink"==t.dataType){var d=null==t.label?"":t.label;t.iconClass&&d&&(d="&nbsp;"+d);var l="";l="CustomizedLink"==t.dataType?"k-custom-link":"k-custom-command"+(d?" k-button-with-label":""),t.theme&&(l+=" "+t.theme);var r="";if(t.tooltip&&t.tooltip.length&&(r=t.tooltip),r){var s=app.common.generateId();tooltips[s]=r,l+=" "+s}let e=app.common.generateId(),i=r||d||e,o=`<a href class='k-button ${l} k-grid-${e}' aria-label='${i}'><span class='${t.iconClass}'></span>${d}</a>`;var a={command:[{name:e,template:o,click:function(n){commandClick.bind(this)(n,t)}}],width:n.width,title:t.headerText?t.headerText:"",hidden:!n.visible,attributes:getAttributes(t)};columns.push(a),setIdCommandButton.bind(this)(e,t.dataType)}else if("GroupedButtons"==t.dataType){if(t.buttonColumns&&t.buttonColumns.length){let e=[];t.buttonColumns.forEach(function(n){let a=null==n.label?"":n.label;n.iconClass&&a&&(a="&nbsp;"+a);let i="k-custom-command"+(a?" k-button-with-label":"");n.theme&&(i+=" "+n.theme);let o="";if(n.tooltip&&n.tooltip.length&&(o=n.tooltip),o){let e=app.common.generateId();tooltips[e]=o,i+=" "+e}let d=app.common.generateId(),l=o||a||d,r=`<a href class='k-button ${i} k-grid-${d}' aria-label='${l}'><span class='${n.iconClass}'></span>${a}</a>`,s={name:d,template:r,click:function(a){n.dataType=t.dataType,commandClick.bind(this)(a,n)}};e.push(s)});var a={command:e,width:n.width,title:t.headerText?t.headerText:"",hidden:!n.visible,attributes:getAttributes(t)};columns.push(a),setIdCommandButton.bind(this)(app.common.generateId(),t.dataType)}}else if("Selectable"==t.dataType){var c={selectable:!0,attributes:getAttributes(t)};columns.push(c)}}.bind(this)),columns},getPageAble:function(e){var t={refresh:e.allowRefreshGrid,pageSizes:e.allowSelectionTotalPageToShow,buttonCount:5};return e.allowPaging||(t=e.allowPaging),t},getToolbar:function(e,t,n){function a(e){let t=e.security?`cronapp-security="${e.security}" class`:"class";e.template&&(e.template=e.template.split("class").join(t));let n={template:e.template};return n}var i=[];return e.toolBarButtons.forEach(function(o){if("Native"==o.type){if("no"==e.editable)("pdf"==o.title||"excel"==o.title)&&i.push(o.title);else if(("datasource"==e.editable||"popupCustom"==e.editable)&&"create"==o.title){var d=e.dataSourceScreen.name,l=e.popupInsert;o.methodCall=d+".startInserting();","popupCustom"==e.editable?o.methodCall=o.methodCall+" cronapi.screen.showModal('"+l+"');":o.methodCall+="cronapi.internal.focusFormInput();";var r=this.generateToolbarButtonCall(o,t,e,n);i.push(r),e.hideModalButtons||this.addButtonsInModal(l,d,t,e.enableModalSaveAdd)}else{let a=this.generateToolbarButtonCall(o,t,e,n);i.push(a)}}else if("Blockly"==o.type||"Customized"==o.type){var s=this.generateToolbarButtonCall(o,t,e,n);i.push(s)}else if("SaveOrCancelChanges"==o.type){if("no"!=e.editable){var c=this.generateToolbarButtonCall(o,t,e,n);i.push(c)}}else if("Template"==o.type||"Title"==o.type){let e=a(o);i.push(e)}}.bind(this)),0==i.length&&(i=void 0),i},getEditable:function(e){var t={mode:e.editable,confirmation:!1};return"batch"==e.editable?t=!0:("no"==e.editable||"popupCustom"==e.editable||"datasource"==e.editable)&&(t=!1),t},getTooltipsDefault:function(){var e={k_grid_edit:$translate.instant("Edit"),k_grid_delete:$translate.instant("Remove"),k_grid_update:$translate.instant("Save"),k_grid_cancel:$translate.instant("Cancel")};return e},setTooltips:function(e,t){for(var n in t){var a="."+n.replace(/_/g,"-");e.kendoTooltip({filter:a,content:function(n){var e=n.sender.options.filter.substr(1).replace(/-/g,"_");return t[e]}})}},generateKendoGridInit:function(t,n,a,i,o){function d(a){if(a.masterRow.find("a").hasClass("k-i-expand"))return void s(this,a.detailRow,a.masterRow);var e=this.dataSource.transport.options.cronappDatasource;e.inserting||e.editing?r(this,null,null):(this.selectable?(c.bind(this)(a.data),this.select(a.masterRow),void 0!==t.columns.find(e=>"Selectable"==e.dataType)&&r(this,a.detailRow,a.masterRow)):(c.bind(this)(a.data),r(this,a.detailRow,a.masterRow)),a.sender.options.listCurrentOptions.forEach(function(e){var t=l.generateKendoGridInit(e,n,void 0,void 0,o),i=$("<div/>"),d=i.appendTo(a.detailCell).kendoGrid(t).data("kendoGrid");app.kendoHelper.receivePushData(d),e.refComponent=d,window.addEventListener("resize",()=>{l.resizeGridUsingWidthForDevice(d)}),l.setTooltips(i,o)}))}var l=this,r=function(e,t,n){var a=e.table.find(".k-master-row");a.each(function(){(null==n||this!=n[0])&&e.collapseRow(this)});var i=e.table.find(".k-detail-row");i.each(function(){(null==t||this!=t[0])&&$(this).remove()})},s=function(e,t,n){var a=e.table.find(".k-master-row");a.each(function(){(null!=n||this==n[0])&&e.collapseRow(this)});var i=e.table.find(".k-detail-row");i.each(function(){(null!=t||this==t[0])&&$(this).remove()})},c=function(e){var t=this.dataSource.transport.options.cronappDatasource;t.inserting||t.editing||n.safeApply(t.goTo(e))},p=function(a){if(a.sender.tbody&&a.sender.tbody.length){var e=a.sender.tbody;$(a.sender.tbody).find(".k-grid-edit-row").length?e=$(a.sender.tbody).find("tr:not(.k-grid-edit-row)"):e.parent()&&e.parent().parent()&&e.parent().parent().parent()&&(e=e.parent().parent().parent()),n.safeApply(function(){var a=$(e),i=angular.element(a);$compile(i)(n),t.refComponent&&l.resizeGridUsingWidthForDevice(t.refComponent)})}},u=function(e){var t=!1;if(e.columns)for(var n=0;n<e.columns.length;n++)if("Database"==e.columns[n].dataType&&e.columns[n].filterable){t=!0;break}return t},m=function(e){var n,a=0;return t.columns.forEach(function(t){"Database"==t.dataType&&(a==e&&t.visible&&(n=t),t.visible&&a++)}),n},g=function(t){let e=t.workbook.sheets[0],a=/{{(.*?)}}/;for(let i,o=1;o<e.rows.length;o++){i=e.rows[o];for(let e,t=0;t<i.cells.length;t++){if(e=m(t),e&&i.cells[t].value instanceof Date){let n=new Date(i.cells[t].value.getTime());n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n.setSeconds(n.getSeconds()),i.cells[t].value=n,"time"==e.type?i.cells[t].format="[$-x-systime]hh:mm:ss":"datetime"==e.type&&(i.cells[t].format="dd/mm/yyyy hh:mm:ss;@")}if(("footer"===i.type||"group-footer"===i.type)&&i.cells[t].value){let e=i.cells[t].value,o=$(e)[0].innerHTML,d=a.exec(o);if(d&&1<d.length){o=o.replace(d[0],"");let e=n.$eval(d[1]);i.cells[t].value=`${o}${e}`}}}}},f=app.kendoHelper.getDataSource(t.dataSourceScreen.entityDataSource,n,t.allowPaging,t.pageCount,t.columns,t.groupings),h=this.getColumns(t,f,n,o,i),v=this.getPageAble(t),b=this.getToolbar(t,n,i),y=this.getEditable(t),k=u(t),C={hasSecurity:t.columns.filter(e=>e.security).length,toolbar:b,pdf:{allPages:!0,avoidLinks:!0,paperSize:"A4",margin:{top:"2cm",left:"1cm",right:"1cm",bottom:"1cm"},landscape:!0,repeatHeaders:!0,scale:.8},dataSource:f,editable:y,height:t.height,groupable:t.allowGrouping,sortable:t.allowSorting,filterable:!0,pageable:v,columns:h,selectable:t.allowSelectionRow,detailInit:t.details&&0<t.details.length?d:void 0,listCurrentOptions:t.details&&0<t.details.length?t.details:void 0,excelExport:g,edit:function(t){this.dataSource.transport.options.disableAndSelect(t);var e=t.container,a=this.dataSource.transport.options.cronappDatasource;if(t.model.isNew()){var o=t.model;a.startInserting(null,function(t){for(var n in t)if(o.fields[n]){if(o.fields[n].validation&&o.fields[n].validation.required){var a=e.find("input[name='"+n+"']");a.length&&a.val(t[n]).trigger("change")}o.set(n,t[n])}})}else t.model.isNew()||t.model.dirty||n.safeApply(function(){var e=a.goTo(t.model);a.startEditing(e,function(e){})});i&&i.ngEdit&&n.$eval(i.ngEdit),p(t)},change:function(o){var e=this.dataItem(this.select());(t.details&&0==t.details.length||!cronapi.internal.hasMethodInCallStack("detailInit"))&&c.bind(this)(e);var d=this.dataSource.transport.options.cronappDatasource;t.fieldType&&"key"===t.fieldType&&(d.active=l.changeObjectField(d,d.active));let s=this.select().next(),u=this.select();if(a)if("multiple"===t.allowSelectionRowType){let e=[];s=[],u=[],this.select().each((n,a)=>{let i=this.dataItem(a),o=d.findObjInDs(i,!1);t.fieldType&&"key"===t.fieldType&&(o=l.changeObjectField(d,o)),null!==o&&e.push(o),i._objectKey===d.active._objectKey&&(u.push(this.select()[n]),s.push(this.select().next()[n]))}),a.$setViewValue(e)}else e?a.$setViewValue(d.active):a.$setViewValue(null);r(this,s,u),i&&i.ngChange&&n.$eval(i.ngChange),p(o),$(".k-command-cell a[class*='k-grid-']").each((e,t)=>{let n=$(t);if(!n.attr("id")){let e=this.dataItem(n.closest("tr")),t="destroy";n.hasClass("k-grid-update")?t="update":n.hasClass("k-grid-cancel")?t="cancel":n.hasClass("k-grid-edit")&&(t="edit");let a=l.getModelName(i);if(e&&e._objectKey){let i=e._objectKey,o=`${a}-${t}-${i}`;n.attr("id",o)}}})},cancel:function(t){var e=this.dataSource.transport.options.cronappDatasource;n.safeApply(e.cancel()),this.dataSource.transport.options.enableAndSelect(t),setTimeout(function(){i&&i.ngCancel&&n.$eval(i.ngCancel),p(t)}.bind(this))},dataBound:function(a){setTimeout(()=>this.dataSource.transport.options.selectActiveInGrid(),100),i&&i.ngDataBound&&n.$eval(i.ngDataBound);for(let e,n=0;n<this.columns.length;n++)e=l.getColumnByField(t,this.columns[n].field),e.visible&&this.showColumn(n);0==$("div.k-grouping-header").length?t.groupings&&t.groupings.forEach(e=>this.hideColumn(e.field)):$("div.k-group-indicator").each((e,t)=>{this.hideColumn($(t).data("field"))});let e=this;setTimeout(function(){e.pager&&e.pager.element.find("a").not(".k-state-disabled").attr("tabindex","0")}),p(a)}};return C.selectable&&"multiple"==t.allowSelectionRowType&&(C.selectable="multiple"),C.originalSelectable=C.selectable,i&&i.ngBeforeEdit&&(C.beforeEdit=function(t){n.$eval(i.ngBeforeEdit)}),i&&i.ngDataBinding&&(C.dataBinding=function(t){n.$eval(i.ngDataBinding)}),i&&i.ngSave&&(C.save=function(t){n.$eval(i.ngSave)}),i&&i.ngSaveChanges&&(C.saveChanges=function(t){n.$eval(i.ngSaveChanges)}),i&&i.ngRemove&&(C.remove=function(t){n.$eval(i.ngRemove)}),C},link:function(e,t,n,a){if(t.children().length)return;var i=$("<div></div>"),o="node_modules/cronapp-lib-js/dist/js/kendo-ui/js/messages/kendo.messages.";o+="pt_br"==$translate.use()?"pt-BR.min.js":"en-US.min.js",this.initCulture();var d=this;$.getScript(o,function(){var t=JSON.parse(n.options||"{}");app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).batchPost=!1;var o=t.batchMode==null||t.batchMode;o&&"datasource"!=t.editable&&app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e)&&!app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).dependentLazyPost&&(app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).batchPost=!0,t.toolBarButtons=t.toolBarButtons||[],t.toolBarButtons.push({type:"SaveOrCancelChanges",title:$translate.instant("SaveChanges"),methodCall:t.dataSourceScreen.entityDataSource.name+".postBatchData()",saveButton:!0}),t.toolBarButtons.push({type:"SaveOrCancelChanges",title:$translate.instant("CancelChanges"),methodCall:t.dataSourceScreen.entityDataSource.name+".cancelBatchData()",saveButton:!1}));var l=d.getTooltipsDefault(),r=d.generateKendoGridInit(t,e,a,n,l);r.scrollable="true"===n.scrollable;var s=i.kendoGrid(r).data("kendoGrid");app.kendoHelper.receivePushData(s),t.refComponent=s,window.addEventListener("resize",()=>{d.resizeGridUsingWidthForDevice(s)}),d.setTooltips(i,l),e.safeApply(function(){app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e)&&(i.find(".k-filter-row").show(),i.find(".k-pager-sizes").show(),i.find(".k-pager-nav").show(),i.find(".k-pager-numbers").show(),i.find(".k-pager-refresh.k-link").show(),i.find(".saveorcancelchanges").hide(),app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).addDataSourceEvents({pendingchanges:function(e){e?(i.find(".k-filter-row").hide(),i.find(".k-pager-sizes").hide(),i.find(".k-pager-nav").hide(),i.find(".k-pager-numbers").hide(),i.find(".k-pager-refresh.k-link").hide(),i.find(".saveorcancelchanges").show()):(i.find(".k-filter-row").show(),i.find(".k-pager-sizes").show(),i.find(".k-pager-nav").show(),i.find(".k-pager-numbers").show(),i.find(".k-pager-refresh.k-link").show(),i.find(".saveorcancelchanges").hide())}}),app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).addDataSourceEvents({afterchanges:function(e){}}))}),s.selectable.userEvents.unbind("select")});let l=app.common.generateId(),r=app.common.generateId(),s=app.common.generateId(),c=$(`<ul id="${l}">
37
+ </div>`),n.sender.element.find(".k-scheduler-header.k-state-default").addClass("changed"))},r=n=>{let e=n.sender.element.find(".k-more-events.k-button.hooked").length;if(!e){let e=n.sender.view(),i=t.views.find(t=>t.type===e.name),o=app.common.generateId();n.sender.element.find(".k-more-events.k-button").attr("data-id",o);let d=generateBlocklyCall(i.moreEventsBlockly);d&&s(o,n=>{let e=$(n.currentTarget).prev(),i=e.data("uid"),o=t.refComponent.dataItems().find(e=>e.uid==i),l={scheduleData:{type:"seeAll",selectedDate:o.start}};a.$eval(d,l)}),n.sender.element.find(".k-more-events.k-button").addClass("hooked")}},s=(e,t)=>new Promise(n=>{let a=setInterval(()=>{let i=$(`[data-id="${e}"]`);if(i.length){clearInterval(a);let e="click";$(".km-pane-wrapper").length&&(e="touchstart"),i.off(e),i.on(e,n=>{t(n),n.stopImmediatePropagation()}),n()}},100)}),c=[];if(t.views)for(let e in t.views){let n=t.views[e];n.visible&&c.push(n)}else t.showDayTab&&c.push("day"),t.showAgendaTab&&c.push("agenda"),t.showMonthTab&&c.push("month"),t.showTimelineTab&&c.push("timeline"),t.showWeekTab&&c.push("week"),t.showWorkWeekTab&&c.push("workWeek");let p={dateHeaderTemplate:kendo.template(`#=kendo.toString(date, ${kendo.culture().name.toLowerCase().includes("pt")?"'ddd dd/M'":"'ddd M/dd'"})#`),showWorkHours:t.showWorkHours,selectable:!0,date:i,mobile:!1,allDaySlot:t.allDaySlot,messages:{editor:{timezone:$translate.instant("TimezoneEvent")}},currentTimeMarker:t.currentTimeMarker?{updateInterval:1e4,useLocalTimezone:!1}:t.currentTimeMarker,views:c,navigate:function(t){let e=t.sender.view()},dataBound:function(t){let e=t.sender.view();l(t),r(t)},eventTemplate:e=>{let n={scheduleData:e},i=t=>e.description?(t?" - ":"")+e.description:"",o=app.common.generateId(),d=t.refComponent.view().name,l=t.views.find(e=>e.type===d),r=[];r.push(`<div class='k-event-template' data-id='${o}'>`),"agenda"===d?(r.push(`<div class='k-event-title'>${e.title}</div>`),!l.showDescription||r.push(`<div class='k-event-description'>${i(!1)}</div>`)):r.push(`<div class='k-event-title'>${e.title}${l.showDescription?i(!0):""} </div>`),r.push("</div>");let c=generateBlocklyCall(l.blockly);return c&&s(o,()=>{a.$eval(c,n)}),r.join("")},change:t=>{t&&t.events&&t.events.length?this.setDatasourceActiveItem(n,t.events[0],"id"):n.startInserting({}),console.log("Active: ",n.active)},edit:function(n){if(t&&t.allowCustomAction){let e=n.container,i=t.customActionLabel?t.customActionLabel:$translate.instant("Details"),o=$("<a class=\"k-button\">"+i+"</a>");o.click(function(n){a.safeApply(()=>{a.$eval(generateBlocklyCall(t.customActionBlockly))})});let d=e.find(".k-edit-buttons");d.append(o)}},dataSource:{batch:!1,transport:{isComponentInDocument:function(e){return!!e&&$(document).has(e.element[0]).length},getCurrentCallbackForPush:function(e,t){return e||t},pushAction:function(e,a){return i=>{let o=["read","memorydelete","overRideRefresh"];if(this.isComponentInDocument(t.refComponent)){let n=this.getCurrentCallbackForPush(a,t.refComponent),o=n[e];o?o(i):(t.fromRead="read"===e,t.refComponent.dataSource.read())}else o.includes(e)||n.removeDataSourceEvents(this.options.dataSourceEventsPush)}},push:function(e){!this.dataSourceEventsPush&&n&&(this.dataSourceEventsPush={create:this.pushAction.bind(this)("pushUpdate",e),update:this.pushAction.bind(this)("pushUpdate",e),delete:this.pushAction.bind(this)("pushDestroy",e),read:this.pushAction.bind(this)("read",e),memorycreate:this.pushAction.bind(this)("pushUpdate",e),memoryupdate:this.pushAction.bind(this)("pushUpdate",e),memorydelete:this.pushAction.bind(this)("pushDestroy",e)},n.addDataSourceEvents(this.dataSourceEventsPush))},read:function(e){e.data=e.data||{};let a=!1;try{t.kendoCallback?t.fromRead?t.isReading?e.error():(t.isReading=!0,t.kendoCallback.success(n.data)):a=!0:(t.kendoCallback=e,a=!0)}finally{t.fromRead=!1,t.isReading=!1}if(a)if(d(e.data)){o=e.data,jQuery.isEmptyObject(e.data)&&(e.data[t.schedulerDataModel.start.name]=i);let a=kendo.data.transports.odata.parameterMap(e.data,"read"),d="",l={};l.params=a,n.fetch(l,{success:function(t){e.success(angular.copy(t))},canceled:function(t){e.error(angular.copy(t))}},!1)}else e.error()}.bind(this),update:e=>{let a=this.parseToDatasourceSchema(n,e.data,t);n.startEditing(n.active),this.mergeSchedulerEventWithDatasourceActive(n,a),n.update(n.active,t=>{let a=angular.copy(t);e.success(a),n.fetch({},{success:e=>{this.setDatasourceActiveItem(n,a,"id")},canceled:e=>{}},!1)},t=>{e.error(angular.copy(t))})},create:e=>{let a=this.parseToDatasourceSchema(n,e.data,t);this.mergeSchedulerEventWithDatasourceActive(n,a),n.insert(n.active,t=>{let a=angular.copy(t);e.success(a),n.fetch({},{success:e=>{this.setDatasourceActiveItem(n,a,"id")},canceled:function(e){}},!1)},t=>{e.error(angular.copy(t))})},destroy:function(e){n.removeSilent(this.parseToDatasourceSchema(n,e.data,t),function(t){e.success(angular.copy(t))},function(t){e.error(angular.copy(t))})}.bind(this)},schema:{model:this.getSchedulerModel(t.schedulerDataModel)}}};return t.views||(p.editable=t.editable),window.fixedTimeZone&&window.timeZone&&(p.timezone=window.timeZone),p},showError:function(e,t,n){let a={message:n,title:t,delay:null};e.Notification.error(a)},parseToDatasourceSchema:function(e,t,n){let a={};for(let i in e.schema){let n=e.schema[i].name;a[n]=t[n]}return a[n.schedulerDataModel.isAllDay.name]=!0===a[n.schedulerDataModel.isAllDay.name],a[n.schedulerDataModel.id.name]||delete a[n.schedulerDataModel.id.name],a},link:function(scope,element,attrs,ngModelCtrl){let datasource,schedulerElement=$("<div></div>"),options=JSON.parse(attrs.options||"{}");if(options.dataSourceScreen&&options.dataSourceScreen.entityDataSource&&(datasource=eval(options.dataSourceScreen.entityDataSource.name)),!datasource){let e={};return void $translate("DatasourceNotFoundMessage").then(t=>(e.message=t,$translate("Scheduler"))).then(t=>(e.component=t,$translate("DatasourceNotFoundTitle"))).then(t=>{e.title=t,this.showError(scope,e.title,e.message.replace("{0}",e.component))})}if(jQuery.isEmptyObject(options.schedulerDataModel))return;let baseUrl="node_modules/cronapp-lib-js/dist/js/kendo-ui/js/messages/kendo.messages.";baseUrl+="pt_br"===$translate.use()?"pt-BR.min.js":"en-US.min.js",this.initCulture(),$.getScript(baseUrl,async function(){function e(e,t){if(!e||!t)return;let n;return e.forEach((e,a)=>t.forEach(t=>{n=e.getTime()===t.getTime()})),n}let t=app.kendoHelper.getDataSource(options.dataSourceScreen.entityDataSource,scope,!0,options.dataSourceScreen.rowsPerPage),n=await this.getSchedulerProperties(options,datasource,scope);schedulerElement.kendoScheduler(n);let a=schedulerElement.data("kendoScheduler");options.refComponent=a;let i;a.bind("navigate",function(t){a._previousView=t.sender.view()}),a.bind("dataBound",function(t){if(a._currentView=t.sender.view(),a._previousView){let t=e(a._previousView._dates,a._currentView._dates);if(!t){let e={};e[options.schedulerDataModel.start.name]=a._currentView._startDate,e[options.schedulerDataModel.end.name]=a._currentView._endDate,a.dataSource.read(e),a._previousView=a._currentView}}})}.bind(this)),element.html(schedulerElement),$compile(schedulerElement)(element.scope())}}}]).directive("cronGrid",["$compile","$translate",function($compile,$translate){return{restrict:"E",replace:!0,require:"ngModel",initCulture:function(){var e=$translate.use();e=e.replace(/_/gm,"-");var t=e.split("-");t[t.length-1]=t[t.length-1].toUpperCase(),e=t.join("-"),kendo.culture(e)},changeObjectField:function(e,t){t=e.getKeyValues(t);var n=Object.keys(t);return 1===n.length&&(t=t[n]),t},removeSpecialChar:function(e){return e.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()},getModelName:function(e){return e?this.removeSpecialChar(e.ngModel):"subgrid"},generateToolbarButtonCall:function(toolbarButton,scope,options,attrs){var buttonCall,generateObjTemplate=function(e,t,n){var a={template:function(){return createTemplateButton(e,t,n)}.bind(this)};return a}.bind(this),createTemplateButton=function(functionToCall,title,iconClass){var template="";let security=toolbarButton.security?`cronapp-security="${toolbarButton.security}"`:"",modelName=this.getModelName(attrs),buttonType=this.removeSpecialChar(toolbarButton.type),buttonDesc=toolbarButton.title?this.removeSpecialChar(toolbarButton.title):this.removeSpecialChar(toolbarButton.iconClass),buttonId=`${modelName}-${buttonType}-${buttonDesc}`;"SaveOrCancelChanges"==toolbarButton.type?toolbarButton.saveButton?template="<a #SECURITY# role=\"button\" class=\"saveorcancelchanges k-button k-button-icontext k-grid-save-changes\" data-id=\"#BUTTONID#\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-check\"></span>#TITLE#</a>":template="<a #SECURITY# role=\"button\" class=\"saveorcancelchanges k-button k-button-icontext k-grid-cancel-changes\" data-id=\"#BUTTONID#\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-cancel\" ></span>#TITLE#</a>":"Blockly"==toolbarButton.type||"Customized"==toolbarButton.type?template="<a #SECURITY# class=\"k-button k-grid-custom\" data-id=\"#BUTTONID#\" href=\"javascript:void(0)\"><span class=\"#ICONCLASS#\" ></span>#TITLE#</a>":"Native"==toolbarButton.type&&"create"==toolbarButton.title?template="<a #SECURITY# role=\"button\" data-id=\"#BUTTONID#\" class=\"k-button k-button-icontext k-grid-add\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-plus\"></span>{{\"Add\" | translate}}</a>":"Native"==toolbarButton.type&&"excel"==toolbarButton.title?template="<a #SECURITY# role=\"button\" data-id=\"#BUTTONID#\" class=\"k-button k-button-icontext k-grid-excel\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-file-excel\"></span>{{\"exportExcel\" | translate}}</a>":"Native"==toolbarButton.type&&"pdf"==toolbarButton.title&&(template="<a #SECURITY# role=\"button\" data-id=\"#BUTTONID#\" class=\"k-button k-button-icontext k-grid-pdf\" href=\"javascript:void(0)\"><span class=\"k-icon k-i-file-pdf\"></span>{{\"exportPDF\" | translate}}</a>"),template=template.split("#BUTTONID#").join(buttonId).split("#FUNCTIONCALL#").join(this.encodeHTML(functionToCall)).split("#TITLE#").join(title).split("#ICONCLASS#").join(iconClass).split("#SECURITY#").join(security);var cronappDatasource=eval(options.dataSourceScreen.entityDataSource.name),waitRender=setInterval(function(){0<$(`[data-id=${buttonId}]`).length&&(scope.safeApply(function(){var e=angular.element($(`[data-id=${buttonId}]`));$compile(e)(scope),$(`[data-id=${buttonId}]`).attr("id",buttonId)}),$(`[data-id=${buttonId}]`).click(function(){var e=options.refComponent,t=[];e.select().each(function(){var n=e.dataItem(this);cronappDatasource.data.forEach(function(e){e.__$id==n.__$id&&t.push(e)})});var n={item:t.length?cronappDatasource.active:null,index:t.length?cronappDatasource.cursor:null};let a=[];options.fieldType&&"key"===options.fieldType?t.forEach(e=>{a.push(this.changeObjectField(cronappDatasource,cronappDatasource.findObjInDs(e)))}):a=t;var i={currentData:cronappDatasource.data,datasource:cronappDatasource.copyWithoutAngularObj(),selectedIndex:t.length?cronappDatasource.cursor:null,index:t.length?cronappDatasource.cursor:null,selectedRow:t.length?cronappDatasource.active:null,consolidated:n,item:t.length?cronappDatasource.active:null,selectedKeys:t.length?cronappDatasource.getKeyValues(cronappDatasource.findObjInDs(t[0]),!0):null,selectedRows:a};scope.$eval(functionToCall,i)}.bind(this)),clearInterval(waitRender))}.bind(this),200);return template}.bind(this),call="";call="Customized"==toolbarButton.type?toolbarButton.execute:toolbarButton.methodCall?toolbarButton.methodCall:generateBlocklyCall(toolbarButton.blocklyInfo);var title=null==toolbarButton.title?"":toolbarButton.title;return buttonCall=generateObjTemplate(call,title,toolbarButton.iconClass),buttonCall},generateModalSaveOrCancelButtonCall:function(e,t,n,a,i){var o=app.common.generateId(),d=function(e,t,n,a){var d;d="save"==e?"<button id=\"#BUTTONID#\" aria-label=\"#ARIALABELSAVE#\" class=\"btn btn-primary btn-fab ng-binding grid-save-button-modal k-button\" data-component=\"crn-button\" ng-click=\"#FUNCTIONCALL#\" onclick=\"(!#DATASOURCENAME#.missingRequiredField(true)?$('##MODALID#').modal('hide'):void(0))\"><span class=\"k-icon k-i-check\"></span></button>":"saveAdd"==e?"<button id=\"#BUTTONID#\" aria-label=\"#ARIALABELSAVEADD#\" class=\"btn btn-primary btn-fab ng-binding grid-save-add-button-modal k-button\" data-component=\"crn-button\" ng-click=\"#FUNCTIONCALL#\"><span class=\"k-icon k-i-plus\"></span></button>":"<button id=\"#BUTTONID#\" aria-label=\"#ARIALABELCANCEL#\" type=\"button\" class=\"btn btn-default btn-fab ng-binding k-button\" data-component=\"crn-button\" data-dismiss=\"modal\"><span class=\"k-icon k-i-cancel\"></span></button>",d=d.split("#BUTTONID#").join(o).split("#FUNCTIONCALL#").join(t).split("#DATASOURCENAME#").join(n).split("#ARIALABELSAVE#").join($translate.instant("SaveChanges")).split("#ARIALABELSAVEADD#").join($translate.instant("SaveAddChanges")).split("#ARIALABELCANCEL#").join($translate.instant("CancelChanges")).split("#MODALID#").join(a);var l=setInterval(function(){0<$("#"+o).length&&i.safeApply(function(){var e=angular.element($("#"+o));$compile(e)(i),clearInterval(l)})},200);return d};return buttonCall=d(e,t,n,a),buttonCall},addButtonsInModal:function(e,t,n,a){var i=$("#"+e).find(".modal-footer");if(!i.find(".grid-save-button-modal").length){var o=t+".post();",d=this.generateModalSaveOrCancelButtonCall("save",o,t,e,n);if(i.append(d),a){let a=this.generateModalSaveOrCancelButtonCall("saveAdd",o+t+".startInserting();",t,e,n);i.append(a)}var l=this.generateModalSaveOrCancelButtonCall("cancel",null,null,null,n);i.append(l)}},getObjectId:function(e){if(!e)e="";else if(e instanceof Date){var t=moment.utc(e);e=new Date(t.format("YYYY-MM-DDTHH:mm:ss"))}else if("object"==typeof e)if(e.id)e=e.id;else for(var n in e){e=e[n];break}return e},encodeHTML:function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},decodeHTML:function(e){return e.replace(/&apos;/g,"'").replace(/&quot;/g,"\"").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")},getColumnByField:function(e,t){var n=null;return e.columns.forEach(function(e){e.field==t&&(n=e)}),n},resizeGridUsingWidthForDevice:function(e){for(let t,n=0;n<e.columns.length;n++)t=this.getWidthForDevice(e.columns[n]),e.columns[n].width=t.width,t.visible?e.showColumn(n):e.hideColumn(n);if(e.options.hasSecurity){let t=$(e.element.find("col")).last();t.css("width","0px")}},getWidthForDevice:function(e){let t=1210,n=1002,a=778,i=424,o=$(window).width(),d=function(t){let n;return e.widthDevices.forEach(e=>{e.device===t&&(n=e)}),void 0===n&&("deviceSmall"===t?n=d("deviceMedium"):"deviceMedium"===t?n=d("deviceDesktop"):"deviceDesktop"===t?n=d("deviceBig"):n=e.widthDevices[0]),n},l={width:e.width};return l.visible=void 0!==e.visible&&null!==e.visible?e.visible:!e.hidden,null!==e.widthDevices&&void 0!==e.widthDevices&&0<e.widthDevices.length&&(1210<=o?l=d("deviceBig"):o>=n&&1210>o?l=d("deviceDesktop"):o>=a&&o<n?l=d("deviceMedium"):l=d("deviceSmall")),l},getColumns:function(options,datasource,scope,tooltips,attrs){function getTemplate(column){var template="#=showTreatedValue("+column.field+")#";return"switch"==column.inputType?template="<span class=\"k-switch km-switch k-widget km-widget k-switch-off km-switch-off\" style=\"width: 100%\"> <span class=\"k-switch-wrapper km-switch-wrapper\"> <span class=\"k-switch-background km-switch-background\" style=\"margin-left: #="+column.field+" ? \"80%\": \"0%\" #\"></span> </span> <span class=\"k-switch-container km-switch-container\"> <span class=\"k-switch-handle km-switch-handle\" style=#="+column.field+" ? \"float:right;margin-right:-1px\": \"margin-left:0%\" #> </span> </span> </span>":"checkbox"==column.inputType||"boolean"==column.type?template="<input crn-set-indeterminate=#="+column.field+"# type='checkbox' class='k-checkbox' #="+column.field+" ? \"checked='checked'\": '' # /><label class='k-checkbox-label k-no-text'></label>":column.displayField&&0<column.displayField.length?hasMask(column.type)||column.format&&"null"!=column.format?template="#= useMask("+column.displayField+",'"+column.format+"','"+column.type+"') #":template="#="+column.displayField+"#":hasMask(column.type)||column.format&&"null"!=column.format?template="#= useMask("+column.field+",'"+column.format+"','"+column.type+"') #":column.showAsImage&&(template=column.showAsImageTemplate?column.showAsImageTemplate:"<img src='#:${column.field}#'/>",template=eval("`"+template+"`")),template}function hasMask(e){return!!(e&&"string"==typeof e)&&(e.startsWith("date")||e.startsWith("month")||e.startsWith("time")||e.startsWith("week")||e.startsWith("money")||e.startsWith("number")||e.startsWith("tel")||e.startsWith("integer"))}function getFormat(e){return hasMask(e.type)?void 0:e.format}function isRequired(e){var t=!1,n=null;return datasource.schema.model.fields[e]&&(n=datasource.schema.model.fields[e]),n&&(t=!n.nullable),t}function getEditor(e){return editor.bind(this)}async function editor(e,t){let n=e=>new Promise((t,n)=>{let a=setInterval(function(){let n=$("#"+e);if(0<n.length){let i=n.closest("td"),o=angular.element(i||n);$compile(o)(scope),clearInterval(a),t(e)}},10)}),a=e=>{e!==t.model[t.field]&&(t.model[t.field]=e,t.model.dirty=!0,t.model.dirtyFields[t.field]=!0)};var i=this.getColumnByField(options,t.field);null==i.visibleCrud||i.visibleCrud||(e.parent().find(".k-edit-label [for="+i.field+"]").parent().remove(),e.remove());var o=isRequired(t.field)?"required":"",d=app.common.generateId();let l=`${options.dataSourceScreen.name}.active.${t.field}`;var r=$(`<input ${o} name="${t.field}" id="${d}" from-grid=true ng-model="${l}" />`);if(r.data("change-grid-model",a),r.data("column-type",i.type),"dynamicComboBox"==i.inputType||"comboBox"==i.inputType){var s=app.kendoHelper.getConfigComboboxSync(i.comboboxOptions,scope);s.autoBind=!0,s.optionLabel=void 0,i.displayField&&(s.change=function(n){t.model.set(i.displayField,this.text()),t.model.dirty=!0,t.model.dirtyFields[i.displayField]=!0});let n=r.appendTo(e).kendoDropDownList(s,scope).data("kendoDropDownList");r.data("kendoDropDownList",n)}else if("slider"==i.inputType){var s=app.kendoHelper.getConfigSlider(i.sliderOptions);s.change=t=>scope.$apply(()=>scope.$eval(`${l}=${t.value}`));let t=r.appendTo(e).kendoSlider(s,scope).data("kendoSlider");r.data("kendoSlider",t)}else if("switch"==i.inputType){var s=app.kendoHelper.getConfigSwitch(i.switchOptions);r.appendTo(e).kendoMobileSwitch(s,scope)}else"checkbox"==i.inputType||"boolean"==i.type?(r=$(`<input id="${d}" name="${t.field}" ng-false-value="false" ng-true-value="true" crn-allow-null-values="${!o}" class="k-checkbox" type="checkbox" from-grid=true ng-model="${l}"><label class="k-checkbox-label" for="${d}"></label>`),r.data("change-grid-model",a),r.appendTo(e)):"date"==i.inputType?(r.attr("cron-date",""),r.attr("options",JSON.stringify(i.dateOptions)),r.data("initial-date",t.model[t.field]),r.attr("type","datetime"),r.appendTo(e).off("change")):(r.attr("type",i.type),r.attr("mask",i.format?i.format:""),("999.999.999-99;0"===i.format||"99.999.999/9999-99;0"===i.format)&&(r.attr("valid","999.999.999-99;0"===i.format?"cpf":"cnpj"),r.attr("data-"+i.field.toLocaleLowerCase()+"validation-msg",$translate.instant("invalid."+r.attr("valid")))),r.css("text-align",i.alignment),r.attr("class","k-input k-textbox"),r.data("initial-value",t.model[t.field]),r.appendTo(e));n(d).then(e=>{$(`#${e}`).data("alreadycompiled",!0),$(`#${e}`).data("$compile",$compile),$(`#${e}`).data("ref-component",options.refComponent)})}function setIdCommandButton(e,t){let n=setInterval(()=>{if($(`.k-grid-${e}`).is(":visible")){clearInterval(n);var a=options.refComponent;$(`.k-grid-${e}`).each((e,n)=>{let i=$(n);if(!i.attr("id")){let e=a.dataItem(i.closest("tr")),n=this.getModelName(attrs),o=e._objectKey,d=`${n}-${t}-${o}`;i.attr("id",d)}})}},200)}function getCommandForEditButtonDatabase(e,t){var n;let a=app.common.generateId(),i=$translate.instant("Edit"),o=`<a href class='k-button k-grid-edit k-grid-${a}' aria-label='${i}'><span class='k-icon k-i-edit'></span></a>`;return n="popupCustom"==e.editable||"datasource"==e.editable?{name:a,template:o,click:function(t){t.preventDefault();var n=$(t.target).closest("tr"),a=n.closest("table"),i=this.dataItem(n),o=this.dataSource.transport.options.cronappDatasource;scope.safeApply(function(){options.hideModalButtons||helperDirective.addButtonsInModal(options.popupEdit,o.name,scope,!1);var t=o.goTo(i);o.startEditing(t,function(e){}),"datasource"==e.editable?cronapi.internal.focusFormInput():cronapi.screen.showModal(options.popupEdit)})}}:{name:t,template:o,text:{edit:" ",update:" ",cancel:" "}},setIdCommandButton.bind(this)(a,t),n}function getCommandForRemoveButtonDatabase(e,t){var n;let a=app.common.generateId(),i=$translate.instant("Remove"),o=`<a href class='k-button k-grid-delete k-grid-${a}' aria-label='${i}'><span class='k-icon k-i-close'></span></a>`;return n="popupCustom"==e.editable||"datasource"==e.editable?{name:a,template:o,click:function(t){t.preventDefault();var e=$(t.target).closest("tr"),n=this.dataItem(e),a=this.dataSource.transport.options.cronappDatasource,i=this;scope.safeApply(function(){var e=a.goTo(n);a.remove(e)})}}:{name:t,template:o},setIdCommandButton.bind(this)(a,t),n}function getAggregate(e){if(e&&e.aggregates){var t=[];if(e.aggregates.forEach(function(e){t.push(e.type)}),0<t.length)return t}}function getAggregateFooter(e,t){if(e&&e.aggregates){var n=[];return e.aggregates.forEach(function(i){var a="#=data."+e.field+" ? data."+e.field+"."+i.type+" : 0 #";("average"==i.type||"sum"==i.type)&&(a="#=useMask(data."+e.field+" ? data."+e.field+"."+i.type+" : 0,'"+e.format+"','"+e.type+"')#");var o=t?i.groupFooterTemplate:i.footerTemplate;o?o+=": ":o="";var d=o+a;e.alignment&&("right"!==e.alignment||t?d="<div style=\"text-align: "+e.alignment+"\">"+d+"</div>":d="<div style=\"text-align: "+e.alignment+"\" class=\"k-fix-margin\">"+d+"</div>"),n.push(d)}),n.join("<br/>")}}function getAggregateHeader(e){return hasMask(e.type)||e.format&&"null"!=e.format?e.headerText+": #=useMask(value,'"+e.format+"','"+e.type+"')#":void 0}function getAttributes(e){let t={};return e&&(e.alignment&&(t.style="text-align: "+e.alignment+";"),e.security&&(t["cronapp-security"]=e.security)),t}function commandClick(t,e){t.preventDefault();let n,a=$(t.target).closest("tr"),i=a.closest("table"),o=this.dataItem(a),d=this.dataItem(a),l=$(i.find("tbody")[0]).children().index(a);n="Customized"==e.dataType||"CustomizedLink"==e.dataType||"GroupedButtons"==e.dataType?e.execute:generateBlocklyCall(e.blocklyInfo);let r=this.dataSource.transport.options.cronappDatasource,s=options.refComponent,c=[];if(s.select().each(function(){let e=s.dataItem(this);r.data.forEach(function(t){t.__$id==e.__$id&&c.push(t)})}),!(r.inserting||r.editing)){let e=t.currentTarget.parentElement.parentElement;this.select(e)}let p=[];options.fieldType&&"key"===options.fieldType?(d=helperDirective.changeObjectField(r,r.findObjInDs(d)),c.forEach(e=>{p.push(helperDirective.changeObjectField(r,r.findObjInDs(e)))})):p=c;let u={item:d,index:l},m={currentData:r.data,datasource:r.copyWithoutAngularObj(),selectedIndex:l,index:l,selectedRow:d,consolidated:u,item:d,selectedKeys:r.getKeyValues(r.findObjInDs(o),!0),selectedRows:p};return r.goTo(o),void scope.$eval(n,m)}var helperDirective=this,columns=[];return options.columns&&options.columns.forEach(function(t){let n=this.getWidthForDevice(t);if("Database"==t.dataType){var a={field:t.field,title:t.headerText,type:t.type,width:n.width,sortable:t.sortable,filterable:t.filterable,hidden:!n.visible};a.template=getTemplate(t),a.format=getFormat(t),a.editor=getEditor.bind(this)(t),a.aggregates=getAggregate(t),a.footerTemplate=getAggregateFooter(t,!1),a.groupFooterTemplate=getAggregateFooter(t,!0),a.groupHeaderTemplate=getAggregateHeader(t),a.attributes=getAttributes(t),a.headerAttributes=a.attributes,a.widthDevices=t.widthDevices,columns.push(a)}else if("Command"==t.dataType){if("no"!=options.editable){var i=t.command.split("|"),o=[];i.forEach(function(e){var t;t="edit"==e?getCommandForEditButtonDatabase.bind(this)(options,e):getCommandForRemoveButtonDatabase.bind(this)(options,e),o.push(t)}.bind(this));var a={command:o,title:t.headerText,width:n.width?n.width:155,hidden:!n.visible,attributes:getAttributes(t)};columns.push(a)}}else if("Blockly"==t.dataType||"Customized"==t.dataType||"CustomizedLink"==t.dataType){var d=null==t.label?"":t.label;t.iconClass&&d&&(d="&nbsp;"+d);var l="";l="CustomizedLink"==t.dataType?"k-custom-link":"k-custom-command"+(d?" k-button-with-label":""),t.theme&&(l+=" btn "+t.theme);var r="";if(t.tooltip&&t.tooltip.length&&(r=t.tooltip),r){var s=app.common.generateId();tooltips[s]=r,l+=" "+s}let e=t.width;e&&(e+="px");let i=app.common.generateId(),o=r||d||i,c=`<a href class='k-button ${l} k-grid-${i}' aria-label='${o}' style='width:${e}'><span class='${t.iconClass}'></span>${d}</a>`;var a={command:[{name:i,template:c,click:function(n){commandClick.bind(this)(n,t)}}],width:n.width,title:t.headerText?t.headerText:"",hidden:!n.visible,attributes:getAttributes(t)};columns.push(a),setIdCommandButton.bind(this)(i,t.dataType)}else if("GroupedButtons"==t.dataType){if(t.buttonColumns&&t.buttonColumns.length){let e=[];t.buttonColumns.forEach(function(n){let a=null==n.label?"":n.label;n.iconClass&&a&&(a="&nbsp;"+a);let i="k-custom-command"+(a?" k-button-with-label":"");n.theme&&(i+=" btn "+n.theme);let o="";if(n.tooltip&&n.tooltip.length&&(o=n.tooltip),o){let e=app.common.generateId();tooltips[e]=o,i+=" "+e}let d=n.width;d&&(d+="px");let l=app.common.generateId(),r=o||a||l,s=`<a href class='k-button ${i} k-grid-${l}' aria-label='${r}' style='width:${d}'><span class='${n.iconClass}'></span>${a}</a>`,c={name:l,template:s,click:function(a){n.dataType=t.dataType,commandClick.bind(this)(a,n)}};e.push(c)});var a={command:e,width:n.width,title:t.headerText?t.headerText:"",hidden:!n.visible,attributes:getAttributes(t)};columns.push(a),setIdCommandButton.bind(this)(app.common.generateId(),t.dataType)}}else if("Selectable"==t.dataType){var c={selectable:!0,attributes:getAttributes(t)};columns.push(c)}}.bind(this)),columns},getPageAble:function(e){var t={refresh:e.allowRefreshGrid,pageSizes:e.allowSelectionTotalPageToShow,buttonCount:5};return e.allowPaging||(t=e.allowPaging),t},getToolbar:function(e,t,n){function a(e){let t=e.security?`cronapp-security="${e.security}" class`:"class";e.template&&(e.template=e.template.split("class").join(t));let n={template:e.template};return n}var i=[];return e.toolBarButtons.forEach(function(o){if("Native"==o.type){if("no"==e.editable)("pdf"==o.title||"excel"==o.title)&&i.push(o.title);else if(("datasource"==e.editable||"popupCustom"==e.editable)&&"create"==o.title){var d=e.dataSourceScreen.name,l=e.popupInsert;o.methodCall=d+".startInserting();","popupCustom"==e.editable?o.methodCall=o.methodCall+" cronapi.screen.showModal('"+l+"');":o.methodCall+="cronapi.internal.focusFormInput();";var r=this.generateToolbarButtonCall(o,t,e,n);i.push(r),e.hideModalButtons||this.addButtonsInModal(l,d,t,e.enableModalSaveAdd)}else{let a=this.generateToolbarButtonCall(o,t,e,n);i.push(a)}}else if("Blockly"==o.type||"Customized"==o.type){var s=this.generateToolbarButtonCall(o,t,e,n);i.push(s)}else if("SaveOrCancelChanges"==o.type){if("no"!=e.editable){var c=this.generateToolbarButtonCall(o,t,e,n);i.push(c)}}else if("Template"==o.type||"Title"==o.type){let e=a(o);i.push(e)}}.bind(this)),0==i.length&&(i=void 0),i},getEditable:function(e){var t={mode:e.editable,confirmation:!1};return"batch"==e.editable?t=!0:("no"==e.editable||"popupCustom"==e.editable||"datasource"==e.editable)&&(t=!1),t},getTooltipsDefault:function(){var e={k_grid_edit:$translate.instant("Edit"),k_grid_delete:$translate.instant("Remove"),k_grid_update:$translate.instant("Save"),k_grid_cancel:$translate.instant("Cancel")};return e},setTooltips:function(e,t){for(var n in t){var a="."+n.replace(/_/g,"-");e.kendoTooltip({filter:a,content:function(n){var e=n.sender.options.filter.substr(1).replace(/-/g,"_");return t[e]}})}},generateKendoGridInit:function(t,n,a,i,o){function d(a){if(a.masterRow.find("a").hasClass("k-i-expand"))return void s(this,a.detailRow,a.masterRow);var e=this.dataSource.transport.options.cronappDatasource;e.inserting||e.editing?r(this,null,null):(this.selectable?(c.bind(this)(a.data),this.select(a.masterRow),void 0!==t.columns.find(e=>"Selectable"==e.dataType)&&r(this,a.detailRow,a.masterRow)):(c.bind(this)(a.data),r(this,a.detailRow,a.masterRow)),a.sender.options.listCurrentOptions.forEach(function(e){var t=l.generateKendoGridInit(e,n,void 0,void 0,o),i=$("<div/>"),d=i.appendTo(a.detailCell).kendoGrid(t).data("kendoGrid");app.kendoHelper.receivePushData(d),e.refComponent=d,window.addEventListener("resize",()=>{l.resizeGridUsingWidthForDevice(d)}),l.setTooltips(i,o)}))}var l=this,r=function(e,t,n){var a=e.table.find(".k-master-row");a.each(function(){(null==n||this!=n[0])&&e.collapseRow(this)});var i=e.table.find(".k-detail-row");i.each(function(){(null==t||this!=t[0])&&$(this).remove()})},s=function(e,t,n){var a=e.table.find(".k-master-row");a.each(function(){(null!=n||this==n[0])&&e.collapseRow(this)});var i=e.table.find(".k-detail-row");i.each(function(){(null!=t||this==t[0])&&$(this).remove()})},c=function(e){var t=this.dataSource.transport.options.cronappDatasource;t.inserting||t.editing||n.safeApply(t.goTo(e))},p=function(a){if(a.sender.tbody&&a.sender.tbody.length){var e=a.sender.tbody;$(a.sender.tbody).find(".k-grid-edit-row").length?e=$(a.sender.tbody).find("tr:not(.k-grid-edit-row)"):e.parent()&&e.parent().parent()&&e.parent().parent().parent()&&(e=e.parent().parent().parent()),n.safeApply(function(){var a=$(e),i=angular.element(a);$compile(i)(n),t.refComponent&&l.resizeGridUsingWidthForDevice(t.refComponent)})}},u=function(e){var t=!1;if(e.columns)for(var n=0;n<e.columns.length;n++)if("Database"==e.columns[n].dataType&&e.columns[n].filterable){t=!0;break}return t},m=function(e){var n,a=0;return t.columns.forEach(function(t){"Database"==t.dataType&&(a==e&&t.visible&&(n=t),t.visible&&a++)}),n},g=function(t){let e=t.workbook.sheets[0],a=/{{(.*?)}}/;for(let i,o=1;o<e.rows.length;o++){i=e.rows[o];for(let e,t=0;t<i.cells.length;t++){if(e=m(t),e&&i.cells[t].value instanceof Date){let n=new Date(i.cells[t].value.getTime());n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n.setSeconds(n.getSeconds()),i.cells[t].value=n,"time"==e.type?i.cells[t].format="[$-x-systime]hh:mm:ss":"datetime"==e.type&&(i.cells[t].format="dd/mm/yyyy hh:mm:ss;@")}if(("footer"===i.type||"group-footer"===i.type)&&i.cells[t].value){let e=i.cells[t].value,o=$(e)[0].innerHTML,d=a.exec(o);if(d&&1<d.length){o=o.replace(d[0],"");let e=n.$eval(d[1]);i.cells[t].value=`${o}${e}`}}}}},f=app.kendoHelper.getDataSource(t.dataSourceScreen.entityDataSource,n,t.allowPaging,t.pageCount,t.columns,t.groupings),h=this.getColumns(t,f,n,o,i),v=this.getPageAble(t),b=this.getToolbar(t,n,i),y=this.getEditable(t),k=u(t),C={hasSecurity:t.columns.filter(e=>e.security).length,toolbar:b,pdf:{allPages:!0,avoidLinks:!0,paperSize:"A4",margin:{top:"2cm",left:"1cm",right:"1cm",bottom:"1cm"},landscape:!0,repeatHeaders:!0,scale:.8},dataSource:f,editable:y,height:t.height,groupable:t.allowGrouping,sortable:t.allowSorting,filterable:!0,pageable:v,columns:h,selectable:t.allowSelectionRow,detailInit:t.details&&0<t.details.length?d:void 0,listCurrentOptions:t.details&&0<t.details.length?t.details:void 0,excelExport:g,edit:function(t){this.dataSource.transport.options.disableAndSelect(t);var e=t.container,a=this.dataSource.transport.options.cronappDatasource;if(t.model.isNew()){var o=t.model;a.startInserting(null,function(t){for(var n in t)if(o.fields[n]){if(o.fields[n].validation&&o.fields[n].validation.required){var a=e.find("input[name='"+n+"']");a.length&&a.val(t[n]).trigger("change")}o.set(n,t[n])}})}else t.model.isNew()||t.model.dirty||n.safeApply(function(){var e=a.goTo(t.model);a.startEditing(e,function(e){})});i&&i.ngEdit&&n.$eval(i.ngEdit),p(t)},change:function(o){var e=this.dataItem(this.select());(t.details&&0==t.details.length||!cronapi.internal.hasMethodInCallStack("detailInit"))&&c.bind(this)(e);var d=this.dataSource.transport.options.cronappDatasource;t.fieldType&&"key"===t.fieldType&&(d.active=l.changeObjectField(d,d.active));let s=this.select().next(),u=this.select();if(a)if("multiple"===t.allowSelectionRowType){let e=[];s=[],u=[],this.select().each((n,a)=>{let i=this.dataItem(a),o=d.findObjInDs(i,!1);t.fieldType&&"key"===t.fieldType&&(o=l.changeObjectField(d,o)),null!==o&&e.push(o),i._objectKey===d.active._objectKey&&(u.push(this.select()[n]),s.push(this.select().next()[n]))}),a.$setViewValue(e)}else e?a.$setViewValue(d.active):a.$setViewValue(null);r(this,s,u),i&&i.ngChange&&n.$eval(i.ngChange),p(o),$(".k-command-cell a[class*='k-grid-']").each((e,t)=>{let n=$(t);if(!n.attr("id")){let e=this.dataItem(n.closest("tr")),t="destroy";n.hasClass("k-grid-update")?t="update":n.hasClass("k-grid-cancel")?t="cancel":n.hasClass("k-grid-edit")&&(t="edit");let a=l.getModelName(i);if(e&&e._objectKey){let i=e._objectKey,o=`${a}-${t}-${i}`;n.attr("id",o)}}})},cancel:function(t){var e=this.dataSource.transport.options.cronappDatasource;n.safeApply(e.cancel()),this.dataSource.transport.options.enableAndSelect(t),setTimeout(function(){i&&i.ngCancel&&n.$eval(i.ngCancel),p(t)}.bind(this))},dataBound:function(a){setTimeout(()=>this.dataSource.transport.options.selectActiveInGrid(),100),i&&i.ngDataBound&&n.$eval(i.ngDataBound);for(let e,n=0;n<this.columns.length;n++)e=l.getColumnByField(t,this.columns[n].field),e.visible&&this.showColumn(n);0==$("div.k-grouping-header").length?t.groupings&&t.groupings.forEach(e=>this.hideColumn(e.field)):$("div.k-group-indicator").each((e,t)=>{this.hideColumn($(t).data("field"))});let e=this;setTimeout(function(){e.pager&&e.pager.element.find("a").not(".k-state-disabled").attr("tabindex","0")}),p(a)}};return C.selectable&&"multiple"==t.allowSelectionRowType&&(C.selectable="multiple"),C.originalSelectable=C.selectable,i&&i.ngBeforeEdit&&(C.beforeEdit=function(t){n.$eval(i.ngBeforeEdit)}),i&&i.ngDataBinding&&(C.dataBinding=function(t){n.$eval(i.ngDataBinding)}),i&&i.ngSave&&(C.save=function(t){n.$eval(i.ngSave)}),i&&i.ngSaveChanges&&(C.saveChanges=function(t){n.$eval(i.ngSaveChanges)}),i&&i.ngRemove&&(C.remove=function(t){n.$eval(i.ngRemove)}),C},link:function(e,t,n,a){if(t.children().length)return;var i=$("<div></div>"),o="node_modules/cronapp-lib-js/dist/js/kendo-ui/js/messages/kendo.messages.";o+="pt_br"==$translate.use()?"pt-BR.min.js":"en-US.min.js",this.initCulture();var d=this;$.getScript(o,function(){var t=JSON.parse(n.options||"{}");app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).batchPost=!1;var o=t.batchMode==null||t.batchMode;o&&"datasource"!=t.editable&&app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e)&&!app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).dependentLazyPost&&(app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).batchPost=!0,t.toolBarButtons=t.toolBarButtons||[],t.toolBarButtons.push({type:"SaveOrCancelChanges",title:$translate.instant("SaveChanges"),methodCall:t.dataSourceScreen.entityDataSource.name+".postBatchData()",saveButton:!0}),t.toolBarButtons.push({type:"SaveOrCancelChanges",title:$translate.instant("CancelChanges"),methodCall:t.dataSourceScreen.entityDataSource.name+".cancelBatchData()",saveButton:!1}));var l=d.getTooltipsDefault(),r=d.generateKendoGridInit(t,e,a,n,l);r.scrollable="true"===n.scrollable;var s=i.kendoGrid(r).data("kendoGrid");app.kendoHelper.receivePushData(s),t.refComponent=s,window.addEventListener("resize",()=>{d.resizeGridUsingWidthForDevice(s)}),d.setTooltips(i,l),e.safeApply(function(){app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e)&&(i.find(".k-filter-row").show(),i.find(".k-pager-sizes").show(),i.find(".k-pager-nav").show(),i.find(".k-pager-numbers").show(),i.find(".k-pager-refresh.k-link").show(),i.find(".saveorcancelchanges").hide(),app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).addDataSourceEvents({pendingchanges:function(e){e?(i.find(".k-filter-row").hide(),i.find(".k-pager-sizes").hide(),i.find(".k-pager-nav").hide(),i.find(".k-pager-numbers").hide(),i.find(".k-pager-refresh.k-link").hide(),i.find(".saveorcancelchanges").show()):(i.find(".k-filter-row").show(),i.find(".k-pager-sizes").show(),i.find(".k-pager-nav").show(),i.find(".k-pager-numbers").show(),i.find(".k-pager-refresh.k-link").show(),i.find(".saveorcancelchanges").hide())}}),app.kendoHelper.getCorrectlyDS(t.dataSourceScreen.entityDataSource.name,e).addDataSourceEvents({afterchanges:function(e){}}))}),s.selectable.userEvents.unbind("select")});let l=app.common.generateId(),r=app.common.generateId(),s=app.common.generateId(),c=$(`<ul id="${l}">
38
38
  <li id="copyText">
39
39
  <input id="${r}">
40
40
  <span id="${s}" class="k-icon k-i-close" style="margin-left: 5px;"></span>
@@ -52,4 +52,4 @@ maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask
52
52
  ${s} ${c} ${l}
53
53
  </a>
54
54
  ${n(e.menuItems)}
55
- </li>`}),i},link:function(n,a,i){var o=this.populateMenu;i.$observe("options",function(d){t.onReady(()=>{let t=a.closest(".crn-navigator-vertical").length;var l={};try{l=JSON.parse(d)}catch(t){console.log("CronDynamicMenu: Invalid configuration!")}let r=l&&l.subMenuOptions&&l.subMenuOptions.length?l.subMenuOptions[0].id:"first";var s=`<ul id="menu-tag-ul-base-${r}" class="nav navbar-nav ${t?"col-md-12 padding-0":""}" ></ul>`,c=$(s);c.attr("id",i.id);var p=o(l,t);c.append(p),t&&c.append($("#navbar2 li:first").addClass("col-md-12 padding-0"));var u=angular.element(c);a.html(""),a.append(c),a.attr("id",null),e(u)(n);var m=i.multilevelAction;"hover"===m&&($(".dropdown-menu .dropdown-submenu").on("mouseover",function(){var e=$(this).children("ul.dropdown-menu");e.addClass("displayBlock")}),$(".dropdown-menu .dropdown-submenu").on("mouseout",function(){var e=$(this).children("ul.dropdown-menu");e.removeClass("displayBlock")})),"click"===m&&$(".dropdown-menu a.dropdown-toggle").on("click",function(t){$(this).next().hasClass("show")||$(this).parents(".dropdown-menu").first().find(".show").removeClass("show");var e=$(this).next(".dropdown-menu");return e.toggleClass("show"),$(this).parents("li.nav-item.dropdown").on("hidden.bs.dropdown",function(t){$(".dropdown-submenu .show").removeClass("show")}),!1}),$("#checkCollapsibleMenu").on("click",function(){var e=document.getElementById("main-view");this.checked?e.classList.remove("main-view-retratil"):e.classList.add("main-view-retratil")});let g=a.closest("nav");if(g&&g.length){let e=!g.hasClass("submenu-click"),t=g.attr("id");if(e){let e=$(`#${t} .dropdown-submenu`).data("hooked");e||($(`#${t} .dropdown-submenu`).on("mouseenter",function(t){$(this).children(".dropdown-menu").addClass("show")}).on("mouseleave",function(t){$(this).children(".dropdown-menu").removeClass("show")}),$(`#${t} .dropdown-submenu`).data("hooked",!0))}else{let e=$(`#${t} .dropdown-menu a.dropdown-toggle`).data("hooked");e||($(`#${t} .dropdown-menu a.dropdown-toggle`).on("click",function(t){$(this).next().hasClass("show")||$(this).parents(".dropdown-menu").first().find(".show").removeClass("show");var e=$(this).next(".dropdown-menu");return e.toggleClass("show"),$(this).parents("li.nav-item.dropdown.show").on("hidden.bs.dropdown",function(t){$(".dropdown-submenu .show").removeClass("show")}),!e.length&&void $(".dropdown-menu").removeClass("show")}),$(`#${t} .dropdown-menu a.dropdown-toggle`).data("hooked",!0));let n=$(`#${t} .dropdown.nav-item`).data("hooked");n||($(`#${t} .dropdown.nav-item`).on("hidden.bs.dropdown",function(t){$(".dropdown-submenu .show").removeClass("show"),$(".dropdown-menu .show").removeClass("show")}),$(`#${t} .dropdown.nav-item`).data("hooked",!0))}}else{let e=$(a).find("ul:first").attr("id"),t=$(`#${e} .dropdown-submenu`).data("hooked");t||($(`#${e} .dropdown-submenu`).on("mouseenter",function(t){$(this).children(".dropdown-menu").addClass("show")}).on("mouseleave",function(t){$(this).children(".dropdown-menu").removeClass("show")}),$(`#${e} .dropdown-submenu`).data("hooked",!0))}})})}}}]).directive("cronBreadcrumbs",["$rootScope",function(e){"use strict";return{restrict:"E",replace:!0,link:function(e,t,n){var a=n.ngInit?n.ngInit:null;const i=n.crnDelimiterIcon,o=n.typeMenu,d=n.idMenu?n.idMenu:null,l=n.id,r=n.breadcrumbIcon?n.breadcrumbIcon:null,s=[],c=async()=>{const t=a.replace("cronapi.client('js.","blockly.js.");a=t.replace("').run()",""),a=e.$eval(a),s=await a();const n=async t=>{t.item.action&&t.item.action()};$(`#${l}`).kendoBreadcrumb({items:s,delimiterIcon:i,navigational:!0,click:n})},p=e=>e?e.replace("cronapi.screen.changeView('","").replace("', [])",""):"#/home";if(a&&"idBloco"===o)c();else{var u=new MutationObserver((e,t)=>{const n=$(`#${d}`).parent(),a=n.attr("options");if(a){t.disconnect();const e=JSON.parse(a),n=document.location.hash||"home",d=(e,t,n=[])=>{for(let o=0;o<e.length;o++){var a=e[o];if(a.action=p(a.action),a.action===t)return[...n,a];if(a.menuItems){const e=d(a.menuItems,t,[...n,a]);if(e)return e}}return null},r=d(e.subMenuOptions,n);if(r){for(var o in r){const e=r[o];s.push({type:0==o?"rootitem":"item",href:e.action,text:e.title,showText:!0,showIcon:!1})}$(`#${l}`).kendoBreadcrumb({items:s,delimiterIcon:i,navigational:!0})}}});u.observe(document.body,{childList:!0})}}}}]).directive("ngInitialValue",["$parse",function(e){return{restrict:"A",require:"ngModel",link:async function(t,n,a,i){if(a.ngInitialValue){var o,d=e(a.ngModel),l=d.assign;try{if(-1!=a.ngInitialValue.indexOf("cronapi.client('js.")){let e=a.ngInitialValue.replace("cronapi.client('js.","blockly.js."),n=e.split("').names")[0];n=n.split("').attr()")[0];let i=e.split(".run")[1];o=await t.$eval(n+i)}else o=t.$eval(a.ngInitialValue)||a.ngInitialValue}catch(t){o=a.ngInitialValue}"checkbox"==n[0].type&&o&&(o="true"==(""+o).toLowerCase()),l(t,o)}}}}]).directive("crnSetIndeterminate",["$parse",function($parse){return{restrict:"A",link:function(scope,element,attrs){let value=eval(attrs.crnSetIndeterminate);null===value&&$(element).prop("indeterminate",!0)}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,a){a.$formatters=[],a.$parsers=[];let i=e=>(e&&-1===e.indexOf("'")&&(e=`'${e}'`),e);n.ngFalseValue=i(n.ngFalseValue),n.ngTrueValue=i(n.ngTrueValue);let o=!!n.ngFalseValue&&n.ngFalseValue.split("'").join(""),d=!n.ngTrueValue||n.ngTrueValue.split("'").join(""),l=e=>"true"===e||void 0===e||null===e||0==e.length;a.$render=l(n.crnAllowNullValues)?function(){let e=a.$viewValue;t.data("checked",e),!0===e||e===d?(t.prop("indeterminate",!1),t.prop("checked",!0),e=d):!1===e||e===o?(t.prop("indeterminate",!1),t.prop("checked",!1),e=o):(e=null,t.prop("indeterminate",!0)),setTimeout(()=>a.$setViewValue(e))}:function(){let i=a.$viewValue;if((void 0===a.$viewValue||null===a.$viewValue)&&(a.$setViewValue(!1),i=!1),i===o){let a=n.ngFalseValue?`${t.attr("ng-model")}=${n.ngFalseValue}`:`${t.attr("ng-model")}=${o}`;e.$eval(a)}switch(t.data("checked",i),i){case!0:case d:t.prop("indeterminate",!1),t.prop("checked",!0),i=d;break;default:t.prop("indeterminate",!1),t.prop("checked",!1),i=o}setTimeout(()=>a.$setViewValue(i))},t.bind("click",function(){let i;switch(t.data("checked")){case!1:case o:i=!n.ngTrueValue||d;break;default:i=!!n.ngFalseValue&&o}a.$setViewValue(i),e.$apply(a.$render)})}}}]).directive("signaturePad",["$compile","$window",function(e,t){"use strict";var n,a,i=null;return{restrict:"E",require:"ngModel",scope:!0,replace:!0,transclude:!0,template:"<div style=\"height: 100%; width: 100%;\"> <canvas style=\"width:100%; height: 100%;\" ng-click=\"mouseup()\" ng-mouseup=\"mouseup()\"></canvas> <div class=\"component-holder ng-scope col-md-2\" style=\"bottom: 0; position: absolute; padding-left: 5px;\" data-component=\"crn-button\"> <button class=\"btn k-button btn-warning\" ng-click=\"clear()\" xattr-fullsize=\"\" xattr-theme=\"btn-warning\" xattr-disabled=\"\"> <i class=\"glyphicon glyphicon-erase\" icon-theme=\"\"></i> <span class=\"\" text-theme=\"\">{{'clear'|translate}}</span> </button> </div> </div>",scope:{dataurl:"=",ngClick:"@",ngModel:"="},controller:["$scope",function(t){let n=()=>{let e=t.signaturePad.toDataURL();return e&&(e=e.split(",")[1]),e};t.mouseup=function(a){t.signaturePad.isEmpty()||(t.ngModel=n())},t.$watch("ngModel",function(e,a){e!==a&&(n()!==e&&t.signaturePad.fromDataURL("data:image/png;base64,"+e,{ratio:1}),t.ngModel=e)},!0),t.clear=function(){t.signaturePad.clear(),t.ngModel=null}}],link:function(a,i,o,d,l){n=i.find("canvas")[0],a.onResize=function(){var e=Math.max(t.devicePixelRatio||1,1),n=i.find("canvas")[0],a=document.createElement("canvas");a.width=n.width,a.height=n.height;var o=a.getContext("2d");o.drawImage(n,0,0),n.width=n.offsetWidth*e,n.height=n.offsetHeight*e,n.getContext("2d").drawImage(a,0,0),n.getContext("2d").scale(e,e)},a.onResize(),a.signaturePad=new SignaturePad(n),angular.element(t).on("resize",function(){a.onResize()}),e(i)(i.scope());let r=!1;$(n).on("pointerdown",t=>{1===t.which&&(r=!0),t.preventDefault()}),$(n).on("pointerup",t=>{1===t.which&&r&&(r=!1,l(()=>angular.element(n).triggerHandler("mouseup")))})}}}]).directive("cronChat",["$compile","$translate",function(e,t){return{restrict:"E",replace:!0,link:function(e,t,n,a){var i=JSON.parse(n.options||"{}");if(i.token&&i.urlCronchat){var o=i.urlCronchat.endsWith("/")?i.urlCronchat:i.urlCronchat+"/",d=i.token,l=$(`<script src="${o}get-chat?token=${d}" type="text/javascript"></script>`);t.html(l)}}}}]).directive("updateLanguage",["$rootScope",function(e){return{link:function(t,n){var a=function(e,t){var a="en",i=t.language;"pt_br"===i?i="pt-br":i.startsWith("en")&&(i="en"),n.attr("lang",i||"en")};e.$on("$translateChangeSuccess",a)}}}]).directive("cronFrame",cronFrame).directive("crnComponent",cronFrame).directive("fromGrid",["$compile",e=>({restrict:"A",priority:-999999,exist:e=>{let t=e.attr("id");return $(`#${t}`).length},isFromGrid:e=>"true"===e.fromGrid,isCompiled:e=>e.data("alreadycompiled"),getDateAs:function(e,t,n){let a=e.data("mask"),i=e.data("useUTC");return formatWithMomentAs(a,i,t,n)},prepareValue:function(e,t){let n=e.data("column-type")||"";return n.startsWith("date")&&(t=this.getDateAs(e,t,"date")),t},formatComponent:function(e,t){let n=e.data("kendoDropDownList")||e.data("kendoSlider"),a=e.data("column-type")||"";a.startsWith("date")?e.val(this.getDateAs(e,t,"string")):n&&n.value(t)},compileGridListing:function(t,n){let a=t.data("ref-component");if(a&&a.tbody&&a.tbody.length&&!$(a.tbody).find(".k-grid-edit-row").length){var i=a.tbody;setTimeout(()=>{n.safeApply(()=>{var t=$(i),a=angular.element(t);e(a)(n)})})}},link:function(e,t,n){e.$watch(n.ngModel,a=>{this.isFromGrid(n)&&this.exist(t)&&this.isCompiled(t)&&(a=this.prepareValue(t,a),this.formatComponent(t,a),this.compileGridListing(t,e),call=t.data("change-grid-model"),call&&call(a))})}})]).directive("cronOrderedList",["$compile","$sce","$parse",function(e,t,n){"use strict";return{restrict:"EA",replace:!0,link:function(t,n,a,i){let o=a.attributeValue,d=a.orderedAttributeValue,l=a.listType,r=n[0].children[0].children;r=$(r);let s="",c="";$.each(r,function(e,t){c+=t.outerHTML});"numbered-list"===l?s=`<ol style="list-style-type: ${o}">${c}</ol>`:"ordered-list"===l?s=`<ul style="list-style-type: ${d}">${c}</ul>`:void 0;s=$(s),$(n).replaceWith(s),e(s)(t)}}}]).directive("crnInfiniteScroll",["$compile",function($compile){"use strict";return{restrict:"EA",link:function(scope,element,attrs){var dataSource=attrs.crnInfiniteScroll?eval(attrs.crnInfiniteScroll):attrs.crnDatasource?eval(attrs.crnDatasource):void 0;if(dataSource){let e={isVisible:!1,checkVisibility:function(t){if(e.isVisible!==t&&(e.isVisible=t,e.isVisible))if(dataSource.loaded&&dataSource.loadedFinish)dataSource.nextPage();else{let e=setInterval(function(){dataSource.loaded&&dataSource.loadedFinish&&(dataSource.nextPage(),clearInterval(e))},250)}},eventScroll:function(){var t=element.offset().top,n=element.offset().top+element.outerHeight(),a=$(window).scrollTop()+$(window).innerHeight(),i=$(window).scrollTop();e.checkVisibility(a>t&&i<n)}};$(window).scroll(e.eventScroll),$(window).ready(e.eventScroll)}}}}])}(app);function maskDirectiveAsDate(e,t,n){return maskDirective(e,t,n,"as-date")}function maskDirectiveMask(e,t,n){return maskDirective(e,t,n,"mask")}function maskDirective(e,t,n,a){return{restrict:"A",require:"?ngModel",link:function(i,o,d,l){if("as-date"!=a||void 0===d.mask){var r=n(d.ngModel),s=r.assign,c=$(o);if(!c.data("alreadycompiled")){c.data("alreadycompiled",!0),c.data("$compile",e);var p=c.attr("type");if("checkbox"!=p&&"password"!=p&&"url"!=p){if("color"==p||"range"==p)return c[0].classList.remove("form-control"),void c[0].classList.remove("k-textbox");c.data("type",p),c.attr("type","text"),l&&(l.$formatters=[],l.$parsers=[]),void 0!==d.asDate&&"text"==p&&(p="date");var u=!0,m=!1,g=d.mask||d.format;g=g?parseMaskType(g,t):parseMaskType(p,t),g.endsWith(";0")&&(m=!0);var f=g.replace(";1","").replace(";0","").trim();if(null!=f&&0!=f.length)if("date"==p||"datetime"==p||"datetime-local"==p||"month"==p||"time"==p||"time-local"==p||"week"==p){var h={format:f,locale:t.use(),showTodayButton:!0,useStrict:!0,tooltips:{today:t.instant("DatePicker.today"),clear:t.instant("DatePicker.clear"),close:t.instant("DatePicker.close"),selectMonth:t.instant("DatePicker.selectMonth"),prevMonth:t.instant("DatePicker.prevMonth"),nextMonth:t.instant("DatePicker.nextMonth"),selectYear:t.instant("DatePicker.selectYear"),prevYear:t.instant("DatePicker.prevYear"),nextYear:t.instant("DatePicker.nextYear"),selectDecade:t.instant("DatePicker.selectDecade"),prevDecade:t.instant("DatePicker.prevDecade"),nextDecade:t.instant("DatePicker.nextDecade"),prevCentury:t.instant("DatePicker.prevCentury"),nextCentury:t.instant("DatePicker.nextCentury")}};"DD/MM/YYYY"!=f&&"MM/DD/YYYY"!=f&&(h.sideBySide=!0);var v="date"==p||"datetime"==p||"time"==p;if(window.fixedTimeZone||(v=!1),c.data("mask",f),c.data("useUTC",v),c.attr("from-grid")){var b=function(){var e=$(this).offset(),t=!0,n=$(this).parent().find(".bootstrap-datetimepicker-widget.dropdown-menu.usetwentyfour.bottom");if(n.length||(t=!1,n=$(this).parent().find(".bootstrap-datetimepicker-widget.dropdown-menu.usetwentyfour.top")),$(n).offset()){var a=$(n).offset().left,i=$("body");n.appendTo(i);var o=0;o=t?e.top+35:e.top-($(n).height()+15),n.css("top",o),n.css("bottom","auto"),n.css("left",a),n.css("z-index",999999)}};if(c.on("click",b),c.on("focus",function(){setTimeout(b.bind(this),100)}),c.on("dp.change",function(){i.safeApply(function(){var e=null;e=v?moment(c.val(),f).utcOffset(window.timeZoneOffset,!0):moment(c.val(),f),("time"==p||"time-local"==p)&&(e=e.year(1970).dayOfYear(1).month(0)),e.isValid()&&l&&s(i,e.toDate())})}),c.data("initial-value")){var y=c.data("initial-value"),k=null;k=v?moment(y).utcOffset(window.timeZoneOffset):moment(y),c.val(k.format(f)),c.data("initial-value",null)}}else c.wrap("<div style=\"position:relative\"></div>");c.datetimepicker(h),"true"!==d.fromGrid&&c.on("dp.change",function(){$(this).is(":visible")&&($(this).trigger("change"),i.safeApply(function(){var e=c.val(),t=null;t=v?moment(e,f).utcOffset(window.timeZoneOffset,!0):moment(e,f),("time"==p||"time-local"==p)&&(t=t.year(1970).dayOfYear(1).month(0)),t.isValid()&&l&&s(i,t.toDate())}))}),l&&(l.$formatters.push(function(e){if(e)return formatWithMomentAs(f,v,e,"string");if(null===e){var t=c.datetimepicker(h).data("DateTimePicker");t.date(null)}return null}),l.$parsers.push(function(e){if(e){if(e instanceof Date)return e;var t=null;return t=v?moment(e,f).utcOffset(window.timeZoneOffset,!0):moment(e,f),("time"==p||"time-local"==p)&&(t=t.year(1970).dayOfYear(1).month(0)),t.toDate()}return null}))}else if("number"==p||"money"==p||"integer"==p||"money-decimal"==p){m=!0;var C=f.trim().replace(/\./g,"").replace(/\,/g,"").replace(/#/g,"").replace(/0/g,"").replace(/9/g,""),w="",S="",D="",T=",",M=0;f.startsWith(C)?w=C:f.endsWith(C)&&(S=C);var x=f.trim().replace(w,"").replace(S,"").trim();x.startsWith("#.")?D=".":x.startsWith("#,")&&(D=",");var I=null;if(-1==x.indexOf(",0")?-1!=x.indexOf(".0")&&(T=".",I=".0"):(T=",",I=",0"),null!=I){var E=x.substring(x.indexOf(I)+1);M=E.length}var A="numeric";0==M&&(A="integer"),"money-decimal"==p&&(A="currency");var F={rightAlign:"money"==p||"money-decimal"==p,unmaskAsNumber:!0,allowMinus:!0,prefix:w,suffix:S,radixPoint:T,digits:M,numericInput:"money-decimal"==p};D&&(F.autoGroup=!0,F.groupSeparator=D),$(o).inputmask(A,F),useInputMaskPlugin(o,l,i,s,f)}else if("text"==p||"tel"==p||"string"==p){let e=["D","M","Y","H","m","s"],t=t=>(e.forEach(e=>t=t.replaceAll(e,"9")),t);f=t(f),d.maskPlaceholder?(h={},h.placeholder=d.maskPlaceholder,$(o).inputmask(f,h),m&&useInputMaskPlugin(o,l,i,s,f)):(c.mask(f),useMaskPlugin(o,l,i,s,m))}}}}}}}function useInputMaskPlugin(e,t,n,a,i){var o=$(e),d=function(){$(this).data("rawvalue",$(this).inputmask("unmaskedvalue"))};$(e).on("keydown",d).on("keyup",d),t&&(t.$formatters.push(function(e){return null!=e&&null!=e&&""!==e?format(i,e):null}),t.$parsers.push(function(e){if(e!=null&&null!=e&&""!==e){var t=o.inputmask("unmaskedvalue");if(""!==t)return t}return null}))}function useMaskPlugin(e,t,n,a,i){var o=$(e),d=function(){i&&$(this).data("rawvalue",$(this).cleanVal())};$(e).on("keydown",d).on("keyup",d),i&&t&&(t.$formatters.push(function(e){return e?o.masked(e):null}),t.$parsers.push(function(e){return e?o.cleanVal():null}))}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="#.#00,00")):"money"==e||"money-decimal"==e?(e=t.instant("Format.Money"),"Format.Money"==e&&(e="#.#00,00")):"integer"==e?(e=t.instant("Format.Integer"),"Format.Integer"==e&&(e="#,##0.####")):"week"==e?e="dddd":"tel"==e?e="(00) 00000-0000;0":"text"==e?e="":"string"==e&&(e=""),e}function transformText(){return{restrict:"E",require:"?ngModel",link:function(e,t,n,a){var i=function(e,t){if(e){if(t!==void 0&&null!==t){if("uppercase"===e.css("text-transform"))return t.toUpperCase();if("lowercase"===e.css("text-transform"))return t.toLowerCase()}return t}};a&&(a.$formatters.push(function(e){return i(t,e)}),a.$parsers.push(function(e){return i(t,e)}))}}}app.kendoHelper={getCorrectlyDS:(e,t)=>{if(t[e]&&t[e].apiVersion)return t[e];else{let n=t.$parent[e];return t[e]=n,n}},getCorrectlyDSPromise:async(e,t)=>new Promise((n,a)=>{let i=()=>{let o=null;if(t[e]&&t[e].apiVersion)o=t[e];else{let n=t.$parent[e];t[e]=n,o=n}o?n(o):$(`datasource[name="${e}"]`).length?setTimeout(()=>i(),100):a(null)};i()}),receivePushData:e=>!e||!e.dataSource||(e.dataSource.transport.options.refComponent=e),getSchema:function(e){var t=[{kendoType:"string",entityType:["string","character","uuid","guid"]},{kendoType:"number",entityType:["integer","long","double","int","float","bigdecimal","single","int32","int64","decimal","byte"]},{kendoType:"date",entityType:["date","time","datetime"]},{kendoType:"boolean",entityType:["boolean"]}],n=function(e){for(var n=0;n<t.length;n++)if(t[n].entityType.includes(e.toLocaleLowerCase()))return t[n].kendoType;return"string"},a={model:{id:"__$id",fields:{}}};return e&&e.schemaFields&&(e.schemaFields.forEach(function(e){a.model.fields[e.name]={type:n(e.type),editable:!0,nullable:e.nullable,validation:{required:!e.nullable}}}),a.model.fields.__$id={type:"string",editable:!0,nullable:!0,validation:{required:!1}}),a},getDataSource:function(t,n,a,i,o,d){var l=Number.MAX_SAFE_INTEGER_32;function r(t){if(t.response&&t.response.d){var e=null;e=t.response.d.results?t.response.d.results:[t.response.d],this.group().length?o.forEach(function(t){if("Database"==t.dataType){var n="datetime-local"==t.type||"month"==t.type||"time-local"==t.type||"week"==t.type;if(n)for(var a,o=0;o<e.length;o++)a=e[o],t.field==a.Member&&(a.Key=a.Key.replace(/\d+/,function(e){return parseInt(e)+g})),s.bind(this)(a.Items)}}):s.bind(this)(e)}}function s(e){for(var t=0;t<e.length;t++)o&&o.forEach(function(n){if("Database"==n.dataType){var a="datetime-local"==n.type||"month"==n.type||"time-local"==n.type||"week"==n.type;a&&e[t][n.field]&&(e[t][n.field]=e[t][n.field].replace(/\d+/,function(e){return parseInt(e)+g}))}})}function c(e){var t=[];return e&&e.forEach(function(e){e.aggregates&&e.aggregates.forEach(function(n){t.push({field:e.field,aggregate:n.type})})}),t}var p=this.getSchema(t);o&&o.forEach(function(e){for(var t in p.model.fields)if("Database"==e.dataType&&e.field==t){if(p.model.fields[t].nullable=!e.required,p.model.fields[t].validation.required=e.required,"999.999.999-99;0"===e.format||"99.999.999/9999-99;0"===e.format){let n="999.999.999-99;0"===e.format?"cpf":"cnpj",a={cpf:CPF,cnpj:CNPJ},i=t.toLocaleLowerCase()+"validation";p.model.fields[t].validation[i]=function(e){return!(e.is("[name='"+t+"']")&&""!=e.val())||a[n].isValid(e.val())}}break}});var u=function(e){for(var t in e)if(p.model.fields.hasOwnProperty(t)){var n=p.model.fields[t];"string"==n.type&&null!=e[t]?e[t]+="":"number"==n.type&&null!=e[t]?e[t]=parseFloat(e[t]):"date"==n.type&&null!=e[t]?e[t]="/Date("+e[t].getTime()+")/":"boolean"==n.type&&(null==e[t]?e[t]=!1:e[t]="true"==e[t].toString().toLowerCase()),p.model.id==t&&null!=e[t]&&0==e[t].toString().length&&delete e[t]}return e},m=10;app.kendoHelper.getCorrectlyDS(t.name,n)&&(m=app.kendoHelper.getCorrectlyDS(t.name,n).rowsPerPage);var g=6e4*new Date().getTimezoneOffset(),f=app.common.generateId(),h={transport:{setActiveAndPost:function(t){var e=this.options.cronappDatasource;n.safeApply(e.updateActive(u(t.data))),e.active.__sender=f,e.postSilent(function(e){this.options.enableAndSelect(t),t.success(e),this.options.refComponent.dataSource._pristineTotal=this.options.refComponent.dataSource._pristineData.push(e)}.bind(this),function(e){this.options.enableAndSelect(t),t.error(e,e,e)}.bind(this))},pushAction:function(e,t){return n=>{let a=["read","memorydelete","overRideRefresh"];if(this.options.isComponentInDocument(this.options.refComponent)){let a=this.options.getCurrentCallbackForPush(t,this.options.refComponent),i=a[e];i?i(n):(this.options.fromRead="read"===e,this.options.cronappDatasource.reloadedFromCronapi&&(this.options.fromRead=!1,delete this.options.cronappDatasource.reloadedFromCronapi),"overRideRefresh"===e&&(this.options.refComponent.dataSource._page=1,this.options.refComponent.dataSource._skip=0),this.options.refComponent.dataSource.read())}else a.includes(e)||this.options.cronappDatasource.removeDataSourceEvents(this.options.dataSourceEventsPush)}},push:function(e){!this.options.dataSourceEventsPush&&this.options.cronappDatasource&&(this.options.dataSourceEventsPush={create:this.pushAction.bind(this)("pushUpdate",e),update:this.pushAction.bind(this)("pushUpdate",e),delete:this.pushAction.bind(this)("pushDestroy",e),overRideRefresh:this.pushAction.bind(this)("overRideRefresh",e),read:this.pushAction.bind(this)("read",e),memorycreate:this.pushAction.bind(this)("pushUpdate",e),memoryupdate:this.pushAction.bind(this)("pushUpdate",e),memorydelete:this.pushAction.bind(this)("pushDestroy",e)},"combobox"==this.origin&&delete this.options.dataSourceEventsPush.overRideRefresh,this.options.cronappDatasource.addDataSourceEvents(this.options.dataSourceEventsPush))},read:function(n){var e=!1;try{var a=this.options.cronappDatasource;this.options.kendoCallback?this.options.fromRead?this.options.kendoCallback.success(a.data):e=!0:(this.options.kendoCallback=n,e=!0)}finally{this.options.fromRead=!1}if(e){for(key in n.data)null==n.data[key]&&delete n.data[key];var i=kendo.data.transports.odata.parameterMap(n.data,"read"),o="";this.options.refComponent&&this.options.refComponent.dataSource.group().forEach(function(e){o+=e.field+" "+e.dir+","}),0<o.length&&(o=o.substr(0,o.length-1),i.$orderby=i.$orderby?o+","+i.$orderby:o);var a=this.options.cronappDatasource;if(a.rowsPerPage=n.data.pageSize,a.offset=n.data.page-1,!n.data.pageSize&&(a.rowsPerPage=l,a.offset=void 0,i.$skip=0,this.options.refComponent&&1!=this.options.refComponent.dataSource.page()))return this.options.refComponent.dataSource.page(1),void n.error("canceled","canceled","canceled");var d={params:i},r=!1;t.append&&(r=t.append);var s={};"button"===a.loadDataStrategy&&0<a.data.length&&(s.origin=a.loadDataStrategy),a.append=r,a.fetch(d,{success:function(e){n.success(e)},canceled:function(e){n.error("canceled","canceled","canceled")},error:function(e){n.error("canceled","canceled","canceled")}},r,s)}},update:function(t){this.setActiveAndPost(t)},create:function(t){this.setActiveAndPost(t)},destroy:function(t){cronappDatasource=this.options.cronappDatasource,cronappDatasource.removeSilent(t.data,function(e){t.success(e)},function(e){t.error("canceled","canceled","canceled")})},batch:function(t){},options:{fromRead:!1,disableAndSelect:function(t){this.isComponentInDocument(this.refComponent)&&(this.refComponent.select(t.container),this.refComponent.options.selectable=!1,this.refComponent.selectable&&this.refComponent.selectable.element&&(this.refComponent.selectable.destroy(),this.refComponent.selectable=null))},enableAndSelect:function(t){this.isComponentInDocument(this.refComponent)&&(this.refComponent.options.selectable=this.refComponent.options.originalSelectable,this.refComponent._selectable(),this.refComponent.select(t.container))},selectActiveInGrid:function(e){if(this.isComponentInDocument(this.refComponent)&&this.refComponent.selectable&&0<this.refComponent.dataItems().length&&this.cronappDatasource.active&&this.cronappDatasource.active.__$id){for(var t=this.refComponent.dataItems(),n=-1,a=0;a<t.length;a++)if(this.cronappDatasource.active.__$id==t[a].__$id){n=a;break}-1<n&&!this.refComponent.selectable.options.multiple&&this.refComponent.select(this.refComponent.table.find("tr")[n+1])}},isComponentInDocument:function(e){return!!e&&$(document).has(e.element[0]).length},getCurrentCallbackForPush:function(e,t){return e?e:t},cronappDatasource:app.kendoHelper.getCorrectlyDS(t.name,n)}},pageSize:m,serverPaging:!0,serverFiltering:!0,serverSorting:!0,batch:!1,schema:p,requestEnd:r};return h.aggregate=c(o),h.schema.total=function(){return h.transport.options.cronappDatasource.getRowsCount()},d&&(h.group=[],d.forEach(function(e){var t={field:e.field,aggregates:h.aggregate};h.group.push(t)})),h},getEventReadCombo:function(t){var e=this.options.cronappDatasource;if(!e)return void t.error("canceled","canceled","canceled");this.options.kendoCallback||(this.options.kendoCallback=t);var n;if(this.options.combobox&&this.options.combobox.options.readData)return t.success(this.options.combobox.options.readData),this.options.combobox.options.readData=null,void(this.options.alreadyLoaded=!0);this.options.combobox?n=!this.options.alreadyLoaded:e.__ignoreFirstFetch?(n=!0,delete e.__ignoreFirstFetch):n=!1,this.options.alreadyLoaded=!0;var a=!0;if(n&&(a=!1,e.lazy?t.success([{}]):t.success([])),(this.options.fromRead||this.options.combobox&&void 0===this.options.combobox.options.firstLazyRead)&&(this.options.fromRead=!1,this.options.kendoCallback.success(e.data),a=!1),a){for(key in t.data)null==t.data[key]&&delete t.data[key];var i=kendo.data.transports.odata.parameterMap(t.data,"read");e.rowsPerPage=t.data.pageSize,e.offset=t.data.page-1;var o=this,d=!0,l={};l.params=i,o.options.combobox&&(o.options.combobox.options.fromCombo=!0),e.fetch(l,{success:function(e){if(t.success&&(o.options.combobox&&(o.options.combobox.options.expanded=!0),t.success(e),o.options.kendoCallback=t,o.options&&o.options.combobox&&o.options.combobox.element[0].id)){var n=" .k-animation-container",a=angular.element($(" .k-animation-container"));o.options.$compile(a)(o.options.scope)}},canceled:function(e){o.options.combobox&&(o.options.combobox.options.fromCombo=!1),t.success&&t.error("canceled","canceled","canceled")},error:function(e){o.options.combobox&&(o.options.combobox.options.fromCombo=!1),t.success&&t.error("error","error","error")}},!1,{ignoreAtive:!0})}},parseOptionsCronToConfigKendo:function(e,t,n){let a=!1;e.dynamic&&"false"!=e.dynamic?e.dataSourceScreen&&e.dataSourceScreen.entityDataSource&&(e.dataSourceScreen.entityDataSource.append=!0,t=app.kendoHelper.getDataSource(e.dataSourceScreen.entityDataSource,n,!0,e.dataSourceScreen.rowsPerPage),t.transport.read=app.kendoHelper.getEventReadCombo,a=!0):(a=!0,e.dataValueField=e.dataValueField||"value",e.dataTextField=e.dataTextField||"key"),e.dataValueField&&""!=e.dataValueField.trim()||(e.dataValueField=null==e.dataTextField?void 0:e.dataTextField);var i=function(t){var n=e.dataSourceScreen.entityDataSource.schemaFields;for(count=0;count<n.length;count++)if(t==n[count].name){return n[count].type.toLowerCase();break}return null},o=function(e){var t=["date","time","datetime"];return-1<t.indexOf(e)?e:null};!e.customTemplate&&e.dataSourceScreen&&e.dataSourceScreen.entityDataSource&&e.dataSourceScreen.entityDataSource.schemaFields&&(e.format||o(i(e.dataTextField)))&&(e.template="#= useMask("+e.dataTextField+",'"+e.format+"','"+i(e.dataTextField)+"') #",e.valueTemplate="#= useMask("+e.dataTextField+",'"+e.format+"','"+i(e.dataTextField)+"') #");var d={dataTextField:null==e.dataTextField?void 0:e.dataTextField,dataValueField:null==e.dataValueField?void 0:e.dataValueField,dataSource:t,headerTemplate:null==e.headerTemplate?void 0:e.headerTemplate,template:null==e.template?void 0:e.template,tagTemplate:null==e.tagTemplate?void 0:e.tagTemplate,placeholder:null==e.placeholder?void 0:e.placeholder,footerTemplate:null==e.footerTemplate?void 0:e.footerTemplate,filter:null==e.filter?void 0:e.filter,valuePrimitive:a,valueTemplate:null==e.valueTemplate?void 0:e.valueTemplate,suggest:!0};return e.optionLabel&&(e.optionLabelText=e.optionLabel,e.optionLabelValue=""),d.optionLabel={},d.optionLabel[d.dataTextField]=void 0===e.optionLabelText?"":e.optionLabelText,d.optionLabel[d.dataValueField]=void 0===e.optionLabelValue?null:e.optionLabelValue,d},getConfigComboboxSync:function(e,t){var n={};if(e){if(!e.dynamic||"false"==e.dynamic){n.data=null==e.staticDataSource?void 0:e.staticDataSource;for(let a=0;a<n.data.length;a++)try{n.data[a].key&&n.data[a].key.startsWith("cronapi.server(")&&(n.data[a].key=n.data[a].key.replace(".run(",".notAsync().run("));let e=t.$eval(n.data[a].key);n.data[a].key=void 0!==e&&null!==e?e:n.data[a].key}catch(t){n.data[a].key=n.data[a].key}}return config=this.parseOptionsCronToConfigKendo(e,n,t),config}return{}},getConfigCombobox:async function(e,t){var n={};if(e){if(!e.dynamic||"false"==e.dynamic){n.data=null==e.staticDataSource?void 0:e.staticDataSource;for(let a=0;a<n.data.length;a++)try{n.data[a].key&&n.data[a].key.startsWith("cronapi.server(")&&(n.data[a].key=n.data[a].key.replace(".run(",".toPromise().run("));let e=await t.$eval(n.data[a].key);n.data[a].key=void 0!==e&&null!==e?e:n.data[a].key}catch(t){n.data[a].key=n.data[a].key}}return config=this.parseOptionsCronToConfigKendo(e,n,t),config}return{}},getConfigDate:function(e,t){var n={};if(n){var a=function(e){e=e.replace(/_/gm,"-");var t=e.split("-");return t[t.length-1]=t[t.length-1].toUpperCase(),t.join("-")},i=function(e){return e&&(e=e.replace(/:MM/gm,":mm"),e=e.replace(/:M/gm,":m"),e=e.replace(/S/gm,"s"),e=e.replace(/D/gm,"d"),e=e.replace(/Y/gm,"y")),e},o=function(t,n){return null==n&&(n=parseMaskType(t,e)),n},d={};if(t.animation)try{d=JSON.parse(t.animation)}catch(e){console.log("DateAnimation invalid configuration! "+e)}var l=o(t.type,t.format),r=i(l),s=i(t.timeFormat),c=a(e.use());n={value:null,format:r,timeFormat:s,momentFormat:l,culture:c,type:null==t.type?void 0:t.type,weekNumber:null==t.weekNumber?void 0:t.weekNumber,dateInput:null==t.dateInput?void 0:t.dateInput,animation:d,footer:null==t.footer?void 0:t.footer,start:null==t.start?void 0:t.start,depth:null==t.start?void 0:t.start}}return n},buildKendoMomentPicker:function(e,t,n,a){var i="date"==t.type||"datetime"==t.type||"time"==t.type;window.fixedTimeZone||(i=!1),e.data("mask",t.momentFormat),e.data("useUTC",i);var o=function(){var n=e.val();if(!n||""==n.trim())a&&a.$setViewValue("");else{var o=formatWithMomentAs(t.momentFormat,i,n,"date");a&&(a.$setViewValue(o),e.data("changed",!0))}};return(t.change=n?function(){n.$apply(function(){o()})}:o,"date"==t.type)?e.kendoDatePicker(t).data("kendoDatePicker"):"datetime"==t.type||"datetime-local"==t.type?e.kendoDateTimePicker(t).data("kendoDateTimePicker"):"time"==t.type||"time-local"==t.type?e.kendoTimePicker(t).data("kendoTimePicker"):void 0},getConfigSlider:function(e){e=e||{};var t={increaseButtonTitle:e.increaseButtonTitle,decreaseButtonTitle:e.decreaseButtonTitle,dragHandleTitle:e.dragHandleTitle};try{t.min=e.min?parseInt(e.min):1,t.max=e.max?parseInt(e.max):1,t.smallStep=e.smallStep?parseInt(e.smallStep):1,t.largeStep=e.largeStep?parseInt(e.largeStep):1}catch(e){console.log("Slider invalid configuration! "+e)}return t},getConfigSwitch:function(e){e=e||{};var t={onLabel:null==e.onLabel?void 0:e.onLabel,offLabel:null==e.offLabel?void 0:e.offLabel};return t},getConfigBarcode:function(e){var t={type:null==e.type?void 0:e.type,width:null==e.width?void 0:parseInt(e.width),height:null==e.height?void 0:parseInt(e.height)};return t.type||(t.type="EAN8"),t},getConfigQrcode:function(e){var t={errorCorrection:null==e.errorCorrection?void 0:e.errorCorrection,size:null==e.size?void 0:parseInt(e.size),color:null==e.color?void 0:e.color};return(e.borderColor||e.borderSize)&&(t.border={size:null==e.size?void 0:parseInt(e.size),color:null==e.color?void 0:e.color}),t}},window.showTreatedValue=function(e){return e||!1===e?e:""},window.useMask=function(e,t,n){var a="";t="null"==t||"undefined"==t?void 0:t;var i=e,o=t||n;if(null!=e&&e!=null){if(e instanceof Date){var d=moment(e).utcOffset(window.timeZoneOffset);i="\""+d.format()+"\""}else i="number"==typeof e?e:"\""+e+"\"";a="{{ "+i+" | mask:\""+o+"\":\""+n+"\"}}"}return a},window.formatWithMomentAs=function(e,t,n,a){if(!n)return;let i=null;return i=n instanceof Date||n.startsWith("/Date")?t?moment(n).utcOffset(window.timeZoneOffset):moment(n):t?moment(n,e).utcOffset(window.timeZoneOffset,!0):moment(n,e),"string"===a?i.format(e):i.toDate()};function cronFrame($compile,$sce,$parse){"use strict";return{restrict:"AE",link:function(scope,element,attrs,ngModelCtrl){scope.fragment=scope.fragment||{};var framentMap=scope.fragment[element.parent.id]||{};scope.$watch(function(){return attrs.origin},function(newVal){let template="",style=attrs.style||"",clazz=attrs.class||"";if(attrs.origin)if(attrs.type||(attrs.type="include"),"include"==attrs.type){let str=`<div style="${style}" class="${clazz}" ng-include="'${attrs.origin}'" ng-if="true"></div>`;if(template=$(str),attrs.params)try{let params=eval(attrs.params);for(let e in params){let t=params[e];"expression"==t.type?scope.$watch(t.value,function(e){framentMap[t.key]=e;var n=$(str);n.attr("onload",`params = ${JSON.stringify(framentMap)}`);var a=$compile(n)(scope);element.html(a)}):framentMap[t.key]=t.value}template.attr("onload",`params = ${JSON.stringify(framentMap)}`)}catch(e){console.error(e)}}else if("frame"==attrs.type){var url=$sce.trustAsResourceUrl(attrs.origin);template=$(`<iframe style="${style}" class="${clazz}" ng-src="${url}" width="100%" height="100%" loading="lazy"></iframe>`)}element.html(template),$compile(template)(scope)})}}}function cronReportViewer(e){return{restrict:"E",replace:!0,require:"ngModel",link:function(e,t,n,a){function i(n){var a=JSON.parse(n),i={element:t};e.$eval(a.reportCommand||a.dashboardCommand,i)}i(n.options);let o=t[0].parentElement;for(;o;)if("BODY"===o.tagName)o=null;else if(o.classList.contains("tab-pane"))break;else o=o.parentElement;if(o&&!o.classList.contains("active")){let e=new MutationObserver(function(e,t){for(let a of e)if("class"===a.attributeName&&a.target.classList.contains("active")){i(n.options),t.disconnect();break}});e.observe(o,{attributes:!0})}var d=null;e.$watch(function(){return n.options},function(e,t){e!==t&&(d&&(clearInterval(d),d=null),d=setTimeout(function(){i(e)}.bind(this),500))})}}}
55
+ </li>`}),i},link:function(n,a,i){var o=this.populateMenu;i.$observe("options",function(d){t.onReady(()=>{let t=a.closest(".crn-navigator-vertical").length;var l={};try{l=JSON.parse(d)}catch(t){console.log("CronDynamicMenu: Invalid configuration!")}let r=l&&l.subMenuOptions&&l.subMenuOptions.length?l.subMenuOptions[0].id:"first";var s=`<ul id="menu-tag-ul-base-${r}" class="nav navbar-nav ${t?"col-md-12 padding-0":""}" ></ul>`,c=$(s);c.attr("id",i.id);var p=o(l,t);c.append(p),t&&c.append($("#navbar2 li:first").addClass("col-md-12 padding-0"));var u=angular.element(c);a.html(""),a.append(c),a.attr("id",null),e(u)(n);var m=i.multilevelAction;"hover"===m&&($(".dropdown-menu .dropdown-submenu").on("mouseover",function(){var e=$(this).children("ul.dropdown-menu");e.addClass("displayBlock")}),$(".dropdown-menu .dropdown-submenu").on("mouseout",function(){var e=$(this).children("ul.dropdown-menu");e.removeClass("displayBlock")})),"click"===m&&$(".dropdown-menu a.dropdown-toggle").on("click",function(t){$(this).next().hasClass("show")||$(this).parents(".dropdown-menu").first().find(".show").removeClass("show");var e=$(this).next(".dropdown-menu");return e.toggleClass("show"),$(this).parents("li.nav-item.dropdown").on("hidden.bs.dropdown",function(t){$(".dropdown-submenu .show").removeClass("show")}),!1}),$("#checkCollapsibleMenu").on("click",function(){var e=document.getElementById("main-view");this.checked?e.classList.remove("main-view-retratil"):e.classList.add("main-view-retratil")});let g=a.closest("nav");if(g&&g.length){let e=!g.hasClass("submenu-click"),t=g.attr("id");if(t||(t=app.common.generateId(),g.attr("id",t)),e){let e=$(`#${t} .dropdown-submenu`).data("hooked");e||($(`#${t} .dropdown-submenu`).on("mouseenter",function(t){$(this).children(".dropdown-menu").addClass("show")}).on("mouseleave",function(t){$(this).children(".dropdown-menu").removeClass("show")}),$(`#${t} .dropdown-submenu`).data("hooked",!0))}else{let e=$(`#${t} .dropdown-menu a.dropdown-toggle`).data("hooked");e||($(`#${t} .dropdown-menu a.dropdown-toggle`).on("click",function(t){$(this).next().hasClass("show")||$(this).parents(".dropdown-menu").first().find(".show").removeClass("show");var e=$(this).next(".dropdown-menu");return e.toggleClass("show"),$(this).parents("li.nav-item.dropdown.show").on("hidden.bs.dropdown",function(t){$(".dropdown-submenu .show").removeClass("show")}),!e.length&&void $(".dropdown-menu").removeClass("show")}),$(`#${t} .dropdown-menu a.dropdown-toggle`).data("hooked",!0));let n=$(`#${t} .dropdown.nav-item`).data("hooked");n||($(`#${t} .dropdown.nav-item`).on("hidden.bs.dropdown",function(t){$(".dropdown-submenu .show").removeClass("show"),$(".dropdown-menu .show").removeClass("show")}),$(`#${t} .dropdown.nav-item`).data("hooked",!0))}}else{let e=$(a).find("ul:first").attr("id"),t=$(`#${e} .dropdown-submenu`).data("hooked");t||($(`#${e} .dropdown-submenu`).on("mouseenter",function(t){$(this).children(".dropdown-menu").addClass("show")}).on("mouseleave",function(t){$(this).children(".dropdown-menu").removeClass("show")}),$(`#${e} .dropdown-submenu`).data("hooked",!0))}})})}}}]).directive("cronBreadcrumbs",["$rootScope",function(e){"use strict";return{restrict:"E",replace:!0,link:function(e,t,n){var a=n.ngInit?n.ngInit:null;const i=n.crnDelimiterIcon,o=n.typeMenu,d=n.idMenu?n.idMenu:null,l=n.id,r=n.breadcrumbIcon?n.breadcrumbIcon:null,s=[],c=async()=>{const t=a.replace("cronapi.client('js.","blockly.js.");a=t.replace("').run()",""),a=e.$eval(a),s=await a();const n=async t=>{t.item.action&&t.item.action()};$(`#${l}`).kendoBreadcrumb({items:s,delimiterIcon:i,navigational:!0,click:n})},p=e=>e?e.replace("cronapi.screen.changeView('","").replace("', [])",""):"#/home";if(a&&"idBloco"===o)c();else{var u=new MutationObserver((e,t)=>{const n=$(`#${d}`).parent(),a=n.attr("options");if(a){t.disconnect();const e=JSON.parse(a),n=document.location.hash||"home",d=(e,t,n=[])=>{for(let o=0;o<e.length;o++){var a=e[o];if(a.action=p(a.action),a.action===t)return[...n,a];if(a.menuItems){const e=d(a.menuItems,t,[...n,a]);if(e)return e}}return null},r=d(e.subMenuOptions,n);if(r){for(var o in r){const e=r[o];s.push({type:0==o?"rootitem":"item",href:e.action,text:e.title,showText:!0,showIcon:!1})}$(`#${l}`).kendoBreadcrumb({items:s,delimiterIcon:i,navigational:!0})}}});u.observe(document.body,{childList:!0})}}}}]).directive("ngInitialValue",["$parse",function(e){return{restrict:"A",require:"ngModel",link:async function(t,n,a,i){if(a.ngInitialValue){var o,d=e(a.ngModel),l=d.assign;try{if(-1!=a.ngInitialValue.indexOf("cronapi.client('js.")){let e=a.ngInitialValue.replace("cronapi.client('js.","blockly.js."),n=e.split("').names")[0];n=n.split("').attr()")[0];let i=e.split(".run")[1];o=await t.$eval(n+i)}else o=t.$eval(a.ngInitialValue)||a.ngInitialValue}catch(t){o=a.ngInitialValue}"checkbox"==n[0].type&&o&&(o="true"==(""+o).toLowerCase()),l(t,o)}}}}]).directive("crnSetIndeterminate",["$parse",function($parse){return{restrict:"A",link:function(scope,element,attrs){let value=eval(attrs.crnSetIndeterminate);null===value&&$(element).prop("indeterminate",!0)}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,a){a.$formatters=[],a.$parsers=[];let i=e=>(e&&-1===e.indexOf("'")&&(e=`'${e}'`),e);n.ngFalseValue=i(n.ngFalseValue),n.ngTrueValue=i(n.ngTrueValue);let o=!!n.ngFalseValue&&n.ngFalseValue.split("'").join(""),d=!n.ngTrueValue||n.ngTrueValue.split("'").join(""),l=e=>"true"===e||void 0===e||null===e||0==e.length;a.$render=l(n.crnAllowNullValues)?function(){let e=a.$viewValue;t.data("checked",e),!0===e||e===d?(t.prop("indeterminate",!1),t.prop("checked",!0),e=d):!1===e||e===o?(t.prop("indeterminate",!1),t.prop("checked",!1),e=o):(e=null,t.prop("indeterminate",!0)),setTimeout(()=>a.$setViewValue(e))}:function(){let i=a.$viewValue;if((void 0===a.$viewValue||null===a.$viewValue)&&(a.$setViewValue(!1),i=!1),i===o){let a=n.ngFalseValue?`${t.attr("ng-model")}=${n.ngFalseValue}`:`${t.attr("ng-model")}=${o}`;e.$eval(a)}switch(t.data("checked",i),i){case!0:case d:t.prop("indeterminate",!1),t.prop("checked",!0),i=d;break;default:t.prop("indeterminate",!1),t.prop("checked",!1),i=o}setTimeout(()=>a.$setViewValue(i))},t.bind("click",function(){let i;switch(t.data("checked")){case!1:case o:i=!n.ngTrueValue||d;break;default:i=!!n.ngFalseValue&&o}a.$setViewValue(i),e.$apply(a.$render)})}}}]).directive("signaturePad",["$compile","$window",function(e,t){"use strict";var n,a,i=null;return{restrict:"E",require:"ngModel",scope:!0,replace:!0,transclude:!0,template:"<div style=\"height: 100%; width: 100%;\"> <canvas style=\"width:100%; height: 100%;\" ng-click=\"mouseup()\" ng-mouseup=\"mouseup()\"></canvas> <div class=\"component-holder ng-scope col-md-2\" style=\"bottom: 0; position: absolute; padding-left: 5px;\" data-component=\"crn-button\"> <button class=\"btn k-button btn-warning\" ng-click=\"clear()\" xattr-fullsize=\"\" xattr-theme=\"btn-warning\" xattr-disabled=\"\"> <i class=\"glyphicon glyphicon-erase\" icon-theme=\"\"></i> <span class=\"\" text-theme=\"\">{{'clear'|translate}}</span> </button> </div> </div>",scope:{dataurl:"=",ngClick:"@",ngModel:"="},controller:["$scope",function(t){let n=()=>{let e=t.signaturePad.toDataURL();return e&&(e=e.split(",")[1]),e};t.mouseup=function(a){t.signaturePad.isEmpty()||(t.ngModel=n())},t.$watch("ngModel",function(e,a){e!==a&&(n()!==e&&t.signaturePad.fromDataURL("data:image/png;base64,"+e,{ratio:1}),t.ngModel=e)},!0),t.clear=function(){t.signaturePad.clear(),t.ngModel=null}}],link:function(a,i,o,d,l){n=i.find("canvas")[0],a.onResize=function(){var e=Math.max(t.devicePixelRatio||1,1),n=i.find("canvas")[0],a=document.createElement("canvas");a.width=n.width,a.height=n.height;var o=a.getContext("2d");o.drawImage(n,0,0),n.width=n.offsetWidth*e,n.height=n.offsetHeight*e,n.getContext("2d").drawImage(a,0,0),n.getContext("2d").scale(e,e)},a.onResize(),a.signaturePad=new SignaturePad(n),angular.element(t).on("resize",function(){a.onResize()}),e(i)(i.scope());let r=!1;$(n).on("pointerdown",t=>{1===t.which&&(r=!0),t.preventDefault()}),$(n).on("pointerup",t=>{1===t.which&&r&&(r=!1,l(()=>angular.element(n).triggerHandler("mouseup")))})}}}]).directive("cronChat",["$compile","$translate",function(e,t){return{restrict:"E",replace:!0,link:function(e,t,n,a){var i=JSON.parse(n.options||"{}");if(i.token&&i.urlCronchat){var o=i.urlCronchat.endsWith("/")?i.urlCronchat:i.urlCronchat+"/",d=i.token,l=$(`<script src="${o}get-chat?token=${d}" type="text/javascript"></script>`);t.html(l)}}}}]).directive("updateLanguage",["$rootScope",function(e){return{link:function(t,n){var a=function(e,t){var a="en",i=t.language;"pt_br"===i?i="pt-br":i.startsWith("en")&&(i="en"),n.attr("lang",i||"en")};e.$on("$translateChangeSuccess",a)}}}]).directive("cronFrame",cronFrame).directive("crnComponent",cronFrame).directive("fromGrid",["$compile",e=>({restrict:"A",priority:-999999,exist:e=>{let t=e.attr("id");return $(`#${t}`).length},isFromGrid:e=>"true"===e.fromGrid,isCompiled:e=>e.data("alreadycompiled"),getDateAs:function(e,t,n){let a=e.data("mask"),i=e.data("useUTC");return formatWithMomentAs(a,i,t,n)},prepareValue:function(e,t){let n=e.data("column-type")||"";return n.startsWith("date")&&(t=this.getDateAs(e,t,"date")),t},formatComponent:function(e,t){let n=e.data("kendoDropDownList")||e.data("kendoSlider"),a=e.data("column-type")||"";a.startsWith("date")?e.val(this.getDateAs(e,t,"string")):n&&n.value(t)},compileGridListing:function(t,n){let a=t.data("ref-component");if(a&&a.tbody&&a.tbody.length&&!$(a.tbody).find(".k-grid-edit-row").length){var i=a.tbody;setTimeout(()=>{n.safeApply(()=>{var t=$(i),a=angular.element(t);e(a)(n)})})}},link:function(e,t,n){e.$watch(n.ngModel,a=>{this.isFromGrid(n)&&this.exist(t)&&this.isCompiled(t)&&(a=this.prepareValue(t,a),this.formatComponent(t,a),this.compileGridListing(t,e),call=t.data("change-grid-model"),call&&call(a))})}})]).directive("cronOrderedList",["$compile","$sce","$parse",function(e,t,n){"use strict";return{restrict:"EA",replace:!0,link:function(t,n,a,i){let o=a.attributeValue,d=a.orderedAttributeValue,l=a.listType,r=n[0].children[0].children;r=$(r);let s="",c="";$.each(r,function(e,t){c+=t.outerHTML});"numbered-list"===l?s=`<ol style="list-style-type: ${o}">${c}</ol>`:"ordered-list"===l?s=`<ul style="list-style-type: ${d}">${c}</ul>`:void 0;s=$(s),$(n).replaceWith(s),e(s)(t)}}}]).directive("crnInfiniteScroll",["$compile",function($compile){"use strict";return{restrict:"EA",link:function(scope,element,attrs){var dataSource=attrs.crnInfiniteScroll?eval(attrs.crnInfiniteScroll):attrs.crnDatasource?eval(attrs.crnDatasource):void 0;if(dataSource){let e={isVisible:!1,checkVisibility:function(t){if(e.isVisible!==t&&(e.isVisible=t,e.isVisible))if(dataSource.loaded&&dataSource.loadedFinish)dataSource.nextPage();else{let e=setInterval(function(){dataSource.loaded&&dataSource.loadedFinish&&(dataSource.nextPage(),clearInterval(e))},250)}},eventScroll:function(){var t=element.offset().top,n=element.offset().top+element.outerHeight(),a=$(window).scrollTop()+$(window).innerHeight(),i=$(window).scrollTop();e.checkVisibility(a>t&&i<n)}};$(window).scroll(e.eventScroll),$(window).ready(e.eventScroll)}}}}])}(app);function maskDirectiveAsDate(e,t,n){return maskDirective(e,t,n,"as-date")}function maskDirectiveMask(e,t,n){return maskDirective(e,t,n,"mask")}function maskDirective(e,t,n,a){return{restrict:"A",require:"?ngModel",link:function(i,o,d,l){if("as-date"!=a||void 0===d.mask){var r=n(d.ngModel),s=r.assign,c=$(o);if(!c.data("alreadycompiled")){c.data("alreadycompiled",!0),c.data("$compile",e);var p=c.attr("type");if("checkbox"!=p&&"password"!=p&&"url"!=p){if("color"==p||"range"==p)return c[0].classList.remove("form-control"),void c[0].classList.remove("k-textbox");c.data("type",p),c.attr("type","text"),l&&(l.$formatters=[],l.$parsers=[]),void 0!==d.asDate&&"text"==p&&(p="date");var u=!0,m=!1,g=d.mask||d.format;g=g?parseMaskType(g,t):parseMaskType(p,t),g.endsWith(";0")&&(m=!0);var f=g.replace(";1","").replace(";0","").trim();if(null!=f&&0!=f.length)if("date"==p||"datetime"==p||"datetime-local"==p||"month"==p||"time"==p||"time-local"==p||"week"==p){var h={format:f,locale:t.use(),showTodayButton:!0,useStrict:!0,tooltips:{today:t.instant("DatePicker.today"),clear:t.instant("DatePicker.clear"),close:t.instant("DatePicker.close"),selectMonth:t.instant("DatePicker.selectMonth"),prevMonth:t.instant("DatePicker.prevMonth"),nextMonth:t.instant("DatePicker.nextMonth"),selectYear:t.instant("DatePicker.selectYear"),prevYear:t.instant("DatePicker.prevYear"),nextYear:t.instant("DatePicker.nextYear"),selectDecade:t.instant("DatePicker.selectDecade"),prevDecade:t.instant("DatePicker.prevDecade"),nextDecade:t.instant("DatePicker.nextDecade"),prevCentury:t.instant("DatePicker.prevCentury"),nextCentury:t.instant("DatePicker.nextCentury")}};"DD/MM/YYYY"!=f&&"MM/DD/YYYY"!=f&&(h.sideBySide=!0);var v="date"==p||"datetime"==p||"time"==p;if(window.fixedTimeZone||(v=!1),c.data("mask",f),c.data("useUTC",v),c.attr("from-grid")){var b=function(){var e=$(this).offset(),t=!0,n=$(this).parent().find(".bootstrap-datetimepicker-widget.dropdown-menu.usetwentyfour.bottom");if(n.length||(t=!1,n=$(this).parent().find(".bootstrap-datetimepicker-widget.dropdown-menu.usetwentyfour.top")),$(n).offset()){var a=$(n).offset().left,i=$("body");n.appendTo(i);var o=0;o=t?e.top+35:e.top-($(n).height()+15),n.css("top",o),n.css("bottom","auto"),n.css("left",a),n.css("z-index",999999)}};if(c.on("click",b),c.on("focus",function(){setTimeout(b.bind(this),100)}),c.on("dp.change",function(){i.safeApply(function(){var e=null;e=v?moment(c.val(),f).utcOffset(window.timeZoneOffset,!0):moment(c.val(),f),("time"==p||"time-local"==p)&&(e=e.year(1970).dayOfYear(1).month(0)),e.isValid()&&l&&s(i,e.toDate())})}),c.data("initial-value")){var y=c.data("initial-value"),k=null;k=v?moment(y).utcOffset(window.timeZoneOffset):moment(y),c.val(k.format(f)),c.data("initial-value",null)}}else c.wrap("<div style=\"position:relative\"></div>");c.datetimepicker(h),"true"!==d.fromGrid&&c.on("dp.change",function(){$(this).is(":visible")&&($(this).trigger("change"),i.safeApply(function(){var e=c.val(),t=null;t=v?moment(e,f).utcOffset(window.timeZoneOffset,!0):moment(e,f),("time"==p||"time-local"==p)&&(t=t.year(1970).dayOfYear(1).month(0)),t.isValid()&&l&&s(i,t.toDate())}))}),l&&(l.$formatters.push(function(e){if(e)return formatWithMomentAs(f,v,e,"string");if(null===e){var t=c.datetimepicker(h).data("DateTimePicker");t.date(null)}return null}),l.$parsers.push(function(e){if(e){if(e instanceof Date)return e;var t=null;return t=v?moment(e,f).utcOffset(window.timeZoneOffset,!0):moment(e,f),("time"==p||"time-local"==p)&&(t=t.year(1970).dayOfYear(1).month(0)),t.toDate()}return null}))}else if("number"==p||"money"==p||"integer"==p||"money-decimal"==p){m=!0;var C=f.trim().replace(/\./g,"").replace(/\,/g,"").replace(/#/g,"").replace(/0/g,"").replace(/9/g,""),w="",S="",D="",T=",",x=0;f.startsWith(C)?w=C:f.endsWith(C)&&(S=C);var M=f.trim().replace(w,"").replace(S,"").trim();M.startsWith("#.")?D=".":M.startsWith("#,")&&(D=",");var I=null;if(-1==M.indexOf(",0")?-1!=M.indexOf(".0")&&(T=".",I=".0"):(T=",",I=",0"),null!=I){var E=M.substring(M.indexOf(I)+1);x=E.length}var A="numeric";0==x&&(A="integer"),"money-decimal"==p&&(A="currency");var F={rightAlign:"money"==p||"money-decimal"==p,unmaskAsNumber:!0,allowMinus:!0,prefix:w,suffix:S,radixPoint:T,digits:x,numericInput:"money-decimal"==p};D&&(F.autoGroup=!0,F.groupSeparator=D),$(o).inputmask(A,F),useInputMaskPlugin(o,l,i,s,f)}else if("text"==p||"tel"==p||"string"==p){let e=["D","M","Y","H","m","s"],t=t=>(e.forEach(e=>t=t.replaceAll(e,"9")),t);f=t(f),d.maskPlaceholder?(h={},h.placeholder=d.maskPlaceholder,$(o).inputmask(f,h),m&&useInputMaskPlugin(o,l,i,s,f)):(c.mask(f),useMaskPlugin(o,l,i,s,m))}}}}}}}function useInputMaskPlugin(e,t,n,a,i){var o=$(e),d=function(){$(this).data("rawvalue",$(this).inputmask("unmaskedvalue"))};$(e).on("keydown",d).on("keyup",d),t&&(t.$formatters.push(function(e){return null!=e&&null!=e&&""!==e?format(i,e):null}),t.$parsers.push(function(e){if(e!=null&&null!=e&&""!==e){var t=o.inputmask("unmaskedvalue");if(""!==t)return t}return null}))}function useMaskPlugin(e,t,n,a,i){var o=$(e),d=function(){i&&$(this).data("rawvalue",$(this).cleanVal())};$(e).on("keydown",d).on("keyup",d),i&&t&&(t.$formatters.push(function(e){return e?o.masked(e):null}),t.$parsers.push(function(e){return e?o.cleanVal():null}))}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="#.#00,00")):"money"==e||"money-decimal"==e?(e=t.instant("Format.Money"),"Format.Money"==e&&(e="#.#00,00")):"integer"==e?(e=t.instant("Format.Integer"),"Format.Integer"==e&&(e="#,##0.####")):"week"==e?e="dddd":"tel"==e?e="(00) 00000-0000;0":"text"==e?e="":"string"==e&&(e=""),e}function transformText(){return{restrict:"E",require:"?ngModel",link:function(e,t,n,a){var i=function(e,t){if(e){if(t!==void 0&&null!==t){if("uppercase"===e.css("text-transform"))return t.toUpperCase();if("lowercase"===e.css("text-transform"))return t.toLowerCase()}return t}};a&&(a.$formatters.push(function(e){return i(t,e)}),a.$parsers.push(function(e){return i(t,e)}))}}}app.kendoHelper={getCorrectlyDS:(e,t)=>{if(t[e]&&t[e].apiVersion)return t[e];else{let n=t.$parent[e];return t[e]=n,n}},getCorrectlyDSPromise:async(e,t)=>new Promise((n,a)=>{let i=()=>{let o=null;if(t[e]&&t[e].apiVersion)o=t[e];else{let n=t.$parent[e];t[e]=n,o=n}o?n(o):$(`datasource[name="${e}"]`).length?setTimeout(()=>i(),100):a(null)};i()}),receivePushData:e=>!e||!e.dataSource||(e.dataSource.transport.options.refComponent=e),getSchema:function(e){var t=[{kendoType:"string",entityType:["string","character","uuid","guid"]},{kendoType:"number",entityType:["integer","long","double","int","float","bigdecimal","single","int32","int64","decimal","byte"]},{kendoType:"date",entityType:["date","time","datetime"]},{kendoType:"boolean",entityType:["boolean"]}],n=function(e){for(var n=0;n<t.length;n++)if(t[n].entityType.includes(e.toLocaleLowerCase()))return t[n].kendoType;return"string"},a={model:{id:"__$id",fields:{}}};return e&&e.schemaFields&&(e.schemaFields.forEach(function(e){a.model.fields[e.name]={type:n(e.type),editable:!0,nullable:e.nullable,validation:{required:!e.nullable}}}),a.model.fields.__$id={type:"string",editable:!0,nullable:!0,validation:{required:!1}}),a},getDataSource:function(t,n,a,i,o,d){var l=Number.MAX_SAFE_INTEGER_32;function r(t){if(t.response&&t.response.d){var e=null;e=t.response.d.results?t.response.d.results:[t.response.d],this.group().length?o.forEach(function(t){if("Database"==t.dataType){var n="datetime-local"==t.type||"month"==t.type||"time-local"==t.type||"week"==t.type;if(n)for(var a,o=0;o<e.length;o++)a=e[o],t.field==a.Member&&(a.Key=a.Key.replace(/\d+/,function(e){return parseInt(e)+g})),s.bind(this)(a.Items)}}):s.bind(this)(e)}}function s(e){for(var t=0;t<e.length;t++)o&&o.forEach(function(n){if("Database"==n.dataType){var a="datetime-local"==n.type||"month"==n.type||"time-local"==n.type||"week"==n.type;a&&e[t][n.field]&&(e[t][n.field]=e[t][n.field].replace(/\d+/,function(e){return parseInt(e)+g}))}})}function c(e){var t=[];return e&&e.forEach(function(e){e.aggregates&&e.aggregates.forEach(function(n){t.push({field:e.field,aggregate:n.type})})}),t}var p=this.getSchema(t);o&&o.forEach(function(e){for(var t in p.model.fields)if("Database"==e.dataType&&e.field==t){if(p.model.fields[t].nullable=!e.required,p.model.fields[t].validation.required=e.required,"999.999.999-99;0"===e.format||"99.999.999/9999-99;0"===e.format){let n="999.999.999-99;0"===e.format?"cpf":"cnpj",a={cpf:CPF,cnpj:CNPJ},i=t.toLocaleLowerCase()+"validation";p.model.fields[t].validation[i]=function(e){return!(e.is("[name='"+t+"']")&&""!=e.val())||a[n].isValid(e.val())}}break}});var u=function(e){for(var t in e)if(p.model.fields.hasOwnProperty(t)){var n=p.model.fields[t];"string"==n.type&&null!=e[t]?e[t]+="":"number"==n.type&&null!=e[t]?e[t]=parseFloat(e[t]):"date"==n.type&&null!=e[t]?e[t]="/Date("+e[t].getTime()+")/":"boolean"==n.type&&(null==e[t]?e[t]=!1:e[t]="true"==e[t].toString().toLowerCase()),p.model.id==t&&null!=e[t]&&0==e[t].toString().length&&delete e[t]}return e},m=10;app.kendoHelper.getCorrectlyDS(t.name,n)&&(m=app.kendoHelper.getCorrectlyDS(t.name,n).rowsPerPage);var g=6e4*new Date().getTimezoneOffset(),f=app.common.generateId(),h={transport:{setActiveAndPost:function(t){var e=this.options.cronappDatasource;n.safeApply(e.updateActive(u(t.data))),e.active.__sender=f,e.postSilent(function(e){this.options.enableAndSelect(t),t.success(e),this.options.refComponent.dataSource._pristineTotal=this.options.refComponent.dataSource._pristineData.push(e)}.bind(this),function(e){this.options.enableAndSelect(t),t.error(e,e,e)}.bind(this))},pushAction:function(e,t){return n=>{let a=["read","memorydelete","overRideRefresh"];if(this.options.isComponentInDocument(this.options.refComponent)){let a=this.options.getCurrentCallbackForPush(t,this.options.refComponent),i=a[e];i?i(n):(this.options.fromRead="read"===e,this.options.cronappDatasource.reloadedFromCronapi&&(this.options.fromRead=!1,delete this.options.cronappDatasource.reloadedFromCronapi),"overRideRefresh"===e&&(this.options.refComponent.dataSource._page=1,this.options.refComponent.dataSource._skip=0),this.options.refComponent.dataSource.read())}else a.includes(e)||this.options.cronappDatasource.removeDataSourceEvents(this.options.dataSourceEventsPush)}},push:function(e){!this.options.dataSourceEventsPush&&this.options.cronappDatasource&&(this.options.dataSourceEventsPush={create:this.pushAction.bind(this)("pushUpdate",e),update:this.pushAction.bind(this)("pushUpdate",e),delete:this.pushAction.bind(this)("pushDestroy",e),overRideRefresh:this.pushAction.bind(this)("overRideRefresh",e),read:this.pushAction.bind(this)("read",e),memorycreate:this.pushAction.bind(this)("pushUpdate",e),memoryupdate:this.pushAction.bind(this)("pushUpdate",e),memorydelete:this.pushAction.bind(this)("pushDestroy",e)},"combobox"==this.origin&&delete this.options.dataSourceEventsPush.overRideRefresh,this.options.cronappDatasource.addDataSourceEvents(this.options.dataSourceEventsPush))},read:function(n){var e=!1;try{var a=this.options.cronappDatasource;this.options.kendoCallback?this.options.fromRead?this.options.kendoCallback.success(a.data):e=!0:(this.options.kendoCallback=n,e=!0)}finally{this.options.fromRead=!1}if(e){for(key in n.data)null==n.data[key]&&delete n.data[key];var i=kendo.data.transports.odata.parameterMap(n.data,"read"),o="";this.options.refComponent&&this.options.refComponent.dataSource.group().forEach(function(e){o+=e.field+" "+e.dir+","}),0<o.length&&(o=o.substr(0,o.length-1),i.$orderby=i.$orderby?o+","+i.$orderby:o);var a=this.options.cronappDatasource;if(a.rowsPerPage=n.data.pageSize,a.offset=n.data.page-1,!n.data.pageSize&&(a.rowsPerPage=l,a.offset=void 0,i.$skip=0,this.options.refComponent&&1!=this.options.refComponent.dataSource.page()))return this.options.refComponent.dataSource.page(1),void n.error("canceled","canceled","canceled");var d={params:i},r=!1;t.append&&(r=t.append);var s={};"button"===a.loadDataStrategy&&0<a.data.length&&(s.origin=a.loadDataStrategy),a.append=r,a.fetch(d,{success:function(e){n.success(e)},canceled:function(e){n.error("canceled","canceled","canceled")},error:function(e){n.error("canceled","canceled","canceled")}},r,s)}},update:function(t){this.setActiveAndPost(t)},create:function(t){this.setActiveAndPost(t)},destroy:function(t){cronappDatasource=this.options.cronappDatasource,cronappDatasource.removeSilent(t.data,function(e){t.success(e)},function(e){t.error("canceled","canceled","canceled")})},batch:function(t){},options:{fromRead:!1,disableAndSelect:function(t){this.isComponentInDocument(this.refComponent)&&(this.refComponent.select(t.container),this.refComponent.options.selectable=!1,this.refComponent.selectable&&this.refComponent.selectable.element&&(this.refComponent.selectable.destroy(),this.refComponent.selectable=null))},enableAndSelect:function(t){this.isComponentInDocument(this.refComponent)&&(this.refComponent.options.selectable=this.refComponent.options.originalSelectable,this.refComponent._selectable(),this.refComponent.select(t.container))},selectActiveInGrid:function(e){if(this.isComponentInDocument(this.refComponent)&&this.refComponent.selectable&&0<this.refComponent.dataItems().length&&this.cronappDatasource.active&&this.cronappDatasource.active.__$id){for(var t=this.refComponent.dataItems(),n=-1,a=0;a<t.length;a++)if(this.cronappDatasource.active.__$id==t[a].__$id){n=a;break}-1<n&&!this.refComponent.selectable.options.multiple&&this.refComponent.select(this.refComponent.table.find("tr")[n+1])}},isComponentInDocument:function(e){return!!e&&$(document).has(e.element[0]).length},getCurrentCallbackForPush:function(e,t){return e?e:t},cronappDatasource:app.kendoHelper.getCorrectlyDS(t.name,n)}},pageSize:m,serverPaging:!0,serverFiltering:!0,serverSorting:!0,batch:!1,schema:p,requestEnd:r};return h.aggregate=c(o),h.schema.total=function(){return h.transport.options.cronappDatasource.getRowsCount()},d&&(h.group=[],d.forEach(function(e){var t={field:e.field,aggregates:h.aggregate};h.group.push(t)})),h},getEventReadCombo:function(t){var e=this.options.cronappDatasource;if(!e)return void t.error("canceled","canceled","canceled");this.options.kendoCallback||(this.options.kendoCallback=t);var n;if(this.options.combobox&&this.options.combobox.options.readData)return t.success(this.options.combobox.options.readData),this.options.combobox.options.readData=null,void(this.options.alreadyLoaded=!0);this.options.combobox?n=!this.options.alreadyLoaded:e.__ignoreFirstFetch?(n=!0,delete e.__ignoreFirstFetch):n=!1,this.options.alreadyLoaded=!0;var a=!0;if(n&&(a=!1,e.lazy?t.success([{}]):t.success([])),(this.options.fromRead||this.options.combobox&&void 0===this.options.combobox.options.firstLazyRead)&&(this.options.fromRead=!1,this.options.kendoCallback.success(e.data),a=!1),a){for(key in t.data)null==t.data[key]&&delete t.data[key];var i=kendo.data.transports.odata.parameterMap(t.data,"read");e.rowsPerPage=t.data.pageSize,e.offset=t.data.page-1;var o=this,d=!0,l={};l.params=i,o.options.combobox&&(o.options.combobox.options.fromCombo=!0),e.fetch(l,{success:function(e){if(t.success&&(o.options.combobox&&(o.options.combobox.options.expanded=!0),t.success(e),o.options.kendoCallback=t,o.options&&o.options.combobox&&o.options.combobox.element[0].id)){var n=" .k-animation-container",a=angular.element($(" .k-animation-container"));o.options.$compile(a)(o.options.scope)}},canceled:function(e){o.options.combobox&&(o.options.combobox.options.fromCombo=!1),t.success&&t.error("canceled","canceled","canceled")},error:function(e){o.options.combobox&&(o.options.combobox.options.fromCombo=!1),t.success&&t.error("error","error","error")}},!1,{ignoreAtive:!0})}},parseOptionsCronToConfigKendo:function(e,t,n){let a=!1;e.dynamic&&"false"!=e.dynamic?e.dataSourceScreen&&e.dataSourceScreen.entityDataSource&&(e.dataSourceScreen.entityDataSource.append=!0,t=app.kendoHelper.getDataSource(e.dataSourceScreen.entityDataSource,n,!0,e.dataSourceScreen.rowsPerPage),t.transport.read=app.kendoHelper.getEventReadCombo,a=!0):(a=!0,e.dataValueField=e.dataValueField||"value",e.dataTextField=e.dataTextField||"key"),e.dataValueField&&""!=e.dataValueField.trim()||(e.dataValueField=null==e.dataTextField?void 0:e.dataTextField);var i=function(t){var n=e.dataSourceScreen.entityDataSource.schemaFields;for(count=0;count<n.length;count++)if(t==n[count].name){return n[count].type.toLowerCase();break}return null},o=function(e){var t=["date","time","datetime"];return-1<t.indexOf(e)?e:null};!e.customTemplate&&e.dataSourceScreen&&e.dataSourceScreen.entityDataSource&&e.dataSourceScreen.entityDataSource.schemaFields&&(e.format||o(i(e.dataTextField)))&&(e.template="#= useMask("+e.dataTextField+",'"+e.format+"','"+i(e.dataTextField)+"') #",e.valueTemplate="#= useMask("+e.dataTextField+",'"+e.format+"','"+i(e.dataTextField)+"') #");var d={dataTextField:null==e.dataTextField?void 0:e.dataTextField,dataValueField:null==e.dataValueField?void 0:e.dataValueField,dataSource:t,headerTemplate:null==e.headerTemplate?void 0:e.headerTemplate,template:null==e.template?void 0:e.template,tagTemplate:null==e.tagTemplate?void 0:e.tagTemplate,placeholder:null==e.placeholder?void 0:e.placeholder,footerTemplate:null==e.footerTemplate?void 0:e.footerTemplate,filter:null==e.filter?void 0:e.filter,valuePrimitive:a,valueTemplate:null==e.valueTemplate?void 0:e.valueTemplate,suggest:!0};return e.optionLabel&&(e.optionLabelText=e.optionLabel,e.optionLabelValue=""),d.optionLabel={},d.optionLabel[d.dataTextField]=void 0===e.optionLabelText?"":e.optionLabelText,d.optionLabel[d.dataValueField]=void 0===e.optionLabelValue?null:e.optionLabelValue,d},getConfigComboboxSync:function(e,t){var n={};if(e){if(!e.dynamic||"false"==e.dynamic){n.data=null==e.staticDataSource?void 0:e.staticDataSource;for(let a=0;a<n.data.length;a++)try{n.data[a].key&&n.data[a].key.startsWith("cronapi.server(")&&(n.data[a].key=n.data[a].key.replace(".run(",".notAsync().run("));let e=t.$eval(n.data[a].key);n.data[a].key=void 0!==e&&null!==e?e:n.data[a].key}catch(t){n.data[a].key=n.data[a].key}}return config=this.parseOptionsCronToConfigKendo(e,n,t),config}return{}},getConfigCombobox:async function(e,t){var n={};if(e){if(!e.dynamic||"false"==e.dynamic){n.data=null==e.staticDataSource?void 0:e.staticDataSource;for(let a=0;a<n.data.length;a++)try{n.data[a].key&&n.data[a].key.startsWith("cronapi.server(")&&(n.data[a].key=n.data[a].key.replace(".run(",".toPromise().run("));let e=await t.$eval(n.data[a].key);n.data[a].key=void 0!==e&&null!==e?e:n.data[a].key}catch(t){n.data[a].key=n.data[a].key}}return config=this.parseOptionsCronToConfigKendo(e,n,t),config}return{}},getConfigDate:function(e,t){var n={};if(n){var a=function(e){e=e.replace(/_/gm,"-");var t=e.split("-");return t[t.length-1]=t[t.length-1].toUpperCase(),t.join("-")},i=function(e){return e&&(e=e.replace(/:MM/gm,":mm"),e=e.replace(/:M/gm,":m"),e=e.replace(/S/gm,"s"),e=e.replace(/D/gm,"d"),e=e.replace(/Y/gm,"y")),e},o=function(t,n){return null==n&&(n=parseMaskType(t,e)),n},d={};if(t.animation)try{d=JSON.parse(t.animation)}catch(e){console.log("DateAnimation invalid configuration! "+e)}var l=o(t.type,t.format),r=i(l),s=i(t.timeFormat),c=a(e.use());n={value:null,format:r,timeFormat:s,momentFormat:l,culture:c,type:null==t.type?void 0:t.type,weekNumber:null==t.weekNumber?void 0:t.weekNumber,dateInput:null==t.dateInput?void 0:t.dateInput,animation:d,footer:null==t.footer?void 0:t.footer,start:null==t.start?void 0:t.start,depth:null==t.start?void 0:t.start}}return n},buildKendoMomentPicker:function(e,t,n,a){var i="date"==t.type||"datetime"==t.type||"time"==t.type;window.fixedTimeZone||(i=!1),e.data("mask",t.momentFormat),e.data("useUTC",i);var o=function(){var n=e.val();if(!n||""==n.trim())a&&a.$setViewValue("");else{var o=formatWithMomentAs(t.momentFormat,i,n,"date");a&&(a.$setViewValue(o),e.data("changed",!0))}};return(t.change=n?function(){n.$apply(function(){o()})}:o,"date"==t.type)?e.kendoDatePicker(t).data("kendoDatePicker"):"datetime"==t.type||"datetime-local"==t.type?e.kendoDateTimePicker(t).data("kendoDateTimePicker"):"time"==t.type||"time-local"==t.type?e.kendoTimePicker(t).data("kendoTimePicker"):void 0},getConfigSlider:function(e){e=e||{};var t={increaseButtonTitle:e.increaseButtonTitle,decreaseButtonTitle:e.decreaseButtonTitle,dragHandleTitle:e.dragHandleTitle};try{t.min=e.min?parseInt(e.min):1,t.max=e.max?parseInt(e.max):1,t.smallStep=e.smallStep?parseInt(e.smallStep):1,t.largeStep=e.largeStep?parseInt(e.largeStep):1}catch(e){console.log("Slider invalid configuration! "+e)}return t},getConfigSwitch:function(e){e=e||{};var t={onLabel:null==e.onLabel?void 0:e.onLabel,offLabel:null==e.offLabel?void 0:e.offLabel};return t},getConfigBarcode:function(e){var t={type:null==e.type?void 0:e.type,width:null==e.width?void 0:parseInt(e.width),height:null==e.height?void 0:parseInt(e.height)};return t.type||(t.type="EAN8"),t},getConfigQrcode:function(e){var t={errorCorrection:null==e.errorCorrection?void 0:e.errorCorrection,size:null==e.size?void 0:parseInt(e.size),color:null==e.color?void 0:e.color};return(e.borderColor||e.borderSize)&&(t.border={size:null==e.size?void 0:parseInt(e.size),color:null==e.color?void 0:e.color}),t}},window.showTreatedValue=function(e){return e||!1===e?e:""},window.useMask=function(e,t,n){var a="";t="null"==t||"undefined"==t?void 0:t;var i=e,o=t||n;if(null!=e&&e!=null){if(e instanceof Date){var d=moment(e).utcOffset(window.timeZoneOffset);i="\""+d.format()+"\""}else i="number"==typeof e?e:"\""+e+"\"";a="{{ "+i+" | mask:\""+o+"\":\""+n+"\"}}"}return a},window.formatWithMomentAs=function(e,t,n,a){if(!n)return;let i=null;return i=n instanceof Date||n.startsWith("/Date")?t?moment(n).utcOffset(window.timeZoneOffset):moment(n):t?moment(n,e).utcOffset(window.timeZoneOffset,!0):moment(n,e),"string"===a?i.format(e):i.toDate()};function cronFrame($compile,$sce,$parse){"use strict";return{restrict:"AE",link:function(scope,element,attrs,ngModelCtrl){scope.fragment=scope.fragment||{};var framentMap=scope.fragment[element.parent.id]||{};scope.$watch(function(){return attrs.origin},function(newVal){let template="",style=attrs.style||"",clazz=attrs.class||"";if(attrs.origin)if(attrs.type||(attrs.type="include"),"include"==attrs.type){let str=`<div style="${style}" class="${clazz}" ng-include="'${attrs.origin}'" ng-if="true"></div>`;if(template=$(str),attrs.params)try{let params=eval(attrs.params);for(let e in params){let t=params[e];"expression"==t.type?scope.$watch(t.value,function(e){framentMap[t.key]=e;var n=$(str);n.attr("onload",`params = ${JSON.stringify(framentMap)}`);var a=$compile(n)(scope);element.html(a)}):framentMap[t.key]=t.value}template.attr("onload",`params = ${JSON.stringify(framentMap)}`)}catch(e){console.error(e)}}else if("frame"==attrs.type){var url=$sce.trustAsResourceUrl(attrs.origin);template=$(`<iframe style="${style}" class="${clazz}" ng-src="${url}" width="100%" height="100%" loading="lazy"></iframe>`)}element.html(template),$compile(template)(scope)})}}}function cronReportViewer(e){return{restrict:"E",replace:!0,require:"ngModel",link:function(e,t,n,a){function i(n){var a=JSON.parse(n),i={element:t};e.$eval(a.reportCommand||a.dashboardCommand,i)}i(n.options);let o=t[0].parentElement;for(;o;)if("BODY"===o.tagName)o=null;else if(o.classList.contains("tab-pane"))break;else o=o.parentElement;if(o&&!o.classList.contains("active")){let e=new MutationObserver(function(e,t){for(let a of e)if("class"===a.attributeName&&a.target.classList.contains("active")){i(n.options),t.disconnect();break}});e.observe(o,{attributes:!0})}var d=null;e.$watch(function(){return n.options},function(e,t){e!==t&&(d&&(clearInterval(d),d=null),d=setTimeout(function(){i(e)}.bind(this),500))})}}}
package/js/directives.js CHANGED
@@ -2818,7 +2818,7 @@
2818
2818
  className = 'k-custom-command' + (label ? ' k-button-with-label' : '');
2819
2819
  }
2820
2820
  if (column.theme)
2821
- className += ' ' + column.theme;
2821
+ className += ' btn ' + column.theme;
2822
2822
 
2823
2823
  var tooltip = '';
2824
2824
  if (column.tooltip && column.tooltip.length)
@@ -2830,9 +2830,14 @@
2830
2830
  className += ' ' + classForTooltip;
2831
2831
  }
2832
2832
 
2833
+ let width = column.width;
2834
+ if (width) {
2835
+ width += 'px';
2836
+ }
2837
+
2833
2838
  let idForCommand = app.common.generateId();
2834
2839
  let ariaLabel = tooltip || label || idForCommand;
2835
- let template = `<a href class='k-button ${className} k-grid-${idForCommand}' aria-label='${ariaLabel}'><span class='${column.iconClass}'></span>${label}</a>`;
2840
+ let template = `<a href class='k-button ${className} k-grid-${idForCommand}' aria-label='${ariaLabel}' style='width:${width}'><span class='${column.iconClass}'></span>${label}</a>`;
2836
2841
 
2837
2842
  var addColumn = {
2838
2843
  command: [{
@@ -2863,7 +2868,7 @@
2863
2868
 
2864
2869
  let className = 'k-custom-command' + (label ? ' k-button-with-label' : '');
2865
2870
  if (buttonColumn.theme)
2866
- className += ' ' + buttonColumn.theme;
2871
+ className += ' btn ' + buttonColumn.theme;
2867
2872
 
2868
2873
  let tooltip = '';
2869
2874
  if (buttonColumn.tooltip && buttonColumn.tooltip.length)
@@ -2875,9 +2880,14 @@
2875
2880
  className += ' ' + classForTooltip;
2876
2881
  }
2877
2882
 
2883
+ let width = buttonColumn.width;
2884
+ if (width) {
2885
+ width += 'px';
2886
+ }
2887
+
2878
2888
  let idForCommand = app.common.generateId();
2879
2889
  let ariaLabel = tooltip || label || idForCommand;
2880
- let template = `<a href class='k-button ${className} k-grid-${idForCommand}' aria-label='${ariaLabel}'><span class='${buttonColumn.iconClass}'></span>${label}</a>`;
2890
+ let template = `<a href class='k-button ${className} k-grid-${idForCommand}' aria-label='${ariaLabel}' style='width:${width}'><span class='${buttonColumn.iconClass}'></span>${label}</a>`;
2881
2891
 
2882
2892
  let command = {
2883
2893
  name: idForCommand,
@@ -5405,6 +5415,12 @@
5405
5415
 
5406
5416
  let subMenuOnHover = !baseNav.hasClass('submenu-click');
5407
5417
  let baseNavId = baseNav.attr('id');
5418
+
5419
+ if (!baseNavId) {
5420
+ baseNavId = app.common.generateId();
5421
+ baseNav.attr('id', baseNavId);
5422
+ }
5423
+
5408
5424
  if (subMenuOnHover) {
5409
5425
  let alreadyHooked = $(`#${baseNavId} .dropdown-submenu`).data('hooked');
5410
5426
  if (!alreadyHooked) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cronapp-framework-js",
3
- "version": "3.0.0-SP.34",
3
+ "version": "3.0.0-SP.36",
4
4
  "description": "Javascript library for CronApp's projects",
5
5
  "main": "cronapp.framework.js",
6
6
  "scripts": {