solid-ui 5.0.2-4 → 5.0.2-5

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 (265) hide show
  1. package/dist/acl/access-controller.cjs.js +1 -1
  2. package/dist/acl/access-controller.cjs.js.map +1 -1
  3. package/dist/acl/access-controller.esm.js +37 -37
  4. package/dist/acl/access-groups.cjs.js +2 -2
  5. package/dist/acl/access-groups.cjs.js.map +1 -1
  6. package/dist/acl/access-groups.esm.js +78 -78
  7. package/dist/acl/acl-control.cjs.js +1 -1
  8. package/dist/acl/acl-control.cjs.js.map +1 -1
  9. package/dist/acl/acl-control.esm.js +19 -19
  10. package/dist/acl/add-agent-buttons.cjs.js +1 -1
  11. package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
  12. package/dist/acl/add-agent-buttons.esm.js +51 -51
  13. package/dist/chat/bookmarks.cjs.js +1 -1
  14. package/dist/chat/bookmarks.cjs.js.map +1 -1
  15. package/dist/chat/bookmarks.esm.js +44 -44
  16. package/dist/chat/bookmarks.esm.js.map +1 -1
  17. package/dist/chat/chatLogic.cjs.js +2 -2
  18. package/dist/chat/chatLogic.cjs.js.map +1 -1
  19. package/dist/chat/chatLogic.esm.js +54 -54
  20. package/dist/chat/dateFolder.cjs.js +1 -1
  21. package/dist/chat/dateFolder.cjs.js.map +1 -1
  22. package/dist/chat/dateFolder.esm.js +30 -30
  23. package/dist/chat/infinite.cjs.js +1 -1
  24. package/dist/chat/infinite.cjs.js.map +1 -1
  25. package/dist/chat/infinite.esm.js +49 -49
  26. package/dist/chat/keys.cjs.js +2 -2
  27. package/dist/chat/keys.cjs.js.map +1 -1
  28. package/dist/chat/keys.esm.js +17 -17
  29. package/dist/chat/message.cjs.js +4 -4
  30. package/dist/chat/message.cjs.js.map +1 -1
  31. package/dist/chat/message.esm.js +114 -114
  32. package/dist/chat/message.esm.js.map +1 -1
  33. package/dist/chat/messageTools.cjs.js +1 -1
  34. package/dist/chat/messageTools.cjs.js.map +1 -1
  35. package/dist/chat/messageTools.esm.js +51 -51
  36. package/dist/chunks/{ResourceActionsMenu-Bllpr4M5.js → ResourceActionsMenu-Bx7YWY3E.js} +29 -29
  37. package/dist/chunks/{ResourceActionsMenu-Bllpr4M5.js.map → ResourceActionsMenu-Bx7YWY3E.js.map} +1 -1
  38. package/dist/chunks/{access-control-modal-CwmY_Dod.js → access-control-modal-B1mFFIyz.js} +165 -165
  39. package/dist/chunks/{access-control-modal-CwmY_Dod.js.map → access-control-modal-B1mFFIyz.js.map} +1 -1
  40. package/dist/chunks/{account-CoHPKKDu.js → account-DWmMJre6.js} +22 -22
  41. package/dist/chunks/{account-CoHPKKDu.js.map → account-DWmMJre6.js.map} +1 -1
  42. package/dist/chunks/{auth-CocCqS1p.js → auth-EK-iYNYZ.js} +37 -37
  43. package/dist/chunks/{auth-CocCqS1p.js.map → auth-EK-iYNYZ.js.map} +1 -1
  44. package/dist/chunks/{avatar-sNdKdWVO.js → avatar-BBgvMlqv.js} +13 -13
  45. package/dist/chunks/{avatar-sNdKdWVO.js.map → avatar-BBgvMlqv.js.map} +1 -1
  46. package/dist/chunks/{combobox-fSTp9qoT.js → combobox-DS6byaf1.js} +3 -3
  47. package/dist/chunks/{combobox-fSTp9qoT.js.map → combobox-DS6byaf1.js.map} +1 -1
  48. package/dist/chunks/{error-state-BD4_Wrkz.js → error-state-jV9dlFX2.js} +2 -2
  49. package/dist/chunks/{error-state-BD4_Wrkz.js.map → error-state-jV9dlFX2.js.map} +1 -1
  50. package/dist/chunks/{file-explorer-header-D0TebSYR.js → file-explorer-header-Djp_eFuT.js} +50 -50
  51. package/dist/chunks/{file-explorer-header-D0TebSYR.js.map → file-explorer-header-Djp_eFuT.js.map} +1 -1
  52. package/dist/chunks/{guard-BOicu9dt.js → guard-SxVT1xr4.js} +13 -13
  53. package/dist/chunks/{guard-BOicu9dt.js.map → guard-SxVT1xr4.js.map} +1 -1
  54. package/dist/chunks/{index.esm-C9oV3H3X.js → index.esm-BQrkxchZ.js} +2 -2
  55. package/dist/chunks/{index.esm-C9oV3H3X.js.map → index.esm-BQrkxchZ.js.map} +1 -1
  56. package/dist/chunks/{jsonld-D-TE94B0.js → jsonld-C6IOQ1Tg.js} +2 -2
  57. package/dist/chunks/{jsonld-D-TE94B0.js.map → jsonld-C6IOQ1Tg.js.map} +1 -1
  58. package/dist/chunks/{login-button-clTw_9tX.js → login-button-Dd0rwZJk.js} +11 -11
  59. package/dist/chunks/{login-button-clTw_9tX.js.map → login-button-Dd0rwZJk.js.map} +1 -1
  60. package/dist/chunks/{logout-button-CP-Pz70O.js → logout-button-Da34Lrnq.js} +11 -11
  61. package/dist/chunks/{logout-button-CP-Pz70O.js.map → logout-button-Da34Lrnq.js.map} +1 -1
  62. package/dist/chunks/{menu-D0k2fkiE.js → menu-BNJU654v.js} +2 -2
  63. package/dist/chunks/{menu-D0k2fkiE.js.map → menu-BNJU654v.js.map} +1 -1
  64. package/dist/chunks/{provider-Cuv3Kp6G.js → provider-B3FoP2qW.js} +11 -11
  65. package/dist/chunks/{provider-Cuv3Kp6G.js.map → provider-B3FoP2qW.js.map} +1 -1
  66. package/dist/chunks/{rdf-form-DVmTw3RG.js → rdf-form-BkKDmFPD.js} +36 -36
  67. package/dist/chunks/{rdf-form-DVmTw3RG.js.map → rdf-form-BkKDmFPD.js.map} +1 -1
  68. package/dist/chunks/{rdf-input-CRYLK-27.js → rdf-input-BPePtqfS.js} +61 -61
  69. package/dist/chunks/{rdf-input-CRYLK-27.js.map → rdf-input-BPePtqfS.js.map} +1 -1
  70. package/dist/chunks/{signup-button-CexdMWj6.js → signup-button-DOInssOu.js} +11 -11
  71. package/dist/chunks/{signup-button-CexdMWj6.js.map → signup-button-DOInssOu.js.map} +1 -1
  72. package/dist/chunks/{solidLogicSingleton.esm-BXyHD7mn.js → solidLogicSingleton.esm-Bvt7E7Vl.js} +50 -29
  73. package/dist/chunks/solidLogicSingleton.esm-Bvt7E7Vl.js.map +1 -0
  74. package/dist/chunks/{src-DQgHAH3d.js → src-akaVfkuf.js} +1956 -1944
  75. package/dist/chunks/src-akaVfkuf.js.map +1 -0
  76. package/dist/chunks/{style-CXaw5EYi.js → style-Dlw9-wPn.js} +3 -3
  77. package/dist/chunks/{style-CXaw5EYi.js.map → style-Dlw9-wPn.js.map} +1 -1
  78. package/dist/chunks/{widgets-BBEQu0CS.js → widgets-B1hBVhRL.js} +309 -309
  79. package/dist/chunks/widgets-B1hBVhRL.js.map +1 -0
  80. package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js +1 -1
  81. package/dist/components/access-control-modal/AccessControlAddAccess.esm.js +5 -5
  82. package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js +2 -2
  83. package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js.map +1 -1
  84. package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js +12 -12
  85. package/dist/components/access-control-modal/AccessControlModal.cjs.js +2 -2
  86. package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
  87. package/dist/components/access-control-modal/AccessControlModal.esm.js +35 -35
  88. package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
  89. package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js +1 -1
  90. package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js +2 -2
  91. package/dist/components/access-control-modal/accessTargetResolver.cjs.js +1 -1
  92. package/dist/components/access-control-modal/accessTargetResolver.cjs.js.map +1 -1
  93. package/dist/components/access-control-modal/accessTargetResolver.esm.js +21 -21
  94. package/dist/components/access-control-modal.js +1 -1
  95. package/dist/components/account/Account.cjs.js +1 -1
  96. package/dist/components/account/Account.esm.js +3 -3
  97. package/dist/components/account.js +1 -1
  98. package/dist/components/all.cjs.js +1 -1
  99. package/dist/components/all.esm.js +16 -16
  100. package/dist/components/avatar.js +1 -1
  101. package/dist/components/combobox/Combobox.cjs.js +1 -1
  102. package/dist/components/combobox/Combobox.esm.js +1 -1
  103. package/dist/components/combobox.js +1 -1
  104. package/dist/components/dialog/Dialog.cjs.js +2 -2
  105. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  106. package/dist/components/dialog/Dialog.esm.js +9 -9
  107. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  108. package/dist/components/dialog-provider/DialogProvider.cjs.js +1 -1
  109. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  110. package/dist/components/dialog-provider/DialogProvider.esm.js +6 -6
  111. package/dist/components/dialogs-root/DialogsRoot.cjs.js +2 -2
  112. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  113. package/dist/components/dialogs-root/DialogsRoot.esm.js +7 -7
  114. package/dist/components/error-state/ErrorState.cjs.js +1 -1
  115. package/dist/components/error-state/ErrorState.esm.js +1 -1
  116. package/dist/components/error-state.js +1 -1
  117. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +2 -2
  118. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
  119. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +10 -10
  120. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +1 -1
  121. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +5 -5
  122. package/dist/components/file-explorer-header.js +1 -1
  123. package/dist/components/guard.js +1 -1
  124. package/dist/components/login-button/LoginButton.cjs.js +1 -1
  125. package/dist/components/login-button/LoginButton.esm.js +1 -1
  126. package/dist/components/login-button.js +1 -1
  127. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  128. package/dist/components/login-modal/LoginModal.esm.js +2 -2
  129. package/dist/components/login-modal.js +1 -1
  130. package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
  131. package/dist/components/logout-button/LogoutButton.esm.js +1 -1
  132. package/dist/components/logout-button.js +1 -1
  133. package/dist/components/menu/Menu.cjs.js +1 -1
  134. package/dist/components/menu/Menu.cjs.js.map +1 -1
  135. package/dist/components/menu/Menu.esm.js +1 -1
  136. package/dist/components/menu/Menu.esm.js.map +1 -1
  137. package/dist/components/menu.js +1 -1
  138. package/dist/components/provider.js +1 -1
  139. package/dist/components/rdf-form/RDFForm.cjs.js +3 -3
  140. package/dist/components/rdf-form/RDFForm.cjs.js.map +1 -1
  141. package/dist/components/rdf-form/RDFForm.esm.js +13 -13
  142. package/dist/components/rdf-form/RDFForm.esm.js.map +1 -1
  143. package/dist/components/rdf-form.js +1 -1
  144. package/dist/components/rdf-input/RDFInput.cjs.js +2 -2
  145. package/dist/components/rdf-input/RDFInput.cjs.js.map +1 -1
  146. package/dist/components/rdf-input/RDFInput.esm.js +4 -4
  147. package/dist/components/rdf-input/RDFInput.esm.js.map +1 -1
  148. package/dist/components/rdf-input.js +1 -1
  149. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +3 -3
  150. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
  151. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +7 -7
  152. package/dist/components/resource-actions-menu.js +1 -1
  153. package/dist/components/select/Select.cjs.js +1 -1
  154. package/dist/components/select/Select.cjs.js.map +1 -1
  155. package/dist/components/select/Select.esm.js +1 -1
  156. package/dist/components/signup-button/SignupButton.cjs.js +1 -1
  157. package/dist/components/signup-button/SignupButton.esm.js +1 -1
  158. package/dist/components/signup-button.js +1 -1
  159. package/dist/components.js +21 -21
  160. package/dist/create/create.cjs.js +1 -1
  161. package/dist/create/create.cjs.js.map +1 -1
  162. package/dist/create/create.esm.js +23 -23
  163. package/dist/header/index.cjs.js +1 -1
  164. package/dist/header/index.cjs.js.map +1 -1
  165. package/dist/header/index.esm.js +53 -53
  166. package/dist/index.cjs.js +1 -1
  167. package/dist/index.cjs.js.map +1 -1
  168. package/dist/index.esm.js +20 -20
  169. package/dist/index.js +5 -5
  170. package/dist/lib/auth/SolidAuth.cjs.js +1 -1
  171. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  172. package/dist/lib/auth/SolidAuth.esm.js +8 -8
  173. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  174. package/dist/lib/code-editor/CodeEditor.cjs.js +1 -1
  175. package/dist/lib/code-editor/CodeEditor.cjs.js.map +1 -1
  176. package/dist/lib/code-editor/CodeEditor.d.ts.map +1 -1
  177. package/dist/lib/code-editor/CodeEditor.esm.js +34 -30
  178. package/dist/lib/code-editor/CodeEditor.esm.js.map +1 -1
  179. package/dist/lib/components/dialog-component/DialogComponent.cjs.js +1 -1
  180. package/dist/lib/components/dialog-component/DialogComponent.cjs.js.map +1 -1
  181. package/dist/lib/components/dialog-component/DialogComponent.esm.js +4 -4
  182. package/dist/lib/components/index.cjs.js +1 -1
  183. package/dist/lib/components/index.esm.js +3 -3
  184. package/dist/lib/dialogs/helpers.cjs.js +1 -1
  185. package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
  186. package/dist/lib/dialogs/helpers.esm.js +4 -4
  187. package/dist/lib/file-explorer/relevant-panes.cjs.js +1 -1
  188. package/dist/lib/file-explorer/relevant-panes.cjs.js.map +1 -1
  189. package/dist/lib/file-explorer/relevant-panes.esm.js +8 -8
  190. package/dist/lib/messageArea.cjs.js +1 -1
  191. package/dist/lib/messageArea.cjs.js.map +1 -1
  192. package/dist/lib/messageArea.esm.js +27 -27
  193. package/dist/lib/pad.cjs.js +1 -1
  194. package/dist/lib/pad.cjs.js.map +1 -1
  195. package/dist/lib/pad.esm.js +15 -15
  196. package/dist/lib/participation.cjs.js +1 -1
  197. package/dist/lib/participation.cjs.js.map +1 -1
  198. package/dist/lib/participation.esm.js +59 -59
  199. package/dist/lib/preferences.cjs.js +1 -1
  200. package/dist/lib/preferences.cjs.js.map +1 -1
  201. package/dist/lib/preferences.esm.js +28 -28
  202. package/dist/lib/table.cjs.js +3 -3
  203. package/dist/lib/table.cjs.js.map +1 -1
  204. package/dist/lib/table.esm.js +123 -123
  205. package/dist/lib/table.esm.js.map +1 -1
  206. package/dist/lib/tabs.cjs.js +1 -1
  207. package/dist/lib/tabs.cjs.js.map +1 -1
  208. package/dist/lib/tabs.esm.js +16 -16
  209. package/dist/loader.js +11 -11
  210. package/dist/login/login.cjs.js +6 -6
  211. package/dist/login/login.cjs.js.map +1 -1
  212. package/dist/login/login.esm.js +142 -142
  213. package/dist/media/media-capture.cjs.js +1 -1
  214. package/dist/media/media-capture.cjs.js.map +1 -1
  215. package/dist/media/media-capture.esm.js +6 -6
  216. package/dist/solid-ui.js +18 -18
  217. package/dist/solid-ui.min.js +18 -18
  218. package/dist/solid-ui.min.js.map +1 -1
  219. package/dist/utils/index.cjs.js +1 -1
  220. package/dist/utils/index.cjs.js.map +1 -1
  221. package/dist/utils/index.esm.js +4 -4
  222. package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
  223. package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
  224. package/dist/utils/keyHelpers/accessData.esm.js +15 -15
  225. package/dist/utils/label.cjs.js +1 -1
  226. package/dist/utils/label.cjs.js.map +1 -1
  227. package/dist/utils/label.esm.js +4 -4
  228. package/dist/widgets/buttons.cjs.js +12 -12
  229. package/dist/widgets/buttons.cjs.js.map +1 -1
  230. package/dist/widgets/buttons.esm.js +179 -179
  231. package/dist/widgets/error.cjs.js +1 -1
  232. package/dist/widgets/error.cjs.js.map +1 -1
  233. package/dist/widgets/error.esm.js +5 -5
  234. package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js +1 -1
  235. package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js.map +1 -1
  236. package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js +17 -17
  237. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js +1 -1
  238. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
  239. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js +23 -23
  240. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js +1 -1
  241. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  242. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js +26 -26
  243. package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
  244. package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
  245. package/dist/widgets/forms/autocomplete/language.esm.js +9 -9
  246. package/dist/widgets/forms/autocomplete/publicData.cjs.js +5 -5
  247. package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
  248. package/dist/widgets/forms/autocomplete/publicData.esm.js +67 -67
  249. package/dist/widgets/forms/basic.cjs.js +1 -1
  250. package/dist/widgets/forms/basic.cjs.js.map +1 -1
  251. package/dist/widgets/forms/basic.esm.js +11 -11
  252. package/dist/widgets/forms.cjs.js +4 -4
  253. package/dist/widgets/forms.cjs.js.map +1 -1
  254. package/dist/widgets/forms.esm.js +561 -561
  255. package/dist/widgets/forms.esm.js.map +1 -1
  256. package/dist/widgets/index.cjs.js +1 -1
  257. package/dist/widgets/index.cjs.js.map +1 -1
  258. package/dist/widgets/index.esm.js +82 -82
  259. package/dist/widgets/peoplePicker.cjs.js +2 -2
  260. package/dist/widgets/peoplePicker.cjs.js.map +1 -1
  261. package/dist/widgets/peoplePicker.esm.js +82 -82
  262. package/package.json +3 -3
  263. package/dist/chunks/solidLogicSingleton.esm-BXyHD7mn.js.map +0 -1
  264. package/dist/chunks/src-DQgHAH3d.js.map +0 -1
  265. package/dist/chunks/widgets-BBEQu0CS.js.map +0 -1
