solid-panes 3.7.3 → 4.0.0-30c15dfd
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/dist/RDFXMLPane.js +59 -0
- package/dist/RDFXMLPane.js.map +1 -0
- package/{lib → dist}/argument/argumentPane.js +14 -15
- package/dist/argument/argumentPane.js.map +1 -0
- package/{lib → dist}/attach/attachPane.js +83 -93
- package/dist/attach/attachPane.js.map +1 -0
- package/{lib → dist}/audio/audioPane.js +49 -50
- package/dist/audio/audioPane.js.map +1 -0
- package/{lib → dist}/classInstancePane.js +23 -24
- package/dist/classInstancePane.js.map +1 -0
- package/dist/dashboard/basicPreferences.js +147 -0
- package/dist/dashboard/basicPreferences.js.map +1 -0
- package/{lib → dist}/dashboard/dashboardPane.js +17 -21
- package/dist/dashboard/dashboardPane.js.map +1 -0
- package/dist/dashboard/homepage.js +54 -0
- package/dist/dashboard/homepage.js.map +1 -0
- package/{lib → dist}/dataContentPane.js +64 -63
- package/dist/dataContentPane.js.map +1 -0
- package/{lib → dist}/defaultPane.js +15 -16
- package/dist/defaultPane.js.map +1 -0
- package/{lib → dist}/dokieli/dokieliPane.js +49 -53
- package/dist/dokieli/dokieliPane.js.map +1 -0
- package/{src → dist}/dokieli/new.js +9 -3
- package/dist/dokieli/new.js.map +1 -0
- package/{lib → dist}/form/pane.js +44 -45
- package/dist/form/pane.js.map +1 -0
- package/dist/home/homePane.js +73 -0
- package/dist/home/homePane.js.map +1 -0
- package/dist/humanReadablePane.js +135 -0
- package/dist/humanReadablePane.js.map +1 -0
- package/dist/imagePane.js +70 -0
- package/dist/imagePane.js.map +1 -0
- package/{lib → dist}/index.js +17 -20
- package/dist/index.js.map +1 -0
- package/{lib → dist}/internal/internalPane.js +41 -41
- package/dist/internal/internalPane.js.map +1 -0
- package/{lib → dist}/mainPage/footer.js +2 -2
- package/{lib → dist}/mainPage/footer.js.map +1 -1
- package/dist/mainPage/header.js +86 -0
- package/dist/mainPage/header.js.map +1 -0
- package/{lib → dist}/mainPage/index.d.ts.map +1 -1
- package/dist/mainPage/index.js +25 -0
- package/dist/mainPage/index.js.map +1 -0
- package/{lib → dist}/microblogPane/microblogPane.js +270 -270
- package/dist/microblogPane/microblogPane.js.map +1 -0
- package/dist/n3Pane.js +57 -0
- package/dist/n3Pane.js.map +1 -0
- package/{lib → dist}/outline/context.js +4 -4
- package/{lib → dist}/outline/context.js.map +1 -1
- package/dist/outline/manager.js +1997 -0
- package/dist/outline/manager.js.map +1 -0
- package/{lib → dist}/outline/outlineIcons.js +2 -3
- package/dist/outline/outlineIcons.js.map +1 -0
- package/{lib → dist}/outline/propertyViews.js +4 -4
- package/dist/outline/propertyViews.js.map +1 -0
- package/{lib → dist}/outline/queryByExample.js +33 -33
- package/dist/outline/queryByExample.js.map +1 -0
- package/{lib → dist}/outline/userInput.js +268 -266
- package/dist/outline/userInput.js.map +1 -0
- package/dist/outline/viewAsImage.js +15 -0
- package/dist/outline/viewAsImage.js.map +1 -0
- package/dist/outline/viewAsMbox.js +22 -0
- package/dist/outline/viewAsMbox.js.map +1 -0
- package/{lib → dist}/pad/padPane.js +90 -96
- package/dist/pad/padPane.js.map +1 -0
- package/{lib → dist}/playlist/playlistPane.js +36 -37
- package/dist/playlist/playlistPane.js.map +1 -0
- package/{lib → dist}/registerPanes.js +29 -29
- package/dist/registerPanes.js.map +1 -0
- package/{lib → dist}/schedule/schedulePane.js +171 -178
- package/dist/schedule/schedulePane.js.map +1 -0
- package/{lib → dist}/sharing/sharingPane.js +12 -12
- package/dist/sharing/sharingPane.js.map +1 -0
- package/dist/slideshow/slideshowPane.js +80 -0
- package/dist/slideshow/slideshowPane.js.map +1 -0
- package/{lib → dist}/socialPane.js +142 -142
- package/dist/socialPane.js.map +1 -0
- package/dist/tabbed/tabbedPane.js +58 -0
- package/dist/tabbed/tabbedPane.js.map +1 -0
- package/{lib → dist}/tableViewPane.js +8 -9
- package/dist/tableViewPane.js.map +1 -0
- package/{lib → dist}/transaction/pane.js +117 -118
- package/dist/transaction/pane.js.map +1 -0
- package/{lib → dist}/transaction/period.js +82 -83
- package/dist/transaction/period.js.map +1 -0
- package/{lib → dist}/trip/tripPane.js +47 -48
- package/dist/trip/tripPane.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.dom.js +146 -0
- package/dist/trustedApplications/trustedApplications.dom.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.utils.js +24 -0
- package/dist/trustedApplications/trustedApplications.utils.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.view.js +56 -0
- package/dist/trustedApplications/trustedApplications.view.js.map +1 -0
- package/{lib → dist}/ui/pane.js +30 -31
- package/dist/ui/pane.js.map +1 -0
- package/dist/versionInfo.js +37 -0
- package/dist/versionInfo.js.map +1 -0
- package/dist/video/videoPane.js +43 -0
- package/dist/video/videoPane.js.map +1 -0
- package/package.json +47 -41
- package/Documentation/VisualLanguage.html +0 -538
- package/Documentation/conventions.md +0 -333
- package/coverage/clover.xml +0 -152
- package/coverage/coverage-final.json +0 -6
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -131
- package/coverage/lcov-report/outline/index.html +0 -161
- package/coverage/lcov-report/outline/outlineIcons.js.html +0 -565
- package/coverage/lcov-report/outline/propertyViews.ts.html +0 -196
- package/coverage/lcov-report/outline/viewAsImage.ts.html +0 -121
- package/coverage/lcov-report/outline/viewAsMbox.ts.html +0 -127
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -210
- package/coverage/lcov-report/trustedApplications/index.html +0 -116
- package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +0 -238
- package/coverage/lcov.info +0 -204
- package/dev/index.html +0 -28
- package/dev/loader.ts +0 -91
- package/dev/pane/index.ts +0 -10
- package/doc/images/panes-for-classes.epgz +0 -0
- package/doc/images/panes-for-classes.svg +0 -609
- package/eslint.config.mjs +0 -34
- package/jest.config.js +0 -27
- package/jest.setup.ts +0 -4
- package/lib/RDFXMLPane.js +0 -59
- package/lib/RDFXMLPane.js.map +0 -1
- package/lib/argument/argumentPane.js.map +0 -1
- package/lib/attach/attachPane.js.map +0 -1
- package/lib/audio/audioPane.js.map +0 -1
- package/lib/classInstancePane.js.map +0 -1
- package/lib/dashboard/basicPreferences.js +0 -229
- package/lib/dashboard/basicPreferences.js.map +0 -1
- package/lib/dashboard/dashboardPane.js.map +0 -1
- package/lib/dashboard/homepage.js +0 -86
- package/lib/dashboard/homepage.js.map +0 -1
- package/lib/dataContentPane.js.map +0 -1
- package/lib/defaultPane.js.map +0 -1
- package/lib/dokieli/dokieliPane.js.map +0 -1
- package/lib/dokieli/new.js +0 -9
- package/lib/dokieli/new.js.map +0 -1
- package/lib/form/pane.js.map +0 -1
- package/lib/global.d.js +0 -2
- package/lib/global.d.js.map +0 -1
- package/lib/home/homePane.js +0 -91
- package/lib/home/homePane.js.map +0 -1
- package/lib/humanReadablePane.js +0 -138
- package/lib/humanReadablePane.js.map +0 -1
- package/lib/imagePane.js +0 -71
- package/lib/imagePane.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/internal/internalPane.js.map +0 -1
- package/lib/mainPage/header.js +0 -152
- package/lib/mainPage/header.js.map +0 -1
- package/lib/mainPage/index.js +0 -42
- package/lib/mainPage/index.js.map +0 -1
- package/lib/microblogPane/microblogPane.js.map +0 -1
- package/lib/n3Pane.js +0 -57
- package/lib/n3Pane.js.map +0 -1
- package/lib/outline/manager.js +0 -2264
- package/lib/outline/manager.js.map +0 -1
- package/lib/outline/manager.test.d.ts +0 -2
- package/lib/outline/manager.test.d.ts.map +0 -1
- package/lib/outline/manager.test.js +0 -210
- package/lib/outline/manager.test.js.map +0 -1
- package/lib/outline/outlineIcons.js.map +0 -1
- package/lib/outline/propertyViews.js.map +0 -1
- package/lib/outline/propertyViews.test.d.ts +0 -2
- package/lib/outline/propertyViews.test.d.ts.map +0 -1
- package/lib/outline/propertyViews.test.js +0 -27
- package/lib/outline/propertyViews.test.js.map +0 -1
- package/lib/outline/queryByExample.js.map +0 -1
- package/lib/outline/userInput.js.map +0 -1
- package/lib/outline/viewAsImage.js +0 -17
- package/lib/outline/viewAsImage.js.map +0 -1
- package/lib/outline/viewAsMbox.js +0 -23
- package/lib/outline/viewAsMbox.js.map +0 -1
- package/lib/pad/padPane.js.map +0 -1
- package/lib/playlist/playlistPane.js.map +0 -1
- package/lib/registerPanes.js.map +0 -1
- package/lib/schedule/formsForSchedule.js +0 -8
- package/lib/schedule/formsForSchedule.js.map +0 -1
- package/lib/schedule/schedulePane.js.map +0 -1
- package/lib/sharing/sharingPane.js.map +0 -1
- package/lib/slideshow/slideshowPane.js +0 -84
- package/lib/slideshow/slideshowPane.js.map +0 -1
- package/lib/socialPane.js.map +0 -1
- package/lib/tabbed/tabbedPane.js +0 -72
- package/lib/tabbed/tabbedPane.js.map +0 -1
- package/lib/tableViewPane.js.map +0 -1
- package/lib/test-import-export/common.js +0 -12
- package/lib/test-import-export/common.js.map +0 -1
- package/lib/test-import-export/edit-importer.js +0 -25
- package/lib/test-import-export/edit-importer.js.map +0 -1
- package/lib/test-import-export/testImportExport.js +0 -2
- package/lib/test-import-export/testImportExport.js.map +0 -1
- package/lib/transaction/pane.js.map +0 -1
- package/lib/transaction/period.js.map +0 -1
- package/lib/trip/tripPane.js.map +0 -1
- package/lib/trustedApplications/trustedApplications.dom.js +0 -177
- package/lib/trustedApplications/trustedApplications.dom.js.map +0 -1
- package/lib/trustedApplications/trustedApplications.test.d.ts +0 -2
- package/lib/trustedApplications/trustedApplications.test.d.ts.map +0 -1
- package/lib/trustedApplications/trustedApplications.test.js +0 -64
- package/lib/trustedApplications/trustedApplications.test.js.map +0 -1
- package/lib/trustedApplications/trustedApplications.utils.js +0 -34
- package/lib/trustedApplications/trustedApplications.utils.js.map +0 -1
- package/lib/trustedApplications/trustedApplications.view.js +0 -87
- package/lib/trustedApplications/trustedApplications.view.js.map +0 -1
- package/lib/types.d.ts +0 -30
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js +0 -6
- package/lib/types.js.map +0 -1
- package/lib/ui/pane.js.map +0 -1
- package/lib/versionInfo.d.ts +0 -32
- package/lib/versionInfo.d.ts.map +0 -1
- package/lib/versionInfo.js +0 -37
- package/lib/versionInfo.js.map +0 -1
- package/lib/video/videoPane.js +0 -44
- package/lib/video/videoPane.js.map +0 -1
- package/src/RDFXMLPane.js +0 -60
- package/src/argument/argumentPane.js +0 -65
- 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 +0 -508
- 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 +0 -197
- package/src/chatPreferencesForm.ttl +0 -12
- package/src/classInstancePane.js +0 -110
- package/src/dashboard/basicPreferences.ts +0 -201
- package/src/dashboard/dashboardPane.ts +0 -83
- package/src/dashboard/homepage.ts +0 -72
- package/src/dashboard/languages/codes.html +0 -8611
- package/src/dashboard/languages/codes.xml +0 -3563
- package/src/dashboard/languages/codes2.txt +0 -170
- package/src/dashboard/languages/foo +0 -70
- package/src/dashboard/languages/foo.ttl +0 -0
- package/src/dashboard/languages/get-language-names.sh +0 -12
- package/src/dashboard/ontologyData.ttl +0 -35
- package/src/dashboard/preferencesFormText.ttl +0 -18
- package/src/dataContentPane.js +0 -290
- package/src/defaultPane.js +0 -102
- package/src/dokieli/Makefile +0 -6
- package/src/dokieli/dokieliPane.js +0 -190
- package/src/dokieli/new.html +0 -30
- 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 +0 -217
- package/src/form/psuedocode-notes.txt +0 -57
- package/src/global.d.ts +0 -4
- package/src/home/homePane.ts +0 -72
- package/src/humanReadablePane.js +0 -150
- package/src/imagePane.js +0 -75
- package/src/index.ts +0 -71
- package/src/internal/internalPane.ts +0 -263
- package/src/mainPage/footer.ts +0 -19
- package/src/mainPage/header.ts +0 -79
- package/src/mainPage/index.ts +0 -20
- package/src/meeting/Makefile +0 -3
- package/src/meeting/test/meeting1/Actions/actions.ttl +0 -14
- package/src/meeting/test/meeting1/Actions/config.ttl +0 -16
- package/src/meeting/test/meeting1/Actions/state.ttl +0 -30
- package/src/meeting/test/meeting1/Schedule/details.ttl +0 -34
- package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -20
- package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -75
- package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -20
- package/src/meeting/test/meeting1/Schedule/index.html +0 -72
- package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -20
- package/src/meeting/test/meeting1/Schedule/results.ttl +0 -15
- package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -20
- package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -23
- package/src/meeting/test/meeting1/chat/chat.ttl +0 -1
- package/src/meeting/test/meeting1/details.ttl +0 -35
- package/src/meeting/test/meeting1/pad/pad.ttl +0 -16
- package/src/microblogPane/mbStyle.css +0 -267
- package/src/microblogPane/microblogPane.js +0 -1412
- package/src/n3Pane.js +0 -56
- package/src/outline/context.ts +0 -21
- package/src/outline/manager.js +0 -2384
- package/src/outline/manager.test.ts +0 -189
- package/src/outline/outlineIcons.js +0 -160
- package/src/outline/propertyViews.test.ts +0 -36
- package/src/outline/propertyViews.ts +0 -37
- package/src/outline/queryByExample.js +0 -296
- package/src/outline/userInput.js +0 -2373
- package/src/outline/viewAsImage.ts +0 -12
- package/src/outline/viewAsMbox.ts +0 -14
- package/src/pad/images/ColourOff.ai +2 -872
- package/src/pad/images/ColourOff.png +0 -0
- package/src/pad/images/ColourOn.ai +1 -935
- package/src/pad/images/ColourOn.png +0 -0
- package/src/pad/padPane.ts +0 -559
- package/src/playlist/playlistPane.js +0 -161
- package/src/registerPanes.js +0 -147
- package/src/schedule/Makefile +0 -6
- package/src/schedule/formsForSchedule.js +0 -117
- package/src/schedule/formsForSchedule.ttl +0 -115
- package/src/schedule/schedulePane.js +0 -1201
- package/src/sharing/sharingPane.ts +0 -49
- package/src/slideshow/slideshowPane.js +0 -80
- package/src/socialPane.js +0 -523
- package/src/style/tabbedtab.css +0 -1347
- package/src/tabbed/tabbedPane.ts +0 -60
- package/src/tableViewPane.js +0 -51
- package/src/test-import-export/common.js +0 -6
- package/src/test-import-export/edit-importer.js +0 -20
- 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 +0 -629
- package/src/transaction/period.js +0 -374
- 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 +0 -176
- package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -176
- package/src/trustedApplications/trustedApplications.dom.ts +0 -276
- package/src/trustedApplications/trustedApplications.test.ts +0 -82
- package/src/trustedApplications/trustedApplications.utils.ts +0 -51
- package/src/trustedApplications/trustedApplications.view.ts +0 -80
- package/src/types.ts +0 -34
- 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 +0 -226
- package/src/versionInfo.ts +0 -30
- package/src/video/videoPane.js +0 -44
- package/timestamp.sh +0 -13
- package/travis/bumpversion.js +0 -29
- package/tsconfig.json +0 -78
- package/typings/raw-loader.d.ts +0 -4
- package/typings/solid-namespace/index.d.ts +0 -9
- package/webpack.config.js +0 -41
- /package/{lib → dist}/dashboard/basicPreferences.d.ts +0 -0
- /package/{lib → dist}/dashboard/basicPreferences.d.ts.map +0 -0
- /package/{lib → dist}/dashboard/dashboardPane.d.ts +0 -0
- /package/{lib → dist}/dashboard/dashboardPane.d.ts.map +0 -0
- /package/{lib → dist}/dashboard/homepage.d.ts +0 -0
- /package/{lib → dist}/dashboard/homepage.d.ts.map +0 -0
- /package/{lib → dist}/home/homePane.d.ts +0 -0
- /package/{lib → dist}/home/homePane.d.ts.map +0 -0
- /package/{lib → dist}/index.d.ts +0 -0
- /package/{lib → dist}/index.d.ts.map +0 -0
- /package/{lib → dist}/internal/internalPane.d.ts +0 -0
- /package/{lib → dist}/internal/internalPane.d.ts.map +0 -0
- /package/{lib → dist}/mainPage/footer.d.ts +0 -0
- /package/{lib → dist}/mainPage/footer.d.ts.map +0 -0
- /package/{lib → dist}/mainPage/header.d.ts +0 -0
- /package/{lib → dist}/mainPage/header.d.ts.map +0 -0
- /package/{lib → dist}/mainPage/index.d.ts +0 -0
- /package/{lib → dist}/outline/context.d.ts +0 -0
- /package/{lib → dist}/outline/context.d.ts.map +0 -0
- /package/{lib → dist}/outline/propertyViews.d.ts +0 -0
- /package/{lib → dist}/outline/propertyViews.d.ts.map +0 -0
- /package/{lib → dist}/outline/viewAsImage.d.ts +0 -0
- /package/{lib → dist}/outline/viewAsImage.d.ts.map +0 -0
- /package/{lib → dist}/outline/viewAsMbox.d.ts +0 -0
- /package/{lib → dist}/outline/viewAsMbox.d.ts.map +0 -0
- /package/{lib → dist}/pad/padPane.d.ts +0 -0
- /package/{lib → dist}/pad/padPane.d.ts.map +0 -0
- /package/{lib → dist}/sharing/sharingPane.d.ts +0 -0
- /package/{lib → dist}/sharing/sharingPane.d.ts.map +0 -0
- /package/{lib → dist}/tabbed/tabbedPane.d.ts +0 -0
- /package/{lib → dist}/tabbed/tabbedPane.d.ts.map +0 -0
- /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts +0 -0
- /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
- /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts +0 -0
- /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
- /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts +0 -0
- /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _solidUi = require("solid-ui");
|
|
8
|
+
var _rdflib = require("rdflib");
|
|
9
|
+
var _marked = require("marked");
|
|
10
|
+
var _dompurify = _interopRequireDefault(require("dompurify"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
/* Human-readable Pane
|
|
13
|
+
**
|
|
14
|
+
** This outline pane contains the document contents for an HTML document
|
|
15
|
+
** This is for peeking at a page, because the user might not want to leave the data browser.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
const humanReadablePane = {
|
|
19
|
+
icon: _solidUi.icons.originalIconBase + 'tango/22-text-x-generic.png',
|
|
20
|
+
name: 'humanReadable',
|
|
21
|
+
label: function (subject, context) {
|
|
22
|
+
const kb = context.session.store;
|
|
23
|
+
|
|
24
|
+
// See also the source pane, which has lower precedence.
|
|
25
|
+
|
|
26
|
+
const allowed = ['text/plain', 'text/html', 'text/markdown', 'application/xhtml+xml', 'image/png', 'image/jpeg', 'application/pdf', 'video/mp4'];
|
|
27
|
+
const hasContentTypeIn = function (kb, x, displayables) {
|
|
28
|
+
const cts = kb.fetcher.getHeader(x, 'content-type');
|
|
29
|
+
if (cts) {
|
|
30
|
+
for (let j = 0; j < cts.length; j++) {
|
|
31
|
+
for (let k = 0; k < displayables.length; k++) {
|
|
32
|
+
if (cts[j].indexOf(displayables[k]) >= 0) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// This data could come from a fetch OR from ldp container
|
|
42
|
+
const hasContentTypeIn2 = function (kb, x, displayables) {
|
|
43
|
+
const t = kb.findTypeURIs(x);
|
|
44
|
+
for (let k = 0; k < displayables.length; k++) {
|
|
45
|
+
if (_rdflib.Util.mediaTypeClass(displayables[k]).uri in t) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
};
|
|
51
|
+
if (!subject.uri) return null; // no bnodes
|
|
52
|
+
|
|
53
|
+
const t = kb.findTypeURIs(subject);
|
|
54
|
+
if (t[_solidUi.ns.link('WebPage').uri]) return 'view';
|
|
55
|
+
if (hasContentTypeIn(kb, subject, allowed) || hasContentTypeIn2(kb, subject, allowed)) {
|
|
56
|
+
return 'View';
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
},
|
|
60
|
+
render: function (subject, context) {
|
|
61
|
+
const myDocument = context.dom;
|
|
62
|
+
const div = myDocument.createElement('div');
|
|
63
|
+
const kb = context.session.store;
|
|
64
|
+
const cts = kb.fetcher.getHeader(subject.doc(), 'content-type');
|
|
65
|
+
const ct = cts ? cts[0].split(';', 1)[0].trim() : null; // remove content-type parameters
|
|
66
|
+
if (ct) {
|
|
67
|
+
// console.log('humanReadablePane: c-t:' + ct)
|
|
68
|
+
} else {
|
|
69
|
+
console.log('humanReadablePane: unknown content-type?');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// @@ When we can, use CSP to turn off scripts within the iframe
|
|
73
|
+
div.setAttribute('class', 'docView');
|
|
74
|
+
const element = ct === 'text/markdown' ? 'DIV' : 'IFRAME';
|
|
75
|
+
const frame = myDocument.createElement(element);
|
|
76
|
+
const setIframeAttributes = (frame, blob, lines) => {
|
|
77
|
+
frame.setAttribute('src', URL.createObjectURL(blob));
|
|
78
|
+
frame.setAttribute('type', blob.type);
|
|
79
|
+
frame.setAttribute('class', 'doc');
|
|
80
|
+
frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`);
|
|
81
|
+
|
|
82
|
+
// Apply sandbox attribute only for HTML files
|
|
83
|
+
// @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.
|
|
84
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
|
|
85
|
+
// You can't have any sandbox and allow plugins.
|
|
86
|
+
// We could sandbox only HTML files I suppose.
|
|
87
|
+
if (blob.type === 'text/html' || blob.type === 'application/xhtml+xml') {
|
|
88
|
+
frame.setAttribute('sandbox', 'allow-scripts allow-same-origin');
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// render markdown to html
|
|
93
|
+
const markdownHtml = function () {
|
|
94
|
+
kb.fetcher.webOperation('GET', subject.uri).then(response => {
|
|
95
|
+
const markdownText = response.responseText;
|
|
96
|
+
const lines = Math.min(30, markdownText.split(/\n/).length + 5);
|
|
97
|
+
const res = _marked.marked.parse(markdownText);
|
|
98
|
+
const clean = _dompurify.default.sanitize(res);
|
|
99
|
+
frame.innerHTML = clean;
|
|
100
|
+
frame.setAttribute('class', 'doc');
|
|
101
|
+
frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`);
|
|
102
|
+
}).catch(error => {
|
|
103
|
+
console.error('Error fetching markdown content:', error);
|
|
104
|
+
frame.innerHTML = '<p>Error loading content</p>';
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
if (ct === 'text/markdown') {
|
|
108
|
+
markdownHtml();
|
|
109
|
+
} else {
|
|
110
|
+
// Fetch and process the blob
|
|
111
|
+
kb.fetcher._fetch(subject.uri).then(response => response.blob()).then(blob => {
|
|
112
|
+
const blobTextPromise = blob.type.startsWith('text') ? blob.text() : Promise.resolve('');
|
|
113
|
+
return blobTextPromise.then(blobText => ({
|
|
114
|
+
blob,
|
|
115
|
+
blobText
|
|
116
|
+
}));
|
|
117
|
+
}).then(({
|
|
118
|
+
blob,
|
|
119
|
+
blobText
|
|
120
|
+
}) => {
|
|
121
|
+
const newLines = blobText.includes('<script src="https://dokie.li/scripts/dokieli.js">') ? -10 : 5;
|
|
122
|
+
const lines = Math.min(30, blobText.split(/\n/).length + newLines);
|
|
123
|
+
setIframeAttributes(frame, blob, lines);
|
|
124
|
+
}).catch(err => {
|
|
125
|
+
console.log('Error fetching or processing blob:', err);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const tr = myDocument.createElement('TR');
|
|
129
|
+
tr.appendChild(frame);
|
|
130
|
+
div.appendChild(tr);
|
|
131
|
+
return div;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
var _default = exports.default = humanReadablePane; // ends
|
|
135
|
+
//# sourceMappingURL=humanReadablePane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"humanReadablePane.js","names":["_solidUi","require","_rdflib","_marked","_dompurify","_interopRequireDefault","e","__esModule","default","humanReadablePane","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","t","findTypeURIs","Util","mediaTypeClass","uri","ns","link","render","myDocument","dom","div","createElement","doc","ct","split","trim","console","log","setAttribute","element","frame","setIframeAttributes","blob","lines","URL","createObjectURL","type","markdownHtml","webOperation","then","response","markdownText","responseText","Math","min","res","marked","parse","clean","DOMPurify","sanitize","innerHTML","catch","error","_fetch","blobTextPromise","startsWith","text","Promise","resolve","blobText","newLines","includes","err","tr","appendChild","_default","exports"],"sources":["../src/humanReadablePane.js"],"sourcesContent":["/* Human-readable Pane\n **\n ** This outline pane contains the document contents for an HTML document\n ** This is for peeking at a page, because the user might not want to leave the data browser.\n */\nimport { icons, ns } from 'solid-ui'\nimport { Util } from 'rdflib'\nimport { marked } from 'marked'\nimport DOMPurify from 'dompurify'\n\nconst humanReadablePane = {\n icon: icons.originalIconBase + 'tango/22-text-x-generic.png',\n\n name: 'humanReadable',\n\n label: function (subject, context) {\n const kb = context.session.store\n\n // See also the source pane, which has lower precedence.\n\n const allowed = [\n 'text/plain',\n 'text/html',\n 'text/markdown',\n 'application/xhtml+xml',\n 'image/png',\n 'image/jpeg',\n '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 could come from a fetch OR from ldp container\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(x)\n for (let k = 0; k < displayables.length; k++) {\n if (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 'View'\n }\n\n return null\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0].split(';', 1)[0].trim() : null // remove content-type parameters\n if (ct) {\n // console.log('humanReadablePane: c-t:' + ct)\n } else {\n console.log('humanReadablePane: unknown content-type?')\n }\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const element = ct === 'text/markdown' ? 'DIV' : 'IFRAME'\n const frame = myDocument.createElement(element)\n\n const setIframeAttributes = (frame, blob, lines) => {\n frame.setAttribute('src', URL.createObjectURL(blob))\n frame.setAttribute('type', blob.type)\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`)\n\n // Apply sandbox attribute only for HTML files\n // @@ Note below - 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 if (blob.type === 'text/html' || blob.type === 'application/xhtml+xml') {\n frame.setAttribute('sandbox', 'allow-scripts allow-same-origin')\n }\n }\n\n // render markdown to html\n const markdownHtml = function () {\n kb.fetcher.webOperation('GET', subject.uri).then(response => {\n const markdownText = response.responseText\n const lines = Math.min(30, markdownText.split(/\\n/).length + 5)\n const res = marked.parse(markdownText)\n const clean = DOMPurify.sanitize(res)\n frame.innerHTML = clean\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`)\n }).catch(error => {\n console.error('Error fetching markdown content:', error)\n frame.innerHTML = '<p>Error loading content</p>'\n })\n }\n\n if (ct === 'text/markdown') {\n markdownHtml()\n } else {\n // Fetch and process the blob\n kb.fetcher._fetch(subject.uri)\n .then(response => response.blob())\n .then(blob => {\n const blobTextPromise = blob.type.startsWith('text') ? blob.text() : Promise.resolve('')\n return blobTextPromise.then(blobText => ({ blob, blobText }))\n })\n .then(({ blob, blobText }) => {\n const newLines = blobText.includes('<script src=\"https://dokie.li/scripts/dokieli.js\">') ? -10 : 5\n const lines = Math.min(30, blobText.split(/\\n/).length + newLines)\n setIframeAttributes(frame, blob, lines)\n })\n .catch(err => {\n console.log('Error fetching or processing blob:', err)\n })\n }\n\n const tr = myDocument.createElement('TR')\n tr.appendChild(frame)\n div.appendChild(tr)\n return div\n }\n}\n\nexport default humanReadablePane\n// ends\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.imagePane = void 0;
|
|
7
|
+
var UI = _interopRequireWildcard(require("solid-ui"));
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
9
|
+
/* Image Pane
|
|
10
|
+
**
|
|
11
|
+
** This outline pane contains the document contents for an Image document
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const imagePane = exports.imagePane = {
|
|
15
|
+
icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',
|
|
16
|
+
name: 'image',
|
|
17
|
+
label: function (subject, context) {
|
|
18
|
+
const store = context.session.store;
|
|
19
|
+
if (!store.anyStatementMatching(subject, UI.ns.rdf('type'), store.sym('http://purl.org/dc/terms/Image'))) {
|
|
20
|
+
// NB: Not dc: namespace!
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// See also the source pane, which has lower precedence.
|
|
25
|
+
|
|
26
|
+
const contentTypeMatch = function (store, x, contentTypes) {
|
|
27
|
+
const cts = store.fetcher.getHeader(x, 'content-type');
|
|
28
|
+
if (cts) {
|
|
29
|
+
for (let j = 0; j < cts.length; j++) {
|
|
30
|
+
for (let k = 0; k < contentTypes.length; k++) {
|
|
31
|
+
if (cts[j].indexOf(contentTypes[k]) >= 0) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
};
|
|
39
|
+
const suppressed = ['application/pdf'];
|
|
40
|
+
if (contentTypeMatch(store, subject, suppressed)) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return 'view';
|
|
44
|
+
},
|
|
45
|
+
render: function (subject, context) {
|
|
46
|
+
const myDocument = context.dom;
|
|
47
|
+
const store = context.session.store;
|
|
48
|
+
const div = myDocument.createElement('div');
|
|
49
|
+
div.setAttribute('class', 'imageView');
|
|
50
|
+
const img = myDocument.createElement('IMG');
|
|
51
|
+
|
|
52
|
+
// get image with authenticated fetch
|
|
53
|
+
store.fetcher._fetch(subject.uri).then(function (response) {
|
|
54
|
+
return response.blob();
|
|
55
|
+
}).then(function (myBlob) {
|
|
56
|
+
const objectURL = URL.createObjectURL(myBlob);
|
|
57
|
+
img.setAttribute('src', objectURL); // w640 h480 //
|
|
58
|
+
});
|
|
59
|
+
img.setAttribute('style', 'max-width: 100%; max-height: 100%;');
|
|
60
|
+
// div.style['max-width'] = '640'
|
|
61
|
+
// div.style['max-height'] = '480'
|
|
62
|
+
const tr = myDocument.createElement('TR'); // why need tr?
|
|
63
|
+
tr.appendChild(img);
|
|
64
|
+
div.appendChild(tr);
|
|
65
|
+
return div;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// ends
|
|
70
|
+
//# sourceMappingURL=imagePane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imagePane.js","names":["UI","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","imagePane","exports","icon","icons","originalIconBase","name","label","subject","context","store","session","anyStatementMatching","ns","rdf","sym","contentTypeMatch","x","contentTypes","cts","fetcher","getHeader","j","length","k","indexOf","suppressed","render","myDocument","dom","div","createElement","setAttribute","img","_fetch","uri","then","response","blob","myBlob","objectURL","URL","createObjectURL","tr","appendChild"],"sources":["../src/imagePane.js"],"sourcesContent":["/* Image Pane\n **\n ** This outline pane contains the document contents for an Image document\n */\nimport * as UI from 'solid-ui'\n\nexport const imagePane = {\n icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',\n\n name: 'image',\n\n label: function (subject, context) {\n const store = context.session.store\n if (\n !store.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n store.sym('http://purl.org/dc/terms/Image')\n )\n ) {\n // NB: Not dc: namespace!\n return null\n }\n\n // See also the source pane, which has lower precedence.\n\n const contentTypeMatch = function (store, x, contentTypes) {\n const cts = store.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < contentTypes.length; k++) {\n if (cts[j].indexOf(contentTypes[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n const suppressed = ['application/pdf']\n if (contentTypeMatch(store, subject, suppressed)) {\n return null\n }\n return 'view'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const store = context.session.store\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'imageView')\n const img = myDocument.createElement('IMG')\n\n // get image with authenticated fetch\n store.fetcher._fetch(subject.uri)\n .then(function (response) {\n return response.blob()\n })\n .then(function (myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n img.setAttribute('src', objectURL) // w640 h480 //\n })\n\n img.setAttribute('style', 'max-width: 100%; max-height: 100%;')\n // div.style['max-width'] = '640'\n // div.style['max-height'] = '480'\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"mappings":";;;;;;AAIA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8B,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAJ9B;AACA;AACA;AACA;;AAGO,MAAMkB,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvBE,IAAI,EAAExB,EAAE,CAACyB,KAAK,CAACC,gBAAgB,GAAG,8BAA8B;EAEhEC,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAE,SAAAA,CAAUC,OAAO,EAAEC,OAAO,EAAE;IACjC,MAAMC,KAAK,GAAGD,OAAO,CAACE,OAAO,CAACD,KAAK;IACnC,IACE,CAACA,KAAK,CAACE,oBAAoB,CACzBJ,OAAO,EACP7B,EAAE,CAACkC,EAAE,CAACC,GAAG,CAAC,MAAM,CAAC,EACjBJ,KAAK,CAACK,GAAG,CAAC,gCAAgC,CAC5C,CAAC,EACD;MACA;MACA,OAAO,IAAI;IACb;;IAEA;;IAEA,MAAMC,gBAAgB,GAAG,SAAAA,CAAUN,KAAK,EAAEO,CAAC,EAAEC,YAAY,EAAE;MACzD,MAAMC,GAAG,GAAGT,KAAK,CAACU,OAAO,CAACC,SAAS,CAACJ,CAAC,EAAE,cAAc,CAAC;MACtD,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,MAAME,UAAU,GAAG,CAAC,iBAAiB,CAAC;IACtC,IAAIV,gBAAgB,CAACN,KAAK,EAAEF,OAAO,EAAEkB,UAAU,CAAC,EAAE;MAChD,OAAO,IAAI;IACb;IACA,OAAO,MAAM;EACf,CAAC;EAEDC,MAAM,EAAE,SAAAA,CAAUnB,OAAO,EAAEC,OAAO,EAAE;IAClC,MAAMmB,UAAU,GAAGnB,OAAO,CAACoB,GAAG;IAC9B,MAAMnB,KAAK,GAAGD,OAAO,CAACE,OAAO,CAACD,KAAK;IACnC,MAAMoB,GAAG,GAAGF,UAAU,CAACG,aAAa,CAAC,KAAK,CAAC;IAC3CD,GAAG,CAACE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC;IACtC,MAAMC,GAAG,GAAGL,UAAU,CAACG,aAAa,CAAC,KAAK,CAAC;;IAE3C;IACArB,KAAK,CAACU,OAAO,CAACc,MAAM,CAAC1B,OAAO,CAAC2B,GAAG,CAAC,CAC9BC,IAAI,CAAC,UAAUC,QAAQ,EAAE;MACxB,OAAOA,QAAQ,CAACC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CACDF,IAAI,CAAC,UAAUG,MAAM,EAAE;MACtB,MAAMC,SAAS,GAAGC,GAAG,CAACC,eAAe,CAACH,MAAM,CAAC;MAC7CN,GAAG,CAACD,YAAY,CAAC,KAAK,EAAEQ,SAAS,CAAC,EAAC;IACrC,CAAC,CAAC;IAEJP,GAAG,CAACD,YAAY,CAAC,OAAO,EAAE,oCAAoC,CAAC;IAC/D;IACA;IACA,MAAMW,EAAE,GAAGf,UAAU,CAACG,aAAa,CAAC,IAAI,CAAC,EAAC;IAC1CY,EAAE,CAACC,WAAW,CAACX,GAAG,CAAC;IACnBH,GAAG,CAACc,WAAW,CAACD,EAAE,CAAC;IACnB,OAAOb,GAAG;EACZ;AACF,CAAC;;AAED","ignoreList":[]}
|
package/{lib → dist}/index.js
RENAMED
|
@@ -1,57 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
Object.defineProperty(exports, "OutlineManager", {
|
|
8
7
|
enumerable: true,
|
|
9
|
-
get: function
|
|
10
|
-
return _manager
|
|
8
|
+
get: function () {
|
|
9
|
+
return _manager.default;
|
|
11
10
|
}
|
|
12
11
|
});
|
|
13
12
|
exports.UI = void 0;
|
|
14
13
|
Object.defineProperty(exports, "byName", {
|
|
15
14
|
enumerable: true,
|
|
16
|
-
get: function
|
|
15
|
+
get: function () {
|
|
17
16
|
return _paneRegistry.byName;
|
|
18
17
|
}
|
|
19
18
|
});
|
|
20
19
|
exports.getOutliner = getOutliner;
|
|
21
20
|
Object.defineProperty(exports, "initMainPage", {
|
|
22
21
|
enumerable: true,
|
|
23
|
-
get: function
|
|
24
|
-
return _mainPage
|
|
22
|
+
get: function () {
|
|
23
|
+
return _mainPage.default;
|
|
25
24
|
}
|
|
26
25
|
});
|
|
27
26
|
Object.defineProperty(exports, "list", {
|
|
28
27
|
enumerable: true,
|
|
29
|
-
get: function
|
|
28
|
+
get: function () {
|
|
30
29
|
return _paneRegistry.list;
|
|
31
30
|
}
|
|
32
31
|
});
|
|
33
32
|
Object.defineProperty(exports, "paneForIcon", {
|
|
34
33
|
enumerable: true,
|
|
35
|
-
get: function
|
|
34
|
+
get: function () {
|
|
36
35
|
return _paneRegistry.paneForIcon;
|
|
37
36
|
}
|
|
38
37
|
});
|
|
39
38
|
Object.defineProperty(exports, "paneForPredicate", {
|
|
40
39
|
enumerable: true,
|
|
41
|
-
get: function
|
|
40
|
+
get: function () {
|
|
42
41
|
return _paneRegistry.paneForPredicate;
|
|
43
42
|
}
|
|
44
43
|
});
|
|
45
44
|
Object.defineProperty(exports, "register", {
|
|
46
45
|
enumerable: true,
|
|
47
|
-
get: function
|
|
46
|
+
get: function () {
|
|
48
47
|
return _paneRegistry.register;
|
|
49
48
|
}
|
|
50
49
|
});
|
|
51
50
|
Object.defineProperty(exports, "versionInfo", {
|
|
52
51
|
enumerable: true,
|
|
53
|
-
get: function
|
|
54
|
-
return _versionInfo
|
|
52
|
+
get: function () {
|
|
53
|
+
return _versionInfo.default;
|
|
55
54
|
}
|
|
56
55
|
});
|
|
57
56
|
var _versionInfo = _interopRequireDefault(require("./versionInfo"));
|
|
@@ -63,8 +62,8 @@ var _registerPanes = require("./registerPanes.js");
|
|
|
63
62
|
var _paneRegistry = require("pane-registry");
|
|
64
63
|
var _context = require("./outline/context");
|
|
65
64
|
var _mainPage = _interopRequireDefault(require("./mainPage"));
|
|
66
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function
|
|
67
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : {
|
|
65
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
66
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
68
67
|
/* SOLID PANES
|
|
69
68
|
**
|
|
70
69
|
** Panes are regions of the outline view in which a particular subject is
|
|
@@ -79,23 +78,21 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default":
|
|
|
79
78
|
|
|
80
79
|
function getOutliner(dom) {
|
|
81
80
|
if (!dom.outlineManager) {
|
|
82
|
-
|
|
81
|
+
const context = (0, _context.createContext)(dom, {
|
|
83
82
|
list: _paneRegistry.list,
|
|
84
83
|
paneForIcon: _paneRegistry.paneForIcon,
|
|
85
84
|
paneForPredicate: _paneRegistry.paneForPredicate,
|
|
86
85
|
register: _paneRegistry.register,
|
|
87
86
|
byName: _paneRegistry.byName
|
|
88
87
|
}, _solidLogic.store, _solidLogic.solidLogicSingleton);
|
|
89
|
-
dom.outlineManager = new _manager
|
|
88
|
+
dom.outlineManager = new _manager.default(context);
|
|
90
89
|
}
|
|
91
90
|
return dom.outlineManager;
|
|
92
91
|
}
|
|
93
92
|
if (typeof window !== 'undefined') {
|
|
94
93
|
getOutliner(window.document);
|
|
95
94
|
}
|
|
96
|
-
(0, _registerPanes.registerPanes)(
|
|
97
|
-
return (0, _paneRegistry.register)(cjsOrEsModule["default"] || cjsOrEsModule);
|
|
98
|
-
});
|
|
95
|
+
(0, _registerPanes.registerPanes)(cjsOrEsModule => (0, _paneRegistry.register)(cjsOrEsModule.default || cjsOrEsModule));
|
|
99
96
|
|
|
100
97
|
// This has common outline mode functionality for the default and other other panes
|
|
101
98
|
// A separate outline manager is required per DOM in cases like a browser extension
|
|
@@ -106,7 +103,7 @@ if (typeof window !== 'undefined') {
|
|
|
106
103
|
if (typeof window !== 'undefined') {
|
|
107
104
|
;
|
|
108
105
|
window.panes = {
|
|
109
|
-
getOutliner
|
|
106
|
+
getOutliner
|
|
110
107
|
};
|
|
111
108
|
}
|
|
112
109
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_versionInfo","_interopRequireDefault","require","UI","_interopRequireWildcard","exports","_solidLogic","_manager","_registerPanes","_paneRegistry","_context","_mainPage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getOutliner","dom","outlineManager","context","createContext","list","paneForIcon","paneForPredicate","register","byName","store","solidLogicSingleton","OutlineManager","window","document","registerPanes","cjsOrEsModule","panes"],"sources":["../src/index.ts"],"sourcesContent":["/* SOLID PANES\n **\n ** Panes are regions of the outline view in which a particular subject is\n ** displayed in a particular way.\n ** Different panes about the same subject are typically stacked vertically.\n ** Panes may be used naked or with a pane selection header.\n **\n ** The label() method has two functions: it determines whether the pane is\n ** relevant to a given subject, returning null if not.\n ** If it is relevant, then it returns a suitable tooltip for a control which selects the pane\n */\n\nimport versionInfo from './versionInfo'\nimport * as UI from 'solid-ui'\nimport { LiveStore } from 'rdflib'\nimport { solidLogicSingleton, store } from 'solid-logic'\nimport OutlineManager from './outline/manager.js'\nimport { registerPanes } from './registerPanes.js'\nimport {\n list,\n paneForIcon,\n paneForPredicate,\n register,\n byName\n} from 'pane-registry'\nimport { createContext } from './outline/context'\nimport initMainPage from './mainPage'\n\nfunction getOutliner (dom) {\n if (!dom.outlineManager) {\n const context = createContext(\n dom,\n { list, paneForIcon, paneForPredicate, register, byName },\n store as LiveStore,\n solidLogicSingleton\n )\n dom.outlineManager = new OutlineManager(context)\n }\n return dom.outlineManager\n}\n\nif (typeof window !== 'undefined') {\n getOutliner(window.document)\n}\n\nregisterPanes((cjsOrEsModule: any) => register(cjsOrEsModule.default || cjsOrEsModule))\n\n// This has common outline mode functionality for the default and other other panes\n// A separate outline manager is required per DOM in cases like a browser extension\n// where there are many occurrences of window and of window.document\n// But each DOM should have just one outline manager.\n\nexport {\n OutlineManager,\n getOutliner,\n UI,\n versionInfo,\n initMainPage,\n list, // from paneRegistry\n paneForIcon, // from paneRegistry\n paneForPredicate, // from paneRegistry\n register, // from paneRegistry\n byName // from paneRegistry\n}\n\n// export for simpler access by non-node scripts\nif (typeof window !== 'undefined') {\n ;(<any>window).panes = {\n getOutliner\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,EAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA8BG,OAAA,CAAAF,EAAA,GAAAA,EAAA;AAE9B,IAAAG,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAOA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAV,sBAAA,CAAAC,OAAA;AAAqC,SAAAE,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAZ,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AA1BrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA,SAASmB,WAAWA,CAAEC,GAAG,EAAE;EACzB,IAAI,CAACA,GAAG,CAACC,cAAc,EAAE;IACvB,MAAMC,OAAO,GAAG,IAAAC,sBAAa,EAC3BH,GAAG,EACH;MAAEI,IAAI,EAAJA,kBAAI;MAAEC,WAAW,EAAXA,yBAAW;MAAEC,gBAAgB,EAAhBA,8BAAgB;MAAEC,QAAQ,EAARA,sBAAQ;MAAEC,MAAM,EAANA;IAAO,CAAC,EACzDC,iBAAK,EACLC,+BACF,CAAC;IACDV,GAAG,CAACC,cAAc,GAAG,IAAIU,gBAAc,CAACT,OAAO,CAAC;EAClD;EACA,OAAOF,GAAG,CAACC,cAAc;AAC3B;AAEA,IAAI,OAAOW,MAAM,KAAK,WAAW,EAAE;EACjCb,WAAW,CAACa,MAAM,CAACC,QAAQ,CAAC;AAC9B;AAEA,IAAAC,4BAAa,EAAEC,aAAkB,IAAK,IAAAR,sBAAQ,EAACQ,aAAa,CAACzB,OAAO,IAAIyB,aAAa,CAAC,CAAC;;AAEvF;AACA;AACA;AACA;;AAeA;AACA,IAAI,OAAOH,MAAM,KAAK,WAAW,EAAE;EACjC;EAAOA,MAAM,CAAEI,KAAK,GAAG;IACrBjB;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
7
7
|
var _solidUi = require("solid-ui");
|
|
8
8
|
var _rdflib = require("rdflib");
|
|
9
9
|
/* Internal Pane
|
|
@@ -13,34 +13,34 @@ var _rdflib = require("rdflib");
|
|
|
13
13
|
*/
|
|
14
14
|
/* global alert confirm */
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const pane = {
|
|
17
17
|
icon: _solidUi.icons.originalIconBase + 'tango/22-emblem-system.png',
|
|
18
18
|
name: 'internal',
|
|
19
|
-
label: function
|
|
19
|
+
label: function () {
|
|
20
20
|
return 'under the hood'; // There is often a URI even of no statements
|
|
21
21
|
},
|
|
22
|
-
render: function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
render: function (subject, context) {
|
|
23
|
+
const dom = context.dom;
|
|
24
|
+
const store = context.session.store;
|
|
25
|
+
const canonizedSubject = store.canon(subject);
|
|
26
|
+
const types = store.findTypeURIs(canonizedSubject);
|
|
27
27
|
function filter(pred) {
|
|
28
28
|
if (types['http://www.w3.org/2007/ont/link#ProtocolEvent']) return true; // display everything for them
|
|
29
|
-
|
|
29
|
+
const view = context.session.paneRegistry.byName('internal');
|
|
30
30
|
return view && view.predicates && !!(typeof view.predicates[pred.uri] !== 'undefined');
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
const div = dom.createElement('div');
|
|
33
33
|
div.setAttribute('class', 'internalPane');
|
|
34
34
|
div.setAttribute('style', 'background-color: #ddddff; padding: 0.5em; border-radius: 1em;');
|
|
35
35
|
function deleteRecursive(kb, folder) {
|
|
36
|
-
|
|
36
|
+
const fetcher = kb.fetcher;
|
|
37
37
|
if (!fetcher) {
|
|
38
38
|
console.error('No fetcher available');
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
return new Promise(function (resolve, reject) {
|
|
42
42
|
fetcher.load(folder).then(function () {
|
|
43
|
-
|
|
43
|
+
const promises = kb.each(folder, _solidUi.ns.ldp('contains')).map(file => {
|
|
44
44
|
if (kb.holds(file, _solidUi.ns.rdf('type'), _solidUi.ns.ldp('BasicContainer'))) {
|
|
45
45
|
return deleteRecursive(kb, file);
|
|
46
46
|
} else {
|
|
@@ -48,66 +48,66 @@ var pane = {
|
|
|
48
48
|
return fetcher.webOperation('DELETE', file.uri);
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
-
Promise.all(promises).then(
|
|
51
|
+
Promise.all(promises).then(() => {
|
|
52
52
|
console.log('deleteRecursive empty folder: ' + folder);
|
|
53
|
-
fetcher.webOperation('DELETE', folder.uri).then(
|
|
53
|
+
fetcher.webOperation('DELETE', folder.uri).then(() => {
|
|
54
54
|
console.log('Deleted Ok: ' + folder);
|
|
55
55
|
resolve(undefined);
|
|
56
|
-
})
|
|
57
|
-
|
|
56
|
+
}).catch(err => {
|
|
57
|
+
const str = 'Unable to delete ' + folder + ': ' + err;
|
|
58
58
|
console.log(str);
|
|
59
59
|
reject(new Error(str));
|
|
60
60
|
});
|
|
61
61
|
resolve(undefined);
|
|
62
|
-
},
|
|
62
|
+
}, err => {
|
|
63
63
|
alert(err);
|
|
64
64
|
reject(err);
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
const isDocument = subject.uri && !subject.uri.includes('#');
|
|
70
70
|
if (isDocument) {
|
|
71
|
-
|
|
71
|
+
const controls = div.appendChild(dom.createElement('table'));
|
|
72
72
|
controls.style.width = '100%';
|
|
73
73
|
controls.style.margin = '1em';
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
const controlRow = controls.appendChild(dom.createElement('tr'));
|
|
75
|
+
const deleteCell = controlRow.appendChild(dom.createElement('td'));
|
|
76
|
+
const isFolder = subject.uri && subject.uri.endsWith('/') || store.holds(subject, _solidUi.ns.rdf('type'), _solidUi.ns.ldp('Container'));
|
|
77
|
+
const noun = isFolder ? 'folder' : 'file';
|
|
78
78
|
if (!isProtectedUri(subject)) {
|
|
79
79
|
console.log(subject);
|
|
80
|
-
|
|
81
|
-
if (!confirm(
|
|
80
|
+
const deleteButton = _solidUi.widgets.deleteButtonWithCheck(dom, deleteCell, noun, function () {
|
|
81
|
+
if (!confirm(`Are you sure you want to delete ${subject}? This cannot be undone.`)) {
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
84
|
// @@ TODO Remove casing of store.fetcher
|
|
85
85
|
if (!store.fetcher) {
|
|
86
86
|
throw new Error('Store has no fetcher');
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
promise.then(
|
|
90
|
-
|
|
88
|
+
const promise = isFolder ? deleteRecursive(store, subject) || Promise.resolve() : store.fetcher.webOperation('DELETE', subject.uri) || Promise.resolve();
|
|
89
|
+
promise.then(() => {
|
|
90
|
+
const str = 'Deleted: ' + subject;
|
|
91
91
|
console.log(str);
|
|
92
|
-
})
|
|
93
|
-
|
|
92
|
+
}).catch(err => {
|
|
93
|
+
const str = 'Unable to delete ' + subject + ': ' + err;
|
|
94
94
|
console.log(str);
|
|
95
95
|
alert(str);
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
98
|
deleteButton.style = 'height: 2em;';
|
|
99
|
-
deleteButton
|
|
99
|
+
deleteButton.class = ''; // Remove hover hide
|
|
100
100
|
deleteCell.appendChild(deleteButton);
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
const refreshCell = controlRow.appendChild(dom.createElement('td'));
|
|
103
|
+
const refreshButton = _solidUi.widgets.button(dom, _solidUi.icons.iconBase + 'noun_479395.svg', 'refresh');
|
|
104
104
|
refreshCell.appendChild(refreshButton);
|
|
105
|
-
refreshButton.addEventListener('click',
|
|
105
|
+
refreshButton.addEventListener('click', () => {
|
|
106
106
|
if (!store.fetcher) {
|
|
107
107
|
throw new Error('Store has no fetcher');
|
|
108
108
|
}
|
|
109
109
|
store.fetcher.refresh(subject, function (ok, errm) {
|
|
110
|
-
|
|
110
|
+
let str;
|
|
111
111
|
if (ok) {
|
|
112
112
|
str = 'Refreshed OK: ' + subject;
|
|
113
113
|
} else {
|
|
@@ -118,8 +118,8 @@ var pane = {
|
|
|
118
118
|
});
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
let plist = store.statementsMatching(subject);
|
|
122
|
+
let docURI = '';
|
|
123
123
|
if (!store.fetcher) {
|
|
124
124
|
throw new Error('Store has no fetcher');
|
|
125
125
|
}
|
|
@@ -141,13 +141,13 @@ var pane = {
|
|
|
141
141
|
if (!store.updater) {
|
|
142
142
|
throw new Error('Store has no updater');
|
|
143
143
|
}
|
|
144
|
-
|
|
144
|
+
const ed = store.updater.editable(docURI);
|
|
145
145
|
if (ed) {
|
|
146
146
|
plist.push((0, _rdflib.st)(subject, (0, _rdflib.sym)('http://www.w3.org/ns/rww#editable'), (0, _rdflib.literal)(ed.toString()), store.fetcher.appNode));
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
// @@ TODO get a proper type
|
|
150
|
-
|
|
150
|
+
const outliner = context.getOutliner(dom);
|
|
151
151
|
outliner.appendPropertyTRs(div, plist, false, filter);
|
|
152
152
|
plist = store.statementsMatching(undefined, undefined, subject);
|
|
153
153
|
outliner.appendPropertyTRs(div, plist, true, filter);
|
|
@@ -177,8 +177,8 @@ var pane = {
|
|
|
177
177
|
};
|
|
178
178
|
function isProtectedUri(subject) {
|
|
179
179
|
// TODO: Could make the code below smarter by removing some of the redundancy by creating a recursive function, but did not bother now
|
|
180
|
-
|
|
180
|
+
const siteUri = subject.site().uri;
|
|
181
181
|
return subject.uri === siteUri || subject.uri === siteUri + 'profile/' || subject.uri === siteUri + 'profile/card' || subject.uri === siteUri + 'settings/' || subject.uri === siteUri + 'settings/prefs.ttl' || subject.uri === siteUri + 'settings/privateTypeIndex.ttl' || subject.uri === siteUri + 'settings/publicTypeIndex.ttl' || subject.uri === siteUri + 'settings/serverSide.ttl';
|
|
182
182
|
}
|
|
183
|
-
var _default = exports
|
|
183
|
+
var _default = exports.default = pane; // ends
|
|
184
184
|
//# sourceMappingURL=internalPane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalPane.js","names":["_solidUi","require","_rdflib","pane","icon","icons","originalIconBase","name","label","render","subject","context","dom","store","session","canonizedSubject","canon","types","findTypeURIs","filter","pred","view","paneRegistry","byName","predicates","uri","div","createElement","setAttribute","deleteRecursive","kb","folder","fetcher","console","error","Promise","resolve","reject","load","then","promises","each","ns","ldp","map","file","holds","rdf","log","webOperation","all","undefined","catch","err","str","Error","alert","isDocument","includes","controls","appendChild","style","width","margin","controlRow","deleteCell","isFolder","endsWith","noun","isProtectedUri","deleteButton","widgets","deleteButtonWithCheck","confirm","promise","class","refreshCell","refreshButton","button","iconBase","addEventListener","refresh","ok","errm","plist","statementsMatching","docURI","push","st","sym","appNode","indexOf","split","updater","ed","editable","literal","toString","outliner","getOutliner","appendPropertyTRs","classes","siteUri","site","_default","exports","default"],"sources":["../../src/internal/internalPane.ts"],"sourcesContent":["/* Internal Pane\n **\n ** This outline pane contains the properties which are\n ** internal to the user's interaction with the web, and are not normally displayed\n */\n/* global alert confirm */\n\nimport { icons, ns, widgets } from 'solid-ui'\nimport { BlankNode, IndexedFormula, literal, NamedNode, st, sym, Variable, Store } from 'rdflib'\nimport { PaneDefinition } from 'pane-registry'\n\nconst pane: PaneDefinition = {\n icon: icons.originalIconBase + 'tango/22-emblem-system.png',\n\n name: 'internal',\n\n label: function () {\n return 'under the hood' // There is often a URI even of no statements\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const store = context.session.store as Store\n const canonizedSubject = store.canon(subject) as BlankNode | NamedNode | Variable\n const types = store.findTypeURIs(canonizedSubject)\n\n function filter (pred: NamedNode) {\n if (types['http://www.w3.org/2007/ont/link#ProtocolEvent']) return true // display everything for them\n const view = context.session.paneRegistry.byName('internal')\n return (\n view &&\n view.predicates &&\n !!(typeof view.predicates[pred.uri] !== 'undefined')\n )\n }\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'internalPane')\n div.setAttribute(\n 'style',\n 'background-color: #ddddff; padding: 0.5em; border-radius: 1em;'\n )\n\n function deleteRecursive (kb: IndexedFormula, folder: NamedNode) {\n const fetcher = (kb as any).fetcher\n if (!fetcher) {\n console.error('No fetcher available')\n return\n }\n return new Promise(function (resolve, reject) {\n fetcher.load(folder).then(function () {\n const promises = kb.each(folder, ns.ldp('contains')).map(file => {\n if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {\n return deleteRecursive(kb, file as NamedNode)\n } else {\n console.log('deleteRecursive leaf file: ' + file)\n return fetcher.webOperation('DELETE', (file as NamedNode).uri)\n }\n })\n Promise.all(promises).then(\n () => {\n console.log('deleteRecursive empty folder: ' + folder)\n fetcher\n .webOperation('DELETE', folder.uri)\n .then(() => {\n console.log('Deleted Ok: ' + folder)\n resolve(undefined)\n })\n .catch((err: string) => {\n const str = 'Unable to delete ' + folder + ': ' + err\n console.log(str)\n reject(new Error(str))\n })\n resolve(undefined)\n },\n err => {\n alert(err)\n reject(err)\n }\n )\n })\n })\n }\n\n const isDocument = subject.uri && !subject.uri.includes('#')\n if (isDocument) {\n const controls = div.appendChild(dom.createElement('table'))\n controls.style.width = '100%'\n controls.style.margin = '1em'\n const controlRow = controls.appendChild(dom.createElement('tr'))\n\n const deleteCell = controlRow.appendChild(dom.createElement('td'))\n const isFolder =\n (subject.uri && subject.uri.endsWith('/')) ||\n store.holds(subject, ns.rdf('type'), ns.ldp('Container'))\n const noun = isFolder ? 'folder' : 'file'\n if (!isProtectedUri(subject)) {\n console.log(subject)\n const deleteButton = widgets.deleteButtonWithCheck(\n dom,\n deleteCell,\n noun,\n function () {\n if (\n !confirm(\n `Are you sure you want to delete ${subject}? This cannot be undone.`\n )\n ) {\n return\n }\n // @@ TODO Remove casing of store.fetcher\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n const promise = isFolder\n ? (deleteRecursive(store, subject) || Promise.resolve())\n : store.fetcher.webOperation('DELETE', subject.uri) || Promise.resolve()\n promise\n .then(() => {\n const str = 'Deleted: ' + subject\n console.log(str)\n })\n .catch((err: any) => {\n const str = 'Unable to delete ' + subject + ': ' + err\n console.log(str)\n alert(str)\n })\n }\n )\n deleteButton.style = 'height: 2em;'\n deleteButton.class = '' // Remove hover hide\n deleteCell.appendChild(deleteButton)\n }\n\n const refreshCell = controlRow.appendChild(dom.createElement('td'))\n const refreshButton = widgets.button(\n dom,\n icons.iconBase + 'noun_479395.svg',\n 'refresh'\n )\n refreshCell.appendChild(refreshButton)\n refreshButton.addEventListener('click', () => {\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n store.fetcher.refresh(subject, function (\n ok,\n errm\n ) {\n let str\n if (ok) {\n str = 'Refreshed OK: ' + subject\n } else {\n str = 'Error refreshing: ' + subject + ': ' + errm\n }\n console.log(str)\n alert(str)\n })\n })\n }\n\n let plist = store.statementsMatching(subject)\n let docURI = ''\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n\n if (subject.uri) {\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/2007/ont/link#uri'),\n subject.uri as any, // @@ TODO Remove casting\n store.fetcher.appNode\n )\n )\n if (subject.uri.indexOf('#') >= 0) {\n docURI = subject.uri.split('#')[0]\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/2007/ont/link#documentURI'),\n subject.uri.split('#')[0] as any, // @@ TODO Remove casting\n store.fetcher.appNode\n )\n )\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/2007/ont/link#document'),\n sym(subject.uri.split('#')[0]),\n store.fetcher.appNode\n )\n )\n } else {\n docURI = subject.uri\n }\n }\n if (docURI) {\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n\n const ed = store.updater.editable(docURI)\n if (ed) {\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/ns/rww#editable'),\n literal(ed.toString()),\n store.fetcher.appNode\n )\n )\n }\n }\n // @@ TODO get a proper type\n const outliner: any = context.getOutliner(dom)\n outliner.appendPropertyTRs(div, plist, false, filter)\n plist = store.statementsMatching(undefined, undefined, subject)\n outliner.appendPropertyTRs(div, plist, true, filter)\n return div\n },\n\n predicates: {\n // Predicates used for inner workings. Under the hood\n 'http://www.w3.org/2007/ont/link#request': 1,\n 'http://www.w3.org/2007/ont/link#requestedBy': 1,\n 'http://www.w3.org/2007/ont/link#source': 1,\n 'http://www.w3.org/2007/ont/link#session': 2, // 2= test neg but display\n 'http://www.w3.org/2007/ont/link#uri': 1,\n 'http://www.w3.org/2007/ont/link#documentURI': 1,\n 'http://www.w3.org/2007/ont/link#document': 1,\n 'http://www.w3.org/2007/ont/link#all': 1, // From userinput.js\n 'http://www.w3.org/2007/ont/link#Document': 1,\n 'http://www.w3.org/ns/rww#editable': 1,\n 'http://www.w3.org/2000/01/rdf-schema#seeAlso': 1,\n 'http://www.w3.org/2002/07/owl#': 1\n },\n\n classes: {\n // Things which are inherently already undercover\n 'http://www.w3.org/2007/ont/link#ProtocolEvent': 1\n }\n}\n\nfunction isProtectedUri (subject: NamedNode): boolean {\n // TODO: Could make the code below smarter by removing some of the redundancy by creating a recursive function, but did not bother now\n const siteUri = subject.site().uri\n return (\n subject.uri === siteUri ||\n subject.uri === siteUri + 'profile/' ||\n subject.uri === siteUri + 'profile/card' ||\n subject.uri === siteUri + 'settings/' ||\n subject.uri === siteUri + 'settings/prefs.ttl' ||\n subject.uri === siteUri + 'settings/privateTypeIndex.ttl' ||\n subject.uri === siteUri + 'settings/publicTypeIndex.ttl' ||\n subject.uri === siteUri + 'settings/serverSide.ttl'\n )\n}\n\nexport default pane\n\n// ends\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,8 +8,8 @@ var _solidUi = require("solid-ui");
|
|
|
8
8
|
/**
|
|
9
9
|
* links in the footer
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const SOLID_PROJECT_URL = 'https://solidproject.org';
|
|
12
|
+
const SOLID_PROJECT_NAME = 'solidproject.org';
|
|
13
13
|
function createFooter(store) {
|
|
14
14
|
(0, _solidUi.initFooter)(store, setFooterOptions());
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","names":["_solidUi","require","SOLID_PROJECT_URL","SOLID_PROJECT_NAME","createFooter","store","initFooter","setFooterOptions","solidProjectUrl","solidProjectName"],"sources":["../../src/mainPage/footer.ts"],"sourcesContent":["import { LiveStore } from 'rdflib'\nimport { initFooter } from 'solid-ui'\n\n/**\n * links in the footer\n*/\nconst SOLID_PROJECT_URL = 'https://solidproject.org'\nconst SOLID_PROJECT_NAME = 'solidproject.org'\n\nexport function createFooter (store: LiveStore) {\n initFooter(store, setFooterOptions())\n}\n\nfunction setFooterOptions () {\n return {\n solidProjectUrl: SOLID_PROJECT_URL,\n solidProjectName: SOLID_PROJECT_NAME\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,
|
|
1
|
+
{"version":3,"file":"footer.js","names":["_solidUi","require","SOLID_PROJECT_URL","SOLID_PROJECT_NAME","createFooter","store","initFooter","setFooterOptions","solidProjectUrl","solidProjectName"],"sources":["../../src/mainPage/footer.ts"],"sourcesContent":["import { LiveStore } from 'rdflib'\nimport { initFooter } from 'solid-ui'\n\n/**\n * links in the footer\n*/\nconst SOLID_PROJECT_URL = 'https://solidproject.org'\nconst SOLID_PROJECT_NAME = 'solidproject.org'\n\nexport function createFooter (store: LiveStore) {\n initFooter(store, setFooterOptions())\n}\n\nfunction setFooterOptions () {\n return {\n solidProjectUrl: SOLID_PROJECT_URL,\n solidProjectName: SOLID_PROJECT_NAME\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,0BAA0B;AACpD,MAAMC,kBAAkB,GAAG,kBAAkB;AAEtC,SAASC,YAAYA,CAAEC,KAAgB,EAAE;EAC9C,IAAAC,mBAAU,EAACD,KAAK,EAAEE,gBAAgB,CAAC,CAAC,CAAC;AACvC;AAEA,SAASA,gBAAgBA,CAAA,EAAI;EAC3B,OAAO;IACLC,eAAe,EAAEN,iBAAiB;IAClCO,gBAAgB,EAAEN;EACpB,CAAC;AACH","ignoreList":[]}
|