solid-panes 3.5.27 → 3.5.28-59efa615
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +0 -0
- package/lib/home/homePane.js +49 -67
- 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 +0 -0
- 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/attach/attachPane.js
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var UI = _interopRequireWildcard(require("solid-ui"));
|
|
9
|
+
var $rdf = _interopRequireWildcard(require("rdflib"));
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
3
12
|
/* Attachment Pane
|
|
4
13
|
**
|
|
5
14
|
** - Attach a document to a thing
|
|
@@ -9,13 +18,10 @@
|
|
|
9
18
|
**
|
|
10
19
|
**
|
|
11
20
|
*/
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var $rdf = require('rdflib');
|
|
15
|
-
|
|
16
|
-
module.exports = {
|
|
21
|
+
var _default = {
|
|
17
22
|
icon: UI.icons.iconBase + 'noun_25830.svg',
|
|
18
23
|
// noun_25830
|
|
24
|
+
|
|
19
25
|
name: 'attachments',
|
|
20
26
|
// Does the subject deserve an attachments pane?
|
|
21
27
|
//
|
|
@@ -29,37 +35,38 @@ module.exports = {
|
|
|
29
35
|
var t = kb.findTypeURIs(subject);
|
|
30
36
|
var QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
|
|
31
37
|
var WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || t['http://www.w3.org/2005/01/wf/flow#Task'] || t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||
|
|
38
|
+
if (t['http://www.w3.org/ns/pim/trip#Trip'] ||
|
|
39
|
+
// If in any subclass
|
|
40
|
+
subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || t['http://www.w3.org/2005/01/wf/flow#Task'] || t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||
|
|
41
|
+
// subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||
|
|
35
42
|
QU('Transaction') in kb.findSuperClassesNT(subject) || kb.holds(subject, WF('attachment'))) {
|
|
36
43
|
return 'attachments';
|
|
37
44
|
}
|
|
38
|
-
|
|
39
45
|
return null;
|
|
40
46
|
},
|
|
41
47
|
render: function render(subject, context) {
|
|
42
48
|
var dom = context.dom;
|
|
43
49
|
var kb = context.session.store;
|
|
44
50
|
var WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#');
|
|
45
|
-
var QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
|
|
51
|
+
var QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
|
|
52
|
+
|
|
53
|
+
// ////////////////////////////////////////////////////////////////////////////
|
|
46
54
|
|
|
47
55
|
var complain = function complain(message) {
|
|
48
56
|
var pre = dom.createElement('pre');
|
|
49
57
|
pre.setAttribute('style', 'background-color: pink');
|
|
50
58
|
div.appendChild(pre);
|
|
51
59
|
pre.appendChild(dom.createTextNode(message));
|
|
52
|
-
};
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// Where can we write about this thing?
|
|
53
63
|
//
|
|
54
64
|
// Returns term for document or null
|
|
55
|
-
|
|
56
|
-
|
|
57
65
|
var findStore = function findStore(kb, subject) {
|
|
58
66
|
if (kb.updater.editable(subject.doc(), kb)) return subject.doc();
|
|
59
67
|
var store = kb.any(subject.doc(), QU('annotationStore'));
|
|
60
68
|
return store;
|
|
61
69
|
};
|
|
62
|
-
|
|
63
70
|
var div = dom.createElement('div');
|
|
64
71
|
var esc = UI.utils.escapeForXML;
|
|
65
72
|
div.setAttribute('class', 'attachPane');
|
|
@@ -70,10 +77,11 @@ module.exports = {
|
|
|
70
77
|
var subjects, multi;
|
|
71
78
|
var options = {};
|
|
72
79
|
var currentMode = 0; // 0 -> Show all; 1 -> Attached; 2 -> unattached
|
|
73
|
-
|
|
74
80
|
var currentSubject = null;
|
|
75
81
|
var currentObject = null;
|
|
76
|
-
var objectType = QU('SupportingDocument');
|
|
82
|
+
var objectType = QU('SupportingDocument');
|
|
83
|
+
|
|
84
|
+
// Find all members of the class which we know about
|
|
77
85
|
// and sort them by an appropriate property. @@ Move to library
|
|
78
86
|
//
|
|
79
87
|
|
|
@@ -87,18 +95,15 @@ module.exports = {
|
|
|
87
95
|
var uri = uriMap[subject.uri];
|
|
88
96
|
return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'));
|
|
89
97
|
};
|
|
90
|
-
|
|
91
98
|
var getSortKey = function getSortKey(c) {
|
|
92
99
|
var k = getSortKeySimple(c.uri);
|
|
93
100
|
if (k) return k;
|
|
94
101
|
var sup = kb.findSuperClassesNT(c);
|
|
95
|
-
|
|
96
102
|
for (var cl in sup) {
|
|
97
103
|
// note unordered -- could be closest first
|
|
98
104
|
k = getSortKeySimple(kb.fromNT(cl).uri);
|
|
99
105
|
if (k) return k;
|
|
100
106
|
}
|
|
101
|
-
|
|
102
107
|
return undefined; // failure
|
|
103
108
|
};
|
|
104
109
|
|
|
@@ -108,16 +113,13 @@ module.exports = {
|
|
|
108
113
|
var uriHash = kb.findMemberURIs(subject);
|
|
109
114
|
var pairs = [];
|
|
110
115
|
var subjects = [];
|
|
111
|
-
|
|
112
116
|
for (u in uriHash) {
|
|
113
117
|
// @@ TODO: Write away the need for exception on next line
|
|
114
118
|
// eslint-disable-next-line no-prototype-builtins
|
|
115
119
|
if (uriHash.hasOwnProperty(u)) {
|
|
116
120
|
x = kb.sym(u);
|
|
117
|
-
|
|
118
121
|
if (sortBy) {
|
|
119
122
|
key = kb.any(x, sortBy);
|
|
120
|
-
|
|
121
123
|
if (!key) {
|
|
122
124
|
// complain("No key "+key+" sortby "+sortBy+" for "+x)
|
|
123
125
|
key = '8888-12-31';
|
|
@@ -127,60 +129,53 @@ module.exports = {
|
|
|
127
129
|
} else {
|
|
128
130
|
complain('No sortby ' + sortBy + ' for ' + x);
|
|
129
131
|
key = '9999-12-31';
|
|
130
|
-
}
|
|
132
|
+
}
|
|
133
|
+
// key = (sortBy && kb.any(x, sortBy)) || kb.literal("9999-12-31") // Undated appear future
|
|
131
134
|
// if (!key) complain("Sort: '"+key+"' No "+sortBy+" for "+x) // Assume just not in this year
|
|
132
|
-
|
|
133
|
-
|
|
134
135
|
pairs.push([key, x]);
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
|
-
|
|
138
138
|
pairs.sort();
|
|
139
139
|
pairs.reverse(); // @@ Descending order .. made a toggle?
|
|
140
|
-
|
|
141
140
|
for (var i = 0; i < pairs.length; i++) {
|
|
142
141
|
subjects.push(pairs[i][1]);
|
|
143
142
|
}
|
|
144
|
-
|
|
145
143
|
return subjects;
|
|
146
|
-
};
|
|
147
|
-
|
|
144
|
+
};
|
|
148
145
|
|
|
149
|
-
|
|
146
|
+
// Set up a triage of many class members against documents or just one
|
|
147
|
+
if (subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' || QU('Transaction') in kb.findSuperClassesNT(subject)
|
|
148
|
+
// subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'
|
|
150
149
|
) {
|
|
151
150
|
multi = true;
|
|
152
151
|
subjects = getMembersAndSort(subject);
|
|
153
152
|
} else {
|
|
154
153
|
currentSubject = subject;
|
|
155
154
|
currentMode = 1; // Show attached only.
|
|
156
|
-
|
|
157
155
|
subjects = [subject];
|
|
158
156
|
multi = false;
|
|
159
|
-
}
|
|
160
|
-
// if (!store) complain("There is no annotation store for: "+subject.uri)
|
|
161
|
-
// var objects = kb.each(undefined, ns.rdf('type'), range)
|
|
157
|
+
}
|
|
162
158
|
|
|
159
|
+
// var store = findStore(kb, subject)
|
|
160
|
+
// if (!store) complain("There is no annotation store for: "+subject.uri)
|
|
163
161
|
|
|
162
|
+
// var objects = kb.each(undefined, ns.rdf('type'), range)
|
|
164
163
|
var objects = getMembersAndSort(range);
|
|
165
164
|
if (!objects) complain('objects:' + objects.length);
|
|
166
|
-
|
|
167
165
|
var deselectObject = function deselectObject() {
|
|
168
166
|
currentObject = null;
|
|
169
167
|
preview.innerHTML = '';
|
|
170
168
|
};
|
|
171
|
-
|
|
172
169
|
var showFiltered = function showFiltered(mode) {
|
|
173
|
-
var filtered = mode === 0 ? objects : getFiltered();
|
|
174
|
-
|
|
170
|
+
var filtered = mode === 0 ? objects : getFiltered();
|
|
171
|
+
// eslint-enable
|
|
175
172
|
UI.widgets.selectorPanelRefresh(objectList, dom, kb, objectType, predicate, true, filtered, options, showObject, linkClicked);
|
|
176
|
-
|
|
177
173
|
if (filtered.length === 1) {
|
|
178
174
|
currentObject = filtered[0];
|
|
179
175
|
showObject(currentObject, null, true); // @@ (Sure?) if only one select it.
|
|
180
176
|
} else {
|
|
181
177
|
deselectObject();
|
|
182
178
|
}
|
|
183
|
-
|
|
184
179
|
function getFiltered() {
|
|
185
180
|
return mode === 1 ? currentSubject === null ? objects.filter(function (y) {
|
|
186
181
|
return !!kb.holds(undefined, predicate, y);
|
|
@@ -191,11 +186,10 @@ module.exports = {
|
|
|
191
186
|
});
|
|
192
187
|
}
|
|
193
188
|
};
|
|
194
|
-
|
|
195
189
|
var setAttachment = function setAttachment(x, y, value, refresh) {
|
|
196
190
|
if (kb.holds(x, predicate, y) === value) return;
|
|
197
|
-
var verb = value ? 'attach' : 'detach';
|
|
198
|
-
|
|
191
|
+
var verb = value ? 'attach' : 'detach';
|
|
192
|
+
// complain("Info: starting to "+verb+" " + y.uri + " to "+x.uri+ ":\n")
|
|
199
193
|
var linkDone3 = function linkDone3(uri, ok, body) {
|
|
200
194
|
if (ok) {
|
|
201
195
|
// complain("Success "+verb+" "+y.uri+" to "+x.uri+ ":\n"+ body)
|
|
@@ -204,14 +198,11 @@ module.exports = {
|
|
|
204
198
|
complain('Error: Unable to ' + verb + ' ' + y.uri + ' to ' + x.uri + ':\n' + body);
|
|
205
199
|
}
|
|
206
200
|
};
|
|
207
|
-
|
|
208
201
|
var store = findStore(kb, x);
|
|
209
|
-
|
|
210
202
|
if (!store) {
|
|
211
203
|
complain('There is no annotation store for: ' + x.uri);
|
|
212
204
|
} else {
|
|
213
205
|
var sts = [$rdf.st(x, predicate, y, store)];
|
|
214
|
-
|
|
215
206
|
if (value) {
|
|
216
207
|
kb.updater.update([], sts, linkDone3);
|
|
217
208
|
} else {
|
|
@@ -219,10 +210,8 @@ module.exports = {
|
|
|
219
210
|
}
|
|
220
211
|
}
|
|
221
212
|
};
|
|
222
|
-
|
|
223
213
|
var linkClicked = function linkClicked(x, event, inverse, refresh) {
|
|
224
214
|
var s, o;
|
|
225
|
-
|
|
226
215
|
if (inverse) {
|
|
227
216
|
// Objectlist
|
|
228
217
|
if (!currentSubject) {
|
|
@@ -242,11 +231,10 @@ module.exports = {
|
|
|
242
231
|
o = currentObject;
|
|
243
232
|
}
|
|
244
233
|
}
|
|
245
|
-
|
|
246
234
|
setAttachment(s, o, !kb.holds(s, predicate, o), refresh); // @@ toggle
|
|
247
|
-
};
|
|
248
|
-
|
|
235
|
+
};
|
|
249
236
|
|
|
237
|
+
// When you click on a subject, filter the objects connected to the subject in Mode 1
|
|
250
238
|
var showSubject = function showSubject(x, event, selected) {
|
|
251
239
|
if (selected) {
|
|
252
240
|
currentSubject = x;
|
|
@@ -254,8 +242,6 @@ module.exports = {
|
|
|
254
242
|
currentSubject = null;
|
|
255
243
|
if (currentMode === 1) deselectObject();
|
|
256
244
|
} // If all are displayed, refresh would just annoy:
|
|
257
|
-
|
|
258
|
-
|
|
259
245
|
if (currentMode !== 0) showFiltered(currentMode); // Refresh the objects
|
|
260
246
|
};
|
|
261
247
|
|
|
@@ -264,18 +250,14 @@ module.exports = {
|
|
|
264
250
|
subjectList.setAttribute('style', 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left');
|
|
265
251
|
div.appendChild(subjectList);
|
|
266
252
|
}
|
|
267
|
-
|
|
268
253
|
var showObject = function showObject(x, event, selected) {
|
|
269
254
|
if (!selected) {
|
|
270
255
|
deselectObject();
|
|
271
256
|
preview.innerHTML = ''; // Clean out what is there
|
|
272
257
|
// complain("Show object "+x.uri)
|
|
273
|
-
|
|
274
258
|
return;
|
|
275
259
|
}
|
|
276
|
-
|
|
277
260
|
currentObject = x;
|
|
278
|
-
|
|
279
261
|
try {
|
|
280
262
|
/*
|
|
281
263
|
var dispalyable = function (kb, x) {
|
|
@@ -294,12 +276,10 @@ module.exports = {
|
|
|
294
276
|
}
|
|
295
277
|
*/
|
|
296
278
|
preview.innerHTML = 'Loading ....';
|
|
297
|
-
|
|
298
279
|
if (x.uri) {
|
|
299
280
|
kb.fetcher.load(x.uri).then(function () {
|
|
300
281
|
var outliner = context.getOutliner(dom);
|
|
301
282
|
var display = outliner.propertyTable(x); // ,table, pane
|
|
302
|
-
|
|
303
283
|
preview.innerHTML = '';
|
|
304
284
|
preview.appendChild(display);
|
|
305
285
|
})["catch"](function (err) {
|
|
@@ -314,14 +294,12 @@ module.exports = {
|
|
|
314
294
|
} else {
|
|
315
295
|
}
|
|
316
296
|
*/
|
|
317
|
-
|
|
318
297
|
} catch (e) {
|
|
319
298
|
preview.innerHTML = '<span style="background-color: pink;">' + 'Error:' + e + '</span>'; // @@ enc
|
|
320
299
|
}
|
|
321
300
|
};
|
|
322
301
|
|
|
323
302
|
div.setAttribute('style', 'background-color: white; width:40cm; height:20cm;');
|
|
324
|
-
|
|
325
303
|
var headerButtons = function headerButtons(dom, labels, intial, callback) {
|
|
326
304
|
var head = dom.createElement('table');
|
|
327
305
|
var current = intial;
|
|
@@ -330,21 +308,17 @@ module.exports = {
|
|
|
330
308
|
var style0 = 'border-radius: 0.6em; text-align: center;';
|
|
331
309
|
var style1 = style0 + 'background-color: #ccc; color: black;';
|
|
332
310
|
head.appendChild(tr);
|
|
333
|
-
|
|
334
311
|
var setStyles = function setStyles() {
|
|
335
312
|
for (i = 0; i < labels.length; i++) {
|
|
336
313
|
buttons[i].setAttribute('style', i === current ? style1 : style0);
|
|
337
314
|
}
|
|
338
315
|
};
|
|
339
|
-
|
|
340
316
|
var i, b;
|
|
341
317
|
var buttons = [];
|
|
342
|
-
|
|
343
318
|
for (i = 0; i < labels.length; i++) {
|
|
344
319
|
b = buttons[i] = dom.createElement('td');
|
|
345
320
|
b.textContent = labels[i];
|
|
346
321
|
tr.appendChild(buttons[i]);
|
|
347
|
-
|
|
348
322
|
var listen = function listen(b, i) {
|
|
349
323
|
b.addEventListener('click', function (_e) {
|
|
350
324
|
current = i;
|
|
@@ -352,14 +326,11 @@ module.exports = {
|
|
|
352
326
|
callback(i);
|
|
353
327
|
});
|
|
354
328
|
};
|
|
355
|
-
|
|
356
329
|
listen(b, i);
|
|
357
330
|
}
|
|
358
|
-
|
|
359
331
|
setStyles();
|
|
360
332
|
return head;
|
|
361
333
|
};
|
|
362
|
-
|
|
363
334
|
var setMode = function setMode(mode) {
|
|
364
335
|
if (mode !== currentMode) {
|
|
365
336
|
currentMode = mode;
|
|
@@ -367,33 +338,29 @@ module.exports = {
|
|
|
367
338
|
showFiltered(mode);
|
|
368
339
|
}
|
|
369
340
|
};
|
|
370
|
-
|
|
371
341
|
var wrapper = dom.createElement('div');
|
|
372
|
-
wrapper.setAttribute('style', ' width: 30em; height: 100%; padding: 0em; float:left;');
|
|
373
|
-
|
|
342
|
+
wrapper.setAttribute('style', ' width: 30em; height: 100%; padding: 0em; float:left;');
|
|
343
|
+
// wrapper.appendChild(head)
|
|
374
344
|
div.appendChild(wrapper);
|
|
375
345
|
wrapper.appendChild(headerButtons(dom, ['all', 'attached', 'not attached'], currentMode, setMode));
|
|
376
346
|
var objectList = UI.widgets.selectorPanel(dom, kb, objectType, predicate, true, objects, options, showObject, linkClicked);
|
|
377
347
|
objectList.setAttribute('style', 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'); // float:left
|
|
348
|
+
wrapper.appendChild(objectList);
|
|
378
349
|
|
|
379
|
-
|
|
350
|
+
// objectList.insertBefore(head, objectList.firstChild)
|
|
380
351
|
|
|
381
352
|
var preview = dom.createElement('div');
|
|
382
|
-
preview.setAttribute('style',
|
|
383
|
-
/* background-color: black; */
|
|
384
|
-
'padding: 0em; margin: 0; height: 100%; overflow:scroll;');
|
|
353
|
+
preview.setAttribute('style', /* background-color: black; */'padding: 0em; margin: 0; height: 100%; overflow:scroll;');
|
|
385
354
|
div.appendChild(preview);
|
|
386
355
|
showFiltered(currentMode);
|
|
387
|
-
|
|
388
356
|
if (subjects.length > 0 && multi) {
|
|
389
357
|
var stores = {};
|
|
390
|
-
|
|
391
358
|
for (var k = 0; k < subjects.length; k++) {
|
|
392
359
|
var store = findStore(kb, subjects[k]);
|
|
393
|
-
if (store) stores[store.uri] = subjects[k];
|
|
360
|
+
if (store) stores[store.uri] = subjects[k];
|
|
361
|
+
// if (!store) complain("No store for "+subjects[k].uri)
|
|
394
362
|
}
|
|
395
|
-
|
|
396
|
-
var _loop = function _loop(storeURI) {
|
|
363
|
+
var _loop = function _loop() {
|
|
397
364
|
// var store = findStore(kb,subjects[subjectList.length-1])
|
|
398
365
|
var store = kb.sym(storeURI);
|
|
399
366
|
var mintBox = dom.createElement('div');
|
|
@@ -410,32 +377,33 @@ module.exports = {
|
|
|
410
377
|
mintBox.appendChild(mintButton)
|
|
411
378
|
mintButton.setAttribute('src', ...); @@ Invokes master handler
|
|
412
379
|
*/
|
|
413
|
-
|
|
414
380
|
mintBox.addEventListener('click', function (_event) {
|
|
415
381
|
var thisForm = UI.widgets.promptForNew(dom, kb, subject, predicate, subject, null, store, function (ok, _body) {
|
|
416
|
-
if (!ok) {
|
|
417
|
-
|
|
382
|
+
if (!ok) {
|
|
383
|
+
// callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing
|
|
384
|
+
} else {
|
|
385
|
+
// Refresh @@
|
|
418
386
|
}
|
|
419
387
|
});
|
|
420
|
-
|
|
421
388
|
try {
|
|
422
389
|
div.insertBefore(thisForm, mintBox.nextSibling); // Sigh no insertAfter
|
|
423
390
|
} catch (e) {
|
|
424
391
|
div.appendChild(thisForm);
|
|
425
|
-
}
|
|
426
|
-
|
|
392
|
+
}
|
|
393
|
+
// var newObject = thisForm.AJAR_subject
|
|
427
394
|
}, false);
|
|
428
395
|
div.appendChild(mintBox);
|
|
429
396
|
};
|
|
430
|
-
|
|
431
397
|
for (var storeURI in stores) {
|
|
432
|
-
_loop(
|
|
398
|
+
_loop();
|
|
433
399
|
}
|
|
434
|
-
}
|
|
400
|
+
}
|
|
435
401
|
|
|
402
|
+
// if (!me) complain("(You do not have your Web Id set. Set your Web ID to make changes.)")
|
|
436
403
|
|
|
437
404
|
return div;
|
|
438
405
|
}
|
|
439
406
|
}; // pane object
|
|
440
407
|
// ends
|
|
408
|
+
exports["default"] = _default;
|
|
441
409
|
//# sourceMappingURL=attachPane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachPane.js","names":["UI","require","$rdf","module","exports","icon","icons","iconBase","name","label","subject","context","kb","session","store","t","findTypeURIs","QU","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","hasOwnProperty","value","push","sort","reverse","i","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","o","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","e","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n */\n preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachPane.js","names":["icon","UI","icons","iconBase","name","label","subject","context","kb","session","store","t","findTypeURIs","QU","$rdf","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","hasOwnProperty","value","push","sort","reverse","i","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","o","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","e","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\n\nexport default {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n */\n preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":";;;;;;;AAUC;AACA;AAA8B;AAAA;AAX/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,eAae;EACbA,IAAI,EAAEC,EAAE,CAACC,KAAK,CAACC,QAAQ,GAAG,gBAAgB;EAAE;;EAE5CC,IAAI,EAAE,aAAa;EAEnB;EACA;EACA;EACA;EACA;EACA;EACA;EACAC,KAAK,EAAE,eAAUC,OAAO,EAAEC,OAAO,EAAE;IACjC,IAAMC,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;IAChC,IAAMC,CAAC,GAAGH,EAAE,CAACI,YAAY,CAACN,OAAO,CAAC;IAClC,IAAMO,EAAE,GAAGC,IAAI,CAACC,SAAS,CAAC,yCAAyC,CAAC;IACpE,IAAMC,EAAE,GAAGF,IAAI,CAACC,SAAS,CAAC,oCAAoC,CAAC;IAC/D,IACEJ,CAAC,CAAC,oCAAoC,CAAC;IAAI;IAC3CL,OAAO,CAACW,GAAG,KAAK,oCAAoC,IACpDN,CAAC,CAAC,wCAAwC,CAAC,IAC3CA,CAAC,CAAC,oDAAoD,CAAC;IACvD;IACAE,EAAE,CAAC,aAAa,CAAC,IAAIL,EAAE,CAACU,kBAAkB,CAACZ,OAAO,CAAC,IACnDE,EAAE,CAACW,KAAK,CAACb,OAAO,EAAEU,EAAE,CAAC,YAAY,CAAC,CAAC,EACnC;MACA,OAAO,aAAa;IACtB;IACA,OAAO,IAAI;EACb,CAAC;EAEDI,MAAM,EAAE,gBAAUd,OAAO,EAAEC,OAAO,EAAE;IAClC,IAAMc,GAAG,GAAGd,OAAO,CAACc,GAAG;IACvB,IAAMb,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;IAChC,IAAMM,EAAE,GAAGF,IAAI,CAACC,SAAS,CAAC,oCAAoC,CAAC;IAC/D,IAAMF,EAAE,GAAGC,IAAI,CAACC,SAAS,CAAC,yCAAyC,CAAC;;IAEpE;;IAEA,IAAMO,QAAQ,GAAG,SAASA,QAAQ,CAAEC,OAAO,EAAE;MAC3C,IAAMC,GAAG,GAAGH,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;MACpCD,GAAG,CAACE,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC;MACnDC,GAAG,CAACC,WAAW,CAACJ,GAAG,CAAC;MACpBA,GAAG,CAACI,WAAW,CAACP,GAAG,CAACQ,cAAc,CAACN,OAAO,CAAC,CAAC;IAC9C,CAAC;;IAED;IACA;IACA;IACA,IAAMO,SAAS,GAAG,SAAZA,SAAS,CAAatB,EAAE,EAAEF,OAAO,EAAE;MACvC,IAAIE,EAAE,CAACuB,OAAO,CAACC,QAAQ,CAAC1B,OAAO,CAAC2B,GAAG,EAAE,EAAEzB,EAAE,CAAC,EAAE,OAAOF,OAAO,CAAC2B,GAAG,EAAE;MAChE,IAAMvB,KAAK,GAAGF,EAAE,CAAC0B,GAAG,CAAC5B,OAAO,CAAC2B,GAAG,EAAE,EAAEpB,EAAE,CAAC,iBAAiB,CAAC,CAAC;MAC1D,OAAOH,KAAK;IACd,CAAC;IAED,IAAMiB,GAAG,GAAGN,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;IACpC,IAAMU,GAAG,GAAGlC,EAAE,CAACmC,KAAK,CAACC,YAAY;IACjCV,GAAG,CAACD,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC;IACvCC,GAAG,CAACW,SAAS,GACX,MAAM,GAAGH,GAAG,CAAClC,EAAE,CAACmC,KAAK,CAAC/B,KAAK,CAACC,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,mBAAmB,EAAC;;IAEpE,IAAMiC,SAAS,GAAGvB,EAAE,CAAC,YAAY,CAAC;IAClC,IAAMwB,KAAK,GAAG3B,EAAE,CAAC,oBAAoB,CAAC;IAEtC,IAAI4B,QAAQ,EAAEC,KAAK;IACnB,IAAMC,OAAO,GAAG,CAAC,CAAC;IAClB,IAAIC,WAAW,GAAG,CAAC,EAAC;IACpB,IAAIC,cAAc,GAAG,IAAI;IACzB,IAAIC,aAAa,GAAG,IAAI;IACxB,IAAMC,UAAU,GAAGlC,EAAE,CAAC,oBAAoB,CAAC;;IAE3C;IACA;IACA;;IAEA,IAAMmC,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAaC,EAAE,EAAE;MACrC,IAAMC,MAAM,GAAG;QACb,wCAAwC,EAAE,yCAAyC;QACnF,oCAAoC,EAAE,4CAA4C;QAClF,oDAAoD,EAAE,6CAA6C;QACnG,2DAA2D,EAAE;MAC/D,CAAC;MACD,IAAMjC,GAAG,GAAGiC,MAAM,CAAC5C,OAAO,CAACW,GAAG,CAAC;MAC/B,OAAOA,GAAG,GAAGT,EAAE,CAAC2C,GAAG,CAAClC,GAAG,CAAC,GAAGT,EAAE,CAAC0B,GAAG,CAAC5B,OAAO,EAAEL,EAAE,CAACmD,EAAE,CAACC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAMC,UAAU,GAAG,SAAbA,UAAU,CAAaC,CAAC,EAAE;MAC9B,IAAIC,CAAC,GAAGR,gBAAgB,CAACO,CAAC,CAACtC,GAAG,CAAC;MAC/B,IAAIuC,CAAC,EAAE,OAAOA,CAAC;MACf,IAAMC,GAAG,GAAGjD,EAAE,CAACU,kBAAkB,CAACqC,CAAC,CAAC;MACpC,KAAK,IAAMG,EAAE,IAAID,GAAG,EAAE;QACpB;QACAD,CAAC,GAAGR,gBAAgB,CAACxC,EAAE,CAACmD,MAAM,CAACD,EAAE,CAAC,CAACzC,GAAG,CAAC;QACvC,IAAIuC,CAAC,EAAE,OAAOA,CAAC;MACjB;MACA,OAAOI,SAAS,EAAC;IACnB,CAAC;;IAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB,CAAavD,OAAO,EAAE;MAC3C,IAAMwD,MAAM,GAAGR,UAAU,CAAChD,OAAO,CAAC;MAClC,IAAIyD,CAAC,EAAEC,CAAC,EAAEC,GAAG;MACb,IAAMC,OAAO,GAAG1D,EAAE,CAAC2D,cAAc,CAAC7D,OAAO,CAAC;MAC1C,IAAM8D,KAAK,GAAG,EAAE;MAChB,IAAM3B,QAAQ,GAAG,EAAE;MACnB,KAAKsB,CAAC,IAAIG,OAAO,EAAE;QACjB;QACA;QACA,IAAIA,OAAO,CAACG,cAAc,CAACN,CAAC,CAAC,EAAE;UAC7BC,CAAC,GAAGxD,EAAE,CAAC2C,GAAG,CAACY,CAAC,CAAC;UACb,IAAID,MAAM,EAAE;YACVG,GAAG,GAAGzD,EAAE,CAAC0B,GAAG,CAAC8B,CAAC,EAAEF,MAAM,CAAC;YACvB,IAAI,CAACG,GAAG,EAAE;cACR;cACAA,GAAG,GAAG,YAAY;YACpB,CAAC,MAAM;cACLA,GAAG,GAAGA,GAAG,CAACK,KAAK;YACjB;UACF,CAAC,MAAM;YACLhD,QAAQ,CAAC,YAAY,GAAGwC,MAAM,GAAG,OAAO,GAAGE,CAAC,CAAC;YAC7CC,GAAG,GAAG,YAAY;UACpB;UACA;UACA;UACAG,KAAK,CAACG,IAAI,CAAC,CAACN,GAAG,EAAED,CAAC,CAAC,CAAC;QACtB;MACF;MACAI,KAAK,CAACI,IAAI,EAAE;MACZJ,KAAK,CAACK,OAAO,EAAE,EAAC;MAChB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,KAAK,CAACO,MAAM,EAAED,CAAC,EAAE,EAAE;QACrCjC,QAAQ,CAAC8B,IAAI,CAACH,KAAK,CAACM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5B;MACA,OAAOjC,QAAQ;IACjB,CAAC;;IAED;IACA,IACEnC,OAAO,CAACW,GAAG,KAAK,oCAAoC,IACpDJ,EAAE,CAAC,aAAa,CAAC,IAAIL,EAAE,CAACU,kBAAkB,CAACZ,OAAO;IAClD;IAAA,EACA;MACAoC,KAAK,GAAG,IAAI;MACZD,QAAQ,GAAGoB,iBAAiB,CAACvD,OAAO,CAAC;IACvC,CAAC,MAAM;MACLuC,cAAc,GAAGvC,OAAO;MACxBsC,WAAW,GAAG,CAAC,EAAC;MAChBH,QAAQ,GAAG,CAACnC,OAAO,CAAC;MACpBoC,KAAK,GAAG,KAAK;IACf;;IAEA;IACA;;IAEA;IACA,IAAMkC,OAAO,GAAGf,iBAAiB,CAACrB,KAAK,CAAC;IACxC,IAAI,CAACoC,OAAO,EAAEtD,QAAQ,CAAC,UAAU,GAAGsD,OAAO,CAACD,MAAM,CAAC;IAEnD,IAAME,cAAc,GAAG,SAAjBA,cAAc,GAAe;MACjC/B,aAAa,GAAG,IAAI;MACpBgC,OAAO,CAACxC,SAAS,GAAG,EAAE;IACxB,CAAC;IAED,IAAMyC,YAAY,GAAG,SAAfA,YAAY,CAAaC,IAAI,EAAE;MACnC,IAAMC,QAAQ,GAAGD,IAAI,KAAK,CAAC,GAAGJ,OAAO,GAAGM,WAAW,EAAE;MACrD;MACAjF,EAAE,CAACkF,OAAO,CAACC,oBAAoB,CAC7BC,UAAU,EACVhE,GAAG,EACHb,EAAE,EACFuC,UAAU,EACVR,SAAS,EACT,IAAI,EACJ0C,QAAQ,EACRtC,OAAO,EACP2C,UAAU,EACVC,WAAW,CACZ;MACD,IAAIN,QAAQ,CAACN,MAAM,KAAK,CAAC,EAAE;QACzB7B,aAAa,GAAGmC,QAAQ,CAAC,CAAC,CAAC;QAC3BK,UAAU,CAACxC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,EAAC;MACxC,CAAC,MAAM;QACL+B,cAAc,EAAE;MAClB;MAEA,SAASK,WAAW,GAAI;QACtB,OAAOF,IAAI,KAAK,CAAC,GACbnC,cAAc,KAAK,IAAI,GACrB+B,OAAO,CAACY,MAAM,CAAC,UAAAC,CAAC;UAAA,OAAI,CAAC,CAACjF,EAAE,CAACW,KAAK,CAACyC,SAAS,EAAErB,SAAS,EAAEkD,CAAC,CAAC;QAAA,EAAC,GACxDb,OAAO,CAACY,MAAM,CAAC,UAAAC,CAAC;UAAA,OAAI,CAAC,CAACjF,EAAE,CAACW,KAAK,CAAC0B,cAAc,EAAEN,SAAS,EAAEkD,CAAC,CAAC;QAAA,EAAC,GAC/Db,OAAO,CAACY,MAAM,CAAC,UAAAC,CAAC;UAAA,OAAIjF,EAAE,CAACkF,IAAI,CAAC9B,SAAS,EAAErB,SAAS,EAAEkD,CAAC,CAAC,CAACd,MAAM,KAAK,CAAC;QAAA,EAAC;MACxE;IACF,CAAC;IAED,IAAMgB,aAAa,GAAG,SAAhBA,aAAa,CAAa3B,CAAC,EAAEyB,CAAC,EAAEnB,KAAK,EAAEsB,OAAO,EAAE;MACpD,IAAIpF,EAAE,CAACW,KAAK,CAAC6C,CAAC,EAAEzB,SAAS,EAAEkD,CAAC,CAAC,KAAKnB,KAAK,EAAE;MACzC,IAAMuB,IAAI,GAAGvB,KAAK,GAAG,QAAQ,GAAG,QAAQ;MACxC;MACA,IAAMwB,SAAS,GAAG,SAAZA,SAAS,CAAa7E,GAAG,EAAE8E,EAAE,EAAEC,IAAI,EAAE;QACzC,IAAID,EAAE,EAAE;UACN;UACAH,OAAO,EAAE;QACX,CAAC,MAAM;UACLtE,QAAQ,CACN,mBAAmB,GACjBuE,IAAI,GACJ,GAAG,GACHJ,CAAC,CAACxE,GAAG,GACL,MAAM,GACN+C,CAAC,CAAC/C,GAAG,GACL,KAAK,GACL+E,IAAI,CACP;QACH;MACF,CAAC;MAED,IAAMtF,KAAK,GAAGoB,SAAS,CAACtB,EAAE,EAAEwD,CAAC,CAAC;MAC9B,IAAI,CAACtD,KAAK,EAAE;QACVY,QAAQ,CAAC,oCAAoC,GAAG0C,CAAC,CAAC/C,GAAG,CAAC;MACxD,CAAC,MAAM;QACL,IAAMgF,GAAG,GAAG,CAACnF,IAAI,CAACoF,EAAE,CAAClC,CAAC,EAAEzB,SAAS,EAAEkD,CAAC,EAAE/E,KAAK,CAAC,CAAC;QAC7C,IAAI4D,KAAK,EAAE;UACT9D,EAAE,CAACuB,OAAO,CAACoE,MAAM,CAAC,EAAE,EAAEF,GAAG,EAAEH,SAAS,CAAC;QACvC,CAAC,MAAM;UACLtF,EAAE,CAACuB,OAAO,CAACoE,MAAM,CAACF,GAAG,EAAE,EAAE,EAAEH,SAAS,CAAC;QACvC;MACF;IACF,CAAC;IAED,IAAMP,WAAW,GAAG,SAAdA,WAAW,CAAavB,CAAC,EAAEoC,KAAK,EAAEC,OAAO,EAAET,OAAO,EAAE;MACxD,IAAIU,CAAC,EAAEC,CAAC;MACR,IAAIF,OAAO,EAAE;QACX;QACA,IAAI,CAACxD,cAAc,EAAE;UACnBvB,QAAQ,CAAC,2CAA2C,CAAC;UACrD;QACF,CAAC,MAAM;UACLgF,CAAC,GAAGzD,cAAc;UAClB0D,CAAC,GAAGvC,CAAC;QACP;MACF,CAAC,MAAM;QACL;QACA,IAAI,CAAClB,aAAa,EAAE;UAClBxB,QAAQ,CAAC,0CAA0C,CAAC;UACpD;QACF,CAAC,MAAM;UACLgF,CAAC,GAAGtC,CAAC;UACLuC,CAAC,GAAGzD,aAAa;QACnB;MACF;MACA6C,aAAa,CAACW,CAAC,EAAEC,CAAC,EAAE,CAAC/F,EAAE,CAACW,KAAK,CAACmF,CAAC,EAAE/D,SAAS,EAAEgE,CAAC,CAAC,EAAEX,OAAO,CAAC,EAAC;IAC3D,CAAC;;IAED;IACA,IAAMY,WAAW,GAAG,SAAdA,WAAW,CAAaxC,CAAC,EAAEoC,KAAK,EAAEK,QAAQ,EAAE;MAChD,IAAIA,QAAQ,EAAE;QACZ5D,cAAc,GAAGmB,CAAC;MACpB,CAAC,MAAM;QACLnB,cAAc,GAAG,IAAI;QACrB,IAAID,WAAW,KAAK,CAAC,EAAEiC,cAAc,EAAE;MACzC,CAAC,CAAC;MACF,IAAIjC,WAAW,KAAK,CAAC,EAAEmC,YAAY,CAACnC,WAAW,CAAC,EAAC;IACnD,CAAC;;IAED,IAAIF,KAAK,EAAE;MACT,IAAMgE,WAAW,GAAGzG,EAAE,CAACkF,OAAO,CAACwB,aAAa,CAC1CtF,GAAG,EACHb,EAAE,EACFF,OAAO,EACPiC,SAAS,EACT,KAAK,EACLE,QAAQ,EACRE,OAAO,EACP6D,WAAW,EACXjB,WAAW,CACZ;MACDmB,WAAW,CAAChF,YAAY,CACtB,OAAO,EACP,iGAAiG,CAClG;MACDC,GAAG,CAACC,WAAW,CAAC8E,WAAW,CAAC;IAC9B;IAEA,IAAMpB,UAAU,GAAG,SAAbA,UAAU,CAAatB,CAAC,EAAEoC,KAAK,EAAEK,QAAQ,EAAE;MAC/C,IAAI,CAACA,QAAQ,EAAE;QACb5B,cAAc,EAAE;QAChBC,OAAO,CAACxC,SAAS,GAAG,EAAE,EAAC;QACvB;QACA;MACF;MACAQ,aAAa,GAAGkB,CAAC;MACjB,IAAI;QACF;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;QACQc,OAAO,CAACxC,SAAS,GAAG,cAAc;QAClC,IAAI0B,CAAC,CAAC/C,GAAG,EAAE;UACTT,EAAE,CAACoG,OAAO,CACPC,IAAI,CAAC7C,CAAC,CAAC/C,GAAG,CAAC,CACX6F,IAAI,CAAC,YAAM;YACV,IAAMC,QAAQ,GAAGxG,OAAO,CAACyG,WAAW,CAAC3F,GAAG,CAAC;YACzC,IAAM4F,OAAO,GAAGF,QAAQ,CAACG,aAAa,CAAClD,CAAC,CAAC,EAAC;YAC1Cc,OAAO,CAACxC,SAAS,GAAG,EAAE;YACtBwC,OAAO,CAAClD,WAAW,CAACqF,OAAO,CAAC;UAC9B,CAAC,CAAC,SACI,CAAC,UAAAE,GAAG,EAAI;YACZrC,OAAO,CAACsC,WAAW,GAAG,gBAAgB,GAAGpD,CAAC,CAAC/C,GAAG,GAAG,IAAI,GAAGkG,GAAG;UAC7D,CAAC,CAAC;QACN;QACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;MACM,CAAC,CAAC,OAAOE,CAAC,EAAE;QACVvC,OAAO,CAACxC,SAAS,GACf,wCAAwC,GAAG,QAAQ,GAAG+E,CAAC,GAAG,SAAS,EAAC;MACxE;IACF,CAAC;;IAED1F,GAAG,CAACD,YAAY,CACd,OAAO,EACP,mDAAmD,CACpD;IAED,IAAM4F,aAAa,GAAG,SAAhBA,aAAa,CAAajG,GAAG,EAAEkG,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE;MAC7D,IAAMC,IAAI,GAAGrG,GAAG,CAACI,aAAa,CAAC,OAAO,CAAC;MACvC,IAAIkG,OAAO,GAAGH,MAAM;MACpBE,IAAI,CAAChG,YAAY,CACf,OAAO,EACP,iHAAiH,CAClH;MACD,IAAMkG,EAAE,GAAGvG,GAAG,CAACI,aAAa,CAAC,IAAI,CAAC;MAClC,IAAMoG,MAAM,GAAG,2CAA2C;MAC1D,IAAMC,MAAM,GAAGD,MAAM,GAAG,uCAAuC;MAC/DH,IAAI,CAAC9F,WAAW,CAACgG,EAAE,CAAC;MACpB,IAAMG,SAAS,GAAG,SAAZA,SAAS,GAAe;QAC5B,KAAKrD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6C,MAAM,CAAC5C,MAAM,EAAED,CAAC,EAAE,EAAE;UAClCsD,OAAO,CAACtD,CAAC,CAAC,CAAChD,YAAY,CAAC,OAAO,EAAEgD,CAAC,KAAKiD,OAAO,GAAGG,MAAM,GAAGD,MAAM,CAAC;QACnE;MACF,CAAC;MACD,IAAInD,CAAC,EAAEuD,CAAC;MACR,IAAMD,OAAO,GAAG,EAAE;MAClB,KAAKtD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6C,MAAM,CAAC5C,MAAM,EAAED,CAAC,EAAE,EAAE;QAClCuD,CAAC,GAAGD,OAAO,CAACtD,CAAC,CAAC,GAAGrD,GAAG,CAACI,aAAa,CAAC,IAAI,CAAC;QACxCwG,CAAC,CAACb,WAAW,GAAGG,MAAM,CAAC7C,CAAC,CAAC;QACzBkD,EAAE,CAAChG,WAAW,CAACoG,OAAO,CAACtD,CAAC,CAAC,CAAC;QAC1B,IAAMwD,MAAM,GAAG,SAATA,MAAM,CAAaD,CAAC,EAAEvD,CAAC,EAAE;UAC7BuD,CAAC,CAACE,gBAAgB,CAAC,OAAO,EAAE,UAAUC,EAAE,EAAE;YACxCT,OAAO,GAAGjD,CAAC;YACXqD,SAAS,EAAE;YACXN,QAAQ,CAAC/C,CAAC,CAAC;UACb,CAAC,CAAC;QACJ,CAAC;QACDwD,MAAM,CAACD,CAAC,EAAEvD,CAAC,CAAC;MACd;MACAqD,SAAS,EAAE;MACX,OAAOL,IAAI;IACb,CAAC;IAED,IAAMW,OAAO,GAAG,SAAVA,OAAO,CAAarD,IAAI,EAAE;MAC9B,IAAIA,IAAI,KAAKpC,WAAW,EAAE;QACxBA,WAAW,GAAGoC,IAAI;QAClBH,cAAc,EAAE;QAChBE,YAAY,CAACC,IAAI,CAAC;MACpB;IACF,CAAC;IAED,IAAMsD,OAAO,GAAGjH,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;IACxC6G,OAAO,CAAC5G,YAAY,CAClB,OAAO,EACP,wDAAwD,CACzD;IACD;IACAC,GAAG,CAACC,WAAW,CAAC0G,OAAO,CAAC;IACxBA,OAAO,CAAC1G,WAAW,CACjB0F,aAAa,CACXjG,GAAG,EACH,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,EACnCuB,WAAW,EACXyF,OAAO,CACR,CACF;IAED,IAAMhD,UAAU,GAAGpF,EAAE,CAACkF,OAAO,CAACwB,aAAa,CACzCtF,GAAG,EACHb,EAAE,EACFuC,UAAU,EACVR,SAAS,EACT,IAAI,EACJqC,OAAO,EACPjC,OAAO,EACP2C,UAAU,EACVC,WAAW,CACZ;IACDF,UAAU,CAAC3D,YAAY,CACrB,OAAO,EACP,oFAAoF,CACrF,EAAC;IACF4G,OAAO,CAAC1G,WAAW,CAACyD,UAAU,CAAC;;IAE/B;;IAEA,IAAMP,OAAO,GAAGzD,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;IACxCqD,OAAO,CAACpD,YAAY,CAClB,OAAO,EACP,8BAA+B,0DAA0D,CAC1F;IACDC,GAAG,CAACC,WAAW,CAACkD,OAAO,CAAC;IACxBC,YAAY,CAACnC,WAAW,CAAC;IAEzB,IAAIH,QAAQ,CAACkC,MAAM,GAAG,CAAC,IAAIjC,KAAK,EAAE;MAChC,IAAM6F,MAAM,GAAG,CAAC,CAAC;MACjB,KAAK,IAAI/E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,QAAQ,CAACkC,MAAM,EAAEnB,CAAC,EAAE,EAAE;QACxC,IAAM9C,KAAK,GAAGoB,SAAS,CAACtB,EAAE,EAAEiC,QAAQ,CAACe,CAAC,CAAC,CAAC;QACxC,IAAI9C,KAAK,EAAE6H,MAAM,CAAC7H,KAAK,CAACO,GAAG,CAAC,GAAGwB,QAAQ,CAACe,CAAC,CAAC;QAC1C;MACF;MAAC,6BAC8B;QAC7B;QACA,IAAM9C,KAAK,GAAGF,EAAE,CAAC2C,GAAG,CAACqF,QAAQ,CAAC;QAC9B,IAAMC,OAAO,GAAGpH,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC;QACxCgH,OAAO,CAAC/G,YAAY,CAClB,OAAO,EACP,uHAAuH,CACxH;QACD+G,OAAO,CAACrB,WAAW,GAAG,QAAQ,GAAGnH,EAAE,CAACmC,KAAK,CAAC/B,KAAK,CAACC,OAAO,CAAC;QAExDmI,OAAO,CAACrB,WAAW,IAAI,MAAM,GAAGnH,EAAE,CAACmC,KAAK,CAAC/B,KAAK,CAACK,KAAK,CAAC;QACrD,IAAMgI,QAAQ,GAAGrH,GAAG,CAACI,aAAa,CAAC,MAAM,CAAC;QAC1CiH,QAAQ,CAAChH,YAAY,CACnB,OAAO,EACP,mDAAmD,CACpD;QACDgH,QAAQ,CAACtB,WAAW,GAAGoB,QAAQ;QAC/BC,OAAO,CAAC7G,WAAW,CAACP,GAAG,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5CgH,OAAO,CAAC7G,WAAW,CAAC8G,QAAQ,CAAC;QAC7B;AACR;AACA;AACA;AACA;QACQD,OAAO,CAACN,gBAAgB,CACtB,OAAO,EACP,UAAUQ,MAAM,EAAE;UAChB,IAAMC,QAAQ,GAAG3I,EAAE,CAACkF,OAAO,CAAC0D,YAAY,CACtCxH,GAAG,EACHb,EAAE,EACFF,OAAO,EACPiC,SAAS,EACTjC,OAAO,EACP,IAAI,EACJI,KAAK,EACL,UAAUqF,EAAE,EAAE+C,KAAK,EAAE;YACnB,IAAI,CAAC/C,EAAE,EAAE;cACP;YAAA,CACD,MAAM;cACL;YAAA;UAEJ,CAAC,CACF;UACD,IAAI;YACFpE,GAAG,CAACoH,YAAY,CAACH,QAAQ,EAAEH,OAAO,CAACO,WAAW,CAAC,EAAC;UAClD,CAAC,CAAC,OAAO3B,CAAC,EAAE;YACV1F,GAAG,CAACC,WAAW,CAACgH,QAAQ,CAAC;UAC3B;UACA;QACF,CAAC,EACD,KAAK,CACN;QACDjH,GAAG,CAACC,WAAW,CAAC6G,OAAO,CAAC;MAC1B,CAAC;MArDD,KAAK,IAAMD,QAAQ,IAAID,MAAM;QAAA;MAAA;IAsD/B;;IAEA;;IAEA,OAAO5G,GAAG;EACZ;AACF,CAAC,EAAC;AAEF;AAAA"}
|