@@ -1,14 +1,14 @@
1
1
  import { __exportAll as e } from "../_virtual/_rolldown/runtime.esm.js";
2
- import t from "./ns.esm.js";
3
- import { syncTableToArray as n } from "../utils/index.esm.js";
4
- import { log as r, warn as i } from "./debug.esm.js";
5
- import a from "./styleConstants.esm.js";
6
- import { style as o } from "./style.esm.js";
7
- import { errorMessageBlock as s } from "../widgets/error.esm.js";
8
- import { personTR as c } from "../widgets/buttons.esm.js";
9
- import { newThing as l } from "../widgets/forms.esm.js";
2
+ import { log as t, warn as n } from "./debug.esm.js";
3
+ import r from "./ns.esm.js";
10
4
  import "../widgets/index.esm.js";
11
- import { lightColorHash as u } from "./pad.esm.js";
5
+ import { syncTableToArray as i } from "../utils/index.esm.js";
6
+ import { lightColorHash as a } from "./pad.esm.js";
7
+ import { errorMessageBlock as o } from "../widgets/error.esm.js";
8
+ import { personTR as s } from "../widgets/buttons.esm.js";
9
+ import { newThing as c } from "../widgets/forms.esm.js";
10
+ import { style as l } from "./style.esm.js";
11
+ import u from "./styleConstants.esm.js";
12
12
  import { st as d } from "rdflib";
13
13
  import { authn as f, solidLogicSingleton as p } from "solid-logic";
14
14
  // src/lib/participation.ts
@@ -18,86 +18,86 @@ var m = /* @__PURE__ */ e({
18
18
  recordParticipation: () => v,
19
19
  renderParticipants: () => g
20
20
  }), h = p.store;
