@deck.gl/arcgis 8.9.0-alpha.5 → 8.9.0-beta.1
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.
- package/dist/dist.dev.js +500 -827
- package/dist.min.js +18 -1
- package/package.json +6 -5
package/dist/dist.dev.js
CHANGED
|
@@ -1,447 +1,354 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/******/ }
|
|
22
|
-
/******/ // Create a new module (and put it into the cache)
|
|
23
|
-
/******/ var module = installedModules[moduleId] = {
|
|
24
|
-
/******/ i: moduleId,
|
|
25
|
-
/******/ l: false,
|
|
26
|
-
/******/ exports: {}
|
|
27
|
-
/******/ };
|
|
28
|
-
/******/
|
|
29
|
-
/******/ // Execute the module function
|
|
30
|
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
31
|
-
/******/
|
|
32
|
-
/******/ // Flag the module as loaded
|
|
33
|
-
/******/ module.l = true;
|
|
34
|
-
/******/
|
|
35
|
-
/******/ // Return the exports of the module
|
|
36
|
-
/******/ return module.exports;
|
|
37
|
-
/******/ }
|
|
38
|
-
/******/
|
|
39
|
-
/******/
|
|
40
|
-
/******/ // expose the modules object (__webpack_modules__)
|
|
41
|
-
/******/ __webpack_require__.m = modules;
|
|
42
|
-
/******/
|
|
43
|
-
/******/ // expose the module cache
|
|
44
|
-
/******/ __webpack_require__.c = installedModules;
|
|
45
|
-
/******/
|
|
46
|
-
/******/ // define getter function for harmony exports
|
|
47
|
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
48
|
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
49
|
-
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
50
|
-
/******/ }
|
|
51
|
-
/******/ };
|
|
52
|
-
/******/
|
|
53
|
-
/******/ // define __esModule on exports
|
|
54
|
-
/******/ __webpack_require__.r = function(exports) {
|
|
55
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
56
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
57
|
-
/******/ }
|
|
58
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
59
|
-
/******/ };
|
|
60
|
-
/******/
|
|
61
|
-
/******/ // create a fake namespace object
|
|
62
|
-
/******/ // mode & 1: value is a module id, require it
|
|
63
|
-
/******/ // mode & 2: merge all properties of value into the ns
|
|
64
|
-
/******/ // mode & 4: return value when already ns object
|
|
65
|
-
/******/ // mode & 8|1: behave like require
|
|
66
|
-
/******/ __webpack_require__.t = function(value, mode) {
|
|
67
|
-
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
68
|
-
/******/ if(mode & 8) return value;
|
|
69
|
-
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
70
|
-
/******/ var ns = Object.create(null);
|
|
71
|
-
/******/ __webpack_require__.r(ns);
|
|
72
|
-
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
73
|
-
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
74
|
-
/******/ return ns;
|
|
75
|
-
/******/ };
|
|
76
|
-
/******/
|
|
77
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
78
|
-
/******/ __webpack_require__.n = function(module) {
|
|
79
|
-
/******/ var getter = module && module.__esModule ?
|
|
80
|
-
/******/ function getDefault() { return module['default']; } :
|
|
81
|
-
/******/ function getModuleExports() { return module; };
|
|
82
|
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
83
|
-
/******/ return getter;
|
|
84
|
-
/******/ };
|
|
85
|
-
/******/
|
|
86
|
-
/******/ // Object.prototype.hasOwnProperty.call
|
|
87
|
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
88
|
-
/******/
|
|
89
|
-
/******/ // __webpack_public_path__
|
|
90
|
-
/******/ __webpack_require__.p = "";
|
|
91
|
-
/******/
|
|
92
|
-
/******/
|
|
93
|
-
/******/ // Load entry module and return exports
|
|
94
|
-
/******/ return __webpack_require__(__webpack_require__.s = "./bundle.ts");
|
|
95
|
-
/******/ })
|
|
96
|
-
/************************************************************************/
|
|
97
|
-
/******/ ({
|
|
98
|
-
|
|
99
|
-
/***/ "../../node_modules/esri-loader/dist/umd/esri-loader.js":
|
|
100
|
-
/*!***********************************************************************************!*\
|
|
101
|
-
!*** /Users/alasarr/dev/deck.gl/node_modules/esri-loader/dist/umd/esri-loader.js ***!
|
|
102
|
-
\***********************************************************************************/
|
|
103
|
-
/*! no static exports found */
|
|
104
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
105
|
-
|
|
106
|
-
(function (global, factory) {
|
|
107
|
-
true ? factory(exports) :
|
|
108
|
-
undefined;
|
|
109
|
-
}(this, (function (exports) { 'use strict';
|
|
110
|
-
|
|
111
|
-
/* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
|
|
112
|
-
* Apache-2.0 */
|
|
113
|
-
var isBrowser = typeof window !== 'undefined';
|
|
114
|
-
// allow consuming libraries to provide their own Promise implementations
|
|
115
|
-
var utils = {
|
|
116
|
-
Promise: isBrowser ? window['Promise'] : undefined
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
/* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
|
|
120
|
-
* Apache-2.0 */
|
|
121
|
-
var DEFAULT_VERSION = '4.21';
|
|
122
|
-
var NEXT = 'next';
|
|
123
|
-
function parseVersion(version) {
|
|
124
|
-
if (version.toLowerCase() === NEXT) {
|
|
125
|
-
return NEXT;
|
|
126
|
-
}
|
|
127
|
-
var match = version && version.match(/^(\d)\.(\d+)/);
|
|
128
|
-
return match && {
|
|
129
|
-
major: parseInt(match[1], 10),
|
|
130
|
-
minor: parseInt(match[2], 10)
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Get the CDN url for a given version
|
|
135
|
-
*
|
|
136
|
-
* @param version Ex: '4.21' or '3.38'. Defaults to the latest 4.x version.
|
|
137
|
-
*/
|
|
138
|
-
function getCdnUrl(version) {
|
|
139
|
-
if (version === void 0) { version = DEFAULT_VERSION; }
|
|
140
|
-
return "https://js.arcgis.com/" + version + "/";
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Get the CDN url for a the CSS for a given version and/or theme
|
|
144
|
-
*
|
|
145
|
-
* @param version Ex: '4.21', '3.38', or 'next'. Defaults to the latest 4.x version.
|
|
146
|
-
*/
|
|
147
|
-
function getCdnCssUrl(version) {
|
|
148
|
-
if (version === void 0) { version = DEFAULT_VERSION; }
|
|
149
|
-
var baseUrl = getCdnUrl(version);
|
|
150
|
-
var parsedVersion = parseVersion(version);
|
|
151
|
-
if (parsedVersion !== NEXT && parsedVersion.major === 3) {
|
|
152
|
-
// NOTE: at 3.11 the CSS moved from the /js folder to the root
|
|
153
|
-
var path = parsedVersion.minor <= 10 ? 'js/' : '';
|
|
154
|
-
return "" + baseUrl + path + "esri/css/esri.css";
|
|
1
|
+
"use strict";
|
|
2
|
+
var deck = (() => {
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
10
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
|
+
};
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
155
21
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// external-global-plugin:@deck.gl/core
|
|
32
|
+
var require_core = __commonJS({
|
|
33
|
+
"external-global-plugin:@deck.gl/core"(exports, module) {
|
|
34
|
+
module.exports = globalThis.deck;
|
|
159
35
|
}
|
|
160
|
-
}
|
|
36
|
+
});
|
|
161
37
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
link.rel = 'stylesheet';
|
|
167
|
-
link.href = href;
|
|
168
|
-
return link;
|
|
169
|
-
}
|
|
170
|
-
function insertLink(link, before) {
|
|
171
|
-
if (before) {
|
|
172
|
-
// the link should be inserted before a specific node
|
|
173
|
-
var beforeNode = document.querySelector(before);
|
|
174
|
-
beforeNode.parentNode.insertBefore(link, beforeNode);
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
// append the link to then end of the head tag
|
|
178
|
-
document.head.appendChild(link);
|
|
38
|
+
// external-global-plugin:@luma.gl/core
|
|
39
|
+
var require_core2 = __commonJS({
|
|
40
|
+
"external-global-plugin:@luma.gl/core"(exports, module) {
|
|
41
|
+
module.exports = globalThis.luma;
|
|
179
42
|
}
|
|
180
|
-
}
|
|
181
|
-
// check if the css url has been injected or added manually
|
|
182
|
-
function getCss(url) {
|
|
183
|
-
return document.querySelector("link[href*=\"" + url + "\"]");
|
|
184
|
-
}
|
|
185
|
-
function getCssUrl(urlOrVersion) {
|
|
186
|
-
return !urlOrVersion || parseVersion(urlOrVersion)
|
|
187
|
-
// if it's a valid version string return the CDN URL
|
|
188
|
-
? getCdnCssUrl(urlOrVersion)
|
|
189
|
-
// otherwise assume it's a URL and return that
|
|
190
|
-
: urlOrVersion;
|
|
191
|
-
}
|
|
192
|
-
// lazy load the CSS needed for the ArcGIS API
|
|
193
|
-
function loadCss(urlOrVersion, before) {
|
|
194
|
-
var url = getCssUrl(urlOrVersion);
|
|
195
|
-
var link = getCss(url);
|
|
196
|
-
if (!link) {
|
|
197
|
-
// create & load the css link
|
|
198
|
-
link = createStylesheetLink(url);
|
|
199
|
-
insertLink(link, before);
|
|
200
|
-
}
|
|
201
|
-
return link;
|
|
202
|
-
}
|
|
43
|
+
});
|
|
203
44
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
function
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
script.removeEventListener('load', onScriptLoad, false);
|
|
227
|
-
if (onScriptError) {
|
|
228
|
-
// remove the error listener as well
|
|
229
|
-
script.removeEventListener('error', onScriptError, false);
|
|
45
|
+
// ../../node_modules/esri-loader/dist/umd/esri-loader.js
|
|
46
|
+
var require_esri_loader = __commonJS({
|
|
47
|
+
"../../node_modules/esri-loader/dist/umd/esri-loader.js"(exports, module) {
|
|
48
|
+
(function(global, factory) {
|
|
49
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : factory(global.esriLoader = global.esriLoader || {});
|
|
50
|
+
})(exports, function(exports2) {
|
|
51
|
+
"use strict";
|
|
52
|
+
var isBrowser = typeof window !== "undefined";
|
|
53
|
+
var utils = {
|
|
54
|
+
Promise: isBrowser ? window["Promise"] : void 0
|
|
55
|
+
};
|
|
56
|
+
var DEFAULT_VERSION = "4.21";
|
|
57
|
+
var NEXT = "next";
|
|
58
|
+
function parseVersion(version) {
|
|
59
|
+
if (version.toLowerCase() === NEXT) {
|
|
60
|
+
return NEXT;
|
|
61
|
+
}
|
|
62
|
+
var match = version && version.match(/^(\d)\.(\d+)/);
|
|
63
|
+
return match && {
|
|
64
|
+
major: parseInt(match[1], 10),
|
|
65
|
+
minor: parseInt(match[2], 10)
|
|
66
|
+
};
|
|
230
67
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
68
|
+
function getCdnUrl(version) {
|
|
69
|
+
if (version === void 0) {
|
|
70
|
+
version = DEFAULT_VERSION;
|
|
71
|
+
}
|
|
72
|
+
return "https://js.arcgis.com/" + version + "/";
|
|
73
|
+
}
|
|
74
|
+
function getCdnCssUrl(version) {
|
|
75
|
+
if (version === void 0) {
|
|
76
|
+
version = DEFAULT_VERSION;
|
|
77
|
+
}
|
|
78
|
+
var baseUrl = getCdnUrl(version);
|
|
79
|
+
var parsedVersion = parseVersion(version);
|
|
80
|
+
if (parsedVersion !== NEXT && parsedVersion.major === 3) {
|
|
81
|
+
var path = parsedVersion.minor <= 10 ? "js/" : "";
|
|
82
|
+
return "" + baseUrl + path + "esri/css/esri.css";
|
|
83
|
+
} else {
|
|
84
|
+
return baseUrl + "esri/themes/light/main.css";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function createStylesheetLink(href) {
|
|
88
|
+
var link = document.createElement("link");
|
|
89
|
+
link.rel = "stylesheet";
|
|
90
|
+
link.href = href;
|
|
91
|
+
return link;
|
|
92
|
+
}
|
|
93
|
+
function insertLink(link, before) {
|
|
94
|
+
if (before) {
|
|
95
|
+
var beforeNode = document.querySelector(before);
|
|
96
|
+
beforeNode.parentNode.insertBefore(link, beforeNode);
|
|
97
|
+
} else {
|
|
98
|
+
document.head.appendChild(link);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function getCss(url) {
|
|
102
|
+
return document.querySelector('link[href*="' + url + '"]');
|
|
103
|
+
}
|
|
104
|
+
function getCssUrl(urlOrVersion) {
|
|
105
|
+
return !urlOrVersion || parseVersion(urlOrVersion) ? getCdnCssUrl(urlOrVersion) : urlOrVersion;
|
|
106
|
+
}
|
|
107
|
+
function loadCss(urlOrVersion, before) {
|
|
108
|
+
var url = getCssUrl(urlOrVersion);
|
|
109
|
+
var link = getCss(url);
|
|
110
|
+
if (!link) {
|
|
111
|
+
link = createStylesheetLink(url);
|
|
112
|
+
insertLink(link, before);
|
|
113
|
+
}
|
|
114
|
+
return link;
|
|
115
|
+
}
|
|
116
|
+
var defaultOptions = {};
|
|
117
|
+
function createScript(url) {
|
|
118
|
+
var script = document.createElement("script");
|
|
119
|
+
script.type = "text/javascript";
|
|
120
|
+
script.src = url;
|
|
121
|
+
script.setAttribute("data-esri-loader", "loading");
|
|
122
|
+
return script;
|
|
123
|
+
}
|
|
124
|
+
function handleScriptLoad(script, callback, errback) {
|
|
125
|
+
var onScriptError;
|
|
126
|
+
if (errback) {
|
|
127
|
+
onScriptError = handleScriptError(script, errback);
|
|
128
|
+
}
|
|
129
|
+
var onScriptLoad = function() {
|
|
130
|
+
callback(script);
|
|
131
|
+
script.removeEventListener("load", onScriptLoad, false);
|
|
132
|
+
if (onScriptError) {
|
|
133
|
+
script.removeEventListener("error", onScriptError, false);
|
|
271
134
|
}
|
|
135
|
+
};
|
|
136
|
+
script.addEventListener("load", onScriptLoad, false);
|
|
272
137
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
138
|
+
function handleScriptError(script, callback) {
|
|
139
|
+
var onScriptError = function(e) {
|
|
140
|
+
callback(e.error || new Error("There was an error attempting to load " + script.src));
|
|
141
|
+
script.removeEventListener("error", onScriptError, false);
|
|
142
|
+
};
|
|
143
|
+
script.addEventListener("error", onScriptError, false);
|
|
144
|
+
return onScriptError;
|
|
145
|
+
}
|
|
146
|
+
function setDefaultOptions(options) {
|
|
147
|
+
if (options === void 0) {
|
|
148
|
+
options = {};
|
|
149
|
+
}
|
|
150
|
+
defaultOptions = options;
|
|
151
|
+
}
|
|
152
|
+
function getScript() {
|
|
153
|
+
return document.querySelector("script[data-esri-loader]");
|
|
154
|
+
}
|
|
155
|
+
function isLoaded() {
|
|
156
|
+
var globalRequire = window["require"];
|
|
157
|
+
return globalRequire && globalRequire.on;
|
|
158
|
+
}
|
|
159
|
+
function loadScript(options) {
|
|
160
|
+
if (options === void 0) {
|
|
161
|
+
options = {};
|
|
162
|
+
}
|
|
163
|
+
var opts = {};
|
|
164
|
+
[defaultOptions, options].forEach(function(obj) {
|
|
165
|
+
for (var prop in obj) {
|
|
166
|
+
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
|
167
|
+
opts[prop] = obj[prop];
|
|
168
|
+
}
|
|
287
169
|
}
|
|
288
|
-
|
|
170
|
+
});
|
|
171
|
+
var version = opts.version;
|
|
172
|
+
var url = opts.url || getCdnUrl(version);
|
|
173
|
+
return new utils.Promise(function(resolve, reject) {
|
|
174
|
+
var script = getScript();
|
|
175
|
+
if (script) {
|
|
176
|
+
var src = script.getAttribute("src");
|
|
177
|
+
if (src !== url) {
|
|
178
|
+
reject(new Error("The ArcGIS API for JavaScript is already loaded (" + src + ")."));
|
|
179
|
+
} else {
|
|
289
180
|
if (isLoaded()) {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
else {
|
|
294
|
-
// wait for the script to load and then resolve
|
|
295
|
-
handleScriptLoad(script, resolve, reject);
|
|
181
|
+
resolve(script);
|
|
182
|
+
} else {
|
|
183
|
+
handleScriptLoad(script, resolve, reject);
|
|
296
184
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (isLoaded()) {
|
|
301
|
-
// the API has been loaded by some other means
|
|
302
|
-
// potentially trying to load a different version of the API
|
|
185
|
+
}
|
|
186
|
+
} else {
|
|
187
|
+
if (isLoaded()) {
|
|
303
188
|
reject(new Error("The ArcGIS API for JavaScript is already loaded."));
|
|
304
|
-
|
|
305
|
-
else {
|
|
306
|
-
// this is the first time attempting to load the API
|
|
189
|
+
} else {
|
|
307
190
|
var css = opts.css;
|
|
308
191
|
if (css) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
loadCss(useVersion ? version : css, opts.insertCssBefore);
|
|
192
|
+
var useVersion = css === true;
|
|
193
|
+
loadCss(useVersion ? version : css, opts.insertCssBefore);
|
|
312
194
|
}
|
|
313
|
-
// create a script object whose source points to the API
|
|
314
195
|
script = createScript(url);
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
// update the status of the script
|
|
319
|
-
script.setAttribute('data-esri-loader', 'loaded');
|
|
320
|
-
// return the script
|
|
321
|
-
resolve(script);
|
|
196
|
+
handleScriptLoad(script, function() {
|
|
197
|
+
script.setAttribute("data-esri-loader", "loaded");
|
|
198
|
+
resolve(script);
|
|
322
199
|
}, reject);
|
|
323
|
-
// load the script
|
|
324
200
|
document.body.appendChild(script);
|
|
201
|
+
}
|
|
325
202
|
}
|
|
203
|
+
});
|
|
326
204
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
function requireModules(modules) {
|
|
334
|
-
return new utils.Promise(function (resolve, reject) {
|
|
335
|
-
// If something goes wrong loading the esri/dojo scripts, reject with the error.
|
|
336
|
-
var errorHandler = window['require'].on('error', reject);
|
|
337
|
-
window['require'](modules, function () {
|
|
338
|
-
var args = [];
|
|
339
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
205
|
+
function requireModules(modules) {
|
|
206
|
+
return new utils.Promise(function(resolve, reject) {
|
|
207
|
+
var errorHandler = window["require"].on("error", reject);
|
|
208
|
+
window["require"](modules, function() {
|
|
209
|
+
var args = [];
|
|
210
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
340
211
|
args[_i] = arguments[_i];
|
|
212
|
+
}
|
|
213
|
+
errorHandler.remove();
|
|
214
|
+
resolve(args);
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
function loadModules(modules, loadScriptOptions) {
|
|
219
|
+
if (loadScriptOptions === void 0) {
|
|
220
|
+
loadScriptOptions = {};
|
|
221
|
+
}
|
|
222
|
+
if (!isLoaded()) {
|
|
223
|
+
var script = getScript();
|
|
224
|
+
var src = script && script.getAttribute("src");
|
|
225
|
+
if (!loadScriptOptions.url && src) {
|
|
226
|
+
loadScriptOptions.url = src;
|
|
341
227
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
}
|
|
349
|
-
// returns a promise that resolves with an array of the required modules
|
|
350
|
-
// also will attempt to lazy load the ArcGIS API if it has not already been loaded
|
|
351
|
-
function loadModules(modules, loadScriptOptions) {
|
|
352
|
-
if (loadScriptOptions === void 0) { loadScriptOptions = {}; }
|
|
353
|
-
if (!isLoaded()) {
|
|
354
|
-
// script is not yet loaded, is it in the process of loading?
|
|
355
|
-
var script = getScript();
|
|
356
|
-
var src = script && script.getAttribute('src');
|
|
357
|
-
if (!loadScriptOptions.url && src) {
|
|
358
|
-
// script is still loading and user did not specify a URL
|
|
359
|
-
// in this case we want to default to the URL that's being loaded
|
|
360
|
-
// instead of defaulting to the latest 4.x URL
|
|
361
|
-
loadScriptOptions.url = src;
|
|
228
|
+
return loadScript(loadScriptOptions).then(function() {
|
|
229
|
+
return requireModules(modules);
|
|
230
|
+
});
|
|
231
|
+
} else {
|
|
232
|
+
return requireModules(modules);
|
|
233
|
+
}
|
|
362
234
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
235
|
+
exports2.utils = utils;
|
|
236
|
+
exports2.loadModules = loadModules;
|
|
237
|
+
exports2.getScript = getScript;
|
|
238
|
+
exports2.isLoaded = isLoaded;
|
|
239
|
+
exports2.loadScript = loadScript;
|
|
240
|
+
exports2.setDefaultOptions = setDefaultOptions;
|
|
241
|
+
exports2.loadCss = loadCss;
|
|
242
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
243
|
+
});
|
|
369
244
|
}
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/*
|
|
373
|
-
Copyright (c) 2017 Esri
|
|
374
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
375
|
-
you may not use this file except in compliance with the License.
|
|
376
|
-
You may obtain a copy of the License at
|
|
377
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
378
|
-
Unless required by applicable law or agreed to in writing, software
|
|
379
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
380
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
381
|
-
See the License for the specific language governing permissions and
|
|
382
|
-
limitations under the License.
|
|
383
|
-
*/
|
|
384
|
-
// re-export the functions that are part of the public API
|
|
385
|
-
|
|
386
|
-
exports.utils = utils;
|
|
387
|
-
exports.loadModules = loadModules;
|
|
388
|
-
exports.getScript = getScript;
|
|
389
|
-
exports.isLoaded = isLoaded;
|
|
390
|
-
exports.loadScript = loadScript;
|
|
391
|
-
exports.setDefaultOptions = setDefaultOptions;
|
|
392
|
-
exports.loadCss = loadCss;
|
|
393
|
-
|
|
394
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
395
|
-
|
|
396
|
-
})));
|
|
397
|
-
//# sourceMappingURL=esri-loader.js.map
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
/***/ }),
|
|
401
|
-
|
|
402
|
-
/***/ "./bundle.ts":
|
|
403
|
-
/*!*******************!*\
|
|
404
|
-
!*** ./bundle.ts ***!
|
|
405
|
-
\*******************/
|
|
406
|
-
/*! no static exports found */
|
|
407
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
408
|
-
|
|
409
|
-
const ArcGISUtils = __webpack_require__(/*! ./src/load-modules */ "./src/load-modules.js");
|
|
410
|
-
|
|
411
|
-
const deck = globalThis.deck || {}; // Check if peer dependencies are included
|
|
412
|
-
|
|
413
|
-
if (!deck.Layer) {
|
|
414
|
-
throw new Error('@deck.gl/core is not found');
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
module.exports = Object.assign(deck, ArcGISUtils);
|
|
245
|
+
});
|
|
418
246
|
|
|
419
|
-
|
|
247
|
+
// bundle.ts
|
|
248
|
+
var bundle_exports = {};
|
|
249
|
+
__export(bundle_exports, {
|
|
250
|
+
loadArcGISModules: () => loadArcGISModules
|
|
251
|
+
});
|
|
420
252
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
253
|
+
// ../core/bundle/peer-dependency.ts
|
|
254
|
+
var peer_dependency_exports = {};
|
|
255
|
+
var import_core = __toESM(require_core());
|
|
256
|
+
__reExport(peer_dependency_exports, __toESM(require_core()));
|
|
257
|
+
if (!import_core.Layer) {
|
|
258
|
+
throw new Error("@deck.gl/core is not found");
|
|
259
|
+
}
|
|
427
260
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
261
|
+
// bundle.ts
|
|
262
|
+
__reExport(bundle_exports, peer_dependency_exports);
|
|
263
|
+
|
|
264
|
+
// src/deck-props.js
|
|
265
|
+
var properties = {
|
|
266
|
+
layers: {},
|
|
267
|
+
layerFilter: {},
|
|
268
|
+
parameters: {},
|
|
269
|
+
effects: {},
|
|
270
|
+
pickingRadius: {},
|
|
271
|
+
onBeforeRender: {},
|
|
272
|
+
onAfterRender: {},
|
|
273
|
+
onClick: {},
|
|
274
|
+
onHover: {},
|
|
275
|
+
onDragStart: {},
|
|
276
|
+
onDrag: {},
|
|
277
|
+
onDragEnd: {},
|
|
278
|
+
onError: {},
|
|
279
|
+
debug: {},
|
|
280
|
+
drawPickingColors: {},
|
|
281
|
+
getCursor: {},
|
|
282
|
+
getTooltip: {}
|
|
283
|
+
};
|
|
284
|
+
function createDeckProps(Accessor) {
|
|
285
|
+
const DeckProps = Accessor.createSubclass({
|
|
286
|
+
properties,
|
|
287
|
+
constructor() {
|
|
288
|
+
this._callbacks = {};
|
|
289
|
+
this.watch(Object.keys(properties), (newValue, oldValue, propName) => {
|
|
290
|
+
this.emit("change", {
|
|
291
|
+
[propName]: newValue
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
},
|
|
295
|
+
on(eventName, cb) {
|
|
296
|
+
this._callbacks[eventName] = this._callbacks[eventName] || [];
|
|
297
|
+
this._callbacks[eventName].push(cb);
|
|
298
|
+
},
|
|
299
|
+
emit(eventName, details) {
|
|
300
|
+
const callbacks = this._callbacks[eventName];
|
|
301
|
+
if (callbacks) {
|
|
302
|
+
for (const cb of callbacks) {
|
|
303
|
+
cb(details);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
toJSON() {
|
|
308
|
+
const result = {};
|
|
309
|
+
for (const key of this.keys()) {
|
|
310
|
+
if (this[key] !== void 0) {
|
|
311
|
+
result[key] = this[key];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return result;
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
return DeckProps;
|
|
318
|
+
}
|
|
438
319
|
|
|
320
|
+
// src/deck-layer.js
|
|
321
|
+
function createDeckLayer(DeckProps, Layer2, DeckLayerView2D) {
|
|
322
|
+
return Layer2.createSubclass({
|
|
323
|
+
properties: {
|
|
324
|
+
deck: {},
|
|
325
|
+
blendMode: {},
|
|
326
|
+
effect: {}
|
|
327
|
+
},
|
|
328
|
+
constructor() {
|
|
329
|
+
this.deck = new DeckProps();
|
|
330
|
+
},
|
|
331
|
+
createLayerView(view) {
|
|
332
|
+
if (view.type === "2d") {
|
|
333
|
+
return new DeckLayerView2D({
|
|
334
|
+
view,
|
|
335
|
+
layer: this
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.");
|
|
339
|
+
return null;
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
}
|
|
439
343
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
344
|
+
// src/commons.js
|
|
345
|
+
var import_core2 = __toESM(require_core());
|
|
346
|
+
var import_core3 = __toESM(require_core2());
|
|
347
|
+
function initializeResources(gl) {
|
|
348
|
+
(0, import_core3.instrumentGLContext)(gl);
|
|
349
|
+
this.buffer = new import_core3.Buffer(gl, new Int8Array([-1, -1, 1, -1, -1, 1, 1, 1]));
|
|
350
|
+
this.model = new import_core3.Model(gl, {
|
|
351
|
+
vs: `
|
|
445
352
|
attribute vec2 a_pos;
|
|
446
353
|
varying vec2 v_texcoord;
|
|
447
354
|
void main(void) {
|
|
@@ -449,7 +356,7 @@ function initializeResources(gl) {
|
|
|
449
356
|
v_texcoord = (a_pos + 1.0) / 2.0;
|
|
450
357
|
}
|
|
451
358
|
`,
|
|
452
|
-
|
|
359
|
+
fs: `
|
|
453
360
|
precision mediump float;
|
|
454
361
|
uniform sampler2D u_texture;
|
|
455
362
|
varying vec2 v_texcoord;
|
|
@@ -459,431 +366,197 @@ function initializeResources(gl) {
|
|
|
459
366
|
gl_FragColor = rgba;
|
|
460
367
|
}
|
|
461
368
|
`,
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
_customRender: redrawReason => {
|
|
489
|
-
if (redrawReason === 'arcgis') {
|
|
490
|
-
this.deckInstance._drawLayers(redrawReason);
|
|
491
|
-
} else {
|
|
492
|
-
this.redraw();
|
|
369
|
+
attributes: {
|
|
370
|
+
a_pos: this.buffer
|
|
371
|
+
},
|
|
372
|
+
vertexCount: 4,
|
|
373
|
+
drawMode: gl.TRIANGLE_STRIP
|
|
374
|
+
});
|
|
375
|
+
this.deckFbo = new import_core3.Framebuffer(gl, {
|
|
376
|
+
width: 1,
|
|
377
|
+
height: 1
|
|
378
|
+
});
|
|
379
|
+
this.deckInstance = new import_core2.Deck({
|
|
380
|
+
viewState: {},
|
|
381
|
+
controller: false,
|
|
382
|
+
gl,
|
|
383
|
+
parameters: {
|
|
384
|
+
depthTest: true
|
|
385
|
+
},
|
|
386
|
+
_framebuffer: this.deckFbo,
|
|
387
|
+
width: null,
|
|
388
|
+
height: null,
|
|
389
|
+
_customRender: (redrawReason) => {
|
|
390
|
+
if (redrawReason === "arcgis") {
|
|
391
|
+
this.deckInstance._drawLayers(redrawReason);
|
|
392
|
+
} else {
|
|
393
|
+
this.redraw();
|
|
394
|
+
}
|
|
493
395
|
}
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
gl,
|
|
499
|
-
width,
|
|
500
|
-
height,
|
|
501
|
-
viewState
|
|
502
|
-
}) {
|
|
503
|
-
const screenFbo = gl.getParameter(gl.FRAMEBUFFER_BINDING);
|
|
504
|
-
/* global window */
|
|
505
|
-
|
|
506
|
-
const dpr = window.devicePixelRatio;
|
|
507
|
-
width = Math.round(width * dpr);
|
|
508
|
-
height = Math.round(height * dpr);
|
|
509
|
-
this.deckFbo.resize({
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
function render({
|
|
399
|
+
gl,
|
|
510
400
|
width,
|
|
511
|
-
height
|
|
512
|
-
});
|
|
513
|
-
this.deckInstance.setProps({
|
|
401
|
+
height,
|
|
514
402
|
viewState
|
|
515
|
-
})
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
"use strict";
|
|
548
|
-
__webpack_require__.r(__webpack_exports__);
|
|
549
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createDeckLayerView2D; });
|
|
550
|
-
/* harmony import */ var _commons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./commons */ "./src/commons.js");
|
|
551
|
-
|
|
552
|
-
function createDeckLayerView2D(BaseLayerViewGL2D) {
|
|
553
|
-
return BaseLayerViewGL2D.createSubclass({
|
|
554
|
-
properties: {
|
|
555
|
-
deckgl: {},
|
|
556
|
-
deckFbo: {},
|
|
557
|
-
model: {},
|
|
558
|
-
buffer: {}
|
|
559
|
-
},
|
|
560
|
-
|
|
561
|
-
// Attach is called as soon as the layer view is ready to start rendering.
|
|
562
|
-
attach() {
|
|
563
|
-
// We use a full-screen quad and shaders to composite the frame rendered
|
|
564
|
-
// with deck.gl on top of the MapView. Composition uses the MapView context.
|
|
565
|
-
const gl = this.context;
|
|
566
|
-
_commons__WEBPACK_IMPORTED_MODULE_0__["initializeResources"].call(this, gl); // Update deck props
|
|
567
|
-
|
|
568
|
-
this.layer.deck.on('change', props => this.deckInstance.setProps(props)); // We need to start drawing the deck.gl layer immediately.
|
|
569
|
-
|
|
570
|
-
this.deckInstance.setProps(this.layer.deck.toJSON());
|
|
571
|
-
},
|
|
572
|
-
|
|
573
|
-
redraw() {
|
|
574
|
-
this.requestRender();
|
|
575
|
-
},
|
|
576
|
-
|
|
577
|
-
// Called when the layer must be destroyed.
|
|
578
|
-
detach() {
|
|
579
|
-
_commons__WEBPACK_IMPORTED_MODULE_0__["finalizeResources"].call(this);
|
|
580
|
-
},
|
|
581
|
-
|
|
582
|
-
// Called every time that the layer view must be rendered.
|
|
583
|
-
render(renderParameters) {
|
|
584
|
-
const [width, height] = this.view.state.size; // The view state must be kept in-sync with the MapView of the ArcGIS API.
|
|
585
|
-
|
|
586
|
-
const state = renderParameters.state;
|
|
587
|
-
_commons__WEBPACK_IMPORTED_MODULE_0__["render"].call(this, {
|
|
588
|
-
gl: renderParameters.context,
|
|
589
|
-
width,
|
|
590
|
-
height,
|
|
591
|
-
viewState: {
|
|
592
|
-
latitude: this.view.center.latitude,
|
|
593
|
-
longitude: this.view.center.longitude,
|
|
594
|
-
zoom: this.view.featuresTilingScheme.scaleToLevel(state.scale),
|
|
595
|
-
bearing: -state.rotation,
|
|
596
|
-
pitch: 0
|
|
597
|
-
}
|
|
598
|
-
});
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
});
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
/***/ }),
|
|
605
|
-
|
|
606
|
-
/***/ "./src/deck-layer.js":
|
|
607
|
-
/*!***************************!*\
|
|
608
|
-
!*** ./src/deck-layer.js ***!
|
|
609
|
-
\***************************/
|
|
610
|
-
/*! exports provided: default */
|
|
611
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
612
|
-
|
|
613
|
-
"use strict";
|
|
614
|
-
__webpack_require__.r(__webpack_exports__);
|
|
615
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createDeckLayer; });
|
|
616
|
-
function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {
|
|
617
|
-
// A layer that displays inside a MapView using an instance
|
|
618
|
-
// of the layer view defined above.
|
|
619
|
-
return Layer.createSubclass({
|
|
620
|
-
properties: {
|
|
621
|
-
deck: {},
|
|
622
|
-
blendMode: {},
|
|
623
|
-
effect: {}
|
|
624
|
-
},
|
|
625
|
-
|
|
626
|
-
constructor() {
|
|
627
|
-
this.deck = new DeckProps();
|
|
628
|
-
},
|
|
629
|
-
|
|
630
|
-
// Called by the MapView whenever a layer view
|
|
631
|
-
// needs to be created for a given layer.
|
|
632
|
-
createLayerView(view) {
|
|
633
|
-
if (view.type === '2d') {
|
|
634
|
-
return new DeckLayerView2D({
|
|
635
|
-
view,
|
|
636
|
-
layer: this
|
|
637
|
-
});
|
|
638
|
-
} // eslint-disable-next-line
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
console.error('DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.');
|
|
642
|
-
return null;
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
});
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
/***/ }),
|
|
649
|
-
|
|
650
|
-
/***/ "./src/deck-props.js":
|
|
651
|
-
/*!***************************!*\
|
|
652
|
-
!*** ./src/deck-props.js ***!
|
|
653
|
-
\***************************/
|
|
654
|
-
/*! exports provided: default */
|
|
655
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
656
|
-
|
|
657
|
-
"use strict";
|
|
658
|
-
__webpack_require__.r(__webpack_exports__);
|
|
659
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createDeckProps; });
|
|
660
|
-
const properties = {
|
|
661
|
-
layers: {},
|
|
662
|
-
layerFilter: {},
|
|
663
|
-
parameters: {},
|
|
664
|
-
effects: {},
|
|
665
|
-
pickingRadius: {},
|
|
666
|
-
onBeforeRender: {},
|
|
667
|
-
onAfterRender: {},
|
|
668
|
-
onClick: {},
|
|
669
|
-
onHover: {},
|
|
670
|
-
onDragStart: {},
|
|
671
|
-
onDrag: {},
|
|
672
|
-
onDragEnd: {},
|
|
673
|
-
onError: {},
|
|
674
|
-
debug: {},
|
|
675
|
-
drawPickingColors: {},
|
|
676
|
-
getCursor: {},
|
|
677
|
-
getTooltip: {}
|
|
678
|
-
};
|
|
679
|
-
/* eslint-disable callback-return */
|
|
680
|
-
|
|
681
|
-
function createDeckProps(Accessor) {
|
|
682
|
-
const DeckProps = Accessor.createSubclass({
|
|
683
|
-
properties,
|
|
403
|
+
}) {
|
|
404
|
+
const screenFbo = gl.getParameter(gl.FRAMEBUFFER_BINDING);
|
|
405
|
+
const dpr = window.devicePixelRatio;
|
|
406
|
+
width = Math.round(width * dpr);
|
|
407
|
+
height = Math.round(height * dpr);
|
|
408
|
+
this.deckFbo.resize({
|
|
409
|
+
width,
|
|
410
|
+
height
|
|
411
|
+
});
|
|
412
|
+
this.deckInstance.setProps({
|
|
413
|
+
viewState
|
|
414
|
+
});
|
|
415
|
+
this.deckInstance.redraw("arcgis");
|
|
416
|
+
(0, import_core3.withParameters)(gl, {
|
|
417
|
+
blend: true,
|
|
418
|
+
blendFunc: [gl.ONE, gl.ONE_MINUS_SRC_ALPHA],
|
|
419
|
+
framebuffer: screenFbo,
|
|
420
|
+
viewport: [0, 0, width, height]
|
|
421
|
+
}, () => {
|
|
422
|
+
this.model.setUniforms({
|
|
423
|
+
u_texture: this.deckFbo
|
|
424
|
+
}).draw();
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
function finalizeResources() {
|
|
428
|
+
this.deckInstance?.finalize();
|
|
429
|
+
this.deckInstance = null;
|
|
430
|
+
this.model?.delete();
|
|
431
|
+
this.buffer?.delete();
|
|
432
|
+
this.deckFbo?.delete();
|
|
433
|
+
}
|
|
684
434
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
435
|
+
// src/deck-layer-view-2d.js
|
|
436
|
+
function createDeckLayerView2D(BaseLayerViewGL2D) {
|
|
437
|
+
return BaseLayerViewGL2D.createSubclass({
|
|
438
|
+
properties: {
|
|
439
|
+
deckgl: {},
|
|
440
|
+
deckFbo: {},
|
|
441
|
+
model: {},
|
|
442
|
+
buffer: {}
|
|
443
|
+
},
|
|
444
|
+
attach() {
|
|
445
|
+
const gl = this.context;
|
|
446
|
+
initializeResources.call(this, gl);
|
|
447
|
+
this.layer.deck.on("change", (props) => this.deckInstance.setProps(props));
|
|
448
|
+
this.deckInstance.setProps(this.layer.deck.toJSON());
|
|
449
|
+
},
|
|
450
|
+
redraw() {
|
|
451
|
+
this.requestRender();
|
|
452
|
+
},
|
|
453
|
+
detach() {
|
|
454
|
+
finalizeResources.call(this);
|
|
455
|
+
},
|
|
456
|
+
render(renderParameters) {
|
|
457
|
+
const [width, height] = this.view.state.size;
|
|
458
|
+
const state = renderParameters.state;
|
|
459
|
+
render.call(this, {
|
|
460
|
+
gl: renderParameters.context,
|
|
461
|
+
width,
|
|
462
|
+
height,
|
|
463
|
+
viewState: {
|
|
464
|
+
latitude: this.view.center.latitude,
|
|
465
|
+
longitude: this.view.center.longitude,
|
|
466
|
+
zoom: this.view.featuresTilingScheme.scaleToLevel(state.scale),
|
|
467
|
+
bearing: -state.rotation,
|
|
468
|
+
pitch: 0
|
|
469
|
+
}
|
|
690
470
|
});
|
|
691
|
-
});
|
|
692
|
-
},
|
|
693
|
-
|
|
694
|
-
on(eventName, cb) {
|
|
695
|
-
this._callbacks[eventName] = this._callbacks[eventName] || [];
|
|
696
|
-
|
|
697
|
-
this._callbacks[eventName].push(cb);
|
|
698
|
-
},
|
|
699
|
-
|
|
700
|
-
emit(eventName, details) {
|
|
701
|
-
const callbacks = this._callbacks[eventName];
|
|
702
|
-
|
|
703
|
-
if (callbacks) {
|
|
704
|
-
for (const cb of callbacks) {
|
|
705
|
-
cb(details);
|
|
706
|
-
}
|
|
707
471
|
}
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
toJSON() {
|
|
711
|
-
const result = {};
|
|
472
|
+
});
|
|
473
|
+
}
|
|
712
474
|
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
475
|
+
// src/deck-renderer.js
|
|
476
|
+
function arcgisFOVToDeckAltitude(fov, aspectRatio) {
|
|
477
|
+
const D = Math.sqrt(1 + aspectRatio ** 2);
|
|
478
|
+
const halfFOV = fov / 2 / 180 * Math.PI;
|
|
479
|
+
return D / 2 / Math.tan(halfFOV);
|
|
480
|
+
}
|
|
481
|
+
function createDeckRenderer(DeckProps, externalRenderers) {
|
|
482
|
+
class DeckRenderer {
|
|
483
|
+
constructor(view, props) {
|
|
484
|
+
this.view = view;
|
|
485
|
+
this.deck = new DeckProps(props);
|
|
486
|
+
}
|
|
487
|
+
setup(context) {
|
|
488
|
+
const gl = context.gl;
|
|
489
|
+
initializeResources.call(this, gl);
|
|
490
|
+
this.deck.on("change", (props) => this.deckInstance.setProps(props));
|
|
491
|
+
this.deckInstance.setProps(this.deck.toJSON());
|
|
492
|
+
}
|
|
493
|
+
dispose() {
|
|
494
|
+
finalizeResources.call(this);
|
|
495
|
+
}
|
|
496
|
+
redraw() {
|
|
497
|
+
externalRenderers.requestRender(this.view);
|
|
498
|
+
}
|
|
499
|
+
render(context) {
|
|
500
|
+
const [width, height] = this.view.size;
|
|
501
|
+
render.call(this, {
|
|
502
|
+
gl: context.gl,
|
|
503
|
+
width,
|
|
504
|
+
height,
|
|
505
|
+
viewState: {
|
|
506
|
+
latitude: this.view.center.latitude,
|
|
507
|
+
longitude: this.view.center.longitude,
|
|
508
|
+
altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),
|
|
509
|
+
zoom: this.view.zoom,
|
|
510
|
+
bearing: this.view.camera.heading,
|
|
511
|
+
pitch: this.view.camera.tilt
|
|
512
|
+
}
|
|
513
|
+
});
|
|
717
514
|
}
|
|
718
|
-
|
|
719
|
-
return result;
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
});
|
|
723
|
-
return DeckProps;
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
/***/ }),
|
|
727
|
-
|
|
728
|
-
/***/ "./src/deck-renderer.js":
|
|
729
|
-
/*!******************************!*\
|
|
730
|
-
!*** ./src/deck-renderer.js ***!
|
|
731
|
-
\******************************/
|
|
732
|
-
/*! exports provided: default */
|
|
733
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
734
|
-
|
|
735
|
-
"use strict";
|
|
736
|
-
__webpack_require__.r(__webpack_exports__);
|
|
737
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createDeckRenderer; });
|
|
738
|
-
/* harmony import */ var _commons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./commons */ "./src/commons.js");
|
|
739
|
-
/* eslint-disable no-invalid-this */
|
|
740
|
-
// ArcGIS fov is corner-to-corner
|
|
741
|
-
|
|
742
|
-
function arcgisFOVToDeckAltitude(fov, aspectRatio) {
|
|
743
|
-
const D = Math.sqrt(1 + aspectRatio ** 2);
|
|
744
|
-
const halfFOV = fov / 2 / 180 * Math.PI;
|
|
745
|
-
return D / 2 / Math.tan(halfFOV);
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
function createDeckRenderer(DeckProps, externalRenderers) {
|
|
749
|
-
class DeckRenderer {
|
|
750
|
-
constructor(view, props) {
|
|
751
|
-
this.view = view;
|
|
752
|
-
this.deck = new DeckProps(props);
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
setup(context) {
|
|
756
|
-
const gl = context.gl;
|
|
757
|
-
_commons__WEBPACK_IMPORTED_MODULE_0__["initializeResources"].call(this, gl);
|
|
758
|
-
this.deck.on('change', props => this.deckInstance.setProps(props));
|
|
759
|
-
this.deckInstance.setProps(this.deck.toJSON());
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
dispose() {
|
|
763
|
-
_commons__WEBPACK_IMPORTED_MODULE_0__["finalizeResources"].call(this);
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
redraw() {
|
|
767
|
-
externalRenderers.requestRender(this.view);
|
|
768
515
|
}
|
|
516
|
+
return DeckRenderer;
|
|
517
|
+
}
|
|
769
518
|
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
pitch: this.view.camera.tilt
|
|
783
|
-
}
|
|
519
|
+
// src/load-modules.js
|
|
520
|
+
var import_esri_loader = __toESM(require_esri_loader());
|
|
521
|
+
var arcGIS = null;
|
|
522
|
+
async function loadArcGISModules(modules, loadScriptOptions) {
|
|
523
|
+
const namespace = Array.isArray(modules) ? null : modules;
|
|
524
|
+
await loadArcGISModule(namespace, loadScriptOptions);
|
|
525
|
+
if (Array.isArray(modules)) {
|
|
526
|
+
return (0, import_esri_loader.loadModules)(modules, loadScriptOptions).then((array) => {
|
|
527
|
+
return {
|
|
528
|
+
...arcGIS,
|
|
529
|
+
modules: array
|
|
530
|
+
};
|
|
784
531
|
});
|
|
785
532
|
}
|
|
786
|
-
|
|
533
|
+
return arcGIS;
|
|
787
534
|
}
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
"use strict";
|
|
802
|
-
__webpack_require__.r(__webpack_exports__);
|
|
803
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadArcGISModules", function() { return loadArcGISModules; });
|
|
804
|
-
/* harmony import */ var _deck_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./deck-props */ "./src/deck-props.js");
|
|
805
|
-
/* harmony import */ var _deck_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./deck-layer */ "./src/deck-layer.js");
|
|
806
|
-
/* harmony import */ var _deck_layer_view_2d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./deck-layer-view-2d */ "./src/deck-layer-view-2d.js");
|
|
807
|
-
/* harmony import */ var _deck_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./deck-renderer */ "./src/deck-renderer.js");
|
|
808
|
-
/* harmony import */ var esri_loader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! esri-loader */ "../../node_modules/esri-loader/dist/umd/esri-loader.js");
|
|
809
|
-
/* harmony import */ var esri_loader__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(esri_loader__WEBPACK_IMPORTED_MODULE_4__);
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
let arcGIS = null;
|
|
816
|
-
async function loadArcGISModules(modules, loadScriptOptions) {
|
|
817
|
-
const namespace = Array.isArray(modules) ? null : modules;
|
|
818
|
-
await loadArcGISModule(namespace, loadScriptOptions);
|
|
819
|
-
|
|
820
|
-
if (Array.isArray(modules)) {
|
|
821
|
-
return Object(esri_loader__WEBPACK_IMPORTED_MODULE_4__["loadModules"])(modules, loadScriptOptions).then(array => {
|
|
822
|
-
return { ...arcGIS,
|
|
823
|
-
modules: array
|
|
824
|
-
};
|
|
535
|
+
function loadArcGISModule(esri, loadScriptOptions) {
|
|
536
|
+
if (arcGIS) {
|
|
537
|
+
return arcGIS;
|
|
538
|
+
}
|
|
539
|
+
if (esri) {
|
|
540
|
+
const Layer2 = esri.layers.Layer;
|
|
541
|
+
const Accessor = esri.core.Accessor;
|
|
542
|
+
const BaseLayerViewGL2D = esri.views["2d"].layers.BaseLayerViewGL2D;
|
|
543
|
+
const externalRenderers = esri.views["3d"].externalRenderers;
|
|
544
|
+
return initialize(Layer2, Accessor, BaseLayerViewGL2D, externalRenderers);
|
|
545
|
+
}
|
|
546
|
+
return (0, import_esri_loader.loadModules)(["esri/layers/Layer", "esri/core/Accessor", "esri/views/2d/layers/BaseLayerViewGL2D", "esri/views/3d/externalRenderers"], loadScriptOptions).then(([Layer2, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
|
|
547
|
+
return initialize(Layer2, Accessor, BaseLayerViewGL2D, externalRenderers);
|
|
825
548
|
});
|
|
826
549
|
}
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
550
|
+
function initialize(Layer2, Accessor, BaseLayerViewGL2D, externalRenderers) {
|
|
551
|
+
const DeckProps = createDeckProps(Accessor);
|
|
552
|
+
const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);
|
|
553
|
+
const DeckLayer = createDeckLayer(DeckProps, Layer2, DeckLayerView2D);
|
|
554
|
+
const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);
|
|
555
|
+
arcGIS = {
|
|
556
|
+
DeckLayer,
|
|
557
|
+
DeckRenderer
|
|
558
|
+
};
|
|
834
559
|
return arcGIS;
|
|
835
560
|
}
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
// Using user-provided dependencies
|
|
839
|
-
// Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?
|
|
840
|
-
const Layer = esri.layers.Layer;
|
|
841
|
-
const Accessor = esri.core.Accessor;
|
|
842
|
-
const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;
|
|
843
|
-
const externalRenderers = esri.views['3d'].externalRenderers;
|
|
844
|
-
return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
|
|
845
|
-
}
|
|
846
|
-
|
|
847
|
-
return Object(esri_loader__WEBPACK_IMPORTED_MODULE_4__["loadModules"])(['esri/layers/Layer', 'esri/core/Accessor', 'esri/views/2d/layers/BaseLayerViewGL2D', 'esri/views/3d/externalRenderers'], loadScriptOptions).then(([Layer, Accessor, BaseLayerViewGL2D, externalRenderers]) => {
|
|
848
|
-
return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);
|
|
849
|
-
});
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
function initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {
|
|
853
|
-
const DeckProps = Object(_deck_props__WEBPACK_IMPORTED_MODULE_0__["default"])(Accessor);
|
|
854
|
-
const DeckLayerView2D = Object(_deck_layer_view_2d__WEBPACK_IMPORTED_MODULE_2__["default"])(BaseLayerViewGL2D);
|
|
855
|
-
const DeckLayer = Object(_deck_layer__WEBPACK_IMPORTED_MODULE_1__["default"])(DeckProps, Layer, DeckLayerView2D);
|
|
856
|
-
const DeckRenderer = Object(_deck_renderer__WEBPACK_IMPORTED_MODULE_3__["default"])(DeckProps, externalRenderers);
|
|
857
|
-
arcGIS = {
|
|
858
|
-
DeckLayer,
|
|
859
|
-
DeckRenderer
|
|
860
|
-
};
|
|
861
|
-
return arcGIS;
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
/***/ }),
|
|
865
|
-
|
|
866
|
-
/***/ "@deck.gl/core":
|
|
867
|
-
/*!***********************!*\
|
|
868
|
-
!*** external "deck" ***!
|
|
869
|
-
\***********************/
|
|
870
|
-
/*! no static exports found */
|
|
871
|
-
/***/ (function(module, exports) {
|
|
872
|
-
|
|
873
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__deck_gl_core__;
|
|
874
|
-
|
|
875
|
-
/***/ }),
|
|
876
|
-
|
|
877
|
-
/***/ "@luma.gl/core":
|
|
878
|
-
/*!***********************!*\
|
|
879
|
-
!*** external "luma" ***!
|
|
880
|
-
\***********************/
|
|
881
|
-
/*! no static exports found */
|
|
882
|
-
/***/ (function(module, exports) {
|
|
883
|
-
|
|
884
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__luma_gl_core__;
|
|
885
|
-
|
|
886
|
-
/***/ })
|
|
887
|
-
|
|
888
|
-
/******/ });
|
|
889
|
-
});
|
|
561
|
+
return __toCommonJS(bundle_exports);
|
|
562
|
+
})();
|