solid-panes 3.5.27 → 3.5.28-59efa615

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 (309) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +0 -0
  4. package/.github/workflows/ci.yml +0 -0
  5. package/.nvmrc +0 -0
  6. package/Documentation/VisualLanguage.html +0 -0
  7. package/Documentation/conventions.md +0 -0
  8. package/LICENSE.md +0 -0
  9. package/README.md +0 -2
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +0 -0
  12. package/dev/pane/index.ts +0 -0
  13. package/doc/images/panes-for-classes.epgz +0 -0
  14. package/doc/images/panes-for-classes.svg +0 -0
  15. package/jest.config.js +0 -0
  16. package/jest.setup.ts +0 -0
  17. package/lib/RDFXMLPane.js +15 -9
  18. package/lib/RDFXMLPane.js.map +1 -1
  19. package/lib/argument/argumentPane.js +12 -11
  20. package/lib/argument/argumentPane.js.map +1 -1
  21. package/lib/attach/attachPane.js +58 -90
  22. package/lib/attach/attachPane.js.map +1 -1
  23. package/lib/audio/audioPane.js +19 -37
  24. package/lib/audio/audioPane.js.map +1 -1
  25. package/lib/classInstancePane.js +21 -22
  26. package/lib/classInstancePane.js.map +1 -1
  27. package/lib/dashboard/basicPreferences.d.ts +0 -0
  28. package/lib/dashboard/basicPreferences.d.ts.map +0 -0
  29. package/lib/dashboard/basicPreferences.js +96 -154
  30. package/lib/dashboard/basicPreferences.js.map +1 -1
  31. package/lib/dashboard/dashboardPane.d.ts +0 -0
  32. package/lib/dashboard/dashboardPane.d.ts.map +0 -0
  33. package/lib/dashboard/dashboardPane.js +2 -18
  34. package/lib/dashboard/dashboardPane.js.map +1 -1
  35. package/lib/dashboard/homepage.d.ts +0 -0
  36. package/lib/dashboard/homepage.d.ts.map +0 -0
  37. package/lib/dashboard/homepage.js +27 -49
  38. package/lib/dashboard/homepage.js.map +1 -1
  39. package/lib/dataContentPane.js +26 -61
  40. package/lib/dataContentPane.js.map +1 -1
  41. package/lib/defaultPane.js +23 -23
  42. package/lib/defaultPane.js.map +1 -1
  43. package/lib/dokieli/dokieliPane.js +29 -34
  44. package/lib/dokieli/dokieliPane.js.map +1 -1
  45. package/lib/dokieli/new.js +6 -1
  46. package/lib/dokieli/new.js.map +1 -1
  47. package/lib/form/pane.js +34 -45
  48. package/lib/form/pane.js.map +1 -1
  49. package/lib/global.d.js +0 -0
  50. package/lib/global.d.js.map +0 -0
  51. package/lib/home/homePane.d.ts +0 -0
  52. package/lib/home/homePane.d.ts.map +0 -0
  53. package/lib/home/homePane.js +49 -67
  54. package/lib/home/homePane.js.map +1 -1
  55. package/lib/humanReadablePane.js +14 -28
  56. package/lib/humanReadablePane.js.map +1 -1
  57. package/lib/imagePane.js +19 -14
  58. package/lib/imagePane.js.map +1 -1
  59. package/lib/index.d.ts +0 -0
  60. package/lib/index.d.ts.map +0 -0
  61. package/lib/index.js +6 -20
  62. package/lib/index.js.map +1 -1
  63. package/lib/internal/internalPane.d.ts +0 -0
  64. package/lib/internal/internalPane.d.ts.map +0 -0
  65. package/lib/internal/internalPane.js +10 -41
  66. package/lib/internal/internalPane.js.map +1 -1
  67. package/lib/mainPage/footer.d.ts +0 -0
  68. package/lib/mainPage/footer.d.ts.map +0 -0
  69. package/lib/mainPage/footer.js +0 -4
  70. package/lib/mainPage/footer.js.map +1 -1
  71. package/lib/mainPage/header.d.ts +0 -0
  72. package/lib/mainPage/header.d.ts.map +0 -0
  73. package/lib/mainPage/header.js +66 -100
  74. package/lib/mainPage/header.js.map +1 -1
  75. package/lib/mainPage/index.d.ts +0 -0
  76. package/lib/mainPage/index.d.ts.map +0 -0
  77. package/lib/mainPage/index.js +17 -30
  78. package/lib/mainPage/index.js.map +1 -1
  79. package/lib/microblogPane/microblogPane.js +182 -321
  80. package/lib/microblogPane/microblogPane.js.map +1 -1
  81. package/lib/n3Pane.js +12 -8
  82. package/lib/n3Pane.js.map +1 -1
  83. package/lib/outline/context.d.ts +0 -0
  84. package/lib/outline/context.d.ts.map +0 -0
  85. package/lib/outline/context.js +0 -2
  86. package/lib/outline/context.js.map +1 -1
  87. package/lib/outline/licenseOptions.js +21 -35
  88. package/lib/outline/licenseOptions.js.map +1 -1
  89. package/lib/outline/manager.js +740 -1176
  90. package/lib/outline/manager.js.map +1 -1
  91. package/lib/outline/manager.test.js +16 -25
  92. package/lib/outline/manager.test.js.map +1 -1
  93. package/lib/outline/outlineIcons.js +39 -26
  94. package/lib/outline/outlineIcons.js.map +1 -1
  95. package/lib/outline/propertyViews.d.ts +3 -2
  96. package/lib/outline/propertyViews.d.ts.map +1 -1
  97. package/lib/outline/propertyViews.js +7 -15
  98. package/lib/outline/propertyViews.js.map +1 -1
  99. package/lib/outline/propertyViews.test.js +7 -7
  100. package/lib/outline/propertyViews.test.js.map +1 -1
  101. package/lib/outline/queryByExample.js +28 -80
  102. package/lib/outline/queryByExample.js.map +1 -1
  103. package/lib/outline/userInput.js +221 -459
  104. package/lib/outline/userInput.js.map +1 -1
  105. package/lib/outline/viewAsImage.d.ts +0 -0
  106. package/lib/outline/viewAsImage.d.ts.map +0 -0
  107. package/lib/outline/viewAsImage.js +0 -6
  108. package/lib/outline/viewAsImage.js.map +1 -1
  109. package/lib/outline/viewAsMbox.d.ts +0 -0
  110. package/lib/outline/viewAsMbox.d.ts.map +0 -0
  111. package/lib/outline/viewAsMbox.js +3 -4
  112. package/lib/outline/viewAsMbox.js.map +1 -1
  113. package/lib/pad/padPane.d.ts +0 -0
  114. package/lib/pad/padPane.d.ts.map +0 -0
  115. package/lib/pad/padPane.js +45 -93
  116. package/lib/pad/padPane.js.map +1 -1
  117. package/lib/playlist/playlistPane.js +11 -21
  118. package/lib/playlist/playlistPane.js.map +1 -1
  119. package/lib/profile/editProfile.view.d.ts +0 -0
  120. package/lib/profile/editProfile.view.d.ts.map +1 -1
  121. package/lib/profile/editProfile.view.js +22 -23
  122. package/lib/profile/editProfile.view.js.map +1 -1
  123. package/lib/profile/profile.dom.d.ts +0 -0
  124. package/lib/profile/profile.dom.d.ts.map +0 -0
  125. package/lib/profile/profile.dom.js +0 -3
  126. package/lib/profile/profile.dom.js.map +1 -1
  127. package/lib/registerPanes.js +99 -54
  128. package/lib/registerPanes.js.map +1 -1
  129. package/lib/schedule/formsForSchedule.js +6 -1
  130. package/lib/schedule/formsForSchedule.js.map +1 -1
  131. package/lib/schedule/schedulePane.js +71 -126
  132. package/lib/schedule/schedulePane.js.map +1 -1
  133. package/lib/sharing/sharingPane.d.ts +0 -0
  134. package/lib/sharing/sharingPane.d.ts.map +0 -0
  135. package/lib/sharing/sharingPane.js +2 -10
  136. package/lib/sharing/sharingPane.js.map +1 -1
  137. package/lib/slideshow/slideshowPane.js +21 -21
  138. package/lib/slideshow/slideshowPane.js.map +1 -1
  139. package/lib/socialPane.js +58 -135
  140. package/lib/socialPane.js.map +1 -1
  141. package/lib/tabbed/tabbedPane.d.ts +0 -0
  142. package/lib/tabbed/tabbedPane.d.ts.map +0 -0
  143. package/lib/tabbed/tabbedPane.js +32 -48
  144. package/lib/tabbed/tabbedPane.js.map +1 -1
  145. package/lib/tableViewPane.js +15 -9
  146. package/lib/tableViewPane.js.map +1 -1
  147. package/lib/test-import-export/common.js +8 -3
  148. package/lib/test-import-export/common.js.map +1 -1
  149. package/lib/test-import-export/edit-importer.js +10 -14
  150. package/lib/test-import-export/edit-importer.js.map +1 -1
  151. package/lib/test-import-export/testImportExport.js +0 -0
  152. package/lib/test-import-export/testImportExport.js.map +0 -0
  153. package/lib/transaction/pane.js +38 -91
  154. package/lib/transaction/pane.js.map +1 -1
  155. package/lib/transaction/period.js +27 -71
  156. package/lib/transaction/period.js.map +1 -1
  157. package/lib/trip/tripPane.js +38 -35
  158. package/lib/trip/tripPane.js.map +1 -1
  159. package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
  160. package/lib/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  161. package/lib/trustedApplications/trustedApplications.dom.js +12 -35
  162. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  163. package/lib/trustedApplications/trustedApplications.test.js +6 -8
  164. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  165. package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
  166. package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  167. package/lib/trustedApplications/trustedApplications.utils.js +1 -11
  168. package/lib/trustedApplications/trustedApplications.utils.js.map +1 -1
  169. package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
  170. package/lib/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  171. package/lib/trustedApplications/trustedApplications.view.js +38 -61
  172. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  173. package/lib/types.d.ts +0 -0
  174. package/lib/types.d.ts.map +0 -0
  175. package/lib/types.js +0 -0
  176. package/lib/types.js.map +0 -0
  177. package/lib/ui/pane.js +30 -29
  178. package/lib/ui/pane.js.map +1 -1
  179. package/lib/versionInfo.d.ts +0 -0
  180. package/lib/versionInfo.d.ts.map +0 -0
  181. package/lib/versionInfo.js +14 -14
  182. package/lib/versionInfo.js.map +1 -1
  183. package/lib/video/videoPane.js +11 -7
  184. package/lib/video/videoPane.js.map +1 -1
  185. package/package.json +26 -26
  186. package/src/RDFXMLPane.js +2 -2
  187. package/src/argument/argumentPane.js +1 -1
  188. package/src/argument/argument_icon_v04.jpg +0 -0
  189. package/src/argument/icon_argument.png +0 -0
  190. package/src/argument/transparentyingyang.png +0 -0
  191. package/src/attach/attachPane.js +3 -3
  192. package/src/attach/tbl-paperclip-128.png +0 -0
  193. package/src/attach/tbl-paperclip-22.png +0 -0
  194. package/src/attach/tbl-paperclip-22a.png +0 -0
  195. package/src/audio/audioPane.js +3 -3
  196. package/src/chatPreferencesForm.ttl +0 -0
  197. package/src/classInstancePane.js +3 -3
  198. package/src/dashboard/basicPreferences.ts +0 -0
  199. package/src/dashboard/dashboardPane.ts +0 -0
  200. package/src/dashboard/homepage.ts +0 -0
  201. package/src/dashboard/languages/codes.html +0 -0
  202. package/src/dashboard/languages/codes.xml +0 -0
  203. package/src/dashboard/languages/codes2.txt +0 -0
  204. package/src/dashboard/languages/foo +0 -0
  205. package/src/dashboard/languages/foo.ttl +0 -0
  206. package/src/dashboard/languages/get-language-names.sh +0 -0
  207. package/src/dashboard/ontologyData.ttl +0 -0
  208. package/src/dashboard/preferencesFormText.ttl +0 -0
  209. package/src/dataContentPane.js +3 -4
  210. package/src/defaultPane.js +3 -3
  211. package/src/dokieli/Makefile +0 -0
  212. package/src/dokieli/dokieliPane.js +5 -5
  213. package/src/dokieli/new.html +0 -0
  214. package/src/dokieli/new.js +1 -1
  215. package/src/form/form-22.png +0 -0
  216. package/src/form/form-b-22.png +0 -0
  217. package/src/form/form.graffle +0 -0
  218. package/src/form/form.png +0 -0
  219. package/src/form/pane.js +2 -2
  220. package/src/form/psuedocode-notes.txt +0 -0
  221. package/src/global.d.ts +0 -0
  222. package/src/home/homePane.ts +0 -0
  223. package/src/humanReadablePane.js +0 -0
  224. package/src/imagePane.js +2 -2
  225. package/src/index.ts +1 -1
  226. package/src/internal/internalPane.ts +0 -0
  227. package/src/mainPage/footer.ts +0 -0
  228. package/src/mainPage/header.ts +0 -0
  229. package/src/mainPage/index.ts +0 -0
  230. package/src/meeting/Makefile +0 -0
  231. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
  232. package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
  233. package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
  234. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
  235. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
  236. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
  237. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
  238. package/src/meeting/test/meeting1/Schedule/index.html +0 -0
  239. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
  240. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
  241. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
  242. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
  243. package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
  244. package/src/meeting/test/meeting1/details.ttl +0 -0
  245. package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
  246. package/src/microblogPane/mbStyle.css +0 -0
  247. package/src/microblogPane/microblogPane.js +1 -1
  248. package/src/n3Pane.js +2 -2
  249. package/src/outline/context.ts +0 -0
  250. package/src/outline/licenseOptions.js +9 -8
  251. package/src/outline/manager.js +18 -20
  252. package/src/outline/manager.test.ts +6 -0
  253. package/src/outline/outlineIcons.js +4 -2
  254. package/src/outline/propertyViews.test.ts +7 -1
  255. package/src/outline/propertyViews.ts +3 -3
  256. package/src/outline/queryByExample.js +3 -9
  257. package/src/outline/userInput.js +1 -1
  258. package/src/outline/viewAsImage.ts +0 -0
  259. package/src/outline/viewAsMbox.ts +0 -0
  260. package/src/pad/images/ColourOff.ai +0 -0
  261. package/src/pad/images/ColourOff.png +0 -0
  262. package/src/pad/images/ColourOn.ai +0 -0
  263. package/src/pad/images/ColourOn.png +0 -0
  264. package/src/pad/padPane.ts +0 -0
  265. package/src/playlist/playlistPane.js +3 -3
  266. package/src/profile/editProfile.view.ts +20 -0
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +92 -52
  270. package/src/schedule/Makefile +0 -0
  271. package/src/schedule/formsForSchedule.js +1 -1
  272. package/src/schedule/formsForSchedule.ttl +0 -0
  273. package/src/schedule/schedulePane.js +6 -2
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +3 -6
  276. package/src/socialPane.js +4 -5
  277. package/src/style/tabbedtab.css +0 -0
  278. package/src/tabbed/tabbedPane.ts +0 -0
  279. package/src/tableViewPane.js +3 -3
  280. package/src/test-import-export/common.js +1 -1
  281. package/src/test-import-export/edit-importer.js +5 -10
  282. package/src/test-import-export/testImportExport.js +0 -0
  283. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  284. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  285. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  286. package/src/transaction/pane.js +3 -3
  287. package/src/transaction/period.js +2 -2
  288. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  289. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  290. package/src/trip/tripPane.js +3 -3
  291. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
  292. package/src/trustedApplications/trustedApplications.dom.ts +0 -0
  293. package/src/trustedApplications/trustedApplications.test.ts +4 -0
  294. package/src/trustedApplications/trustedApplications.utils.ts +0 -0
  295. package/src/trustedApplications/trustedApplications.view.ts +0 -0
  296. package/src/types.ts +0 -0
  297. package/src/ui/22-builder.png +0 -0
  298. package/src/ui/builder.graffle +0 -0
  299. package/src/ui/builder.png +0 -0
  300. package/src/ui/builder2.png +0 -0
  301. package/src/ui/pane.js +3 -3
  302. package/src/versionInfo.ts +14 -14
  303. package/src/video/videoPane.js +3 -3
  304. package/timestamp.sh +0 -0
  305. package/travis/bumpversion.js +0 -0
  306. package/tsconfig.json +0 -0
  307. package/typings/raw-loader.d.ts +0 -0
  308. package/typings/solid-namespace/index.d.ts +0 -0
  309. package/webpack.config.js +0 -0
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var UI = _interopRequireWildcard(require("solid-ui"));
9
+ var $rdf = _interopRequireWildcard(require("rdflib"));
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3
12
  /* Attachment Pane
4
13
  **
5
14
  ** - Attach a document to a thing
@@ -9,13 +18,10 @@
9
18
  **
10
19
  **
11
20
  */
