From e1951a6ce477b39ed10f39a1322d46a96752070e Mon Sep 17 00:00:00 2001 From: Candid Dauth Date: Tue, 4 Oct 2016 17:13:11 +0300 Subject: [PATCH] Migrate "View as table" dialog to bootstrap --- frontend/app/app.css | 4 ++ frontend/app/table/table.html | 79 +++++++++++++++++++---------------- frontend/app/table/table.js | 73 ++++++++++++++++++-------------- 3 files changed, 90 insertions(+), 66 deletions(-) diff --git a/frontend/app/app.css b/frontend/app/app.css index 61035fc2..305c07ee 100644 --- a/frontend/app/app.css +++ b/frontend/app/app.css @@ -193,6 +193,10 @@ table.border input, table.border textarea, table.border select { width: 1px; } +.modal-fs { + width: 95%; +} + .messages { position: absolute; top: 10px; diff --git a/frontend/app/table/table.html b/frontend/app/table/table.html index a0591430..48e76d31 100644 --- a/frontend/app/table/table.html +++ b/frontend/app/table/table.html @@ -1,35 +1,44 @@ -

{{type.name}}

- - - - - - - - - - - - - - - -
Name Position{{field.name}}
{{marker.name}}{{marker.lat}},{{marker.lon}}
- - - - - - - - - - - - - - - - - -
Name Distance Time {{field.name}}
{{line.name}}{{round(line.distance, 2)}} km{{formatTime(line.time)}} h ({{routingMode(line.mode)}})
\ No newline at end of file + + + \ No newline at end of file diff --git a/frontend/app/table/table.js b/frontend/app/table/table.js index 58fe4a55..ff732b14 100644 --- a/frontend/app/table/table.js +++ b/frontend/app/table/table.js @@ -11,7 +11,23 @@ }; }); - fp.app.factory("fpTable", function(fpSocket, fpDialogs, $rootScope, fpTypeFields) { + fp.app.factory("fpTable", function(fpSocket, $rootScope, $uibModal) { + return { + showTable : function() { + var socket = fpSocket($rootScope.padId); + socket.updateBbox({ top: 90, left: -180, right: 180, bottom: -90, zoom: 0 }); + + $uibModal.open({ + templateUrl: "table/table.html", + scope: socket, + controller: "fpTableCtrl", + size: "fs" + }); + } + }; + }); + + fp.app.controller("fpTableCtrl", function($scope, fpTypeFields) { function _getField(type, fieldName) { for(var i=0; i").append(fpTypeFields.formatField(_getField(type, f), it.data[f])).text()); }; + }; + + $scope.getSortIcon = function(type, fieldName) { + if(($scope.sortField[type.id] == null ? "__name" : $scope.sortField[type.id]) == fieldName) { + return { + 'glyphicon': true, + 'glyphicon-triangle-bottom': !$scope.sortOrder[type.id], + 'glyphicon-triangle-top': $scope.sortOrder[type.id] }; - - socket.getSortField = function(type) { - var f = socket.sortField[type.id]; - - if(f == null || f == "__name" || f == "__distance" || f == "__time") - return function(it) { return _normaliseNumbers(it[f ? f.replace(/^__/, "") : "name"]) }; - else - return function(it) { return _normaliseNumbers($("
").append(fpTypeFields.formatField(_getField(type, f), it.data[f])).text()); }; - }; - - socket.getSortIcon = function(type, fieldName) { - return { - 'ui-icon': ((socket.sortField[type.id] == null ? "__name" : socket.sortField[type.id]) == fieldName), - 'ui-icon-triangle-1-s': !socket.sortOrder[type.id], - 'ui-icon-triangle-1-n': socket.sortOrder[type.id] - }; - }; - - socket.sortField = { }; - socket.sortOrder = { }; - - fpDialogs.open("table/table.html", socket, "Table", null, true); + } else { + return { }; } }; - }); + + $scope.sortField = { }; + $scope.sortOrder = { }; + }) })(FacilPad, jQuery, angular); \ No newline at end of file