cronapi-js 2.8.18 → 2.8.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cronapi.js CHANGED
@@ -1259,13 +1259,6 @@ if (!window.fixedTimeZone) {
1259
1259
  return this.cronapi.$scope.vars[name];
1260
1260
  };
1261
1261
 
1262
- /**
1263
- * @category {{notificationCategory}}
1264
- * @categoryTags notification | notification
1265
- */
1266
- this.cronapi.notification = {};
1267
-
1268
-
1269
1262
  /**
1270
1263
  * @deprecated true
1271
1264
  * @type function
@@ -1285,196 +1278,6 @@ if (!window.fixedTimeZone) {
1285
1278
  this.cronapi.$scope.Notification({'message':message.toString() },type);
1286
1279
  };
1287
1280
 
1288
-
1289
- /**
1290
- * @type function
1291
- * @name {{screenNotifySimpleName}}
1292
- * @description {{screenNotifySimpleDescription}}
1293
- * @nameTags show | exibir | exibe | notification | notificação
1294
- * @param {ObjectType.STRING} status {{screenNotifySimpleParam0}}
1295
- * @param {ObjectType.STRING} message {{screenNotifySimpleParam1}}
1296
- * @param {ObjectType.STRING} animation {{screenNotifySimpleParam2}}
1297
- * @param {ObjectType.STRING} verticalPosition {{screenNotifySimpleParam3}}
1298
- * @param {ObjectType.STRING} horizontalPosition {{screenNotifySimpleParam4}}
1299
- * @param {ObjectType.STRING} autoHide {{screenNotifySimpleParam5}}
1300
- */
1301
- this.cronapi.notification.customNotify = function(/** @type {ObjectType.STRING} @description {{status}} @blockType util_dropdown @keys error|success|warning|info @values {{error}}|{{success}}|{{warning}}|{{info}} */ status, /** @type {ObjectType.STRING} */ message, /** @type {ObjectType.STRING} @description {{animation}} @blockType util_dropdown @keys fade|slide|zoom @values {{fade}}|{{slide}}|{{zoom}} */ animation, /** @type {ObjectType.STRING} @description {{verticalPosition}} @blockType util_dropdown @keys top|bottom @values {{top}}|{{bottom}} */ verticalPosition, /** @type {ObjectType.STRING} @description {{horizontalPosition}} @blockType util_dropdown @keys left|center|right @values {{left}}|{{center}}|{{right}} */ horizontalPosition, /** @type {ObjectType.STRING} @description {{autoHide}} @blockType util_dropdown @keys true|false @values {{yes}}|{{no}} */ autoHide) {
1302
-
1303
- let idCustomNotification = "customNotification" ;
1304
-
1305
- let dataNotification = {
1306
- stacking: "default",
1307
- autoHideAfter: 5000,
1308
- position: {
1309
- pinned: true
1310
- },
1311
- animation: {
1312
- open: {
1313
- effects: null
1314
- },
1315
- close: {
1316
- effects: null
1317
- }
1318
- }
1319
- };
1320
-
1321
- if (animation || verticalPosition || horizontalPosition || autoHide) {
1322
- customNotification(message, status, animation, verticalPosition, horizontalPosition, autoHide);
1323
- } else {
1324
- defaultNotification(message, status);
1325
- }
1326
-
1327
- async function defaultNotification(message, status) {
1328
-
1329
- let cronappConfig = {
1330
- id: "CronappNotification",
1331
- verticalPosition: "top",
1332
- horizontalPosition: "left",
1333
- animation: "slide",
1334
- autoHide: "false"
1335
- };
1336
-
1337
- setVerticalPosition(cronappConfig.verticalPosition);
1338
- setHorizontalPosition(cronappConfig.horizontalPosition);
1339
- setAnimation(cronappConfig.animation);
1340
- setAutoHide(cronappConfig.autoHide);
1341
-
1342
- if (!isNotificationInitialized(cronappConfig.id)) {
1343
- initializeNotification(cronappConfig.id, dataNotification);
1344
- }
1345
-
1346
- showNotification(cronappConfig.id, message, status);
1347
-
1348
- }
1349
-
1350
- async function customNotification(message, status, animation, verticalPosition, horizontalPosition, autoHide) {
1351
-
1352
- setVerticalPosition(verticalPosition);
1353
- setHorizontalPosition(horizontalPosition);
1354
- setAnimation(animation);
1355
- setAutoHide(autoHide);
1356
-
1357
- initializeNotification(idCustomNotification, dataNotification);
1358
- showNotification(idCustomNotification, message, status);
1359
-
1360
- }
1361
-
1362
- function setVerticalPosition(verticalPosition){
1363
- switch (verticalPosition) {
1364
- case "bottom":
1365
- dataNotification.position.bottom = 20;
1366
- idCustomNotification = idCustomNotification.concat('-bottom');
1367
- break;
1368
-
1369
- default:
1370
- dataNotification.position.top = 60;
1371
- idCustomNotification = idCustomNotification.concat('-top');
1372
-
1373
- }
1374
- }
1375
-
1376
- function setHorizontalPosition(horizontalPosition){
1377
- switch (horizontalPosition) {
1378
- case "right":
1379
- dataNotification.position.right = 20;
1380
- idCustomNotification = idCustomNotification.concat('-right');
1381
- break;
1382
-
1383
- case "center":
1384
- dataNotification.show = centerElementScreen;
1385
- idCustomNotification = idCustomNotification.concat('-center');
1386
- break;
1387
-
1388
- default:
1389
- dataNotification.position.left = 20;
1390
- idCustomNotification = idCustomNotification.concat('-left');
1391
-
1392
- }
1393
- }
1394
-
1395
- function centerElementScreen(e){
1396
- if (e.sender.getNotifications().length == 1) {
1397
- var element = e.element.parent(),
1398
- eWidth = element.width(),
1399
- wWidth = $(window).width()
1400
- var newLeft;
1401
-
1402
- newLeft = Math.floor(wWidth / 2 - eWidth / 2);
1403
-
1404
- e.element.parent().css({ left: newLeft });
1405
- }
1406
- }
1407
-
1408
- function setAnimation(animation){
1409
- switch (animation) {
1410
- case "slide":
1411
- if (dataNotification.show && dataNotification.position.bottom != null) {
1412
- dataNotification.animation.open.effects = "slideIn:up";
1413
- idCustomNotification = idCustomNotification.concat('-slideIn-up');
1414
-
1415
- } else if (dataNotification.show && dataNotification.position.top != null) {
1416
- dataNotification.animation.open.effects = "slideIn:down";
1417
- idCustomNotification = idCustomNotification.concat('-slideIn-dow');
1418
-
1419
- } else if (dataNotification.position.left != null) {
1420
- dataNotification.animation.open.effects = "slideIn:right";
1421
- idCustomNotification = idCustomNotification.concat('-slideIn-right');
1422
-
1423
- } else if (dataNotification.position.left == null) {
1424
- dataNotification.animation.open.effects = "slideIn:left";
1425
- idCustomNotification = idCustomNotification.concat('-slideIn-left');
1426
- }
1427
-
1428
- dataNotification.animation.close.effects = "slideOut";
1429
- break;
1430
-
1431
- case "zoom":
1432
- dataNotification.animation.open.effects = "zoomIn";
1433
- dataNotification.animation.close.effects = "zoomOut";
1434
- idCustomNotification = idCustomNotification.concat('-zoom');
1435
- break;
1436
-
1437
- default:
1438
- dataNotification.animation.open.effects = "fadeIn";
1439
- dataNotification.animation.close.effects = "fadeOut";
1440
- idCustomNotification = idCustomNotification.concat('-fade');
1441
- }
1442
- }
1443
-
1444
- function setAutoHide(autoHide){
1445
- if(autoHide == "false"){
1446
- dataNotification.autoHideAfter = 0;
1447
- idCustomNotification = idCustomNotification.concat('-autoHideAfter');
1448
- }
1449
- }
1450
-
1451
- async function initializeNotification(id, options) {
1452
- if (!hasHTMLElement(id)) {
1453
- let idNotification = $(`<span id="${id}"></span>`);
1454
- $('body').append(idNotification);
1455
-
1456
- await $(`#${id}`).kendoNotification(options);
1457
-
1458
- if(horizontalPosition == "center"){
1459
- centerElementScreen(e)
1460
- }
1461
- }
1462
- }
1463
-
1464
- function isNotificationInitialized(id) {
1465
- return $(`#${id}`).getKendoNotification();
1466
- }
1467
-
1468
- function showNotification(id, message, status) {
1469
- $(`#${id}`).getKendoNotification().show(message, status);
1470
- }
1471
-
1472
- function hasHTMLElement(id) {
1473
- return document.getElementById(id);
1474
- }
1475
-
1476
- };
1477
-
1478
1281
  /**
1479
1282
  * @type function
1480
1283
  * @name {{datasourceFromScreenName}}
@@ -1837,13 +1640,6 @@ if (!window.fixedTimeZone) {
1837
1640
  return null;
1838
1641
  };
1839
1642
 
1840
- /**
1841
- * @category {{notificationCategory}}
1842
- * @categoryTags notification | notification
1843
- */
1844
- this.cronapi.notification = {};
1845
-
1846
-
1847
1643
  /**
1848
1644
  * @deprecated true
1849
1645
  * @type function
@@ -1858,184 +1654,60 @@ if (!window.fixedTimeZone) {
1858
1654
  var value = confirm(msg);
1859
1655
  return value;
1860
1656
  };
1657
+
1658
+ /**
1659
+ * @type function
1660
+ * @name {{createDefaultModalName}}
1661
+ * @nameTags createModal|Criar Modal| Modal
1662
+ * @description {{createDefaultModalDescription}}
1663
+ * @param {ObjectType.STRING} title {{createDefaultModalParam1}}
1664
+ * @param {ObjectType.STRING} msg {{createDefaultModalParam2}}
1665
+ * @param {ObjectType.STRING} buttonCancelName {{createDefaultModalParam3}}
1666
+ * @param {ObjectType.STRING} buttonSaveName {{createDefaultModalParam4}}
1667
+ *
1668
+ */
1669
+ this.cronapi.screen.createDefaultModal = function(title, msg, buttonCancelName, buttonSaveName, /** @type {ObjectType.STATEMENT} @description {{createDefaultModalParam5}} */ onSuccess, /** @type {ObjectType.STATEMENT} @description {{createDefaultModalParam6}}*/ onError,/** @type {ObjectType.STATEMENT} @description {{createDefaultModalParam7}}*/ onClose ) {
1670
+ $('#modalTemplateTitle').text(title);
1671
+ $('#modalTemplateBody').text(msg);
1672
+ $('#modalTemplateCancel').text(buttonCancelName);
1673
+ $('#modalTemplateSave').text(buttonSaveName);
1674
+ $( "#modalTemplateClose").unbind( "click" );
1675
+ $('#modalTemplateClose').click(onClose);
1676
+ $( "#modalTemplateCancel").unbind( "click" );
1677
+ $('#modalTemplateCancel').click(onError);
1678
+ $( "#modalTemplateSave").unbind( "click" );
1679
+ $('#modalTemplateSave').click(onSuccess);
1680
+ this.cronapi.screen.showModal('modalTemplate');
1681
+
1682
+ };
1861
1683
 
1862
1684
  /**
1863
1685
  * @type function
1864
- * @name {{confirmDialogAlertName}}
1865
- * @nameTags confirmDialog | Confirmar | alert | modal | alerta
1866
- * @description {{confirmDialogAlertDescription}}
1867
- * @param {ObjectType.STRING} icon {{icon}
1868
- * @param {ObjectType.STRING} title {{title}}
1869
- * @param {ObjectType.STRING} subtitle {{subtitle}}
1870
- * @param {ObjectType.OBJECT} buttonConfirmDialogAlert {{confimDialogAlert.listButton}}
1686
+ * @name {{showModal}}
1687
+ * @nameTags Show| Modal| Exibir| Mostrar
1871
1688
  * @platform W
1689
+ * @description {{showModalDesc}}
1690
+ * @param {ObjectType.STRING} component {{ComponentParam}}
1872
1691
  * @multilayer true
1873
1692
  */
