solid-panes 3.5.29-alpha.1 → 3.5.29

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 (141) hide show
  1. package/lib/RDFXMLPane.js +10 -2
  2. package/lib/RDFXMLPane.js.map +1 -1
  3. package/lib/argument/argumentPane.js +7 -5
  4. package/lib/argument/argumentPane.js.map +1 -1
  5. package/lib/attach/attachPane.js +13 -7
  6. package/lib/attach/attachPane.js.map +1 -1
  7. package/lib/audio/audioPane.js +13 -6
  8. package/lib/audio/audioPane.js.map +1 -1
  9. package/lib/classInstancePane.js +11 -3
  10. package/lib/classInstancePane.js.map +1 -1
  11. package/lib/dashboard/basicPreferences.js +96 -104
  12. package/lib/dashboard/basicPreferences.js.map +1 -1
  13. package/lib/dashboard/homepage.js +27 -31
  14. package/lib/dashboard/homepage.js.map +1 -1
  15. package/lib/dataContentPane.js +12 -4
  16. package/lib/dataContentPane.js.map +1 -1
  17. package/lib/defaultPane.js +11 -3
  18. package/lib/defaultPane.js.map +1 -1
  19. package/lib/dokieli/dokieliPane.js +15 -11
  20. package/lib/dokieli/dokieliPane.js.map +1 -1
  21. package/lib/dokieli/new.js +6 -1
  22. package/lib/dokieli/new.js.map +1 -1
  23. package/lib/form/pane.js +8 -5
  24. package/lib/form/pane.js.map +1 -1
  25. package/lib/home/homePane.d.ts.map +1 -1
  26. package/lib/home/homePane.js +35 -49
  27. package/lib/home/homePane.js.map +1 -1
  28. package/lib/imagePane.js +11 -2
  29. package/lib/imagePane.js.map +1 -1
  30. package/lib/index.js +2 -2
  31. package/lib/index.js.map +1 -1
  32. package/lib/mainPage/header.js +65 -73
  33. package/lib/mainPage/header.js.map +1 -1
  34. package/lib/mainPage/index.js +17 -19
  35. package/lib/mainPage/index.js.map +1 -1
  36. package/lib/microblogPane/microblogPane.js +82 -84
  37. package/lib/microblogPane/microblogPane.js.map +1 -1
  38. package/lib/n3Pane.js +11 -2
  39. package/lib/n3Pane.js.map +1 -1
  40. package/lib/outline/licenseOptions.js +13 -11
  41. package/lib/outline/licenseOptions.js.map +1 -1
  42. package/lib/outline/manager.js +581 -615
  43. package/lib/outline/manager.js.map +1 -1
  44. package/lib/outline/manager.test.js +16 -15
  45. package/lib/outline/manager.test.js.map +1 -1
  46. package/lib/outline/outlineIcons.js +10 -2
  47. package/lib/outline/outlineIcons.js.map +1 -1
  48. package/lib/outline/propertyViews.d.ts +3 -2
  49. package/lib/outline/propertyViews.d.ts.map +1 -1
  50. package/lib/outline/propertyViews.js +7 -5
  51. package/lib/outline/propertyViews.js.map +1 -1
  52. package/lib/outline/propertyViews.test.js +6 -4
  53. package/lib/outline/propertyViews.test.js.map +1 -1
  54. package/lib/outline/queryByExample.js +6 -6
  55. package/lib/outline/queryByExample.js.map +1 -1
  56. package/lib/outline/userInput.js +7 -5
  57. package/lib/outline/userInput.js.map +1 -1
  58. package/lib/playlist/playlistPane.js +13 -6
  59. package/lib/playlist/playlistPane.js.map +1 -1
  60. package/lib/profile/editProfile.view.d.ts.map +1 -1
  61. package/lib/profile/editProfile.view.js +16 -0
  62. package/lib/profile/editProfile.view.js.map +1 -1
  63. package/lib/registerPanes.js +93 -50
  64. package/lib/registerPanes.js.map +1 -1
  65. package/lib/schedule/formsForSchedule.js +6 -1
  66. package/lib/schedule/formsForSchedule.js.map +1 -1
  67. package/lib/schedule/schedulePane.js +9 -4
  68. package/lib/schedule/schedulePane.js.map +1 -1
  69. package/lib/slideshow/slideshowPane.js +16 -11
  70. package/lib/slideshow/slideshowPane.js.map +1 -1
  71. package/lib/socialPane.js +16 -12
  72. package/lib/socialPane.js.map +1 -1
  73. package/lib/tabbed/tabbedPane.js +32 -34
  74. package/lib/tabbed/tabbedPane.js.map +1 -1
  75. package/lib/tableViewPane.js +12 -3
  76. package/lib/tableViewPane.js.map +1 -1
  77. package/lib/test-import-export/common.js +6 -2
  78. package/lib/test-import-export/common.js.map +1 -1
  79. package/lib/test-import-export/edit-importer.js +9 -11
  80. package/lib/test-import-export/edit-importer.js.map +1 -1
  81. package/lib/transaction/pane.js +12 -6
  82. package/lib/transaction/pane.js.map +1 -1
  83. package/lib/transaction/period.js +11 -4
  84. package/lib/transaction/period.js.map +1 -1
  85. package/lib/trip/tripPane.js +12 -5
  86. package/lib/trip/tripPane.js.map +1 -1
  87. package/lib/trustedApplications/trustedApplications.dom.js +4 -1
  88. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  89. package/lib/trustedApplications/trustedApplications.test.js +3 -0
  90. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  91. package/lib/trustedApplications/trustedApplications.utils.js +1 -1
  92. package/lib/trustedApplications/trustedApplications.view.js +38 -40
  93. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  94. package/lib/ui/pane.js +12 -5
  95. package/lib/ui/pane.js.map +1 -1
  96. package/lib/versionInfo.js +3 -3
  97. package/lib/versionInfo.js.map +1 -1
  98. package/lib/video/videoPane.js +12 -5
  99. package/lib/video/videoPane.js.map +1 -1
  100. package/package.json +20 -22
  101. package/src/RDFXMLPane.js +2 -2
  102. package/src/argument/argumentPane.js +1 -1
  103. package/src/attach/attachPane.js +3 -3
  104. package/src/audio/audioPane.js +3 -3
  105. package/src/classInstancePane.js +3 -3
  106. package/src/dataContentPane.js +3 -4
  107. package/src/defaultPane.js +3 -3
  108. package/src/dokieli/dokieliPane.js +5 -5
  109. package/src/dokieli/new.js +1 -1
  110. package/src/form/pane.js +2 -2
  111. package/src/home/homePane.ts +1 -14
  112. package/src/imagePane.js +2 -2
  113. package/src/index.ts +1 -1
  114. package/src/microblogPane/microblogPane.js +1 -1
  115. package/src/n3Pane.js +2 -2
  116. package/src/outline/licenseOptions.js +9 -8
  117. package/src/outline/manager.js +18 -20
  118. package/src/outline/manager.test.ts +6 -0
  119. package/src/outline/outlineIcons.js +4 -2
  120. package/src/outline/propertyViews.test.ts +7 -1
  121. package/src/outline/propertyViews.ts +3 -3
  122. package/src/outline/queryByExample.js +3 -9
  123. package/src/outline/userInput.js +1 -1
  124. package/src/playlist/playlistPane.js +3 -3
  125. package/src/profile/editProfile.view.ts +20 -0
  126. package/src/registerPanes.js +92 -52
  127. package/src/schedule/formsForSchedule.js +1 -1
  128. package/src/schedule/schedulePane.js +6 -2
  129. package/src/slideshow/slideshowPane.js +3 -6
  130. package/src/socialPane.js +4 -5
  131. package/src/tableViewPane.js +3 -3
  132. package/src/test-import-export/common.js +1 -1
  133. package/src/test-import-export/edit-importer.js +5 -10
  134. package/src/transaction/pane.js +3 -3
  135. package/src/transaction/period.js +2 -2
  136. package/src/trip/tripPane.js +3 -3
  137. package/src/trustedApplications/trustedApplications.test.ts +4 -0
  138. package/src/ui/pane.js +3 -3
  139. package/src/versionInfo.ts +3 -3
  140. package/src/video/videoPane.js +3 -3
  141. package/webpack.config.js +3 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-panes",
