solid-panes 3.5.27 → 3.5.28-38b5cde0

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 +1 -1
  53. package/lib/home/homePane.js +38 -68
  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 +1 -14
  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,17 +1,23 @@
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.defaultPane = 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
  /* Default Pane
4
13
  **
5
14
  ** This outline pane contains the properties which are
6
15
  ** normally displayed to the user. See also: internalPane
7
16
  ** This pane hides the ones considered too low-level for the normal user.
8
17
  */
9
- var UI = require('solid-ui');
10
-
11
- var $rdf = require('rdflib');
12
18
 
13
19
  var ns = UI.ns;
14
- module.exports = {
20
+ var defaultPane = {
15
21
  icon: UI.icons.originalIconBase + 'about.png',
16
22
  name: 'default',
17
23
  audience: [ns.solid('Developer')],
@@ -20,44 +26,36 @@ module.exports = {
20
26
  },
21
27
  render: function render(subject, context) {
22
28
  var dom = context.dom;
23
-
24
29
  var filter = function filter(pred, inverse) {
25
30
  if (typeof context.session.paneRegistry.byName('internal').predicates[pred.uri] !== 'undefined') {
26
31
  return false;
27
32
  }
28
-
29
33
  if (inverse && pred.uri === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {
30
34
  return false;
31
35
  }
32
-
33
36
  return true;
34
37
  };
35
-
36
38
  var outliner = context.getOutliner(dom);
37
- var kb = context.session.store; // var outline = outliner; // @@
38
-
39
+ var kb = context.session.store;
40
+ // var outline = outliner; // @@
39
41
  UI.log.info('@defaultPane.render, dom is now ' + dom.location);
40
42
  subject = kb.canon(subject);
41
43
  var div = dom.createElement('div');
42
- div.setAttribute('class', 'defaultPane'); // appendRemoveIcon(div, subject, div)
44
+ div.setAttribute('class', 'defaultPane');
45
+ // appendRemoveIcon(div, subject, div)
43
46
 
44
47
  var plist = kb.statementsMatching(subject);
45
48
  outliner.appendPropertyTRs(div, plist, false, filter);
46
49
  plist = kb.statementsMatching(undefined, undefined, subject);
47
50
  outliner.appendPropertyTRs(div, plist, true, filter);
48
-
49
51
  if (subject.termType === 'Literal' && subject.value.slice(0, 7) === 'http://') {
50
52
  outliner.appendPropertyTRs(div, [$rdf.st(kb.sym(subject.value), UI.ns.link('uri'), subject)], true, filter);
51
53
  }
52
-
53
- if (subject.termType === 'NamedNode' && kb.updater.editable(UI.rdf.Util.uri.docpart(subject.uri), kb) || subject.termType === 'BlankNode' && kb.anyStatementMatching(subject) && kb.anyStatementMatching(subject).why && kb.anyStatementMatching(subject).why.uri && kb.updater.editable(kb.anyStatementMatching(subject).why.uri) // check the document containing something about of the bnode @@ what about as object?
54
-
55
- /* ! && HCIoptions["bottom insert highlights"].enabled */
56
- ) {
54
+ if (subject.termType === 'NamedNode' && kb.updater.editable(UI.rdf.Util.uri.docpart(subject.uri), kb) || subject.termType === 'BlankNode' && kb.anyStatementMatching(subject) && kb.anyStatementMatching(subject).why && kb.anyStatementMatching(subject).why.uri && kb.updater.editable(kb.anyStatementMatching(subject).why.uri)
55
+ // check the document containing something about of the bnode @@ what about as object?
56
+ /* ! && HCIoptions["bottom insert highlights"].enabled */) {
57
57
  var holdingTr = dom.createElement('tr'); // these are to minimize required changes
58
-
59
58
  var holdingTd = dom.createElement('td'); // in userinput.js
60
-
61
59
  holdingTd.setAttribute('colspan', '2');
62
60
  holdingTd.setAttribute('notSelectable', 'true');
63
61
  var img = dom.createElement('img');
@@ -67,12 +65,14 @@ module.exports = {
67
65
  e.stopPropagation();
68
66
  e.preventDefault();
69
67
  });
70
- img.className = 'bottom-border-active'; // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false)
71
-
68
+ img.className = 'bottom-border-active';
69
+ // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false)
72
70
  div.appendChild(holdingTr).appendChild(holdingTd).appendChild(img);
73
71
  }
74
-
75
72
  return div;
76
73
  }
77
- }; // ends
74
+ };
75
+
76
+ // ends
77
+ exports.defaultPane = defaultPane;
78
78
  //# sourceMappingURL=defaultPane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPane.js","names":["UI","require","$rdf","ns","module","exports","icon","icons","originalIconBase","name","audience","solid","label","_subject","render","subject","context","dom","filter","pred","inverse","session","paneRegistry","byName","predicates","uri","outliner","getOutliner","kb","store","log","info","location","canon","div","createElement","setAttribute","plist","statementsMatching","appendPropertyTRs","undefined","termType","value","slice","st","sym","link","updater","editable","rdf","Util","docpart","anyStatementMatching","why","holdingTr","holdingTd","img","src","addEventListener","addNewTripleIconMouseDownListener","e","UserInput","addNewPredicateObject","stopPropagation","preventDefault","className","appendChild"],"sources":["../src/defaultPane.js"],"sourcesContent":["/* Default Pane\n **\n ** This outline pane contains the properties which are\n ** normally displayed to the user. See also: internalPane\n ** This pane hides the ones considered too low-level for the normal user.\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\nconst ns = UI.ns\n\nmodule.exports = {\n icon: UI.icons.originalIconBase + 'about.png',\n\n name: 'default',\n\n audience: [ns.solid('Developer')],\n\n label: function (_subject) {\n return 'about '\n },\n\n render: function (subject, context) {\n const dom = context.dom\n\n const filter = function (pred, inverse) {\n if (\n typeof context.session.paneRegistry.byName('internal').predicates[\n pred.uri\n ] !== 'undefined'\n ) {\n return false\n }\n if (\n inverse &&\n pred.uri === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'\n ) {\n return false\n }\n return true\n }\n\n const outliner = context.getOutliner(dom)\n const kb = context.session.store\n // var outline = outliner; // @@\n UI.log.info('@defaultPane.render, dom is now ' + dom.location)\n subject = kb.canon(subject)\n const div = dom.createElement('div')\n div.setAttribute('class', 'defaultPane')\n // appendRemoveIcon(div, subject, div)\n\n let plist = kb.statementsMatching(subject)\n outliner.appendPropertyTRs(div, plist, false, filter)\n plist = kb.statementsMatching(undefined, undefined, subject)\n outliner.appendPropertyTRs(div, plist, true, filter)\n if (\n subject.termType === 'Literal' &&\n subject.value.slice(0, 7) === 'http://'\n ) {\n outliner.appendPropertyTRs(\n div,\n [$rdf.st(kb.sym(subject.value), UI.ns.link('uri'), subject)],\n true,\n filter\n )\n }\n if (\n (subject.termType === 'NamedNode' &&\n kb.updater.editable(UI.rdf.Util.uri.docpart(subject.uri), kb)) ||\n (subject.termType === 'BlankNode' &&\n kb.anyStatementMatching(subject) &&\n kb.anyStatementMatching(subject).why &&\n kb.anyStatementMatching(subject).why.uri &&\n kb.updater.editable(kb.anyStatementMatching(subject).why.uri))\n // check the document containing something about of the bnode @@ what about as object?\n /* ! && HCIoptions[\"bottom insert highlights\"].enabled */\n ) {\n const holdingTr = dom.createElement('tr') // these are to minimize required changes\n const holdingTd = dom.createElement('td') // in userinput.js\n holdingTd.setAttribute('colspan', '2')\n holdingTd.setAttribute('notSelectable', 'true')\n const img = dom.createElement('img')\n img.src = UI.icons.originalIconBase + 'tango/22-list-add-new.png'\n img.addEventListener('click', function addNewTripleIconMouseDownListener (\n e\n ) {\n outliner.UserInput.addNewPredicateObject(e)\n e.stopPropagation()\n e.preventDefault()\n })\n img.className = 'bottom-border-active'\n // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false)\n div\n .appendChild(holdingTr)\n .appendChild(holdingTd)\n .appendChild(img)\n }\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"defaultPane.js","names":["ns","UI","defaultPane","icon","icons","originalIconBase","name","audience","solid","label","_subject","render","subject","context","dom","filter","pred","inverse","session","paneRegistry","byName","predicates","uri","outliner","getOutliner","kb","store","log","info","location","canon","div","createElement","setAttribute","plist","statementsMatching","appendPropertyTRs","undefined","termType","value","slice","$rdf","st","sym","link","updater","editable","rdf","Util","docpart","anyStatementMatching","why","holdingTr","holdingTd","img","src","addEventListener","addNewTripleIconMouseDownListener","e","UserInput","addNewPredicateObject","stopPropagation","preventDefault","className","appendChild"],"sources":["../src/defaultPane.js"],"sourcesContent":["/* Default Pane\n **\n ** This outline pane contains the properties which are\n ** normally displayed to the user. See also: internalPane\n ** This pane hides the ones considered too low-level for the normal user.\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport const defaultPane = {\n icon: UI.icons.originalIconBase + 'about.png',\n\n name: 'default',\n\n audience: [ns.solid('Developer')],\n\n label: function (_subject) {\n return 'about '\n },\n\n render: function (subject, context) {\n const dom = context.dom\n\n const filter = function (pred, inverse) {\n if (\n typeof context.session.paneRegistry.byName('internal').predicates[\n pred.uri\n ] !== 'undefined'\n ) {\n return false\n }\n if (\n inverse &&\n pred.uri === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'\n ) {\n return false\n }\n return true\n }\n\n const outliner = context.getOutliner(dom)\n const kb = context.session.store\n // var outline = outliner; // @@\n UI.log.info('@defaultPane.render, dom is now ' + dom.location)\n subject = kb.canon(subject)\n const div = dom.createElement('div')\n div.setAttribute('class', 'defaultPane')\n // appendRemoveIcon(div, subject, div)\n\n let plist = kb.statementsMatching(subject)\n outliner.appendPropertyTRs(div, plist, false, filter)\n plist = kb.statementsMatching(undefined, undefined, subject)\n outliner.appendPropertyTRs(div, plist, true, filter)\n if (\n subject.termType === 'Literal' &&\n subject.value.slice(0, 7) === 'http://'\n ) {\n outliner.appendPropertyTRs(\n div,\n [$rdf.st(kb.sym(subject.value), UI.ns.link('uri'), subject)],\n true,\n filter\n )\n }\n if (\n (subject.termType === 'NamedNode' &&\n kb.updater.editable(UI.rdf.Util.uri.docpart(subject.uri), kb)) ||\n (subject.termType === 'BlankNode' &&\n kb.anyStatementMatching(subject) &&\n kb.anyStatementMatching(subject).why &&\n kb.anyStatementMatching(subject).why.uri &&\n kb.updater.editable(kb.anyStatementMatching(subject).why.uri))\n // check the document containing something about of the bnode @@ what about as object?\n /* ! && HCIoptions[\"bottom insert highlights\"].enabled */\n ) {\n const holdingTr = dom.createElement('tr') // these are to minimize required changes\n const holdingTd = dom.createElement('td') // in userinput.js\n holdingTd.setAttribute('colspan', '2')\n holdingTd.setAttribute('notSelectable', 'true')\n const img = dom.createElement('img')\n img.src = UI.icons.originalIconBase + 'tango/22-list-add-new.png'\n img.addEventListener('click', function addNewTripleIconMouseDownListener (\n e\n ) {\n outliner.UserInput.addNewPredicateObject(e)\n e.stopPropagation()\n e.preventDefault()\n })\n img.className = 'bottom-border-active'\n // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false)\n div\n .appendChild(holdingTr)\n .appendChild(holdingTd)\n .appendChild(img)\n }\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
@@ -1,38 +1,44 @@
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
+ var mime = _interopRequireWildcard(require("mime-types"));
11
+ var DOKIELI_TEMPLATE = _interopRequireWildcard(require("./new.js"));
12
+ 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); }
13
+ 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
14
  /* Human-readable editable "Dokieli" Pane
4
15
  **
5
16
  ** This outline pane contains the document contents for a Dokieli document
6
17
  ** The dokeili system allows the user to edit a document including anotations
7
18
  ** review. It does not use turtle, but RDF/a
8
19
  */
