egovamap 0.33.34 → 0.33.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,195 +1,195 @@
1
- var XEvent = function () {
2
- this.handlers = {};
3
- };
4
- XEvent.prototype = {
5
- on: function (type, handler) {
6
- if (!this.handlers[type]) {
7
- this.handlers[type] = [];
8
- }
9
- this.handlers[type].push(handler);
10
- return handler;
11
- },
12
- fire: function (type, msgData) {
13
- if (this.handlers[type] instanceof Array) {
14
- var handlers = this.handlers[type];
15
- if (handlers && handlers.length == 1) {
16
- return handlers[0](msgData);
17
- } else {
18
- for (var i = 0, len = handlers.length; i < len; i++) {
19
- handlers[i](msgData);
20
- }
21
- }
22
- }
23
- },
24
- //除所有该事件下对应的方法
25
- remove: function (type) {
26
- if (this.handlers[type] instanceof Array) {
27
- this.handlers[type] = [];
28
- }
29
- },
30
- removeHandler: function (type, handler) {
31
- if (this.handlers[type] instanceof Array) {
32
- var handlers = this.handlers[type];
33
- for (var i = 0, len = handlers.length; i < len; i++) {
34
- if (handlers[i] === handler) {
35
- handlers.splice(i, 1);
36
- break;
37
- }
38
- }
39
- }
40
- },
41
- clear: function () {
42
- this.handlers = {};
43
- },
44
- };
45
-
46
- var XScene = function (pageType, pageId) {
47
- this.pageType = pageType;
48
- this.pageId = pageId;
49
- this._evt = new XEvent();
50
- this._handler = [];
51
- this.hostWin = window;
52
- };
53
-
54
- XScene.prototype = {
55
- getParameter: function () {
56
- if (this.pageType == "modal") {
57
- return window.dialogArguments.parameter;
58
- }
59
- return null;
60
- },
61
-
62
- getCallback: function () {
63
- if (this.pageType == "modal") {
64
- return window.dialogArguments.callback;
65
- }
66
- return null;
67
- },
68
-
69
- getParentScene: function (pageId, stopOnTop) {
70
- stopOnTop = stopOnTop || false;
71
- var parent = null;
72
- if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
73
- if (window != window.parent) {
74
- parent = window.parent;
75
- }
76
- }
77
- if (!stopOnTop) {
78
- if (this.pageType == "modal") {
79
- parent = window.dialogArguments.hostWin;
80
- }
81
- if (this.pageType == "dialog") {
82
- parent = window.opener;
83
- }
84
- }
85
- if (!parent || !parent.__xsense) return null;
86
- if (parent.__xsense && parent.__xsense.pageId !== pageId) {
87
- return parent.__xsense.getParentScene(pageId, stopOnTop);
88
- }
89
- return parent.__xsense;
90
- },
91
-
92
- closeAllDialogs: function () {
93
- var parent = null;
94
- if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
95
- if (window != window.parent) {
96
- parent = window.top;
97
- }
98
- }
99
- if (this.pageType == "modal") {
100
- parent = window.dialogArguments.hostWin;
101
- window.close();
102
- }
103
- if (this.pageType == "dialog") {
104
- parent = window.opener;
105
- window.close();
106
- }
107
- if (!parent || !parent.__xsense) return null;
108
- if (parent.__xsense) {
109
- parent.__xsense.closeAllDialogs();
110
- }
111
- },
112
-
113
- fire: function (msgId, msgData, pageId, stopOnTop) {
114
- stopOnTop = stopOnTop || false;
115
- if (!pageId || pageId === this.pageId) {
116
- return this._evt.fire(msgId, msgData);
117
- } else {
118
- var parent = this.getParentScene(pageId, stopOnTop);
119
- if (parent) {
120
- return parent.fire(msgId, msgData, pageId, stopOnTop);
121
- }
122
- return null;
123
- }
124
- },
125
- remove: function (msgId, pageId, stopOnTop) {
126
- stopOnTop = stopOnTop || false;
127
- if (!pageId || pageId === this.pageId) {
128
- this._evt.remove(msgId);
129
- return null;
130
- } else {
131
- var parent = this.getParentScene(pageId, stopOnTop);
132
- if (parent) {
133
- parent.remove(msgId, pageId, stopOnTop);
134
- }
135
- return null;
136
- }
137
- },
138
- removeHandler: function (msgId, msgHandler, pageId, stopOnTop) {
139
- stopOnTop = stopOnTop || false;
140
- if (!pageId || pageId === this.pageId) {
141
- this._evt.removeHandler(msgId, msgHandler);
142
- return null;
143
- } else {
144
- var parent = this.getParentScene(pageId, stopOnTop);
145
- if (parent) {
146
- parent.removeHandler(msgId, msgHandler, pageId, stopOnTop);
147
- }
148
- return null;
149
- }
150
- },
151
- on: function (msgId, msgHandler, pageId, stopOnTop) {
152
- stopOnTop = stopOnTop || false;
153
- if (!pageId || pageId === this.pageId) {
154
- var h = this._evt.on(msgId, msgHandler);
155
- return null;
156
- } else {
157
- var parent = this.getParentScene(pageId, stopOnTop);
158
- if (parent) {
159
- var h = parent.on(msgId, msgHandler, pageId, stopOnTop);
160
- if (h) {
161
- this._handler.push(h);
162
- }
163
- }
164
- return null;
165
- }
166
- },
167
- detachAll: function () {
168
- for (var i = 0; i < this._handler.length; i++) {
169
- this._handler[i].detach();
170
- }
171
- },
172
- };
173
-
174
- XScene.create = function (pageType, pageId) {
175
- if(!window.__xsense){
176
- window.__xsense = new XScene(pageType, pageId);
177
- }
178
- return window.__xsense;
179
- };
180
-
181
- //pageType: iframe, iframe-dialog, modal, dialog, desktop
182
- //iframe 普通的IFrame页面
183
- //iframe-dialog 对应于desktop上的一个Iframe对话框
184
- //modal 弹出的模态对话框
185
- //dialog 弹出的普通对话框
186
- var EGovaScene = {
187
- create: function (pageType, pageId) {
188
- return XScene.create(pageType, pageId);
189
- },
190
-
191
- getSense: function () {
192
- return window.__xsense;
193
- },
194
- };
195
- export default EGovaScene;
1
+ var XEvent = function () {
2
+ this.handlers = {};
3
+ };
4
+ XEvent.prototype = {
5
+ on: function (type, handler) {
6
+ if (!this.handlers[type]) {
7
+ this.handlers[type] = [];
8
+ }
9
+ this.handlers[type].push(handler);
10
+ return handler;
11
+ },
12
+ fire: function (type, msgData) {
13
+ if (this.handlers[type] instanceof Array) {
14
+ var handlers = this.handlers[type];
15
+ if (handlers && handlers.length == 1) {
16
+ return handlers[0](msgData);
17
+ } else {
18
+ for (var i = 0, len = handlers.length; i < len; i++) {
19
+ handlers[i](msgData);
20
+ }
21
+ }
22
+ }
23
+ },
24
+ //除所有该事件下对应的方法
25
+ remove: function (type) {
26
+ if (this.handlers[type] instanceof Array) {
27
+ this.handlers[type] = [];
28
+ }
29
+ },
30
+ removeHandler: function (type, handler) {
31
+ if (this.handlers[type] instanceof Array) {
32
+ var handlers = this.handlers[type];
33
+ for (var i = 0, len = handlers.length; i < len; i++) {
34
+ if (handlers[i] === handler) {
35
+ handlers.splice(i, 1);
36
+ break;
37
+ }
38
+ }
39
+ }
40
+ },
41
+ clear: function () {
42
+ this.handlers = {};
43
+ },
44
+ };
45
+
46
+ var XScene = function (pageType, pageId) {
47
+ this.pageType = pageType;
48
+ this.pageId = pageId;
49
+ this._evt = new XEvent();
50
+ this._handler = [];
51
+ this.hostWin = window;
52
+ };
53
+
54
+ XScene.prototype = {
55
+ getParameter: function () {
56
+ if (this.pageType == "modal") {
57
+ return window.dialogArguments.parameter;
58
+ }
59
+ return null;
60
+ },
61
+
62
+ getCallback: function () {
63
+ if (this.pageType == "modal") {
64
+ return window.dialogArguments.callback;
65
+ }
66
+ return null;
67
+ },
68
+
69
+ getParentScene: function (pageId, stopOnTop) {
70
+ stopOnTop = stopOnTop || false;
71
+ var parent = null;
72
+ if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
73
+ if (window != window.parent) {
74
+ parent = window.parent;
75
+ }
76
+ }
77
+ if (!stopOnTop) {
78
+ if (this.pageType == "modal") {
79
+ parent = window.dialogArguments.hostWin;
80
+ }
81
+ if (this.pageType == "dialog") {
82
+ parent = window.opener;
83
+ }
84
+ }
85
+ if (!parent || !parent.__xsense) return null;
86
+ if (parent.__xsense && parent.__xsense.pageId !== pageId) {
87
+ return parent.__xsense.getParentScene(pageId, stopOnTop);
88
+ }
89
+ return parent.__xsense;
90
+ },
91
+
92
+ closeAllDialogs: function () {
93
+ var parent = null;
94
+ if (this.pageType == "iframe" || this.pageType == "iframe-dialog") {
95
+ if (window != window.parent) {
96
+ parent = window.top;
97
+ }
98
+ }
99
+ if (this.pageType == "modal") {
100
+ parent = window.dialogArguments.hostWin;
101
+ window.close();
102
+ }
103
+ if (this.pageType == "dialog") {
104
+ parent = window.opener;
105
+ window.close();
106
+ }
107
+ if (!parent || !parent.__xsense) return null;
108
+ if (parent.__xsense) {
109
+ parent.__xsense.closeAllDialogs();
110
+ }
111
+ },
112
+
113
+ fire: function (msgId, msgData, pageId, stopOnTop) {
114
+ stopOnTop = stopOnTop || false;
115
+ if (!pageId || pageId === this.pageId) {
116
+ return this._evt.fire(msgId, msgData);
117
+ } else {
118
+ var parent = this.getParentScene(pageId, stopOnTop);
119
+ if (parent) {
120
+ return parent.fire(msgId, msgData, pageId, stopOnTop);
121
+ }
122
+ return null;
123
+ }
124
+ },
125
+ remove: function (msgId, pageId, stopOnTop) {
126
+ stopOnTop = stopOnTop || false;
127
+ if (!pageId || pageId === this.pageId) {
128
+ this._evt.remove(msgId);
129
+ return null;
130
+ } else {
131
+ var parent = this.getParentScene(pageId, stopOnTop);
132
+ if (parent) {
133
+ parent.remove(msgId, pageId, stopOnTop);
134
+ }
135
+ return null;
136
+ }
137
+ },
138
+ removeHandler: function (msgId, msgHandler, pageId, stopOnTop) {
139
+ stopOnTop = stopOnTop || false;
140
+ if (!pageId || pageId === this.pageId) {
141
+ this._evt.removeHandler(msgId, msgHandler);
142
+ return null;
143
+ } else {
144
+ var parent = this.getParentScene(pageId, stopOnTop);
145
+ if (parent) {
146
+ parent.removeHandler(msgId, msgHandler, pageId, stopOnTop);
147
+ }
148
+ return null;
149
+ }
150
+ },
151
+ on: function (msgId, msgHandler, pageId, stopOnTop) {
152
+ stopOnTop = stopOnTop || false;
153
+ if (!pageId || pageId === this.pageId) {
154
+ var h = this._evt.on(msgId, msgHandler);
155
+ return null;
156
+ } else {
157
+ var parent = this.getParentScene(pageId, stopOnTop);
158
+ if (parent) {
159
+ var h = parent.on(msgId, msgHandler, pageId, stopOnTop);
160
+ if (h) {
161
+ this._handler.push(h);
162
+ }
163
+ }
164
+ return null;
165
+ }
166
+ },
167
+ detachAll: function () {
168
+ for (var i = 0; i < this._handler.length; i++) {
169
+ this._handler[i].detach();
170
+ }
171
+ },
172
+ };
173
+
174
+ XScene.create = function (pageType, pageId) {
175
+ if(!window.__xsense){
176
+ window.__xsense = new XScene(pageType, pageId);
177
+ }
178
+ return window.__xsense;
179
+ };
180
+
181
+ //pageType: iframe, iframe-dialog, modal, dialog, desktop
182
+ //iframe 普通的IFrame页面
183
+ //iframe-dialog 对应于desktop上的一个Iframe对话框
184
+ //modal 弹出的模态对话框
185
+ //dialog 弹出的普通对话框
186
+ var EGovaScene = {
187
+ create: function (pageType, pageId) {
188
+ return XScene.create(pageType, pageId);
189
+ },
190
+
191
+ getSense: function () {
192
+ return window.__xsense;
193
+ },
194
+ };
195
+ export default EGovaScene;
@@ -1,96 +1,96 @@
1
- import RingsConvert from "./RingsConvert";
2
- function checkGeometryType(geometryType) {
3
- let types = [
4
- "Point",
5
- "MultiPoint",
6
- "LineString",
7
- "MultiLineString",
8
- "Polygon",
9
- "MultiPolygon",
10
- ];
11
- return types.includes(geometryType);
12
- }
13
- let GeometryTrans = {
14
- agsToWKT: function (geometry) {
15
- var wktStr = "";
16
- if (geometry["rings"] && geometry["rings"].length) {
17
- geometry = RingsConvert(geometry["rings"]);
18
- wktStr = JSON.stringify(geometry.coordinates);
19
- wktStr = wktStr
20
- .replace(/\[(-?\d+\.?\d*E?\d*),(-?\d+\.?\d*E?\d*)\]/g, "$1 $2")
21
- .replace(/\[/g, "(")
22
- .replace(/\]/g, ")");
23
- if (geometry.type == "Polygon") {
24
- wktStr = "POLYGON" + wktStr;
25
- } else {
26
- wktStr = "MULTIPOLYGON" + wktStr;
27
- }
28
- } else if (geometry["paths"] && geometry["paths"].length) {
29
- wktStr = JSON.stringify(geometry["paths"]);
30
- wktStr = wktStr.replace(
31
- /\[(-?\d+\.?\d*E?\d*),(-?\d+\.?\d*E?\d*)\]/g,
32
- "$1 $2"
33
- );
34
- wktStr = wktStr.replace(/\[/g, "(").replace(/\]/g, ")");
35
- wktStr = "MULTILINESTRING" + wktStr;
36
- } else if (geometry["x"] !== undefined && geometry["y"] !== undefined) {
37
- wktStr = "POINT(" + geometry["x"] + " " + geometry["y"] + ")";
38
- } else if (geometry["xmin"] != undefined) {
39
- xmin = geometry["xmin"];
40
- ymin = geometry["ymin"] || 0;
41
- xmax = geometry["xmax"] || 0;
42
- ymax = geometry["ymax"] || 0;
43
- wktStr =
44
- "POLYGON((" +
45
- xmin +
46
- " " +
47
- ymin +
48
- "," +
49
- xmax +
50
- " " +
51
- ymin +
52
- "," +
53
- xmax +
54
- " " +
55
- ymax +
56
- "," +
57
- xmin +
58
- " " +
59
- ymax +
60
- "," +
61
- xmin +
62
- " " +
63
- ymin +
64
- "))";
65
- }
66
- return wktStr;
67
- },
68
- geoJsonToWKT: function (geometry) {
69
- let geometryType = geometry.type;
70
- if (!geometryType || !checkGeometryType(geometryType)) {
71
- return `${geometryType}是不支持的几何类型`;
72
- }
73
- let coordinates = geometry["coordinates"];
74
- var wktStr = "";
75
- wktStr = JSON.stringify(coordinates);
76
- wktStr = wktStr.replace(
77
- /\[(-?\d+\.?\d*E?\d*),(-?\d+\.?\d*E?\d*)\]/g,
78
- "$1 $2"
79
- );
80
- wktStr = wktStr.replace(/\[/g, "(").replace(/\]/g, ")");
81
- if (geometryType === "Point") {
82
- wktStr = geometryType.toUpperCase() + "(" + wktStr + ")";
83
- } else {
84
- wktStr = geometryType.toUpperCase() + wktStr;
85
- }
86
- return wktStr;
87
- },
88
- geometryToWKT: function (geometry) {
89
- if (geometry["coordinates"]) {
90
- return this.geoJsonToWKT(geometry);
91
- } else {
92
- return this.agsToWKT(geometry);
93
- }
94
- },
95
- };
96
- export default GeometryTrans;
1
+ import RingsConvert from "./RingsConvert";
2
+ function checkGeometryType(geometryType) {
3
+ let types = [
4
+ "Point",
5
+ "MultiPoint",
6
+ "LineString",
7
+ "MultiLineString",
8
+ "Polygon",
9
+ "MultiPolygon",
10
+ ];
11
+ return types.includes(geometryType);
12
+ }
13
+ let GeometryTrans = {
14
+ agsToWKT: function (geometry) {
15
+ var wktStr = "";
16
+ if (geometry["rings"] && geometry["rings"].length) {
17
+ geometry = RingsConvert(geometry["rings"]);
18
+ wktStr = JSON.stringify(geometry.coordinates);
19
+ wktStr = wktStr
20
+ .replace(/\[(-?\d+\.?\d*E?\d*),(-?\d+\.?\d*E?\d*)\]/g, "$1 $2")
21
+ .replace(/\[/g, "(")
22
+ .replace(/\]/g, ")");
23
+ if (geometry.type == "Polygon") {
24
+ wktStr = "POLYGON" + wktStr;
25
+ } else {
26
+ wktStr = "MULTIPOLYGON" + wktStr;
27
+ }
28
+ } else if (geometry["paths"] && geometry["paths"].length) {
29
+ wktStr = JSON.stringify(geometry["paths"]);
30
+ wktStr = wktStr.replace(
31
+ /\[(-?\d+\.?\d*E?\d*),(-?\d+\.?\d*E?\d*)\]/g,
32
+ "$1 $2"
33
+ );
34
+ wktStr = wktStr.replace(/\[/g, "(").replace(/\]/g, ")");
35
+ wktStr = "MULTILINESTRING" + wktStr;
36
+ } else if (geometry["x"] !== undefined && geometry["y"] !== undefined) {
37
+ wktStr = "POINT(" + geometry["x"] + " " + geometry["y"] + ")";
38
+ } else if (geometry["xmin"] != undefined) {
39
+ xmin = geometry["xmin"];
40
+ ymin = geometry["ymin"] || 0;
41
+ xmax = geometry["xmax"] || 0;
42
+ ymax = geometry["ymax"] || 0;
43
+ wktStr =
44
+ "POLYGON((" +
45
+ xmin +
46
+ " " +
47
+ ymin +
48
+ "," +
49
+ xmax +
50
+ " " +
51
+ ymin +
52
+ "," +
53
+ xmax +
54
+ " " +
55
+ ymax +
56
+ "," +
57
+ xmin +
58
+ " " +
59
+ ymax +
60
+ "," +
61
+ xmin +
62
+ " " +
63
+ ymin +
64
+ "))";
65
+ }
66
+ return wktStr;
67
+ },
68
+ geoJsonToWKT: function (geometry) {
69
+ let geometryType = geometry.type;
70
+ if (!geometryType || !checkGeometryType(geometryType)) {
71
+ return `${geometryType}是不支持的几何类型`;
72
+ }
73
+ let coordinates = geometry["coordinates"];
74
+ var wktStr = "";
75
+ wktStr = JSON.stringify(coordinates);
76
+ wktStr = wktStr.replace(
77
+ /\[(-?\d+\.?\d*E?\d*),(-?\d+\.?\d*E?\d*)\]/g,
78
+ "$1 $2"
79
+ );
80
+ wktStr = wktStr.replace(/\[/g, "(").replace(/\]/g, ")");
81
+ if (geometryType === "Point") {
82
+ wktStr = geometryType.toUpperCase() + "(" + wktStr + ")";
83
+ } else {
84
+ wktStr = geometryType.toUpperCase() + wktStr;
85
+ }
86
+ return wktStr;
87
+ },
88
+ geometryToWKT: function (geometry) {
89
+ if (geometry["coordinates"]) {
90
+ return this.geoJsonToWKT(geometry);
91
+ } else {
92
+ return this.agsToWKT(geometry);
93
+ }
94
+ },
95
+ };
96
+ export default GeometryTrans;