3
- "version": "3.5.29-alpha.1",
3
+ "version": "3.5.29",
4
4
  "description": "Solid-compatible Panes: applets and views for the mashlib and databrowser",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "clean": "rm -rf dist lib",
16
16
  "lint": "eslint 'src/**/*.js' 'src/**/*.ts'",
17
17
  "lint-fix": "eslint 'src/**/*.js' 'src/**/*.ts' --fix",
18
- "test": "npm run lint && jest",
18
+ "test": "npm run lint && jest src/**/*test*",
19
19
  "test-watch": "npm run lint && jest --onlyChanged --watch",
20
20
  "prepublishOnly": "npm test && npm run build",
21
21
  "postversion": "git push origin main --follow-tags",
@@ -46,47 +46,45 @@
46
46
  "homepage": "https://github.com/solidos/solid-panes",
47
47
  "dependencies": {
48
48
  "@solid/better-simple-slideshow": "^0.1.0",
49
- "activitystreams-pane": "0.6.8",
50
- "chat-pane": "2.4.20",
51
- "contacts-pane": "^2.6.6-alpha",
52
- "folder-pane": "^2.4.20",
53
- "issue-pane": "2.4.14",
54
- "marked": "^4.2.2",
55
- "meeting-pane": "^2.3.14",
49
+ "activitystreams-pane": "0.6.9",
50
+ "chat-pane": "2.4.21",
51
+ "contacts-pane": "^2.6.8",
52
+ "folder-pane": "^2.4.21",
53
+ "issue-pane": "2.4.15",
54
+ "marked": "^4.2.12",
55
+ "meeting-pane": "^2.3.15",
56
56
  "mime-types": "^2.1.35",
57
- "pane-registry": "2.4.13",
58
- "profile-pane": "^1.0.14-alpha.1",
59
- "rdflib": "^2.2.21",
60
- "solid-logic": "^2.0.1",
57
+ "profile-pane": "^1.0.15",
61
58
  "solid-namespace": "^0.5.2",
62
- "solid-ui": "2.4.24",
63
- "source-pane": "2.2.19"
59
+ "solid-ui": "2.4.25",
60
+ "source-pane": "2.2.20"
64
61
  },
