Commit c9a8ddb16b3056bc0e7f20372b2d8409f7a7d6e8
Committed by
mp-loki
1 parent
d530a98b
TB-49: Add back navigation ability in customer profile view in full-screen mode.
Showing
3 changed files
with
56 additions
and
33 deletions
@@ -211,26 +211,31 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra | @@ -211,26 +211,31 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra | ||
211 | vm.items.pending = true; | 211 | vm.items.pending = true; |
212 | promise.then( | 212 | promise.then( |
213 | function success(items) { | 213 | function success(items) { |
214 | - vm.items.data = vm.items.data.concat(items.data); | ||
215 | - var startIndex = vm.items.data.length - items.data.length; | ||
216 | - var endIndex = vm.items.data.length; | ||
217 | - for (var i = startIndex; i < endIndex; i++) { | ||
218 | - var item = vm.items.data[i]; | ||
219 | - item.index = i; | ||
220 | - var row = Math.floor(i / vm.columns); | ||
221 | - var itemRow = vm.items.rowData[row]; | ||
222 | - if (!itemRow) { | ||
223 | - itemRow = []; | ||
224 | - vm.items.rowData.push(itemRow); | 214 | + if (vm.items.reloadPending) { |
215 | + vm.items.pending = false; | ||
216 | + reload(); | ||
217 | + } else { | ||
218 | + vm.items.data = vm.items.data.concat(items.data); | ||
219 | + var startIndex = vm.items.data.length - items.data.length; | ||
220 | + var endIndex = vm.items.data.length; | ||
221 | + for (var i = startIndex; i < endIndex; i++) { | ||
222 | + var item = vm.items.data[i]; | ||
223 | + item.index = i; | ||
224 | + var row = Math.floor(i / vm.columns); | ||
225 | + var itemRow = vm.items.rowData[row]; | ||
226 | + if (!itemRow) { | ||
227 | + itemRow = []; | ||
228 | + vm.items.rowData.push(itemRow); | ||
229 | + } | ||
230 | + itemRow.push(item); | ||
225 | } | 231 | } |
226 | - itemRow.push(item); | ||
227 | - } | ||
228 | - vm.items.nextPageLink = items.nextPageLink; | ||
229 | - vm.items.hasNext = items.hasNext; | ||
230 | - if (vm.items.hasNext) { | ||
231 | - vm.items.nextPageLink.limit = pageSize; | 232 | + vm.items.nextPageLink = items.nextPageLink; |
233 | + vm.items.hasNext = items.hasNext; | ||
234 | + if (vm.items.hasNext) { | ||
235 | + vm.items.nextPageLink.limit = pageSize; | ||
236 | + } | ||
237 | + vm.items.pending = false; | ||
232 | } | 238 | } |
233 | - vm.items.pending = false; | ||
234 | }, | 239 | }, |
235 | function fail() { | 240 | function fail() { |
236 | vm.items.hasNext = false; | 241 | vm.items.hasNext = false; |
@@ -425,26 +430,35 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra | @@ -425,26 +430,35 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra | ||
425 | } | 430 | } |
426 | 431 | ||
427 | $scope.$on('searchTextUpdated', function () { | 432 | $scope.$on('searchTextUpdated', function () { |
428 | - vm.items = { | ||
429 | - data: [], | ||
430 | - rowData: [], | ||
431 | - nextPageLink: { | ||
432 | - limit: pageSize, | ||
433 | - textSearch: $scope.searchConfig.searchText | ||
434 | - }, | ||
435 | - selections: {}, | ||
436 | - selectedCount: 0, | ||
437 | - hasNext: true, | ||
438 | - pending: false | ||
439 | - }; | ||
440 | - vm.detailsConfig.isDetailsOpen = false; | ||
441 | - vm.itemRows.getItemAtIndex(pageSize); | 433 | + reload(); |
442 | }); | 434 | }); |
443 | 435 | ||
444 | vm.onGridInited(vm); | 436 | vm.onGridInited(vm); |
445 | 437 | ||
446 | vm.itemRows.getItemAtIndex(pageSize); | 438 | vm.itemRows.getItemAtIndex(pageSize); |
447 | 439 | ||
440 | + function reload() { | ||
441 | + if (vm.items && vm.items.pending) { | ||
442 | + vm.items.reloadPending = true; | ||
443 | + } else { | ||
444 | + vm.items = { | ||
445 | + data: [], | ||
446 | + rowData: [], | ||
447 | + nextPageLink: { | ||
448 | + limit: pageSize, | ||
449 | + textSearch: $scope.searchConfig.searchText | ||
450 | + }, | ||
451 | + selections: {}, | ||
452 | + selectedCount: 0, | ||
453 | + hasNext: true, | ||
454 | + pending: false | ||
455 | + }; | ||
456 | + vm.detailsConfig.isDetailsOpen = false; | ||
457 | + vm.items.reloadPending = false; | ||
458 | + vm.itemRows.getItemAtIndex(pageSize); | ||
459 | + } | ||
460 | + } | ||
461 | + | ||
448 | function refreshList() { | 462 | function refreshList() { |
449 | $state.go($state.current, vm.refreshParamsFunc(), {reload: true}); | 463 | $state.go($state.current, vm.refreshParamsFunc(), {reload: true}); |
450 | } | 464 | } |
@@ -26,7 +26,7 @@ import logoSvg from '../../svg/logo_title_white.svg'; | @@ -26,7 +26,7 @@ import logoSvg from '../../svg/logo_title_white.svg'; | ||
26 | 26 | ||
27 | /*@ngInject*/ | 27 | /*@ngInject*/ |
28 | export default function HomeController(loginService, userService, deviceService, Fullscreen, $scope, $element, $rootScope, $document, $state, | 28 | export default function HomeController(loginService, userService, deviceService, Fullscreen, $scope, $element, $rootScope, $document, $state, |
29 | - $log, $mdMedia, $animate, $timeout) { | 29 | + $window, $log, $mdMedia, $animate, $timeout) { |
30 | 30 | ||
31 | var siteSideNav = $('.tb-site-sidenav', $element); | 31 | var siteSideNav = $('.tb-site-sidenav', $element); |
32 | 32 | ||
@@ -48,6 +48,7 @@ export default function HomeController(loginService, userService, deviceService, | @@ -48,6 +48,7 @@ export default function HomeController(loginService, userService, deviceService, | ||
48 | 48 | ||
49 | vm.displaySearchMode = displaySearchMode; | 49 | vm.displaySearchMode = displaySearchMode; |
50 | vm.openSidenav = openSidenav; | 50 | vm.openSidenav = openSidenav; |
51 | + vm.goBack = goBack; | ||
51 | vm.searchTextUpdated = searchTextUpdated; | 52 | vm.searchTextUpdated = searchTextUpdated; |
52 | vm.sidenavClicked = sidenavClicked; | 53 | vm.sidenavClicked = sidenavClicked; |
53 | vm.toggleFullscreen = toggleFullscreen; | 54 | vm.toggleFullscreen = toggleFullscreen; |
@@ -104,6 +105,10 @@ export default function HomeController(loginService, userService, deviceService, | @@ -104,6 +105,10 @@ export default function HomeController(loginService, userService, deviceService, | ||
104 | vm.isShowSidenav = true; | 105 | vm.isShowSidenav = true; |
105 | } | 106 | } |
106 | 107 | ||
108 | + function goBack() { | ||
109 | + $window.history.back(); | ||
110 | + } | ||
111 | + | ||
107 | function closeSidenav() { | 112 | function closeSidenav() { |
108 | vm.isShowSidenav = false; | 113 | vm.isShowSidenav = false; |
109 | } | 114 | } |
@@ -45,6 +45,10 @@ | @@ -45,6 +45,10 @@ | ||
45 | class="md-icon-button" ng-click="vm.openSidenav()" aria-label="{{ 'home.menu' | translate }}" ng-class="{'tb-invisible': vm.displaySearchMode()}"> | 45 | class="md-icon-button" ng-click="vm.openSidenav()" aria-label="{{ 'home.menu' | translate }}" ng-class="{'tb-invisible': vm.displaySearchMode()}"> |
46 | <md-icon aria-label="{{ 'home.menu' | translate }}" class="material-icons">menu</md-icon> | 46 | <md-icon aria-label="{{ 'home.menu' | translate }}" class="material-icons">menu</md-icon> |
47 | </md-button> | 47 | </md-button> |
48 | + <md-button ng-show="forceFullscreen" | ||
49 | + class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="vm.goBack()" ng-class="{'tb-invisible': vm.displaySearchMode()}"> | ||
50 | + <md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon> | ||
51 | + </md-button> | ||
48 | <md-button class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="searchConfig.showSearch = !searchConfig.showSearch" ng-class="{'tb-invisible': !vm.displaySearchMode()}" > | 52 | <md-button class="md-icon-button" aria-label="{{ 'action.back' | translate }}" ng-click="searchConfig.showSearch = !searchConfig.showSearch" ng-class="{'tb-invisible': !vm.displaySearchMode()}" > |
49 | <md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon> | 53 | <md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon> |
50 | </md-button> | 54 | </md-button> |