solid-panes 3.7.2 → 3.7.3-125af630

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 (354) hide show
  1. package/dist/dashboard/basicPreferences.js +155 -0
  2. package/dist/dashboard/basicPreferences.js.map +1 -0
  3. package/dist/dashboard/dashboardPane.js +63 -0
  4. package/dist/dashboard/dashboardPane.js.map +1 -0
  5. package/dist/dashboard/homepage.js +63 -0
  6. package/dist/dashboard/homepage.js.map +1 -0
  7. package/dist/home/homePane.js +68 -0
  8. package/dist/home/homePane.js.map +1 -0
  9. package/dist/index.js +48 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/internal/internalPane.js +195 -0
  12. package/dist/internal/internalPane.js.map +1 -0
  13. package/dist/mainPage/footer.js +16 -0
  14. package/dist/mainPage/footer.js.map +1 -0
  15. package/dist/mainPage/header.js +84 -0
  16. package/dist/mainPage/header.js.map +1 -0
  17. package/{lib → dist}/mainPage/index.d.ts.map +1 -1
  18. package/dist/mainPage/index.js +30 -0
  19. package/dist/mainPage/index.js.map +1 -0
  20. package/dist/outline/context.js +13 -0
  21. package/dist/outline/context.js.map +1 -0
  22. package/dist/outline/propertyViews.js +33 -0
  23. package/dist/outline/propertyViews.js.map +1 -0
  24. package/dist/outline/viewAsImage.js +7 -0
  25. package/dist/outline/viewAsImage.js.map +1 -0
  26. package/{lib → dist}/outline/viewAsMbox.js +4 -14
  27. package/dist/outline/viewAsMbox.js.map +1 -0
  28. package/dist/pad/padPane.js +420 -0
  29. package/dist/pad/padPane.js.map +1 -0
  30. package/dist/sharing/sharingPane.js +45 -0
  31. package/dist/sharing/sharingPane.js.map +1 -0
  32. package/dist/tabbed/tabbedPane.js +55 -0
  33. package/dist/tabbed/tabbedPane.js.map +1 -0
  34. package/dist/trustedApplications/trustedApplications.dom.js +158 -0
  35. package/dist/trustedApplications/trustedApplications.dom.js.map +1 -0
  36. package/dist/trustedApplications/trustedApplications.utils.js +24 -0
  37. package/dist/trustedApplications/trustedApplications.utils.js.map +1 -0
  38. package/dist/trustedApplications/trustedApplications.view.js +62 -0
  39. package/dist/trustedApplications/trustedApplications.view.js.map +1 -0
  40. package/dist/types.js +2 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/versionInfo.js +31 -0
  43. package/dist/versionInfo.js.map +1 -0
  44. package/package.json +34 -22
  45. package/Documentation/VisualLanguage.html +0 -538
  46. package/Documentation/conventions.md +0 -333
  47. package/coverage/clover.xml +0 -152
  48. package/coverage/coverage-final.json +0 -6
  49. package/coverage/lcov-report/base.css +0 -224
  50. package/coverage/lcov-report/block-navigation.js +0 -87
  51. package/coverage/lcov-report/favicon.png +0 -0
  52. package/coverage/lcov-report/index.html +0 -131
  53. package/coverage/lcov-report/outline/index.html +0 -161
  54. package/coverage/lcov-report/outline/outlineIcons.js.html +0 -565
  55. package/coverage/lcov-report/outline/propertyViews.ts.html +0 -196
  56. package/coverage/lcov-report/outline/viewAsImage.ts.html +0 -121
  57. package/coverage/lcov-report/outline/viewAsMbox.ts.html +0 -127
  58. package/coverage/lcov-report/prettify.css +0 -1
  59. package/coverage/lcov-report/prettify.js +0 -2
  60. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  61. package/coverage/lcov-report/sorter.js +0 -210
  62. package/coverage/lcov-report/trustedApplications/index.html +0 -116
  63. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +0 -238
  64. package/coverage/lcov.info +0 -204
  65. package/dev/index.html +0 -28
  66. package/dev/loader.ts +0 -91
  67. package/dev/pane/index.ts +0 -10
  68. package/doc/images/panes-for-classes.epgz +0 -0
  69. package/doc/images/panes-for-classes.svg +0 -609
  70. package/eslint.config.mjs +0 -34
  71. package/jest.config.js +0 -27
  72. package/jest.setup.ts +0 -4
  73. package/lib/RDFXMLPane.js +0 -59
  74. package/lib/RDFXMLPane.js.map +0 -1
  75. package/lib/argument/argumentPane.js +0 -62
  76. package/lib/argument/argumentPane.js.map +0 -1
  77. package/lib/attach/attachPane.js +0 -404
  78. package/lib/attach/attachPane.js.map +0 -1
  79. package/lib/audio/audioPane.js +0 -183
  80. package/lib/audio/audioPane.js.map +0 -1
  81. package/lib/classInstancePane.js +0 -93
  82. package/lib/classInstancePane.js.map +0 -1
  83. package/lib/dashboard/basicPreferences.js +0 -229
  84. package/lib/dashboard/basicPreferences.js.map +0 -1
  85. package/lib/dashboard/dashboardPane.js +0 -73
  86. package/lib/dashboard/dashboardPane.js.map +0 -1
  87. package/lib/dashboard/homepage.js +0 -86
  88. package/lib/dashboard/homepage.js.map +0 -1
  89. package/lib/dataContentPane.js +0 -259
  90. package/lib/dataContentPane.js.map +0 -1
  91. package/lib/defaultPane.js +0 -76
  92. package/lib/defaultPane.js.map +0 -1
  93. package/lib/dokieli/dokieliPane.js +0 -173
  94. package/lib/dokieli/dokieliPane.js.map +0 -1
  95. package/lib/dokieli/new.js +0 -9
  96. package/lib/dokieli/new.js.map +0 -1
  97. package/lib/form/pane.js +0 -186
  98. package/lib/form/pane.js.map +0 -1
  99. package/lib/global.d.js +0 -2
  100. package/lib/global.d.js.map +0 -1
  101. package/lib/home/homePane.js +0 -91
  102. package/lib/home/homePane.js.map +0 -1
  103. package/lib/humanReadablePane.js +0 -138
  104. package/lib/humanReadablePane.js.map +0 -1
  105. package/lib/imagePane.js +0 -71
  106. package/lib/imagePane.js.map +0 -1
  107. package/lib/index.js +0 -112
  108. package/lib/index.js.map +0 -1
  109. package/lib/internal/internalPane.js +0 -184
  110. package/lib/internal/internalPane.js.map +0 -1
  111. package/lib/mainPage/footer.js +0 -22
  112. package/lib/mainPage/footer.js.map +0 -1
  113. package/lib/mainPage/header.js +0 -152
  114. package/lib/mainPage/header.js.map +0 -1
  115. package/lib/mainPage/index.js +0 -42
  116. package/lib/mainPage/index.js.map +0 -1
  117. package/lib/microblogPane/microblogPane.js +0 -1032
  118. package/lib/microblogPane/microblogPane.js.map +0 -1
  119. package/lib/n3Pane.js +0 -57
  120. package/lib/n3Pane.js.map +0 -1
  121. package/lib/outline/context.js +0 -19
  122. package/lib/outline/context.js.map +0 -1
  123. package/lib/outline/manager.js +0 -2264
  124. package/lib/outline/manager.js.map +0 -1
  125. package/lib/outline/manager.test.d.ts +0 -2
  126. package/lib/outline/manager.test.d.ts.map +0 -1
  127. package/lib/outline/manager.test.js +0 -210
  128. package/lib/outline/manager.test.js.map +0 -1
  129. package/lib/outline/outlineIcons.js +0 -128
  130. package/lib/outline/outlineIcons.js.map +0 -1
  131. package/lib/outline/propertyViews.js +0 -44
  132. package/lib/outline/propertyViews.js.map +0 -1
  133. package/lib/outline/propertyViews.test.d.ts +0 -2
  134. package/lib/outline/propertyViews.test.d.ts.map +0 -1
  135. package/lib/outline/propertyViews.test.js +0 -27
  136. package/lib/outline/propertyViews.test.js.map +0 -1
  137. package/lib/outline/queryByExample.js +0 -286
  138. package/lib/outline/queryByExample.js.map +0 -1
  139. package/lib/outline/userInput.js +0 -1817
  140. package/lib/outline/userInput.js.map +0 -1
  141. package/lib/outline/viewAsImage.js +0 -17
  142. package/lib/outline/viewAsImage.js.map +0 -1
  143. package/lib/outline/viewAsMbox.js.map +0 -1
  144. package/lib/pad/padPane.js +0 -417
  145. package/lib/pad/padPane.js.map +0 -1
  146. package/lib/playlist/playlistPane.js +0 -125
  147. package/lib/playlist/playlistPane.js.map +0 -1
  148. package/lib/registerPanes.js +0 -146
  149. package/lib/registerPanes.js.map +0 -1
  150. package/lib/schedule/formsForSchedule.js +0 -8
  151. package/lib/schedule/formsForSchedule.js.map +0 -1
  152. package/lib/schedule/schedulePane.js +0 -895
  153. package/lib/schedule/schedulePane.js.map +0 -1
  154. package/lib/sharing/sharingPane.js +0 -49
  155. package/lib/sharing/sharingPane.js.map +0 -1
  156. package/lib/slideshow/slideshowPane.js +0 -84
  157. package/lib/slideshow/slideshowPane.js.map +0 -1
  158. package/lib/socialPane.js +0 -431
  159. package/lib/socialPane.js.map +0 -1
  160. package/lib/tabbed/tabbedPane.js +0 -72
  161. package/lib/tabbed/tabbedPane.js.map +0 -1
  162. package/lib/tableViewPane.js +0 -58
  163. package/lib/tableViewPane.js.map +0 -1
  164. package/lib/test-import-export/common.js +0 -12
  165. package/lib/test-import-export/common.js.map +0 -1
  166. package/lib/test-import-export/edit-importer.js +0 -25
  167. package/lib/test-import-export/edit-importer.js.map +0 -1
  168. package/lib/test-import-export/testImportExport.js +0 -2
  169. package/lib/test-import-export/testImportExport.js.map +0 -1
  170. package/lib/transaction/pane.js +0 -479
  171. package/lib/transaction/pane.js.map +0 -1
  172. package/lib/transaction/period.js +0 -325
  173. package/lib/transaction/period.js.map +0 -1
  174. package/lib/trip/tripPane.js +0 -176
  175. package/lib/trip/tripPane.js.map +0 -1
  176. package/lib/trustedApplications/trustedApplications.dom.js +0 -177
  177. package/lib/trustedApplications/trustedApplications.dom.js.map +0 -1
  178. package/lib/trustedApplications/trustedApplications.test.d.ts +0 -2
  179. package/lib/trustedApplications/trustedApplications.test.d.ts.map +0 -1
  180. package/lib/trustedApplications/trustedApplications.test.js +0 -64
  181. package/lib/trustedApplications/trustedApplications.test.js.map +0 -1
  182. package/lib/trustedApplications/trustedApplications.utils.js +0 -34
  183. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -1
  184. package/lib/trustedApplications/trustedApplications.view.js +0 -87
  185. package/lib/trustedApplications/trustedApplications.view.js.map +0 -1
  186. package/lib/types.js +0 -6
  187. package/lib/types.js.map +0 -1
  188. package/lib/ui/pane.js +0 -148
  189. package/lib/ui/pane.js.map +0 -1
  190. package/lib/versionInfo.d.ts +0 -34
  191. package/lib/versionInfo.d.ts.map +0 -1
  192. package/lib/versionInfo.js +0 -39
  193. package/lib/versionInfo.js.map +0 -1
  194. package/lib/video/videoPane.js +0 -44
  195. package/lib/video/videoPane.js.map +0 -1
  196. package/src/RDFXMLPane.js +0 -60
  197. package/src/argument/argumentPane.js +0 -65
  198. package/src/argument/argument_icon_v04.jpg +0 -0
  199. package/src/argument/icon_argument.png +0 -0
  200. package/src/argument/transparentyingyang.png +0 -0
  201. package/src/attach/attachPane.js +0 -508
  202. package/src/attach/tbl-paperclip-128.png +0 -0
  203. package/src/attach/tbl-paperclip-22.png +0 -0
  204. package/src/attach/tbl-paperclip-22a.png +0 -0
  205. package/src/audio/audioPane.js +0 -197
  206. package/src/chatPreferencesForm.ttl +0 -12
  207. package/src/classInstancePane.js +0 -110
  208. package/src/dashboard/basicPreferences.ts +0 -201
  209. package/src/dashboard/dashboardPane.ts +0 -83
  210. package/src/dashboard/homepage.ts +0 -72
  211. package/src/dashboard/languages/codes.html +0 -8611
  212. package/src/dashboard/languages/codes.xml +0 -3563
  213. package/src/dashboard/languages/codes2.txt +0 -170
  214. package/src/dashboard/languages/foo +0 -70
  215. package/src/dashboard/languages/foo.ttl +0 -0
  216. package/src/dashboard/languages/get-language-names.sh +0 -12
  217. package/src/dashboard/ontologyData.ttl +0 -35
  218. package/src/dashboard/preferencesFormText.ttl +0 -18
  219. package/src/dataContentPane.js +0 -290
  220. package/src/defaultPane.js +0 -102
  221. package/src/dokieli/Makefile +0 -6
  222. package/src/dokieli/dokieliPane.js +0 -190
  223. package/src/dokieli/new.html +0 -30
  224. package/src/dokieli/new.js +0 -22
  225. package/src/form/form-22.png +0 -0
  226. package/src/form/form-b-22.png +0 -0
  227. package/src/form/form.graffle +0 -0
  228. package/src/form/form.png +0 -0
  229. package/src/form/pane.js +0 -217
  230. package/src/form/psuedocode-notes.txt +0 -57
  231. package/src/global.d.ts +0 -4
  232. package/src/home/homePane.ts +0 -72
  233. package/src/humanReadablePane.js +0 -150
  234. package/src/imagePane.js +0 -75
  235. package/src/index.ts +0 -71
  236. package/src/internal/internalPane.ts +0 -263
  237. package/src/mainPage/footer.ts +0 -19
  238. package/src/mainPage/header.ts +0 -79
  239. package/src/mainPage/index.ts +0 -20
  240. package/src/meeting/Makefile +0 -3
  241. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -14
  242. package/src/meeting/test/meeting1/Actions/config.ttl +0 -16
  243. package/src/meeting/test/meeting1/Actions/state.ttl +0 -30
  244. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -34
  245. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -20
  246. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -75
  247. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -20
  248. package/src/meeting/test/meeting1/Schedule/index.html +0 -72
  249. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -20
  250. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -15
  251. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -20
  252. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -23
  253. package/src/meeting/test/meeting1/chat/chat.ttl +0 -1
  254. package/src/meeting/test/meeting1/details.ttl +0 -35
  255. package/src/meeting/test/meeting1/pad/pad.ttl +0 -16
  256. package/src/microblogPane/mbStyle.css +0 -267
  257. package/src/microblogPane/microblogPane.js +0 -1412
  258. package/src/n3Pane.js +0 -56
  259. package/src/outline/context.ts +0 -21
  260. package/src/outline/manager.js +0 -2384
  261. package/src/outline/manager.test.ts +0 -189
  262. package/src/outline/outlineIcons.js +0 -160
  263. package/src/outline/propertyViews.test.ts +0 -36
  264. package/src/outline/propertyViews.ts +0 -37
  265. package/src/outline/queryByExample.js +0 -296
  266. package/src/outline/userInput.js +0 -2373
  267. package/src/outline/viewAsImage.ts +0 -12
  268. package/src/outline/viewAsMbox.ts +0 -14
  269. package/src/pad/images/ColourOff.ai +2 -872
  270. package/src/pad/images/ColourOff.png +0 -0
  271. package/src/pad/images/ColourOn.ai +1 -935
  272. package/src/pad/images/ColourOn.png +0 -0
  273. package/src/pad/padPane.ts +0 -559
  274. package/src/playlist/playlistPane.js +0 -161
  275. package/src/registerPanes.js +0 -147
  276. package/src/schedule/Makefile +0 -6
  277. package/src/schedule/formsForSchedule.js +0 -117
  278. package/src/schedule/formsForSchedule.ttl +0 -115
  279. package/src/schedule/schedulePane.js +0 -1201
  280. package/src/sharing/sharingPane.ts +0 -49
  281. package/src/slideshow/slideshowPane.js +0 -80
  282. package/src/socialPane.js +0 -523
  283. package/src/style/tabbedtab.css +0 -1347
  284. package/src/tabbed/tabbedPane.ts +0 -60
  285. package/src/tableViewPane.js +0 -51
  286. package/src/test-import-export/common.js +0 -6
  287. package/src/test-import-export/edit-importer.js +0 -20
  288. package/src/test-import-export/testImportExport.js +0 -0
  289. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  290. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  291. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  292. package/src/transaction/pane.js +0 -629
  293. package/src/transaction/period.js +0 -374
  294. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  295. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  296. package/src/trip/tripPane.js +0 -176
  297. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -176
  298. package/src/trustedApplications/trustedApplications.dom.ts +0 -276
  299. package/src/trustedApplications/trustedApplications.test.ts +0 -82
  300. package/src/trustedApplications/trustedApplications.utils.ts +0 -51
  301. package/src/trustedApplications/trustedApplications.view.ts +0 -80
  302. package/src/types.ts +0 -34
  303. package/src/ui/22-builder.png +0 -0
  304. package/src/ui/builder.graffle +0 -0
  305. package/src/ui/builder.png +0 -0
  306. package/src/ui/builder2.png +0 -0
  307. package/src/ui/pane.js +0 -226
  308. package/src/versionInfo.ts +0 -32
  309. package/src/video/videoPane.js +0 -44
  310. package/timestamp.sh +0 -13
  311. package/travis/bumpversion.js +0 -29
  312. package/tsconfig.json +0 -78
  313. package/typings/raw-loader.d.ts +0 -4
  314. package/typings/solid-namespace/index.d.ts +0 -9
  315. package/webpack.config.js +0 -41
  316. /package/{lib → dist}/dashboard/basicPreferences.d.ts +0 -0
  317. /package/{lib → dist}/dashboard/basicPreferences.d.ts.map +0 -0
  318. /package/{lib → dist}/dashboard/dashboardPane.d.ts +0 -0
  319. /package/{lib → dist}/dashboard/dashboardPane.d.ts.map +0 -0
  320. /package/{lib → dist}/dashboard/homepage.d.ts +0 -0
  321. /package/{lib → dist}/dashboard/homepage.d.ts.map +0 -0
  322. /package/{lib → dist}/home/homePane.d.ts +0 -0
  323. /package/{lib → dist}/home/homePane.d.ts.map +0 -0
  324. /package/{lib → dist}/index.d.ts +0 -0
  325. /package/{lib → dist}/index.d.ts.map +0 -0
  326. /package/{lib → dist}/internal/internalPane.d.ts +0 -0
  327. /package/{lib → dist}/internal/internalPane.d.ts.map +0 -0
  328. /package/{lib → dist}/mainPage/footer.d.ts +0 -0
  329. /package/{lib → dist}/mainPage/footer.d.ts.map +0 -0
  330. /package/{lib → dist}/mainPage/header.d.ts +0 -0
  331. /package/{lib → dist}/mainPage/header.d.ts.map +0 -0
  332. /package/{lib → dist}/mainPage/index.d.ts +0 -0
  333. /package/{lib → dist}/outline/context.d.ts +0 -0
  334. /package/{lib → dist}/outline/context.d.ts.map +0 -0
  335. /package/{lib → dist}/outline/propertyViews.d.ts +0 -0
  336. /package/{lib → dist}/outline/propertyViews.d.ts.map +0 -0
  337. /package/{lib → dist}/outline/viewAsImage.d.ts +0 -0
  338. /package/{lib → dist}/outline/viewAsImage.d.ts.map +0 -0
  339. /package/{lib → dist}/outline/viewAsMbox.d.ts +0 -0
  340. /package/{lib → dist}/outline/viewAsMbox.d.ts.map +0 -0
  341. /package/{lib → dist}/pad/padPane.d.ts +0 -0
  342. /package/{lib → dist}/pad/padPane.d.ts.map +0 -0
  343. /package/{lib → dist}/sharing/sharingPane.d.ts +0 -0
  344. /package/{lib → dist}/sharing/sharingPane.d.ts.map +0 -0
  345. /package/{lib → dist}/tabbed/tabbedPane.d.ts +0 -0
  346. /package/{lib → dist}/tabbed/tabbedPane.d.ts.map +0 -0
  347. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  348. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  349. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  350. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  351. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts +0 -0
  352. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  353. /package/{lib → dist}/types.d.ts +0 -0
  354. /package/{lib → dist}/types.d.ts.map +0 -0
