cronapp-framework-js 2.8.27 → 2.8.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/crn-carousel.components.json +1 -1
- package/components/crn-chart.components.json +1 -0
- package/components/crn-cron-grid.components.json +24 -34
- package/components/crn-dynamic-menu.components.json +1 -0
- package/components/crn-eight-four-container.components.json +2 -2
- package/components/crn-enterprise-autocomplete.components.json +8 -0
- package/components/crn-enterprise-combobox-multiple.components.json +7 -0
- package/components/crn-enterprise-combobox.components.json +7 -0
- package/components/crn-enterprise-dynamic-autocomplete.components.json +35 -27
- package/components/crn-enterprise-dynamic-combobox.components.json +7 -0
- package/components/crn-four-eight-container.components.json +2 -2
- package/components/crn-one-container.components.json +2 -2
- package/components/crn-ordered-sub-list.components.json +1 -2
- package/components/crn-radioOption.components.json +8 -0
- package/components/crn-textarea.components.json +8 -0
- package/components/crn-textinput.components.json +8 -0
- package/components/crn-textinputbutton.components.json +8 -0
- package/components/crn-textinputicon.components.json +8 -0
- package/components/crn-three-container.components.json +2 -2
- package/components/crn-trhee-six-three-container.components.json +2 -2
- package/components/crn-two-container.components.json +2 -2
- package/components/crn-vertical-container.components.json +3 -3
- package/components/cron-breadcrumbs.components.json +64 -0
- package/components/templates/carousel.template.html +3 -3
- package/components/templates/cron-autocomplete.designtime.html +33 -1
- package/components/templates/cron-breadcrumbs.designtime.html +11 -0
- package/components/templates/cron-breadcrumbs.template.html +3 -0
- package/components/templates/grid-vertical.template.html +2 -2
- package/components/templates/navbar.template.html +5 -5
- package/components/templates/tabs.template.html +4 -4
- package/components/templates/textinputbutton.template.html +11 -9
- package/css/app.css +7 -0
- package/css/modalTemplate.css +21 -9
- package/css/themes/custom/material/custom-material.css +0 -4
- package/dist/components/templates/carousel.template.html +1 -1
- package/dist/components/templates/cron-autocomplete.designtime.html +26 -1
- package/dist/components/templates/cron-breadcrumbs.designtime.html +1 -0
- package/dist/components/templates/cron-breadcrumbs.template.html +1 -0
- package/dist/components/templates/grid-vertical.template.html +1 -1
- package/dist/components/templates/navbar.template.html +1 -1
- package/dist/components/templates/tabs.template.html +1 -1
- package/dist/components/templates/textinputbutton.template.html +1 -1
- package/dist/css/app.css +1 -1
- package/dist/css/modalTemplate.css +1 -1
- package/dist/css/themes/custom/material/custom-material.css +1 -1
- package/dist/img/barcode.png +0 -0
- package/dist/img/cron-icon/cron-breadrumb.svg +1 -0
- package/dist/img/cronGrid.png +0 -0
- package/dist/img/cronRichEditor.png +0 -0
- package/dist/img/cronapp-logo-login.png +0 -0
- package/dist/img/logo.png +0 -0
- package/dist/img/placehold-100x100.png +0 -0
- package/dist/img/placehold-900x500.png +0 -0
- package/dist/img/qrcode.png +0 -0
- package/dist/img/selectFile.png +0 -0
- package/dist/img/switch.png +0 -0
- package/dist/js/app.js +1 -1
- package/dist/js/controllers.js +1 -1
- package/dist/js/directives.js +1 -1
- package/dist/js/reports/reports.service.js +1 -1
- package/img/cron-icon/cron-breadrumb.svg +638 -0
- package/js/app.js +30 -15
- package/js/controllers.js +2 -15
- package/js/directives.js +157 -11
- package/js/reports/reports.service.js +3 -0
- package/package.json +1 -1
package/js/app.js
CHANGED
|
@@ -212,7 +212,7 @@ var app = (function() {
|
|
|
212
212
|
$scope.UploadService = UploadService;
|
|
213
213
|
$scope.$state = $state;
|
|
214
214
|
|
|
215
|
-
app.registerEventsCronapi($scope, $translate);
|
|
215
|
+
app.registerEventsCronapi($scope, $translate, $location);
|
|
216
216
|
|
|
217
217
|
$("form").kendoValidator({
|
|
218
218
|
errorTemplate: '<span class="k-widget k-tooltip-validation k-x-invalid-msg-block">#=message#</span>',
|
|
@@ -233,18 +233,6 @@ var app = (function() {
|
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
-
//Components personalization jquery
|
|
237
|
-
$scope.registerComponentScripts = function() {
|
|
238
|
-
//carousel slider
|
|
239
|
-
$('.carousel-indicators li').on('click', function() {
|
|
240
|
-
var currentCarousel = '#' + $(this).parent().parent().parent().attr('id');
|
|
241
|
-
var index = $(currentCarousel + ' .carousel-indicators li').index(this);
|
|
242
|
-
$(currentCarousel + ' #carousel-example-generic').carousel(index);
|
|
243
|
-
});
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
$scope.registerComponentScripts();
|
|
247
|
-
|
|
248
236
|
try {
|
|
249
237
|
var contextAfterPageController = $controller('AfterPageController', { $scope: $scope });
|
|
250
238
|
app.copyContext(contextAfterPageController, this, 'AfterPageController');
|
|
@@ -333,6 +321,7 @@ var app = (function() {
|
|
|
333
321
|
}
|
|
334
322
|
|
|
335
323
|
$rootScope.renderFinished = true;
|
|
324
|
+
registerComponentScripts();
|
|
336
325
|
});
|
|
337
326
|
};
|
|
338
327
|
|
|
@@ -365,7 +354,23 @@ app.bindScope = function($scope, obj) {
|
|
|
365
354
|
return newObj;
|
|
366
355
|
};
|
|
367
356
|
|
|
368
|
-
app.registerEventsCronapi = function($scope, $translate) {
|
|
357
|
+
app.registerEventsCronapi = function($scope, $translate, $location) {
|
|
358
|
+
|
|
359
|
+
let $stateParams = $scope.params || {};
|
|
360
|
+
let queryStringParams = $location && $location.search() || {};
|
|
361
|
+
$scope.params = {};
|
|
362
|
+
|
|
363
|
+
let makeCopy = (from, to) => {
|
|
364
|
+
for (let key in from) {
|
|
365
|
+
if (from.hasOwnProperty(key)) {
|
|
366
|
+
to[key] = from[key];
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
makeCopy($stateParams, $scope.params);
|
|
371
|
+
makeCopy(queryStringParams, $scope.params);
|
|
372
|
+
|
|
373
|
+
|
|
369
374
|
for (var x in app.userEvents)
|
|
370
375
|
$scope[x] = app.userEvents[x].bind($scope);
|
|
371
376
|
|
|
@@ -520,4 +525,14 @@ const keyCodeFormActions = {
|
|
|
520
525
|
handle: (e) => !keyCodeFormActions[e.keyCode || e.which] || keyCodeFormActions[e.keyCode || e.which](e),
|
|
521
526
|
13: (e) => e.preventDefault()
|
|
522
527
|
};
|
|
523
|
-
keyCodeFormActions.initialize();
|
|
528
|
+
keyCodeFormActions.initialize();
|
|
529
|
+
|
|
530
|
+
//Components personalization jquery
|
|
531
|
+
var registerComponentScripts = function() {
|
|
532
|
+
//carousel slider
|
|
533
|
+
$('.carousel-indicators li').on('click', function() {
|
|
534
|
+
var currentCarousel = '#' + $(this).parent().parent().parent().attr('id');
|
|
535
|
+
var index = $(currentCarousel + ' .carousel-indicators li').index(this);
|
|
536
|
+
$(currentCarousel + ' > div').carousel(index);
|
|
537
|
+
});
|
|
538
|
+
};
|
package/js/controllers.js
CHANGED
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
$scope.$http = $http;
|
|
82
82
|
$scope.params = $stateParams;
|
|
83
83
|
$scope.$state = $state;
|
|
84
|
-
app.registerEventsCronapi($scope, $translate);
|
|
84
|
+
app.registerEventsCronapi($scope, $translate, $location);
|
|
85
85
|
|
|
86
86
|
$rootScope.http = $http;
|
|
87
87
|
$rootScope.Notification = Notification;
|
|
@@ -91,12 +91,6 @@
|
|
|
91
91
|
ReportService.openReport(reportName, params, config);
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
-
var queryStringParams = $location.search();
|
|
95
|
-
for (var key in queryStringParams) {
|
|
96
|
-
if (queryStringParams.hasOwnProperty(key)) {
|
|
97
|
-
$scope.params[key] = queryStringParams[key];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
94
|
$scope.redirectToLogin = function() {
|
|
101
95
|
$scope.cronapi.social.ssoLogin();
|
|
102
96
|
};
|
|
@@ -250,7 +244,7 @@
|
|
|
250
244
|
$scope.$http = $http;
|
|
251
245
|
$scope.params = $stateParams;
|
|
252
246
|
$scope.$state = $state;
|
|
253
|
-
app.registerEventsCronapi($scope, $translate);
|
|
247
|
+
app.registerEventsCronapi($scope, $translate, $location);
|
|
254
248
|
|
|
255
249
|
$rootScope.http = $http;
|
|
256
250
|
$rootScope.Notification = Notification;
|
|
@@ -260,13 +254,6 @@
|
|
|
260
254
|
ReportService.openReport(reportName, params, config);
|
|
261
255
|
};
|
|
262
256
|
|
|
263
|
-
var queryStringParams = $location.search();
|
|
264
|
-
for (var key in queryStringParams) {
|
|
265
|
-
if (queryStringParams.hasOwnProperty(key)) {
|
|
266
|
-
$scope.params[key] = queryStringParams[key];
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
257
|
$scope.message = {};
|
|
271
258
|
|
|
272
259
|
$scope.selecionado = {
|
package/js/directives.js
CHANGED
|
@@ -2126,7 +2126,8 @@
|
|
|
2126
2126
|
let waitRender = setInterval(function() {
|
|
2127
2127
|
let $myElement = $('#' + componentId);
|
|
2128
2128
|
if ($myElement.length > 0) {
|
|
2129
|
-
|
|
2129
|
+
let $closeTdElemen = $myElement.closest('td');
|
|
2130
|
+
let x = angular.element($closeTdElemen || $myElement);
|
|
2130
2131
|
$compile(x)(scope);
|
|
2131
2132
|
clearInterval(waitRender);
|
|
2132
2133
|
resolve(componentId);
|
|
@@ -3372,7 +3373,7 @@
|
|
|
3372
3373
|
var parent = element.parent();
|
|
3373
3374
|
$(parent).append('<input style="width: 100%;" '+ id + name + ' class="cronSelect"/>');
|
|
3374
3375
|
var $element = $(parent).find('input.cronSelect');
|
|
3375
|
-
|
|
3376
|
+
var cronDisabled = attrs.cronDisabled ? attrs.cronDisabled : 'true';
|
|
3376
3377
|
var options = await app.kendoHelper.getConfigCombobox(select, scope);
|
|
3377
3378
|
options.close = attrs.ngClose ? function (){scope.$eval(attrs.ngClose)}: undefined;
|
|
3378
3379
|
options.dataBound = attrs.ngDataBound ? function (){scope.$eval(attrs.ngDataBound)}: undefined;
|
|
@@ -3422,7 +3423,11 @@
|
|
|
3422
3423
|
}
|
|
3423
3424
|
};
|
|
3424
3425
|
initializeAttrAndEvents();
|
|
3425
|
-
|
|
3426
|
+
if (cronDisabled) {
|
|
3427
|
+
combobox.enable(false);
|
|
3428
|
+
} else {
|
|
3429
|
+
combobox.enable(true);
|
|
3430
|
+
}
|
|
3426
3431
|
|
|
3427
3432
|
var _scope = scope;
|
|
3428
3433
|
var _ngModelCtrl = ngModelCtrl;
|
|
@@ -3516,12 +3521,14 @@
|
|
|
3516
3521
|
}
|
|
3517
3522
|
},
|
|
3518
3523
|
link: async function (scope, element, attrs, ngModelCtrl) {
|
|
3524
|
+
await cronapi.internal.skipIterationLoop();
|
|
3519
3525
|
var modelGetter = $parse(attrs['ngModel']);
|
|
3520
3526
|
var modelSetter = modelGetter.assign;
|
|
3521
3527
|
var select = {};
|
|
3522
3528
|
var self = this;
|
|
3523
3529
|
var parentDS = {};
|
|
3524
3530
|
var textField = null;
|
|
3531
|
+
var cronDisabled = attrs.cronDisabled ? attrs.cronDisabled : 'true';
|
|
3525
3532
|
try {
|
|
3526
3533
|
select = JSON.parse(attrs.options);
|
|
3527
3534
|
parentDS = this.getActive(attrs.ngModel);
|
|
@@ -3885,7 +3892,13 @@
|
|
|
3885
3892
|
_compileAngular(scope, combobox.ul);
|
|
3886
3893
|
|
|
3887
3894
|
$(element).remove();
|
|
3888
|
-
|
|
3895
|
+
|
|
3896
|
+
if(cronDisabled){
|
|
3897
|
+
combobox.enable(false);
|
|
3898
|
+
} else {
|
|
3899
|
+
combobox.enable(true);
|
|
3900
|
+
}
|
|
3901
|
+
|
|
3889
3902
|
$("[aria-owns='" + `${attrs.id}_listbox` + "']").attr('aria-label', $translate.instant('template.crud.search'));
|
|
3890
3903
|
}
|
|
3891
3904
|
};
|
|
@@ -3899,6 +3912,7 @@
|
|
|
3899
3912
|
var modelGetter = $parse(attrs['ngModel']);
|
|
3900
3913
|
var modelSetter = modelGetter.assign;
|
|
3901
3914
|
var model = attrs['ngModel'];
|
|
3915
|
+
var cronDisabled = attrs.cronDisabled ? attrs.cronDisabled : 'true';
|
|
3902
3916
|
|
|
3903
3917
|
var _self = this;
|
|
3904
3918
|
var select = {};
|
|
@@ -4035,7 +4049,11 @@
|
|
|
4035
4049
|
deselect = attrs.ngDeselect ? function (){_scope.$eval(attrs.ngDeselect)}: undefined;
|
|
4036
4050
|
|
|
4037
4051
|
var combobox = $element.kendoMultiSelect(options).data('kendoMultiSelect');
|
|
4038
|
-
|
|
4052
|
+
if(cronDisabled){
|
|
4053
|
+
combobox.enable(false);
|
|
4054
|
+
}else {
|
|
4055
|
+
combobox.enable(true);
|
|
4056
|
+
}
|
|
4039
4057
|
app.kendoHelper.receivePushData(combobox);
|
|
4040
4058
|
|
|
4041
4059
|
$("[aria-describedby='" + `${attrs.id}_taglist` + "']").attr('id', `${attrs.id}-container`);
|
|
@@ -4105,6 +4123,7 @@
|
|
|
4105
4123
|
options.select = attrs.ngSelect ? function (){scope.$eval(attrs.ngSelect);}: undefined;
|
|
4106
4124
|
var parent = element.parent();
|
|
4107
4125
|
var id = attrs.id ? ' id="' + attrs.id + '"' : '';
|
|
4126
|
+
var cronDisabled = attrs.cronDisabled ? attrs.cronDisabled : 'true';
|
|
4108
4127
|
var name = attrs.name ? ' name="' + attrs.name + '"' : '';
|
|
4109
4128
|
var validationmessage = attrs.validationmessage ? ' validationmessage="' + attrs.validationmessage + '"' : '';
|
|
4110
4129
|
var required = '';
|
|
@@ -4136,7 +4155,12 @@
|
|
|
4136
4155
|
}
|
|
4137
4156
|
|
|
4138
4157
|
var autoComplete = $element.kendoAutoComplete(options).data('kendoAutoComplete');
|
|
4139
|
-
|
|
4158
|
+
|
|
4159
|
+
if(cronDisabled){
|
|
4160
|
+
autoComplete.enable(false);
|
|
4161
|
+
} else {
|
|
4162
|
+
autoComplete.enable(true);
|
|
4163
|
+
}
|
|
4140
4164
|
|
|
4141
4165
|
if (ngModelCtrl) {
|
|
4142
4166
|
ngModelCtrl.$formatters.push(function (value) {
|
|
@@ -4705,18 +4729,140 @@
|
|
|
4705
4729
|
}
|
|
4706
4730
|
}])
|
|
4707
4731
|
|
|
4732
|
+
.directive('cronBreadcrumbs', function () {
|
|
4733
|
+
'use strict';
|
|
4734
|
+
return {
|
|
4735
|
+
restrict: 'E',
|
|
4736
|
+
replace: true,
|
|
4737
|
+
link: function (scope, element, attrs) {
|
|
4738
|
+
setTimeout(() => {
|
|
4739
|
+
|
|
4740
|
+
let crnDelimiterIcon = attrs.crnDelimiterIcon;
|
|
4741
|
+
let idMenu = attrs.idMenu;
|
|
4742
|
+
|
|
4743
|
+
// Capturar o json do menu
|
|
4744
|
+
let menuOptions = $(`#${idMenu}`)[0].children[0].attributes['options'];
|
|
4745
|
+
menuOptions = JSON.parse(menuOptions.value);
|
|
4746
|
+
let subMenuOptions = menuOptions.subMenuOptions;
|
|
4747
|
+
|
|
4748
|
+
// Capturar a url da pagina
|
|
4749
|
+
let page = document.location.hash;
|
|
4750
|
+
page = page.split("/");
|
|
4751
|
+
|
|
4752
|
+
let idBreadcrumb = attrs.id;
|
|
4753
|
+
|
|
4754
|
+
let breadcrumb = [];
|
|
4755
|
+
let arrayPaiBreadcrumb = [];
|
|
4756
|
+
|
|
4757
|
+
inicio(subMenuOptions);
|
|
4758
|
+
|
|
4759
|
+
function inicio(items) {
|
|
4760
|
+
let x = false;
|
|
4761
|
+
|
|
4762
|
+
for (let i in items) {
|
|
4763
|
+
|
|
4764
|
+
let action = items[i].action;
|
|
4765
|
+
if (action && action != "") {
|
|
4766
|
+
action = action.replace("cronapi.screen.changeView('", '');
|
|
4767
|
+
action = action.replace("', [])", '')
|
|
4768
|
+
action = action.split("/");
|
|
4769
|
+
} else {
|
|
4770
|
+
action = null
|
|
4771
|
+
}
|
|
4772
|
+
|
|
4773
|
+
if(items[i].level === 1){
|
|
4774
|
+
arrayPaiBreadcrumb = []
|
|
4775
|
+
}
|
|
4776
|
+
if (!action) {
|
|
4777
|
+
arrayPaiBreadcrumb.push({
|
|
4778
|
+
level: items[i].level,
|
|
4779
|
+
title: items[i].title,
|
|
4780
|
+
href: '#'
|
|
4781
|
+
});
|
|
4782
|
+
} else if (action) {
|
|
4783
|
+
arrayPaiBreadcrumb.push({
|
|
4784
|
+
level: items[i].level,
|
|
4785
|
+
title: items[i].title,
|
|
4786
|
+
href: document.location.origin + '/' + action.join("/")
|
|
4787
|
+
});
|
|
4788
|
+
}
|
|
4789
|
+
|
|
4790
|
+
if (items[i].menuItems.length > 0) {
|
|
4791
|
+
inicio(items[i].menuItems);
|
|
4792
|
+
|
|
4793
|
+
} else {
|
|
4794
|
+
if(action){
|
|
4795
|
+
if (action[action.length - 1] === page[page.length - 1]) {
|
|
4796
|
+
x = true
|
|
4797
|
+
}
|
|
4798
|
+
}
|
|
4799
|
+
}
|
|
4800
|
+
|
|
4801
|
+
if (x) {
|
|
4802
|
+
for (let y in arrayPaiBreadcrumb) {
|
|
4803
|
+
|
|
4804
|
+
if (y == 0 && arrayPaiBreadcrumb[y].level == 1) {
|
|
4805
|
+
breadcrumb.push({
|
|
4806
|
+
type: "rootitem",
|
|
4807
|
+
href: arrayPaiBreadcrumb[y].href,
|
|
4808
|
+
text: arrayPaiBreadcrumb[y].title,
|
|
4809
|
+
showText: true,
|
|
4810
|
+
showIcon: false
|
|
4811
|
+
})
|
|
4812
|
+
} else if (y == 0 && arrayPaiBreadcrumb[y].level != 1) {
|
|
4813
|
+
breadcrumb.push({
|
|
4814
|
+
type: "rootitem",
|
|
4815
|
+
href: arrayPaiBreadcrumb[y].href,
|
|
4816
|
+
text: arrayPaiBreadcrumb[y].title,
|
|
4817
|
+
showText: true,
|
|
4818
|
+
showIcon: false
|
|
4819
|
+
})
|
|
4820
|
+
} else {
|
|
4821
|
+
breadcrumb.push({
|
|
4822
|
+
type: "item",
|
|
4823
|
+
href: arrayPaiBreadcrumb[y].href,
|
|
4824
|
+
text: arrayPaiBreadcrumb[y].title,
|
|
4825
|
+
showText: true
|
|
4826
|
+
})
|
|
4827
|
+
}
|
|
4828
|
+
}
|
|
4829
|
+
|
|
4830
|
+
return breadcrumb
|
|
4831
|
+
}
|
|
4832
|
+
}
|
|
4833
|
+
}
|
|
4834
|
+
|
|
4835
|
+
$(`#${idBreadcrumb}`).kendoBreadcrumb({
|
|
4836
|
+
items: breadcrumb,
|
|
4837
|
+
delimiterIcon: crnDelimiterIcon,
|
|
4838
|
+
navigational: true
|
|
4839
|
+
});
|
|
4840
|
+
|
|
4841
|
+
}, 800);
|
|
4842
|
+
}
|
|
4843
|
+
}
|
|
4844
|
+
})
|
|
4845
|
+
|
|
4708
4846
|
.directive('ngInitialValue', function($parse) {
|
|
4709
4847
|
return {
|
|
4710
4848
|
restrict: 'A',
|
|
4711
4849
|
require: 'ngModel',
|
|
4712
|
-
link: function(scope, element, attrs, ngModelCtrl) {
|
|
4850
|
+
link: async function(scope, element, attrs, ngModelCtrl) {
|
|
4713
4851
|
if (attrs.ngInitialValue) {
|
|
4714
4852
|
var modelGetter = $parse(attrs['ngModel']);
|
|
4715
4853
|
var modelSetter = modelGetter.assign;
|
|
4716
4854
|
var evaluated;
|
|
4717
4855
|
|
|
4718
4856
|
try {
|
|
4719
|
-
|
|
4857
|
+
if(attrs.ngInitialValue.indexOf("cronapi.client('js.") != -1){//cronapi caller?
|
|
4858
|
+
let shortVersion = attrs.ngInitialValue.replace("cronapi.client('js.", 'blockly.js.');
|
|
4859
|
+
let blocklyPackage = shortVersion.split("').names")[0];
|
|
4860
|
+
blocklyPackage = blocklyPackage.split("').attr()")[0];
|
|
4861
|
+
let blocklyParams = shortVersion.split('.run')[1];
|
|
4862
|
+
evaluated = await scope.$eval(blocklyPackage + blocklyParams);
|
|
4863
|
+
} else {
|
|
4864
|
+
evaluated = scope.$eval(attrs.ngInitialValue);
|
|
4865
|
+
}
|
|
4720
4866
|
} catch (e) {
|
|
4721
4867
|
evaluated = attrs.ngInitialValue;
|
|
4722
4868
|
}
|
|
@@ -4776,7 +4922,7 @@
|
|
|
4776
4922
|
viewValue = null;
|
|
4777
4923
|
el.prop('indeterminate', true);
|
|
4778
4924
|
}
|
|
4779
|
-
ctrl.$setViewValue(viewValue);
|
|
4925
|
+
setTimeout(() => ctrl.$setViewValue(viewValue));
|
|
4780
4926
|
};
|
|
4781
4927
|
} else if (attrs.crnAllowNullValues == 'false') {
|
|
4782
4928
|
ctrl.$render = function () {
|
|
@@ -4786,7 +4932,7 @@
|
|
|
4786
4932
|
viewValue = false;
|
|
4787
4933
|
}
|
|
4788
4934
|
if (viewValue === falseValue) {
|
|
4789
|
-
let modelForEval = `${el.attr('ng-model')}=${
|
|
4935
|
+
let modelForEval = `${el.attr('ng-model')}=${attrs.ngFalseValue}`;
|
|
4790
4936
|
scope.$eval(modelForEval);
|
|
4791
4937
|
}
|
|
4792
4938
|
el.data('checked', viewValue);
|
|
@@ -4803,7 +4949,7 @@
|
|
|
4803
4949
|
viewValue = falseValue;
|
|
4804
4950
|
break;
|
|
4805
4951
|
}
|
|
4806
|
-
ctrl.$setViewValue(viewValue);
|
|
4952
|
+
setTimeout(() => ctrl.$setViewValue(viewValue));
|
|
4807
4953
|
};
|
|
4808
4954
|
}
|
|
4809
4955
|
el.bind('click', function () {
|
|
@@ -156,6 +156,9 @@
|
|
|
156
156
|
}
|
|
157
157
|
var viewer = new Stimulsoft.Viewer.StiViewer(options, viewerId, false);
|
|
158
158
|
viewer.report = report;
|
|
159
|
+
if(StiJsViewer.prototype.IsTouchDevice()) {
|
|
160
|
+
viewer.options.appearance.interfaceType = Stimulsoft.Viewer.StiInterfaceType.Touch;
|
|
161
|
+
}
|
|
159
162
|
return viewer;
|
|
160
163
|
};
|
|
161
164
|
|