loleaflet/src/layer/AnnotationManager.js     |   55 +++++++-----------------
 loleaflet/src/layer/tile/CalcTileLayer.js    |   60 +++++++--------------------
 loleaflet/src/layer/tile/ImpressTileLayer.js |    8 +++
 loleaflet/src/layer/tile/TileLayer.js        |   28 ++++++++++++
 loleaflet/src/layer/tile/WriterTileLayer.js  |    8 +++
 5 files changed, 76 insertions(+), 83 deletions(-)

New commits:
commit 9af9ce98294ce141784469a79a3961d347197fcd
Author: Henry Castro <hcas...@collabora.com>
Date:   Sun Mar 5 22:19:23 2017 -0400

    loleaflet: simplify popup menu of the annotation objects
    
    Change-Id: I2eee2e317afc01fdb9aff90481cb546e3edf8b39

diff --git a/loleaflet/src/layer/AnnotationManager.js 
b/loleaflet/src/layer/AnnotationManager.js
index c816700..c07ab03 100644
--- a/loleaflet/src/layer/AnnotationManager.js
+++ b/loleaflet/src/layer/AnnotationManager.js
@@ -17,26 +17,6 @@ L.AnnotationManager = L.Class.extend({
                this._map.on('AnnotationCancel', this._onAnnotationCancel, 
this);
                this._map.on('AnnotationClick', this._onAnnotationClick, this);
                this._map.on('AnnotationSave', this._onAnnotationSave, this);
-               var that = this;
-               $.contextMenu({
-                       selector: '.loleaflet-annotation-menu',
-                       trigger: 'none',
-                       className: 'loleaflet-font',
-                       items: {
-                               modify: {
-                                       name: _('Modify'),
-                                       callback: function (key, options) {
-                                               
that._onAnnotationModify.call(that, options.$trigger.get(0).annotation);
-                                       }
-                               },
-                               remove: {
-                                       name: _('Remove'),
-                                       callback: function (key, options) {
-                                               
that._onAnnotationRemove.call(that, 
options.$trigger.get(0).annotation._data.id);
-                                       }
-                               }
-                       }
-               });
        },
 
        clear: function () {
@@ -188,9 +168,23 @@ L.AnnotationManager = L.Class.extend({
                }
        },
 
+       modify: function (annotation) {
+               annotation.edit();
+               this.select(annotation);
+               annotation.focus();
+       },
+
        remove: function (id) {
+               var comment = {
+                       Id: {
+                               type: 'string',
+                               value: id
+                       }
+               };
+               this._map.sendUnoCommand('.uno:DeleteComment', comment);
                this._map.removeLayer(this.removeItem(id));
                this.unselect();
+               this._map.focus();
        },
 
        onACKComment: function (textMsg) {
@@ -216,7 +210,8 @@ L.AnnotationManager = L.Class.extend({
                        this.layout();
                } else if (obj.comment.action === 'Remove') {
                        if (this.getItem(obj.comment.id)) {
-                               this.remove(obj.comment.id);
+                               this._map.removeLayer(this.removeItem(id));
+                               this.unselect();
                        }
                } else if (obj.comment.action === 'Modify') {
                        var modified = this.getItem(obj.comment.id);
@@ -241,24 +236,6 @@ L.AnnotationManager = L.Class.extend({
                this.select(e.annotation);
        },
 
-       _onAnnotationModify: function (annotation) {
-               annotation.edit();
-               this.select(annotation);
-               annotation.focus();
-       },
-
-       _onAnnotationRemove: function (id) {
-               var comment = {
-                       Id: {
-                               type: 'string',
-                               value: id
-                       }
-               };
-               this._map.sendUnoCommand('.uno:DeleteComment', comment);
-               this.remove(id);
-               this._map.focus();
-       },
-
        _onAnnotationSave: function (e) {
                var comment;
                if (e.annotation._data.id === 'new') {
diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js 
b/loleaflet/src/layer/tile/CalcTileLayer.js
index 000d795..4fbf4d1 100644
--- a/loleaflet/src/layer/tile/CalcTileLayer.js
+++ b/loleaflet/src/layer/tile/CalcTileLayer.js
@@ -63,36 +63,25 @@ L.CalcTileLayer = L.TileLayer.extend({
        },
 
        onAdd: function (map) {
-               var that = this;
                L.TileLayer.prototype.onAdd.call(this, map);
                this._annotations = {};
-               $.contextMenu({
-                       selector: '.loleaflet-annotation-menu',
-                       trigger: 'none',
-                       className: 'loleaflet-font',
-                       items: {
-                               modify: {
-                                       name: _('Modify'),
-                                       callback: function (key, options) {
-                                               
that._onAnnotationModify.call(that, options.$trigger.get(0).annotation);
-                                       }
-                               },
-                               remove: {
-                                       name: _('Remove'),
-                                       callback: function (key, options) {
-                                               
that._onAnnotationRemove.call(that, 
options.$trigger.get(0).annotation._data.id);
-                                       }
-                               }
-                       },
-                       events: {
-                               show: function (options) {
-                                       
options.$trigger.get(0).annotation._contextMenu = true;
-                               },
-                               hide: function (options) {
-                                       
options.$trigger.get(0).annotation._contextMenu = false;
-                               }
+       },
+
+       onAnnotationModify: function (annotation) {
+               annotation.edit();
+               annotation.focus();
+       },
+
+       onAnnotationRemove: function (id) {
+               var comment = {
+                       Id: {
+                               type: 'string',
+                               value: id
                        }
-               });
+               };
+               this._map.sendUnoCommand('.uno:DeleteComment', comment);
+               this.removeAnnotation(id);
+               this._map.focus();
        },
 
        removeAnnotation: function (id) {
@@ -139,23 +128,6 @@ L.CalcTileLayer = L.TileLayer.extend({
                this._map.focus();
        },
 
-       _onAnnotationModify: function (annotation) {
-               annotation.edit();
-               annotation.focus();
-       },
-
-       _onAnnotationRemove: function (id) {
-               var comment = {
-                       Id: {
-                               type: 'string',
-                               value: id
-                       }
-               };
-               this._map.sendUnoCommand('.uno:DeleteComment', comment);
-               this.removeAnnotation(id);
-               this._map.focus();
-       },
-
        _onMessage: function (textMsg, img) {
                if (textMsg.startsWith('comment:')) {
                        var obj = 
JSON.parse(textMsg.substring('comment:'.length + 1));
diff --git a/loleaflet/src/layer/tile/ImpressTileLayer.js 
b/loleaflet/src/layer/tile/ImpressTileLayer.js
index 0c1b267..0c6f0ed 100644
--- a/loleaflet/src/layer/tile/ImpressTileLayer.js
+++ b/loleaflet/src/layer/tile/ImpressTileLayer.js
@@ -19,6 +19,14 @@ L.ImpressTileLayer = L.TileLayer.extend({
                this._annotations = L.annotationManager(map);
        },
 
+       onAnnotationModify: function (annotation) {
+               this._annotations.modify(annotation);
+       },
+
+       onAnnotationRemove: function (id) {
+               this._annotations.remove(id);
+       },
+
        _onCommandValuesMsg: function (textMsg) {
                var values = 
JSON.parse(textMsg.substring(textMsg.indexOf('{')));
                if (!values) {
diff --git a/loleaflet/src/layer/tile/TileLayer.js 
b/loleaflet/src/layer/tile/TileLayer.js
index 46acb29..6fb2f15 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -170,6 +170,34 @@ L.TileLayer = L.GridLayer.extend({
                this._tiles = {};
                this._tileCache = {};
                this._map._socket.sendMessage('commandvalues 
command=.uno:ViewAnnotations');
+               var that = this;
+               $.contextMenu({
+                       selector: '.loleaflet-annotation-menu',
+                       trigger: 'none',
+                       className: 'loleaflet-font',
+                       items: {
+                               modify: {
+                                       name: _('Modify'),
+                                       callback: function (key, options) {
+                                               
that.onAnnotationModify.call(that, options.$trigger.get(0).annotation);
+                                       }
+                               },
+                               remove: {
+                                       name: _('Remove'),
+                                       callback: function (key, options) {
+                                               
that.onAnnotationRemove.call(that, options.$trigger.get(0).annotation._data.id);
+                                       }
+                               }
+                       },
+                       events: {
+                               show: function (options) {
+                                       
options.$trigger.get(0).annotation._contextMenu = true;
+                               },
+                               hide: function (options) {
+                                       
options.$trigger.get(0).annotation._contextMenu = false;
+                               }
+                       }
+               });
 
                map._fadeAnimated = false;
                this._viewReset();
diff --git a/loleaflet/src/layer/tile/WriterTileLayer.js 
b/loleaflet/src/layer/tile/WriterTileLayer.js
index 4e78168..f198457 100644
--- a/loleaflet/src/layer/tile/WriterTileLayer.js
+++ b/loleaflet/src/layer/tile/WriterTileLayer.js
@@ -19,6 +19,14 @@ L.WriterTileLayer = L.TileLayer.extend({
                this._annotations = L.annotationManager(map);
        },
 
+       onAnnotationModify: function (annotation) {
+               this._annotations.modify(annotation);
+       },
+
+       onAnnotationRemove: function (id) {
+               this._annotations.remove(id);
+       },
+
        _onCommandValuesMsg: function (textMsg) {
                var values = 
JSON.parse(textMsg.substring(textMsg.indexOf('{')));
                if (!values) {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to