annotate src/djol/_OneshotTool.js @ 33:8af8e840dd49

added return fn
author nickolay
date Wed, 05 Jun 2019 17:44:17 +0300
parents 9c21e656cbec
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
1 define(["dojo/_base/declare", "implab/safe", "implab/guard", "ol3/_ToolBase", "ol3/ToolType"],
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
2
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
3 function (declare, safe, guard, _ToolBase, ToolType) {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
4 return declare([_ToolBase], {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
5 _pending: null,
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
6
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
7 _lastResult: null,
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
8
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
9 toolType: ToolType.Oneshot,
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
10
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
11 invoke: function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
12 },
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
13
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
14 onActivating: function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
15 var me = this;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
16
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
17 // start the operation
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
18 me._lastResult = me._pending = guard(me, "invoke");
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
19
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
20 return this.inherited(arguments);
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
21 },
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
22
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
23 onActivated: function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
24 var me = this;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
25
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
26 // fire the activate event
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
27 this.inherited(arguments);
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
28
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
29 me._pending.then(function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
30 if (me._pending) {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
31 me.log("Operation finished, deactivating.");
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
32 me._pending = null;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
33 me.deactivate();
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
34 }
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
35 }, function (ex) {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
36 if (me._pending) {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
37 me.error("Operation failed, deactivating: {0}", ex);
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
38 me._pending = null;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
39 me.deactivate();
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
40 }
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
41 });
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
42 },
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
43
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
44 onDeactivated: function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
45 var d = this._pending;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
46 if (d) {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
47 this.log("Cancelling pending operation");
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
48 this._pending = null;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
49 d.cancel();
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
50 }
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
51
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
52 return this.inherited(arguments);
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
53 },
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
54
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
55 run: function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
56 var me = this;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
57
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
58 return me.activate().then(function () {
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
59 return me._lastResult;
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
60 });
8
f0035923ff3e добавлена библиотека для работы с openlayers 3+
cin
parents:
diff changeset
61 }
17
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
62 });
9c21e656cbec Разработка кнопки выбора координат с карт
nickolay
parents: 8
diff changeset
63 });