cronapp-framework-mobile-js 2.8.13 → 2.8.16

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.
@@ -6,7 +6,7 @@
6
6
  "description": "Estrutura para armazenar imagem na fonte de dados",
7
7
  "description_en_US": "Structure for storing image in data source",
8
8
  "category": [
9
- "INPUTS", "FORMS"
9
+ "INPUTS", "FORMS"
10
10
  ],
11
11
  "wrapper": false,
12
12
  "templateURL": "src/main/mobileapp/www/node_modules/cronapp-framework-mobile-js/dist/components/templates/dynamicimage.template.html",
@@ -17,12 +17,6 @@
17
17
  "id": {
18
18
  "order": 1
19
19
  },
20
- "ng-model": {
21
- "onSave": "javascript:function() { var result = arguments[0]; if (result.indexOf('.') == -1 && result.trim().length > 0 ) { result = 'vars.'+result; } return result; }",
22
- "onDisplay": "javascript:function() { return arguments[0].replace('vars.',''); }",
23
- "mandatory": true,
24
- "order": 2
25
- },
26
20
  "quality": {
27
21
  "displayName_pt_BR": "Resolução da imagem",
28
22
  "displayName_en_US": "Image resolution",
@@ -81,6 +75,14 @@
81
75
  "selector": "div[dynamic-image]",
82
76
  "type": "text"
83
77
  },
