1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-06 03:50:04 +02:00

Performance: Starting to remove biggest bottlenecks from digest cycle, filters.

Biggest are releasedAt and showAll, both consuming more than 1000ms (!).
This commit is contained in:
Gunther Brunner 2014-06-11 16:02:04 +09:00
parent 4b19d960d2
commit f56d70cebb
3 changed files with 10 additions and 5 deletions

View file

@ -1,7 +1,7 @@
var oboe = require('oboe')
var _ = require('lodash')
module.exports = function DeviceServiceFactory($http, socket) {
module.exports = function DeviceServiceFactory($http, socket, $filter) {
var deviceService = {}
function Tracker($scope, options) {
@ -94,7 +94,11 @@ module.exports = function DeviceServiceFactory($http, socket) {
}
}
// NOTE: For overall performance reasons, put all the filters here:
data.stateSorting = getStateSorting(data.state)
// TODO: i18n shortDate
data.releasedAtFormatted = $filter('date')(data.releasedAt, 'yyyy/MM/dd - X')
}
// For convenience, add the sorting priority to each state

View file

@ -102,6 +102,8 @@ module.exports = function DeviceListCtrlDetails($scope, DeviceService, GroupServ
}
}
// TODO: Implement real dynamic colums! Using showAll is too slow
$scope.columns = [
{ title: 'Model', field: 'model', sortable: 'model', filter: {model: 'text'}, visible: true
}

View file

@ -53,7 +53,7 @@ div.stf-device-list
tab(active='activeTabs.details', ng-show='!$root.basicMode')
tab-heading
i.fa.fa-list(translate)
i.fa.fa-list
span(translate) Details
div(ng-show='activeTabs.details', ng-controller='DeviceListDetailsCtrl').device-list-details-content
nothing-to-show(message='{{"No devices connected"|translate}}', icon='fa-sitemap', ng-show='!tracker.devices.length')
@ -98,9 +98,8 @@ div.stf-device-list
span {{device.name}}
td(data-title="'Carrier'|translate", sortable='"operator"', filter='{"operator": "text"}').device-list-carrier
span {{device.operator}}
td(data-title="'Released'|translate", sortable='"releasedAt"', filter='{"releasedAt": "text"}')
span {{device.releasedAt | date:'yyyy/MM/dd'}}
//span {{device.releasedAt | date:'shortDate'}}
td(data-title="'Released'|translate", sortable='"releasedAtFormatted"', filter='{"releasedAtFormatted": "text"}')
span {{device.releasedAtFormatted}}
td(data-title="'OS'|translate", sortable='"version"', filter='{"version": "text"}')
span {{device.version}}
td(data-title="'Network'|translate", sortable='"phone.network"', filter='{"phone": "text"}')