Commit c434383b72b1209737158bb7c5589b9a3e5177ae
Merge branch 'master' of github.com:thingsboard/thingsboard
Showing
6 changed files
with
32 additions
and
11 deletions
... | ... | @@ -273,23 +273,17 @@ updates: |
273 | 273 | spring.mvc.cors: |
274 | 274 | mappings: |
275 | 275 | # Intercept path |
276 | - "/api/auth/**": | |
276 | + "[/api/**]": | |
277 | 277 | #Comma-separated list of origins to allow. '*' allows all origins. When not set,CORS support is disabled. |
278 | 278 | allowed-origins: "*" |
279 | 279 | #Comma-separated list of methods to allow. '*' allows all methods. |
280 | - allowed-methods: "POST,GET,OPTIONS" | |
280 | + allowed-methods: "*" | |
281 | 281 | #Comma-separated list of headers to allow in a request. '*' allows all headers. |
282 | 282 | allowed-headers: "*" |
283 | 283 | #How long, in seconds, the response from a pre-flight request can be cached by clients. |
284 | 284 | max-age: "1800" |
285 | 285 | #Set whether credentials are supported. When not set, credentials are not supported. |
286 | 286 | allow-credentials: "true" |
287 | - "/api/v1/**": | |
288 | - allowed-origins: "*" | |
289 | - allowed-methods: "*" | |
290 | - allowed-headers: "*" | |
291 | - max-age: "1800" | |
292 | - allow-credentials: "true" | |
293 | 287 | |
294 | 288 | # spring serve gzip compressed static resources |
295 | 289 | spring.resources.chain: | ... | ... |
... | ... | @@ -283,7 +283,7 @@ function Contact($compile, $templateCache) { |
283 | 283 | "Austria": "[0-9]{4}", |
284 | 284 | "Belgium": "[0-9]{4}", |
285 | 285 | "Brazil": "[0-9]{5}[\\-]?[0-9]{3}", |
286 | - "Canada": "[A-Za-z][0-9][A-Za-z] [0-9][A-Za-z][0-9]", | |
286 | + "Canada": "^(?!.*[DFIOQU])[A-VXY][0-9][A-Z][ -]?[0-9][A-Z][0-9]$", | |
287 | 287 | "Denmark": "[0-9]{3,4}", |
288 | 288 | "Faroe Islands": "[0-9]{3,4}", |
289 | 289 | "Netherlands": "[1-9][0-9]{3}\\s?[a-zA-Z]{2}", | ... | ... |
... | ... | @@ -1295,7 +1295,8 @@ |
1295 | 1295 | "metadata-required": "Metadata entries can't be empty.", |
1296 | 1296 | "output": "Output", |
1297 | 1297 | "test": "Test", |
1298 | - "help": "Help" | |
1298 | + "help": "Help", | |
1299 | + "reset-debug-mode": "Reset debug mode in all nodes" | |
1299 | 1300 | }, |
1300 | 1301 | "tenant": { |
1301 | 1302 | "tenant": "Tenant", | ... | ... |
... | ... | @@ -1288,7 +1288,8 @@ |
1288 | 1288 | "metadata-required": "Метаданные объекта не могут быть пустыми.", |
1289 | 1289 | "output": "Выход", |
1290 | 1290 | "test": "Протестировать", |
1291 | - "help": "Помощь" | |
1291 | + "help": "Помощь", | |
1292 | + "reset-debug-mode": "Сбросить режим отладки во всех правилах" | |
1292 | 1293 | }, |
1293 | 1294 | "tenant": { |
1294 | 1295 | "tenant": "Владелец", | ... | ... |
... | ... | @@ -108,6 +108,9 @@ export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $time |
108 | 108 | vm.objectsSelected = objectsSelected; |
109 | 109 | vm.deleteSelected = deleteSelected; |
110 | 110 | |
111 | + vm.isDebugModeEnabled = isDebugModeEnabled; | |
112 | + vm.resetDebugModeInAllNodes = resetDebugModeInAllNodes; | |
113 | + | |
111 | 114 | vm.triggerResize = triggerResize; |
112 | 115 | |
113 | 116 | vm.openRuleChainContextMenu = openRuleChainContextMenu; |
... | ... | @@ -1342,6 +1345,19 @@ export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $time |
1342 | 1345 | vm.modelservice.deleteSelected(); |
1343 | 1346 | } |
1344 | 1347 | |
1348 | + function isDebugModeEnabled() { | |
1349 | + var res = $filter('filter')(vm.ruleChainModel.nodes, {debugMode: true}); | |
1350 | + return (res && res.length); | |
1351 | + } | |
1352 | + | |
1353 | + function resetDebugModeInAllNodes() { | |
1354 | + vm.ruleChainModel.nodes.forEach((node) => { | |
1355 | + if (node.component.type != types.ruleNodeType.INPUT.value && node.component.type != types.ruleNodeType.RULE_CHAIN.value) { | |
1356 | + node.debugMode = false; | |
1357 | + } | |
1358 | + }); | |
1359 | + } | |
1360 | + | |
1345 | 1361 | function triggerResize() { |
1346 | 1362 | var w = angular.element($window); |
1347 | 1363 | w.triggerHandler('resize'); | ... | ... |
... | ... | @@ -223,6 +223,15 @@ |
223 | 223 | </md-tooltip> |
224 | 224 | <ng-md-icon icon="delete"></ng-md-icon> |
225 | 225 | </md-button> |
226 | + <md-button ng-disabled="$root.loading || !vm.isDebugModeEnabled()" | |
227 | + class="tb-btn-footer md-accent md-hue-2 md-fab" | |
228 | + aria-label="{{ 'rulenode.reset-debug-mode' | translate }}" | |
229 | + ng-click="vm.resetDebugModeInAllNodes()"> | |
230 | + <md-tooltip md-direction="top"> | |
231 | + {{ 'rulenode.reset-debug-mode' | translate }} | |
232 | + </md-tooltip> | |
233 | + <ng-md-icon icon="bug_report"></ng-md-icon> | |
234 | + </md-button> | |
226 | 235 | <md-button ng-disabled="$root.loading || vm.isInvalid || (!vm.isDirty && !vm.isImport)" |
227 | 236 | class="tb-btn-footer md-accent md-hue-2 md-fab" |
228 | 237 | aria-label="{{ 'action.apply' | translate }}" | ... | ... |