Skip to content

Commit 0feb52c

Browse files
committed
[FIX] Fixed a potential memory leak.
1 parent f3460c2 commit 0feb52c

File tree

3 files changed

+43
-34
lines changed

3 files changed

+43
-34
lines changed

csp/src/controller/filters.js

+33-29
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@
6060
}
6161

6262
function checkDepends(cur_filter) {
63+
var dep = false; //The result of the dependency test.
64+
6365
if (cur_filter.active) {
6466
cur_filter.dependsOn = "";
6567
return;
@@ -68,40 +70,42 @@
6870
for (var i = 0; i < $scope.model.filters.length; i++) {
6971
if ($scope.model.filters[i].dependsOn) {
7072
if ($scope.model.filters[i].active && !$scope.model.filters[i].dependsOn.localeCompare(cur_filter.name)) {
73+
dep = true;
74+
break;
75+
}
76+
}
77+
}
7178

72-
var instance = $uibModal.open({
73-
templateUrl: 'src/view/warningModal.html',
74-
controller: 'warning',
75-
ariaLabelledBy: 'modal-title',
76-
ariaDescribedBy: 'modal-body',
77-
animation: true,
78-
size: 'sm',
79-
resolve: {
80-
filter: function () {
81-
return cur_filter;
82-
}
83-
}
84-
});
85-
86-
instance.result.then(function () {
79+
if (dep) {
80+
var instance = $uibModal.open({
81+
templateUrl: 'src/view/warningModal.html',
82+
controller: 'warning',
83+
ariaLabelledBy: 'modal-title',
84+
ariaDescribedBy: 'modal-body',
85+
animation: true,
86+
size: 'sm',
87+
resolve: {
88+
filter: function () {
89+
return cur_filter;
90+
}
91+
}
92+
});
8793

88-
for (var i = 0; i < $scope.model.filters.length; i++) {
89-
if ($scope.model.filters[i].dependsOn === null) {
90-
$scope.model.filters[i].dependsOn = "";
91-
}
92-
}
93-
}, function () {
94+
instance.result.then(function () {
9495

95-
for (var i = 0; i < $scope.model.filters.length; i++) {
96-
if ($scope.model.filters[i].dependsOn === null) {
97-
$scope.model.filters[i].dependsOn = cur_filter.name;
98-
}
99-
}
100-
});
96+
for (var i = 0; i < $scope.model.filters.length; i++) {
97+
if ($scope.model.filters[i].dependsOn === null) {
98+
$scope.model.filters[i].dependsOn = "";
99+
}
100+
}
101+
}, function () {
101102

102-
break;
103+
for (var i = 0; i < $scope.model.filters.length; i++) {
104+
if ($scope.model.filters[i].dependsOn === null) {
105+
$scope.model.filters[i].dependsOn = cur_filter.name;
106+
}
103107
}
104-
}
108+
});
105109
}
106110
}
107111

csp/src/view/sql.html

+9-4
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
<div class="row">
44
<div class="col-md-offset-3 col-md-6">
55
<div class="row text-center">
6-
<i>The first column of the query will be used as the <a
7-
href="http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=D2MODADV_ch_kpi#D2MODADV_kpi_result_set"
8-
target="_blank"
9-
>KPI Series</a>.</i>
6+
<div>
7+
<i>The first column of the query will be used as the <a
8+
href="http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=D2MODADV_ch_kpi#D2MODADV_kpi_result_set"
9+
target="_blank"
10+
>KPI Series</a>.</i>
11+
</div>
12+
<div>
13+
<i>Please, don't use aliases in your SQL queries, otherwise the operation of dynamically generated filters may be incorrect. </i>
14+
</div>
1015
</div>
1116

1217
<div class="row">

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "SQLKPI",
33
"author": "Makarov S.D",
4-
"version": "0.1.0",
4+
"version": "0.1.1",
55
"devDependencies": {
66
"del": "^3.0.0",
77
"gulp": "github:gulpjs/gulp#4.0",

0 commit comments

Comments
 (0)