facilmap/frontend/pad.html

195 wiersze
7.7 KiB
HTML
Czysty Zwykły widok Historia

2014-04-07 00:33:49 +00:00
<!DOCTYPE html>
2014-04-10 00:11:39 +00:00
<html ng-controller="PadCtrl">
2014-04-07 00:33:49 +00:00
<head>
2014-04-07 23:10:53 +00:00
<meta charset="utf-8">
<title fp-title="padData.name + ' – FacilPad'">FacilPad</title>
2014-04-07 00:33:49 +00:00
<script src="js/pad.js"></script>
<style type="text/css">
@import "pad.css";
2014-04-27 12:34:33 +00:00
@import "lib/jquery.ui.spinner-1.10.4.min.css";
2014-04-07 00:33:49 +00:00
</style>
</head>
<body>
2014-04-09 23:30:29 +00:00
<div ng-hide="loaded" style="position:absolute; top:0; left:0; right:0; bottom:0; padding:10px; background: #fff; z-index:100000; font-size:1.5em; font-weight:bold;">
Loading...
</div>
2014-04-07 00:33:49 +00:00
<div id="map"></div>
2014-04-09 23:58:36 +00:00
<div id="map-disabled-cover" ng-show="!loaded || error"></div>
2014-04-07 00:33:49 +00:00
<ul id="toolbox">
<li><a href="javascript:" ng-click="addMarker()" ng-hide="readonly">Add marker</a></li>
<li><a href="javascript:" ng-click="addLine()" ng-hide="readonly">Add line</a></li>
2014-04-09 23:27:12 +00:00
<li><a href="javascript:">Views</a><ul>
<li ng-repeat="(id, view) in views"><a href="javascript:" ng-click="displayView(view)">{{view.name}}</a></li>
<li><a href="javascript:" ng-click="openDialog('save-view-dialog')" ng-hide="readonly">Save current view</a></li>
<li><a href="javascript:" ng-click="openDialog('manage-views-dialog')" ng-hide="readonly">Manage views</a></li>
2014-04-07 00:33:49 +00:00
</ul></li>
2014-04-26 18:05:46 +00:00
<li><a href="javascript:">Layers</a><ul>
<li ng-repeat="layer in layers">
<a href="javascript:" ng-click="setLayer(layer)">
<input type="{{layer.isBaseLayer ? 'radio' : 'checkbox'}}" ng-checked="layer.visibility" />
{{layer.name}}
</a>
</li>
</ul></li>
2014-06-19 00:37:30 +00:00
<li><a href="javascript:">Tools</a><ul>
<li><a href="javascript:" ng-click="openDialog('copy-pad-dialog')" ng-hide="readonly">Copy pad</a></li>
<li><a href="javascript:" ng-click="openDialog('pad-settings-dialog')" ng-hide="readonly">Pad settings</a></li>
</ul></li>
2014-04-07 00:33:49 +00:00
</ul>
2014-04-07 23:10:53 +00:00
<div id="messages">
<p ng-repeat="message in messages" class="{{message.type}}">
{{message.message}}
2014-06-19 00:37:30 +00:00
<span ng-repeat="button in message.buttons">&nbsp;<a href="{{button.url || 'javascript:'}}" ng-click="button.click && button.click()">{{button.label}}</a></span>
<a href="javascript:" class="close-button" ng-click="closeMessage(message)">×</a>
</p>
2014-04-07 23:10:53 +00:00
</div>
2014-04-07 00:33:49 +00:00
<div id="save-view-dialog" title="Save current view" fp-dialog>
<form>
<p class="error" ng-hide="!dialogError">{{dialogError}}</p>
<dl>
<dt><label for="save-view-name">Name</label></dt>
<dd><input id="save-view-name" ng-model="saveViewName"></dd>
</dl>
<div>
<button type="submit" ng-click="saveView()">Save</button>
<button ng-click="saveView(true)">Save and make default view</button>
</div>
2014-04-07 00:33:49 +00:00
</form>
</div>
<div id="manage-views-dialog" title="Manage views" fp-dialog>
<p class="error" ng-hide="!dialogError">{{dialogError}}</p>
<table>
<tbody>
<tr ng-class="{selected: view.id == padData.defaultView.id}" ng-repeat="view in views">
2014-04-09 23:27:12 +00:00
<td><a href="javascript:" ng-click="displayView(view)">{{view.name}}</a></td>
2014-04-07 00:33:49 +00:00
<td class="button"><button ng-hide="view.id == padData.defaultView.id" ng-click="setDefaultView(view)">Make default</button></td>
<td class="button"><button ng-click="deleteView(view)">Delete</button></td>
</tr>
</tbody>
</table>
</div>
2014-04-07 23:10:53 +00:00
2014-04-27 17:39:50 +00:00
<div id="view-marker-popup" fp-popup="currentMarker.xy">
2014-04-09 23:27:12 +00:00
<div class="content">
<h2>{{currentMarker.name}}</h2>
2014-04-14 02:43:40 +00:00
<p class="pos">Coordinates: {{round(currentMarker.position.lat, 5)}}, {{round(currentMarker.position.lon, 5)}}</p>
2014-04-09 23:27:12 +00:00
<div ng-bind-html="currentMarker.descriptionHtml"></div>
2014-04-07 23:10:53 +00:00
</div>
2014-04-09 23:27:12 +00:00
<div class="buttons">
<button ng-click="openDialog('edit-marker-dialog')" ng-hide="readonly">Edit</button>
<button ng-click="moveMarker(currentMarker)" ng-hide="readonly">Move</button>
<button ng-click="deleteMarker(currentMarker)" ng-hide="readonly">Remove</button>
2014-04-09 23:27:12 +00:00
</div>
<a href="javascript:" ng-click="currentMarker=null" class="close-button">×</a>
2014-04-07 23:10:53 +00:00
</div>
2014-04-27 17:39:50 +00:00
<div id="view-line-popup" fp-popup="currentLine.clickXy">
2014-04-14 01:47:11 +00:00
<div class="content">
<h2>{{currentLine.name}}</h2>
2014-04-14 02:43:40 +00:00
<p class="distance">Distance: {{round(currentLine.distance, 2)}} km <span ng-show="currentLine.time != null">({{formatTime(currentLine.time)}} h{{routingMode(currentLine.mode)}})</span></p>
2014-04-14 01:47:11 +00:00
<div ng-bind-html="currentLine.descriptionHtml"></div>
</div>
<div class="buttons">
<button ng-click="openDialog('edit-line-dialog')" ng-hide="readonly">Edit</button>
<button ng-click="moveLine(currentLine)" ng-hide="readonly">Move</button>
<button ng-click="deleteLine(currentLine)" ng-hide="readonly">Remove</button>
2014-04-14 01:47:11 +00:00
</div>
<a href="javascript:" ng-click="currentLine=null" class="close-button">×</a>
</div>
2014-04-09 23:27:12 +00:00
<div id="edit-marker-dialog" title="Edit marker" fp-dialog fp-preserve="markers[currentMarker.id]">
2014-04-07 23:10:53 +00:00
<form>
<p class="error" ng-show="dialogError">{{dialogError}}</p>
<dl>
<dt><label for="edit-marker-name">Name</label></dt>
2014-04-09 23:27:12 +00:00
<dd><input id="edit-marker-name" ng-model="currentMarker.name" /></dd>
2014-04-07 23:10:53 +00:00
2014-04-13 21:45:51 +00:00
<dt><label for="edit-marker-style">Style</label></dt>
<dd><select id="edit-marker-style" ng-model="currentMarker.style">
<option value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
<option value="gold">Yellow</option>
</select></dd>
2014-04-07 23:10:53 +00:00
<dt><label for="edit-marker-description">Description</label></dt>
2014-04-09 23:27:12 +00:00
<dd><textarea id="edit-marker-description" ng-model="currentMarker.description"></textarea></dd>
2014-04-07 23:10:53 +00:00
</dl>
<div>
<button ng-click="saveMarker(currentMarker)">Save</button>
</div>
</form>
</div>
2014-04-07 23:24:14 +00:00
2014-04-14 01:47:11 +00:00
<div id="edit-line-dialog" title="Edit line" fp-dialog fp-preserve="lines[currentLine.id]">
<form>
<p class="error" ng-show="dialogError">{{dialogError}}</p>
<dl>
<dt><label for="edit-line-name">Name</label></dt>
<dd><input id="edit-line-name" ng-model="currentLine.name" /></dd>
<dt><label for="edit-line-mode">Routing mode</label></dt>
<dd><select id="edit-line-mode" ng-model="currentLine.mode">
<option value="">None</option>
2014-04-14 02:43:40 +00:00
<option value="fastest">Car (fastest)</option>
<option value="shortest">Car (shortest)</option>
2014-04-14 01:47:11 +00:00
<option value="bicycle">Bicycle</option>
2014-04-14 02:43:40 +00:00
<option value="pedestrian">Pedestrian</option>
2014-04-14 01:47:11 +00:00
</select></dd>
<dt><label for="edit-line-colour">Colour</label></dt>
<dd><input id="edit-line-colour" ng-model="currentLine.colour" fp-colour-picker></dd>
<dt><label for="edit-line-width">Width</label></dt>
2014-04-27 12:34:33 +00:00
<dd><input id="edit-line-width" ng-model="currentLine.width" fp-spinner /></dd>
2014-04-14 01:47:11 +00:00
<dt><label for="edit-line-description">Description</label></dt>
<dd><textarea id="edit-line-description" ng-model="currentLine.description"></textarea></dd>
</dl>
<div>
<button ng-click="saveLine(currentLine)">Save</button>
</div>
</form>
</div>
2014-04-09 23:27:12 +00:00
<div id="pad-settings-dialog" title="Pad settings" fp-dialog fp-preserve="padData">
2014-04-07 23:24:14 +00:00
<form>
<p class="error" ng-show="dialogError">{{dialogError}}</p>
<dl>
<dt>Link</dt>
<dd>{{urlPrefix}}{{padId}}</dd>
<dt>Read-only link</dt>
<dd>{{urlPrefix}}{{padData.id}}</dd>
2014-04-07 23:24:14 +00:00
<dt><label for="pad-name-input">Pad name</label></dt>
2014-04-09 23:27:12 +00:00
<dd><input id="pad-name-input" ng-model="padData.name" /></dd>
2014-04-07 23:24:14 +00:00
</dl>
<div>
<button ng-click="savePadData()">Save</button>
</div>
</form>
</div>
2014-06-19 00:37:30 +00:00
<div id="copy-pad-dialog" title="Copy pad" fp-dialog>
<form>
<p class="error" ng-show="dialogError">{{dialogError}}</p>
<dl>
<dt>Copy to</dt>
<dd>{{urlPrefix}}<input ng-model="copyPadId" class="inline" /></dd>
</dl>
<div>
<button ng-click="copyPad()">Copy</button>
</div>
</form>
</div>
<ul id="colour-picker">
<li ng-repeat="colour in colours" ng-style="{ 'background-color': '#'+colour }" data-colour="{{colour}}"></li>
</ul>
2014-04-07 00:33:49 +00:00
</body>
</html>