21
- function g(e, i, s, l, u, d) {
22
- i.setAttribute("style", o.participantsStyle);
23
- let f = function(n) {
24
- let r = h.any(n, t.wf("participant")), s;
25
- if (!r) return s = e.createElement("tr"), s.textContent = "???", s;
26
- let l = h.anyValue(n, t.ui("backgroundColor")) || a.participationDefaultBackground, u = e.createElement("div");
27
- u.setAttribute("style", o.participantsBlock), u.style.backgroundColor = l, s = c(e, null, r, d), i.appendChild(s);
21
+ function g(e, n, a, o, c, d) {
22
+ n.setAttribute("style", l.participantsStyle);
23
+ let f = function(t) {
24
+ let i = h.any(t, r.wf("participant")), a;
25
+ if (!i) return a = e.createElement("tr"), a.textContent = "???", a;
26
+ let o = h.anyValue(t, r.ui("backgroundColor")) || u.participationDefaultBackground, c = e.createElement("div");
27
+ c.setAttribute("style", l.participantsBlock), c.style.backgroundColor = o, a = s(e, null, i, d), n.appendChild(a);
28
28
  let f = e.createElement("td");
29
- return f.setAttribute("style", o.personTableTD), f.appendChild(u), s.insertBefore(f, s.firstChild), s;
29
+ return f.setAttribute("style", l.personTableTD), f.appendChild(c), a.insertBefore(f, a.firstChild), a;
30
30
  }, p = function() {
31
- let e = h.each(l, t.wf("participation")).map(function(e) {
32
- return r("in participants"), [h.anyValue(e, t.cal("dtstart")) || "9999-12-31", e];
31
+ let e = h.each(o, r.wf("participation")).map(function(e) {
32
+ return t("in participants"), [h.anyValue(e, r.cal("dtstart")) || "9999-12-31", e];
33
33
  });
34
34
  e.sort();
35
35
  let a = e.map(function(e) {
36
36
  return e[1];
37
37
  });
38
- n(i, a, f);
38
+ i(n, a, f);
39
39
  };
40
- return i.refresh = p, p(), i;
40
+ return n.refresh = p, p(), n;
41
41
  }
42
- function _(e, n, r) {
43
- return new Promise(function(a, o) {
44
- if (!r) throw Error("No user id");
45
- let s = h.each(e, t.wf("participation")).filter(function(e) {
46
- return h.holds(e, t.wf("participant"), r);
42
+ function _(e, t, i) {
43
+ return new Promise(function(o, s) {
44
+ if (!i) throw Error("No user id");
45
+ let l = h.each(e, r.wf("participation")).filter(function(e) {
46
+ return h.holds(e, r.wf("participant"), i);
47
47
  });
48
- if (s.length > 1) {
48
+ if (l.length > 1) {
49
49
  let e = [];
50
- for (let n of s) {
51
- let r = h.anyValue(n, t.cal("dtstart"));
52
- r && e.push([r, n]);
50
+ for (let t of l) {
51
+ let n = h.anyValue(t, r.cal("dtstart"));
52
+ n && e.push([n, t]);
53
53
  }
54
- e.sort(), i("Multiple participation objects, picking earliest, in " + n), a(e[0][1]);
54
+ e.sort(), n("Multiple participation objects, picking earliest, in " + t), o(e[0][1]);
55
55
  }
56
- if (s.length) a(s[0]);
56
+ if (l.length) o(l[0]);
57
57
  else {
58
- let i = l(n), s = [
59
- d(e, t.wf("participation"), i, n),
60
- d(i, t.wf("participant"), r, n),
61
- d(i, t.cal("dtstart"), /* @__PURE__ */ new Date(), n),
62
- d(i, t.ui("backgroundColor"), u(r), n)
58
+ let n = c(t), l = [
59
+ d(e, r.wf("participation"), n, t),
60
+ d(n, r.wf("participant"), i, t),
61
+ d(n, r.cal("dtstart"), /* @__PURE__ */ new Date(), t),
62
+ d(n, r.ui("backgroundColor"), a(i), t)
63
63
  ];
64
- h.updater.update([], s, function(e, t, n) {
65
- t ? a(i) : o(/* @__PURE__ */ Error("Error recording your participation: " + n));
66
- }), a(i);
64
+ h.updater.update([], l, function(e, t, r) {
65
+ t ? o(n) : s(/* @__PURE__ */ Error("Error recording your participation: " + r));
66
+ }), o(n);
67
67
  }
68
68
  });
69
69
  }
70
70
  function v(e, n, i) {
71
- let a = f.currentUser();
72
- if (!a) return;
73
- let o = h.each(e, t.wf("participation")).filter(function(e) {
74
- return h.holds(e, t.wf("participant"), a);
71
+ let o = f.currentUser();
72
+ if (!o) return;
73
+ let s = h.each(e, r.wf("participation")).filter(function(e) {
74
+ return h.holds(e, r.wf("participant"), o);
75
75
  });
76
- if (o.length > 1) throw Error("Multiple records of your participation");
77
- if (o.length) return o[0];
76
+ if (s.length > 1) throw Error("Multiple records of your participation");
77
+ if (s.length) return s[0];
78
78
  {
79
- if (!h.updater.editable(n)) return r("Not recording participation, as no write access as " + a + " to " + n), null;
80
- let o = l(n), s = [
81
- d(e, t.wf("participation"), o, n),
82
- d(o, t.wf("participant"), a, n),
83
- d(o, t.cal("dtstart"), /* @__PURE__ */ new Date(), n),
84
- d(o, t.ui("backgroundColor"), u(a), n)
79
+ if (!h.updater.editable(n)) return t("Not recording participation, as no write access as " + o + " to " + n), null;
80
+ let s = c(n), l = [
81
+ d(e, r.wf("participation"), s, n),
82
+ d(s, r.wf("participant"), o, n),
83
+ d(s, r.cal("dtstart"), /* @__PURE__ */ new Date(), n),
84
+ d(s, r.ui("backgroundColor"), a(o), n)
85
85
  ];
86
- return h.updater.update([], s, function(e, t, n) {
86
+ return h.updater.update([], l, function(e, t, n) {
87
87
  if (!t) throw Error("Error recording your participation: " + n);
88
88
  i && i.refresh && i.refresh();
89
- }), o;
89
+ }), s;
90
90
  }
91
91
  }
92
92
  function y(e, t, n, r, i, a) {
93
- let o = e.createElement("table");
94
- t.appendChild(o), g(e, o, n, r, i, a);
93
+ let s = e.createElement("table");
94
+ t.appendChild(s), g(e, s, n, r, i, a);
95
95
  try {
96
- v(r, n, o);
96
+ v(r, n, s);
97
97
  } catch (n) {
98
- t.appendChild(s(e, "Error recording your participation: " + n));
98
+ t.appendChild(o(e, "Error recording your participation: " + n));
99
99
  }
100
- return o;
100
+ return s;
101
101
  }
102
102
  export { y as manageParticipation, _ as participationObject, m as participation_exports, v as recordParticipation, g as renderParticipants };
103
103
 
@@ -1,2 +1,2 @@
1
- const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./ns.cjs.js"),n=require("./debug.cjs.js"),r=require("../widgets/error.cjs.js"),i=require("../widgets/buttons.cjs.js"),a=require("../widgets/forms.cjs.js");require("../widgets/index.cjs.js");const o=require("../login/login.cjs.js"),s=require("./participation.cjs.js");let c=require("rdflib");c=e.__toESM(c);let l=require("solid-logic");var u=e.__exportAll({get:()=>p,getPreferencesForClass:()=>y,recordPersonalDefaults:()=>g,recordSharedPreferences:()=>h,renderPreferencesForm:()=>_,set:()=>m,value:()=>f}),d=l.store,f=[];function p(e){return f[e]}function m(e,t){if(typeof t!=`string`)throw n.log(`Non-string value of preference `+e+`: `+t),Error(`Non-string value of preference `+e+`: `+t);this.value[e]=t}function h(e,r){return new Promise(function(i,a){let o=d.any(e,t.default.ui(`sharedPreferences`));if(o)r.sharedPreferences=o,i(r);else{d.updater.editable(e.doc())||(n.log(` Cant make shared preferences, may not change ${e.doc}`),i(r));let o=c.sym(e.doc().uri+`#SharedPreferences`),s=[c.st(e,t.default.ui(`sharedPreferences`),o,e.doc())];n.log(`Creating shared preferences `+o),d.updater.update([],s,function(e,t,n){t?(r.sharedPreferences=o,i(r)):a(Error(`Error creating shared prefs: `+n))})}})}function g(e,r){return new Promise(function(i,s){o.ensureLoadedPreferences(r).then(r=>{if(!r.preferencesFile){n.log(`Not doing private class preferences as no access to preferences file. `+r.preferencesFileError);return}let o=d.each(null,t.default.solid(`forClass`),e,r.preferencesFile),l=[],u,f;if(o.length){if(o.forEach(e=>{u||=d.any(e,t.default.solid(`personalDefaults`))}),u){r.personalDefaults=u,i(r);return}u=a.newThing(r.preferencesFile),f=o[0]}else f=a.newThing(r.preferencesFile),l=[c.st(f,t.default.rdf(`type`),t.default.solid(`TypeRegistration`),r.preferencesFile),c.st(f,t.default.solid(`forClass`),e,r.preferencesFile)];u=a.newThing(r.preferencesFile),l.push(c.st(f,t.default.solid(`personalDefaults`),u,r.preferencesFile)),d.updater.update([],l,function(t,n,a){n?(r.personalDefaults=u,i(r)):s(Error(`Setting preferences for `+e+`: `+a))})},e=>{s(e)})})}function _(e,t,n,o){let c=o.dom.createElement(`div`);return s.participationObject(e,e.doc(),o.me).then(r=>{let s=o.dom;function l(e){c.appendChild(s.createElement(`h5`)).textContent=e}l(`My view of this `+o.noun),a.appendForm(s,c,{},r,n,e.doc(),(e,t)=>{e||i.complain(o,t)}),l(`Everyone's view of this `+o.noun),h(e,o).then(r=>{let o=r.sharedPreferences;a.appendForm(s,c,{},o,n,e.doc(),(e,t)=>{e||i.complain(r,t)}),l(`My default view of any `+r.noun),g(t,r).then(e=>{a.appendForm(s,c,{},e.personalDefaults,n,e.preferencesFile,(t,n)=>{t||i.complain(e,n)})},e=>{i.complain(r,e)})})},e=>{c.appendChild(r.errorMessageBlock(o.dom,e))}),c}function v(e){return e.datatype?e.datatype.equals(t.default.xsd(`boolean`))?e.value===`1`:e.datatype.equals(t.default.xsd(`dateTime`))||e.datatype.equals(t.default.xsd(`date`))?new Date(e.value):e.datatype.equals(t.default.xsd(`integer`))||e.datatype.equals(t.default.xsd(`float`))||e.datatype.equals(t.default.xsd(`decimal`))?Number(e.value):e.value:e}function y(e,t,n,r){return new Promise(function(i,a){h(e,r).then(r=>{let o=r.sharedPreferences;if(r.me)s.participationObject(e,e.doc(),r.me).then(e=>{g(t,r).then(t=>{let r=[],a=t.personalDefaults;n.forEach(t=>{let n=d.any(e,t)||d.any(o,t)||d.any(a,t);n&&(r[t.uri]=v(n))}),i(r)},a)},a);else{let e=[];n.forEach(t=>{let n=d.any(o,t);n&&(e[t.uri]=v(n))}),i(e)}})})}exports.get=p,exports.getPreferencesForClass=y,Object.defineProperty(exports,"preferences_exports",{enumerable:!0,get:function(){return u}}),exports.recordPersonalDefaults=g,exports.recordSharedPreferences=h,exports.renderPreferencesForm=_,exports.set=m,exports.value=f;
1
+ const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./debug.cjs.js"),n=require("../login/login.cjs.js"),r=require("../widgets/error.cjs.js"),i=require("../widgets/buttons.cjs.js"),a=require("../widgets/forms.cjs.js"),o=require("./ns.cjs.js"),s=require("./participation.cjs.js");require("../widgets/index.cjs.js");let c=require("rdflib");c=e.__toESM(c);let l=require("solid-logic");var u=e.__exportAll({get:()=>p,getPreferencesForClass:()=>y,recordPersonalDefaults:()=>g,recordSharedPreferences:()=>h,renderPreferencesForm:()=>_,set:()=>m,value:()=>f}),d=l.store,f=[];function p(e){return f[e]}function m(e,n){if(typeof n!=`string`)throw t.log(`Non-string value of preference `+e+`: `+n),Error(`Non-string value of preference `+e+`: `+n);this.value[e]=n}function h(e,n){return new Promise(function(r,i){let a=d.any(e,o.default.ui(`sharedPreferences`));if(a)n.sharedPreferences=a,r(n);else{d.updater.editable(e.doc())||(t.log(` Cant make shared preferences, may not change ${e.doc}`),r(n));let a=c.sym(e.doc().uri+`#SharedPreferences`),s=[c.st(e,o.default.ui(`sharedPreferences`),a,e.doc())];t.log(`Creating shared preferences `+a),d.updater.update([],s,function(e,t,o){t?(n.sharedPreferences=a,r(n)):i(Error(`Error creating shared prefs: `+o))})}})}function g(e,r){return new Promise(function(i,s){n.ensureLoadedPreferences(r).then(n=>{if(!n.preferencesFile){t.log(`Not doing private class preferences as no access to preferences file. `+n.preferencesFileError);return}let r=d.each(null,o.default.solid(`forClass`),e,n.preferencesFile),l=[],u,f;if(r.length){if(r.forEach(e=>{u||=d.any(e,o.default.solid(`personalDefaults`))}),u){n.personalDefaults=u,i(n);return}u=a.newThing(n.preferencesFile),f=r[0]}else f=a.newThing(n.preferencesFile),l=[c.st(f,o.default.rdf(`type`),o.default.solid(`TypeRegistration`),n.preferencesFile),c.st(f,o.default.solid(`forClass`),e,n.preferencesFile)];u=a.newThing(n.preferencesFile),l.push(c.st(f,o.default.solid(`personalDefaults`),u,n.preferencesFile)),d.updater.update([],l,function(t,r,a){r?(n.personalDefaults=u,i(n)):s(Error(`Setting preferences for `+e+`: `+a))})},e=>{s(e)})})}function _(e,t,n,o){let c=o.dom.createElement(`div`);return s.participationObject(e,e.doc(),o.me).then(r=>{let s=o.dom;function l(e){c.appendChild(s.createElement(`h5`)).textContent=e}l(`My view of this `+o.noun),a.appendForm(s,c,{},r,n,e.doc(),(e,t)=>{e||i.complain(o,t)}),l(`Everyone's view of this `+o.noun),h(e,o).then(r=>{let o=r.sharedPreferences;a.appendForm(s,c,{},o,n,e.doc(),(e,t)=>{e||i.complain(r,t)}),l(`My default view of any `+r.noun),g(t,r).then(e=>{a.appendForm(s,c,{},e.personalDefaults,n,e.preferencesFile,(t,n)=>{t||i.complain(e,n)})},e=>{i.complain(r,e)})})},e=>{c.appendChild(r.errorMessageBlock(o.dom,e))}),c}function v(e){return e.datatype?e.datatype.equals(o.default.xsd(`boolean`))?e.value===`1`:e.datatype.equals(o.default.xsd(`dateTime`))||e.datatype.equals(o.default.xsd(`date`))?new Date(e.value):e.datatype.equals(o.default.xsd(`integer`))||e.datatype.equals(o.default.xsd(`float`))||e.datatype.equals(o.default.xsd(`decimal`))?Number(e.value):e.value:e}function y(e,t,n,r){return new Promise(function(i,a){h(e,r).then(r=>{let o=r.sharedPreferences;if(r.me)s.participationObject(e,e.doc(),r.me).then(e=>{g(t,r).then(t=>{let r=[],a=t.personalDefaults;n.forEach(t=>{let n=d.any(e,t)||d.any(o,t)||d.any(a,t);n&&(r[t.uri]=v(n))}),i(r)},a)},a);else{let e=[];n.forEach(t=>{let n=d.any(o,t);n&&(e[t.uri]=v(n))}),i(e)}})})}exports.get=p,exports.getPreferencesForClass=y,Object.defineProperty(exports,"preferences_exports",{enumerable:!0,get:function(){return u}}),exports.recordPersonalDefaults=g,exports.recordSharedPreferences=h,exports.renderPreferencesForm=_,exports.set=m,exports.value=f;
2
2
  //# sourceMappingURL=preferences.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.cjs.js","names":["store","ns","$rdf","require_runtime","require_ns","require_debug","require_error","require_buttons","require_forms","require_login","require_participation","rdflib","solid_logic","preferences_exports","get","getPreferencesForClass","recordPersonalDefaults","recordSharedPreferences","renderPreferencesForm","set","value","kb","k","v","sharedPreferences","subject","resolve","context","sp","ins","ok","reject","errorMessage","regs","theClass","prefs","reg","r","errm","err","prefContainer","dom","heading","text","participation","preferencesForm","mes","toJS","term","results","personalDefaults","predicates","v1","pred"],"sources":["../../src/lib/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from '../login/login'\nimport ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from '../widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n if (!kb.updater.editable(subject.doc())) {\n debug.log(` Cant make shared preferences, may not change ${subject.doc}`)\n resolve(context)\n }\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('Everyone\\'s view of this ' + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"preferences.cjs.js","names":["store","ns","$rdf","require_runtime","require_debug","require_login","require_error","require_buttons","require_forms","require_ns","require_participation","rdflib","solid_logic","preferences_exports","get","getPreferencesForClass","recordPersonalDefaults","recordSharedPreferences","renderPreferencesForm","set","value","kb","k","v","sharedPreferences","subject","resolve","context","sp","ins","ok","reject","errorMessage","regs","theClass","prefs","reg","r","errm","err","prefContainer","dom","heading","text","participation","preferencesForm","mes","toJS","term","results","personalDefaults","predicates","v1","pred"],"sources":["../../src/lib/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from '../login/login'\nimport ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from '../widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n if (!kb.updater.editable(subject.doc())) {\n debug.log(` Cant make shared preferences, may not change ${subject.doc}`)\n resolve(context)\n }\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('Everyone\\'s view of this ' + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { __exportAll as e } from "../_virtual/_rolldown/runtime.esm.js";
2
- import t from "./ns.esm.js";
3
- import { log as n } from "./debug.esm.js";
2
+ import { log as t } from "./debug.esm.js";
3
+ import { ensureLoadedPreferences as n } from "../login/login.esm.js";
4
4
  import { errorMessageBlock as r } from "../widgets/error.esm.js";
5
5
  import { complain as i } from "../widgets/buttons.esm.js";
6
6
  import { appendForm as a, newThing as o } from "../widgets/forms.esm.js";
7
- import "../widgets/index.esm.js";
8
- import { ensureLoadedPreferences as s } from "../login/login.esm.js";
7
+ import s from "./ns.esm.js";
9
8
  import { participationObject as c } from "./participation.esm.js";
9
+ import "../widgets/index.esm.js";
10
10
  import * as l from "rdflib";
11
11
  import { store as u } from "solid-logic";
12
12
  // src/lib/preferences.js
@@ -22,42 +22,42 @@ var d = /* @__PURE__ */ e({
22
22
  function m(e) {
23
23
  return p[e];
24
24
  }
25
- function h(e, t) {
26
- if (typeof t != "string") throw n("Non-string value of preference " + e + ": " + t), Error("Non-string value of preference " + e + ": " + t);
27
- this.value[e] = t;
25
+ function h(e, n) {
26
+ if (typeof n != "string") throw t("Non-string value of preference " + e + ": " + n), Error("Non-string value of preference " + e + ": " + n);
27
+ this.value[e] = n;
28
28
  }
29
- function g(e, r) {
30
- return new Promise(function(i, a) {
31
- let o = f.any(e, t.ui("sharedPreferences"));
32
- if (o) r.sharedPreferences = o, i(r);
29
+ function g(e, n) {
30
+ return new Promise(function(r, i) {
31
+ let a = f.any(e, s.ui("sharedPreferences"));
32
+ if (a) n.sharedPreferences = a, r(n);
33
33
  else {
34
- f.updater.editable(e.doc()) || (n(` Cant make shared preferences, may not change ${e.doc}`), i(r));
35
- let o = l.sym(e.doc().uri + "#SharedPreferences"), s = [l.st(e, t.ui("sharedPreferences"), o, e.doc())];
36
- n("Creating shared preferences " + o), f.updater.update([], s, function(e, t, n) {
37
- t ? (r.sharedPreferences = o, i(r)) : a(/* @__PURE__ */ Error("Error creating shared prefs: " + n));
34
+ f.updater.editable(e.doc()) || (t(` Cant make shared preferences, may not change ${e.doc}`), r(n));
35
+ let a = l.sym(e.doc().uri + "#SharedPreferences"), o = [l.st(e, s.ui("sharedPreferences"), a, e.doc())];
36
+ t("Creating shared preferences " + a), f.updater.update([], o, function(e, t, o) {
37
+ t ? (n.sharedPreferences = a, r(n)) : i(/* @__PURE__ */ Error("Error creating shared prefs: " + o));
38
38
  });
39
39
  }
40
40
  });
41
41
  }
42
42
  function _(e, r) {
43
43
  return new Promise(function(i, a) {
44
- s(r).then((r) => {
45
- if (!r.preferencesFile) {
46
- n("Not doing private class preferences as no access to preferences file. " + r.preferencesFileError);
44
+ n(r).then((n) => {
45
+ if (!n.preferencesFile) {
46
+ t("Not doing private class preferences as no access to preferences file. " + n.preferencesFileError);
47
47
  return;
48
48
  }
49
- let s = f.each(null, t.solid("forClass"), e, r.preferencesFile), c = [], u, d;
50
- if (s.length) {
51
- if (s.forEach((e) => {
52
- u ||= f.any(e, t.solid("personalDefaults"));
49
+ let r = f.each(null, s.solid("forClass"), e, n.preferencesFile), c = [], u, d;
50
+ if (r.length) {
51
+ if (r.forEach((e) => {
52
+ u ||= f.any(e, s.solid("personalDefaults"));
53
53
  }), u) {
54
- r.personalDefaults = u, i(r);
54
+ n.personalDefaults = u, i(n);
55
55
  return;
56
56
  }
57
- u = o(r.preferencesFile), d = s[0];
58
- } else d = o(r.preferencesFile), c = [l.st(d, t.rdf("type"), t.solid("TypeRegistration"), r.preferencesFile), l.st(d, t.solid("forClass"), e, r.preferencesFile)];
59
- u = o(r.preferencesFile), c.push(l.st(d, t.solid("personalDefaults"), u, r.preferencesFile)), f.updater.update([], c, function(t, n, o) {
60
- n ? (r.personalDefaults = u, i(r)) : a(/* @__PURE__ */ Error("Setting preferences for " + e + ": " + o));
57
+ u = o(n.preferencesFile), d = r[0];
58
+ } else d = o(n.preferencesFile), c = [l.st(d, s.rdf("type"), s.solid("TypeRegistration"), n.preferencesFile), l.st(d, s.solid("forClass"), e, n.preferencesFile)];
59
+ u = o(n.preferencesFile), c.push(l.st(d, s.solid("personalDefaults"), u, n.preferencesFile)), f.updater.update([], c, function(t, r, o) {
60
+ r ? (n.personalDefaults = u, i(n)) : a(/* @__PURE__ */ Error("Setting preferences for " + e + ": " + o));
61
61
  });
62
62
  }, (e) => {
63
63
  a(e);
@@ -90,7 +90,7 @@ function v(e, t, n, o) {
90
90
  }), s;
91
91
  }
92
92
  function y(e) {
93
- return e.datatype ? e.datatype.equals(t.xsd("boolean")) ? e.value === "1" : e.datatype.equals(t.xsd("dateTime")) || e.datatype.equals(t.xsd("date")) ? new Date(e.value) : e.datatype.equals(t.xsd("integer")) || e.datatype.equals(t.xsd("float")) || e.datatype.equals(t.xsd("decimal")) ? Number(e.value) : e.value : e;
93
+ return e.datatype ? e.datatype.equals(s.xsd("boolean")) ? e.value === "1" : e.datatype.equals(s.xsd("dateTime")) || e.datatype.equals(s.xsd("date")) ? new Date(e.value) : e.datatype.equals(s.xsd("integer")) || e.datatype.equals(s.xsd("float")) || e.datatype.equals(s.xsd("decimal")) ? Number(e.value) : e.value : e;
94
94
  }
95
95
  function b(e, t, n, r) {
96
96
  return new Promise(function(i, a) {
@@ -1,4 +1,4 @@
1
- const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./ns.cjs.js"),n=require("./log.cjs.js"),r=require("../utils/label.cjs.js"),i=require("../utils/index.cjs.js"),a=require("./debug.cjs.js"),o=require("./iconBase.cjs.js"),s=require("../widgets/index.cjs.js");let c=require("rdflib");c=e.__toESM(c);let l=require("solid-logic");var u={icons:o.icons,log:n.log_exports,ns:t.default,utils:i.utils_exports,widgets:s.widgets_exports};function d(e,t){let n=t.sourceDocument,o=t.tableClass,s=t.query,d=u.ns,f=l.store,p={},ee={"http://www.w3.org/2002/07/owl#sameAs":!0,"http://www.w3.org/1999/02/22-rdf-syntax-ns#type":!0},m={"http://www.w3.org/2001/XMLSchema#decimal":!0,"http://www.w3.org/2001/XMLSchema#float":!0,"http://www.w3.org/2001/XMLSchema#double":!0,"http://www.w3.org/2001/XMLSchema#integer":!0,"http://www.w3.org/2001/XMLSchema#nonNegativeInteger":!0,"http://www.w3.org/2001/XMLSchema#positiveInteger":!0,"http://www.w3.org/2001/XMLSchema#nonPositiveInteger":!0,"http://www.w3.org/2001/XMLSchema#negativeInteger":!0,"http://www.w3.org/2001/XMLSchema#long":!0,"http://www.w3.org/2001/XMLSchema#int":!0,"http://www.w3.org/2001/XMLSchema#short":!0,"http://www.w3.org/2001/XMLSchema#byte":!0,"http://www.w3.org/2001/XMLSchema#unsignedLong":!0,"http://www.w3.org/2001/XMLSchema#unsignedInt":!0,"http://www.w3.org/2001/XMLSchema#unsignedShort":!0,"http://www.w3.org/2001/XMLSchema#unsignedByte":!0},te={"http://www.w3.org/2001/XMLSchema#dateTime":!0,"http://www.w3.org/2001/XMLSchema#date":!0},ne={"http://xmlns.com/foaf/0.1/Image":!0,"http://purl.org/dc/terms/Image":!0},h=t.keyVariable||`?_row`,g=0,_,v,y,b,x=null,S=null,C=e.createElement(`div`);C.className=`tableViewPane`,C.appendChild(re());let w=e.createElement(`div`);C.appendChild(w),C.refresh=function(){Z(T.query,T.logicalRows,T.columns,T)};let T;if(s)T=$(s),w.appendChild(T);else{let e=I();_=e[0],v=e[1],o||y.appendChild(le(_,v)),S=Ce(v),E(S||_)}return C;function re(){let t=e.createElement(`table`);t.setAttribute(`class`,`toolbar`);let n=e.createElement(`tr`);return y=e.createElement(`td`),n.appendChild(y),b=e.createElement(`td`),n.appendChild(b),t.appendChild(n),t}function ie(e,t){let n=t.getColumns();for(let t=0;t<n.length;++t){let r=f.variable(`_col`+t);e.vars.push(r),n[t].setVariable(r)}}function ae(e,t,n){let r=n.type;r||=f.variable(`_any`),e.pat.add(t,u.ns.rdf(`type`),r)}function oe(e,t,n){let r=n.getColumns();for(let n=0;n<r.length;++n){let i=r[n],a=f.formula();a.add(t,i.predicate,i.getVariable()),e.pat.optional.push(a)}}function se(e){let t=new c.Query,n=f.variable(h.slice(1));return ie(t,e),ae(t,n,e),oe(t,n,e),t}function E(e){D(b),b.appendChild(de(e)),ce(se(e),e)}function ce(e,t){x&&(x.running=!1);let n=$(e,t);D(w),w.appendChild(n),x=e}function D(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])}function O(e){this.type=e,this.columns=null,this.allColumns=[],this.useCount=0,this.getAllColumns=function(){return this.allColumns},this.getColumns=function(){if(!this.columns){let e=this.getAllColumns();this.columns=e.slice(0,7)}return this.columns},this.getUnusedColumns=function(){let e=this.getAllColumns(),t=this.getColumns(),n=[];for(let r=0;r<e.length;++r)t.indexOf(e[r])===-1&&n.push(e[r]);return n},this.addColumn=function(e){this.columns.push(e)},this.removeColumn=function(e){this.columns=this.columns.filter(function(t){return t!==e})},this.getLabel=function(){return r.label(this.type)},this.addUse=function(){this.useCount+=1}}function k(){this.useCount=0,this.checkedAnyValues=!1,this.possiblyLiteral=!0,this.possiblyNumber=!0,this.constraints=[],this.checkValue=function(e){let t=e.termType;this.possiblyLiteral&&t!==`Literal`&&t!==`NamedNode`?(this.possiblyNumber=!1,this.possiblyLiteral=!1):this.possiblyNumber&&(t===`Literal`&&e.value.match(/^-?\d+(\.\d*)?$/)||(this.possiblyNumber=!1)),this.checkedAnyValues=!0},this.getVariable=function(){return this.variable},this.setVariable=function(e){this.variable=e},this.getKey=function(){return this.variable.toString()},this.addUse=function(){this.useCount+=1},this.getHints=function(){return t&&t.hints&&this.variable&&t.hints[this.variable.toNT()]?t.hints[this.variable.toNT()]:{}},this.getLabel=function(){return this.getHints().label?this.getHints().label:this.predicate?this.predicate.sameTerm(d.rdf(`type`))&&this.superClass?r.label(this.superClass,!0):r.label(this.predicate):this.variable?this.variable.toString():`unlabeled column?`},this.setPredicate=function(e,t,n){t?(this.inverse=e,this.constraints=this.constraints.concat(f.each(e,u.ns.rdfs(`domain`))),e.sameTerm(d.rdfs(`subClassOf`))&&n.termType===`NamedNode`&&(this.superClass=n,this.alternatives=f.each(void 0,d.rdfs(`subClassOf`),n))):(this.predicate=e,this.constraints=this.constraints.concat(f.each(e,u.ns.rdfs(`range`))))},this.getConstraints=function(){return this.constraints},this.filterFunction=function(){return!0},this.sortKey=function(){return this.getLabel().toLowerCase()},this.isImageColumn=function(){for(let e=0;e<this.constraints.length;e++)if(this.constraints[e].uri in ne)return!0;return!1}}function A(e,t){let n=[];for(let r in e){let i=e[r];(!t||t(r,i))&&n.push(i)}return n}function j(t,n){let r=e.createElement(`option`);return r.setAttribute(`value`,n),r.appendChild(e.createTextNode(t)),r}function le(t,n){let r=e.createElement(`div`);r.appendChild(e.createTextNode(`Select type: `));let i=e.createElement(`select`);i.appendChild(j(`All types`,`null`));for(let e in n)i.appendChild(j(n[e].getLabel(),e));return i.addEventListener(`click`,function(){let e;e=i.value===`null`?t:n[i.value],ue(e)},!1),r.appendChild(i),r}function ue(e){E(e)}function de(t){let n=e.createElement(`div`),r=t.getUnusedColumns();if(r.sort(function(e,t){let n=e.sortKey(),r=t.sortKey();return(n>r)-(n<r)}),r.length>0){n.appendChild(e.createTextNode(`Add column: `));let i=e.createElement(`select`);i.appendChild(j(``,`-1`));for(let e=0;e<r.length;++e){let t=r[e];i.appendChild(j(t.getLabel(),``+e))}n.appendChild(i),i.addEventListener(`click`,function(){let e=Number(i.value);e>=0&&(t.addColumn(r[e]),E(t))},!1)}return n}function fe(e,t){for(let n in e){let r=e[n];if(r.variable.toNT()===t)return r}throw Error(`getColumnForVariable: no column for variable ${t}`)}function pe(e,t){let n;return t.uri in e?n=e[t.uri]:(n=new k,n.setPredicate(t),e[t.uri]=n),n}function M(e,t){let n;return t.uri in e?n=e[t.uri]:(n=new O(t),e[t.uri]=n),n}function N(){let e={},t=f.statementsMatching(void 0,u.ns.rdf(`type`),o,n),r={};for(let n=0;n<t.length;++n){let i=t[n].object;if(i.termType!==`NamedNode`)continue;let a=M(e,i);i.uri in r||(r[i.uri]=[]),r[i.uri].push(t[n].subject),a.addUse()}return[r,e]}function P(e,t){let r=f.statementsMatching(e,void 0,void 0,n),i={};for(let e=0;e<r.length;++e){let n=r[e].predicate;if(n.uri in ee)continue;let a=pe(t,n);a.checkValue(r[e].object),i[n.uri]=a}return i}function F(e,t){let n={};for(let e=0;e<t.length;++e){let r=P(t[e],n);for(let e in r)r[e].addUse()}let r=A(n);L(r),e.allColumns=r}function I(){let e,t,n=N();e=n[0],t=n[1];for(let n in e){let r=e[n],i=t[n];F(i,r)}return[new O(null),A(t)]}function L(e){function t(e,t){return(e.useCount<t.useCount)-(e.useCount>t.useCount)}e.sort(t)}function R(t,n){let r=e.createElement(`a`);return r.appendChild(e.createTextNode(`[x]`)),r.addEventListener(`click`,function(){t.removeColumn(n),E(t)},!1),r}function z(t,n){let r=e.createElement(`tr`),i=e.createElement(`th`);r.appendChild(i);for(let i=0;i<t.length;++i){let a=e.createElement(`th`),o=t[i];a.appendChild(e.createTextNode(o.getLabel())),n&&a.appendChild(R(n,o)),r.appendChild(a)}return r}function me(e,t,n,r){let i=t.getKey();if(e.sort(function(e,t){let a=null,o=null;i in e.values&&(a=e.values[i][0]),i in t.values&&(o=t.values[i][0]);let s=n(a,o);return r?-s:s}),e.length){let t=e[0]._htmlRow.parentNode;for(let n=0;n<e.length;++n)t.removeChild(e[n]._htmlRow);for(let n=0;n<e.length;++n)t.appendChild(e[n]._htmlRow)}}function B(e,t){let n=!0;for(let r=0;r<t.length;++r){let i=t[r],a=i.getKey(),o=null;if(a in e.values&&(o=e.values[a][0]),!i.filterFunction(o)){n=!1;break}}let r=e._htmlRow;n?r.style.display=``:r.style.display=`none`}function V(e,t){for(let n=0;n<e.length;++n){let r=e[n];B(r,t)}}function H(e,t,n){function i(e){return e?e.termType===`Literal`?e.value.toLowerCase():e.termType===`NamedNode`?r.label(e).toLowerCase():e.value.toLowerCase():``}function a(e,t){let n=i(e),r=i(t);return n<r?-1:+(n>r)}me(e,t,a,n)}function U(t,n,i){let a=e.createElement(`div`),o=e.createElement(`input`);o.setAttribute(`type`,`text`),o.style.width=`70%`,a.appendChild(o);let s=e.createElement(`span`);s.appendChild(e.createTextNode(`▼`)),s.addEventListener(`click`,function(){H(t,i,!1)},!1),a.appendChild(s);let c=e.createElement(`span`);c.appendChild(e.createTextNode(`▲`)),c.addEventListener(`click`,function(){H(t,i,!0)},!1),a.appendChild(c);let l=null;return i.filterFunction=function(e){if(!l)return!0;if(e){let t;return t=e.termType===`Literal`?e.value:e.termType===`NamedNode`?r.label(e):``,t.toLowerCase().indexOf(l)>=0}return!1},o.addEventListener(`keyup`,function(){l=o.value===``?null:o.value.toLowerCase(),V(t,n)},!1),a}function W(t,n,i,a){let o=e.createElement(`div`),s=e.createElement(`select`),c={};for(let e=0;e<a.length;++e){let t=a[e];c[t.uri]=!0}let l=q(i).initialSelection;l&&(c=l),s.setAttribute(`multiple`,`true`);for(let e=0;e<a.length;++e){let t=a[e],n=j(r.label(t),e);c[t.uri]&&(n.selected=!0),s.appendChild(n)}return o.appendChild(s),i.filterFunction=function(e){return!c||e&&c[e.uri]},s.addEventListener(`click`,function(){{c={};let e=s.options;for(let t=0;t<e.length;t++){let n=e[t],r=Number(n.value);e[t].selected&&(c[a[r].uri]=!0)}}V(t,n)},!0),o}function G(t,n,r){let i=e.createElement(`div`),a=e.createElement(`input`);a.setAttribute(`type`,`text`),a.style.width=`40px`,i.appendChild(a);let o=e.createElement(`input`);o.setAttribute(`type`,`text`),o.style.width=`40px`,i.appendChild(o);let s=null,c=null;r.filterFunction=function(e){return e&&=Number(e),!(s&&(!e||e<s)||c&&(!e||e>c))};function l(){s=a.value===``?null:Number(a.value),c=o.value===``?null:Number(o.value),V(t,n)}return a.addEventListener(`keyup`,l,!1),o.addEventListener(`keyup`,l,!1),i}function he(e,t,n){return n.checkedAnyValues&&n.possiblyNumber?G(e,t,n):n.possiblyLiteral?U(e,t,n):null}function ge(e,t,n){if(n.superClass&&n.alternatives.length>0)return W(e,t,n,n.alternatives);let r=n.getConstraints(),i;for(let a=0;a<r.length;a++){if(i=r[a],n.checkedAnyValues&&n.possiblyNumber||i.uri in m)return G(e,t,n);if(i.uri===`http://www.w3.org/2000/01/rdf-schema#Literal`)return U(e,t,n);let o=f.each(i,u.ns.owl(`oneOf`));if(o.length>0)return W(e,t,n,o.elements)}return he(e,t,n)}function _e(t,n){let r=e.createElement(`tr`);r.className=`selectors`,r.appendChild(e.createElement(`td`));for(let i=0;i<n.length;++i){let a=e.createElement(`td`),o=ge(t,n,n[i]);o&&a.appendChild(o),r.appendChild(a)}return r}function K(t,n,r){r||={};let o=e.createElement(`a`),s=r.linkFunction;return o.setAttribute(`href`,t),o.appendChild(e.createTextNode(n)),s?o.addEventListener(`click`,function(e){e.preventDefault(),e.stopPropagation();let t=i.getTarget(e).getAttribute(`href`);t||a.log(`No href found
2
- `),s(t)},!0):o.addEventListener(`click`,u.widgets.openHrefInOutlineMode,!0),o}function ve(e,t){let n=!1;return e.uri&&(n=e.uri.match(/^mailto:(.*)/)),n?K(e.uri,n[1],t):K(e.uri,r.label(e),t)}function ye(t){let n=e.createElement(`img`);return n.setAttribute(`src`,t.uri),n.style.height=`40px`,n}function q(e){return t&&t.hints&&e.variable&&t.hints[e.variable.toNT()]?t.hints[e.variable.toNT()]:{}}function J(t,n){let r=q(n),i=r.cellFormat;if(i)switch(i){case`shortDate`:return e.createTextNode(u.widgets.shortDate(t.value))}else if(t.termType===`Literal`){if(t.datatype){if(te[t.datatype.uri])return e.createTextNode(u.widgets.shortDate(t.value));if(m[t.datatype.uri]){let n=e.createElement(`span`);return n.textContent=t.value,n.setAttribute(`style`,`text-align: right`),n}}return e.createTextNode(t.value)}else if(t.termType===`NamedNode`&&n.isImageColumn())return ye(t);else if(t.termType===`NamedNode`||t.termType===`BlankNode`)return ve(t,r);else if(t.termType===`Collection`){let r=e.createElement(`span`);return r.appendChild(e.createTextNode(`[`)),t.elements.forEach(function(t){r.appendChild(J(t,n)),r.appendChild(e.createTextNode(`, `))}),r.removeChild(r.lastChild),r.appendChild(e.createTextNode(`]`)),r}else return e.createTextNode(`unknown termtype '`+t.termType+`'!`)}function be(t,n,r,i){let a=e.createElement(`td`);n._subject&&`uri`in n._subject&&a.appendChild(K(n._subject.uri,`→`)),t.appendChild(a);for(let i=0;i<r.length;++i){let a=r[i],o=e.createElement(`td`),s,c=a.getKey();if(c in n.values){let t=n.values[c],r=!1;n.originalValues&&n.originalValues[c]&&t.length!==n.originalValues[c].length&&(r=!0);for(let i=0;i<t.length;++i){let l=t[i];n.originalValues&&n.originalValues[c]&&n.originalValues[c].length>i&&(s=n.originalValues[c][i],l.toString()!==s.toString()&&(r=!0)),o.appendChild(J(l,a)),i!==t.length-1&&o.appendChild(e.createTextNode(`,
3
- `)),r&&(o.style.background=`#efe`)}}t.appendChild(o)}return n._htmlRow=t,t}function Y(e,t){let n=null;if(e.termType===`Literal`)n=`value`;else if(e.termType===`NamedNode`)n=`uri`;else return t.indexOf(e)>=0;let r=0;for(;r<t.length;++r)if(t[r].termType===e.termType&&t[r][n]===e[n])return!0;return!1}function xe(e,t,n){let r,i=!1;for(r in n){let t=n[r];r in e.values||(e.values[r]=[]),Y(t,e.values[r])||(e.values[r].push(t),i=!0)}i&&(D(e._htmlRow),be(e._htmlRow,e,t)),B(e,t)}function X(e){if(`uri`in e)return e.uri;if(`_subject_id`in e)return e._subject_id;{let t=``+g;return e._subject_id=t,++g,t}}function Z(n,r,i,o){n.running=!0;let s=Date.now(),c=e.createElement(`tr`);o.appendChild(c),c.textContent=`Loading ...`;for(let e=0;e<r.length;e++)r[e].original=!0,r[e].originalValues||(r[e].originalValues=r[e].values),r[e].values={};f.query(n,function(t){if(!n.running)return;c.textContent+=`.`;let a=null,s=null,l;if(h in t&&(s=t[h],l=X(s),l in p&&(a=p[l])),!a){let t=e.createElement(`tr`);o.appendChild(t),a={_htmlRow:t,_subject:s,values:{}},r.push(a),s&&(p[l]=a)}delete a.original,xe(a,i,t)},void 0,function(){c&&c.parentNode&&c.parentNode.removeChild&&(c.parentNode.removeChild(c),c=null);let e=Date.now()-s;a.log(`Query done: `+r.length+` rows, `+e+`ms`);for(let e=r.length-1;e>=0;e--)if(r[e].original){a.log(` deleting row `+r[e]._subject);let t=r[e]._htmlRow;t.parentNode.removeChild(t),delete p[X(r[e]._subject)],r.splice(e,1)}t.sortBy&&H(r,fe(i,t.sortBy),t.sortReverse),t.onDone&&t.onDone(C)})}function Q(e,t){u.log.debug(`>> processing formula`);for(let n=0;n<t.statements.length;++n){let r=t.statements[n];if(r.predicate.termType===`NamedNode`&&r.object.termType===`Variable`){let t=r.object.toString();t in e&&e[t].setPredicate(r.predicate,!1,r.subject)}if(r.predicate.termType===`NamedNode`&&r.subject.termType===`Variable`){let t=r.subject.toString();t in e&&e[t].setPredicate(r.predicate,!0,r.object)}}for(let n=0;n<t.optional.length;++n)u.log.debug(`recurse to optional subformula `+n),Q(e,t.optional[n]);u.log.debug(`<< finished processing formula`)}function Se(e){let t=[],n={};for(let r=0;r<e.vars.length;++r){let i=new k,a=e.vars[r];u.log.debug(`column `+r+` : `+a),i.setVariable(a),n[a]=i,t.push(i)}return Q(n,e.pat),t}function $(t,n){let r;r=s?Se(t):n.getColumns();let i=[],a=e.createElement(`table`);return a.appendChild(z(r,n)),a.appendChild(_e(i,r)),a.logicalRows=i,a.columns=r,a.query=t,Z(t,i,r,a),a}function Ce(e){let t=-1,n=null,r;for(r in e){let i=e[r];i.useCount>t&&(n=i,t=i.useCount)}return n}}exports.renderTableViewPane=d;
1
+ const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./debug.cjs.js"),n=require("./iconBase.cjs.js"),r=require("../utils/label.cjs.js"),i=require("./log.cjs.js"),a=require("./ns.cjs.js"),o=require("../utils/index.cjs.js"),s=require("../widgets/index.cjs.js");let c=require("rdflib");c=e.__toESM(c);let l=require("solid-logic");var u={icons:n.icons,log:i.log_exports,ns:a.default,utils:o.utils_exports,widgets:s.widgets_exports};function d(e,n){let i=n.sourceDocument,a=n.tableClass,s=n.query,d=u.ns,f=l.store,p={},ee={"http://www.w3.org/2002/07/owl#sameAs":!0,"http://www.w3.org/1999/02/22-rdf-syntax-ns#type":!0},m={"http://www.w3.org/2001/XMLSchema#decimal":!0,"http://www.w3.org/2001/XMLSchema#float":!0,"http://www.w3.org/2001/XMLSchema#double":!0,"http://www.w3.org/2001/XMLSchema#integer":!0,"http://www.w3.org/2001/XMLSchema#nonNegativeInteger":!0,"http://www.w3.org/2001/XMLSchema#positiveInteger":!0,"http://www.w3.org/2001/XMLSchema#nonPositiveInteger":!0,"http://www.w3.org/2001/XMLSchema#negativeInteger":!0,"http://www.w3.org/2001/XMLSchema#long":!0,"http://www.w3.org/2001/XMLSchema#int":!0,"http://www.w3.org/2001/XMLSchema#short":!0,"http://www.w3.org/2001/XMLSchema#byte":!0,"http://www.w3.org/2001/XMLSchema#unsignedLong":!0,"http://www.w3.org/2001/XMLSchema#unsignedInt":!0,"http://www.w3.org/2001/XMLSchema#unsignedShort":!0,"http://www.w3.org/2001/XMLSchema#unsignedByte":!0},te={"http://www.w3.org/2001/XMLSchema#dateTime":!0,"http://www.w3.org/2001/XMLSchema#date":!0},ne={"http://xmlns.com/foaf/0.1/Image":!0,"http://purl.org/dc/terms/Image":!0},h=n.keyVariable||`?_row`,g=0,_,v,y,b,x=null,S=null,C=e.createElement(`div`);C.className=`tableViewPane`,C.appendChild(re());let w=e.createElement(`div`);C.appendChild(w),C.refresh=function(){Z(T.query,T.logicalRows,T.columns,T)};let T;if(s)T=$(s),w.appendChild(T);else{let e=I();_=e[0],v=e[1],a||y.appendChild(le(_,v)),S=Ce(v),E(S||_)}return C;function re(){let t=e.createElement(`table`);t.setAttribute(`class`,`toolbar`);let n=e.createElement(`tr`);return y=e.createElement(`td`),n.appendChild(y),b=e.createElement(`td`),n.appendChild(b),t.appendChild(n),t}function ie(e,t){let n=t.getColumns();for(let t=0;t<n.length;++t){let r=f.variable(`_col`+t);e.vars.push(r),n[t].setVariable(r)}}function ae(e,t,n){let r=n.type;r||=f.variable(`_any`),e.pat.add(t,u.ns.rdf(`type`),r)}function oe(e,t,n){let r=n.getColumns();for(let n=0;n<r.length;++n){let i=r[n],a=f.formula();a.add(t,i.predicate,i.getVariable()),e.pat.optional.push(a)}}function se(e){let t=new c.Query,n=f.variable(h.slice(1));return ie(t,e),ae(t,n,e),oe(t,n,e),t}function E(e){D(b),b.appendChild(de(e)),ce(se(e),e)}function ce(e,t){x&&(x.running=!1);let n=$(e,t);D(w),w.appendChild(n),x=e}function D(e){for(;e.childNodes.length>0;)e.removeChild(e.childNodes[0])}function O(e){this.type=e,this.columns=null,this.allColumns=[],this.useCount=0,this.getAllColumns=function(){return this.allColumns},this.getColumns=function(){if(!this.columns){let e=this.getAllColumns();this.columns=e.slice(0,7)}return this.columns},this.getUnusedColumns=function(){let e=this.getAllColumns(),t=this.getColumns(),n=[];for(let r=0;r<e.length;++r)t.indexOf(e[r])===-1&&n.push(e[r]);return n},this.addColumn=function(e){this.columns.push(e)},this.removeColumn=function(e){this.columns=this.columns.filter(function(t){return t!==e})},this.getLabel=function(){return r.label(this.type)},this.addUse=function(){this.useCount+=1}}function k(){this.useCount=0,this.checkedAnyValues=!1,this.possiblyLiteral=!0,this.possiblyNumber=!0,this.constraints=[],this.checkValue=function(e){let t=e.termType;this.possiblyLiteral&&t!==`Literal`&&t!==`NamedNode`?(this.possiblyNumber=!1,this.possiblyLiteral=!1):this.possiblyNumber&&(t===`Literal`&&e.value.match(/^-?\d+(\.\d*)?$/)||(this.possiblyNumber=!1)),this.checkedAnyValues=!0},this.getVariable=function(){return this.variable},this.setVariable=function(e){this.variable=e},this.getKey=function(){return this.variable.toString()},this.addUse=function(){this.useCount+=1},this.getHints=function(){return n&&n.hints&&this.variable&&n.hints[this.variable.toNT()]?n.hints[this.variable.toNT()]:{}},this.getLabel=function(){return this.getHints().label?this.getHints().label:this.predicate?this.predicate.sameTerm(d.rdf(`type`))&&this.superClass?r.label(this.superClass,!0):r.label(this.predicate):this.variable?this.variable.toString():`unlabeled column?`},this.setPredicate=function(e,t,n){t?(this.inverse=e,this.constraints=this.constraints.concat(f.each(e,u.ns.rdfs(`domain`))),e.sameTerm(d.rdfs(`subClassOf`))&&n.termType===`NamedNode`&&(this.superClass=n,this.alternatives=f.each(void 0,d.rdfs(`subClassOf`),n))):(this.predicate=e,this.constraints=this.constraints.concat(f.each(e,u.ns.rdfs(`range`))))},this.getConstraints=function(){return this.constraints},this.filterFunction=function(){return!0},this.sortKey=function(){return this.getLabel().toLowerCase()},this.isImageColumn=function(){for(let e=0;e<this.constraints.length;e++)if(this.constraints[e].uri in ne)return!0;return!1}}function A(e,t){let n=[];for(let r in e){let i=e[r];(!t||t(r,i))&&n.push(i)}return n}function j(t,n){let r=e.createElement(`option`);return r.setAttribute(`value`,n),r.appendChild(e.createTextNode(t)),r}function le(t,n){let r=e.createElement(`div`);r.appendChild(e.createTextNode(`Select type: `));let i=e.createElement(`select`);i.appendChild(j(`All types`,`null`));for(let e in n)i.appendChild(j(n[e].getLabel(),e));return i.addEventListener(`click`,function(){let e;e=i.value===`null`?t:n[i.value],ue(e)},!1),r.appendChild(i),r}function ue(e){E(e)}function de(t){let n=e.createElement(`div`),r=t.getUnusedColumns();if(r.sort(function(e,t){let n=e.sortKey(),r=t.sortKey();return(n>r)-(n<r)}),r.length>0){n.appendChild(e.createTextNode(`Add column: `));let i=e.createElement(`select`);i.appendChild(j(``,`-1`));for(let e=0;e<r.length;++e){let t=r[e];i.appendChild(j(t.getLabel(),``+e))}n.appendChild(i),i.addEventListener(`click`,function(){let e=Number(i.value);e>=0&&(t.addColumn(r[e]),E(t))},!1)}return n}function fe(e,t){for(let n in e){let r=e[n];if(r.variable.toNT()===t)return r}throw Error(`getColumnForVariable: no column for variable ${t}`)}function pe(e,t){let n;return t.uri in e?n=e[t.uri]:(n=new k,n.setPredicate(t),e[t.uri]=n),n}function M(e,t){let n;return t.uri in e?n=e[t.uri]:(n=new O(t),e[t.uri]=n),n}function N(){let e={},t=f.statementsMatching(void 0,u.ns.rdf(`type`),a,i),n={};for(let r=0;r<t.length;++r){let i=t[r].object;if(i.termType!==`NamedNode`)continue;let a=M(e,i);i.uri in n||(n[i.uri]=[]),n[i.uri].push(t[r].subject),a.addUse()}return[n,e]}function P(e,t){let n=f.statementsMatching(e,void 0,void 0,i),r={};for(let e=0;e<n.length;++e){let i=n[e].predicate;if(i.uri in ee)continue;let a=pe(t,i);a.checkValue(n[e].object),r[i.uri]=a}return r}function F(e,t){let n={};for(let e=0;e<t.length;++e){let r=P(t[e],n);for(let e in r)r[e].addUse()}let r=A(n);L(r),e.allColumns=r}function I(){let e,t,n=N();e=n[0],t=n[1];for(let n in e){let r=e[n],i=t[n];F(i,r)}return[new O(null),A(t)]}function L(e){function t(e,t){return(e.useCount<t.useCount)-(e.useCount>t.useCount)}e.sort(t)}function R(t,n){let r=e.createElement(`a`);return r.appendChild(e.createTextNode(`[x]`)),r.addEventListener(`click`,function(){t.removeColumn(n),E(t)},!1),r}function z(t,n){let r=e.createElement(`tr`),i=e.createElement(`th`);r.appendChild(i);for(let i=0;i<t.length;++i){let a=e.createElement(`th`),o=t[i];a.appendChild(e.createTextNode(o.getLabel())),n&&a.appendChild(R(n,o)),r.appendChild(a)}return r}function me(e,t,n,r){let i=t.getKey();if(e.sort(function(e,t){let a=null,o=null;i in e.values&&(a=e.values[i][0]),i in t.values&&(o=t.values[i][0]);let s=n(a,o);return r?-s:s}),e.length){let t=e[0]._htmlRow.parentNode;for(let n=0;n<e.length;++n)t.removeChild(e[n]._htmlRow);for(let n=0;n<e.length;++n)t.appendChild(e[n]._htmlRow)}}function B(e,t){let n=!0;for(let r=0;r<t.length;++r){let i=t[r],a=i.getKey(),o=null;if(a in e.values&&(o=e.values[a][0]),!i.filterFunction(o)){n=!1;break}}let r=e._htmlRow;n?r.style.display=``:r.style.display=`none`}function V(e,t){for(let n=0;n<e.length;++n){let r=e[n];B(r,t)}}function H(e,t,n){function i(e){return e?e.termType===`Literal`?e.value.toLowerCase():e.termType===`NamedNode`?r.label(e).toLowerCase():e.value.toLowerCase():``}function a(e,t){let n=i(e),r=i(t);return n<r?-1:+(n>r)}me(e,t,a,n)}function U(t,n,i){let a=e.createElement(`div`),o=e.createElement(`input`);o.setAttribute(`type`,`text`),o.style.width=`70%`,a.appendChild(o);let s=e.createElement(`span`);s.appendChild(e.createTextNode(`▼`)),s.addEventListener(`click`,function(){H(t,i,!1)},!1),a.appendChild(s);let c=e.createElement(`span`);c.appendChild(e.createTextNode(`▲`)),c.addEventListener(`click`,function(){H(t,i,!0)},!1),a.appendChild(c);let l=null;return i.filterFunction=function(e){if(!l)return!0;if(e){let t;return t=e.termType===`Literal`?e.value:e.termType===`NamedNode`?r.label(e):``,t.toLowerCase().indexOf(l)>=0}return!1},o.addEventListener(`keyup`,function(){l=o.value===``?null:o.value.toLowerCase(),V(t,n)},!1),a}function W(t,n,i,a){let o=e.createElement(`div`),s=e.createElement(`select`),c={};for(let e=0;e<a.length;++e){let t=a[e];c[t.uri]=!0}let l=q(i).initialSelection;l&&(c=l),s.setAttribute(`multiple`,`true`);for(let e=0;e<a.length;++e){let t=a[e],n=j(r.label(t),e);c[t.uri]&&(n.selected=!0),s.appendChild(n)}return o.appendChild(s),i.filterFunction=function(e){return!c||e&&c[e.uri]},s.addEventListener(`click`,function(){{c={};let e=s.options;for(let t=0;t<e.length;t++){let n=e[t],r=Number(n.value);e[t].selected&&(c[a[r].uri]=!0)}}V(t,n)},!0),o}function G(t,n,r){let i=e.createElement(`div`),a=e.createElement(`input`);a.setAttribute(`type`,`text`),a.style.width=`40px`,i.appendChild(a);let o=e.createElement(`input`);o.setAttribute(`type`,`text`),o.style.width=`40px`,i.appendChild(o);let s=null,c=null;r.filterFunction=function(e){return e&&=Number(e),!(s&&(!e||e<s)||c&&(!e||e>c))};function l(){s=a.value===``?null:Number(a.value),c=o.value===``?null:Number(o.value),V(t,n)}return a.addEventListener(`keyup`,l,!1),o.addEventListener(`keyup`,l,!1),i}function he(e,t,n){return n.checkedAnyValues&&n.possiblyNumber?G(e,t,n):n.possiblyLiteral?U(e,t,n):null}function ge(e,t,n){if(n.superClass&&n.alternatives.length>0)return W(e,t,n,n.alternatives);let r=n.getConstraints(),i;for(let a=0;a<r.length;a++){if(i=r[a],n.checkedAnyValues&&n.possiblyNumber||i.uri in m)return G(e,t,n);if(i.uri===`http://www.w3.org/2000/01/rdf-schema#Literal`)return U(e,t,n);let o=f.each(i,u.ns.owl(`oneOf`));if(o.length>0)return W(e,t,n,o.elements)}return he(e,t,n)}function _e(t,n){let r=e.createElement(`tr`);r.className=`selectors`,r.appendChild(e.createElement(`td`));for(let i=0;i<n.length;++i){let a=e.createElement(`td`),o=ge(t,n,n[i]);o&&a.appendChild(o),r.appendChild(a)}return r}function K(n,r,i){i||={};let a=e.createElement(`a`),s=i.linkFunction;return a.setAttribute(`href`,n),a.appendChild(e.createTextNode(r)),s?a.addEventListener(`click`,function(e){e.preventDefault(),e.stopPropagation();let n=o.getTarget(e).getAttribute(`href`);n||t.log(`No href found
2
+ `),s(n)},!0):a.addEventListener(`click`,u.widgets.openHrefInOutlineMode,!0),a}function ve(e,t){let n=!1;return e.uri&&(n=e.uri.match(/^mailto:(.*)/)),n?K(e.uri,n[1],t):K(e.uri,r.label(e),t)}function ye(t){let n=e.createElement(`img`);return n.setAttribute(`src`,t.uri),n.style.height=`40px`,n}function q(e){return n&&n.hints&&e.variable&&n.hints[e.variable.toNT()]?n.hints[e.variable.toNT()]:{}}function J(t,n){let r=q(n),i=r.cellFormat;if(i)switch(i){case`shortDate`:return e.createTextNode(u.widgets.shortDate(t.value))}else if(t.termType===`Literal`){if(t.datatype){if(te[t.datatype.uri])return e.createTextNode(u.widgets.shortDate(t.value));if(m[t.datatype.uri]){let n=e.createElement(`span`);return n.textContent=t.value,n.setAttribute(`style`,`text-align: right`),n}}return e.createTextNode(t.value)}else if(t.termType===`NamedNode`&&n.isImageColumn())return ye(t);else if(t.termType===`NamedNode`||t.termType===`BlankNode`)return ve(t,r);else if(t.termType===`Collection`){let r=e.createElement(`span`);return r.appendChild(e.createTextNode(`[`)),t.elements.forEach(function(t){r.appendChild(J(t,n)),r.appendChild(e.createTextNode(`, `))}),r.removeChild(r.lastChild),r.appendChild(e.createTextNode(`]`)),r}else return e.createTextNode(`unknown termtype '`+t.termType+`'!`)}function be(t,n,r,i){let a=e.createElement(`td`);n._subject&&`uri`in n._subject&&a.appendChild(K(n._subject.uri,`→`)),t.appendChild(a);for(let i=0;i<r.length;++i){let a=r[i],o=e.createElement(`td`),s,c=a.getKey();if(c in n.values){let t=n.values[c],r=!1;n.originalValues&&n.originalValues[c]&&t.length!==n.originalValues[c].length&&(r=!0);for(let i=0;i<t.length;++i){let l=t[i];n.originalValues&&n.originalValues[c]&&n.originalValues[c].length>i&&(s=n.originalValues[c][i],l.toString()!==s.toString()&&(r=!0)),o.appendChild(J(l,a)),i!==t.length-1&&o.appendChild(e.createTextNode(`,
3
+ `)),r&&(o.style.background=`#efe`)}}t.appendChild(o)}return n._htmlRow=t,t}function Y(e,t){let n=null;if(e.termType===`Literal`)n=`value`;else if(e.termType===`NamedNode`)n=`uri`;else return t.indexOf(e)>=0;let r=0;for(;r<t.length;++r)if(t[r].termType===e.termType&&t[r][n]===e[n])return!0;return!1}function xe(e,t,n){let r,i=!1;for(r in n){let t=n[r];r in e.values||(e.values[r]=[]),Y(t,e.values[r])||(e.values[r].push(t),i=!0)}i&&(D(e._htmlRow),be(e._htmlRow,e,t)),B(e,t)}function X(e){if(`uri`in e)return e.uri;if(`_subject_id`in e)return e._subject_id;{let t=``+g;return e._subject_id=t,++g,t}}function Z(r,i,a,o){r.running=!0;let s=Date.now(),c=e.createElement(`tr`);o.appendChild(c),c.textContent=`Loading ...`;for(let e=0;e<i.length;e++)i[e].original=!0,i[e].originalValues||(i[e].originalValues=i[e].values),i[e].values={};f.query(r,function(t){if(!r.running)return;c.textContent+=`.`;let n=null,s=null,l;if(h in t&&(s=t[h],l=X(s),l in p&&(n=p[l])),!n){let t=e.createElement(`tr`);o.appendChild(t),n={_htmlRow:t,_subject:s,values:{}},i.push(n),s&&(p[l]=n)}delete n.original,xe(n,a,t)},void 0,function(){c&&c.parentNode&&c.parentNode.removeChild&&(c.parentNode.removeChild(c),c=null);let e=Date.now()-s;t.log(`Query done: `+i.length+` rows, `+e+`ms`);for(let e=i.length-1;e>=0;e--)if(i[e].original){t.log(` deleting row `+i[e]._subject);let n=i[e]._htmlRow;n.parentNode.removeChild(n),delete p[X(i[e]._subject)],i.splice(e,1)}n.sortBy&&H(i,fe(a,n.sortBy),n.sortReverse),n.onDone&&n.onDone(C)})}function Q(e,t){u.log.debug(`>> processing formula`);for(let n=0;n<t.statements.length;++n){let r=t.statements[n];if(r.predicate.termType===`NamedNode`&&r.object.termType===`Variable`){let t=r.object.toString();t in e&&e[t].setPredicate(r.predicate,!1,r.subject)}if(r.predicate.termType===`NamedNode`&&r.subject.termType===`Variable`){let t=r.subject.toString();t in e&&e[t].setPredicate(r.predicate,!0,r.object)}}for(let n=0;n<t.optional.length;++n)u.log.debug(`recurse to optional subformula `+n),Q(e,t.optional[n]);u.log.debug(`<< finished processing formula`)}function Se(e){let t=[],n={};for(let r=0;r<e.vars.length;++r){let i=new k,a=e.vars[r];u.log.debug(`column `+r+` : `+a),i.setVariable(a),n[a]=i,t.push(i)}return Q(n,e.pat),t}function $(t,n){let r;r=s?Se(t):n.getColumns();let i=[],a=e.createElement(`table`);return a.appendChild(z(r,n)),a.appendChild(_e(i,r)),a.logicalRows=i,a.columns=r,a.query=t,Z(t,i,r,a),a}function Ce(e){let t=-1,n=null,r;for(r in e){let i=e[r];i.useCount>t&&(n=i,t=i.useCount)}return n}}exports.renderTableViewPane=d;
4
4
  //# sourceMappingURL=table.cjs.js.map