diff --git a/ui/src/app/event/event-row-debug-rulenode.tpl.html b/ui/src/app/event/event-row-debug-rulenode.tpl.html index ec00b39ef1..5b96bafd62 100644 --- a/ui/src/app/event/event-row-debug-rulenode.tpl.html +++ b/ui/src/app/event/event-row-debug-rulenode.tpl.html @@ -24,7 +24,7 @@
{{event.body.dataType}}
{{ 'action.view' | translate }} diff --git a/ui/src/app/locale/locale.constant.js b/ui/src/app/locale/locale.constant.js index 0a17e3993a..f616fec1a0 100644 --- a/ui/src/app/locale/locale.constant.js +++ b/ui/src/app/locale/locale.constant.js @@ -1187,6 +1187,7 @@ export default angular.module('thingsboard.locale', []) "rulenode": { "details": "Details", "events": "Events", + "search": "Search nodes", "add": "Add rule node", "name": "Name", "name-required": "Name is required.", diff --git a/ui/src/app/rulechain/rulechain.controller.js b/ui/src/app/rulechain/rulechain.controller.js index 83bca325ab..7de72c31bd 100644 --- a/ui/src/app/rulechain/rulechain.controller.js +++ b/ui/src/app/rulechain/rulechain.controller.js @@ -43,6 +43,9 @@ export function RuleChainController($stateParams, $scope, $compile, $q, $mdUtil, vm.editingRuleNodeLink = null; vm.isEditingRuleNodeLink = false; + vm.isLibraryOpen = true; + vm.ruleNodeSearch = ''; + vm.ruleChain = ruleChain; vm.ruleChainMetaData = ruleChainMetaData; @@ -131,11 +134,11 @@ export function RuleChainController($stateParams, $scope, $compile, $q, $mdUtil, } vm.onEditRuleNodeClosed = function() { - //vm.editingRuleNode = null; + vm.editingRuleNode = null; }; vm.onEditRuleNodeLinkClosed = function() { - //vm.editingRuleNodeLink = null; + vm.editingRuleNodeLink = null; }; vm.saveRuleNode = function(theForm) { diff --git a/ui/src/app/rulechain/rulechain.scss b/ui/src/app/rulechain/rulechain.scss index c9b2ced8f5..38f785a4d2 100644 --- a/ui/src/app/rulechain/rulechain.scss +++ b/ui/src/app/rulechain/rulechain.scss @@ -18,13 +18,58 @@ .tb-fullscreen-button-style { z-index: 1; } + section.tb-header-buttons.tb-library-open { + pointer-events: none; + position: absolute; + left: 0px; + top: 0px; + z-index: 1; + .md-button.tb-btn-open-library { + left: 0px; + top: 0px; + line-height: 36px; + width: 36px; + height: 36px; + margin: 4px 0 0 4px; + opacity: 0.5; + } + } .tb-rulechain-library { width: 250px; min-width: 250px; - overflow-y: auto; - overflow-x: hidden; - + z-index: 1; + md-toolbar { + min-height: 48px; + height: 48px; + .md-toolbar-tools>.md-button:last-child { + margin-right: 0px; + } + .md-toolbar-tools { + font-size: 14px; + padding: 0px 6px; + .md-button.md-icon-button { + margin: 0px; + &.tb-small { + height: 32px; + min-height: 32px; + line-height: 20px; + padding: 6px; + width: 32px; + md-icon { + line-height: 20px; + font-size: 20px; + height: 20px; + width: 20px; + min-height: 20px; + min-width: 20px; + } + } + } + } + } .tb-rulechain-library-panel-group { + overflow-y: auto; + overflow-x: hidden; .tb-panel-title { -webkit-user-select: none; -moz-user-select: none; @@ -33,7 +78,7 @@ min-width: 180px; } .fc-canvas { - background: none; + background: #f9f9f9; } md-icon.md-expansion-panel-icon { margin-right: 0px; @@ -55,6 +100,7 @@ } } .tb-rulechain-graph { + z-index: 0; overflow: auto; } } diff --git a/ui/src/app/rulechain/rulechain.tpl.html b/ui/src/app/rulechain/rulechain.tpl.html index b25447e175..ddc1a90b9d 100644 --- a/ui/src/app/rulechain/rulechain.tpl.html +++ b/ui/src/app/rulechain/rulechain.tpl.html @@ -22,8 +22,54 @@ ng-keyup="vm.keyUp($event)">
-
- +
+ + + {{ 'action.apply-changes' | translate }} + + + +
+ + +
+ + search + + {{'rulenode.search' | translate}} + + +
+ + + + +
+ + close + + {{ 'action.close' | translate }} + + + + chevron_left + + {{ 'action.close' | translate }} + + +
+
+ @@ -49,7 +95,7 @@ -
+