blob: b97e9e7b6f1b9de6faeb76a79bfe21bc4a9cf90c [file] [log] [blame]
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -08001/*
2 * Copyright 2015 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/*
Bri Prebilic Coleaa0f0882015-02-04 15:27:55 -080018 ONOS GUI -- Device View Module
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080019 */
20
21(function () {
22 'use strict';
Bri Prebilic Coleaa0f0882015-02-04 15:27:55 -080023 var currCol = {},
24 prevCol = {};
25
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080026
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080027 angular.module('ovDevice', [])
Bri Prebilic Cole4fab8af2015-01-15 16:40:47 -080028 .controller('OvDeviceCtrl', ['$log', '$location', 'RestService',
29 function ($log, $location, rs) {
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080030 var self = this;
31 self.deviceData = [];
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080032
Bri Prebilic Cole4fab8af2015-01-15 16:40:47 -080033 // TODO: remove test code
34 var testCase = $location.search().test;
35 var url = testCase ? 'test/' + testCase : 'device';
36
37 rs.get(url, function (data) {
38 self.deviceData = data.devices;
39 });
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080040
Bri Prebilic Coleaa0f0882015-02-04 15:27:55 -080041 d3.selectAll('th').on('click', function(d) {
42 var thElem = d3.select(this);
43 currCol.colId = thElem.attr('colId');
44
45 if(currCol.colId === prevCol.colId) {
46 (currCol.icon === 'tableColSortDesc') ?
47 currCol.icon = 'tableColSortAsc' :
48 currCol.icon = 'tableColSortDesc';
49 prevCol.icon = currCol.icon;
50 } else {
51 currCol.icon = 'tableColSortAsc';
52 prevCol.icon = 'tableColSortNone';
53 }
54
55 $log.debug('currCol clicked: ' + currCol.colId +
56 ', with sorting icon: ' + currCol.icon);
57 $log.debug('prevCol clicked: ' + prevCol.colId +
58 ', with its current sorting icon as ' + prevCol.icon);
59
60 // TODO: send the prev and currCol info to the server to use in sorting table here
61
62 prevCol.colId = currCol.colId;
63
64 });
65
Bri Prebilic Cole7c92a3d2015-01-09 16:50:03 -080066 $log.log('OvDeviceCtrl has been created');
67 }]);
68}());