Migrate "Pad Settings" dialog to bootstrap

before-leaflet
Candid Dauth 2016-10-04 17:25:39 +03:00
rodzic e1951a6ce4
commit 35104f2ecf
2 zmienionych plików z 55 dodań i 35 usunięć

Wyświetl plik

@ -1,16 +1,28 @@
<form>
<p class="error" ng-show="error">{{error}}</p>
<dl>
<dt>Link</dt>
<dd>{{urlPrefix}}{{padId}}</dd>
<div class="modal-header">
<button class="close" ng-click="$dismiss()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">Pad settings</h3>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div uib-alert class="alert-danger" ng-show="error">{{error}}</div>
<div class="form-group">
<label for="pad-link-input" class="col-sm-3 control-label">Link</label>
<div class="col-sm-9"><input id="pad-link-input" value="{{urlPrefix}}{{padId}}" class="form-control" readonly /></div>
</div>
<dt>Read-only link</dt>
<dd>{{urlPrefix}}{{padData.id}}</dd>
<div class="form-group">
<label for="pad-rolink-input" class="col-sm-3 control-label">Read-only link</label>
<div class="col-sm-9"><input id="pad-rolink-input" value="{{urlPrefix}}{{padData.id}}" class="form-control" readonly /></div>
</div>
<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="save()">Save</button>
</div>
</form>
<div class="form-group">
<label for="pad-name-input" class="col-sm-3 control-label">Pad name</label>
<div class="col-sm-9"><input id="pad-name-input" ng-model="padData.name" class="form-control" /></div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" ng-click="$dismiss()">Cancel</button>
<button type="button" class="btn btn-primary" ng-click="save()">Save</button>
</div>

Wyświetl plik

@ -1,29 +1,24 @@
(function(fp, $, ng, undefined) {
fp.app.factory("fpMapPad", [ "fpDialogs", "fpUtils", function(fpDialogs, fpUtils) {
fp.app.factory("fpMapPad", function($uibModal, fpUtils) {
return function(map) {
var ret = {
editPadSettings : function() {
var scope = map.socket.$new();
var padDataBkp = ng.copy(scope.padData);
scope.save = function() {
var padData = $.extend({ }, map.socket.padData);
delete padData.defaultView;
map.socket.emit("editPad", padData, function(err) {
if(err)
return scope.error = err;
padDataBkp = null;
scope.dialog.close();
});
};
scope.dialog = fpDialogs.open("map/pad/pad-settings.html", scope, "Pad settings", function() {
if(padDataBkp != null)
fpUtils.overwriteObject(padDataBkp, scope.padData);
var dialog = $uibModal.open({
templateUrl: "map/pad/pad-settings.html",
scope: map.socket,
controller: "fpMapPadSettingsCtrl",
size: "lg",
resolve: {
map: function() { return map; }
}
});
var preserve = fpUtils.preserveObject(map.socket, "padData", "padData", function() {
dialog.dismiss();
});
dialog.result.then(preserve.leave.bind(preserve), preserve.revert.bind(preserve));
}
};
@ -46,6 +41,19 @@
return ret;
};
} ]);
});
fp.app.controller("fpMapPadSettingsCtrl", function($scope, map) {
$scope.save = function() {
var padData = $.extend({ }, map.socket.padData);
delete padData.defaultView;
map.socket.emit("editPad", padData, function(err) {
if(err)
return $scope.error = err;
$scope.$close();
});
};
});
})(FacilPad, jQuery, angular);