9
- var UI = require('solid-ui');
10
-
11
- var $rdf = require('rdflib');
12
-
13
- var mime = require('mime-types'); // const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok
14
-
15
-
16
- var DOKIELI_TEMPLATE = require('./new.js'); // Distributed with this library
17
-
18
-
19
- module.exports = {
20
+ // const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok
21
+ // Distributed with this library
22
+ var _default = {
20
23
  icon: UI.icons.iconBase + 'dokieli-logo.png',
21
24
  // @@ improve? more like doccument?
25
+
22
26
  name: 'Dokieli',
23
27
  mintClass: UI.ns.solid('DokieliDocument'),
24
28
  // @@ A better class?
29
+
25
30
  label: function label(subject, context) {
26
31
  var kb = context.session.store;
27
32
  var ns = UI.ns;
28
- var allowed = [// 'text/plain',
29
- 'text/html', 'application/xhtml+xml' // 'image/png', 'image/jpeg', 'application/pdf',
33
+ var allowed = [
34
+ // 'text/plain',
35
+ 'text/html', 'application/xhtml+xml'
36
+ // 'image/png', 'image/jpeg', 'application/pdf',
30
37
  // 'video/mp4'
31
38
  ];
32
39
 
33
40
  var hasContentTypeIn = function hasContentTypeIn(kb, x, displayables) {
34
41
  var cts = kb.fetcher.getHeader(x, 'content-type');
35
-
36
42
  if (cts) {
37
43
  for (var j = 0; j < cts.length; j++) {
38
44
  for (var k = 0; k < displayables.length; k++) {
@@ -42,56 +48,44 @@ module.exports = {
42
48
  }
43
49
  }
44
50
  }
45
-
46
51
  return false;
47
- }; // This data coul d come from a fetch OR from ldp comtaimner
48
-
52
+ };
49
53
 
54
+ // This data coul d come from a fetch OR from ldp comtaimner
50
55
  var hasContentTypeIn2 = function hasContentTypeIn2(kb, x, displayables) {
51
56
  var t = kb.findTypeURIs(subject);
52
-
53
57
  for (var k = 0; k < displayables.length; k++) {
54
58
  if ($rdf.Util.mediaTypeClass(displayables[k]).uri in t) {
55
59
  return true;
56
60
  }
57
61
  }
58
-
59
62
  return false;
60
63
  };
61
-
62
64
  if (!subject.uri) return null; // no bnodes
63
65
 
64
66
  var t = kb.findTypeURIs(subject);
65
67
  if (t[ns.link('WebPage').uri]) return 'view';
66
-
67
68
  if (hasContentTypeIn(kb, subject, allowed) || hasContentTypeIn2(kb, subject, allowed)) {
68
69
  return 'Dok';
69
70
  }
70
-
71
71
  return null;
72
72
  },
73
73
  // Create a new folder in a Solid system, with a dokieli editable document in it
74
74
  mintNew: function mintNew(context, newPaneOptions) {
75
75
  var kb = context.session.store;
76
76
  var newInstance = newPaneOptions.newInstance;
77
-
78
77
  if (!newInstance) {
79
78
  var uri = newPaneOptions.newBase;
80
-
81
79
  if (uri.endsWith('/')) {
82
80
  uri = uri.slice(0, -1);
83
81
  newPaneOptions.newBase = uri;
84
82
  }
85
-
86
83
  newInstance = kb.sym(uri);
87
84
  }
88
-
89
85
  var contentType = mime.lookup(newInstance.uri);
90
-
91
86
  if (!contentType || !contentType.includes('html')) {
92
87
  newInstance = $rdf.sym(newInstance.uri + '.html');
93
88
  }
94
-
95
89
  newPaneOptions.newInstance = newInstance; // Save for creation system
96
90
 
97
91
  console.log('New dokieli will make: ' + newInstance);
@@ -118,36 +112,37 @@ module.exports = {
118
112
  render: function render(subject, context) {
119
113
  var myDocument = context.dom;
120
114
  var div = myDocument.createElement('div');
121
- var kb = context.session.store; // @@ When we can, use CSP to turn off scripts within the iframe
115
+ var kb = context.session.store;
122
116
 
117
+ // @@ When we can, use CSP to turn off scripts within the iframe
123
118
  div.setAttribute('class', 'docView');
124
119
  var iframe = myDocument.createElement('IFRAME');
125
120
  iframe.setAttribute('src', subject.uri); // allow-same-origin
126
-
127
121
  iframe.setAttribute('class', 'doc');
128
122
  var cts = kb.fetcher.getHeader(subject.doc(), 'content-type');
129
123
  var ct = cts ? cts[0] : null;
130
-
131
124
  if (ct) {
132
125
  console.log('dokieliPane: c-t:' + ct);
133
126
  } else {
134
127
  console.log('dokieliPane: unknown content-type?');
135
- } // @@ NOte beflow - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.
128
+ }
129
+
130
+ // @@ NOte beflow - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.
136
131
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
137
132
  // You can;'t have any sandbox and allow plugins.
138
133
  // We could sandbox only HTML files I suppose.
139
134
  // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html
140
- // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static
141
135
 
136
+ // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static
142
137
 
143
138
  iframe.setAttribute('style', 'resize = both; height: 40em; width:40em;'); // @@ improve guess
144
139
  // iframe.setAttribute('height', '480')
145
140
  // iframe.setAttribute('width', '640')
146
-
147
141
  var tr = myDocument.createElement('tr');
148
142
  tr.appendChild(iframe);
149
143
  div.appendChild(tr);
150
144
  return div;
151
145
  }
152
146
  }; // ends
147
+ exports["default"] = _default;
153
148
  //# sourceMappingURL=dokieliPane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dokieliPane.js","names":["UI","require","$rdf","mime","DOKIELI_TEMPLATE","module","exports","icon","icons","iconBase","name","mintClass","ns","solid","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","t","findTypeURIs","Util","mediaTypeClass","uri","link","mintNew","newPaneOptions","newInstance","newBase","endsWith","slice","sym","contentType","lookup","includes","console","log","htmlContents","filename","split","decodeURIComponent","encodedTitle","replace","Promise","resolve","webOperation","data","then","err","render","myDocument","dom","div","createElement","setAttribute","iframe","doc","ct","tr","appendChild"],"sources":["../../src/dokieli/dokieliPane.js"],"sourcesContent":["/* Human-readable editable \"Dokieli\" Pane\n **\n ** This outline pane contains the document contents for a Dokieli document\n ** The dokeili system allows the user to edit a document including anotations\n ** review. It does not use turtle, but RDF/a\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\nconst mime = require('mime-types')\n\n// const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok\n\nconst DOKIELI_TEMPLATE = require('./new.js') // Distributed with this library\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'dokieli-logo.png', // @@ improve? more like doccument?\n\n name: 'Dokieli',\n\n mintClass: UI.ns.solid('DokieliDocument'), // @@ A better class?\n\n label: function (subject, context) {\n const kb = context.session.store\n const ns = UI.ns\n const allowed = [\n // 'text/plain',\n 'text/html',\n 'application/xhtml+xml'\n // 'image/png', 'image/jpeg', 'application/pdf',\n // 'video/mp4'\n ]\n\n const hasContentTypeIn = function (kb, x, displayables) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let 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 // This data coul d come from a fetch OR from ldp comtaimner\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(subject)\n for (let k = 0; k < displayables.length; k++) {\n if ($rdf.Util.mediaTypeClass(displayables[k]).uri in t) {\n return true\n }\n }\n return false\n }\n\n if (!subject.uri) return null // no bnodes\n\n const t = kb.findTypeURIs(subject)\n if (t[ns.link('WebPage').uri]) return 'view'\n\n if (\n hasContentTypeIn(kb, subject, allowed) ||\n hasContentTypeIn2(kb, subject, allowed)\n ) {\n return 'Dok'\n }\n\n return null\n },\n\n // Create a new folder in a Solid system, with a dokieli editable document in it\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n let newInstance = newPaneOptions.newInstance\n if (!newInstance) {\n let uri = newPaneOptions.newBase\n if (uri.endsWith('/')) {\n uri = uri.slice(0, -1)\n newPaneOptions.newBase = uri\n }\n newInstance = kb.sym(uri)\n }\n\n const contentType = mime.lookup(newInstance.uri)\n if (!contentType || !contentType.includes('html')) {\n newInstance = $rdf.sym(newInstance.uri + '.html')\n }\n newPaneOptions.newInstance = newInstance // Save for creation system\n\n console.log('New dokieli will make: ' + newInstance)\n\n let htmlContents = DOKIELI_TEMPLATE\n let filename = newInstance.uri.split('/').slice(-1)[0]\n filename = decodeURIComponent(filename.split('.')[0])\n const encodedTitle = filename\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n htmlContents = htmlContents.replace('<title>', '<title>' + encodedTitle)\n htmlContents = htmlContents.replace(\n '</article>',\n '<h1>' + encodedTitle + '</h1></article>'\n )\n console.log('@@ New HTML for Dok:' + htmlContents)\n return new Promise(function (resolve) {\n kb.fetcher\n .webOperation('PUT', newInstance.uri, {\n data: htmlContents,\n contentType: 'text/html'\n })\n .then(function () {\n console.log(\n 'new Dokieli document created at ' + newPaneOptions.newInstance\n )\n resolve(newPaneOptions)\n })\n .catch(function (err) {\n console.log(\n 'Error creating dokelili dok at ' +\n newPaneOptions.newInstance +\n ': ' +\n err\n )\n })\n })\n },\n\n // Derived from: humanReadablePane .. share code?\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const iframe = myDocument.createElement('IFRAME')\n iframe.setAttribute('src', subject.uri) // allow-same-origin\n iframe.setAttribute('class', 'doc')\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0] : null\n if (ct) {\n console.log('dokieliPane: c-t:' + ct)\n } else {\n console.log('dokieliPane: unknown content-type?')\n }\n\n // @@ NOte beflow - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe\n // You can;'t have any sandbox and allow plugins.\n // We could sandbox only HTML files I suppose.\n // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html\n\n // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static\n\n iframe.setAttribute('style', 'resize = both; height: 40em; width:40em;') // @@ improve guess\n // iframe.setAttribute('height', '480')\n // iframe.setAttribute('width', '640')\n const tr = myDocument.createElement('tr')\n tr.appendChild(iframe)\n div.appendChild(tr)\n return div\n }\n}\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"dokieliPane.js","names":["icon","UI","icons","iconBase","name","mintClass","ns","solid","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","t","findTypeURIs","$rdf","Util","mediaTypeClass","uri","link","mintNew","newPaneOptions","newInstance","newBase","endsWith","slice","sym","contentType","mime","lookup","includes","console","log","htmlContents","DOKIELI_TEMPLATE","filename","split","decodeURIComponent","encodedTitle","replace","Promise","resolve","webOperation","data","then","err","render","myDocument","dom","div","createElement","setAttribute","iframe","doc","ct","tr","appendChild"],"sources":["../../src/dokieli/dokieliPane.js"],"sourcesContent":["/* Human-readable editable \"Dokieli\" Pane\n **\n ** This outline pane contains the document contents for a Dokieli document\n ** The dokeili system allows the user to edit a document including anotations\n ** review. It does not use turtle, but RDF/a\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport * as mime from 'mime-types'\n\n// const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok\n\nimport * as DOKIELI_TEMPLATE from './new.js' // Distributed with this library\n\nexport default {\n icon: UI.icons.iconBase + 'dokieli-logo.png', // @@ improve? more like doccument?\n\n name: 'Dokieli',\n\n mintClass: UI.ns.solid('DokieliDocument'), // @@ A better class?\n\n label: function (subject, context) {\n const kb = context.session.store\n const ns = UI.ns\n const allowed = [\n // 'text/plain',\n 'text/html',\n 'application/xhtml+xml'\n // 'image/png', 'image/jpeg', 'application/pdf',\n // 'video/mp4'\n ]\n\n const hasContentTypeIn = function (kb, x, displayables) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let 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 // This data coul d come from a fetch OR from ldp comtaimner\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(subject)\n for (let k = 0; k < displayables.length; k++) {\n if ($rdf.Util.mediaTypeClass(displayables[k]).uri in t) {\n return true\n }\n }\n return false\n }\n\n if (!subject.uri) return null // no bnodes\n\n const t = kb.findTypeURIs(subject)\n if (t[ns.link('WebPage').uri]) return 'view'\n\n if (\n hasContentTypeIn(kb, subject, allowed) ||\n hasContentTypeIn2(kb, subject, allowed)\n ) {\n return 'Dok'\n }\n\n return null\n },\n\n // Create a new folder in a Solid system, with a dokieli editable document in it\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n let newInstance = newPaneOptions.newInstance\n if (!newInstance) {\n let uri = newPaneOptions.newBase\n if (uri.endsWith('/')) {\n uri = uri.slice(0, -1)\n newPaneOptions.newBase = uri\n }\n newInstance = kb.sym(uri)\n }\n\n const contentType = mime.lookup(newInstance.uri)\n if (!contentType || !contentType.includes('html')) {\n newInstance = $rdf.sym(newInstance.uri + '.html')\n }\n newPaneOptions.newInstance = newInstance // Save for creation system\n\n console.log('New dokieli will make: ' + newInstance)\n\n let htmlContents = DOKIELI_TEMPLATE\n let filename = newInstance.uri.split('/').slice(-1)[0]\n filename = decodeURIComponent(filename.split('.')[0])\n const encodedTitle = filename\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n htmlContents = htmlContents.replace('<title>', '<title>' + encodedTitle)\n htmlContents = htmlContents.replace(\n '</article>',\n '<h1>' + encodedTitle + '</h1></article>'\n )\n console.log('@@ New HTML for Dok:' + htmlContents)\n return new Promise(function (resolve) {\n kb.fetcher\n .webOperation('PUT', newInstance.uri, {\n data: htmlContents,\n contentType: 'text/html'\n })\n .then(function () {\n console.log(\n 'new Dokieli document created at ' + newPaneOptions.newInstance\n )\n resolve(newPaneOptions)\n })\n .catch(function (err) {\n console.log(\n 'Error creating dokelili dok at ' +\n newPaneOptions.newInstance +\n ': ' +\n err\n )\n })\n })\n },\n\n // Derived from: humanReadablePane .. share code?\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const iframe = myDocument.createElement('IFRAME')\n iframe.setAttribute('src', subject.uri) // allow-same-origin\n iframe.setAttribute('class', 'doc')\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0] : null\n if (ct) {\n console.log('dokieliPane: c-t:' + ct)\n } else {\n console.log('dokieliPane: unknown content-type?')\n }\n\n // @@ NOte beflow - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe\n // You can;'t have any sandbox and allow plugins.\n // We could sandbox only HTML files I suppose.\n // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html\n\n // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static\n\n iframe.setAttribute('style', 'resize = both; height: 40em; width:40em;') // @@ improve guess\n // iframe.setAttribute('height', '480')\n // iframe.setAttribute('width', '640')\n const tr = myDocument.createElement('tr')\n tr.appendChild(iframe)\n div.appendChild(tr)\n return div\n }\n}\n// ends\n"],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  "use strict";
2
2
 
3
- module.exports = "\n<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# cc: https://creativecommons.org/ns# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork sioc:Post prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>\n";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = "\n<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# cc: https://creativecommons.org/ns# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork sioc:Post prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>\n";
8
+ exports["default"] = _default;
4
9
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","names":["module","exports"],"sources":["../../src/dokieli/new.js"],"sourcesContent":["module.exports = `\n<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# cc: https://creativecommons.org/ns# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork sioc:Post prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>\n`\n"],"mappings":";;AAAAA,MAAM,CAACC,OAAP"}
1
+ {"version":3,"file":"new.js","names":[],"sources":["../../src/dokieli/new.js"],"sourcesContent":["export default `\n<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# cc: https://creativecommons.org/ns# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork sioc:Post prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>\n`\n"],"mappings":""}
package/lib/form/pane.js CHANGED
@@ -1,23 +1,22 @@
1
1
  "use strict";
2
2
 
3
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
-
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.formPane = void 0;
5
8
  var UI = _interopRequireWildcard(require("solid-ui"));
6
-
7
9
  var _solidLogic = require("solid-logic");
8
-
9
10
  var $rdf = _interopRequireWildcard(require("rdflib"));
10
-
11
11
  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); }
12
-
13
12
  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; }
