diff --git a/bower.json b/bower.json index 21b6324d..a3dba315 100644 --- a/bower.json +++ b/bower.json @@ -39,7 +39,8 @@ "draggabilly": "~1.1.0", "angular-elastic": "~2.3.4", "quick-ng-repeat": "~0.0.1", - "angular-vs-repeat": "~1.0.0-rc2" + "angular-vs-repeat": "~1.0.0-rc2", + "checklist-model": "~0.1.3" }, "private": true, "resolutions": { diff --git a/res/app/device-list/device-list-details-controller.js b/res/app/device-list/device-list-details-controller.js index 36ae4566..ca6f9d67 100644 --- a/res/app/device-list/device-list-details-controller.js +++ b/res/app/device-list/device-list-details-controller.js @@ -104,11 +104,17 @@ module.exports = function DeviceListCtrlDetails($scope, DeviceService, GroupServ // TODO: Implement real dynamic colums! Using showAll is too slow - $scope.columns = [ + + $scope.dynamicColumns = [ { title: 'Model', field: 'model', sortable: 'model', filter: {model: 'text'}, visible: true } , { title: 'Product', field: 'name', sortable: 'name', filter: {name: 'text'}, visible: true } + , + { title: 'Carrier', field: 'operator', sortable: 'operator', filter: {operator: 'text'}, visible: true + } ] + + $scope.selectedColumns = [$scope.dynamicColumns[1]] } diff --git a/res/app/device-list/device-list.jade b/res/app/device-list/device-list.jade index 53e83d05..3b0175a1 100644 --- a/res/app/device-list/device-list.jade +++ b/res/app/device-list/device-list.jade @@ -62,6 +62,17 @@ div.stf-device-list clear-button(ng-click="clearSorting()") filter-button(ng-model='filterEnabled') .button-spacer.pull-right + .btn-group(dropdown).pull-right + button.btn.btn-sm.btn-primary-outline.dropdown-toggle + i.fa.fa-list-alt + span {{"Customize"|translate}} + + ul.dropdown-menu(role='menu', data-toggle='dropdown').pointer.unselectable + li(ng-repeat='column in dynamicColumns', ng-click='$event.stopPropagation()') + label.checkbox + input(type='checkbox', checklist-model='selectedColumns', checklist-value='column') + span(ng-bind='column.title') + button(btn-checkbox, ng-model='showAll').btn.btn-sm.btn-primary-outline.pull-right i.fa.fa-list-alt span {{"Show All"|translate}} @@ -87,7 +98,7 @@ div.stf-device-list ng-dblclick='tryToKick(device)', ng-click='device.usable && toggle(device)').btn.btn-xs.device-status {{device.state|statusName|translate}} - td(data-title="'Model'|translate", sortable='"model"', filter='{"model": "text"}') + td(data-title="'ModelX'|translate", sortable='"model"', filter='{"model": "text"}') span.device-small-image img(ng-src='/static/devices/icon/x24/{{ device.image || "_default.jpg" }}') diff --git a/res/app/device-list/index.js b/res/app/device-list/index.js index bc860a33..ffead286 100644 --- a/res/app/device-list/index.js +++ b/res/app/device-list/index.js @@ -1,9 +1,12 @@ require('./device-list.css') +require('checklist-model') + module.exports = angular.module('device-list', [ require('stf/device').name, require('stf/user/group').name, - require('stf/common-ui').name + require('stf/common-ui').name, + 'checklist-model' ]) .config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/devices', {