Mercurial > pub > ImplabJs
diff src/djol/_OneshotTool.js @ 17:9c21e656cbec
Разработка кнопки выбора координат с карт
author | nickolay |
---|---|
date | Tue, 19 Sep 2017 20:37:56 +0300 |
parents | f0035923ff3e |
children |
line wrap: on
line diff
--- a/src/djol/_OneshotTool.js Tue Sep 19 12:34:16 2017 +0300 +++ b/src/djol/_OneshotTool.js Tue Sep 19 20:37:56 2017 +0300 @@ -1,65 +1,63 @@ -define([ "dojo/_base/declare", "implab/safe", "implab/guard", "ol3/_ToolBase", "ol3/ToolType" ], +define(["dojo/_base/declare", "implab/safe", "implab/guard", "ol3/_ToolBase", "ol3/ToolType"], + + function (declare, safe, guard, _ToolBase, ToolType) { + return declare([_ToolBase], { + _pending: null, + + _lastResult: null, + + toolType: ToolType.Oneshot, + + invoke: function () { + }, -function(declare, safe, guard, _ToolBase, ToolType) { - return declare([ _ToolBase ], { - _pending : null, - - _lastResult : null, + onActivating: function () { + var me = this; + + // start the operation + me._lastResult = me._pending = guard(me, "invoke"); - toolType : ToolType.Oneshot, + return this.inherited(arguments); + }, - invoke : function() { - }, + onActivated: function () { + var me = this; + + // fire the activate event + this.inherited(arguments); - onActivating : function() { - var me = this; - - // start the operation - me._lastResult = me._pending = guard(me,"invoke"); - - return this.inherited(arguments); - }, - - onActivated : function() { - var me = this; - - // fire the activate event - this.inherited(arguments); - - me._pending.then(function() { - if (me._pending) { - me.log("Operation finished, deactivating."); - me._pending = null; - me.deactivate(); + me._pending.then(function () { + if (me._pending) { + me.log("Operation finished, deactivating."); + me._pending = null; + me.deactivate(); + } + }, function (ex) { + if (me._pending) { + me.error("Operation failed, deactivating: {0}", ex); + me._pending = null; + me.deactivate(); + } + }); + }, + + onDeactivated: function () { + var d = this._pending; + if (d) { + this.log("Cancelling pending operation"); + this._pending = null; + d.cancel(); } - }, function(ex) { - if (me._pending) { - me.error("Operation failed, deactivating: {0}", ex); - me._pending = null; - me.deactivate(); - } - }); - }, + + return this.inherited(arguments); + }, - onDeactivated : function() { - var d = this._pending; - if (d) { - this.log("Cancelling pending operation"); - this._pending = null; - d.cancel(); + run: function () { + var me = this; + + return me.activate().then(function () { + return me._lastResult; + }); } - - return this.inherited(arguments); - }, - - run : function() { - var me = this; - - return me.activate().then(function(success) { - if (success) - return me._lastResult; - throw new Error("Operation declined"); - }); - } - }); -}); \ No newline at end of file + }); + }); \ No newline at end of file