1874
- this.cronapi.notification.confirmDialogAlert = function(/** @type {ObjectType.STRING} @description {{icon}} @blockType util_dropdown @keys error|success|warning|info @values {{error}}|{{success}}|{{warning}}|{{info}} */ icon, title, subtitle, /** @type {ObjectType.OBJECT} */ buttonConfirmDialogAlert) {
1693
+ this.cronapi.screen.showModal = function(/** @type {ObjectType.OBJECT} @blockType ids_from_screen*/ id) {
1694
+ let modalToShow = `#${id}`;
1695
+ let focused = $(':focus');
1696
+ let allHover = $(':hover');
1875
1697
 
1876
- let idDialog = 'cronapp-dialog-' + Math.random();
1877
- let dialog = $(`<span id="${idDialog}"></span>`);
1878
- $('body').append(dialog);
1879
-
1880
- let dataDialog = {
1881
- width: "450px",
1882
- title: false,
1883
- closable: false,
1884
- modal: true,
1885
- content: "",
1886
- animation: {
1887
- open: {
1888
- effects: "zoom:in"
1889
- },
1890
- close: {
1891
- effects: "zoom:out"
1892
- }
1893
- },
1894
- buttonLayout: "normal",
1895
- actions: [],
1896
- close: function(e) {
1897
- setInterval(() => {
1898
- $(`#${idDialog}`).data("kendoDialog").destroy();
1899
- }, 3000);
1900
- }
1901
- };
1698
+ try{
1699
+ $(modalToShow).one('shown.bs.modal', function (e) {
1902
1700
 
1903
- setIcon(icon, title, subtitle);
1904
- setButton(buttonConfirmDialogAlert);
1905
-
1906
- dialog.kendoDialog(dataDialog);
1907
- dialog.data("kendoDialog").open();
1908
-
1909
- async function setIcon(icon, title, subtitle){
1910
- switch (icon){
1911
- case "error":
1912
- icon = '<div class="cronapp-icon cronapp-error" style="display: flex;"> <span class="cronapp-x-mark"><span class="cronapp-x-mark-line-left"></span><span class="cronapp-x-mark-line-right"></span></span></div>';
1913
- break;
1914
-
1915
- case "success":
1916
- icon = '<div class="cronapp-icon cronapp-success"><div class="cronapp-success-circular-line-left"></div><span class="cronapp-success-line-tip"></span> <span class="cronapp-success-line-long"></span><div class="cronapp-success-ring"></div><div class="cronapp-success-fix"></div> <div class="cronapp-success-circular-line-right"></div></div>';
1917
- break;
1918
-
1919
- case "warning":
1920
- icon = '<div class="cronapp-icon cronapp-warning"><div class="cronapp-icon-content">!</div></div>';
1921
- break;
1922
-
1923
- case "info":
1924
- icon = '<div class="cronapp-icon cronapp-info"><div class="cronapp-icon-content">i</div></div>';
1925
- break;
1926
- }
1927
- await setContent(icon, title, subtitle);
1928
-
1929
- }
1930
-
1931
- function setContent(icon, title, subtitle){
1932
- dataDialog.content = '<div id="modalBodyConfirmDialog"> <div class="icon">'+ icon +'</div> <h2 class="title">'+ title +'</h2> <h3 class="subtitle">'+ subtitle +'</h3> </div>';
1933
- }
1934
-
1935
- function setButton(buttonConfirmDialogAlert){
1936
- let buttons = (Array.isArray(buttonConfirmDialogAlert) ? buttonConfirmDialogAlert : [buttonConfirmDialogAlert]);
1937
-
1938
- let hasButton = false;
1939
-
1940
- for (let i = 0; i < buttons.length; i++) {
1941
- let button = buttons[i];
1942
- if(button){
1943
- dataDialog.actions.push({
1944
- text: button.title,
1945
- action: button.value,
1946
- primary: button.primaryValue == 'true' ? true : null
1947
- });
1948
-
1949
- hasButton = true;
1950
-
1951
- }
1952
- };
1953
-
1954
- // If you have not added a button to the modal. Add to be able to close the modal.
1955
- if(!hasButton){
1956
- dataDialog.actions.push({
1957
- text: "OK",
1958
- primary: true
1959
- });
1960
- };
1961
-
1962
- }
1963
-
1964
- };
1965
-
1966
- /**
1967
- * @type function
1968
- * @name {{buttonConfirmDialogAlert}}
1969
- * @nameTags confirmDialog | botão | button | alert | modal | alerta
1970
- * @description {{buttonConfirmDialogAlertDescription}}
1971
- * @platform W
1972
- * @param {ObjectType.BOOLEAN} primaryButton {{buttonConfirmDialogAlert.primaryButton}}
1973
- * @param {ObjectType.STRING} title {{title}}
1974
- * @param {ObjectType.STRING} value {{buttonConfirmDialogAlert.value}}
1975
- * @returns {ObjectType.OBJECT}
1976
- */
1977
- this.cronapi.notification.buttonConfirmDialogAlert = function (/** @type {ObjectType.STRING} @description {{buttonConfirmDialogAlert.primaryButton}} @blockType util_dropdown @keys true|false @values {{yes}}|{{no}} */ primaryButton, title, /** @type {ObjectType.STATEMENT} @description {{buttonConfirmDialogAlert.value}} */ value) {
1978
- return {
1979
- title: title,
1980
- value: value,
1981
- primaryValue: primaryButton
1982
- };
1983
- };
1984
-
1985
-
1986
- /**
1987
- * @type function
1988
- * @name {{createDefaultModalName}}
1989
- * @nameTags createModal|Criar Modal| Modal
1990
- * @description {{createDefaultModalDescription}}
1991
- * @param {ObjectType.STRING} title {{createDefaultModalParam1}}
1992
- * @param {ObjectType.STRING} msg {{createDefaultModalParam2}}
1993
- * @param {ObjectType.STRING} buttonCancelName {{createDefaultModalParam3}}
1994
- * @param {ObjectType.STRING} buttonSaveName {{createDefaultModalParam4}}
1995
- *
1996
- */
1997
- this.cronapi.screen.createDefaultModal = function(title, msg, buttonCancelName, buttonSaveName, /** @type {ObjectType.STATEMENT} @description {{createDefaultModalParam5}} */ onSuccess, /** @type {ObjectType.STATEMENT} @description {{createDefaultModalParam6}}*/ onError,/** @type {ObjectType.STATEMENT} @description {{createDefaultModalParam7}}*/ onClose ) {
1998
- $('#modalTemplateTitle').text(title);
1999
- $('#modalTemplateBody').text(msg);
2000
- $('#modalTemplateCancel').text(buttonCancelName);
2001
- $('#modalTemplateSave').text(buttonSaveName);
2002
- $( "#modalTemplateClose").unbind( "click" );
2003
- $('#modalTemplateClose').click(onClose);
2004
- $( "#modalTemplateCancel").unbind( "click" );
2005
- $('#modalTemplateCancel').click(onError);
2006
- $( "#modalTemplateSave").unbind( "click" );
2007
- $('#modalTemplateSave').click(onSuccess);
2008
- this.cronapi.screen.showModal('modalTemplate');
2009
-
2010
- };
2011
-
2012
- /**
2013
- * @type function
2014
- * @name {{showModal}}
2015
- * @nameTags Show| Modal| Exibir| Mostrar
2016
- * @platform W
2017
- * @description {{showModalDesc}}
2018
- * @param {ObjectType.STRING} component {{ComponentParam}}
2019
- * @multilayer true
2020
- */
2021
- this.cronapi.screen.showModal = function(/** @type {ObjectType.OBJECT} @blockType ids_from_screen*/ id) {
2022
- let modalToShow = `#${id}`;
2023
- let focused = $(':focus');
2024
- let allHover = $(':hover');
2025
-
2026
- try{
2027
- $(modalToShow).one('shown.bs.modal', function (e) {
2028
-
2029
- if (focused.length) {
2030
- $(this).data('lastFocused', focused);
2031
- $(this).data('lastFocusedClass', '.' + focused.attr('class').split(' ').join('.'));
2032
- }
2033
- if (allHover.length) {
2034
- $(this).data('lastHovers', allHover);
2035
- }
2036
- let firstInputVisible = $(this).find('input:not(:hidden)')[0];
2037
- if (firstInputVisible)
2038
- firstInputVisible.focus();
1701
+ if (focused.length) {
1702
+ $(this).data('lastFocused', focused);
1703
+ $(this).data('lastFocusedClass', '.' + focused.attr('class').split(' ').join('.'));
1704
+ }
1705
+ if (allHover.length) {
1706
+ $(this).data('lastHovers', allHover);
1707
+ }
1708
+ let firstInputVisible = $(this).find('input:not(:hidden)')[0];
1709
+ if (firstInputVisible)
1710
+ firstInputVisible.focus();
2039
1711
 
2040
1712
  }).one('hidden.bs.modal', function(e) {
2041
1713
 
@@ -4651,8 +4323,13 @@ if (!window.fixedTimeZone) {
4651
4323
  let options = { destinationType: Number(destinationType) , sourceType : Number(pictureSourceType) , mediaType: Number(mediaType) , allowEdit: allowEdit};
4652
4324
  if(window.cordova && window.cordova.platformId && window.cordova.platformId !== 'browser') {
4653
4325
 
4654
- let resultWithData = (data) => {
4655
- if (data && !data.startsWith("data:image")) data = "data:image/jpeg;base64, " + data;
4326
+ let resultWithData = async (data) => {
4327
+ if (data.startsWith("file://")) {
4328
+ data = Ionic.WebView.convertFileSrc(data);
4329
+ }
4330
+ else if (data && !data.startsWith("data:image")) {
4331
+ data = "data:image/jpeg;base64, " + data;
4332
+ }
4656
4333
  !success || success(data);
4657
4334
  };
4658
4335
  navigator.camera.getPicture(this.cronapi.util.handleCallback(resultWithData), this.cronapi.util.handleCallback(error), options);
@@ -5454,6 +5131,7 @@ if (!window.fixedTimeZone) {
5454
5131
  */
5455
5132
  this.cronapi.chart.createChart = function(/** @type {ObjectType.OBJECT} @description {{createChartId}} @blockType ids_from_screen*/ chartId, /** @type {ObjectType.STRING} @description {{createChartType}} @blockType util_dropdown @keys line|bar|horizontalBar|doughnut|pie|polarArea @values line|bar|horizontalBar|doughnut|pie|polarArea */ type, /** @type {ObjectType.LIST} @description {{createChartLegends}} */ chartLegends, /** @type {ObjectType.LIST} @description {{createChartOptions}} */ options, /** @type {ObjectType.LIST} @description {{createChartSeries}} */ series) {
5456
5133
 
5134
+ var colors = options && options.colors ? options.colors : [];
5457
5135
  var CSS_COLOR_NAMES = ["#FF5C00","#0E53A7","#48DD00","#FFD500","#7309AA","#CD0074","#00AF64","#BF8230","#F16D95","#A65000","#A65000","#AF66D5"];
5458
5136
  var colorIndex = 0;
5459
5137
 
@@ -5558,7 +5236,7 @@ if (!window.fixedTimeZone) {
5558
5236
  //Applying configs in Datasets
5559
5237
  $.each(json.data.datasets, function(index,value){
5560
5238
  value.fill = false;
5561
- value.backgroundColor = CSS_COLOR_NAMES[nextColor()];
5239
+ value.backgroundColor = colors[index] ? colors[index] : CSS_COLOR_NAMES[nextColor()];
5562
5240
  value.borderColor = value.backgroundColor;
5563
5241
  beginAtZero();
5564
5242
  displayLegend();
@@ -5571,7 +5249,11 @@ if (!window.fixedTimeZone) {
5571
5249
  json.data.datasets = getDataset(arguments);
5572
5250
  //Applying configs in Datasets
5573
5251
  $.each(json.data.datasets, function(index,value){
5574
- value.backgroundColor = CSS_COLOR_NAMES[nextColor()];
5252
+ if(json.data.datasets.length === 1 && colors.length > 1){
5253
+ value.backgroundColor = colors;
5254
+ }else{
5255
+ value.backgroundColor = colors[index] ? colors[index] : CSS_COLOR_NAMES[nextColor()];
5256
+ }
5575
5257
  value.borderColor = value.backgroundColor;
5576
5258
  });
5577
5259
  beginAtZero();
@@ -5589,8 +5271,7 @@ if (!window.fixedTimeZone) {
5589
5271
  dtset.backgroundColor = [];
5590
5272
  dtset.borderColor = [];
5591
5273
  $.each(dtset.data, function(indexx,valuee){
5592
- dtset.backgroundColor.push( CSS_COLOR_NAMES[nextColor()] );
5593
-
5274
+ dtset.backgroundColor.push( colors[indexx] ? colors[indexx] : CSS_COLOR_NAMES[nextColor()] );
5594
5275
  });
5595
5276
  dtset.borderColor = dtset.backgroundColor;
5596
5277
  json.data.datasets.push(dtset);
@@ -5779,7 +5460,324 @@ if (!window.fixedTimeZone) {
5779
5460
  */
5780
5461
  this.cronapi.screen.back = function() {
5781
5462
  history.back();
5782
- }
5463
+ };
5464
+
5465
+ /**
5466
+ * @category {{notificationCategory}}
5467
+ * @categoryTags notification | notification
5468
+ */
5469
+ this.cronapi.notification = {};
5470
+
5471
+ /**
5472
+ * @type function
5473
+ * @name {{confirmDialogAlertName}}
5474
+ * @nameTags confirmDialog | Confirmar | alert | modal | alerta
5475
+ * @description {{confirmDialogAlertDescription}}
5476
+ * @param {ObjectType.STRING} icon {{icon}
5477
+ * @param {ObjectType.STRING} title {{title}}
5478
+ * @param {ObjectType.STRING} subtitle {{subtitle}}
5479
+ * @param {ObjectType.OBJECT} buttonConfirmDialogAlert {{confimDialogAlert.listButton}}
5480
+ * @platform W
5481
+ * @multilayer true
5482
+ */
5483
+ this.cronapi.notification.confirmDialogAlert = function(/** @type {ObjectType.STRING} @description {{icon}} @blockType util_dropdown @keys error|success|warning|info @values {{error}}|{{success}}|{{warning}}|{{info}} */ icon, title, subtitle, /** @type {ObjectType.OBJECT} */ buttonConfirmDialogAlert) {
5484
+
5485
+ let idDialog = 'cronapp-dialog-' + Math.random();
5486
+ let dialog = $(`<span id="${idDialog}"></span>`);
5487
+ $('body').append(dialog);
5488
+
5489
+ let dataDialog = {
5490
+ width: "450px",
5491
+ title: false,
5492
+ closable: false,
5493
+ modal: true,
5494
+ content: "",
5495
+ animation: {
5496
+ open: {
5497
+ effects: "zoom:in"
5498
+ },
5499
+ close: {
5500
+ effects: "zoom:out"
5501
+ }
5502
+ },
5503
+ buttonLayout: "normal",
5504
+ actions: [],
5505
+ close: function(e) {
5506
+ setInterval(() => {
5507
+ $(`#${idDialog}`).data("kendoDialog").destroy();
5508
+ }, 3000);
5509
+ }
5510
+ };
5511
+
5512
+ setIcon(icon, title, subtitle);
5513
+ setButton(buttonConfirmDialogAlert);
5514
+
5515
+ dialog.kendoDialog(dataDialog);
5516
+ dialog.data("kendoDialog").open();
5517
+
5518
+ async function setIcon(icon, title, subtitle){
5519
+ switch (icon){
5520
+ case "error":
5521
+ icon = '<div class="cronapp-icon cronapp-error" style="display: flex;"> <span class="cronapp-x-mark"><span class="cronapp-x-mark-line-left"></span><span class="cronapp-x-mark-line-right"></span></span></div>';
5522
+ break;
5523
+
5524
+ case "success":
5525
+ icon = '<div class="cronapp-icon cronapp-success"><div class="cronapp-success-circular-line-left"></div><span class="cronapp-success-line-tip"></span> <span class="cronapp-success-line-long"></span><div class="cronapp-success-ring"></div><div class="cronapp-success-fix"></div> <div class="cronapp-success-circular-line-right"></div></div>';
5526
+ break;
5527
+
5528
+ case "warning":
5529
+ icon = '<div class="cronapp-icon cronapp-warning"><div class="cronapp-icon-content">!</div></div>';
5530
+ break;
5531
+
5532
+ case "info":
5533
+ icon = '<div class="cronapp-icon cronapp-info"><div class="cronapp-icon-content">i</div></div>';
5534
+ break;
5535
+ }
5536
+ await setContent(icon, title, subtitle);
5537
+ }
5538
+
5539
+ function setContent(icon, title, subtitle){
5540
+ dataDialog.content = '<div id="modalBodyConfirmDialog"> <div class="icon">'+ icon +'</div> <h2 class="title">'+ title +'</h2> <h3 class="subtitle">'+ subtitle +'</h3> </div>';
5541
+ }
5542
+
5543
+ function setButton(buttonConfirmDialogAlert){
5544
+ let buttons = (Array.isArray(buttonConfirmDialogAlert) ? buttonConfirmDialogAlert : [buttonConfirmDialogAlert]);
5545
+
5546
+ let hasButton = false;
5547
+
5548
+ for (let i = 0; i < buttons.length; i++) {
5549
+ let button = buttons[i];
5550
+ if(button){
5551
+ dataDialog.actions.push({
5552
+ text: button.title,
5553
+ action: button.value,
5554
+ primary: button.primaryValue == 'true' ? true : null
5555
+ });
5556
+
5557
+ hasButton = true;
5558
+
5559
+ }
5560
+ };
5561
+
5562
+ // If you have not added a button to the modal. Add to be able to close the modal.
5563
+ if(!hasButton){
5564
+ dataDialog.actions.push({
5565
+ text: "OK",
5566
+ primary: true
5567
+ });
5568
+ };
5569
+
5570
+ }
5571
+
5572
+ };
5573
+
5574
+ /**
5575
+ * @type function
5576
+ * @name {{buttonConfirmDialogAlert}}
5577
+ * @nameTags confirmDialog | botão | button | alert | modal | alerta
5578
+ * @description {{buttonConfirmDialogAlertDescription}}
5579
+ * @platform W
5580
+ * @param {ObjectType.BOOLEAN} primaryButton {{buttonConfirmDialogAlert.primaryButton}}
5581
+ * @param {ObjectType.STRING} title {{title}}
5582
+ * @param {ObjectType.STRING} value {{buttonConfirmDialogAlert.value}}
5583
+ * @returns {ObjectType.OBJECT}
5584
+ */
5585
+ this.cronapi.notification.buttonConfirmDialogAlert = function (/** @type {ObjectType.STRING} @description {{buttonConfirmDialogAlert.primaryButton}} @blockType util_dropdown @keys true|false @values {{yes}}|{{no}} */ primaryButton, title, /** @type {ObjectType.STATEMENT} @description {{buttonConfirmDialogAlert.value}} */ value) {
5586
+ return {
5587
+ title: title,
5588
+ value: value,
5589
+ primaryValue: primaryButton
5590
+ };
5591
+ };
5592
+
5593
+ /**
5594
+ * @type function
5595
+ * @name {{screenNotifySimpleName}}
5596
+ * @description {{screenNotifySimpleDescription}}
5597
+ * @nameTags show | exibir | exibe | notification | notificação
5598
+ * @param {ObjectType.STRING} status {{screenNotifySimpleParam0}}
5599
+ * @param {ObjectType.STRING} message {{screenNotifySimpleParam1}}
5600
+ * @param {ObjectType.STRING} animation {{screenNotifySimpleParam2}}
5601
+ * @param {ObjectType.STRING} verticalPosition {{screenNotifySimpleParam3}}
5602
+ * @param {ObjectType.STRING} horizontalPosition {{screenNotifySimpleParam4}}
5603
+ * @param {ObjectType.STRING} autoHide {{screenNotifySimpleParam5}}
5604
+ */
5605
+ this.cronapi.notification.customNotify = function(/** @type {ObjectType.STRING} @description {{status}} @blockType util_dropdown @keys error|success|warning|info @values {{error}}|{{success}}|{{warning}}|{{info}} */ status, /** @type {ObjectType.STRING} */ message, /** @type {ObjectType.STRING} @description {{animation}} @blockType util_dropdown @keys fade|slide|zoom @values {{fade}}|{{slide}}|{{zoom}} */ animation, /** @type {ObjectType.STRING} @description {{verticalPosition}} @blockType util_dropdown @keys top|bottom @values {{top}}|{{bottom}} */ verticalPosition, /** @type {ObjectType.STRING} @description {{horizontalPosition}} @blockType util_dropdown @keys left|center|right @values {{left}}|{{center}}|{{right}} */ horizontalPosition, /** @type {ObjectType.STRING} @description {{autoHide}} @blockType util_dropdown @keys true|false @values {{yes}}|{{no}} */ autoHide) {
5606
+
5607
+ let idCustomNotification = "customNotification" ;
5608
+
5609
+ let dataNotification = {
5610
+ stacking: "default",
5611
+ autoHideAfter: 5000,
5612
+ position: {
5613
+ pinned: true
5614
+ },
5615
+ animation: {
5616
+ open: {
5617
+ effects: null
5618
+ },
5619
+ close: {
5620
+ effects: null
5621
+ }
5622
+ }
5623
+ };
5624
+
5625
+ if (animation || verticalPosition || horizontalPosition || autoHide) {
5626
+ customNotification(message, status, animation, verticalPosition, horizontalPosition, autoHide);
5627
+ } else {
5628
+ defaultNotification(message, status);
5629
+ }
5630
+
5631
+ async function defaultNotification(message, status) {
5632
+
5633
+ let cronappConfig = {
5634
+ id: "CronappNotification",
5635
+ verticalPosition: "top",
5636
+ horizontalPosition: "left",
5637
+ animation: "slide",
5638
+ autoHide: "false"
5639
+ };
5640
+
5641
+ setVerticalPosition(cronappConfig.verticalPosition);
5642
+ setHorizontalPosition(cronappConfig.horizontalPosition);
5643
+ setAnimation(cronappConfig.animation);
5644
+ setAutoHide(cronappConfig.autoHide);
5645
+
5646
+ if (!isNotificationInitialized(cronappConfig.id)) {
5647
+ initializeNotification(cronappConfig.id, dataNotification);
5648
+ }
5649
+
5650
+ showNotification(cronappConfig.id, message, status);
5651
+
5652
+ }
5653
+
5654
+ async function customNotification(message, status, animation, verticalPosition, horizontalPosition, autoHide) {
5655
+
5656
+ setVerticalPosition(verticalPosition);
5657
+ setHorizontalPosition(horizontalPosition);
5658
+ setAnimation(animation);
5659
+ setAutoHide(autoHide);
5660
+
5661
+ initializeNotification(idCustomNotification, dataNotification);
5662
+ showNotification(idCustomNotification, message, status);
5663
+
5664
+ }
5665
+
5666
+ function setVerticalPosition(verticalPosition){
5667
+ switch (verticalPosition) {
5668
+ case "bottom":
5669
+ dataNotification.position.bottom = 20;
5670
+ idCustomNotification = idCustomNotification.concat('-bottom');
5671
+ break;
5672
+
5673
+ default:
5674
+ dataNotification.position.top = 60;
5675
+ idCustomNotification = idCustomNotification.concat('-top');
5676
+
5677
+ }
5678
+ }
5679
+
5680
+ function setHorizontalPosition(horizontalPosition){
5681
+ switch (horizontalPosition) {
5682
+ case "right":
5683
+ dataNotification.position.right = 20;
5684
+ idCustomNotification = idCustomNotification.concat('-right');
5685
+ break;
5686
+
5687
+ case "center":
5688
+ dataNotification.show = centerElementScreen;
5689
+ idCustomNotification = idCustomNotification.concat('-center');
5690
+ break;
5691
+
5692
+ default:
5693
+ dataNotification.position.left = 20;
5694
+ idCustomNotification = idCustomNotification.concat('-left');
5695
+
5696
+ }
5697
+ }
5698
+
5699
+ function centerElementScreen(e){
5700
+ if (e.sender.getNotifications().length == 1) {
5701
+ var element = e.element.parent(),
5702
+ eWidth = element.width(),
5703
+ wWidth = $(window).width()
5704
+ var newLeft;
5705
+
5706
+ newLeft = Math.floor(wWidth / 2 - eWidth / 2);
5707
+
5708
+ e.element.parent().css({ left: newLeft });
5709
+ }
5710
+ }
5711
+
5712
+ function setAnimation(animation){
5713
+ switch (animation) {
5714
+ case "slide":
5715
+ if (dataNotification.show && dataNotification.position.bottom != null) {
5716
+ dataNotification.animation.open.effects = "slideIn:up";
5717
+ idCustomNotification = idCustomNotification.concat('-slideIn-up');
5718
+
5719
+ } else if (dataNotification.show && dataNotification.position.top != null) {
5720
+ dataNotification.animation.open.effects = "slideIn:down";
5721
+ idCustomNotification = idCustomNotification.concat('-slideIn-dow');
5722
+
5723
+ } else if (dataNotification.position.left != null) {
5724
+ dataNotification.animation.open.effects = "slideIn:right";
5725
+ idCustomNotification = idCustomNotification.concat('-slideIn-right');
5726
+
5727
+ } else if (dataNotification.position.left == null) {
5728
+ dataNotification.animation.open.effects = "slideIn:left";
5729
+ idCustomNotification = idCustomNotification.concat('-slideIn-left');
5730
+ }
5731
+
5732
+ dataNotification.animation.close.effects = "slideOut";
5733
+ break;
5734
+
5735
+ case "zoom":
5736
+ dataNotification.animation.open.effects = "zoomIn";
5737
+ dataNotification.animation.close.effects = "zoomOut";
5738
+ idCustomNotification = idCustomNotification.concat('-zoom');
5739
+ break;
5740
+
5741
+ default:
5742
+ dataNotification.animation.open.effects = "fadeIn";
5743
+ dataNotification.animation.close.effects = "fadeOut";
5744
+ idCustomNotification = idCustomNotification.concat('-fade');
5745
+ }
5746
+ }
5747
+
5748
+ function setAutoHide(autoHide){
5749
+ if(autoHide == "false"){
5750
+ dataNotification.autoHideAfter = 0;
5751
+ idCustomNotification = idCustomNotification.concat('-autoHideAfter');
5752
+ }
5753
+ }
5754
+
5755
+ async function initializeNotification(id, options) {
5756
+ if (!hasHTMLElement(id)) {
5757
+ let idNotification = $(`<span id="${id}"></span>`);
5758
+ $('body').append(idNotification);
5759
+
5760
+ await $(`#${id}`).kendoNotification(options);
5761
+
5762
+ if(horizontalPosition == "center"){
5763
+ centerElementScreen(e)
5764
+ }
5765
+ }
5766
+ }
5767
+
5768
+ function isNotificationInitialized(id) {
5769
+ return $(`#${id}`).getKendoNotification();
5770
+ }
5771
+
5772
+ function showNotification(id, message, status) {
5773
+ $(`#${id}`).getKendoNotification().show(message, status);
5774
+ }
5775
+
5776
+ function hasHTMLElement(id) {
5777
+ return document.getElementById(id);
5778
+ }
5779
+
5780
+ };
5783
5781
 
5784
5782
  /**
5785
5783
  * @category CategoryType.REGEX
@@ -1,4 +1,4 @@
1
- (window.fixedTimeZone===void 0||null===window.fixedTimeZone)&&(window.fixedTimeZone=!0),(window.timeZone===void 0||null===window.timeZone)&&(window.timeZone="UTC"),(window.timeZoneOffset===void 0||null===window.timeZoneOffset)&&(window.timeZoneOffset=0),window.systemTimeZoneOffset=window.timeZoneOffset,window.fixedTimeZone||(window.timeZoneOffset=moment().utcOffset()),function(){'use strict';var _StringfromCharCode=String.fromCharCode;function getCalendar(t){let a=Date.now(),n=1e4,o=(r,c)=>{let s=$("#"+t+" cron-calendar").data("kendoCalendar");s?r(s):n&&Date.now()-a>=n?r():setTimeout(()=>o(r,c),200)};return new Promise(o)}function showErrorNotification(t){const a=this.cronapi.$translate.instant(t);this.cronapi.$scope.Notification.error(a)}function getChat(t){let a=Date.now(),n=1e4,o=(r,c)=>{let s=$("#"+t+" .k-chat").data("kendoChat");s?r(s):n&&Date.now()-a>=n?r():setTimeout(()=>o(r,c),200)};return new Promise(o)}this.$evt=function(t){var a=this;a.$eval||(a=angular.element(event.target).scope()),a||(a=angular.element(document.getElementById("main-view")).scope()),a.$eval(t)}.bind(this),this.cronapi={},this.cronapi.getRequestData=t=>{let a=t||{};return t.data&&"object"==typeof t.data&&(a=t.data),a},this.cronapi.toDate=function(t){return new Date(t)};var getDatasource=function(t){return"string"==typeof t?window[t]:t};this.cronapi.doEval=function(t){return t},this.cronapi.evalInContext=async function(js){var result=eval("this.cronapi.doEval("+js+")");if(result){if(result.commands)for(var func,i=0;i<result.commands.length;i++)func=eval(result.commands[i].function),await func.apply(this,result.commands[i].params);return result.value}};let clientMap={};this.cronapi.client=function(pack){let argsNames,attr=!1;return{attr:function(){return attr=!0,this},names:function(){argsNames=[];for(let t=0;t<arguments.length;t++)argsNames.push(arguments[t]);return this},run:function(){for(var key=pack,args=[],i=0;i<arguments.length;i++)key+=arguments[i]+"",args.push(arguments[i]);var bk,argsMetadata;try{bk=eval("blockly."+pack)}catch(t){}try{argsMetadata=eval("blockly."+pack+"Args")}catch(t){}if(bk||(bk=eval(pack)),argsMetadata&&argsMetadata.length&&argsNames&&argsNames.length){args=[];for(var i=0;i<argsMetadata.length;i++)args.push(null);for(let t=0;t<argsMetadata.length;t++)for(let a=0;a<argsNames.length;a++)if(argsMetadata[t]==argsNames[a]){args[t]=arguments[a];break}}if(attr){let t=bk.apply(this,args);return void 0!==t&&null!==t&&t.then&&"function"==typeof t.then?(t.then(t=>{clientMap[key]!==t&&this.safeApply(()=>{clientMap[key]=t})}).catch(t=>{clientMap[key]!==t&&this.safeApply(()=>{clientMap[key]=t})}),clientMap[key]):t}else{let t="AsyncFunction"===bk.constructor.name;return t?bk.apply(this,args).catch(t=>this.cronapi.$scope.Notification.error(t)):bk.apply(this,args)}}.bind(this)}};var serverMap={};this.cronapi.server=function(t){var a=!1,n=!1,o=!0,r=!0;let c;return{attr:function(){return a=!0,this},toPromise:function(){return n=!0,this},notAsync:function(){return o=!1,this},names:function(){c=[];for(let t=0;t<arguments.length;t++)c.push(arguments[t]);return this},disableNotification:function(){return r=!1,this},run:function(){for(var s=t,l=0;l<arguments.length;l++)s+=arguments[l]+"";if(a){if(serverMap.hasOwnProperty(s))return"$$loading"==serverMap[s]?"":serverMap[s];serverMap[s]="$$loading"}var d=t.split("."),p=d[d.length-1];d.pop();var u,m,g=d.join("."),h=new Promise((t,a)=>{u=t,m=a}),f=function(t){this.safeApply(function(){a&&(serverMap[s]=t),u(t)})}.bind(this),b=function(t){this.safeApply(function(){a&&(serverMap[s]=t),m(t)}),t&&r&&this.cronapi.$scope.Notification.error(t)}.bind(this),y=[g+":"+p];if(o){y.push(f),y.push(b),c&&c.length&&y.push({argsNames:c});for(var l=0;l<arguments.length;l++)y.push(arguments[l]);if(this.cronapi.util.makeCallServerBlocklyAsync.apply(this,y),n)return h}else{c&&c.length&&y.push({argsNames:c});for(var l=0;l<arguments.length;l++)y.push(arguments[l]);let t=this.cronapi.util.callServerBlockly.apply(this,y);return a&&(serverMap[s]=t),t}}.bind(this)}},this.cronapi.callFunction=function(name){return{call:function(){var ref;try{ref=eval(name)}catch(t){}return ref?ref.apply(this,arguments):void 0}.bind(this)}},this.cronapi.conversion={},this.cronapi.conversion.asciiToBinary=function(t){var a="";if(0<t.length)for(var n,o=0;o<t.length;o++){n=t.charCodeAt(o);for(var r=7;0<=r;r--)a+=1&n>>r}return a},this.cronapi.conversion.toBoolean=function(t){return this.cronapi.internal.parseBoolean(t)},this.cronapi.conversion.toBytes=function(t){return t?t.toString():""},this.cronapi.conversion.chrToAscii=function(t){return t?t.charCodeAt(0):null},this.cronapi.conversion.stringToJs=function(t){return this.cronapi.internal.stringToJs(t)},this.cronapi.conversion.stringToDate=function(value){var pattern=/^\s*(\d+)[\/\.-](\d+)[\/\.-](\d+)(\s(\d+):(\d+):(\d+))?\s*$/;if(value){if(value instanceof Date)return value;if(pattern.test(value)){var splited=pattern.exec(value),userLang=(navigator.language||navigator.userLanguage).split("-")[0];if("pt"==userLang||"en"==userLang){var functionToCall=eval("cronapi.internal."+userLang+"Date");return functionToCall(splited)}return new Date(value)}return new Date(value)}return null},this.cronapi.conversion.stringToDateWithFormat=function(t,a){let n=moment(t,a);return n.isValid()?n.toDate():null},this.cronapi.conversion.intToHex=function(t){return(+t).toString(16).toUpperCase()},this.cronapi.conversion.toLong=function(t){return parseInt(t)},this.cronapi.conversion.toString=function(t){if(t){var a=new String(t);return a.toString()}return""},this.cronapi.util={},this.cronapi.util.setToken=function(t){let a={};localStorage.getItem("_u")&&(a=JSON.parse(localStorage.getItem("_u")),a.token=t),localStorage.setItem("_u",JSON.stringify(a)),window.uToken=t},this.cronapi.util.getApplicationName=function(){return $("#projectName").length?$("#projectName").val():$("h1:first").length&&$("h1:first").text().trim().length?$("h1:first").text().trim():""},this.cronapi.util.createPromise=function(){var t,a,n=new Promise((n,o)=>{t=n,a=o});return n.__functionToResolve=t,n.__functionToReject=a,n},this.cronapi.util.handleValueToPromise=function(t,a,n){"resolve"===t?a.__functionToResolve(n):a.__functionToReject(n)},this.cronapi.util.sleep=async function(t){var a=new Promise(a=>{setInterval(()=>{a(t)},t)});return a},this.cronapi.util.callServerBlocklyAsync=function(t,a,n,o){const r=()=>{const t=new WeakSet;return(a,n)=>{if("object"==typeof n&&null!==n){if(t.has(n))return;t.add(n)}return n}};var c,s="api/cronapi/call/body/#classNameWithMethod#/".replace("#classNameWithMethod#",t),l=this.cronapi.$scope.http,d=[];$(arguments).each(function(){this&&"object"==typeof this&&this.argsNames&&this.argsNames.constructor===Array?c=this.argsNames:d.push(this)});var p="";window.uToken&&(p=window.uToken);var u={fields:a,inputs:d.slice(4)};c&&(u.names=c);var m=this.cronapi.internal.getAddressWithHostApp(s);let g;try{g=JSON.stringify(u)}catch(t){g=JSON.stringify(u,r())}$.ajax({type:"POST",url:m,dataType:"html",data:g,headers:{"Content-Type":"application/json","X-AUTH-TOKEN":p,toJS:!0,timezone:moment().utcOffset()},success:n,error:o})},this.cronapi.util.getScreenFields=function(){var fields={};for(var key in this.cronapi.$scope)this.cronapi.$scope[key]&&this.cronapi.$scope[key].constructor&&"DataSet"==this.cronapi.$scope[key].constructor.name&&(fields[key]={},fields[key].active=this.cronapi.$scope[key].active);var scope=this.cronapi.$scope,recursiveLookup=function(scope){var fieldValue;try{fieldValue=eval(scope.vars)}catch(t){}if(fieldValue&&0!==Object.keys(fieldValue).length){var keys=Object.keys(fieldValue);keys.forEach(function(t){void 0!==fieldValue[t]&&null!==fieldValue[t]&&(!fields.vars&&(fields.vars={}),fields.vars[t]=fieldValue[t])})}else if(scope&&scope.$parent)return recursiveLookup(scope.$parent)};for(var key in recursiveLookup(scope),this.cronapi.$scope.params)this.cronapi.$scope.params[key]&&(fields.params||(fields.params={}),fields.params[key]=this.cronapi.$scope.params[key]);return fields},this.cronapi.util.makeCallServerBlocklyAsync=function(blocklyWithFunction,callbackSuccess,callbackError){var fields=this.cronapi.util.getScreenFields(),paramsApply=[];paramsApply.push(blocklyWithFunction),paramsApply.push(fields),paramsApply.push(function(data){this.cronapi.evalInContext(data).then(result=>{"string"==typeof callbackSuccess?eval(callbackSuccess)(result):callbackSuccess&&callbackSuccess(result)})}.bind(this)),paramsApply.push(function(data,status,errorThrown){var message=this.cronapi.internal.getErrorMessage(data.responseText,errorThrown);"string"==typeof callbackError?eval(callbackError)(message):callbackError?callbackError(message):this.cronapi.$scope.Notification.error(message)}.bind(this)),$(arguments).each(function(t){3<=t&&paramsApply.push(this)}),this.cronapi.util.callServerBlocklyAsync.apply(this,paramsApply)},this.cronapi.util.callServerBlocklyNoReturn=async function(){return this.cronapi.util.callServerBlockly.apply(this,arguments)},this.cronapi.util.throwException=function(t){throw t},this.cronapi.util.createException=function(t){return t},this.cronapi.util.language=function(){var t=(window.navigator.userLanguage||window.navigator.language||"pt_br").replace("-","_");return t},this.cronapi.util.share=function(t,a,n){return navigator.share({title:t,text:a,url:n}).then(()=>console.log("Successful share")).catch(t=>console.log("Error sharing:",t)),value},this.cronapi.util.callServerBlockly=async function(t){let a=[t,null,null],n=1;for(n;n<arguments.length;n++)a.push(arguments[n]);return new Promise(((t,n)=>{a[1]=(a=>{t(a)}).bind(this),a[2]=(t=>{n(t)}).bind(this),this.cronapi.util.makeCallServerBlocklyAsync.apply(this,a)}).bind(this))},this.cronapi.util.callServerBlocklyAsynchronous=function(t,a,n){if(""!=t&&"function"==typeof a){var n=[t,a,a],o=2;for(o;o<arguments.length;o++)n.push(arguments[o]);this.cronapi.util.makeCallServerBlocklyAsync.apply(this,n)}},this.cronapi.util.executeJavascriptNoReturn=function(value){eval(value)},this.cronapi.util.downloadFile=function(t){var a=this.cronapi.internal.getAddressWithHostApp(t);this.cronapi.screen.openUrl(a,"_blank",0,0)},this.cronapi.util.executeJavascriptNoReturn=function(value){eval(value)},this.cronapi.util.executeJavascriptReturn=function(value){return eval(value)},this.cronapi.util.openReport=function(t){this.cronapi.$scope.getReport(t)},this.cronapi.util.handleCallback=function(t){if(t){let a="AsyncFunction"===t.constructor.name;return a?function(){(async()=>await t.apply(this,arguments))()}.bind(this):t.bind(this)}},this.cronapi.util.getURLFromOthers=function(t,a,n,o,r,c,s){if(o&&"application/x-www-form-urlencoded"===a){for(var l in o)if(o[l]instanceof Array){var d=o[l].toString();o[l]=`[${d}]`}}else o&&"application/json"===a&&(o=JSON.stringify(o));var p=Object.create(r);p["Content-Type"]=a,$.ajax({method:t,url:n,data:o,headers:p}).done(this.cronapi.util.handleCallback(c).bind(this)).fail(this.cronapi.util.handleCallback(s.bind(this)))},this.cronapi.util.getUserToken=function(){return JSON.parse(window.localStorage.getItem("_u")).token},this.cronapi.util.setSessionStorage=function(t,a){window.sessionStorage.setItem(t,a)},this.cronapi.util.getSessionStorage=function(t){return window.sessionStorage.getItem(t)},this.cronapi.util.setLocalStorage=function(t,a){window.localStorage.setItem(t,a)},this.cronapi.util.getLocalStorage=function(t){return window.localStorage.getItem(t)},this.cronapi.util.executeAsynchronous=function(t){setTimeout(t,0)},this.cronapi.util.scheduleExecution=function(t,a,n,o,r){r=r||!0,r="true"===r||!0===r;var c=1;"seconds"===o?c=1e3:"minutes"===o?c=6e4:"hours"==o&&(c=36e5),a*=c,n*=c;var s=-1,l=setTimeout(function(){t(),s=setInterval(t,n)}.bind(this),a);r&&this.$on("$destroy",function(){try{clearTimeout(l)}catch(t){}try{clearInterval(s)}catch(t){}})},this.cronapi.util.openReport=function(t,a,n){this.cronapi.$scope.getReport(t,a,n)},this.cronapi.util.getCEP=function(t,a){if(this.cronapi.logic.isNullOrEmpty(t))throw new Error("Informe o CEP");if(t=t.replace(/\.|\-/g,"").split(" ").join(""),8>t.length)throw new Error("CEP inv\xE1lido");let n="https://viacep.com.br/ws/"+t+"/json/?callback=?";$.getJSON(n,this.cronapi.util.handleCallback(a.bind(this)))},this.cronapi.screen={},this.cronapi.screen.isInsertingMode=function(t){return getDatasource(t).inserting},this.cronapi.screen.isEditingMode=function(t){return getDatasource(t).editing},this.cronapi.screen.changeTitleScreen=function(t){window.document.title=t},this.cronapi.screen.fieldFromScreen=function(t){return t},this.cronapi.screen.changeValueOfField=function(t,a){try{this.__tempValue=a;var n=new Function("this."+t+" = this.__tempValue;");this.safeApply(n.bind(this))}catch(t){}},this.cronapi.screen.getValueOfField=function(field){try{if(field&&0<field.length){if(-1<field.indexOf(".active."))return eval(field);var scope=eval("this"),recursiveLookup=function(scope){var fieldValue;try{fieldValue=eval("scope."+field)}catch(t){}return void 0!==fieldValue||null!==fieldValue?fieldValue:scope&&scope.$parent?recursiveLookup(scope.$parent):""};return recursiveLookup(scope)}return""}catch(t){alert(t)}},this.cronapi.screen.createScopeVariable=function(t,a){this.cronapi.$scope.vars[t]=a},this.cronapi.screen.getScopeVariable=function(t){return this.cronapi.$scope.vars[t]},this.cronapi.notification={},this.cronapi.screen.notify=function(t,a){(null==a||a==null)&&(a=""),this.cronapi.$scope.Notification({message:a.toString()},t)},this.cronapi.notification.customNotify=function(t,a,n,o,r,c){async function s(t,a,n,o,r,c){l(o),d(r),u(n),m(c),g(y,v),f(y,t,a)}function l(t){"bottom"===t?(v.position.bottom=20,y=y.concat("-bottom")):(v.position.top=60,y=y.concat("-top"))}function d(t){"right"===t?(v.position.right=20,y=y.concat("-right")):"center"===t?(v.show=p,y=y.concat("-center")):(v.position.left=20,y=y.concat("-left"))}function p(t){if(1==t.sender.getNotifications().length){var a,n=t.element.parent(),o=n.width(),r=$(window).width();a=Math.floor(r/2-o/2),t.element.parent().css({left:a})}}function u(t){"slide"===t?(v.show&&null!=v.position.bottom?(v.animation.open.effects="slideIn:up",y=y.concat("-slideIn-up")):v.show&&null!=v.position.top?(v.animation.open.effects="slideIn:down",y=y.concat("-slideIn-dow")):null==v.position.left?null==v.position.left&&(v.animation.open.effects="slideIn:left",y=y.concat("-slideIn-left")):(v.animation.open.effects="slideIn:right",y=y.concat("-slideIn-right")),v.animation.close.effects="slideOut"):"zoom"===t?(v.animation.open.effects="zoomIn",v.animation.close.effects="zoomOut",y=y.concat("-zoom")):(v.animation.open.effects="fadeIn",v.animation.close.effects="fadeOut",y=y.concat("-fade"))}function m(t){"false"==t&&(v.autoHideAfter=0,y=y.concat("-autoHideAfter"))}async function g(t,a){if(!b(t)){let n=$(`<span id="${t}"></span>`);$("body").append(n),await $(`#${t}`).kendoNotification(a),"center"==r&&p(e)}}function h(t){return $(`#${t}`).getKendoNotification()}function f(t,a,n){$(`#${t}`).getKendoNotification().show(a,n)}function b(t){return document.getElementById(t)}let y="customNotification",v={stacking:"default",autoHideAfter:5e3,position:{pinned:!0},animation:{open:{effects:null},close:{effects:null}}};n||o||r||c?s(a,t,n,o,r,c):async function(t,a){let n={id:"CronappNotification",verticalPosition:"top",horizontalPosition:"left",animation:"slide",autoHide:"false"};l(n.verticalPosition),d(n.horizontalPosition),u(n.animation),m(n.autoHide),h(n.id)||g(n.id,v),f(n.id,t,a)}(a,t)},this.cronapi.screen.datasourceFromScreen=function(t){return t},this.cronapi.screen.startInsertingMode=async function(t){return new Promise((a,n)=>{getDatasource(t).$apply(()=>{try{getDatasource(t).startInserting(null,()=>{a()})}catch(t){n(t)}})})},this.cronapi.screen.startEditingMode=async function(t){return new Promise((a,n)=>{getDatasource(t).$apply(()=>{try{getDatasource(t).startEditing(null,()=>{a()})}catch(t){n(t)}})})},this.cronapi.screen.previusRecord=function(t){getDatasource(t).$apply(new function(){getDatasource(t).previous()})},this.cronapi.screen.nextRecord=function(t){getDatasource(t).$apply(new function(){getDatasource(t).next()})},this.cronapi.screen.firstRecord=function(t){getDatasource(t).$apply(new function(){var a=getDatasource(t);a.cursor=-1,a.next()})},this.cronapi.screen.lastRecord=function(t){getDatasource(t).$apply(new function(){var a=getDatasource(t);a.cursor=a.data.length-2,a.next()})},this.cronapi.screen.removeRecord=async function(t){return new Promise((a,n)=>{getDatasource(t).$apply(()=>{try{getDatasource(t).removeSilent(null,()=>{a()},t=>{n(t)})}catch(t){n(t)}})})},this.cronapi.screen.refreshActiveRecord=async function(t){return new Promise((a,n)=>{try{getDatasource(t).refreshActive(()=>{a()},t=>{n(t)})}catch(t){n(t)}})},this.cronapi.screen.hasNextRecord=function(t){return getDatasource(t).hasNext()},this.cronapi.screen.quantityRecords=function(t){return getDatasource(t).data.length},this.cronapi.screen.post=function(t){return getDatasource(t).postSilent()},this.cronapi.screen.filter=function(t,a){getDatasource(t).isOData()?getDatasource(t).search(a):getDatasource(t).filter("/"+a)},this.cronapi.screen.changeView=function(view,params){try{function decodeCharParam(value){if(value)for(var param in paramsStopEncode){var regex=eval("/"+param+"/g");value=value.replace(regex,paramsStopEncode[param])}return value}var queryString="",paramsStopEncode={};if(paramsStopEncode["%24"]="$","undefined"!=typeof params)for(var i in Object.keys(params)){var k=Object.keys(params[i])[0],paramValue=Object.values(params[i])[0];paramValue instanceof Date&&(paramValue=paramValue.toISOString());var v=paramValue+"";queryString&&(queryString+="&"),queryString+=decodeCharParam(encodeURIComponent(k))+"="+encodeURIComponent(v)}let existRoute=t=>{if(this.cronapi.$scope&&this.cronapi.$scope.$state){let a=this.cronapi.$scope.$state.get(),n=t.split("/").slice(2),o="views/"+n.join("/")+".view.html";a.forEach(a=>{let n=a.templateUrl;if(n instanceof Function){let t=/('|")[a-z0-9/.]+('|")/gim.exec(n.toString());null!==t&&void 0!==t&&t[0]&&(n=t[0].replace(/'/g,""))}n===o&&(t="#"+a.url)})}return t};var oldHash=window.location.hash;view=existRoute(view),window.location.hash=view+(queryString?"?"+queryString:"");var oldHashToCheck=oldHash+(-1<oldHash.indexOf("?")?"":"?"),viewToCheck=view+(-1<view.indexOf("?")?"":"?");this.cronapi.forceCloseAllModal(),0<=oldHashToCheck.indexOf(viewToCheck)&&window.location.reload()}catch(t){alert(t)}},this.cronapi.screen.openUrl=function(t,a,n,o){try{var r="_self",c="";a&&"true"==a.toString().toLowerCase()&&(r="_blank"),n&&(c+="width="+n+","),o&&(c+="height="+o+","),window.open(t,r,c)}catch(t){alert(t)}},this.cronapi.screen.getParam=function(t){try{for(var a,n=[],o=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),r=0;r<o.length;r++)a=o[r].split("="),n.push(a[0]),n[a[0]]=a[1];if(n[t]!==void 0)return decodeURIComponent(n[t])}catch(t){}return null},this.cronapi.notification={},this.cronapi.screen.confimDialog=function(t){var a=confirm(t);return a},this.cronapi.notification.confirmDialogAlert=function(t,a,n,o){function r(t,a,n){l.content="<div id=\"modalBodyConfirmDialog\"> <div class=\"icon\">"+t+"</div> <h2 class=\"title\">"+a+"</h2> <h3 class=\"subtitle\">"+n+"</h3> </div>"}let c="cronapp-dialog-"+Math.random(),s=$(`<span id="${c}"></span>`);$("body").append(s);let l={width:"450px",title:!1,closable:!1,modal:!0,content:"",animation:{open:{effects:"zoom:in"},close:{effects:"zoom:out"}},buttonLayout:"normal",actions:[],close:function(){setInterval(()=>{$(`#${c}`).data("kendoDialog").destroy()},3e3)}};(async function(t,a,n){"error"===t?t="<div class=\"cronapp-icon cronapp-error\" style=\"display: flex;\"> <span class=\"cronapp-x-mark\"><span class=\"cronapp-x-mark-line-left\"></span><span class=\"cronapp-x-mark-line-right\"></span></span></div>":"success"===t?t="<div class=\"cronapp-icon cronapp-success\"><div class=\"cronapp-success-circular-line-left\"></div><span class=\"cronapp-success-line-tip\"></span> <span class=\"cronapp-success-line-long\"></span><div class=\"cronapp-success-ring\"></div><div class=\"cronapp-success-fix\"></div> <div class=\"cronapp-success-circular-line-right\"></div></div>":"warning"===t?t="<div class=\"cronapp-icon cronapp-warning\"><div class=\"cronapp-icon-content\">!</div></div>":"info"===t?t="<div class=\"cronapp-icon cronapp-info\"><div class=\"cronapp-icon-content\">i</div></div>":void 0;await r(t,a,n)})(t,a,n),function(t){let a=Array.isArray(t)?t:[t],n=!1;for(let o,r=0;r<a.length;r++)o=a[r],o&&(l.actions.push({text:o.title,action:o.value,primary:"true"==o.primaryValue||null}),n=!0);n||l.actions.push({text:"OK",primary:!0})}(o),s.kendoDialog(l),s.data("kendoDialog").open()},this.cronapi.notification.buttonConfirmDialogAlert=function(t,a,n){return{title:a,value:n,primaryValue:t}},this.cronapi.screen.createDefaultModal=function(t,a,n,o,r,c,s){$("#modalTemplateTitle").text(t),$("#modalTemplateBody").text(a),$("#modalTemplateCancel").text(n),$("#modalTemplateSave").text(o),$("#modalTemplateClose").unbind("click"),$("#modalTemplateClose").click(s),$("#modalTemplateCancel").unbind("click"),$("#modalTemplateCancel").click(c),$("#modalTemplateSave").unbind("click"),$("#modalTemplateSave").click(r),this.cronapi.screen.showModal("modalTemplate")},this.cronapi.screen.showModal=function(t){let a=`#${t}`,n=$(":focus"),o=$(":hover");try{$(a).one("shown.bs.modal",function(){n.length&&($(this).data("lastFocused",n),$(this).data("lastFocusedClass","."+n.attr("class").split(" ").join("."))),o.length&&$(this).data("lastHovers",o);let t=$(this).find("input:not(:hidden)")[0];t&&t.focus()}).one("hidden.bs.modal",function(){let t,n=$(a).data("lastFocused"),o=!1;n&&n.length&&(t=$($(this).data("lastFocusedClass")),o=$("html").has(n).length?n.is(":visible"):t.is(":visible"));let r=function(t){return $(t[t.length-1]).closest("li:visible").find("a:first")},c=$(a).data("lastHovers");if(o)t.focus(),n.focus();else if($("html").has(n).length){let t=r(n);t.focus()}else if(c&&c.length){let t=r(c);t.focus()}}).modal({backdrop:"static",keyboard:!1})}catch(t){$(a).show()}$(a).css("overflow-y","auto")},this.cronapi.screen.setActiveTab=function(t){this.cronapi.$scope.safeApply(function(){$("#"+t).attr("data-target")===void 0?$("[data-target=\"#"+t+"\"]").tab("show"):$("#"+t).tab("show")})},this.cronapi.screen.hideModal=function(t){try{$("#"+t).modal("hide")}catch(a){$("#"+t).hide()}},this.cronapi.screen.showIonicModal=function(t){$("#"+t).data("cronapp-modal")&&$("#"+t).data("cronapp-modal").remove(),this.cronapi.$scope.$ionicModal.fromTemplateUrl(t,{scope:this.cronapi.$scope,animation:"slide-in-up"}).then(function(a){$("#"+t).data("cronapp-modal",a),a.show()})},this.cronapi.screen.hideIonicModal=function(t){if($("#"+t).data("cronapp-modal")){var a=$("#"+t).data("cronapp-modal");a.remove(),$("#"+t).data("cronapp-modal",null)}},this.cronapi.screen.isShownIonicModal=function(t){if($("#"+t).data("cronapp-modal")){var a=$("#"+t).data("cronapp-modal");return a.isShown()}return!1},this.cronapi.screen.showLoading=function(){this.cronapi.$scope.$ionicLoading.show({content:"Loading",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:0})},this.cronapi.screen.hide=function(){this.cronapi.$scope.$ionicLoading.hide()},this.cronapi.screen.getHostapp=function(){return window.hostApp},this.cronapi.screen.searchIds=function(){},this.cronapi.screen.showComponent=function(t){$("#"+t).get(0).style.setProperty("display","block","important")},this.cronapi.screen.hideComponent=function(t){$("#"+t).get(0).style.setProperty("display","none","important")},this.cronapi.screen.disableComponent=function(t){let a;if(window.cordova)a=this.cronapi.$scope;else{let t=window.angular.element("body").injector();a=t.get("$rootScope")}let n=()=>{if("$apply"!==a.$$phase&&"$digest"!==a.$$phase){let a=$("#"+t);a.data("kendoComboBox")?a.data("kendoComboBox").enable(!1):a.hasClass("cronSelect")&&a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox")?a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox").enable(!1):a.data("kendoDropDownList")?a.data("kendoDropDownList").enable(!1):a.find("[data-role=grid]").data("kendoGrid")?this.cronapi.internal.coverElement(a):$.each(a.find("*").addBack(),function(t,a){$(a).prop("disabled",!0)})}else setTimeout(()=>n(),200)};n()},this.cronapi.screen.enableComponent=function(t){let a;if(window.cordova)a=this.cronapi.$scope;else{let t=window.angular.element("body").injector();a=t.get("$rootScope")}let n=()=>{if("$apply"!==a.$$phase&&"$digest"!==a.$$phase){let a=$("#"+t);a.data("kendoComboBox")?a.data("kendoComboBox").enable(!0):a.hasClass("cronSelect")&&a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox")?a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox").enable(!0):a.data("kendoDropDownList")?a.data("kendoDropDownList").enable(!0):a.find("[data-role=grid]").data("kendoGrid")?this.cronapi.internal.discoverElement(a):$.each(a.find("*").addBack(),function(t,a){$(a).prop("disabled",!1)})}else setTimeout(()=>n(),200)};n()},this.cronapi.screen.focusComponent=function(t){this.cronapi.$scope.safeApply(function(){tinyMCE&&tinyMCE.get(t)?tinyMCE.get(t).focus():$("#"+t).find("*").addBack().focus()})},this.cronapi.screen.changeAttrValue=function(t,a,n){$("#"+t).attr(a,n)},this.cronapi.screen.changeContent=function(t,a,n){if($("#"+t).html(a),!0===n||"true"===n){var o=angular.injector(["ng"]),r=this;o.invoke(["$compile",function(a){a(document.querySelector("#"+t))(r.cronapi.$scope)}])}},this.cronapi.screen.recompileComponent=async function(t){let a=$(`#${t}`);a.data("alreadycompiled",!1);let n=await(t=>new Promise(a=>{let n=t.data("$compile");if(n)a(n);else{var o=angular.injector(["ng"]);o.invoke(["$compile",t=>a(t)])}}))(a),o=this.cronapi.$scope;o.safeApply(()=>n(a)(o))},this.cronapi.screen.logout=function(){this.cronapi.$scope.logout!=null&&this.cronapi.$scope.logout()},this.cronapi.screen.refreshDatasource=function(t,a){!0==a||"true"==a?this[t].search(this[t].terms,this[t].caseInsensitive):this[t].search("",this[t].caseInsensitive)},this.cronapi.screen.loadMore=function(t){getDatasource(t).$apply(function(){getDatasource(t).nextPage()})},this.cronapi.screen.hasNextPage=function(t){return getDatasource(t).hasNextPage()},this.cronapi.screen.load=function(t){getDatasource(t).fetch({params:{}},void 0,void 0,{origin:"button"})},this.cronapi.dateTime={},this.cronapi.dateTime.formats=function(){var t=[];return t="pt_br"==this.cronapi.$translate.use()?["DD/MM/YYYY HH:mm:ss","DD/MM/YYYY","DD-MM-YYYY HH:mm:ss","DD-MM-YYYY"]:["MM/DD/YYYY HH:mm:ss","MM/DD/YYYY","MM-DD-YYYY HH:mm:ss","MM-DD-YYYY"],t.push("YYYY-MM-DDTHH:mm:ss"),t.push("HH:mm:ss"),t.push("MMMM"),t},this.cronapi.dateTime.getMomentObj=function(value){var currentMoment=moment;if(value instanceof moment)return value;if(value instanceof Date)return currentMoment(value).utcOffset(window.timeZoneOffset);if(value){let dateString=/\/Date((.*?))\//,regexExecution=dateString.exec(value);if(regexExecution&&1<regexExecution.length){let date=eval(`new Date${regexExecution[1]}`);return currentMoment(date).utcOffset(window.timeZoneOffset)}}var formats=this.cronapi.dateTime.formats(),momentObj=null;for(var ix in formats)if(momentObj=currentMoment(value,formats[ix]),momentObj.isValid())break;return momentObj},this.cronapi.dateTime.getSecond=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("second"):0},this.cronapi.dateTime.getMinute=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("minute"):0},this.cronapi.dateTime.getHour=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("hour"):0},this.cronapi.dateTime.getYear=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("year"):0},this.cronapi.dateTime.getMonth=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("month")+1:0},this.cronapi.dateTime.getDay=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("date"):0},this.cronapi.dateTime.getSecondsBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"seconds")},this.cronapi.dateTime.getMinutesBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"minutes")},this.cronapi.dateTime.getHoursBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"hours")},this.cronapi.dateTime.getDaysBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"days")},this.cronapi.dateTime.getMonthsBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"months")},this.cronapi.dateTime.getYearsBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"years")},this.cronapi.dateTime.incSecond=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("seconds",a).toDate()},this.cronapi.dateTime.incMinute=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("minutes",a).toDate()},this.cronapi.dateTime.incHour=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("hours",a).toDate()},this.cronapi.dateTime.incDay=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("days",a).toDate()},this.cronapi.dateTime.incMonth=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("months",a).toDate()},this.cronapi.dateTime.incYear=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("years",a).toDate()},this.cronapi.dateTime.getNow=function(){var t=moment();return t.toDate()},this.cronapi.dateTime.formatDateTime=function(t,a){return this.cronapi.dateTime.getMomentObj(t).format(a)},this.cronapi.dateTime.newDate=function(t,a,n,o,r,c){var s=new Date;return s.setYear(t),s.setMonth(a-1),s.setDate(n),s.setHours(o),s.setMinutes(r),s.setSeconds(c),this.cronapi.dateTime.getMomentObj(s).toDate()},this.cronapi.dateTime.updateDate=function(t,a,n,o,r,c,s,l){var d=this.cronapi.dateTime.getMomentObj(t).toDate();if(d&&!isNaN(d.getTime()))d.setYear(a),d.setMonth(n-1),d.setDate(o),d.setHours(r),d.setMinutes(c),d.setSeconds(s),d.setMilliseconds(l);else return void this.cronapi.screen.notify("error",this.cronapi.i18n.translate("InvalidDate",[]));return this.cronapi.dateTime.getMomentObj(d).toDate()},this.cronapi.dateTime.updateNewDate=function(t,a,n){var o=this.cronapi.dateTime.getMomentObj(t).toDate();if(o&&!isNaN(o.getTime()))"year"===a?o.setYear(n):"month"===a?o.setMonth(n-1):"day"===a?o.setDate(n):"hour"===a?o.setHours(n):"minute"===a?o.setMinutes(n):"second"===a?o.setSeconds(n):"millisecond"===a?o.setMilliseconds(n):void 0;else return void this.cronapi.screen.notify("error",this.cronapi.i18n.translate("InvalidDate",[]));return this.cronapi.dateTime.getMomentObj(o).toDate()},this.cronapi.text={},this.cronapi.text.prompt=function(){return null},this.cronapi.text.newline=function(){return"\n"},this.cronapi.text.replaceAll=function(t,a,n,o){return this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(a)||this.cronapi.logic.isNull(o)?null:"-"===n?t.replace(a,o):t.replace(new RegExp(a,n),o)},this.cronapi.xml={},this.cronapi.xml.newXMLEmpty=function(){return $.parseXML("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root></root>")},this.cronapi.xml.newXMLEmptyWithRoot=function(t){var a=$.parseXML("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root></root>");return a.removeChild(a.firstElementChild),a.appendChild(t),a},this.cronapi.xml.newXMLElement=function(t,a){var n=document.createElement(t);return n.textContent=a,n},this.cronapi.xml.addXMLElement=function(t,a){try{var n=a.cloneNode(!0);return t.appendChild(n),!0}catch(t){return!1}},this.cronapi.xml.XMLHasRootElement=function(t){return!!(t&&t.getRootNode())},this.cronapi.xml.XMLGetRootElement=function(t){return t instanceof XMLDocument?t.firstElementChild:t.getRootNode()},this.cronapi.xml.XMLDocumentToText=function(t){if(t instanceof XMLDocument)return $($($(t.firstElementChild).context.outerHTML).removeAttr("xmlns"))[0].outerHTML;if(1<$(t).size()){var a="";return $.each($(t).toArray(),function(t,n){a+=$($(n)[0].outerHTML).removeAttr("xmlns")[0].outerHTML}),a}return $($($(t).context.outerHTML).removeAttr("xmlns"))[0].outerHTML},this.cronapi.xml.getChildren=function(t,a){return t instanceof XMLDocument?t.firstElementChild.toArray:a?a.localName?$(t).find(a.localName).toArray():$(t).find(a).toArray():$(t).children().toArray()},this.cronapi.xml.setAttribute=function(t,a,n){return!!a&&(t instanceof XMLDocument?(t.firstChild.setAttribute(a,n),!0):!!t&&(t.setAttribute(a,n),!0))},this.cronapi.xml.getAttributeValue=function(t,a){return a?t instanceof XMLDocument?t.firstChild.getAttribute(a)?t.firstChild.getAttribute(a):"":t&&a?t.getAttribute(a):"":""},this.cronapi.xml.getParentNode=function(t){return t instanceof XMLDocument?t.firstChild:t.parentNode},this.cronapi.xml.setElementContent=function(t,a){t instanceof XMLDocument&&(t.firstChild.textContent=a),t.textContent=a},this.cronapi.xml.getElementContent=function(t){return t instanceof XMLDocument?t.firstChild.innerText:t.innerText},this.cronapi.xml.removeElement=function(t,a){t instanceof XMLDocument?a?a instanceof HTMLUnknownElement?a.remove():$.each($(t.firstElementChild.children),function(t,n){n.localName==a&&n.remove()}):$.each($(t.firstElementChild.children),function(t,a){a.remove()}):a?a instanceof HTMLUnknownElement?a.remove():$.each($(t.children),function(t,n){n.localName==a&&n.remove()}):$.each($(t.children),function(t,a){a.remove()})},this.cronapi.xml.getElementName=function(t){return t instanceof XMLDocument?t.firstChild.localName:t.localName},this.cronapi.xml.renameElement=function(t,a){var n=t.outerHTML.replace(t.localName,a);n=n.replace("/"+t.localName,"/"+a),n=$(n).removeAttr("xmlns"),t.replaceWith(n[0])},this.cronapi.logic={},this.cronapi.logic.isNull=function(t){return null===t||"undefined"==typeof t||t==null},this.cronapi.logic.isEmpty=function(t){return""===t},this.cronapi.logic.isNullOrEmpty=function(t){return this.cronapi.logic.isNull(t)||this.cronapi.logic.isEmpty(t)},this.cronapi.logic.typeOf=function(t,a){return"array"===a?Array.isArray(t):!("object"===a&&Array.isArray(t))&&typeof t==a},this.cronapi.i18n={},this.cronapi.i18n.translate=function(t,a){if(t){for(var n,o=this.cronapi.$translate.instant(t),r=0;r<a.length;r++)if(n=a[r],null!=n&&"undefined"!=typeof n){var c=new RegExp("\\{"+r+"\\}","g");o=o.replace(c,n)}return o}},this.cronapi.internal={},this.cronapi.internal.coverElement=function(t){let a=t.attr("id");((t,a)=>{let n=a.eq(0).outerWidth(),o=a.eq(0).outerHeight();a.each(function(){let a=$(this).offset();$(`<div class='cover-${t}'>`).css({width:n,height:o,position:"absolute",top:a.top,left:a.left,"z-index":999999}).appendTo($("body"))})})(a,t)},this.cronapi.internal.discoverElement=function(t){let a=t.attr("id");$(`.cover-${a}`).remove()},this.cronapi.internal.focusFormInput=function(){let t=$($("form")[0]),a=$(t.find("input")[0]);if(a&&a.length){let t=setInterval(()=>{a.is(":visible")&&(a.focus(),clearInterval(t))},100)}},this.cronapi.forceCloseAllModal=function(){var t=$(".modal.fade.in");t&&t.each((t,a)=>this.cronapi.screen.hideModal(a.id)),$(".modal-backdrop.fade.in").remove()},this.cronapi.internal.setFile=function(t,a){this.cronapi.internal.fileToBase64(a,function(a){this.cronapi.screen.changeValueOfField(t,a)}.bind(this))},this.cronapi.internal.fileToBase64=function(t,a){var n=new FileReader;n.readAsDataURL(t),n.onload=function(t){var n=t.target.result.substr(t.target.result.indexOf("base64,")+7);a(n)}},this.cronapi.internal.getMaxResolution=function(t,a){var n=window.innerWidth,o=window.innerHeight,r=0;return r=n/t,a*=r,t*=r,t>n&&(r=n/t,a*=r,t*=r),a>o&&(r=o/a,t*=r,a*=r),{width:t,height:a}},this.cronapi.internal.startCamera=function(t,a,n,o,r){if(window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId){var c=this;navigator.camera.getPicture(function(a){c.cronapi.screen.changeValueOfField(t,a)},function(t){console.error(t),c.cronapi.$scope.Notification.error(message)},{quality:parseInt(a),destinationType:Camera.DestinationType.DATA_URL,encodingType:Camera.EncodingType.JPEG,correctOrientation:!0,allowEdit:"true"==n,targetWidth:parseInt(o),targetHeight:parseInt(r)})}else{var s="<div class=\"camera-container\" style=\"margin-left:-$marginleft$;margin-top:-$margintop$\"> <button class=\"btn btn-success button button-balanced\" id=\"cronapiVideoCaptureOk\" style=\"position: absolute; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-ok icon ion-checkmark-round\"></span> <span class=\"sr-only\">{{\"Upload.camera\" | translate}}</span> </button> <button class=\"btn btn-danger button button-assertive button-cancel-capture\" id=\"cronapiVideoCaptureCancel\" style=\"position: absolute; margin-left: 42px; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span> <span class=\"sr-only\">{{\"Cancel\" | translate}}</span> </button> <video id=\"cronapiVideoCapture\" style=\"height: $height$; width: $width$;\" autoplay=\"\"></video> </div>",l=null;navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia({video:!0}).then(function(a){l=a;var n=cronapi.internal.getMaxResolution(a.getTracks()[0].getSettings().width,a.getTracks()[0].getSettings().height),o=n.width,r=n.height;try{o=parseInt(o/2),r=parseInt(r/2)}catch(t){}s=s.split("$height$").join(n.height+"px").split("$width$").join(n.width+"px").split("$marginleft$").join(o+"px").split("$margintop$").join(r+"px");var c=$(s);c.prependTo("body");var d=document.getElementById("cronapiVideoCapture");c.find("#cronapiVideoCaptureCancel").on("click",function(){null!=l&&0<l.getTracks().length&&l.getTracks()[0].stop(),$(c).remove()}.bind(this)),c.find("#cronapiVideoCaptureOk").on("click",function(){this.cronapi.internal.captureFromCamera(t,n.width,n.height),null!=l&&0<l.getTracks().length&&l.getTracks()[0].stop(),$(c).remove()}.bind(this)),d.srcObject=a,d.onloadedmetadata=function(){d.play()}}.bind(this))}},this.cronapi.internal.getPicture=function(t){if(1===t.sourceType)cronapi.internal.getPictureFromCamera(t);else if(0===t.sourceType||2===t.sourceType)cronapi.internal.getPictureFromFile(t);else{$("<div id=\"captureChooser\"></div>").prependTo("body"),$("#captureChooser").kendoDialog({title:"",content:this.cronapi.i18n.translate("getImageFrom",[]),buttonLayout:"normal",actions:[{text:this.cronapi.i18n.translate("camera",[]),primary:!0,action:function(){return cronapi.internal.getPictureFromCamera(t),!0}},{text:this.cronapi.i18n.translate("gallery",[]),action:function(){return cronapi.internal.getPictureFromFile(t),!0}}]})}},this.cronapi.internal.getPictureFromCamera=function(t){var a=null;navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia({video:!0}).then(function(n){a=n;var o=cronapi.internal.getMaxResolution(n.getTracks()[0].getSettings().width,n.getTracks()[0].getSettings().height),r=o.width,c=o.height;try{r=parseInt(r/2),c=parseInt(c/2)}catch(t){}var s="<div class=\"camera-container\" style=\"margin-left:-$marginleft$;margin-top:-$margintop$\"> <button class=\"btn btn-success button button-balanced\" id=\"cronapiFileBrowserOk\" style=\"position: absolute; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-ok icon ion-checkmark-round\"></span> <span class=\"sr-only\">{{\"Upload.camera\" | translate}}</span> </button> <button class=\"btn btn-danger button button-assertive button-cancel-capture\" id=\"cronapiFileBrowserCancel\" style=\"position: absolute; margin-left: 42px; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span> <span class=\"sr-only\">{{\"Cancel\" | translate}}</span> </button> <video id=\"cronapiFileBrowser\" style=\"height: $height$; width: $width$;\" autoplay=\"\"></video> </div> </div>";s=s.split("$height$").join(o.height+"px").split("$width$").join(o.width+"px").split("$marginleft$").join(r+"px").split("$margintop$").join(c+"px");var l=$(s);l.prependTo("body");var d=document.getElementById("cronapiFileBrowser");l.find("#cronapiFileBrowserCancel").on("click",function(){null!=a&&0<a.getTracks().length&&a.getTracks()[0].stop(),t.errorCallback&&t.errorCallback("Opera\xE7\xE3o cancelada"),$(l).remove()}.bind(this)),l.find("#cronapiFileBrowserOk").on("click",function(){cronapi.internal.getPictureSuccess(t,o.width,o.height),null!=a&&0<a.getTracks().length&&a.getTracks()[0].stop(),$(l).remove()}.bind(this)),d.srcObject=n,d.onloadedmetadata=function(){d.play()}}.bind(this)).catch(function(a){t.errorCallback&&t.errorCallback(a.toString())}.bind(this)):t.errorCallback&&t.errorCallback("Recurso n\xE3o suportado ou n\xE3o autorizado")},this.cronapi.internal.getPictureFromFile=function(t){var a=cronapi.internal.getMaxResolution(window.innerWidth,window.innerHeight),n=a.width,o=a.height;try{n=parseInt(n/2),o=parseInt(o/2)}catch(t){console.log(t)}var r="<div class=\"camera-container\" style=\"margin-left:-$marginleft$;margin-top:-$margintop$; height: $height$; width: $width$; display: flex; align-items: center; flex-direction: column; justify-content: center; background: #848484a3;\"> <div style=\"overflow: hidden;max-width: 80%;overflow-y: scroll;\"><img style=\"width: 100%; border-radius: 5px;\" id=\"imgPreview\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0BAMAAAA5+MK5AAAAG1BMVEX09PTh4eHl5eXo6Ojy8vLq6urs7Ozw8PDu7u5TsDcvAAAH+0lEQVR42uzVMWpCQRQF0FeEJO37IZ+0cQdqoaWNYq9Y6w5EFKxduYtwBmbwnB1cLpcbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC86uO+m0+aND9co6btLNs1LFdRze0/m/Z7jkrW2bqfStk32b5xFRV8TbMDi6jgkT0YjlHcZ/ZhjOJO2Yn9u5aeOb5t6ZmF1/6d/fiLoi7Zj+EcJXXx6U927uCpaSCK4/gTQtvjvnaLXjt2Zj2CMJZj7TgOV8QRj6AOXgv4BxDHQf9sqTOdZ4Cy2d1s+G2a7xUOhE/eJoFNl+2s5yJX+UI345TqT9dzfa94jc/AH1bvNl7XUa902Dc5rQZUWRecWPN1XeWYT9fzhqbSm5qseNXcQ+w1/5+miure+csfZFfM0vMoj20fCbPsKMbDW6d4kwjajKXtGIf+glDrxTj0rcIUodZlaRjj0DXBFvvQFaGWjSIf+phgW98TvlVvZ71Vb2e9VW9nvVVvZ71Vb2e9VW9nvVVvZ/2xDeM3539+UPkSU9e0osPjES96+XlKJWuGevZVvmXwjcqVmLoqs3X4hErVBPXurt/+5LTUteV/Pg7/nmqC+k++V/+aSpSWuir5XshwStaSV5dBL7RP9tJS13S3S+83cFJX74744QxZS0tdWdBdNignrr5AB2Gve9ZnvLKBbZFPXH03ZAtXWuqKCnVCtqqmrZ4H7ddMS70469kuM8oZX7N6hxnnjK931mdBb2IkrX4WtkM5LXVd/EWHvImRtHqHGWjYa531jaA3MZJWv+DbYK7stc76ETPOOlebutzAw9zU1DnrGVtTtLqU1XtsybaHPC11Xby2AV3dalXfZGtD8uw3nrpyO/QB+dXrz6HVN9han/zKeQKnrkl6Fu3Qe8z9ObL6W7Y39URnNmjqyvEFZ1905sEcWP0i1sdG5LzIgKlrxxPeG30x7bjqMZY5QWeeYKkrt4vbwA99yQ6rHumWJudlBkpdx76RFfTFIo+qvhXl8SVnySCpK8eHVj90mXZQ9S5b017o0gRIvXAsI7a144ku046pHuPPkjkXMzjqqvhz2pr7osu0Y6rP2FLfF10yMOq6+AVL2/7owg6p3mVLY290yaCoK3JZ504D0IUdUd36xD71R5cMiLomh2HfDkIXdkR1y96CcQi6NMFQVy4fwncdhi7sgOqPn/HDMHTJQKhrKr9xbj8UXe7kAdXp0vKx1SHokkFQV+WtTDi6/BYB1VcvdP3rYHTJAKjr0p8s/KoKdGEHVKcvEdEl8/Tq6r7XKOakCzugOl1Zrkch6JJ5cnVN98rO/J/ZBN3ODqgu7zdKE6oMXdjhZv22zoiLHVB16MIOqE70vuh+MK0OXTJ4s76o94GF54QqRRd2RHWi7GYJ/+YXUZXokgGc9X9lh+fHe5++vyOqGl3YIdUDyrlsBnHWpRjowt4s9ZzLZzBnPSa6sDdJPWeXTINmXdBLsjdHPWe3TGNmXdBLszdFPWfXTENmXdAd2JuhnrN7phGzLuhO7E1Qz9kn04BZF3RH9vTVc/bLJD/rgu7Mnrr6X/buGLVhIIjCsIuwqScEnBvkGkqTe2wTUuoKvnkgEH7sqNAuHmv27bwDCImPHzUSC3oz++Ctg97BPrY66B3sQ7cOehf7yOqgd7EP3DronezjqoPeyR659cUFHfa46uXdBR32uK1XW13QYY+qXszOLuiwR229mtnqgc7WmOrFDPa7orO3mK1XXO6OTu0R1YsZ7A7oXJ49xWi9kqMDOrXHUy+4eKBTe7zWKy4u6NQeTb0YObqgwx6t9Xrl4oDOlljqoMN+X3S2xmoddG7OCd1itQ467F7otoRqHXTYPdDjtQ467G7otkRqHXSDHXRhddBh30BXbP0/Ou920BXVQWewgy7YejXGVtBl1UFnsIMu2DroG7WDbnrqoDPYL8bkWgf9dusfuqg66Az2izG51kHfYL9GF1MHncF+g67VOugbe7HfaaoXa5hW69X2T0u9DV2q9X3oiupt6FKtt6ErqbeiC7W+F11PvRVdqPVWdB31dnSZ1vejq6m3o8u03o6uot6DLtJ6C7qWeg+6SOs96BrqfegSrbehK6n3oUu03oeuoN6LLtB6K7qOei+6QOu96OOrH47+2NZDoT9WPRT6Rutxzmnd3vDqH3b4lsDntN4s1YdvPdijz6uerc+onq3PqJ6tz6ierc+onq3PqJ6tz6ierc+onq3PqJ6tz6ierc+onq3PqJ6tz6ierc+onq3PqO7feqyvKtaD1D+/jt73cvh/bhGGusU+FaB5x5+6/3qKulTP1lM9W0/1bD3Vs/VUz9ZTPVtP9Wz9FHVP3urnU9Q9ezx6MfbDzh2rRBADYRz/wOO8diLGrUV7dQstF0GwVPABFmwsFzmOK4978rurUi+bwIT8f0+QMElmhsBEeVVklWtLwiCn3ktsfWOW/Min1bclXYlbZGErj1b/Zsld1rSR9B69mBXJQ89WmSfN5Gs67hKjFvH1uTbPoFyurC43msvXJOwFYtbOoCoPUqvv3Ji1SKxJ1mJ7YzXpdNZmUfMlNXriwyQ1euI7nbX5xo+6aLGqiVKrYR+lRsMeld/RahAOyu+6itz+qhLWFTQxcVARH+bd7aRCds7j/jipmM/e/Apvg0ra//b3LvV/kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACc2oNDAgAAAABB/197wggAAAAwCf/UoxkfDe2dAAAAAElFTkSuQmCC\"/></div> <input type=\"file\" id=\"imageBrowser\" accept=\"image/*\" style=\"width: 0px; height: 0px; overflow: hidden;\"> <div> <button class=\"btn btn-success button button-balanced\" id=\"cronapiFileBrowserOK\" style=\"position: absolute; z-index: 999999999; bottom: 5px; left: calc(50% - 52px);\"> <span class=\"glyphicon glyphicon-ok icon ion-checkmark-round\"></span> <span class=\"sr-only\">{{\"Upload.camera\" | translate}}</span> </button> <button class=\"btn btn-danger button button-assertive button-cancel-capture\" id=\"cronapiFileBrowserCancel\" style=\"position: absolute; z-index: 999999999; bottom: 5px; right: calc(50% - 52px); margin-right: -5px;\"> <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span> <span class=\"sr-only\">{{\"Cancel\" | translate}}</span> </button> <div> </div>";r=r.split("$height$").join(a.height+"px").split("$width$").join(a.width+"px").split("$marginleft$").join(n+"px").split("$margintop$").join(o+"px");var c=$(r);c.prependTo("body"),c.find("#cronapiFileBrowserCancel").on("click",function(){t.errorCallback&&t.errorCallback("Opera\xE7\xE3o cancelada"),$(c).remove()}.bind(this)),c.find("#cronapiFileBrowserOK").on("click",function(){cronapi.internal.getPictureSuccess(t,a.width,a.height,!0),$(c).remove()}.bind(this)),c.find("#imgPreview").on("touchend click",function(t){"touchend"==t.type&&$(this).off("click"),$("#imageBrowser").trigger("click")}),c.find("#imageBrowser").on("change",function(){if($("img#imgPreview").attr("src",""),"undefined"!=typeof FileReader){var t=new FileReader;t.onload=function(t){$("img#imgPreview").attr("src",t.target.result)},t.readAsDataURL($(this)[0].files[0])}})},this.cronapi.internal.getPictureSuccess=function(t,a,n,o){if(t.successCallback)if(o){var r=document.getElementById("imageBrowser").files[0];if(r){var c=new FileReader;c.onload=function(a){var n=a.target.result;t.successCallback(n)},c.readAsDataURL(r)}else t.successCallback(null)}else{var s=document.createElement("canvas");s.width=a,s.height=n;var l=s.getContext("2d"),d=document.getElementById("cronapiFileBrowser");l.drawImage(d,0,0,a,n);let o="data:image/jpeg;base64, "+s.toDataURL().substr(22);t.successCallback(o)}},this.cronapi.internal.downloadFileEntityMobile=function(t,a,n,o){var r,c,s=null;if(n)r=t.data[n][a],c=t.data[n];else try{r=t.active[a],c=t.active}catch(n){r=t[a],c=t}try{var s=JSON.parse(r)}catch(t){}if(s){var l=this.cronapi.internal.getAddressWithHostApp("/api/cronapi/filePreview/");window.open(l+s.path,"_system")}else if(r.startsWith("https://")||r.startsWith("http://"))window.open(r,"_system");else if(t.isOData())cronapi.internal.makeDownloadFromBytes(r,o);else{var d="/api/cronapi/downloadFile",p=t.entity.split("/"),u=p[p.length-1];if(-1<u.indexOf(":")){for(var m="",g=p[3].split("."),h=0;h<g.length-1;h++)m+=g[h]+".";var f=u.split(":");u=m+f[f.length-1]}d+="/"+u,d+="/"+a;var b=c,y=t.getKeyValues(b),v=0;for(var A in y)d=0==v?d+"/"+b[A]:d+":"+b[A],v++;var l=this.cronapi.internal.getAddressWithHostApp(d);window.open(l,"_system")}},this.cronapi.internal.captureFromCamera=function(t,a,n){var o=document.createElement("canvas");o.width=a,o.height=n;var r=o.getContext("2d"),c=document.getElementById("cronapiVideoCapture");r.drawImage(c,0,0,a,n);var s=o.toDataURL().substr(22);this.cronapi.screen.changeValueOfField(t,s)},this.cronapi.internal.qrCodeScanner=function(t,a,n){let o,r;navigator.mediaDevices.getUserMedia({audio:!1,video:!0}).then(()=>{switch(n.formats){case"AZTEC":r=new ZXing.BrowserAztecCodeReader;break;case"DATA_MATRIX":r=new ZXing.BrowserDatamatrixCodeReader;break;case"QR_CODE":r=new ZXing.BrowserQRCodeReader;break;case"PDF_417":r=new ZXing.BrowserPDF417Reader;break;default:r=new ZXing.BrowserMultiFormatReader;}n.formats&&-1!="UPC_A|UPC_E|EAN_8|EAN_13|CODE_39|CODE_128|ITF|RSS14|RSS_EXPANDED".indexOf(n.formats)&&(r=new ZXing.BrowserBarcodeReader),r.listVideoInputDevices().then(a=>{o=a[0].deviceId;let n=$("<div style=\"position: fixed; display: flex; width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background-color:\n rgb(0 0 0 / 72%); z-index: 9999999; cursor: pointer; justify-content: center; align-items: center;\">\n <div style=\"position: absolute\">\n <div class=\"row\" style=\"position: absolute; bottom 50px; z-index: 999999999;\">\n <div class=\"col-xs-8\">\n <select style=\"width: 100%; position: absolute; bottom: 10px; left: 0; z-index: 999999999;\" id=\"videoSource\"></select>\n </div>\n <div class=\"col-xs-2\">\n <button class=\"btn btn-danger button button-dark\" id=\"cronapiBarCodeChangeCam\" >\n <span class=\"glyphicon glyphicon-remove icon ion ion-ios-reverse-camera\"></span>\n <span class=\"sr-only\">{{\"ChangeCam\" | translate}}</span>\n </button>\n </div>\n <div class=\"col-xs-2\">\n <button class=\"btn btn-danger button button-assertive\" id=\"cronapiBarCodeCancel\" >\n <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span>\n <span class=\"sr-only\">{{\"Cancel\" | translate}}</span>\n </button>\n </div>\n </div>\n <video id=\"video\" style=\"width: 100%; max-width: 600px; border-radius: 5px;\"></video>\n </div>\n </div>");n.prependTo("body"),a.map((t,a)=>{if("videoinput"===t.kind){let n=document.createElement("option");n.value=t.deviceId,n.text=t.label||"C\xE2mera "+(a+1),0===a&&(n.selected=!0),document.querySelector("select#videoSource").appendChild(n)}}),n.find("#cronapiBarCodeCancel").on("click",(()=>{r.reset(),$(n).remove()}).bind(this)),n.find("#cronapiBarCodeChangeCam").on("click",(()=>{let t=$("#videoSource").prop("selectedIndex"),a=$("#videoSource option").length;t<a-1?$("#videoSource").prop("selectedIndex",t+1):$("#videoSource").prop("selectedIndex",0),$("#videoSource").trigger("change")}).bind(this)),n.find("#videoSource").on("change",(()=>{r.decodeOnceFromVideoDevice($("#videoSource").val(),"video").then(a=>{a&&(t(a.text),$(n).remove(),r.reset())})}).bind(this)),r.decodeOnceFromVideoDevice(o,"video").then(a=>{a&&(t(a.text),$(n).remove(),r.reset())})}).catch(t=>{a(t),r.reset()})}).catch(function(t){a(t)})},this.cronapi.internal.castBinaryStringToByteArray=function(t){for(var a=t.length,n=new Uint8Array(a),o=0;o<a;o++)n[o]=t.charCodeAt(o);return n},this.cronapi.internal.castBase64ToByteArray=function(t){var a=window.atob(t);return this.cronapi.internal.castBinaryStringToByteArray(a)},this.cronapi.internal.castByteArrayToString=function(t){return _StringfromCharCode.apply(null,new Uint16Array(t))},this.cronapi.internal.generatePreviewDescriptionByte=function(data,fileInfo){var json;let fileInfoContent=eval(fileInfo);try{json=fileInfoContent?JSON.parse(fileInfoContent):JSON.parse(data)}catch(e){try{json=JSON.parse(window.atob(data))}catch(e){if(data&&data.match(/__odataFile_/g)){var file=eval(data);json=cronapi.internal.getJsonDescriptionFromFile(file)}else if(data&&(data.startsWith("http://")||data.startsWith("https://"))){json={};var urlSplited=data.split("/"),fullName=urlSplited[urlSplited.length-1].replace("?dl=0",""),fullNameSplited=fullName.split("."),extension="."+fullNameSplited[fullNameSplited.length-1];json.fileExtension=extension,json.name=fullName.replace(extension,""),json.contentType="file/"+extension.replace(".","")}else if(data&&this.cronapi.internal.isBase64(data)){var fileName="download",fileExtesion=this.cronapi.internal.getExtensionBase64(data),contentType=this.cronapi.internal.getContentTypeFromExtension(fileExtesion);fileName+=fileExtesion,json={},json.fileExtension=fileExtesion,json.name=fileName,json.contentType=contentType}}}if(json){25<json.name.length&&(json.name=json.name.substr(0,22)+"...");var result=("pt_br"==this.cronapi.$translate.use()?"<b>Nome:</b> <br/>":"<b>Name:</b> <br/>")+(void 0===json.contentType?"":json.name+"<br/>");return result+=void 0===json.contentType?"":"<b>Content-Type:</b> <br/>"+json.contentType+"<br/>",result+=""===json.fileExtension?"":"pt_br"==this.cronapi.$translate.use()?"<b>Extens\xE3o:</b> <br/>"+json.fileExtension+"<br/>":"<b>Extension:</b> <br/>"+json.fileExtension+"<br/>",result}},this.cronapi.internal.getContentTypeFromExtension=function(t){if(t)switch(t.toLowerCase()){case".png":return"image/png";case".jpg":return"image/jpeg";case".mp4":return"video/mp4";case".pdf":return"application/pdf";case".ico":return"image/vnd.microsoft.icon";case".rar":return"application/x-rar-compressed";case".rtf":return"application/rtf";case".txt":return"text/plain";case".zip":return"application/zip";case".srt":return"text/srt";default:return"unknown";}},this.cronapi.internal.getExtensionBase64=function(t){if(t){var a=t.substr(0,5);switch(a.toLocaleUpperCase()){case"IVBOR":return".png";case"/9J/4":return".jpg";case"AAAAF":return".mp4";case"JVBER":return".pdf";case"AAABA":return".ico";case"UMFYI":return".rar";case"E1XYD":return".rtf";case"U1PKC":return".txt";case"UESDB":return".zip";case"MQOWM":case"77U/M":return".srt";default:return"";}}return""},this.cronapi.internal.isBase64=function(t){try{return btoa(atob(t))==t}catch(t){return!1}},this.cronapi.internal.downloadUrl=function(t,a){let n=document.createElement("a");n.setAttribute("href",t),n.setAttribute("download",a);let o=document.createEvent("MouseEvents");o.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(o)},this.cronapi.internal.makeDownloadFromBytes=function(valueContent,fileInfo){var bytesOrFileInput,urlCreator=window.URL||window.webkitURL||window.mozURL||window.msURL,fileName="download";if(valueContent.match(/__odataFile_/g))bytesOrFileInput=eval(valueContent),fileName=bytesOrFileInput.name;else{fileName+=cronapi.internal.getExtensionBase64(valueContent);try{valueContent=window.atob(valueContent)}catch(t){}bytesOrFileInput=cronapi.internal.castBinaryStringToByteArray(valueContent)}let fileInfoDescription=eval(fileInfo);if(fileInfoDescription){let t=JSON.parse(fileInfoDescription);fileName=t.name}var url=urlCreator.createObjectURL(new Blob([bytesOrFileInput],{type:"application/octet-stream"}));cronapi.internal.downloadUrl(url,fileName)},this.cronapi.internal.downloadFileEntity=function(t,a,n,o){var r,c,s=null;if(n)r=t.data[n][a],c=t.data[n];else try{r=t.active[a],c=t.active}catch(n){r=t[a],c=t}try{var s=JSON.parse(r)}catch(t){}if(s)window.open("/api/cronapi/filePreview/"+s.path);else if(r.startsWith("https://")||r.startsWith("http://"))window.open(r);else if(t.isOData())cronapi.internal.makeDownloadFromBytes(r,o);else{var l="/api/cronapi/downloadFile",d=t.entity.split("/"),p=d[d.length-1];if(-1<p.indexOf(":")){for(var u="",m=d[3].split("."),g=0;g<m.length-1;g++)u+=m[g]+".";var h=p.split(":");p=u+h[h.length-1]}l+="/"+p,l+="/"+a;var f=JSON.parse(localStorage.getItem("_u"))||{},b=c,y=this.cronapi.internal.getAddressWithHostApp(l);this.$promise=this.cronapi.$scope.$http({method:"POST",url:y,data:b?JSON.stringify(b):null,responseType:"blob",headers:{"Content-Type":"application/json","X-AUTH-TOKEN":f.token}}).then(function(t,a,n){n=n||t.headers,n=n(),t=this.cronapi.getRequestData(t);var o=n["x-filename"]||"download.bin",r=window.URL||window.webkitURL||window.mozURL||window.msURL;try{var c=r.createObjectURL(t);cronapi.internal.downloadUrl(c,o)}catch(t){console.log("Error downloading file"),console.log(t)}}.bind(this)).catch(function(){console.log("Error downloading file")}.bind(this))}},this.cronapi.internal.uploadFileAjax=function(t,a,n){var o=new FormData;o.append("file",a);var r=JSON.parse(localStorage.getItem("_u"))||{},c=this.cronapi.internal.getAddressWithHostApp("/api/cronapi/uploadFile");this.$promise=this.cronapi.$scope.$http({method:"POST",url:c,data:o,headers:{"Content-Type":void 0,"X-AUTH-TOKEN":r.token},onProgress:function(t){if(t.lengthComputable){var a=0|100*(t.loaded/t.total),o=$("#"+n);if(0<o.length)if("bootstrapProgress"==o.data("type"))100>a?(o.show(),o.find(".progress-bar").css("width",a+"%")):(o.hide(),o.find(".progress-bar").css("width","0%"));else{var r=document.getElementById(n);r.value=r.innerHTML=a}}}}).then(function(a){a=this.cronapi.getRequestData(a),this.cronapi.screen.changeValueOfField(t,a.jsonString)}.bind(this)).catch(function(){alert("Error uploading file")}.bind(this))},this.cronapi.internal.getFieldFromActiveString=function(t){var a=/.active.([a-zA-Z0-9_-]*)/g.exec(t),n=a[1];return n},this.cronapi.internal.getJsonDescriptionFromFile=function(t){let a={};if(t){let n=t.name.split("."),o="."+n[n.length-1];a.fileExtension=o,a.name=t.name,a.contentType=t.type||"unknown"}return a},this.cronapi.internal.uploadFile=function(field,file,progressId,fileInfo,errorFile){if(errorFile&&errorFile.length&&errorFile[0].$errorMessages&&errorFile[0].$errorMessages.maxSize){let t=this.cronapi.$translate.instant("maxFileSize");showErrorNotification.bind(this)(`${t} ${errorFile[0].$errorParam}`)}if(file){var regexForDatasource=/(.*?).active./g,groupDatasource=regexForDatasource.exec(field);if(groupDatasource){var datasource=eval(groupDatasource[1]);if(datasource.isOData()){let t=cronapi.internal.getFieldFromActiveString(field),a=datasource.getFieldSchema(t);if(a&&"Binary"==a.type){if(datasource.active["__odataFile_"+t]=file,datasource.active[t]=datasource.name+".active.__odataFile_"+t,fileInfo){let t=cronapi.internal.getJsonDescriptionFromFile(file),a=cronapi.internal.getFieldFromActiveString(fileInfo);datasource.active[a]=JSON.stringify(t)}return}}}this.cronapi.internal.uploadFileAjax(field,file,progressId)}},this.cronapi.object={},this.cronapi.object.getProperty=function(t,a){var n=a.split(".");if(1<n.length){var o=function(t,a,n){return n||(n=0),void 0===t[a[n]]&&(t[a[n]]={}),n++,n<a.length?o(t[a[n-1]],a,n):t[a[n-1]]};return o(t,n,0)}return t[a]},this.cronapi.object.setProperty=function(t,a,n){var o=a.split(".");if(1<o.length){var r=function(t,a,n,o){o||(o=0),t[a[o]]===void 0&&(t[a[o]]={}),o++,o<a.length?r(t[a[o-1]],a,n,o):t[a[o-1]]=n};r(t,o,n,0)}else t[a]=n},this.cronapi.object.createObjectFromString=function(t){return JSON.parse(t)},this.cronapi.object.createObjectLoginFromString=function(t,a){return JSON.parse(JSON.stringify({username:t,password:a}))},this.cronapi.object.serializeObject=function(t){return JSON.stringify(t)},this.cronapi.object.deleteProperty=function(t,a){delete t[a]},this.cronapi.object.newObject=function(){var t={};if(arguments&&0<arguments.length)for(var a,n=0;n<arguments.length;n++)a=arguments[n],a.name&&(t[a.name]=a.value);return t},this.cronapi.object.getObjectField=function(t,a){var n;return t&&a&&(n=t[a]),n},this.cronapi.json={},this.cronapi.json.createObjectFromString=function(t){return this.cronapi.object.createObjectFromString(t)},this.cronapi.json.setProperty=function(t,a,n){this.cronapi.object.setProperty(t,a,n)},this.cronapi.json.deleteProperty=function(t,a){this.cronapi.object.deleteProperty(t,a)},this.cronapi.json.getProperty=function(t,a){return this.cronapi.object.getProperty(t,a)},this.cronapi.cordova={},this.cronapi.cordova.vibrate=function(t){navigator.vibrate(t)},this.cronapi.cordova.device={},this.cronapi.cordova.device.getFirebaseToken=function(t,a){document.addEventListener("deviceready",function(){try{window.FirebasePlugin.getToken(cronapi.util.handleCallback(t),cronapi.util.handleCallback(a))}catch(t){console.error(t),a(t)}},!1)},this.cronapi.cordova.device.getFirebaseNotificationData=function(t,a){document.addEventListener("deviceready",function(){try{window.FirebasePlugin.onMessageReceived(function(a){t(a)},function(t){a(t)})}catch(t){console.warn(t)}try{window.FirebasePlugin.onNotificationOpen(function(a){t(a)},function(t){a(t)})}catch(t){console.warn(t)}},!1)},this.cronapi.cordova.device.getDeviceInfo=function(t){return window.device[t]},this.cronapi.cordova.geolocation={},this.cronapi.cordova.geolocation.getCurrentPosition=function(t,a){navigator.geolocation.getCurrentPosition(this.cronapi.util.handleCallback(t),this.cronapi.util.handleCallback(a))},this.cronapi.cordova.geolocation.watchPosition=function(t,a,n,o,r){return navigator.geolocation.watchPosition(this.cronapi.util.handleCallback(t),this.cronapi.util.handleCallback(a),{maximumAge:n,timeout:o,enableHighAccuracy:r})},this.cronapi.cordova.geolocation.clearWatchPosition=function(t){navigator.geolocation.clearWatch(t)},this.cronapi.cordova.camera={},this.cronapi.cordova.camera.getPicture=function(t,a,n,o,r,c){(r===void 0||null===r)&&(r=0),c=true===c||"true"===c;let s={destinationType:+n,sourceType:+o,mediaType:+r,allowEdit:c};if(window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId){navigator.camera.getPicture(this.cronapi.util.handleCallback(a=>{a&&!a.startsWith("data:image")&&(a="data:image/jpeg;base64, "+a),t&&t(a)}),this.cronapi.util.handleCallback(a),s)}else s.allowEdit=c,s.successCallback=t,s.errorCallback=a,s.targetWidth=640,s.targetHeight=480,this.cronapi.internal.getPicture(s)},this.cronapi.cordova.camera.qrCodeScanner=function(t,a,n,o){const r={preferFrontCamera:!1,showFlipCameraButton:!0,showTorchButton:!0,saveHistory:!0,prompt:a,resultDisplayDuration:500,orientation:"portrait",disableAnimations:!0,disableSuccessBeep:!1};"all"!==t&&(r.formats=t),window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId?cordova.plugins.barcodeScanner.scan(function(t){n(t.text)},function(t){"Scan is already in progress"!==t&&o(t)},r):this.cronapi.internal.qrCodeScanner(n,o,r)},this.cronapi.cordova.file={},this.cronapi.cordova.file.getDirectory=function(t){var a;return"0"==t?a=cordova.file.dataDirectory:(a=cordova.file.externalApplicationStorageDirectory,!a&&(a=cordova.file.externalDataDirectory),!a&&(a=cordova.file.syncedDataDirectory)),a},this.cronapi.cordova.file.removeFile=function(t,a,n){window.resolveLocalFileSystemURL(t,function(t){t.remove(function(t){a&&a(t)}.bind(this),this.cronapi.util.handleCallback(n))}.bind(this),this.cronapi.util.handleCallback(n))},this.cronapi.cordova.file.readFile=function(t,a,n,o){window.resolveLocalFileSystemURL(t,function(t){t.file(function(t){var n=new FileReader;switch(n.onloadend=function(){a(this.result)},o){case"ARRAYBUFFER":{n.readAsArrayBuffer(t);break}case"TEXT":{n.readAsText(t);break}case"BINARYSTRING":{n.readAsBinaryString(t);break}case"DATAURL":{n.readAsDataURL(t);break}default:n.readAsText(t);}}.bind(this),this.cronapi.util.handleCallback(n))}.bind(this),this.cronapi.util.handleCallback(n))},this.cronapi.cordova.file.createFile=function(t,a,n,o,r){t||getDirectory(0);window.resolveLocalFileSystemURL(t,function(c){console.log(t),c.getFile(a,{create:!0},function(t){t.createWriter(function(t){t.onwriteend=function(){console.log("Write of file \""+a+"\"\" completed.")},t.onerror=function(t){console.log("Write failed: "+t.toString())};var r=new Blob([n],{type:"text/plain"});t.write(r),o&&setTimeout(function(){o()}.bind(this),500)}.bind(this),this.cronapi.util.handleCallback(r))}.bind(this),this.cronapi.util.handleCallback(r))}.bind(this),this.cronapi.util.handleCallback(r))},this.cronapi.cordova.file.createDirectory=function(t,a,n,o){window.resolveLocalFileSystemURL(t,function(){parentEntry.getDirectory(a,{create:!0},function(t){n&&n(t)}.bind(this),this.cronapi.util.handleCallback(o))}.bind(this),this.cronapi.util.handleCallback(o))},this.cronapi.cordova.storage={},this.cronapi.cordova.storage.setStorageItem=function(t,a){var n=window.localStorage;n?n.setItem(t,a):console.error("Local Storage not Found!")},this.cronapi.cordova.storage.getStorageItem=function(t){var a=window.localStorage;return a?a.getItem(t):void console.error("Local Storage not Found!")},this.cronapi.cordova.storage.removeStorageItem=function(t){var a=window.localStorage;a?a.removeItem(t):console.error("Local Storage not Found!")},this.cronapi.cordova.connection={},this.cronapi.cordova.connection.getConnection=function(){return navigator.connection.type},this.cronapi.cordova.connection.verifyConnection=function(t){return navigator.connection.type==t},this.cronapi.cordova.database={},this.cronapi.cordova.database.DatabaseModule=class{constructor(){this.DEFAULT_DATABASE_NAME="cronappDB"}connect(t=this.DEFAULT_DATABASE_NAME){let a=window.openDatabase;return window.sqlitePlugin&&(a=window.sqlitePlugin.openDatabase),a(t,"1.0",t,1e6)}async executeSQL(t=this.DEFAULT_DATABASE_NAME,a="",n=[]){const o=this.connect(t),r=t=>t.trim().split(";").filter(t=>t?t:null);try{const t=r(a);return this.handleExecuteTransaction(o,t,n)}catch(t){throw console.log(t),t}}extractSQLResult(t){return t._array?t._array:t}async handleExecuteSQL(t,a,n){return new Promise((o,r)=>{t.executeSql(a,n,(t,a)=>{try{o(a.rows)}catch(t){r(t)}})})}async handleExecuteTransaction(t,a,n){return new Promise((o,r)=>{try{t.transaction(async t=>{let r;for(let o of a)r=await this.handleExecuteSQL(t,o,n);o(this.extractSQLResult(r))})}catch(t){r(t)}})}},this.cronapi.cordova.database.openDatabase=function(t){const a=new this.cronapi.cordova.database.DatabaseModule;return a.connect(t)},this.cronapi.cordova.database.executeSQL=async function(t,a,n){let o=new this.cronapi.cordova.database.DatabaseModule;return o.executeSQL(t,a,n)},this.cronapi.cordova.database.executeSql=function(t,a,n,o,r){var c=this.cronapi.cordova.database.openDatabase(t);c.transaction(function(t){t.executeSql(a,n,function(t,a){o.call(this,Object.values(a.rows))}.bind(this))}.bind(this),function(t){console.log(t),r(t)}.bind(this))},this.cronapi.cordova.database.executeMultipleSql=function(t,a,n,o){var r=this.cronapi.cordova.database.openDatabase(t);let c=[],s=a.split(";");for(let l in s){let t=s[l];if(!t)break;let a=new Promise((a,n)=>{r.transaction(function(o){o.executeSql(t.trim(),[],function(t,n){a(n)}.bind(this),function(t,a){n(a)}.bind(this))}.bind(this))});c.push(a)}Promise.all(c).then(function(t){n(t)}.bind(this)).catch(function(t){o(t)}.bind(this))},this.cronapi.event={},this.cronapi.event.contextMenu=function(t,a,n,o){$("#ulKendoContextMenu").kendoMenu();var r=$("#ulKendoContextMenu").data("kendoMenu");r&&r.destroy();let c=$("body"),s=$(`<ul id="ulKendoContextMenu"></ul>`);c.append(s);let l={target:"#"+t,animation:{open:{effects:a},duration:500}};"left"===n&&(l.showOn="click"),l.dataSource=Array.isArray(o)?o:[o],$("#ulKendoContextMenu").kendoContextMenu(l)},this.cronapi.event.itemContextMenu=function(t,a,n,o){let r={text:t};return o&&(r.items=Array.isArray(o)?o:[o]),o||(r.select=n),a&&(r.cssClass=a),r},this.cronapi.event.changeValueAccordion=function(t,a,n){"collapseAll"===a?($("#"+t+" .panel-collapse").data("bs.collapse",null),$("#"+t+" .panel-collapse").collapse("hide")):"expandAll"===a?($("#"+t+" .panel-collapse").data("bs.collapse",null),$("#"+t+" .panel-collapse").collapse("show")):"collapseOne"===a?setTimeout(function(){$("#"+n).filter("[aria-expanded=true]").trigger("click")},500):"expandOne"===a?setTimeout(function(){$("#"+n).filter("[aria-expanded=false]").trigger("click")},500):void 0},this.cronapi.screen.changeInnerTextButton=function(t,a){$("#"+t+" button span").text(a)},this.cronapi.cordova.database.openInAppBrowser=function(t){cordova.InAppBrowser&&cordova.InAppBrowser.open(t,"_blank","location=no")},this.cronapi.internal.ptDate=function(t){var a,n=t[1],o=t[2],r=t[3],c=t[5],s=t[6],l=t[7];return a=c?new Date(r,o-1,n,c,s,l):new Date(r,o-1,n,0,0,0),a},this.cronapi.internal.enDate=function(t){var a,n=t[1],o=t[2],r=t[3],c=t[5],s=t[6],l=t[7];return a=c?new Date(r,n-1,o,c,s,l):new Date(r,n-1,o,0,0,0),a},this.cronapi.internal.parseBoolean=function(t){return!!t&&("boolean"==typeof t?t:(t=t.toString().toLowerCase().trim(),"1"==t||"true"==t))},this.cronapi.internal.removeAccents=function(t){var a="";for(i=0;i<t.length;i++)a+=0<="\xE1\xE0\xE3\xE2\xE4\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF3\xF2\xF5\xF4\xF6\xFA\xF9\xFB\xFC\xE7\xC1\xC0\xC3\xC2\xC4\xC9\xC8\xCA\xCB\xCD\xCC\xCE\xCF\xD3\xD2\xD5\xD6\xD4\xDA\xD9\xDB\xDC\xC7".search(t.substr(i,1))?"aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC".substr("\xE1\xE0\xE3\xE2\xE4\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF3\xF2\xF5\xF4\xF6\xFA\xF9\xFB\xFC\xE7\xC1\xC0\xC3\xC2\xC4\xC9\xC8\xCA\xCB\xCD\xCC\xCE\xCF\xD3\xD2\xD5\xD6\xD4\xDA\xD9\xDB\xDC\xC7".search(t.substr(i,1)),1):t.substr(i,1);return a},this.cronapi.internal.arrayRemove=function(t,a){var n=this.cronapi.internal.arrayIndexOf(t,a);-1!=n&&t.splice(n,1)},this.cronapi.internal.arrayIndexOf=function(t,a){var n=-1;return $(t).each(function(t){a==this&&(n=t)}),n},this.cronapi.internal.replaceAll=function(t,a,n){return t.toString().split(a).join(n)},this.cronapi.internal.getWindowHeight=function(){$(window).height()},this.cronapi.internal.getWindowWidth=function(){$(window).width()},this.cronapi.internal.getAddressWithHostApp=function(t){var a=window.hostApp||"";if(a=a.endsWith("/")?a.substr(0,a.length-1):a,t){var n=t.startsWith("/")?t.substr(1):t;a=""===a?n:a+"/"+n}return a},this.cronapi.internal.Url={encode:function(t){return t?escape(this.cronapi.internal.Url._utf8_encode(t)):""},decode:function(t){return t?this.cronapi.internal.Url._utf8_decode(unescape(t)):""},_utf8_encode:function(t){t=t.replace(/\r\n/g,"\n");for(var a,o="",r=0;r<t.length;r++)a=t.charCodeAt(r),128>a?o+=_StringfromCharCode(a):127<a&&2048>a?(o+=_StringfromCharCode(192|a>>6),o+=_StringfromCharCode(128|63&a)):(o+=_StringfromCharCode(224|a>>12),o+=_StringfromCharCode(128|63&a>>6),o+=_StringfromCharCode(128|63&a));return o},_utf8_decode:function(t){for(var a="",n=0,o=c1=c2=0;n<t.length;)o=t.charCodeAt(n),128>o?(a+=_StringfromCharCode(o),n++):191<o&&224>o?(c2=t.charCodeAt(n+1),a+=_StringfromCharCode((31&o)<<6|63&c2),n+=2):(c2=t.charCodeAt(n+1),c3=t.charCodeAt(n+2),a+=_StringfromCharCode((15&o)<<12|(63&c2)<<6|63&c3),n+=3);return a}},this.cronapi.internal.stringToJs=function(t){return(t+"").replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0")},this.cronapi.internal.getErrorMessage=function(t,a){try{var n=null;if("object"==typeof t?t.data&&("object"==typeof t.data?n=t.data:"string"==typeof t.data&&(n=JSON.parse(t.data))):"string"==typeof t&&(n=JSON.parse(t)),n&&n.error)return n.error}catch(t){}return a},this.cronapi.util.upload=function(t,a,n,o,r){this.UploadService.upload({description:a,id:t,filter:n,maxSize:o,multiple:r,scope:this})},this.cronapi.util.getBaseUrl=function(){return window.location.origin},this.cronapi.chart={},this.cronapi.chart.createChart=function(t,a,n,o){function r(){return p<d.length?p++:p=0,p}function c(){""==m.data.datasets[0].label&&(null==m.options.legend?(m.options.legend={},m.options.legend.display=!1):m.options.legend.display=!1)}function s(t){var a=[],n=4;for(Array.isArray(t[4])&&"object"==typeof t[4][0]&&("label"in t[4][0])&&("data"in t[4][0])&&(t=t[4],n=0),n;n<t.length;n++)t[n].label?t[n].options?(t[n].data?a.push(cronapi.chart.createDataset(t[n].label,t[n].data,t[n].options)):a.push(cronapi.chart.createDataset(t[n].label,t[n],null)),a.push(cronapi.chart.createDataset(t[n].label,t[n].data,t[n].options))):a.push(cronapi.chart.createDataset(t[n].label,t[n].data,null)):t[n].options?(t[n].data?a.push(cronapi.chart.createDataset(null,t[n].data,t[n].options)):a.push(cronapi.chart.createDataset(null,t[n],t[n].options)),a.push(cronapi.chart.createDataset(null,t[n].data,t[n].options))):t[n].data?a.push(cronapi.chart.createDataset(null,t[n].data,null)):a.push(cronapi.chart.createDataset(null,t[n],null));return a}function l(){null==m.options?(m.options={},m.options.scales={},m.options.scales.yAxes=[{ticks:{beginAtZero:!0}}]):null==m.options.scales&&(m.options.scales={},m.options.scales.yAxes=[{ticks:{beginAtZero:!0}}])}var d=["#FF5C00","#0E53A7","#48DD00","#FFD500","#7309AA","#CD0074","#00AF64","#BF8230","#F16D95","#A65000","#A65000","#AF66D5"],p=0,u=document.getElementById(t);if(u){u._chart&&u._chart.destroy(),u.getContext("2d");var m={};if(m.type=a,m.data=[],m.options={},m.data.labels=Array.isArray(n)?n:JSON.parse(n),m.data.datasets=[],Array.isArray(o))m.options=o;else if(""!=o&&null!=o)try{m.options=JSON.parse(o)}catch(t){m.options={},console.log(t)}else m.options={};switch(a){case"line":{m.data.datasets=s(arguments),$.each(m.data.datasets,function(t,a){a.fill=!1,a.backgroundColor=d[r()],a.borderColor=a.backgroundColor,l(),c()});break}case"bar":case"horizontalBar":{m.data.datasets=s(arguments),$.each(m.data.datasets,function(t,a){a.backgroundColor=d[r()],a.borderColor=a.backgroundColor}),l(),c();break}case"doughnut":case"pie":case"polarArea":{var g=s(arguments);$.each(g,function(t){var a={};a=g[t],a.backgroundColor=[],a.borderColor=[],$.each(a.data,function(){a.backgroundColor.push(d[r()])}),a.borderColor=a.backgroundColor,m.data.datasets.push(a),p=0});break}default:}var h=new Chart(u,m);u._chart=h}},this.cronapi.chart.createDataset=function(t,a,n){var o={};return o.label=t?t:"",o.data=Array.isArray(a)?a:a?JSON.parse(a):[],o.options=Array.isArray(n)?n:JSON.parse(n),o},this.cronapi.social={},this.cronapi.social.gup=function(t,a){a||(a=location.href),t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var n="[\\?&]"+t+"=([^&#]*)",o=new RegExp(n),r=o.exec(a);return null==r?null:r[1]},this.cronapi.social.login=function(t,a,n){var o;this.cronapi.screen.showLoading(),this.cronapi.logic.isNullOrEmpty(this.cronapi.screen.getHostapp())?(this.cronapi.screen.hide(),this.cronapi.screen.notify("error","HostApp is Required")):this.cronapi.util.getURLFromOthers("POST","application/x-www-form-urlencoded",this.cronapi.screen.getHostapp()+""+"auth",this.cronapi.object.createObjectFromString(["{ \"username\": \"",t,"\" , \"password\": \"",a,"\" } "].join("")),this.cronapi.object.createObjectFromString(["{ \"X-AUTH-TOKEN\": \"",n,"\" } "].join("")),function(t){o=t,this.cronapi.screen.hide(),this.cronapi.util.setLocalStorage("_u",this.cronapi.object.serializeObject(o)),this.cronapi.screen.changeView("#/app/logged/home",[])}.bind(this),function(t){o=t,"403"==this.cronapi.object.getProperty(o,"status")||"401"==this.cronapi.object.getProperty(o,"status")?this.cronapi.screen.notify("error",this.cronapi.i18n.translate("LoginViewInvalidpassword",[])):this.cronapi.screen.notify("error",this.cronapi.object.getProperty(o,"responseJSON.message")),this.cronapi.screen.hide()}.bind(this))},this.cronapi.social.sociaLogin=function(t,a){var n=this,o=window.hostApp+"signin/"+t+"/";if(window.cordova&&cordova.InAppBrowser){var r="";(!0===a||"true"===a)&&(r=",clearcache=yes");var c=cordova.InAppBrowser.open(o,"_blank","location=no"+r);c.addEventListener("loadstart",function(t){-1<t.url.indexOf("_ctk")&&(c.close(),n.cronapi.social.login.bind(n)("#OAUTH#","#OAUTH#",n.cronapi.social.gup("_ctk",t.url)))})}else window.location.href="signin/"+t+"/"},this.cronapi.social.ssoLogin=async function(){let t=this.cronapi.$scope,a=new Promise((a,n)=>{if(window.cordova&&cordova.InAppBrowser){const o=cordova.InAppBrowser.open(window.hostApp+"login","_blank","location=no,footer=yes,zoom=no,enableViewportScale=yes,hidenavigationbuttons=yes"),r=c=>{const s=new URL(c.url),l=new URLSearchParams(s.search);l.has("_ctk")?(o.removeEventListener("loadstart",r),o.close(),t.login("#OAUTH#","#OAUTH#",l.get("_ctk")),a()):n()};o.addEventListener("loadstart",r)}else window.ssoWindow=window.open(this.cronapi.internal.getAddressWithHostApp("login")),window.addEventListener("message",function(n){n.data&&"sso_user"===n.data.type&&(window.ssoWindow&&window.ssoWindow.close(),t.login("#OAUTH#","#OAUTH#",n.data._ctk),a())},!1)});return a},this.cronapi.screen.getSelectedRowsGrid=function(t){var a=[],n=$("[ng-model=\""+t+"\"]").children().data("kendoGrid");if(n){var o=n.select();o.each(function(){var t=n.dataItem(this);a.push(t)})}return a},this.cronapi.screen.back=function(){history.back()},this.cronapi.regex={},this.cronapi.regex.extractTextByRegex=function(t,a,n){if(this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(a))return[];let o=null;o=null!=n&&"-"!==n?new RegExp(a,n):new RegExp(a);let r,c=[],s=null;for(;(r=o.exec(t))&&!(null!=s&&s==r.index);){let t=[];for(i=1;i<r.length;i++)t.push(r[i]);s=r.index,c.push(t)}return c},this.cronapi.regex.validateTextWithRegex=function(t,a,n){return!(this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(a))&&(null!=n&&"-"!==n?new RegExp(a,n).test(t):new RegExp(a).test(t))},this.cronapi.calendar={},this.cronapi.calendar.getCalendarValue=async function(t){const a=await getCalendar(t);return a?a.value():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarValue=async function(t,a){const n=await getCalendar(t);n?n.value(a):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.getCalendarMin=async function(t){const a=await getCalendar(t);return a?a.min():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarMin=async function(t,a){const n=await getCalendar(t);n?n.min(a):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.getCalendarMax=async function(t){const a=await getCalendar(t);return a?a.max():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarMax=async function(t,a){const n=await getCalendar(t);n?n.max(a):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.getCalendarSelectDates=async function(t){const a=await getCalendar(t);return a?a.selectDates():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarSelectDates=async function(t,a){const n=await getCalendar(t);n?n.selectDates(Array.isArray(a)?a:[a]):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.navigateCalendarTo=async function(t,a,n){const o=await getCalendar(t);o?o.navigate(a,n):showErrorNotification("calendarElementNotPresent")},this.cronapi.chat={},this.cronapi.chat.chatUserObj=function(t,a,n){return{id:t,name:a,iconUrl:n}},this.cronapi.chat.chatAttachmentObj=function(t,a,n,o,r,c){return{contentType:"heroCard",content:{title:t,subtitle:a,text:n,images:[{url:o,alt:r}],buttons:Array.isArray(c)?c:[c]}}},this.cronapi.chat.chatSuggestedActionObj=function(t,a){return{title:t,value:a}},this.cronapi.chat.getChatUser=async function(t,a,n){getChat(t).then(t=>{if(t)a(t.getUser());else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),n(t)}})},this.cronapi.chat.postChatMessage=function(t,a,n,o){getChat(t).then(t=>{if(t)t.postMessage(a),n();else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),o(t)}})},this.cronapi.chat.renderChatMessage=function(t,a,n,o,r){getChat(t).then(t=>{if(t)t.renderMessage({type:"text",text:a},n),o();else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),r(t)}})},this.cronapi.chat.renderChatAttachments=function(t,a,n,o,r,c){getChat(t).then(t=>{if(t)t.renderAttachments({attachments:Array.isArray(n)?n:[n],attachmentLayout:o},a),r();else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),c(t)}})},this.cronapi.chat.renderChatHtml=function(t,a,n,o,r,c){const s=function(t){let a=document.createElement("div");a.innerHTML=t;let n=a.getElementsByTagName("script"),o=n.length;for(;o--;)n[o].parentNode.removeChild(n[o]);return a.innerHTML},l=kendo.template(`
1
+ (window.fixedTimeZone===void 0||null===window.fixedTimeZone)&&(window.fixedTimeZone=!0),(window.timeZone===void 0||null===window.timeZone)&&(window.timeZone="UTC"),(window.timeZoneOffset===void 0||null===window.timeZoneOffset)&&(window.timeZoneOffset=0),window.systemTimeZoneOffset=window.timeZoneOffset,window.fixedTimeZone||(window.timeZoneOffset=moment().utcOffset()),function(){'use strict';var _StringfromCharCode=String.fromCharCode;function getCalendar(t){let a=Date.now(),n=1e4,o=(r,c)=>{let s=$("#"+t+" cron-calendar").data("kendoCalendar");s?r(s):n&&Date.now()-a>=n?r():setTimeout(()=>o(r,c),200)};return new Promise(o)}function showErrorNotification(t){const a=this.cronapi.$translate.instant(t);this.cronapi.$scope.Notification.error(a)}function getChat(t){let a=Date.now(),n=1e4,o=(r,c)=>{let s=$("#"+t+" .k-chat").data("kendoChat");s?r(s):n&&Date.now()-a>=n?r():setTimeout(()=>o(r,c),200)};return new Promise(o)}this.$evt=function(t){var a=this;a.$eval||(a=angular.element(event.target).scope()),a||(a=angular.element(document.getElementById("main-view")).scope()),a.$eval(t)}.bind(this),this.cronapi={},this.cronapi.getRequestData=t=>{let a=t||{};return t.data&&"object"==typeof t.data&&(a=t.data),a},this.cronapi.toDate=function(t){return new Date(t)};var getDatasource=function(t){return"string"==typeof t?window[t]:t};this.cronapi.doEval=function(t){return t},this.cronapi.evalInContext=async function(js){var result=eval("this.cronapi.doEval("+js+")");if(result){if(result.commands)for(var func,i=0;i<result.commands.length;i++)func=eval(result.commands[i].function),await func.apply(this,result.commands[i].params);return result.value}};let clientMap={};this.cronapi.client=function(pack){let argsNames,attr=!1;return{attr:function(){return attr=!0,this},names:function(){argsNames=[];for(let t=0;t<arguments.length;t++)argsNames.push(arguments[t]);return this},run:function(){for(var key=pack,args=[],i=0;i<arguments.length;i++)key+=arguments[i]+"",args.push(arguments[i]);var bk,argsMetadata;try{bk=eval("blockly."+pack)}catch(t){}try{argsMetadata=eval("blockly."+pack+"Args")}catch(t){}if(bk||(bk=eval(pack)),argsMetadata&&argsMetadata.length&&argsNames&&argsNames.length){args=[];for(var i=0;i<argsMetadata.length;i++)args.push(null);for(let t=0;t<argsMetadata.length;t++)for(let a=0;a<argsNames.length;a++)if(argsMetadata[t]==argsNames[a]){args[t]=arguments[a];break}}if(attr){let t=bk.apply(this,args);return void 0!==t&&null!==t&&t.then&&"function"==typeof t.then?(t.then(t=>{clientMap[key]!==t&&this.safeApply(()=>{clientMap[key]=t})}).catch(t=>{clientMap[key]!==t&&this.safeApply(()=>{clientMap[key]=t})}),clientMap[key]):t}else{let t="AsyncFunction"===bk.constructor.name;return t?bk.apply(this,args).catch(t=>this.cronapi.$scope.Notification.error(t)):bk.apply(this,args)}}.bind(this)}};var serverMap={};this.cronapi.server=function(t){var a=!1,n=!1,o=!0,r=!0;let c;return{attr:function(){return a=!0,this},toPromise:function(){return n=!0,this},notAsync:function(){return o=!1,this},names:function(){c=[];for(let t=0;t<arguments.length;t++)c.push(arguments[t]);return this},disableNotification:function(){return r=!1,this},run:function(){for(var s=t,l=0;l<arguments.length;l++)s+=arguments[l]+"";if(a){if(serverMap.hasOwnProperty(s))return"$$loading"==serverMap[s]?"":serverMap[s];serverMap[s]="$$loading"}var d=t.split("."),p=d[d.length-1];d.pop();var u,m,g=d.join("."),h=new Promise((t,a)=>{u=t,m=a}),f=function(t){this.safeApply(function(){a&&(serverMap[s]=t),u(t)})}.bind(this),b=function(t){this.safeApply(function(){a&&(serverMap[s]=t),m(t)}),t&&r&&this.cronapi.$scope.Notification.error(t)}.bind(this),y=[g+":"+p];if(o){y.push(f),y.push(b),c&&c.length&&y.push({argsNames:c});for(var l=0;l<arguments.length;l++)y.push(arguments[l]);if(this.cronapi.util.makeCallServerBlocklyAsync.apply(this,y),n)return h}else{c&&c.length&&y.push({argsNames:c});for(var l=0;l<arguments.length;l++)y.push(arguments[l]);let t=this.cronapi.util.callServerBlockly.apply(this,y);return a&&(serverMap[s]=t),t}}.bind(this)}},this.cronapi.callFunction=function(name){return{call:function(){var ref;try{ref=eval(name)}catch(t){}return ref?ref.apply(this,arguments):void 0}.bind(this)}},this.cronapi.conversion={},this.cronapi.conversion.asciiToBinary=function(t){var a="";if(0<t.length)for(var n,o=0;o<t.length;o++){n=t.charCodeAt(o);for(var r=7;0<=r;r--)a+=1&n>>r}return a},this.cronapi.conversion.toBoolean=function(t){return this.cronapi.internal.parseBoolean(t)},this.cronapi.conversion.toBytes=function(t){return t?t.toString():""},this.cronapi.conversion.chrToAscii=function(t){return t?t.charCodeAt(0):null},this.cronapi.conversion.stringToJs=function(t){return this.cronapi.internal.stringToJs(t)},this.cronapi.conversion.stringToDate=function(value){var pattern=/^\s*(\d+)[\/\.-](\d+)[\/\.-](\d+)(\s(\d+):(\d+):(\d+))?\s*$/;if(value){if(value instanceof Date)return value;if(pattern.test(value)){var splited=pattern.exec(value),userLang=(navigator.language||navigator.userLanguage).split("-")[0];if("pt"==userLang||"en"==userLang){var functionToCall=eval("cronapi.internal."+userLang+"Date");return functionToCall(splited)}return new Date(value)}return new Date(value)}return null},this.cronapi.conversion.stringToDateWithFormat=function(t,a){let n=moment(t,a);return n.isValid()?n.toDate():null},this.cronapi.conversion.intToHex=function(t){return(+t).toString(16).toUpperCase()},this.cronapi.conversion.toLong=function(t){return parseInt(t)},this.cronapi.conversion.toString=function(t){if(t){var a=new String(t);return a.toString()}return""},this.cronapi.util={},this.cronapi.util.setToken=function(t){let a={};localStorage.getItem("_u")&&(a=JSON.parse(localStorage.getItem("_u")),a.token=t),localStorage.setItem("_u",JSON.stringify(a)),window.uToken=t},this.cronapi.util.getApplicationName=function(){return $("#projectName").length?$("#projectName").val():$("h1:first").length&&$("h1:first").text().trim().length?$("h1:first").text().trim():""},this.cronapi.util.createPromise=function(){var t,a,n=new Promise((n,o)=>{t=n,a=o});return n.__functionToResolve=t,n.__functionToReject=a,n},this.cronapi.util.handleValueToPromise=function(t,a,n){"resolve"===t?a.__functionToResolve(n):a.__functionToReject(n)},this.cronapi.util.sleep=async function(t){var a=new Promise(a=>{setInterval(()=>{a(t)},t)});return a},this.cronapi.util.callServerBlocklyAsync=function(t,a,n,o){const r=()=>{const t=new WeakSet;return(a,n)=>{if("object"==typeof n&&null!==n){if(t.has(n))return;t.add(n)}return n}};var c,s="api/cronapi/call/body/#classNameWithMethod#/".replace("#classNameWithMethod#",t),l=this.cronapi.$scope.http,d=[];$(arguments).each(function(){this&&"object"==typeof this&&this.argsNames&&this.argsNames.constructor===Array?c=this.argsNames:d.push(this)});var p="";window.uToken&&(p=window.uToken);var u={fields:a,inputs:d.slice(4)};c&&(u.names=c);var m=this.cronapi.internal.getAddressWithHostApp(s);let g;try{g=JSON.stringify(u)}catch(t){g=JSON.stringify(u,r())}$.ajax({type:"POST",url:m,dataType:"html",data:g,headers:{"Content-Type":"application/json","X-AUTH-TOKEN":p,toJS:!0,timezone:moment().utcOffset()},success:n,error:o})},this.cronapi.util.getScreenFields=function(){var fields={};for(var key in this.cronapi.$scope)this.cronapi.$scope[key]&&this.cronapi.$scope[key].constructor&&"DataSet"==this.cronapi.$scope[key].constructor.name&&(fields[key]={},fields[key].active=this.cronapi.$scope[key].active);var scope=this.cronapi.$scope,recursiveLookup=function(scope){var fieldValue;try{fieldValue=eval(scope.vars)}catch(t){}if(fieldValue&&0!==Object.keys(fieldValue).length){var keys=Object.keys(fieldValue);keys.forEach(function(t){void 0!==fieldValue[t]&&null!==fieldValue[t]&&(!fields.vars&&(fields.vars={}),fields.vars[t]=fieldValue[t])})}else if(scope&&scope.$parent)return recursiveLookup(scope.$parent)};for(var key in recursiveLookup(scope),this.cronapi.$scope.params)this.cronapi.$scope.params[key]&&(fields.params||(fields.params={}),fields.params[key]=this.cronapi.$scope.params[key]);return fields},this.cronapi.util.makeCallServerBlocklyAsync=function(blocklyWithFunction,callbackSuccess,callbackError){var fields=this.cronapi.util.getScreenFields(),paramsApply=[];paramsApply.push(blocklyWithFunction),paramsApply.push(fields),paramsApply.push(function(data){this.cronapi.evalInContext(data).then(result=>{"string"==typeof callbackSuccess?eval(callbackSuccess)(result):callbackSuccess&&callbackSuccess(result)})}.bind(this)),paramsApply.push(function(data,status,errorThrown){var message=this.cronapi.internal.getErrorMessage(data.responseText,errorThrown);"string"==typeof callbackError?eval(callbackError)(message):callbackError?callbackError(message):this.cronapi.$scope.Notification.error(message)}.bind(this)),$(arguments).each(function(t){3<=t&&paramsApply.push(this)}),this.cronapi.util.callServerBlocklyAsync.apply(this,paramsApply)},this.cronapi.util.callServerBlocklyNoReturn=async function(){return this.cronapi.util.callServerBlockly.apply(this,arguments)},this.cronapi.util.throwException=function(t){throw t},this.cronapi.util.createException=function(t){return t},this.cronapi.util.language=function(){var t=(window.navigator.userLanguage||window.navigator.language||"pt_br").replace("-","_");return t},this.cronapi.util.share=function(t,a,n){return navigator.share({title:t,text:a,url:n}).then(()=>console.log("Successful share")).catch(t=>console.log("Error sharing:",t)),value},this.cronapi.util.callServerBlockly=async function(t){let a=[t,null,null],n=1;for(n;n<arguments.length;n++)a.push(arguments[n]);return new Promise(((t,n)=>{a[1]=(a=>{t(a)}).bind(this),a[2]=(t=>{n(t)}).bind(this),this.cronapi.util.makeCallServerBlocklyAsync.apply(this,a)}).bind(this))},this.cronapi.util.callServerBlocklyAsynchronous=function(t,a,n){if(""!=t&&"function"==typeof a){var n=[t,a,a],o=2;for(o;o<arguments.length;o++)n.push(arguments[o]);this.cronapi.util.makeCallServerBlocklyAsync.apply(this,n)}},this.cronapi.util.executeJavascriptNoReturn=function(value){eval(value)},this.cronapi.util.downloadFile=function(t){var a=this.cronapi.internal.getAddressWithHostApp(t);this.cronapi.screen.openUrl(a,"_blank",0,0)},this.cronapi.util.executeJavascriptNoReturn=function(value){eval(value)},this.cronapi.util.executeJavascriptReturn=function(value){return eval(value)},this.cronapi.util.openReport=function(t){this.cronapi.$scope.getReport(t)},this.cronapi.util.handleCallback=function(t){if(t){let a="AsyncFunction"===t.constructor.name;return a?function(){(async()=>await t.apply(this,arguments))()}.bind(this):t.bind(this)}},this.cronapi.util.getURLFromOthers=function(t,a,n,o,r,c,s){if(o&&"application/x-www-form-urlencoded"===a){for(var l in o)if(o[l]instanceof Array){var d=o[l].toString();o[l]=`[${d}]`}}else o&&"application/json"===a&&(o=JSON.stringify(o));var p=Object.create(r);p["Content-Type"]=a,$.ajax({method:t,url:n,data:o,headers:p}).done(this.cronapi.util.handleCallback(c).bind(this)).fail(this.cronapi.util.handleCallback(s.bind(this)))},this.cronapi.util.getUserToken=function(){return JSON.parse(window.localStorage.getItem("_u")).token},this.cronapi.util.setSessionStorage=function(t,a){window.sessionStorage.setItem(t,a)},this.cronapi.util.getSessionStorage=function(t){return window.sessionStorage.getItem(t)},this.cronapi.util.setLocalStorage=function(t,a){window.localStorage.setItem(t,a)},this.cronapi.util.getLocalStorage=function(t){return window.localStorage.getItem(t)},this.cronapi.util.executeAsynchronous=function(t){setTimeout(t,0)},this.cronapi.util.scheduleExecution=function(t,a,n,o,r){r=r||!0,r="true"===r||!0===r;var c=1;"seconds"===o?c=1e3:"minutes"===o?c=6e4:"hours"==o&&(c=36e5),a*=c,n*=c;var s=-1,l=setTimeout(function(){t(),s=setInterval(t,n)}.bind(this),a);r&&this.$on("$destroy",function(){try{clearTimeout(l)}catch(t){}try{clearInterval(s)}catch(t){}})},this.cronapi.util.openReport=function(t,a,n){this.cronapi.$scope.getReport(t,a,n)},this.cronapi.util.getCEP=function(t,a){if(this.cronapi.logic.isNullOrEmpty(t))throw new Error("Informe o CEP");if(t=t.replace(/\.|\-/g,"").split(" ").join(""),8>t.length)throw new Error("CEP inv\xE1lido");let n="https://viacep.com.br/ws/"+t+"/json/?callback=?";$.getJSON(n,this.cronapi.util.handleCallback(a.bind(this)))},this.cronapi.screen={},this.cronapi.screen.isInsertingMode=function(t){return getDatasource(t).inserting},this.cronapi.screen.isEditingMode=function(t){return getDatasource(t).editing},this.cronapi.screen.changeTitleScreen=function(t){window.document.title=t},this.cronapi.screen.fieldFromScreen=function(t){return t},this.cronapi.screen.changeValueOfField=function(t,a){try{this.__tempValue=a;var n=new Function("this."+t+" = this.__tempValue;");this.safeApply(n.bind(this))}catch(t){}},this.cronapi.screen.getValueOfField=function(field){try{if(field&&0<field.length){if(-1<field.indexOf(".active."))return eval(field);var scope=eval("this"),recursiveLookup=function(scope){var fieldValue;try{fieldValue=eval("scope."+field)}catch(t){}return void 0!==fieldValue||null!==fieldValue?fieldValue:scope&&scope.$parent?recursiveLookup(scope.$parent):""};return recursiveLookup(scope)}return""}catch(t){alert(t)}},this.cronapi.screen.createScopeVariable=function(t,a){this.cronapi.$scope.vars[t]=a},this.cronapi.screen.getScopeVariable=function(t){return this.cronapi.$scope.vars[t]},this.cronapi.screen.notify=function(t,a){(null==a||a==null)&&(a=""),this.cronapi.$scope.Notification({message:a.toString()},t)},this.cronapi.screen.datasourceFromScreen=function(t){return t},this.cronapi.screen.startInsertingMode=async function(t){return new Promise((a,n)=>{getDatasource(t).$apply(()=>{try{getDatasource(t).startInserting(null,()=>{a()})}catch(t){n(t)}})})},this.cronapi.screen.startEditingMode=async function(t){return new Promise((a,n)=>{getDatasource(t).$apply(()=>{try{getDatasource(t).startEditing(null,()=>{a()})}catch(t){n(t)}})})},this.cronapi.screen.previusRecord=function(t){getDatasource(t).$apply(new function(){getDatasource(t).previous()})},this.cronapi.screen.nextRecord=function(t){getDatasource(t).$apply(new function(){getDatasource(t).next()})},this.cronapi.screen.firstRecord=function(t){getDatasource(t).$apply(new function(){var a=getDatasource(t);a.cursor=-1,a.next()})},this.cronapi.screen.lastRecord=function(t){getDatasource(t).$apply(new function(){var a=getDatasource(t);a.cursor=a.data.length-2,a.next()})},this.cronapi.screen.removeRecord=async function(t){return new Promise((a,n)=>{getDatasource(t).$apply(()=>{try{getDatasource(t).removeSilent(null,()=>{a()},t=>{n(t)})}catch(t){n(t)}})})},this.cronapi.screen.refreshActiveRecord=async function(t){return new Promise((a,n)=>{try{getDatasource(t).refreshActive(()=>{a()},t=>{n(t)})}catch(t){n(t)}})},this.cronapi.screen.hasNextRecord=function(t){return getDatasource(t).hasNext()},this.cronapi.screen.quantityRecords=function(t){return getDatasource(t).data.length},this.cronapi.screen.post=function(t){return getDatasource(t).postSilent()},this.cronapi.screen.filter=function(t,a){getDatasource(t).isOData()?getDatasource(t).search(a):getDatasource(t).filter("/"+a)},this.cronapi.screen.changeView=function(view,params){try{function decodeCharParam(value){if(value)for(var param in paramsStopEncode){var regex=eval("/"+param+"/g");value=value.replace(regex,paramsStopEncode[param])}return value}var queryString="",paramsStopEncode={};if(paramsStopEncode["%24"]="$","undefined"!=typeof params)for(var i in Object.keys(params)){var k=Object.keys(params[i])[0],paramValue=Object.values(params[i])[0];paramValue instanceof Date&&(paramValue=paramValue.toISOString());var v=paramValue+"";queryString&&(queryString+="&"),queryString+=decodeCharParam(encodeURIComponent(k))+"="+encodeURIComponent(v)}let existRoute=t=>{if(this.cronapi.$scope&&this.cronapi.$scope.$state){let a=this.cronapi.$scope.$state.get(),n=t.split("/").slice(2),o="views/"+n.join("/")+".view.html";a.forEach(a=>{let n=a.templateUrl;if(n instanceof Function){let t=/('|")[a-z0-9/.]+('|")/gim.exec(n.toString());null!==t&&void 0!==t&&t[0]&&(n=t[0].replace(/'/g,""))}n===o&&(t="#"+a.url)})}return t};var oldHash=window.location.hash;view=existRoute(view),window.location.hash=view+(queryString?"?"+queryString:"");var oldHashToCheck=oldHash+(-1<oldHash.indexOf("?")?"":"?"),viewToCheck=view+(-1<view.indexOf("?")?"":"?");this.cronapi.forceCloseAllModal(),0<=oldHashToCheck.indexOf(viewToCheck)&&window.location.reload()}catch(t){alert(t)}},this.cronapi.screen.openUrl=function(t,a,n,o){try{var r="_self",c="";a&&"true"==a.toString().toLowerCase()&&(r="_blank"),n&&(c+="width="+n+","),o&&(c+="height="+o+","),window.open(t,r,c)}catch(t){alert(t)}},this.cronapi.screen.getParam=function(t){try{for(var a,n=[],o=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),r=0;r<o.length;r++)a=o[r].split("="),n.push(a[0]),n[a[0]]=a[1];if(n[t]!==void 0)return decodeURIComponent(n[t])}catch(t){}return null},this.cronapi.screen.confimDialog=function(t){var a=confirm(t);return a},this.cronapi.screen.createDefaultModal=function(t,a,n,o,r,c,s){$("#modalTemplateTitle").text(t),$("#modalTemplateBody").text(a),$("#modalTemplateCancel").text(n),$("#modalTemplateSave").text(o),$("#modalTemplateClose").unbind("click"),$("#modalTemplateClose").click(s),$("#modalTemplateCancel").unbind("click"),$("#modalTemplateCancel").click(c),$("#modalTemplateSave").unbind("click"),$("#modalTemplateSave").click(r),this.cronapi.screen.showModal("modalTemplate")},this.cronapi.screen.showModal=function(t){let a=`#${t}`,n=$(":focus"),o=$(":hover");try{$(a).one("shown.bs.modal",function(){n.length&&($(this).data("lastFocused",n),$(this).data("lastFocusedClass","."+n.attr("class").split(" ").join("."))),o.length&&$(this).data("lastHovers",o);let t=$(this).find("input:not(:hidden)")[0];t&&t.focus()}).one("hidden.bs.modal",function(){let t,n=$(a).data("lastFocused"),o=!1;n&&n.length&&(t=$($(this).data("lastFocusedClass")),o=$("html").has(n).length?n.is(":visible"):t.is(":visible"));let r=function(t){return $(t[t.length-1]).closest("li:visible").find("a:first")},c=$(a).data("lastHovers");if(o)t.focus(),n.focus();else if($("html").has(n).length){let t=r(n);t.focus()}else if(c&&c.length){let t=r(c);t.focus()}}).modal({backdrop:"static",keyboard:!1})}catch(t){$(a).show()}$(a).css("overflow-y","auto")},this.cronapi.screen.setActiveTab=function(t){this.cronapi.$scope.safeApply(function(){$("#"+t).attr("data-target")===void 0?$("[data-target=\"#"+t+"\"]").tab("show"):$("#"+t).tab("show")})},this.cronapi.screen.hideModal=function(t){try{$("#"+t).modal("hide")}catch(a){$("#"+t).hide()}},this.cronapi.screen.showIonicModal=function(t){$("#"+t).data("cronapp-modal")&&$("#"+t).data("cronapp-modal").remove(),this.cronapi.$scope.$ionicModal.fromTemplateUrl(t,{scope:this.cronapi.$scope,animation:"slide-in-up"}).then(function(a){$("#"+t).data("cronapp-modal",a),a.show()})},this.cronapi.screen.hideIonicModal=function(t){if($("#"+t).data("cronapp-modal")){var a=$("#"+t).data("cronapp-modal");a.remove(),$("#"+t).data("cronapp-modal",null)}},this.cronapi.screen.isShownIonicModal=function(t){if($("#"+t).data("cronapp-modal")){var a=$("#"+t).data("cronapp-modal");return a.isShown()}return!1},this.cronapi.screen.showLoading=function(){this.cronapi.$scope.$ionicLoading.show({content:"Loading",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:0})},this.cronapi.screen.hide=function(){this.cronapi.$scope.$ionicLoading.hide()},this.cronapi.screen.getHostapp=function(){return window.hostApp},this.cronapi.screen.searchIds=function(){},this.cronapi.screen.showComponent=function(t){$("#"+t).get(0).style.setProperty("display","block","important")},this.cronapi.screen.hideComponent=function(t){$("#"+t).get(0).style.setProperty("display","none","important")},this.cronapi.screen.disableComponent=function(t){let a;if(window.cordova)a=this.cronapi.$scope;else{let t=window.angular.element("body").injector();a=t.get("$rootScope")}let n=()=>{if("$apply"!==a.$$phase&&"$digest"!==a.$$phase){let a=$("#"+t);a.data("kendoComboBox")?a.data("kendoComboBox").enable(!1):a.hasClass("cronSelect")&&a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox")?a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox").enable(!1):a.data("kendoDropDownList")?a.data("kendoDropDownList").enable(!1):a.find("[data-role=grid]").data("kendoGrid")?this.cronapi.internal.coverElement(a):$.each(a.find("*").addBack(),function(t,a){$(a).prop("disabled",!0)})}else setTimeout(()=>n(),200)};n()},this.cronapi.screen.enableComponent=function(t){let a;if(window.cordova)a=this.cronapi.$scope;else{let t=window.angular.element("body").injector();a=t.get("$rootScope")}let n=()=>{if("$apply"!==a.$$phase&&"$digest"!==a.$$phase){let a=$("#"+t);a.data("kendoComboBox")?a.data("kendoComboBox").enable(!0):a.hasClass("cronSelect")&&a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox")?a.closest(".form-group").find("input.cronSelect[data-role=combobox]").data("kendoComboBox").enable(!0):a.data("kendoDropDownList")?a.data("kendoDropDownList").enable(!0):a.find("[data-role=grid]").data("kendoGrid")?this.cronapi.internal.discoverElement(a):$.each(a.find("*").addBack(),function(t,a){$(a).prop("disabled",!1)})}else setTimeout(()=>n(),200)};n()},this.cronapi.screen.focusComponent=function(t){this.cronapi.$scope.safeApply(function(){tinyMCE&&tinyMCE.get(t)?tinyMCE.get(t).focus():$("#"+t).find("*").addBack().focus()})},this.cronapi.screen.changeAttrValue=function(t,a,n){$("#"+t).attr(a,n)},this.cronapi.screen.changeContent=function(t,a,n){if($("#"+t).html(a),!0===n||"true"===n){var o=angular.injector(["ng"]),r=this;o.invoke(["$compile",function(a){a(document.querySelector("#"+t))(r.cronapi.$scope)}])}},this.cronapi.screen.recompileComponent=async function(t){let a=$(`#${t}`);a.data("alreadycompiled",!1);let n=await(t=>new Promise(a=>{let n=t.data("$compile");if(n)a(n);else{var o=angular.injector(["ng"]);o.invoke(["$compile",t=>a(t)])}}))(a),o=this.cronapi.$scope;o.safeApply(()=>n(a)(o))},this.cronapi.screen.logout=function(){this.cronapi.$scope.logout!=null&&this.cronapi.$scope.logout()},this.cronapi.screen.refreshDatasource=function(t,a){!0==a||"true"==a?this[t].search(this[t].terms,this[t].caseInsensitive):this[t].search("",this[t].caseInsensitive)},this.cronapi.screen.loadMore=function(t){getDatasource(t).$apply(function(){getDatasource(t).nextPage()})},this.cronapi.screen.hasNextPage=function(t){return getDatasource(t).hasNextPage()},this.cronapi.screen.load=function(t){getDatasource(t).fetch({params:{}},void 0,void 0,{origin:"button"})},this.cronapi.dateTime={},this.cronapi.dateTime.formats=function(){var t=[];return t="pt_br"==this.cronapi.$translate.use()?["DD/MM/YYYY HH:mm:ss","DD/MM/YYYY","DD-MM-YYYY HH:mm:ss","DD-MM-YYYY"]:["MM/DD/YYYY HH:mm:ss","MM/DD/YYYY","MM-DD-YYYY HH:mm:ss","MM-DD-YYYY"],t.push("YYYY-MM-DDTHH:mm:ss"),t.push("HH:mm:ss"),t.push("MMMM"),t},this.cronapi.dateTime.getMomentObj=function(value){var currentMoment=moment;if(value instanceof moment)return value;if(value instanceof Date)return currentMoment(value).utcOffset(window.timeZoneOffset);if(value){let dateString=/\/Date((.*?))\//,regexExecution=dateString.exec(value);if(regexExecution&&1<regexExecution.length){let date=eval(`new Date${regexExecution[1]}`);return currentMoment(date).utcOffset(window.timeZoneOffset)}}var formats=this.cronapi.dateTime.formats(),momentObj=null;for(var ix in formats)if(momentObj=currentMoment(value,formats[ix]),momentObj.isValid())break;return momentObj},this.cronapi.dateTime.getSecond=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("second"):0},this.cronapi.dateTime.getMinute=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("minute"):0},this.cronapi.dateTime.getHour=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("hour"):0},this.cronapi.dateTime.getYear=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("year"):0},this.cronapi.dateTime.getMonth=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("month")+1:0},this.cronapi.dateTime.getDay=function(t){var a=this.cronapi.dateTime.getMomentObj(t);return a?a.get("date"):0},this.cronapi.dateTime.getSecondsBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"seconds")},this.cronapi.dateTime.getMinutesBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"minutes")},this.cronapi.dateTime.getHoursBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"hours")},this.cronapi.dateTime.getDaysBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"days")},this.cronapi.dateTime.getMonthsBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"months")},this.cronapi.dateTime.getYearsBetweenDates=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t),o=this.cronapi.dateTime.getMomentObj(a);return n.diff(o,"years")},this.cronapi.dateTime.incSecond=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("seconds",a).toDate()},this.cronapi.dateTime.incMinute=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("minutes",a).toDate()},this.cronapi.dateTime.incHour=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("hours",a).toDate()},this.cronapi.dateTime.incDay=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("days",a).toDate()},this.cronapi.dateTime.incMonth=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("months",a).toDate()},this.cronapi.dateTime.incYear=function(t,a){var n=this.cronapi.dateTime.getMomentObj(t);return n.add("years",a).toDate()},this.cronapi.dateTime.getNow=function(){var t=moment();return t.toDate()},this.cronapi.dateTime.formatDateTime=function(t,a){return this.cronapi.dateTime.getMomentObj(t).format(a)},this.cronapi.dateTime.newDate=function(t,a,n,o,r,c){var s=new Date;return s.setYear(t),s.setMonth(a-1),s.setDate(n),s.setHours(o),s.setMinutes(r),s.setSeconds(c),this.cronapi.dateTime.getMomentObj(s).toDate()},this.cronapi.dateTime.updateDate=function(t,a,n,o,r,c,s,l){var d=this.cronapi.dateTime.getMomentObj(t).toDate();if(d&&!isNaN(d.getTime()))d.setYear(a),d.setMonth(n-1),d.setDate(o),d.setHours(r),d.setMinutes(c),d.setSeconds(s),d.setMilliseconds(l);else return void this.cronapi.screen.notify("error",this.cronapi.i18n.translate("InvalidDate",[]));return this.cronapi.dateTime.getMomentObj(d).toDate()},this.cronapi.dateTime.updateNewDate=function(t,a,n){var o=this.cronapi.dateTime.getMomentObj(t).toDate();if(o&&!isNaN(o.getTime()))"year"===a?o.setYear(n):"month"===a?o.setMonth(n-1):"day"===a?o.setDate(n):"hour"===a?o.setHours(n):"minute"===a?o.setMinutes(n):"second"===a?o.setSeconds(n):"millisecond"===a?o.setMilliseconds(n):void 0;else return void this.cronapi.screen.notify("error",this.cronapi.i18n.translate("InvalidDate",[]));return this.cronapi.dateTime.getMomentObj(o).toDate()},this.cronapi.text={},this.cronapi.text.prompt=function(){return null},this.cronapi.text.newline=function(){return"\n"},this.cronapi.text.replaceAll=function(t,a,n,o){return this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(a)||this.cronapi.logic.isNull(o)?null:"-"===n?t.replace(a,o):t.replace(new RegExp(a,n),o)},this.cronapi.xml={},this.cronapi.xml.newXMLEmpty=function(){return $.parseXML("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root></root>")},this.cronapi.xml.newXMLEmptyWithRoot=function(t){var a=$.parseXML("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root></root>");return a.removeChild(a.firstElementChild),a.appendChild(t),a},this.cronapi.xml.newXMLElement=function(t,a){var n=document.createElement(t);return n.textContent=a,n},this.cronapi.xml.addXMLElement=function(t,a){try{var n=a.cloneNode(!0);return t.appendChild(n),!0}catch(t){return!1}},this.cronapi.xml.XMLHasRootElement=function(t){return!!(t&&t.getRootNode())},this.cronapi.xml.XMLGetRootElement=function(t){return t instanceof XMLDocument?t.firstElementChild:t.getRootNode()},this.cronapi.xml.XMLDocumentToText=function(t){if(t instanceof XMLDocument)return $($($(t.firstElementChild).context.outerHTML).removeAttr("xmlns"))[0].outerHTML;if(1<$(t).size()){var a="";return $.each($(t).toArray(),function(t,n){a+=$($(n)[0].outerHTML).removeAttr("xmlns")[0].outerHTML}),a}return $($($(t).context.outerHTML).removeAttr("xmlns"))[0].outerHTML},this.cronapi.xml.getChildren=function(t,a){return t instanceof XMLDocument?t.firstElementChild.toArray:a?a.localName?$(t).find(a.localName).toArray():$(t).find(a).toArray():$(t).children().toArray()},this.cronapi.xml.setAttribute=function(t,a,n){return!!a&&(t instanceof XMLDocument?(t.firstChild.setAttribute(a,n),!0):!!t&&(t.setAttribute(a,n),!0))},this.cronapi.xml.getAttributeValue=function(t,a){return a?t instanceof XMLDocument?t.firstChild.getAttribute(a)?t.firstChild.getAttribute(a):"":t&&a?t.getAttribute(a):"":""},this.cronapi.xml.getParentNode=function(t){return t instanceof XMLDocument?t.firstChild:t.parentNode},this.cronapi.xml.setElementContent=function(t,a){t instanceof XMLDocument&&(t.firstChild.textContent=a),t.textContent=a},this.cronapi.xml.getElementContent=function(t){return t instanceof XMLDocument?t.firstChild.innerText:t.innerText},this.cronapi.xml.removeElement=function(t,a){t instanceof XMLDocument?a?a instanceof HTMLUnknownElement?a.remove():$.each($(t.firstElementChild.children),function(t,n){n.localName==a&&n.remove()}):$.each($(t.firstElementChild.children),function(t,a){a.remove()}):a?a instanceof HTMLUnknownElement?a.remove():$.each($(t.children),function(t,n){n.localName==a&&n.remove()}):$.each($(t.children),function(t,a){a.remove()})},this.cronapi.xml.getElementName=function(t){return t instanceof XMLDocument?t.firstChild.localName:t.localName},this.cronapi.xml.renameElement=function(t,a){var n=t.outerHTML.replace(t.localName,a);n=n.replace("/"+t.localName,"/"+a),n=$(n).removeAttr("xmlns"),t.replaceWith(n[0])},this.cronapi.logic={},this.cronapi.logic.isNull=function(t){return null===t||"undefined"==typeof t||t==null},this.cronapi.logic.isEmpty=function(t){return""===t},this.cronapi.logic.isNullOrEmpty=function(t){return this.cronapi.logic.isNull(t)||this.cronapi.logic.isEmpty(t)},this.cronapi.logic.typeOf=function(t,a){return"array"===a?Array.isArray(t):!("object"===a&&Array.isArray(t))&&typeof t==a},this.cronapi.i18n={},this.cronapi.i18n.translate=function(t,a){if(t){for(var n,o=this.cronapi.$translate.instant(t),r=0;r<a.length;r++)if(n=a[r],null!=n&&"undefined"!=typeof n){var c=new RegExp("\\{"+r+"\\}","g");o=o.replace(c,n)}return o}},this.cronapi.internal={},this.cronapi.internal.coverElement=function(t){let a=t.attr("id");((t,a)=>{let n=a.eq(0).outerWidth(),o=a.eq(0).outerHeight();a.each(function(){let a=$(this).offset();$(`<div class='cover-${t}'>`).css({width:n,height:o,position:"absolute",top:a.top,left:a.left,"z-index":999999}).appendTo($("body"))})})(a,t)},this.cronapi.internal.discoverElement=function(t){let a=t.attr("id");$(`.cover-${a}`).remove()},this.cronapi.internal.focusFormInput=function(){let t=$($("form")[0]),a=$(t.find("input")[0]);if(a&&a.length){let t=setInterval(()=>{a.is(":visible")&&(a.focus(),clearInterval(t))},100)}},this.cronapi.forceCloseAllModal=function(){var t=$(".modal.fade.in");t&&t.each((t,a)=>this.cronapi.screen.hideModal(a.id)),$(".modal-backdrop.fade.in").remove()},this.cronapi.internal.setFile=function(t,a){this.cronapi.internal.fileToBase64(a,function(a){this.cronapi.screen.changeValueOfField(t,a)}.bind(this))},this.cronapi.internal.fileToBase64=function(t,a){var n=new FileReader;n.readAsDataURL(t),n.onload=function(t){var n=t.target.result.substr(t.target.result.indexOf("base64,")+7);a(n)}},this.cronapi.internal.getMaxResolution=function(t,a){var n=window.innerWidth,o=window.innerHeight,r=0;return r=n/t,a*=r,t*=r,t>n&&(r=n/t,a*=r,t*=r),a>o&&(r=o/a,t*=r,a*=r),{width:t,height:a}},this.cronapi.internal.startCamera=function(t,a,n,o,r){if(window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId){var c=this;navigator.camera.getPicture(function(a){c.cronapi.screen.changeValueOfField(t,a)},function(t){console.error(t),c.cronapi.$scope.Notification.error(message)},{quality:parseInt(a),destinationType:Camera.DestinationType.DATA_URL,encodingType:Camera.EncodingType.JPEG,correctOrientation:!0,allowEdit:"true"==n,targetWidth:parseInt(o),targetHeight:parseInt(r)})}else{var s="<div class=\"camera-container\" style=\"margin-left:-$marginleft$;margin-top:-$margintop$\"> <button class=\"btn btn-success button button-balanced\" id=\"cronapiVideoCaptureOk\" style=\"position: absolute; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-ok icon ion-checkmark-round\"></span> <span class=\"sr-only\">{{\"Upload.camera\" | translate}}</span> </button> <button class=\"btn btn-danger button button-assertive button-cancel-capture\" id=\"cronapiVideoCaptureCancel\" style=\"position: absolute; margin-left: 42px; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span> <span class=\"sr-only\">{{\"Cancel\" | translate}}</span> </button> <video id=\"cronapiVideoCapture\" style=\"height: $height$; width: $width$;\" autoplay=\"\"></video> </div>",l=null;navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia({video:!0}).then(function(a){l=a;var n=cronapi.internal.getMaxResolution(a.getTracks()[0].getSettings().width,a.getTracks()[0].getSettings().height),o=n.width,r=n.height;try{o=parseInt(o/2),r=parseInt(r/2)}catch(t){}s=s.split("$height$").join(n.height+"px").split("$width$").join(n.width+"px").split("$marginleft$").join(o+"px").split("$margintop$").join(r+"px");var c=$(s);c.prependTo("body");var d=document.getElementById("cronapiVideoCapture");c.find("#cronapiVideoCaptureCancel").on("click",function(){null!=l&&0<l.getTracks().length&&l.getTracks()[0].stop(),$(c).remove()}.bind(this)),c.find("#cronapiVideoCaptureOk").on("click",function(){this.cronapi.internal.captureFromCamera(t,n.width,n.height),null!=l&&0<l.getTracks().length&&l.getTracks()[0].stop(),$(c).remove()}.bind(this)),d.srcObject=a,d.onloadedmetadata=function(){d.play()}}.bind(this))}},this.cronapi.internal.getPicture=function(t){if(1===t.sourceType)cronapi.internal.getPictureFromCamera(t);else if(0===t.sourceType||2===t.sourceType)cronapi.internal.getPictureFromFile(t);else{$("<div id=\"captureChooser\"></div>").prependTo("body"),$("#captureChooser").kendoDialog({title:"",content:this.cronapi.i18n.translate("getImageFrom",[]),buttonLayout:"normal",actions:[{text:this.cronapi.i18n.translate("camera",[]),primary:!0,action:function(){return cronapi.internal.getPictureFromCamera(t),!0}},{text:this.cronapi.i18n.translate("gallery",[]),action:function(){return cronapi.internal.getPictureFromFile(t),!0}}]})}},this.cronapi.internal.getPictureFromCamera=function(t){var a=null;navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia({video:!0}).then(function(n){a=n;var o=cronapi.internal.getMaxResolution(n.getTracks()[0].getSettings().width,n.getTracks()[0].getSettings().height),r=o.width,c=o.height;try{r=parseInt(r/2),c=parseInt(c/2)}catch(t){}var s="<div class=\"camera-container\" style=\"margin-left:-$marginleft$;margin-top:-$margintop$\"> <button class=\"btn btn-success button button-balanced\" id=\"cronapiFileBrowserOk\" style=\"position: absolute; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-ok icon ion-checkmark-round\"></span> <span class=\"sr-only\">{{\"Upload.camera\" | translate}}</span> </button> <button class=\"btn btn-danger button button-assertive button-cancel-capture\" id=\"cronapiFileBrowserCancel\" style=\"position: absolute; margin-left: 42px; z-index: 999999999;\"> <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span> <span class=\"sr-only\">{{\"Cancel\" | translate}}</span> </button> <video id=\"cronapiFileBrowser\" style=\"height: $height$; width: $width$;\" autoplay=\"\"></video> </div> </div>";s=s.split("$height$").join(o.height+"px").split("$width$").join(o.width+"px").split("$marginleft$").join(r+"px").split("$margintop$").join(c+"px");var l=$(s);l.prependTo("body");var d=document.getElementById("cronapiFileBrowser");l.find("#cronapiFileBrowserCancel").on("click",function(){null!=a&&0<a.getTracks().length&&a.getTracks()[0].stop(),t.errorCallback&&t.errorCallback("Opera\xE7\xE3o cancelada"),$(l).remove()}.bind(this)),l.find("#cronapiFileBrowserOk").on("click",function(){cronapi.internal.getPictureSuccess(t,o.width,o.height),null!=a&&0<a.getTracks().length&&a.getTracks()[0].stop(),$(l).remove()}.bind(this)),d.srcObject=n,d.onloadedmetadata=function(){d.play()}}.bind(this)).catch(function(a){t.errorCallback&&t.errorCallback(a.toString())}.bind(this)):t.errorCallback&&t.errorCallback("Recurso n\xE3o suportado ou n\xE3o autorizado")},this.cronapi.internal.getPictureFromFile=function(t){var a=cronapi.internal.getMaxResolution(window.innerWidth,window.innerHeight),n=a.width,o=a.height;try{n=parseInt(n/2),o=parseInt(o/2)}catch(t){console.log(t)}var r="<div class=\"camera-container\" style=\"margin-left:-$marginleft$;margin-top:-$margintop$; height: $height$; width: $width$; display: flex; align-items: center; flex-direction: column; justify-content: center; background: #848484a3;\"> <div style=\"overflow: hidden;max-width: 80%;overflow-y: scroll;\"><img style=\"width: 100%; border-radius: 5px;\" id=\"imgPreview\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0BAMAAAA5+MK5AAAAG1BMVEX09PTh4eHl5eXo6Ojy8vLq6urs7Ozw8PDu7u5TsDcvAAAH+0lEQVR42uzVMWpCQRQF0FeEJO37IZ+0cQdqoaWNYq9Y6w5EFKxduYtwBmbwnB1cLpcbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC86uO+m0+aND9co6btLNs1LFdRze0/m/Z7jkrW2bqfStk32b5xFRV8TbMDi6jgkT0YjlHcZ/ZhjOJO2Yn9u5aeOb5t6ZmF1/6d/fiLoi7Zj+EcJXXx6U927uCpaSCK4/gTQtvjvnaLXjt2Zj2CMJZj7TgOV8QRj6AOXgv4BxDHQf9sqTOdZ4Cy2d1s+G2a7xUOhE/eJoFNl+2s5yJX+UI345TqT9dzfa94jc/AH1bvNl7XUa902Dc5rQZUWRecWPN1XeWYT9fzhqbSm5qseNXcQ+w1/5+miure+csfZFfM0vMoj20fCbPsKMbDW6d4kwjajKXtGIf+glDrxTj0rcIUodZlaRjj0DXBFvvQFaGWjSIf+phgW98TvlVvZ71Vb2e9VW9nvVVvZ71Vb2e9VW9nvVVvZ/2xDeM3539+UPkSU9e0osPjES96+XlKJWuGevZVvmXwjcqVmLoqs3X4hErVBPXurt/+5LTUteV/Pg7/nmqC+k++V/+aSpSWuir5XshwStaSV5dBL7RP9tJS13S3S+83cFJX74744QxZS0tdWdBdNignrr5AB2Gve9ZnvLKBbZFPXH03ZAtXWuqKCnVCtqqmrZ4H7ddMS70469kuM8oZX7N6hxnnjK931mdBb2IkrX4WtkM5LXVd/EWHvImRtHqHGWjYa531jaA3MZJWv+DbYK7stc76ETPOOlebutzAw9zU1DnrGVtTtLqU1XtsybaHPC11Xby2AV3dalXfZGtD8uw3nrpyO/QB+dXrz6HVN9han/zKeQKnrkl6Fu3Qe8z9ObL6W7Y39URnNmjqyvEFZ1905sEcWP0i1sdG5LzIgKlrxxPeG30x7bjqMZY5QWeeYKkrt4vbwA99yQ6rHumWJudlBkpdx76RFfTFIo+qvhXl8SVnySCpK8eHVj90mXZQ9S5b017o0gRIvXAsI7a144ku046pHuPPkjkXMzjqqvhz2pr7osu0Y6rP2FLfF10yMOq6+AVL2/7owg6p3mVLY290yaCoK3JZ504D0IUdUd36xD71R5cMiLomh2HfDkIXdkR1y96CcQi6NMFQVy4fwncdhi7sgOqPn/HDMHTJQKhrKr9xbj8UXe7kAdXp0vKx1SHokkFQV+WtTDi6/BYB1VcvdP3rYHTJAKjr0p8s/KoKdGEHVKcvEdEl8/Tq6r7XKOakCzugOl1Zrkch6JJ5cnVN98rO/J/ZBN3ODqgu7zdKE6oMXdjhZv22zoiLHVB16MIOqE70vuh+MK0OXTJ4s76o94GF54QqRRd2RHWi7GYJ/+YXUZXokgGc9X9lh+fHe5++vyOqGl3YIdUDyrlsBnHWpRjowt4s9ZzLZzBnPSa6sDdJPWeXTINmXdBLsjdHPWe3TGNmXdBLszdFPWfXTENmXdAd2JuhnrN7phGzLuhO7E1Qz9kn04BZF3RH9vTVc/bLJD/rgu7Mnrr6X/buGLVhIIjCsIuwqScEnBvkGkqTe2wTUuoKvnkgEH7sqNAuHmv27bwDCImPHzUSC3oz++Ctg97BPrY66B3sQ7cOehf7yOqgd7EP3DronezjqoPeyR659cUFHfa46uXdBR32uK1XW13QYY+qXszOLuiwR229mtnqgc7WmOrFDPa7orO3mK1XXO6OTu0R1YsZ7A7oXJ49xWi9kqMDOrXHUy+4eKBTe7zWKy4u6NQeTb0YObqgwx6t9Xrl4oDOlljqoMN+X3S2xmoddG7OCd1itQ467F7otoRqHXTYPdDjtQ467G7otkRqHXSDHXRhddBh30BXbP0/Ou920BXVQWewgy7YejXGVtBl1UFnsIMu2DroG7WDbnrqoDPYL8bkWgf9dusfuqg66Az2izG51kHfYL9GF1MHncF+g67VOugbe7HfaaoXa5hW69X2T0u9DV2q9X3oiupt6FKtt6ErqbeiC7W+F11PvRVdqPVWdB31dnSZ1vejq6m3o8u03o6uot6DLtJ6C7qWeg+6SOs96BrqfegSrbehK6n3oUu03oeuoN6LLtB6K7qOei+6QOu96OOrH47+2NZDoT9WPRT6Rutxzmnd3vDqH3b4lsDntN4s1YdvPdijz6uerc+onq3PqJ6tz6ierc+onq3PqJ6tz6ierc+onq3PqJ6tz6ierc+onq3PqJ6tz6ierc+onq3PqO7feqyvKtaD1D+/jt73cvh/bhGGusU+FaB5x5+6/3qKulTP1lM9W0/1bD3Vs/VUz9ZTPVtP9Wz9FHVP3urnU9Q9ezx6MfbDzh2rRBADYRz/wOO8diLGrUV7dQstF0GwVPABFmwsFzmOK4978rurUi+bwIT8f0+QMElmhsBEeVVklWtLwiCn3ktsfWOW/Min1bclXYlbZGErj1b/Zsld1rSR9B69mBXJQ89WmSfN5Gs67hKjFvH1uTbPoFyurC43msvXJOwFYtbOoCoPUqvv3Ji1SKxJ1mJ7YzXpdNZmUfMlNXriwyQ1euI7nbX5xo+6aLGqiVKrYR+lRsMeld/RahAOyu+6itz+qhLWFTQxcVARH+bd7aRCds7j/jipmM/e/Apvg0ra//b3LvV/kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACc2oNDAgAAAABB/197wggAAAAwCf/UoxkfDe2dAAAAAElFTkSuQmCC\"/></div> <input type=\"file\" id=\"imageBrowser\" accept=\"image/*\" style=\"width: 0px; height: 0px; overflow: hidden;\"> <div> <button class=\"btn btn-success button button-balanced\" id=\"cronapiFileBrowserOK\" style=\"position: absolute; z-index: 999999999; bottom: 5px; left: calc(50% - 52px);\"> <span class=\"glyphicon glyphicon-ok icon ion-checkmark-round\"></span> <span class=\"sr-only\">{{\"Upload.camera\" | translate}}</span> </button> <button class=\"btn btn-danger button button-assertive button-cancel-capture\" id=\"cronapiFileBrowserCancel\" style=\"position: absolute; z-index: 999999999; bottom: 5px; right: calc(50% - 52px); margin-right: -5px;\"> <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span> <span class=\"sr-only\">{{\"Cancel\" | translate}}</span> </button> <div> </div>";r=r.split("$height$").join(a.height+"px").split("$width$").join(a.width+"px").split("$marginleft$").join(n+"px").split("$margintop$").join(o+"px");var c=$(r);c.prependTo("body"),c.find("#cronapiFileBrowserCancel").on("click",function(){t.errorCallback&&t.errorCallback("Opera\xE7\xE3o cancelada"),$(c).remove()}.bind(this)),c.find("#cronapiFileBrowserOK").on("click",function(){cronapi.internal.getPictureSuccess(t,a.width,a.height,!0),$(c).remove()}.bind(this)),c.find("#imgPreview").on("touchend click",function(t){"touchend"==t.type&&$(this).off("click"),$("#imageBrowser").trigger("click")}),c.find("#imageBrowser").on("change",function(){if($("img#imgPreview").attr("src",""),"undefined"!=typeof FileReader){var t=new FileReader;t.onload=function(t){$("img#imgPreview").attr("src",t.target.result)},t.readAsDataURL($(this)[0].files[0])}})},this.cronapi.internal.getPictureSuccess=function(t,a,n,o){if(t.successCallback)if(o){var r=document.getElementById("imageBrowser").files[0];if(r){var c=new FileReader;c.onload=function(a){var n=a.target.result;t.successCallback(n)},c.readAsDataURL(r)}else t.successCallback(null)}else{var s=document.createElement("canvas");s.width=a,s.height=n;var l=s.getContext("2d"),d=document.getElementById("cronapiFileBrowser");l.drawImage(d,0,0,a,n);let o="data:image/jpeg;base64, "+s.toDataURL().substr(22);t.successCallback(o)}},this.cronapi.internal.downloadFileEntityMobile=function(t,a,n,o){var r,c,s=null;if(n)r=t.data[n][a],c=t.data[n];else try{r=t.active[a],c=t.active}catch(n){r=t[a],c=t}try{var s=JSON.parse(r)}catch(t){}if(s){var l=this.cronapi.internal.getAddressWithHostApp("/api/cronapi/filePreview/");window.open(l+s.path,"_system")}else if(r.startsWith("https://")||r.startsWith("http://"))window.open(r,"_system");else if(t.isOData())cronapi.internal.makeDownloadFromBytes(r,o);else{var d="/api/cronapi/downloadFile",p=t.entity.split("/"),u=p[p.length-1];if(-1<u.indexOf(":")){for(var m="",g=p[3].split("."),h=0;h<g.length-1;h++)m+=g[h]+".";var f=u.split(":");u=m+f[f.length-1]}d+="/"+u,d+="/"+a;var b=c,y=t.getKeyValues(b),v=0;for(var A in y)d=0==v?d+"/"+b[A]:d+":"+b[A],v++;var l=this.cronapi.internal.getAddressWithHostApp(d);window.open(l,"_system")}},this.cronapi.internal.captureFromCamera=function(t,a,n){var o=document.createElement("canvas");o.width=a,o.height=n;var r=o.getContext("2d"),c=document.getElementById("cronapiVideoCapture");r.drawImage(c,0,0,a,n);var s=o.toDataURL().substr(22);this.cronapi.screen.changeValueOfField(t,s)},this.cronapi.internal.qrCodeScanner=function(t,a,n){let o,r;navigator.mediaDevices.getUserMedia({audio:!1,video:!0}).then(()=>{switch(n.formats){case"AZTEC":r=new ZXing.BrowserAztecCodeReader;break;case"DATA_MATRIX":r=new ZXing.BrowserDatamatrixCodeReader;break;case"QR_CODE":r=new ZXing.BrowserQRCodeReader;break;case"PDF_417":r=new ZXing.BrowserPDF417Reader;break;default:r=new ZXing.BrowserMultiFormatReader;}n.formats&&-1!="UPC_A|UPC_E|EAN_8|EAN_13|CODE_39|CODE_128|ITF|RSS14|RSS_EXPANDED".indexOf(n.formats)&&(r=new ZXing.BrowserBarcodeReader),r.listVideoInputDevices().then(a=>{o=a[0].deviceId;let n=$("<div style=\"position: fixed; display: flex; width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background-color:\n rgb(0 0 0 / 72%); z-index: 9999999; cursor: pointer; justify-content: center; align-items: center;\">\n <div style=\"position: absolute\">\n <div class=\"row\" style=\"position: absolute; bottom 50px; z-index: 999999999;\">\n <div class=\"col-xs-8\">\n <select style=\"width: 100%; position: absolute; bottom: 10px; left: 0; z-index: 999999999;\" id=\"videoSource\"></select>\n </div>\n <div class=\"col-xs-2\">\n <button class=\"btn btn-danger button button-dark\" id=\"cronapiBarCodeChangeCam\" >\n <span class=\"glyphicon glyphicon-remove icon ion ion-ios-reverse-camera\"></span>\n <span class=\"sr-only\">{{\"ChangeCam\" | translate}}</span>\n </button>\n </div>\n <div class=\"col-xs-2\">\n <button class=\"btn btn-danger button button-assertive\" id=\"cronapiBarCodeCancel\" >\n <span class=\"glyphicon glyphicon-remove icon ion-android-close\"></span>\n <span class=\"sr-only\">{{\"Cancel\" | translate}}</span>\n </button>\n </div>\n </div>\n <video id=\"video\" style=\"width: 100%; max-width: 600px; border-radius: 5px;\"></video>\n </div>\n </div>");n.prependTo("body"),a.map((t,a)=>{if("videoinput"===t.kind){let n=document.createElement("option");n.value=t.deviceId,n.text=t.label||"C\xE2mera "+(a+1),0===a&&(n.selected=!0),document.querySelector("select#videoSource").appendChild(n)}}),n.find("#cronapiBarCodeCancel").on("click",(()=>{r.reset(),$(n).remove()}).bind(this)),n.find("#cronapiBarCodeChangeCam").on("click",(()=>{let t=$("#videoSource").prop("selectedIndex"),a=$("#videoSource option").length;t<a-1?$("#videoSource").prop("selectedIndex",t+1):$("#videoSource").prop("selectedIndex",0),$("#videoSource").trigger("change")}).bind(this)),n.find("#videoSource").on("change",(()=>{r.decodeOnceFromVideoDevice($("#videoSource").val(),"video").then(a=>{a&&(t(a.text),$(n).remove(),r.reset())})}).bind(this)),r.decodeOnceFromVideoDevice(o,"video").then(a=>{a&&(t(a.text),$(n).remove(),r.reset())})}).catch(t=>{a(t),r.reset()})}).catch(function(t){a(t)})},this.cronapi.internal.castBinaryStringToByteArray=function(t){for(var a=t.length,n=new Uint8Array(a),o=0;o<a;o++)n[o]=t.charCodeAt(o);return n},this.cronapi.internal.castBase64ToByteArray=function(t){var a=window.atob(t);return this.cronapi.internal.castBinaryStringToByteArray(a)},this.cronapi.internal.castByteArrayToString=function(t){return _StringfromCharCode.apply(null,new Uint16Array(t))},this.cronapi.internal.generatePreviewDescriptionByte=function(data,fileInfo){var json;let fileInfoContent=eval(fileInfo);try{json=fileInfoContent?JSON.parse(fileInfoContent):JSON.parse(data)}catch(e){try{json=JSON.parse(window.atob(data))}catch(e){if(data&&data.match(/__odataFile_/g)){var file=eval(data);json=cronapi.internal.getJsonDescriptionFromFile(file)}else if(data&&(data.startsWith("http://")||data.startsWith("https://"))){json={};var urlSplited=data.split("/"),fullName=urlSplited[urlSplited.length-1].replace("?dl=0",""),fullNameSplited=fullName.split("."),extension="."+fullNameSplited[fullNameSplited.length-1];json.fileExtension=extension,json.name=fullName.replace(extension,""),json.contentType="file/"+extension.replace(".","")}else if(data&&this.cronapi.internal.isBase64(data)){var fileName="download",fileExtesion=this.cronapi.internal.getExtensionBase64(data),contentType=this.cronapi.internal.getContentTypeFromExtension(fileExtesion);fileName+=fileExtesion,json={},json.fileExtension=fileExtesion,json.name=fileName,json.contentType=contentType}}}if(json){25<json.name.length&&(json.name=json.name.substr(0,22)+"...");var result=("pt_br"==this.cronapi.$translate.use()?"<b>Nome:</b> <br/>":"<b>Name:</b> <br/>")+(void 0===json.contentType?"":json.name+"<br/>");return result+=void 0===json.contentType?"":"<b>Content-Type:</b> <br/>"+json.contentType+"<br/>",result+=""===json.fileExtension?"":"pt_br"==this.cronapi.$translate.use()?"<b>Extens\xE3o:</b> <br/>"+json.fileExtension+"<br/>":"<b>Extension:</b> <br/>"+json.fileExtension+"<br/>",result}},this.cronapi.internal.getContentTypeFromExtension=function(t){if(t)switch(t.toLowerCase()){case".png":return"image/png";case".jpg":return"image/jpeg";case".mp4":return"video/mp4";case".pdf":return"application/pdf";case".ico":return"image/vnd.microsoft.icon";case".rar":return"application/x-rar-compressed";case".rtf":return"application/rtf";case".txt":return"text/plain";case".zip":return"application/zip";case".srt":return"text/srt";default:return"unknown";}},this.cronapi.internal.getExtensionBase64=function(t){if(t){var a=t.substr(0,5);switch(a.toLocaleUpperCase()){case"IVBOR":return".png";case"/9J/4":return".jpg";case"AAAAF":return".mp4";case"JVBER":return".pdf";case"AAABA":return".ico";case"UMFYI":return".rar";case"E1XYD":return".rtf";case"U1PKC":return".txt";case"UESDB":return".zip";case"MQOWM":case"77U/M":return".srt";default:return"";}}return""},this.cronapi.internal.isBase64=function(t){try{return btoa(atob(t))==t}catch(t){return!1}},this.cronapi.internal.downloadUrl=function(t,a){let n=document.createElement("a");n.setAttribute("href",t),n.setAttribute("download",a);let o=document.createEvent("MouseEvents");o.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(o)},this.cronapi.internal.makeDownloadFromBytes=function(valueContent,fileInfo){var bytesOrFileInput,urlCreator=window.URL||window.webkitURL||window.mozURL||window.msURL,fileName="download";if(valueContent.match(/__odataFile_/g))bytesOrFileInput=eval(valueContent),fileName=bytesOrFileInput.name;else{fileName+=cronapi.internal.getExtensionBase64(valueContent);try{valueContent=window.atob(valueContent)}catch(t){}bytesOrFileInput=cronapi.internal.castBinaryStringToByteArray(valueContent)}let fileInfoDescription=eval(fileInfo);if(fileInfoDescription){let t=JSON.parse(fileInfoDescription);fileName=t.name}var url=urlCreator.createObjectURL(new Blob([bytesOrFileInput],{type:"application/octet-stream"}));cronapi.internal.downloadUrl(url,fileName)},this.cronapi.internal.downloadFileEntity=function(t,a,n,o){var r,c,s=null;if(n)r=t.data[n][a],c=t.data[n];else try{r=t.active[a],c=t.active}catch(n){r=t[a],c=t}try{var s=JSON.parse(r)}catch(t){}if(s)window.open("/api/cronapi/filePreview/"+s.path);else if(r.startsWith("https://")||r.startsWith("http://"))window.open(r);else if(t.isOData())cronapi.internal.makeDownloadFromBytes(r,o);else{var l="/api/cronapi/downloadFile",d=t.entity.split("/"),p=d[d.length-1];if(-1<p.indexOf(":")){for(var u="",m=d[3].split("."),g=0;g<m.length-1;g++)u+=m[g]+".";var h=p.split(":");p=u+h[h.length-1]}l+="/"+p,l+="/"+a;var f=JSON.parse(localStorage.getItem("_u"))||{},b=c,y=this.cronapi.internal.getAddressWithHostApp(l);this.$promise=this.cronapi.$scope.$http({method:"POST",url:y,data:b?JSON.stringify(b):null,responseType:"blob",headers:{"Content-Type":"application/json","X-AUTH-TOKEN":f.token}}).then(function(t,a,n){n=n||t.headers,n=n(),t=this.cronapi.getRequestData(t);var o=n["x-filename"]||"download.bin",r=window.URL||window.webkitURL||window.mozURL||window.msURL;try{var c=r.createObjectURL(t);cronapi.internal.downloadUrl(c,o)}catch(t){console.log("Error downloading file"),console.log(t)}}.bind(this)).catch(function(){console.log("Error downloading file")}.bind(this))}},this.cronapi.internal.uploadFileAjax=function(t,a,n){var o=new FormData;o.append("file",a);var r=JSON.parse(localStorage.getItem("_u"))||{},c=this.cronapi.internal.getAddressWithHostApp("/api/cronapi/uploadFile");this.$promise=this.cronapi.$scope.$http({method:"POST",url:c,data:o,headers:{"Content-Type":void 0,"X-AUTH-TOKEN":r.token},onProgress:function(t){if(t.lengthComputable){var a=0|100*(t.loaded/t.total),o=$("#"+n);if(0<o.length)if("bootstrapProgress"==o.data("type"))100>a?(o.show(),o.find(".progress-bar").css("width",a+"%")):(o.hide(),o.find(".progress-bar").css("width","0%"));else{var r=document.getElementById(n);r.value=r.innerHTML=a}}}}).then(function(a){a=this.cronapi.getRequestData(a),this.cronapi.screen.changeValueOfField(t,a.jsonString)}.bind(this)).catch(function(){alert("Error uploading file")}.bind(this))},this.cronapi.internal.getFieldFromActiveString=function(t){var a=/.active.([a-zA-Z0-9_-]*)/g.exec(t),n=a[1];return n},this.cronapi.internal.getJsonDescriptionFromFile=function(t){let a={};if(t){let n=t.name.split("."),o="."+n[n.length-1];a.fileExtension=o,a.name=t.name,a.contentType=t.type||"unknown"}return a},this.cronapi.internal.uploadFile=function(field,file,progressId,fileInfo,errorFile){if(errorFile&&errorFile.length&&errorFile[0].$errorMessages&&errorFile[0].$errorMessages.maxSize){let t=this.cronapi.$translate.instant("maxFileSize");showErrorNotification.bind(this)(`${t} ${errorFile[0].$errorParam}`)}if(file){var regexForDatasource=/(.*?).active./g,groupDatasource=regexForDatasource.exec(field);if(groupDatasource){var datasource=eval(groupDatasource[1]);if(datasource.isOData()){let t=cronapi.internal.getFieldFromActiveString(field),a=datasource.getFieldSchema(t);if(a&&"Binary"==a.type){if(datasource.active["__odataFile_"+t]=file,datasource.active[t]=datasource.name+".active.__odataFile_"+t,fileInfo){let t=cronapi.internal.getJsonDescriptionFromFile(file),a=cronapi.internal.getFieldFromActiveString(fileInfo);datasource.active[a]=JSON.stringify(t)}return}}}this.cronapi.internal.uploadFileAjax(field,file,progressId)}},this.cronapi.object={},this.cronapi.object.getProperty=function(t,a){var n=a.split(".");if(1<n.length){var o=function(t,a,n){return n||(n=0),void 0===t[a[n]]&&(t[a[n]]={}),n++,n<a.length?o(t[a[n-1]],a,n):t[a[n-1]]};return o(t,n,0)}return t[a]},this.cronapi.object.setProperty=function(t,a,n){var o=a.split(".");if(1<o.length){var r=function(t,a,n,o){o||(o=0),t[a[o]]===void 0&&(t[a[o]]={}),o++,o<a.length?r(t[a[o-1]],a,n,o):t[a[o-1]]=n};r(t,o,n,0)}else t[a]=n},this.cronapi.object.createObjectFromString=function(t){return JSON.parse(t)},this.cronapi.object.createObjectLoginFromString=function(t,a){return JSON.parse(JSON.stringify({username:t,password:a}))},this.cronapi.object.serializeObject=function(t){return JSON.stringify(t)},this.cronapi.object.deleteProperty=function(t,a){delete t[a]},this.cronapi.object.newObject=function(){var t={};if(arguments&&0<arguments.length)for(var a,n=0;n<arguments.length;n++)a=arguments[n],a.name&&(t[a.name]=a.value);return t},this.cronapi.object.getObjectField=function(t,a){var n;return t&&a&&(n=t[a]),n},this.cronapi.json={},this.cronapi.json.createObjectFromString=function(t){return this.cronapi.object.createObjectFromString(t)},this.cronapi.json.setProperty=function(t,a,n){this.cronapi.object.setProperty(t,a,n)},this.cronapi.json.deleteProperty=function(t,a){this.cronapi.object.deleteProperty(t,a)},this.cronapi.json.getProperty=function(t,a){return this.cronapi.object.getProperty(t,a)},this.cronapi.cordova={},this.cronapi.cordova.vibrate=function(t){navigator.vibrate(t)},this.cronapi.cordova.device={},this.cronapi.cordova.device.getFirebaseToken=function(t,a){document.addEventListener("deviceready",function(){try{window.FirebasePlugin.getToken(cronapi.util.handleCallback(t),cronapi.util.handleCallback(a))}catch(t){console.error(t),a(t)}},!1)},this.cronapi.cordova.device.getFirebaseNotificationData=function(t,a){document.addEventListener("deviceready",function(){try{window.FirebasePlugin.onMessageReceived(function(a){t(a)},function(t){a(t)})}catch(t){console.warn(t)}try{window.FirebasePlugin.onNotificationOpen(function(a){t(a)},function(t){a(t)})}catch(t){console.warn(t)}},!1)},this.cronapi.cordova.device.getDeviceInfo=function(t){return window.device[t]},this.cronapi.cordova.geolocation={},this.cronapi.cordova.geolocation.getCurrentPosition=function(t,a){navigator.geolocation.getCurrentPosition(this.cronapi.util.handleCallback(t),this.cronapi.util.handleCallback(a))},this.cronapi.cordova.geolocation.watchPosition=function(t,a,n,o,r){return navigator.geolocation.watchPosition(this.cronapi.util.handleCallback(t),this.cronapi.util.handleCallback(a),{maximumAge:n,timeout:o,enableHighAccuracy:r})},this.cronapi.cordova.geolocation.clearWatchPosition=function(t){navigator.geolocation.clearWatch(t)},this.cronapi.cordova.camera={},this.cronapi.cordova.camera.getPicture=function(t,a,n,o,r,c){(r===void 0||null===r)&&(r=0),c=true===c||"true"===c;let s={destinationType:+n,sourceType:+o,mediaType:+r,allowEdit:c};if(window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId){navigator.camera.getPicture(this.cronapi.util.handleCallback(async a=>{a.startsWith("file://")?a=Ionic.WebView.convertFileSrc(a):a&&!a.startsWith("data:image")&&(a="data:image/jpeg;base64, "+a),t&&t(a)}),this.cronapi.util.handleCallback(a),s)}else s.allowEdit=c,s.successCallback=t,s.errorCallback=a,s.targetWidth=640,s.targetHeight=480,this.cronapi.internal.getPicture(s)},this.cronapi.cordova.camera.qrCodeScanner=function(t,a,n,o){const r={preferFrontCamera:!1,showFlipCameraButton:!0,showTorchButton:!0,saveHistory:!0,prompt:a,resultDisplayDuration:500,orientation:"portrait",disableAnimations:!0,disableSuccessBeep:!1};"all"!==t&&(r.formats=t),window.cordova&&window.cordova.platformId&&"browser"!==window.cordova.platformId?cordova.plugins.barcodeScanner.scan(function(t){n(t.text)},function(t){"Scan is already in progress"!==t&&o(t)},r):this.cronapi.internal.qrCodeScanner(n,o,r)},this.cronapi.cordova.file={},this.cronapi.cordova.file.getDirectory=function(t){var a;return"0"==t?a=cordova.file.dataDirectory:(a=cordova.file.externalApplicationStorageDirectory,!a&&(a=cordova.file.externalDataDirectory),!a&&(a=cordova.file.syncedDataDirectory)),a},this.cronapi.cordova.file.removeFile=function(t,a,n){window.resolveLocalFileSystemURL(t,function(t){t.remove(function(t){a&&a(t)}.bind(this),this.cronapi.util.handleCallback(n))}.bind(this),this.cronapi.util.handleCallback(n))},this.cronapi.cordova.file.readFile=function(t,a,n,o){window.resolveLocalFileSystemURL(t,function(t){t.file(function(t){var n=new FileReader;switch(n.onloadend=function(){a(this.result)},o){case"ARRAYBUFFER":{n.readAsArrayBuffer(t);break}case"TEXT":{n.readAsText(t);break}case"BINARYSTRING":{n.readAsBinaryString(t);break}case"DATAURL":{n.readAsDataURL(t);break}default:n.readAsText(t);}}.bind(this),this.cronapi.util.handleCallback(n))}.bind(this),this.cronapi.util.handleCallback(n))},this.cronapi.cordova.file.createFile=function(t,a,n,o,r){t||getDirectory(0);window.resolveLocalFileSystemURL(t,function(c){console.log(t),c.getFile(a,{create:!0},function(t){t.createWriter(function(t){t.onwriteend=function(){console.log("Write of file \""+a+"\"\" completed.")},t.onerror=function(t){console.log("Write failed: "+t.toString())};var r=new Blob([n],{type:"text/plain"});t.write(r),o&&setTimeout(function(){o()}.bind(this),500)}.bind(this),this.cronapi.util.handleCallback(r))}.bind(this),this.cronapi.util.handleCallback(r))}.bind(this),this.cronapi.util.handleCallback(r))},this.cronapi.cordova.file.createDirectory=function(t,a,n,o){window.resolveLocalFileSystemURL(t,function(){parentEntry.getDirectory(a,{create:!0},function(t){n&&n(t)}.bind(this),this.cronapi.util.handleCallback(o))}.bind(this),this.cronapi.util.handleCallback(o))},this.cronapi.cordova.storage={},this.cronapi.cordova.storage.setStorageItem=function(t,a){var n=window.localStorage;n?n.setItem(t,a):console.error("Local Storage not Found!")},this.cronapi.cordova.storage.getStorageItem=function(t){var a=window.localStorage;return a?a.getItem(t):void console.error("Local Storage not Found!")},this.cronapi.cordova.storage.removeStorageItem=function(t){var a=window.localStorage;a?a.removeItem(t):console.error("Local Storage not Found!")},this.cronapi.cordova.connection={},this.cronapi.cordova.connection.getConnection=function(){return navigator.connection.type},this.cronapi.cordova.connection.verifyConnection=function(t){return navigator.connection.type==t},this.cronapi.cordova.database={},this.cronapi.cordova.database.DatabaseModule=class{constructor(){this.DEFAULT_DATABASE_NAME="cronappDB"}connect(t=this.DEFAULT_DATABASE_NAME){let a=window.openDatabase;return window.sqlitePlugin&&(a=window.sqlitePlugin.openDatabase),a(t,"1.0",t,1e6)}async executeSQL(t=this.DEFAULT_DATABASE_NAME,a="",n=[]){const o=this.connect(t),r=t=>t.trim().split(";").filter(t=>t?t:null);try{const t=r(a);return this.handleExecuteTransaction(o,t,n)}catch(t){throw console.log(t),t}}extractSQLResult(t){return t._array?t._array:t}async handleExecuteSQL(t,a,n){return new Promise((o,r)=>{t.executeSql(a,n,(t,a)=>{try{o(a.rows)}catch(t){r(t)}})})}async handleExecuteTransaction(t,a,n){return new Promise((o,r)=>{try{t.transaction(async t=>{let r;for(let o of a)r=await this.handleExecuteSQL(t,o,n);o(this.extractSQLResult(r))})}catch(t){r(t)}})}},this.cronapi.cordova.database.openDatabase=function(t){const a=new this.cronapi.cordova.database.DatabaseModule;return a.connect(t)},this.cronapi.cordova.database.executeSQL=async function(t,a,n){let o=new this.cronapi.cordova.database.DatabaseModule;return o.executeSQL(t,a,n)},this.cronapi.cordova.database.executeSql=function(t,a,n,o,r){var c=this.cronapi.cordova.database.openDatabase(t);c.transaction(function(t){t.executeSql(a,n,function(t,a){o.call(this,Object.values(a.rows))}.bind(this))}.bind(this),function(t){console.log(t),r(t)}.bind(this))},this.cronapi.cordova.database.executeMultipleSql=function(t,a,n,o){var r=this.cronapi.cordova.database.openDatabase(t);let c=[],s=a.split(";");for(let l in s){let t=s[l];if(!t)break;let a=new Promise((a,n)=>{r.transaction(function(o){o.executeSql(t.trim(),[],function(t,n){a(n)}.bind(this),function(t,a){n(a)}.bind(this))}.bind(this))});c.push(a)}Promise.all(c).then(function(t){n(t)}.bind(this)).catch(function(t){o(t)}.bind(this))},this.cronapi.event={},this.cronapi.event.contextMenu=function(t,a,n,o){$("#ulKendoContextMenu").kendoMenu();var r=$("#ulKendoContextMenu").data("kendoMenu");r&&r.destroy();let c=$("body"),s=$(`<ul id="ulKendoContextMenu"></ul>`);c.append(s);let l={target:"#"+t,animation:{open:{effects:a},duration:500}};"left"===n&&(l.showOn="click"),l.dataSource=Array.isArray(o)?o:[o],$("#ulKendoContextMenu").kendoContextMenu(l)},this.cronapi.event.itemContextMenu=function(t,a,n,o){let r={text:t};return o&&(r.items=Array.isArray(o)?o:[o]),o||(r.select=n),a&&(r.cssClass=a),r},this.cronapi.event.changeValueAccordion=function(t,a,n){"collapseAll"===a?($("#"+t+" .panel-collapse").data("bs.collapse",null),$("#"+t+" .panel-collapse").collapse("hide")):"expandAll"===a?($("#"+t+" .panel-collapse").data("bs.collapse",null),$("#"+t+" .panel-collapse").collapse("show")):"collapseOne"===a?setTimeout(function(){$("#"+n).filter("[aria-expanded=true]").trigger("click")},500):"expandOne"===a?setTimeout(function(){$("#"+n).filter("[aria-expanded=false]").trigger("click")},500):void 0},this.cronapi.screen.changeInnerTextButton=function(t,a){$("#"+t+" button span").text(a)},this.cronapi.cordova.database.openInAppBrowser=function(t){cordova.InAppBrowser&&cordova.InAppBrowser.open(t,"_blank","location=no")},this.cronapi.internal.ptDate=function(t){var a,n=t[1],o=t[2],r=t[3],c=t[5],s=t[6],l=t[7];return a=c?new Date(r,o-1,n,c,s,l):new Date(r,o-1,n,0,0,0),a},this.cronapi.internal.enDate=function(t){var a,n=t[1],o=t[2],r=t[3],c=t[5],s=t[6],l=t[7];return a=c?new Date(r,n-1,o,c,s,l):new Date(r,n-1,o,0,0,0),a},this.cronapi.internal.parseBoolean=function(t){return!!t&&("boolean"==typeof t?t:(t=t.toString().toLowerCase().trim(),"1"==t||"true"==t))},this.cronapi.internal.removeAccents=function(t){var a="";for(i=0;i<t.length;i++)a+=0<="\xE1\xE0\xE3\xE2\xE4\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF3\xF2\xF5\xF4\xF6\xFA\xF9\xFB\xFC\xE7\xC1\xC0\xC3\xC2\xC4\xC9\xC8\xCA\xCB\xCD\xCC\xCE\xCF\xD3\xD2\xD5\xD6\xD4\xDA\xD9\xDB\xDC\xC7".search(t.substr(i,1))?"aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC".substr("\xE1\xE0\xE3\xE2\xE4\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF3\xF2\xF5\xF4\xF6\xFA\xF9\xFB\xFC\xE7\xC1\xC0\xC3\xC2\xC4\xC9\xC8\xCA\xCB\xCD\xCC\xCE\xCF\xD3\xD2\xD5\xD6\xD4\xDA\xD9\xDB\xDC\xC7".search(t.substr(i,1)),1):t.substr(i,1);return a},this.cronapi.internal.arrayRemove=function(t,a){var n=this.cronapi.internal.arrayIndexOf(t,a);-1!=n&&t.splice(n,1)},this.cronapi.internal.arrayIndexOf=function(t,a){var n=-1;return $(t).each(function(t){a==this&&(n=t)}),n},this.cronapi.internal.replaceAll=function(t,a,n){return t.toString().split(a).join(n)},this.cronapi.internal.getWindowHeight=function(){$(window).height()},this.cronapi.internal.getWindowWidth=function(){$(window).width()},this.cronapi.internal.getAddressWithHostApp=function(t){var a=window.hostApp||"";if(a=a.endsWith("/")?a.substr(0,a.length-1):a,t){var n=t.startsWith("/")?t.substr(1):t;a=""===a?n:a+"/"+n}return a},this.cronapi.internal.Url={encode:function(t){return t?escape(this.cronapi.internal.Url._utf8_encode(t)):""},decode:function(t){return t?this.cronapi.internal.Url._utf8_decode(unescape(t)):""},_utf8_encode:function(t){t=t.replace(/\r\n/g,"\n");for(var a,o="",r=0;r<t.length;r++)a=t.charCodeAt(r),128>a?o+=_StringfromCharCode(a):127<a&&2048>a?(o+=_StringfromCharCode(192|a>>6),o+=_StringfromCharCode(128|63&a)):(o+=_StringfromCharCode(224|a>>12),o+=_StringfromCharCode(128|63&a>>6),o+=_StringfromCharCode(128|63&a));return o},_utf8_decode:function(t){for(var a="",n=0,o=c1=c2=0;n<t.length;)o=t.charCodeAt(n),128>o?(a+=_StringfromCharCode(o),n++):191<o&&224>o?(c2=t.charCodeAt(n+1),a+=_StringfromCharCode((31&o)<<6|63&c2),n+=2):(c2=t.charCodeAt(n+1),c3=t.charCodeAt(n+2),a+=_StringfromCharCode((15&o)<<12|(63&c2)<<6|63&c3),n+=3);return a}},this.cronapi.internal.stringToJs=function(t){return(t+"").replace(/[\\"']/g,"\\$&").replace(/\u0000/g,"\\0")},this.cronapi.internal.getErrorMessage=function(t,a){try{var n=null;if("object"==typeof t?t.data&&("object"==typeof t.data?n=t.data:"string"==typeof t.data&&(n=JSON.parse(t.data))):"string"==typeof t&&(n=JSON.parse(t)),n&&n.error)return n.error}catch(t){}return a},this.cronapi.util.upload=function(t,a,n,o,r){this.UploadService.upload({description:a,id:t,filter:n,maxSize:o,multiple:r,scope:this})},this.cronapi.util.getBaseUrl=function(){return window.location.origin},this.cronapi.chart={},this.cronapi.chart.createChart=function(t,a,n,o){function r(){return u<p.length?u++:u=0,u}function c(){""==g.data.datasets[0].label&&(null==g.options.legend?(g.options.legend={},g.options.legend.display=!1):g.options.legend.display=!1)}function s(t){var a=[],n=4;for(Array.isArray(t[4])&&"object"==typeof t[4][0]&&("label"in t[4][0])&&("data"in t[4][0])&&(t=t[4],n=0),n;n<t.length;n++)t[n].label?t[n].options?(t[n].data?a.push(cronapi.chart.createDataset(t[n].label,t[n].data,t[n].options)):a.push(cronapi.chart.createDataset(t[n].label,t[n],null)),a.push(cronapi.chart.createDataset(t[n].label,t[n].data,t[n].options))):a.push(cronapi.chart.createDataset(t[n].label,t[n].data,null)):t[n].options?(t[n].data?a.push(cronapi.chart.createDataset(null,t[n].data,t[n].options)):a.push(cronapi.chart.createDataset(null,t[n],t[n].options)),a.push(cronapi.chart.createDataset(null,t[n].data,t[n].options))):t[n].data?a.push(cronapi.chart.createDataset(null,t[n].data,null)):a.push(cronapi.chart.createDataset(null,t[n],null));return a}function l(){null==g.options?(g.options={},g.options.scales={},g.options.scales.yAxes=[{ticks:{beginAtZero:!0}}]):null==g.options.scales&&(g.options.scales={},g.options.scales.yAxes=[{ticks:{beginAtZero:!0}}])}var d=o&&o.colors?o.colors:[],p=["#FF5C00","#0E53A7","#48DD00","#FFD500","#7309AA","#CD0074","#00AF64","#BF8230","#F16D95","#A65000","#A65000","#AF66D5"],u=0,m=document.getElementById(t);if(m){m._chart&&m._chart.destroy(),m.getContext("2d");var g={};if(g.type=a,g.data=[],g.options={},g.data.labels=Array.isArray(n)?n:JSON.parse(n),g.data.datasets=[],Array.isArray(o))g.options=o;else if(""!=o&&null!=o)try{g.options=JSON.parse(o)}catch(t){g.options={},console.log(t)}else g.options={};switch(a){case"line":{g.data.datasets=s(arguments),$.each(g.data.datasets,function(t,a){a.fill=!1,a.backgroundColor=d[t]?d[t]:p[r()],a.borderColor=a.backgroundColor,l(),c()});break}case"bar":case"horizontalBar":{g.data.datasets=s(arguments),$.each(g.data.datasets,function(t,a){a.backgroundColor=1===g.data.datasets.length&&1<d.length?d:d[t]?d[t]:p[r()],a.borderColor=a.backgroundColor}),l(),c();break}case"doughnut":case"pie":case"polarArea":{var h=s(arguments);$.each(h,function(t){var a={};a=h[t],a.backgroundColor=[],a.borderColor=[],$.each(a.data,function(t){a.backgroundColor.push(d[t]?d[t]:p[r()])}),a.borderColor=a.backgroundColor,g.data.datasets.push(a),u=0});break}default:}var f=new Chart(m,g);m._chart=f}},this.cronapi.chart.createDataset=function(t,a,n){var o={};return o.label=t?t:"",o.data=Array.isArray(a)?a:a?JSON.parse(a):[],o.options=Array.isArray(n)?n:JSON.parse(n),o},this.cronapi.social={},this.cronapi.social.gup=function(t,a){a||(a=location.href),t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var n="[\\?&]"+t+"=([^&#]*)",o=new RegExp(n),r=o.exec(a);return null==r?null:r[1]},this.cronapi.social.login=function(t,a,n){var o;this.cronapi.screen.showLoading(),this.cronapi.logic.isNullOrEmpty(this.cronapi.screen.getHostapp())?(this.cronapi.screen.hide(),this.cronapi.screen.notify("error","HostApp is Required")):this.cronapi.util.getURLFromOthers("POST","application/x-www-form-urlencoded",this.cronapi.screen.getHostapp()+""+"auth",this.cronapi.object.createObjectFromString(["{ \"username\": \"",t,"\" , \"password\": \"",a,"\" } "].join("")),this.cronapi.object.createObjectFromString(["{ \"X-AUTH-TOKEN\": \"",n,"\" } "].join("")),function(t){o=t,this.cronapi.screen.hide(),this.cronapi.util.setLocalStorage("_u",this.cronapi.object.serializeObject(o)),this.cronapi.screen.changeView("#/app/logged/home",[])}.bind(this),function(t){o=t,"403"==this.cronapi.object.getProperty(o,"status")||"401"==this.cronapi.object.getProperty(o,"status")?this.cronapi.screen.notify("error",this.cronapi.i18n.translate("LoginViewInvalidpassword",[])):this.cronapi.screen.notify("error",this.cronapi.object.getProperty(o,"responseJSON.message")),this.cronapi.screen.hide()}.bind(this))},this.cronapi.social.sociaLogin=function(t,a){var n=this,o=window.hostApp+"signin/"+t+"/";if(window.cordova&&cordova.InAppBrowser){var r="";(!0===a||"true"===a)&&(r=",clearcache=yes");var c=cordova.InAppBrowser.open(o,"_blank","location=no"+r);c.addEventListener("loadstart",function(t){-1<t.url.indexOf("_ctk")&&(c.close(),n.cronapi.social.login.bind(n)("#OAUTH#","#OAUTH#",n.cronapi.social.gup("_ctk",t.url)))})}else window.location.href="signin/"+t+"/"},this.cronapi.social.ssoLogin=async function(){let t=this.cronapi.$scope,a=new Promise((a,n)=>{if(window.cordova&&cordova.InAppBrowser){const o=cordova.InAppBrowser.open(window.hostApp+"login","_blank","location=no,footer=yes,zoom=no,enableViewportScale=yes,hidenavigationbuttons=yes"),r=c=>{const s=new URL(c.url),l=new URLSearchParams(s.search);l.has("_ctk")?(o.removeEventListener("loadstart",r),o.close(),t.login("#OAUTH#","#OAUTH#",l.get("_ctk")),a()):n()};o.addEventListener("loadstart",r)}else window.ssoWindow=window.open(this.cronapi.internal.getAddressWithHostApp("login")),window.addEventListener("message",function(n){n.data&&"sso_user"===n.data.type&&(window.ssoWindow&&window.ssoWindow.close(),t.login("#OAUTH#","#OAUTH#",n.data._ctk),a())},!1)});return a},this.cronapi.screen.getSelectedRowsGrid=function(t){var a=[],n=$("[ng-model=\""+t+"\"]").children().data("kendoGrid");if(n){var o=n.select();o.each(function(){var t=n.dataItem(this);a.push(t)})}return a},this.cronapi.screen.back=function(){history.back()},this.cronapi.notification={},this.cronapi.notification.confirmDialogAlert=function(t,a,n,o){function r(t,a,n){l.content="<div id=\"modalBodyConfirmDialog\"> <div class=\"icon\">"+t+"</div> <h2 class=\"title\">"+a+"</h2> <h3 class=\"subtitle\">"+n+"</h3> </div>"}let c="cronapp-dialog-"+Math.random(),s=$(`<span id="${c}"></span>`);$("body").append(s);let l={width:"450px",title:!1,closable:!1,modal:!0,content:"",animation:{open:{effects:"zoom:in"},close:{effects:"zoom:out"}},buttonLayout:"normal",actions:[],close:function(){setInterval(()=>{$(`#${c}`).data("kendoDialog").destroy()},3e3)}};(async function(t,a,n){"error"===t?t="<div class=\"cronapp-icon cronapp-error\" style=\"display: flex;\"> <span class=\"cronapp-x-mark\"><span class=\"cronapp-x-mark-line-left\"></span><span class=\"cronapp-x-mark-line-right\"></span></span></div>":"success"===t?t="<div class=\"cronapp-icon cronapp-success\"><div class=\"cronapp-success-circular-line-left\"></div><span class=\"cronapp-success-line-tip\"></span> <span class=\"cronapp-success-line-long\"></span><div class=\"cronapp-success-ring\"></div><div class=\"cronapp-success-fix\"></div> <div class=\"cronapp-success-circular-line-right\"></div></div>":"warning"===t?t="<div class=\"cronapp-icon cronapp-warning\"><div class=\"cronapp-icon-content\">!</div></div>":"info"===t?t="<div class=\"cronapp-icon cronapp-info\"><div class=\"cronapp-icon-content\">i</div></div>":void 0;await r(t,a,n)})(t,a,n),function(t){let a=Array.isArray(t)?t:[t],n=!1;for(let o,r=0;r<a.length;r++)o=a[r],o&&(l.actions.push({text:o.title,action:o.value,primary:"true"==o.primaryValue||null}),n=!0);n||l.actions.push({text:"OK",primary:!0})}(o),s.kendoDialog(l),s.data("kendoDialog").open()},this.cronapi.notification.buttonConfirmDialogAlert=function(t,a,n){return{title:a,value:n,primaryValue:t}},this.cronapi.notification.customNotify=function(t,a,n,o,r,c){async function s(t,a,n,o,r,c){l(o),d(r),u(n),m(c),g(y,v),f(y,t,a)}function l(t){"bottom"===t?(v.position.bottom=20,y=y.concat("-bottom")):(v.position.top=60,y=y.concat("-top"))}function d(t){"right"===t?(v.position.right=20,y=y.concat("-right")):"center"===t?(v.show=p,y=y.concat("-center")):(v.position.left=20,y=y.concat("-left"))}function p(t){if(1==t.sender.getNotifications().length){var a,n=t.element.parent(),o=n.width(),r=$(window).width();a=Math.floor(r/2-o/2),t.element.parent().css({left:a})}}function u(t){"slide"===t?(v.show&&null!=v.position.bottom?(v.animation.open.effects="slideIn:up",y=y.concat("-slideIn-up")):v.show&&null!=v.position.top?(v.animation.open.effects="slideIn:down",y=y.concat("-slideIn-dow")):null==v.position.left?null==v.position.left&&(v.animation.open.effects="slideIn:left",y=y.concat("-slideIn-left")):(v.animation.open.effects="slideIn:right",y=y.concat("-slideIn-right")),v.animation.close.effects="slideOut"):"zoom"===t?(v.animation.open.effects="zoomIn",v.animation.close.effects="zoomOut",y=y.concat("-zoom")):(v.animation.open.effects="fadeIn",v.animation.close.effects="fadeOut",y=y.concat("-fade"))}function m(t){"false"==t&&(v.autoHideAfter=0,y=y.concat("-autoHideAfter"))}async function g(t,a){if(!b(t)){let n=$(`<span id="${t}"></span>`);$("body").append(n),await $(`#${t}`).kendoNotification(a),"center"==r&&p(e)}}function h(t){return $(`#${t}`).getKendoNotification()}function f(t,a,n){$(`#${t}`).getKendoNotification().show(a,n)}function b(t){return document.getElementById(t)}let y="customNotification",v={stacking:"default",autoHideAfter:5e3,position:{pinned:!0},animation:{open:{effects:null},close:{effects:null}}};n||o||r||c?s(a,t,n,o,r,c):async function(t,a){let n={id:"CronappNotification",verticalPosition:"top",horizontalPosition:"left",animation:"slide",autoHide:"false"};l(n.verticalPosition),d(n.horizontalPosition),u(n.animation),m(n.autoHide),h(n.id)||g(n.id,v),f(n.id,t,a)}(a,t)},this.cronapi.regex={},this.cronapi.regex.extractTextByRegex=function(t,a,n){if(this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(a))return[];let o=null;o=null!=n&&"-"!==n?new RegExp(a,n):new RegExp(a);let r,c=[],s=null;for(;(r=o.exec(t))&&!(null!=s&&s==r.index);){let t=[];for(i=1;i<r.length;i++)t.push(r[i]);s=r.index,c.push(t)}return c},this.cronapi.regex.validateTextWithRegex=function(t,a,n){return!(this.cronapi.logic.isNull(t)||this.cronapi.logic.isNull(a))&&(null!=n&&"-"!==n?new RegExp(a,n).test(t):new RegExp(a).test(t))},this.cronapi.calendar={},this.cronapi.calendar.getCalendarValue=async function(t){const a=await getCalendar(t);return a?a.value():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarValue=async function(t,a){const n=await getCalendar(t);n?n.value(a):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.getCalendarMin=async function(t){const a=await getCalendar(t);return a?a.min():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarMin=async function(t,a){const n=await getCalendar(t);n?n.min(a):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.getCalendarMax=async function(t){const a=await getCalendar(t);return a?a.max():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarMax=async function(t,a){const n=await getCalendar(t);n?n.max(a):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.getCalendarSelectDates=async function(t){const a=await getCalendar(t);return a?a.selectDates():(showErrorNotification("calendarElementNotPresent"),null)},this.cronapi.calendar.setCalendarSelectDates=async function(t,a){const n=await getCalendar(t);n?n.selectDates(Array.isArray(a)?a:[a]):showErrorNotification("calendarElementNotPresent")},this.cronapi.calendar.navigateCalendarTo=async function(t,a,n){const o=await getCalendar(t);o?o.navigate(a,n):showErrorNotification("calendarElementNotPresent")},this.cronapi.chat={},this.cronapi.chat.chatUserObj=function(t,a,n){return{id:t,name:a,iconUrl:n}},this.cronapi.chat.chatAttachmentObj=function(t,a,n,o,r,c){return{contentType:"heroCard",content:{title:t,subtitle:a,text:n,images:[{url:o,alt:r}],buttons:Array.isArray(c)?c:[c]}}},this.cronapi.chat.chatSuggestedActionObj=function(t,a){return{title:t,value:a}},this.cronapi.chat.getChatUser=async function(t,a,n){getChat(t).then(t=>{if(t)a(t.getUser());else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),n(t)}})},this.cronapi.chat.postChatMessage=function(t,a,n,o){getChat(t).then(t=>{if(t)t.postMessage(a),n();else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),o(t)}})},this.cronapi.chat.renderChatMessage=function(t,a,n,o,r){getChat(t).then(t=>{if(t)t.renderMessage({type:"text",text:a},n),o();else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),r(t)}})},this.cronapi.chat.renderChatAttachments=function(t,a,n,o,r,c){getChat(t).then(t=>{if(t)t.renderAttachments({attachments:Array.isArray(n)?n:[n],attachmentLayout:o},a),r();else{let t=this.cronapi.$translate.instant("chatElementNotPresent");this.cronapi.$scope.Notification.error(t),c(t)}})},this.cronapi.chat.renderChatHtml=function(t,a,n,o,r,c){const s=function(t){let a=document.createElement("div");a.innerHTML=t;let n=a.getElementsByTagName("script"),o=n.length;for(;o--;)n[o].parentNode.removeChild(n[o]);return a.innerHTML},l=kendo.template(`
2
2
  <div class="#=styles.card# #=styles.cardRich#">
3
3
  <div class="#=styles.cardBody#">
4
4
  <div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cronapi-js",
3
- "version": "2.8.18",
3
+ "version": "2.8.19",
4
4
  "description": "Public library for CronApp's users",
5
5
  "main": "cronapi.js",
6
6
  "scripts": {