65
62
  "devDependencies": {
66
- "@babel/cli": "^7.19.3",
67
- "@babel/core": "^7.20.2",
63
+ "@babel/cli": "^7.20.7",
64
+ "@babel/core": "^7.20.12",
68
65
  "@babel/preset-env": "^7.20.2",
69
66
  "@babel/preset-typescript": "^7.18.6",
70
- "@testing-library/dom": "^8.19.0",
67
+ "@testing-library/dom": "^8.20.0",
71
68
  "@testing-library/jest-dom": "^5.16.5",
72
69
  "@types/jest": "^27.5.2",
73
70
  "@types/webpack-env": "^1.18.0",
74
- "@typescript-eslint/eslint-plugin": "^5.43.0",
75
- "@typescript-eslint/parser": "^5.43.0",
71
+ "@typescript-eslint/eslint-plugin": "^5.50.0",
72
+ "@typescript-eslint/parser": "^5.50.0",
76
73
  "babel-loader": "^8.3.0",
77
74
  "babel-plugin-inline-import": "^3.0.0",
78
75
  "buffer": "^6.0.3",
79
- "eslint": "^8.27.0",
76
+ "eslint": "^8.33.0",
80
77
  "html-webpack-plugin": "^5.5.0",
81
78
  "husky": "^7.0.4",
82
79
  "jest": "^27.5.1",
83
80
  "jest-fetch-mock": "^3.0.3",
84
81
  "lint-staged": "^12.5.0",
82
+ "node-polyfill-webpack-plugin": "^2.0.1",
85
83
  "path-browserify": "^1.0.1",
86
84
  "react": "^18.2.0",
87
85
  "react-dom": "^18.2.0",
88
86
  "ts-jest": "^27.1.5",
89
- "typescript": "^4.8.2",
87
+ "typescript": "^4.9.5",
90
88
  "webpack": "^5.75.0",
91
89
  "webpack-cli": "^4.10.0",
92
90
  "webpack-dev-server": "^4.11.1"
package/src/RDFXMLPane.js CHANGED
@@ -5,10 +5,10 @@
5
5
  ** in generated N3 syntax.
6
6
  */
7
7
 
8
- const UI = require('solid-ui')
8
+ import * as UI from 'solid-ui'
9
9
  const ns = UI.ns
10
10
 
11
- module.exports = {
11
+ export const RDFXMLPane = {
12
12
  icon: UI.icons.originalIconBase + '22-text-xml4.png',
13
13
 
14
14
  name: 'RDFXML',
@@ -11,7 +11,7 @@ import * as UI from 'solid-ui'
11
11
  import * as panes from 'pane-registry'
12
12
 
13
13
  // console.log('@@@ argument pane icon at ' + (module.__dirname || __dirname) + '/icon_argument.png')
14
- module.exports = {
14
+ export default {
15
15
  icon: (module.__dirname || __dirname) + '/icon_argument.png', // @@ fix fro mashlib version
16
16
 
17
17
  name: 'argument',
@@ -8,10 +8,10 @@
8
8
  **
9
9
  */
10
10
 
11
- const UI = require('solid-ui')
12
- const $rdf = require('rdflib')
11
+ import * as UI from 'solid-ui'
12
+ import * as $rdf from 'rdflib'
13
13
 
14
- module.exports = {
14
+ export default {
15
15
  icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830
16
16
 
17
17
  name: 'attachments',
@@ -1,11 +1,11 @@
1
1
  /* Single audio play Pane
2
2
  **
3
3
  */
4
- const UI = require('solid-ui')
5
- const $rdf = require('rdflib')
4
+ import * as UI from 'solid-ui'
5
+ import * as $rdf from 'rdflib'
6
6
  const ns = UI.ns
7
7
 
8
- module.exports = {
8
+ export default {
9
9
  icon: UI.icons.iconBase + 'noun_534313.svg',
10
10
 
11
11
  name: 'audio',
@@ -3,12 +3,12 @@
3
3
  ** This outline pane lists the members of a class
4
4
  */
5
5
 
6
- const UI = require('solid-ui')
7
- const $rdf = require('rdflib')
6
+ import * as UI from 'solid-ui'
7
+ import * as $rdf from 'rdflib'
8
8
 
9
9
  const ns = UI.ns
10
10
 
11
- module.exports = {
11
+ export const classInstancePane = {
12
12
  icon: UI.icons.originalIconBase + 'tango/22-folder-open.png',
13
13
 
14
14
  name: 'classInstance',
@@ -9,11 +9,10 @@
9
9
  // - Expand automatically all the way down
10
10
  // - original source view? Use ffox view source
11
11
 
12
- const UI = require('solid-ui')
13
- const $rdf = require('rdflib')
12
+ import * as UI from 'solid-ui'
14
13
  const ns = UI.ns
15
14
 
16
- module.exports = {
15
+ export const dataContentPane = {
17
16
  icon: UI.icons.originalIconBase + 'rdf_flyer.24.gif',
18
17
 
19
18
  name: 'dataContents',
@@ -280,7 +279,7 @@ module.exports = {
280
279
  // or we could keep all the pre-smushed triples.
281
280
  const sts = kb.statementsMatching(undefined, undefined, undefined, subject) // @@ slow with current store!
282
281
 
283
- if ($rdf.keepThisCodeForLaterButDisableFerossConstantConditionPolice) {
282
+ if (false) { // keep code
284
283
  alternativeRendering()
285
284
  } else {
286
285
  mainRendering()
@@ -5,11 +5,11 @@
5
5
  ** This pane hides the ones considered too low-level for the normal user.
6
6
  */
7
7
 
8
- const UI = require('solid-ui')
9
- const $rdf = require('rdflib')
8
+ import * as UI from 'solid-ui'
9
+ import * as $rdf from 'rdflib'
10
10
  const ns = UI.ns
11
11
 
12
- module.exports = {
12
+ export const defaultPane = {
13
13
  icon: UI.icons.originalIconBase + 'about.png',
14
14
 
15
15
  name: 'default',
@@ -5,15 +5,15 @@
5
5
  ** review. It does not use turtle, but RDF/a
6
6
  */
7
7
 
8
- const UI = require('solid-ui')
9
- const $rdf = require('rdflib')
10
- const mime = require('mime-types')
8
+ import * as UI from 'solid-ui'
9
+ import * as $rdf from 'rdflib'
10
+ import * as mime from 'mime-types'
11
11
 
12
12
  // const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok
13
13
 
14
- const DOKIELI_TEMPLATE = require('./new.js') // Distributed with this library
14
+ import * as DOKIELI_TEMPLATE from './new.js' // Distributed with this library
15
15
 
16
- module.exports = {
16
+ export default {
17
17
  icon: UI.icons.iconBase + 'dokieli-logo.png', // @@ improve? more like doccument?
18
18
 
19
19
  name: 'Dokieli',
@@ -1,4 +1,4 @@
1
- module.exports = `
1
+ export default `
2
2
  <!DOCTYPE html>
3
3
  <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
4
4
  <head>
package/src/form/pane.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- ** Pane for running existing forms for any object
2
+ ** Pane for running existing forms for any object
3
3
  **
4
4
  */
5
5
 
@@ -8,7 +8,7 @@ import { authn } from 'solid-logic'
8
8
  import * as $rdf from 'rdflib'
9
9
  const ns = UI.ns
10
10
 
11
- module.exports = {
11
+ export const formPane = {
12
12
  icon: UI.icons.iconBase + 'noun_122196.svg',
13
13
 
14
14
  name: 'form',
@@ -56,20 +56,7 @@ const HomePaneSource: PaneDefinition = {
56
56
  )
57
57
  create.newThingUI(creationContext, context, relevantPanes) // newUI Have to pass panes down
58
58
 
59
- div.appendChild(dom.createElement('h4')).textContent = 'Private things'
60
- // TODO: Replace by a common, representative interface
61
- login
62
- .registrationList(homePaneContext, { private: true })
63
- .then(function (authContext) {
64
- div.appendChild(dom.createElement('h4')).textContent = 'Public things'
65
- div.appendChild(dom.createElement('p')).textContent =
66
- 'Things in this list are visible to others.'
67
- login
68
- .registrationList(authContext, { public: true })
69
- .then(function () {
70
- // done
71
- })
72
- })
59
+ login.registrationList(homePaneContext, {}).then(function () {})
73
60
  }
74
61
 
75
62
  const div = dom.createElement('div')
package/src/imagePane.js CHANGED
@@ -2,9 +2,9 @@
2
2
  **
3
3
  ** This outline pane contains the document contents for an Image document
4
4
  */
5
- const UI = require('solid-ui')
5
+ import * as UI from 'solid-ui'
6
6
 
7
- module.exports = {
7
+ export const imagePane = {
8
8
  icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',
9
9
 
10
10
  name: 'image',
package/src/index.ts CHANGED
@@ -15,7 +15,7 @@ import * as UI from 'solid-ui'
15
15
  import { LiveStore } from 'rdflib'
16
16
  import { solidLogicSingleton, store } from 'solid-logic'
17
17
  import OutlineManager from './outline/manager.js'
18
- import registerPanes from './registerPanes.js'
18
+ import { registerPanes } from './registerPanes.js'
19
19
  import {
20
20
  list,
21
21
  paneForIcon,
@@ -6,7 +6,7 @@
6
6
  import { authn, store } from 'solid-logic'
7
7
  import * as UI from 'solid-ui'
8
8
 
9
- module.exports = {
9
+ export default {
10
10
  icon: UI.icons.originalIconBase + 'microblog/microblog.png',
11
11
  name: 'microblogPane',
12
12
  label: function (subject) {
package/src/n3Pane.js CHANGED
@@ -4,10 +4,10 @@
4
4
  ** or at least the RDF semantics we attribute to that resource,
5
5
  ** in generated N3 syntax.
6
6
  */
7
- const UI = require('solid-ui')
7
+ import * as UI from 'solid-ui'
8
8
  const ns = UI.ns
9
9
 
10
- module.exports = {
10
+ export const n3Pane = {
11
11
  icon: UI.icons.originalIconBase + 'w3c/n3_smaller.png',
12
12
 
13
13
  name: 'n3',
@@ -1,12 +1,11 @@
1
1
  // This was a student project to
2
- // allow the user to chose favoite CC licence terms and have them highlighted
2
+ // allow the user to chose favoite CC license terms and have them highlighted
3
3
 
4
4
  // tabulator.options becaome UI.licenseOptions
5
- // Possible future alternative directoons: Store licence preferences in a solid preferences file
6
- import * as UI from 'solid-ui'
5
+ // Possible future alternative directoons: Store license preferences in a solid preferences file
7
6
  import { store } from 'solid-logic'
8
7
 
9
- const licenseURI = [
8
+ export const licenseURI = [
10
9
  'http://creativecommons.org/licenses/by-nc-nd/3.0/',
11
10
  'http://creativecommons.org/licenses/by-nc-sa/3.0/',
12
11
  'http://creativecommons.org/licenses/by-nc/3.0/',
@@ -17,7 +16,7 @@ const licenseURI = [
17
16
 
18
17
  const names = ['BY-NC-ND', 'BY-NC-SA', 'BY-NC', 'BY-ND', 'BY-SA', 'BY']
19
18
 
20
- module.exports = function licenseOptions () {
19
+ export function licenseOptions () {
21
20
  this.options = {}
22
21
  this.references = []
23
22
  this.checkedLicenses = []
@@ -81,12 +80,14 @@ module.exports = function licenseOptions () {
81
80
  }
82
81
  }
83
82
 
84
- this.checkLicence = function checkLicense (statement) {
83
+ this.checkLicense = function checkLicense (statement) {
85
84
  const licenses = store.each(
86
85
  statement.why,
87
- store.sym('http://creativecommons.org/ns#license')
86
+ store.sym('http://creativecommons.org/ns#license'),
87
+ null,
88
+ statement.why
88
89
  )
89
- UI.log.info('licenses:' + statement.why + ': ' + licenses)
90
+ // UI.log.info('licenses:' + statement.why + ': ' + licenses)
90
91
  for (let i = 0; i < licenses.length; i++) {
91
92
  for (let j = 0; j < this.checkedLicenses.length; j++) {
92
93
  if (this.checkedLicenses[j] && licenses[i].uri === licenseURI[j]) {
@@ -6,11 +6,12 @@ import * as paneRegistry from 'pane-registry'
6
6
  import * as $rdf from 'rdflib'
7
7
  import * as UI from 'solid-ui'
8
8
  import { authn, authSession, store } from 'solid-logic'
9
- import propertyViews from './propertyViews'
9
+ import { propertyViews } from './propertyViews'
10
+ import { licenseOptions } from './licenseOptions'
10
11
 
11
- const outlineIcons = require('./outlineIcons.js')
12
- const UserInput = require('./userInput.js')
13
- const queryByExample = require('./queryByExample.js')
12
+ import { outlineIcons } from './outlineIcons.js' // @@ chec
13
+ import { UserInput } from './userInput.js'
14
+ import * as queryByExample from './queryByExample.js'
14
15
 
15
16
  /* global alert XPathResult sourceWidget */
16
17
  // XPathResult?
@@ -180,7 +181,7 @@ export default function (context) {
180
181
 
181
182
  // check the IPR on the data. Ok if there is any checked license which is one the document has.
182
183
  if (statement && statement.why) {
183
- if (UI.licenceOptions && UI.licenceOptions.checkLicence()) {
184
+ if (licenseOptions && licenseOptions.checklicense && licenseOptions.checklicense()) {
184
185
  theClass += ' licOkay' // flag as light green etc .licOkay {background-color: #dfd}
185
186
  }
186
187
  }
@@ -646,23 +647,20 @@ export default function (context) {
646
647
  const renderPane = function (pane) {
647
648
  let paneDiv
648
649
  UI.log.info('outline: Rendering pane (2): ' + pane.name)
649
- if (UI.no_catch_pane_errors) {
650
- // for debugging
650
+
651
+ try {
651
652
  paneDiv = pane.render(subject, context, options)
652
- } else {
653
- try {
654
- paneDiv = pane.render(subject, context, options)
655
- } catch (e) {
656
- // Easier debugging for pane developers
657
- paneDiv = dom.createElement('div')
658
- paneDiv.setAttribute('class', 'exceptionPane')
659
- const pre = dom.createElement('pre')
660
- paneDiv.appendChild(pre)
661
- pre.appendChild(
662
- dom.createTextNode(UI.utils.stackString(e))
663
- )
664
- }
653
+ } catch (e) {
654
+ // Easier debugging for pane developers
655
+ paneDiv = dom.createElement('div')
656
+ paneDiv.setAttribute('class', 'exceptionPane')
657
+ const pre = dom.createElement('pre')
658
+ paneDiv.appendChild(pre)
659
+ pre.appendChild(
660
+ dom.createTextNode(UI.utils.stackString(e))
661
+ )
665
662
  }
663
+
666
664
  if (
667
665
  pane.requireQueryButton &&
668
666
  dom.getElementById('queryButton')
@@ -1,4 +1,10 @@
1
1
  /* eslint-env jest */
2
+
3
+ import { TextEncoder, TextDecoder } from 'util'
4
+ global.TextEncoder = TextEncoder as any
5
+ global.TextDecoder = TextDecoder as any
6
+
7
+
2
8
  import OutlineManager from './manager'
3
9
 
4
10
  import { lit, NamedNode, sym, blankNode } from 'rdflib'
@@ -1,7 +1,9 @@
1
1
  // This is a system of tracking tooltip phrases used by the tabulator outliner
2
2
 
3
- const outlineIcons = (module.exports = {}) // was tabulator.Icon
4
- const UI = require('solid-ui')
3
+ import * as UI from 'solid-ui'
4
+
5
+
6
+ export const outlineIcons = {}
5
7
 
6
8
  outlineIcons.src = [] // collect the URIs of the icon filterColumns
7
9
  outlineIcons.tooltips = [] // look up tool tips from URL
@@ -1,6 +1,12 @@
1
1
  /* eslint-env jest */
2
+
3
+ import { TextEncoder, TextDecoder } from 'util'
4
+ global.TextEncoder = TextEncoder as any
5
+ global.TextDecoder = TextDecoder as any
6
+
7
+
2
8
  import { sym } from 'rdflib'
3
- import propertyViews from './propertyViews'
9
+ import { propertyViews } from './propertyViews'
4
10
 
5
11
  describe('property views', () => {
6
12
  it.each([
@@ -4,7 +4,7 @@ import viewAsMbox from './viewAsMbox'
4
4
 
5
5
  /** some builtin simple views **/
6
6
 
7
- export default (dom) => {
7
+ export function propertyViews (dom) {
8
8
  // view that applies to items that are objects of certain properties.
9
9
  const views = {
10
10
  properties: [],
@@ -25,7 +25,7 @@ export default (dom) => {
25
25
  }
26
26
 
27
27
  /** add a property view function **/
28
- function viewsAddPropertyView (views, property, pviewfunc, isDefault) {
28
+ export function viewsAddPropertyView (views, property, pviewfunc, isDefault) {
29
29
  if (!views.properties[property]) {
30
30
  views.properties[property] = []
31
31
  }
@@ -34,4 +34,4 @@ function viewsAddPropertyView (views, property, pviewfunc, isDefault) {
34
34
  // will override an existing default!
35
35
  views.defaults[property] = pviewfunc
36
36
  }
37
- } // addPropertyView
37
+ } // viewsAddPropertyView
@@ -9,12 +9,6 @@
9
9
  import { store } from 'solid-logic'
10
10
  import * as UI from 'solid-ui'
11
11
 
12
- module.exports = {
13
- makeQueryRow,
14
- QuerySource,
15
- viewAndSaveQuery // Main function to generate and use the query
16
- }
17
-
18
12
  const optionalSubqueriesIndex = []
19
13
 
20
14
  function predParentOf (node) {
@@ -31,7 +25,7 @@ function predParentOf (node) {
31
25
  }
32
26
  }
33
27
 
34
- function makeQueryRow (q, tr, constraint) {
28
+ export function makeQueryRow (q, tr, constraint) {
35
29
  // predtr = predParentOf(tr)
36
30
  // var nodes = tr.childNodes
37
31
  // var n = tr.childNodes.length
@@ -193,7 +187,7 @@ function saveQuery (selection, qs) {
193
187
 
194
188
  // When the user asks for all list of all matching parts of the data
195
189
  //
196
- function viewAndSaveQuery (outline, selection) {
190
+ export function viewAndSaveQuery (outline, selection) {
197
191
  const qs = outline.qs
198
192
  UI.log.info('outline.doucment is now ' + outline.document.location)
199
193
  const q = saveQuery(selection, qs)
@@ -219,7 +213,7 @@ function viewAndSaveQuery (outline, selection) {
219
213
  * @author jambo
220
214
  */
221
215
 
222
- function QuerySource () {
216
+ export function QuerySource () {
223
217
  /**
224
218
  * stores all of the queries currently held by this source,
225
219
  * indexed by ID number.
@@ -21,7 +21,7 @@ let UserInputFormula // Formula to store references of user's work
21
21
  let TempFormula // Formula to store incomplete triples (Requests),
22
22
  // temporarily disjoint with kb to avoid bugs
23
23
 
24
- module.exports = function UserInput (outline) {
24
+ export function UserInput (outline) {
25
25
  const myDocument = outline.document // is this ok?
26
26
  // UI.log.warn("myDocument when it's set is "+myDocument.location);
27
27
  this.menuId = 'predicateMenu1'
@@ -3,11 +3,11 @@
3
3
  ** This pane allows playlists and playlists slots to be viewed
4
4
  ** seeAlso: http://smiy.sourceforge.net/pbo/spec/playbackontology.html
5
5
  */
6
- const UI = require('solid-ui')
7
- const $rdf = require('rdflib')
6
+ import * as UI from 'solid-ui'
7
+ import * as $rdf from 'rdflib'
8
8
  const ns = UI.ns
9
9
 
10
- module.exports = {
10
+ export default {
11
11
  icon: UI.icons.iconBase + 'noun_1619.svg',
12
12
 
13
13
  name: 'playlistSlot',
@@ -110,6 +110,7 @@ const editProfileView: PaneDefinition = {
110
110
 
111
111
  main.appendChild(paneDiv(context, me, 'contact'))
112
112
 
113
+
113
114
  heading('People you know who have WebIDs')
114
115
 
115
116
  comment(`This is your public social network.
@@ -130,6 +131,25 @@ const editProfileView: PaneDefinition = {
130
131
  noun: 'friend'
131
132
  })
132
133
 
134
+ heading('Communities you participate in')
135
+
136
+ comment(`These are organizations and projects (etc) whose stuff you share`)
137
+
138
+ // TODO: would be useful to explain what it means to "drag organizations"
139
+ // what is it that is being dragged?
140
+ // is there a way to search for people (or things to drag) on this page?
141
+ // Also provide a way of using cut and paste
142
+ if (editableProfile) {
143
+ comment('Drag organizations onto the target below to add organizations.')
144
+ }
145
+
146
+ widgets.attachmentList(dom, me, main, {
147
+ doc: profile,
148
+ modify: !!editableProfile,
149
+ predicate: ns.solid('community'),
150
+ noun: 'community'
151
+ })
152
+
133
153
  // heading('The style of your public profile') headings are in form now
134
154
  renderProfileForm(main, me)
135
155