solid-panes 3.7.3-1bd42721 → 3.7.3-322e9b27
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/Documentation/VisualLanguage.html +538 -0
- package/Documentation/conventions.md +333 -0
- package/coverage/clover.xml +152 -0
- package/coverage/coverage-final.json +6 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +131 -0
- package/coverage/lcov-report/outline/index.html +161 -0
- package/coverage/lcov-report/outline/outlineIcons.js.html +565 -0
- package/coverage/lcov-report/outline/propertyViews.ts.html +196 -0
- package/coverage/lcov-report/outline/viewAsImage.ts.html +121 -0
- package/coverage/lcov-report/outline/viewAsMbox.ts.html +127 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/trustedApplications/index.html +116 -0
- package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +238 -0
- package/coverage/lcov.info +204 -0
- package/dev/index.html +28 -0
- package/dev/loader.ts +91 -0
- package/dev/pane/index.ts +10 -0
- package/doc/images/panes-for-classes.epgz +0 -0
- package/doc/images/panes-for-classes.svg +609 -0
- package/eslint.config.mjs +34 -0
- package/jest.config.js +27 -0
- package/jest.setup.ts +4 -0
- package/lib/RDFXMLPane.js +59 -0
- package/lib/RDFXMLPane.js.map +1 -0
- package/{dist → lib}/argument/argumentPane.js +15 -14
- package/lib/argument/argumentPane.js.map +1 -0
- package/{dist → lib}/attach/attachPane.js +93 -83
- package/lib/attach/attachPane.js.map +1 -0
- package/{dist → lib}/audio/audioPane.js +50 -49
- package/lib/audio/audioPane.js.map +1 -0
- package/{dist → lib}/classInstancePane.js +24 -23
- package/lib/classInstancePane.js.map +1 -0
- package/lib/dashboard/basicPreferences.js +229 -0
- package/lib/dashboard/basicPreferences.js.map +1 -0
- package/lib/dashboard/dashboardPane.js +73 -0
- package/lib/dashboard/dashboardPane.js.map +1 -0
- package/lib/dashboard/homepage.js +86 -0
- package/lib/dashboard/homepage.js.map +1 -0
- package/{dist → lib}/dataContentPane.js +63 -63
- package/lib/dataContentPane.js.map +1 -0
- package/{dist → lib}/defaultPane.js +15 -14
- package/lib/defaultPane.js.map +1 -0
- package/{dist → lib}/dokieli/dokieliPane.js +53 -49
- package/lib/dokieli/dokieliPane.js.map +1 -0
- package/lib/dokieli/new.js +9 -0
- package/lib/dokieli/new.js.map +1 -0
- package/{dist → lib}/form/pane.js +45 -44
- package/lib/form/pane.js.map +1 -0
- package/lib/global.d.js +2 -0
- package/lib/global.d.js.map +1 -0
- package/lib/home/homePane.js +91 -0
- package/lib/home/homePane.js.map +1 -0
- package/lib/humanReadablePane.js +138 -0
- package/lib/humanReadablePane.js.map +1 -0
- package/lib/imagePane.js +71 -0
- package/lib/imagePane.js.map +1 -0
- package/lib/index.js +112 -0
- package/lib/index.js.map +1 -0
- package/lib/internal/internalPane.js +184 -0
- package/lib/internal/internalPane.js.map +1 -0
- package/lib/mainPage/footer.js +22 -0
- package/lib/mainPage/footer.js.map +1 -0
- package/lib/mainPage/header.js +152 -0
- package/lib/mainPage/header.js.map +1 -0
- package/{dist → lib}/mainPage/index.d.ts.map +1 -1
- package/lib/mainPage/index.js +42 -0
- package/lib/mainPage/index.js.map +1 -0
- package/{dist → lib}/microblogPane/microblogPane.js +262 -261
- package/lib/microblogPane/microblogPane.js.map +1 -0
- package/lib/n3Pane.js +57 -0
- package/lib/n3Pane.js.map +1 -0
- package/lib/outline/context.js +19 -0
- package/lib/outline/context.js.map +1 -0
- package/lib/outline/manager.js +2264 -0
- package/lib/outline/manager.js.map +1 -0
- package/lib/outline/manager.test.d.ts +2 -0
- package/lib/outline/manager.test.d.ts.map +1 -0
- package/lib/outline/manager.test.js +210 -0
- package/lib/outline/manager.test.js.map +1 -0
- package/{dist → lib}/outline/outlineIcons.js +3 -2
- package/lib/outline/outlineIcons.js.map +1 -0
- package/lib/outline/propertyViews.js +44 -0
- package/lib/outline/propertyViews.js.map +1 -0
- package/lib/outline/propertyViews.test.d.ts +2 -0
- package/lib/outline/propertyViews.test.d.ts.map +1 -0
- package/lib/outline/propertyViews.test.js +27 -0
- package/lib/outline/propertyViews.test.js.map +1 -0
- package/{dist → lib}/outline/queryByExample.js +31 -30
- package/lib/outline/queryByExample.js.map +1 -0
- package/{dist → lib}/outline/userInput.js +260 -262
- package/lib/outline/userInput.js.map +1 -0
- package/lib/outline/viewAsImage.js +17 -0
- package/lib/outline/viewAsImage.js.map +1 -0
- package/{dist → lib}/outline/viewAsMbox.js +14 -4
- package/lib/outline/viewAsMbox.js.map +1 -0
- package/lib/pad/padPane.js +417 -0
- package/lib/pad/padPane.js.map +1 -0
- package/{dist → lib}/playlist/playlistPane.js +37 -36
- package/lib/playlist/playlistPane.js.map +1 -0
- package/{dist → lib}/registerPanes.js +29 -29
- package/lib/registerPanes.js.map +1 -0
- package/lib/schedule/formsForSchedule.js +8 -0
- package/{dist → lib}/schedule/formsForSchedule.js.map +1 -1
- package/{dist → lib}/schedule/schedulePane.js +177 -171
- package/lib/schedule/schedulePane.js.map +1 -0
- package/lib/sharing/sharingPane.js +49 -0
- package/lib/sharing/sharingPane.js.map +1 -0
- package/lib/slideshow/slideshowPane.js +84 -0
- package/lib/slideshow/slideshowPane.js.map +1 -0
- package/{dist → lib}/socialPane.js +142 -141
- package/lib/socialPane.js.map +1 -0
- package/lib/tabbed/tabbedPane.js +72 -0
- package/lib/tabbed/tabbedPane.js.map +1 -0
- package/{dist → lib}/tableViewPane.js +9 -8
- package/lib/tableViewPane.js.map +1 -0
- package/lib/test-import-export/common.js +12 -0
- package/lib/test-import-export/common.js.map +1 -0
- package/lib/test-import-export/edit-importer.js +25 -0
- package/lib/test-import-export/edit-importer.js.map +1 -0
- package/lib/test-import-export/testImportExport.js +2 -0
- package/lib/test-import-export/testImportExport.js.map +1 -0
- package/{dist → lib}/transaction/pane.js +118 -117
- package/lib/transaction/pane.js.map +1 -0
- package/{dist → lib}/transaction/period.js +83 -82
- package/lib/transaction/period.js.map +1 -0
- package/{dist → lib}/trip/tripPane.js +48 -47
- package/lib/trip/tripPane.js.map +1 -0
- package/lib/trustedApplications/trustedApplications.dom.js +177 -0
- package/lib/trustedApplications/trustedApplications.dom.js.map +1 -0
- package/lib/trustedApplications/trustedApplications.test.d.ts +2 -0
- package/lib/trustedApplications/trustedApplications.test.d.ts.map +1 -0
- package/lib/trustedApplications/trustedApplications.test.js +64 -0
- package/lib/trustedApplications/trustedApplications.test.js.map +1 -0
- package/lib/trustedApplications/trustedApplications.utils.js +34 -0
- package/lib/trustedApplications/trustedApplications.utils.js.map +1 -0
- package/lib/trustedApplications/trustedApplications.view.js +87 -0
- package/lib/trustedApplications/trustedApplications.view.js.map +1 -0
- package/lib/types.js +6 -0
- package/lib/types.js.map +1 -0
- package/{dist → lib}/ui/pane.js +31 -30
- package/lib/ui/pane.js.map +1 -0
- package/lib/versionInfo.d.ts +32 -0
- package/lib/versionInfo.d.ts.map +1 -0
- package/lib/versionInfo.js +37 -0
- package/lib/versionInfo.js.map +1 -0
- package/lib/video/videoPane.js +44 -0
- package/lib/video/videoPane.js.map +1 -0
- package/package.json +13 -26
- package/src/RDFXMLPane.js +60 -0
- package/src/argument/argumentPane.js +65 -0
- package/src/argument/argument_icon_v04.jpg +0 -0
- package/src/argument/icon_argument.png +0 -0
- package/src/argument/transparentyingyang.png +0 -0
- package/src/attach/attachPane.js +508 -0
- package/src/attach/tbl-paperclip-128.png +0 -0
- package/src/attach/tbl-paperclip-22.png +0 -0
- package/src/attach/tbl-paperclip-22a.png +0 -0
- package/src/audio/audioPane.js +197 -0
- package/src/chatPreferencesForm.ttl +12 -0
- package/src/classInstancePane.js +110 -0
- package/src/dashboard/basicPreferences.ts +201 -0
- package/src/dashboard/dashboardPane.ts +83 -0
- package/src/dashboard/homepage.ts +72 -0
- package/src/dashboard/languages/codes.html +8611 -0
- package/src/dashboard/languages/codes.xml +3563 -0
- package/src/dashboard/languages/codes2.txt +170 -0
- package/src/dashboard/languages/foo +70 -0
- package/src/dashboard/languages/foo.ttl +0 -0
- package/src/dashboard/languages/get-language-names.sh +12 -0
- package/src/dashboard/ontologyData.ttl +35 -0
- package/src/dashboard/preferencesFormText.ttl +18 -0
- package/src/dataContentPane.js +290 -0
- package/src/defaultPane.js +102 -0
- package/src/dokieli/Makefile +6 -0
- package/src/dokieli/dokieliPane.js +190 -0
- package/src/dokieli/new.html +30 -0
- package/{dist → src}/dokieli/new.js +3 -9
- package/src/form/form-22.png +0 -0
- package/src/form/form-b-22.png +0 -0
- package/src/form/form.graffle +0 -0
- package/src/form/form.png +0 -0
- package/src/form/pane.js +217 -0
- package/src/form/psuedocode-notes.txt +57 -0
- package/src/global.d.ts +4 -0
- package/src/home/homePane.ts +72 -0
- package/src/humanReadablePane.js +150 -0
- package/src/imagePane.js +75 -0
- package/src/index.ts +71 -0
- package/src/internal/internalPane.ts +263 -0
- package/src/mainPage/footer.ts +19 -0
- package/src/mainPage/header.ts +79 -0
- package/src/mainPage/index.ts +20 -0
- package/src/meeting/Makefile +3 -0
- package/src/meeting/test/meeting1/Actions/actions.ttl +14 -0
- package/src/meeting/test/meeting1/Actions/config.ttl +16 -0
- package/src/meeting/test/meeting1/Actions/state.ttl +30 -0
- package/src/meeting/test/meeting1/Schedule/details.ttl +34 -0
- package/src/meeting/test/meeting1/Schedule/details.ttl.acl +20 -0
- package/src/meeting/test/meeting1/Schedule/forms.ttl +75 -0
- package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +20 -0
- package/src/meeting/test/meeting1/Schedule/index.html +72 -0
- package/src/meeting/test/meeting1/Schedule/index.html.acl +20 -0
- package/src/meeting/test/meeting1/Schedule/results.ttl +15 -0
- package/src/meeting/test/meeting1/Schedule/results.ttl.acl +20 -0
- package/src/meeting/test/meeting1/SharedNotes/pad.ttl +23 -0
- package/src/meeting/test/meeting1/chat/chat.ttl +1 -0
- package/src/meeting/test/meeting1/details.ttl +35 -0
- package/src/meeting/test/meeting1/pad/pad.ttl +16 -0
- package/src/microblogPane/mbStyle.css +267 -0
- package/src/microblogPane/microblogPane.js +1412 -0
- package/src/n3Pane.js +56 -0
- package/src/outline/context.ts +21 -0
- package/src/outline/manager.js +2384 -0
- package/src/outline/manager.test.ts +189 -0
- package/src/outline/outlineIcons.js +160 -0
- package/src/outline/propertyViews.test.ts +36 -0
- package/src/outline/propertyViews.ts +37 -0
- package/src/outline/queryByExample.js +296 -0
- package/src/outline/userInput.js +2373 -0
- package/src/outline/viewAsImage.ts +12 -0
- package/src/outline/viewAsMbox.ts +14 -0
- package/src/pad/images/ColourOff.ai +873 -1
- package/src/pad/images/ColourOff.png +0 -0
- package/src/pad/images/ColourOn.ai +934 -2
- package/src/pad/images/ColourOn.png +0 -0
- package/src/pad/padPane.ts +559 -0
- package/src/playlist/playlistPane.js +161 -0
- package/src/registerPanes.js +147 -0
- package/src/schedule/Makefile +6 -0
- package/{dist → src}/schedule/formsForSchedule.js +2 -9
- package/src/schedule/formsForSchedule.ttl +115 -0
- package/src/schedule/schedulePane.js +1201 -0
- package/src/sharing/sharingPane.ts +49 -0
- package/src/slideshow/slideshowPane.js +80 -0
- package/src/socialPane.js +523 -0
- package/src/style/tabbedtab.css +1347 -0
- package/src/tabbed/tabbedPane.ts +60 -0
- package/src/tableViewPane.js +51 -0
- package/src/test-import-export/common.js +6 -0
- package/src/test-import-export/edit-importer.js +20 -0
- package/src/test-import-export/testImportExport.js +0 -0
- package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
- package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
- package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
- package/src/transaction/pane.js +629 -0
- package/src/transaction/period.js +374 -0
- package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
- package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
- package/src/trip/tripPane.js +176 -0
- package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +176 -0
- package/src/trustedApplications/trustedApplications.dom.ts +276 -0
- package/src/trustedApplications/trustedApplications.test.ts +82 -0
- package/src/trustedApplications/trustedApplications.utils.ts +51 -0
- package/src/trustedApplications/trustedApplications.view.ts +80 -0
- package/src/types.ts +34 -0
- package/src/ui/22-builder.png +0 -0
- package/src/ui/builder.graffle +0 -0
- package/src/ui/builder.png +0 -0
- package/src/ui/builder2.png +0 -0
- package/src/ui/pane.js +226 -0
- package/src/versionInfo.ts +30 -0
- package/src/video/videoPane.js +44 -0
- package/timestamp.sh +13 -0
- package/travis/bumpversion.js +29 -0
- package/tsconfig.json +78 -0
- package/typings/raw-loader.d.ts +4 -0
- package/typings/solid-namespace/index.d.ts +9 -0
- package/webpack.config.js +41 -0
- package/dist/RDFXMLPane.js +0 -58
- package/dist/RDFXMLPane.js.map +0 -1
- package/dist/argument/argumentPane.js.map +0 -1
- package/dist/attach/attachPane.js.map +0 -1
- package/dist/audio/audioPane.js.map +0 -1
- package/dist/classInstancePane.js.map +0 -1
- package/dist/dashboard/basicPreferences.js +0 -155
- package/dist/dashboard/basicPreferences.js.map +0 -1
- package/dist/dashboard/dashboardPane.js +0 -63
- package/dist/dashboard/dashboardPane.js.map +0 -1
- package/dist/dashboard/homepage.js +0 -63
- package/dist/dashboard/homepage.js.map +0 -1
- package/dist/dataContentPane.js.map +0 -1
- package/dist/defaultPane.js.map +0 -1
- package/dist/dokieli/dokieliPane.js.map +0 -1
- package/dist/dokieli/new.js.map +0 -1
- package/dist/form/pane.js.map +0 -1
- package/dist/home/homePane.js +0 -68
- package/dist/home/homePane.js.map +0 -1
- package/dist/humanReadablePane.js +0 -135
- package/dist/humanReadablePane.js.map +0 -1
- package/dist/imagePane.js +0 -70
- package/dist/imagePane.js.map +0 -1
- package/dist/index.js +0 -48
- package/dist/index.js.map +0 -1
- package/dist/internal/internalPane.js +0 -195
- package/dist/internal/internalPane.js.map +0 -1
- package/dist/mainPage/footer.js +0 -16
- package/dist/mainPage/footer.js.map +0 -1
- package/dist/mainPage/header.js +0 -84
- package/dist/mainPage/header.js.map +0 -1
- package/dist/mainPage/index.js +0 -30
- package/dist/mainPage/index.js.map +0 -1
- package/dist/microblogPane/microblogPane.js.map +0 -1
- package/dist/n3Pane.js +0 -56
- package/dist/n3Pane.js.map +0 -1
- package/dist/outline/context.js +0 -13
- package/dist/outline/context.js.map +0 -1
- package/dist/outline/manager.js +0 -1997
- package/dist/outline/manager.js.map +0 -1
- package/dist/outline/outlineIcons.js.map +0 -1
- package/dist/outline/propertyViews.js +0 -33
- package/dist/outline/propertyViews.js.map +0 -1
- package/dist/outline/queryByExample.js.map +0 -1
- package/dist/outline/userInput.js.map +0 -1
- package/dist/outline/viewAsImage.js +0 -7
- package/dist/outline/viewAsImage.js.map +0 -1
- package/dist/outline/viewAsMbox.js.map +0 -1
- package/dist/pad/padPane.js +0 -420
- package/dist/pad/padPane.js.map +0 -1
- package/dist/playlist/playlistPane.js.map +0 -1
- package/dist/registerPanes.js.map +0 -1
- package/dist/schedule/schedulePane.js.map +0 -1
- package/dist/sharing/sharingPane.js +0 -45
- package/dist/sharing/sharingPane.js.map +0 -1
- package/dist/slideshow/slideshowPane.js +0 -80
- package/dist/slideshow/slideshowPane.js.map +0 -1
- package/dist/socialPane.js.map +0 -1
- package/dist/tabbed/tabbedPane.js +0 -55
- package/dist/tabbed/tabbedPane.js.map +0 -1
- package/dist/tableViewPane.js.map +0 -1
- package/dist/transaction/pane.js.map +0 -1
- package/dist/transaction/period.js.map +0 -1
- package/dist/trip/tripPane.js.map +0 -1
- package/dist/trustedApplications/trustedApplications.dom.js +0 -158
- package/dist/trustedApplications/trustedApplications.dom.js.map +0 -1
- package/dist/trustedApplications/trustedApplications.utils.js +0 -24
- package/dist/trustedApplications/trustedApplications.utils.js.map +0 -1
- package/dist/trustedApplications/trustedApplications.view.js +0 -62
- package/dist/trustedApplications/trustedApplications.view.js.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/ui/pane.js.map +0 -1
- package/dist/versionInfo.js +0 -31
- package/dist/versionInfo.js.map +0 -1
- package/dist/video/videoPane.js +0 -43
- package/dist/video/videoPane.js.map +0 -1
- /package/{dist → lib}/dashboard/basicPreferences.d.ts +0 -0
- /package/{dist → lib}/dashboard/basicPreferences.d.ts.map +0 -0
- /package/{dist → lib}/dashboard/dashboardPane.d.ts +0 -0
- /package/{dist → lib}/dashboard/dashboardPane.d.ts.map +0 -0
- /package/{dist → lib}/dashboard/homepage.d.ts +0 -0
- /package/{dist → lib}/dashboard/homepage.d.ts.map +0 -0
- /package/{dist → lib}/home/homePane.d.ts +0 -0
- /package/{dist → lib}/home/homePane.d.ts.map +0 -0
- /package/{dist → lib}/index.d.ts +0 -0
- /package/{dist → lib}/index.d.ts.map +0 -0
- /package/{dist → lib}/internal/internalPane.d.ts +0 -0
- /package/{dist → lib}/internal/internalPane.d.ts.map +0 -0
- /package/{dist → lib}/mainPage/footer.d.ts +0 -0
- /package/{dist → lib}/mainPage/footer.d.ts.map +0 -0
- /package/{dist → lib}/mainPage/header.d.ts +0 -0
- /package/{dist → lib}/mainPage/header.d.ts.map +0 -0
- /package/{dist → lib}/mainPage/index.d.ts +0 -0
- /package/{dist → lib}/outline/context.d.ts +0 -0
- /package/{dist → lib}/outline/context.d.ts.map +0 -0
- /package/{dist → lib}/outline/propertyViews.d.ts +0 -0
- /package/{dist → lib}/outline/propertyViews.d.ts.map +0 -0
- /package/{dist → lib}/outline/viewAsImage.d.ts +0 -0
- /package/{dist → lib}/outline/viewAsImage.d.ts.map +0 -0
- /package/{dist → lib}/outline/viewAsMbox.d.ts +0 -0
- /package/{dist → lib}/outline/viewAsMbox.d.ts.map +0 -0
- /package/{dist → lib}/pad/padPane.d.ts +0 -0
- /package/{dist → lib}/pad/padPane.d.ts.map +0 -0
- /package/{dist → lib}/sharing/sharingPane.d.ts +0 -0
- /package/{dist → lib}/sharing/sharingPane.d.ts.map +0 -0
- /package/{dist → lib}/tabbed/tabbedPane.d.ts +0 -0
- /package/{dist → lib}/tabbed/tabbedPane.d.ts.map +0 -0
- /package/{dist → lib}/trustedApplications/trustedApplications.dom.d.ts +0 -0
- /package/{dist → lib}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
- /package/{dist → lib}/trustedApplications/trustedApplications.utils.d.ts +0 -0
- /package/{dist → lib}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
- /package/{dist → lib}/trustedApplications/trustedApplications.view.d.ts +0 -0
- /package/{dist → lib}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
- /package/{dist → lib}/types.d.ts +0 -0
- /package/{dist → lib}/types.d.ts.map +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -7,29 +8,28 @@ exports.schedulePane = void 0;
|
|
|
7
8
|
var UI = _interopRequireWildcard(require("solid-ui"));
|
|
8
9
|
var _solidLogic = require("solid-logic");
|
|
9
10
|
var _formsForSchedule = _interopRequireDefault(require("./formsForSchedule.js"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" !=
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
13
|
/* Scheduler Pane
|
|
13
14
|
**
|
|
14
15
|
**
|
|
15
16
|
*/
|
|
16
17
|
/* global alert */
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
var $rdf = UI.rdf;
|
|
20
|
+
var ns = UI.ns;
|
|
21
21
|
// @@ Give other combos too-- see schedule ontology
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
var possibleAvailabilities = [ns.sched('No'), ns.sched('Maybe'), ns.sched('Yes')];
|
|
23
|
+
var schedulePane = exports.schedulePane = {
|
|
24
24
|
icon: UI.icons.iconBase + 'noun_346777.svg',
|
|
25
25
|
// @@ better?
|
|
26
26
|
|
|
27
27
|
name: 'schedule',
|
|
28
28
|
audience: [ns.solid('PowerUser')],
|
|
29
29
|
// Does the subject deserve an Scheduler pane?
|
|
30
|
-
label: function (subject, context) {
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
label: function label(subject, context) {
|
|
31
|
+
var kb = context.session.store;
|
|
32
|
+
var t = kb.findTypeURIs(subject);
|
|
33
33
|
if (t['http://www.w3.org/ns/pim/schedule#SchedulableEvent']) {
|
|
34
34
|
return 'Scheduling poll';
|
|
35
35
|
}
|
|
@@ -37,13 +37,13 @@ const schedulePane = exports.schedulePane = {
|
|
|
37
37
|
},
|
|
38
38
|
// Mint a new Schedule poll
|
|
39
39
|
mintClass: ns.sched('SchedulableEvent'),
|
|
40
|
-
mintNew: function (context, options) {
|
|
40
|
+
mintNew: function mintNew(context, options) {
|
|
41
41
|
return new Promise(function (resolve, reject) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
var ns = UI.ns;
|
|
43
|
+
var kb = context.session.store;
|
|
44
|
+
var newBase = options.newBase;
|
|
45
|
+
var thisInstance = options.useExisting || $rdf.sym(options.newBase + 'index.ttl#this');
|
|
46
|
+
var complainIfBad = function complainIfBad(ok, body) {
|
|
47
47
|
if (ok) return;
|
|
48
48
|
console.log('Error in Schedule Pane: Error constructing new scheduler: ' + body);
|
|
49
49
|
reject(new Error(body));
|
|
@@ -54,12 +54,12 @@ const schedulePane = exports.schedulePane = {
|
|
|
54
54
|
// Two constiations of ACL for this app, public read and public read/write
|
|
55
55
|
// In all cases owner has read write control
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
var genACLtext = function genACLtext(docURI, aclURI, allWrite) {
|
|
58
|
+
var g = $rdf.graph();
|
|
59
|
+
var auth = $rdf.Namespace('http://www.w3.org/ns/auth/acl#');
|
|
60
|
+
var a = g.sym(aclURI + '#a1');
|
|
61
|
+
var acl = g.sym(aclURI);
|
|
62
|
+
var doc = g.sym(docURI);
|
|
63
63
|
g.add(a, UI.ns.rdf('type'), auth('Authorization'), acl);
|
|
64
64
|
g.add(a, auth('accessTo'), doc, acl);
|
|
65
65
|
g.add(a, auth('agent'), me, acl);
|
|
@@ -84,49 +84,53 @@ const schedulePane = exports.schedulePane = {
|
|
|
84
84
|
}
|
|
85
85
|
*/
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
var setACL2 = function setACL2(docURI, allWrite, callbackFunction) {
|
|
88
|
+
var aclDoc = kb.any(kb.sym(docURI), kb.sym('http://www.iana.org/assignments/link-relations/acl')); // @@ check that this get set by web.js
|
|
89
89
|
|
|
90
90
|
if (aclDoc) {
|
|
91
91
|
// Great we already know where it is
|
|
92
|
-
|
|
92
|
+
var aclText = genACLtext(docURI, aclDoc.uri, allWrite);
|
|
93
93
|
return fetcher.webOperation('PUT', aclDoc.uri, {
|
|
94
94
|
data: aclText,
|
|
95
95
|
contentType: 'text/turtle'
|
|
96
|
-
}).then(
|
|
96
|
+
}).then(function (_result) {
|
|
97
|
+
return callbackFunction(true);
|
|
98
|
+
})["catch"](function (err) {
|
|
97
99
|
callbackFunction(false, err.message);
|
|
98
100
|
});
|
|
99
101
|
} else {
|
|
100
|
-
return fetcher.load(docURI)
|
|
102
|
+
return fetcher.load(docURI)["catch"](function (err) {
|
|
101
103
|
callbackFunction(false, 'Getting headers for ACL: ' + err);
|
|
102
|
-
}).then(()
|
|
103
|
-
|
|
104
|
+
}).then(function () {
|
|
105
|
+
var aclDoc = kb.any(kb.sym(docURI), kb.sym('http://www.iana.org/assignments/link-relations/acl'));
|
|
104
106
|
if (!aclDoc) {
|
|
105
107
|
// complainIfBad(false, "No Link rel=ACL header for " + docURI)
|
|
106
108
|
throw new Error('No Link rel=ACL header for ' + docURI);
|
|
107
109
|
}
|
|
108
|
-
|
|
110
|
+
var aclText = genACLtext(docURI, aclDoc.uri, allWrite);
|
|
109
111
|
return fetcher.webOperation('PUT', aclDoc.uri, {
|
|
110
112
|
data: aclText,
|
|
111
113
|
contentType: 'text/turtle'
|
|
112
114
|
});
|
|
113
|
-
}).then(
|
|
115
|
+
}).then(function (_result) {
|
|
116
|
+
return callbackFunction(true);
|
|
117
|
+
})["catch"](function (err) {
|
|
114
118
|
callbackFunction(false, err.message);
|
|
115
119
|
});
|
|
116
120
|
}
|
|
117
121
|
};
|
|
118
122
|
|
|
119
123
|
// Body of mintNew
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
var fetcher = kb.fetcher;
|
|
125
|
+
var updater = kb.updater;
|
|
126
|
+
var me = options.me || _solidLogic.authn.currentUser();
|
|
123
127
|
if (!me) {
|
|
124
128
|
console.log('MUST BE LOGGED IN');
|
|
125
129
|
alert('NOT LOGGED IN');
|
|
126
130
|
return;
|
|
127
131
|
}
|
|
128
|
-
|
|
129
|
-
|
|
132
|
+
var base = thisInstance.dir().uri;
|
|
133
|
+
var newDetailsDoc, newInstance; // , newIndexDoc
|
|
130
134
|
|
|
131
135
|
if (options.useExisting) {
|
|
132
136
|
newInstance = options.useExisting;
|
|
@@ -141,21 +145,21 @@ const schedulePane = exports.schedulePane = {
|
|
|
141
145
|
// newIndexDoc = kb.sym(newBase + 'index.html')
|
|
142
146
|
newInstance = kb.sym(newDetailsDoc.uri + '#event');
|
|
143
147
|
}
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
var newResultsDoc = kb.sym(newBase + 'results.ttl');
|
|
149
|
+
var toBeCopied = options.noIndexHTML ? {} : [{
|
|
146
150
|
local: 'index.html',
|
|
147
151
|
contentType: 'text/html'
|
|
148
152
|
}];
|
|
149
|
-
|
|
153
|
+
var agenda = [];
|
|
150
154
|
|
|
151
155
|
// @@ This needs some form of visible progress bar
|
|
152
|
-
for (
|
|
153
|
-
|
|
154
|
-
|
|
156
|
+
for (var f = 0; f < toBeCopied.length; f++) {
|
|
157
|
+
var item = toBeCopied[f];
|
|
158
|
+
var fun = function copyItem(item) {
|
|
155
159
|
agenda.push(function () {
|
|
156
|
-
|
|
160
|
+
var newURI = newBase + item.local;
|
|
157
161
|
console.log('Copying ' + base + item.local + ' to ' + newURI);
|
|
158
|
-
|
|
162
|
+
var setThatACL = function setThatACL() {
|
|
159
163
|
setACL2(newURI, false, function (ok, message) {
|
|
160
164
|
if (!ok) {
|
|
161
165
|
complainIfBad(ok, 'FAILED to set ACL ' + newURI + ' : ' + message);
|
|
@@ -165,10 +169,12 @@ const schedulePane = exports.schedulePane = {
|
|
|
165
169
|
}
|
|
166
170
|
});
|
|
167
171
|
};
|
|
168
|
-
kb.fetcher.webCopy(base + item.local, newBase + item.local, item.contentType).then(
|
|
172
|
+
kb.fetcher.webCopy(base + item.local, newBase + item.local, item.contentType).then(function () {
|
|
173
|
+
return _solidLogic.authn.checkUser();
|
|
174
|
+
}).then(function (webId) {
|
|
169
175
|
me = webId;
|
|
170
176
|
setThatACL();
|
|
171
|
-
})
|
|
177
|
+
})["catch"](function (err) {
|
|
172
178
|
console.log('FAILED to copy ' + base + item.local + ' : ' + err.message);
|
|
173
179
|
complainIfBad(false, 'FAILED to copy ' + base + item.local + ' : ' + err.message);
|
|
174
180
|
});
|
|
@@ -197,9 +203,9 @@ const schedulePane = exports.schedulePane = {
|
|
|
197
203
|
kb.fetcher.webOperation('PUT', newResultsDoc.uri, {
|
|
198
204
|
data: '',
|
|
199
205
|
contentType: 'text/turtle'
|
|
200
|
-
}).then(()
|
|
206
|
+
}).then(function () {
|
|
201
207
|
agenda.shift()();
|
|
202
|
-
})
|
|
208
|
+
})["catch"](function (err) {
|
|
203
209
|
complainIfBad(false, 'Failed to initialize empty results file: ' + err.message);
|
|
204
210
|
});
|
|
205
211
|
});
|
|
@@ -228,55 +234,55 @@ const schedulePane = exports.schedulePane = {
|
|
|
228
234
|
// mintNew
|
|
229
235
|
|
|
230
236
|
// Render one meeting schedule poll
|
|
231
|
-
render: function (subject, context) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
+
render: function render(subject, context) {
|
|
238
|
+
var dom = context.dom;
|
|
239
|
+
var kb = context.session.store;
|
|
240
|
+
var ns = UI.ns;
|
|
241
|
+
var invitation = subject;
|
|
242
|
+
var appPathSegment = 'app-when-can-we.w3.org'; // how to allocate this string and connect to
|
|
237
243
|
|
|
238
244
|
// ////////////////////////////////////////////
|
|
239
245
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
246
|
+
var fetcher = kb.fetcher;
|
|
247
|
+
var updater = kb.updater;
|
|
248
|
+
var waitingForLogin = false;
|
|
249
|
+
var thisInstance = subject;
|
|
250
|
+
var detailsDoc = subject.doc();
|
|
251
|
+
var baseDir = detailsDoc.dir();
|
|
252
|
+
var base = baseDir.uri;
|
|
253
|
+
var resultsDoc = $rdf.sym(base + 'results.ttl');
|
|
248
254
|
// const formsURI = base + 'forms.ttl'
|
|
249
255
|
// We can't in fact host stuff from there because of CORS
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
$rdf.parse(_formsForSchedule
|
|
256
|
+
var formsURI = 'https://solidos.github.io/solid-panes/schedule/formsForSchedule.ttl';
|
|
257
|
+
var form1 = kb.sym(formsURI + '#form1');
|
|
258
|
+
var form2 = kb.sym(formsURI + '#form2');
|
|
259
|
+
var form3 = kb.sym(formsURI + '#form3');
|
|
260
|
+
$rdf.parse(_formsForSchedule["default"], kb, formsURI, 'text/turtle'); // Load forms directly
|
|
255
261
|
|
|
256
|
-
|
|
257
|
-
|
|
262
|
+
var inputStyle = 'background-color: #eef; padding: 0.5em; border: .5em solid white; font-size: 100%'; // font-size: 120%
|
|
263
|
+
var buttonIconStyle = 'width: 1.8em; height: 1.8em;';
|
|
258
264
|
|
|
259
265
|
// Utility functions
|
|
260
266
|
|
|
261
|
-
|
|
267
|
+
var complainIfBad = function complainIfBad(ok, message) {
|
|
262
268
|
if (!ok) {
|
|
263
269
|
div.appendChild(UI.widgets.errorMessageBlock(dom, message, 'pink'));
|
|
264
270
|
}
|
|
265
271
|
};
|
|
266
|
-
|
|
272
|
+
var clearElement = function clearElement(ele) {
|
|
267
273
|
while (ele.firstChild) {
|
|
268
274
|
ele.removeChild(ele.firstChild);
|
|
269
275
|
}
|
|
270
276
|
return ele;
|
|
271
277
|
};
|
|
272
|
-
|
|
273
|
-
|
|
278
|
+
var refreshCellColor = function refreshCellColor(cell, value) {
|
|
279
|
+
var bg = kb.any(value, UI.ns.ui('backgroundColor'));
|
|
274
280
|
if (bg) {
|
|
275
281
|
cell.setAttribute('style', 'padding: 0.3em; text-align: center; background-color: ' + bg + ';');
|
|
276
282
|
}
|
|
277
283
|
};
|
|
278
|
-
|
|
279
|
-
_solidLogic.authn.checkUser().then(webId
|
|
284
|
+
var me;
|
|
285
|
+
_solidLogic.authn.checkUser().then(function (webId) {
|
|
280
286
|
me = webId;
|
|
281
287
|
if (logInOutButton) {
|
|
282
288
|
logInOutButton.refresh();
|
|
@@ -293,8 +299,8 @@ const schedulePane = exports.schedulePane = {
|
|
|
293
299
|
// Viral growth path: user of app decides to make another instance
|
|
294
300
|
//
|
|
295
301
|
|
|
296
|
-
|
|
297
|
-
|
|
302
|
+
var newInstanceButton = function newInstanceButton() {
|
|
303
|
+
var b = UI.login.newAppInstance(dom, {
|
|
298
304
|
noun: 'scheduler'
|
|
299
305
|
}, initializeNewInstanceInWorkspace);
|
|
300
306
|
b.firstChild.setAttribute('style', inputStyle);
|
|
@@ -303,8 +309,8 @@ const schedulePane = exports.schedulePane = {
|
|
|
303
309
|
|
|
304
310
|
// /////////////////////// Create new document files for new instance of app
|
|
305
311
|
|
|
306
|
-
|
|
307
|
-
|
|
312
|
+
var initializeNewInstanceInWorkspace = function initializeNewInstanceInWorkspace(ws) {
|
|
313
|
+
var newBase = kb.any(ws, ns.space('uriPrefix'));
|
|
308
314
|
if (!newBase) {
|
|
309
315
|
newBase = ws.uri.split('#')[0];
|
|
310
316
|
} else {
|
|
@@ -314,28 +320,28 @@ const schedulePane = exports.schedulePane = {
|
|
|
314
320
|
$rdf.log.error(appPathSegment + ': No / at end of uriPrefix ' + newBase); // @@ paramater?
|
|
315
321
|
newBase = newBase + '/';
|
|
316
322
|
}
|
|
317
|
-
|
|
323
|
+
var now = new Date();
|
|
318
324
|
newBase += appPathSegment + '/id' + now.getTime() + '/'; // unique id
|
|
319
325
|
|
|
320
326
|
initializeNewInstanceAtBase(thisInstance, newBase);
|
|
321
327
|
};
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
thisInstance,
|
|
325
|
-
newBase
|
|
328
|
+
var initializeNewInstanceAtBase = function initializeNewInstanceAtBase(thisInstance, newBase) {
|
|
329
|
+
var options = {
|
|
330
|
+
thisInstance: thisInstance,
|
|
331
|
+
newBase: newBase
|
|
326
332
|
};
|
|
327
333
|
this.mintNew(context, options).then(function (options) {
|
|
328
|
-
|
|
334
|
+
var p = div.appendChild(dom.createElement('p'));
|
|
329
335
|
p.setAttribute('style', 'font-size: 140%;');
|
|
330
|
-
p.innerHTML =
|
|
331
|
-
})
|
|
336
|
+
p.innerHTML = "Your <a href='" + options.newInstance.uri + "'><b>new scheduler</b></a> is ready to be set up. " + "<br/><br/><a href='" + options.newInstance.uri + "'>Say when you what days work for you.</a>";
|
|
337
|
+
})["catch"](function (error) {
|
|
332
338
|
complainIfBad(false, 'Error createing new scheduler at ' + options.newInstance + ': ' + error);
|
|
333
339
|
});
|
|
334
340
|
};
|
|
335
341
|
|
|
336
342
|
// ///////////////////////
|
|
337
343
|
|
|
338
|
-
|
|
344
|
+
var getForms = function getForms() {
|
|
339
345
|
console.log('getforms()');
|
|
340
346
|
getDetails();
|
|
341
347
|
/*
|
|
@@ -346,7 +352,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
346
352
|
})
|
|
347
353
|
*/
|
|
348
354
|
};
|
|
349
|
-
|
|
355
|
+
var getDetails = function getDetails() {
|
|
350
356
|
console.log('getDetails()'); // Looking for blank screen hang-up
|
|
351
357
|
fetcher.nowOrWhenFetched(detailsDoc.uri, undefined, function (ok, body) {
|
|
352
358
|
console.log('getDetails() ok? ' + ok);
|
|
@@ -354,9 +360,9 @@ const schedulePane = exports.schedulePane = {
|
|
|
354
360
|
showAppropriateDisplay();
|
|
355
361
|
});
|
|
356
362
|
};
|
|
357
|
-
|
|
363
|
+
var showAppropriateDisplay = function showAppropriateDisplay() {
|
|
358
364
|
console.log('showAppropriateDisplay()');
|
|
359
|
-
_solidLogic.authn.checkUser().then(webId
|
|
365
|
+
_solidLogic.authn.checkUser().then(function (webId) {
|
|
360
366
|
if (!webId) {
|
|
361
367
|
return showSignon();
|
|
362
368
|
}
|
|
@@ -369,7 +375,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
369
375
|
showBootstrap(div);
|
|
370
376
|
return;
|
|
371
377
|
}
|
|
372
|
-
|
|
378
|
+
var ready = kb.any(subject, ns.sched('ready'));
|
|
373
379
|
if (!ready) {
|
|
374
380
|
showForms();
|
|
375
381
|
} else {
|
|
@@ -378,39 +384,39 @@ const schedulePane = exports.schedulePane = {
|
|
|
378
384
|
}
|
|
379
385
|
});
|
|
380
386
|
};
|
|
381
|
-
|
|
387
|
+
var showSignon = function showSignon() {
|
|
382
388
|
clearElement(naviMain);
|
|
383
|
-
|
|
384
|
-
div,
|
|
385
|
-
dom
|
|
389
|
+
var signonContext = {
|
|
390
|
+
div: div,
|
|
391
|
+
dom: dom
|
|
386
392
|
};
|
|
387
|
-
UI.login.ensureLoggedIn(signonContext).then(context
|
|
393
|
+
UI.login.ensureLoggedIn(signonContext).then(function (context) {
|
|
388
394
|
me = context.me;
|
|
389
395
|
waitingForLogin = false; // untested
|
|
390
396
|
showAppropriateDisplay();
|
|
391
397
|
});
|
|
392
398
|
};
|
|
393
|
-
|
|
394
|
-
|
|
399
|
+
var showBootstrap = function showBootstrap() {
|
|
400
|
+
var div = clearElement(naviMain);
|
|
395
401
|
div.appendChild(UI.login.newAppInstance(dom, {
|
|
396
402
|
noun: 'poll'
|
|
397
403
|
}, initializeNewInstanceInWorkspace));
|
|
398
404
|
div.appendChild(dom.createElement('hr')); // @@
|
|
399
405
|
|
|
400
|
-
|
|
406
|
+
var p = div.appendChild(dom.createElement('p'));
|
|
401
407
|
p.textContent = 'Where would you like to store the data for the poll? ' + 'Give the URL of the directory where you would like the data stored.';
|
|
402
|
-
|
|
408
|
+
var baseField = div.appendChild(dom.createElement('input'));
|
|
403
409
|
baseField.setAttribute('type', 'text');
|
|
404
410
|
baseField.size = 80; // really a string
|
|
405
411
|
baseField.label = 'base URL';
|
|
406
412
|
baseField.autocomplete = 'on';
|
|
407
413
|
div.appendChild(dom.createElement('br')); // @@
|
|
408
414
|
|
|
409
|
-
|
|
415
|
+
var button = div.appendChild(dom.createElement('button'));
|
|
410
416
|
button.setAttribute('style', inputStyle);
|
|
411
417
|
button.textContent = 'Start new poll at this URI';
|
|
412
418
|
button.addEventListener('click', function (_e) {
|
|
413
|
-
|
|
419
|
+
var newBase = baseField.value;
|
|
414
420
|
if (newBase.slice(-1) !== '/') {
|
|
415
421
|
newBase += '/';
|
|
416
422
|
}
|
|
@@ -420,23 +426,23 @@ const schedulePane = exports.schedulePane = {
|
|
|
420
426
|
|
|
421
427
|
// ///////////// The forms to configure the poll
|
|
422
428
|
|
|
423
|
-
|
|
424
|
-
|
|
429
|
+
var doneButton = dom.createElement('button');
|
|
430
|
+
var showForms = function showForms() {
|
|
425
431
|
clearElement(naviCenter); // Remove refresh button if nec
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
432
|
+
var div = naviMain;
|
|
433
|
+
var wizard = true;
|
|
434
|
+
var currentSlide = 0;
|
|
435
|
+
var gotDoneButton = false;
|
|
430
436
|
if (wizard) {
|
|
431
|
-
|
|
432
|
-
|
|
437
|
+
var forms = [form1, form2, form3];
|
|
438
|
+
var slides = [];
|
|
433
439
|
currentSlide = 0;
|
|
434
|
-
for (
|
|
435
|
-
|
|
440
|
+
for (var f = 0; f < forms.length; f++) {
|
|
441
|
+
var slide = dom.createElement('div');
|
|
436
442
|
UI.widgets.appendForm(document, slide, {}, subject, forms[f], detailsDoc, complainIfBad);
|
|
437
443
|
slides.push(slide);
|
|
438
444
|
}
|
|
439
|
-
|
|
445
|
+
var refresh = function refresh() {
|
|
440
446
|
clearElement(naviMain).appendChild(slides[currentSlide]);
|
|
441
447
|
if (currentSlide === 0) {
|
|
442
448
|
b1.setAttribute('disabled', '');
|
|
@@ -455,7 +461,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
455
461
|
b2.removeAttribute('disabled');
|
|
456
462
|
}
|
|
457
463
|
};
|
|
458
|
-
|
|
464
|
+
var b1 = clearElement(naviLeft).appendChild(dom.createElement('button'));
|
|
459
465
|
b1.setAttribute('style', inputStyle);
|
|
460
466
|
b1.textContent = '<- go back';
|
|
461
467
|
b1.addEventListener('click', function (_e) {
|
|
@@ -464,7 +470,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
464
470
|
refresh();
|
|
465
471
|
}
|
|
466
472
|
}, false);
|
|
467
|
-
|
|
473
|
+
var b2 = clearElement(naviRight).appendChild(dom.createElement('button'));
|
|
468
474
|
b2.setAttribute('style', inputStyle);
|
|
469
475
|
b2.textContent = 'continue ->';
|
|
470
476
|
b2.addEventListener('click', function (_e) {
|
|
@@ -477,7 +483,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
477
483
|
} else {
|
|
478
484
|
// not wizard one big form
|
|
479
485
|
// @@@ create the initial config doc if not exist
|
|
480
|
-
|
|
486
|
+
var table = div.appendChild(dom.createElement('table'));
|
|
481
487
|
UI.widgets.appendForm(document, table, {}, subject, form1, detailsDoc, complainIfBad);
|
|
482
488
|
UI.widgets.appendForm(document, table, {}, subject, form2, detailsDoc, complainIfBad);
|
|
483
489
|
UI.widgets.appendForm(document, table, {}, subject, form3, detailsDoc, complainIfBad);
|
|
@@ -485,7 +491,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
485
491
|
}
|
|
486
492
|
// @@@ link config to results
|
|
487
493
|
|
|
488
|
-
|
|
494
|
+
var insertables = [];
|
|
489
495
|
insertables.push($rdf.st(subject, ns.sched('availabilityOptions'), ns.sched('YesNoMaybe'), detailsDoc));
|
|
490
496
|
insertables.push($rdf.st(subject, ns.sched('ready'), new Date(), detailsDoc));
|
|
491
497
|
insertables.push($rdf.st(subject, ns.sched('results'), resultsDoc, detailsDoc)); // @@ also link in results
|
|
@@ -509,16 +515,16 @@ const schedulePane = exports.schedulePane = {
|
|
|
509
515
|
});
|
|
510
516
|
}
|
|
511
517
|
}, false);
|
|
512
|
-
|
|
518
|
+
var emailButton = dom.createElement('button');
|
|
513
519
|
emailButton.setAttribute('style', inputStyle);
|
|
514
|
-
|
|
520
|
+
var emailIcon = emailButton.appendChild(dom.createElement('img'));
|
|
515
521
|
emailIcon.setAttribute('src', UI.icons.iconBase + 'noun_480183.svg'); // noun_480183.svg
|
|
516
522
|
emailIcon.setAttribute('style', buttonIconStyle);
|
|
517
523
|
// emailButton.textContent = 'email invitations'
|
|
518
524
|
emailButton.addEventListener('click', function (_e) {
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
525
|
+
var title = kb.anyValue(subject, ns.cal('summary')) || kb.anyValue(subject, ns.dc('title')) || '';
|
|
526
|
+
var mailto = 'mailto:' + kb.each(subject, ns.sched('invitee')).map(function (who) {
|
|
527
|
+
var mbox = kb.any(who, ns.foaf('mbox'));
|
|
522
528
|
return mbox ? mbox.uri.replace('mailto:', '') : '';
|
|
523
529
|
}).join(',') + '?subject=' + encodeURIComponent(title + '-- When can we meet?') + '&body=' + encodeURIComponent(title + '\n\nWhen can you?\n\nSee ' + subject + '\n');
|
|
524
530
|
// @@ assumed there is a data browser
|
|
@@ -650,7 +656,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
650
656
|
|
|
651
657
|
// Read or create empty results file
|
|
652
658
|
function getResults() {
|
|
653
|
-
fetcher.nowOrWhenFetched(resultsDoc.uri, (ok, body, response)
|
|
659
|
+
fetcher.nowOrWhenFetched(resultsDoc.uri, function (ok, body, response) {
|
|
654
660
|
if (!ok) {
|
|
655
661
|
if (response.status === 404) {
|
|
656
662
|
// / Check explicitly for 404 error
|
|
@@ -682,10 +688,10 @@ const schedulePane = exports.schedulePane = {
|
|
|
682
688
|
// div.appendChild(dom.createElement('hr'))
|
|
683
689
|
|
|
684
690
|
// const invitation = subject
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
691
|
+
var title = kb.any(invitation, ns.cal('summary'));
|
|
692
|
+
var comment = kb.any(invitation, ns.cal('comment'));
|
|
693
|
+
var location = kb.any(invitation, ns.cal('location'));
|
|
694
|
+
var div = naviMain;
|
|
689
695
|
if (title) div.appendChild(dom.createElement('h3')).textContent = title;
|
|
690
696
|
if (location) {
|
|
691
697
|
div.appendChild(dom.createElement('address')).textContent = location.value;
|
|
@@ -693,16 +699,16 @@ const schedulePane = exports.schedulePane = {
|
|
|
693
699
|
if (comment) {
|
|
694
700
|
div.appendChild(dom.createElement('p')).textContent = comment.value;
|
|
695
701
|
}
|
|
696
|
-
|
|
702
|
+
var author = kb.any(invitation, ns.dc('author'));
|
|
697
703
|
if (author) {
|
|
698
|
-
|
|
704
|
+
var authorName = kb.any(author, ns.foaf('name'));
|
|
699
705
|
if (authorName) {
|
|
700
706
|
div.appendChild(dom.createElement('p')).textContent = authorName;
|
|
701
707
|
}
|
|
702
708
|
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
709
|
+
var query = new $rdf.Query('Responses');
|
|
710
|
+
var v = {};
|
|
711
|
+
var vs = ['time', 'author', 'value', 'resp', 'cell'];
|
|
706
712
|
vs.forEach(function (x) {
|
|
707
713
|
query.vars.push(v[x] = $rdf.variable(x));
|
|
708
714
|
});
|
|
@@ -714,7 +720,7 @@ const schedulePane = exports.schedulePane = {
|
|
|
714
720
|
|
|
715
721
|
// Sort by by person @@@
|
|
716
722
|
|
|
717
|
-
|
|
723
|
+
var options = {};
|
|
718
724
|
options.set_x = kb.each(subject, ns.sched('option')); // @@@@@ option -> dtstart in future
|
|
719
725
|
options.set_x = options.set_x.map(function (opt) {
|
|
720
726
|
return kb.any(opt, ns.cal('dtstart'));
|
|
@@ -723,16 +729,16 @@ const schedulePane = exports.schedulePane = {
|
|
|
723
729
|
options.set_y = options.set_y.map(function (resp) {
|
|
724
730
|
return kb.any(resp, ns.dc('author'));
|
|
725
731
|
});
|
|
726
|
-
|
|
732
|
+
var possibleTimes = kb.each(invitation, ns.sched('option')).map(function (opt) {
|
|
727
733
|
return kb.any(opt, ns.cal('dtstart'));
|
|
728
734
|
});
|
|
729
|
-
|
|
730
|
-
|
|
735
|
+
var displayTheMatrix = function displayTheMatrix() {
|
|
736
|
+
var matrix = div.appendChild(UI.matrix.matrixForQuery(dom, query, v.time, v.author, v.value, options, function () {}));
|
|
731
737
|
matrix.setAttribute('class', 'matrix');
|
|
732
|
-
|
|
738
|
+
var refreshButton = dom.createElement('button');
|
|
733
739
|
refreshButton.setAttribute('style', inputStyle);
|
|
734
740
|
// refreshButton.textContent = 'refresh' // noun_479395.svg
|
|
735
|
-
|
|
741
|
+
var refreshIcon = dom.createElement('img');
|
|
736
742
|
refreshIcon.setAttribute('src', UI.icons.iconBase + 'noun_479395.svg');
|
|
737
743
|
refreshIcon.setAttribute('style', buttonIconStyle);
|
|
738
744
|
refreshButton.appendChild(refreshIcon);
|
|
@@ -756,14 +762,14 @@ const schedulePane = exports.schedulePane = {
|
|
|
756
762
|
|
|
757
763
|
// const me = authn.currentUser()
|
|
758
764
|
|
|
759
|
-
|
|
760
|
-
|
|
765
|
+
var dataPointForNT = [];
|
|
766
|
+
var loginContext = {
|
|
761
767
|
div: naviCenter,
|
|
762
|
-
dom
|
|
768
|
+
dom: dom
|
|
763
769
|
};
|
|
764
|
-
UI.login.ensureLoggedIn(loginContext).then(context
|
|
765
|
-
|
|
766
|
-
|
|
770
|
+
UI.login.ensureLoggedIn(loginContext).then(function (context) {
|
|
771
|
+
var me = context.me;
|
|
772
|
+
var doc = resultsDoc;
|
|
767
773
|
options.set_y = options.set_y.filter(function (z) {
|
|
768
774
|
return !z.sameTerm(me);
|
|
769
775
|
});
|
|
@@ -776,42 +782,42 @@ const schedulePane = exports.schedulePane = {
|
|
|
776
782
|
});
|
|
777
783
|
}
|
|
778
784
|
if (y.sameTerm(me)) {
|
|
779
|
-
|
|
785
|
+
var callbackFunction = function callbackFunction() {
|
|
780
786
|
refreshCellColor(cell, value);
|
|
781
787
|
}; // @@ may need that
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
788
|
+
var selectOptions = {};
|
|
789
|
+
var predicate = ns.sched('availabilty');
|
|
790
|
+
var cellSubject = dataPointForNT[x.toNT()];
|
|
791
|
+
var selector = UI.widgets.makeSelectForOptions(dom, kb, cellSubject, predicate, possibleAvailabilities, selectOptions, resultsDoc, callbackFunction);
|
|
786
792
|
cell.appendChild(selector);
|
|
787
793
|
} else if (value !== null) {
|
|
788
794
|
cell.textContent = UI.utils.label(value);
|
|
789
795
|
}
|
|
790
796
|
};
|
|
791
|
-
|
|
792
|
-
|
|
797
|
+
var responses = kb.each(invitation, ns.sched('response'));
|
|
798
|
+
var myResponse = null;
|
|
793
799
|
responses.forEach(function (r) {
|
|
794
800
|
if (kb.holds(r, ns.dc('author'), me)) {
|
|
795
801
|
myResponse = r;
|
|
796
802
|
}
|
|
797
803
|
});
|
|
798
|
-
|
|
804
|
+
var insertables = []; // list of statements to be stored
|
|
799
805
|
|
|
800
|
-
|
|
806
|
+
var id = UI.widgets.newThing(doc).uri;
|
|
801
807
|
if (myResponse === null) {
|
|
802
808
|
myResponse = $rdf.sym(id + '_response');
|
|
803
809
|
insertables.push($rdf.st(invitation, ns.sched('response'), myResponse, doc));
|
|
804
810
|
insertables.push($rdf.st(myResponse, ns.dc('author'), me, doc));
|
|
805
811
|
} else {
|
|
806
|
-
|
|
812
|
+
var dps = kb.each(myResponse, ns.sched('cell'));
|
|
807
813
|
dps.forEach(function (dataPoint) {
|
|
808
|
-
|
|
814
|
+
var time = kb.any(dataPoint, ns.cal('dtstart'));
|
|
809
815
|
dataPointForNT[time.toNT()] = dataPoint;
|
|
810
816
|
});
|
|
811
817
|
}
|
|
812
|
-
for (
|
|
818
|
+
for (var j = 0; j < possibleTimes.length; j++) {
|
|
813
819
|
if (dataPointForNT[possibleTimes[j].toNT()]) continue;
|
|
814
|
-
|
|
820
|
+
var dataPoint = $rdf.sym(id + '_' + j);
|
|
815
821
|
insertables.push($rdf.st(myResponse, ns.sched('cell'), dataPoint, doc));
|
|
816
822
|
insertables.push($rdf.st(dataPoint, ns.cal('dtstart'), possibleTimes[j], doc)); // @@
|
|
817
823
|
dataPointForNT[possibleTimes[j].toNT()] = dataPoint;
|
|
@@ -832,12 +838,12 @@ const schedulePane = exports.schedulePane = {
|
|
|
832
838
|
|
|
833
839
|
// If I made this in the first place, allow me to edit it.
|
|
834
840
|
// @@ optionally -- allows others to if according to original
|
|
835
|
-
|
|
841
|
+
var instanceCreator = kb.any(subject, ns.foaf('maker')); // owner?
|
|
836
842
|
if (!instanceCreator || instanceCreator.sameTerm(me)) {
|
|
837
|
-
|
|
843
|
+
var editButton = dom.createElement('button');
|
|
838
844
|
editButton.setAttribute('style', inputStyle);
|
|
839
845
|
// editButton.textContent = '(Modify the poll)' // noun_344563.svg
|
|
840
|
-
|
|
846
|
+
var editIcon = dom.createElement('img');
|
|
841
847
|
editIcon.setAttribute('src', UI.icons.iconBase + 'noun_344563.svg');
|
|
842
848
|
editIcon.setAttribute('style', buttonIconStyle);
|
|
843
849
|
editButton.appendChild(editIcon);
|
|
@@ -855,14 +861,14 @@ const schedulePane = exports.schedulePane = {
|
|
|
855
861
|
naviRight.appendChild(newInstanceButton());
|
|
856
862
|
} // showResults
|
|
857
863
|
|
|
858
|
-
|
|
859
|
-
|
|
864
|
+
var div = dom.createElement('div');
|
|
865
|
+
var structure = div.appendChild(dom.createElement('table')); // @@ make responsive style
|
|
860
866
|
structure.setAttribute('style', 'background-color: white; min-width: 40em; min-height: 13em;');
|
|
861
|
-
|
|
867
|
+
var naviLoginoutTR = structure.appendChild(dom.createElement('tr'));
|
|
862
868
|
naviLoginoutTR.appendChild(dom.createElement('td'));
|
|
863
869
|
naviLoginoutTR.appendChild(dom.createElement('td'));
|
|
864
870
|
naviLoginoutTR.appendChild(dom.createElement('td'));
|
|
865
|
-
|
|
871
|
+
var logInOutButton = null;
|
|
866
872
|
/*
|
|
867
873
|
const logInOutButton = UI.login.loginStatusBox(dom, setUser)
|
|
868
874
|
// floating divs lead to a mess
|
|
@@ -871,16 +877,16 @@ const schedulePane = exports.schedulePane = {
|
|
|
871
877
|
logInOutButton.setAttribute('style', 'margin-right: 0em;')
|
|
872
878
|
*/
|
|
873
879
|
|
|
874
|
-
|
|
875
|
-
|
|
880
|
+
var naviTop = structure.appendChild(dom.createElement('tr'));
|
|
881
|
+
var naviMain = naviTop.appendChild(dom.createElement('td'));
|
|
876
882
|
naviMain.setAttribute('colspan', '3');
|
|
877
|
-
|
|
883
|
+
var naviMenu = structure.appendChild(dom.createElement('tr'));
|
|
878
884
|
naviMenu.setAttribute('class', 'naviMenu');
|
|
879
885
|
naviMenu.setAttribute('style', ' text-align: middle; vertical-align: middle; padding-top: 4em; ');
|
|
880
886
|
// naviMenu.setAttribute('style', 'margin-top: 3em;')
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
887
|
+
var naviLeft = naviMenu.appendChild(dom.createElement('td'));
|
|
888
|
+
var naviCenter = naviMenu.appendChild(dom.createElement('td'));
|
|
889
|
+
var naviRight = naviMenu.appendChild(dom.createElement('td'));
|
|
884
890
|
getForms();
|
|
885
891
|
return div;
|
|
886
892
|
} // render
|