Merge pull request #209 from thingsboard/feature/TB-70
TB-70: Improve search usability for cards view.
This commit is contained in:
commit
54c4e449b0
@ -56,6 +56,8 @@ export default function HomeController(types, loginService, userService, deviceS
|
|||||||
vm.searchTextUpdated = searchTextUpdated;
|
vm.searchTextUpdated = searchTextUpdated;
|
||||||
vm.sidenavClicked = sidenavClicked;
|
vm.sidenavClicked = sidenavClicked;
|
||||||
vm.toggleFullscreen = toggleFullscreen;
|
vm.toggleFullscreen = toggleFullscreen;
|
||||||
|
vm.openSearch = openSearch;
|
||||||
|
vm.closeSearch = closeSearch;
|
||||||
|
|
||||||
$scope.$on('$stateChangeSuccess', function (evt, to, toParams, from) {
|
$scope.$on('$stateChangeSuccess', function (evt, to, toParams, from) {
|
||||||
watchEntitySubtype(false);
|
watchEntitySubtype(false);
|
||||||
@ -128,6 +130,25 @@ export default function HomeController(types, loginService, userService, deviceS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function openSearch() {
|
||||||
|
if ($scope.searchConfig.searchEnabled) {
|
||||||
|
$scope.searchConfig.showSearch = true;
|
||||||
|
$timeout(() => {
|
||||||
|
angular.element('#tb-search-text-input', $element).focus();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeSearch() {
|
||||||
|
if ($scope.searchConfig.searchEnabled) {
|
||||||
|
$scope.searchConfig.showSearch = false;
|
||||||
|
if ($scope.searchConfig.searchText.length) {
|
||||||
|
$scope.searchConfig.searchText = '';
|
||||||
|
searchTextUpdated();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function searchTextUpdated() {
|
function searchTextUpdated() {
|
||||||
$scope.$broadcast('searchTextUpdated');
|
$scope.$broadcast('searchTextUpdated');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="vm.goBack()" ng-class="{'tb-invisible': vm.displaySearchMode()}">
|
class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="vm.goBack()" ng-class="{'tb-invisible': vm.displaySearchMode()}">
|
||||||
<md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon>
|
<md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
<md-button class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="searchConfig.showSearch = !searchConfig.showSearch" ng-class="{'tb-invisible': !vm.displaySearchMode()}" >
|
<md-button class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="vm.closeSearch()" ng-class="{'tb-invisible': !vm.displaySearchMode()}" >
|
||||||
<md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon>
|
<md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
<div flex layout="row" ng-show="!vm.displaySearchMode()" tb-no-animate class="md-toolbar-tools">
|
<div flex layout="row" ng-show="!vm.displaySearchMode()" tb-no-animate class="md-toolbar-tools">
|
||||||
@ -64,10 +64,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<md-input-container ng-class="{'tb-entity-search': vm.displayEntitySubtypeSearch()}" flex>
|
<md-input-container ng-class="{'tb-entity-search': vm.displayEntitySubtypeSearch()}" flex>
|
||||||
<label> </label>
|
<label> </label>
|
||||||
<input ng-model="searchConfig.searchText" ng-change="vm.searchTextUpdated()" placeholder="{{ 'common.enter-search' | translate }}"/>
|
<input id="tb-search-text-input" ng-model="searchConfig.searchText" ng-change="vm.searchTextUpdated()" placeholder="{{ 'common.enter-search' | translate }}"/>
|
||||||
</md-input-container>
|
</md-input-container>
|
||||||
</div>
|
</div>
|
||||||
<md-button class="md-icon-button" aria-label="{{ 'action.search' | translate }}" ng-show="searchConfig.searchEnabled" ng-click="searchConfig.showSearch = !searchConfig.showSearch">
|
<md-button class="md-icon-button" aria-label="{{ 'action.search' | translate }}" ng-show="searchConfig.searchEnabled" ng-click="vm.openSearch()">
|
||||||
<md-icon aria-label="{{ 'action.search' | translate }}" class="material-icons">search</md-icon>
|
<md-icon aria-label="{{ 'action.search' | translate }}" class="material-icons">search</md-icon>
|
||||||
</md-button>
|
</md-button>
|
||||||
<md-button ng-show="!vm.displaySearchMode()" hide-xs hide-sm class="md-icon-button" ng-click="vm.toggleFullscreen()" aria-label="{{ 'fullscreen.toggle' | translate }}">
|
<md-button ng-show="!vm.displaySearchMode()" hide-xs hide-sm class="md-icon-button" ng-click="vm.toggleFullscreen()" aria-label="{{ 'fullscreen.toggle' | translate }}">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user