@@ -1,296 +0,0 @@
1
- /* istanbul ignore file */
2
- // The query-by-example functionality in the tabulator
3
- // was the ability to expore a bit of the web in outline mode,
4
- // select a ceratain set of fields in the tree,
5
- // then pres "find all" which would then generte a SPARQL query
6
- // to find all other places which had the same pattern.
7
- // Fields could be optional by pressing th ewhite optoional button
8
-
9
- import { store } from 'solid-logic'
10
- import * as UI from 'solid-ui'
11
-
12
- const optionalSubqueriesIndex = []
13
-
14
- function predParentOf (node) {
15
- let n = node
16
- while (true) {
17
- if (n.getAttribute('predTR')) {
18
- return n
19
- } else if (n.previousSibling && n.previousSibling.nodeName === 'TR') {
20
- n = n.previousSibling
21
- } else {
22
- console.log('Could not find predParent')
23
- return node
24
- }
25
- }
26
- }
27
-
28
- export function makeQueryRow (q, tr, constraint) {
29
- // predtr = predParentOf(tr)
30
- // var nodes = tr.childNodes
31
- // var n = tr.childNodes.length
32
- const inverse = tr.AJAR_inverse
33
- // var hasVar = 0
34
- let parentVar, level, pat
35
-
36
- function makeRDFStatement (freeVar, parent) {
37
- if (inverse) {
38
- return new UI.rdf.Statement(freeVar, st.predicate, parent)
39
- } else {
40
- return new UI.rdf.Statement(parent, st.predicate, freeVar)
41
- }
42
- }
43
-
44
- let optionalSubqueryIndex = null
45
-
46
- for (level = tr.parentNode; level; level = level.parentNode) {
47
- if (typeof level.AJAR_statement !== 'undefined') {
48
- // level.AJAR_statement
49
- level.setAttribute('bla', level.AJAR_statement) // @@? -timbl
50
- // UI.log.debug("Parent TR statement="+level.AJAR_statement + ", var=" + level.AJAR_variable)
51
- /* for(let c=0;c<level.parentNode.childNodes.length;c++) //This makes sure the same variable is used for a subject
52
- if(level.parentNode.childNodes[c].AJAR_variable)
53
- level.AJAR_variable = level.parentNode.childNodes[c].AJAR_variable; */
54
- if (!level.AJAR_variable) {
55
- makeQueryRow(q, level)
56
- }
57
- parentVar = level.AJAR_variable
58
- const predLevel = predParentOf(level)
59
- if (predLevel.getAttribute('optionalSubqueriesIndex')) {
60
- optionalSubqueryIndex = predLevel.getAttribute(
61
- 'optionalSubqueriesIndex'
62
- )
63
- pat = optionalSubqueriesIndex[optionalSubqueryIndex]
64
- }
65
- break
66
- }
67
- }
68
-
69
- if (!pat) {
70
- pat = q.pat
71
- }
72
-
73
- const predtr = predParentOf(tr)
74
- // /////OPTIONAL KLUDGE///////////
75
- const opt = predtr.getAttribute('optional')
76
- if (!opt) {
77
- if (optionalSubqueryIndex) {
78
- predtr.setAttribute('optionalSubqueriesIndex', optionalSubqueryIndex)
79
- } else {
80
- predtr.removeAttribute('optionalSubqueriesIndex')
81
- }
82
- }
83
- if (opt) {
84
- const optForm = store.formula()
85
- optionalSubqueriesIndex.push(optForm)
86
- predtr.setAttribute(
87
- 'optionalSubqueriesIndex',
88
- optionalSubqueriesIndex.length - 1
89
- )
90
- pat.optional.push(optForm)
91
- pat = optForm
92
- }
93
-
94
- // //////////////////////////////
95
-
96
- const st = tr.AJAR_statement
97
-
98
- const constraintVar = tr.AJAR_inverse ? st.subject : st.object // this is only used for constraints
99
- let hasParent = true
100
- if (constraintVar.isBlank && constraint) {
101
- window.alert(
102
- 'You cannot constrain a query with a blank node. No constraint will be added.'
103
- )
104
- }
105
- if (!parentVar) {
106
- hasParent = false
107
- parentVar = inverse ? st.object : st.subject // if there is no parents, uses the sub/obj
108
- }
109
- // UI.log.debug('Initial variable: '+tr.AJAR_variable)
110
- const v = tr.AJAR_variable
111
- ? tr.AJAR_variable
112
- : store.variable(UI.utils.newVariableName())
113
- q.vars.push(v)
114
- v.label = hasParent ? parentVar.label : UI.utils.label(parentVar)
115
- v.label += ' ' + UI.utils.predicateLabelForXML(st.predicate, inverse)
116
- const pattern = makeRDFStatement(v, parentVar)
117
- // alert(pattern)
118
- v.label = v.label.slice(0, 1).toUpperCase() + v.label.slice(1) // init cap
119
-
120
- // See ../rdf/sparql.js
121
- // This should only work on literals but doesn't.
122
- function ConstraintEqualTo (value) {
123
- this.describe = function (varstr) {
124
- return varstr + ' = ' + value.toNT()
125
- }
126
- this.test = function (term) {
127
- return value.sameTerm(term)
128
- }
129
- return this
130
- }
131
-
132
- if (constraint) {
133
- // binds the constrained variable to its selected value
134
- pat.constraints[v] = new ConstraintEqualTo(constraintVar)
135
- }
136
- UI.log.info('Pattern: ' + pattern)
137
- pattern.tr = tr
138
- tr.AJAR_pattern = pattern // Cross-link UI and query line
139
- tr.AJAR_variable = v
140
- // UI.log.debug('Final variable: '+tr.AJAR_variable)
141
- UI.log.debug('Query pattern: ' + pattern)
142
- pat.statements.push(pattern)
143
- return v
144
- } // makeQueryRow
145
-
146
- function saveQuery (selection, qs) {
147
- // var qs = outline.qs // @@
148
- const q = new UI.rdf.Query()
149
- const n = selection.length
150
- let i, sel, st, tr
151
- for (i = 0; i < n; i++) {
152
- sel = selection[i]
153
- tr = sel.parentNode
154
- st = tr.AJAR_statement
155
- UI.log.debug('Statement ' + st)
156
- if (sel.getAttribute('class').indexOf('pred') >= 0) {
157
- UI.log.info(' We have a predicate')
158
- makeQueryRow(q, tr)
159
- }
160
- if (sel.getAttribute('class').indexOf('obj') >= 0) {
161
- UI.log.info(' We have an object')
162
- makeQueryRow(q, tr, true)
163
- }
164
- }
165
- qs.addQuery(q)
166
-
167
- function resetOutliner (pat) {
168
- const n = pat.statements.length
169
- let pattern, tr
170
- for (let i = 0; i < n; i++) {
171
- pattern = pat.statements[i]
172
- tr = pattern.tr
173
- // UI.log.debug('tr: ' + tr.AJAR_statement);
174
- if (typeof tr !== 'undefined') {
175
- tr.AJAR_pattern = null // TODO: is this == to whats in current version?
176
- tr.AJAR_variable = null
177
- }
178
- }
179
- for (const x in pat.optional) {
180
- resetOutliner(pat.optional[x])
181
- }
182
- }
183
- resetOutliner(q.pat)
184
- // NextVariable=0;
185
- return q
186
- } // saveQuery
187
-
188
- // When the user asks for all list of all matching parts of the data
189
- //
190
- export function viewAndSaveQuery (outline, selection) {
191
- const qs = outline.qs
192
- UI.log.info('outline.doucment is now ' + outline.document.location)
193
- const q = saveQuery(selection, qs)
194
- /*
195
- if (tabulator.isExtension) {
196
- // tabulator.drawInBestView(q)
197
- } else
198
- */
199
-
200
- for (let i = 0; i < qs.listeners.length; i++) {
201
- qs.listeners[i].getActiveView().view.drawQuery(q)
202
- qs.listeners[i].updateQueryControls(qs.listeners[i].getActiveView())
203
- }
204
- }
205
-
206
- /**
207
- * The QuerySource object stores a set of listeners and a set of queries.
208
- * It keeps the listeners aware of those queries that the source currently
209
- * contains, and it is then up to the listeners to decide what to do with
210
- * those queries in terms of displays.
211
- * Not used 2010-08 -- TimBL
212
- * @class QuerySource
213
- * @author jambo
214
- */
215
-
216
- export function QuerySource () {
217
- /**
218
- * stores all of the queries currently held by this source,
219
- * indexed by ID number.
220
- */
221
- this.queries = []
222
- /**
223
- * stores the listeners for a query object.
224
- * @see TabbedContainer
225
- */
226
- this.listeners = []
227
-
228
- /**
229
- * add a Query object to the query source--It will be given an ID number
230
- * and a name, if it doesn't already have one. This subsequently adds the
231
- * query to all of the listeners the QuerySource knows about.
232
- */
233
- this.addQuery = function (q) {
234
- let i
235
- if (q.name === null || q.name === '') {
236
- q.name = 'Query #' + (this.queries.length + 1)
237
- }
238
- q.id = this.queries.length
239
- this.queries.push(q)
240
- for (i = 0; i < this.listeners.length; i++) {
241
- if (this.listeners[i] !== null) {
242
- this.listeners[i].addQuery(q)
243
- }
244
- }
245
- }
246
-
247
- /**
248
- * Remove a Query object from the source. Tells all listeners to also
249
- * remove the query.
250
- */
251
- this.removeQuery = function (q) {
252
- let i
253
- for (i = 0; i < this.listeners.length; i++) {
254
- if (this.listeners[i] !== null) {
255
- this.listeners[i].removeQuery(q)
256
- }
257
- }
258
- if (this.queries[q.id] !== null) {
259
- delete this.queries[q.id]
260
- }
261
- }
262
-
263
- /**
264
- * adds a "Listener" to this QuerySource - that is, an object
265
- * which is capable of both adding and removing queries.
266
- * Currently, only the TabbedContainer class is added.
267
- * also puts all current queries into the listener to be used.
268
- */
269
- this.addListener = function (listener) {
270
- let i
271
- this.listeners.push(listener)
272
- for (i = 0; i < this.queries.length; i++) {
273
- if (this.queries[i] !== null) {
274
- listener.addQuery(this.queries[i])
275
- }
276
- }
277
- }
278
- /**
279
- * removes listener from the array of listeners, if it exists! Also takes
280
- * all of the queries from this source out of the listener.
281
- */
282
- this.removeListener = function (listener) {
283
- let i
284
- for (i = 0; i < this.queries.length; i++) {
285
- if (this.queries[i] !== null) {
286
- listener.removeQuery(this.queries[i])
287
- }
288
- }
289
-
290
- for (i = 0; i < this.listeners.length; i++) {
291
- if (this.listeners[i] === listener) {
292
- delete this.listeners[i]
293
- }
294
- }
295
- }
296
- }