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.
- package/.babelrc +0 -0
- package/.eslintignore +0 -0
- package/.eslintrc +0 -0
- package/.github/workflows/ci.yml +0 -0
- package/.nvmrc +0 -0
- package/Documentation/VisualLanguage.html +0 -0
- package/Documentation/conventions.md +0 -0
- package/LICENSE.md +0 -0
- package/README.md +0 -2
- package/dev/index.html +0 -0
- package/dev/loader.ts +0 -0
- package/dev/pane/index.ts +0 -0
- package/doc/images/panes-for-classes.epgz +0 -0
- package/doc/images/panes-for-classes.svg +0 -0
- package/jest.config.js +0 -0
- package/jest.setup.ts +0 -0
- package/lib/RDFXMLPane.js +15 -9
- package/lib/RDFXMLPane.js.map +1 -1
- package/lib/argument/argumentPane.js +12 -11
- package/lib/argument/argumentPane.js.map +1 -1
- package/lib/attach/attachPane.js +58 -90
- package/lib/attach/attachPane.js.map +1 -1
- package/lib/audio/audioPane.js +19 -37
- package/lib/audio/audioPane.js.map +1 -1
- package/lib/classInstancePane.js +21 -22
- package/lib/classInstancePane.js.map +1 -1
- package/lib/dashboard/basicPreferences.d.ts +0 -0
- package/lib/dashboard/basicPreferences.d.ts.map +0 -0
- package/lib/dashboard/basicPreferences.js +96 -154
- package/lib/dashboard/basicPreferences.js.map +1 -1
- package/lib/dashboard/dashboardPane.d.ts +0 -0
- package/lib/dashboard/dashboardPane.d.ts.map +0 -0
- package/lib/dashboard/dashboardPane.js +2 -18
- package/lib/dashboard/dashboardPane.js.map +1 -1
- package/lib/dashboard/homepage.d.ts +0 -0
- package/lib/dashboard/homepage.d.ts.map +0 -0
- package/lib/dashboard/homepage.js +27 -49
- package/lib/dashboard/homepage.js.map +1 -1
- package/lib/dataContentPane.js +26 -61
- package/lib/dataContentPane.js.map +1 -1
- package/lib/defaultPane.js +23 -23
- package/lib/defaultPane.js.map +1 -1
- package/lib/dokieli/dokieliPane.js +29 -34
- package/lib/dokieli/dokieliPane.js.map +1 -1
- package/lib/dokieli/new.js +6 -1
- package/lib/dokieli/new.js.map +1 -1
- package/lib/form/pane.js +34 -45
- package/lib/form/pane.js.map +1 -1
- package/lib/global.d.js +0 -0
- package/lib/global.d.js.map +0 -0
- package/lib/home/homePane.d.ts +0 -0
- package/lib/home/homePane.d.ts.map +1 -1
- package/lib/home/homePane.js +38 -68
- package/lib/home/homePane.js.map +1 -1
- package/lib/humanReadablePane.js +14 -28
- package/lib/humanReadablePane.js.map +1 -1
- package/lib/imagePane.js +19 -14
- package/lib/imagePane.js.map +1 -1
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +6 -20
- package/lib/index.js.map +1 -1
- package/lib/internal/internalPane.d.ts +0 -0
- package/lib/internal/internalPane.d.ts.map +0 -0
- package/lib/internal/internalPane.js +10 -41
- package/lib/internal/internalPane.js.map +1 -1
- package/lib/mainPage/footer.d.ts +0 -0
- package/lib/mainPage/footer.d.ts.map +0 -0
- package/lib/mainPage/footer.js +0 -4
- package/lib/mainPage/footer.js.map +1 -1
- package/lib/mainPage/header.d.ts +0 -0
- package/lib/mainPage/header.d.ts.map +0 -0
- package/lib/mainPage/header.js +66 -100
- package/lib/mainPage/header.js.map +1 -1
- package/lib/mainPage/index.d.ts +0 -0
- package/lib/mainPage/index.d.ts.map +0 -0
- package/lib/mainPage/index.js +17 -30
- package/lib/mainPage/index.js.map +1 -1
- package/lib/microblogPane/microblogPane.js +182 -321
- package/lib/microblogPane/microblogPane.js.map +1 -1
- package/lib/n3Pane.js +12 -8
- package/lib/n3Pane.js.map +1 -1
- package/lib/outline/context.d.ts +0 -0
- package/lib/outline/context.d.ts.map +0 -0
- package/lib/outline/context.js +0 -2
- package/lib/outline/context.js.map +1 -1
- package/lib/outline/licenseOptions.js +21 -35
- package/lib/outline/licenseOptions.js.map +1 -1
- package/lib/outline/manager.js +740 -1176
- package/lib/outline/manager.js.map +1 -1
- package/lib/outline/manager.test.js +16 -25
- package/lib/outline/manager.test.js.map +1 -1
- package/lib/outline/outlineIcons.js +39 -26
- package/lib/outline/outlineIcons.js.map +1 -1
- package/lib/outline/propertyViews.d.ts +3 -2
- package/lib/outline/propertyViews.d.ts.map +1 -1
- package/lib/outline/propertyViews.js +7 -15
- package/lib/outline/propertyViews.js.map +1 -1
- package/lib/outline/propertyViews.test.js +7 -7
- package/lib/outline/propertyViews.test.js.map +1 -1
- package/lib/outline/queryByExample.js +28 -80
- package/lib/outline/queryByExample.js.map +1 -1
- package/lib/outline/userInput.js +221 -459
- package/lib/outline/userInput.js.map +1 -1
- package/lib/outline/viewAsImage.d.ts +0 -0
- package/lib/outline/viewAsImage.d.ts.map +0 -0
- package/lib/outline/viewAsImage.js +0 -6
- package/lib/outline/viewAsImage.js.map +1 -1
- package/lib/outline/viewAsMbox.d.ts +0 -0
- package/lib/outline/viewAsMbox.d.ts.map +0 -0
- package/lib/outline/viewAsMbox.js +3 -4
- package/lib/outline/viewAsMbox.js.map +1 -1
- package/lib/pad/padPane.d.ts +0 -0
- package/lib/pad/padPane.d.ts.map +0 -0
- package/lib/pad/padPane.js +45 -93
- package/lib/pad/padPane.js.map +1 -1
- package/lib/playlist/playlistPane.js +11 -21
- package/lib/playlist/playlistPane.js.map +1 -1
- package/lib/profile/editProfile.view.d.ts +0 -0
- package/lib/profile/editProfile.view.d.ts.map +1 -1
- package/lib/profile/editProfile.view.js +22 -23
- package/lib/profile/editProfile.view.js.map +1 -1
- package/lib/profile/profile.dom.d.ts +0 -0
- package/lib/profile/profile.dom.d.ts.map +0 -0
- package/lib/profile/profile.dom.js +0 -3
- package/lib/profile/profile.dom.js.map +1 -1
- package/lib/registerPanes.js +99 -54
- package/lib/registerPanes.js.map +1 -1
- package/lib/schedule/formsForSchedule.js +6 -1
- package/lib/schedule/formsForSchedule.js.map +1 -1
- package/lib/schedule/schedulePane.js +71 -126
- package/lib/schedule/schedulePane.js.map +1 -1
- package/lib/sharing/sharingPane.d.ts +0 -0
- package/lib/sharing/sharingPane.d.ts.map +0 -0
- package/lib/sharing/sharingPane.js +2 -10
- package/lib/sharing/sharingPane.js.map +1 -1
- package/lib/slideshow/slideshowPane.js +21 -21
- package/lib/slideshow/slideshowPane.js.map +1 -1
- package/lib/socialPane.js +58 -135
- package/lib/socialPane.js.map +1 -1
- package/lib/tabbed/tabbedPane.d.ts +0 -0
- package/lib/tabbed/tabbedPane.d.ts.map +0 -0
- package/lib/tabbed/tabbedPane.js +32 -48
- package/lib/tabbed/tabbedPane.js.map +1 -1
- package/lib/tableViewPane.js +15 -9
- package/lib/tableViewPane.js.map +1 -1
- package/lib/test-import-export/common.js +8 -3
- package/lib/test-import-export/common.js.map +1 -1
- package/lib/test-import-export/edit-importer.js +10 -14
- package/lib/test-import-export/edit-importer.js.map +1 -1
- package/lib/test-import-export/testImportExport.js +0 -0
- package/lib/test-import-export/testImportExport.js.map +0 -0
- package/lib/transaction/pane.js +38 -91
- package/lib/transaction/pane.js.map +1 -1
- package/lib/transaction/period.js +27 -71
- package/lib/transaction/period.js.map +1 -1
- package/lib/trip/tripPane.js +38 -35
- package/lib/trip/tripPane.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
- package/lib/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
- package/lib/trustedApplications/trustedApplications.dom.js +12 -35
- package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.test.js +6 -8
- package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
- package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
- package/lib/trustedApplications/trustedApplications.utils.js +1 -11
- package/lib/trustedApplications/trustedApplications.utils.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
- package/lib/trustedApplications/trustedApplications.view.d.ts.map +0 -0
- package/lib/trustedApplications/trustedApplications.view.js +38 -61
- package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
- package/lib/types.d.ts +0 -0
- package/lib/types.d.ts.map +0 -0
- package/lib/types.js +0 -0
- package/lib/types.js.map +0 -0
- package/lib/ui/pane.js +30 -29
- package/lib/ui/pane.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +14 -14
- package/lib/versionInfo.js.map +1 -1
- package/lib/video/videoPane.js +11 -7
- package/lib/video/videoPane.js.map +1 -1
- package/package.json +26 -26
- package/src/RDFXMLPane.js +2 -2
- package/src/argument/argumentPane.js +1 -1
- package/src/argument/argument_icon_v04.jpg +0 -0
- package/src/argument/icon_argument.png +0 -0
- package/src/argument/transparentyingyang.png +0 -0
- package/src/attach/attachPane.js +3 -3
- package/src/attach/tbl-paperclip-128.png +0 -0
- package/src/attach/tbl-paperclip-22.png +0 -0
- package/src/attach/tbl-paperclip-22a.png +0 -0
- package/src/audio/audioPane.js +3 -3
- package/src/chatPreferencesForm.ttl +0 -0
- package/src/classInstancePane.js +3 -3
- package/src/dashboard/basicPreferences.ts +0 -0
- package/src/dashboard/dashboardPane.ts +0 -0
- package/src/dashboard/homepage.ts +0 -0
- package/src/dashboard/languages/codes.html +0 -0
- package/src/dashboard/languages/codes.xml +0 -0
- package/src/dashboard/languages/codes2.txt +0 -0
- package/src/dashboard/languages/foo +0 -0
- package/src/dashboard/languages/foo.ttl +0 -0
- package/src/dashboard/languages/get-language-names.sh +0 -0
- package/src/dashboard/ontologyData.ttl +0 -0
- package/src/dashboard/preferencesFormText.ttl +0 -0
- package/src/dataContentPane.js +3 -4
- package/src/defaultPane.js +3 -3
- package/src/dokieli/Makefile +0 -0
- package/src/dokieli/dokieliPane.js +5 -5
- package/src/dokieli/new.html +0 -0
- package/src/dokieli/new.js +1 -1
- package/src/form/form-22.png +0 -0
- package/src/form/form-b-22.png +0 -0
- package/src/form/form.graffle +0 -0
- package/src/form/form.png +0 -0
- package/src/form/pane.js +2 -2
- package/src/form/psuedocode-notes.txt +0 -0
- package/src/global.d.ts +0 -0
- package/src/home/homePane.ts +1 -14
- package/src/humanReadablePane.js +0 -0
- package/src/imagePane.js +2 -2
- package/src/index.ts +1 -1
- package/src/internal/internalPane.ts +0 -0
- package/src/mainPage/footer.ts +0 -0
- package/src/mainPage/header.ts +0 -0
- package/src/mainPage/index.ts +0 -0
- package/src/meeting/Makefile +0 -0
- package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
- package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
- package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
- package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
- package/src/meeting/test/meeting1/Schedule/index.html +0 -0
- package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
- package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
- package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
- package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
- package/src/meeting/test/meeting1/details.ttl +0 -0
- package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
- package/src/microblogPane/mbStyle.css +0 -0
- package/src/microblogPane/microblogPane.js +1 -1
- package/src/n3Pane.js +2 -2
- package/src/outline/context.ts +0 -0
- package/src/outline/licenseOptions.js +9 -8
- package/src/outline/manager.js +18 -20
- package/src/outline/manager.test.ts +6 -0
- package/src/outline/outlineIcons.js +4 -2
- package/src/outline/propertyViews.test.ts +7 -1
- package/src/outline/propertyViews.ts +3 -3
- package/src/outline/queryByExample.js +3 -9
- package/src/outline/userInput.js +1 -1
- package/src/outline/viewAsImage.ts +0 -0
- package/src/outline/viewAsMbox.ts +0 -0
- package/src/pad/images/ColourOff.ai +0 -0
- package/src/pad/images/ColourOff.png +0 -0
- package/src/pad/images/ColourOn.ai +0 -0
- package/src/pad/images/ColourOn.png +0 -0
- package/src/pad/padPane.ts +0 -0
- package/src/playlist/playlistPane.js +3 -3
- package/src/profile/editProfile.view.ts +20 -0
- package/src/profile/profile.dom.ts +0 -0
- package/src/profile/profileFormText.ttl +0 -0
- package/src/registerPanes.js +92 -52
- package/src/schedule/Makefile +0 -0
- package/src/schedule/formsForSchedule.js +1 -1
- package/src/schedule/formsForSchedule.ttl +0 -0
- package/src/schedule/schedulePane.js +6 -2
- package/src/sharing/sharingPane.ts +0 -0
- package/src/slideshow/slideshowPane.js +3 -6
- package/src/socialPane.js +4 -5
- package/src/style/tabbedtab.css +0 -0
- package/src/tabbed/tabbedPane.ts +0 -0
- package/src/tableViewPane.js +3 -3
- package/src/test-import-export/common.js +1 -1
- package/src/test-import-export/edit-importer.js +5 -10
- package/src/test-import-export/testImportExport.js +0 -0
- package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
- package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
- package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
- package/src/transaction/pane.js +3 -3
- package/src/transaction/period.js +2 -2
- package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
- package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
- package/src/trip/tripPane.js +3 -3
- package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
- package/src/trustedApplications/trustedApplications.dom.ts +0 -0
- package/src/trustedApplications/trustedApplications.test.ts +4 -0
- package/src/trustedApplications/trustedApplications.utils.ts +0 -0
- package/src/trustedApplications/trustedApplications.view.ts +0 -0
- package/src/types.ts +0 -0
- package/src/ui/22-builder.png +0 -0
- package/src/ui/builder.graffle +0 -0
- package/src/ui/builder.png +0 -0
- package/src/ui/builder2.png +0 -0
- package/src/ui/pane.js +3 -3
- package/src/versionInfo.ts +14 -14
- package/src/video/videoPane.js +3 -3
- package/timestamp.sh +0 -0
- package/travis/bumpversion.js +0 -0
- package/tsconfig.json +0 -0
- package/typings/raw-loader.d.ts +0 -0
- package/typings/solid-namespace/index.d.ts +0 -0
- package/webpack.config.js +0 -0
package/lib/defaultPane.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
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');
|
|
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
|
-
|
|
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';
|
|
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
|
-
};
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// ends
|
|
77
|
+
exports.defaultPane = defaultPane;
|
|
78
78
|
//# sourceMappingURL=defaultPane.js.map
|
package/lib/defaultPane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultPane.js","names":["
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
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 = [
|
|
29
|
-
|
|
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
|
-
};
|
|
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;
|
|
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
|
-
}
|
|
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, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,EAAE,GAAGC,OAAO,CAAC,UAAD,CAAlB;;AACA,IAAMC,IAAI,GAAGD,OAAO,CAAC,QAAD,CAApB;;AACA,IAAME,IAAI,GAAGF,OAAO,CAAC,YAAD,CAApB,C,CAEA;;;AAEA,IAAMG,gBAAgB,GAAGH,OAAO,CAAC,UAAD,CAAhC,C,CAA6C;;;AAE7CI,MAAM,CAACC,OAAP,GAAiB;EACfC,IAAI,EAAEP,EAAE,CAACQ,KAAH,CAASC,QAAT,GAAoB,kBADX;EAC+B;EAE9CC,IAAI,EAAE,SAHS;EAKfC,SAAS,EAAEX,EAAE,CAACY,EAAH,CAAMC,KAAN,CAAY,iBAAZ,CALI;EAK4B;EAE3CC,KAAK,EAAE,eAAUC,OAAV,EAAmBC,OAAnB,EAA4B;IACjC,IAAMC,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;IACA,IAAMP,EAAE,GAAGZ,EAAE,CAACY,EAAd;IACA,IAAMQ,OAAO,GAAG,CACd;IACA,WAFc,EAGd,uBAHc,CAId;IACA;IALc,CAAhB;;IAQA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAUJ,EAAV,EAAcK,CAAd,EAAiBC,YAAjB,EAA+B;MACtD,IAAMC,GAAG,GAAGP,EAAE,CAACQ,OAAH,CAAWC,SAAX,CAAqBJ,CAArB,EAAwB,cAAxB,CAAZ;;MACA,IAAIE,GAAJ,EAAS;QACP,KAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,GAAG,CAACI,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;UACnC,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,YAAY,CAACK,MAAjC,EAAyCC,CAAC,EAA1C,EAA8C;YAC5C,IAAIL,GAAG,CAACG,CAAD,CAAH,CAAOG,OAAP,CAAeP,YAAY,CAACM,CAAD,CAA3B,KAAmC,CAAvC,EAA0C;cACxC,OAAO,IAAP;YACD;UACF;QACF;MACF;;MACD,OAAO,KAAP;IACD,CAZD,CAXiC,CAyBjC;;;IACA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAAUd,EAAV,EAAcK,CAAd,EAAiBC,YAAjB,EAA+B;MACvD,IAAMS,CAAC,GAAGf,EAAE,CAACgB,YAAH,CAAgBlB,OAAhB,CAAV;;MACA,KAAK,IAAIc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,YAAY,CAACK,MAAjC,EAAyCC,CAAC,EAA1C,EAA8C;QAC5C,IAAI3B,IAAI,CAACgC,IAAL,CAAUC,cAAV,CAAyBZ,YAAY,CAACM,CAAD,CAArC,EAA0CO,GAA1C,IAAiDJ,CAArD,EAAwD;UACtD,OAAO,IAAP;QACD;MACF;;MACD,OAAO,KAAP;IACD,CARD;;IAUA,IAAI,CAACjB,OAAO,CAACqB,GAAb,EAAkB,OAAO,IAAP,CApCe,CAoCH;;IAE9B,IAAMJ,CAAC,GAAGf,EAAE,CAACgB,YAAH,CAAgBlB,OAAhB,CAAV;IACA,IAAIiB,CAAC,CAACpB,EAAE,CAACyB,IAAH,CAAQ,SAAR,EAAmBD,GAApB,CAAL,EAA+B,OAAO,MAAP;;IAE/B,IACEf,gBAAgB,CAACJ,EAAD,EAAKF,OAAL,EAAcK,OAAd,CAAhB,IACAW,iBAAiB,CAACd,EAAD,EAAKF,OAAL,EAAcK,OAAd,CAFnB,EAGE;MACA,OAAO,KAAP;IACD;;IAED,OAAO,IAAP;EACD,CAxDc;EA0Df;EACAkB,OAAO,EAAE,iBAAUtB,OAAV,EAAmBuB,cAAnB,EAAmC;IAC1C,IAAMtB,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;IACA,IAAIqB,WAAW,GAAGD,cAAc,CAACC,WAAjC;;IACA,IAAI,CAACA,WAAL,EAAkB;MAChB,IAAIJ,GAAG,GAAGG,cAAc,CAACE,OAAzB;;MACA,IAAIL,GAAG,CAACM,QAAJ,CAAa,GAAb,CAAJ,EAAuB;QACrBN,GAAG,GAAGA,GAAG,CAACO,KAAJ,CAAU,CAAV,EAAa,CAAC,CAAd,CAAN;QACAJ,cAAc,CAACE,OAAf,GAAyBL,GAAzB;MACD;;MACDI,WAAW,GAAGvB,EAAE,CAAC2B,GAAH,CAAOR,GAAP,CAAd;IACD;;IAED,IAAMS,WAAW,GAAG1C,IAAI,CAAC2C,MAAL,CAAYN,WAAW,CAACJ,GAAxB,CAApB;;IACA,IAAI,CAACS,WAAD,IAAgB,CAACA,WAAW,CAACE,QAAZ,CAAqB,MAArB,CAArB,EAAmD;MACjDP,WAAW,GAAGtC,IAAI,CAAC0C,GAAL,CAASJ,WAAW,CAACJ,GAAZ,GAAkB,OAA3B,CAAd;IACD;;IACDG,cAAc,CAACC,WAAf,GAA6BA,WAA7B,CAhB0C,CAgBD;;IAEzCQ,OAAO,CAACC,GAAR,CAAY,4BAA4BT,WAAxC;IAEA,IAAIU,YAAY,GAAG9C,gBAAnB;IACA,IAAI+C,QAAQ,GAAGX,WAAW,CAACJ,GAAZ,CAAgBgB,KAAhB,CAAsB,GAAtB,EAA2BT,KAA3B,CAAiC,CAAC,CAAlC,EAAqC,CAArC,CAAf;IACAQ,QAAQ,GAAGE,kBAAkB,CAACF,QAAQ,CAACC,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAD,CAA7B;IACA,IAAME,YAAY,GAAGH,QAAQ,CAC1BI,OADkB,CACV,IADU,EACJ,OADI,EAElBA,OAFkB,CAEV,IAFU,EAEJ,MAFI,EAGlBA,OAHkB,CAGV,IAHU,EAGJ,MAHI,CAArB;IAIAL,YAAY,GAAGA,YAAY,CAACK,OAAb,CAAqB,SAArB,EAAgC,YAAYD,YAA5C,CAAf;IACAJ,YAAY,GAAGA,YAAY,CAACK,OAAb,CACb,YADa,EAEb,SAASD,YAAT,GAAwB,iBAFX,CAAf;IAIAN,OAAO,CAACC,GAAR,CAAY,yBAAyBC,YAArC;IACA,OAAO,IAAIM,OAAJ,CAAY,UAAUC,OAAV,EAAmB;MACpCxC,EAAE,CAACQ,OAAH,CACGiC,YADH,CACgB,KADhB,EACuBlB,WAAW,CAACJ,GADnC,EACwC;QACpCuB,IAAI,EAAET,YAD8B;QAEpCL,WAAW,EAAE;MAFuB,CADxC,EAKGe,IALH,CAKQ,YAAY;QAChBZ,OAAO,CAACC,GAAR,CACE,qCAAqCV,cAAc,CAACC,WADtD;QAGAiB,OAAO,CAAClB,cAAD,CAAP;MACD,CAVH,WAWS,UAAUsB,GAAV,EAAe;QACpBb,OAAO,CAACC,GAAR,CACE,oCACEV,cAAc,CAACC,WADjB,GAEE,IAFF,GAGEqB,GAJJ;MAMD,CAlBH;IAmBD,CApBM,CAAP;EAqBD,CAjHc;EAmHf;EACAC,MAAM,EAAE,gBAAU/C,OAAV,EAAmBC,OAAnB,EAA4B;IAClC,IAAM+C,UAAU,GAAG/C,OAAO,CAACgD,GAA3B;IACA,IAAMC,GAAG,GAAGF,UAAU,CAACG,aAAX,CAAyB,KAAzB,CAAZ;IACA,IAAMjD,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B,CAHkC,CAKlC;;IACA8C,GAAG,CAACE,YAAJ,CAAiB,OAAjB,EAA0B,SAA1B;IACA,IAAMC,MAAM,GAAGL,UAAU,CAACG,aAAX,CAAyB,QAAzB,CAAf;IACAE,MAAM,CAACD,YAAP,CAAoB,KAApB,EAA2BpD,OAAO,CAACqB,GAAnC,EARkC,CAQM;;IACxCgC,MAAM,CAACD,YAAP,CAAoB,OAApB,EAA6B,KAA7B;IAEA,IAAM3C,GAAG,GAAGP,EAAE,CAACQ,OAAH,CAAWC,SAAX,CAAqBX,OAAO,CAACsD,GAAR,EAArB,EAAoC,cAApC,CAAZ;IACA,IAAMC,EAAE,GAAG9C,GAAG,GAAGA,GAAG,CAAC,CAAD,CAAN,GAAY,IAA1B;;IACA,IAAI8C,EAAJ,EAAQ;MACNtB,OAAO,CAACC,GAAR,CAAY,sBAAsBqB,EAAlC;IACD,CAFD,MAEO;MACLtB,OAAO,CAACC,GAAR,CAAY,oCAAZ;IACD,CAjBiC,CAmBlC;IACA;IACA;IACA;IACA;IAEA;;;IAEAmB,MAAM,CAACD,YAAP,CAAoB,OAApB,EAA6B,0CAA7B,EA3BkC,CA2BuC;IACzE;IACA;;IACA,IAAMI,EAAE,GAAGR,UAAU,CAACG,aAAX,CAAyB,IAAzB,CAAX;IACAK,EAAE,CAACC,WAAH,CAAeJ,MAAf;IACAH,GAAG,CAACO,WAAJ,CAAgBD,EAAhB;IACA,OAAON,GAAP;EACD;AAtJc,CAAjB,C,CAwJA"}
|
|
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, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\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":";;;;;;;AAOA;AACA;AACA;AAIA;AAA6C;AAAA;AAb7C;AACA;AACA;AACA;AACA;AACA;AAMA;AAE8C;AAAA,eAE/B;EACbA,IAAI,EAAEC,EAAE,CAACC,KAAK,CAACC,QAAQ,GAAG,kBAAkB;EAAE;;EAE9CC,IAAI,EAAE,SAAS;EAEfC,SAAS,EAAEJ,EAAE,CAACK,EAAE,CAACC,KAAK,CAAC,iBAAiB,CAAC;EAAE;;EAE3CC,KAAK,EAAE,eAAUC,OAAO,EAAEC,OAAO,EAAE;IACjC,IAAMC,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;IAChC,IAAMP,EAAE,GAAGL,EAAE,CAACK,EAAE;IAChB,IAAMQ,OAAO,GAAG;IACd;IACA,WAAW,EACX;IACA;IACA;IAAA,CACD;;IAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAaJ,EAAE,EAAEK,CAAC,EAAEC,YAAY,EAAE;MACtD,IAAMC,GAAG,GAAGP,EAAE,CAACQ,OAAO,CAACC,SAAS,CAACJ,CAAC,EAAE,cAAc,CAAC;MACnD,IAAIE,GAAG,EAAE;QACP,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,GAAG,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;UACnC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,YAAY,CAACK,MAAM,EAAEC,CAAC,EAAE,EAAE;YAC5C,IAAIL,GAAG,CAACG,CAAC,CAAC,CAACG,OAAO,CAACP,YAAY,CAACM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;cACxC,OAAO,IAAI;YACb;UACF;QACF;MACF;MACA,OAAO,KAAK;IACd,CAAC;;IAED;IACA,IAAME,iBAAiB,GAAG,SAApBA,iBAAiB,CAAad,EAAE,EAAEK,CAAC,EAAEC,YAAY,EAAE;MACvD,IAAMS,CAAC,GAAGf,EAAE,CAACgB,YAAY,CAAClB,OAAO,CAAC;MAClC,KAAK,IAAIc,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,YAAY,CAACK,MAAM,EAAEC,CAAC,EAAE,EAAE;QAC5C,IAAIK,IAAI,CAACC,IAAI,CAACC,cAAc,CAACb,YAAY,CAACM,CAAC,CAAC,CAAC,CAACQ,GAAG,IAAIL,CAAC,EAAE;UACtD,OAAO,IAAI;QACb;MACF;MACA,OAAO,KAAK;IACd,CAAC;IAED,IAAI,CAACjB,OAAO,CAACsB,GAAG,EAAE,OAAO,IAAI,EAAC;;IAE9B,IAAML,CAAC,GAAGf,EAAE,CAACgB,YAAY,CAAClB,OAAO,CAAC;IAClC,IAAIiB,CAAC,CAACpB,EAAE,CAAC0B,IAAI,CAAC,SAAS,CAAC,CAACD,GAAG,CAAC,EAAE,OAAO,MAAM;IAE5C,IACEhB,gBAAgB,CAACJ,EAAE,EAAEF,OAAO,EAAEK,OAAO,CAAC,IACtCW,iBAAiB,CAACd,EAAE,EAAEF,OAAO,EAAEK,OAAO,CAAC,EACvC;MACA,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED;EACAmB,OAAO,EAAE,iBAAUvB,OAAO,EAAEwB,cAAc,EAAE;IAC1C,IAAMvB,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;IAChC,IAAIsB,WAAW,GAAGD,cAAc,CAACC,WAAW;IAC5C,IAAI,CAACA,WAAW,EAAE;MAChB,IAAIJ,GAAG,GAAGG,cAAc,CAACE,OAAO;MAChC,IAAIL,GAAG,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrBN,GAAG,GAAGA,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtBJ,cAAc,CAACE,OAAO,GAAGL,GAAG;MAC9B;MACAI,WAAW,GAAGxB,EAAE,CAAC4B,GAAG,CAACR,GAAG,CAAC;IAC3B;IAEA,IAAMS,WAAW,GAAGC,IAAI,CAACC,MAAM,CAACP,WAAW,CAACJ,GAAG,CAAC;IAChD,IAAI,CAACS,WAAW,IAAI,CAACA,WAAW,CAACG,QAAQ,CAAC,MAAM,CAAC,EAAE;MACjDR,WAAW,GAAGP,IAAI,CAACW,GAAG,CAACJ,WAAW,CAACJ,GAAG,GAAG,OAAO,CAAC;IACnD;IACAG,cAAc,CAACC,WAAW,GAAGA,WAAW,EAAC;;IAEzCS,OAAO,CAACC,GAAG,CAAC,yBAAyB,GAAGV,WAAW,CAAC;IAEpD,IAAIW,YAAY,GAAGC,gBAAgB;IACnC,IAAIC,QAAQ,GAAGb,WAAW,CAACJ,GAAG,CAACkB,KAAK,CAAC,GAAG,CAAC,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtDU,QAAQ,GAAGE,kBAAkB,CAACF,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAME,YAAY,GAAGH,QAAQ,CAC1BI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CACtBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;IACxBN,YAAY,GAAGA,YAAY,CAACM,OAAO,CAAC,SAAS,EAAE,SAAS,GAAGD,YAAY,CAAC;IACxEL,YAAY,GAAGA,YAAY,CAACM,OAAO,CACjC,YAAY,EACZ,MAAM,GAAGD,YAAY,GAAG,iBAAiB,CAC1C;IACDP,OAAO,CAACC,GAAG,CAAC,sBAAsB,GAAGC,YAAY,CAAC;IAClD,OAAO,IAAIO,OAAO,CAAC,UAAUC,OAAO,EAAE;MACpC3C,EAAE,CAACQ,OAAO,CACPoC,YAAY,CAAC,KAAK,EAAEpB,WAAW,CAACJ,GAAG,EAAE;QACpCyB,IAAI,EAAEV,YAAY;QAClBN,WAAW,EAAE;MACf,CAAC,CAAC,CACDiB,IAAI,CAAC,YAAY;QAChBb,OAAO,CAACC,GAAG,CACT,kCAAkC,GAAGX,cAAc,CAACC,WAAW,CAChE;QACDmB,OAAO,CAACpB,cAAc,CAAC;MACzB,CAAC,CAAC,SACI,CAAC,UAAUwB,GAAG,EAAE;QACpBd,OAAO,CAACC,GAAG,CACT,iCAAiC,GAC/BX,cAAc,CAACC,WAAW,GAC1B,IAAI,GACJuB,GAAG,CACN;MACH,CAAC,CAAC;IACN,CAAC,CAAC;EACJ,CAAC;EAED;EACAC,MAAM,EAAE,gBAAUlD,OAAO,EAAEC,OAAO,EAAE;IAClC,IAAMkD,UAAU,GAAGlD,OAAO,CAACmD,GAAG;IAC9B,IAAMC,GAAG,GAAGF,UAAU,CAACG,aAAa,CAAC,KAAK,CAAC;IAC3C,IAAMpD,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;;IAEhC;IACAiD,GAAG,CAACE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;IACpC,IAAMC,MAAM,GAAGL,UAAU,CAACG,aAAa,CAAC,QAAQ,CAAC;IACjDE,MAAM,CAACD,YAAY,CAAC,KAAK,EAAEvD,OAAO,CAACsB,GAAG,CAAC,EAAC;IACxCkC,MAAM,CAACD,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;IAEnC,IAAM9C,GAAG,GAAGP,EAAE,CAACQ,OAAO,CAACC,SAAS,CAACX,OAAO,CAACyD,GAAG,EAAE,EAAE,cAAc,CAAC;IAC/D,IAAMC,EAAE,GAAGjD,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI;IAC9B,IAAIiD,EAAE,EAAE;MACNvB,OAAO,CAACC,GAAG,CAAC,mBAAmB,GAAGsB,EAAE,CAAC;IACvC,CAAC,MAAM;MACLvB,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACnD;;IAEA;IACA;IACA;IACA;IACA;;IAEA;;IAEAoB,MAAM,CAACD,YAAY,CAAC,OAAO,EAAE,0CAA0C,CAAC,EAAC;IACzE;IACA;IACA,IAAMI,EAAE,GAAGR,UAAU,CAACG,aAAa,CAAC,IAAI,CAAC;IACzCK,EAAE,CAACC,WAAW,CAACJ,MAAM,CAAC;IACtBH,GAAG,CAACO,WAAW,CAACD,EAAE,CAAC;IACnB,OAAON,GAAG;EACZ;AACF,CAAC,EACD;AAAA"}
|
package/lib/dokieli/new.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
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
|
package/lib/dokieli/new.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","names":[
|
|
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
|
-
**
|
|
14
|
+
** Pane for running existing forms for any object
|
|
17
15
|
**
|
|
18
16
|
*/
|
|
17
|
+
|
|
19
18
|
var ns = UI.ns;
|
|
20
|
-
|
|
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) {
|
|
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
|
-
};
|
|
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
|
-
}
|
|
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);
|
|
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);
|
|
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;
|
|
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
|
-
|
|
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
|
-
}
|
|
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
|