[Libreoffice-commits] online.git: loleaflet/src
Pranav Kant
pranavk at collabora.com
Thu Apr 14 15:24:51 UTC 2016
loleaflet/src/control/Permission.js | 7 ++++---
loleaflet/src/layer/marker/Marker.js | 13 +++++++++++++
loleaflet/src/layer/tile/TileLayer.js | 10 +++++++++-
3 files changed, 26 insertions(+), 4 deletions(-)
New commits:
commit c56ef84129651e04eb904fc0474be72ae4bca8a2
Author: Pranav Kant <pranavk at collabora.com>
Date: Thu Apr 14 20:27:12 2016 +0530
loleaflet: Disable (graphic)selection markers without editlock
Only session with 'edit' permission can move selection handles
and graphic selection handles.
Change-Id: Idc5cf634a13e201016eb4e4135392b917b622ad5
diff --git a/loleaflet/src/control/Permission.js b/loleaflet/src/control/Permission.js
index 5be2554..3fa4d3b 100644
--- a/loleaflet/src/control/Permission.js
+++ b/loleaflet/src/control/Permission.js
@@ -10,10 +10,11 @@ L.Map.include({
}
else if (perm === 'view' || perm === 'readonly') {
this.dragging.enable();
+ // For time being, treat view/readonly mode as mode without editlock
// disable all user interaction, will need to add keyboard too
- this._docLayer._onUpdateCursor();
- this._docLayer._clearSelections();
- this._docLayer._onUpdateTextSelection();
+ //this._docLayer._onUpdateCursor();
+ //this._docLayer._clearSelections();
+ //this._docLayer._onUpdateTextSelection();
}
this.fire('updatepermission', {perm : perm});
},
diff --git a/loleaflet/src/layer/marker/Marker.js b/loleaflet/src/layer/marker/Marker.js
index 1d29485..28bd7b8 100644
--- a/loleaflet/src/layer/marker/Marker.js
+++ b/loleaflet/src/layer/marker/Marker.js
@@ -24,6 +24,19 @@ L.Marker = L.Layer.extend({
this._latlng = L.latLng(latlng);
},
+ setDraggable: function(val) {
+ if (!this.dragging) {
+ this.options.draggable = val;
+ return;
+ }
+
+ if (val) {
+ this.dragging.enable();
+ } else {
+ this.dragging.disable();
+ }
+ },
+
onAdd: function (map) {
this._zoomAnimated = this._zoomAnimated && map.options.markerZoomAnimation;
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 07e4523..c7a1172 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -176,6 +176,13 @@ L.TileLayer = L.GridLayer.extend({
},
this);
+ map.on('updatepermission', function(e) {
+ // {En,Dis}able selection handles
+ for (var key in this._selectionHandles) {
+ this._selectionHandles[key].setDraggable(e.perm === 'edit');
+ }
+ }, this);
+
for (var key in this._selectionHandles) {
this._selectionHandles[key].on('drag dragend', this._onSelectionHandleDrag, this);
}
@@ -945,7 +952,7 @@ L.TileLayer = L.GridLayer.extend({
// Update group layer selection handler.
_onUpdateGraphicSelection: function () {
- if (this._graphicSelection && !this._isEmptyRectangle(this._graphicSelection)) {
+ if (this._graphicSelection && !this._isEmptyRectangle(this._graphicSelection) && this._map._permission === 'edit') {
if (this._graphicMarker) {
this._graphicMarker.off('editstart editend', this._onGraphicEdit, this);
this._map.removeLayer(this._graphicMarker);
@@ -1260,6 +1267,7 @@ L.TileLayer = L.GridLayer.extend({
var val = parseInt(textMsg.split(' ')[1]);
if (!isNaN(val)) {
this._map.fire('editlock', {value: val});
+ this._map.setPermission(val ? 'edit' : 'readonly');
}
},
More information about the Libreoffice-commits
mailing list