@splunk/visualization-context 26.4.1 → 27.0.0
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/BaseRegistry.js +227 -495
- package/BaseRegistry.js.map +7 -1
- package/DataSourceContext.js +55 -125
- package/DataSourceContext.js.map +7 -1
- package/EventsContext.js +54 -121
- package/EventsContext.js.map +7 -1
- package/FeatureFlagContext.js +55 -120
- package/FeatureFlagContext.js.map +7 -1
- package/FeatureFlags.js +27 -107
- package/FeatureFlags.js.map +7 -1
- package/GeoContext.js +55 -120
- package/GeoContext.js.map +7 -1
- package/GeoJsonProvider.js +26712 -303
- package/GeoJsonProvider.js.map +7 -1
- package/GeoRegistry.js +280 -691
- package/GeoRegistry.js.map +7 -1
- package/IconContext.js +55 -120
- package/IconContext.js.map +7 -1
- package/IconRegistry.js +256 -654
- package/IconRegistry.js.map +7 -1
- package/ImageContext.js +55 -120
- package/ImageContext.js.map +7 -1
- package/ImageRegistry.js +265 -660
- package/ImageRegistry.js.map +7 -1
- package/LocalIconProvider.js +206 -470
- package/LocalIconProvider.js.map +7 -1
- package/LocalImageProvider.js +143 -366
- package/LocalImageProvider.js.map +7 -1
- package/MapContext.js +103 -164
- package/MapContext.js.map +7 -1
- package/MessageContext.js +54 -121
- package/MessageContext.js.map +7 -1
- package/MockedProvider.js +146 -376
- package/MockedProvider.js.map +7 -1
- package/Provider.js +87 -276
- package/Provider.js.map +7 -1
- package/TimezoneContext.js +55 -122
- package/TimezoneContext.js.map +7 -1
- package/package.json +7 -14
- package/testDataURIs.js +37 -106
- package/testDataURIs.js.map +7 -1
- package/testSVG.js +27 -104
- package/testSVG.js.map +7 -1
- package/babel.config.js +0 -3
package/GeoRegistry.js
CHANGED
|
@@ -1,710 +1,299 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
/******/
|
|
82
|
-
/******/ // Object.prototype.hasOwnProperty.call
|
|
83
|
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
84
|
-
/******/
|
|
85
|
-
/******/ // __webpack_public_path__
|
|
86
|
-
/******/ __webpack_require__.p = "";
|
|
87
|
-
/******/
|
|
88
|
-
/******/
|
|
89
|
-
/******/ // Load entry module and return exports
|
|
90
|
-
/******/ return __webpack_require__(__webpack_require__.s = 23);
|
|
91
|
-
/******/ })
|
|
92
|
-
/************************************************************************/
|
|
93
|
-
/******/ ([
|
|
94
|
-
/* 0 */
|
|
95
|
-
/***/ (function(module, exports) {
|
|
96
|
-
|
|
97
|
-
module.exports = require("@splunk/ui-utils/i18n");
|
|
98
|
-
|
|
99
|
-
/***/ }),
|
|
100
|
-
/* 1 */
|
|
101
|
-
/***/ (function(module, exports) {
|
|
102
|
-
|
|
103
|
-
module.exports = require("@babel/runtime/regenerator");
|
|
104
|
-
|
|
105
|
-
/***/ }),
|
|
106
|
-
/* 2 */
|
|
107
|
-
/***/ (function(module, exports) {
|
|
108
|
-
|
|
109
|
-
module.exports = require("@babel/runtime/helpers/classCallCheck");
|
|
110
|
-
|
|
111
|
-
/***/ }),
|
|
112
|
-
/* 3 */
|
|
113
|
-
/***/ (function(module, exports) {
|
|
114
|
-
|
|
115
|
-
module.exports = require("@babel/runtime/helpers/createClass");
|
|
116
|
-
|
|
117
|
-
/***/ }),
|
|
118
|
-
/* 4 */
|
|
119
|
-
/***/ (function(module, exports) {
|
|
120
|
-
|
|
121
|
-
module.exports = require("@babel/runtime/helpers/asyncToGenerator");
|
|
122
|
-
|
|
123
|
-
/***/ }),
|
|
124
|
-
/* 5 */
|
|
125
|
-
/***/ (function(module, exports) {
|
|
126
|
-
|
|
127
|
-
module.exports = require("@babel/runtime/helpers/getPrototypeOf");
|
|
128
|
-
|
|
129
|
-
/***/ }),
|
|
130
|
-
/* 6 */
|
|
131
|
-
/***/ (function(module, exports) {
|
|
132
|
-
|
|
133
|
-
module.exports = require("@splunk/visualization-context/Provider");
|
|
134
|
-
|
|
135
|
-
/***/ }),
|
|
136
|
-
/* 7 */,
|
|
137
|
-
/* 8 */
|
|
138
|
-
/***/ (function(module, exports) {
|
|
139
|
-
|
|
140
|
-
module.exports = require("@babel/runtime/helpers/inherits");
|
|
141
|
-
|
|
142
|
-
/***/ }),
|
|
143
|
-
/* 9 */
|
|
144
|
-
/***/ (function(module, exports) {
|
|
145
|
-
|
|
146
|
-
module.exports = require("@babel/runtime/helpers/possibleConstructorReturn");
|
|
147
|
-
|
|
148
|
-
/***/ }),
|
|
149
|
-
/* 10 */,
|
|
150
|
-
/* 11 */
|
|
151
|
-
/***/ (function(module, exports) {
|
|
152
|
-
|
|
153
|
-
module.exports = require("@babel/runtime/helpers/slicedToArray");
|
|
154
|
-
|
|
155
|
-
/***/ }),
|
|
156
|
-
/* 12 */
|
|
157
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
158
|
-
|
|
159
|
-
"use strict";
|
|
160
|
-
__webpack_require__.r(__webpack_exports__);
|
|
161
|
-
/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
162
|
-
/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);
|
|
163
|
-
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11);
|
|
164
|
-
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);
|
|
165
|
-
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2);
|
|
166
|
-
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
|
|
167
|
-
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);
|
|
168
|
-
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
|
|
169
|
-
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1);
|
|
170
|
-
/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__);
|
|
171
|
-
/* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
|
|
172
|
-
/* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__);
|
|
173
|
-
/* harmony import */ var _splunk_visualization_context_Provider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6);
|
|
174
|
-
/* harmony import */ var _splunk_visualization_context_Provider__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualization_context_Provider__WEBPACK_IMPORTED_MODULE_6__);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
/* eslint-disable class-methods-use-this */
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Base Registry
|
|
186
|
-
*/
|
|
187
|
-
|
|
188
|
-
var BaseRegistry = /*#__PURE__*/function () {
|
|
189
|
-
function BaseRegistry() {
|
|
190
|
-
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, BaseRegistry);
|
|
191
|
-
|
|
1
|
+
/* Copyright © 2020 Splunk Inc.
|
|
2
|
+
SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
3
|
+
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all)
|
|
12
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
25
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
26
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
27
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
28
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
|
+
mod
|
|
30
|
+
));
|
|
31
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
|
+
var __async = (__this, __arguments, generator) => {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
var fulfilled = (value) => {
|
|
35
|
+
try {
|
|
36
|
+
step(generator.next(value));
|
|
37
|
+
} catch (e) {
|
|
38
|
+
reject(e);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var rejected = (value) => {
|
|
42
|
+
try {
|
|
43
|
+
step(generator.throw(value));
|
|
44
|
+
} catch (e) {
|
|
45
|
+
reject(e);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
49
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// src/GeoRegistry.js
|
|
54
|
+
var GeoRegistry_exports = {};
|
|
55
|
+
__export(GeoRegistry_exports, {
|
|
56
|
+
default: () => GeoRegistry_default
|
|
57
|
+
});
|
|
58
|
+
module.exports = __toCommonJS(GeoRegistry_exports);
|
|
59
|
+
|
|
60
|
+
// esm-externals:@splunk/ui-utils/i18n
|
|
61
|
+
var i18n_exports = {};
|
|
62
|
+
__export(i18n_exports, {
|
|
63
|
+
default: () => i18n_default
|
|
64
|
+
});
|
|
65
|
+
var defaultImport = __toESM(require("@splunk/ui-utils/i18n"));
|
|
66
|
+
__reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
|
|
67
|
+
var i18n_default = "default" in defaultImport ? defaultImport.default : defaultImport;
|
|
68
|
+
|
|
69
|
+
// esm-externals:@splunk/visualization-context/Provider
|
|
70
|
+
var Provider_exports = {};
|
|
71
|
+
__export(Provider_exports, {
|
|
72
|
+
default: () => Provider_default
|
|
73
|
+
});
|
|
74
|
+
var defaultImport2 = __toESM(require("@splunk/visualization-context/Provider"));
|
|
75
|
+
__reExport(Provider_exports, require("@splunk/visualization-context/Provider"));
|
|
76
|
+
var Provider_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
|
|
77
|
+
|
|
78
|
+
// src/BaseRegistry.js
|
|
79
|
+
var BaseRegistry = class _BaseRegistry {
|
|
80
|
+
constructor() {
|
|
192
81
|
this.cachedProviders = {};
|
|
193
82
|
this.defaultProvider = null;
|
|
194
83
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return true;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
throw new Error(Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__["_"])('Invalid Provider'));
|
|
84
|
+
static create() {
|
|
85
|
+
return new _BaseRegistry();
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* check whether user defined provider extends the base provider
|
|
89
|
+
* @param {Provider} provider
|
|
90
|
+
* @returns {Boolean}
|
|
91
|
+
*/
|
|
92
|
+
isValidProvider(provider) {
|
|
93
|
+
if (provider instanceof Provider_default) {
|
|
94
|
+
return true;
|
|
210
95
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
this.defaultProvider = provider;
|
|
222
|
-
}
|
|
96
|
+
throw new Error((0, i18n_exports._)("Invalid Provider"));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* add default provider to cache
|
|
100
|
+
* @param {Provider} provider
|
|
101
|
+
*/
|
|
102
|
+
addDefaultProvider(provider) {
|
|
103
|
+
if (this.isValidProvider(provider)) {
|
|
104
|
+
this.addProvider(provider);
|
|
105
|
+
this.defaultProvider = provider;
|
|
223
106
|
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
if (this.cachedProviders[provider.getType()]) {
|
|
234
|
-
// eslint-disable-next-line
|
|
235
|
-
console.warn("The provider \"".concat(provider.getType(), "\" existed already."));
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
this.cachedProviders[provider.getType()] = provider;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* add provider to cache
|
|
110
|
+
* @param {Provider} provider
|
|
111
|
+
*/
|
|
112
|
+
addProvider(provider) {
|
|
113
|
+
if (this.isValidProvider(provider)) {
|
|
114
|
+
if (this.cachedProviders[provider.getType()]) {
|
|
115
|
+
console.warn(`The provider "${provider.getType()}" existed already.`);
|
|
239
116
|
}
|
|
117
|
+
this.cachedProviders[provider.getType()] = provider;
|
|
240
118
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
if (!cachedProvider) {
|
|
252
|
-
// eslint-disable-next-line
|
|
253
|
-
console.warn("The provider \"".concat(providerType, "\" does not existed"));
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
if (this.defaultProvider && providerType === this.defaultProvider.getType()) {
|
|
258
|
-
this.defaultProvider = null;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
delete this.cachedProviders[providerType];
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* delete provider
|
|
122
|
+
* @param {String} providerType
|
|
123
|
+
*/
|
|
124
|
+
deleteProvider(providerType) {
|
|
125
|
+
const cachedProvider = this.cachedProviders[providerType];
|
|
126
|
+
if (!cachedProvider) {
|
|
127
|
+
console.warn(`The provider "${providerType}" does not existed`);
|
|
128
|
+
return;
|
|
262
129
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
* @param {String} type
|
|
266
|
-
* @returns {Provider} provider
|
|
267
|
-
*/
|
|
268
|
-
|
|
269
|
-
}, {
|
|
270
|
-
key: "findProvider",
|
|
271
|
-
value: function findProvider(type) {
|
|
272
|
-
var provider = this.cachedProviders[type];
|
|
273
|
-
|
|
274
|
-
if (provider) {
|
|
275
|
-
return provider;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
throw new Error(Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__["_"])('Provider not found'));
|
|
130
|
+
if (this.defaultProvider && providerType === this.defaultProvider.getType()) {
|
|
131
|
+
this.defaultProvider = null;
|
|
279
132
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
return
|
|
291
|
-
return {
|
|
292
|
-
type: type,
|
|
293
|
-
isDefault: type === _this.defaultProvider.getType()
|
|
294
|
-
};
|
|
295
|
-
});
|
|
133
|
+
delete this.cachedProviders[providerType];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* find provider from cache
|
|
137
|
+
* @param {String} type
|
|
138
|
+
* @returns {Provider} provider
|
|
139
|
+
*/
|
|
140
|
+
findProvider(type) {
|
|
141
|
+
const provider = this.cachedProviders[type];
|
|
142
|
+
if (provider) {
|
|
143
|
+
return provider;
|
|
296
144
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
145
|
+
throw new Error((0, i18n_exports._)("Provider not found"));
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* list all providers
|
|
149
|
+
* @return {Object} provider = { type: 'local', isDefault: true }
|
|
150
|
+
*/
|
|
151
|
+
listProviders() {
|
|
152
|
+
return Object.keys(this.cachedProviders).map((type) => ({
|
|
153
|
+
type,
|
|
154
|
+
isDefault: type === this.defaultProvider.getType()
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* check whether src is a http url or a url used for icon/image-registry (e.g. 'kvstore://image123')
|
|
159
|
+
*/
|
|
160
|
+
isResourceURL(url) {
|
|
161
|
+
if (!url || url.indexOf("://") < 0) {
|
|
162
|
+
return false;
|
|
312
163
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
id = _url$split2[1];
|
|
329
|
-
|
|
330
|
-
if (type && id) {
|
|
331
|
-
return {
|
|
332
|
-
type: type,
|
|
333
|
-
id: id
|
|
334
|
-
};
|
|
335
|
-
}
|
|
164
|
+
const { type } = this.parseURL(url);
|
|
165
|
+
return type !== "http" && type !== "https";
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* parse provider type and id from the url
|
|
169
|
+
* @params {String} url 'kvstore://image123'
|
|
170
|
+
* @returns {Object} obj
|
|
171
|
+
* @returns {String} obj.type 'kvstore'
|
|
172
|
+
* @returns {String} obj.id 'image123'
|
|
173
|
+
*/
|
|
174
|
+
parseURL(url) {
|
|
175
|
+
if (url) {
|
|
176
|
+
const [type, id] = url.split("://");
|
|
177
|
+
if (type && id) {
|
|
178
|
+
return { type, id };
|
|
336
179
|
}
|
|
337
|
-
|
|
338
|
-
throw new Error(Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__["_"])('Invalid url'));
|
|
339
180
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.wrap(function _callee$(_context) {
|
|
354
|
-
while (1) {
|
|
355
|
-
switch (_context.prev = _context.next) {
|
|
356
|
-
case 0:
|
|
357
|
-
if (!(providerType == null && this.defaultProvider == null)) {
|
|
358
|
-
_context.next = 2;
|
|
359
|
-
break;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
throw new Error(Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__["_"])('No valid provider was found. Please add a provider'));
|
|
363
|
-
|
|
364
|
-
case 2:
|
|
365
|
-
provider = providerType ? this.findProvider(providerType) : this.defaultProvider;
|
|
366
|
-
_context.next = 5;
|
|
367
|
-
return provider.upload(dataURI, metaData);
|
|
368
|
-
|
|
369
|
-
case 5:
|
|
370
|
-
id = _context.sent;
|
|
371
|
-
return _context.abrupt("return", "".concat(provider.getType(), "://").concat(id));
|
|
372
|
-
|
|
373
|
-
case 7:
|
|
374
|
-
case "end":
|
|
375
|
-
return _context.stop();
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
}, _callee, this);
|
|
379
|
-
}));
|
|
380
|
-
|
|
381
|
-
function upload(_x, _x2, _x3) {
|
|
382
|
-
return _upload.apply(this, arguments);
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
return upload;
|
|
386
|
-
}()
|
|
387
|
-
/**
|
|
388
|
-
* get object by url
|
|
389
|
-
* @param {String} url 'kvstore://image123'
|
|
390
|
-
* @returns {Object} obj e.g. an image object or icon
|
|
391
|
-
*/
|
|
392
|
-
|
|
393
|
-
}, {
|
|
394
|
-
key: "getByURL",
|
|
395
|
-
value: function () {
|
|
396
|
-
var _getByURL = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.mark(function _callee2(url) {
|
|
397
|
-
var _this$parseURL2, type, id, provider, obj;
|
|
398
|
-
|
|
399
|
-
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.wrap(function _callee2$(_context2) {
|
|
400
|
-
while (1) {
|
|
401
|
-
switch (_context2.prev = _context2.next) {
|
|
402
|
-
case 0:
|
|
403
|
-
_this$parseURL2 = this.parseURL(url), type = _this$parseURL2.type, id = _this$parseURL2.id;
|
|
404
|
-
provider = this.findProvider(type);
|
|
405
|
-
_context2.next = 4;
|
|
406
|
-
return provider.getById(id);
|
|
407
|
-
|
|
408
|
-
case 4:
|
|
409
|
-
obj = _context2.sent;
|
|
410
|
-
return _context2.abrupt("return", obj);
|
|
411
|
-
|
|
412
|
-
case 6:
|
|
413
|
-
case "end":
|
|
414
|
-
return _context2.stop();
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}, _callee2, this);
|
|
418
|
-
}));
|
|
419
|
-
|
|
420
|
-
function getByURL(_x4) {
|
|
421
|
-
return _getByURL.apply(this, arguments);
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
return getByURL;
|
|
425
|
-
}()
|
|
426
|
-
/**
|
|
427
|
-
* delete object by url
|
|
428
|
-
* @param {String} url 'kvstore://image123' || 'sui://icon123'
|
|
429
|
-
* @returns {Object} obj e.g. an image object or icon
|
|
430
|
-
*/
|
|
431
|
-
|
|
432
|
-
}, {
|
|
433
|
-
key: "deleteByURL",
|
|
434
|
-
value: function () {
|
|
435
|
-
var _deleteByURL = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.mark(function _callee3(url) {
|
|
436
|
-
var _this$parseURL3, type, id, provider, obj;
|
|
437
|
-
|
|
438
|
-
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.wrap(function _callee3$(_context3) {
|
|
439
|
-
while (1) {
|
|
440
|
-
switch (_context3.prev = _context3.next) {
|
|
441
|
-
case 0:
|
|
442
|
-
_this$parseURL3 = this.parseURL(url), type = _this$parseURL3.type, id = _this$parseURL3.id;
|
|
443
|
-
provider = this.findProvider(type);
|
|
444
|
-
_context3.next = 4;
|
|
445
|
-
return provider.deleteById(id);
|
|
446
|
-
|
|
447
|
-
case 4:
|
|
448
|
-
obj = _context3.sent;
|
|
449
|
-
return _context3.abrupt("return", obj);
|
|
450
|
-
|
|
451
|
-
case 6:
|
|
452
|
-
case "end":
|
|
453
|
-
return _context3.stop();
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
}, _callee3, this);
|
|
457
|
-
}));
|
|
458
|
-
|
|
459
|
-
function deleteByURL(_x5) {
|
|
460
|
-
return _deleteByURL.apply(this, arguments);
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
return deleteByURL;
|
|
464
|
-
}()
|
|
465
|
-
/**
|
|
466
|
-
* list all object ids
|
|
467
|
-
* @params {String} providerType e.g. 'kvstore' or 'sui'
|
|
468
|
-
* @params {Object} options
|
|
469
|
-
* @returns {Array} ids
|
|
470
|
-
*/
|
|
471
|
-
|
|
472
|
-
}, {
|
|
473
|
-
key: "listIds",
|
|
474
|
-
value: function () {
|
|
475
|
-
var _listIds = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.mark(function _callee4(providerType) {
|
|
476
|
-
var options,
|
|
477
|
-
provider,
|
|
478
|
-
ids,
|
|
479
|
-
_args4 = arguments;
|
|
480
|
-
return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default.a.wrap(function _callee4$(_context4) {
|
|
481
|
-
while (1) {
|
|
482
|
-
switch (_context4.prev = _context4.next) {
|
|
483
|
-
case 0:
|
|
484
|
-
options = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {
|
|
485
|
-
offset: 0,
|
|
486
|
-
count: 100
|
|
487
|
-
};
|
|
488
|
-
provider = this.findProvider(providerType);
|
|
489
|
-
_context4.next = 4;
|
|
490
|
-
return provider.listIds(options);
|
|
491
|
-
|
|
492
|
-
case 4:
|
|
493
|
-
ids = _context4.sent;
|
|
494
|
-
return _context4.abrupt("return", ids);
|
|
495
|
-
|
|
496
|
-
case 6:
|
|
497
|
-
case "end":
|
|
498
|
-
return _context4.stop();
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
}, _callee4, this);
|
|
502
|
-
}));
|
|
503
|
-
|
|
504
|
-
function listIds(_x6) {
|
|
505
|
-
return _listIds.apply(this, arguments);
|
|
181
|
+
throw new Error((0, i18n_exports._)("Invalid url"));
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* upload
|
|
185
|
+
* @param {DataURI} dataURI
|
|
186
|
+
* @param {Object} metaData
|
|
187
|
+
* @param {String} providerType e.g. 'kvstore' or 'sui' or 'local'
|
|
188
|
+
* @returns {String} id e.g. 'kvstore://image123'
|
|
189
|
+
*/
|
|
190
|
+
upload(dataURI, metaData, providerType) {
|
|
191
|
+
return __async(this, null, function* () {
|
|
192
|
+
if (providerType == null && this.defaultProvider == null) {
|
|
193
|
+
throw new Error((0, i18n_exports._)("No valid provider was found. Please add a provider"));
|
|
506
194
|
}
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
key: "create",
|
|
512
|
-
value: function create() {
|
|
513
|
-
return new BaseRegistry();
|
|
514
|
-
}
|
|
515
|
-
}]);
|
|
516
|
-
|
|
517
|
-
return BaseRegistry;
|
|
518
|
-
}();
|
|
519
|
-
|
|
520
|
-
/* harmony default export */ __webpack_exports__["default"] = (BaseRegistry);
|
|
521
|
-
|
|
522
|
-
/***/ }),
|
|
523
|
-
/* 13 */,
|
|
524
|
-
/* 14 */,
|
|
525
|
-
/* 15 */,
|
|
526
|
-
/* 16 */,
|
|
527
|
-
/* 17 */,
|
|
528
|
-
/* 18 */,
|
|
529
|
-
/* 19 */,
|
|
530
|
-
/* 20 */,
|
|
531
|
-
/* 21 */,
|
|
532
|
-
/* 22 */,
|
|
533
|
-
/* 23 */
|
|
534
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
535
|
-
|
|
536
|
-
"use strict";
|
|
537
|
-
__webpack_require__.r(__webpack_exports__);
|
|
538
|
-
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
|
|
539
|
-
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);
|
|
540
|
-
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
|
|
541
|
-
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
|
|
542
|
-
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
|
|
543
|
-
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
|
|
544
|
-
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8);
|
|
545
|
-
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
|
|
546
|
-
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9);
|
|
547
|
-
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
|
|
548
|
-
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5);
|
|
549
|
-
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);
|
|
550
|
-
/* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
|
|
551
|
-
/* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6__);
|
|
552
|
-
/* harmony import */ var _BaseRegistry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12);
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
function _createSuper(Derived) {
|
|
561
|
-
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
562
|
-
|
|
563
|
-
return function _createSuperInternal() {
|
|
564
|
-
var Super = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(Derived),
|
|
565
|
-
result;
|
|
566
|
-
|
|
567
|
-
if (hasNativeReflectConstruct) {
|
|
568
|
-
var NewTarget = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(this).constructor;
|
|
569
|
-
|
|
570
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
571
|
-
} else {
|
|
572
|
-
result = Super.apply(this, arguments);
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
return _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, result);
|
|
576
|
-
};
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
function _isNativeReflectConstruct() {
|
|
580
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
581
|
-
if (Reflect.construct.sham) return false;
|
|
582
|
-
if (typeof Proxy === "function") return true;
|
|
583
|
-
|
|
584
|
-
try {
|
|
585
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
586
|
-
return true;
|
|
587
|
-
} catch (e) {
|
|
588
|
-
return false;
|
|
195
|
+
const provider = providerType ? this.findProvider(providerType) : this.defaultProvider;
|
|
196
|
+
const id = yield provider.upload(dataURI, metaData);
|
|
197
|
+
return `${provider.getType()}://${id}`;
|
|
198
|
+
});
|
|
589
199
|
}
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
function GeoRegistry() {
|
|
603
|
-
_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, GeoRegistry);
|
|
604
|
-
|
|
605
|
-
return _super.apply(this, arguments);
|
|
200
|
+
/**
|
|
201
|
+
* get object by url
|
|
202
|
+
* @param {String} url 'kvstore://image123'
|
|
203
|
+
* @returns {Object} obj e.g. an image object or icon
|
|
204
|
+
*/
|
|
205
|
+
getByURL(url) {
|
|
206
|
+
return __async(this, null, function* () {
|
|
207
|
+
const { type, id } = this.parseURL(url);
|
|
208
|
+
const provider = this.findProvider(type);
|
|
209
|
+
const obj = yield provider.getById(id);
|
|
210
|
+
return obj;
|
|
211
|
+
});
|
|
606
212
|
}
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
_geoId$split2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_geoId$split, 2),
|
|
631
|
-
storageType = _geoId$split2[0],
|
|
632
|
-
mapId = _geoId$split2[1];
|
|
633
|
-
|
|
634
|
-
return {
|
|
635
|
-
providerType: providerType,
|
|
636
|
-
storageType: storageType,
|
|
637
|
-
mapId: mapId
|
|
638
|
-
};
|
|
639
|
-
}
|
|
640
|
-
/*
|
|
641
|
-
* get geoJson by url
|
|
642
|
-
* @params {String} url e.g. geo://default/us
|
|
643
|
-
* @return {Json} geoJson
|
|
644
|
-
*/
|
|
645
|
-
|
|
646
|
-
}, {
|
|
647
|
-
key: "getByURL",
|
|
648
|
-
value: function getByURL(url) {
|
|
649
|
-
try {
|
|
650
|
-
var _this$parseURL = this.parseURL(url),
|
|
651
|
-
providerType = _this$parseURL.providerType,
|
|
652
|
-
storageType = _this$parseURL.storageType,
|
|
653
|
-
mapId = _this$parseURL.mapId;
|
|
654
|
-
|
|
655
|
-
var provider = this.findProvider(providerType);
|
|
656
|
-
var geoJson = provider.getById({
|
|
657
|
-
storageType: storageType,
|
|
658
|
-
mapId: mapId
|
|
659
|
-
});
|
|
660
|
-
return geoJson;
|
|
661
|
-
} catch (error) {
|
|
662
|
-
throw new Error(Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6__["_"])('Cannot get geoJson data.'));
|
|
663
|
-
}
|
|
664
|
-
} // Todo: return map ids from storage
|
|
665
|
-
|
|
666
|
-
/*
|
|
667
|
-
* list all available geojson ids
|
|
668
|
-
* @params {Object}
|
|
669
|
-
* @params {String} providerType
|
|
670
|
-
* @params {Object} options
|
|
671
|
-
* @return {Array} ids [{id: "us", url: 'geo://default/us'}, {id: 'world', url: 'geo://default/world'}]
|
|
672
|
-
*/
|
|
673
|
-
|
|
674
|
-
}, {
|
|
675
|
-
key: "listIds",
|
|
676
|
-
value: function listIds(_ref) {
|
|
677
|
-
var _ref$providerType = _ref.providerType,
|
|
678
|
-
providerType = _ref$providerType === void 0 ? 'geo' : _ref$providerType,
|
|
679
|
-
_ref$options = _ref.options,
|
|
680
|
-
options = _ref$options === void 0 ? {
|
|
681
|
-
offset: 0,
|
|
682
|
-
count: 100
|
|
683
|
-
} : _ref$options;
|
|
684
|
-
var provider = this.findProvider(providerType);
|
|
685
|
-
var ids = provider.listIds(options);
|
|
213
|
+
/**
|
|
214
|
+
* delete object by url
|
|
215
|
+
* @param {String} url 'kvstore://image123' || 'sui://icon123'
|
|
216
|
+
* @returns {Object} obj e.g. an image object or icon
|
|
217
|
+
*/
|
|
218
|
+
deleteByURL(url) {
|
|
219
|
+
return __async(this, null, function* () {
|
|
220
|
+
const { type, id } = this.parseURL(url);
|
|
221
|
+
const provider = this.findProvider(type);
|
|
222
|
+
const obj = yield provider.deleteById(id);
|
|
223
|
+
return obj;
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* list all object ids
|
|
228
|
+
* @params {String} providerType e.g. 'kvstore' or 'sui'
|
|
229
|
+
* @params {Object} options
|
|
230
|
+
* @returns {Array} ids
|
|
231
|
+
*/
|
|
232
|
+
listIds(_0) {
|
|
233
|
+
return __async(this, arguments, function* (providerType, options = { offset: 0, count: 100 }) {
|
|
234
|
+
const provider = this.findProvider(providerType);
|
|
235
|
+
const ids = yield provider.listIds(options);
|
|
686
236
|
return ids;
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
value: function upload() {} // Todo: be able to delete geoJson in the future
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
var BaseRegistry_default = BaseRegistry;
|
|
692
241
|
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
242
|
+
// src/GeoRegistry.js
|
|
243
|
+
var GeoRegistry = class _GeoRegistry extends BaseRegistry_default {
|
|
244
|
+
static create() {
|
|
245
|
+
return new _GeoRegistry();
|
|
246
|
+
}
|
|
247
|
+
/*
|
|
248
|
+
* parse url
|
|
249
|
+
* @params {String} url the valid url should be geo://default/us
|
|
250
|
+
* @return {Object}
|
|
251
|
+
* {String} providerType 'geo'
|
|
252
|
+
* {String} storageType 'default' for now // todo: add more in the future if geojson are allowed to save in other storages such as 'kvstore'
|
|
253
|
+
* {String} mapId 'us' or 'world' for now
|
|
254
|
+
*/
|
|
255
|
+
parseURL(url) {
|
|
256
|
+
if (!/.+:\/\/.*\/.+/.test(url)) {
|
|
257
|
+
throw new Error((0, i18n_exports._)("Invalid url."));
|
|
700
258
|
}
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
259
|
+
const [providerType, geoId] = url.split("://");
|
|
260
|
+
const [storageType, mapId] = geoId.split("/");
|
|
261
|
+
return { providerType, storageType, mapId };
|
|
262
|
+
}
|
|
263
|
+
/*
|
|
264
|
+
* get geoJson by url
|
|
265
|
+
* @params {String} url e.g. geo://default/us
|
|
266
|
+
* @return {Json} geoJson
|
|
267
|
+
*/
|
|
268
|
+
getByURL(url) {
|
|
269
|
+
try {
|
|
270
|
+
const { providerType, storageType, mapId } = this.parseURL(url);
|
|
271
|
+
const provider = this.findProvider(providerType);
|
|
272
|
+
const geoJson = provider.getById({ storageType, mapId });
|
|
273
|
+
return geoJson;
|
|
274
|
+
} catch (error) {
|
|
275
|
+
throw new Error((0, i18n_exports._)("Cannot get geoJson data."));
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Todo: return map ids from storage
|
|
279
|
+
/*
|
|
280
|
+
* list all available geojson ids
|
|
281
|
+
* @params {Object}
|
|
282
|
+
* @params {String} providerType
|
|
283
|
+
* @params {Object} options
|
|
284
|
+
* @return {Array} ids [{id: "us", url: 'geo://default/us'}, {id: 'world', url: 'geo://default/world'}]
|
|
285
|
+
*/
|
|
286
|
+
listIds({ providerType = "geo", options = { offset: 0, count: 100 } }) {
|
|
287
|
+
const provider = this.findProvider(providerType);
|
|
288
|
+
const ids = provider.listIds(options);
|
|
289
|
+
return ids;
|
|
290
|
+
}
|
|
291
|
+
// Todo: be able to upload geoJson in the future
|
|
292
|
+
upload() {
|
|
293
|
+
}
|
|
294
|
+
// Todo: be able to delete geoJson in the future
|
|
295
|
+
deleteByURL() {
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
var GeoRegistry_default = GeoRegistry;
|
|
299
|
+
//# sourceMappingURL=GeoRegistry.js.map
|