solid-panes 4.5.1 → 5.0.0-0
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 -40
- 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/arrow-left.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/globe.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/globe.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/globe.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/globe.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/help-circle.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/help-circle.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/help-circle.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/help-circle.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/pencil.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/pencil.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/settings-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/settings-2.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/share-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/share-2.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/trash-2.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/trash-2.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +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/_virtual/~icons/lucide/users.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/users.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/users.esm.js +11 -0
- package/dist/_virtual/~icons/lucide/users.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 +99 -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/file-explorer-header/FileExplorerHeader.cjs.js +14 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +19 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +292 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +22 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +15 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +266 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +19 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +19 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +321 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +13 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +36 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +468 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js +2 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js +7 -0
- package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +1 -0
- package/dist/components/file-explorer-header/helper.cjs.js +2 -0
- package/dist/components/file-explorer-header/helper.cjs.js.map +1 -0
- package/dist/components/file-explorer-header/helper.d.ts +15 -0
- package/dist/components/file-explorer-header/helper.d.ts.map +1 -0
- package/dist/components/file-explorer-header/helper.esm.js +64 -0
- package/dist/components/file-explorer-header/helper.esm.js.map +1 -0
- package/dist/components/file-explorer-header/types.d.ts +2 -0
- package/dist/components/file-explorer-header/types.d.ts.map +1 -0
- package/dist/components/header/Header.cjs.js +19 -0
- package/dist/components/header/Header.cjs.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/Header.esm.js +228 -0
- package/dist/components/header/Header.esm.js.map +1 -0
- package/dist/components/header/Header.styles.cjs.js +2 -0
- package/dist/components/header/Header.styles.cjs.js.map +1 -0
- package/dist/components/header/Header.styles.esm.js +7 -0
- package/dist/components/header/Header.styles.esm.js.map +1 -0
- package/dist/components/header/index.cjs.js +1 -0
- package/dist/components/header/index.d.ts +4 -0
- package/dist/components/header/index.d.ts.map +1 -0
- package/dist/components/header/index.esm.js +1 -0
- package/dist/components/navbar/Navbar.cjs.js +15 -0
- package/dist/components/navbar/Navbar.cjs.js.map +1 -0
- package/dist/components/navbar/Navbar.d.ts +14 -0
- package/dist/components/navbar/Navbar.d.ts.map +1 -0
- package/dist/components/navbar/Navbar.esm.js +232 -0
- package/dist/components/navbar/Navbar.esm.js.map +1 -0
- package/dist/components/navbar/Navbar.styles.cjs.js +2 -0
- package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -0
- package/dist/components/navbar/Navbar.styles.esm.js +7 -0
- package/dist/components/navbar/Navbar.styles.esm.js.map +1 -0
- package/dist/components/navbar/index.cjs.js +1 -0
- package/dist/components/navbar/index.d.ts +4 -0
- package/dist/components/navbar/index.d.ts.map +1 -0
- package/dist/components/navbar/index.esm.js +1 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +16 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts +8 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +215 -0
- package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +18 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +16 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +260 -0
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.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.cjs.js +2 -0
- package/dist/dashboard/dashboardPane.cjs.js.map +1 -0
- package/dist/dashboard/dashboardPane.d.ts +1 -1
- package/dist/dashboard/dashboardPane.esm.js +7 -0
- package/dist/dashboard/dashboardPane.esm.js.map +1 -0
- package/dist/dashboard/homepage.cjs.js +2 -0
- package/dist/dashboard/homepage.cjs.js.map +1 -0
- package/dist/dashboard/homepage.d.ts +1 -1
- package/dist/dashboard/homepage.esm.js +26 -0
- package/dist/dashboard/homepage.esm.js.map +1 -0
- 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 +122 -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/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/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 +31 -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/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 +72 -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 -15
- package/dist/mainPage/index.d.ts.map +1 -1
- package/dist/mainPage/index.esm.js +36 -0
- package/dist/mainPage/index.esm.js.map +1 -0
- package/dist/mainPage/navbar.cjs.js +2 -0
- package/dist/mainPage/navbar.cjs.js.map +1 -0
- package/dist/mainPage/navbar.d.ts +3 -0
- package/dist/mainPage/navbar.d.ts.map +1 -0
- package/dist/mainPage/navbar.esm.js +66 -0
- package/dist/mainPage/navbar.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 +2 -0
- package/dist/outline/manager2.cjs.js.map +1 -0
- package/dist/outline/manager2.esm.js +711 -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 +26 -0
- package/dist/outline/queryByExample.esm.js.map +1 -0
- package/dist/outline/sourcePaneIcon.d.ts +2 -0
- package/dist/outline/sourcePaneIcon.d.ts.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 +173 -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/registerPanes.cjs.js +2 -0
- package/dist/registerPanes.cjs.js.map +1 -0
- package/dist/registerPanes.esm.js +46 -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 +385 -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 +12 -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 +222 -0
- package/dist/social/socialSections.esm.js.map +1 -0
- package/dist/social/spinner.cjs.js +1 -0
- package/dist/social/spinner.esm.js +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/utils/paneUtils.cjs.js +2 -0
- package/dist/utils/paneUtils.cjs.js.map +1 -0
- package/dist/utils/paneUtils.d.ts +19 -0
- package/dist/utils/paneUtils.d.ts.map +1 -0
- package/dist/utils/paneUtils.esm.js +52 -0
- package/dist/utils/paneUtils.esm.js.map +1 -0
- package/dist/utils/podUtils.cjs.js +2 -0
- package/dist/utils/podUtils.cjs.js.map +1 -0
- package/dist/utils/podUtils.d.ts +4 -0
- package/dist/utils/podUtils.d.ts.map +1 -0
- package/dist/utils/podUtils.esm.js +46 -0
- package/dist/utils/podUtils.esm.js.map +1 -0
- package/dist/utils/webIdUtils.cjs.js +2 -0
- package/dist/utils/webIdUtils.cjs.js.map +1 -0
- package/dist/utils/webIdUtils.d.ts +6 -0
- package/dist/utils/webIdUtils.d.ts.map +1 -0
- package/dist/utils/webIdUtils.esm.js +48 -0
- package/dist/utils/webIdUtils.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 +51 -66
- 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/menu.svg +0 -8
- 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.d.ts +0 -15
- package/dist/mainPage/footer.d.ts.map +0 -1
- 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.d.ts +0 -7
- package/dist/mainPage/menu.d.ts.map +0 -1
- package/dist/mainPage/menu.js +0 -436
- 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.d.ts +0 -5
- package/dist/profileUtils/ownerProfile.d.ts.map +0 -1
- 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 -85630
- package/dist/solid-panes.js.map +0 -1
- package/dist/solid-panes.min.js +0 -3933
- 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,104 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.internalPaneContent{padding:var(--spacing-xs,.5em);background-color:#ddf;border-radius:1rem}.internalPaneControls{width:100%;margin:var(--spacing-sm,1em)}.internalPaneDeleteButton{height:var(--icon-base,2em)}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
2
|
+
import { icons as e, ns as t, widgets as n } from "solid-ui";
|
|
3
|
+
import { literal as r, st as i, sym as a } from "rdflib";
|
|
4
|
+
//#region src/internal/internalPane.ts
|
|
5
|
+
var o = {
|
|
6
|
+
icon: e.originalIconBase + "tango/22-emblem-system.png",
|
|
7
|
+
name: "internal",
|
|
8
|
+
label: function() {
|
|
9
|
+
return "under the hood";
|
|
10
|
+
},
|
|
11
|
+
render: function(o, c) {
|
|
12
|
+
let l = c.dom, u = c.session.store, d = u.canon(o), f = u.findTypeURIs(d);
|
|
13
|
+
function p(e) {
|
|
14
|
+
if (f["http://www.w3.org/2007/ont/link#ProtocolEvent"]) return !0;
|
|
15
|
+
let t = c.session.paneRegistry.byName("internal");
|
|
16
|
+
return t && t.predicates && t.predicates[e.uri] !== void 0;
|
|
17
|
+
}
|
|
18
|
+
let m = l.createElement("div");
|
|
19
|
+
m.classList.add("internalPane", "internalPaneContent");
|
|
20
|
+
function h(e, n) {
|
|
21
|
+
let r = e.fetcher;
|
|
22
|
+
if (!r) {
|
|
23
|
+
console.error("No fetcher available");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
return new Promise(function(i, a) {
|
|
27
|
+
r.load(n).then(function() {
|
|
28
|
+
let o = e.each(n, t.ldp("contains")).map((n) => e.holds(n, t.rdf("type"), t.ldp("BasicContainer")) ? h(e, n) : (console.log("deleteRecursive leaf file: " + n), r.webOperation("DELETE", n.uri)));
|
|
29
|
+
Promise.all(o).then(() => {
|
|
30
|
+
console.log("deleteRecursive empty folder: " + n), r.webOperation("DELETE", n.uri).then(() => {
|
|
31
|
+
console.log("Deleted Ok: " + n), i(void 0);
|
|
32
|
+
}).catch((e) => {
|
|
33
|
+
let t = "Unable to delete " + n + ": " + e;
|
|
34
|
+
console.log(t), a(Error(t));
|
|
35
|
+
}), i(void 0);
|
|
36
|
+
}, (e) => {
|
|
37
|
+
alert(e), a(e);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (o.uri && !o.uri.includes("#")) {
|
|
43
|
+
let r = m.appendChild(l.createElement("table"));
|
|
44
|
+
r.classList.add("internalPaneControls");
|
|
45
|
+
let i = r.appendChild(l.createElement("tr")), a = i.appendChild(l.createElement("td")), c = o.uri && o.uri.endsWith("/") || u.holds(o, t.rdf("type"), t.ldp("Container")), d = c ? "folder" : "file";
|
|
46
|
+
if (!s(o)) {
|
|
47
|
+
console.log(o);
|
|
48
|
+
let e = n.deleteButtonWithCheck(l, a, d, function() {
|
|
49
|
+
if (confirm(`Are you sure you want to delete ${o}? This cannot be undone.`)) {
|
|
50
|
+
if (!u.fetcher) throw Error("Store has no fetcher");
|
|
51
|
+
(c ? h(u, o) || Promise.resolve() : u.fetcher.webOperation("DELETE", o.uri) || Promise.resolve()).then(() => {
|
|
52
|
+
let e = "Deleted: " + o;
|
|
53
|
+
console.log(e);
|
|
54
|
+
}).catch((e) => {
|
|
55
|
+
let t = "Unable to delete " + o + ": " + e;
|
|
56
|
+
console.log(t), alert(t);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
e.removeAttribute("class"), e.classList.add("internalPaneDeleteButton"), a.appendChild(e);
|
|
61
|
+
}
|
|
62
|
+
let f = i.appendChild(l.createElement("td")), p = n.button(l, e.iconBase + "noun_479395.svg", "refresh");
|
|
63
|
+
f.appendChild(p), p.addEventListener("click", () => {
|
|
64
|
+
if (!u.fetcher) throw Error("Store has no fetcher");
|
|
65
|
+
u.fetcher.refresh(o, function(e, t) {
|
|
66
|
+
let n;
|
|
67
|
+
n = e ? "Refreshed OK: " + o : "Error refreshing: " + o + ": " + t, console.log(n), alert(n);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
let g = u.statementsMatching(o), _ = "";
|
|
72
|
+
if (!u.fetcher) throw Error("Store has no fetcher");
|
|
73
|
+
if (o.uri && (g.push(i(o, a("http://www.w3.org/2007/ont/link#uri"), o.uri, u.fetcher.appNode)), o.uri.indexOf("#") >= 0 ? (_ = o.uri.split("#")[0], g.push(i(o, a("http://www.w3.org/2007/ont/link#documentURI"), o.uri.split("#")[0], u.fetcher.appNode)), g.push(i(o, a("http://www.w3.org/2007/ont/link#document"), a(o.uri.split("#")[0]), u.fetcher.appNode))) : _ = o.uri), _) {
|
|
74
|
+
if (!u.updater) throw Error("Store has no updater");
|
|
75
|
+
let e = u.updater.editable(_);
|
|
76
|
+
e && g.push(i(o, a("http://www.w3.org/ns/rww#editable"), r(e.toString()), u.fetcher.appNode));
|
|
77
|
+
}
|
|
78
|
+
let v = c.getOutliner(l);
|
|
79
|
+
return v.appendPropertyTRs(m, g, !1, p), g = u.statementsMatching(void 0, void 0, o), v.appendPropertyTRs(m, g, !0, p), m;
|
|
80
|
+
},
|
|
81
|
+
predicates: {
|
|
82
|
+
"http://www.w3.org/2007/ont/link#request": 1,
|
|
83
|
+
"http://www.w3.org/2007/ont/link#requestedBy": 1,
|
|
84
|
+
"http://www.w3.org/2007/ont/link#source": 1,
|
|
85
|
+
"http://www.w3.org/2007/ont/link#session": 2,
|
|
86
|
+
"http://www.w3.org/2007/ont/link#uri": 1,
|
|
87
|
+
"http://www.w3.org/2007/ont/link#documentURI": 1,
|
|
88
|
+
"http://www.w3.org/2007/ont/link#document": 1,
|
|
89
|
+
"http://www.w3.org/2007/ont/link#all": 1,
|
|
90
|
+
"http://www.w3.org/2007/ont/link#Document": 1,
|
|
91
|
+
"http://www.w3.org/ns/rww#editable": 1,
|
|
92
|
+
"http://www.w3.org/2000/01/rdf-schema#seeAlso": 1,
|
|
93
|
+
"http://www.w3.org/2002/07/owl#": 1
|
|
94
|
+
},
|
|
95
|
+
classes: { "http://www.w3.org/2007/ont/link#ProtocolEvent": 1 }
|
|
96
|
+
};
|
|
97
|
+
function s(e) {
|
|
98
|
+
let t = e.site().uri;
|
|
99
|
+
return e.uri === t || e.uri === t + "profile/" || e.uri === t + "profile/card" || e.uri === t + "settings/" || e.uri === t + "settings/prefs.ttl" || e.uri === t + "settings/privateTypeIndex.ttl" || e.uri === t + "settings/publicTypeIndex.ttl" || e.uri === t + "settings/serverSide.ttl";
|
|
100
|
+
}
|
|
101
|
+
//#endregion
|
|
102
|
+
export { o as default };
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=internalPane2.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalPane2.esm.js","names":[],"sources":["../../src/internal/internalPane.ts"],"sourcesContent":["/* Internal Pane\n **\n ** This outline pane contains the properties which are\n ** internal to the user's interaction with the web, and are not normally displayed\n */\n/* global alert confirm */\n\nimport { icons, ns, widgets } from 'solid-ui'\nimport { BlankNode, IndexedFormula, literal, NamedNode, st, sym, Variable, Store } from 'rdflib'\nimport { PaneDefinition } from 'pane-registry'\nimport './internalPane.css'\n\nconst pane: PaneDefinition = {\n icon: icons.originalIconBase + 'tango/22-emblem-system.png',\n\n name: 'internal',\n\n label: function () {\n return 'under the hood' // There is often a URI even of no statements\n },\n\n render: function (subject, context) {\n const dom = context.dom\n // @ts-ignore\n const store = context.session.store as Store\n const canonizedSubject = store.canon(subject) as BlankNode | NamedNode | Variable\n const types = store.findTypeURIs(canonizedSubject)\n\n function filter (pred: NamedNode) {\n if (types['http://www.w3.org/2007/ont/link#ProtocolEvent']) return true // display everything for them\n const view = context.session.paneRegistry.byName('internal')\n return (\n view &&\n view.predicates &&\n !!(typeof view.predicates[pred.uri] !== 'undefined')\n )\n }\n\n const div = dom.createElement('div')\n div.classList.add('internalPane', 'internalPaneContent')\n\n function deleteRecursive (kb: IndexedFormula, folder: NamedNode) {\n const fetcher = (kb as any).fetcher\n if (!fetcher) {\n console.error('No fetcher available')\n return\n }\n return new Promise(function (resolve, reject) {\n fetcher.load(folder).then(function () {\n const promises = kb.each(folder, ns.ldp('contains')).map(file => {\n if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {\n return deleteRecursive(kb, file as NamedNode)\n } else {\n console.log('deleteRecursive leaf file: ' + file)\n return fetcher.webOperation('DELETE', (file as NamedNode).uri)\n }\n })\n Promise.all(promises).then(\n () => {\n console.log('deleteRecursive empty folder: ' + folder)\n fetcher\n .webOperation('DELETE', folder.uri)\n .then(() => {\n console.log('Deleted Ok: ' + folder)\n resolve(undefined)\n })\n .catch((err: string) => {\n const str = 'Unable to delete ' + folder + ': ' + err\n console.log(str)\n reject(new Error(str))\n })\n resolve(undefined)\n },\n err => {\n alert(err)\n reject(err)\n }\n )\n })\n })\n }\n\n const isDocument = subject.uri && !subject.uri.includes('#')\n if (isDocument) {\n const controls = div.appendChild(dom.createElement('table'))\n controls.classList.add('internalPaneControls')\n const controlRow = controls.appendChild(dom.createElement('tr'))\n\n const deleteCell = controlRow.appendChild(dom.createElement('td'))\n const isFolder =\n (subject.uri && subject.uri.endsWith('/')) ||\n store.holds(subject, ns.rdf('type'), ns.ldp('Container'))\n const noun = isFolder ? 'folder' : 'file'\n if (!isProtectedUri(subject)) {\n console.log(subject)\n const deleteButton = widgets.deleteButtonWithCheck(\n dom,\n deleteCell,\n noun,\n function () {\n if (\n !confirm(\n `Are you sure you want to delete ${subject}? This cannot be undone.`\n )\n ) {\n return\n }\n // @@ TODO Remove casing of store.fetcher\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n const promise = isFolder\n ? (deleteRecursive(store, subject) || Promise.resolve())\n : store.fetcher.webOperation('DELETE', subject.uri) || Promise.resolve()\n promise\n .then(() => {\n const str = 'Deleted: ' + subject\n console.log(str)\n })\n .catch((err: any) => {\n const str = 'Unable to delete ' + subject + ': ' + err\n console.log(str)\n alert(str)\n })\n }\n )\n\n deleteButton.removeAttribute('class') // Remove hover hide\n deleteButton.classList.add('internalPaneDeleteButton')\n deleteCell.appendChild(deleteButton)\n }\n\n const refreshCell = controlRow.appendChild(dom.createElement('td'))\n const refreshButton = widgets.button(\n dom,\n icons.iconBase + 'noun_479395.svg',\n 'refresh'\n )\n refreshCell.appendChild(refreshButton)\n refreshButton.addEventListener('click', () => {\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n store.fetcher.refresh(subject, function (\n ok,\n errm\n ) {\n let str\n if (ok) {\n str = 'Refreshed OK: ' + subject\n } else {\n str = 'Error refreshing: ' + subject + ': ' + errm\n }\n console.log(str)\n alert(str)\n })\n })\n }\n\n let plist = store.statementsMatching(subject)\n let docURI = ''\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n\n if (subject.uri) {\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/2007/ont/link#uri'),\n subject.uri as any, // @@ TODO Remove casting\n store.fetcher.appNode\n )\n )\n if (subject.uri.indexOf('#') >= 0) {\n docURI = subject.uri.split('#')[0]\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/2007/ont/link#documentURI'),\n subject.uri.split('#')[0] as any, // @@ TODO Remove casting\n store.fetcher.appNode\n )\n )\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/2007/ont/link#document'),\n sym(subject.uri.split('#')[0]),\n store.fetcher.appNode\n )\n )\n } else {\n docURI = subject.uri\n }\n }\n if (docURI) {\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n\n const ed = store.updater.editable(docURI)\n if (ed) {\n plist.push(\n st(\n subject,\n sym('http://www.w3.org/ns/rww#editable'),\n literal(ed.toString()),\n store.fetcher.appNode\n )\n )\n }\n }\n // @@ TODO get a proper type\n const outliner: any = context.getOutliner(dom)\n outliner.appendPropertyTRs(div, plist, false, filter)\n plist = store.statementsMatching(undefined, undefined, subject)\n outliner.appendPropertyTRs(div, plist, true, filter)\n return div\n },\n\n predicates: {\n // Predicates used for inner workings. Under the hood\n 'http://www.w3.org/2007/ont/link#request': 1,\n 'http://www.w3.org/2007/ont/link#requestedBy': 1,\n 'http://www.w3.org/2007/ont/link#source': 1,\n 'http://www.w3.org/2007/ont/link#session': 2, // 2= test neg but display\n 'http://www.w3.org/2007/ont/link#uri': 1,\n 'http://www.w3.org/2007/ont/link#documentURI': 1,\n 'http://www.w3.org/2007/ont/link#document': 1,\n 'http://www.w3.org/2007/ont/link#all': 1, // From userinput.js\n 'http://www.w3.org/2007/ont/link#Document': 1,\n 'http://www.w3.org/ns/rww#editable': 1,\n 'http://www.w3.org/2000/01/rdf-schema#seeAlso': 1,\n 'http://www.w3.org/2002/07/owl#': 1\n },\n\n classes: {\n // Things which are inherently already undercover\n 'http://www.w3.org/2007/ont/link#ProtocolEvent': 1\n }\n}\n\nfunction isProtectedUri (subject: NamedNode): boolean {\n // TODO: Could make the code below smarter by removing some of the redundancy by creating a recursive function, but did not bother now\n const siteUri = subject.site().uri\n return (\n subject.uri === siteUri ||\n subject.uri === siteUri + 'profile/' ||\n subject.uri === siteUri + 'profile/card' ||\n subject.uri === siteUri + 'settings/' ||\n subject.uri === siteUri + 'settings/prefs.ttl' ||\n subject.uri === siteUri + 'settings/privateTypeIndex.ttl' ||\n subject.uri === siteUri + 'settings/publicTypeIndex.ttl' ||\n subject.uri === siteUri + 'settings/serverSide.ttl'\n )\n}\n\nexport default pane\n\n// ends\n"],"mappings":";;;;AAYA,IAAM,IAAuB;CAC3B,MAAM,EAAM,mBAAmB;CAE/B,MAAM;CAEN,OAAO,WAAY;EACjB,OAAO;CACT;CAEA,QAAQ,SAAU,GAAS,GAAS;EAClC,IAAM,IAAM,EAAQ,KAEd,IAAQ,EAAQ,QAAQ,OACxB,IAAmB,EAAM,MAAM,CAAO,GACtC,IAAQ,EAAM,aAAa,CAAgB;EAEjD,SAAS,EAAQ,GAAiB;GAChC,IAAI,EAAM,kDAAkD,OAAO;GACnE,IAAM,IAAO,EAAQ,QAAQ,aAAa,OAAO,UAAU;GAC3D,OACE,KACA,EAAK,cACK,EAAK,WAAW,EAAK,SAAS;EAE5C;EAEA,IAAM,IAAM,EAAI,cAAc,KAAK;EACnC,EAAI,UAAU,IAAI,gBAAgB,qBAAqB;EAEvD,SAAS,EAAiB,GAAoB,GAAmB;GAC/D,IAAM,IAAW,EAAW;GAC5B,IAAI,CAAC,GAAS;IACZ,QAAQ,MAAM,sBAAsB;IACpC;GACF;GACA,OAAO,IAAI,QAAQ,SAAU,GAAS,GAAQ;IAC5C,EAAQ,KAAK,CAAM,CAAC,CAAC,KAAK,WAAY;KACpC,IAAM,IAAW,EAAG,KAAK,GAAQ,EAAG,IAAI,UAAU,CAAC,CAAC,CAAC,KAAI,MACnD,EAAG,MAAM,GAAM,EAAG,IAAI,MAAM,GAAG,EAAG,IAAI,gBAAgB,CAAC,IAClD,EAAgB,GAAI,CAAiB,KAE5C,QAAQ,IAAI,gCAAgC,CAAI,GACzC,EAAQ,aAAa,UAAW,EAAmB,GAAG,EAEhE;KACD,QAAQ,IAAI,CAAQ,CAAC,CAAC,WACd;MAaJ,AAZA,QAAQ,IAAI,mCAAmC,CAAM,GACrD,EACG,aAAa,UAAU,EAAO,GAAG,CAAC,CAClC,WAAW;OAEV,AADA,QAAQ,IAAI,iBAAiB,CAAM,GACnC,EAAQ,KAAA,CAAS;MACnB,CAAC,CAAC,CACD,OAAO,MAAgB;OACtB,IAAM,IAAM,sBAAsB,IAAS,OAAO;OAElD,AADA,QAAQ,IAAI,CAAG,GACf,EAAW,MAAM,CAAG,CAAC;MACvB,CAAC,GACH,EAAQ,KAAA,CAAS;KACnB,IACA,MAAO;MAEL,AADA,MAAM,CAAG,GACT,EAAO,CAAG;KACZ,CACF;IACF,CAAC;GACH,CAAC;EACH;EAGA,IADmB,EAAQ,OAAO,CAAC,EAAQ,IAAI,SAAS,GAAG,GAC3C;GACd,IAAM,IAAW,EAAI,YAAY,EAAI,cAAc,OAAO,CAAC;GAC3D,EAAS,UAAU,IAAI,sBAAsB;GAC7C,IAAM,IAAa,EAAS,YAAY,EAAI,cAAc,IAAI,CAAC,GAEzD,IAAa,EAAW,YAAY,EAAI,cAAc,IAAI,CAAC,GAC3D,IACH,EAAQ,OAAO,EAAQ,IAAI,SAAS,GAAG,KACxC,EAAM,MAAM,GAAS,EAAG,IAAI,MAAM,GAAG,EAAG,IAAI,WAAW,CAAC,GACpD,IAAO,IAAW,WAAW;GACnC,IAAI,CAAC,EAAe,CAAO,GAAG;IAC5B,QAAQ,IAAI,CAAO;IACnB,IAAM,IAAe,EAAQ,sBAC3B,GACA,GACA,GACA,WAAY;KAEP,YACC,mCAAmC,EAAQ,yBAC7C,GAKF;UAAI,CAAC,EAAM,SACT,MAAU,MAAM,sBAAsB;MAKxC,CAHgB,IACX,EAAgB,GAAO,CAAO,KAAK,QAAQ,QAAQ,IACpD,EAAM,QAAQ,aAAa,UAAU,EAAQ,GAAG,KAAK,QAAQ,QAAQ,EAAA,CAEtE,WAAW;OACV,IAAM,IAAM,cAAc;OAC1B,QAAQ,IAAI,CAAG;MACjB,CAAC,CAAC,CACD,OAAO,MAAa;OACnB,IAAM,IAAM,sBAAsB,IAAU,OAAO;OAEnD,AADA,QAAQ,IAAI,CAAG,GACf,MAAM,CAAG;MACX,CAAC;KAdqC;IAe1C,CACF;IAIA,AAFA,EAAa,gBAAgB,OAAO,GACpC,EAAa,UAAU,IAAI,0BAA0B,GACrD,EAAW,YAAY,CAAY;GACrC;GAEA,IAAM,IAAc,EAAW,YAAY,EAAI,cAAc,IAAI,CAAC,GAC5D,IAAgB,EAAQ,OAC5B,GACA,EAAM,WAAW,mBACjB,SACF;GAEA,AADA,EAAY,YAAY,CAAa,GACrC,EAAc,iBAAiB,eAAe;IAC5C,IAAI,CAAC,EAAM,SACT,MAAU,MAAM,sBAAsB;IAExC,EAAM,QAAQ,QAAQ,GAAS,SAC7B,GACA,GACA;KACA,IAAI;KAOJ,AANA,AAGE,IAHE,IACI,mBAAmB,IAEnB,uBAAuB,IAAU,OAAO,GAEhD,QAAQ,IAAI,CAAG,GACf,MAAM,CAAG;IACX,CAAC;GACH,CAAC;EACH;EAEA,IAAI,IAAQ,EAAM,mBAAmB,CAAO,GACxC,IAAS;EACb,IAAI,CAAC,EAAM,SACT,MAAU,MAAM,sBAAsB;EAkCxC,IA/BI,EAAQ,QACV,EAAM,KACJ,EACE,GACA,EAAI,qCAAqC,GACzC,EAAQ,KACR,EAAM,QAAQ,OAChB,CACF,GACI,EAAQ,IAAI,QAAQ,GAAG,KAAK,KAC9B,IAAS,EAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,IAChC,EAAM,KACJ,EACE,GACA,EAAI,6CAA6C,GACjD,EAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,IACvB,EAAM,QAAQ,OAChB,CACF,GACA,EAAM,KACJ,EACE,GACA,EAAI,0CAA0C,GAC9C,EAAI,EAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,GAC7B,EAAM,QAAQ,OAChB,CACF,KAEA,IAAS,EAAQ,MAGjB,GAAQ;GACV,IAAI,CAAC,EAAM,SACT,MAAU,MAAM,sBAAsB;GAGxC,IAAM,IAAK,EAAM,QAAQ,SAAS,CAAM;GACxC,AAAI,KACF,EAAM,KACJ,EACE,GACA,EAAI,mCAAmC,GACvC,EAAQ,EAAG,SAAS,CAAC,GACrB,EAAM,QAAQ,OAChB,CACF;EAEJ;EAEA,IAAM,IAAgB,EAAQ,YAAY,CAAG;EAI7C,OAHA,EAAS,kBAAkB,GAAK,GAAO,IAAO,CAAM,GACpD,IAAQ,EAAM,mBAAmB,KAAA,GAAW,KAAA,GAAW,CAAO,GAC9D,EAAS,kBAAkB,GAAK,GAAO,IAAM,CAAM,GAC5C;CACT;CAEA,YAAY;EAEV,2CAA2C;EAC3C,+CAA+C;EAC/C,0CAA0C;EAC1C,2CAA2C;EAC3C,uCAAuC;EACvC,+CAA+C;EAC/C,4CAA4C;EAC5C,uCAAuC;EACvC,4CAA4C;EAC5C,qCAAqC;EACrC,gDAAgD;EAChD,kCAAkC;CACpC;CAEA,SAAS,EAEP,iDAAiD,EACnD;AACF;AAEA,SAAS,EAAgB,GAA6B;CAEpD,IAAM,IAAU,EAAQ,KAAK,CAAC,CAAC;CAC/B,OACE,EAAQ,QAAQ,KAChB,EAAQ,QAAQ,IAAU,cAC1B,EAAQ,QAAQ,IAAU,kBAC1B,EAAQ,QAAQ,IAAU,eAC1B,EAAQ,QAAQ,IAAU,wBAC1B,EAAQ,QAAQ,IAAU,mCAC1B,EAAQ,QAAQ,IAAU,kCAC1B,EAAQ,QAAQ,IAAU;AAE9B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require("../_virtual/~icons/lucide/user.cjs.js"),require("../_virtual/~icons/lucide/users.cjs.js"),require("../_virtual/~icons/lucide/folder-open.cjs.js"),require("../_virtual/~icons/lucide/layout-dashboard.cjs.js"),require("../_virtual/~icons/lucide/settings-2.cjs.js"),require("../components/header/index.cjs.js");const e=require("../utils/paneUtils.cjs.js");let t=require("solid-logic"),n=require("rdflib"),r=require("lit-html");async function i(i){let a=document.querySelector(`solid-panes-header`);if(a)return a;let o=t.authn.currentUser(),s=document.getElementById(`MainContent`),c=document.getElementById(`OutlineView`),l=document.createElement(`div`);function u(){let e=document.querySelector(`solid-panes-navbar`);e&&e.classList.add(`navbar--hidden`)}let d=(o?await e.getFolderPanesFromURI(o):[]).map(e=>({label:r.html`<icon-lucide-folder-open slot="left-icon"></icon-lucide-folder-open> ${e.label()}`,async onSelected(){u(),o&&i.GotoSubject((0,n.sym)(window.location.href),!0,e,!0,void 0,c,!1)}})),f=[{label:r.html`<icon-lucide-user slot="left-icon"></icon-lucide-user> Profile`,async onSelected(){if(u(),o){let t=await e.getProfilePaneFromURI(o);i.GotoSubject((0,n.sym)(window.location.href),!0,t,!0,void 0,c,!1)}}},{label:r.html`<icon-lucide-users slot="left-icon"></icon-lucide-users> Friends`,async onSelected(){if(u(),o){let t=await e.getSocialPaneFromURI(o);i.GotoSubject((0,n.sym)(window.location.href),!0,t,!0,void 0,c,!1)}}},...d,{label:r.html`<icon-lucide-layout-dashboard slot="left-icon"></icon-lucide-layout-dashboard> Dashboard`,onSelected(){if(u(),o){let e=i.context.session.paneRegistry.byName(`home`);e&&i.GotoSubject((0,n.sym)(window.location.href),!0,e,!0,void 0,c,!1)}}},{label:r.html`<icon-lucide-settings-2 slot="left-icon"></icon-lucide-settings-2> Preferences`,onSelected(){if(u(),o){let e=i.context.session.paneRegistry.byName(`basicPreferences`);e&&i.GotoSubject((0,n.sym)(window.location.href),!0,e,!0,void 0,c,!1)}}}];(0,r.render)(r.html`<solid-panes-header .menuItems=${f}></solid-panes-header>`,l);let p=l.firstElementChild;if(!p)throw Error(`Failed to create header`);return s&&s.parentNode?s.parentNode.insertBefore(p,s):document.body.prepend(p),p}exports.createHeader=i;
|
|
2
|
+
//# sourceMappingURL=header.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.cjs.js","names":[],"sources":["../../src/mainPage/header.ts"],"sourcesContent":["import { authn } from 'solid-logic'\nimport { html, render } from 'lit-html'\nimport type { AccountMenuItem } from 'solid-ui/components/account'\nimport type { OutlineManager } from '../outline/manager'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '~icons/lucide/layout-dashboard'\nimport '~icons/lucide/settings-2'\nimport '../components/header'\nimport { getProfilePaneFromURI, getSocialPaneFromURI, getFolderPanesFromURI } from '../utils/paneUtils'\nimport { sym } from 'rdflib'\n\nexport async function createHeader (outliner: OutlineManager) {\n const existingHeader = document.querySelector('solid-panes-header')\n\n if (existingHeader) {\n return existingHeader\n }\n\n const me = authn.currentUser()\n\n const main = document.getElementById('MainContent')\n const outlineView = document.getElementById('OutlineView')\n const tmpContainer = document.createElement('div')\n\n function hideNavbar () {\n const navbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n if (navbar) {\n navbar.classList.add('navbar--hidden')\n }\n }\n\n const storagePanes = me ? await getFolderPanesFromURI(me) : []\n const storageMenuItems: AccountMenuItem[] = storagePanes.map(pane => ({\n label: html`<icon-lucide-folder-open slot=\"left-icon\"></icon-lucide-folder-open> ${pane.label()}`,\n async onSelected () {\n hideNavbar()\n if (me) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }))\n const menuItems: AccountMenuItem[] = [\n {\n label: html`<icon-lucide-user slot=\"left-icon\"></icon-lucide-user> Profile`,\n async onSelected () {\n hideNavbar()\n if (me) {\n const profilePane = await getProfilePaneFromURI(me)\n outliner.GotoSubject(sym(window.location.href), true, profilePane, true, undefined, outlineView, false)\n }\n }\n },\n {\n label: html`<icon-lucide-users slot=\"left-icon\"></icon-lucide-users> Friends`,\n async onSelected () {\n hideNavbar()\n if (me) {\n const socialPane = await getSocialPaneFromURI(me)\n outliner.GotoSubject(sym(window.location.href), true, socialPane, true, undefined, outlineView, false)\n }\n }\n },\n ...storageMenuItems,\n {\n label: html`<icon-lucide-layout-dashboard slot=\"left-icon\"></icon-lucide-layout-dashboard> Dashboard`,\n onSelected () {\n hideNavbar()\n if (me) {\n const pane = outliner.context.session.paneRegistry.byName('home')\n if (pane) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }\n },\n {\n label: html`<icon-lucide-settings-2 slot=\"left-icon\"></icon-lucide-settings-2> Preferences`,\n onSelected () {\n hideNavbar()\n if (me) {\n const pane = outliner.context.session.paneRegistry.byName('basicPreferences')\n if (pane) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }\n },\n ]\n\n render(\n html`<solid-panes-header .menuItems=${menuItems}></solid-panes-header>`,\n tmpContainer\n )\n\n const header = tmpContainer.firstElementChild\n\n if (!header) {\n throw new Error('Failed to create header')\n }\n\n // ensure it is in DOM (before MainContent for consistency)\n if (main && main.parentNode) {\n main.parentNode.insertBefore(header, main)\n } else {\n document.body.prepend(header)\n }\n\n return header\n}\n"],"mappings":"gbAcA,eAAsB,EAAc,EAA0B,CAC5D,IAAM,EAAiB,SAAS,cAAc,oBAAoB,EAElE,GAAI,EACF,OAAO,EAGT,IAAM,EAAK,EAAA,MAAM,YAAY,EAEvB,EAAO,SAAS,eAAe,aAAa,EAC5C,EAAc,SAAS,eAAe,aAAa,EACnD,EAAe,SAAS,cAAc,KAAK,EAEjD,SAAS,GAAc,CACrB,IAAM,EAAS,SAAS,cAA2B,oBAAoB,EACnE,GACF,EAAO,UAAU,IAAI,gBAAgB,CAEzC,CAGA,IAAM,GADe,EAAK,MAAM,EAAA,sBAAsB,CAAE,EAAI,CAAC,EAAA,CACJ,IAAI,IAAS,CACpE,MAAO,EAAA,IAAI,wEAAwE,EAAK,MAAM,IAC9F,MAAM,YAAc,CAClB,EAAW,EACP,GACF,EAAS,aAAA,EAAY,EAAA,IAAA,CAAI,OAAO,SAAS,IAAI,EAAG,GAAM,EAAM,GAAM,IAAA,GAAW,EAAa,EAAK,CAEnG,CACF,EAAE,EACI,EAA+B,CACnC,CACE,MAAO,EAAA,IAAI,iEACX,MAAM,YAAc,CAElB,GADA,EAAW,EACP,EAAI,CACN,IAAM,EAAc,MAAM,EAAA,sBAAsB,CAAE,EAClD,EAAS,aAAA,EAAY,EAAA,IAAA,CAAI,OAAO,SAAS,IAAI,EAAG,GAAM,EAAa,GAAM,IAAA,GAAW,EAAa,EAAK,CACxG,CACF,CACF,EACA,CACE,MAAO,EAAA,IAAI,mEACX,MAAM,YAAc,CAElB,GADA,EAAW,EACP,EAAI,CACN,IAAM,EAAa,MAAM,EAAA,qBAAqB,CAAE,EAChD,EAAS,aAAA,EAAY,EAAA,IAAA,CAAI,OAAO,SAAS,IAAI,EAAG,GAAM,EAAY,GAAM,IAAA,GAAW,EAAa,EAAK,CACvG,CACF,CACF,EACA,GAAG,EACH,CACE,MAAO,EAAA,IAAI,2FACX,YAAc,CAEZ,GADA,EAAW,EACP,EAAI,CACN,IAAM,EAAO,EAAS,QAAQ,QAAQ,aAAa,OAAO,MAAM,EAC5D,GACF,EAAS,aAAA,EAAY,EAAA,IAAA,CAAI,OAAO,SAAS,IAAI,EAAG,GAAM,EAAM,GAAM,IAAA,GAAW,EAAa,EAAK,CAEnG,CACF,CACF,EACA,CACE,MAAO,EAAA,IAAI,iFACX,YAAc,CAEZ,GADA,EAAW,EACP,EAAI,CACN,IAAM,EAAO,EAAS,QAAQ,QAAQ,aAAa,OAAO,kBAAkB,EACxE,GACF,EAAS,aAAA,EAAY,EAAA,IAAA,CAAI,OAAO,SAAS,IAAI,EAAG,GAAM,EAAM,GAAM,IAAA,GAAW,EAAa,EAAK,CAEnG,CACF,CACF,CACF,GAEA,EAAA,EAAA,OAAA,CACE,EAAA,IAAI,kCAAkC,EAAU,wBAChD,CACF,EAEA,IAAM,EAAS,EAAa,kBAE5B,GAAI,CAAC,EACH,MAAU,MAAM,yBAAyB,EAU3C,OANI,GAAQ,EAAK,WACf,EAAK,WAAW,aAAa,EAAQ,CAAI,EAEzC,SAAS,KAAK,QAAQ,CAAM,EAGvB,CACT"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import 'solid-ui/components/header';
|
|
2
|
-
import { Header } from 'solid-ui/components/header';
|
|
3
1
|
import { OutlineManager } from '../outline/manager';
|
|
4
|
-
|
|
5
|
-
export declare const HELP_MENU_LIST: {
|
|
6
|
-
label: string;
|
|
7
|
-
url: string;
|
|
8
|
-
target: string;
|
|
9
|
-
}[];
|
|
10
|
-
type ManagedHeader = Header & {
|
|
11
|
-
__solidPanesListenersAttached?: boolean;
|
|
12
|
-
__solidPanesOutliner?: OutlineManager;
|
|
13
|
-
};
|
|
14
|
-
export declare function createHeader(store: LiveStore, outliner: OutlineManager): Promise<ManagedHeader>;
|
|
15
|
-
export declare function refreshHeader(outliner: OutlineManager, headerElement?: Header): Promise<Header | null>;
|
|
16
|
-
export {};
|
|
2
|
+
export declare function createHeader(outliner: OutlineManager): Promise<Element>;
|
|
17
3
|
//# sourceMappingURL=header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/mainPage/header.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/mainPage/header.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,2BAA2B,CAAA;AAClC,OAAO,gCAAgC,CAAA;AACvC,OAAO,0BAA0B,CAAA;AACjC,OAAO,sBAAsB,CAAA;AAI7B,wBAAsB,YAAY,CAAE,QAAQ,EAAE,cAAc,oBAiG3D"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import "../_virtual/~icons/lucide/user.esm.js";
|
|
2
|
+
import "../_virtual/~icons/lucide/users.esm.js";
|
|
3
|
+
import "../_virtual/~icons/lucide/folder-open.esm.js";
|
|
4
|
+
import "../_virtual/~icons/lucide/layout-dashboard.esm.js";
|
|
5
|
+
import "../_virtual/~icons/lucide/settings-2.esm.js";
|
|
6
|
+
import "../components/header/index.esm.js";
|
|
7
|
+
import { getFolderPanesFromURI as e, getProfilePaneFromURI as t, getSocialPaneFromURI as n } from "../utils/paneUtils.esm.js";
|
|
8
|
+
import { authn as r } from "solid-logic";
|
|
9
|
+
import { sym as i } from "rdflib";
|
|
10
|
+
import { html as a, render as o } from "lit-html";
|
|
11
|
+
//#region src/mainPage/header.ts
|
|
12
|
+
async function s(s) {
|
|
13
|
+
let c = document.querySelector("solid-panes-header");
|
|
14
|
+
if (c) return c;
|
|
15
|
+
let l = r.currentUser(), u = document.getElementById("MainContent"), d = document.getElementById("OutlineView"), f = document.createElement("div");
|
|
16
|
+
function p() {
|
|
17
|
+
let e = document.querySelector("solid-panes-navbar");
|
|
18
|
+
e && e.classList.add("navbar--hidden");
|
|
19
|
+
}
|
|
20
|
+
let m = (l ? await e(l) : []).map((e) => ({
|
|
21
|
+
label: a`<icon-lucide-folder-open slot="left-icon"></icon-lucide-folder-open> ${e.label()}`,
|
|
22
|
+
async onSelected() {
|
|
23
|
+
p(), l && s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
|
|
24
|
+
}
|
|
25
|
+
})), h = [
|
|
26
|
+
{
|
|
27
|
+
label: a`<icon-lucide-user slot="left-icon"></icon-lucide-user> Profile`,
|
|
28
|
+
async onSelected() {
|
|
29
|
+
if (p(), l) {
|
|
30
|
+
let e = await t(l);
|
|
31
|
+
s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: a`<icon-lucide-users slot="left-icon"></icon-lucide-users> Friends`,
|
|
37
|
+
async onSelected() {
|
|
38
|
+
if (p(), l) {
|
|
39
|
+
let e = await n(l);
|
|
40
|
+
s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
...m,
|
|
45
|
+
{
|
|
46
|
+
label: a`<icon-lucide-layout-dashboard slot="left-icon"></icon-lucide-layout-dashboard> Dashboard`,
|
|
47
|
+
onSelected() {
|
|
48
|
+
if (p(), l) {
|
|
49
|
+
let e = s.context.session.paneRegistry.byName("home");
|
|
50
|
+
e && s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
label: a`<icon-lucide-settings-2 slot="left-icon"></icon-lucide-settings-2> Preferences`,
|
|
56
|
+
onSelected() {
|
|
57
|
+
if (p(), l) {
|
|
58
|
+
let e = s.context.session.paneRegistry.byName("basicPreferences");
|
|
59
|
+
e && s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
o(a`<solid-panes-header .menuItems=${h}></solid-panes-header>`, f);
|
|
65
|
+
let g = f.firstElementChild;
|
|
66
|
+
if (!g) throw Error("Failed to create header");
|
|
67
|
+
return u && u.parentNode ? u.parentNode.insertBefore(g, u) : document.body.prepend(g), g;
|
|
68
|
+
}
|
|
69
|
+
//#endregion
|
|
70
|
+
export { s as createHeader };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=header.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.esm.js","names":[],"sources":["../../src/mainPage/header.ts"],"sourcesContent":["import { authn } from 'solid-logic'\nimport { html, render } from 'lit-html'\nimport type { AccountMenuItem } from 'solid-ui/components/account'\nimport type { OutlineManager } from '../outline/manager'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '~icons/lucide/layout-dashboard'\nimport '~icons/lucide/settings-2'\nimport '../components/header'\nimport { getProfilePaneFromURI, getSocialPaneFromURI, getFolderPanesFromURI } from '../utils/paneUtils'\nimport { sym } from 'rdflib'\n\nexport async function createHeader (outliner: OutlineManager) {\n const existingHeader = document.querySelector('solid-panes-header')\n\n if (existingHeader) {\n return existingHeader\n }\n\n const me = authn.currentUser()\n\n const main = document.getElementById('MainContent')\n const outlineView = document.getElementById('OutlineView')\n const tmpContainer = document.createElement('div')\n\n function hideNavbar () {\n const navbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n if (navbar) {\n navbar.classList.add('navbar--hidden')\n }\n }\n\n const storagePanes = me ? await getFolderPanesFromURI(me) : []\n const storageMenuItems: AccountMenuItem[] = storagePanes.map(pane => ({\n label: html`<icon-lucide-folder-open slot=\"left-icon\"></icon-lucide-folder-open> ${pane.label()}`,\n async onSelected () {\n hideNavbar()\n if (me) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }))\n const menuItems: AccountMenuItem[] = [\n {\n label: html`<icon-lucide-user slot=\"left-icon\"></icon-lucide-user> Profile`,\n async onSelected () {\n hideNavbar()\n if (me) {\n const profilePane = await getProfilePaneFromURI(me)\n outliner.GotoSubject(sym(window.location.href), true, profilePane, true, undefined, outlineView, false)\n }\n }\n },\n {\n label: html`<icon-lucide-users slot=\"left-icon\"></icon-lucide-users> Friends`,\n async onSelected () {\n hideNavbar()\n if (me) {\n const socialPane = await getSocialPaneFromURI(me)\n outliner.GotoSubject(sym(window.location.href), true, socialPane, true, undefined, outlineView, false)\n }\n }\n },\n ...storageMenuItems,\n {\n label: html`<icon-lucide-layout-dashboard slot=\"left-icon\"></icon-lucide-layout-dashboard> Dashboard`,\n onSelected () {\n hideNavbar()\n if (me) {\n const pane = outliner.context.session.paneRegistry.byName('home')\n if (pane) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }\n },\n {\n label: html`<icon-lucide-settings-2 slot=\"left-icon\"></icon-lucide-settings-2> Preferences`,\n onSelected () {\n hideNavbar()\n if (me) {\n const pane = outliner.context.session.paneRegistry.byName('basicPreferences')\n if (pane) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }\n },\n ]\n\n render(\n html`<solid-panes-header .menuItems=${menuItems}></solid-panes-header>`,\n tmpContainer\n )\n\n const header = tmpContainer.firstElementChild\n\n if (!header) {\n throw new Error('Failed to create header')\n }\n\n // ensure it is in DOM (before MainContent for consistency)\n if (main && main.parentNode) {\n main.parentNode.insertBefore(header, main)\n } else {\n document.body.prepend(header)\n }\n\n return header\n}\n"],"mappings":";;;;;;;;;;;AAcA,eAAsB,EAAc,GAA0B;CAC5D,IAAM,IAAiB,SAAS,cAAc,oBAAoB;CAElE,IAAI,GACF,OAAO;CAGT,IAAM,IAAK,EAAM,YAAY,GAEvB,IAAO,SAAS,eAAe,aAAa,GAC5C,IAAc,SAAS,eAAe,aAAa,GACnD,IAAe,SAAS,cAAc,KAAK;CAEjD,SAAS,IAAc;EACrB,IAAM,IAAS,SAAS,cAA2B,oBAAoB;EACvE,AAAI,KACF,EAAO,UAAU,IAAI,gBAAgB;CAEzC;CAGA,IAAM,KADe,IAAK,MAAM,EAAsB,CAAE,IAAI,CAAC,EAAA,CACJ,KAAI,OAAS;EACpE,OAAO,CAAI,wEAAwE,EAAK,MAAM;EAC9F,MAAM,aAAc;GAElB,AADA,EAAW,GACP,KACF,EAAS,YAAY,EAAI,OAAO,SAAS,IAAI,GAAG,IAAM,GAAM,IAAM,KAAA,GAAW,GAAa,EAAK;EAEnG;CACF,EAAE,GACI,IAA+B;EACnC;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAElB,IADA,EAAW,GACP,GAAI;KACN,IAAM,IAAc,MAAM,EAAsB,CAAE;KAClD,EAAS,YAAY,EAAI,OAAO,SAAS,IAAI,GAAG,IAAM,GAAa,IAAM,KAAA,GAAW,GAAa,EAAK;IACxG;GACF;EACF;EACA;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAElB,IADA,EAAW,GACP,GAAI;KACN,IAAM,IAAa,MAAM,EAAqB,CAAE;KAChD,EAAS,YAAY,EAAI,OAAO,SAAS,IAAI,GAAG,IAAM,GAAY,IAAM,KAAA,GAAW,GAAa,EAAK;IACvG;GACF;EACF;EACA,GAAG;EACH;GACE,OAAO,CAAI;GACX,aAAc;IAEZ,IADA,EAAW,GACP,GAAI;KACN,IAAM,IAAO,EAAS,QAAQ,QAAQ,aAAa,OAAO,MAAM;KAChE,AAAI,KACF,EAAS,YAAY,EAAI,OAAO,SAAS,IAAI,GAAG,IAAM,GAAM,IAAM,KAAA,GAAW,GAAa,EAAK;IAEnG;GACF;EACF;EACA;GACE,OAAO,CAAI;GACX,aAAc;IAEZ,IADA,EAAW,GACP,GAAI;KACN,IAAM,IAAO,EAAS,QAAQ,QAAQ,aAAa,OAAO,kBAAkB;KAC5E,AAAI,KACF,EAAS,YAAY,EAAI,OAAO,SAAS,IAAI,GAAG,IAAM,GAAM,IAAM,KAAA,GAAW,GAAa,EAAK;IAEnG;GACF;EACF;CACF;CAEA,EACE,CAAI,kCAAkC,EAAU,yBAChD,CACF;CAEA,IAAM,IAAS,EAAa;CAE5B,IAAI,CAAC,GACH,MAAU,MAAM,yBAAyB;CAU3C,OANI,KAAQ,EAAK,aACf,EAAK,WAAW,aAAa,GAAQ,CAAI,IAEzC,SAAS,KAAK,QAAQ,CAAM,GAGvB;AACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("../utils/webIdUtils.cjs.js"),n=require("../utils/paneUtils.cjs.js"),r=require("./header.cjs.js"),i=require("./navbar.cjs.js"),a=require("../index.cjs.js");let o=require("pane-registry");o=e.__toESM(o);var s=`__lastRenderEnvSignature`;function c(e){return e?[e.layout,e.theme,e.inputMode].join(`|`):``}function l(){let e=document.getElementById(`MainContent`);return e||(e=document.createElement(`main`),e.id=`MainContent`,e.setAttribute(`role`,`main`),e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-live`,`polite`),document.body.appendChild(e)),e}async function u(e,u,d){l();let f=a.getOutliner(document,d);f[s]=c(d),u||=window.location.href;let p=typeof u==`string`?e.sym(u):u,m=window.history.state?.paneName,h=(m?o.byName(m):void 0)??(!m&&t.isWebIdUri(p)?await n.getProfilePaneFromURI(p):void 0);f.GotoSubject(p,!0,h,!0,void 0,void 0,!0,!1);let g=await r.createHeader(f),_=await i.createNavbar(f);return Promise.all([g,_])}async function d(e){let t=e?.context?.session?.store,n=e?.context?.session?.paneRegistry,r=window.history.state?.paneName,i=window.history.state?.paneUri,a=i&&(r===`profile`||r===`social`||r===`folder`)?i:window.document.location.href,o=r?n?.byName?.(r):void 0,l=c(e?.context?.environment);l!==(e?.[s]??``)&&t&&typeof e?.GotoSubject==`function`&&(e.GotoSubject(t.sym(a),!0,o,!0,void 0,void 0,!0,!1),e[s]=l)}exports.initMainPage=u,exports.refreshUI=d;
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","names":[],"sources":["../../src/mainPage/index.ts"],"sourcesContent":["/* Main Page\n **\n ** This code is called in mashlib and renders the header and left side menu of the Databrowser.\n */\n\nimport { LiveStore, NamedNode } from 'rdflib'\nimport type { RenderEnvironment } from 'pane-registry'\nimport * as paneRegistry from 'pane-registry'\nimport { getOutliner, OutlineManager } from '../index'\nimport { createHeader } from './header'\nimport { createNavbar } from './navbar'\nimport { getProfilePaneFromURI } from '../utils/paneUtils'\nimport { isWebIdUri } from '../utils/webIdUtils'\n\n// Symbol used to stash the last render-relevant env snapshot on the outliner\n// so refreshUI can skip a full GotoSubject re-render when nothing changed.\nconst LAST_RENDER_ENV_KEY = '__lastRenderEnvSignature'\n\nfunction renderEnvSignature (env?: RenderEnvironment): string {\n if (!env) return ''\n return [env.layout, env.theme, env.inputMode].join('|')\n}\n\nfunction ensureMainContent () {\n let main = document.getElementById('MainContent') as HTMLElement | null\n if (!main) {\n main = document.createElement('main')\n main.id = 'MainContent'\n main.setAttribute('role', 'main')\n main.setAttribute('tabindex', '-1')\n main.setAttribute('aria-live', 'polite')\n document.body.appendChild(main)\n }\n return main\n}\n\nexport async function initMainPage (\n store: LiveStore,\n uri?: string | NamedNode | null,\n environment?: RenderEnvironment\n) {\n ensureMainContent()\n const outliner = getOutliner(document, environment)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = renderEnvSignature(environment)\n uri = uri || window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const historyPaneName = window.history.state?.paneName\n const historyPane = historyPaneName\n ? paneRegistry.byName(historyPaneName)\n : undefined\n const initialPane = historyPane ??\n (!historyPaneName && isWebIdUri(subject)\n ? await getProfilePaneFromURI(subject)\n : undefined)\n\n outliner.GotoSubject(subject, true, initialPane, true, undefined, undefined, true, false)\n\n const header = await createHeader(outliner)\n const navbar = await createNavbar(outliner)\n return Promise.all([header, navbar])\n}\n\nexport async function refreshUI (outliner: OutlineManager) {\n const store = outliner?.context?.session?.store\n const paneRegistry = outliner?.context?.session?.paneRegistry\n const paneName = window.history.state?.paneName\n const paneUri = window.history.state?.paneUri\n // Panes rendered for a subject other than the page URL (storage/profile/social)\n // must be restored from paneUri, since byName() returns the pane without that subject.\n const usesOwnSubject = paneName === 'profile' || paneName === 'social' || paneName === 'folder'\n const subjectUri = paneUri && usesOwnSubject\n ? paneUri\n : window.document.location.href\n const pane = paneName ? paneRegistry?.byName?.(paneName) : undefined\n\n // Only re-run GotoSubject (full pane re-render) when render-relevant\n // environment fields actually changed since the last render.\n const currentSignature = renderEnvSignature(outliner?.context?.environment)\n const previousSignature = (outliner as any)?.[LAST_RENDER_ENV_KEY] ?? ''\n const envChanged = currentSignature !== previousSignature\n\n if (envChanged && store && typeof outliner?.GotoSubject === 'function') {\n outliner.GotoSubject(store.sym(subjectUri), true, pane, true, undefined, undefined, true, false)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = currentSignature\n }\n}\n"],"mappings":"4QAgBA,IAAM,EAAsB,2BAE5B,SAAS,EAAoB,EAAiC,CAE5D,OADK,EACE,CAAC,EAAI,OAAQ,EAAI,MAAO,EAAI,SAAS,CAAC,CAAC,KAAK,GAAG,EADrC,EAEnB,CAEA,SAAS,GAAqB,CAC5B,IAAI,EAAO,SAAS,eAAe,aAAa,EAShD,OARK,IACH,EAAO,SAAS,cAAc,MAAM,EACpC,EAAK,GAAK,cACV,EAAK,aAAa,OAAQ,MAAM,EAChC,EAAK,aAAa,WAAY,IAAI,EAClC,EAAK,aAAa,YAAa,QAAQ,EACvC,SAAS,KAAK,YAAY,CAAI,GAEzB,CACT,CAEA,eAAsB,EACpB,EACA,EACA,EACA,CACA,EAAkB,EAClB,IAAM,EAAW,EAAA,YAAY,SAAU,CAAW,EACjD,EAAkB,GAAuB,EAAmB,CAAW,EACxE,IAAa,OAAO,SAAS,KAC7B,IAAM,EAAqB,OAAO,GAAQ,SAAW,EAAM,IAAI,CAAG,EAAI,EAChE,EAAkB,OAAO,QAAQ,OAAO,SAIxC,GAHc,EAChB,EAAa,OAAO,CAAe,EACnC,IAAA,MAED,CAAC,GAAmB,EAAA,WAAW,CAAO,EACnC,MAAM,EAAA,sBAAsB,CAAO,EACnC,IAAA,IAEN,EAAS,YAAY,EAAS,GAAM,EAAa,GAAM,IAAA,GAAW,IAAA,GAAW,GAAM,EAAK,EAExF,IAAM,EAAS,MAAM,EAAA,aAAa,CAAQ,EACpC,EAAS,MAAM,EAAA,aAAa,CAAQ,EAC1C,OAAO,QAAQ,IAAI,CAAC,EAAQ,CAAM,CAAC,CACrC,CAEA,eAAsB,EAAW,EAA0B,CACzD,IAAM,EAAQ,GAAU,SAAS,SAAS,MACpC,EAAe,GAAU,SAAS,SAAS,aAC3C,EAAW,OAAO,QAAQ,OAAO,SACjC,EAAU,OAAO,QAAQ,OAAO,QAIhC,EAAa,IADI,IAAa,WAAa,IAAa,UAAY,IAAa,UAEnF,EACA,OAAO,SAAS,SAAS,KACvB,EAAO,EAAW,GAAc,SAAS,CAAQ,EAAI,IAAA,GAIrD,EAAmB,EAAmB,GAAU,SAAS,WAAW,EAEvD,KADQ,IAAmB,IAAwB,KAGpD,GAAS,OAAO,GAAU,aAAgB,aAC1D,EAAS,YAAY,EAAM,IAAI,CAAU,EAAG,GAAM,EAAM,GAAM,IAAA,GAAW,IAAA,GAAW,GAAM,EAAK,EAC9F,EAAkB,GAAuB,EAE9C"}
|
package/dist/mainPage/index.d.ts
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import { LiveStore, NamedNode } from 'rdflib';
|
|
2
|
-
import
|
|
1
|
+
import { LiveStore, NamedNode } from '../../node_modules/rdflib';
|
|
2
|
+
import { RenderEnvironment } from '../../node_modules/pane-registry';
|
|
3
3
|
import { OutlineManager } from '../index';
|
|
4
|
-
export
|
|
5
|
-
export { refreshHeader } from './header';
|
|
6
|
-
export declare function initMainPage(store: LiveStore, uri?: string | NamedNode | null, environment?: RenderEnvironment): Promise<[import("solid-ui/components/header").Header & {
|
|
7
|
-
__solidPanesListenersAttached?: boolean;
|
|
8
|
-
__solidPanesOutliner?: OutlineManager;
|
|
9
|
-
}, void, HTMLElement & {
|
|
10
|
-
store?: LiveStore | null;
|
|
11
|
-
position?: "static" | "absolute" | "relative" | "fixed" | "sticky";
|
|
12
|
-
top?: string;
|
|
13
|
-
right?: string;
|
|
14
|
-
bottom?: string;
|
|
15
|
-
left?: string;
|
|
16
|
-
}]>;
|
|
4
|
+
export declare function initMainPage(store: LiveStore, uri?: string | NamedNode | null, environment?: RenderEnvironment): Promise<[Element, HTMLElement]>;
|
|
17
5
|
export declare function refreshUI(outliner: OutlineManager): Promise<void>;
|
|
18
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mainPage/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mainPage/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAe,cAAc,EAAE,MAAM,UAAU,CAAA;AA4BtD,wBAAsB,YAAY,CAChC,KAAK,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,WAAW,CAAC,EAAE,iBAAiB,mCAqBhC;AAED,wBAAsB,SAAS,CAAE,QAAQ,EAAE,cAAc,iBAuBxD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isWebIdUri as e } from "../utils/webIdUtils.esm.js";
|
|
2
|
+
import { getProfilePaneFromURI as t } from "../utils/paneUtils.esm.js";
|
|
3
|
+
import { createHeader as n } from "./header.esm.js";
|
|
4
|
+
import { createNavbar as r } from "./navbar.esm.js";
|
|
5
|
+
import { getOutliner as i } from "../index.esm.js";
|
|
6
|
+
import * as a from "pane-registry";
|
|
7
|
+
//#region src/mainPage/index.ts
|
|
8
|
+
var o = "__lastRenderEnvSignature";
|
|
9
|
+
function s(e) {
|
|
10
|
+
return e ? [
|
|
11
|
+
e.layout,
|
|
12
|
+
e.theme,
|
|
13
|
+
e.inputMode
|
|
14
|
+
].join("|") : "";
|
|
15
|
+
}
|
|
16
|
+
function c() {
|
|
17
|
+
let e = document.getElementById("MainContent");
|
|
18
|
+
return e || (e = document.createElement("main"), e.id = "MainContent", e.setAttribute("role", "main"), e.setAttribute("tabindex", "-1"), e.setAttribute("aria-live", "polite"), document.body.appendChild(e)), e;
|
|
19
|
+
}
|
|
20
|
+
async function l(l, u, d) {
|
|
21
|
+
c();
|
|
22
|
+
let f = i(document, d);
|
|
23
|
+
f[o] = s(d), u ||= window.location.href;
|
|
24
|
+
let p = typeof u == "string" ? l.sym(u) : u, m = window.history.state?.paneName, h = (m ? a.byName(m) : void 0) ?? (!m && e(p) ? await t(p) : void 0);
|
|
25
|
+
f.GotoSubject(p, !0, h, !0, void 0, void 0, !0, !1);
|
|
26
|
+
let g = await n(f), _ = await r(f);
|
|
27
|
+
return Promise.all([g, _]);
|
|
28
|
+
}
|
|
29
|
+
async function u(e) {
|
|
30
|
+
let t = e?.context?.session?.store, n = e?.context?.session?.paneRegistry, r = window.history.state?.paneName, i = window.history.state?.paneUri, a = i && (r === "profile" || r === "social" || r === "folder") ? i : window.document.location.href, c = r ? n?.byName?.(r) : void 0, l = s(e?.context?.environment);
|
|
31
|
+
l !== (e?.[o] ?? "") && t && typeof e?.GotoSubject == "function" && (e.GotoSubject(t.sym(a), !0, c, !0, void 0, void 0, !0, !1), e[o] = l);
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { l as initMainPage, u as refreshUI };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","names":[],"sources":["../../src/mainPage/index.ts"],"sourcesContent":["/* Main Page\n **\n ** This code is called in mashlib and renders the header and left side menu of the Databrowser.\n */\n\nimport { LiveStore, NamedNode } from 'rdflib'\nimport type { RenderEnvironment } from 'pane-registry'\nimport * as paneRegistry from 'pane-registry'\nimport { getOutliner, OutlineManager } from '../index'\nimport { createHeader } from './header'\nimport { createNavbar } from './navbar'\nimport { getProfilePaneFromURI } from '../utils/paneUtils'\nimport { isWebIdUri } from '../utils/webIdUtils'\n\n// Symbol used to stash the last render-relevant env snapshot on the outliner\n// so refreshUI can skip a full GotoSubject re-render when nothing changed.\nconst LAST_RENDER_ENV_KEY = '__lastRenderEnvSignature'\n\nfunction renderEnvSignature (env?: RenderEnvironment): string {\n if (!env) return ''\n return [env.layout, env.theme, env.inputMode].join('|')\n}\n\nfunction ensureMainContent () {\n let main = document.getElementById('MainContent') as HTMLElement | null\n if (!main) {\n main = document.createElement('main')\n main.id = 'MainContent'\n main.setAttribute('role', 'main')\n main.setAttribute('tabindex', '-1')\n main.setAttribute('aria-live', 'polite')\n document.body.appendChild(main)\n }\n return main\n}\n\nexport async function initMainPage (\n store: LiveStore,\n uri?: string | NamedNode | null,\n environment?: RenderEnvironment\n) {\n ensureMainContent()\n const outliner = getOutliner(document, environment)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = renderEnvSignature(environment)\n uri = uri || window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const historyPaneName = window.history.state?.paneName\n const historyPane = historyPaneName\n ? paneRegistry.byName(historyPaneName)\n : undefined\n const initialPane = historyPane ??\n (!historyPaneName && isWebIdUri(subject)\n ? await getProfilePaneFromURI(subject)\n : undefined)\n\n outliner.GotoSubject(subject, true, initialPane, true, undefined, undefined, true, false)\n\n const header = await createHeader(outliner)\n const navbar = await createNavbar(outliner)\n return Promise.all([header, navbar])\n}\n\nexport async function refreshUI (outliner: OutlineManager) {\n const store = outliner?.context?.session?.store\n const paneRegistry = outliner?.context?.session?.paneRegistry\n const paneName = window.history.state?.paneName\n const paneUri = window.history.state?.paneUri\n // Panes rendered for a subject other than the page URL (storage/profile/social)\n // must be restored from paneUri, since byName() returns the pane without that subject.\n const usesOwnSubject = paneName === 'profile' || paneName === 'social' || paneName === 'folder'\n const subjectUri = paneUri && usesOwnSubject\n ? paneUri\n : window.document.location.href\n const pane = paneName ? paneRegistry?.byName?.(paneName) : undefined\n\n // Only re-run GotoSubject (full pane re-render) when render-relevant\n // environment fields actually changed since the last render.\n const currentSignature = renderEnvSignature(outliner?.context?.environment)\n const previousSignature = (outliner as any)?.[LAST_RENDER_ENV_KEY] ?? ''\n const envChanged = currentSignature !== previousSignature\n\n if (envChanged && store && typeof outliner?.GotoSubject === 'function') {\n outliner.GotoSubject(store.sym(subjectUri), true, pane, true, undefined, undefined, true, false)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = currentSignature\n }\n}\n"],"mappings":";;;;;;;AAgBA,IAAM,IAAsB;AAE5B,SAAS,EAAoB,GAAiC;CAE5D,OADK,IACE;EAAC,EAAI;EAAQ,EAAI;EAAO,EAAI;CAAS,CAAC,CAAC,KAAK,GAAG,IADrC;AAEnB;AAEA,SAAS,IAAqB;CAC5B,IAAI,IAAO,SAAS,eAAe,aAAa;CAShD,OARK,MACH,IAAO,SAAS,cAAc,MAAM,GACpC,EAAK,KAAK,eACV,EAAK,aAAa,QAAQ,MAAM,GAChC,EAAK,aAAa,YAAY,IAAI,GAClC,EAAK,aAAa,aAAa,QAAQ,GACvC,SAAS,KAAK,YAAY,CAAI,IAEzB;AACT;AAEA,eAAsB,EACpB,GACA,GACA,GACA;CACA,EAAkB;CAClB,IAAM,IAAW,EAAY,UAAU,CAAW;CAElD,AADC,EAAkB,KAAuB,EAAmB,CAAW,GACxE,MAAa,OAAO,SAAS;CAC7B,IAAM,IAAqB,OAAO,KAAQ,WAAW,EAAM,IAAI,CAAG,IAAI,GAChE,IAAkB,OAAO,QAAQ,OAAO,UAIxC,KAHc,IAChB,EAAa,OAAO,CAAe,IACnC,KAAA,OAED,CAAC,KAAmB,EAAW,CAAO,IACnC,MAAM,EAAsB,CAAO,IACnC,KAAA;CAEN,EAAS,YAAY,GAAS,IAAM,GAAa,IAAM,KAAA,GAAW,KAAA,GAAW,IAAM,EAAK;CAExF,IAAM,IAAS,MAAM,EAAa,CAAQ,GACpC,IAAS,MAAM,EAAa,CAAQ;CAC1C,OAAO,QAAQ,IAAI,CAAC,GAAQ,CAAM,CAAC;AACrC;AAEA,eAAsB,EAAW,GAA0B;CACzD,IAAM,IAAQ,GAAU,SAAS,SAAS,OACpC,IAAe,GAAU,SAAS,SAAS,cAC3C,IAAW,OAAO,QAAQ,OAAO,UACjC,IAAU,OAAO,QAAQ,OAAO,SAIhC,IAAa,MADI,MAAa,aAAa,MAAa,YAAY,MAAa,YAEnF,IACA,OAAO,SAAS,SAAS,MACvB,IAAO,IAAW,GAAc,SAAS,CAAQ,IAAI,KAAA,GAIrD,IAAmB,EAAmB,GAAU,SAAS,WAAW;CAI1E,AAFmB,OADQ,IAAmB,MAAwB,OAGpD,KAAS,OAAO,GAAU,eAAgB,eAC1D,EAAS,YAAY,EAAM,IAAI,CAAU,GAAG,IAAM,GAAM,IAAM,KAAA,GAAW,KAAA,GAAW,IAAM,EAAK,GAC9F,EAAkB,KAAuB;AAE9C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../utils/webIdUtils.cjs.js");require("../_virtual/~icons/lucide/user.cjs.js"),require("../_virtual/~icons/lucide/users.cjs.js"),require("../_virtual/~icons/lucide/folder-open.cjs.js");const t=require("../utils/paneUtils.cjs.js");require("../components/navbar/index.cjs.js");let n=require("solid-logic"),r=require("lit-html");function i(){let e=document.querySelector(`solid-panes-navbar`);e&&e.classList.remove(`navbar--hidden`)}function a(e,t,n=!1){return{label:e,onSelected(){return i(),t()},selected:n}}async function o(n,r,i,o,s){let c=await e.loadProfileFromURI(r),l=o||(e.isWebIdUri(r)?`profile`:void 0),u=[];c&&u.push(a(`Profile`,async()=>{let e=await t.getProfilePaneFromURI(c);n.GotoSubject(r,!0,e,!0,void 0,i)},l===`profile`),a(`Friends`,async()=>{let e=await t.getSocialPaneFromURI(c);n.GotoSubject(r,!0,e,!0,void 0,i)},l===`social`));let d=await t.getFolderPanesFromURI(r);return d.forEach(e=>{u.push(a(e.label(),async()=>{n.GotoSubject(r,!0,e,!0,void 0,i)},l===e.paneName&&(s?s===e.subject.value:d.length===1)))}),u}async function s(e){let t=document.querySelector(`solid-panes-navbar`);if(t)return t.classList.remove(`navbar--hidden`),t;let i=document.getElementById(`OutlineView`),a=document.getElementById(`MainContent`),s=document.createElement(`div`),c=window.location.href,l=typeof c==`string`?n.store.sym(c):c,u=window.history.state?.paneName,d=window.history.state?.paneUri,f=await o(e,l,i,u,d).catch(e=>(console.error(`Failed to build navbar menu items:`,e),[]));function p(e){f=f.map(t=>({...t,selected:t===e}))}function m(e){let{detail:t}=e;p(t),Promise.resolve(t.onSelected?.()).catch(e=>{console.error(`Navbar menu item selection failed:`,e)}),h()}function h(){(0,r.render)(r.html`<solid-panes-navbar .navbarItems=${f} @solid-ui-select=${m}></solid-panes-navbar>`,s)}h();let g=s.firstElementChild;if(!g)throw Error(`Failed to create nav bar`);return a?a.insertBefore(g,a.firstChild):document.body.prepend(g),g}exports.createNavbar=s;
|
|
2
|
+
//# sourceMappingURL=navbar.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navbar.cjs.js","names":[],"sources":["../../src/mainPage/navbar.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport { NamedNode } from 'rdflib'\nimport { getSocialPaneFromURI, getProfilePaneFromURI, getFolderPanesFromURI } from '../utils/paneUtils'\nimport { html, render } from 'lit-html'\nimport type { OutlineManager } from '../outline/manager'\nimport { isWebIdUri, loadProfileFromURI } from '../utils/webIdUtils'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '../components/navbar'\n\nimport type { NavbarMenuItem } from '../components/navbar/Navbar'\n\nfunction showNavbar () {\n const navbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n if (navbar) {\n navbar.classList.remove('navbar--hidden')\n }\n}\n\nfunction createNavItem (\n label: string,\n onSelected: () => void,\n selected = false\n): NavbarMenuItem {\n return {\n label,\n onSelected () {\n showNavbar()\n return onSelected()\n },\n selected\n }\n}\n\nasync function createNavbarMenuItems (\n outliner: OutlineManager,\n subject: NamedNode,\n outlineView: HTMLElement | null,\n selectedPaneName?: string,\n selectedPaneUri?: string\n): Promise<NavbarMenuItem[]> {\n const webId = await loadProfileFromURI(subject)\n const selectedPane = selectedPaneName || (isWebIdUri(subject) ? 'profile' : undefined)\n\n const menuItems: NavbarMenuItem[] = []\n\n if (webId) {\n menuItems.push(\n createNavItem('Profile', async () => {\n const profilePane = await getProfilePaneFromURI(webId)\n outliner.GotoSubject(subject, true, profilePane, true, undefined, outlineView)\n }, selectedPane === 'profile'),\n createNavItem('Friends', async () => {\n const socialPane = await getSocialPaneFromURI(webId)\n outliner.GotoSubject(subject, true, socialPane, true, undefined, outlineView)\n }, selectedPane === 'social')\n )\n }\n\n const storagePanes = await getFolderPanesFromURI(subject)\n storagePanes.forEach(pane => {\n menuItems.push(\n createNavItem(\n pane.label(),\n async () => {\n outliner.GotoSubject(subject, true, pane, true, undefined, outlineView)\n },\n selectedPane === pane.paneName &&\n (selectedPaneUri ? selectedPaneUri === pane.subject.value : storagePanes.length === 1)\n )\n )\n })\n\n return menuItems\n}\n\nexport async function createNavbar (outliner: OutlineManager) {\n const existingNavbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n\n if (existingNavbar) {\n existingNavbar.classList.remove('navbar--hidden')\n return existingNavbar\n }\n\n const OutlineView = document.getElementById('OutlineView')\n const mainContent = document.getElementById('MainContent')\n const tmpContainer = document.createElement('div')\n const uri = window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const selectedPaneName = window.history.state?.paneName\n const selectedPaneUri = window.history.state?.paneUri\n let menuItems = await createNavbarMenuItems(outliner, subject, OutlineView, selectedPaneName, selectedPaneUri).catch((err) => {\n console.error('Failed to build navbar menu items:', err)\n return []\n })\n\n function setSelectedItem (selectedItem: NavbarMenuItem) {\n menuItems = menuItems.map((menuItem) => ({\n ...menuItem,\n selected: menuItem === selectedItem\n }))\n }\n\n function handleSelectionChanged (event: Event) {\n const { detail: selectedItem } = event as CustomEvent<NavbarMenuItem>\n setSelectedItem(selectedItem)\n\n Promise.resolve(selectedItem.onSelected?.()).catch((error) => {\n console.error('Navbar menu item selection failed:', error)\n })\n\n renderNavbar()\n }\n\n function renderNavbar () {\n render(\n html`<solid-panes-navbar .navbarItems=${menuItems} @solid-ui-select=${handleSelectionChanged}></solid-panes-navbar>`,\n tmpContainer\n )\n }\n\n renderNavbar()\n\n const navbar = tmpContainer.firstElementChild as HTMLElement | null\n\n if (!navbar) {\n throw new Error('Failed to create nav bar')\n }\n\n if (mainContent) {\n mainContent.insertBefore(navbar, mainContent.firstChild)\n } else {\n document.body.prepend(navbar)\n }\n\n return navbar\n}\n"],"mappings":"sVAcA,SAAS,GAAc,CACrB,IAAM,EAAS,SAAS,cAA2B,oBAAoB,EACnE,GACF,EAAO,UAAU,OAAO,gBAAgB,CAE5C,CAEA,SAAS,EACP,EACA,EACA,EAAW,GACK,CAChB,MAAO,CACL,QACA,YAAc,CAEZ,OADA,EAAW,EACJ,EAAW,CACpB,EACA,UACF,CACF,CAEA,eAAe,EACb,EACA,EACA,EACA,EACA,EAC2B,CAC3B,IAAM,EAAQ,MAAM,EAAA,mBAAmB,CAAO,EACxC,EAAe,IAAqB,EAAA,WAAW,CAAO,EAAI,UAAY,IAAA,IAEtE,EAA8B,CAAC,EAEjC,GACF,EAAU,KACR,EAAc,UAAW,SAAY,CACnC,IAAM,EAAc,MAAM,EAAA,sBAAsB,CAAK,EACrD,EAAS,YAAY,EAAS,GAAM,EAAa,GAAM,IAAA,GAAW,CAAW,CAC/E,EAAG,IAAiB,SAAS,EAC7B,EAAc,UAAW,SAAY,CACnC,IAAM,EAAa,MAAM,EAAA,qBAAqB,CAAK,EACnD,EAAS,YAAY,EAAS,GAAM,EAAY,GAAM,IAAA,GAAW,CAAW,CAC9E,EAAG,IAAiB,QAAQ,CAC9B,EAGF,IAAM,EAAe,MAAM,EAAA,sBAAsB,CAAO,EAcxD,OAbA,EAAa,QAAQ,GAAQ,CAC3B,EAAU,KACR,EACE,EAAK,MAAM,EACX,SAAY,CACV,EAAS,YAAY,EAAS,GAAM,EAAM,GAAM,IAAA,GAAW,CAAW,CACxE,EACA,IAAiB,EAAK,WACnB,EAAkB,IAAoB,EAAK,QAAQ,MAAQ,EAAa,SAAW,EACxF,CACF,CACF,CAAC,EAEM,CACT,CAEA,eAAsB,EAAc,EAA0B,CAC5D,IAAM,EAAiB,SAAS,cAA2B,oBAAoB,EAE/E,GAAI,EAEF,OADA,EAAe,UAAU,OAAO,gBAAgB,EACzC,EAGT,IAAM,EAAc,SAAS,eAAe,aAAa,EACnD,EAAc,SAAS,eAAe,aAAa,EACnD,EAAe,SAAS,cAAc,KAAK,EAC3C,EAAM,OAAO,SAAS,KACtB,EAAqB,OAAO,GAAQ,SAAW,EAAA,MAAM,IAAI,CAAG,EAAI,EAChE,EAAmB,OAAO,QAAQ,OAAO,SACzC,EAAkB,OAAO,QAAQ,OAAO,QAC1C,EAAY,MAAM,EAAsB,EAAU,EAAS,EAAa,EAAkB,CAAe,CAAC,CAAC,MAAO,IACpH,QAAQ,MAAM,qCAAsC,CAAG,EAChD,CAAC,EACT,EAED,SAAS,EAAiB,EAA8B,CACtD,EAAY,EAAU,IAAK,IAAc,CACvC,GAAG,EACH,SAAU,IAAa,CACzB,EAAE,CACJ,CAEA,SAAS,EAAwB,EAAc,CAC7C,GAAM,CAAE,OAAQ,GAAiB,EACjC,EAAgB,CAAY,EAE5B,QAAQ,QAAQ,EAAa,aAAa,CAAC,CAAC,CAAC,MAAO,GAAU,CAC5D,QAAQ,MAAM,qCAAsC,CAAK,CAC3D,CAAC,EAED,EAAa,CACf,CAEA,SAAS,GAAgB,EACvB,EAAA,EAAA,OAAA,CACE,EAAA,IAAI,oCAAoC,EAAU,oBAAoB,EAAuB,wBAC7F,CACF,CACF,CAEA,EAAa,EAEb,IAAM,EAAS,EAAa,kBAE5B,GAAI,CAAC,EACH,MAAU,MAAM,0BAA0B,EAS5C,OANI,EACF,EAAY,aAAa,EAAQ,EAAY,UAAU,EAEvD,SAAS,KAAK,QAAQ,CAAM,EAGvB,CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../src/mainPage/navbar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,2BAA2B,CAAA;AAClC,OAAO,sBAAsB,CAAA;AAoE7B,wBAAsB,YAAY,CAAE,QAAQ,EAAE,cAAc,wBA4D3D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { isWebIdUri as e, loadProfileFromURI as t } from "../utils/webIdUtils.esm.js";
|
|
2
|
+
import "../_virtual/~icons/lucide/user.esm.js";
|
|
3
|
+
import "../_virtual/~icons/lucide/users.esm.js";
|
|
4
|
+
import "../_virtual/~icons/lucide/folder-open.esm.js";
|
|
5
|
+
import { getFolderPanesFromURI as n, getProfilePaneFromURI as r, getSocialPaneFromURI as i } from "../utils/paneUtils.esm.js";
|
|
6
|
+
import "../components/navbar/index.esm.js";
|
|
7
|
+
import { store as a } from "solid-logic";
|
|
8
|
+
import { html as o, render as s } from "lit-html";
|
|
9
|
+
//#region src/mainPage/navbar.ts
|
|
10
|
+
function c() {
|
|
11
|
+
let e = document.querySelector("solid-panes-navbar");
|
|
12
|
+
e && e.classList.remove("navbar--hidden");
|
|
13
|
+
}
|
|
14
|
+
function l(e, t, n = !1) {
|
|
15
|
+
return {
|
|
16
|
+
label: e,
|
|
17
|
+
onSelected() {
|
|
18
|
+
return c(), t();
|
|
19
|
+
},
|
|
20
|
+
selected: n
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function u(a, o, s, c, u) {
|
|
24
|
+
let d = await t(o), f = c || (e(o) ? "profile" : void 0), p = [];
|
|
25
|
+
d && p.push(l("Profile", async () => {
|
|
26
|
+
let e = await r(d);
|
|
27
|
+
a.GotoSubject(o, !0, e, !0, void 0, s);
|
|
28
|
+
}, f === "profile"), l("Friends", async () => {
|
|
29
|
+
let e = await i(d);
|
|
30
|
+
a.GotoSubject(o, !0, e, !0, void 0, s);
|
|
31
|
+
}, f === "social"));
|
|
32
|
+
let m = await n(o);
|
|
33
|
+
return m.forEach((e) => {
|
|
34
|
+
p.push(l(e.label(), async () => {
|
|
35
|
+
a.GotoSubject(o, !0, e, !0, void 0, s);
|
|
36
|
+
}, f === e.paneName && (u ? u === e.subject.value : m.length === 1)));
|
|
37
|
+
}), p;
|
|
38
|
+
}
|
|
39
|
+
async function d(e) {
|
|
40
|
+
let t = document.querySelector("solid-panes-navbar");
|
|
41
|
+
if (t) return t.classList.remove("navbar--hidden"), t;
|
|
42
|
+
let n = document.getElementById("OutlineView"), r = document.getElementById("MainContent"), i = document.createElement("div"), c = window.location.href, l = typeof c == "string" ? a.sym(c) : c, d = window.history.state?.paneName, f = window.history.state?.paneUri, p = await u(e, l, n, d, f).catch((e) => (console.error("Failed to build navbar menu items:", e), []));
|
|
43
|
+
function m(e) {
|
|
44
|
+
p = p.map((t) => ({
|
|
45
|
+
...t,
|
|
46
|
+
selected: t === e
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
function h(e) {
|
|
50
|
+
let { detail: t } = e;
|
|
51
|
+
m(t), Promise.resolve(t.onSelected?.()).catch((e) => {
|
|
52
|
+
console.error("Navbar menu item selection failed:", e);
|
|
53
|
+
}), g();
|
|
54
|
+
}
|
|
55
|
+
function g() {
|
|
56
|
+
s(o`<solid-panes-navbar .navbarItems=${p} @solid-ui-select=${h}></solid-panes-navbar>`, i);
|
|
57
|
+
}
|
|
58
|
+
g();
|
|
59
|
+
let _ = i.firstElementChild;
|
|
60
|
+
if (!_) throw Error("Failed to create nav bar");
|
|
61
|
+
return r ? r.insertBefore(_, r.firstChild) : document.body.prepend(_), _;
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { d as createNavbar };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=navbar.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navbar.esm.js","names":[],"sources":["../../src/mainPage/navbar.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport { NamedNode } from 'rdflib'\nimport { getSocialPaneFromURI, getProfilePaneFromURI, getFolderPanesFromURI } from '../utils/paneUtils'\nimport { html, render } from 'lit-html'\nimport type { OutlineManager } from '../outline/manager'\nimport { isWebIdUri, loadProfileFromURI } from '../utils/webIdUtils'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '../components/navbar'\n\nimport type { NavbarMenuItem } from '../components/navbar/Navbar'\n\nfunction showNavbar () {\n const navbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n if (navbar) {\n navbar.classList.remove('navbar--hidden')\n }\n}\n\nfunction createNavItem (\n label: string,\n onSelected: () => void,\n selected = false\n): NavbarMenuItem {\n return {\n label,\n onSelected () {\n showNavbar()\n return onSelected()\n },\n selected\n }\n}\n\nasync function createNavbarMenuItems (\n outliner: OutlineManager,\n subject: NamedNode,\n outlineView: HTMLElement | null,\n selectedPaneName?: string,\n selectedPaneUri?: string\n): Promise<NavbarMenuItem[]> {\n const webId = await loadProfileFromURI(subject)\n const selectedPane = selectedPaneName || (isWebIdUri(subject) ? 'profile' : undefined)\n\n const menuItems: NavbarMenuItem[] = []\n\n if (webId) {\n menuItems.push(\n createNavItem('Profile', async () => {\n const profilePane = await getProfilePaneFromURI(webId)\n outliner.GotoSubject(subject, true, profilePane, true, undefined, outlineView)\n }, selectedPane === 'profile'),\n createNavItem('Friends', async () => {\n const socialPane = await getSocialPaneFromURI(webId)\n outliner.GotoSubject(subject, true, socialPane, true, undefined, outlineView)\n }, selectedPane === 'social')\n )\n }\n\n const storagePanes = await getFolderPanesFromURI(subject)\n storagePanes.forEach(pane => {\n menuItems.push(\n createNavItem(\n pane.label(),\n async () => {\n outliner.GotoSubject(subject, true, pane, true, undefined, outlineView)\n },\n selectedPane === pane.paneName &&\n (selectedPaneUri ? selectedPaneUri === pane.subject.value : storagePanes.length === 1)\n )\n )\n })\n\n return menuItems\n}\n\nexport async function createNavbar (outliner: OutlineManager) {\n const existingNavbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n\n if (existingNavbar) {\n existingNavbar.classList.remove('navbar--hidden')\n return existingNavbar\n }\n\n const OutlineView = document.getElementById('OutlineView')\n const mainContent = document.getElementById('MainContent')\n const tmpContainer = document.createElement('div')\n const uri = window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const selectedPaneName = window.history.state?.paneName\n const selectedPaneUri = window.history.state?.paneUri\n let menuItems = await createNavbarMenuItems(outliner, subject, OutlineView, selectedPaneName, selectedPaneUri).catch((err) => {\n console.error('Failed to build navbar menu items:', err)\n return []\n })\n\n function setSelectedItem (selectedItem: NavbarMenuItem) {\n menuItems = menuItems.map((menuItem) => ({\n ...menuItem,\n selected: menuItem === selectedItem\n }))\n }\n\n function handleSelectionChanged (event: Event) {\n const { detail: selectedItem } = event as CustomEvent<NavbarMenuItem>\n setSelectedItem(selectedItem)\n\n Promise.resolve(selectedItem.onSelected?.()).catch((error) => {\n console.error('Navbar menu item selection failed:', error)\n })\n\n renderNavbar()\n }\n\n function renderNavbar () {\n render(\n html`<solid-panes-navbar .navbarItems=${menuItems} @solid-ui-select=${handleSelectionChanged}></solid-panes-navbar>`,\n tmpContainer\n )\n }\n\n renderNavbar()\n\n const navbar = tmpContainer.firstElementChild as HTMLElement | null\n\n if (!navbar) {\n throw new Error('Failed to create nav bar')\n }\n\n if (mainContent) {\n mainContent.insertBefore(navbar, mainContent.firstChild)\n } else {\n document.body.prepend(navbar)\n }\n\n return navbar\n}\n"],"mappings":";;;;;;;;;AAcA,SAAS,IAAc;CACrB,IAAM,IAAS,SAAS,cAA2B,oBAAoB;CACvE,AAAI,KACF,EAAO,UAAU,OAAO,gBAAgB;AAE5C;AAEA,SAAS,EACP,GACA,GACA,IAAW,IACK;CAChB,OAAO;EACL;EACA,aAAc;GAEZ,OADA,EAAW,GACJ,EAAW;EACpB;EACA;CACF;AACF;AAEA,eAAe,EACb,GACA,GACA,GACA,GACA,GAC2B;CAC3B,IAAM,IAAQ,MAAM,EAAmB,CAAO,GACxC,IAAe,MAAqB,EAAW,CAAO,IAAI,YAAY,KAAA,IAEtE,IAA8B,CAAC;CAErC,AAAI,KACF,EAAU,KACR,EAAc,WAAW,YAAY;EACnC,IAAM,IAAc,MAAM,EAAsB,CAAK;EACrD,EAAS,YAAY,GAAS,IAAM,GAAa,IAAM,KAAA,GAAW,CAAW;CAC/E,GAAG,MAAiB,SAAS,GAC7B,EAAc,WAAW,YAAY;EACnC,IAAM,IAAa,MAAM,EAAqB,CAAK;EACnD,EAAS,YAAY,GAAS,IAAM,GAAY,IAAM,KAAA,GAAW,CAAW;CAC9E,GAAG,MAAiB,QAAQ,CAC9B;CAGF,IAAM,IAAe,MAAM,EAAsB,CAAO;CAcxD,OAbA,EAAa,SAAQ,MAAQ;EAC3B,EAAU,KACR,EACE,EAAK,MAAM,GACX,YAAY;GACV,EAAS,YAAY,GAAS,IAAM,GAAM,IAAM,KAAA,GAAW,CAAW;EACxE,GACA,MAAiB,EAAK,aACnB,IAAkB,MAAoB,EAAK,QAAQ,QAAQ,EAAa,WAAW,EACxF,CACF;CACF,CAAC,GAEM;AACT;AAEA,eAAsB,EAAc,GAA0B;CAC5D,IAAM,IAAiB,SAAS,cAA2B,oBAAoB;CAE/E,IAAI,GAEF,OADA,EAAe,UAAU,OAAO,gBAAgB,GACzC;CAGT,IAAM,IAAc,SAAS,eAAe,aAAa,GACnD,IAAc,SAAS,eAAe,aAAa,GACnD,IAAe,SAAS,cAAc,KAAK,GAC3C,IAAM,OAAO,SAAS,MACtB,IAAqB,OAAO,KAAQ,WAAW,EAAM,IAAI,CAAG,IAAI,GAChE,IAAmB,OAAO,QAAQ,OAAO,UACzC,IAAkB,OAAO,QAAQ,OAAO,SAC1C,IAAY,MAAM,EAAsB,GAAU,GAAS,GAAa,GAAkB,CAAe,CAAC,CAAC,OAAO,OACpH,QAAQ,MAAM,sCAAsC,CAAG,GAChD,CAAC,EACT;CAED,SAAS,EAAiB,GAA8B;EACtD,IAAY,EAAU,KAAK,OAAc;GACvC,GAAG;GACH,UAAU,MAAa;EACzB,EAAE;CACJ;CAEA,SAAS,EAAwB,GAAc;EAC7C,IAAM,EAAE,QAAQ,MAAiB;EAOjC,AANA,EAAgB,CAAY,GAE5B,QAAQ,QAAQ,EAAa,aAAa,CAAC,CAAC,CAAC,OAAO,MAAU;GAC5D,QAAQ,MAAM,sCAAsC,CAAK;EAC3D,CAAC,GAED,EAAa;CACf;CAEA,SAAS,IAAgB;EACvB,EACE,CAAI,oCAAoC,EAAU,oBAAoB,EAAuB,yBAC7F,CACF;CACF;CAEA,EAAa;CAEb,IAAM,IAAS,EAAa;CAE5B,IAAI,CAAC,GACH,MAAU,MAAM,0BAA0B;CAS5C,OANI,IACF,EAAY,aAAa,GAAQ,EAAY,UAAU,IAEvD,SAAS,KAAK,QAAQ,CAAM,GAGvB;AACT"}
|
package/dist/n3Pane.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import './n3Pane.css';
|
|
1
|
+
import { DataBrowserContext } from '../node_modules/pane-registry';
|
|
2
|
+
import { NamedNode } from '../node_modules/rdflib';
|
|
4
3
|
type N3PaneLike = {
|
|
5
4
|
icon: string;
|
|
6
5
|
name: string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.n3-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);width:100%;min-width:0;color:var(--color-text-blue,#004);box-sizing:border-box;padding:1rem}.n3-pane__source{box-sizing:border-box;white-space:pre;min-width:0;max-width:100%;margin:0;font-family:monospace;font-size:120%;overflow-x:auto}.n3-pane__line{white-space:pre}.n3-pane[data-layout=mobile] .n3-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.n3-pane[data-layout=mobile] .n3-pane__line{white-space:pre-wrap;padding-left:var(--n3-indent,0);text-indent:calc(-1 * var(--n3-indent,0))}@media (width<=576px){.n3-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.n3-pane__line{white-space:pre-wrap;padding-left:var(--n3-indent,0);text-indent:calc(-1 * var(--n3-indent,0))}}`)),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;function i(e){if(e.trim().length===0)return 0;let t=0;for(let n of e){if(n===` `){t+=1;continue}if(n===` `){t+=2;continue}break}return Math.max(t,2)}var a={icon:t.icons.originalIconBase+`w3c/n3_smaller.png`,name:`n3`,audience:[r.solid(`Developer`)],label:function(e,t){let n=t.session.store;if(`http://www.w3.org/2007/ont/link#ProtocolEvent`in n.findTypeURIs(e))return null;let r=n.statementsMatching(void 0,void 0,void 0,e).length;return r===0?null:`Data (`+r+`) as N3`},render:function(e,t){let r=t.dom,a=t.session.store;function o(e){let n=t.environment??{};e.dataset.layout=n.layout??`desktop`}let s=r.createElement(`div`);s.setAttribute(`class`,`n3-pane`),o(s);let c=a.statementsMatching(void 0,void 0,void 0,e),l=n.Serializer(a);l.suggestNamespaces(a.namespaces),l.setBase(e.uri);let u=l.statementsToN3(c),d=r.createElement(`div`);return d.classList.add(`n3-pane__source`),u.split(`
|
|
2
|
+
`).forEach(e=>{let t=r.createElement(`div`),n=i(e);t.classList.add(`n3-pane__line`),t.style.setProperty(`--n3-indent`,`${n}ch`),t.textContent=e.length>0?e:` `,d.appendChild(t)}),s.appendChild(d),s}};exports.n3Pane=a;
|
|
3
|
+
//# sourceMappingURL=n3Pane2.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n3Pane2.cjs.js","names":[],"sources":["../src/n3Pane.ts"],"sourcesContent":["/* Notation3 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 ** in generated N3 syntax.\n */\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type { NamedNode, Statement } from 'rdflib'\nimport './n3Pane.css'\n\nconst ns = UI.ns\n\ntype N3PaneLike = {\n icon: string\n name: string\n audience: NamedNode[]\n label: (subject: NamedNode, context: DataBrowserContext) => string | null\n render: (subject: NamedNode, context: DataBrowserContext) => HTMLDivElement\n}\n\nfunction leadingIndentWidth (line: string): number {\n if (line.trim().length === 0) {\n return 0\n }\n\n let width = 0\n for (const character of line) {\n if (character === ' ') {\n width += 1\n continue\n }\n if (character === '\\t') {\n width += 2\n continue\n }\n break\n }\n return Math.max(width, 2)\n}\n\nexport const n3Pane: N3PaneLike = {\n icon: UI.icons.originalIconBase + 'w3c/n3_smaller.png',\n\n name: 'n3',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext): string | null {\n const store = context.session.store\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n store.findTypeURIs(subject)\n ) {\n return null\n }\n const n = store.statementsMatching(undefined, undefined, undefined, subject)\n .length\n if (n === 0) return null\n return 'Data (' + n + ') as N3'\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n const kb = context.session.store\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 div = myDocument.createElement('div')\n div.setAttribute('class', 'n3-pane')\n applyEnvironmentAttributes(div)\n // Because of smushing etc, this will not be a copy of the original source\n // We could instead either fetch and re-parse the source,\n // or we could keep all the pre-smushed triples.\n const sts = kb.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ) as Statement[] // @@ slow with current store!\n /*\n var kludge = kb.formula([]) // No features\n for (var i=0; i< sts.length; i++) {\n s = sts[i]\n kludge.add(s.subject, s.predicate, s.object)\n }\n */\n const sz = $rdf.Serializer(kb)\n sz.suggestNamespaces(kb.namespaces)\n sz.setBase(subject.uri)\n const str = sz.statementsToN3(sts)\n const source = myDocument.createElement('div')\n source.classList.add('n3-pane__source')\n\n str.split('\\n').forEach(line => {\n const lineElement = myDocument.createElement('div')\n const indentWidth = leadingIndentWidth(line)\n lineElement.classList.add('n3-pane__line')\n lineElement.style.setProperty('--n3-indent', `${indentWidth}ch`)\n lineElement.textContent = line.length > 0 ? line : ' '\n source.appendChild(lineElement)\n })\n\n div.appendChild(source)\n return div\n }\n}\n"],"mappings":"kKAYA,IAAM,EAAK,EAAG,GAUd,SAAS,EAAoB,EAAsB,CACjD,GAAI,EAAK,KAAK,CAAC,CAAC,SAAW,EACzB,MAAO,GAGT,IAAI,EAAQ,EACZ,IAAK,IAAM,KAAa,EAAM,CAC5B,GAAI,IAAc,IAAK,CACrB,GAAS,EACT,QACF,CACA,GAAI,IAAc,IAAM,CACtB,GAAS,EACT,QACF,CACA,KACF,CACA,OAAO,KAAK,IAAI,EAAO,CAAC,CAC1B,CAEA,IAAa,EAAqB,CAChC,KAAM,EAAG,MAAM,iBAAmB,qBAElC,KAAM,KAEN,SAAU,CAAC,EAAG,MAAM,WAAW,CAAC,EAEhC,MAAO,SAAU,EAAoB,EAA4C,CAC/E,IAAM,EAAQ,EAAQ,QAAQ,MAC9B,GACE,kDACA,EAAM,aAAa,CAAO,EAE1B,OAAO,KAET,IAAM,EAAI,EAAM,mBAAmB,IAAA,GAAW,IAAA,GAAW,IAAA,GAAW,CAAO,CAAC,CACzE,OAEH,OADI,IAAM,EAAU,KACb,SAAW,EAAI,SACxB,EAEA,OAAQ,SACN,EACA,EACgB,CAChB,IAAM,EAAa,EAAQ,IACrB,EAAK,EAAQ,QAAQ,MAE3B,SAAS,EAA4B,EAA+B,CAClE,IAAM,EAAe,EAAQ,aAAe,CAAC,EAC7C,EAAQ,QAAQ,OAAS,EAAY,QAAU,SACjD,CAEA,IAAM,EAAM,EAAW,cAAc,KAAK,EAC1C,EAAI,aAAa,QAAS,SAAS,EACnC,EAA2B,CAAG,EAI9B,IAAM,EAAM,EAAG,mBACb,IAAA,GACA,IAAA,GACA,IAAA,GACA,CACF,EAQM,EAAK,EAAK,WAAW,CAAE,EAC7B,EAAG,kBAAkB,EAAG,UAAU,EAClC,EAAG,QAAQ,EAAQ,GAAG,EACtB,IAAM,EAAM,EAAG,eAAe,CAAG,EAC3B,EAAS,EAAW,cAAc,KAAK,EAa7C,OAZA,EAAO,UAAU,IAAI,iBAAiB,EAEtC,EAAI,MAAM;CAAI,CAAC,CAAC,QAAQ,GAAQ,CAC9B,IAAM,EAAc,EAAW,cAAc,KAAK,EAC5C,EAAc,EAAmB,CAAI,EAC3C,EAAY,UAAU,IAAI,eAAe,EACzC,EAAY,MAAM,YAAY,cAAe,GAAG,EAAY,GAAG,EAC/D,EAAY,YAAc,EAAK,OAAS,EAAI,EAAO,IACnD,EAAO,YAAY,CAAW,CAChC,CAAC,EAED,EAAI,YAAY,CAAM,EACf,CACT,CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.n3-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);width:100%;min-width:0;color:var(--color-text-blue,#004);box-sizing:border-box;padding:1rem}.n3-pane__source{box-sizing:border-box;white-space:pre;min-width:0;max-width:100%;margin:0;font-family:monospace;font-size:120%;overflow-x:auto}.n3-pane__line{white-space:pre}.n3-pane[data-layout=mobile] .n3-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.n3-pane[data-layout=mobile] .n3-pane__line{white-space:pre-wrap;padding-left:var(--n3-indent,0);text-indent:calc(-1 * var(--n3-indent,0))}@media (width<=576px){.n3-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.n3-pane__line{white-space:pre-wrap;padding-left:var(--n3-indent,0);text-indent:calc(-1 * var(--n3-indent,0))}}`)),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/n3Pane.ts
|
|
5
|
+
var n = e.ns;
|
|
6
|
+
function r(e) {
|
|
7
|
+
if (e.trim().length === 0) return 0;
|
|
8
|
+
let t = 0;
|
|
9
|
+
for (let n of e) {
|
|
10
|
+
if (n === " ") {
|
|
11
|
+
t += 1;
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (n === " ") {
|
|
15
|
+
t += 2;
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
return Math.max(t, 2);
|
|
21
|
+
}
|
|
22
|
+
var i = {
|
|
23
|
+
icon: e.icons.originalIconBase + "w3c/n3_smaller.png",
|
|
24
|
+
name: "n3",
|
|
25
|
+
audience: [n.solid("Developer")],
|
|
26
|
+
label: function(e, t) {
|
|
27
|
+
let n = t.session.store;
|
|
28
|
+
if ("http://www.w3.org/2007/ont/link#ProtocolEvent" in n.findTypeURIs(e)) return null;
|
|
29
|
+
let r = n.statementsMatching(void 0, void 0, void 0, e).length;
|
|
30
|
+
return r === 0 ? null : "Data (" + r + ") as N3";
|
|
31
|
+
},
|
|
32
|
+
render: function(e, n) {
|
|
33
|
+
let i = n.dom, a = n.session.store;
|
|
34
|
+
function o(e) {
|
|
35
|
+
let t = n.environment ?? {};
|
|
36
|
+
e.dataset.layout = t.layout ?? "desktop";
|
|
37
|
+
}
|
|
38
|
+
let s = i.createElement("div");
|
|
39
|
+
s.setAttribute("class", "n3-pane"), o(s);
|
|
40
|
+
let c = a.statementsMatching(void 0, void 0, void 0, e), l = t.Serializer(a);
|
|
41
|
+
l.suggestNamespaces(a.namespaces), l.setBase(e.uri);
|
|
42
|
+
let u = l.statementsToN3(c), d = i.createElement("div");
|
|
43
|
+
return d.classList.add("n3-pane__source"), u.split("\n").forEach((e) => {
|
|
44
|
+
let t = i.createElement("div"), n = r(e);
|
|
45
|
+
t.classList.add("n3-pane__line"), t.style.setProperty("--n3-indent", `${n}ch`), t.textContent = e.length > 0 ? e : " ", d.appendChild(t);
|
|
46
|
+
}), s.appendChild(d), s;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { i as n3Pane };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=n3Pane2.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n3Pane2.esm.js","names":[],"sources":["../src/n3Pane.ts"],"sourcesContent":["/* Notation3 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 ** in generated N3 syntax.\n */\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type { NamedNode, Statement } from 'rdflib'\nimport './n3Pane.css'\n\nconst ns = UI.ns\n\ntype N3PaneLike = {\n icon: string\n name: string\n audience: NamedNode[]\n label: (subject: NamedNode, context: DataBrowserContext) => string | null\n render: (subject: NamedNode, context: DataBrowserContext) => HTMLDivElement\n}\n\nfunction leadingIndentWidth (line: string): number {\n if (line.trim().length === 0) {\n return 0\n }\n\n let width = 0\n for (const character of line) {\n if (character === ' ') {\n width += 1\n continue\n }\n if (character === '\\t') {\n width += 2\n continue\n }\n break\n }\n return Math.max(width, 2)\n}\n\nexport const n3Pane: N3PaneLike = {\n icon: UI.icons.originalIconBase + 'w3c/n3_smaller.png',\n\n name: 'n3',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext): string | null {\n const store = context.session.store\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n store.findTypeURIs(subject)\n ) {\n return null\n }\n const n = store.statementsMatching(undefined, undefined, undefined, subject)\n .length\n if (n === 0) return null\n return 'Data (' + n + ') as N3'\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n const kb = context.session.store\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 div = myDocument.createElement('div')\n div.setAttribute('class', 'n3-pane')\n applyEnvironmentAttributes(div)\n // Because of smushing etc, this will not be a copy of the original source\n // We could instead either fetch and re-parse the source,\n // or we could keep all the pre-smushed triples.\n const sts = kb.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ) as Statement[] // @@ slow with current store!\n /*\n var kludge = kb.formula([]) // No features\n for (var i=0; i< sts.length; i++) {\n s = sts[i]\n kludge.add(s.subject, s.predicate, s.object)\n }\n */\n const sz = $rdf.Serializer(kb)\n sz.suggestNamespaces(kb.namespaces)\n sz.setBase(subject.uri)\n const str = sz.statementsToN3(sts)\n const source = myDocument.createElement('div')\n source.classList.add('n3-pane__source')\n\n str.split('\\n').forEach(line => {\n const lineElement = myDocument.createElement('div')\n const indentWidth = leadingIndentWidth(line)\n lineElement.classList.add('n3-pane__line')\n lineElement.style.setProperty('--n3-indent', `${indentWidth}ch`)\n lineElement.textContent = line.length > 0 ? line : ' '\n source.appendChild(lineElement)\n })\n\n div.appendChild(source)\n return div\n }\n}\n"],"mappings":";;;;AAYA,IAAM,IAAK,EAAG;AAUd,SAAS,EAAoB,GAAsB;CACjD,IAAI,EAAK,KAAK,CAAC,CAAC,WAAW,GACzB,OAAO;CAGT,IAAI,IAAQ;CACZ,KAAK,IAAM,KAAa,GAAM;EAC5B,IAAI,MAAc,KAAK;GACrB,KAAS;GACT;EACF;EACA,IAAI,MAAc,KAAM;GACtB,KAAS;GACT;EACF;EACA;CACF;CACA,OAAO,KAAK,IAAI,GAAO,CAAC;AAC1B;AAEA,IAAa,IAAqB;CAChC,MAAM,EAAG,MAAM,mBAAmB;CAElC,MAAM;CAEN,UAAU,CAAC,EAAG,MAAM,WAAW,CAAC;CAEhC,OAAO,SAAU,GAAoB,GAA4C;EAC/E,IAAM,IAAQ,EAAQ,QAAQ;EAC9B,IACE,mDACA,EAAM,aAAa,CAAO,GAE1B,OAAO;EAET,IAAM,IAAI,EAAM,mBAAmB,KAAA,GAAW,KAAA,GAAW,KAAA,GAAW,CAAO,CAAC,CACzE;EAEH,OADI,MAAM,IAAU,OACb,WAAW,IAAI;CACxB;CAEA,QAAQ,SACN,GACA,GACgB;EAChB,IAAM,IAAa,EAAQ,KACrB,IAAK,EAAQ,QAAQ;EAE3B,SAAS,EAA4B,GAA+B;GAClE,IAAM,IAAe,EAAQ,eAAe,CAAC;GAC7C,EAAQ,QAAQ,SAAS,EAAY,UAAU;EACjD;EAEA,IAAM,IAAM,EAAW,cAAc,KAAK;EAE1C,AADA,EAAI,aAAa,SAAS,SAAS,GACnC,EAA2B,CAAG;EAI9B,IAAM,IAAM,EAAG,mBACb,KAAA,GACA,KAAA,GACA,KAAA,GACA,CACF,GAQM,IAAK,EAAK,WAAW,CAAE;EAE7B,AADA,EAAG,kBAAkB,EAAG,UAAU,GAClC,EAAG,QAAQ,EAAQ,GAAG;EACtB,IAAM,IAAM,EAAG,eAAe,CAAG,GAC3B,IAAS,EAAW,cAAc,KAAK;EAa7C,OAZA,EAAO,UAAU,IAAI,iBAAiB,GAEtC,EAAI,MAAM,IAAI,CAAC,CAAC,SAAQ,MAAQ;GAC9B,IAAM,IAAc,EAAW,cAAc,KAAK,GAC5C,IAAc,EAAmB,CAAI;GAI3C,AAHA,EAAY,UAAU,IAAI,eAAe,GACzC,EAAY,MAAM,YAAY,eAAe,GAAG,EAAY,GAAG,GAC/D,EAAY,cAAc,EAAK,SAAS,IAAI,IAAO,KACnD,EAAO,YAAY,CAAW;EAChC,CAAC,GAED,EAAI,YAAY,CAAM,GACf;CACT;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.cjs.js","names":[],"sources":["../../src/outline/context.ts"],"sourcesContent":["import { DataBrowserContext, PaneRegistry, RenderEnvironment } from 'pane-registry'\nimport { getOutliner } from '../index'\nimport { SolidLogic } from 'solid-logic'\nimport { LiveStore } from 'rdflib'\n\nexport function createContext (\n dom: HTMLDocument,\n paneRegistry: PaneRegistry,\n store: LiveStore,\n logic: SolidLogic,\n environment?: RenderEnvironment\n): DataBrowserContext {\n return {\n dom,\n getOutliner,\n session: {\n paneRegistry,\n // @ts-ignore\n store,\n // @ts-ignore\n logic\n },\n environment\n }\n}\n"],"mappings":"mCAKA,SAAgB,EACd,EACA,EACA,EACA,EACA,EACoB,CACpB,MAAO,CACL,MACA,YAAA,EAAA,YACA,QAAS,CACP,eAEA,QAEA,OACF,EACA,aACF,CACF"}
|