@matdata/yasgui 5.14.0 → 5.16.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 (60) hide show
  1. package/build/ts/src/Tab.d.ts +2 -0
  2. package/build/ts/src/Tab.js +67 -5
  3. package/build/ts/src/Tab.js.map +1 -1
  4. package/build/ts/src/TabContextMenu.d.ts +2 -1
  5. package/build/ts/src/TabContextMenu.js +11 -3
  6. package/build/ts/src/TabContextMenu.js.map +1 -1
  7. package/build/ts/src/TabElements.js +13 -3
  8. package/build/ts/src/TabElements.js.map +1 -1
  9. package/build/ts/src/TabSettingsModal.d.ts +9 -0
  10. package/build/ts/src/TabSettingsModal.js +114 -4
  11. package/build/ts/src/TabSettingsModal.js.map +1 -1
  12. package/build/ts/src/endpointSelect.js +1 -1
  13. package/build/ts/src/queryManagement/QueryBrowser.d.ts +1 -0
  14. package/build/ts/src/queryManagement/QueryBrowser.js +62 -0
  15. package/build/ts/src/queryManagement/QueryBrowser.js.map +1 -1
  16. package/build/ts/src/queryManagement/SaveManagedQueryModal.d.ts +7 -0
  17. package/build/ts/src/queryManagement/SaveManagedQueryModal.js +82 -4
  18. package/build/ts/src/queryManagement/SaveManagedQueryModal.js.map +1 -1
  19. package/build/ts/src/queryManagement/WorkspaceSettingsForm.d.ts +1 -0
  20. package/build/ts/src/queryManagement/WorkspaceSettingsForm.js +185 -8
  21. package/build/ts/src/queryManagement/WorkspaceSettingsForm.js.map +1 -1
  22. package/build/ts/src/queryManagement/backends/GitWorkspaceBackend.d.ts +1 -0
  23. package/build/ts/src/queryManagement/backends/GitWorkspaceBackend.js +18 -0
  24. package/build/ts/src/queryManagement/backends/GitWorkspaceBackend.js.map +1 -1
  25. package/build/ts/src/queryManagement/backends/InMemoryWorkspaceBackend.d.ts +1 -0
  26. package/build/ts/src/queryManagement/backends/InMemoryWorkspaceBackend.js +17 -0
  27. package/build/ts/src/queryManagement/backends/InMemoryWorkspaceBackend.js.map +1 -1
  28. package/build/ts/src/queryManagement/backends/SparqlWorkspaceBackend.d.ts +1 -0
  29. package/build/ts/src/queryManagement/backends/SparqlWorkspaceBackend.js +61 -0
  30. package/build/ts/src/queryManagement/backends/SparqlWorkspaceBackend.js.map +1 -1
  31. package/build/ts/src/queryManagement/backends/WorkspaceBackend.d.ts +1 -0
  32. package/build/ts/src/urlUtils.d.ts +1 -0
  33. package/build/ts/src/urlUtils.js +21 -0
  34. package/build/ts/src/urlUtils.js.map +1 -0
  35. package/build/ts/src/version.d.ts +1 -1
  36. package/build/ts/src/version.js +1 -1
  37. package/build/yasgui.min.css +1 -1
  38. package/build/yasgui.min.css.map +3 -3
  39. package/build/yasgui.min.js +245 -213
  40. package/build/yasgui.min.js.map +4 -4
  41. package/package.json +1 -1
  42. package/src/Tab.ts +83 -5
  43. package/src/TabContextMenu.ts +15 -5
  44. package/src/TabElements.scss +17 -0
  45. package/src/TabElements.ts +17 -3
  46. package/src/TabSettingsModal.scss +73 -0
  47. package/src/TabSettingsModal.ts +152 -6
  48. package/src/endpointSelect.scss +0 -22
  49. package/src/endpointSelect.ts +1 -1
  50. package/src/queryManagement/QueryBrowser.ts +72 -0
  51. package/src/queryManagement/SaveManagedQueryModal.ts +102 -4
  52. package/src/queryManagement/WorkspaceSettingsForm.ts +215 -8
  53. package/src/queryManagement/backends/GitWorkspaceBackend.ts +19 -0
  54. package/src/queryManagement/backends/InMemoryWorkspaceBackend.ts +17 -0
  55. package/src/queryManagement/backends/SparqlWorkspaceBackend.ts +69 -0
  56. package/src/queryManagement/backends/WorkspaceBackend.ts +6 -0
  57. package/src/tab.scss +1 -0
  58. package/src/themes.scss +0 -10
  59. package/src/urlUtils.ts +40 -0
  60. package/src/version.ts +1 -1
package/src/themes.scss CHANGED
@@ -232,16 +232,6 @@
232
232
  color: var(--yasgui-text-muted);
233
233
  }
234
234
  }
235
-
236
- .clearEndpointBtn {
237
- background-color: var(--yasgui-bg-secondary) !important;
238
- border-color: var(--yasgui-border-color) !important;
239
- color: var(--yasgui-button-text) !important;
240
-
241
- &:hover {
242
- background-color: var(--yasgui-bg-tertiary) !important;
243
- }
244
- }
245
235
  }
246
236
 
247
237
  // Yasqe (editor) theming
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Converts a relative or absolute URL to a fully qualified URL with protocol and host.
3
+ * Uses the current page's protocol and host for relative URLs.
4
+ *
5
+ * @param url - The URL to resolve (can be relative like "/sparql", or absolute like "http://example.com/sparql")
6
+ * @returns The fully qualified URL with protocol and host
7
+ *
8
+ * @example
9
+ * // On page https://example.com/yasgui/
10
+ * resolveEndpointUrl("/sparql") // returns "https://example.com/sparql"
11
+ * resolveEndpointUrl("sparql") // returns "https://example.com/yasgui/sparql"
12
+ * resolveEndpointUrl("http://other.com/sparql") // returns "http://other.com/sparql"
13
+ */
14
+ export function resolveEndpointUrl(url: string): string {
15
+ if (!url) return url;
16
+
17
+ // If URL already has a protocol (http: or https:), return as-is
18
+ if (url.startsWith("http://") || url.startsWith("https://")) {
19
+ return url;
20
+ }
21
+
22
+ // Build the base URL using current page's protocol and host
23
+ let fullUrl = `${window.location.protocol}//${window.location.host}`;
24
+
25
+ if (url.startsWith("/")) {
26
+ // Absolute path (starts with /)
27
+ fullUrl += url;
28
+ } else {
29
+ // Relative path - join with current page's directory
30
+ let currentDirectory = window.location.pathname;
31
+ // If pathname does not end with "/", treat it as a file and use its directory
32
+ if (!currentDirectory.endsWith("/")) {
33
+ const lastSlashIndex = currentDirectory.lastIndexOf("/");
34
+ currentDirectory = lastSlashIndex >= 0 ? currentDirectory.substring(0, lastSlashIndex + 1) : "/";
35
+ }
36
+ fullUrl += currentDirectory + url;
37
+ }
38
+
39
+ return fullUrl;
40
+ }
package/src/version.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  // Version information for YASGUI
2
2
  // This file is auto-generated during build - do not edit manually
3
- export const VERSION = "5.14.0";
3
+ export const VERSION = "5.16.0";