solid-panes 4.4.2-1 → 4.4.2-3
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/README.md +10 -10
- package/dist/RDFXMLPane.d.ts +2 -3
- package/dist/RDFXMLPane2.cjs.js +3 -0
- package/dist/RDFXMLPane2.cjs.js.map +1 -0
- package/dist/RDFXMLPane2.esm.js +55 -0
- package/dist/RDFXMLPane2.esm.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs.js +1 -0
- package/dist/_virtual/~icons/lucide/user.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/user.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/user.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/user.esm.js.map +1 -0
- package/dist/audio/audioPane.cjs.js +2 -0
- package/dist/audio/audioPane.cjs.js.map +1 -0
- package/dist/audio/audioPane.esm.js +96 -0
- package/dist/audio/audioPane.esm.js.map +1 -0
- package/dist/classInstancePane.cjs.js +2 -0
- package/dist/classInstancePane.cjs.js.map +1 -0
- package/dist/classInstancePane.esm.js +50 -0
- package/dist/classInstancePane.esm.js.map +1 -0
- package/dist/components/header/Header.d.ts +8 -0
- package/dist/components/header/Header.d.ts.map +1 -0
- package/dist/components/header/index.d.ts +4 -0
- package/dist/components/header/index.d.ts.map +1 -0
- package/dist/dashboard/basicPreferences.cjs.js +2 -0
- package/dist/dashboard/basicPreferences.cjs.js.map +1 -0
- package/dist/dashboard/basicPreferences.d.ts +1 -1
- package/dist/dashboard/basicPreferences.esm.js +70 -0
- package/dist/dashboard/basicPreferences.esm.js.map +1 -0
- package/dist/dashboard/dashboardPane.d.ts +1 -1
- package/dist/dashboard/homepage.d.ts +1 -1
- package/dist/dashboard/ontologyData.cjs.js +37 -0
- package/dist/dashboard/ontologyData.cjs.js.map +1 -0
- package/dist/dashboard/ontologyData.esm.js +6 -0
- package/dist/dashboard/ontologyData.esm.js.map +1 -0
- package/dist/dashboard/preferencesFormText.cjs.js +20 -0
- package/dist/dashboard/preferencesFormText.cjs.js.map +1 -0
- package/dist/dashboard/preferencesFormText.esm.js +6 -0
- package/dist/dashboard/preferencesFormText.esm.js.map +1 -0
- package/dist/dataContentPane.d.ts +2 -3
- package/dist/dataContentPane2.cjs.js +2 -0
- package/dist/dataContentPane2.cjs.js.map +1 -0
- package/dist/dataContentPane2.esm.js +109 -0
- package/dist/dataContentPane2.esm.js.map +1 -0
- package/dist/defaultPane.d.ts +2 -3
- package/dist/defaultPane2.cjs.js +2 -0
- package/dist/defaultPane2.cjs.js.map +1 -0
- package/dist/defaultPane2.esm.js +41 -0
- package/dist/defaultPane2.esm.js.map +1 -0
- package/dist/dev.d.ts +10 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dokieli/dokieliPane.cjs.js +2 -0
- package/dist/dokieli/dokieliPane.cjs.js.map +1 -0
- package/dist/dokieli/dokieliPane.esm.js +39 -0
- package/dist/dokieli/dokieliPane.esm.js.map +1 -0
- package/dist/dokieli/{new.js → new.cjs.js} +4 -10
- package/dist/dokieli/new.cjs.js.map +1 -0
- package/dist/dokieli/new.esm.js +6 -0
- package/dist/dokieli/new.esm.js.map +1 -0
- package/dist/form/pane.cjs.js +4 -0
- package/dist/form/pane.cjs.js.map +1 -0
- package/dist/form/pane.d.ts +1 -2
- package/dist/form/pane.esm.js +121 -0
- package/dist/form/pane.esm.js.map +1 -0
- package/dist/home/homePane.cjs.js +2 -0
- package/dist/home/homePane.cjs.js.map +1 -0
- package/dist/home/homePane.d.ts +1 -1
- package/dist/home/homePane.esm.js +35 -0
- package/dist/home/homePane.esm.js.map +1 -0
- package/dist/humanReadablePane.d.ts +2 -3
- package/dist/humanReadablePane2.cjs.js +2 -0
- package/dist/humanReadablePane2.cjs.js.map +1 -0
- package/dist/humanReadablePane2.esm.js +123 -0
- package/dist/humanReadablePane2.esm.js.map +1 -0
- package/dist/icons/dashboard.cjs.js +2 -0
- package/dist/icons/dashboard.cjs.js.map +1 -0
- package/dist/icons/dashboard.esm.js +6 -0
- package/dist/icons/dashboard.esm.js.map +1 -0
- package/dist/icons/folder.cjs.js +2 -0
- package/dist/icons/folder.cjs.js.map +1 -0
- package/dist/icons/folder.esm.js +6 -0
- package/dist/icons/folder.esm.js.map +1 -0
- package/dist/icons/friends.cjs.js +2 -0
- package/dist/icons/friends.cjs.js.map +1 -0
- package/dist/icons/friends.esm.js +6 -0
- package/dist/icons/friends.esm.js.map +1 -0
- package/dist/icons/iconHelper.cjs.js +2 -0
- package/dist/icons/iconHelper.cjs.js.map +1 -0
- package/dist/icons/iconHelper.esm.js +17 -0
- package/dist/icons/iconHelper.esm.js.map +1 -0
- package/dist/icons/{menu.svg → menu.cjs.js} +3 -2
- package/dist/icons/menu.cjs.js.map +1 -0
- package/dist/icons/menu.esm.js +6 -0
- package/dist/icons/menu.esm.js.map +1 -0
- package/dist/icons/person.cjs.js +2 -0
- package/dist/icons/person.cjs.js.map +1 -0
- package/dist/icons/person.esm.js +6 -0
- package/dist/icons/person.esm.js.map +1 -0
- package/dist/imagePane.d.ts +2 -3
- package/dist/imagePane2.cjs.js +2 -0
- package/dist/imagePane2.cjs.js.map +1 -0
- package/dist/imagePane2.esm.js +32 -0
- package/dist/imagePane2.esm.js.map +1 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.esm.js +26 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/internal/internalPane.d.ts +1 -2
- package/dist/internal/internalPane2.cjs.js +2 -0
- package/dist/internal/internalPane2.cjs.js.map +1 -0
- package/dist/internal/internalPane2.esm.js +104 -0
- package/dist/internal/internalPane2.esm.js.map +1 -0
- package/dist/mainPage/footer.cjs.js +2 -0
- package/dist/mainPage/footer.cjs.js.map +1 -0
- package/dist/mainPage/footer.d.ts +1 -3
- package/dist/mainPage/footer.esm.js +18 -0
- package/dist/mainPage/footer.esm.js.map +1 -0
- package/dist/mainPage/header.cjs.js +2 -0
- package/dist/mainPage/header.cjs.js.map +1 -0
- package/dist/mainPage/header.d.ts +1 -15
- package/dist/mainPage/header.d.ts.map +1 -1
- package/dist/mainPage/header.esm.js +24 -0
- package/dist/mainPage/header.esm.js.map +1 -0
- package/dist/mainPage/index.cjs.js +2 -0
- package/dist/mainPage/index.cjs.js.map +1 -0
- package/dist/mainPage/index.d.ts +3 -7
- package/dist/mainPage/index.d.ts.map +1 -1
- package/dist/mainPage/index.esm.js +38 -0
- package/dist/mainPage/index.esm.js.map +1 -0
- package/dist/mainPage/menu.d.ts +1 -2
- package/dist/mainPage/menu2.cjs.js +2 -0
- package/dist/mainPage/menu2.cjs.js.map +1 -0
- package/dist/mainPage/menu2.esm.js +184 -0
- package/dist/mainPage/menu2.esm.js.map +1 -0
- package/dist/n3Pane.d.ts +2 -3
- package/dist/n3Pane2.cjs.js +3 -0
- package/dist/n3Pane2.cjs.js.map +1 -0
- package/dist/n3Pane2.esm.js +52 -0
- package/dist/n3Pane2.esm.js.map +1 -0
- package/dist/outline/context.cjs.js +2 -0
- package/dist/outline/context.cjs.js.map +1 -0
- package/dist/outline/context.d.ts +3 -3
- package/dist/outline/context.esm.js +18 -0
- package/dist/outline/context.esm.js.map +1 -0
- package/dist/outline/manager2.cjs.js +3 -0
- package/dist/outline/manager2.cjs.js.map +1 -0
- package/dist/outline/manager2.esm.js +875 -0
- package/dist/outline/manager2.esm.js.map +1 -0
- package/dist/outline/outlineIcons.cjs.js +2 -0
- package/dist/outline/outlineIcons.cjs.js.map +1 -0
- package/dist/outline/outlineIcons.esm.js +10 -0
- package/dist/outline/outlineIcons.esm.js.map +1 -0
- package/dist/outline/propertyViews.cjs.js +2 -0
- package/dist/outline/propertyViews.cjs.js.map +1 -0
- package/dist/outline/propertyViews.esm.js +19 -0
- package/dist/outline/propertyViews.esm.js.map +1 -0
- package/dist/outline/queryByExample.cjs.js +2 -0
- package/dist/outline/queryByExample.cjs.js.map +1 -0
- package/dist/outline/queryByExample.esm.js +25 -0
- package/dist/outline/queryByExample.esm.js.map +1 -0
- package/dist/outline/userInput.cjs.js +61 -0
- package/dist/outline/userInput.cjs.js.map +1 -0
- package/dist/outline/userInput.esm.js +784 -0
- package/dist/outline/userInput.esm.js.map +1 -0
- package/dist/outline/viewAsImage.cjs.js +2 -0
- package/dist/outline/viewAsImage.cjs.js.map +1 -0
- package/dist/outline/viewAsImage.esm.js +10 -0
- package/dist/outline/viewAsImage.esm.js.map +1 -0
- package/dist/outline/viewAsMbox.cjs.js +2 -0
- package/dist/outline/viewAsMbox.cjs.js.map +1 -0
- package/dist/outline/viewAsMbox.esm.js +9 -0
- package/dist/outline/viewAsMbox.esm.js.map +1 -0
- package/dist/pad/padPane.d.ts +1 -2
- package/dist/pad/padPane2.cjs.js +2 -0
- package/dist/pad/padPane2.cjs.js.map +1 -0
- package/dist/pad/padPane2.esm.js +172 -0
- package/dist/pad/padPane2.esm.js.map +1 -0
- package/dist/playlist/playlistPane.cjs.js +2 -0
- package/dist/playlist/playlistPane.cjs.js.map +1 -0
- package/dist/playlist/playlistPane.esm.js +49 -0
- package/dist/playlist/playlistPane.esm.js.map +1 -0
- package/dist/profileUtils/ownerProfile.cjs.js +2 -0
- package/dist/profileUtils/ownerProfile.cjs.js.map +1 -0
- package/dist/profileUtils/ownerProfile.d.ts +1 -1
- package/dist/profileUtils/ownerProfile.esm.js +50 -0
- package/dist/profileUtils/ownerProfile.esm.js.map +1 -0
- package/dist/registerPanes.cjs.js +2 -0
- package/dist/registerPanes.cjs.js.map +1 -0
- package/dist/registerPanes.esm.js +45 -0
- package/dist/registerPanes.esm.js.map +1 -0
- package/dist/schedule/formsForSchedule.cjs.js +117 -0
- package/dist/schedule/formsForSchedule.cjs.js.map +1 -0
- package/dist/schedule/formsForSchedule.esm.js +6 -0
- package/dist/schedule/formsForSchedule.esm.js.map +1 -0
- package/dist/schedule/schedulePane.d.ts +2 -4
- package/dist/schedule/schedulePane2.cjs.js +8 -0
- package/dist/schedule/schedulePane2.cjs.js.map +1 -0
- package/dist/schedule/schedulePane2.esm.js +384 -0
- package/dist/schedule/schedulePane2.esm.js.map +1 -0
- package/dist/sharing/sharingPane.cjs.js +2 -0
- package/dist/sharing/sharingPane.cjs.js.map +1 -0
- package/dist/sharing/sharingPane.esm.js +22 -0
- package/dist/sharing/sharingPane.esm.js.map +1 -0
- package/dist/slideshow/slideshowPane.cjs.js +2 -0
- package/dist/slideshow/slideshowPane.cjs.js.map +1 -0
- package/dist/slideshow/slideshowPane.esm.js +46 -0
- package/dist/slideshow/slideshowPane.esm.js.map +1 -0
- package/dist/social/editProfileDetails.cjs.js +2 -0
- package/dist/social/editProfileDetails.cjs.js.map +1 -0
- package/dist/social/editProfileDetails.d.ts +1 -2
- package/dist/social/editProfileDetails.esm.js +10 -0
- package/dist/social/editProfileDetails.esm.js.map +1 -0
- package/dist/social/icons.cjs.js +82 -0
- package/dist/social/icons.cjs.js.map +1 -0
- package/dist/social/{icons.js → icons.esm.js} +12 -18
- package/dist/social/icons.esm.js.map +1 -0
- package/dist/social/socialPane.d.ts +2 -3
- package/dist/social/socialPane2.cjs.js +6 -0
- package/dist/social/socialPane2.cjs.js.map +1 -0
- package/dist/social/socialPane2.esm.js +326 -0
- package/dist/social/socialPane2.esm.js.map +1 -0
- package/dist/social/socialSections.cjs.js +2 -0
- package/dist/social/socialSections.cjs.js.map +1 -0
- package/dist/social/socialSections.d.ts +2 -2
- package/dist/social/socialSections.esm.js +221 -0
- package/dist/social/socialSections.esm.js.map +1 -0
- package/dist/social/triage.cjs.js +2 -0
- package/dist/social/triage.cjs.js.map +1 -0
- package/dist/social/triage.d.ts +2 -2
- package/dist/social/triage.esm.js +44 -0
- package/dist/social/triage.esm.js.map +1 -0
- package/dist/tabbed/tabbedPane.cjs.js +2 -0
- package/dist/tabbed/tabbedPane.cjs.js.map +1 -0
- package/dist/tabbed/tabbedPane.d.ts +1 -1
- package/dist/tabbed/tabbedPane.esm.js +38 -0
- package/dist/tabbed/tabbedPane.esm.js.map +1 -0
- package/dist/tableViewPane.cjs.js +2 -0
- package/dist/tableViewPane.cjs.js.map +1 -0
- package/dist/tableViewPane.esm.js +20 -0
- package/dist/tableViewPane.esm.js.map +1 -0
- package/dist/transaction/pane.cjs.js +8 -0
- package/dist/transaction/pane.cjs.js.map +1 -0
- package/dist/transaction/pane.esm.js +212 -0
- package/dist/transaction/pane.esm.js.map +1 -0
- package/dist/transaction/period.cjs.js +4 -0
- package/dist/transaction/period.cjs.js.map +1 -0
- package/dist/transaction/period.esm.js +126 -0
- package/dist/transaction/period.esm.js.map +1 -0
- package/dist/trip/tripPane.cjs.js +2 -0
- package/dist/trip/tripPane.cjs.js.map +1 -0
- package/dist/trip/tripPane.esm.js +85 -0
- package/dist/trip/tripPane.esm.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.dom.cjs.js +2 -0
- package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.dom.d.ts +1 -1
- package/dist/trustedApplications/trustedApplications.dom.esm.js +108 -0
- package/dist/trustedApplications/trustedApplications.dom.esm.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.utils.cjs.js +2 -0
- package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.utils.d.ts +1 -1
- package/dist/trustedApplications/trustedApplications.utils.esm.js +20 -0
- package/dist/trustedApplications/trustedApplications.utils.esm.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.view.cjs.js +2 -0
- package/dist/trustedApplications/trustedApplications.view.cjs.js.map +1 -0
- package/dist/trustedApplications/trustedApplications.view.d.ts +1 -1
- package/dist/trustedApplications/trustedApplications.view.esm.js +41 -0
- package/dist/trustedApplications/trustedApplications.view.esm.js.map +1 -0
- package/dist/ui/pane.cjs.js +4 -0
- package/dist/ui/pane.cjs.js.map +1 -0
- package/dist/ui/pane.esm.js +56 -0
- package/dist/ui/pane.esm.js.map +1 -0
- package/dist/versionInfo.cjs.js +2 -0
- package/dist/versionInfo.cjs.js.map +1 -0
- package/dist/versionInfo.esm.js +40 -0
- package/dist/versionInfo.esm.js.map +1 -0
- package/dist/video/videoPane.cjs.js +2 -0
- package/dist/video/videoPane.cjs.js.map +1 -0
- package/dist/video/videoPane.esm.js +25 -0
- package/dist/video/videoPane.esm.js.map +1 -0
- package/package.json +50 -61
- package/dist/0314353e28ce6e5539af.svg +0 -9
- package/dist/04567ff683933c35c465.png +0 -0
- package/dist/10163fd9b5a0e00d63a0.png +0 -0
- package/dist/1234dcb2eec2e45f252b.png +0 -0
- package/dist/20899934157df4db56cb.png +0 -0
- package/dist/33760bf79f097f449da5.png +0 -0
- package/dist/4cceba29ab33b1ddd9bb.svg +0 -6
- package/dist/578d2b6ed32e7624164e.png +0 -0
- package/dist/5f62a5b2b7e99b9640c7.png +0 -0
- package/dist/6525766ecd288ec60129.png +0 -0
- package/dist/7800be6f6c4b5b0f4f20.png +0 -0
- package/dist/7b7538c6f6b317968009.svg +0 -9
- package/dist/92d03142abe6efc0b42d.svg +0 -6
- package/dist/976473cf5fe24d657d4b.png +0 -0
- package/dist/RDFXMLPane.css +0 -70
- package/dist/RDFXMLPane.js +0 -100
- package/dist/argument/argumentPane.js +0 -60
- package/dist/attach/attachPane.js +0 -393
- package/dist/audio/audioPane.js +0 -181
- package/dist/bda84f59e7216675a208.png +0 -0
- package/dist/cd68e8f3990ba8b2139e.png +0 -0
- package/dist/classInstancePane.js +0 -91
- package/dist/dashboard/basicPreferences.js +0 -147
- package/dist/dashboard/dashboardPane.js +0 -73
- package/dist/dashboard/homepage.js +0 -42
- package/dist/dataContentPane.css +0 -271
- package/dist/dataContentPane.js +0 -226
- package/dist/defaultPane.css +0 -97
- package/dist/defaultPane.js +0 -81
- package/dist/dokieli/dokieliPane.js +0 -74
- package/dist/e7074a7e2cb69e51cfd3.png +0 -0
- package/dist/f3772696fb7ee53c23d8.png +0 -0
- package/dist/form/formPane.css +0 -120
- package/dist/form/pane.js +0 -250
- package/dist/home/homePane.js +0 -74
- package/dist/humanReadablePane.css +0 -129
- package/dist/humanReadablePane.js +0 -243
- package/dist/icons/clock.svg +0 -7
- package/dist/icons/comment.svg +0 -6
- package/dist/icons/dashboard.svg +0 -9
- package/dist/icons/downArrow.svg +0 -6
- package/dist/icons/folder.svg +0 -6
- package/dist/icons/friends.svg +0 -9
- package/dist/icons/help.svg +0 -8
- package/dist/icons/iconHelper.js +0 -23
- package/dist/icons/person.svg +0 -6
- package/dist/icons/personInCircle.svg +0 -8
- package/dist/icons/sharing.svg +0 -10
- package/dist/icons/signOut.svg +0 -8
- package/dist/icons/signUp.svg +0 -9
- package/dist/icons/star.svg +0 -3
- package/dist/imagePane.css +0 -4
- package/dist/imagePane.js +0 -67
- package/dist/index.js +0 -123
- package/dist/internal/internalPane.css +0 -14
- package/dist/internal/internalPane.js +0 -183
- package/dist/mainPage/footer.js +0 -29
- package/dist/mainPage/header.js +0 -203
- package/dist/mainPage/index.js +0 -78
- package/dist/mainPage/menu.css +0 -243
- package/dist/mainPage/menu.js +0 -449
- package/dist/microblogPane/mbStyle.css +0 -267
- package/dist/microblogPane/microblogPane.js +0 -1031
- package/dist/n3Pane.css +0 -49
- package/dist/n3Pane.js +0 -88
- package/dist/outline/context.js +0 -21
- package/dist/outline/manager.css +0 -78
- package/dist/outline/manager.js +0 -2115
- package/dist/outline/outlineIcons.js +0 -126
- package/dist/outline/propertyViews.js +0 -43
- package/dist/outline/queryByExample.js +0 -285
- package/dist/outline/userInput.js +0 -1821
- package/dist/outline/viewAsImage.js +0 -14
- package/dist/outline/viewAsMbox.js +0 -21
- package/dist/pad/padPane.css +0 -40
- package/dist/pad/padPane.js +0 -421
- package/dist/playlist/playlistPane.js +0 -119
- package/dist/profileUtils/ownerProfile.js +0 -84
- package/dist/registerPanes.js +0 -145
- package/dist/schedule/schedulePane.css +0 -294
- package/dist/schedule/schedulePane.js +0 -1022
- package/dist/sharing/sharingPane.js +0 -48
- package/dist/slideshow/slideshowPane.js +0 -79
- package/dist/social/editProfileDetails.js +0 -362
- package/dist/social/socialPane.css +0 -1464
- package/dist/social/socialPane.js +0 -651
- package/dist/social/socialSections.js +0 -393
- package/dist/social/spinner.js +0 -13
- package/dist/social/triage.js +0 -79
- package/dist/solid-panes.js +0 -87502
- package/dist/solid-panes.js.map +0 -1
- package/dist/solid-panes.min.js +0 -3811
- package/dist/solid-panes.min.js.map +0 -1
- package/dist/styles/tabbedtab.css +0 -1066
- package/dist/styles/utilities.css +0 -5
- package/dist/tabbed/tabbedPane.js +0 -59
- package/dist/tableViewPane.js +0 -56
- package/dist/transaction/pane.js +0 -477
- package/dist/transaction/period.js +0 -323
- package/dist/trip/tripPane.js +0 -174
- package/dist/trustedApplications/trustedApplications.dom.js +0 -145
- package/dist/trustedApplications/trustedApplications.utils.js +0 -23
- package/dist/trustedApplications/trustedApplications.view.js +0 -55
- package/dist/ui/pane.js +0 -146
- package/dist/versionInfo.js +0 -41
- package/dist/video/videoPane.js +0 -42
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var e=`@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
|
2
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
|
|
3
|
+
@prefix solid: <http://www.w3.org/ns/solid/terms#>.
|
|
4
|
+
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
|
|
5
|
+
@prefix schema: <http:/schema.org/>.
|
|
6
|
+
@prefix ui: <http://www.w3.org/ns/ui#>.
|
|
7
|
+
@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.
|
|
8
|
+
@prefix : <#>.
|
|
9
|
+
|
|
10
|
+
solid:User a rdfs:Class;
|
|
11
|
+
rdfs:label "user"@en, "utilisateur"@fr;
|
|
12
|
+
rdfs:comment """Any person who might use a Solid-based system""";
|
|
13
|
+
rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.
|
|
14
|
+
|
|
15
|
+
# Since these options are opt-in, it is a bit strange to have new users opt in
|
|
16
|
+
# That they are new users - also we do not use this class for anything specific
|
|
17
|
+
# yet
|
|
18
|
+
# solid:NewUser a rdfs:Class;
|
|
19
|
+
# rdfs:label "new user"@en;
|
|
20
|
+
# rdfs:comment """A person who might use a Solid-based system who has a low
|
|
21
|
+
# level of familiarity with technical details.""";
|
|
22
|
+
# rdfs:subClassOf solid:User.
|
|
23
|
+
|
|
24
|
+
solid:PowerUser a rdfs:Class;
|
|
25
|
+
rdfs:label "power user"@en;
|
|
26
|
+
rdfs:comment """A person who might use a Solid-based system
|
|
27
|
+
who is prepared to be given a more complex interface in order
|
|
28
|
+
to be provided with more pwerful features.""";
|
|
29
|
+
rdfs:subClassOf solid:User.
|
|
30
|
+
|
|
31
|
+
solid:Developer a rdfs:Class;
|
|
32
|
+
rdfs:label "Developer";
|
|
33
|
+
rdfs:comment """Any person who might use a Solid-based system,
|
|
34
|
+
who has software development skills.""";
|
|
35
|
+
rdfs:subClassOf solid:User.
|
|
36
|
+
`;exports.default=e;
|
|
37
|
+
//# sourceMappingURL=ontologyData.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontologyData.cjs.js","names":[],"sources":["../../src/dashboard/ontologyData.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix schema: <http:/schema.org/>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.\n@prefix : <#>.\n\nsolid:User a rdfs:Class;\n rdfs:label \"user\"@en, \"utilisateur\"@fr;\n rdfs:comment \"\"\"Any person who might use a Solid-based system\"\"\";\n rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.\n\n# Since these options are opt-in, it is a bit strange to have new users opt in\n# That they are new users - also we do not use this class for anything specific\n# yet\n# solid:NewUser a rdfs:Class;\n# rdfs:label \"new user\"@en;\n# rdfs:comment \"\"\"A person who might use a Solid-based system who has a low\n# level of familiarity with technical details.\"\"\";\n# rdfs:subClassOf solid:User.\n\nsolid:PowerUser a rdfs:Class;\n rdfs:label \"power user\"@en;\n rdfs:comment \"\"\"A person who might use a Solid-based system\n who is prepared to be given a more complex interface in order\n to be provided with more pwerful features.\"\"\";\n rdfs:subClassOf solid:User.\n\n solid:Developer a rdfs:Class;\n rdfs:label \"Developer\";\n rdfs:comment \"\"\"Any person who might use a Solid-based system,\n who has software development skills.\"\"\";\n rdfs:subClassOf solid:User.\n"],"mappings":"AAAA,IAAA,EAAe"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/dashboard/ontologyData.ttl
|
|
2
|
+
var e = "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix schema: <http:/schema.org/>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.\n@prefix : <#>.\n\nsolid:User a rdfs:Class;\n rdfs:label \"user\"@en, \"utilisateur\"@fr;\n rdfs:comment \"\"\"Any person who might use a Solid-based system\"\"\";\n rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.\n\n# Since these options are opt-in, it is a bit strange to have new users opt in\n# That they are new users - also we do not use this class for anything specific\n# yet\n# solid:NewUser a rdfs:Class;\n# rdfs:label \"new user\"@en;\n# rdfs:comment \"\"\"A person who might use a Solid-based system who has a low\n# level of familiarity with technical details.\"\"\";\n# rdfs:subClassOf solid:User.\n\nsolid:PowerUser a rdfs:Class;\n rdfs:label \"power user\"@en;\n rdfs:comment \"\"\"A person who might use a Solid-based system\n who is prepared to be given a more complex interface in order\n to be provided with more pwerful features.\"\"\";\n rdfs:subClassOf solid:User.\n\n solid:Developer a rdfs:Class;\n rdfs:label \"Developer\";\n rdfs:comment \"\"\"Any person who might use a Solid-based system,\n who has software development skills.\"\"\";\n rdfs:subClassOf solid:User.\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=ontologyData.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ontologyData.esm.js","names":[],"sources":["../../src/dashboard/ontologyData.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix schema: <http:/schema.org/>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.\n@prefix : <#>.\n\nsolid:User a rdfs:Class;\n rdfs:label \"user\"@en, \"utilisateur\"@fr;\n rdfs:comment \"\"\"Any person who might use a Solid-based system\"\"\";\n rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.\n\n# Since these options are opt-in, it is a bit strange to have new users opt in\n# That they are new users - also we do not use this class for anything specific\n# yet\n# solid:NewUser a rdfs:Class;\n# rdfs:label \"new user\"@en;\n# rdfs:comment \"\"\"A person who might use a Solid-based system who has a low\n# level of familiarity with technical details.\"\"\";\n# rdfs:subClassOf solid:User.\n\nsolid:PowerUser a rdfs:Class;\n rdfs:label \"power user\"@en;\n rdfs:comment \"\"\"A person who might use a Solid-based system\n who is prepared to be given a more complex interface in order\n to be provided with more pwerful features.\"\"\";\n rdfs:subClassOf solid:User.\n\n solid:Developer a rdfs:Class;\n rdfs:label \"Developer\";\n rdfs:comment \"\"\"Any person who might use a Solid-based system,\n who has software development skills.\"\"\";\n rdfs:subClassOf solid:User.\n"],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var e=`@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
|
|
2
|
+
@prefix solid: <http://www.w3.org/ns/solid/terms#>.
|
|
3
|
+
@prefix ui: <http://www.w3.org/ns/ui#>.
|
|
4
|
+
@prefix : <#>.
|
|
5
|
+
|
|
6
|
+
:this <http://purl.org/dc/elements/1.1/title> "Basic preferences" ;
|
|
7
|
+
a ui:Form ;
|
|
8
|
+
ui:part :categorizeUser, :privateComment, :personalInformationHeading;
|
|
9
|
+
ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).
|
|
10
|
+
|
|
11
|
+
:personalInformationHeading a ui:Heading;
|
|
12
|
+
ui:contents "Personal information".
|
|
13
|
+
|
|
14
|
+
:privateComment a ui:Comment;
|
|
15
|
+
ui:contents "This information is private.".
|
|
16
|
+
|
|
17
|
+
:categorizeUser a ui:Classifier;
|
|
18
|
+
ui:label "Level of user"; ui:property rdf:type ; ui:category solid:User.
|
|
19
|
+
`;exports.default=e;
|
|
20
|
+
//# sourceMappingURL=preferencesFormText.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferencesFormText.cjs.js","names":[],"sources":["../../src/dashboard/preferencesFormText.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix : <#>.\n\n:this <http://purl.org/dc/elements/1.1/title> \"Basic preferences\" ;\n a ui:Form ;\n ui:part :categorizeUser, :privateComment, :personalInformationHeading;\n ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).\n\n:personalInformationHeading a ui:Heading;\n ui:contents \"Personal information\".\n\n:privateComment a ui:Comment;\n ui:contents \"This information is private.\".\n\n:categorizeUser a ui:Classifier;\n ui:label \"Level of user\"; ui:property rdf:type ; ui:category solid:User.\n"],"mappings":"AAAA,IAAA,EAAe"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/dashboard/preferencesFormText.ttl
|
|
2
|
+
var e = "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix : <#>.\n\n:this <http://purl.org/dc/elements/1.1/title> \"Basic preferences\" ;\n a ui:Form ;\n ui:part :categorizeUser, :privateComment, :personalInformationHeading;\n ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).\n\n:personalInformationHeading a ui:Heading;\n ui:contents \"Personal information\".\n\n:privateComment a ui:Comment;\n ui:contents \"This information is private.\".\n\n:categorizeUser a ui:Classifier;\n ui:label \"Level of user\"; ui:property rdf:type ; ui:category solid:User.\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=preferencesFormText.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferencesFormText.esm.js","names":[],"sources":["../../src/dashboard/preferencesFormText.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix : <#>.\n\n:this <http://purl.org/dc/elements/1.1/title> \"Basic preferences\" ;\n a ui:Form ;\n ui:part :categorizeUser, :privateComment, :personalInformationHeading;\n ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).\n\n:personalInformationHeading a ui:Heading;\n ui:contents \"Personal information\".\n\n:privateComment a ui:Comment;\n ui:contents \"This information is private.\".\n\n:categorizeUser a ui:Classifier;\n ui:label \"Level of user\"; ui:property rdf:type ; ui:category solid:User.\n"],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import './dataContentPane.css';
|
|
1
|
+
import { DataBrowserContext } from '../node_modules/pane-registry';
|
|
2
|
+
import { BlankNode, NamedNode, Statement } from '../node_modules/rdflib';
|
|
4
3
|
type SubjectTerm = NamedNode | BlankNode;
|
|
5
4
|
export declare const dataContentPane: {
|
|
6
5
|
icon: string;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.data-content-pane__literal{white-space:pre-wrap}div.data-content-pane{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);margin-top:var(--spacing-base,.5rem);margin-bottom:var(--spacing-base,.5rem)}div.data-content-pane table.data-content-pane__table{border-collapse:separate;border-spacing:0;width:100%}div.data-content-pane table.data-content-pane__table--root{table-layout:auto}div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__row--root>td{vertical-align:top}div.data-content-pane .data-content-pane__subject-cell{flex:none;width:clamp(7rem,12%,10rem);padding-right:.8rem}div.data-content-pane .data-content-pane__details-cell{flex:0 auto;min-width:0}div.data-content-pane .data-content-pane__subject-cell,div.data-content-pane td.data-content-pane__predicate-cell,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell),div.data-content-pane .data-content-pane__subject-cell a,div.data-content-pane td.data-content-pane__predicate-cell a,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell) a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}div.data-content-pane table.data-content-pane__table--property{table-layout:auto;width:auto;max-width:100%}.data-content-pane__nested-formula{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);border-radius:var(--border-radius-md,.5rem)}div.data-content-pane td{padding-left:var(--spacing-xxxs,.2rem);padding-top:var(--spacing-small,.1rem);padding-right:var(--spacing-xxxs,.2rem);vertical-align:top;padding-bottom:.05rem}div.data-content-pane table.data-content-pane__table--property td{padding-top:.3rem;padding-bottom:.3rem}div.data-content-pane tr{margin-bottom:var(--spacing-2xs,.625rem);padding-top:var(--spacing-small,.1rem);padding-bottom:var(--spacing-small,.1rem)}.data-content-pane a,.data-content-pane a:link{color:var(--color-text-link,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:visited{color:var(--color-text-link-visited,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:hover{color:var(--color-text-link-hover,#3b5998);font-weight:700;text-decoration:underline}.data-content-pane a:active{color:var(--color-text-link-active,#888);text-decoration:none}.data-content-pane.embeddedText{white-space:pre-wrap}div.data-content-pane td.data-content-pane__predicate-cell{width:clamp(8.5rem,18vw,12rem);min-width:8.5rem;max-width:12rem;padding-right:var(--spacing-base,.5rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-left:var(--spacing-xxs,.3125rem)}div.data-content-pane td.data-content-pane__predicate-cell a{color:var(--color-text-muted,#444)}.data-content-pane__row--even{background-color:var(--color-background-row-alternate,#f0f0f0)}.data-content-pane__row--odd{background-color:var(--color-background-row-default,white)}.data-content-pane__row--top-aligned{vertical-align:top;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.data-content-pane__nested-table--light{background-color:var(--color-background-row-default,white)}.data-content-pane__nested-table--dark{background-color:var(--color-background-row-alternate,#f0f0f0)}div.data-content-pane[data-layout=mobile] .data-content-pane__row--root{padding-bottom:var(--spacing-xs,.75rem);align-items:flex-start;display:flex}div.data-content-pane[data-layout=mobile] .data-content-pane__subject-cell{box-sizing:border-box;width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);flex:0 0 40%;padding-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;min-width:0;max-width:60%}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody>tr,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tr{margin-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned+.data-content-pane__row--top-aligned{margin-top:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned{margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody{width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td{box-sizing:border-box;width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td.data-content-pane__predicate-cell{width:100%;min-width:0;padding-bottom:.1rem}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}@media (width<=700px){div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__subject-cell{width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);box-sizing:border-box;flex:0 0 40%;padding-bottom:0}div.data-content-pane .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;max-width:60%}div.data-content-pane .data-content-pane__row--top-aligned{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td{box-sizing:border-box;width:100%;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td.data-content-pane__predicate-cell{width:100%;min-width:0;max-width:none;padding-bottom:var(--spacing-small,.1rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();const e=require("./_virtual/_rolldown/runtime.cjs.js");;let t=require("solid-ui");t=e.__toESM(t);let n=require("rdflib");n=e.__toESM(n);let r=require("dompurify");r=e.__toESM(r);var i=t.ns,a={icon:t.icons.originalIconBase+`rdf_flyer.24.gif`,name:`dataContents`,audience:[i.solid(`Developer`)],label:function(e,t){if(`http://www.w3.org/2007/ont/link#ProtocolEvent`in t.session.store.findTypeURIs(e))return null;let n=t.session.store.statementsMatching(void 0,void 0,void 0,e).length;return n===0?null:`Data (`+n+`)`},statementsAsTables:function(e,i,a){let o=i.dom,s=o.createElement(`table`);s.classList.add(`data-content-pane__table`,`data-content-pane__table--root`);let c=i.environment?.layout===`mobile`,l=n.Serializer(i.session.store),u=l.rootSubjects(e),d=u.roots,f=u.subjects,p=u.loopBreakers??{};for(let e in p)console.log(` dataContentPane: loopbreaker:`+e);let m={},h={};function g(e,n=0){let r=o.createElement(`table`);r.classList.add(`data-content-pane__table`,`data-content-pane__table--property`);let i=null,a=f[l.toStr(e)];if(!a)return r.appendChild(o.createTextNode(`...`)),r;a.sort();let s=0,u;for(let e=0;e<a.length;e++){let l=a[e],d=o.createElement(`tr`);if(d.classList.add(`data-content-pane__row--top-aligned`,`data-content-pane__row--property`),l.predicate.uri!==i||c){!c&&i&&s>1&&u?.setAttribute(`rowspan`,``+s),u=o.createElement(`td`),u.setAttribute(`class`,`data-content-pane__predicate-cell`);let e=o.createElement(`a`);e.setAttribute(`href`,l.predicate.uri),e.addEventListener(`click`,t.widgets.openHrefInOutlineMode,!0),e.appendChild(o.createTextNode(t.utils.predicateLabelForXML(l.predicate))),u.appendChild(e),d.appendChild(u),i=l.predicate.uri,s=0}s++;let f=o.createElement(`td`);f.classList.add(`data-content-pane__value-cell`),f.appendChild(_(l.object,n+1)),d.appendChild(f),r.appendChild(d)}return!c&&i&&s>1&&u?.setAttribute(`rowspan`,``+s),r}function _(e,n=0){let a,s;switch(e.termType){case`NamedNode`:return s=o.createElement(`a`),s.setAttribute(`href`,e.uri),s.addEventListener(`click`,t.widgets.openHrefInOutlineMode,!0),s.appendChild(o.createTextNode(t.utils.label(e))),s;case`Literal`:return!e.datatype||!e.datatype.uri?(a=o.createElement(`div`),a.classList.add(`data-content-pane__literal`),a.textContent=e.value,a):e.datatype.uri===`http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral`?(a=o.createElement(`div`),a.classList.add(`embeddedXHTML`),a.innerHTML=r.default.sanitize(e.value),a):o.createTextNode(e.value);case`BlankNode`:{if(e.toNT()in m){h[e.toNT()]=!0;let t=o.createElement(`a`);return t.setAttribute(`href`,`#`+e.toNT().slice(2)),t.setAttribute(`class`,`bnodeRef`),t.textContent=`*`+e.toNT().slice(3),t}m[e.toNT()]=!0;let t=g(e,n);return m[e.toNT()]=t,n%2==1?t.classList.add(`data-content-pane__nested-table--light`):t.classList.add(`data-content-pane__nested-table--dark`),t}case`Collection`:a=o.createElement(`table`),a.setAttribute(`class`,`collectionAsTables`);for(let t=0;t<e.elements.length;t++){let r=o.createElement(`tr`);a.appendChild(r),r.appendChild(_(e.elements[t],n+1))}return a;case`Graph`:return a=i.session.paneRegistry.byName(`dataContents`).statementsAsTables(e.statements,i),a.setAttribute(`class`,`data-content-pane__nested-formula`),a;case`Variable`:return o.createTextNode(`?`+e.uri)}throw Error(`Unhandled node type: `+e.termType)}a&&(d=a.concat(d.filter(function(e){for(let t=0;t<a.length;t++)if(e.sameTerm(a[t]))return!1;return!0})));for(let e=0;e<d.length;e++){let n=o.createElement(`tr`);n.classList.add(e%2==0?`data-content-pane__row--even`:`data-content-pane__row--odd`,`data-content-pane__row--root`),s.appendChild(n);let r=o.createElement(`td`);r.classList.add(`data-content-pane__subject-cell`),n.appendChild(r);let i=o.createElement(`td`);i.classList.add(`data-content-pane__details-cell`),n.appendChild(i);let a=d[e];a.termType===`BlankNode`?r.appendChild(o.createTextNode(t.utils.label(a))):r.appendChild(_(a,0)),i.appendChild(g(a,0))}for(let e in h){let t=m[e];if(t===!0)continue;let n=o.createElement(`a`);n.setAttribute(`id`,e.slice(2)),n.setAttribute(`class`,`bnodeDef`),n.textContent=e.slice(3)+`)`,t.insertBefore(n,t.firstChild)}return s},render:function(e,n){let r=n.dom;function i(e){let t=n.environment??{};e.dataset.layout=t.layout??`desktop`,e.dataset.theme=t.theme??`light`,e.dataset.inputMode=t.inputMode??`pointer`}function a(){let r=n.session.store,i=r.statementsMatching(void 0,void 0,void 0,e),a=[];r.holds(e,void 0,void 0,e)&&a.push(e);let s=r.any(e,t.ns.foaf(`primaryTopic`),void 0,e);s&&(s.termType===`NamedNode`||s.termType===`BlankNode`)&&a.push(s),o.appendChild(n.session.paneRegistry.byName(`dataContents`).statementsAsTables(i,n,a))}let o=r.createElement(`div`);return o.classList.add(`dataContentPane`,`data-content-pane`),i(o),a(),o}};exports.dataContentPane=a;
|
|
2
|
+
//# sourceMappingURL=dataContentPane2.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataContentPane2.cjs.js","names":[],"sources":["../src/dataContentPane.ts"],"sourcesContent":["/* Data content Pane\n **\n ** This pane shows the content of a particular RDF resource\n ** or at least the RDF semantics we attribute to that resource.\n */\n\n// To do: - Only take data from one graph\n// - Only do forwards not backward?\n// - Expand automatically all the way down\n// - original source view? Use ffox view source\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport DOMPurify from 'dompurify'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type {\n BlankNode,\n Formula,\n NamedNode,\n Statement\n} from 'rdflib'\nimport './dataContentPane.css'\n\nconst ns = UI.ns\n\ntype SubjectTerm = NamedNode | BlankNode\ntype ObjectTerm = Statement['object'] | Formula\n\ntype RootSubjectsResult = {\n roots: SubjectTerm[]\n subjects: Record<string, Statement[]>\n loopBreakers?: Record<string, unknown>\n}\n\ntype DataContentPaneLike = {\n statementsAsTables: (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ) => HTMLTableElement\n}\n\nexport const dataContentPane = {\n icon: UI.icons.originalIconBase + 'rdf_flyer.24.gif',\n\n name: 'dataContents',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext) {\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n context.session.store.findTypeURIs(subject)\n ) {\n return null\n }\n const n = context.session.store.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ).length\n if (n === 0) return null\n return 'Data (' + n + ')'\n },\n /*\n shouldGetFocus: function(subject) {\n return store.whether(subject, UI.ns.rdf('type'), UI.ns.link('RDFDocument'))\n },\n*/\n statementsAsTables: function statementsAsTables (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ): HTMLTableElement {\n const myDocument = context.dom\n // const outliner = context.getOutliner(myDocument)\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--root')\n const isMobileLayout = context.environment?.layout === 'mobile'\n const sz = $rdf.Serializer(context.session.store)\n const res = sz.rootSubjects(sts) as RootSubjectsResult\n let roots = res.roots\n const subjects = res.subjects\n const loopBreakers = res.loopBreakers ?? {}\n for (const x in loopBreakers) {\n console.log('\\tdataContentPane: loopbreaker:' + x)\n }\n const doneBnodes: Record<string, true | HTMLTableElement> = {}\n const referencedBnodes: Record<string, true> = {}\n\n function propertyTree (\n subject: SubjectTerm,\n nestingLevel = 0\n ): HTMLTableElement {\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--property')\n let lastPred: string | null = null\n const subjectStatements = subjects[sz.toStr(subject)]\n if (!subjectStatements) {\n rep.appendChild(myDocument.createTextNode('...'))\n return rep\n }\n subjectStatements.sort()\n let same = 0\n let predicateTD: HTMLTableCellElement | undefined\n for (let i = 0; i < subjectStatements.length; i++) {\n const st = subjectStatements[i]\n const tr = myDocument.createElement('tr')\n tr.classList.add('data-content-pane__row--top-aligned', 'data-content-pane__row--property')\n if (st.predicate.uri !== lastPred || isMobileLayout) {\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n predicateTD = myDocument.createElement('td')\n predicateTD.setAttribute('class', 'data-content-pane__predicate-cell')\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('href', st.predicate.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(\n myDocument.createTextNode(\n UI.utils.predicateLabelForXML(st.predicate)\n )\n )\n predicateTD.appendChild(anchor)\n tr.appendChild(predicateTD)\n lastPred = st.predicate.uri\n same = 0\n }\n same++\n const objectTD = myDocument.createElement('td')\n objectTD.classList.add('data-content-pane__value-cell')\n objectTD.appendChild(objectTree(st.object, nestingLevel + 1))\n tr.appendChild(objectTD)\n rep.appendChild(tr)\n }\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n return rep\n }\n\n function objectTree (obj: ObjectTerm, nestingLevel = 0): Node {\n let res: HTMLElement | HTMLTableElement | Text\n let anchor: HTMLAnchorElement\n switch (obj.termType) {\n case 'NamedNode':\n anchor = myDocument.createElement('a')\n anchor.setAttribute('href', obj.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(myDocument.createTextNode(UI.utils.label(obj)))\n return anchor\n\n case 'Literal':\n if (!obj.datatype || !obj.datatype.uri) {\n res = myDocument.createElement('div')\n res.classList.add('data-content-pane__literal')\n res.textContent = obj.value\n return res\n } else if (\n obj.datatype.uri ===\n 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'\n ) {\n res = myDocument.createElement('div')\n res.classList.add('embeddedXHTML')\n res.innerHTML = DOMPurify.sanitize(obj.value)\n return res\n }\n return myDocument.createTextNode(obj.value)\n\n case 'BlankNode': {\n if (obj.toNT() in doneBnodes) {\n referencedBnodes[obj.toNT()] = true\n const referenceAnchor = myDocument.createElement('a')\n referenceAnchor.setAttribute('href', '#' + obj.toNT().slice(2))\n referenceAnchor.setAttribute('class', 'bnodeRef')\n referenceAnchor.textContent = '*' + obj.toNT().slice(3)\n return referenceAnchor\n }\n doneBnodes[obj.toNT()] = true\n const newTable = propertyTree(obj, nestingLevel)\n doneBnodes[obj.toNT()] = newTable\n if (nestingLevel % 2 === 1) {\n newTable.classList.add('data-content-pane__nested-table--light')\n } else {\n newTable.classList.add('data-content-pane__nested-table--dark')\n }\n return newTable\n }\n\n case 'Collection':\n res = myDocument.createElement('table')\n res.setAttribute('class', 'collectionAsTables')\n for (let i = 0; i < obj.elements.length; i++) {\n const tr = myDocument.createElement('tr')\n res.appendChild(tr)\n tr.appendChild(objectTree(obj.elements[i] as ObjectTerm, nestingLevel + 1))\n }\n return res\n\n case 'Graph':\n res = (context.session.paneRegistry\n .byName('dataContents') as DataContentPaneLike)\n .statementsAsTables(obj.statements, context)\n res.setAttribute('class', 'data-content-pane__nested-formula')\n return res\n\n case 'Variable':\n return myDocument.createTextNode('?' + obj.uri)\n }\n throw new Error('Unhandled node type: ' + obj.termType)\n }\n\n if (initialRoots) {\n roots = initialRoots.concat(\n roots.filter(function (x: SubjectTerm) {\n for (let i = 0; i < initialRoots.length; i++) {\n if (x.sameTerm(initialRoots[i])) return false\n }\n return true\n })\n )\n }\n for (let i = 0; i < roots.length; i++) {\n const tr = myDocument.createElement('tr')\n tr.classList.add(\n i % 2 === 0 ? 'data-content-pane__row--even' : 'data-content-pane__row--odd',\n 'data-content-pane__row--root'\n )\n rep.appendChild(tr)\n const subjectTD = myDocument.createElement('td')\n subjectTD.classList.add('data-content-pane__subject-cell')\n tr.appendChild(subjectTD)\n const TDTree = myDocument.createElement('td')\n TDTree.classList.add('data-content-pane__details-cell')\n tr.appendChild(TDTree)\n const root = roots[i]\n if (root.termType === 'BlankNode') {\n subjectTD.appendChild(myDocument.createTextNode(UI.utils.label(root)))\n } else {\n subjectTD.appendChild(objectTree(root, 0))\n }\n TDTree.appendChild(propertyTree(root, 0))\n }\n for (const bNT in referencedBnodes) {\n const table = doneBnodes[bNT]\n if (table === true) continue\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('id', bNT.slice(2))\n anchor.setAttribute('class', 'bnodeDef')\n anchor.textContent = bNT.slice(3) + ')'\n table.insertBefore(anchor, table.firstChild)\n }\n return rep\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n element.dataset.theme = environment.theme ?? 'light'\n element.dataset.inputMode = environment.inputMode ?? 'pointer'\n }\n\n function mainRendering () {\n const kb = context.session.store\n const sts = kb.statementsMatching(undefined, undefined, undefined, subject)\n const initialRoots: SubjectTerm[] = []\n if (kb.holds(subject, undefined, undefined, subject)) {\n initialRoots.push(subject)\n }\n const ps = kb.any(subject, UI.ns.foaf('primaryTopic'), undefined, subject)\n if (ps && (ps.termType === 'NamedNode' || ps.termType === 'BlankNode')) {\n initialRoots.push(ps as SubjectTerm)\n }\n\n div.appendChild(\n context.session.paneRegistry\n .byName('dataContents')\n .statementsAsTables(sts, context, initialRoots)\n )\n }\n\n const div = myDocument.createElement('div')\n div.classList.add('dataContentPane', 'data-content-pane')\n applyEnvironmentAttributes(div)\n\n mainRendering()\n return div\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.data-content-pane__literal{white-space:pre-wrap}div.data-content-pane{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);margin-top:var(--spacing-base,.5rem);margin-bottom:var(--spacing-base,.5rem)}div.data-content-pane table.data-content-pane__table{border-collapse:separate;border-spacing:0;width:100%}div.data-content-pane table.data-content-pane__table--root{table-layout:auto}div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__row--root>td{vertical-align:top}div.data-content-pane .data-content-pane__subject-cell{flex:none;width:clamp(7rem,12%,10rem);padding-right:.8rem}div.data-content-pane .data-content-pane__details-cell{flex:0 auto;min-width:0}div.data-content-pane .data-content-pane__subject-cell,div.data-content-pane td.data-content-pane__predicate-cell,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell),div.data-content-pane .data-content-pane__subject-cell a,div.data-content-pane td.data-content-pane__predicate-cell a,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell) a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}div.data-content-pane table.data-content-pane__table--property{table-layout:auto;width:auto;max-width:100%}.data-content-pane__nested-formula{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);border-radius:var(--border-radius-md,.5rem)}div.data-content-pane td{padding-left:var(--spacing-xxxs,.2rem);padding-top:var(--spacing-small,.1rem);padding-right:var(--spacing-xxxs,.2rem);vertical-align:top;padding-bottom:.05rem}div.data-content-pane table.data-content-pane__table--property td{padding-top:.3rem;padding-bottom:.3rem}div.data-content-pane tr{margin-bottom:var(--spacing-2xs,.625rem);padding-top:var(--spacing-small,.1rem);padding-bottom:var(--spacing-small,.1rem)}.data-content-pane a,.data-content-pane a:link{color:var(--color-text-link,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:visited{color:var(--color-text-link-visited,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:hover{color:var(--color-text-link-hover,#3b5998);font-weight:700;text-decoration:underline}.data-content-pane a:active{color:var(--color-text-link-active,#888);text-decoration:none}.data-content-pane.embeddedText{white-space:pre-wrap}div.data-content-pane td.data-content-pane__predicate-cell{width:clamp(8.5rem,18vw,12rem);min-width:8.5rem;max-width:12rem;padding-right:var(--spacing-base,.5rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-left:var(--spacing-xxs,.3125rem)}div.data-content-pane td.data-content-pane__predicate-cell a{color:var(--color-text-muted,#444)}.data-content-pane__row--even{background-color:var(--color-background-row-alternate,#f0f0f0)}.data-content-pane__row--odd{background-color:var(--color-background-row-default,white)}.data-content-pane__row--top-aligned{vertical-align:top;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.data-content-pane__nested-table--light{background-color:var(--color-background-row-default,white)}.data-content-pane__nested-table--dark{background-color:var(--color-background-row-alternate,#f0f0f0)}div.data-content-pane[data-layout=mobile] .data-content-pane__row--root{padding-bottom:var(--spacing-xs,.75rem);align-items:flex-start;display:flex}div.data-content-pane[data-layout=mobile] .data-content-pane__subject-cell{box-sizing:border-box;width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);flex:0 0 40%;padding-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;min-width:0;max-width:60%}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody>tr,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tr{margin-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned+.data-content-pane__row--top-aligned{margin-top:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned{margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody{width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td{box-sizing:border-box;width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td.data-content-pane__predicate-cell{width:100%;min-width:0;padding-bottom:.1rem}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}@media (width<=700px){div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__subject-cell{width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);box-sizing:border-box;flex:0 0 40%;padding-bottom:0}div.data-content-pane .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;max-width:60%}div.data-content-pane .data-content-pane__row--top-aligned{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td{box-sizing:border-box;width:100%;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td.data-content-pane__predicate-cell{width:100%;min-width:0;max-width:none;padding-bottom:var(--spacing-small,.1rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
2
|
+
import * as e from "solid-ui";
|
|
3
|
+
import * as t from "rdflib";
|
|
4
|
+
import n from "dompurify";
|
|
5
|
+
//#region src/dataContentPane.ts
|
|
6
|
+
var r = e.ns, i = {
|
|
7
|
+
icon: e.icons.originalIconBase + "rdf_flyer.24.gif",
|
|
8
|
+
name: "dataContents",
|
|
9
|
+
audience: [r.solid("Developer")],
|
|
10
|
+
label: function(e, t) {
|
|
11
|
+
if ("http://www.w3.org/2007/ont/link#ProtocolEvent" in t.session.store.findTypeURIs(e)) return null;
|
|
12
|
+
let n = t.session.store.statementsMatching(void 0, void 0, void 0, e).length;
|
|
13
|
+
return n === 0 ? null : "Data (" + n + ")";
|
|
14
|
+
},
|
|
15
|
+
statementsAsTables: function(r, i, a) {
|
|
16
|
+
let o = i.dom, s = o.createElement("table");
|
|
17
|
+
s.classList.add("data-content-pane__table", "data-content-pane__table--root");
|
|
18
|
+
let c = i.environment?.layout === "mobile", l = t.Serializer(i.session.store), u = l.rootSubjects(r), d = u.roots, f = u.subjects, p = u.loopBreakers ?? {};
|
|
19
|
+
for (let e in p) console.log(" dataContentPane: loopbreaker:" + e);
|
|
20
|
+
let m = {}, h = {};
|
|
21
|
+
function g(t, n = 0) {
|
|
22
|
+
let r = o.createElement("table");
|
|
23
|
+
r.classList.add("data-content-pane__table", "data-content-pane__table--property");
|
|
24
|
+
let i = null, a = f[l.toStr(t)];
|
|
25
|
+
if (!a) return r.appendChild(o.createTextNode("...")), r;
|
|
26
|
+
a.sort();
|
|
27
|
+
let s = 0, u;
|
|
28
|
+
for (let t = 0; t < a.length; t++) {
|
|
29
|
+
let l = a[t], d = o.createElement("tr");
|
|
30
|
+
if (d.classList.add("data-content-pane__row--top-aligned", "data-content-pane__row--property"), l.predicate.uri !== i || c) {
|
|
31
|
+
!c && i && s > 1 && u?.setAttribute("rowspan", "" + s), u = o.createElement("td"), u.setAttribute("class", "data-content-pane__predicate-cell");
|
|
32
|
+
let t = o.createElement("a");
|
|
33
|
+
t.setAttribute("href", l.predicate.uri), t.addEventListener("click", e.widgets.openHrefInOutlineMode, !0), t.appendChild(o.createTextNode(e.utils.predicateLabelForXML(l.predicate))), u.appendChild(t), d.appendChild(u), i = l.predicate.uri, s = 0;
|
|
34
|
+
}
|
|
35
|
+
s++;
|
|
36
|
+
let f = o.createElement("td");
|
|
37
|
+
f.classList.add("data-content-pane__value-cell"), f.appendChild(_(l.object, n + 1)), d.appendChild(f), r.appendChild(d);
|
|
38
|
+
}
|
|
39
|
+
return !c && i && s > 1 && u?.setAttribute("rowspan", "" + s), r;
|
|
40
|
+
}
|
|
41
|
+
function _(t, r = 0) {
|
|
42
|
+
let a, s;
|
|
43
|
+
switch (t.termType) {
|
|
44
|
+
case "NamedNode": return s = o.createElement("a"), s.setAttribute("href", t.uri), s.addEventListener("click", e.widgets.openHrefInOutlineMode, !0), s.appendChild(o.createTextNode(e.utils.label(t))), s;
|
|
45
|
+
case "Literal": return !t.datatype || !t.datatype.uri ? (a = o.createElement("div"), a.classList.add("data-content-pane__literal"), a.textContent = t.value, a) : t.datatype.uri === "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" ? (a = o.createElement("div"), a.classList.add("embeddedXHTML"), a.innerHTML = n.sanitize(t.value), a) : o.createTextNode(t.value);
|
|
46
|
+
case "BlankNode": {
|
|
47
|
+
if (t.toNT() in m) {
|
|
48
|
+
h[t.toNT()] = !0;
|
|
49
|
+
let e = o.createElement("a");
|
|
50
|
+
return e.setAttribute("href", "#" + t.toNT().slice(2)), e.setAttribute("class", "bnodeRef"), e.textContent = "*" + t.toNT().slice(3), e;
|
|
51
|
+
}
|
|
52
|
+
m[t.toNT()] = !0;
|
|
53
|
+
let e = g(t, r);
|
|
54
|
+
return m[t.toNT()] = e, r % 2 == 1 ? e.classList.add("data-content-pane__nested-table--light") : e.classList.add("data-content-pane__nested-table--dark"), e;
|
|
55
|
+
}
|
|
56
|
+
case "Collection":
|
|
57
|
+
a = o.createElement("table"), a.setAttribute("class", "collectionAsTables");
|
|
58
|
+
for (let e = 0; e < t.elements.length; e++) {
|
|
59
|
+
let n = o.createElement("tr");
|
|
60
|
+
a.appendChild(n), n.appendChild(_(t.elements[e], r + 1));
|
|
61
|
+
}
|
|
62
|
+
return a;
|
|
63
|
+
case "Graph": return a = i.session.paneRegistry.byName("dataContents").statementsAsTables(t.statements, i), a.setAttribute("class", "data-content-pane__nested-formula"), a;
|
|
64
|
+
case "Variable": return o.createTextNode("?" + t.uri);
|
|
65
|
+
}
|
|
66
|
+
throw Error("Unhandled node type: " + t.termType);
|
|
67
|
+
}
|
|
68
|
+
a && (d = a.concat(d.filter(function(e) {
|
|
69
|
+
for (let t = 0; t < a.length; t++) if (e.sameTerm(a[t])) return !1;
|
|
70
|
+
return !0;
|
|
71
|
+
})));
|
|
72
|
+
for (let t = 0; t < d.length; t++) {
|
|
73
|
+
let n = o.createElement("tr");
|
|
74
|
+
n.classList.add(t % 2 == 0 ? "data-content-pane__row--even" : "data-content-pane__row--odd", "data-content-pane__row--root"), s.appendChild(n);
|
|
75
|
+
let r = o.createElement("td");
|
|
76
|
+
r.classList.add("data-content-pane__subject-cell"), n.appendChild(r);
|
|
77
|
+
let i = o.createElement("td");
|
|
78
|
+
i.classList.add("data-content-pane__details-cell"), n.appendChild(i);
|
|
79
|
+
let a = d[t];
|
|
80
|
+
a.termType === "BlankNode" ? r.appendChild(o.createTextNode(e.utils.label(a))) : r.appendChild(_(a, 0)), i.appendChild(g(a, 0));
|
|
81
|
+
}
|
|
82
|
+
for (let e in h) {
|
|
83
|
+
let t = m[e];
|
|
84
|
+
if (t === !0) continue;
|
|
85
|
+
let n = o.createElement("a");
|
|
86
|
+
n.setAttribute("id", e.slice(2)), n.setAttribute("class", "bnodeDef"), n.textContent = e.slice(3) + ")", t.insertBefore(n, t.firstChild);
|
|
87
|
+
}
|
|
88
|
+
return s;
|
|
89
|
+
},
|
|
90
|
+
render: function(t, n) {
|
|
91
|
+
let r = n.dom;
|
|
92
|
+
function i(e) {
|
|
93
|
+
let t = n.environment ?? {};
|
|
94
|
+
e.dataset.layout = t.layout ?? "desktop", e.dataset.theme = t.theme ?? "light", e.dataset.inputMode = t.inputMode ?? "pointer";
|
|
95
|
+
}
|
|
96
|
+
function a() {
|
|
97
|
+
let r = n.session.store, i = r.statementsMatching(void 0, void 0, void 0, t), a = [];
|
|
98
|
+
r.holds(t, void 0, void 0, t) && a.push(t);
|
|
99
|
+
let s = r.any(t, e.ns.foaf("primaryTopic"), void 0, t);
|
|
100
|
+
s && (s.termType === "NamedNode" || s.termType === "BlankNode") && a.push(s), o.appendChild(n.session.paneRegistry.byName("dataContents").statementsAsTables(i, n, a));
|
|
101
|
+
}
|
|
102
|
+
let o = r.createElement("div");
|
|
103
|
+
return o.classList.add("dataContentPane", "data-content-pane"), i(o), a(), o;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
//#endregion
|
|
107
|
+
export { i as dataContentPane };
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=dataContentPane2.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataContentPane2.esm.js","names":[],"sources":["../src/dataContentPane.ts"],"sourcesContent":["/* Data content Pane\n **\n ** This pane shows the content of a particular RDF resource\n ** or at least the RDF semantics we attribute to that resource.\n */\n\n// To do: - Only take data from one graph\n// - Only do forwards not backward?\n// - Expand automatically all the way down\n// - original source view? Use ffox view source\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport DOMPurify from 'dompurify'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type {\n BlankNode,\n Formula,\n NamedNode,\n Statement\n} from 'rdflib'\nimport './dataContentPane.css'\n\nconst ns = UI.ns\n\ntype SubjectTerm = NamedNode | BlankNode\ntype ObjectTerm = Statement['object'] | Formula\n\ntype RootSubjectsResult = {\n roots: SubjectTerm[]\n subjects: Record<string, Statement[]>\n loopBreakers?: Record<string, unknown>\n}\n\ntype DataContentPaneLike = {\n statementsAsTables: (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ) => HTMLTableElement\n}\n\nexport const dataContentPane = {\n icon: UI.icons.originalIconBase + 'rdf_flyer.24.gif',\n\n name: 'dataContents',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext) {\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n context.session.store.findTypeURIs(subject)\n ) {\n return null\n }\n const n = context.session.store.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ).length\n if (n === 0) return null\n return 'Data (' + n + ')'\n },\n /*\n shouldGetFocus: function(subject) {\n return store.whether(subject, UI.ns.rdf('type'), UI.ns.link('RDFDocument'))\n },\n*/\n statementsAsTables: function statementsAsTables (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ): HTMLTableElement {\n const myDocument = context.dom\n // const outliner = context.getOutliner(myDocument)\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--root')\n const isMobileLayout = context.environment?.layout === 'mobile'\n const sz = $rdf.Serializer(context.session.store)\n const res = sz.rootSubjects(sts) as RootSubjectsResult\n let roots = res.roots\n const subjects = res.subjects\n const loopBreakers = res.loopBreakers ?? {}\n for (const x in loopBreakers) {\n console.log('\\tdataContentPane: loopbreaker:' + x)\n }\n const doneBnodes: Record<string, true | HTMLTableElement> = {}\n const referencedBnodes: Record<string, true> = {}\n\n function propertyTree (\n subject: SubjectTerm,\n nestingLevel = 0\n ): HTMLTableElement {\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--property')\n let lastPred: string | null = null\n const subjectStatements = subjects[sz.toStr(subject)]\n if (!subjectStatements) {\n rep.appendChild(myDocument.createTextNode('...'))\n return rep\n }\n subjectStatements.sort()\n let same = 0\n let predicateTD: HTMLTableCellElement | undefined\n for (let i = 0; i < subjectStatements.length; i++) {\n const st = subjectStatements[i]\n const tr = myDocument.createElement('tr')\n tr.classList.add('data-content-pane__row--top-aligned', 'data-content-pane__row--property')\n if (st.predicate.uri !== lastPred || isMobileLayout) {\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n predicateTD = myDocument.createElement('td')\n predicateTD.setAttribute('class', 'data-content-pane__predicate-cell')\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('href', st.predicate.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(\n myDocument.createTextNode(\n UI.utils.predicateLabelForXML(st.predicate)\n )\n )\n predicateTD.appendChild(anchor)\n tr.appendChild(predicateTD)\n lastPred = st.predicate.uri\n same = 0\n }\n same++\n const objectTD = myDocument.createElement('td')\n objectTD.classList.add('data-content-pane__value-cell')\n objectTD.appendChild(objectTree(st.object, nestingLevel + 1))\n tr.appendChild(objectTD)\n rep.appendChild(tr)\n }\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n return rep\n }\n\n function objectTree (obj: ObjectTerm, nestingLevel = 0): Node {\n let res: HTMLElement | HTMLTableElement | Text\n let anchor: HTMLAnchorElement\n switch (obj.termType) {\n case 'NamedNode':\n anchor = myDocument.createElement('a')\n anchor.setAttribute('href', obj.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(myDocument.createTextNode(UI.utils.label(obj)))\n return anchor\n\n case 'Literal':\n if (!obj.datatype || !obj.datatype.uri) {\n res = myDocument.createElement('div')\n res.classList.add('data-content-pane__literal')\n res.textContent = obj.value\n return res\n } else if (\n obj.datatype.uri ===\n 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'\n ) {\n res = myDocument.createElement('div')\n res.classList.add('embeddedXHTML')\n res.innerHTML = DOMPurify.sanitize(obj.value)\n return res\n }\n return myDocument.createTextNode(obj.value)\n\n case 'BlankNode': {\n if (obj.toNT() in doneBnodes) {\n referencedBnodes[obj.toNT()] = true\n const referenceAnchor = myDocument.createElement('a')\n referenceAnchor.setAttribute('href', '#' + obj.toNT().slice(2))\n referenceAnchor.setAttribute('class', 'bnodeRef')\n referenceAnchor.textContent = '*' + obj.toNT().slice(3)\n return referenceAnchor\n }\n doneBnodes[obj.toNT()] = true\n const newTable = propertyTree(obj, nestingLevel)\n doneBnodes[obj.toNT()] = newTable\n if (nestingLevel % 2 === 1) {\n newTable.classList.add('data-content-pane__nested-table--light')\n } else {\n newTable.classList.add('data-content-pane__nested-table--dark')\n }\n return newTable\n }\n\n case 'Collection':\n res = myDocument.createElement('table')\n res.setAttribute('class', 'collectionAsTables')\n for (let i = 0; i < obj.elements.length; i++) {\n const tr = myDocument.createElement('tr')\n res.appendChild(tr)\n tr.appendChild(objectTree(obj.elements[i] as ObjectTerm, nestingLevel + 1))\n }\n return res\n\n case 'Graph':\n res = (context.session.paneRegistry\n .byName('dataContents') as DataContentPaneLike)\n .statementsAsTables(obj.statements, context)\n res.setAttribute('class', 'data-content-pane__nested-formula')\n return res\n\n case 'Variable':\n return myDocument.createTextNode('?' + obj.uri)\n }\n throw new Error('Unhandled node type: ' + obj.termType)\n }\n\n if (initialRoots) {\n roots = initialRoots.concat(\n roots.filter(function (x: SubjectTerm) {\n for (let i = 0; i < initialRoots.length; i++) {\n if (x.sameTerm(initialRoots[i])) return false\n }\n return true\n })\n )\n }\n for (let i = 0; i < roots.length; i++) {\n const tr = myDocument.createElement('tr')\n tr.classList.add(\n i % 2 === 0 ? 'data-content-pane__row--even' : 'data-content-pane__row--odd',\n 'data-content-pane__row--root'\n )\n rep.appendChild(tr)\n const subjectTD = myDocument.createElement('td')\n subjectTD.classList.add('data-content-pane__subject-cell')\n tr.appendChild(subjectTD)\n const TDTree = myDocument.createElement('td')\n TDTree.classList.add('data-content-pane__details-cell')\n tr.appendChild(TDTree)\n const root = roots[i]\n if (root.termType === 'BlankNode') {\n subjectTD.appendChild(myDocument.createTextNode(UI.utils.label(root)))\n } else {\n subjectTD.appendChild(objectTree(root, 0))\n }\n TDTree.appendChild(propertyTree(root, 0))\n }\n for (const bNT in referencedBnodes) {\n const table = doneBnodes[bNT]\n if (table === true) continue\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('id', bNT.slice(2))\n anchor.setAttribute('class', 'bnodeDef')\n anchor.textContent = bNT.slice(3) + ')'\n table.insertBefore(anchor, table.firstChild)\n }\n return rep\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n element.dataset.theme = environment.theme ?? 'light'\n element.dataset.inputMode = environment.inputMode ?? 'pointer'\n }\n\n function mainRendering () {\n const kb = context.session.store\n const sts = kb.statementsMatching(undefined, undefined, undefined, subject)\n const initialRoots: SubjectTerm[] = []\n if (kb.holds(subject, undefined, undefined, subject)) {\n initialRoots.push(subject)\n }\n const ps = kb.any(subject, UI.ns.foaf('primaryTopic'), undefined, subject)\n if (ps && (ps.termType === 'NamedNode' || ps.termType === 'BlankNode')) {\n initialRoots.push(ps as SubjectTerm)\n }\n\n div.appendChild(\n context.session.paneRegistry\n .byName('dataContents')\n .statementsAsTables(sts, context, initialRoots)\n )\n }\n\n const div = myDocument.createElement('div')\n div.classList.add('dataContentPane', 'data-content-pane')\n applyEnvironmentAttributes(div)\n\n mainRendering()\n return div\n }\n}\n"],"mappings":"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"}
|
package/dist/defaultPane.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import './defaultPane.css';
|
|
1
|
+
import { DataBrowserContext } from '../node_modules/pane-registry';
|
|
2
|
+
import { BlankNode, Literal, NamedNode } from '../node_modules/rdflib';
|
|
4
3
|
type DefaultPaneSubject = NamedNode | BlankNode | Literal;
|
|
5
4
|
type DefaultPaneDefinition = {
|
|
6
5
|
icon: string;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.defaultPane .bottom-border{border:.2rem solid #0000;width:100%}.defaultPane .bottom-border-active{cursor:copy;border:.2rem solid;border-color:var(--color-bottom-border-highlight,#ffa600)}.defaultPane{--default-pane-predicate-column:16rem;--default-pane-object-indent:1.75rem}.defaultPane>tr{grid-template-columns:minmax(0, var(--default-pane-predicate-column)) minmax(0, 1fr);align-items:flex-start;display:grid}.defaultPane>tr>td.pred{box-sizing:border-box;grid-column:1;align-items:flex-start;min-width:0;display:flex;padding-left:0!important}.defaultPane>tr>td.pred>.labelTD{flex:auto;min-width:0;margin:0;padding-top:0;padding-bottom:0}.defaultPane>tr>td.pred>.iconTD{flex:none;width:auto;margin:0}.defaultPane>tr>td.obj{box-sizing:border-box;grid-column:2;align-self:start;min-width:0}.defaultPane>tr>td[colspan="2"]{grid-column:1/-1}.defaultPane[data-layout=mobile]>tr{grid-template-columns:minmax(0,1fr)}.defaultPane[data-layout=mobile]>tr>td.pred,.defaultPane[data-layout=mobile]>tr>td.obj{box-sizing:border-box;grid-column:1;width:100%;display:block}.defaultPane[data-layout=mobile]>tr>td.pred{padding-bottom:var(--spacing-small,.1rem)}.defaultPane[data-layout=mobile]>tr>td.obj{padding-left:var(--default-pane-object-indent)!important}@media (width<=700px){.defaultPane>tr{grid-template-columns:minmax(0,1fr)}.defaultPane>tr>td.pred,.defaultPane>tr>td.obj{box-sizing:border-box;grid-column:1;width:100%;display:block}.defaultPane>tr>td.pred{padding-bottom:var(--spacing-small,.1rem)}.defaultPane>tr>td.obj{padding-left:var(--default-pane-object-indent)!important}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();const e=require("./_virtual/_rolldown/runtime.cjs.js");;let t=require("solid-ui");t=e.__toESM(t);let n=require("rdflib");n=e.__toESM(n);var r=t.ns,i={icon:t.icons.originalIconBase+`about.png`,name:`default`,audience:[r.solid(`Developer`)],label:function(e){return`about `},render:function(e,r){let i=r.dom;function a(e){let t=r.environment??{};e.dataset.layout=t.layout??`desktop`}let o=function(e,t){return!(r.session.paneRegistry.byName(`internal`).predicates[e.uri]!==void 0||t&&e.uri===`http://www.w3.org/1999/02/22-rdf-syntax-ns#type`)},s=r.getOutliner(i),c=r.session.store;t.log.info(`@defaultPane.render, dom is now `+i.location),e=c.canon(e);let l=i.createElement(`div`);l.setAttribute(`class`,`defaultPane`),a(l);let u=e.termType===`Literal`?[]:c.statementsMatching(e);s.appendPropertyTRs(l,u,!1,o),u=c.statementsMatching(void 0,void 0,e),s.appendPropertyTRs(l,u,!0,o);let d=e.termType===`BlankNode`?c.anyStatementMatching(e):void 0;if(e.termType===`Literal`&&e.value.slice(0,7)===`http://`&&s.appendPropertyTRs(l,[n.st(c.sym(e.value),t.ns.link(`uri`),e)],!0,o),e.termType===`NamedNode`&&c.updater.editable(n.Util.uri.docpart(e.uri),c)||e.termType===`BlankNode`&&d&&d.why&&`uri`in d.why&&typeof d.why.uri==`string`&&c.updater.editable(d.why.uri)){let e=i.createElement(`tr`),n=i.createElement(`td`);n.setAttribute(`colspan`,`2`),n.setAttribute(`notSelectable`,`true`);let r=i.createElement(`img`);r.src=t.icons.originalIconBase+`tango/22-list-add-new.png`,r.addEventListener(`click`,function(e){s.UserInput.addNewPredicateObject(e),e.stopPropagation(),e.preventDefault()}),r.className=`bottom-border-active`,l.appendChild(e).appendChild(n).appendChild(r)}return l}};exports.defaultPane=i;
|
|
2
|
+
//# sourceMappingURL=defaultPane2.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultPane2.cjs.js","names":[],"sources":["../src/defaultPane.ts"],"sourcesContent":["/* Default Pane\n **\n ** This outline pane contains the properties which are\n ** normally displayed to the user. See also: internalPane\n ** This pane hides the ones considered too low-level for the normal user.\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type { BlankNode, Literal, NamedNode, Statement } from 'rdflib'\nimport './defaultPane.css'\n\nconst ns = UI.ns\ntype DefaultPaneSubject = NamedNode | BlankNode | Literal\n\ntype DefaultPaneDefinition = {\n icon: string\n name: string\n audience: NamedNode[]\n label: (subject: DefaultPaneSubject) => string\n render: (subject: DefaultPaneSubject, context: DataBrowserContext) => HTMLDivElement\n}\n\ntype DefaultPaneOutliner = {\n appendPropertyTRs: (\n parent: HTMLElement,\n statements: Statement[],\n inverse: boolean,\n filter: (pred: NamedNode, inverse: boolean) => boolean\n ) => void\n UserInput: {\n addNewPredicateObject: (event: Event) => void\n }\n}\n\nexport const defaultPane: DefaultPaneDefinition = {\n icon: UI.icons.originalIconBase + 'about.png',\n\n name: 'default',\n\n audience: [ns.solid('Developer')],\n\n label: function (_subject: DefaultPaneSubject): string {\n return 'about '\n },\n\n render: function (\n subject: DefaultPaneSubject,\n context: DataBrowserContext\n ): HTMLDivElement {\n const dom = context.dom\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n }\n\n const filter = function (pred: NamedNode, inverse: boolean): boolean {\n if (\n typeof context.session.paneRegistry.byName('internal').predicates[\n pred.uri\n ] !== 'undefined'\n ) {\n return false\n }\n if (\n inverse &&\n pred.uri === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'\n ) {\n return false\n }\n return true\n }\n\n const outliner = context.getOutliner(dom) as DefaultPaneOutliner\n const kb = context.session.store\n // var outline = outliner; // @@\n UI.log.info('@defaultPane.render, dom is now ' + dom.location)\n subject = kb.canon(subject) as DefaultPaneSubject\n const div = dom.createElement('div')\n div.setAttribute('class', 'defaultPane')\n applyEnvironmentAttributes(div)\n // appendRemoveIcon(div, subject, div)\n\n let plist = subject.termType === 'Literal' ? [] : kb.statementsMatching(subject)\n outliner.appendPropertyTRs(div, plist, false, filter)\n plist = kb.statementsMatching(undefined, undefined, subject)\n outliner.appendPropertyTRs(div, plist, true, filter)\n const subjectStatement = subject.termType === 'BlankNode'\n ? kb.anyStatementMatching(subject)\n : undefined\n if (\n subject.termType === 'Literal' &&\n subject.value.slice(0, 7) === 'http://'\n ) {\n outliner.appendPropertyTRs(\n div,\n [$rdf.st(kb.sym(subject.value), UI.ns.link('uri'), subject)],\n true,\n filter\n )\n }\n if (\n (subject.termType === 'NamedNode' &&\n kb.updater.editable($rdf.Util.uri.docpart(subject.uri), kb)) ||\n (subject.termType === 'BlankNode' &&\n subjectStatement &&\n subjectStatement.why &&\n 'uri' in subjectStatement.why &&\n typeof subjectStatement.why.uri === 'string' &&\n kb.updater.editable(subjectStatement.why.uri))\n // check the document containing something about of the bnode @@ what about as object?\n /* ! && HCIoptions[\"bottom insert highlights\"].enabled */\n ) {\n const holdingTr = dom.createElement('tr') // these are to minimize required changes\n const holdingTd = dom.createElement('td') // in userinput.js\n holdingTd.setAttribute('colspan', '2')\n holdingTd.setAttribute('notSelectable', 'true')\n const img = dom.createElement('img')\n img.src = UI.icons.originalIconBase + 'tango/22-list-add-new.png'\n img.addEventListener('click', function addNewTripleIconMouseDownListener (\n e\n ) {\n outliner.UserInput.addNewPredicateObject(e)\n e.stopPropagation()\n e.preventDefault()\n })\n img.className = 'bottom-border-active'\n // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false)\n div\n .appendChild(holdingTr)\n .appendChild(holdingTd)\n .appendChild(img)\n }\n return div\n }\n}\n\n// ends\n"],"mappings":"uKAaA,IAAM,EAAK,EAAG,GAuBD,EAAqC,CAChD,KAAM,EAAG,MAAM,iBAAmB,YAElC,KAAM,UAEN,SAAU,CAAC,EAAG,MAAM,WAAW,CAAC,EAEhC,MAAO,SAAU,EAAsC,CACrD,MAAO,QACT,EAEA,OAAQ,SACN,EACA,EACgB,CAChB,IAAM,EAAM,EAAQ,IAEpB,SAAS,EAA4B,EAA+B,CAClE,IAAM,EAAe,EAAQ,aAAe,CAAC,EAC7C,EAAQ,QAAQ,OAAS,EAAY,QAAU,SACjD,CAEA,IAAM,EAAS,SAAU,EAAiB,EAA2B,CAcnE,MANA,EANS,EAAQ,QAAQ,aAAa,OAAO,UAAU,CAAC,CAAC,WACrD,EAAK,OACD,QAKN,GACA,EAAK,MAAQ,kDAKjB,EAEM,EAAW,EAAQ,YAAY,CAAG,EAClC,EAAK,EAAQ,QAAQ,MAE3B,EAAG,IAAI,KAAK,mCAAqC,EAAI,QAAQ,EAC7D,EAAU,EAAG,MAAM,CAAO,EAC1B,IAAM,EAAM,EAAI,cAAc,KAAK,EACnC,EAAI,aAAa,QAAS,aAAa,EACvC,EAA2B,CAAG,EAG9B,IAAI,EAAQ,EAAQ,WAAa,UAAY,CAAC,EAAI,EAAG,mBAAmB,CAAO,EAC/E,EAAS,kBAAkB,EAAK,EAAO,GAAO,CAAM,EACpD,EAAQ,EAAG,mBAAmB,IAAA,GAAW,IAAA,GAAW,CAAO,EAC3D,EAAS,kBAAkB,EAAK,EAAO,GAAM,CAAM,EACnD,IAAM,EAAmB,EAAQ,WAAa,YAC1C,EAAG,qBAAqB,CAAO,EAC/B,IAAA,GAYJ,GAVE,EAAQ,WAAa,WACrB,EAAQ,MAAM,MAAM,EAAG,CAAC,IAAM,WAE9B,EAAS,kBACP,EACA,CAAC,EAAK,GAAG,EAAG,IAAI,EAAQ,KAAK,EAAG,EAAG,GAAG,KAAK,KAAK,EAAG,CAAO,CAAC,EAC3D,GACA,CACF,EAGC,EAAQ,WAAa,aACpB,EAAG,QAAQ,SAAS,EAAK,KAAK,IAAI,QAAQ,EAAQ,GAAG,EAAG,CAAE,GAC3D,EAAQ,WAAa,aACpB,GACA,EAAiB,KACjB,QAAS,EAAiB,KAC1B,OAAO,EAAiB,IAAI,KAAQ,UACpC,EAAG,QAAQ,SAAS,EAAiB,IAAI,GAAG,EAG9C,CACA,IAAM,EAAY,EAAI,cAAc,IAAI,EAClC,EAAY,EAAI,cAAc,IAAI,EACxC,EAAU,aAAa,UAAW,GAAG,EACrC,EAAU,aAAa,gBAAiB,MAAM,EAC9C,IAAM,EAAM,EAAI,cAAc,KAAK,EACnC,EAAI,IAAM,EAAG,MAAM,iBAAmB,4BACtC,EAAI,iBAAiB,QAAS,SAC5B,EACA,CACA,EAAS,UAAU,sBAAsB,CAAC,EAC1C,EAAE,gBAAgB,EAClB,EAAE,eAAe,CACnB,CAAC,EACD,EAAI,UAAY,uBAEhB,EACG,YAAY,CAAS,CAAC,CACtB,YAAY,CAAS,CAAC,CACtB,YAAY,CAAG,CACpB,CACA,OAAO,CACT,CACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.defaultPane .bottom-border{border:.2rem solid #0000;width:100%}.defaultPane .bottom-border-active{cursor:copy;border:.2rem solid;border-color:var(--color-bottom-border-highlight,#ffa600)}.defaultPane{--default-pane-predicate-column:16rem;--default-pane-object-indent:1.75rem}.defaultPane>tr{grid-template-columns:minmax(0, var(--default-pane-predicate-column)) minmax(0, 1fr);align-items:flex-start;display:grid}.defaultPane>tr>td.pred{box-sizing:border-box;grid-column:1;align-items:flex-start;min-width:0;display:flex;padding-left:0!important}.defaultPane>tr>td.pred>.labelTD{flex:auto;min-width:0;margin:0;padding-top:0;padding-bottom:0}.defaultPane>tr>td.pred>.iconTD{flex:none;width:auto;margin:0}.defaultPane>tr>td.obj{box-sizing:border-box;grid-column:2;align-self:start;min-width:0}.defaultPane>tr>td[colspan="2"]{grid-column:1/-1}.defaultPane[data-layout=mobile]>tr{grid-template-columns:minmax(0,1fr)}.defaultPane[data-layout=mobile]>tr>td.pred,.defaultPane[data-layout=mobile]>tr>td.obj{box-sizing:border-box;grid-column:1;width:100%;display:block}.defaultPane[data-layout=mobile]>tr>td.pred{padding-bottom:var(--spacing-small,.1rem)}.defaultPane[data-layout=mobile]>tr>td.obj{padding-left:var(--default-pane-object-indent)!important}@media (width<=700px){.defaultPane>tr{grid-template-columns:minmax(0,1fr)}.defaultPane>tr>td.pred,.defaultPane>tr>td.obj{box-sizing:border-box;grid-column:1;width:100%;display:block}.defaultPane>tr>td.pred{padding-bottom:var(--spacing-small,.1rem)}.defaultPane>tr>td.obj{padding-left:var(--default-pane-object-indent)!important}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
2
|
+
import * as e from "solid-ui";
|
|
3
|
+
import * as t from "rdflib";
|
|
4
|
+
//#region src/defaultPane.ts
|
|
5
|
+
var n = e.ns, r = {
|
|
6
|
+
icon: e.icons.originalIconBase + "about.png",
|
|
7
|
+
name: "default",
|
|
8
|
+
audience: [n.solid("Developer")],
|
|
9
|
+
label: function(e) {
|
|
10
|
+
return "about ";
|
|
11
|
+
},
|
|
12
|
+
render: function(n, r) {
|
|
13
|
+
let i = r.dom;
|
|
14
|
+
function a(e) {
|
|
15
|
+
let t = r.environment ?? {};
|
|
16
|
+
e.dataset.layout = t.layout ?? "desktop";
|
|
17
|
+
}
|
|
18
|
+
let o = function(e, t) {
|
|
19
|
+
return !(r.session.paneRegistry.byName("internal").predicates[e.uri] !== void 0 || t && e.uri === "http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
|
|
20
|
+
}, s = r.getOutliner(i), c = r.session.store;
|
|
21
|
+
e.log.info("@defaultPane.render, dom is now " + i.location), n = c.canon(n);
|
|
22
|
+
let l = i.createElement("div");
|
|
23
|
+
l.setAttribute("class", "defaultPane"), a(l);
|
|
24
|
+
let u = n.termType === "Literal" ? [] : c.statementsMatching(n);
|
|
25
|
+
s.appendPropertyTRs(l, u, !1, o), u = c.statementsMatching(void 0, void 0, n), s.appendPropertyTRs(l, u, !0, o);
|
|
26
|
+
let d = n.termType === "BlankNode" ? c.anyStatementMatching(n) : void 0;
|
|
27
|
+
if (n.termType === "Literal" && n.value.slice(0, 7) === "http://" && s.appendPropertyTRs(l, [t.st(c.sym(n.value), e.ns.link("uri"), n)], !0, o), n.termType === "NamedNode" && c.updater.editable(t.Util.uri.docpart(n.uri), c) || n.termType === "BlankNode" && d && d.why && "uri" in d.why && typeof d.why.uri == "string" && c.updater.editable(d.why.uri)) {
|
|
28
|
+
let t = i.createElement("tr"), n = i.createElement("td");
|
|
29
|
+
n.setAttribute("colspan", "2"), n.setAttribute("notSelectable", "true");
|
|
30
|
+
let r = i.createElement("img");
|
|
31
|
+
r.src = e.icons.originalIconBase + "tango/22-list-add-new.png", r.addEventListener("click", function(e) {
|
|
32
|
+
s.UserInput.addNewPredicateObject(e), e.stopPropagation(), e.preventDefault();
|
|
33
|
+
}), r.className = "bottom-border-active", l.appendChild(t).appendChild(n).appendChild(r);
|
|
34
|
+
}
|
|
35
|
+
return l;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { r as defaultPane };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=defaultPane2.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultPane2.esm.js","names":[],"sources":["../src/defaultPane.ts"],"sourcesContent":["/* Default Pane\n **\n ** This outline pane contains the properties which are\n ** normally displayed to the user. See also: internalPane\n ** This pane hides the ones considered too low-level for the normal user.\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type { BlankNode, Literal, NamedNode, Statement } from 'rdflib'\nimport './defaultPane.css'\n\nconst ns = UI.ns\ntype DefaultPaneSubject = NamedNode | BlankNode | Literal\n\ntype DefaultPaneDefinition = {\n icon: string\n name: string\n audience: NamedNode[]\n label: (subject: DefaultPaneSubject) => string\n render: (subject: DefaultPaneSubject, context: DataBrowserContext) => HTMLDivElement\n}\n\ntype DefaultPaneOutliner = {\n appendPropertyTRs: (\n parent: HTMLElement,\n statements: Statement[],\n inverse: boolean,\n filter: (pred: NamedNode, inverse: boolean) => boolean\n ) => void\n UserInput: {\n addNewPredicateObject: (event: Event) => void\n }\n}\n\nexport const defaultPane: DefaultPaneDefinition = {\n icon: UI.icons.originalIconBase + 'about.png',\n\n name: 'default',\n\n audience: [ns.solid('Developer')],\n\n label: function (_subject: DefaultPaneSubject): string {\n return 'about '\n },\n\n render: function (\n subject: DefaultPaneSubject,\n context: DataBrowserContext\n ): HTMLDivElement {\n const dom = context.dom\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n }\n\n const filter = function (pred: NamedNode, inverse: boolean): boolean {\n if (\n typeof context.session.paneRegistry.byName('internal').predicates[\n pred.uri\n ] !== 'undefined'\n ) {\n return false\n }\n if (\n inverse &&\n pred.uri === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'\n ) {\n return false\n }\n return true\n }\n\n const outliner = context.getOutliner(dom) as DefaultPaneOutliner\n const kb = context.session.store\n // var outline = outliner; // @@\n UI.log.info('@defaultPane.render, dom is now ' + dom.location)\n subject = kb.canon(subject) as DefaultPaneSubject\n const div = dom.createElement('div')\n div.setAttribute('class', 'defaultPane')\n applyEnvironmentAttributes(div)\n // appendRemoveIcon(div, subject, div)\n\n let plist = subject.termType === 'Literal' ? [] : kb.statementsMatching(subject)\n outliner.appendPropertyTRs(div, plist, false, filter)\n plist = kb.statementsMatching(undefined, undefined, subject)\n outliner.appendPropertyTRs(div, plist, true, filter)\n const subjectStatement = subject.termType === 'BlankNode'\n ? kb.anyStatementMatching(subject)\n : undefined\n if (\n subject.termType === 'Literal' &&\n subject.value.slice(0, 7) === 'http://'\n ) {\n outliner.appendPropertyTRs(\n div,\n [$rdf.st(kb.sym(subject.value), UI.ns.link('uri'), subject)],\n true,\n filter\n )\n }\n if (\n (subject.termType === 'NamedNode' &&\n kb.updater.editable($rdf.Util.uri.docpart(subject.uri), kb)) ||\n (subject.termType === 'BlankNode' &&\n subjectStatement &&\n subjectStatement.why &&\n 'uri' in subjectStatement.why &&\n typeof subjectStatement.why.uri === 'string' &&\n kb.updater.editable(subjectStatement.why.uri))\n // check the document containing something about of the bnode @@ what about as object?\n /* ! && HCIoptions[\"bottom insert highlights\"].enabled */\n ) {\n const holdingTr = dom.createElement('tr') // these are to minimize required changes\n const holdingTd = dom.createElement('td') // in userinput.js\n holdingTd.setAttribute('colspan', '2')\n holdingTd.setAttribute('notSelectable', 'true')\n const img = dom.createElement('img')\n img.src = UI.icons.originalIconBase + 'tango/22-list-add-new.png'\n img.addEventListener('click', function addNewTripleIconMouseDownListener (\n e\n ) {\n outliner.UserInput.addNewPredicateObject(e)\n e.stopPropagation()\n e.preventDefault()\n })\n img.className = 'bottom-border-active'\n // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false)\n div\n .appendChild(holdingTr)\n .appendChild(holdingTd)\n .appendChild(img)\n }\n return div\n }\n}\n\n// ends\n"],"mappings":";;;;AAaA,IAAM,IAAK,EAAG,IAuBD,IAAqC;CAChD,MAAM,EAAG,MAAM,mBAAmB;CAElC,MAAM;CAEN,UAAU,CAAC,EAAG,MAAM,WAAW,CAAC;CAEhC,OAAO,SAAU,GAAsC;EACrD,OAAO;CACT;CAEA,QAAQ,SACN,GACA,GACgB;EAChB,IAAM,IAAM,EAAQ;EAEpB,SAAS,EAA4B,GAA+B;GAClE,IAAM,IAAe,EAAQ,eAAe,CAAC;GAC7C,EAAQ,QAAQ,SAAS,EAAY,UAAU;EACjD;EAEA,IAAM,IAAS,SAAU,GAAiB,GAA2B;GAcnE,OANA,EANS,EAAQ,QAAQ,aAAa,OAAO,UAAU,CAAC,CAAC,WACrD,EAAK,SACD,UAKN,KACA,EAAK,QAAQ;EAKjB,GAEM,IAAW,EAAQ,YAAY,CAAG,GAClC,IAAK,EAAQ,QAAQ;EAG3B,AADA,EAAG,IAAI,KAAK,qCAAqC,EAAI,QAAQ,GAC7D,IAAU,EAAG,MAAM,CAAO;EAC1B,IAAM,IAAM,EAAI,cAAc,KAAK;EAEnC,AADA,EAAI,aAAa,SAAS,aAAa,GACvC,EAA2B,CAAG;EAG9B,IAAI,IAAQ,EAAQ,aAAa,YAAY,CAAC,IAAI,EAAG,mBAAmB,CAAO;EAG/E,AAFA,EAAS,kBAAkB,GAAK,GAAO,IAAO,CAAM,GACpD,IAAQ,EAAG,mBAAmB,KAAA,GAAW,KAAA,GAAW,CAAO,GAC3D,EAAS,kBAAkB,GAAK,GAAO,IAAM,CAAM;EACnD,IAAM,IAAmB,EAAQ,aAAa,cAC1C,EAAG,qBAAqB,CAAO,IAC/B,KAAA;EAYJ,IAVE,EAAQ,aAAa,aACrB,EAAQ,MAAM,MAAM,GAAG,CAAC,MAAM,aAE9B,EAAS,kBACP,GACA,CAAC,EAAK,GAAG,EAAG,IAAI,EAAQ,KAAK,GAAG,EAAG,GAAG,KAAK,KAAK,GAAG,CAAO,CAAC,GAC3D,IACA,CACF,GAGC,EAAQ,aAAa,eACpB,EAAG,QAAQ,SAAS,EAAK,KAAK,IAAI,QAAQ,EAAQ,GAAG,GAAG,CAAE,KAC3D,EAAQ,aAAa,eACpB,KACA,EAAiB,OACjB,SAAS,EAAiB,OAC1B,OAAO,EAAiB,IAAI,OAAQ,YACpC,EAAG,QAAQ,SAAS,EAAiB,IAAI,GAAG,GAG9C;GACA,IAAM,IAAY,EAAI,cAAc,IAAI,GAClC,IAAY,EAAI,cAAc,IAAI;GAExC,AADA,EAAU,aAAa,WAAW,GAAG,GACrC,EAAU,aAAa,iBAAiB,MAAM;GAC9C,IAAM,IAAM,EAAI,cAAc,KAAK;GAWnC,AAVA,EAAI,MAAM,EAAG,MAAM,mBAAmB,6BACtC,EAAI,iBAAiB,SAAS,SAC5B,GACA;IAGA,AAFA,EAAS,UAAU,sBAAsB,CAAC,GAC1C,EAAE,gBAAgB,GAClB,EAAE,eAAe;GACnB,CAAC,GACD,EAAI,YAAY,wBAEhB,EACG,YAAY,CAAS,CAAC,CACtB,YAAY,CAAS,CAAC,CACtB,YAAY,CAAG;EACpB;EACA,OAAO;CACT;AACF"}
|
package/dist/dev.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NamedNode } from '../node_modules/rdflib';
|
|
2
|
+
import { DataBrowserContext } from '../node_modules/pane-registry';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
icon: string;
|
|
5
|
+
name: string;
|
|
6
|
+
label: () => string;
|
|
7
|
+
render(subject: NamedNode, context: DataBrowserContext): HTMLDivElement;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
10
|
+
//# sourceMappingURL=dev.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,eAAe,CAAA;;;;;oBAMpD,SAAS,WAAW,kBAAkB;;AAJzD,wBAgB0B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./new.cjs.js");let n=require("solid-ui");n=e.__toESM(n);let r=require("rdflib");r=e.__toESM(r);let i=require("mime-types");i=e.__toESM(i);var a={icon:n.icons.iconBase+`dokieli-logo.png`,name:`Dokieli`,mintClass:n.ns.solid(`DokieliDocument`),label:function(e,t){return null},mintNew:function(e,n){let a=e.session.store,o=n.newInstance;if(!o){let e=n.newBase;e.endsWith(`/`)&&(e=e.slice(0,-1),n.newBase=e),o=a.sym(e)}let s=i.lookup(o.uri);(!s||!s.includes(`html`))&&(o=r.sym(o.uri+`.html`)),n.newInstance=o;let c=t.default,l=o.uri.split(`/`).slice(-1)[0];l=decodeURIComponent(l.split(`.`)[0]);let u=l.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`);return c=c.replace(`<title>`,`<title>`+u),c=c.replace(`</article>`,`<h1>`+u+`</h1></article>`),new Promise(function(e){a.fetcher.webOperation(`PUT`,o.uri,{data:c,contentType:`text/html`}).then(function(){console.log(`new Dokieli document created at `+n.newInstance),e(n)}).catch(function(e){console.log(`Error creating dokieli doc at `+n.newInstance+`: `+e)})})}};exports.default=a;
|
|
2
|
+
//# sourceMappingURL=dokieliPane.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dokieliPane.cjs.js","names":["UI","mime","$rdf","DOKIELI_TEMPLATE"],"sources":["../../src/dokieli/dokieliPane.js"],"sourcesContent":["/* Human-readable editable \"Dokieli\" Pane\n **\n ** This outline pane contains the document contents for a Dokieli document\n ** The dokeili system allows the user to edit a document including anotations\n ** review. It does not use turtle, but RDF/a\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport * as mime from 'mime-types'\n\n// const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok\n\nimport DOKIELI_TEMPLATE from './new.js' // Distributed with this library\n\nexport default {\n icon: UI.icons.iconBase + 'dokieli-logo.png', // @@ improve? more like doccument?\n\n name: 'Dokieli',\n\n mintClass: UI.ns.solid('DokieliDocument'), // @@ A better class?\n\n // Don't provide viewing - let humanReadablePane handle that with appropriate icon\n label: function (subject, context) {\n return null // Viewing now handled by humanReadablePane\n },\n\n // Create a new folder in a Solid system, with a dokieli editable document in it\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n let newInstance = newPaneOptions.newInstance\n if (!newInstance) {\n let uri = newPaneOptions.newBase\n if (uri.endsWith('/')) {\n uri = uri.slice(0, -1)\n newPaneOptions.newBase = uri\n }\n newInstance = kb.sym(uri)\n }\n\n const contentType = mime.lookup(newInstance.uri)\n if (!contentType || !contentType.includes('html')) {\n newInstance = $rdf.sym(newInstance.uri + '.html')\n }\n newPaneOptions.newInstance = newInstance // Save for creation system\n\n // console.log('New dokieli will make: ' + newInstance)\n\n let htmlContents = DOKIELI_TEMPLATE\n let filename = newInstance.uri.split('/').slice(-1)[0]\n filename = decodeURIComponent(filename.split('.')[0])\n const encodedTitle = filename\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n htmlContents = htmlContents.replace('<title>', '<title>' + encodedTitle)\n htmlContents = htmlContents.replace(\n '</article>',\n '<h1>' + encodedTitle + '</h1></article>'\n )\n // console.log('@@ New HTML for Dok:' + htmlContents)\n return new Promise(function (resolve) {\n kb.fetcher\n .webOperation('PUT', newInstance.uri, {\n data: htmlContents,\n contentType: 'text/html'\n })\n .then(function () {\n console.log(\n 'new Dokieli document created at ' + newPaneOptions.newInstance\n )\n resolve(newPaneOptions)\n })\n .catch(function (err) {\n console.log(\n 'Error creating dokieli doc at ' +\n newPaneOptions.newInstance +\n ': ' +\n err\n )\n })\n })\n }\n\n // render: removed - now handled by humanReadablePane with appropriate dokieli icon\n}\n// ends\n"],"mappings":"6MAeA,IAAA,EAAe,CACb,KAAMA,EAAG,MAAM,SAAW,mBAE1B,KAAM,UAEN,UAAWA,EAAG,GAAG,MAAM,iBAAiB,EAGxC,MAAO,SAAU,EAAS,EAAS,CACjC,OAAO,IACT,EAGA,QAAS,SAAU,EAAS,EAAgB,CAC1C,IAAM,EAAK,EAAQ,QAAQ,MACvB,EAAc,EAAe,YACjC,GAAI,CAAC,EAAa,CAChB,IAAI,EAAM,EAAe,QACrB,EAAI,SAAS,GAAG,IAClB,EAAM,EAAI,MAAM,EAAG,EAAE,EACrB,EAAe,QAAU,GAE3B,EAAc,EAAG,IAAI,CAAG,CAC1B,CAEA,IAAM,EAAcC,EAAK,OAAO,EAAY,GAAG,GAC3C,CAAC,GAAe,CAAC,EAAY,SAAS,MAAM,KAC9C,EAAcC,EAAK,IAAI,EAAY,IAAM,OAAO,GAElD,EAAe,YAAc,EAI7B,IAAI,EAAeC,EAAAA,QACf,EAAW,EAAY,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GACpD,EAAW,mBAAmB,EAAS,MAAM,GAAG,CAAC,CAAC,EAAE,EACpD,IAAM,EAAe,EAClB,QAAQ,KAAM,OAAO,CAAC,CACtB,QAAQ,KAAM,MAAM,CAAC,CACrB,QAAQ,KAAM,MAAM,EAOvB,MANA,GAAe,EAAa,QAAQ,UAAW,UAAY,CAAY,EACvE,EAAe,EAAa,QAC1B,aACA,OAAS,EAAe,iBAC1B,EAEO,IAAI,QAAQ,SAAU,EAAS,CACpC,EAAG,QACA,aAAa,MAAO,EAAY,IAAK,CACpC,KAAM,EACN,YAAa,WACf,CAAC,CAAC,CACD,KAAK,UAAY,CAChB,QAAQ,IACN,mCAAqC,EAAe,WACtD,EACA,EAAQ,CAAc,CACxB,CAAC,CAAC,CACD,MAAM,SAAU,EAAK,CACpB,QAAQ,IACN,iCACE,EAAe,YACf,KACA,CACJ,CACF,CAAC,CACL,CAAC,CACH,CAGF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import e from "./new.esm.js";
|
|
2
|
+
import * as t from "solid-ui";
|
|
3
|
+
import * as n from "rdflib";
|
|
4
|
+
import * as r from "mime-types";
|
|
5
|
+
//#region src/dokieli/dokieliPane.js
|
|
6
|
+
var i = {
|
|
7
|
+
icon: t.icons.iconBase + "dokieli-logo.png",
|
|
8
|
+
name: "Dokieli",
|
|
9
|
+
mintClass: t.ns.solid("DokieliDocument"),
|
|
10
|
+
label: function(e, t) {
|
|
11
|
+
return null;
|
|
12
|
+
},
|
|
13
|
+
mintNew: function(t, i) {
|
|
14
|
+
let a = t.session.store, o = i.newInstance;
|
|
15
|
+
if (!o) {
|
|
16
|
+
let e = i.newBase;
|
|
17
|
+
e.endsWith("/") && (e = e.slice(0, -1), i.newBase = e), o = a.sym(e);
|
|
18
|
+
}
|
|
19
|
+
let s = r.lookup(o.uri);
|
|
20
|
+
(!s || !s.includes("html")) && (o = n.sym(o.uri + ".html")), i.newInstance = o;
|
|
21
|
+
let c = e, l = o.uri.split("/").slice(-1)[0];
|
|
22
|
+
l = decodeURIComponent(l.split(".")[0]);
|
|
23
|
+
let u = l.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
24
|
+
return c = c.replace("<title>", "<title>" + u), c = c.replace("</article>", "<h1>" + u + "</h1></article>"), new Promise(function(e) {
|
|
25
|
+
a.fetcher.webOperation("PUT", o.uri, {
|
|
26
|
+
data: c,
|
|
27
|
+
contentType: "text/html"
|
|
28
|
+
}).then(function() {
|
|
29
|
+
console.log("new Dokieli document created at " + i.newInstance), e(i);
|
|
30
|
+
}).catch(function(e) {
|
|
31
|
+
console.log("Error creating dokieli doc at " + i.newInstance + ": " + e);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
export { i as default };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=dokieliPane.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dokieliPane.esm.js","names":[],"sources":["../../src/dokieli/dokieliPane.js"],"sourcesContent":["/* Human-readable editable \"Dokieli\" Pane\n **\n ** This outline pane contains the document contents for a Dokieli document\n ** The dokeili system allows the user to edit a document including anotations\n ** review. It does not use turtle, but RDF/a\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport * as mime from 'mime-types'\n\n// const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok\n\nimport DOKIELI_TEMPLATE from './new.js' // Distributed with this library\n\nexport default {\n icon: UI.icons.iconBase + 'dokieli-logo.png', // @@ improve? more like doccument?\n\n name: 'Dokieli',\n\n mintClass: UI.ns.solid('DokieliDocument'), // @@ A better class?\n\n // Don't provide viewing - let humanReadablePane handle that with appropriate icon\n label: function (subject, context) {\n return null // Viewing now handled by humanReadablePane\n },\n\n // Create a new folder in a Solid system, with a dokieli editable document in it\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n let newInstance = newPaneOptions.newInstance\n if (!newInstance) {\n let uri = newPaneOptions.newBase\n if (uri.endsWith('/')) {\n uri = uri.slice(0, -1)\n newPaneOptions.newBase = uri\n }\n newInstance = kb.sym(uri)\n }\n\n const contentType = mime.lookup(newInstance.uri)\n if (!contentType || !contentType.includes('html')) {\n newInstance = $rdf.sym(newInstance.uri + '.html')\n }\n newPaneOptions.newInstance = newInstance // Save for creation system\n\n // console.log('New dokieli will make: ' + newInstance)\n\n let htmlContents = DOKIELI_TEMPLATE\n let filename = newInstance.uri.split('/').slice(-1)[0]\n filename = decodeURIComponent(filename.split('.')[0])\n const encodedTitle = filename\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n htmlContents = htmlContents.replace('<title>', '<title>' + encodedTitle)\n htmlContents = htmlContents.replace(\n '</article>',\n '<h1>' + encodedTitle + '</h1></article>'\n )\n // console.log('@@ New HTML for Dok:' + htmlContents)\n return new Promise(function (resolve) {\n kb.fetcher\n .webOperation('PUT', newInstance.uri, {\n data: htmlContents,\n contentType: 'text/html'\n })\n .then(function () {\n console.log(\n 'new Dokieli document created at ' + newPaneOptions.newInstance\n )\n resolve(newPaneOptions)\n })\n .catch(function (err) {\n console.log(\n 'Error creating dokieli doc at ' +\n newPaneOptions.newInstance +\n ': ' +\n err\n )\n })\n })\n }\n\n // render: removed - now handled by humanReadablePane with appropriate dokieli icon\n}\n// ends\n"],"mappings":";;;;;AAeA,IAAA,IAAe;CACb,MAAM,EAAG,MAAM,WAAW;CAE1B,MAAM;CAEN,WAAW,EAAG,GAAG,MAAM,iBAAiB;CAGxC,OAAO,SAAU,GAAS,GAAS;EACjC,OAAO;CACT;CAGA,SAAS,SAAU,GAAS,GAAgB;EAC1C,IAAM,IAAK,EAAQ,QAAQ,OACvB,IAAc,EAAe;EACjC,IAAI,CAAC,GAAa;GAChB,IAAI,IAAM,EAAe;GAKzB,AAJI,EAAI,SAAS,GAAG,MAClB,IAAM,EAAI,MAAM,GAAG,EAAE,GACrB,EAAe,UAAU,IAE3B,IAAc,EAAG,IAAI,CAAG;EAC1B;EAEA,IAAM,IAAc,EAAK,OAAO,EAAY,GAAG;EAI/C,CAHI,CAAC,KAAe,CAAC,EAAY,SAAS,MAAM,OAC9C,IAAc,EAAK,IAAI,EAAY,MAAM,OAAO,IAElD,EAAe,cAAc;EAI7B,IAAI,IAAe,GACf,IAAW,EAAY,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;EACpD,IAAW,mBAAmB,EAAS,MAAM,GAAG,CAAC,CAAC,EAAE;EACpD,IAAM,IAAe,EAClB,QAAQ,MAAM,OAAO,CAAC,CACtB,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,MAAM;EAOvB,OANA,IAAe,EAAa,QAAQ,WAAW,YAAY,CAAY,GACvE,IAAe,EAAa,QAC1B,cACA,SAAS,IAAe,iBAC1B,GAEO,IAAI,QAAQ,SAAU,GAAS;GACpC,EAAG,QACA,aAAa,OAAO,EAAY,KAAK;IACpC,MAAM;IACN,aAAa;GACf,CAAC,CAAC,CACD,KAAK,WAAY;IAIhB,AAHA,QAAQ,IACN,qCAAqC,EAAe,WACtD,GACA,EAAQ,CAAc;GACxB,CAAC,CAAC,CACD,MAAM,SAAU,GAAK;IACpB,QAAQ,IACN,mCACE,EAAe,cACf,OACA,CACJ;GACF,CAAC;EACL,CAAC;CACH;AAGF"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
const DOKIELI_TEMPLATE = `<!DOCTYPE html>
|
|
1
|
+
var e=`<!DOCTYPE html>
|
|
8
2
|
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
|
9
3
|
<head>
|
|
10
4
|
<meta charset="utf-8" />
|
|
@@ -12,7 +6,7 @@ const DOKIELI_TEMPLATE = `<!DOCTYPE html>
|
|
|
12
6
|
<meta content="width=device-width, initial-scale=1" name="viewport" />
|
|
13
7
|
<link href="https://dokie.li/media/css/basic.css" media="all" rel="stylesheet" title="Basic" />
|
|
14
8
|
<link href="https://dokie.li/media/css/dokieli.css" media="all" rel="stylesheet" />
|
|
15
|
-
<script src="https://dokie.li/scripts/dokieli.js"
|
|
9
|
+
<script src="https://dokie.li/scripts/dokieli.js"><\/script>
|
|
16
10
|
</head>
|
|
17
11
|
|
|
18
12
|
<body about="" prefix="rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# rdfa: http://www.w3.org/ns/rdfa# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# earl: http://www.w3.org/ns/earl# spec: http://www.w3.org/ns/spec# odrl: http://www.w3.org/ns/odrl/2/ dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#" typeof="schema:CreativeWork prov:Entity">
|
|
@@ -23,5 +17,5 @@ const DOKIELI_TEMPLATE = `<!DOCTYPE html>
|
|
|
23
17
|
</main>
|
|
24
18
|
</body>
|
|
25
19
|
</html>
|
|
26
|
-
`;
|
|
27
|
-
|
|
20
|
+
`;exports.default=e;
|
|
21
|
+
//# sourceMappingURL=new.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new.cjs.js","names":[],"sources":["../../src/dokieli/new.js"],"sourcesContent":["const DOKIELI_TEMPLATE = `<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# rdfa: http://www.w3.org/ns/rdfa# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# earl: http://www.w3.org/ns/earl# spec: http://www.w3.org/ns/spec# odrl: http://www.w3.org/ns/odrl/2/ dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>\n`\n\nexport default DOKIELI_TEMPLATE\n"],"mappings":"AAAA,IAAM,EAAmB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/dokieli/new.js
|
|
2
|
+
var e = "<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"><\/script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# rdfa: http://www.w3.org/ns/rdfa# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# earl: http://www.w3.org/ns/earl# spec: http://www.w3.org/ns/spec# odrl: http://www.w3.org/ns/odrl/2/ dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>\n";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=new.esm.js.map
|