78
+ {
79
+ "name":"ng-model",
80
+ "displayName_pt_BR": "Valor",
81
+ "displayName_en_US": "Value",
82
+ "selector": "div[dynamic-image]",
83
+ "type": "text",
84
+ "mandatory": true
85
+ },
84
86
  {
85
87
  "name": "allow-edit",
86
88
  "selector": "div[dynamic-image]",
@@ -6,15 +6,23 @@
6
6
  "image": "/node_modules/cronapp-framework-mobile-js/img/cron-icon/crn-icon.svg",
7
7
  "description": "Ícone",
8
8
  "description_en_US": "Icon",
9
- "template": "<i class=\"ion ion-android-star\" style=\"font-size:300%; color: #333;\" icon-size=\"font-size:300%;\" icon-theme=\"color: #333;\"></i>",
9
+ "template": "<i class=\"ion ion-android-star color-default font-size-300\" icon-size=\"font-size-300\" icon-theme=\"color-default\"></i>",
10
10
  "wrapper": false,
11
- "properties": {
11
+ "properties": {
12
12
  "id": {
13
13
  "order": 1
14
14
  },
15
15
  "class": {
16
16
  "order": 9999
17
17
  },
18
+ "icon-theme": {
19
+ "displayName_pt_BR": "Cor do ícone",
20
+ "displayName_en_US": "Icon color"
21
+ },
22
+ "icon-size": {
23
+ "displayName_pt_BR": "Tamanho do ícone",
24
+ "displayName_en_US": "Icon size"
25
+ },
18
26
  "cronapp-security": {
19
27
  "order": 9999
20
28
  },
@@ -56,130 +64,135 @@
56
64
  {
57
65
  "name": "icon-theme",
58
66
  "type": "options",
59
- "target": "style",
67
+ "target": "class",
60
68
  "values": [
61
69
  {
62
- "key": "color: #fff;",
70
+ "key": "color-default",
71
+ "value_pt_BR": "Padrão do tema",
72
+ "value_en_US": "Theme pattern"
73
+ },
74
+ {
75
+ "key": "color-white",
63
76
  "value_pt_BR": "Branco",
64
77
  "value_en_US": "White",
65
78
  "color": "#fff"
66
79
  },
67
80
  {
68
- "key": "color: #333;",
81
+ "key": "color-gray",
69
82
  "value_pt_BR": "Cinza",
70
83
  "value_en_US": "Gray",
71
84
  "color": "#333"
72
85
  },
73
86
  {
74
- "key": "color: #000;",
87
+ "key": "color-black ",
75
88
  "value_pt_BR": "Preto",
76
89
  "value_en_US": "Black",
77
90
  "color": "#000"
78
91
  },
79
92
  {
80
- "key": "color: #0247FE;",
93
+ "key": "color-blue ",
81
94
  "value_pt_BR": "Azul",
82
95
  "value_en_US": "Blue",
83
96
  "color": "#0247FE"
84
97
  },
85
98
  {
86
- "key": "color: #85A5FF;",
99
+ "key": "color-light-blue ",
87
100
  "value_pt_BR": "Azul claro",
88
101
  "value_en_US": "Light blue",
89
102
  "color": "#85A5FF"
90
103
  },
91
104
  {
92
- "key": "color: #00217A;",
105
+ "key": "color-dark-blue ",
93
106
  "value_pt_BR": "Azul escuro",
94
107
  "value_en_US": "Dark blue",
95
108
  "color": "#00217A"
96
109
  },
97
110
  {
98
- "key": "color: #3D01A4;",
111
+ "key": "color-purple",
99
112
  "value_pt_BR": "Roxo",
100
113
  "value_en_US": "Purple",
101
114
  "color": "#3D01A4"
102
115
  },
103
116
  {
104
- "key": "color: #B285FF;",
117
+ "key": "color-light-purple",
105
118
  "value_pt_BR": "Roxo claro",
106
119
  "value_en_US": "Light purple",
107
120
  "color": "#B285FF"
108
121
  },
109
122
  {
110
- "key": "color: #2D007A;",
123
+ "key": "color-dark-purple",
111
124
  "value_pt_BR": "Roxo escuro",
112
125
  "value_en_US": "Dark purple",
113
126
  "color": "#2D007A"
114
127
  },
115
128
  {
116
- "key": "color: #FE2712;",
129
+ "key": "color-red ",
117
130
  "value_pt_BR": "Vermelho",
118
131
  "value_en_US": "Red",
119
132
  "color": "#FE2712"
120
133
  },
121
134
  {
122
- "key": "color: #FE8F84;",
135
+ "key": "color-light-red",
123
136
  "value_pt_BR": "Vermelho claro",
124
137
  "value_en_US": "Light red",
125
138
  "color": "#FE8F84"
126
139
  },
127
140
  {
128
- "key": "color: #7A0B00;",
141
+ "key": "color-dark-red",
129
142
  "value_pt_BR": "Vermelho escuro",
130
143
  "value_en_US": "Dark red",
131
144
  "color": "#7A0B00"
132
145
  },
133
146
  {
134
- "key": "color: #FB9B02;",
147
+ "key": "color-orange",
135
148
  "value_pt_BR": "Laranja",
136
149
  "value_en_US": "Orange",
137
150
  "color": "#FB9B02"
138
151
  },
139
152
  {
140
- "key": "color: #FFD085;",
153
+ "key": "color-light-orange",
141
154
  "value_pt_BR": "Laranja claro",
142
155
  "value_en_US": "Light orange",
143
156
  "color": "#FFD085"
144
157
  },
145
158
  {
146
- "key": "color: #7A4B00;",
159
+ "key": "color-dark-orange",
147
160
  "value_pt_BR": "Laranja escuro",
148
161
  "value_en_US": "Dark orange",
149
162
  "color": "#7A4B00"
150
163
  },
151
164
  {
152
- "key": "color: #FFFF33;",
165
+ "key": "color-yellow",
153
166
  "value_pt_BR": "Amarelo",
154
167
  "value_en_US": "Yellow",
155
168
  "color": "#FFFF33"
156
169
  },
157
170
  {
158
- "key": "color: #FFFF85;",
171
+ "key": "color-light-yellow ",
159
172
  "value_pt_BR": "Amarelo claro",
160
173
  "value_en_US": "Light yellow",
161
174
  "color": "#FFFF85"
162
175
  },
163
176
  {
164
- "key": "color: #FFFF33;",
177
+ "key": "color-dark-yellow",
165
178
  "value_pt_BR": "Amarelo escuro",
166
179
  "value_en_US": "Dark yellow",
167
180
  "color": "#FFFF33"
168
181
  },
169
182
  {
170
- "key": "color: #66B032;",
183
+ "key": "color-green",
171
184
  "value_pt_BR": "Verde",
172
185
  "value_en_US": "Green",
173
186
  "color": "#66B032"
174
187
  },
175
188
  {
176
- "key": "color: #B7FF85;",
189
+ "key": "color-light-green",
177
190
  "value_pt_BR": "Verde claro",
178
191
  "value_en_US": "Light green",
179
192
  "color": "#B7FF85"
180
193
  },
181
194
  {
182
- "key": "color: #337A00;",
195
+ "key": "color-dark-green ",
183
196
  "value_pt_BR": "Verde escuro",
184
197
  "value_en_US": "Dark green",
185
198
  "color": "#337A00"
@@ -189,43 +202,43 @@
189
202
  {
190
203
  "name": "icon-size",
191
204
  "type": "options",
192
- "target": "style",
205
+ "target": "class",
193
206
  "values": [
194
- {
195
- "key": "font-size:100%;",
196
- "value": "100%"
197
- },
198
- {
199
- "key": "font-size:200%;",
200
- "value": "200%"
201
- },
202
- {
203
- "key": "font-size:300%;",
204
- "value": "300%"
205
- },
206
- {
207
- "key": "font-size:400%;",
208
- "value": "400%"
209
- },
210
- {
211
- "key": "font-size:500%;",
212
- "value": "500%"
213
- },
214
- {
215
- "key": "font-size:600%;",
216
- "value": "600%"
217
- },
218
- {
219
- "key": "font-size:700%;",
220
- "value": "700%"
221
- }
207
+ {
208
+ "key": "font-size-100",
209
+ "value": "100%"
210
+ },
211
+ {
212
+ "key": "font-size-200",
213
+ "value": "200%"
214
+ },
215
+ {
216
+ "key": "font-size-300",
217
+ "value": "300%"
218
+ },
219
+ {
220
+ "key": "font-size-400",
221
+ "value": "400%"
222
+ },
223
+ {
224
+ "key": "font-size-500",
225
+ "value": "500%"
226
+ },
227
+ {
228
+ "key": "font-size-600",
229
+ "value": "600%"
230
+ },
231
+ {
232
+ "key": "font-size-700",
233
+ "value": "700%"
234
+ }
222
235
  ]
223
236
  }
224
237
  ],
225
238
  "childrenProperties": [
226
239
  {
227
240
  "name": "class",
228
- "selector": "i",
241
+ "selector": ":self",
229
242
  "displayName_pt_BR": "Ícone",
230
243
  "displayName_en_US": "Icon",
231
244
  "type": "icon",
@@ -233,17 +246,13 @@
233
246
  },
234
247
  {
235
248
  "name": "icon-theme",
236
- "displayName_pt_BR": "Cor do ícone",
237
- "displayName_en_US": "Icon color",
238
- "selector": "i",
249
+ "selector": ":self",
239
250
  "order": 2
240
251
  },
241
252
  {
242
- "name": "icon-size",
243
- "displayName_pt_BR": "Tamanho do ícone",
244
- "displayName_en_US": "Icon size",
245
- "order": 3,
246
- "selector": "i"
253
+ "name": "icon-size",
254
+ "order": 3,
255
+ "selector": ":self"
247
256
  }
248
257
  ]
249
258
  }
@@ -11,8 +11,9 @@
11
11
  "wrapper": true,
12
12
  "templateURL": "src/main/mobileapp/www/node_modules/cronapp-framework-mobile-js/dist/components/templates/floattextinput.template.html",
13
13
  "designTimeHTMLURL": "src/main/mobileapp/www/node_modules/cronapp-framework-mobile-js/dist/components/templates/floattextinput.designtime.html",
14
- "designTimeSelector": "label",
14
+ "designTimeSelector": ":self",
15
15
  "designTimeDynamic": true,
16
+ "forceGroup": true,
16
17
  "properties": {
17
18
  "id": {
18
19
  "order": 1
@@ -1,8 +1,7 @@
1
1
  <ul class="checkbox-group">
2
2
  <li class="item item-checkbox checkbox-stable" xattr-theme="checkbox-stable">
3
3
  <div class="checkbox">
4
- <input aria-label="Aria Label Text" type="checkbox" ng-model="vars.checkbox${RANDOM}"
5
- ng-initial-value="false">
4
+ <input aria-label="Aria Label Text" type="checkbox" ng-model="vars.checkbox${RANDOM}" ng-initial-value="false" crn-allow-null-values="true">
6
5
  </div>
7
6
  <span>Item</span>
8
7
  </li>
@@ -1,11 +1,10 @@
1
- <div dynamic-image="" alt="Dynamic Image Aria Label Text" ng-model="vars.input6723" max-file-size="5MB" target-width="640" target-height="480" class="dynamic-image-container ng-pristine ng-untouched ng-binding ng-empty ng-valid ng-valid-required" ng-required="false" allow-edit="false" aria-required="false" aria-invalid="false">
1
+ <div alt="Dynamic Image Aria Label Text" ng-model="vars.input6723" max-file-size="5MB" target-width="640" target-height="480" class="dynamic-image-container ng-pristine ng-untouched ng-binding ng-empty ng-valid ng-valid-required" ng-required="false" allow-edit="false" aria-required="false" aria-invalid="false">
2
2
  <div ngf-drop="" ngf-drag-over-class="dragover" class="dynamicImage">
3
3
 
4
- <div class="btn action-button-border ng-binding" ng-if="!vars.input6723" ngf-drop="" ngf-select="" ngf-change="cronapi.internal.setFile('vars.input6723', $file)" ngf-pattern="'image/*'" ngf-max-size="5MB"> Clique para adicionar uma imagem </div>
4
+ <div class="btn action-button-border ng-binding" ng-if="!vars.input6723" ngf-drop="" ngf-select="" ngf-change="cronapi.internal.setFile('vars.input6723', $file)" ngf-pattern="'image/*'" ngf-max-size="5MB">Clique para adicionar uma imagem</div>
5
5
 
6
6
  <div aria-label="Abrir a câmera" class="button button-positive buttomImage" ng-if="!vars.input6723" ng-click="cronapi.internal.startCamera('vars.input6723','60','false','640','480')" role="button" tabindex="0">
7
7
  <span class="icon ion-ios-videocam"></span>
8
8
  </div>
9
9
  </div>
10
- </div>
11
-
10
+ </div>
@@ -1,7 +1,7 @@
1
1
  <label class="item item-toggle">
2
2
  <span>Choose A</span>
3
3
  <div class="toggle toggle-balanced" xattr-theme="toggle-balanced">
4
- <input type="checkbox" aria-label="Aria Label Text" ng-model="vars.toggle${RANDOM}" ng-initial-value="false">
4
+ <input type="checkbox" aria-label="Aria Label Text" ng-model="vars.toggle${RANDOM}" ng-initial-value="false" crn-allow-null-values="true">
5
5
  <div class="track">
6
6
  <div class="handle"></div>
7
7
  </div>
@@ -1 +1 @@
1
- <ul class="checkbox-group"><li class="item item-checkbox checkbox-stable" xattr-theme="checkbox-stable"><div class="checkbox"><input aria-label="Aria Label Text" type="checkbox" ng-model="vars.checkbox${RANDOM}" ng-initial-value="false"></div><span>Item</span></li></ul>
1
+ <ul class="checkbox-group"><li class="item item-checkbox checkbox-stable" xattr-theme="checkbox-stable"><div class="checkbox"><input aria-label="Aria Label Text" type="checkbox" ng-model="vars.checkbox${RANDOM}" ng-initial-value="false" crn-allow-null-values="true"></div><span>Item</span></li></ul>
@@ -1 +1 @@
1
- <div dynamic-image="" alt="Dynamic Image Aria Label Text" ng-model="vars.input6723" max-file-size="5MB" target-width="640" target-height="480" class="dynamic-image-container ng-pristine ng-untouched ng-binding ng-empty ng-valid ng-valid-required" ng-required="false" allow-edit="false" aria-required="false" aria-invalid="false"><div ngf-drop="" ngf-drag-over-class="dragover" class="dynamicImage"><div class="btn action-button-border ng-binding" ng-if="!vars.input6723" ngf-drop="" ngf-select="" ngf-change="cronapi.internal.setFile('vars.input6723', $file)" ngf-pattern="'image/*'" ngf-max-size="5MB">Clique para adicionar uma imagem</div><div aria-label="Abrir a câmera" class="button button-positive buttomImage" ng-if="!vars.input6723" ng-click="cronapi.internal.startCamera('vars.input6723','60','false','640','480')" role="button" tabindex="0"><span class="icon ion-ios-videocam"></span></div></div></div>
1
+ <div alt="Dynamic Image Aria Label Text" ng-model="vars.input6723" max-file-size="5MB" target-width="640" target-height="480" class="dynamic-image-container ng-pristine ng-untouched ng-binding ng-empty ng-valid ng-valid-required" ng-required="false" allow-edit="false" aria-required="false" aria-invalid="false"><div ngf-drop="" ngf-drag-over-class="dragover" class="dynamicImage"><div class="btn action-button-border ng-binding" ng-if="!vars.input6723" ngf-drop="" ngf-select="" ngf-change="cronapi.internal.setFile('vars.input6723', $file)" ngf-pattern="'image/*'" ngf-max-size="5MB">Clique para adicionar uma imagem</div><div aria-label="Abrir a câmera" class="button button-positive buttomImage" ng-if="!vars.input6723" ng-click="cronapi.internal.startCamera('vars.input6723','60','false','640','480')" role="button" tabindex="0"><span class="icon ion-ios-videocam"></span></div></div></div>
@@ -1 +1 @@
1
- <label class="item item-toggle"><span>Choose A</span><div class="toggle toggle-balanced" xattr-theme="toggle-balanced"><input type="checkbox" aria-label="Aria Label Text" ng-model="vars.toggle${RANDOM}" ng-initial-value="false"><div class="track"><div class="handle"></div></div></div></label>
1
+ <label class="item item-toggle"><span>Choose A</span><div class="toggle toggle-balanced" xattr-theme="toggle-balanced"><input type="checkbox" aria-label="Aria Label Text" ng-model="vars.toggle${RANDOM}" ng-initial-value="false" crn-allow-null-values="true"><div class="track"><div class="handle"></div></div></div></label>
@@ -1 +1 @@
1
- angular.module("MyApp").directive("ngTranslateLanguageSelect",["LocaleService",function(a){'use strict';return{restrict:"A",replace:!0,template:"<div class=\"language-select\" ng-if=\"visible\"><label><select ng-init=\"currentLocaleDisplayName = localesDisplayNames[0]\"ng-model=\"currentLocaleDisplayName\" ng-options=\"localesDisplayName for localesDisplayName in localesDisplayNames\" ng-change=\"changeLanguage(currentLocaleDisplayName)\">aria-label=\"Language Selector\"</select></label></div>",controller:["$scope",function(b){b.currentLocaleDisplayName=a.getLocaleDisplayName(),b.localesDisplayNames=a.getLocalesDisplayNames(),b.visible=b.localesDisplayNames&&1<b.localesDisplayNames.length,b.changeLanguage=function(b){a.setLocaleByDisplayName(b)}}]}}]);
1
+ angular.module("MyApp").directive("ngTranslateLanguageSelect",["LocaleService",function(a){"use strict";return{restrict:"A",replace:!0,template:"<div class=\"language-select\" ng-if=\"visible\"><label><select ng-init=\"currentLocaleDisplayName = localesDisplayNames[0]\"ng-model=\"currentLocaleDisplayName\" ng-options=\"localesDisplayName for localesDisplayName in localesDisplayNames\" ng-change=\"changeLanguage(currentLocaleDisplayName)\">aria-label=\"Language Selector\"</select></label></div>",controller:["$scope",function(b){b.currentLocaleDisplayName=a.getLocaleDisplayName(),b.localesDisplayNames=a.getLocalesDisplayNames(),b.visible=b.localesDisplayNames&&1<b.localesDisplayNames.length,b.changeLanguage=function(b){a.setLocaleByDisplayName(b)}}]}}]);
@@ -1 +1 @@
1
- angular.module("MyApp").service("LocaleService",["$translate","LOCALES","$rootScope","tmhDynamicLocale",function(a,b,c,d){'use strict';var e=b.locales,f=Object.keys(e);f&&0!==f.length||console.error("There are no _LOCALES provided");var g=[];f.forEach(function(a){g.push(e[a])});var h=a.proposedLanguage(),i=function(a){return-1!==f.indexOf(a)},j=function(b){return i(b)?void(h=b,a.use(b)):void console.error("Locale name \""+b+"\" is invalid")};return c.$on("$translateChangeSuccess",function(a,b){document.documentElement.setAttribute("lang",b.language),d.set(b.language.toLowerCase().replace(/_/g,"-"))}),{getLocaleDisplayName:function(){return e[h]},setLocaleByDisplayName:function(a){j(f[g.indexOf(a)])},getLocalesDisplayNames:function(){return g}}}]);
1
+ angular.module("MyApp").service("LocaleService",["$translate","LOCALES","$rootScope","tmhDynamicLocale",function(a,b,c,d){"use strict";var e=b.locales,f=Object.keys(e);f&&0!==f.length||console.error("There are no _LOCALES provided");var g=[];f.forEach(function(a){g.push(e[a])});var h=a.proposedLanguage(),i=function(a){return-1!==f.indexOf(a)},j=function(b){return i(b)?void(h=b,a.use(b)):void console.error("Locale name \""+b+"\" is invalid")};return c.$on("$translateChangeSuccess",function(a,b){document.documentElement.setAttribute("lang",b.language),d.set(b.language.toLowerCase().replace(/_/g,"-"))}),{getLocaleDisplayName:function(){return e[h]},setLocaleByDisplayName:function(a){j(f[g.indexOf(a)])},getLocalesDisplayNames:function(){return g}}}]);
@@ -1 +1 @@
1
- var cronappModules=["ionic","ui.router","ngResource","ngSanitize","custom.controllers","custom.services","ui.bootstrap","report.services","datasourcejs","pascalprecht.translate","tmh.dynamicLocale","ui-notification","ngFileUpload","angularMoment","upload.services","ngAria","ngCookies"];window.customModules&&(cronappModules=cronappModules.concat(window.customModules)),window.paceOptions={document:!0,eventLag:!0,restartOnPushState:!0,restartOnRequestAfter:!0,ajax:{trackMethods:["PUT","POST","GET"]}};var app=function(){return angular.module("MyApp",cronappModules).constant("LOCALES",{locales:{pt_br:"Portugues (Brasil)",en_us:"English"},preferredLocale:"pt_br"}).run(["$ionicPlatform",function(a){a.ready(function(){setTimeout(function(){navigator.splashscreen&&navigator.splashscreen.hide()},100),window.cordova&&window.cordova.plugins&&window.cordova.plugins.Keyboard&&(cordova.plugins.Keyboard.hideKeyboardAccessoryBar(!0),cordova.plugins.Keyboard.disableScroll(!0)),window.StatusBar&&StatusBar.styleDefault(),ionic.Platform.is("ios")&&window.addEventListener("orientationchange",function(){var a=document.body.style.marginTop;document.body.style.marginTop="1px",setTimeout(function(){document.body.style.marginTop=a},100)},!1)})}]).config(["$httpProvider","$compileProvider",function(a,b){b.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|ionic):|data:image/);a.interceptors.push(["$q","$rootScope","$injector",function(a,b,c){return{request:function(a){var b=JSON.parse(localStorage.getItem("_u"));return b&&b.token&&(a.headers["X-AUTH-TOKEN"]=b.token,window.uToken=b.token),a},responseError:function(b){if(500===b.status){let a=c.get("$state"),b=c.get("$http"),d=c.get("Notification");window.refreshToken(d,b,()=>{},b=>{404!==b.status&&(localStorage.removeItem("_u"),a.go("login"))})}return a.reject(b)}}}])}]).config(["$stateProvider","$urlRouterProvider","$ionicConfigProvider",function(a,b,c){c.navBar.alignTitle("center"),c.tabs.position("bottom"),ionic.Platform.isIOS()&&c.scrolling.jsScrolling(!1)}]).config(["$stateProvider","$urlRouterProvider","NotificationProvider",function(a,b,c){c.setOptions({delay:5e3,startTop:20,startRight:10,verticalSpacing:20,horizontalSpacing:20,positionX:"right",positionY:"top"}),window.customStateProvider?window.customStateProvider(a):a.state("main",{url:"",cache:!1,controller:"InitialController",templateUrl:function(){return navigator.app,""}}).state("login",{url:"/app/login",cache:!1,controller:"LoginController",templateUrl:"views/login.view.html"}).state("publicRoot",{url:"/public/{name:.*}",cache:!1,controller:"PageController",templateUrl:function(a){return"views/public/"+a.name+".view.html"}}).state("public",{url:"/app/public",cache:!1,controller:"PublicMenuController",templateUrl:"node_modules/cronapp-framework-mobile-js/components/templates/publicMenu.template.html"}).state("public.pages",{url:"/{name:.*}",cache:!1,views:{menuContent:{controller:"PageController",templateUrl:function(a){return"views/public/"+a.name+".view.html"}}}}).state("app",{url:"/app/logged",cache:!1,controller:"MenuController",templateUrl:"node_modules/cronapp-framework-mobile-js/components/templates/menu.template.html"}).state("app.home",{url:"/home",cache:!1,views:{menuContent:{controller:"PageController",templateUrl:"views/logged/home.view.html"}},resolve:{data:["$translate",function(a){a.refresh()}]}}).state("app.pages",{url:"/{name:.*}",cache:!1,views:{menuContent:{controller:"PageController",templateUrl:function(a){return"views/logged/"+a.name+".view.html"}}}}).state("404",{url:"/error/404",cache:!1,controller:"PageController",templateUrl:function(){return"views/error/404.view.html"}}).state("403",{url:"/error/403",cache:!1,controller:"PageController",templateUrl:function(){return"views/error/403.view.html"}}),b.otherwise("/error/404")}]).config(["$translateProvider","tmhDynamicLocaleProvider",function(a,b){a.uniformLanguageTag("bcp47"),a.useLoader("customTranslateLoader",{files:[{prefix:"i18n/locale_",suffix:".json"},{prefix:"node_modules/cronapp-framework-mobile-js/i18n/locale_",suffix:".json"}]}),a.registerAvailableLanguageKeys(window.translations.localesKeys,window.translations.localesRef);var c=(window.navigator.userLanguage||window.navigator.language).replace("-","_").toLowerCase();a.use(c),a.useSanitizeValueStrategy("escaped"),b.localeLocationPattern("node_modules/angular-i18n/angular-locale_{{locale}}.js")}]).config(["$sceProvider",function(a){a.enabled(!1)}]).directive("crnValue",["$parse",function(a){return{restrict:"A",require:"^ngModel",link:function(b,c,d,e){var f;f=d.value?d.value:a(d.crnValue)(b),c.attr("data-evaluated",JSON.stringify(f)),c.bind("click",function(){b.$apply(function(){e.$setViewValue(f),$(c).data("changed",!0)}.bind(c))}),b.$watch(function(){return e.$modelValue},function(a,b){if(a!==b){var d=c.attr("data-evaluated"),e=$(c).data("changed");$(c).data("changed",!1),e||(a&&JSON.stringify(""+a)==d?$(c)[0].children[0].checked=!0:$(c)[0].children[0].checked=!1)}})}}}]).decorator("$xhrFactory",["$delegate","$injector",function(a,b){return function(c,d){var e=a(c,d),f=b.get("$http"),g=f.pendingRequests[f.pendingRequests.length-1];return angular.isFunction(g.onProgress)&&e.upload.addEventListener("progress",g.onProgress),e}}]).run(["$rootScope","$state","$stateParams","$timeout","$injector",function(a,b,c,d,e){a.$state=b,a.$stateParams=c,a.$on("$stateChangeError",function(){if(6<=arguments.length){var a=arguments[5];(404===a.status||403===a.status||401===a.status)&&(localStorage.removeItem("_u"),b.go("login").catch(function(){b.go("404")}))}else b.go("404")}),a.$on("$stateChangeSuccess",function(c,f){let g=e.get("$http"),h=e.get("Notification");app.isPublicRoute(f)||window.refreshToken(h,g,()=>{},a=>{404!==a.status&&(localStorage.removeItem("_u"),b.go("login"))}),d(()=>{let b=$("ion-view ion-header-bar .title").last().text(),c=window.location.hash?window.location.hash.split("/"):null,d=c?c[c.length-1]:null,e=window.camelCaseToSentenceCase(window.toCamelCase(d));a.ionViewTitle=b||e||f.name}),setTimeout(function(){$($(".icon.ion-plus-round").parent()).off("click"),$($(".icon.ion-plus-round").parent()).on("click",function(){$("[required]").removeClass("input-validation-error"),$("input:invalid").removeClass("input-validation-error")}),$($(".icon.ion-checkmark").parent()).off("click"),$($(".icon.ion-checkmark").parent()).on("click",function(){$("[required].ng-invalid-required, [required].ng-invalid, [required].ng-empty").addClass("input-validation-error"),$("input:invalid").addClass("input-validation-error")}),$("input").off("keydown"),$("input").on("keydown",function(){$(this).removeClass("input-validation-error")})},300)}),setInterval(()=>$("ion-nav-view[name=\"menuContent\"] .button.button-clear.hide").removeClass("hide"),300)}])}(window);app.userEvents={},app.config={},app.config.datasourceApiVersion=2,app.config.defaultRoute="/app",app.publicRoutes=["publicRoot","public","public.pages","main"],app.isPublicRoute=a=>app.publicRoutes.includes(a.name),app.bindScope=function(a,b){var c={};for(var d in b)c[d]="string"==typeof b[d]||"boolean"==typeof b[d]?b[d]:"function"==typeof b[d]?b[d].bind(a):app.bindScope(a,b[d]);return c},app.registerEventsCronapi=function(a,b,c,d){for(var e in app.userEvents)a[e]=app.userEvents[e].bind(a);a.vars={},a.$evt=$evt;try{cronapi&&(a.cronapi=app.bindScope(a,cronapi),a.cronapi.$scope=a,a.cronapi.$scope.$ionicModal=c,a.cronapi.$scope.$ionicLoading=d,a.safeApply=safeApply,b&&(a.cronapi.$translate=b))}catch(a){console.info("Not loaded cronapi functions"),console.info(a)}try{blockly&&(blockly.cronapi=cronapi,a.blockly=app.bindScope(a,blockly))}catch(a){console.info("Not loaded blockly functions"),console.info(a)}},app.copyContext=function(a,b,c){if(a)for(var d in a)b[d]?b[d+c]=a[d]:b[d]=a[d]},app.factory("customTranslateLoader",["$http","$q",function(a,b){return function(c){if(!c||!angular.isArray(c.files)&&(!angular.isString(c.prefix)||!angular.isString(c.suffix)))throw new Error("Couldn't load static files, no files and prefix or suffix specified!");c.files||(c.files=[{prefix:c.prefix,suffix:c.suffix}]);for(var d=function(d){if(!d||!angular.isString(d.prefix)||!angular.isString(d.suffix))throw new Error("Couldn't load static file, no prefix or suffix specified!");var e=b.defer();return a(angular.extend({url:[d.prefix,c.key,d.suffix].join(""),method:"GET",params:""},c.$http)).success(function(a){e.resolve(a)}).error(function(){e.resolve({})}),e.promise},e=b.defer(),f=[],g=c.files.length,h=0;h<g;h++)f.push(d({prefix:c.files[h].prefix,key:c.key,suffix:c.files[h].suffix}));return b.all(f).then(function(a){for(var b=a.length,c={},d=0;d<b;d++)for(var f in a[d])c[f]=a[d][f];e.resolve(c)},function(a){e.reject(a)}),e.promise}}]),window.safeApply=function(a){var b=this.$root.$$phase;"$apply"==b||"$digest"==b?a&&"function"==typeof a&&a():this.$apply(a)},window.toCamelCase=function(a){return a.toLowerCase().replace(/[-_\.]+/g," ").replace(/[^\w\s]/g,"").replace(/ (.)/g,function(a){return a.toUpperCase()}).replace(/ /g,"")},window.camelCaseToSentenceCase=function(a){let b=a.replace(/([A-Z])/g," $1");return b.charAt(0).toUpperCase()+b.slice(1)},window.refreshToken=function(a,b,c,d){window.hostApp?b({method:"GET",url:window.hostApp+"auth/refresh"}).success(function(e){console.log("revive :",new Date(e.expires)),localStorage.setItem("_u",JSON.stringify(e)),setTimeout(function(){window.refreshToken(a,b,c,d)},1800000),c()}).error(function(a){d(a)}):a.error("HostApp is required to refresh token!")};
1
+ var cronappModules=["ionic","ui.router","ngResource","ngSanitize","custom.controllers","custom.services","ui.bootstrap","report.services","datasourcejs","pascalprecht.translate","tmh.dynamicLocale","ui-notification","ngFileUpload","angularMoment","upload.services","ngAria","ngCookies"];window.customModules&&(cronappModules=cronappModules.concat(window.customModules)),window.paceOptions={document:!0,eventLag:!0,restartOnPushState:!0,restartOnRequestAfter:!0,ajax:{trackMethods:["PUT","POST","GET"]}};var app=function(){return angular.module("MyApp",cronappModules).constant("LOCALES",{locales:{pt_br:"Portugues (Brasil)",en_us:"English"},preferredLocale:"pt_br"}).run(["$ionicPlatform",function(a){a.ready(function(){setTimeout(function(){navigator.splashscreen&&navigator.splashscreen.hide()},100),window.cordova&&window.cordova.plugins&&window.cordova.plugins.Keyboard&&(cordova.plugins.Keyboard.hideKeyboardAccessoryBar(!0),cordova.plugins.Keyboard.disableScroll(!0)),window.StatusBar&&StatusBar.styleDefault(),ionic.Platform.is("ios")&&window.addEventListener("orientationchange",function(){var a=document.body.style.marginTop;document.body.style.marginTop="1px",setTimeout(function(){document.body.style.marginTop=a},100)},!1)})}]).config(["$httpProvider","$compileProvider",function(a,b){b.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|ionic):|data:image/);a.interceptors.push(["$q","$rootScope","$injector",function(a,b,c){return{request:function(a){var b=JSON.parse(localStorage.getItem("_u"));return b&&b.token&&(a.headers["X-AUTH-TOKEN"]=b.token,window.uToken=b.token),a},responseError:function(b){if(500===b.status){let a=c.get("$state"),b=c.get("$http"),d=c.get("Notification");window.refreshToken(d,b,()=>{},b=>{404!==b.status&&(localStorage.removeItem("_u"),a.go("login"))})}return a.reject(b)}}}])}]).config(["$stateProvider","$urlRouterProvider","$ionicConfigProvider",function(a,b,c){c.navBar.alignTitle("center"),c.tabs.position("bottom"),ionic.Platform.isIOS()&&c.scrolling.jsScrolling(!1)}]).config(["$stateProvider","$urlRouterProvider","NotificationProvider",function(a,b,c){c.setOptions({delay:5e3,startTop:20,startRight:10,verticalSpacing:20,horizontalSpacing:20,positionX:"right",positionY:"top"}),window.customStateProvider?window.customStateProvider(a):a.state("main",{url:"",cache:!1,controller:"InitialController",templateUrl:function(){return navigator.app,""}}).state("login",{url:"/app/login",cache:!1,controller:"LoginController",templateUrl:"views/login.view.html"}).state("publicRoot",{url:"/public/{name:.*}",cache:!1,controller:"PageController",templateUrl:function(a){return"views/public/"+a.name+".view.html"}}).state("public",{url:"/app/public",cache:!1,controller:"PublicMenuController",templateUrl:"node_modules/cronapp-framework-mobile-js/components/templates/publicMenu.template.html"}).state("public.pages",{url:"/{name:.*}",cache:!1,views:{menuContent:{controller:"PageController",templateUrl:function(a){return"views/public/"+a.name+".view.html"}}}}).state("app",{url:"/app/logged",cache:!1,controller:"MenuController",templateUrl:"node_modules/cronapp-framework-mobile-js/components/templates/menu.template.html"}).state("app.home",{url:"/home",cache:!1,views:{menuContent:{controller:"PageController",templateUrl:"views/logged/home.view.html"}},resolve:{data:["$translate",function(a){a.refresh()}]}}).state("app.pages",{url:"/{name:.*}",cache:!1,views:{menuContent:{controller:"PageController",templateUrl:function(a){return"views/logged/"+a.name+".view.html"}}}}).state("404",{url:"/error/404",cache:!1,controller:"PageController",templateUrl:function(){return"views/error/404.view.html"}}).state("403",{url:"/error/403",cache:!1,controller:"PageController",templateUrl:function(){return"views/error/403.view.html"}}),b.otherwise("/error/404")}]).config(["$translateProvider","tmhDynamicLocaleProvider",function(a,b){a.uniformLanguageTag("bcp47"),a.useLoader("customTranslateLoader",{files:[{prefix:"i18n/locale_",suffix:".json"},{prefix:"node_modules/cronapp-framework-mobile-js/i18n/locale_",suffix:".json"}]}),a.registerAvailableLanguageKeys(window.translations.localesKeys,window.translations.localesRef);var c=(window.navigator.userLanguage||window.navigator.language).replace("-","_").toLowerCase();a.use(c),a.useSanitizeValueStrategy("escaped"),b.localeLocationPattern("node_modules/angular-i18n/angular-locale_{{locale}}.js")}]).config(["$sceProvider",function(a){a.enabled(!1)}]).directive("crnValue",["$parse",function(a){return{restrict:"A",require:"^ngModel",link:function(b,c,d,e){var f;f=d.value?d.value:a(d.crnValue)(b),c.attr("data-evaluated",JSON.stringify(f)),c.bind("click",function(){b.$apply(function(){e.$setViewValue(f),$(c).data("changed",!0)}.bind(c))}),b.$watch(function(){return e.$modelValue},function(a,b){if(a!==b){var d=c.attr("data-evaluated"),e=$(c).data("changed");$(c).data("changed",!1),e||(a&&JSON.stringify(""+a)==d?$(c)[0].children[0].checked=!0:$(c)[0].children[0].checked=!1)}})}}}]).decorator("$xhrFactory",["$delegate","$injector",function(a,b){return function(c,d){var e=a(c,d),f=b.get("$http"),g=f.pendingRequests[f.pendingRequests.length-1];return angular.isFunction(g.onProgress)&&e.upload.addEventListener("progress",g.onProgress),e}}]).run(["$rootScope","$state","$stateParams","$timeout","$injector",function(a,b,c,d,e){a.$state=b,a.$stateParams=c,a.$on("$stateChangeError",function(){if(6<=arguments.length){var a=arguments[5];(404===a.status||403===a.status||401===a.status)&&(localStorage.removeItem("_u"),b.go("login").catch(function(){b.go("404")}))}else b.go("404")}),a.$on("$stateChangeSuccess",function(c,f){let g=e.get("$http"),h=e.get("Notification");app.isPublicRoute(f)||window.refreshToken(h,g,()=>{},a=>{404!==a.status&&(localStorage.removeItem("_u"),b.go("login"))}),d(()=>{let b=$("ion-view ion-header-bar .title").last().text(),c=window.location.hash?window.location.hash.split("/"):"",d=c?c[c.length-1]:"",e=window.camelCaseToSentenceCase(window.toCamelCase(d));a.ionViewTitle=b||e||f.name}),setTimeout(function(){$($(".icon.ion-plus-round").parent()).off("click"),$($(".icon.ion-plus-round").parent()).on("click",function(){$("[required]").removeClass("input-validation-error"),$("input:invalid").removeClass("input-validation-error")}),$($(".icon.ion-checkmark").parent()).off("click"),$($(".icon.ion-checkmark").parent()).on("click",function(){$("[required].ng-invalid-required, [required].ng-invalid, [required].ng-empty").addClass("input-validation-error"),$("input:invalid").addClass("input-validation-error")}),$("input").off("keydown"),$("input").on("keydown",function(){$(this).removeClass("input-validation-error")})},300)}),setInterval(()=>$("ion-nav-view[name=\"menuContent\"] .button.button-clear.hide").removeClass("hide"),300)}])}(window);app.userEvents={},app.config={},app.config.datasourceApiVersion=2,app.config.defaultRoute="/app",app.publicRoutes=["publicRoot","public","public.pages","main"],app.isPublicRoute=a=>app.publicRoutes.includes(a.name),app.bindScope=function(a,b){var c={};for(var d in b)c[d]="string"==typeof b[d]||"boolean"==typeof b[d]?b[d]:"function"==typeof b[d]?b[d].bind(a):app.bindScope(a,b[d]);return c},app.registerEventsCronapi=function(a,b,c,d){for(var e in app.userEvents)a[e]=app.userEvents[e].bind(a);a.vars={},a.$evt=$evt||void 0;try{cronapi&&(a.cronapi=app.bindScope(a,cronapi),a.cronapi.$scope=a,a.cronapi.$scope.$ionicModal=c,a.cronapi.$scope.$ionicLoading=d,a.safeApply=safeApply,b&&(a.cronapi.$translate=b))}catch(a){console.info("Not loaded cronapi functions"),console.info(a)}try{blockly&&(blockly.cronapi=cronapi,a.blockly=app.bindScope(a,blockly))}catch(a){console.info("Not loaded blockly functions"),console.info(a)}},app.copyContext=function(a,b,c){if(a)for(var d in a)b[d]?b[d+c]=a[d]:b[d]=a[d]},app.factory("customTranslateLoader",["$http","$q",function(a,b){return function(c){if(!c||!angular.isArray(c.files)&&(!angular.isString(c.prefix)||!angular.isString(c.suffix)))throw new Error("Couldn't load static files, no files and prefix or suffix specified!");c.files||(c.files=[{prefix:c.prefix,suffix:c.suffix}]);for(var d=function(d){if(!d||!angular.isString(d.prefix)||!angular.isString(d.suffix))throw new Error("Couldn't load static file, no prefix or suffix specified!");var e=b.defer();return a(angular.extend({url:[d.prefix,c.key,d.suffix].join(""),method:"GET",params:""},c.$http)).success(function(a){e.resolve(a)}).error(function(){e.resolve({})}),e.promise},e=b.defer(),f=[],g=c.files.length,h=0;h<g;h++)f.push(d({prefix:c.files[h].prefix,key:c.key,suffix:c.files[h].suffix}));return b.all(f).then(function(a){for(var b=a.length,c={},d=0;d<b;d++)for(var f in a[d])c[f]=a[d][f];e.resolve(c)},function(a){e.reject(a)}),e.promise}}]),window.safeApply=function(a){var b=this.$root.$$phase;"$apply"==b||"$digest"==b?a&&"function"==typeof a&&a():this.$apply(a)},window.toCamelCase=function(a){return a.toLowerCase().replace(/[-_\.]+/g," ").replace(/[^\w\s]/g,"").replace(/ (.)/g,function(a){return a.toUpperCase()}).replace(/ /g,"")},window.camelCaseToSentenceCase=function(a){let b=a.replace(/([A-Z])/g," $1");return b.charAt(0).toUpperCase()+b.slice(1)},window.refreshToken=function(a,b,c,d){window.hostApp?b({method:"GET",url:window.hostApp+"auth/refresh"}).success(function(e){console.log("revive :",new Date(e.expires)),localStorage.setItem("_u",JSON.stringify(e)),setTimeout(function(){window.refreshToken(a,b,c,d)},1800000),c()}).error(function(a){d(a)}):a.error("HostApp is required to refresh token!")};
@@ -1,4 +1,4 @@
1
- maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask.$inject=["$compile","$translate","$parse"],window.addEventListener("message",function(e){"reload"==e.data?window.location.reload():"reload(true)"==e.data&&window.location.reload(!0)}),function($app){var _Mathfloor=Math.floor;app.common={generateId:function(){var e=_Mathfloor(65536*(1+Math.random())).toString(16).substring(1);return-1<"0123456789".indexOf(e.substr(0,1))?this.generateId():e}};var isoDate=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,patternFormat=function(e){return e?$(e).attr("format")||"DD/MM/YYYY":"DD/MM/YYYY"},parsePermission=function(e){var t={visible:{public:!0},enabled:{public:!0}};if(e)for(var a,n=e.toLowerCase().trim().split(","),o=0;o<n.length;o++)if(a=n[o].trim(),a){var l=a.split(":");if(2==l.length){var r=l[0].trim(),s=l[1].trim();if(s){for(var d,c=s.split(";"),u={},m=0;m<c.length;m++)d=c[m].trim(),d&&(u[d]=!0);t[r]=u}}}return t};app.directive("updateLanguage",["$rootScope",function(e){return{link:function(t,a){e.$on("$translateChangeSuccess",function(e,t){let n=t.language?t.language.split("_")[0]:null;a.attr("lang",n||"en")})}}}]),app.directive("asDate",maskDirectiveAsDate),app.directive("input",transformText),app.directive("textarea",transformText).directive("ngDestroy",function(){return{restrict:"A",link:function(scope,element,attrs,ctrl){element.on("$destroy",function(){attrs.ngDestroy&&0<attrs.ngDestroy.length&&(-1<attrs.ngDestroy.indexOf("app.")||-1<attrs.ngDestroy.indexOf("blockly.")?scope.$eval(attrs.ngDestroy):eval(attrs.ngDestroy))})}}}).filter("mask",["$translate",function(e){return function(t,a,n){if(a=parseMaskType(a,e),!a)return t;var o;if(void 0===n?o=window.fixedTimeZone:(o="date"==n||"datetime"==n||"time"==n,!window.fixedTimeZone&&(o=!1)),0<a.indexOf(";local")&&(o=!1),a=a.replace(";1","").replace(";0","").replace(";local","").trim(),"string"==typeof t&&t.match(isoDate)||t instanceof Date)return o?moment(t).utcOffset(window.timeZoneOffset).format(a):moment(t).format(a);if("number"==typeof t)return format(a,t);if(null!=t&&null!=t&&""!=t&&""!=a){var l=$("<input type=\"text\">");return l.mask(a),l.masked(t)}return t}}]).directive("screenParams",[function(){'use strict';return{link:function(scope,elem,attrs,ctrl){var screenParams=eval(attrs.screenParams);screenParams&&screenParams.length&&screenParams.forEach(function(e){scope.params&&!scope.params[e.key]&&(scope.params[e.key]=e.value||"")})}}}]).directive("mask",maskDirectiveMask).directive("dynamicImage",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){let l="<div ngf-drop=\"\" ngf-drag-over-class=\"dragover\" class=\"dynamicImage\" > <img role=\"img\" alt=\"$altText$\" style=\"width: 100%;\" ng-if=\"$ngModel$\" data-ng-src=\"{{$ngModel$.startsWith('http') || ($ngModel$.startsWith('/') && $ngModel$.length < 1000)? $ngModel$ : 'data:image/png;base64,' + $ngModel$}}\"> <div class=\"btn action-button-border\" ng-if=\"!$ngModel$\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.setFile('$ngModel$', $file)\" ngf-pattern=\"'image/*'\" ngf-max-size=\"$maxFileSize$\"> $userHtml$ </div> <div aria-label=\"$closeAriaText$\" class=\"remove-image-button button button-assertive\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span class=\"icon ion-android-close\"></span> </div> <div aria-label=\"$videocamAriaText$\" class=\"button button-positive buttomImage\" ng-if=\"!$ngModel$\" ng-click=\"cronapi.internal.startCamera('$ngModel$','$quality$','$allowEdit$','$targetWidth$','$targetHeight$')\"> <span class=\"icon ion-ios-videocam\"></span> </div> </div>";const r={ngModel:o.ngModel,required:o.ngRequired&&"true"==o.ngRequired?"required":"",content:n.html(),altText:o.alt?o.alt:t.instant("Users.view.Picture"),closeAriaText:t.instant("Home.view.Close"),videocamAriaText:t.instant("OpenCamera"),maxFileSize:o.maxFileSize?o.maxFileSize:"",quality:o.quality?o.quality:"60",allowEdit:o.allowEdit?o.allowEdit:"false",targetWidth:o.targetWidth?o.targetWidth:"640",targetHeight:o.targetHeight?o.targetHeight:"480"};l=$(l.split("$ngModel$").join(r.ngModel).split("$required$").join(r.required).split("$userHtml$").join(r.content).split("$maxFileSize$").join(r.maxFileSize).split("$altText$").join(r.altText).split("$closeAriaText$").join(r.closeAriaText).split("$videocamAriaText$").join(r.videocamAriaText).split("$quality$").join(r.quality).split("$allowEdit$").join(r.allowEdit).split("$targetWidth$").join(r.targetWidth).split("$targetHeight$").join(r.targetHeight)),$(n).html(l),e(l)(n.scope())}}}]).directive("dynamicFile",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){var l=o.ngRequired&&"true"==o.ngRequired?"required":"",r=t.instant("Home.view.Close"),s=o.ngModel.split("."),d=s[0],c=s[s.length-1],p=_Mathfloor(1e3*Math.random()+20),u=n.html(),m="";o.maxFileSize&&(m=o.maxFileSize);var g=o.fileInfo?`'${o.fileInfo}'`:"undefined",f=" <div ng-show=\"!$ngModel$\" ngf-drop=\"\" ngf-drag-over-class=\"dragover\"> <div class=\"btn action-button-border\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.uploadFile('$ngModel$', $file, 'uploadprogress$number$', $fileInfo$)\" ngf-max-size=\"$maxFileSize$\"> $userHtml$ </div> <div class=\"progress\" data-type=\"bootstrapProgress\" id=\"uploadprogress$number$\" style=\"display:none\"> <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"70\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width:0%\"> <span class=\"sr-only\"></span> </div> </div> </div> <div ng-show=\"$ngModel$\" class=\"upload-image-component-attribute\"> <div aria-label=\"$closeAriaText$\" class=\"button button-assertive\" style=\"float:right;\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span role=\"img\" alt=\"$closeAriaText$\" class=\"icon ion-android-close\"></span> </div> <div> <div ng-bind-html=\"cronapi.internal.generatePreviewDescriptionByte($ngModel$, $fileInfo$)\"></div> <div aria-label=\"Download\" class=\"button button-positive\" ng-click=\"cronapi.internal.downloadFileEntityMobile($datasource$,'$field$', undefined, $fileInfo$)\">$lblDownload$</div> </div> </div> ";f=$(f.split("$ngModel$").join(o.ngModel).split("$datasource$").join(d).split("$field$").join(c).split("$number$").join(p).split("$required$").join(l).split("$userHtml$").join(u).split("$maxFileSize$").join(m).split("$closeAriaText$").join(r).split("$lblDownload$").join(t.instant("download")).split("$fileInfo$").join(g)),$(n).html(f),e(f)(n.scope())}}}]).directive("pwCheck",[function(){'use strict';return{require:"ngModel",link:function(e,t,a,n){var o="#"+a.pwCheck;t.add(o).on("keyup",function(){e.$apply(function(){var e=t.val()===$(o).val();n.$setValidity("pwmatch",e)})})}}}]).directive("qr",["$window",function(e){return{restrict:"EA",require:"^ngModel",template:"<canvas ng-hide=\"image\"></canvas><img alt=\"qr-code\" ng-if=\"image\" ng-src=\"{{canvasImage}}\"/>",link:function(t,a,n,o){t.size===void 0&&n.size&&(t.text=n.size);var l=function(){return o.$modelValue||""},r=function(e){return /^[0-9]*$/.test(e)},s=function(e){return /^[0-9A-Z $%*+\-./:]*$/.test(e)},d=function(e){for(var t,a=0;a<e.length;a++)if(t=e.charCodeAt(a),255<t)return!1;return!0},c=function(e,t){if("NUMBER"===e&&!r(t))throw new Error("The `NUMBER` input mode is invalid for text.");else if("ALPHA_NUM"===e&&!s(t))throw new Error("The `ALPHA_NUM` input mode is invalid for text.");else if("8bit"===e&&!d(t))throw new Error("The `8bit` input mode is invalid for text.");else if(!d(t))throw new Error("Input mode is invalid for text.");return!0},p=function(e){var a=t.inputMode;return a=a||(r(e)?"NUMBER":void 0),a=a||(s(e)?"ALPHA_NUM":void 0),a=a||(d(e)?"8bit":""),c(a,e)?a:""},u=a.find("canvas")[0],m=!!e.CanvasRenderingContext2D;t.TYPE_NUMBER=function(){return t.typeNumber||0}(),t.TEXT=l(),t.CORRECTION=function(){var e=t.correctionLevel||0;return{L:1,M:0,Q:3,H:2}[e]||0}(),t.SIZE=function(){return t.size||$(a).outerWidth()}(),t.INPUT_MODE=p(t.TEXT),t.canvasImage="";var g=function(e,t,a,n){for(var o=Math.round,l=Math.ceil,r=0;r<a;r++)for(var s=0;s<a;s++){var d=l((s+1)*n)-_Mathfloor(s*n),c=l((r+1)*n)-_Mathfloor(r*n);e.fillStyle=t.isDark(r,s)?"#000":"#fff",e.fillRect(o(s*n),o(r*n),d,c)}},f=function(e,a,n,o,l,r){var s=a.replace(/^\s+|\s+$/g,""),d=new QRCode(n,o,r);d.addData(s),d.make();var c=e.getContext("2d"),p=d.getModuleCount();e.width=e.height=l,m&&(g(c,d,p,l/p),t.canvasImage=e.toDataURL()||"")};t.$watch(function(){return o.$modelValue},function(e,a){(e!==a||e!==t.TEXT)&&(t.text=o.$modelValue,t.TEXT=l(),t.INPUT_MODE=p(t.TEXT),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE))}),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE)}}}]).directive("valid",function(){return{require:"^ngModel",restrict:"A",link:function(e,t,a,n){var o={cpf:CPF,cnpj:CNPJ};n.$validators[a.valid]=function(e,n){var l=e||n,r=o[a.valid].isValid(l);return r?t[0].setCustomValidity(""):t.scope().$applyAsync(function(){t[0].setCustomValidity(t[0].dataset.errorMessage)}),r||!l}}}}).directive("cronappSecurity",function(){return{restrict:"A",link:function(e,t,a){var n=[],o=JSON.parse(localStorage.getItem("_u"));o&&o.roles&&(n=o.roles.toLowerCase().split(","));for(var l,r=parsePermission(a.cronappSecurity),s=!1,d=!1,c=0;c<n.length;c++)l=n[c].trim(),l&&(r.visible[l]&&(s=!0),r.enabled[l]&&(d=!0));s||$(t).hide(),d||$(t).find("*").addBack().attr("disabled",!0)}}}).directive("cronappStars",[function(){'use strict';return{restrict:"A",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)d[t-1].removeClass("ion-android-star-outline"),d[t-1].removeClass("ion-android-star"),t<=e?d[t-1].addClass("ion-android-star"):d[t-1].addClass("ion-android-star-outline");return e}var l=$(t),r=$("<i style=\"font-size: 200%\" class=\"component-holder ion ion-android-star-outline\" style=\"\" xattr-size=\"\" data-component=\"crn-icon\"></i>");l.html("");for(var s,d=[],c=1;5>=c;c++)s=r.clone(),l.append(s),s.attr("idx",c),s.click(function(){e.$apply(function(){n.$viewValue=parseInt($(this).attr("idx")),n.$commitViewValue()}.bind(this))}),d.push(s);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("cronappRating",[function(){'use strict';return{restrict:"E",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)c[t-1].removeClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].removeClass(a.iconOn),c[t-1].removeClass(a.theme),t<=e?(c[t-1].addClass(a.iconOn),c[t-1].addClass(a.theme)):(c[t-1].addClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].addClass(a.theme));return e}a.theme=$(t).find("i").attr("xattr-theme"),a.iconOn=$(t).find("i").attr("class");var l=$(t),r=[];a.xattrDefaultValue&&(n.$viewValue=0,n.$commitViewValue());for(var s=1;5>=s;s++)r.push($(t).find("i").get(s-1)),$(r[s-1]).addClass(a.iconOff||"fa fa-star-o");l.html("");for(var d,c=[],s=1;5>=s;s++)d=$(r[s-1]).clone(),l.append(d),d.attr("idx",s),d.click(function(){e.$apply(function(){let e=parseInt($(this).attr("idx"));n.$viewValue=n.$viewValue===e?0:e,n.$commitViewValue()}.bind(this))}),c.push(d);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("ngInitialValue",["$parse",function(e){return{restrict:"A",require:"ngModel",link:function(t,a,n){if(n.ngInitialValue){var o,l=e(n.ngModel),r=l.assign;try{o=t.$eval(n.ngInitialValue)}catch(t){o=n.ngInitialValue}"checkbox"==a[0].type&&o&&(o="true"==(""+o).toLowerCase()),r(t,o)}}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(t,a,e,n){n.$formatters=[],n.$parsers=[];let o=!!e.ngFalseValue&&e.ngFalseValue.split("'").join(""),l=!e.ngTrueValue||e.ngTrueValue.split("'").join("");n.$render=(e=>"true"===e||void 0===e||null===e||0==e.length)(e.crnAllowNullValues)?function(){let e=n.$viewValue;a.data("checked",e),!0===e||e===l?(a.prop("indeterminate",!1),a.prop("checked",!0),e=l):!1===e||e===o?(a.prop("indeterminate",!1),a.prop("checked",!1),e=o):(e=null,a.prop("indeterminate",!0)),setTimeout(()=>n.$setViewValue(e))}:function(){let r=n.$viewValue;if((void 0===n.$viewValue||null===n.$viewValue)&&(n.$setViewValue(!1),r=!1),r===o){let n=e.ngFalseValue?`${a.attr("ng-model")}=${e.ngFalseValue}`:`${a.attr("ng-model")}=${o}`;t.$eval(n)}switch(a.data("checked",r),r){case!0:case l:a.prop("indeterminate",!1),a.prop("checked",!0),r=l;break;default:a.prop("indeterminate",!1),a.prop("checked",!1),r=o;}setTimeout(()=>n.$setViewValue(r))},a.bind("click",function(r){let s;switch(a.data("checked")){case!1:case o:s=!e.ngTrueValue||l;break;default:s=!!e.ngFalseValue&&o;}n.$setViewValue(s),t.$apply(n.$render),r.preventDefault()})}}}]).directive("cronappFilter",["$compile",function($compile){var setFilterInButton=function(e,t){var a=e.closest("div");if(a){var n=a.find("button[cronapp-filter]");if(n){var o=n.data("filters");o||(o=[]);var l=-1,r=e.attr("ng-model");if($(o).each(function(e){this.ngModel==r&&(l=e)}),-1<l&&o.splice(l,1),0<t.length){o.push({ngModel:r,bindedFilter:t})}n.data("filters",o)}}},makeAutoPostSearch=function(e,t,a,n){var o=e.closest("div");if(o&&0<o.length){var l=o.find("button[cronapp-filter]");if(l&&0<l.length){var r=l.data("filters");r&&0<r.length&&(t="",$(r).each(function(){t+=this.bindedFilter+";"}))}}a.search(t,"true"==n.cronappFilterCaseinsensitive)},inputBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasource,filterTemplate="",filtersSplited=attrs.cronappFilter.split(";");if(attrs.crnDatasource)datasource=eval(attrs.crnDatasource);else{var fieldset=$element.closest("div");if(!fieldset)return;var button=fieldset.find("button[cronapp-filter]");if(!button)return;if(!button.attr("crn-datasource"))return;datasource=eval(button.attr("crn-datasource"))}var isOData=datasource.isOData();$(filtersSplited).each(function(){0<this.length&&(""!=filterTemplate&&(isOData?filterTemplate+=" or ":filterTemplate+=";"),isOData?"="==operator&&"text"==typeElement&&""==filterTemplate?filterTemplate="substringof({value.lower}, tolower("+this+"))":"="==operator?filterTemplate+=" substringof({value.lower},tolower("+this+"))":"!="==operator?filterTemplate+=this+" ne {value}":">"==operator?filterTemplate+=this+" gt {value}":">="==operator?filterTemplate+=this+" ge {value}":"<"==operator?filterTemplate+=this+" lt {value}":"<="==operator&&(filterTemplate+=this+" le {value}"):"text"==typeElement?filterTemplate+=this+"@"+operator+"%{value}%":filterTemplate+=this+operator+"{value}")}),0==filterTemplate.length&&(isOData?filterTemplate="{value}":filterTemplate="%{value}%"),ngModelCtrl?scope.$watch(attrs.ngModel,function(e,t){if(!angular.equals(e,t)){var a=$element.data("type")||$element.attr("type"),n=ngModelCtrl.$modelValue;isOData?n instanceof Date?"datetime-local"==a?n="datetimeoffset'"+n.toISOString()+"'":n="datetime'"+n.toISOString().substring(0,23)+"'":"number"==typeof n?n=n:"boolean"==typeof n?n=n:n="'"+n+"'":n instanceof Date?(n=n.toISOString(),n+="date"==a?"@@date":"time"==a||"time-local"==a?"@@time":"@@datetime"):"number"==typeof n?n+="@@number":"boolean"==typeof n&&(n+="@@boolean");var o=filterTemplate.split("{value}").join(n);o="string"==typeof n?o.split("{value.lower}").join(n.toLowerCase()):o.split("{value.lower}").join(n),0==ngModelCtrl.$viewValue.length&&(o=""),setFilterInButton($element,o,operator),autopost&&makeAutoPostSearch($element,o,datasource,attrs)}}):"text"==typeElement?$element.on("keyup",function(){var datasource=eval(attrs.crnDatasource),value=void 0;value=ngModelCtrl&&null!=ngModelCtrl?ngModelCtrl.$viewValue:this.value;var bindedFilter=filterTemplate.split("{value}").join(value);0==this.value.length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)}):$element.on("change",function(){var datasource=eval(attrs.crnDatasource),value=void 0,typeElement=$(this).attr("type");if(null!=attrs.asDate&&(typeElement="date"),ngModelCtrl&&null!=ngModelCtrl)value=ngModelCtrl.$viewValue;else if("checkbox"==typeElement)value=$(this).is(":checked");else if("date"!=typeElement)value=this.value;else if(value=this.value,0<this.value.length){var momentDate=moment(this.value,patternFormat(this));value=momentDate.toDate().toISOString()}var bindedFilter=filterTemplate.split("{value}").join(value);0==value.toString().length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)})},forceDisableDatasource=function(datasourceName,scope){var disableDatasource=setInterval(function(){try{var datasourceInstance=eval(datasourceName);datasourceInstance&&($(document).ready(function(){var e=0,t=setInterval(function(){10>e?(scope.$apply(function(){datasourceInstance.enabled=!1,datasourceInstance.data=[]}),e++):clearInterval(t)},20)}),clearInterval(disableDatasource))}catch(t){}},10)},buttonBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasourceName="";datasourceName=attrs.crnDatasource?attrs.crnDatasource:$element.parent().attr("crn-datasource");var datasource=eval(datasourceName),isOData=datasource.isOData(),requiredFilter=attrs.requiredFilter&&"true"==attrs.requiredFilter.toString();requiredFilter&&this.forceDisableDatasource(datasourceName,scope),$element.on("click",function(){var $this=$(this),filters=$this.data("filters");if(datasourceName&&0<datasourceName.length&&filters){var bindedFilter="";$(filters).each(function(){""!=bindedFilter&&(bindedFilter+=isOData?" and ":";"),bindedFilter+=this.bindedFilter});var datasourceToFilter=eval(datasourceName);requiredFilter?(datasourceToFilter.enabled=0<bindedFilter.length,datasourceToFilter.enabled?datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive):scope.$apply(function(){datasourceToFilter.data=[]})):datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive)}})};return{restrict:"A",require:"?ngModel",link:function(e,t,a,n){var o=$(t),l=o.data("type")||o.attr("type");a.asDate!=null&&(l="date");var r="=";a.cronappFilterOperator&&0<a.cronappFilterOperator.length&&(r=a.cronappFilterOperator);var s=!0;a.cronappFilterAutopost&&"false"==a.cronappFilterAutopost&&(s=!1),setTimeout(function(){"INPUT"==o[0].tagName?inputBehavior(e,t,a,n,o,l,r,s):buttonBehavior(e,t,a,n,o,l,r,s)},100)}}}]).directive("cronList",["$compile","$parse",function($compile,$parse){'use strict';const defaultAdvancedTemplate=`<ion-list type="" can-swipe="listCanSwipe">
1
+ maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask.$inject=["$compile","$translate","$parse"],window.addEventListener("message",function(e){"reload"==e.data?window.location.reload():"reload(true)"==e.data&&window.location.reload(!0)}),function($app){var _Mathfloor=Math.floor;app.common={generateId:function(){var e=_Mathfloor(65536*(1+Math.random())).toString(16).substring(1);return-1<"0123456789".indexOf(e.substr(0,1))?this.generateId():e}};var isoDate=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,patternFormat=function(e){return e?$(e).attr("format")||"DD/MM/YYYY":"DD/MM/YYYY"},parsePermission=function(e){var t={visible:{public:!0},enabled:{public:!0}};if(e)for(var a,n=e.toLowerCase().trim().split(","),o=0;o<n.length;o++)if(a=n[o].trim(),a){var l=a.split(":");if(2==l.length){var r=l[0].trim(),s=l[1].trim();if(s){for(var d,c=s.split(";"),u={},m=0;m<c.length;m++)d=c[m].trim(),d&&(u[d]=!0);t[r]=u}}}return t};app.directive("updateLanguage",["$rootScope",function(e){return{link:function(t,a){e.$on("$translateChangeSuccess",function(e,t){let n=t.language?t.language.split("_")[0]:null;a.attr("lang",n||"en")})}}}]),app.directive("asDate",maskDirectiveAsDate),app.directive("input",transformText),app.directive("textarea",transformText).directive("ngDestroy",function(){return{restrict:"A",link:function(scope,element,attrs,ctrl){element.on("$destroy",function(){attrs.ngDestroy&&0<attrs.ngDestroy.length&&(-1<attrs.ngDestroy.indexOf("app.")||-1<attrs.ngDestroy.indexOf("blockly.")?scope.$eval(attrs.ngDestroy):eval(attrs.ngDestroy))})}}}).filter("mask",["$translate",function(e){return function(t,a,n){if(a=parseMaskType(a,e),!a)return t;var o;if(void 0===n?o=window.fixedTimeZone:(o="date"==n||"datetime"==n||"time"==n,!window.fixedTimeZone&&(o=!1)),0<a.indexOf(";local")&&(o=!1),a=a.replace(";1","").replace(";0","").replace(";local","").trim(),"string"==typeof t&&t.match(isoDate)||t instanceof Date)return o?moment(t).utcOffset(window.timeZoneOffset).format(a):moment(t).format(a);if("number"==typeof t)return format(a,t);if(null!=t&&null!=t&&""!=t&&""!=a){var l=$("<input type=\"text\">");return l.mask(a),l.masked(t)}return t}}]).directive("screenParams",[function(){"use strict";return{link:function(scope,elem,attrs,ctrl){var screenParams=eval(attrs.screenParams);screenParams&&screenParams.length&&screenParams.forEach(function(e){scope.params&&!scope.params[e.key]&&(scope.params[e.key]=e.value||"")})}}}]).directive("mask",maskDirectiveMask).directive("dynamicImage",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){let l="<div ngf-drop=\"\" ngf-drag-over-class=\"dragover\" class=\"dynamicImage\" > <img role=\"img\" alt=\"$altText$\" style=\"width: 100%;\" ng-if=\"$ngModel$\" data-ng-src=\"{{$ngModel$.startsWith('http') || ($ngModel$.startsWith('/') && $ngModel$.length < 1000)? $ngModel$ : 'data:image/png;base64,' + $ngModel$}}\"> <div class=\"btn action-button-border\" ng-if=\"!$ngModel$\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.setFile('$ngModel$', $file)\" ngf-pattern=\"'image/*'\" ngf-max-size=\"$maxFileSize$\"> $userHtml$ </div> <div aria-label=\"$closeAriaText$\" class=\"remove-image-button button button-assertive\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span class=\"icon ion-android-close\"></span> </div> <div aria-label=\"$videocamAriaText$\" class=\"button button-positive buttomImage\" ng-if=\"!$ngModel$\" ng-click=\"cronapi.internal.startCamera('$ngModel$','$quality$','$allowEdit$','$targetWidth$','$targetHeight$')\"> <span class=\"icon ion-ios-videocam\"></span> </div> </div>";const r={ngModel:o.ngModel,required:o.ngRequired&&"true"==o.ngRequired?"required":"",content:n.html(),altText:o.alt?o.alt:t.instant("Users.view.Picture"),closeAriaText:t.instant("Home.view.Close"),videocamAriaText:t.instant("OpenCamera"),maxFileSize:o.maxFileSize?o.maxFileSize:"",quality:o.quality?o.quality:"60",allowEdit:o.allowEdit?o.allowEdit:"false",targetWidth:o.targetWidth?o.targetWidth:"640",targetHeight:o.targetHeight?o.targetHeight:"480"};l=$(l.split("$ngModel$").join(r.ngModel).split("$required$").join(r.required).split("$userHtml$").join(r.content).split("$maxFileSize$").join(r.maxFileSize).split("$altText$").join(r.altText).split("$closeAriaText$").join(r.closeAriaText).split("$videocamAriaText$").join(r.videocamAriaText).split("$quality$").join(r.quality).split("$allowEdit$").join(r.allowEdit).split("$targetWidth$").join(r.targetWidth).split("$targetHeight$").join(r.targetHeight)),$(n).html(l),e(l)(n.scope())}}}]).directive("dynamicFile",["$compile","$translate",function(e,t){return{restrict:"A",scope:!0,require:"ngModel",link:function(a,n,o){var l=o.ngRequired&&"true"==o.ngRequired?"required":"",r=t.instant("Home.view.Close"),s=o.ngModel.split("."),d=s[0],c=s[s.length-1],p=_Mathfloor(1e3*Math.random()+20),u=n.html(),m="";o.maxFileSize&&(m=o.maxFileSize);var g=o.fileInfo?`'${o.fileInfo}'`:"undefined",f=" <div ng-show=\"!$ngModel$\" ngf-drop=\"\" ngf-drag-over-class=\"dragover\"> <div class=\"btn action-button-border\" ngf-drop=\"\" ngf-select=\"\" ngf-change=\"cronapi.internal.uploadFile('$ngModel$', $file, 'uploadprogress$number$', $fileInfo$)\" ngf-max-size=\"$maxFileSize$\"> $userHtml$ </div> <div class=\"progress\" data-type=\"bootstrapProgress\" id=\"uploadprogress$number$\" style=\"display:none\"> <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"70\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width:0%\"> <span class=\"sr-only\"></span> </div> </div> </div> <div ng-show=\"$ngModel$\" class=\"upload-image-component-attribute\"> <div aria-label=\"$closeAriaText$\" class=\"button button-assertive\" style=\"float:right;\" ng-if=\"$ngModel$\" ng-click=\"$ngModel$=null\"> <span role=\"img\" alt=\"$closeAriaText$\" class=\"icon ion-android-close\"></span> </div> <div> <div ng-bind-html=\"cronapi.internal.generatePreviewDescriptionByte($ngModel$, $fileInfo$)\"></div> <div aria-label=\"Download\" class=\"button button-positive\" ng-click=\"cronapi.internal.downloadFileEntityMobile($datasource$,'$field$', undefined, $fileInfo$)\">$lblDownload$</div> </div> </div> ";f=$(f.split("$ngModel$").join(o.ngModel).split("$datasource$").join(d).split("$field$").join(c).split("$number$").join(p).split("$required$").join(l).split("$userHtml$").join(u).split("$maxFileSize$").join(m).split("$closeAriaText$").join(r).split("$lblDownload$").join(t.instant("download")).split("$fileInfo$").join(g)),$(n).html(f),e(f)(n.scope())}}}]).directive("pwCheck",[function(){"use strict";return{require:"ngModel",link:function(e,t,a,n){var o="#"+a.pwCheck;t.add(o).on("keyup",function(){e.$apply(function(){var e=t.val()===$(o).val();n.$setValidity("pwmatch",e)})})}}}]).directive("qr",["$window",function(e){return{restrict:"EA",require:"^ngModel",template:"<canvas ng-hide=\"image\"></canvas><img alt=\"qr-code\" ng-if=\"image\" ng-src=\"{{canvasImage}}\"/>",link:function(t,a,n,o){t.size===void 0&&n.size&&(t.text=n.size);var l=function(){return o.$modelValue||""},r=function(e){return /^[0-9]*$/.test(e)},s=function(e){return /^[0-9A-Z $%*+\-./:]*$/.test(e)},d=function(e){for(var t,a=0;a<e.length;a++)if(t=e.charCodeAt(a),255<t)return!1;return!0},c=function(e,t){if("NUMBER"===e&&!r(t))throw new Error("The `NUMBER` input mode is invalid for text.");else if("ALPHA_NUM"===e&&!s(t))throw new Error("The `ALPHA_NUM` input mode is invalid for text.");else if("8bit"===e&&!d(t))throw new Error("The `8bit` input mode is invalid for text.");else if(!d(t))throw new Error("Input mode is invalid for text.");return!0},p=function(e){var a=t.inputMode;return a=a||(r(e)?"NUMBER":void 0),a=a||(s(e)?"ALPHA_NUM":void 0),a=a||(d(e)?"8bit":""),c(a,e)?a:""},u=a.find("canvas")[0],m=!!e.CanvasRenderingContext2D;t.TYPE_NUMBER=function(){return t.typeNumber||0}(),t.TEXT=l(),t.CORRECTION=function(){var e=t.correctionLevel||0;return{L:1,M:0,Q:3,H:2}[e]||0}(),t.SIZE=function(){return t.size||$(a).outerWidth()}(),t.INPUT_MODE=p(t.TEXT),t.canvasImage="";var g=function(e,t,a,n){for(var o=Math.round,l=Math.ceil,r=0;r<a;r++)for(var s=0;s<a;s++){var d=l((s+1)*n)-_Mathfloor(s*n),c=l((r+1)*n)-_Mathfloor(r*n);e.fillStyle=t.isDark(r,s)?"#000":"#fff",e.fillRect(o(s*n),o(r*n),d,c)}},f=function(e,a,n,o,l,r){var s=a.replace(/^\s+|\s+$/g,""),d=new QRCode(n,o,r);d.addData(s),d.make();var c=e.getContext("2d"),p=d.getModuleCount();e.width=e.height=l,m&&(g(c,d,p,l/p),t.canvasImage=e.toDataURL()||"")};t.$watch(function(){return o.$modelValue},function(e,a){(e!==a||e!==t.TEXT)&&(t.text=o.$modelValue,t.TEXT=l(),t.INPUT_MODE=p(t.TEXT),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE))}),f(u,t.TEXT,t.TYPE_NUMBER,t.CORRECTION,t.SIZE,t.INPUT_MODE)}}}]).directive("valid",function(){return{require:"^ngModel",restrict:"A",link:function(e,t,a,n){var o={cpf:CPF,cnpj:CNPJ};n.$validators[a.valid]=function(e,n){var l=e||n,r=o[a.valid].isValid(l);return r?t[0].setCustomValidity(""):t.scope().$applyAsync(function(){t[0].setCustomValidity(t[0].dataset.errorMessage)}),r||!l}}}}).directive("cronappSecurity",function(){return{restrict:"A",link:function(e,t,a){var n=[],o=JSON.parse(localStorage.getItem("_u"));o&&o.roles&&(n=o.roles.toLowerCase().split(","));for(var l,r=parsePermission(a.cronappSecurity),s=!1,d=!1,c=0;c<n.length;c++)l=n[c].trim(),l&&(r.visible[l]&&(s=!0),r.enabled[l]&&(d=!0));s||$(t).hide(),d||$(t).find("*").addBack().attr("disabled",!0)}}}).directive("cronappStars",[function(){"use strict";return{restrict:"A",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)d[t-1].removeClass("ion-android-star-outline"),d[t-1].removeClass("ion-android-star"),t<=e?d[t-1].addClass("ion-android-star"):d[t-1].addClass("ion-android-star-outline");return e}var l=$(t),r=$("<i style=\"font-size: 200%\" class=\"component-holder ion ion-android-star-outline\" style=\"\" xattr-size=\"\" data-component=\"crn-icon\"></i>");l.html("");for(var s,d=[],c=1;5>=c;c++)s=r.clone(),l.append(s),s.attr("idx",c),s.click(function(){e.$apply(function(){n.$viewValue=parseInt($(this).attr("idx")),n.$commitViewValue()}.bind(this))}),d.push(s);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("cronappRating",[function(){"use strict";return{restrict:"E",require:"ngModel",link:function(e,t,a,n){function o(e){for(var t=1;5>=t;t++)c[t-1].removeClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].removeClass(a.iconOn),c[t-1].removeClass(a.theme),t<=e?(c[t-1].addClass(a.iconOn),c[t-1].addClass(a.theme)):(c[t-1].addClass(a.iconOff||"ion ion-android-star-outline"),c[t-1].addClass(a.theme));return e}a.theme=$(t).find("i").attr("xattr-theme"),a.iconOn=$(t).find("i").attr("class");var l=$(t),r=[];a.xattrDefaultValue&&(n.$viewValue=0,n.$commitViewValue());for(var s=1;5>=s;s++)r.push($(t).find("i").get(s-1)),$(r[s-1]).addClass(a.iconOff||"fa fa-star-o");l.html("");for(var d,c=[],s=1;5>=s;s++)d=$(r[s-1]).clone(),l.append(d),d.attr("idx",s),d.click(function(){e.$apply(function(){let e=parseInt($(this).attr("idx"));n.$viewValue=n.$viewValue===e?0:e,n.$commitViewValue()}.bind(this))}),c.push(d);n.$parsers.push(o),n.$formatters.push(o)}}}]).directive("ngInitialValue",["$parse",function(e){return{restrict:"A",require:"ngModel",link:function(t,a,n){if(n.ngInitialValue){var o,l=e(n.ngModel),r=l.assign;try{o=t.$eval(n.ngInitialValue)}catch(t){o=n.ngInitialValue}"checkbox"==a[0].type&&o&&(o="true"==(""+o).toLowerCase()),r(t,o)}}}}]).directive("crnAllowNullValues",[function(){return{restrict:"A",require:"?ngModel",link:function(t,a,e,n){n.$formatters=[],n.$parsers=[];let o=!!e.ngFalseValue&&e.ngFalseValue.split("'").join(""),l=!e.ngTrueValue||e.ngTrueValue.split("'").join("");n.$render=(e=>"true"===e||void 0===e||null===e||0==e.length)(e.crnAllowNullValues)?function(){let e=n.$viewValue;a.data("checked",e),!0===e||e===l?(a.prop("indeterminate",!1),a.prop("checked",!0),e=l):!1===e||e===o?(a.prop("indeterminate",!1),a.prop("checked",!1),e=o):(e=null,a.prop("indeterminate",!0)),setTimeout(()=>n.$setViewValue(e))}:function(){let r=n.$viewValue;if((void 0===n.$viewValue||null===n.$viewValue)&&(n.$setViewValue(!1),r=!1),r===o){let n=e.ngFalseValue?`${a.attr("ng-model")}=${e.ngFalseValue}`:`${a.attr("ng-model")}=${o}`;t.$eval(n)}switch(a.data("checked",r),r){case!0:case l:a.prop("indeterminate",!1),a.prop("checked",!0),r=l;break;default:a.prop("indeterminate",!1),a.prop("checked",!1),r=o;}setTimeout(()=>n.$setViewValue(r))},a.bind("click",function(r){let s;switch(a.data("checked")){case!1:case o:s=!e.ngTrueValue||l;break;default:s=!!e.ngFalseValue&&o;}n.$setViewValue(s),t.$apply(n.$render),r.preventDefault()})}}}]).directive("cronappFilter",["$compile",function($compile){var setFilterInButton=function(e,t){var a=e.closest("div");if(a){var n=a.find("button[cronapp-filter]");if(n){var o=n.data("filters");o||(o=[]);var l=-1,r=e.attr("ng-model");if($(o).each(function(e){this.ngModel==r&&(l=e)}),-1<l&&o.splice(l,1),0<t.length){o.push({ngModel:r,bindedFilter:t})}n.data("filters",o)}}},makeAutoPostSearch=function(e,t,a,n){var o=e.closest("div");if(o&&0<o.length){var l=o.find("button[cronapp-filter]");if(l&&0<l.length){var r=l.data("filters");r&&0<r.length&&(t="",$(r).each(function(){t+=this.bindedFilter+";"}))}}a.search(t,"true"==n.cronappFilterCaseinsensitive)},inputBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasource,filterTemplate="",filtersSplited=attrs.cronappFilter.split(";");if(attrs.crnDatasource)datasource=eval(attrs.crnDatasource);else{var fieldset=$element.closest("div");if(!fieldset)return;var button=fieldset.find("button[cronapp-filter]");if(!button)return;if(!button.attr("crn-datasource"))return;datasource=eval(button.attr("crn-datasource"))}var isOData=datasource.isOData();$(filtersSplited).each(function(){0<this.length&&(""!=filterTemplate&&(isOData?filterTemplate+=" or ":filterTemplate+=";"),isOData?"="==operator&&"text"==typeElement&&""==filterTemplate?filterTemplate="substringof({value.lower}, tolower("+this+"))":"="==operator?filterTemplate+=" substringof({value.lower},tolower("+this+"))":"!="==operator?filterTemplate+=this+" ne {value}":">"==operator?filterTemplate+=this+" gt {value}":">="==operator?filterTemplate+=this+" ge {value}":"<"==operator?filterTemplate+=this+" lt {value}":"<="==operator&&(filterTemplate+=this+" le {value}"):"text"==typeElement?filterTemplate+=this+"@"+operator+"%{value}%":filterTemplate+=this+operator+"{value}")}),0==filterTemplate.length&&(isOData?filterTemplate="{value}":filterTemplate="%{value}%"),ngModelCtrl?scope.$watch(attrs.ngModel,function(e,t){if(!angular.equals(e,t)){var a=$element.data("type")||$element.attr("type"),n=ngModelCtrl.$modelValue;isOData?n instanceof Date?"datetime-local"==a?n="datetimeoffset'"+n.toISOString()+"'":n="datetime'"+n.toISOString().substring(0,23)+"'":"number"==typeof n?n=n:"boolean"==typeof n?n=n:n="'"+n+"'":n instanceof Date?(n=n.toISOString(),n+="date"==a?"@@date":"time"==a||"time-local"==a?"@@time":"@@datetime"):"number"==typeof n?n+="@@number":"boolean"==typeof n&&(n+="@@boolean");var o=filterTemplate.split("{value}").join(n);o="string"==typeof n?o.split("{value.lower}").join(n.toLowerCase()):o.split("{value.lower}").join(n),0==ngModelCtrl.$viewValue.length&&(o=""),setFilterInButton($element,o,operator),autopost&&makeAutoPostSearch($element,o,datasource,attrs)}}):"text"==typeElement?$element.on("keyup",function(){var datasource=eval(attrs.crnDatasource),value=void 0;value=ngModelCtrl&&null!=ngModelCtrl?ngModelCtrl.$viewValue:this.value;var bindedFilter=filterTemplate.split("{value}").join(value);0==this.value.length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)}):$element.on("change",function(){var datasource=eval(attrs.crnDatasource),value=void 0,typeElement=$(this).attr("type");if(null!=attrs.asDate&&(typeElement="date"),ngModelCtrl&&null!=ngModelCtrl)value=ngModelCtrl.$viewValue;else if("checkbox"==typeElement)value=$(this).is(":checked");else if("date"!=typeElement)value=this.value;else if(value=this.value,0<this.value.length){var momentDate=moment(this.value,patternFormat(this));value=momentDate.toDate().toISOString()}var bindedFilter=filterTemplate.split("{value}").join(value);0==value.toString().length&&(bindedFilter=""),setFilterInButton($element,bindedFilter,operator),autopost&&makeAutoPostSearch($element,bindedFilter,datasource,attrs)})},forceDisableDatasource=function(datasourceName,scope){var disableDatasource=setInterval(function(){try{var datasourceInstance=eval(datasourceName);datasourceInstance&&($(document).ready(function(){var e=0,t=setInterval(function(){10>e?(scope.$apply(function(){datasourceInstance.enabled=!1,datasourceInstance.data=[]}),e++):clearInterval(t)},20)}),clearInterval(disableDatasource))}catch(t){}},10)},buttonBehavior=function(scope,element,attrs,ngModelCtrl,$element,typeElement,operator,autopost){var datasourceName="";datasourceName=attrs.crnDatasource?attrs.crnDatasource:$element.parent().attr("crn-datasource");var datasource=eval(datasourceName),isOData=datasource.isOData(),requiredFilter=attrs.requiredFilter&&"true"==attrs.requiredFilter.toString();requiredFilter&&this.forceDisableDatasource(datasourceName,scope),$element.on("click",function(){var $this=$(this),filters=$this.data("filters");if(datasourceName&&0<datasourceName.length&&filters){var bindedFilter="";$(filters).each(function(){""!=bindedFilter&&(bindedFilter+=isOData?" and ":";"),bindedFilter+=this.bindedFilter});var datasourceToFilter=eval(datasourceName);requiredFilter?(datasourceToFilter.enabled=0<bindedFilter.length,datasourceToFilter.enabled?datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive):scope.$apply(function(){datasourceToFilter.data=[]})):datasourceToFilter.search(bindedFilter,"true"==attrs.cronappFilterCaseinsensitive)}})};return{restrict:"A",require:"?ngModel",link:function(e,t,a,n){var o=$(t),l=o.data("type")||o.attr("type");a.asDate!=null&&(l="date");var r="=";a.cronappFilterOperator&&0<a.cronappFilterOperator.length&&(r=a.cronappFilterOperator);var s=!0;a.cronappFilterAutopost&&"false"==a.cronappFilterAutopost&&(s=!1),setTimeout(function(){"INPUT"==o[0].tagName?inputBehavior(e,t,a,n,o,l,r,s):buttonBehavior(e,t,a,n,o,l,r,s)},100)}}}]).directive("cronList",["$compile","$parse",function($compile,$parse){"use strict";const defaultAdvancedTemplate=`<ion-list type="" can-swipe="listCanSwipe">
2
2
  <ion-item ng-class="{'cron-list-selected' : isChecked(rowData)}" class="item {{options.editableButtonClass}} {{options.iconClassPosition}} {{options.imageClassPosition}}" ng-repeat="rowData in datasource">
3
3
  <ul ng-if="options.allowMultiselect" class="checkbox-group component-holder {{'cron-list-multiselect-' + options.imageType}}" data-component="crn-checkbox"><label class="checkbox"><input ng-checked="isChecked(rowData);" type="checkbox"></label></ul>
4
4
  <img alt='Thumbnail' ng-if="options.imageType !== 'do-not-show' && rowData[options.fields.image]"
@@ -14,4 +14,4 @@ maskDirectiveAsDate.$inject=["$compile","$translate","$parse"],maskDirectiveMask
14
14
  </div>
15
15
  </ion-item>
16
16
  </ion-list>
17
- <ion-infinite-scroll></ion-infinite-scroll>`,defaultSearchTemplate="<div class=\"item item-input-inset\">\n <div class=\"item-input-wrapper\">\n <i class=\"icon ion-search placeholder-icon\"></i>\n <input aria-label=\"{{'template.crud.search' | translate}}\" type=\"text\" ng-model=\"vars.searchableList[options.randomModel]\" cronapp-filter=\"{{options.filterFields}}\" cronapp-filter-operator=\"\" cronapp-filter-caseinsensitive=\"false\"\n cronapp-filter-autopost=\"true\" crn-datasource=\"{{options.dataSourceScreen.name}}\" placeholder=\"{{'template.crud.search' | translate}}\">\n </div>\n <button ng-if=\"showButton()\" ng-click=\"limparSelecao()\"\n class=\"button-small cron-list-button-clean button button-inline button-positive component-holder\">\n <span cron-list-button-text>Limpar Sele\xE7\xE3o</span></button>\n</div>";var getExpression=function(e){return"rowData in ".concat(e).concat(".data")},buildFormat=function(e){var t="";return t=" | mask: \""+e.type+"\"",e.format&&(t=" | mask: \""+e.format+"\":\""+e.type+"\""),t},getEditCommand=function(e){return e+".startEditing(rowData)"},getCronappSecurity=function(e){return e.security?`cronapp-security="${e.security}"`:""},addDefaultButton=function(e,t){const a="<ion-option-button "+getCronappSecurity(t)+" class=\"button-positive ion-edit button-edit\" ng-click=\""+getEditCommand(e)+"\"><span>&nbsp;{{\"Permission.view.Edit\" | translate}}</span></ion-option-button>",n="<ion-option-button "+getCronappSecurity(t)+" class=\"button-assertive ion-trash-a button-delete\" ng-click=\""+e+".remove(rowData)\"><span>&nbsp;{{\"Permission.view.Remove\" | translate}}</span></ion-option-button>";if("edit|destroy"==t.command)return a.concat(n);return"edit"==t.command?a:"destroy"==t.command?n:void 0},encodeHTML=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},generateBlocklyCall=function(e){var t;if("client"==e.type){var a=e.blocklyClass.split("/"),n=a[a.length-1];t="blockly.js.blockly."+n,t+="."+e.blocklyMethod;var o="()";0<e.blocklyParams.length&&(o="(",e.blocklyParams.forEach(function(e){o+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),o=o.substr(0,o.length-1),o+=")"),t+=o}else if("server"==e.type){var n=e.blocklyClass+":"+e.blocklyMethod;t="cronapi.util.makeCallServerBlocklyAsync('"+n+"',null,null,",0<e.blocklyParams.length&&e.blocklyParams.forEach(function(e){t+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),t=t.substr(0,t.length-1),t+=")"}return t},addBlockly=function(e){return"<ion-option-button class=\"button-dark "+getCronappSecurity(e)+" ion-navigate\" ng-click=\""+generateBlocklyCall(e.blocklyInfo)+"\"></ion-option-button>"},isImage=function(e,t){for(var a,n=0;n<t.length;n++)if(a=t[n],e==a.name)return"Binary"==a.type;return!1},addCustomButton=function(e){return`<ion-option-button ${getCronappSecurity(e)} class="button-dark ${e.iconClass}" ng-click="listButtonClick($index, rowData, '${window.stringToJs(e.execute)}', $event)">${e.label}</ion-option-button> `};return{restrict:"E",require:"?ngModel",scope:!0,priority:9999998,terminal:!0,link:function(scope,element,attrs,ngModelCtrl){scope.hasValue=e=>null!==e&&e!==void 0;var optionsList={},dataSourceName="",buttons="";try{optionsList=JSON.parse(attrs.options),dataSourceName=optionsList.dataSourceScreen.name;var dataSource=eval(optionsList.dataSourceScreen.name),imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",checkboxTemplate="",modelArrayToInsert=[],isKey=!1;if(scope.options=optionsList,attrs.ngModel){var modelGetter=$parse(attrs.ngModel),modelSetter=modelGetter.assign;optionsList.allowMultiselect?(scope.verifyIsKey=function(e){return isKey=!1,optionsList.fieldType&&"key"===optionsList.fieldType&&(e=this.changeRowDataField(e),isKey=!0),e},scope.limparSelecao=function(){modelSetter(scope,[])},scope.isChecked=function(e){let t=!1;return modelArrayToInsert=modelGetter(scope),e=scope.verifyIsKey(e),t=scope.hasObjectChecked(isKey,e,null,event),scope.isSelected=t,t},scope.hasObjectChecked=function(e,t){let a=!1;return Array.isArray(modelArrayToInsert)&&(e&&"object"!=typeof t?modelArrayToInsert.forEach(e=>{t===e&&(a=!0)}):modelArrayToInsert.forEach(e=>{dataSource.objectIsEquals(t,e)&&(a=!0)})),a},scope.checkboxButtonClick=function(e,t,a,n){let o=!1,l=$(n.currentTarget),r=l.find("input[type=checkbox]:checked").length;modelArrayToInsert=modelGetter(scope),Array.isArray(modelArrayToInsert)||(modelArrayToInsert=[]),$(n.target).is("input[type=checkbox]")||a||(0<r?l.find("input[type=checkbox]").prop("checked",!1):l.find("input[type=checkbox]").prop("checked",!0));let s=$(n.currentTarget).find("input[type=checkbox]");t=scope.verifyIsKey(t),$(s).is(":checked")?(o=scope.hasObjectChecked(isKey,t,a,n),!o&&modelArrayToInsert.push(t)):isKey&&"object"!=typeof t?modelArrayToInsert.forEach((e,a)=>{t===e&&modelArrayToInsert.splice(a,1)}):modelArrayToInsert.forEach((e,a)=>{dataSource.objectIsEquals(t,e)&&modelArrayToInsert.splice(a,1)}),modelSetter(scope,modelArrayToInsert),n.stopPropagation()}):scope.setRowDataModel=function(e,t){optionsList.fieldType&&"key"===optionsList.fieldType&&(t=this.changeRowDataField(t)),modelSetter(scope,t)},scope.changeRowDataField=function(e){e=dataSource.getKeyValues(e);var t=Object.keys(e);return 1===t.length&&(e=e[t]),e}}scope.listButtonClick=function(e,t,a,n){if("INPUT"!=n.target.tagName){dataSource.goTo(t);var o={currentData:dataSource.data,datasource:dataSource,selectedIndex:e,index:e,selectedRow:t,consolidated:{item:t,index:e},item:t,selectedKeys:dataSource.getKeyValues(dataSource.active,!0)};scope.$eval(a,o),n.preventDefault(),n.stopPropagation()}};var searchableField=null,isNativeEdit=!1,addedImage=!1;scope.options=optionsList,scope.options.fields={},scope.options.isImageFromDropbox=!1,scope.options.editableButtonClass="",scope.options.itemContentClass="",scope.options.itemSimple="",scope.options.filterFields="",scope.options.randomModel=_Mathfloor(9e3*Math.random())+1e3,optionsList.imagePosition||(scope.options.imagePosition="left"),optionsList.iconPosition||(scope.options.iconPosition="right"),optionsList.imageType||(scope.options.imageType="avatar");for(var column,imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",visibleColumns=[],i=0;i<optionsList.columns.length;i++)column=optionsList.columns[i],column.visible&&visibleColumns.push(optionsList.columns[i]);for(var column,i=0;i<visibleColumns.length;i++)column=visibleColumns[i],column.field&&"Database"==column.dataType?(scope.options.fields["security"+i]=column.security,scope.options.fields["field"+i]=column.field,scope.options.fields["type"+i]=column.type,scope.options.fields["mask"+i]=column.format,!addedImage&&isImage(column.field,optionsList.dataSourceScreen.entityDataSource.schemaFields)&&"do-not-show"!==optionsList.imageType?(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!1):addedImage||"image"!=column.type?column.filterable&&(searchableField=null==searchableField?column.field:searchableField+";"+column.field):(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!0)):("Command"==column.dataType||"Blockly"==column.dataType||"Customized"==column.dataType)&&(scope.options.editableButtonClass="item-complex item-right-editable","Command"==column.dataType?(scope.options.fields["field"+i]=column.field,buttons=buttons.concat(addDefaultButton(dataSourceName,column)),("edit"==column.command||"edit|destroy"==column.command)&&(isNativeEdit=!0)):"Blockly"==column.dataType?buttons=buttons.concat(addBlockly(column)):"Customized"==column.dataType&&(buttons=buttons.concat(addCustomButton(column))))}catch(e){console.log("CronList invalid configuration! "+e)}scope.options.editableButtonClass||addedImage?!scope.options.editableButtonClass&&addedImage&&(scope.options.itemContentClass="item-content",scope.options.editableButtonClass="item-complex",scope.options.itemSimple=""):(scope.options.itemContentClass="item-content",scope.options.itemSimple="item-simple"),scope.options.fields.image&&"do-not-show"!=scope.options.imageType&&(scope.options.imageClassPosition="item-"+scope.options.imageType+"-"+scope.options.imagePosition),addedImage||(scope.options.imageType="do-not-show"),scope.options.icon&&scope.options.iconPosition&&scope.options.imageType&&(scope.options.iconClassPosition="item-icon-"+scope.options.iconPosition),bothDirection&&scope.options.icon&&scope.options.imagePosition&&scope.options.imageType&&(scope.options.imageToClassPosition="image-to-"+scope.options.imagePosition+"-"+scope.options.imageType,scope.options.textToClassPosition="text-to-"+scope.options.iconPosition+"-"+scope.options.imageType),scope.options.advancedTemplate||(scope.options.advancedTemplate=defaultAdvancedTemplate),scope.options.searchTemplate||(scope.options.searchTemplate=defaultSearchTemplate);var templateDyn=null;searchableField?(scope.options.filterFields=searchableField,templateDyn=scope.options.searchTemplate+scope.options.advancedTemplate):templateDyn=scope.options.advancedTemplate;for(let e,t=0;t<visibleColumns.length;t++)if(e=visibleColumns[t],e.field&&"Database"===e.dataType&&scope.options.fields[`security${t}`]){let e=`ng-if="rowData[options.fields.field${t}]"`,a=`${e} cronapp-security="${scope.options.fields["security"+t]}"`;templateDyn=templateDyn.replace(e,a)}templateDyn=$(templateDyn),scope.options.xattrTextPosition=attrs.xattrTextPosition,templateDyn.attr("type",optionsList.listType),$(element).replaceWith(templateDyn);var $element=templateDyn,ionItem=$element.find("ion-item");"rowData in datasource"===$(ionItem).attr("ng-repeat")&&ionItem.attr("ng-repeat",getExpression(dataSourceName)),isNativeEdit&&ionItem.attr("ng-click",getEditCommand(dataSourceName));var ngClickAttrTemplate="",ngClickAttrTemplateCheckbox="";optionsList.allowMultiselect?(attrs.ngModel&&(ngClickAttrTemplateCheckbox="checkboxButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),checkboxTemplate=$element.find("ul"),attrs.ngClick&&(checkboxTemplate=$(checkboxTemplate).attr("ng-click",ngClickAttrTemplateCheckbox).get(0).outerHTML,ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplateCheckbox+ngClickAttrTemplate)):(attrs.ngModel&&(ngClickAttrTemplate="setRowDataModel($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),attrs.ngClick&&(ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplate));const attrsExcludeds=["options","ng-repeat","ng-click"],filteredItems=Object.values(attrs.$attr).filter(function(e){return!attrsExcludeds.includes(e)});for(let e in filteredItems)ionItem.attr(filteredItems[e],attrs[e]);ionItem.append(buttons);var firstScroll=!0;scope.nextPageInfinite=function(){return $element.find("ion-item").length<dataSource.data.length||0==dataSource.data.length?void scope.$broadcast("scroll.infiniteScrollComplete"):void($element.find("ion-item").length==dataSource.data.length&&(firstScroll?(scope.$broadcast("scroll.infiniteScrollComplete"),firstScroll=!1):dataSource.nextPage(function(){scope.$broadcast("scroll.infiniteScrollComplete")})))};var infiniteScroll=$element.filter(function(){return $(this).is("ion-infinite-scroll")});infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),scope.showButton=function(){if(optionsList.allowMultiselect){var e=modelGetter(scope);if(null!==e&&e!==void 0)return 0<e.length}return!1},$compile(templateDyn,null,9999998)(scope)}}}]).directive("cronInfiniteScroll",["$compile",function($compile){'use strict';return{restrict:"EA",link:function(scope,element,attrs){var dataSource=attrs.cronInfiniteScroll?eval(attrs.cronInfiniteScroll):attrs.crnDatasource?eval(attrs.crnDatasource):void 0;if(dataSource){scope.nextPageInfinite=function(){dataSource.nextPage(),scope.$broadcast("scroll.infiniteScrollComplete")};var templateDyn=$("<ion-infinite-scroll></ion-infinite-scroll>");$(element).html(templateDyn);var infiniteScroll=$(element).find("ion-infinite-scroll");infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),$compile(templateDyn)(element.scope())}}}}]).filter("raw",["$translate",function(){return function(e){if(null!=e&&e!==void 0){if("number"==typeof e)return e+"";if("boolean"==typeof e)return e+"";if(e instanceof Date)"datetimeoffset'"+e.toISOString()+"'";else return 10<=e.length&&e.match(ISO_PATTERN)?"datetimeoffset'"+e+"'":"'"+e.replaceAll("'","''")+"'"}else return""}}]).directive("xkeyField",["$compile",function(e){'use strict';return{restrict:"A",link:function(t,a,n){if(n.xkeyField&&n.xdisplayField){var o="";n.crnDatasource&&(o=n.crnDatasource),a.removeAttr("xkey-field"),a.removeAttr("xdisplay-field"),a.append("<option ng-repeat=\"opt in "+o+".data\" value=\"{{opt."+n.xkeyField+"}}\">{{opt."+n.xdisplayField+"}}</option>"),e($(a))(t)}}}}]).directive("cronMobileMenu",["$compile","$translate",function(e,t){'use strict';var a=function(e){var a="";return e&&null!=e&&e.subMenuOptions&&null!=e.subMenuOptions&&Array.isArray(e.subMenuOptions)&&e.subMenuOptions.forEach(function(e){var n=e.security&&null!=e.security?" cronapp-security=\""+e.security+"\" ":"",o=e.action&&null!=e.action?" ng-click=\""+e.action+"\" ":"",l=e.hide&&null!=e.hide?" ng-hide=\""+e.hide+"\" ":"",r=e.iconClass&&null!=e.iconClass?e.iconClass:"",s=e.imagePosition&&null!=e.imagePosition?"item-icon-"+e.imagePosition:"",d=e.textPosition&&null!=e.textPosition?"text-"+e.textPosition:"",c=e.contentTheme&&null!=e.contentTheme?e.contentTheme:"",p=e.iconTheme&&null!=e.iconTheme?e.iconTheme:"",u=t.instant(e.title);a=a+" <a menu-close=\"\" class=\"item "+s+"\" "+o+n+l+"> <i class=\""+r+" "+p+"\" style=\"font-size: 150%\"></i> <div class=\"item-content "+d+"\"> <h2 class=\""+c+"\">"+u+"</h2> </div> </a> "}),a};return{restrict:"EA",link:function(t,n,o){var l={};try{l=JSON.parse(o.options)}catch(t){console.log("CronMobileMenu: Invalid configuration!")}var r=$("<ul class=\"nav navbar-nav\" style=\"float:none\"></ul>"),s=a(l);r.append(s);var d=angular.element(r);n.html(""),n.append(r),n.attr("id",null),e(d)(t)}}}]).directive("srcLazy",["$compile",function(){'use strict';return{restrict:"A",link:function(e,t,a){var n=$(t);setTimeout(function(){return n.is(":appeared")?void t.attr("src",a.srcLazy):void(a.srcLazyPreview?n.attr("src",a.srcLazyPreview):n.css("visibility","hidden"),n.appear(),n.on("appear",function(){n.attr("src-lazy")&&(!a.srcLazyPreview&&n.css("visibility","visible"),console.log(a.srcLazy),n.attr("src",a.srcLazy),n.attr("src-lazy",""))}))},100),e.$on("$destroy",function(){n.appearStop()})}}}]).directive("cronMap",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronMap")[0];e(o)(a.scope());var l=a.find(".cronMapIframe")[0];e(l)(a.scope());var r="",s=n.src,d=n.width,c=n.height;r=`<iframe class="cronMapIframe" src="${s}" width="${d}" height="${c}" style="border:0;" allowfullscreen="" loading="lazy"></iframe>`,a.html(r),e(r)(a.scope())}}}]).directive("cronVideo",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronVideo")[0];e(o)(a.scope());var l=a.find(".cronVideoIframe")[0];e(l)(a.scope());var r="",s=n.src,d=n.width,c=n.height,p=n.title;r=`<iframe class="cronVideoIframe" src="${s}" width="${d}" height="${c}" title="${p}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> </iframe>`,a.html(r),e(r)(a.scope())}}}]),app.directive("kendoChat",["$compile","$timeout",function(e,t){return{restrict:"E",link:function(e,a,n){function o(){let e=$(".k-chat");e.height($(window).height()-e.offset().top)}let l=n.ngOnPostMessage,r=n.ngOnSendMessage,s=n.ngOnTypingEnd,d=n.ngOnTypingStart,c=n.ngOnActionClick,p=n.chatUserId,u=n.chatUsername,m=n.chatUserImage,g=n.chatPlaceholder,f=localStorage.getItem("_u")===void 0?null:JSON.parse(localStorage.getItem("_u")),h=window.navigator.userAgent,v="";f&&f.user&&(v=f.user.name);let y=$("<div></div>");y.kendoChat({messages:{placeholder:g},user:{id:p||h,name:u||v,iconUrl:m}}),chat=y.data("kendoChat"),chat.bind("post",t=>{if(l)try{e.$eval(l,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("sendMessage",t=>{if(r)try{e.$eval(r,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingStart",t=>{if(d)try{e.$eval(d,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingEnd",t=>{if(s)try{e.$eval(s,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("actionClick",t=>{if(c)try{e.$eval(c,{chatMessage:t})}catch(t){console.error(t)}}),a.empty().append(y),$(window).resize(()=>{o()}),t(()=>{o()})}}}])}(app),function(e){function t(){return e(this).is(":appeared")}function a(){return!e(this).data("_appear_triggered")}function n(){r=!1;for(var n,o=0,s=l.length;o<s;o++){if(n=e(l[o]).filter(t),n.filter(a).data("_appear_triggered",!0).trigger("appear",[n]),c[o]){var d=c[o].not(n);d.data("_appear_triggered",!1).trigger("disappear",[d])}c[o]=n}}function o(e){l.push(e),c.push()}var l=[],r=!1,s={interval:250,force_process:!1},d=e(window),c=[];e.expr.pseudos.appeared=e.expr.createPseudo(function(){return function(t){var a=e(t),n=d.scrollLeft(),o=d.scrollTop(),l=a.offset(),r=l.left,s=l.top;return!!(s+a.height()>=o&&s-(a.data("appear-top-offset")||0)<=o+d.height()&&r+a.width()>=n&&r-(a.data("appear-left-offset")||0)<=n+d.width())}}),e.fn.extend({appear:function(t,a){return e.appear(this,a),this}}),e.fn.extend({appearStop:function(t,a){return e.appearStop(this,a),this}}),e.extend({appearStop:function(e){var t=-1;for(i=0;i<l.length;i++)if(l[i].get(0)==e.get(0)){t=i;break}-1!=t&&l.splice(t)},appear:function(t,a){var l=e.extend({},s,a||{}),d=e("ion-content");if(d.length){if(!d.get(0).checkBinded){var c=function(){r||(r=!0,setTimeout(n,l.interval))};d.scroll(c).resize(c),d.get(0).checkBinded=!0}l.force_process&&setTimeout(n,l.interval),o(t)}}})}(function(){return"undefined"==typeof module?jQuery:require("jquery")}());function maskDirectiveAsDate(e,t,a){return maskDirective(e,t,"as-date",a)}function maskDirectiveMask(e,t,a){return maskDirective(e,t,"mask",a)}function maskDirective(e,t,a,n){return{restrict:"A",require:"?ngModel",link:function(e,o,l,r){var s=n(l.ngModel),d=s.assign;if("as-date"!=a||void 0===l.mask){var c=$(o),p=c.attr("type");if("checkbox"!=p&&"password"!=p){c.data("type",p),c.attr("type","text"),r&&(r.$formatters=[],r.$parsers=[]),void 0!==l.asDate&&"text"==p&&(p="date");var u=!0,m=!1,g=l.mask||l.format;g=g?parseMaskType(g,t):parseMaskType(p,t),g.endsWith(";0")&&(m=!0);var f=g.replace(";1","").replace(";0","").replace(";local","").trim(),h=l.keyboard,v=t.instant("keyboardDecimalChar")&&1==t.instant("keyboardDecimalChar").length?t.instant("keyboardDecimalChar"):",";if(h&&parseKeyboardType(h,v,c),null!=f&&0!=f.length){if("date"==p||"datetime"==p||"datetime-local"==p||"month"==p||"time"==p||"time-local"==p||"week"==p){var y="date"==p||"datetime"==p||"time"==p;window.fixedTimeZone||(y=!1),"date"==p?(f=moment.HTML5_FMT.DATE,c.attr("type","date")):"month"==p?(f=moment.HTML5_FMT.MONTH,c.attr("type","month")):"week"==p?(f=moment.HTML5_FMT.WEEK,c.attr("type","week")):"datetime"==p||"datetime-local"==p?(f=moment.HTML5_FMT.DATETIME_LOCAL,c.attr("type","datetime-local")):("time"==p||"time-local"==p)&&(f=moment.HTML5_FMT.TIME,c.attr("type","time")),r&&(r.$formatters.push(function(e){return e?y?moment(e).utcOffset(window.timeZoneOffset).format(f):moment(e).format(f):null}),r.$parsers.push(function(e){return e?y?moment(e,f).utcOffset(window.timeZoneOffset,!0).toDate():moment(e,f).toDate():new Date(e)}))}else if("number"==p||"money"==p||"integer"==p||"money-decimal"==p){m=!0,u=!1;var b=f.trim().replace(/\./g,"").replace(/\,/g,"").replace(/#/g,"").replace(/0/g,"").replace(/9/g,"");h||("integer"==p||"money-decimal"==p?h="integer":h="number");var k="",x="",M="",T=",",w=0;f.startsWith(b)?k=b:f.endsWith(b)&&(x=b);var C=f.trim().replace(k,"").replace(x,"").trim();C.startsWith("#.")?M=".":C.startsWith("#,")&&(M=",");var D=null;if(-1==C.indexOf(",0")?-1!=C.indexOf(".0")&&(T=".",D=".0"):(T=",",D=",0"),null!=D){var P=C.substring(C.indexOf(D)+1);w=P.length}var F="numeric";0==w&&(F="integer");var I={rightAlign:"money"==p||"money-decimal"==p,unmaskAsNumber:!0,allowMinus:"money"!=p&&"money-decimal"!=p,prefix:k,suffix:x,radixPoint:T,digits:w,numericInput:"money-decimal"==p};M&&(I.autoGroup=!0,I.groupSeparator=M),"money-decimal"==p&&(F="currency"),$(o).inputmask(F,I),useInputMaskPlugin(o,r,e,d,f)}else"text"==p||"tel"==p?(h||"tel"!=p||(h="tel"),l.maskPlaceholder?(options={},options.placeholder=l.maskPlaceholder,$(o).inputmask(f,options),$(o).off("keypress"),m&&useInputMaskPlugin(o,r,e,d,f)):(c.mask(f),useMaskPlugin(o,r,e,d,m))):("email"==p||"password"==p||"search"==p)&&(h||(h=p));h&&parseKeyboardType(h,v,c)}}}}}}function useInputMaskPlugin(e,t,a,n,o){var l=$(e);$(e).off("keypress"),$(e).on("keyup",function(){var t=$(this).inputmask("unmaskedvalue");$(this).data("rawvalue",t),e._ignoreFormatter=!0,a.safeApply(function(){n(a,t)})}),t&&(t.$formatters.push(function(t){return e._ignoreFormatter?(e._ignoreFormatter=!1,$(e).val()):(e._ignoreFormatter=!1,null!=t&&null!=t&&""!==t?format(o,t):null)}),t.$parsers.push(function(e){if(e!=null&&null!=e&&""!==e){var t=l.inputmask("unmaskedvalue");if(""!==t)return t}return null}))}function useMaskPlugin(e,t,a,n,o){var l=$(e),r=function(){o&&$(this).data("rawvalue",$(this).cleanVal())};$(e).on("keydown",r).on("keyup",r),o&&t&&(t.$formatters.push(function(e){return e?l.masked(e):null}),t.$parsers.push(function(e){return e?l.cleanVal():null}))}function parseKeyboardType(e,t,a){("integer"==e||"number"==e||"tel"==e)&&(a.attr("pattern","\\d*"),a.attr("inputmode","decimal")),("tel"==e||"email"==e||"search"==e||"password"==e)&&a.attr("type",e),"ios"===cordova.platformId&&"number"==e&&(a.attr("decimal","true"),a.attr("allow-multiple-decimals","true"),a.attr("decimal-char",t))}function parseMaskType(e,t){return"datetime"==e||"datetime-local"==e?(e=t.instant("Format.DateTime"),"Format.DateTime"==e&&(e="DD/MM/YYYY HH:mm:ss")):"date"==e?(e=t.instant("Format.Date"),"Format.Date"==e&&(e="DD/MM/YYYY")):"time"==e||"time-local"==e?(e=t.instant("Format.Hour"),"Format.Hour"==e&&(e="HH:mm:ss")):"month"==e?e="MMMM":"number"==e?(e=t.instant("Format.Decimal"),"Format.Decimal"==e&&(e="0,00")):"money"==e||"money-decimal"==e?(e=t.instant("Format.Money"),"Format.Money"==e&&(e="#.#00,00")):"integer"==e?e="0":"week"==e?e="dddd":"tel"==e?e="(99) 99999-9999;0":"text"==e?e="":"string"==e&&(e=""),e}function transformText(){return{restrict:"E",require:"?ngModel",link:function(e,t,a,n){let o=function(e,t){if(e&&t&&("string"==typeof t||t instanceof String)){if("uppercase"===e.css("text-transform"))return t.toUpperCase();if("lowercase"===e.css("text-transform"))return t.toLowerCase()}return t};n&&(n.$formatters.push(function(e){return o(t,e)}),n.$parsers.push(function(e){return o(t,e)}))}}}
17
+ <ion-infinite-scroll></ion-infinite-scroll>`,defaultSearchTemplate="<div class=\"item item-input-inset\">\n <div class=\"item-input-wrapper\">\n <i class=\"icon ion-search placeholder-icon\"></i>\n <input aria-label=\"{{'template.crud.search' | translate}}\" type=\"text\" ng-model=\"vars.searchableList[options.randomModel]\" cronapp-filter=\"{{options.filterFields}}\" cronapp-filter-operator=\"\" cronapp-filter-caseinsensitive=\"false\"\n cronapp-filter-autopost=\"true\" crn-datasource=\"{{options.dataSourceScreen.name}}\" placeholder=\"{{'template.crud.search' | translate}}\">\n </div>\n <button ng-if=\"showButton()\" ng-click=\"limparSelecao()\"\n class=\"button-small cron-list-button-clean button button-inline button-positive component-holder\">\n <span cron-list-button-text>Limpar Sele\xE7\xE3o</span></button>\n</div>";var getExpression=function(e){return"rowData in ".concat(e).concat(".data")},buildFormat=function(e){var t="";return t=" | mask: \""+e.type+"\"",e.format&&(t=" | mask: \""+e.format+"\":\""+e.type+"\""),t},getEditCommand=function(e){return e+".startEditing(rowData)"},getCronappSecurity=function(e){return e.security?`cronapp-security="${e.security}"`:""},addDefaultButton=function(e,t){const a="<ion-option-button "+getCronappSecurity(t)+" class=\"button-positive ion-edit button-edit\" ng-click=\""+getEditCommand(e)+"\"><span>&nbsp;{{\"Permission.view.Edit\" | translate}}</span></ion-option-button>",n="<ion-option-button "+getCronappSecurity(t)+" class=\"button-assertive ion-trash-a button-delete\" ng-click=\""+e+".remove(rowData)\"><span>&nbsp;{{\"Permission.view.Remove\" | translate}}</span></ion-option-button>";if("edit|destroy"==t.command)return a.concat(n);return"edit"==t.command?a:"destroy"==t.command?n:void 0},encodeHTML=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},generateBlocklyCall=function(e){var t;if("client"==e.type){var a=e.blocklyClass.split("/"),n=a[a.length-1];t="blockly.js.blockly."+n,t+="."+e.blocklyMethod;var o="()";0<e.blocklyParams.length&&(o="(",e.blocklyParams.forEach(function(e){o+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),o=o.substr(0,o.length-1),o+=")"),t+=o}else if("server"==e.type){var n=e.blocklyClass+":"+e.blocklyMethod;t="cronapi.util.makeCallServerBlocklyAsync('"+n+"',null,null,",0<e.blocklyParams.length&&e.blocklyParams.forEach(function(e){t+=(e.value?encodeHTML(e.value):"''")+","}.bind(this)),t=t.substr(0,t.length-1),t+=")"}return t},addBlockly=function(e){return"<ion-option-button class=\"button-dark "+getCronappSecurity(e)+" ion-navigate\" ng-click=\""+generateBlocklyCall(e.blocklyInfo)+"\"></ion-option-button>"},isImage=function(e,t){for(var a,n=0;n<t.length;n++)if(a=t[n],e==a.name)return"Binary"==a.type;return!1},addCustomButton=function(e){return`<ion-option-button ${getCronappSecurity(e)} class="button-dark ${e.iconClass}" ng-click="listButtonClick($index, rowData, '${window.stringToJs(e.execute)}', $event)">${e.label}</ion-option-button> `};return{restrict:"E",require:"?ngModel",scope:!0,priority:9999998,terminal:!0,link:function(scope,element,attrs,ngModelCtrl){scope.hasValue=e=>null!==e&&e!==void 0;var optionsList={},dataSourceName="",buttons="";try{optionsList=JSON.parse(attrs.options),dataSourceName=optionsList.dataSourceScreen.name;var dataSource=eval(optionsList.dataSourceScreen.name),imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",checkboxTemplate="",modelArrayToInsert=[],isKey=!1;if(scope.options=optionsList,attrs.ngModel){var modelGetter=$parse(attrs.ngModel),modelSetter=modelGetter.assign;optionsList.allowMultiselect?(scope.verifyIsKey=function(e){return isKey=!1,optionsList.fieldType&&"key"===optionsList.fieldType&&(e=this.changeRowDataField(e),isKey=!0),e},scope.limparSelecao=function(){modelSetter(scope,[])},scope.isChecked=function(e){let t=!1;return modelArrayToInsert=modelGetter(scope),e=scope.verifyIsKey(e),t=scope.hasObjectChecked(isKey,e,null,event),scope.isSelected=t,t},scope.hasObjectChecked=function(e,t){let a=!1;return Array.isArray(modelArrayToInsert)&&(e&&"object"!=typeof t?modelArrayToInsert.forEach(e=>{t===e&&(a=!0)}):modelArrayToInsert.forEach(e=>{dataSource.objectIsEquals(t,e)&&(a=!0)})),a},scope.checkboxButtonClick=function(e,t,a,n){let o=!1,l=$(n.currentTarget),r=l.find("input[type=checkbox]:checked").length;modelArrayToInsert=modelGetter(scope),Array.isArray(modelArrayToInsert)||(modelArrayToInsert=[]),$(n.target).is("input[type=checkbox]")||a||(0<r?l.find("input[type=checkbox]").prop("checked",!1):l.find("input[type=checkbox]").prop("checked",!0));let s=$(n.currentTarget).find("input[type=checkbox]");t=scope.verifyIsKey(t),$(s).is(":checked")?(o=scope.hasObjectChecked(isKey,t,a,n),!o&&modelArrayToInsert.push(t)):isKey&&"object"!=typeof t?modelArrayToInsert.forEach((e,a)=>{t===e&&modelArrayToInsert.splice(a,1)}):modelArrayToInsert.forEach((e,a)=>{dataSource.objectIsEquals(t,e)&&modelArrayToInsert.splice(a,1)}),modelSetter(scope,modelArrayToInsert),n.stopPropagation()}):scope.setRowDataModel=function(e,t){optionsList.fieldType&&"key"===optionsList.fieldType&&(t=this.changeRowDataField(t)),modelSetter(scope,t)},scope.changeRowDataField=function(e){e=dataSource.getKeyValues(e);var t=Object.keys(e);return 1===t.length&&(e=e[t]),e}}scope.listButtonClick=function(e,t,a,n){if("INPUT"!=n.target.tagName){dataSource.goTo(t);var o={currentData:dataSource.data,datasource:dataSource,selectedIndex:e,index:e,selectedRow:t,consolidated:{item:t,index:e},item:t,selectedKeys:dataSource.getKeyValues(dataSource.active,!0)};scope.$eval(a,o),n.preventDefault(),n.stopPropagation()}};var searchableField=null,isNativeEdit=!1,addedImage=!1;scope.options=optionsList,scope.options.fields={},scope.options.isImageFromDropbox=!1,scope.options.editableButtonClass="",scope.options.itemContentClass="",scope.options.itemSimple="",scope.options.filterFields="",scope.options.randomModel=_Mathfloor(9e3*Math.random())+1e3,optionsList.imagePosition||(scope.options.imagePosition="left"),optionsList.iconPosition||(scope.options.iconPosition="right"),optionsList.imageType||(scope.options.imageType="avatar");for(var column,imageDirection=optionsList.imagePosition?optionsList.imagePosition:"left",iconDirection=optionsList.iconPosition?optionsList.iconPosition:"right",bothDirection="left"===imageDirection&&"left"===iconDirection?"left":"right"===imageDirection&&"right"===iconDirection?"right":"",visibleColumns=[],i=0;i<optionsList.columns.length;i++)column=optionsList.columns[i],column.visible&&visibleColumns.push(optionsList.columns[i]);for(var column,i=0;i<visibleColumns.length;i++)column=visibleColumns[i],column.field&&"Database"==column.dataType?(scope.options.fields["security"+i]=column.security,scope.options.fields["field"+i]=column.field,scope.options.fields["type"+i]=column.type,scope.options.fields["mask"+i]=column.format,!addedImage&&isImage(column.field,optionsList.dataSourceScreen.entityDataSource.schemaFields)&&"do-not-show"!==optionsList.imageType?(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!1):addedImage||"image"!=column.type?column.filterable&&(searchableField=null==searchableField?column.field:searchableField+";"+column.field):(scope.options.fields.image=column.field,delete scope.options.fields["field"+i],addedImage=!0,scope.options.isImageFromDropbox=!0)):("Command"==column.dataType||"Blockly"==column.dataType||"Customized"==column.dataType)&&(scope.options.editableButtonClass="item-complex item-right-editable","Command"==column.dataType?(scope.options.fields["field"+i]=column.field,buttons=buttons.concat(addDefaultButton(dataSourceName,column)),("edit"==column.command||"edit|destroy"==column.command)&&(isNativeEdit=!0)):"Blockly"==column.dataType?buttons=buttons.concat(addBlockly(column)):"Customized"==column.dataType&&(buttons=buttons.concat(addCustomButton(column))))}catch(e){console.log("CronList invalid configuration! "+e)}scope.options.editableButtonClass||addedImage?!scope.options.editableButtonClass&&addedImage&&(scope.options.itemContentClass="item-content",scope.options.editableButtonClass="item-complex",scope.options.itemSimple=""):(scope.options.itemContentClass="item-content",scope.options.itemSimple="item-simple"),scope.options.fields.image&&"do-not-show"!=scope.options.imageType&&(scope.options.imageClassPosition="item-"+scope.options.imageType+"-"+scope.options.imagePosition),addedImage||(scope.options.imageType="do-not-show"),scope.options.icon&&scope.options.iconPosition&&scope.options.imageType&&(scope.options.iconClassPosition="item-icon-"+scope.options.iconPosition),bothDirection&&scope.options.icon&&scope.options.imagePosition&&scope.options.imageType&&(scope.options.imageToClassPosition="image-to-"+scope.options.imagePosition+"-"+scope.options.imageType,scope.options.textToClassPosition="text-to-"+scope.options.iconPosition+"-"+scope.options.imageType),scope.options.advancedTemplate||(scope.options.advancedTemplate=defaultAdvancedTemplate),scope.options.searchTemplate||(scope.options.searchTemplate=defaultSearchTemplate);var templateDyn=null;searchableField?(scope.options.filterFields=searchableField,templateDyn=scope.options.searchTemplate+scope.options.advancedTemplate):templateDyn=scope.options.advancedTemplate;for(let e,t=0;t<visibleColumns.length;t++)if(e=visibleColumns[t],e.field&&"Database"===e.dataType&&scope.options.fields[`security${t}`]){let e=`ng-if="rowData[options.fields.field${t}]"`,a=`${e} cronapp-security="${scope.options.fields["security"+t]}"`;templateDyn=templateDyn.replace(e,a)}templateDyn=$(templateDyn),scope.options.xattrTextPosition=attrs.xattrTextPosition,templateDyn.attr("type",optionsList.listType),$(element).replaceWith(templateDyn);var $element=templateDyn,ionItem=$element.find("ion-item");"rowData in datasource"===$(ionItem).attr("ng-repeat")&&ionItem.attr("ng-repeat",getExpression(dataSourceName)),isNativeEdit&&ionItem.attr("ng-click",getEditCommand(dataSourceName));var ngClickAttrTemplate="",ngClickAttrTemplateCheckbox="";optionsList.allowMultiselect?(attrs.ngModel&&(ngClickAttrTemplateCheckbox="checkboxButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),checkboxTemplate=$element.find("ul"),attrs.ngClick&&(checkboxTemplate=$(checkboxTemplate).attr("ng-click",ngClickAttrTemplateCheckbox).get(0).outerHTML,ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplateCheckbox+ngClickAttrTemplate)):(attrs.ngModel&&(ngClickAttrTemplate="setRowDataModel($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),attrs.ngClick&&(ngClickAttrTemplate=ngClickAttrTemplate+"listButtonClick($index, rowData, '"+window.stringToJs(attrs.ngClick)+"', $event);"),ionItem.attr("ng-click",ngClickAttrTemplate));const attrsExcludeds=["options","ng-repeat","ng-click"],filteredItems=Object.values(attrs.$attr).filter(function(e){return!attrsExcludeds.includes(e)});for(let e in filteredItems)ionItem.attr(filteredItems[e],attrs[e]);ionItem.append(buttons);var firstScroll=!0;scope.nextPageInfinite=function(){return $element.find("ion-item").length<dataSource.data.length||0==dataSource.data.length?void scope.$broadcast("scroll.infiniteScrollComplete"):void($element.find("ion-item").length==dataSource.data.length&&(firstScroll?(scope.$broadcast("scroll.infiniteScrollComplete"),firstScroll=!1):dataSource.nextPage(function(){scope.$broadcast("scroll.infiniteScrollComplete")})))};var infiniteScroll=$element.filter(function(){return $(this).is("ion-infinite-scroll")});infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),scope.showButton=function(){if(optionsList.allowMultiselect){var e=modelGetter(scope);if(null!==e&&e!==void 0)return 0<e.length}return!1},$compile(templateDyn,null,9999998)(scope)}}}]).directive("cronInfiniteScroll",["$compile",function($compile){"use strict";return{restrict:"EA",link:function(scope,element,attrs){var dataSource=attrs.cronInfiniteScroll?eval(attrs.cronInfiniteScroll):attrs.crnDatasource?eval(attrs.crnDatasource):void 0;if(dataSource){scope.nextPageInfinite=function(){dataSource.nextPage(),scope.$broadcast("scroll.infiniteScrollComplete")};var templateDyn=$("<ion-infinite-scroll></ion-infinite-scroll>");$(element).html(templateDyn);var infiniteScroll=$(element).find("ion-infinite-scroll");infiniteScroll.attr("on-infinite","nextPageInfinite()"),infiniteScroll.attr("distance","1%"),$compile(templateDyn)(element.scope())}}}}]).filter("raw",["$translate",function(){return function(e){if(null!=e&&e!==void 0){if("number"==typeof e)return e+"";if("boolean"==typeof e)return e+"";if(e instanceof Date)"datetimeoffset'"+e.toISOString()+"'";else return 10<=e.length&&e.match(ISO_PATTERN)?"datetimeoffset'"+e+"'":"'"+e.replaceAll("'","''")+"'"}else return""}}]).directive("xkeyField",["$compile",function(e){"use strict";return{restrict:"A",link:function(t,a,n){if(n.xkeyField&&n.xdisplayField){var o="";n.crnDatasource&&(o=n.crnDatasource),a.removeAttr("xkey-field"),a.removeAttr("xdisplay-field"),a.append("<option ng-repeat=\"opt in "+o+".data\" value=\"{{opt."+n.xkeyField+"}}\">{{opt."+n.xdisplayField+"}}</option>"),e($(a))(t)}}}}]).directive("cronMobileMenu",["$compile","$translate",function(e,t){"use strict";var a=function(e){var a="";return e&&null!=e&&e.subMenuOptions&&null!=e.subMenuOptions&&Array.isArray(e.subMenuOptions)&&e.subMenuOptions.forEach(function(e){var n=e.security&&null!=e.security?" cronapp-security=\""+e.security+"\" ":"",o=e.action&&null!=e.action?" ng-click=\""+e.action+"\" ":"",l=e.hide&&null!=e.hide?" ng-hide=\""+e.hide+"\" ":"",r=e.iconClass&&null!=e.iconClass?e.iconClass:"",s=e.imagePosition&&null!=e.imagePosition?"item-icon-"+e.imagePosition:"",d=e.textPosition&&null!=e.textPosition?"text-"+e.textPosition:"",c=e.contentTheme&&null!=e.contentTheme?e.contentTheme:"",p=e.iconTheme&&null!=e.iconTheme?e.iconTheme:"",u=t.instant(e.title);a=a+" <a menu-close=\"\" class=\"item "+s+"\" "+o+n+l+"> <i class=\""+r+" "+p+"\" style=\"font-size: 150%\"></i> <div class=\"item-content "+d+"\"> <h2 class=\""+c+"\">"+u+"</h2> </div> </a> "}),a};return{restrict:"EA",link:function(t,n,o){var l={};try{l=JSON.parse(o.options)}catch(t){console.log("CronMobileMenu: Invalid configuration!")}var r=$("<ul class=\"nav navbar-nav\" style=\"float:none\"></ul>"),s=a(l);r.append(s);var d=angular.element(r);n.html(""),n.append(r),n.attr("id",null),e(d)(t)}}}]).directive("srcLazy",["$compile",function(){"use strict";return{restrict:"A",link:function(e,t,a){var n=$(t);setTimeout(function(){return n.is(":appeared")?void t.attr("src",a.srcLazy):void(a.srcLazyPreview?n.attr("src",a.srcLazyPreview):n.css("visibility","hidden"),n.appear(),n.on("appear",function(){n.attr("src-lazy")&&(!a.srcLazyPreview&&n.css("visibility","visible"),console.log(a.srcLazy),n.attr("src",a.srcLazy),n.attr("src-lazy",""))}))},100),e.$on("$destroy",function(){n.appearStop()})}}}]).directive("cronMap",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronMap")[0];e(o)(a.scope());var l=a.find(".cronMapIframe")[0];e(l)(a.scope());var r="",s=n.src,d=n.width,c=n.height;r=`<iframe class="cronMapIframe" src="${s}" width="${d}" height="${c}" style="border:0;" allowfullscreen="" loading="lazy"></iframe>`,a.html(r),e(r)(a.scope())}}}]).directive("cronVideo",["$compile",function(e){return{restrict:"AE",replace:!0,link:function(t,a,n){var o=a.find(".cronVideo")[0];e(o)(a.scope());var l=a.find(".cronVideoIframe")[0];e(l)(a.scope());var r="",s=n.src,d=n.width,c=n.height,p=n.title;r=`<iframe class="cronVideoIframe" src="${s}" width="${d}" height="${c}" title="${p}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> </iframe>`,a.html(r),e(r)(a.scope())}}}]),app.directive("kendoChat",["$compile","$timeout",function(e,t){return{restrict:"E",link:function(e,a,n){function o(){let e=$(".k-chat");e.height($(window).height()-e.offset().top)}let l=n.ngOnPostMessage,r=n.ngOnSendMessage,s=n.ngOnTypingEnd,d=n.ngOnTypingStart,c=n.ngOnActionClick,p=n.chatUserId,u=n.chatUsername,m=n.chatUserImage,g=n.chatPlaceholder,f=localStorage.getItem("_u")===void 0?null:JSON.parse(localStorage.getItem("_u")),h=window.navigator.userAgent,v="";f&&f.user&&(v=f.user.name);let y=$("<div></div>");y.kendoChat({messages:{placeholder:g},user:{id:p||h,name:u||v,iconUrl:m}}),chat=y.data("kendoChat"),chat.bind("post",t=>{if(l)try{e.$eval(l,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("sendMessage",t=>{if(r)try{e.$eval(r,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingStart",t=>{if(d)try{e.$eval(d,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("typingEnd",t=>{if(s)try{e.$eval(s,{chatMessage:t})}catch(t){console.error(t)}}),chat.bind("actionClick",t=>{if(c)try{e.$eval(c,{chatMessage:t})}catch(t){console.error(t)}}),a.empty().append(y),$(window).resize(()=>{o()}),t(()=>{o()})}}}])}(app),function(e){function t(){return e(this).is(":appeared")}function a(){return!e(this).data("_appear_triggered")}function n(){r=!1;for(var n,o=0,s=l.length;o<s;o++){if(n=e(l[o]).filter(t),n.filter(a).data("_appear_triggered",!0).trigger("appear",[n]),c[o]){var d=c[o].not(n);d.data("_appear_triggered",!1).trigger("disappear",[d])}c[o]=n}}function o(e){l.push(e),c.push()}var l=[],r=!1,s={interval:250,force_process:!1},d=e(window),c=[];e.expr.pseudos.appeared=e.expr.createPseudo(function(){return function(t){var a=e(t),n=d.scrollLeft(),o=d.scrollTop(),l=a.offset(),r=l.left,s=l.top;return!!(s+a.height()>=o&&s-(a.data("appear-top-offset")||0)<=o+d.height()&&r+a.width()>=n&&r-(a.data("appear-left-offset")||0)<=n+d.width())}}),e.fn.extend({appear:function(t,a){return e.appear(this,a),this}}),e.fn.extend({appearStop:function(t,a){return e.appearStop(this,a),this}}),e.extend({appearStop:function(e){var t=-1;for(i=0;i<l.length;i++)if(l[i].get(0)==e.get(0)){t=i;break}-1!=t&&l.splice(t)},appear:function(t,a){var l=e.extend({},s,a||{}),d=e("ion-content");if(d.length){if(!d.get(0).checkBinded){var c=function(){r||(r=!0,setTimeout(n,l.interval))};d.scroll(c).resize(c),d.get(0).checkBinded=!0}l.force_process&&setTimeout(n,l.interval),o(t)}}})}(function(){return"undefined"==typeof module?jQuery:require("jquery")}());function maskDirectiveAsDate(e,t,a){return maskDirective(e,t,"as-date",a)}function maskDirectiveMask(e,t,a){return maskDirective(e,t,"mask",a)}function maskDirective(e,t,a,n){return{restrict:"A",require:"?ngModel",link:function(e,o,l,r){var s=n(l.ngModel),d=s.assign;if("as-date"!=a||void 0===l.mask){var c=$(o),p=c.attr("type");if("checkbox"!=p&&"password"!=p){c.data("type",p),c.attr("type","text"),r&&(r.$formatters=[],r.$parsers=[]),void 0!==l.asDate&&"text"==p&&(p="date");var u=!0,m=!1,g=l.mask||l.format;g=g?parseMaskType(g,t):parseMaskType(p,t),g.endsWith(";0")&&(m=!0);var f=g.replace(";1","").replace(";0","").replace(";local","").trim(),h=l.keyboard,v=t.instant("keyboardDecimalChar")&&1==t.instant("keyboardDecimalChar").length?t.instant("keyboardDecimalChar"):",";if(h&&parseKeyboardType(h,v,c),null!=f&&0!=f.length){if("date"==p||"datetime"==p||"datetime-local"==p||"month"==p||"time"==p||"time-local"==p||"week"==p){var y="date"==p||"datetime"==p||"time"==p;window.fixedTimeZone||(y=!1),"date"==p?(f=moment.HTML5_FMT.DATE,c.attr("type","date")):"month"==p?(f=moment.HTML5_FMT.MONTH,c.attr("type","month")):"week"==p?(f=moment.HTML5_FMT.WEEK,c.attr("type","week")):"datetime"==p||"datetime-local"==p?(f=moment.HTML5_FMT.DATETIME_LOCAL,c.attr("type","datetime-local")):("time"==p||"time-local"==p)&&(f=moment.HTML5_FMT.TIME,c.attr("type","time")),r&&(r.$formatters.push(function(e){return e?y?moment(e).utcOffset(window.timeZoneOffset).format(f):moment(e).format(f):null}),r.$parsers.push(function(e){return e?y?moment(e,f).utcOffset(window.timeZoneOffset,!0).toDate():moment(e,f).toDate():new Date(e)}))}else if("number"==p||"money"==p||"integer"==p||"money-decimal"==p){m=!0,u=!1;var b=f.trim().replace(/\./g,"").replace(/\,/g,"").replace(/#/g,"").replace(/0/g,"").replace(/9/g,"");h||("integer"==p||"money-decimal"==p?h="integer":h="number");var k="",x="",M="",T=",",w=0;f.startsWith(b)?k=b:f.endsWith(b)&&(x=b);var C=f.trim().replace(k,"").replace(x,"").trim();C.startsWith("#.")?M=".":C.startsWith("#,")&&(M=",");var D=null;if(-1==C.indexOf(",0")?-1!=C.indexOf(".0")&&(T=".",D=".0"):(T=",",D=",0"),null!=D){var P=C.substring(C.indexOf(D)+1);w=P.length}var F="numeric";0==w&&(F="integer");var I={rightAlign:"money"==p||"money-decimal"==p,unmaskAsNumber:!0,allowMinus:"money"!=p&&"money-decimal"!=p,prefix:k,suffix:x,radixPoint:T,digits:w,numericInput:"money-decimal"==p};M&&(I.autoGroup=!0,I.groupSeparator=M),"money-decimal"==p&&(F="currency"),$(o).inputmask(F,I),useInputMaskPlugin(o,r,e,d,f)}else"text"==p||"tel"==p?(h||"tel"!=p||(h="tel"),l.maskPlaceholder?(options={},options.placeholder=l.maskPlaceholder,$(o).inputmask(f,options),$(o).off("keypress"),m&&useInputMaskPlugin(o,r,e,d,f)):(c.mask(f),useMaskPlugin(o,r,e,d,m))):("email"==p||"password"==p||"search"==p)&&(h||(h=p));h&&parseKeyboardType(h,v,c)}}}}}}function useInputMaskPlugin(e,t,a,n,o){var l=$(e),r=function(){var t=$(this).inputmask("unmaskedvalue");$(this).data("rawvalue",t),e._ignoreFormatter=!0,a.safeApply(function(){n(a,t)})};$(e).off("keypress"),$(e).on("keyup",r),t&&(t.$formatters.push(function(t){return e._ignoreFormatter?(e._ignoreFormatter=!1,$(e).val()):(e._ignoreFormatter=!1,null!=t&&null!=t&&""!==t?format(o,t):null)}),t.$parsers.push(function(e){if(e!=null&&null!=e&&""!==e){var t=l.inputmask("unmaskedvalue");if(""!==t)return t}return null}))}function useMaskPlugin(e,t,a,n,o){var l=$(e),r=function(){o&&$(this).data("rawvalue",$(this).cleanVal())};$(e).on("keydown",r).on("keyup",r),o&&t&&(t.$formatters.push(function(e){return e?l.masked(e):null}),t.$parsers.push(function(e){return e?l.cleanVal():null}))}function parseKeyboardType(e,t,a){("integer"==e||"number"==e||"tel"==e)&&(a.attr("pattern","\\d*"),a.attr("inputmode","decimal")),("tel"==e||"email"==e||"search"==e||"password"==e)&&a.attr("type",e),"ios"===cordova.platformId&&"number"==e&&(a.attr("decimal","true"),a.attr("allow-multiple-decimals","true"),a.attr("decimal-char",t))}function parseMaskType(e,t){return"datetime"==e||"datetime-local"==e?(e=t.instant("Format.DateTime"),"Format.DateTime"==e&&(e="DD/MM/YYYY HH:mm:ss")):"date"==e?(e=t.instant("Format.Date"),"Format.Date"==e&&(e="DD/MM/YYYY")):"time"==e||"time-local"==e?(e=t.instant("Format.Hour"),"Format.Hour"==e&&(e="HH:mm:ss")):"month"==e?e="MMMM":"number"==e?(e=t.instant("Format.Decimal"),"Format.Decimal"==e&&(e="0,00")):"money"==e||"money-decimal"==e?(e=t.instant("Format.Money"),"Format.Money"==e&&(e="#.#00,00")):"integer"==e?e="0":"week"==e?e="dddd":"tel"==e?e="(99) 99999-9999;0":"text"==e?e="":"string"==e&&(e=""),e}function transformText(){return{restrict:"E",require:"?ngModel",link:function(e,t,a,n){let o=function(e,t){if(e&&t&&("string"==typeof t||t instanceof String)){if("uppercase"===e.css("text-transform"))return t.toUpperCase();if("lowercase"===e.css("text-transform"))return t.toLowerCase()}return t};n&&(n.$formatters.push(function(e){return o(t,e)}),n.$parsers.push(function(e){return o(t,e)}))}}}
@@ -1 +1 @@
1
- (function(){'use strict';function a(a,b,c,d,e){function f(a){c.openURLContent(a.data)}b.getDescription=function(a){var b=a.name;return a.description&&(b=a.description,-1<b.indexOf("{{")&&-1<b.indexOf("}}")&&(b=b.replace("{{","").replace("}}",""),b=window.cronapi.i18n.translate(b,[]))),b},b.cloneElement=function(a){return angular.copy(a)},b.isVisibleParam=function(a){if("DATA_LIMIT"===a.name)return!1;return!(""!==a.value)||!(""!==a.value)};var g=d.reportName.match(/\/(.*?)(.*?)(\.jrxml|\.report)/);b.report=d,b.report.name=g[2],b.htmlParameters=e,b.onPrint=function(){b.report.reportName.endsWith(".report")?c.openStimulsoftReport(b.report.contentData,b.report.parameters,b.report.datasourcesInBand):c.getPDFAsFile(b.report).then(f)},b.onCancel=function(){a.dismiss("cancel")}}angular.module("custom.controllers").controller("ParameterController",a).filter("trusted",["$sce",function(a){return function(b){return a.trustAsHtml(b)}}]).directive("compile",["$compile","$timeout",function(a,b){return{restrict:"A",link:function(c,d){b(function(){a(d.contents())(c)})}}}]).directive("formatDate",function(){return{require:"ngModel",link:function(a,b,c,d){d.$formatters.push(function(a){return a?new Date(a):null})}}}),a.$inject=["$modalInstance","$scope","ReportService","report","htmlParameters"]})();
1
+ (function(){"use strict";function a(a,b,c,d,e){function f(a){c.openURLContent(a.data)}b.getDescription=function(a){var b=a.name;return a.description&&(b=a.description,-1<b.indexOf("{{")&&-1<b.indexOf("}}")&&(b=b.replace("{{","").replace("}}",""),b=window.cronapi.i18n.translate(b,[]))),b},b.cloneElement=function(a){return angular.copy(a)},b.isVisibleParam=function(a){if("DATA_LIMIT"===a.name)return!1;return!(""!==a.value)||!(""!==a.value)};var g=d.reportName.match(/\/(.*?)(.*?)(\.jrxml|\.report)/);b.report=d,b.report.name=g[2],b.htmlParameters=e,b.onPrint=function(){b.report.reportName.endsWith(".report")?c.openStimulsoftReport(b.report.contentData,b.report.parameters,b.report.datasourcesInBand):c.getPDFAsFile(b.report).then(f)},b.onCancel=function(){a.dismiss("cancel")}}angular.module("custom.controllers").controller("ParameterController",a).filter("trusted",["$sce",function(a){return function(b){return a.trustAsHtml(b)}}]).directive("compile",["$compile","$timeout",function(a,b){return{restrict:"A",link:function(c,d){b(function(){a(d.contents())(c)})}}}]).directive("formatDate",function(){return{require:"ngModel",link:function(a,b,c,d){d.$formatters.push(function(a){return a?new Date(a):null})}}}),a.$inject=["$modalInstance","$scope","ReportService","report","htmlParameters"]})();
@@ -363,8 +363,8 @@ var app = (function() {
363
363
 
364
364
  $timeout(() => {
365
365
  let ionViewTitle = $('ion-view ion-header-bar .title').last().text();
366
- let splitedHash = window.location.hash ? window.location.hash.split('\/') : null;
367
- let pageName = splitedHash?splitedHash[splitedHash.length-1]:null;
366
+ let splitedHash = window.location.hash ? window.location.hash.split('\/') : "";
367
+ let pageName = splitedHash ? splitedHash[splitedHash.length-1] : "";
368
368
  let prettyPageName = window.camelCaseToSentenceCase(window.toCamelCase(pageName));
369
369
  $rootScope.ionViewTitle = ionViewTitle || prettyPageName || currentRoute.name;
370
370
  });
@@ -428,7 +428,7 @@ app.registerEventsCronapi = function($scope, $translate, $ionicModal, $ionicLoad
428
428
  $scope[x] = app.userEvents[x].bind($scope);
429
429
 
430
430
  $scope.vars = {};
431
- $scope.$evt = $evt;
431
+ $scope.$evt = $evt || undefined;
432
432
 
433
433
  try {
434
434
  if (cronapi) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cronapp-framework-mobile-js",
3
- "version": "2.8.13",
3
+ "version": "2.8.16",
4
4
  "description": "Javascript library for CronApp's projects",
5
5
  "main": "cronapp.framework.mobile.js",
6
6
  "scripts": {
@@ -35,28 +35,28 @@
35
35
  "gulp-uglifycss": "1.0.8"
36
36
  },
37
37
  "dependencies": {
38
- "angular": "1.5.9",
39
- "angular-aria": "1.5.9",
40
- "angular-cookies": "1.5.8",
38
+ "angular": "1.6.0",
39
+ "angular-aria": "1.6.0",
40
+ "angular-cookies": "1.6.0",
41
41
  "angular-dynamic-locale": "0.1.32",
42
42
  "angular-i18n": "1.4.5",
43
43
  "angular-resource": "1.3.15",
44
44
  "angular-sanitize": "1.3.15",
45
45
  "angular-translate": "2.11.1",
46
- "angular-messages": "1.5.6",
46
+ "angular-messages": "1.6.0",
47
47
  "angular-translate-handler-log": "2.11.1",
48
48
  "angular-translate-loader-static-files": "2.11.1",
49
49
  "angular-translate-storage-local": "2.11.1",
50
- "angular-ui-notification": "alexcrack/angular-ui-notification#v0.0.14",
51
- "angular-ui-router": "angular-ui/ui-router#0.2.15",
50
+ "angular-ui-notification": "0.3.6",
51
+ "cronapp-ui-router": "0.2.15",
52
52
  "angular-ui-bootstrap": "0.13.0",
53
53
  "bootstrap": "3.3.4",
54
- "jquery": "2.1.4",
54
+ "jquery": "3.0.0",
55
55
  "font-awesome": "4.4.0",
56
56
  "chart.js": "2.0.0",
57
57
  "ng-file-upload": "12.2.13",
58
58
  "angular-moment": "1.2.0",
59
- "pace": "HubSpot/pace#v1.0.2",
59
+ "pace-js": "1.0.2",
60
60
  "moment": "2.24.0"
61
61
  }
62
62
  }
package/postupdate.json CHANGED
@@ -118,7 +118,7 @@
118
118
  },
119
119
  {
120
120
  "file": "index.html",
121
- "script": "node_modules/pace/pace.min.js",
121
+ "script": "node_modules/pace-js/pace.min.js",
122
122
  "type": "script"
123
123
  },
124
124
  {
@@ -261,7 +261,11 @@
261
261
  },
262
262
  {
263
263
  "old" : "plugins/angular-ui-router/release/angular-ui-router.min.js",
264
- "new": "node_modules/angular-ui-router/release/angular-ui-router.min.js"
264
+ "new": "node_modules/cronapp-ui-router/release/angular-ui-router.min.js"
265
+ },
266
+ {
267
+ "old" : "node_modules/angular-ui-router/release/angular-ui-router.min.js",
268
+ "new": "node_modules/cronapp-ui-router/release/angular-ui-router.min.js"
265
269
  },
266
270
  {
267
271
  "old" : "plugins/angular-cookies/angular-cookies.min.js",
@@ -365,7 +369,11 @@
365
369
  },
366
370
  {
367
371
  "old" : "plugins/pace/pace.min.js",
368
- "new": "node_modules/pace/pace.min.js"
372
+ "new": "node_modules/pace-js/pace.min.js"
373
+ },
374
+ {
375
+ "old" : "node_modules/pace/pace.min.js",
376
+ "new": "node_modules/pace-js/pace.min.js"
369
377
  },
370
378
  {
371
379
  "old" : "plugins/cronapp-common-js/dist/js/parser.js",
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="JAVA_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <output url="file://$MODULE_DIR$/bin" />
5
- <exclude-output />
6
- <content url="file://$MODULE_DIR$" />
7
- <orderEntry type="sourceFolder" forTests="false" />
8
- </component>
9
- </module>