@matdata/yasr 4.7.4 → 4.8.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.
Files changed (57) hide show
  1. package/build/ts/src/bindingsToCsv.js +14 -0
  2. package/build/ts/src/bindingsToCsv.js.map +1 -0
  3. package/build/ts/src/defaults.js +28 -0
  4. package/build/ts/src/defaults.js.map +1 -0
  5. package/build/ts/src/helpers/addCSS.js +8 -0
  6. package/build/ts/src/helpers/addCSS.js.map +1 -0
  7. package/build/ts/src/helpers/addScript.js +13 -0
  8. package/build/ts/src/helpers/addScript.js.map +1 -0
  9. package/build/ts/src/helpers/index.js +4 -0
  10. package/build/ts/src/helpers/index.js.map +1 -0
  11. package/build/ts/src/helpers/sanitize.js +9 -0
  12. package/build/ts/src/helpers/sanitize.js.map +1 -0
  13. package/build/ts/src/imgs.js +5 -0
  14. package/build/ts/src/imgs.js.map +1 -0
  15. package/build/ts/src/index.d.ts +3 -2
  16. package/build/ts/src/index.js +581 -0
  17. package/build/ts/src/index.js.map +1 -0
  18. package/build/ts/src/parsers/csv.js +26 -0
  19. package/build/ts/src/parsers/csv.js.map +1 -0
  20. package/build/ts/src/parsers/index.js +267 -0
  21. package/build/ts/src/parsers/index.js.map +1 -0
  22. package/build/ts/src/parsers/json.js +21 -0
  23. package/build/ts/src/parsers/json.js.map +1 -0
  24. package/build/ts/src/parsers/tsv.js +40 -0
  25. package/build/ts/src/parsers/tsv.js.map +1 -0
  26. package/build/ts/src/parsers/turtleFamily.js +58 -0
  27. package/build/ts/src/parsers/turtleFamily.js.map +1 -0
  28. package/build/ts/src/parsers/xml.js +77 -0
  29. package/build/ts/src/parsers/xml.js.map +1 -0
  30. package/build/ts/src/plugins/boolean/index.d.ts +1 -0
  31. package/build/ts/src/plugins/boolean/index.js +31 -0
  32. package/build/ts/src/plugins/boolean/index.js.map +1 -0
  33. package/build/ts/src/plugins/error/index.d.ts +1 -0
  34. package/build/ts/src/plugins/error/index.js +123 -0
  35. package/build/ts/src/plugins/error/index.js.map +1 -0
  36. package/build/ts/src/plugins/index.js +2 -0
  37. package/build/ts/src/plugins/index.js.map +1 -0
  38. package/build/ts/src/plugins/response/index.d.ts +9 -0
  39. package/build/ts/src/plugins/response/index.js +139 -0
  40. package/build/ts/src/plugins/response/index.js.map +1 -0
  41. package/build/ts/src/plugins/table/index.d.ts +3 -0
  42. package/build/ts/src/plugins/table/index.js +350 -0
  43. package/build/ts/src/plugins/table/index.js.map +1 -0
  44. package/build/yasr.min.css +2 -2
  45. package/build/yasr.min.css.map +7 -1
  46. package/build/yasr.min.js +103 -3
  47. package/build/yasr.min.js.map +7 -1
  48. package/package.json +1 -1
  49. package/src/index.ts +3 -3
  50. package/src/jquery/extendJquery.js +1 -1
  51. package/src/jquery/tableToCsv.js +2 -2
  52. package/src/plugins/boolean/index.ts +1 -1
  53. package/src/plugins/error/index.ts +1 -1
  54. package/src/plugins/response/index.ts +10 -10
  55. package/src/plugins/table/index.ts +4 -4
  56. package/build/yasr.html +0 -32
  57. package/build/yasr.min.js.LICENSE.txt +0 -34