12
- var UI = require('solid-ui');
13
-
14
- var $rdf = require('rdflib');
15
-
16
- module.exports = {
21
+ var _default = {
17
22
  icon: UI.icons.iconBase + 'noun_25830.svg',
18
23
  // noun_25830
24
+
19
25
  name: 'attachments',
20
26
  // Does the subject deserve an attachments pane?
21
27
  //
@@ -29,37 +35,38 @@ module.exports = {
29
35
  var t = kb.findTypeURIs(subject);
30
36
  var QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
31
37
  var WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#');
32
-
33
- if (t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass
34
- subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || t['http://www.w3.org/2005/01/wf/flow#Task'] || t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] || // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||
38
+ if (t['http://www.w3.org/ns/pim/trip#Trip'] ||
39
+ // If in any subclass
40
+ subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || t['http://www.w3.org/2005/01/wf/flow#Task'] || t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||
41
+ // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||
35
42
  QU('Transaction') in kb.findSuperClassesNT(subject) || kb.holds(subject, WF('attachment'))) {
36
43
  return 'attachments';
37
44
  }
38
-
39
45
  return null;
40
46
  },
41
47
  render: function render(subject, context) {
42
48
  var dom = context.dom;
43
49
  var kb = context.session.store;
44
50
  var WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#');
45
- var QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#'); // ////////////////////////////////////////////////////////////////////////////
51
+ var QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
52
+
53
+ // ////////////////////////////////////////////////////////////////////////////
46
54
 
47
55
  var complain = function complain(message) {
48
56
  var pre = dom.createElement('pre');
49
57
  pre.setAttribute('style', 'background-color: pink');
50
58
  div.appendChild(pre);
51
59
  pre.appendChild(dom.createTextNode(message));
52
- }; // Where can we write about this thing?
60
+ };
61
+
62
+ // Where can we write about this thing?
53
63
  //
54
64
  // Returns term for document or null
55
-
56
-
57
65
  var findStore = function findStore(kb, subject) {
58
66
  if (kb.updater.editable(subject.doc(), kb)) return subject.doc();
59
67
  var store = kb.any(subject.doc(), QU('annotationStore'));
60
68
  return store;
61
69
  };
62
-
63
70
  var div = dom.createElement('div');
64
71
  var esc = UI.utils.escapeForXML;
65
72
  div.setAttribute('class', 'attachPane');
@@ -70,10 +77,11 @@ module.exports = {
70
77
  var subjects, multi;
71
78
  var options = {};
72
79
  var currentMode = 0; // 0 -> Show all; 1 -> Attached; 2 -> unattached
73
-
74
80
  var currentSubject = null;
75
81
  var currentObject = null;
76
- var objectType = QU('SupportingDocument'); // Find all members of the class which we know about
82
+ var objectType = QU('SupportingDocument');
83
+
84
+ // Find all members of the class which we know about
77
85
  // and sort them by an appropriate property. @@ Move to library
78
86
  //
79
87
 
@@ -87,18 +95,15 @@ module.exports = {
87
95
  var uri = uriMap[subject.uri];
88
96
  return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'));
89
97
  };
90
-
91
98
  var getSortKey = function getSortKey(c) {
92
99
  var k = getSortKeySimple(c.uri);
93
100
  if (k) return k;
94
101
  var sup = kb.findSuperClassesNT(c);
95
-
96
102
  for (var cl in sup) {
97
103
  // note unordered -- could be closest first
98
104
  k = getSortKeySimple(kb.fromNT(cl).uri);
99
105
  if (k) return k;
100
106
  }
101
-
102
107
  return undefined; // failure
103
108
  };
104
109
 
@@ -108,16 +113,13 @@ module.exports = {
108
113
  var uriHash = kb.findMemberURIs(subject);
109
114
  var pairs = [];
110
115
  var subjects = [];
111
-
112
116
  for (u in uriHash) {
113
117
  // @@ TODO: Write away the need for exception on next line
114
118
  // eslint-disable-next-line no-prototype-builtins
115
119
  if (uriHash.hasOwnProperty(u)) {
116
120
  x = kb.sym(u);
117
-
118
121
  if (sortBy) {
119
122
  key = kb.any(x, sortBy);
120
-
121
123
  if (!key) {
122
124
  // complain("No key "+key+" sortby "+sortBy+" for "+x)
123
125
  key = '8888-12-31';
@@ -127,60 +129,53 @@ module.exports = {
127
129
  } else {
128
130
  complain('No sortby ' + sortBy + ' for ' + x);
129
131
  key = '9999-12-31';
130
- } // key = (sortBy && kb.any(x, sortBy)) || kb.literal("9999-12-31") // Undated appear future
132
+ }
133
+ // key = (sortBy && kb.any(x, sortBy)) || kb.literal("9999-12-31") // Undated appear future
131
134
  // if (!key) complain("Sort: '"+key+"' No "+sortBy+" for "+x) // Assume just not in this year
132
-
133
-
134
135
  pairs.push([key, x]);
135
136
  }
136
137
  }
137
-
138
138
  pairs.sort();
139
139
  pairs.reverse(); // @@ Descending order .. made a toggle?
140
-
141
140
  for (var i = 0; i < pairs.length; i++) {
142
141
  subjects.push(pairs[i][1]);
143
142
  }
144
-
145
143
  return subjects;
146
- }; // Set up a triage of many class members against documents or just one
147
-
144
+ };
148
145
 
149
- if (subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || QU('Transaction') in kb.findSuperClassesNT(subject) // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'
146
+ // Set up a triage of many class members against documents or just one
147
+ if (subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || QU('Transaction') in kb.findSuperClassesNT(subject)
148
+ // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'
150
149
  ) {
151
150
  multi = true;
152
151
  subjects = getMembersAndSort(subject);
153
152
  } else {
154
153
  currentSubject = subject;
155
154
  currentMode = 1; // Show attached only.
156
-
157
155
  subjects = [subject];
158
156
  multi = false;
159
- } // var store = findStore(kb, subject)
160
- // if (!store) complain("There is no annotation store for: "+subject.uri)
161
- // var objects = kb.each(undefined, ns.rdf('type'), range)
157
+ }
162
158
 
159
+ // var store = findStore(kb, subject)
160
+ // if (!store) complain("There is no annotation store for: "+subject.uri)
163
161
 
162
+ // var objects = kb.each(undefined, ns.rdf('type'), range)
164
163
  var objects = getMembersAndSort(range);
165
164
  if (!objects) complain('objects:' + objects.length);
166
-
167
165
  var deselectObject = function deselectObject() {
168
166
  currentObject = null;
169
167
  preview.innerHTML = '';
170
168
  };
171
-
172
169
  var showFiltered = function showFiltered(mode) {
173
- var filtered = mode === 0 ? objects : getFiltered(); // eslint-enable
174
-
170
+ var filtered = mode === 0 ? objects : getFiltered();
171
+ // eslint-enable
175
172
  UI.widgets.selectorPanelRefresh(objectList, dom, kb, objectType, predicate, true, filtered, options, showObject, linkClicked);
176
-
177
173
  if (filtered.length === 1) {
178
174
  currentObject = filtered[0];
179
175
  showObject(currentObject, null, true); // @@ (Sure?) if only one select it.
180
176
  } else {
181
177
  deselectObject();
182
178
  }
183
-
184
179
  function getFiltered() {
185
180
  return mode === 1 ? currentSubject === null ? objects.filter(function (y) {
186
181
  return !!kb.holds(undefined, predicate, y);
@@ -191,11 +186,10 @@ module.exports = {
191
186
  });
192
187
  }
193
188
  };
194
-
195
189
  var setAttachment = function setAttachment(x, y, value, refresh) {
196
190
  if (kb.holds(x, predicate, y) === value) return;
197
- var verb = value ? 'attach' : 'detach'; // complain("Info: starting to "+verb+" " + y.uri + " to "+x.uri+ ":\n")
198
-
191
+ var verb = value ? 'attach' : 'detach';
192
+ // complain("Info: starting to "+verb+" " + y.uri + " to "+x.uri+ ":\n")
199
193
  var linkDone3 = function linkDone3(uri, ok, body) {
200
194
  if (ok) {
201
195
  // complain("Success "+verb+" "+y.uri+" to "+x.uri+ ":\n"+ body)
@@ -204,14 +198,11 @@ module.exports = {
204
198
  complain('Error: Unable to ' + verb + ' ' + y.uri + ' to ' + x.uri + ':\n' + body);
205
199
  }
206
200
  };
207
-
208
201
  var store = findStore(kb, x);
209
-
210
202
  if (!store) {
211
203
  complain('There is no annotation store for: ' + x.uri);
212
204
  } else {
213
205
  var sts = [$rdf.st(x, predicate, y, store)];
214
-
215
206
  if (value) {
216
207
  kb.updater.update([], sts, linkDone3);
217
208
  } else {
@@ -219,10 +210,8 @@ module.exports = {
219
210
  }
220
211
  }
221
212
  };
222
-
223
213
  var linkClicked = function linkClicked(x, event, inverse, refresh) {
224
214
  var s, o;
225
-
226
215
  if (inverse) {
227
216
  // Objectlist
228
217
  if (!currentSubject) {
@@ -242,11 +231,10 @@ module.exports = {
242
231
  o = currentObject;
243
232
  }
244
233
  }
245
-
246
234
  setAttachment(s, o, !kb.holds(s, predicate, o), refresh); // @@ toggle
247
- }; // When you click on a subject, filter the objects connected to the subject in Mode 1
248
-
235
+ };
249
236
 
237
+ // When you click on a subject, filter the objects connected to the subject in Mode 1
250
238
  var showSubject = function showSubject(x, event, selected) {
251
239
  if (selected) {
252
240
  currentSubject = x;
@@ -254,8 +242,6 @@ module.exports = {
254
242
  currentSubject = null;
255
243
  if (currentMode === 1) deselectObject();
256
244
  } // If all are displayed, refresh would just annoy:
257
-
258
-
259
245
  if (currentMode !== 0) showFiltered(currentMode); // Refresh the objects
260
246
  };
261
247
 
@@ -264,18 +250,14 @@ module.exports = {
264
250
  subjectList.setAttribute('style', 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left');
265
251
  div.appendChild(subjectList);
266
252
  }
267
-
268
253
  var showObject = function showObject(x, event, selected) {
269
254
  if (!selected) {
270
255
  deselectObject();
271
256
  preview.innerHTML = ''; // Clean out what is there
272
257
  // complain("Show object "+x.uri)
273
-
274
258
  return;
275
259
  }
276
-
277
260
  currentObject = x;
278
-
279
261
  try {
280
262
  /*
281
263
  var dispalyable = function (kb, x) {
@@ -294,12 +276,10 @@ module.exports = {
294
276
  }
295
277
  */
296
278
  preview.innerHTML = 'Loading ....';
297
-
298
279
  if (x.uri) {
299
280
  kb.fetcher.load(x.uri).then(function () {
300
281
  var outliner = context.getOutliner(dom);
301
282
  var display = outliner.propertyTable(x); // ,table, pane
302
-
303
283
  preview.innerHTML = '';
304
284
  preview.appendChild(display);
305
285
  })["catch"](function (err) {
@@ -314,14 +294,12 @@ module.exports = {
314
294
  } else {
315
295
  }
316
296
  */
317
-
318
297
  } catch (e) {
319
298
  preview.innerHTML = '<span style="background-color: pink;">' + 'Error:' + e + '</span>'; // @@ enc
320
299
  }
321
300
  };
322
301
 
323
302
  div.setAttribute('style', 'background-color: white; width:40cm; height:20cm;');
324
-
325
303
  var headerButtons = function headerButtons(dom, labels, intial, callback) {
326
304
  var head = dom.createElement('table');
327
305
  var current = intial;
@@ -330,21 +308,17 @@ module.exports = {
330
308
  var style0 = 'border-radius: 0.6em; text-align: center;';
331
309
  var style1 = style0 + 'background-color: #ccc; color: black;';
332
310
  head.appendChild(tr);
333
-
334
311
  var setStyles = function setStyles() {
335
312
  for (i = 0; i < labels.length; i++) {
336
313
  buttons[i].setAttribute('style', i === current ? style1 : style0);
337
314
  }
338
315
  };
339
-
340
316
  var i, b;
341
317
  var buttons = [];
342
-
343
318
  for (i = 0; i < labels.length; i++) {
344
319
  b = buttons[i] = dom.createElement('td');
345
320
  b.textContent = labels[i];
346
321
  tr.appendChild(buttons[i]);
347
-
348
322
  var listen = function listen(b, i) {
349
323
  b.addEventListener('click', function (_e) {
350
324
  current = i;
@@ -352,14 +326,11 @@ module.exports = {
352
326
  callback(i);
353
327
  });
354
328
  };
355
-
356
329
  listen(b, i);
357
330
  }
358
-
359
331
  setStyles();
360
332
  return head;
361
333
  };
362
-
363
334
  var setMode = function setMode(mode) {
364
335
  if (mode !== currentMode) {
365
336
  currentMode = mode;
@@ -367,33 +338,29 @@ module.exports = {
367
338
  showFiltered(mode);
368
339
  }
369
340
  };
370
-
371
341
  var wrapper = dom.createElement('div');
372
- wrapper.setAttribute('style', ' width: 30em; height: 100%; padding: 0em; float:left;'); // wrapper.appendChild(head)
373
-
342
+ wrapper.setAttribute('style', ' width: 30em; height: 100%; padding: 0em; float:left;');
343
+ // wrapper.appendChild(head)
374
344
  div.appendChild(wrapper);
375
345
  wrapper.appendChild(headerButtons(dom, ['all', 'attached', 'not attached'], currentMode, setMode));
376
346
  var objectList = UI.widgets.selectorPanel(dom, kb, objectType, predicate, true, objects, options, showObject, linkClicked);
377
347
  objectList.setAttribute('style', 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'); // float:left
348
+ wrapper.appendChild(objectList);
378
349
 
379
- wrapper.appendChild(objectList); // objectList.insertBefore(head, objectList.firstChild)
350
+ // objectList.insertBefore(head, objectList.firstChild)
380
351
 
381
352
  var preview = dom.createElement('div');
382
- preview.setAttribute('style',
383
- /* background-color: black; */
384
- 'padding: 0em; margin: 0; height: 100%; overflow:scroll;');
353
+ preview.setAttribute('style', /* background-color: black; */'padding: 0em; margin: 0; height: 100%; overflow:scroll;');
385
354
  div.appendChild(preview);
386
355
  showFiltered(currentMode);
387
-
388
356
  if (subjects.length > 0 && multi) {
389
357
  var stores = {};
390
-
391
358
  for (var k = 0; k < subjects.length; k++) {
392
359
  var store = findStore(kb, subjects[k]);
393
- if (store) stores[store.uri] = subjects[k]; // if (!store) complain("No store for "+subjects[k].uri)
360
+ if (store) stores[store.uri] = subjects[k];
361
+ // if (!store) complain("No store for "+subjects[k].uri)
394
362
  }
395
-
396
- var _loop = function _loop(storeURI) {
363
+ var _loop = function _loop() {
397
364
  // var store = findStore(kb,subjects[subjectList.length-1])
398
365
  var store = kb.sym(storeURI);
399
366
  var mintBox = dom.createElement('div');
@@ -410,32 +377,33 @@ module.exports = {
410
377
  mintBox.appendChild(mintButton)
411
378
  mintButton.setAttribute('src', ...); @@ Invokes master handler
412
379
  */
413
-
414
380
  mintBox.addEventListener('click', function (_event) {
415
381
  var thisForm = UI.widgets.promptForNew(dom, kb, subject, predicate, subject, null, store, function (ok, _body) {
416
- if (!ok) {// callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing
417
- } else {// Refresh @@
382
+ if (!ok) {
383
+ // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing
384
+ } else {
385
+ // Refresh @@
418
386
  }
419
387
  });
420
-
421
388
  try {
422
389
  div.insertBefore(thisForm, mintBox.nextSibling); // Sigh no insertAfter
423
390
  } catch (e) {
424
391
  div.appendChild(thisForm);
425
- } // var newObject = thisForm.AJAR_subject
426
-
392
+ }
393
+ // var newObject = thisForm.AJAR_subject
427
394
  }, false);
428
395
  div.appendChild(mintBox);
429
396
  };
430
-
431
397
  for (var storeURI in stores) {
432
- _loop(storeURI);
398
+ _loop();
433
399
  }
434
- } // if (!me) complain("(You do not have your Web Id set. Set your Web ID to make changes.)")
400
+ }
435
401
 
402
+ // if (!me) complain("(You do not have your Web Id set. Set your Web ID to make changes.)")
436
403
 
437
404
  return div;
438
405
  }
439
406
  }; // pane object
440
407
  // ends
408
+ exports["default"] = _default;
441
409
  //# sourceMappingURL=attachPane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachPane.js","names":["UI","require","$rdf","module","exports","icon","icons","iconBase","name","label","subject","context","kb","session","store","t","findTypeURIs","QU","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","hasOwnProperty","value","push","sort","reverse","i","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","o","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","e","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n */\n preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"attachPane.js","names":["icon","UI","icons","iconBase","name","label","subject","context","kb","session","store","t","findTypeURIs","QU","$rdf","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","hasOwnProperty","value","push","sort","reverse","i","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","o","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","e","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\n\nexport default {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n */\n preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":"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"}