14
-
15
13
  /*
16
- ** Pane for running existing forms for any object
14
+ ** Pane for running existing forms for any object
17
15
  **
18
16
  */
17
+
19
18
  var ns = UI.ns;
20
- module.exports = {
19
+ var formPane = {
21
20
  icon: UI.icons.iconBase + 'noun_122196.svg',
22
21
  name: 'form',
23
22
  audience: [ns.solid('PowerUser')],
@@ -31,70 +30,70 @@ module.exports = {
31
30
  render: function render(subject, context) {
32
31
  var kb = context.session.store;
33
32
  var dom = context.dom;
34
-
35
33
  var mention = function complain(message, style) {
36
34
  var pre = dom.createElement('p');
37
35
  pre.setAttribute('style', style || 'color: grey; background-color: white');
38
36
  box.appendChild(pre).textContent = message;
39
37
  return pre;
40
38
  };
41
-
42
39
  var complain = function complain(message, style) {
43
40
  mention(message, 'style', style || 'color: grey; background-color: #fdd;');
44
41
  };
45
-
46
42
  var complainIfBad = function complainIfBad(ok, body) {
47
- if (ok) {// setModifiedDate(store, kb, store);
43
+ if (ok) {
44
+ // setModifiedDate(store, kb, store);
48
45
  // rerender(box); // Deleted forms at the moment
49
46
  } else complain('Sorry, failed to save your change:\n' + body);
50
- }; // The question of where to store this data about subject
47
+ };
48
+
49
+ // The question of where to store this data about subject
51
50
  // This in general needs a whole lot more thought
52
51
  // and it connects to the discoverbility through links
53
- // const t = kb.findTypeURIs(subject)
54
52
 
53
+ // const t = kb.findTypeURIs(subject)
55
54
 
56
55
  var me = _solidLogic.authn.currentUser();
57
-
58
56
  var box = dom.createElement('div');
59
57
  box.setAttribute('class', 'formPane');
60
-
61
58
  if (!me) {
62
59
  mention('You are not logged in. If you log in and have ' + 'workspaces then you would be able to select workspace in which ' + 'to put this new information');
63
60
  } else {
64
61
  var ws = kb.each(me, ns.ui('workspace'));
65
-
66
62
  if (ws.length === 0) {
67
63
  mention("You don't seem to have any workspaces defined. " + 'A workspace is a place on the web (http://..) or in ' + 'the file system (file:///) to store application data.\n');
68
- } else {// @@
64
+ } else {
65
+ // @@
69
66
  }
70
- } // Render forms using a given store
67
+ }
71
68
 
69
+ // Render forms using a given store
72
70
 
73
71
  var renderFormsFor = function renderFormsFor(store, subject) {
74
72
  kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {
75
- if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body); // Render the forms
73
+ if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body);
74
+
75
+ // Render the forms
76
76
 
77
- var forms = UI.widgets.formsFor(subject); // complain('Form for editing this form:');
77
+ var forms = UI.widgets.formsFor(subject);
78
78
 
79
+ // complain('Form for editing this form:');
79
80
  for (var i = 0; i < forms.length; i++) {
80
81
  var form = forms[i];
81
82
  var heading = dom.createElement('h4');
82
83
  box.appendChild(heading);
83
-
84
84
  if (form.uri) {
85
85
  var formStore = $rdf.Util.uri.document(form.uri);
86
-
87
86
  if (formStore.uri !== form.uri) {
88
87
  // The form is a hash-type URI
89
88
  var e = box.appendChild(UI.widgets.editFormButton(dom, box, form, formStore, complainIfBad));
90
89
  e.setAttribute('style', 'float: right;');
91
90
  }
92
91
  }
93
-
94
92
  var anchor = dom.createElement('a');
95
93
  anchor.setAttribute('href', form.uri);
96
94
  heading.appendChild(anchor);
97
95
  anchor.textContent = UI.utils.label(form, true);
96
+
98
97
  /* Keep tis as a reminder to let a New one have its URI given by user
99
98
  mention("Where will this information be stored?")
100
99
  const ele = dom.createElement('input');
@@ -110,21 +109,22 @@ module.exports = {
110
109
  }
111
110
  }); // end: when store loded
112
111
  }; // renderFormsFor
112
+
113
113
  // Figure out what store
114
- // Which places are editable and have stuff about the subject?
115
114
 
115
+ // Which places are editable and have stuff about the subject?
116
116
 
117
- var store = null; // 1. The document URI of the subject itself
117
+ var store = null;
118
118
 
119
+ // 1. The document URI of the subject itself
119
120
  var docuri = $rdf.Util.uri.docpart(subject.uri);
120
-
121
121
  if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {
122
122
  store = subject.doc();
123
123
  } // an editable data file with hash
124
124
 
125
+ store = store || kb.any(kb.sym(docuri), ns.link('annotationStore'));
125
126
 
126
- store = store || kb.any(kb.sym(docuri), ns.link('annotationStore')); // 2. where stuff is already stored
127
-
127
+ // 2. where stuff is already stored
128
128
  if (!store) {
129
129
  var docs = {};
130
130
  var docList = [];
@@ -134,37 +134,28 @@ module.exports = {
134
134
  store.statementsMatching(undefined, undefined, subject).forEach(function (st) {
135
135
  docs[st.why.uri] = 2;
136
136
  });
137
-
138
- for (var d in docs) {
139
- docList.push(docs[d], d);
140
- }
141
-
137
+ for (var d in docs) docList.push(docs[d], d);
142
138
  docList.sort();
143
-
144
139
  for (var i = 0; i < docList.length; i++) {
145
140
  var uri = docList[i][1];
146
-
147
141
  if (uri && store.updater.editable(uri)) {
148
142
  store = store.sym(uri);
149
143
  break;
150
144
  }
151
145
  }
152
- } // 3. In a workspace store
153
- // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)
154
-
146
+ }
155
147
 
148
+ // 3. In a workspace store
149
+ // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)
156
150
  var _followeach = function _followeach(kb, subject, path) {
157
151
  if (path.length === 0) return [subject];
158
152
  var oo = kb.each(subject, path[0]);
159
153
  var res = [];
160
-
161
154
  for (var _i = 0; _i < oo.length; _i++) {
162
155
  res = res.concat(_followeach(kb, oo[_i], path.slice(1)));
163
156
  }
164
-
165
157
  return res;
166
158
  };
167
-
168
159
  var date = '2014'; // @@@@@@@@@@@@ pass as parameter
169
160
 
170
161
  if (store) {
@@ -175,13 +166,11 @@ module.exports = {
175
166
  var foobarbaz = UI.login.selectWorkspace(dom, function (ws) {
176
167
  mention('Workspace selected OK: ' + ws);
177
168
  var activities = store.each(undefined, ns.space('workspace'), ws);
178
-
179
169
  for (var j = 0; j < activities.length; j++) {
180
170
  var act = activities[j];
181
171
  var subjectDoc2 = store.any(ws, ns.space('store'));
182
172
  var start = store.any(ws, ns.cal('dtstart')).value();
183
173
  var end = store.any(ws, ns.cal('dtend')).value();
184
-
185
174
  if (subjectDoc2 && start && end && start <= date && end > date) {
186
175
  renderFormsFor(subjectDoc2, subject);
187
176
  break;
@@ -192,8 +181,8 @@ module.exports = {
192
181
  });
193
182
  box.appendChild(foobarbaz);
194
183
  }
195
-
196
184
  return box;
197
185
  }
198
186
  };
187
+ exports.formPane = formPane;
199
188
  //# sourceMappingURL=pane.js.map