@@ -0,0 +1,581 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { EventEmitter } from "events";
11
+ import { merge, filter, mapValues, uniqueId } from "lodash-es";
12
+ import getDefaults from "./defaults";
13
+ import { Storage as YStorage, drawFontAwesomeIconAsSvg, drawSvgStringAsElement, removeClass, addClass, hasClass, } from "@matdata/yasgui-utils";
14
+ import Parser from "./parsers";
15
+ export { default as Parser } from "./parsers";
16
+ import { addScript, addCss, sanitize } from "./helpers";
17
+ import * as faDownload from "@fortawesome/free-solid-svg-icons/faDownload";
18
+ import * as faQuestionCircle from "@fortawesome/free-solid-svg-icons/faQuestionCircle";
19
+ import * as imgs from "./imgs";
20
+ import "./main.scss";
21
+ export class Yasr extends EventEmitter {
22
+ constructor(parent, conf = {}, data) {
23
+ super();
24
+ this.plugins = {};
25
+ this.helpDrawn = false;
26
+ this.isFullscreen = false;
27
+ this.isLoading = false;
28
+ this.utils = { addScript: addScript, addCSS: addCss, sanitize: sanitize };
29
+ if (!parent)
30
+ throw new Error("No parent passed as argument. Dont know where to draw YASR");
31
+ this.rootEl = document.createElement("div");
32
+ this.rootEl.className = "yasr";
33
+ parent.appendChild(this.rootEl);
34
+ this.config = merge({}, Yasr.defaults, conf);
35
+ this.storage = new YStorage(Yasr.storageNamespace);
36
+ this.getConfigFromStorage();
37
+ this.headerEl = document.createElement("div");
38
+ this.headerEl.className = "yasr_header";
39
+ this.rootEl.appendChild(this.headerEl);
40
+ this.fallbackInfoEl = document.createElement("div");
41
+ this.fallbackInfoEl.className = "yasr_fallback_info";
42
+ this.rootEl.appendChild(this.fallbackInfoEl);
43
+ this.resultsEl = document.createElement("div");
44
+ this.resultsEl.className = "yasr_results";
45
+ this.resultsEl.id = uniqueId("resultsId");
46
+ this.rootEl.appendChild(this.resultsEl);
47
+ this.createLoadingElement();
48
+ this.initializePlugins();
49
+ this.drawHeader();
50
+ const resp = data || this.getResponseFromStorage();
51
+ if (resp)
52
+ this.setResponse(resp);
53
+ }
54
+ getConfigFromStorage() {
55
+ const storageId = this.getStorageId(this.config.persistenceLabelConfig);
56
+ if (storageId) {
57
+ const persistentConfig = this.storage.get(storageId);
58
+ if (persistentConfig) {
59
+ this.selectedPlugin = persistentConfig.selectedPlugin;
60
+ for (const pluginName in persistentConfig.pluginsConfig) {
61
+ const pConf = persistentConfig.pluginsConfig[pluginName];
62
+ if (pConf && this.config.plugins[pluginName])
63
+ this.config.plugins[pluginName].dynamicConfig = pConf;
64
+ }
65
+ }
66
+ }
67
+ }
68
+ renderError(error) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ let element = undefined;
71
+ if (this.config.errorRenderers !== undefined) {
72
+ for (const renderer of this.config.errorRenderers) {
73
+ element = yield renderer(error);
74
+ if (element !== undefined)
75
+ break;
76
+ }
77
+ }
78
+ return element;
79
+ });
80
+ }
81
+ getStorageId(label, getter) {
82
+ const persistenceId = getter || this.config.persistenceId;
83
+ if (!persistenceId)
84
+ return;
85
+ if (typeof persistenceId === "string")
86
+ return persistenceId + "_" + label;
87
+ return persistenceId(this) + "_" + label;
88
+ }
89
+ somethingDrawn() {
90
+ return !!this.resultsEl.children.length;
91
+ }
92
+ emptyFallbackElement() {
93
+ while (this.fallbackInfoEl.firstChild)
94
+ this.fallbackInfoEl.removeChild(this.fallbackInfoEl.firstChild);
95
+ }
96
+ getSelectedPluginName() {
97
+ return this.selectedPlugin || this.config.defaultPlugin;
98
+ }
99
+ getSelectedPlugin() {
100
+ if (this.plugins[this.getSelectedPluginName()]) {
101
+ return this.plugins[this.getSelectedPluginName()];
102
+ }
103
+ console.warn(`Tried using plugin ${this.getSelectedPluginName()}, but seems this plugin isnt registered in yasr.`);
104
+ }
105
+ updatePluginSelectors(enabledPlugins) {
106
+ if (!this.pluginSelectorsEl)
107
+ return;
108
+ for (const pluginName in this.config.plugins) {
109
+ const plugin = this.plugins[pluginName];
110
+ if (plugin && !plugin.hideFromSelection) {
111
+ if (enabledPlugins) {
112
+ if (enabledPlugins.indexOf(pluginName) >= 0) {
113
+ removeClass(this.pluginSelectorsEl.querySelector(".select_" + pluginName), "disabled");
114
+ }
115
+ else {
116
+ addClass(this.pluginSelectorsEl.querySelector(".select_" + pluginName), "disabled");
117
+ }
118
+ }
119
+ if (pluginName === this.getSelectedPluginName()) {
120
+ addClass(this.pluginSelectorsEl.querySelector(".select_" + pluginName), "selected");
121
+ }
122
+ else {
123
+ removeClass(this.pluginSelectorsEl.querySelector(".select_" + pluginName), "selected");
124
+ }
125
+ }
126
+ }
127
+ }
128
+ getCompatiblePlugins() {
129
+ if (!this.results)
130
+ return Object.keys(filter(this.config.plugins, (val) => (typeof val === "object" && val.enabled) || val === true));
131
+ const supportedPlugins = [];
132
+ for (const pluginName in this.plugins) {
133
+ if (this.plugins[pluginName].canHandleResults()) {
134
+ supportedPlugins.push({ name: pluginName, priority: this.plugins[pluginName].priority });
135
+ }
136
+ }
137
+ return supportedPlugins.sort((p1, p2) => p2.priority - p1.priority).map((p) => p.name);
138
+ }
139
+ draw() {
140
+ var _a, _b, _c, _d, _f;
141
+ this.updateHelpButton();
142
+ this.updateResponseInfo();
143
+ if (!this.results)
144
+ return;
145
+ const compatiblePlugins = this.getCompatiblePlugins();
146
+ if (this.drawnPlugin && this.getSelectedPluginName() !== this.drawnPlugin) {
147
+ while (this.pluginControls.firstChild) {
148
+ this.pluginControls.firstChild.remove();
149
+ }
150
+ (_b = (_a = this.plugins[this.drawnPlugin]).destroy) === null || _b === void 0 ? void 0 : _b.call(_a);
151
+ }
152
+ let pluginToDraw;
153
+ if (this.getSelectedPlugin() && ((_c = this.getSelectedPlugin()) === null || _c === void 0 ? void 0 : _c.canHandleResults())) {
154
+ pluginToDraw = this.getSelectedPluginName();
155
+ this.emptyFallbackElement();
156
+ }
157
+ else if (compatiblePlugins[0]) {
158
+ if (this.drawnPlugin) {
159
+ (_f = (_d = this.plugins[this.drawnPlugin]).destroy) === null || _f === void 0 ? void 0 : _f.call(_d);
160
+ }
161
+ pluginToDraw = compatiblePlugins[0];
162
+ this.fillFallbackBox(pluginToDraw);
163
+ }
164
+ if (pluginToDraw) {
165
+ this.drawnPlugin = pluginToDraw;
166
+ this.emit("draw", this, this.plugins[pluginToDraw]);
167
+ const plugin = this.plugins[pluginToDraw];
168
+ const initPromise = plugin.initialize ? plugin.initialize() : Promise.resolve();
169
+ initPromise.then(() => __awaiter(this, void 0, void 0, function* () {
170
+ if (pluginToDraw) {
171
+ while (this.resultsEl.firstChild)
172
+ this.resultsEl.firstChild.remove();
173
+ yield this.plugins[pluginToDraw].draw(this.config.plugins[pluginToDraw].dynamicConfig);
174
+ this.emit("drawn", this, this.plugins[pluginToDraw]);
175
+ this.updateExportHeaders();
176
+ this.updatePluginSelectors(compatiblePlugins);
177
+ }
178
+ }), (_e) => console.error);
179
+ }
180
+ else {
181
+ this.resultsEl.textContent = "cannot render result";
182
+ this.updateExportHeaders();
183
+ this.updatePluginSelectors(compatiblePlugins);
184
+ }
185
+ }
186
+ refresh() {
187
+ this.draw();
188
+ }
189
+ destroy() {
190
+ var _a, _b;
191
+ if (this.drawnPlugin)
192
+ (_b = (_a = this.plugins[this.drawnPlugin]) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a);
193
+ this.removeAllListeners();
194
+ this.rootEl.remove();
195
+ }
196
+ getPrefixes() {
197
+ if (this.config.prefixes) {
198
+ if (typeof this.config.prefixes === "function") {
199
+ return this.config.prefixes(this);
200
+ }
201
+ else {
202
+ return this.config.prefixes;
203
+ }
204
+ }
205
+ return {};
206
+ }
207
+ selectPlugin(plugin) {
208
+ if (this.selectedPlugin === plugin) {
209
+ return;
210
+ }
211
+ if (this.config.plugins[plugin]) {
212
+ this.selectedPlugin = plugin;
213
+ }
214
+ else {
215
+ console.warn(`Plugin ${plugin} does not exist.`);
216
+ this.selectedPlugin = this.config.defaultPlugin;
217
+ }
218
+ this.storeConfig();
219
+ this.emit("change", this);
220
+ this.updatePluginSelectors();
221
+ this.draw();
222
+ }
223
+ drawPluginSelectors() {
224
+ this.pluginSelectorsEl = document.createElement("ul");
225
+ this.pluginSelectorsEl.className = "yasr_btnGroup";
226
+ const pluginOrder = this.config.pluginOrder;
227
+ Object.keys(this.config.plugins)
228
+ .sort()
229
+ .forEach((plugin) => {
230
+ if (pluginOrder.indexOf(plugin) === -1)
231
+ pluginOrder.push(plugin);
232
+ });
233
+ for (const pluginName of pluginOrder) {
234
+ if (!this.config.plugins[pluginName] || !this.config.plugins[pluginName].enabled) {
235
+ continue;
236
+ }
237
+ const plugin = this.plugins[pluginName];
238
+ if (!plugin)
239
+ continue;
240
+ if (plugin.hideFromSelection)
241
+ continue;
242
+ const name = plugin.label || pluginName;
243
+ const button = document.createElement("button");
244
+ addClass(button, "yasr_btn", "select_" + pluginName);
245
+ button.title = name;
246
+ button.type = "button";
247
+ button.setAttribute("aria-label", `Shows ${name} view`);
248
+ if (plugin.getIcon) {
249
+ const icon = plugin.getIcon();
250
+ if (icon) {
251
+ addClass(icon, "plugin_icon");
252
+ button.appendChild(icon);
253
+ }
254
+ }
255
+ const nameEl = document.createElement("span");
256
+ nameEl.textContent = name;
257
+ button.appendChild(nameEl);
258
+ button.addEventListener("click", () => this.selectPlugin(pluginName));
259
+ const li = document.createElement("li");
260
+ li.appendChild(button);
261
+ this.pluginSelectorsEl.appendChild(li);
262
+ }
263
+ if (this.pluginSelectorsEl.children.length >= 1)
264
+ this.headerEl.appendChild(this.pluginSelectorsEl);
265
+ this.updatePluginSelectors();
266
+ }
267
+ fillFallbackBox(fallbackElement) {
268
+ var _a, _b, _c;
269
+ this.emptyFallbackElement();
270
+ if ((_a = this.plugins[fallbackElement || this.drawnPlugin || ""]) === null || _a === void 0 ? void 0 : _a.hideFromSelection)
271
+ return;
272
+ const selectedPlugin = this.getSelectedPlugin();
273
+ const fallbackPluginLabel = ((_b = this.plugins[fallbackElement || this.drawnPlugin || ""]) === null || _b === void 0 ? void 0 : _b.label) || fallbackElement || this.drawnPlugin;
274
+ const selectedPluginLabel = (selectedPlugin === null || selectedPlugin === void 0 ? void 0 : selectedPlugin.label) || this.getSelectedPluginName();
275
+ const textElement = document.createElement("p");
276
+ textElement.innerText = `Could not render results with the ${selectedPluginLabel} plugin, the results currently are rendered with the ${fallbackPluginLabel} plugin. ${((_c = this.getSelectedPlugin()) === null || _c === void 0 ? void 0 : _c.helpReference) ? "See " : ""}`;
277
+ if (selectedPlugin === null || selectedPlugin === void 0 ? void 0 : selectedPlugin.helpReference) {
278
+ const linkElement = document.createElement("a");
279
+ linkElement.innerText = `${selectedPluginLabel} documentation`;
280
+ linkElement.href = selectedPlugin.helpReference;
281
+ linkElement.rel = "noopener noreferrer";
282
+ linkElement.target = "_blank";
283
+ textElement.append(linkElement);
284
+ textElement.innerHTML += " for more information.";
285
+ }
286
+ this.fallbackInfoEl.appendChild(textElement);
287
+ }
288
+ drawPluginElement() {
289
+ const spaceElement = document.createElement("div");
290
+ addClass(spaceElement, "space_element");
291
+ this.headerEl.appendChild(spaceElement);
292
+ this.pluginControls = document.createElement("div");
293
+ this.pluginControls.setAttribute("id", "yasr_plugin_control");
294
+ addClass(this.pluginControls, "yasr_plugin_control");
295
+ this.pluginControls.setAttribute("aria-controls", this.resultsEl.id);
296
+ this.headerEl.appendChild(this.pluginControls);
297
+ }
298
+ drawHeader() {
299
+ this.drawPluginSelectors();
300
+ this.drawResponseInfo();
301
+ this.drawPluginElement();
302
+ this.drawDownloadIcon();
303
+ this.drawFullscreenButton();
304
+ if (this.loadingEl) {
305
+ this.headerEl.appendChild(this.loadingEl);
306
+ }
307
+ this.drawDocumentationButton();
308
+ }
309
+ drawDownloadIcon() {
310
+ this.downloadBtn = document.createElement("a");
311
+ addClass(this.downloadBtn, "yasr_btn", "yasr_downloadIcon", "btn_icon");
312
+ this.downloadBtn.download = "";
313
+ this.downloadBtn.setAttribute("aria-label", "Download Results");
314
+ this.downloadBtn.setAttribute("tabindex", "0");
315
+ this.downloadBtn.setAttribute("role", "button");
316
+ const iconEl = drawSvgStringAsElement(drawFontAwesomeIconAsSvg(faDownload));
317
+ iconEl.setAttribute("aria-hidden", "true");
318
+ this.downloadBtn.appendChild(iconEl);
319
+ this.downloadBtn.addEventListener("click", () => {
320
+ if (hasClass(this.downloadBtn, "disabled"))
321
+ return;
322
+ this.download();
323
+ });
324
+ this.downloadBtn.addEventListener("keydown", (event) => {
325
+ if (event.code === "Space" || event.code === "Enter") {
326
+ if (hasClass(this.downloadBtn, "disabled"))
327
+ return;
328
+ this.download();
329
+ }
330
+ });
331
+ this.headerEl.appendChild(this.downloadBtn);
332
+ }
333
+ drawResponseInfo() {
334
+ this.dataElement = document.createElement("div");
335
+ addClass(this.dataElement, "yasr_response_chip");
336
+ this.headerEl.appendChild(this.dataElement);
337
+ this.updateResponseInfo();
338
+ }
339
+ updateResponseInfo() {
340
+ let innerText = "";
341
+ if (this.results) {
342
+ removeClass(this.dataElement, "empty");
343
+ const bindings = this.results.getBindings();
344
+ if (bindings) {
345
+ innerText += `${bindings.length} result${bindings.length === 1 ? "" : "s"}`;
346
+ }
347
+ const responseTime = this.results.getResponseTime();
348
+ if (responseTime) {
349
+ if (!innerText)
350
+ innerText = "Response";
351
+ const time = responseTime / 1000;
352
+ innerText += ` in ${time} second${time === 1 ? "" : "s"}`;
353
+ }
354
+ }
355
+ else {
356
+ addClass(this.dataElement, "empty");
357
+ }
358
+ this.dataElement.innerText = innerText;
359
+ }
360
+ updateHelpButton() {
361
+ const selectedPlugin = this.getSelectedPlugin();
362
+ if (selectedPlugin === null || selectedPlugin === void 0 ? void 0 : selectedPlugin.helpReference) {
363
+ const titleLabel = `View documentation of ${selectedPlugin.label || this.getSelectedPluginName()}`;
364
+ this.documentationLink.href = selectedPlugin.helpReference;
365
+ this.documentationLink.title = titleLabel;
366
+ this.documentationLink.setAttribute("aria-label", titleLabel);
367
+ removeClass(this.documentationLink, "disabled");
368
+ }
369
+ else {
370
+ addClass(this.documentationLink, "disabled");
371
+ this.documentationLink.title =
372
+ "This plugin doesn't have a help reference yet. Please contact the maintainer to fix this";
373
+ }
374
+ }
375
+ updateExportHeaders() {
376
+ var _a, _b;
377
+ if (this.downloadBtn && this.drawnPlugin) {
378
+ this.downloadBtn.title = "";
379
+ const plugin = this.plugins[this.drawnPlugin];
380
+ if (plugin && plugin.download) {
381
+ const downloadInfo = plugin.download((_b = (_a = this.config).getDownloadFileName) === null || _b === void 0 ? void 0 : _b.call(_a));
382
+ removeClass(this.downloadBtn, "disabled");
383
+ if (downloadInfo) {
384
+ if (downloadInfo.title)
385
+ this.downloadBtn.title = downloadInfo.title;
386
+ return;
387
+ }
388
+ }
389
+ this.downloadBtn.title = "Download not supported";
390
+ addClass(this.downloadBtn, "disabled");
391
+ }
392
+ }
393
+ drawFullscreenButton() {
394
+ this.fullscreenBtn = document.createElement("button");
395
+ addClass(this.fullscreenBtn, "yasr_btn", "yasr_fullscreenButton", "btn_icon");
396
+ this.fullscreenBtn.setAttribute("aria-label", "Toggle fullscreen");
397
+ this.fullscreenBtn.setAttribute("tabindex", "0");
398
+ this.fullscreenBtn.setAttribute("role", "button");
399
+ const fullscreenIcon = drawSvgStringAsElement(imgs.fullscreen);
400
+ addClass(fullscreenIcon, "fullscreenIcon");
401
+ fullscreenIcon.setAttribute("aria-hidden", "true");
402
+ this.fullscreenBtn.appendChild(fullscreenIcon);
403
+ const fullscreenExitIcon = drawSvgStringAsElement(imgs.fullscreenExit);
404
+ addClass(fullscreenExitIcon, "fullscreenExitIcon");
405
+ fullscreenExitIcon.setAttribute("aria-hidden", "true");
406
+ this.fullscreenBtn.appendChild(fullscreenExitIcon);
407
+ this.fullscreenBtn.title = "Toggle fullscreen (F10)";
408
+ this.fullscreenBtn.addEventListener("click", () => {
409
+ this.toggleFullscreen();
410
+ });
411
+ this.fullscreenBtn.addEventListener("keydown", (event) => {
412
+ if (event.code === "Space" || event.code === "Enter") {
413
+ this.toggleFullscreen();
414
+ }
415
+ });
416
+ this.headerEl.appendChild(this.fullscreenBtn);
417
+ }
418
+ toggleFullscreen() {
419
+ this.isFullscreen = !this.isFullscreen;
420
+ if (this.isFullscreen) {
421
+ addClass(this.rootEl, "fullscreen");
422
+ if (this.fullscreenBtn)
423
+ this.fullscreenBtn.title = "Exit fullscreen (F10)";
424
+ }
425
+ else {
426
+ removeClass(this.rootEl, "fullscreen");
427
+ if (this.fullscreenBtn)
428
+ this.fullscreenBtn.title = "Toggle fullscreen (F10)";
429
+ }
430
+ }
431
+ getIsFullscreen() {
432
+ return this.isFullscreen;
433
+ }
434
+ createLoadingElement() {
435
+ this.loadingEl = document.createElement("div");
436
+ this.loadingEl.className = "yasr_loading_indicator";
437
+ this.loadingEl.title = "Executing query...";
438
+ this.loadingEl.innerHTML = `<div class="yasr_loading_spinner"></div>`;
439
+ this.loadingEl.style.display = "none";
440
+ }
441
+ showLoading() {
442
+ this.isLoading = true;
443
+ if (this.loadingEl) {
444
+ this.loadingEl.style.display = "flex";
445
+ }
446
+ }
447
+ hideLoading() {
448
+ this.isLoading = false;
449
+ if (this.loadingEl) {
450
+ this.loadingEl.style.display = "none";
451
+ }
452
+ }
453
+ drawDocumentationButton() {
454
+ this.documentationLink = document.createElement("a");
455
+ addClass(this.documentationLink, "yasr_btn", "yasr_external_ref_btn");
456
+ this.documentationLink.appendChild(drawSvgStringAsElement(drawFontAwesomeIconAsSvg(faQuestionCircle)));
457
+ this.documentationLink.href = "https://docs.triply.cc/yasgui/";
458
+ this.documentationLink.target = "_blank";
459
+ this.documentationLink.rel = "noopener noreferrer";
460
+ this.headerEl.appendChild(this.documentationLink);
461
+ }
462
+ download() {
463
+ var _a, _b, _c;
464
+ if (!this.drawnPlugin)
465
+ return;
466
+ const currentPlugin = this.plugins[this.drawnPlugin];
467
+ if (currentPlugin && currentPlugin.download) {
468
+ const downloadInfo = currentPlugin.download((_b = (_a = this.config).getDownloadFileName) === null || _b === void 0 ? void 0 : _b.call(_a));
469
+ if (!downloadInfo)
470
+ return;
471
+ const data = downloadInfo.getData();
472
+ let downloadUrl;
473
+ if (data.startsWith("data:")) {
474
+ downloadUrl = data;
475
+ }
476
+ else {
477
+ const blob = new Blob([data], { type: (_c = downloadInfo.contentType) !== null && _c !== void 0 ? _c : "text/plain" });
478
+ downloadUrl = window.URL.createObjectURL(blob);
479
+ }
480
+ const mockLink = document.createElement("a");
481
+ mockLink.href = downloadUrl;
482
+ mockLink.download = downloadInfo.filename;
483
+ mockLink.click();
484
+ }
485
+ }
486
+ handleLocalStorageQuotaFull(_e) {
487
+ console.warn("Localstorage quota exceeded. Clearing all queries");
488
+ Yasr.clearStorage();
489
+ }
490
+ getResponseFromStorage() {
491
+ const storageId = this.getStorageId(this.config.persistenceLabelResponse);
492
+ if (storageId) {
493
+ return this.storage.get(storageId);
494
+ }
495
+ }
496
+ getPersistentConfig() {
497
+ return {
498
+ selectedPlugin: this.getSelectedPluginName(),
499
+ pluginsConfig: mapValues(this.config.plugins, (plugin) => plugin.dynamicConfig),
500
+ };
501
+ }
502
+ storePluginConfig(pluginName, conf) {
503
+ this.config.plugins[pluginName].dynamicConfig = conf;
504
+ this.storeConfig();
505
+ this.emit("change", this);
506
+ }
507
+ storeConfig() {
508
+ const storageId = this.getStorageId(this.config.persistenceLabelConfig);
509
+ if (storageId) {
510
+ this.storage.set(storageId, this.getPersistentConfig(), this.config.persistencyExpire, this.handleLocalStorageQuotaFull);
511
+ }
512
+ }
513
+ storeResponse() {
514
+ const storageId = this.getStorageId(this.config.persistenceLabelResponse);
515
+ if (storageId && this.results) {
516
+ const storeObj = this.results.getAsStoreObject(this.config.maxPersistentResponseSize);
517
+ if (storeObj && !storeObj.error) {
518
+ this.storage.set(storageId, storeObj, this.config.persistencyExpire, this.handleLocalStorageQuotaFull);
519
+ }
520
+ else {
521
+ this.storage.remove(storageId);
522
+ }
523
+ }
524
+ }
525
+ setResponse(data, duration) {
526
+ if (!data)
527
+ return;
528
+ this.hideLoading();
529
+ this.results = new Parser(data, duration);
530
+ this.draw();
531
+ this.storeResponse();
532
+ }
533
+ initializePlugins() {
534
+ for (const plugin in this.config.plugins) {
535
+ if (!this.config.plugins[plugin])
536
+ continue;
537
+ if (Yasr.plugins[plugin]) {
538
+ this.plugins[plugin] = new Yasr.plugins[plugin](this);
539
+ }
540
+ else {
541
+ console.warn("Wanted to initialize plugin " + plugin + " but could not find a matching registered plugin");
542
+ }
543
+ }
544
+ }
545
+ static registerPlugin(name, plugin, enable = true) {
546
+ Yasr.plugins[name] = plugin;
547
+ if (enable) {
548
+ Yasr.defaults.plugins[name] = { enabled: true };
549
+ }
550
+ else {
551
+ Yasr.defaults.plugins[name] = { enabled: false };
552
+ }
553
+ }
554
+ static clearStorage() {
555
+ const storage = new YStorage(Yasr.storageNamespace);
556
+ storage.removeNamespace();
557
+ }
558
+ }
559
+ Yasr.defaults = getDefaults();
560
+ Yasr.plugins = {};
561
+ Yasr.Dependencies = {};
562
+ Yasr.storageNamespace = "triply";
563
+ export function registerPlugin(name, plugin, enable = true) {
564
+ Yasr.plugins[name] = plugin;
565
+ if (enable) {
566
+ Yasr.defaults.plugins[name] = { enabled: true };
567
+ }
568
+ else {
569
+ Yasr.defaults.plugins[name] = { enabled: false };
570
+ }
571
+ }
572
+ import * as YasrPluginTable from "./plugins/table";
573
+ import * as YasrPluginBoolean from "./plugins/boolean";
574
+ import * as YasrPluginResponse from "./plugins/response";
575
+ import * as YasrPluginError from "./plugins/error";
576
+ Yasr.registerPlugin("table", YasrPluginTable.default);
577
+ Yasr.registerPlugin("boolean", YasrPluginBoolean.default);
578
+ Yasr.registerPlugin("response", YasrPluginResponse.default);
579
+ Yasr.registerPlugin("error", YasrPluginError.default);
580
+ export default Yasr;
581
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/yasr/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as Papa from "papaparse";
2
+ export default function (csvString) {
3
+ const csvStringToJsonObject = Papa.parse(csvString, { header: true, skipEmptyLines: true });
4
+ if (csvStringToJsonObject.meta.fields === undefined) {
5
+ throw new Error("Could not parse CSV, no headers found!");
6
+ }
7
+ const header = csvStringToJsonObject.meta.fields;
8
+ const lines = csvStringToJsonObject.data;
9
+ const sparqlData = lines.map((row) => {
10
+ const bindingObject = {};
11
+ for (const variable in row) {
12
+ bindingObject[variable] = { value: row[variable], type: "literal" };
13
+ }
14
+ return bindingObject;
15
+ });
16
+ const sparqlResults = {
17
+ head: {
18
+ vars: header,
19
+ },
20
+ results: {
21
+ bindings: sparqlData,
22
+ },
23
+ };
24
+ return sparqlResults;
25
+ }
26
+ //# sourceMappingURL=csv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../../../../packages/yasr/src/parsers/csv.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,OAAO,WAAW,SAAiB;IACxC,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;IACjD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAgC,CAAC;IAErE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAyB;QAC1C,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;SACb;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,UAAU;SACrB;KACF,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC"}