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 | 211 | vm.items.pending = true; |
212 | 212 | promise.then( |
213 | 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 | 240 | function fail() { |
236 | 241 | vm.items.hasNext = false; |
... | ... | @@ -425,26 +430,35 @@ function GridController($scope, $state, $mdDialog, $document, $q, $timeout, $tra |
425 | 430 | } |
426 | 431 | |
427 | 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 | 436 | vm.onGridInited(vm); |
445 | 437 | |
446 | 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 | 462 | function refreshList() { |
449 | 463 | $state.go($state.current, vm.refreshParamsFunc(), {reload: true}); |
450 | 464 | } | ... | ... |
... | ... | @@ -26,7 +26,7 @@ import logoSvg from '../../svg/logo_title_white.svg'; |
26 | 26 | |
27 | 27 | /*@ngInject*/ |
28 | 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 | 31 | var siteSideNav = $('.tb-site-sidenav', $element); |
32 | 32 | |
... | ... | @@ -48,6 +48,7 @@ export default function HomeController(loginService, userService, deviceService, |
48 | 48 | |
49 | 49 | vm.displaySearchMode = displaySearchMode; |
50 | 50 | vm.openSidenav = openSidenav; |
51 | + vm.goBack = goBack; | |
51 | 52 | vm.searchTextUpdated = searchTextUpdated; |
52 | 53 | vm.sidenavClicked = sidenavClicked; |
53 | 54 | vm.toggleFullscreen = toggleFullscreen; |
... | ... | @@ -104,6 +105,10 @@ export default function HomeController(loginService, userService, deviceService, |
104 | 105 | vm.isShowSidenav = true; |
105 | 106 | } |
106 | 107 | |
108 | + function goBack() { | |
109 | + $window.history.back(); | |
110 | + } | |
111 | + | |
107 | 112 | function closeSidenav() { |
108 | 113 | vm.isShowSidenav = false; |
109 | 114 | } | ... | ... |
... | ... | @@ -45,6 +45,10 @@ |
45 | 45 | class="md-icon-button" ng-click="vm.openSidenav()" aria-label="{{ 'home.menu' | translate }}" ng-class="{'tb-invisible': vm.displaySearchMode()}"> |
46 | 46 | <md-icon aria-label="{{ 'home.menu' | translate }}" class="material-icons">menu</md-icon> |
47 | 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 | 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 | 53 | <md-icon aria-label="{{ 'action.back' | translate }}" class="material-icons">arrow_back</md-icon> |
50 | 54 | </md-button> | ... | ... |