TB-49: Add back navigation ability in customer profile view in full-screen mode.

This commit is contained in:
Igor Kulikov 2017-04-17 20:22:16 +03:00
parent 0a78e0b081
commit 38e735b26c
3 changed files with 56 additions and 33 deletions

View File

@ -211,6 +211,10 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra
vm.items.pending = true; vm.items.pending = true;
promise.then( promise.then(
function success(items) { function success(items) {
if (vm.items.reloadPending) {
vm.items.pending = false;
reload();
} else {
vm.items.data = vm.items.data.concat(items.data); vm.items.data = vm.items.data.concat(items.data);
var startIndex = vm.items.data.length - items.data.length; var startIndex = vm.items.data.length - items.data.length;
var endIndex = vm.items.data.length; var endIndex = vm.items.data.length;
@ -231,6 +235,7 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra
vm.items.nextPageLink.limit = pageSize; vm.items.nextPageLink.limit = pageSize;
} }
vm.items.pending = false; vm.items.pending = false;
}
}, },
function fail() { function fail() {
vm.items.hasNext = false; vm.items.hasNext = false;
@ -425,6 +430,17 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra
} }
$scope.$on('searchTextUpdated', function () { $scope.$on('searchTextUpdated', function () {
reload();
});
vm.onGridInited(vm);
vm.itemRows.getItemAtIndex(pageSize);
function reload() {
if (vm.items && vm.items.pending) {
vm.items.reloadPending = true;
} else {
vm.items = { vm.items = {
data: [], data: [],
rowData: [], rowData: [],
@ -438,12 +454,10 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra
pending: false pending: false
}; };
vm.detailsConfig.isDetailsOpen = false; vm.detailsConfig.isDetailsOpen = false;
vm.items.reloadPending = false;
vm.itemRows.getItemAtIndex(pageSize); vm.itemRows.getItemAtIndex(pageSize);
}); }
}
vm.onGridInited(vm);
vm.itemRows.getItemAtIndex(pageSize);
function refreshList() { function refreshList() {
$state.go($state.current, vm.refreshParamsFunc(), {reload: true}); $state.go($state.current, vm.refreshParamsFunc(), {reload: true});

View File

@ -26,7 +26,7 @@ import logoSvg from '../../svg/logo_title_white.svg';
/*@ngInject*/ /*@ngInject*/
export default function HomeController(loginService, userService, deviceService, Fullscreen, $scope, $element, $rootScope, $document, $state, export default function HomeController(loginService, userService, deviceService, Fullscreen, $scope, $element, $rootScope, $document, $state,
$log, $mdMedia, $animate, $timeout) { $window, $log, $mdMedia, $animate, $timeout) {
var siteSideNav = $('.tb-site-sidenav', $element); var siteSideNav = $('.tb-site-sidenav', $element);
@ -48,6 +48,7 @@ export default function HomeController(loginService, userService, deviceService,
vm.displaySearchMode = displaySearchMode; vm.displaySearchMode = displaySearchMode;
vm.openSidenav = openSidenav; vm.openSidenav = openSidenav;
vm.goBack = goBack;
vm.searchTextUpdated = searchTextUpdated; vm.searchTextUpdated = searchTextUpdated;
vm.sidenavClicked = sidenavClicked; vm.sidenavClicked = sidenavClicked;
vm.toggleFullscreen = toggleFullscreen; vm.toggleFullscreen = toggleFullscreen;
@ -104,6 +105,10 @@ export default function HomeController(loginService, userService, deviceService,
vm.isShowSidenav = true; vm.isShowSidenav = true;
} }
function goBack() {
$window.history.back();
}
function closeSidenav() { function closeSidenav() {
vm.isShowSidenav = false; vm.isShowSidenav = false;
} }

View File

@ -45,6 +45,10 @@
class="md-icon-button" ng-click="vm.openSidenav()" aria-label="{{ 'home.menu' | translate }}" ng-class="{'tb-invisible': vm.displaySearchMode()}"> class="md-icon-button" ng-click="vm.openSidenav()" aria-label="{{ 'home.menu' | translate }}" ng-class="{'tb-invisible': vm.displaySearchMode()}">
<md-icon aria-label="{{ 'home.menu' | translate }}" class="material-icons">menu</md-icon> <md-icon aria-label="{{ 'home.menu' | translate }}" class="material-icons">menu</md-icon>
</md-button> </md-button>
<md-button ng-show="forceFullscreen"
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-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="searchConfig.showSearch = !searchConfig.showSearch" 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>