mirror of
https://github.com/openstf/stf
synced 2025-10-05 10:39:25 +02:00
Started enhancing device list details with prefiltered information.
Moved enhanced data away from device service.
This commit is contained in:
parent
b139849b3f
commit
7982e2bcbe
4 changed files with 39 additions and 56 deletions
|
@ -15,35 +15,35 @@ module.exports = angular.module('stf.device-status', [])
|
|||
}
|
||||
})
|
||||
// TODO: translate here the rest
|
||||
.filter('batteryHealth', function (gettext) {
|
||||
.filter('batteryHealth', function (gettext, $filter) {
|
||||
return function (text) {
|
||||
return {
|
||||
return $filter('translate')({
|
||||
'cold': gettext('Cold'),
|
||||
'good': gettext('Good'),
|
||||
'dead': gettext('Dead'),
|
||||
'over_voltage': gettext('Over Voltage'),
|
||||
'overheat': gettext('Overheat'),
|
||||
'unspecified_failure': gettext('Unspecified Failure')
|
||||
}[text] || gettext('-')
|
||||
}[text] || gettext('-'))
|
||||
}
|
||||
})
|
||||
.filter('batterySource', function (gettext) {
|
||||
.filter('batterySource', function (gettext, $filter) {
|
||||
return function (text) {
|
||||
return {
|
||||
return $filter('translate')({
|
||||
'ac': gettext('AC'),
|
||||
'usb': gettext('USB'),
|
||||
'wireless': gettext('Wireless')
|
||||
}[text] || gettext('-')
|
||||
}[text] || gettext('-'))
|
||||
}
|
||||
})
|
||||
.filter('batteryStatus', function (gettext) {
|
||||
.filter('batteryStatus', function (gettext, $filter) {
|
||||
return function (text) {
|
||||
return {
|
||||
return $filter('translate')({
|
||||
'charging': gettext('Charging'),
|
||||
'discharging': gettext('Discharging'),
|
||||
'full': gettext('Full'),
|
||||
'not_charging': gettext('Not Charging')
|
||||
}[text] || gettext('-')
|
||||
}[text] || gettext('-'))
|
||||
}
|
||||
})
|
||||
.filter('displayDensity', function (gettext) {
|
||||
|
@ -58,9 +58,9 @@ module.exports = angular.module('stf.device-status', [])
|
|||
}[text] || text
|
||||
}
|
||||
})
|
||||
.filter('networkType', function (gettext) {
|
||||
.filter('networkType', function (gettext, $filter) {
|
||||
return function (text) {
|
||||
return {
|
||||
return $filter('translate')({
|
||||
'bluetooth': gettext('Bluetooth'),
|
||||
'dummy': gettext('Dummy'),
|
||||
'ethernet': gettext('Ethernet'),
|
||||
|
@ -71,17 +71,17 @@ module.exports = angular.module('stf.device-status', [])
|
|||
'mobile_supl': gettext('Mobile SUPL'),
|
||||
'mobile_wifi': gettext('WiFi'),
|
||||
'wimax': gettext('WiMAX')
|
||||
}[text] || text
|
||||
}[text] || text)
|
||||
}
|
||||
})
|
||||
.filter('networkSubType', function (gettext) {
|
||||
.filter('networkSubType', function (gettext, $filter) {
|
||||
return function (text) {
|
||||
return {
|
||||
'mobile_wifi': gettext('WiFi'),
|
||||
}[text] || text
|
||||
return $filter('translate')({
|
||||
'mobile_wifi': gettext('WiFi')
|
||||
}[text] || text)
|
||||
}
|
||||
})
|
||||
.filter('humanizedBool', function (gettext) {
|
||||
.filter('humanizedBool', function (gettext, $filter) {
|
||||
return function (text) {
|
||||
switch (text) {
|
||||
case true:
|
||||
|
|
|
@ -94,28 +94,9 @@ module.exports = function DeviceServiceFactory($http, socket, $filter) {
|
|||
}
|
||||
}
|
||||
|
||||
// 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')
|
||||
|
||||
$scope.$broadcast('device.synced', data)
|
||||
}
|
||||
|
||||
// For convenience, add the sorting priority to each state
|
||||
function getStateSorting(state) {
|
||||
return {
|
||||
'using': 1,
|
||||
'available': 2,
|
||||
'ready': 3,
|
||||
'present': 4,
|
||||
'busy': 5,
|
||||
'unauthorized': 6,
|
||||
'offline': 7,
|
||||
'preparing': 8,
|
||||
'absent': 9
|
||||
}[state] || 10
|
||||
}
|
||||
|
||||
function get(data) {
|
||||
return devices[devicesBySerial[data.serial]]
|
||||
|
|
|
@ -29,8 +29,8 @@ module.exports = function DeviceListCtrlDetails($scope, DeviceService, GroupServ
|
|||
// })
|
||||
|
||||
var initialSorting = {
|
||||
stateSorting: 'asc',
|
||||
name: 'asc'
|
||||
enhancedStateSorting: 'asc',
|
||||
enhancedName: 'asc'
|
||||
}
|
||||
$scope.tableSorting = initialSorting
|
||||
|
||||
|
@ -102,14 +102,16 @@ module.exports = function DeviceListCtrlDetails($scope, DeviceService, GroupServ
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// TODO: Implement real dynamic colums! Using showAll is too slow
|
||||
|
||||
|
||||
$scope.dynamicColumns = [
|
||||
{ title: 'Model', field: 'model', sortable: 'model', filter: {model: 'text'}, visible: true
|
||||
{ title: 'Model', field: 'enhancedModel', sortable: 'enhancedModel', filter: {enhancedModel: 'text'}, visible: true
|
||||
}
|
||||
,
|
||||
{ title: 'Product', field: 'name', sortable: 'name', filter: {name: 'text'}, visible: true
|
||||
{ title: 'Product', field: 'enhancedName', sortable: 'enhancedName', filter: {enhancedName: 'text'}, visible: true
|
||||
}
|
||||
,
|
||||
{ title: 'Carrier', field: 'operator', sortable: 'operator', filter: {operator: 'text'}, visible: true
|
||||
|
|
|
@ -93,32 +93,32 @@ div.stf-device-list
|
|||
table.table.table-hover.dataTable(ng-table='tableParams', show-filter='filterEnabled', ng-show='tracker.devices.length').device-list-details
|
||||
tr(ng-repeat='device in $data', ng-class='{ "device-not-usable": !device.usable }', ng-hide='!device.model')
|
||||
|
||||
td(data-title="'Status'|translate", sortable='"stateSorting"', filter="{ 'usable': 'select' }", filter-data="statusFilter($column)")
|
||||
td(data-title="'Status'|translate", sortable='"enhancedStateSorting"', filter="{ 'usable': 'select' }", filter-data="statusFilter($column)")
|
||||
|
||||
button(ng-class='device.enhancedButtonClass',
|
||||
ng-dblclick='tryToKick(device)',
|
||||
ng-click='device.usable && toggle(device)').btn.btn-xs.device-status {{device.state|statusName|translate}}
|
||||
ng-click='device.usable && toggle(device)').btn.btn-xs.device-status {{device.enhancedState}}
|
||||
|
||||
td(data-title="::'Model'|translate", sortable='"model"', filter='{"model": "text"}')
|
||||
span.device-small-image
|
||||
img(ng-src='/static/devices/icon/x24/{{ ::device.image || "E30HT.jpg" }}')
|
||||
img(ng-src='{{device.enhancedImage24}}')
|
||||
|
||||
span(ng-if='device.state !== "using"') {{device.model}}
|
||||
a(ng-if='device.state === "using"', ng-href='/#!/control/{{ device.serial }}') {{device.model}}
|
||||
span(ng-if='device.state !== "using"') {{device.enhancedModel}}
|
||||
a(ng-if='device.state === "using"', ng-href='/#!/control/{{ device.serial }}') {{device.enhancedModel}}
|
||||
|
||||
td(data-title="'Product'|translate", sortable='"name"', filter='{"name": "text"}').device-list-product
|
||||
span {{::device.name}}
|
||||
td(data-title="'Product'|translate", sortable='"enhancedName"', filter='{"enhancedName": "text"}').device-list-product
|
||||
span {{::device.enhancedName}}
|
||||
td(data-title="'Carrier'|translate", sortable='"operator"', filter='{"operator": "text"}').device-list-carrier
|
||||
span {{::device.operator}}
|
||||
td(data-title="'Released'|translate", sortable='"releasedAtFormatted"', filter='{"releasedAtFormatted": "text"}')
|
||||
span {{::device.releasedAtFormatted}}
|
||||
td(data-title="'Released'|translate", sortable='"enhancedReleasedAt"', filter='{"enhancedReleasedAt": "text"}')
|
||||
span {{::device.enhancedReleasedAt}}
|
||||
td(data-title="'OS'|translate", sortable='"version"', filter='{"version": "text"}')
|
||||
span {{::device.version}}
|
||||
td(data-title="'Network'|translate", sortable='"phone.network"', filter='{"phone": "text"}')
|
||||
span {{device.phone.network}}
|
||||
|
||||
td(ng-show='showAll', data-title="'Screen'|translate", sortable='"display.width"', filter='{"display": "text"}')
|
||||
span {{device.display.width}}x{{device.display.height}}
|
||||
td(ng-show='showAll', data-title="'Screen'|translate", sortable='"enhanceDisplayRes"', filter='{"enhanceDisplayRes": "text"}')
|
||||
span {{device.enhanceDisplayRes}}
|
||||
td(ng-show='showAll', data-title="'Serial'|translate", sortable='"serial"', filter='{"serial": "text"}')
|
||||
span {{::device.serial}}
|
||||
td(ng-show='showAll', data-title="'Manufacturer'|translate", sortable='"manufacturer"', filter='{"manufacturer": "text"}')
|
||||
|
@ -135,16 +135,16 @@ div.stf-device-list
|
|||
span {{device.phone.iccid}}
|
||||
|
||||
td(ng-show='showAll', data-title="'Battery Health'|translate", sortable='"battery.health"')
|
||||
span {{device.battery.health | batteryHealth | translate }}
|
||||
span {{ enhancedBatteryHealth }}
|
||||
td(ng-show='showAll', data-title="'Battery Source'|translate", sortable='"battery.source"')
|
||||
span {{device.battery.source | batterySource | translate }}
|
||||
span {{ enhancedBatterySource }}
|
||||
td(ng-show='showAll', data-title="'Battery Status'|translate", sortable='"battery.status"')
|
||||
span {{device.battery.status | batteryStatus | translate }}
|
||||
span {{ enhancedBatteryStatus }}
|
||||
td(ng-show='showAll', data-title="'Battery Level'|translate", sortable='"battery.level"')
|
||||
progressbar(value='device.battery.level', max='device.battery.scale', type='success')
|
||||
span {{ device.battery.level / device.battery.scale * 100 }}%
|
||||
span {{ device.enhancedBatteryPercentage }}
|
||||
td(ng-show='showAll', data-title="'Battery Temperature'|translate", sortable='"battery.temp"')
|
||||
span {{device.battery.temp}}°C
|
||||
span {{device.enhancedBatteryTemp}}
|
||||
|
||||
td(data-title="'Location'|translate", sortable='"provider.name"', filter='{"provider": "text"}')
|
||||
span {{::device.provider.name}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue