facilmap/frontend/pad.html

195 wiersze
7.7 KiB
HTML
Czysty Wina Historia

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html ng-controller="PadCtrl">
<head>
<meta charset="utf-8">
<title fp-title="padData.name + ' – FacilPad'">FacilPad</title>
<script src="js/pad.js"></script>
<style type="text/css">
@import "pad.css";
@import "lib/jquery.ui.spinner-1.10.4.min.css";
</style>
</head>
<body>
<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>
<div id="map"></div>
<div id="map-disabled-cover" ng-show="!loaded || error"></div>
<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>
<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>
</ul></li>
<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>
<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>
</ul>
<div id="messages">
<p ng-repeat="message in messages" class="{{message.type}}">
{{message.message}}
<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>
</div>
<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>
</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">
<td><a href="javascript:" ng-click="displayView(view)">{{view.name}}</a></td>
<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>
<div id="view-marker-popup" fp-popup="currentMarker.xy">
<div class="content">
<h2>{{currentMarker.name}}</h2>
<p class="pos">Coordinates: {{round(currentMarker.position.lat, 5)}}, {{round(currentMarker.position.lon, 5)}}</p>
<div ng-bind-html="currentMarker.descriptionHtml"></div>
</div>
<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>
</div>
<a href="javascript:" ng-click="currentMarker=null" class="close-button">×</a>
</div>
<div id="view-line-popup" fp-popup="currentLine.clickXy">
<div class="content">
<h2>{{currentLine.name}}</h2>
<p class="distance">Distance: {{round(currentLine.distance, 2)}} km <span ng-show="currentLine.time != null">({{formatTime(currentLine.time)}} h{{routingMode(currentLine.mode)}})</span></p>
<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>
</div>
<a href="javascript:" ng-click="currentLine=null" class="close-button">×</a>
</div>
<div id="edit-marker-dialog" title="Edit marker" fp-dialog fp-preserve="markers[currentMarker.id]">
<form>
<p class="error" ng-show="dialogError">{{dialogError}}</p>
<dl>
<dt><label for="edit-marker-name">Name</label></dt>
<dd><input id="edit-marker-name" ng-model="currentMarker.name" /></dd>
<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>
<dt><label for="edit-marker-description">Description</label></dt>
<dd><textarea id="edit-marker-description" ng-model="currentMarker.description"></textarea></dd>
</dl>
<div>
<button ng-click="saveMarker(currentMarker)">Save</button>
</div>
</form>
</div>
<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>
<option value="fastest">Car (fastest)</option>
<option value="shortest">Car (shortest)</option>
<option value="bicycle">Bicycle</option>
<option value="pedestrian">Pedestrian</option>
</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>
<dd><input id="edit-line-width" ng-model="currentLine.width" fp-spinner /></dd>
<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>
<div id="pad-settings-dialog" title="Pad settings" fp-dialog fp-preserve="padData">
<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>
<dt><label for="pad-name-input">Pad name</label></dt>
<dd><input id="pad-name-input" ng-model="padData.name" /></dd>
</dl>
<div>
<button ng-click="savePadData()">Save</button>
</div>
</form>
</div>
<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>
</body>
</html>