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
|
@@ -7,9 +7,8 @@ exports.UserInput = UserInput;
|
|
|
7
7
|
var UI = _interopRequireWildcard(require("solid-ui"));
|
|
8
8
|
var _solidLogic = require("solid-logic");
|
|
9
9
|
var panes = _interopRequireWildcard(require("pane-registry"));
|
|
10
|
-
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
|
-
/* istanbul ignore file */
|
|
12
|
-
// Original author: kennyluck
|
|
10
|
+
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); }
|
|
11
|
+
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); } /* istanbul ignore file */ // Original author: kennyluck
|
|
13
12
|
//
|
|
14
13
|
// Kenny's Notes:
|
|
15
14
|
/* places to generate SPARQL update: clearInputAndSave() pasteFromClipboard()->insertTermTo();
|
|
@@ -20,14 +19,13 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
20
19
|
clipboard: 'predicates' 'objects' 'all'(internal)
|
|
21
20
|
request: 'from' 'to' 'message' 'Request'
|
|
22
21
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
let TempFormula; // Formula to store incomplete triples (Requests),
|
|
22
|
+
var $rdf = UI.rdf;
|
|
23
|
+
var UserInputFormula; // Formula to store references of user's work
|
|
24
|
+
var TempFormula; // Formula to store incomplete triples (Requests),
|
|
27
25
|
// temporarily disjoint with kb to avoid bugs
|
|
28
26
|
|
|
29
27
|
function UserInput(outline) {
|
|
30
|
-
|
|
28
|
+
var myDocument = outline.document; // is this ok?
|
|
31
29
|
// UI.log.warn("myDocument when it's set is "+myDocument.location);
|
|
32
30
|
this.menuId = 'predicateMenu1';
|
|
33
31
|
|
|
@@ -40,23 +38,23 @@ function UserInput(outline) {
|
|
|
40
38
|
*/
|
|
41
39
|
|
|
42
40
|
// hq, print and trim functions
|
|
43
|
-
|
|
41
|
+
var qp = function qp(str) {
|
|
44
42
|
console.log(str + '\n');
|
|
45
43
|
};
|
|
46
44
|
|
|
47
45
|
// var tabont = UI.ns.tabont;
|
|
48
46
|
// var foaf = UI.ns.foaf
|
|
49
|
-
|
|
47
|
+
var rdf = UI.ns.rdf;
|
|
50
48
|
// var RDFS = UI.ns.rdfs
|
|
51
49
|
// var OWL = UI.ns.owl
|
|
52
50
|
// var dc = UI.ns.dc
|
|
53
51
|
// var rss = UI.ns.rss
|
|
54
52
|
// var contact = UI.ns.contact
|
|
55
53
|
// var mo = UI.ns.mo
|
|
56
|
-
|
|
54
|
+
var bibo = UI.rdf.Namespace('http://purl.org/ontology/bibo/'); // hql for pubsPane
|
|
57
55
|
// var dcterms = UI.rdf.Namespace('http://purl.org/dc/terms/')
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
var dcelems = UI.rdf.Namespace('http://purl.org/dc/elements/1.1/');
|
|
57
|
+
var movedArrow = false; // hq
|
|
60
58
|
|
|
61
59
|
// var updateService=new updateCenter(kb);
|
|
62
60
|
|
|
@@ -89,16 +87,16 @@ function UserInput(outline) {
|
|
|
89
87
|
// Add a new row to a property list ( P and O)
|
|
90
88
|
addNewPredicateObject: function addNewPredicateObject(e) {
|
|
91
89
|
if (UI.utils.getTarget(e).className !== 'bottom-border-active') return;
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
var This = outline.UserInput;
|
|
91
|
+
var target = UI.utils.getTarget(e);
|
|
94
92
|
|
|
95
93
|
// UI.log.warn(ancestor(target,'TABLE').textContent);
|
|
96
|
-
|
|
94
|
+
var insertTr = myDocument.createElement('tr');
|
|
97
95
|
UI.utils.ancestor(target, 'DIV').insertBefore(insertTr, UI.utils.ancestor(target, 'TR'));
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
var tempTr = myDocument.createElement('tr');
|
|
97
|
+
var reqTerm1 = This.generateRequest('(TBD)', tempTr, true);
|
|
100
98
|
insertTr.appendChild(tempTr.firstChild);
|
|
101
|
-
|
|
99
|
+
var reqTerm2 = This.generateRequest('(Enter text or drag an object onto this field)', tempTr, false);
|
|
102
100
|
insertTr.appendChild(tempTr.firstChild);
|
|
103
101
|
// there should be an elegant way of doing this
|
|
104
102
|
|
|
@@ -106,13 +104,13 @@ function UserInput(outline) {
|
|
|
106
104
|
if (UI.utils.ancestor(target, 'TR').previousSibling &&
|
|
107
105
|
// there is a previous predicate/object line
|
|
108
106
|
UI.utils.ancestor(target, 'TR').previousSibling.AJAR_statement) {
|
|
109
|
-
|
|
107
|
+
var preStat = UI.utils.ancestor(target, 'TR').previousSibling.AJAR_statement;
|
|
110
108
|
// This should always(?) input a non-inverse statement
|
|
111
109
|
This.formUndetStat(insertTr, preStat.subject, reqTerm1, reqTerm2, preStat.why, false);
|
|
112
110
|
} else {
|
|
113
111
|
// no previous row: write to the document defining the subject
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
var subject = UI.utils.getAbout(_solidLogic.store, UI.utils.ancestor(target.parentNode.parentNode, 'TD'));
|
|
113
|
+
var doc = _solidLogic.store.sym(UI.rdf.Util.uri.docpart(subject.uri));
|
|
116
114
|
This.formUndetStat(insertTr, subject, reqTerm1, reqTerm2, doc, false);
|
|
117
115
|
}
|
|
118
116
|
outline.walk('moveTo', insertTr.firstChild);
|
|
@@ -126,15 +124,15 @@ function UserInput(outline) {
|
|
|
126
124
|
// tr.AJAR_statement (an incomplete statement in TempFormula) stores the destination(why), now
|
|
127
125
|
// determined by the preceding one (is this good?)
|
|
128
126
|
addNewObject: function addNewObject(e) {
|
|
129
|
-
|
|
127
|
+
var predicateTd = UI.utils.getTarget(e).parentNode.parentNode;
|
|
130
128
|
// var predicateTerm = UI.utils.getAbout(kb, predicateTd)
|
|
131
|
-
|
|
129
|
+
var isInverse = predicateTd.parentNode.AJAR_inverse;
|
|
132
130
|
// var titleTerm=UI.utils.getAbout(kb,UI.utils.ancestor(predicateTd.parentNode,'TD'));
|
|
133
131
|
// set pseudo lastModifiedStat here
|
|
134
132
|
this.lastModifiedStat = predicateTd.parentNode.AJAR_statement;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
var insertTr = this.appendToPredicate(predicateTd);
|
|
134
|
+
var reqTerm = this.generateRequest(' (Error) ', insertTr, false);
|
|
135
|
+
var preStat = insertTr.previousSibling.AJAR_statement;
|
|
138
136
|
if (!isInverse) {
|
|
139
137
|
this.formUndetStat(insertTr, preStat.subject, preStat.predicate, reqTerm, preStat.why, false);
|
|
140
138
|
} else {
|
|
@@ -154,7 +152,7 @@ function UserInput(outline) {
|
|
|
154
152
|
},
|
|
155
153
|
// Called when a selected cell is clicked again
|
|
156
154
|
Click: function Click(e) {
|
|
157
|
-
|
|
155
|
+
var target = UI.utils.getTarget(e);
|
|
158
156
|
if (UI.utils.getTerm(target).termType !== 'Literal') return;
|
|
159
157
|
this.literalModification(target);
|
|
160
158
|
// this prevents the generated inputbox to be clicked again
|
|
@@ -164,7 +162,7 @@ function UserInput(outline) {
|
|
|
164
162
|
// Called when paste is called (Ctrl+v)
|
|
165
163
|
pasteFromClipboard: function pasteFromClipboard(address, selectedTd) {
|
|
166
164
|
function termFrom(fromCode) {
|
|
167
|
-
|
|
165
|
+
var term = outline.clipboard[fromCode].shift();
|
|
168
166
|
if (term === null) {
|
|
169
167
|
UI.log.warn('no more element in clipboard!');
|
|
170
168
|
return;
|
|
@@ -173,8 +171,8 @@ function UserInput(outline) {
|
|
|
173
171
|
case 'predicates':
|
|
174
172
|
case 'objects':
|
|
175
173
|
{
|
|
176
|
-
|
|
177
|
-
for (
|
|
174
|
+
var allArray = outline.clipboard.all;
|
|
175
|
+
for (var i = 0; true; i++) {
|
|
178
176
|
if (term.sameTerm(allArray[i])) {
|
|
179
177
|
allArray.splice(i, 1);
|
|
180
178
|
break;
|
|
@@ -193,7 +191,7 @@ function UserInput(outline) {
|
|
|
193
191
|
}
|
|
194
192
|
return term;
|
|
195
193
|
}
|
|
196
|
-
|
|
194
|
+
var term;
|
|
197
195
|
switch (selectedTd.className) {
|
|
198
196
|
case 'undetermined selected':
|
|
199
197
|
term = selectedTd.nextSibling ? termFrom('predicates') : termFrom('objects');
|
|
@@ -207,7 +205,7 @@ function UserInput(outline) {
|
|
|
207
205
|
case 'selected':
|
|
208
206
|
{
|
|
209
207
|
// header <TD>, undetermined generated
|
|
210
|
-
|
|
208
|
+
var returnArray = termFrom('all');
|
|
211
209
|
if (!returnArray) return;
|
|
212
210
|
term = returnArray[0];
|
|
213
211
|
this.insertTermTo(selectedTd, term, returnArray[1]);
|
|
@@ -262,11 +260,11 @@ function UserInput(outline) {
|
|
|
262
260
|
UI.log.warn('The node you attempted to edit has a request still pending.\n' + 'Please wait for the request to finish (the text will turn black)\n' + 'before editing this node again.');
|
|
263
261
|
return true;
|
|
264
262
|
}
|
|
265
|
-
|
|
266
|
-
|
|
263
|
+
var target = selectedTd;
|
|
264
|
+
var about = this.getStatementAbout(target); // timbl - to avoid alert from random clicks
|
|
267
265
|
if (!about) return;
|
|
268
|
-
|
|
269
|
-
|
|
266
|
+
var obj;
|
|
267
|
+
var trNode;
|
|
270
268
|
try {
|
|
271
269
|
obj = UI.utils.getTerm(target);
|
|
272
270
|
trNode = UI.utils.ancestor(target, 'TR');
|
|
@@ -274,7 +272,7 @@ function UserInput(outline) {
|
|
|
274
272
|
UI.log.warn('userinput.js: ' + e + UI.utils.getAbout(_solidLogic.store, selectedTd));
|
|
275
273
|
UI.log.error(target + ' getStatement Error:' + e);
|
|
276
274
|
}
|
|
277
|
-
|
|
275
|
+
var tdNode;
|
|
278
276
|
try {
|
|
279
277
|
tdNode = trNode.lastChild;
|
|
280
278
|
} catch (e) {
|
|
@@ -295,7 +293,7 @@ function UserInput(outline) {
|
|
|
295
293
|
|
|
296
294
|
if (obj.value.match('\n')) {
|
|
297
295
|
// match a line feed and require <TEXTAREA>
|
|
298
|
-
|
|
296
|
+
var textBox = myDocument.createElement('textarea');
|
|
299
297
|
textBox.appendChild(myDocument.createTextNode(obj.value));
|
|
300
298
|
textBox.setAttribute('rows', (obj.value.match(/\n/g).length + 1).toString());
|
|
301
299
|
// g is for global(??)
|
|
@@ -343,7 +341,7 @@ function UserInput(outline) {
|
|
|
343
341
|
this.lastModified = null;
|
|
344
342
|
},
|
|
345
343
|
clearMenu: function clearMenu() {
|
|
346
|
-
|
|
344
|
+
var menu = myDocument.getElementById(this.menuID);
|
|
347
345
|
if (menu) {
|
|
348
346
|
menu.parentNode.removeChild(menu);
|
|
349
347
|
// emptyNode(menu);
|
|
@@ -351,7 +349,7 @@ function UserInput(outline) {
|
|
|
351
349
|
},
|
|
352
350
|
/* goes here when either this is a literal or escape from menu and then input text */
|
|
353
351
|
clearInputAndSave: function clearInputAndSave(e) {
|
|
354
|
-
|
|
352
|
+
var obj;
|
|
355
353
|
if (!this.lastModified) return;
|
|
356
354
|
if (!this.lastModified.isNew) {
|
|
357
355
|
try {
|
|
@@ -360,14 +358,14 @@ function UserInput(outline) {
|
|
|
360
358
|
return;
|
|
361
359
|
}
|
|
362
360
|
}
|
|
363
|
-
|
|
361
|
+
var s = this.lastModifiedStat; // when 'isNew' this is set at addNewObject()
|
|
364
362
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
363
|
+
var defaultpropview;
|
|
364
|
+
var trNode;
|
|
365
|
+
var reqTerm;
|
|
366
|
+
var preStat;
|
|
369
367
|
if (this.lastModified.value !== this.lastModified.defaultValue) {
|
|
370
|
-
|
|
368
|
+
var trCache;
|
|
371
369
|
if (this.lastModified.value === '') {
|
|
372
370
|
// ToDo: remove this
|
|
373
371
|
this.lastModified.value = this.lastModified.defaultValue;
|
|
@@ -393,20 +391,20 @@ function UserInput(outline) {
|
|
|
393
391
|
s = _solidLogic.store.add(s.subject, s.predicate, _solidLogic.store.literal(this.lastModified.value), s.why);
|
|
394
392
|
} else {
|
|
395
393
|
if (this.statIsInverse) {
|
|
396
|
-
UI.log.error(
|
|
394
|
+
UI.log.error("Invalid Input: a literal can't be a subject in RDF/XML");
|
|
397
395
|
this.backOut();
|
|
398
396
|
return;
|
|
399
397
|
}
|
|
400
|
-
|
|
398
|
+
var s1, s2, s3;
|
|
401
399
|
switch (obj.termType) {
|
|
402
400
|
case 'Literal':
|
|
403
401
|
{
|
|
404
402
|
// generate path and nailing from current values
|
|
405
403
|
|
|
406
404
|
// TODO: DEFINE ERROR CALLBACK
|
|
407
|
-
|
|
405
|
+
var valueCache = this.lastModified.value;
|
|
408
406
|
trCache = UI.utils.ancestor(this.lastModified, 'TR');
|
|
409
|
-
|
|
407
|
+
var oldValue = this.lastModified.defaultValue;
|
|
410
408
|
s2 = $rdf.st(s.subject, s.predicate, _solidLogic.store.literal(this.lastModified.value), s.why);
|
|
411
409
|
try {
|
|
412
410
|
_solidLogic.store.updater.update([s], [s2], function (uri, success, errorBody) {
|
|
@@ -430,15 +428,15 @@ function UserInput(outline) {
|
|
|
430
428
|
{
|
|
431
429
|
// a request refill with text
|
|
432
430
|
// var newStat
|
|
433
|
-
|
|
431
|
+
var textTerm = _solidLogic.store.literal(this.lastModified.value, '');
|
|
434
432
|
// <Feature about="labelChoice">
|
|
435
433
|
if (s.predicate.termType === 'Collection') {
|
|
436
434
|
// case: add triple ????????? Weird - tbl
|
|
437
|
-
|
|
435
|
+
var selectedPredicate = s.predicate.elements[0]; // @@ TBL elements is a list on the predicate??
|
|
438
436
|
if (_solidLogic.store.any(undefined, selectedPredicate, textTerm)) {
|
|
439
437
|
if (!e) {
|
|
440
438
|
// keyboard
|
|
441
|
-
|
|
439
|
+
var tdNode = this.lastModified.parentNode;
|
|
442
440
|
e = {};
|
|
443
441
|
e.pageX = UI.utils.findPos(tdNode)[0];
|
|
444
442
|
e.pageY = UI.utils.findPos(tdNode)[1] + tdNode.clientHeight;
|
|
@@ -450,7 +448,7 @@ function UserInput(outline) {
|
|
|
450
448
|
} else {
|
|
451
449
|
s1 = UI.utils.ancestor(UI.utils.ancestor(this.lastModified, 'TR').parentNode, 'TR').AJAR_statement;
|
|
452
450
|
s2 = $rdf.st(s.subject, selectedPredicate, textTerm, s.why);
|
|
453
|
-
|
|
451
|
+
var type = _solidLogic.store.the(s.subject, rdf('type'));
|
|
454
452
|
s3 = _solidLogic.store.anyStatementMatching(s.subject, rdf('type'), type, s.why);
|
|
455
453
|
// TODO: DEFINE ERROR CALLBACK
|
|
456
454
|
// because the table is repainted, so...
|
|
@@ -471,8 +469,8 @@ function UserInput(outline) {
|
|
|
471
469
|
// a subtle bug occurs here, if foaf:nick hasn't been dereferneced,
|
|
472
470
|
// this add will cause a repainting
|
|
473
471
|
}
|
|
474
|
-
|
|
475
|
-
|
|
472
|
+
var enclosingTd = UI.utils.ancestor(this.lastModified.parentNode.parentNode, 'TD');
|
|
473
|
+
var defaultPane = panes.byName('default'); // @@ check
|
|
476
474
|
outline.outlineExpand(enclosingTd, s.subject, {
|
|
477
475
|
pane: defaultPane,
|
|
478
476
|
already: true
|
|
@@ -500,7 +498,7 @@ function UserInput(outline) {
|
|
|
500
498
|
return;
|
|
501
499
|
} else if (s.predicate.termType === 'Collection') {
|
|
502
500
|
_solidLogic.store.removeMany(s.subject);
|
|
503
|
-
|
|
501
|
+
var upperTr = UI.utils.ancestor(UI.utils.ancestor(this.lastModified, 'TR').parentNode, 'TR');
|
|
504
502
|
preStat = upperTr.AJAR_statement;
|
|
505
503
|
reqTerm = this.generateRequest('(To be determined. Re-type of drag an object onto this field)');
|
|
506
504
|
this.formUndetStat(upperTr, preStat.subject, preStat.predicate, reqTerm, preStat.why, false);
|
|
@@ -553,8 +551,9 @@ function UserInput(outline) {
|
|
|
553
551
|
outline.walk('up');
|
|
554
552
|
return;
|
|
555
553
|
}
|
|
554
|
+
var removedTr;
|
|
556
555
|
// var afterTr
|
|
557
|
-
|
|
556
|
+
var s = this.getStatementAbout(selectedTd);
|
|
558
557
|
if (!isBackOut && !_solidLogic.store.whether(s.object, rdf('type'), UI.ns.link('Request')) &&
|
|
559
558
|
// Better to check whether provenance is internal?
|
|
560
559
|
!_solidLogic.store.whether(s.predicate, rdf('type'), UI.ns.link('Request')) && !_solidLogic.store.whether(s.subject, rdf('type'), UI.ns.link('Request'))) {
|
|
@@ -583,14 +582,14 @@ function UserInput(outline) {
|
|
|
583
582
|
UI.log.debug('about to remove ' + s);
|
|
584
583
|
UI.log.debug('removed');
|
|
585
584
|
outline.walk('up');
|
|
586
|
-
|
|
585
|
+
removedTr = selectedTd.parentNode;
|
|
587
586
|
// afterTr = removedTr.nextSibling
|
|
588
587
|
function removefromview() {
|
|
589
|
-
|
|
588
|
+
var trIterator;
|
|
590
589
|
for (trIterator = removedTr; trIterator.childNodes.length === 1; trIterator = trIterator.previousSibling);
|
|
591
|
-
|
|
590
|
+
var predicateTd;
|
|
592
591
|
if (trIterator === removedTr) {
|
|
593
|
-
|
|
592
|
+
var theNext = trIterator.nextSibling;
|
|
594
593
|
if (theNext.nextSibling && theNext.childNodes.length === 1) {
|
|
595
594
|
predicateTd = trIterator.firstChild;
|
|
596
595
|
predicateTd.setAttribute('rowspan', parseInt(predicateTd.getAttribute('rowspan')) - 1);
|
|
@@ -635,7 +634,7 @@ function UserInput(outline) {
|
|
|
635
634
|
clip.setData(trans, null, clipid.kGlobalClipboard);
|
|
636
635
|
*/
|
|
637
636
|
|
|
638
|
-
|
|
637
|
+
var term = UI.utils.getTerm(selectedTd);
|
|
639
638
|
switch (selectedTd.className) {
|
|
640
639
|
case 'selected': // table header
|
|
641
640
|
case 'obj selected':
|
|
@@ -649,8 +648,8 @@ function UserInput(outline) {
|
|
|
649
648
|
outline.clipboard.all.unshift(term);
|
|
650
649
|
},
|
|
651
650
|
insertTermTo: function insertTermTo(selectedTd, term, isObject) {
|
|
652
|
-
|
|
653
|
-
|
|
651
|
+
var defaultpropview;
|
|
652
|
+
var preStat;
|
|
654
653
|
switch (selectedTd.className) {
|
|
655
654
|
case 'undetermined selected':
|
|
656
655
|
defaultpropview = this.views.defaults[selectedTd.parentNode.AJAR_statement.predicate.uri];
|
|
@@ -659,12 +658,12 @@ function UserInput(outline) {
|
|
|
659
658
|
case 'pred selected':
|
|
660
659
|
{
|
|
661
660
|
// paste objects into this predicate
|
|
662
|
-
|
|
661
|
+
var insertTr = this.appendToPredicate(selectedTd);
|
|
663
662
|
preStat = selectedTd.parentNode.AJAR_statement;
|
|
664
663
|
defaultpropview = this.views.defaults[preStat.predicate.uri];
|
|
665
664
|
insertTr.appendChild(outline.outlineObjectTD(term, defaultpropview));
|
|
666
665
|
// modify store and update here
|
|
667
|
-
|
|
666
|
+
var isInverse = selectedTd.parentNode.AJAR_inverse;
|
|
668
667
|
if (!isInverse) {
|
|
669
668
|
insertTr.AJAR_statement = _solidLogic.store.add(preStat.subject, preStat.predicate, term, preStat.why);
|
|
670
669
|
} else {
|
|
@@ -687,8 +686,8 @@ function UserInput(outline) {
|
|
|
687
686
|
case 'selected':
|
|
688
687
|
{
|
|
689
688
|
// header <TD>, undetermined generated
|
|
690
|
-
|
|
691
|
-
|
|
689
|
+
var paneDiv = UI.utils.ancestor(selectedTd, 'TABLE').lastChild;
|
|
690
|
+
var newTr = paneDiv.insertBefore(myDocument.createElement('tr'), paneDiv.lastChild);
|
|
692
691
|
// var titleTerm=UI.utils.getAbout(kb,UI.utils.ancestor(newTr,'TD'));
|
|
693
692
|
preStat = newTr.previousSibling.AJAR_statement;
|
|
694
693
|
if (typeof isObject === 'undefined') isObject = true;
|
|
@@ -702,7 +701,7 @@ function UserInput(outline) {
|
|
|
702
701
|
} else {
|
|
703
702
|
// predicate inserted
|
|
704
703
|
// existing predicate not expected
|
|
705
|
-
|
|
704
|
+
var reqTerm = this.generateRequest('(To be determined. Re-type of drag an object onto this field)', newTr);
|
|
706
705
|
this.formUndetStat(newTr, preStat.subject, term, reqTerm, preStat.why, false);
|
|
707
706
|
newTr.insertBefore(outline.outlinePredicateTD(term, newTr, false, false), newTr.firstChild);
|
|
708
707
|
outline.walk('moveTo', newTr.lastChild);
|
|
@@ -714,13 +713,13 @@ function UserInput(outline) {
|
|
|
714
713
|
},
|
|
715
714
|
Refill: function Refill(e, selectedTd) {
|
|
716
715
|
UI.log.info('Refill' + selectedTd.textContent);
|
|
717
|
-
|
|
718
|
-
|
|
716
|
+
var isPredicate = selectedTd.nextSibling;
|
|
717
|
+
var predicateQuery;
|
|
719
718
|
if (isPredicate) {
|
|
720
719
|
// predicateTd
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
720
|
+
var subject;
|
|
721
|
+
var subjectClass;
|
|
722
|
+
var sparqlText;
|
|
724
723
|
if (selectedTd.nextSibling.className === 'undetermined') {
|
|
725
724
|
/* Make set of proprties to propose for a predicate.
|
|
726
725
|
The naive approach is to take those which have a class
|
|
@@ -750,7 +749,7 @@ function UserInput(outline) {
|
|
|
750
749
|
subject = UI.utils.getAbout(_solidLogic.store, UI.utils.ancestor(selectedTd, 'TABLE').parentNode);
|
|
751
750
|
subjectClass = _solidLogic.store.any(subject, rdf('type'));
|
|
752
751
|
sparqlText = [];
|
|
753
|
-
|
|
752
|
+
var endl = '.\n';
|
|
754
753
|
sparqlText[0] = 'SELECT ?pred WHERE{\n?pred ' + rdf('type') + rdf('Property') + '.\n' + '?pred ' + UI.ns.rdfs('domain') + subjectClass + '.}'; // \n is required? SPARQL parser bug?
|
|
755
754
|
sparqlText[1] = 'SELECT ?pred ?class\nWHERE{\n' + '?pred ' + rdf('type') + rdf('Property') + '.\n' + subjectClass + UI.ns.rdfs('subClassOf') + ' ?class.\n' + '?pred ' + UI.ns.rdfs('domain') + ' ?class.\n}';
|
|
756
755
|
sparqlText[2] = 'SELECT ?pred WHERE{\n' + subject + rdf('type') + _solidLogic.store.variable('subjectClass') + endl + _solidLogic.store.variable('pred') + UI.ns.rdfs('domain') + _solidLogic.store.variable('subjectClass') + endl + '}';
|
|
@@ -774,7 +773,7 @@ function UserInput(outline) {
|
|
|
774
773
|
*/
|
|
775
774
|
subject = UI.utils.getAbout(_solidLogic.store, UI.utils.ancestor(selectedTd, 'TABLE').parentNode);
|
|
776
775
|
subjectClass = _solidLogic.store.any(subject, rdf('type'));
|
|
777
|
-
|
|
776
|
+
var object = selectedTd.parentNode.AJAR_statement.object;
|
|
778
777
|
// var objectClass = (object.termType === 'Literal') ? UI.ns.rdfs('Literal') : kb.any(object, rdf('type'))
|
|
779
778
|
// var sparqlText="SELECT ?pred WHERE{\n?pred "+rdf('type')+rdf('Property')+".\n"+
|
|
780
779
|
// "?pred "+UI.ns.rdfs('domain')+subjectClass+".\n"+
|
|
@@ -786,12 +785,12 @@ function UserInput(outline) {
|
|
|
786
785
|
// -------presenter
|
|
787
786
|
// ToDo: how to sort selected predicates?
|
|
788
787
|
this.showMenu(e, 'GeneralPredicateChoice', predicateQuery, {
|
|
789
|
-
isPredicate,
|
|
790
|
-
selectedTd
|
|
788
|
+
isPredicate: isPredicate,
|
|
789
|
+
selectedTd: selectedTd
|
|
791
790
|
});
|
|
792
791
|
} else {
|
|
793
792
|
// objectTd
|
|
794
|
-
|
|
793
|
+
var predicateTerm = selectedTd.parentNode.AJAR_statement.predicate;
|
|
795
794
|
if (_solidLogic.store.whether(predicateTerm, rdf('type'), UI.ns.owl('DatatypeProperty')) || predicateTerm.termType === 'Collection' || _solidLogic.store.whether(predicateTerm, UI.ns.rdfs('range'), UI.ns.rdfs('Literal'))) {
|
|
796
795
|
selectedTd.className = '';
|
|
797
796
|
UI.utils.emptyNode(selectedTd);
|
|
@@ -802,12 +801,12 @@ function UserInput(outline) {
|
|
|
802
801
|
|
|
803
802
|
// show menu for rdf:type
|
|
804
803
|
if (selectedTd.parentNode.AJAR_statement.predicate.sameTerm(rdf('type'))) {
|
|
805
|
-
|
|
804
|
+
var _sparqlText = 'SELECT ?class WHERE{?class ' + rdf('type') + UI.ns.rdfs('Class') + '.}';
|
|
806
805
|
// I should just use kb.each
|
|
807
|
-
|
|
806
|
+
var classQuery = $rdf.SPARQLToQuery(_sparqlText);
|
|
808
807
|
this.showMenu(e, 'TypeChoice', classQuery, {
|
|
809
|
-
isPredicate,
|
|
810
|
-
selectedTd
|
|
808
|
+
isPredicate: isPredicate,
|
|
809
|
+
selectedTd: selectedTd
|
|
811
810
|
});
|
|
812
811
|
}
|
|
813
812
|
}
|
|
@@ -821,7 +820,7 @@ function UserInput(outline) {
|
|
|
821
820
|
// hq // why? -tim - not 'predicate' below
|
|
822
821
|
mode = 'all';
|
|
823
822
|
}
|
|
824
|
-
|
|
823
|
+
var InputBox;
|
|
825
824
|
if (mode === 'JournalTAC') {
|
|
826
825
|
// hq // Better to pass in InputBox as a param
|
|
827
826
|
InputBox = myDocument.getElementById('inpid_journal_title');
|
|
@@ -837,13 +836,13 @@ function UserInput(outline) {
|
|
|
837
836
|
// but not [wrapped ...]
|
|
838
837
|
// var InputBox=(typeof enterEvent=='object')?this:this.lastModified;//'this' is the <input> element
|
|
839
838
|
qp('1. outside (if eneterEvent)');
|
|
840
|
-
|
|
841
|
-
|
|
839
|
+
var e = {};
|
|
840
|
+
var tdNode = InputBox.parentNode;
|
|
842
841
|
if (!mode) mode = tdNode.nextSibling ? 'predicate' : 'all';
|
|
843
842
|
e.pageX = UI.utils.findPos(tdNode)[0];
|
|
844
843
|
e.pageY = UI.utils.findPos(tdNode)[1] + tdNode.clientHeight;
|
|
845
844
|
qp('epX=' + e.pageX + ', epY=' + e.pageY + ', mode=' + mode);
|
|
846
|
-
|
|
845
|
+
var menu = myDocument.getElementById(outline.UserInput.menuID);
|
|
847
846
|
function setHighlightItem(item) {
|
|
848
847
|
if (!item) return; // do not make changes
|
|
849
848
|
if (menu.lastHighlight) menu.lastHighlight.className = '';
|
|
@@ -853,9 +852,9 @@ function UserInput(outline) {
|
|
|
853
852
|
}
|
|
854
853
|
if (enterEvent) {
|
|
855
854
|
// either the real event of the pseudo number passed by OutlineKeypressPanel
|
|
856
|
-
qp('2. in (if enterEvent). with type = ' +
|
|
857
|
-
|
|
858
|
-
if (
|
|
855
|
+
qp('2. in (if enterEvent). with type = ' + _typeof(enterEvent));
|
|
856
|
+
var newText = InputBox.value;
|
|
857
|
+
if (_typeof(enterEvent) === 'object') {
|
|
859
858
|
qp('3. in typeof enterEvent is object, will switch to keys, arrows, etc. keycode = ' + enterEvent.keyCode);
|
|
860
859
|
enterEvent.stopPropagation();
|
|
861
860
|
if (menu && !menu.lastHighlight) {
|
|
@@ -899,9 +898,9 @@ function UserInput(outline) {
|
|
|
899
898
|
if (movedArrow && menu.lastHighlight) {
|
|
900
899
|
// Get the title from the DOM
|
|
901
900
|
// tr, th, div, innerHTML
|
|
902
|
-
|
|
901
|
+
var jtitle = menu.lastHighlight.firstChild.firstChild.innerHTML;
|
|
903
902
|
// tr, th, td, innerHTML
|
|
904
|
-
|
|
903
|
+
var juri = menu.lastHighlight.firstChild.nextSibling.innerHTML;
|
|
905
904
|
// clearing out the < and > from juri
|
|
906
905
|
juri = juri.slice(4, -4);
|
|
907
906
|
return ['gotdptitle', jtitle, juri];
|
|
@@ -909,8 +908,8 @@ function UserInput(outline) {
|
|
|
909
908
|
// If doesn't qualify to be autocomplete, return this random string, since pubsPane checks for "gotdptitle"
|
|
910
909
|
return 'asGivenTxt';
|
|
911
910
|
}
|
|
912
|
-
|
|
913
|
-
|
|
911
|
+
var inputTerm = UI.utils.getAbout(_solidLogic.store, menu.lastHighlight);
|
|
912
|
+
var fillInType = mode === 'predicate' ? 'predicate' : 'object';
|
|
914
913
|
outline.UserInput.clearMenu();
|
|
915
914
|
outline.UserInput.fillInRequest(fillInType, InputBox.parentNode, inputTerm);
|
|
916
915
|
// if (outline.UserInput.fillInRequest(fillInType,InputBox.parentNode,inputTerm))
|
|
@@ -927,7 +926,7 @@ function UserInput(outline) {
|
|
|
927
926
|
} else {
|
|
928
927
|
setHighlightItem(menu.lastHighlight.previousSibling);
|
|
929
928
|
}
|
|
930
|
-
return
|
|
929
|
+
return "I'm a little Arrow Up";
|
|
931
930
|
case 40:
|
|
932
931
|
// down
|
|
933
932
|
qp('handler: Arrow Down');
|
|
@@ -937,7 +936,7 @@ function UserInput(outline) {
|
|
|
937
936
|
} else {
|
|
938
937
|
setHighlightItem(menu.lastHighlight.nextSibling);
|
|
939
938
|
}
|
|
940
|
-
return
|
|
939
|
+
return "I'm a little Down Arrow";
|
|
941
940
|
case 37: // left
|
|
942
941
|
case 39:
|
|
943
942
|
// right
|
|
@@ -1024,17 +1023,17 @@ function UserInput(outline) {
|
|
|
1024
1023
|
// Or reference an exiting one with a URI.
|
|
1025
1024
|
//
|
|
1026
1025
|
WildCardButtons: function WildCardButtons() {
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1026
|
+
var menuDiv = myDocument.getElementById(outline.UserInput.menuID);
|
|
1027
|
+
var div = menuDiv.insertBefore(myDocument.createElement('div'), menuDiv.firstChild);
|
|
1028
|
+
var input1 = div.appendChild(myDocument.createElement('input'));
|
|
1029
|
+
var input2 = div.appendChild(myDocument.createElement('input'));
|
|
1031
1030
|
input1.type = 'button';
|
|
1032
1031
|
input1.value = 'New...';
|
|
1033
1032
|
input2.type = 'button';
|
|
1034
1033
|
input2.value = 'Know its URI';
|
|
1035
1034
|
function highlightInput(e) {
|
|
1036
1035
|
// same as the one in newMenu()
|
|
1037
|
-
|
|
1036
|
+
var menu = myDocument.getElementById(outline.UserInput.menuID);
|
|
1038
1037
|
if (menu.lastHighlight) menu.lastHighlight.className = '';
|
|
1039
1038
|
menu.lastHighlight = UI.utils.ancestor(UI.utils.getTarget(e), 'INPUT');
|
|
1040
1039
|
if (!menu.lastHighlight) return; // mouseover <TABLE>
|
|
@@ -1045,13 +1044,13 @@ function UserInput(outline) {
|
|
|
1045
1044
|
input2.addEventListener('click', this.inputURI, false);
|
|
1046
1045
|
},
|
|
1047
1046
|
// ToDo: shrink rows when \n+backspace
|
|
1048
|
-
Keypress: function (e) {
|
|
1047
|
+
Keypress: function Keypress(e) {
|
|
1049
1048
|
if (e.keyCode === 13) {
|
|
1050
1049
|
if (outline.targetOf(e).tagName !== 'TEXTAREA') {
|
|
1051
1050
|
this.clearInputAndSave();
|
|
1052
1051
|
} else {
|
|
1053
1052
|
// <TEXTAREA>
|
|
1054
|
-
|
|
1053
|
+
var preRows = parseInt(this.lastModified.getAttribute('rows'));
|
|
1055
1054
|
this.lastModified.setAttribute('rows', (preRows + 1).toString());
|
|
1056
1055
|
e.stopPropagation();
|
|
1057
1056
|
}
|
|
@@ -1059,7 +1058,7 @@ function UserInput(outline) {
|
|
|
1059
1058
|
// Remark by Kenny: If the user wants to input more lines into an one-line-only blank.
|
|
1060
1059
|
// Direct him/her to a new blank (how?)
|
|
1061
1060
|
},
|
|
1062
|
-
Mousedown: function (e) {
|
|
1061
|
+
Mousedown: function Mousedown(e) {
|
|
1063
1062
|
qp('MOUSING DOWN');
|
|
1064
1063
|
// temporary key ctrl+s or q for swiching mode
|
|
1065
1064
|
// This was in HCIOptions "right click to switch mode":
|
|
@@ -1087,14 +1086,14 @@ function UserInput(outline) {
|
|
|
1087
1086
|
switch (UI.utils.getTarget(e).tagName) {
|
|
1088
1087
|
case 'TD':
|
|
1089
1088
|
{
|
|
1090
|
-
|
|
1089
|
+
var preTd = UI.utils.getTarget(e);
|
|
1091
1090
|
if (preTd.className === 'pred') preTd.style.cursor = 'copy';
|
|
1092
1091
|
break;
|
|
1093
1092
|
}
|
|
1094
1093
|
// Uh...I think I might have to give up this
|
|
1095
1094
|
case 'DIV':
|
|
1096
1095
|
{
|
|
1097
|
-
|
|
1096
|
+
var border = UI.utils.getTarget(e);
|
|
1098
1097
|
if (UI.utils.getTarget(e).className === 'bottom-border') {
|
|
1099
1098
|
border.style.borderColor = 'rgb(100%,65%,0%)';
|
|
1100
1099
|
border.style.cursor = 'copy';
|
|
@@ -1105,10 +1104,10 @@ function UserInput(outline) {
|
|
|
1105
1104
|
}
|
|
1106
1105
|
}
|
|
1107
1106
|
},
|
|
1108
|
-
Mouseout: function (e) {
|
|
1107
|
+
Mouseout: function Mouseout(e) {
|
|
1109
1108
|
this.className = 'bottom-border';
|
|
1110
1109
|
if (this._tabulatorMode === 1) {
|
|
1111
|
-
|
|
1110
|
+
var border = UI.utils.getTarget(e);
|
|
1112
1111
|
if (UI.utils.getTarget(e).className === 'bottom-border') {
|
|
1113
1112
|
border.style.borderColor = 'transparent';
|
|
1114
1113
|
border.style.cursor = 'auto';
|
|
@@ -1121,7 +1120,7 @@ function UserInput(outline) {
|
|
|
1121
1120
|
|
|
1122
1121
|
whatSortOfEditCell: function whatSortOfEditCell(selectedTd) {
|
|
1123
1122
|
if (selectedTd.nextSibling) return 'predicate';
|
|
1124
|
-
|
|
1123
|
+
var predicateTerm = this.getStatementAbout(selectedTd).predicate;
|
|
1125
1124
|
// var predicateTerm=selectedTd.parentNode.AJAR_statement.predicate;
|
|
1126
1125
|
if (_solidLogic.store.whether(predicateTerm, UI.ns.rdf('type'), UI.ns.owl('DatatypeProperty')) || _solidLogic.store.whether(predicateTerm, UI.ns.rdfs('range'), UI.ns.rdfs('Literal')) || predicateTerm.termType === 'Collection') {
|
|
1127
1126
|
return 'DatatypeProperty-like';
|
|
@@ -1133,11 +1132,11 @@ function UserInput(outline) {
|
|
|
1133
1132
|
},
|
|
1134
1133
|
getStatementAbout: function getStatementAbout(something) {
|
|
1135
1134
|
// var trNode=something.parentNode;
|
|
1136
|
-
|
|
1135
|
+
var trNode = UI.utils.ancestor(something, 'TR');
|
|
1137
1136
|
if (!trNode) {
|
|
1138
1137
|
throw new Error('No ancestor TR for the TD we clicked on:' + something);
|
|
1139
1138
|
}
|
|
1140
|
-
|
|
1139
|
+
var statement;
|
|
1141
1140
|
try {
|
|
1142
1141
|
statement = trNode.AJAR_statement;
|
|
1143
1142
|
} catch (e) {
|
|
@@ -1158,7 +1157,7 @@ function UserInput(outline) {
|
|
|
1158
1157
|
}
|
|
1159
1158
|
UI.log.info('myDocument in createInputBoxIn is now ' + myDocument.location);
|
|
1160
1159
|
UI.log.info('outline.document is now ' + outline.document.location);
|
|
1161
|
-
|
|
1160
|
+
var inputBox = myDocument.createElement('input');
|
|
1162
1161
|
inputBox.setAttribute('value', defaultText);
|
|
1163
1162
|
inputBox.setAttribute('class', 'textinput');
|
|
1164
1163
|
// inputBox.setAttribute('size','100');//should be the size of <TD>
|
|
@@ -1172,19 +1171,19 @@ function UserInput(outline) {
|
|
|
1172
1171
|
// called when 'New...' is clicked(eventlistener) or enter is pressed while 'New...' is highlighted
|
|
1173
1172
|
createNew: function createNew(_e) {
|
|
1174
1173
|
outline.UserInput.clearMenu();
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1174
|
+
var selectedTd = outline.getSelection()[0];
|
|
1175
|
+
var targetdoc = selectedTd.parentNode.AJAR_statement.why;
|
|
1176
|
+
var newTerm = _solidLogic.store.nextSymbol(targetdoc);
|
|
1178
1177
|
outline.UserInput.fillInRequest('object', selectedTd, newTerm);
|
|
1179
1178
|
// selection is changed
|
|
1180
1179
|
outline.outlineExpand(outline.getSelection()[0], newTerm);
|
|
1181
1180
|
},
|
|
1182
1181
|
inputURI: function inputURI(_e) {
|
|
1183
|
-
|
|
1182
|
+
var This = outline.UserInput;
|
|
1184
1183
|
This.clearMenu();
|
|
1185
|
-
|
|
1184
|
+
var selectedTd = outline.getSelection()[0];
|
|
1186
1185
|
UI.utils.emptyNode(selectedTd);
|
|
1187
|
-
|
|
1186
|
+
var tiptext = ' (Type a URI) ';
|
|
1188
1187
|
This.lastModified = This.createInputBoxIn(selectedTd, tiptext);
|
|
1189
1188
|
This.lastModified.select();
|
|
1190
1189
|
function typeURIhandler(e) {
|
|
@@ -1195,7 +1194,7 @@ function UserInput(outline) {
|
|
|
1195
1194
|
// tab
|
|
1196
1195
|
// this is input box
|
|
1197
1196
|
if (this.value !== tiptext) {
|
|
1198
|
-
|
|
1197
|
+
var newuri = this.value; // @@ Removed URI "fixup" code
|
|
1199
1198
|
This.fillInRequest('object', selectedTd, _solidLogic.store.sym(newuri));
|
|
1200
1199
|
}
|
|
1201
1200
|
}
|
|
@@ -1216,8 +1215,8 @@ function UserInput(outline) {
|
|
|
1216
1215
|
*/
|
|
1217
1216
|
},
|
|
1218
1217
|
appendToPredicate: function appendToPredicate(predicateTd) {
|
|
1219
|
-
|
|
1220
|
-
|
|
1218
|
+
var isEnd = false;
|
|
1219
|
+
var trIterator;
|
|
1221
1220
|
try {
|
|
1222
1221
|
for (trIterator = predicateTd.parentNode.nextSibling; trIterator.childNodes.length === 1 && trIterator.AJAR_statement;
|
|
1223
1222
|
// number of nodes as condition, also beware of toggle Trs that don't have AJAR_statement
|
|
@@ -1229,7 +1228,7 @@ function UserInput(outline) {
|
|
|
1229
1228
|
}
|
|
1230
1229
|
// if(!isEnd && HCIoptions["bottom insert highlights"].enabled) trIterator=trIterator.previousSibling;
|
|
1231
1230
|
|
|
1232
|
-
|
|
1231
|
+
var insertTr = myDocument.createElement('tr');
|
|
1233
1232
|
// style stuff, I'll have to investigate appendPropertyTRs() somehow
|
|
1234
1233
|
insertTr.style.colspan = '1';
|
|
1235
1234
|
insertTr.style.display = 'block';
|
|
@@ -1243,7 +1242,7 @@ function UserInput(outline) {
|
|
|
1243
1242
|
if (!isEnd) {
|
|
1244
1243
|
trIterator.parentNode.insertBefore(insertTr, trIterator);
|
|
1245
1244
|
} else {
|
|
1246
|
-
|
|
1245
|
+
var table = predicateTd.parentNode.parentNode;
|
|
1247
1246
|
if (table.className === 'defaultPane') {
|
|
1248
1247
|
table.insertBefore(insertTr, table.lastChild);
|
|
1249
1248
|
} else {
|
|
@@ -1256,7 +1255,7 @@ function UserInput(outline) {
|
|
|
1256
1255
|
_solidLogic.store.copyTo(bnode, symbol, ['two-direction', 'delete']);
|
|
1257
1256
|
},
|
|
1258
1257
|
generateRequest: function generateRequest(tipText, trNew, isPredicate, notShow) {
|
|
1259
|
-
|
|
1258
|
+
var trNode;
|
|
1260
1259
|
if (!notShow) {
|
|
1261
1260
|
if (trNew) {
|
|
1262
1261
|
trNode = trNew;
|
|
@@ -1275,8 +1274,8 @@ function UserInput(outline) {
|
|
|
1275
1274
|
// labelPriority[UI.ns.link('message').uri] = 20;
|
|
1276
1275
|
|
|
1277
1276
|
// We must get rid of this clutter in the store. "OK, will be stroed in a seperate formula to avoid bugs", Kenny says
|
|
1278
|
-
|
|
1279
|
-
|
|
1277
|
+
var tp = TempFormula;
|
|
1278
|
+
var reqTerm = tp.bnode();
|
|
1280
1279
|
tp.add(reqTerm, UI.ns.rdf('type'), UI.ns.link('Request'));
|
|
1281
1280
|
if (tipText.length < 10) {
|
|
1282
1281
|
tp.add(reqTerm, UI.ns.link('message'), tp.literal(tipText));
|
|
@@ -1288,7 +1287,7 @@ function UserInput(outline) {
|
|
|
1288
1287
|
|
|
1289
1288
|
// append the undetermined td
|
|
1290
1289
|
if (!notShow) {
|
|
1291
|
-
|
|
1290
|
+
var newNode;
|
|
1292
1291
|
if (isPredicate) {
|
|
1293
1292
|
newNode = trNode.appendChild(outline.outlinePredicateTD(reqTerm, trNode, false, false));
|
|
1294
1293
|
} else {
|
|
@@ -1303,11 +1302,11 @@ function UserInput(outline) {
|
|
|
1303
1302
|
// ToDo:order, make a class?
|
|
1304
1303
|
UI.log.info('myDocument is now ' + myDocument.location);
|
|
1305
1304
|
UI.log.info('outline.doucment is now ' + outline.document.location);
|
|
1306
|
-
|
|
1307
|
-
|
|
1305
|
+
var This = this;
|
|
1306
|
+
var menu = myDocument.createElement('div');
|
|
1308
1307
|
qp('\n**** In showMenu, menuType = ' + menuType + '\n');
|
|
1309
1308
|
if (extraInformation) {
|
|
1310
|
-
for (
|
|
1309
|
+
for (var x in extraInformation) {
|
|
1311
1310
|
console.log('\t extra ' + x + ': ' + extraInformation[x] + '\n');
|
|
1312
1311
|
}
|
|
1313
1312
|
}
|
|
@@ -1322,13 +1321,13 @@ function UserInput(outline) {
|
|
|
1322
1321
|
// This is for setting the location of the dropdown menu, because
|
|
1323
1322
|
// JournalTitleAutoComplete is called with a keypress, and not mouse actions
|
|
1324
1323
|
// Get Offset of an HTML element
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1324
|
+
var getOffset = function getOffset(el) {
|
|
1325
|
+
var _lf = 0;
|
|
1326
|
+
var _tp = 0;
|
|
1327
|
+
var oldlf = 0;
|
|
1328
|
+
var oldtp = 0;
|
|
1329
|
+
var newlf = 0;
|
|
1330
|
+
var newtp = 0;
|
|
1332
1331
|
|
|
1333
1332
|
// repeatedly get ancestor's positions
|
|
1334
1333
|
// TODO: STILL a small offset/bug
|
|
@@ -1356,7 +1355,7 @@ function UserInput(outline) {
|
|
|
1356
1355
|
// Change the position of menu in pubsPane's journal Title AC
|
|
1357
1356
|
if (menuType === 'JournalTitleAutoComplete') {
|
|
1358
1357
|
// hql
|
|
1359
|
-
|
|
1358
|
+
var loc = getOffset(myDocument.getElementById('inpid_journal_title'));
|
|
1360
1359
|
loc.left -= myDocument.getElementById('inpid_journal_title').scrollTop;
|
|
1361
1360
|
menu.style.top = loc.top + 'px';
|
|
1362
1361
|
menu.style.left = loc.left + 'px';
|
|
@@ -1365,7 +1364,7 @@ function UserInput(outline) {
|
|
|
1365
1364
|
// \\\\\\\hql
|
|
1366
1365
|
|
|
1367
1366
|
myDocument.body.appendChild(menu);
|
|
1368
|
-
|
|
1367
|
+
var table = menu.appendChild(myDocument.createElement('table'));
|
|
1369
1368
|
menu.lastHighlight = null;
|
|
1370
1369
|
function highlightTr(e) {
|
|
1371
1370
|
if (menu.lastHighlight) menu.lastHighlight.className = '';
|
|
@@ -1376,12 +1375,12 @@ function UserInput(outline) {
|
|
|
1376
1375
|
table.addEventListener('mouseover', highlightTr, false);
|
|
1377
1376
|
|
|
1378
1377
|
// setting for action after selecting item
|
|
1379
|
-
|
|
1378
|
+
var selectItem;
|
|
1380
1379
|
switch (menuType) {
|
|
1381
1380
|
case 'DidYouMeanDialog':
|
|
1382
1381
|
selectItem = function selectItem(e) {
|
|
1383
1382
|
qp('DID YOU MEAN SELECT ITEM!!!!!');
|
|
1384
|
-
|
|
1383
|
+
var target = UI.utils.ancestor(UI.utils.getTarget(e), 'TR');
|
|
1385
1384
|
if (target.childNodes.length === 2 && target.nextSibling) {
|
|
1386
1385
|
// Yes
|
|
1387
1386
|
_solidLogic.store.add(bnodeTerm, IDpredicate, IDterm); // used to connect the two
|
|
@@ -1393,12 +1392,12 @@ function UserInput(outline) {
|
|
|
1393
1392
|
break;
|
|
1394
1393
|
case 'LimitedPredicateChoice':
|
|
1395
1394
|
{
|
|
1396
|
-
|
|
1395
|
+
var clickedTd = extraInformation.clickedTd;
|
|
1397
1396
|
selectItem = function selectItem(e) {
|
|
1398
1397
|
qp('LIMITED P SELECT ITEM!!!!');
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
for (
|
|
1398
|
+
var selectedPredicate = UI.utils.getAbout(_solidLogic.store, UI.utils.getTarget(e));
|
|
1399
|
+
var predicateChoices = clickedTd.parentNode.AJAR_statement.predicate.elements;
|
|
1400
|
+
for (var i = 0; i < predicateChoices.length; i++) {
|
|
1402
1401
|
if (predicateChoices[i].sameTerm(selectedPredicate)) {
|
|
1403
1402
|
predicateChoices.unshift(predicateChoices.splice(i, 1)[0]);
|
|
1404
1403
|
}
|
|
@@ -1406,8 +1405,8 @@ function UserInput(outline) {
|
|
|
1406
1405
|
outline.UserInput.clearMenu();
|
|
1407
1406
|
|
|
1408
1407
|
// refresh the choice
|
|
1409
|
-
|
|
1410
|
-
|
|
1408
|
+
var tr = clickedTd.parentNode;
|
|
1409
|
+
var newTd = outline.outlinePredicateTD(tr.AJAR_statement.predicate, tr);
|
|
1411
1410
|
tr.insertBefore(newTd, clickedTd);
|
|
1412
1411
|
tr.removeChild(clickedTd);
|
|
1413
1412
|
This.lastModified.select();
|
|
@@ -1421,11 +1420,11 @@ function UserInput(outline) {
|
|
|
1421
1420
|
case 'TypeChoice':
|
|
1422
1421
|
{
|
|
1423
1422
|
// Clickable menu
|
|
1424
|
-
|
|
1425
|
-
|
|
1423
|
+
var isPredicate = extraInformation.isPredicate;
|
|
1424
|
+
var selectedTd = extraInformation.selectedTd;
|
|
1426
1425
|
selectItem = function selectItem(e) {
|
|
1427
1426
|
qp('WOOHOO');
|
|
1428
|
-
|
|
1427
|
+
var inputTerm = UI.utils.getAbout(_solidLogic.store, UI.utils.getTarget(e));
|
|
1429
1428
|
qp('GENERAL SELECT ITEM!!!!!!=' + inputTerm);
|
|
1430
1429
|
qp('target=' + UI.utils.getTarget(e));
|
|
1431
1430
|
if (isPredicate) {
|
|
@@ -1453,13 +1452,13 @@ function UserInput(outline) {
|
|
|
1453
1452
|
|
|
1454
1453
|
// Add Items to the list
|
|
1455
1454
|
// build NameSpaces here from knowledge base
|
|
1456
|
-
|
|
1455
|
+
var NameSpaces = {};
|
|
1457
1456
|
// for each (ontology in ontologies)
|
|
1458
1457
|
_solidLogic.store.each(undefined, UI.ns.rdf('type'), UI.ns.owl('Ontology')).forEach(function (ontology) {
|
|
1459
|
-
|
|
1458
|
+
var label = UI.utils.label(ontology);
|
|
1460
1459
|
if (!label) return;
|
|
1461
1460
|
// this is like extracting metadata from URI. Maybe it's better not to take the abbrevs.
|
|
1462
|
-
|
|
1461
|
+
var match = label.value.match(/\((.+?)\)/);
|
|
1463
1462
|
if (match) {
|
|
1464
1463
|
NameSpaces[match[1]] = ontology.uri;
|
|
1465
1464
|
} else {
|
|
@@ -1470,27 +1469,27 @@ function UserInput(outline) {
|
|
|
1470
1469
|
if (table.firstChild && table.firstChild.className === 'no-suggest') {
|
|
1471
1470
|
table.removeChild(table.firstChild);
|
|
1472
1471
|
}
|
|
1473
|
-
|
|
1472
|
+
var Label = UI.utils.predicateLabelForXML(predicate, false);
|
|
1474
1473
|
// Label = Label.slice(0,1).toUpperCase() + Label.slice(1);
|
|
1475
1474
|
|
|
1476
1475
|
if (!predicate.uri) return; // bnode
|
|
1477
|
-
|
|
1478
|
-
for (
|
|
1476
|
+
var theNamespace = '??';
|
|
1477
|
+
for (var name in NameSpaces) {
|
|
1479
1478
|
UI.log.debug(NameSpaces[name]);
|
|
1480
1479
|
if (UI.rdf.Util.string_startswith(predicate.uri, NameSpaces[name])) {
|
|
1481
1480
|
theNamespace = name;
|
|
1482
1481
|
break;
|
|
1483
1482
|
}
|
|
1484
1483
|
}
|
|
1485
|
-
|
|
1484
|
+
var tr = table.appendChild(myDocument.createElement('tr'));
|
|
1486
1485
|
tr.setAttribute('about', predicate);
|
|
1487
|
-
|
|
1486
|
+
var th = tr.appendChild(myDocument.createElement('th'));
|
|
1488
1487
|
th.appendChild(myDocument.createElement('div')).appendChild(myDocument.createTextNode(Label));
|
|
1489
1488
|
tr.appendChild(myDocument.createElement('td')).appendChild(myDocument.createTextNode(theNamespace.toUpperCase()));
|
|
1490
1489
|
}
|
|
1491
1490
|
function addPredicateChoice(selectedQuery) {
|
|
1492
1491
|
return function (bindings) {
|
|
1493
|
-
|
|
1492
|
+
var predicate = bindings[selectedQuery.vars[0]];
|
|
1494
1493
|
addMenuItem(predicate);
|
|
1495
1494
|
};
|
|
1496
1495
|
}
|
|
@@ -1498,112 +1497,109 @@ function UserInput(outline) {
|
|
|
1498
1497
|
This.clearMenu();
|
|
1499
1498
|
e.stopPropagation();
|
|
1500
1499
|
}
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1500
|
+
var inputText;
|
|
1501
|
+
var bnodeTerm;
|
|
1502
|
+
var IDpredicate;
|
|
1503
|
+
var IDterm;
|
|
1504
|
+
var tr;
|
|
1505
|
+
var th;
|
|
1507
1506
|
switch (menuType) {
|
|
1508
1507
|
case 'DidYouMeanDialog':
|
|
1509
1508
|
{
|
|
1510
|
-
|
|
1509
|
+
var dialogTerm = extraInformation.dialogTerm;
|
|
1511
1510
|
bnodeTerm = extraInformation.bnodeTerm;
|
|
1512
1511
|
// have to do style instruction passing
|
|
1513
1512
|
menu.style.width = 'auto';
|
|
1514
|
-
|
|
1515
|
-
|
|
1513
|
+
var h1 = table.appendChild(myDocument.createElement('tr'));
|
|
1514
|
+
var h1th = h1.appendChild(myDocument.createElement('th'));
|
|
1516
1515
|
h1th.appendChild(myDocument.createTextNode('Did you mean...'));
|
|
1517
|
-
|
|
1518
|
-
|
|
1516
|
+
var plist = _solidLogic.store.statementsMatching(dialogTerm);
|
|
1517
|
+
var i;
|
|
1519
1518
|
for (i = 0; i < plist.length; i++) {
|
|
1520
1519
|
if (_solidLogic.store.whether(plist[i].predicate, rdf('type'), UI.ns.owl('InverseFunctionalProperty'))) {
|
|
1521
1520
|
break;
|
|
1522
1521
|
}
|
|
1523
1522
|
}
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1523
|
+
var _IDpredicate = plist[i].predicate;
|
|
1524
|
+
var _IDterm = _solidLogic.store.any(dialogTerm, plist[i].predicate);
|
|
1525
|
+
var text = UI.utils.label(dialogTerm) + ' who has ' + UI.utils.label(_IDpredicate) + ' ' + _IDterm + '?';
|
|
1526
|
+
var h2 = table.appendChild(myDocument.createElement('tr'));
|
|
1527
|
+
var h2th = h2.appendChild(myDocument.createElement('th'));
|
|
1529
1528
|
h2th.appendChild(myDocument.createTextNode(text));
|
|
1530
1529
|
h1th.setAttribute('colspan', '2');
|
|
1531
1530
|
h2th.setAttribute('colspan', '2');
|
|
1532
|
-
|
|
1531
|
+
var ans1 = table.appendChild(myDocument.createElement('tr'));
|
|
1533
1532
|
ans1.appendChild(myDocument.createElement('th')).appendChild(myDocument.createTextNode('Yes'));
|
|
1534
1533
|
ans1.appendChild(myDocument.createElement('td')).appendChild(myDocument.createTextNode('BOOLEAN'));
|
|
1535
|
-
|
|
1534
|
+
var ans2 = table.appendChild(myDocument.createElement('tr'));
|
|
1536
1535
|
ans2.appendChild(myDocument.createElement('th')).appendChild(myDocument.createTextNode('No'));
|
|
1537
1536
|
ans2.appendChild(myDocument.createElement('td')).appendChild(myDocument.createTextNode('BOOLEAN'));
|
|
1538
1537
|
break;
|
|
1539
1538
|
}
|
|
1540
1539
|
case 'PredicateAutoComplete':
|
|
1541
1540
|
// Prompt user for possible relationships for new data
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
// @@ TODO: Write away the need for exception on next line
|
|
1541
|
+
inputText = extraInformation.inputText;
|
|
1542
|
+
/* The labeller functionality code ahs been lost or dropped -- reinstate this? */
|
|
1543
|
+
// @@ TODO: Write away the need for exception on next line
|
|
1546
1544
|
|
|
1547
|
-
|
|
1548
|
-
|
|
1545
|
+
var predicates = outline.labeller.searchAdv(inputText, undefined, 'predicate');
|
|
1546
|
+
// @@ TODO: Write away the need for exception on next line
|
|
1549
1547
|
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1548
|
+
var results = []; // @@ fixme
|
|
1549
|
+
for (var _i = 0; _i < predicates.length; _i++) {
|
|
1550
|
+
var tempQuery = {};
|
|
1551
|
+
tempQuery.vars = [];
|
|
1552
|
+
tempQuery.vars.push('Kenny');
|
|
1553
|
+
var tempBinding = {};
|
|
1554
|
+
tempBinding.Kenny = _solidLogic.store.fromNT(predicates[_i].NT);
|
|
1555
|
+
try {
|
|
1556
|
+
addPredicateChoice(tempQuery)(tempBinding);
|
|
1557
|
+
} catch (e) {
|
|
1558
|
+
throw new Error("I'll deal with bnodes later...[Kenny]" + e);
|
|
1559
|
+
} // I'll deal with bnodes later...
|
|
1560
|
+
}
|
|
1563
1561
|
|
|
1564
|
-
|
|
1562
|
+
// @@ TODO: Write away the need for exception on next line
|
|
1565
1563
|
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
}
|
|
1576
|
-
break;
|
|
1564
|
+
var entries = results[0];
|
|
1565
|
+
if (entries.length === 0) {
|
|
1566
|
+
console.log('cm length 0\n'); // hq
|
|
1567
|
+
this.clearMenu();
|
|
1568
|
+
return;
|
|
1569
|
+
}
|
|
1570
|
+
for (var _i2 = 0; _i2 < entries.length && _i2 < 10; _i2++) {
|
|
1571
|
+
// do not show more than 30 items
|
|
1572
|
+
addMenuItem(entries[_i2][1]);
|
|
1577
1573
|
}
|
|
1574
|
+
break;
|
|
1578
1575
|
case 'GeneralAutoComplete':
|
|
1579
1576
|
{
|
|
1580
1577
|
inputText = extraInformation.inputText;
|
|
1581
|
-
let results;
|
|
1582
1578
|
try {
|
|
1583
1579
|
results = outline.labeller.search(inputText);
|
|
1584
1580
|
} catch (e) {
|
|
1585
1581
|
console.log('GeneralAutoComplete: debug me ' + extraInformation.selectedTd.textContent + '\n' + e + '\n');
|
|
1586
1582
|
}
|
|
1587
|
-
|
|
1588
|
-
|
|
1583
|
+
entries = results[0]; // [label, subject,priority]
|
|
1584
|
+
var types = results[1];
|
|
1589
1585
|
if (entries.length === 0) {
|
|
1590
1586
|
console.log('cm length 0\n'); // hq
|
|
1591
1587
|
this.clearMenu();
|
|
1592
1588
|
return;
|
|
1593
1589
|
}
|
|
1594
|
-
for (
|
|
1590
|
+
for (var _i3 = 0; _i3 < entries.length && _i3 < 10; _i3++) {
|
|
1595
1591
|
// do not show more than 30 items
|
|
1596
1592
|
// console.log("\nGEN ENTRIES["+i+"] = "+entries[i]+"\n");//hq
|
|
1597
|
-
|
|
1593
|
+
var thisNT = entries[_i3][1].toNT();
|
|
1598
1594
|
// console.log("thisNT="+thisNT+"\n");
|
|
1599
1595
|
tr = table.appendChild(myDocument.createElement('tr'));
|
|
1600
1596
|
tr.setAttribute('about', thisNT);
|
|
1601
1597
|
th = tr.appendChild(myDocument.createElement('th'));
|
|
1602
|
-
th.appendChild(myDocument.createElement('div')).appendChild(myDocument.createTextNode(entries[
|
|
1598
|
+
th.appendChild(myDocument.createElement('div')).appendChild(myDocument.createTextNode(entries[_i3][0]));
|
|
1603
1599
|
// var theTerm = entries[i][1]
|
|
1604
1600
|
// var type=theTerm?kb.any(kb.fromNT(thisNT),rdf('type')):undefined;
|
|
1605
|
-
|
|
1606
|
-
|
|
1601
|
+
var type = types[_i3];
|
|
1602
|
+
var typeLabel = type ? UI.utils.label(type) : '';
|
|
1607
1603
|
tr.appendChild(myDocument.createElement('td')).appendChild(myDocument.createTextNode(typeLabel));
|
|
1608
1604
|
}
|
|
1609
1605
|
/* var choices=extraInformation.choices;
|
|
@@ -1635,15 +1631,15 @@ function UserInput(outline) {
|
|
|
1635
1631
|
console.log('\n===start JournalTitleAutoComplete\n');
|
|
1636
1632
|
|
|
1637
1633
|
// Gets all the URI's with type Journal in the knowledge base
|
|
1638
|
-
|
|
1639
|
-
|
|
1634
|
+
var juris = _solidLogic.store.each(undefined, rdf('type'), bibo('Journal'));
|
|
1635
|
+
var matchedtitle = []; // debugging display before inserts into menu
|
|
1640
1636
|
|
|
1641
|
-
for (
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1637
|
+
for (var _i4 = 0; _i4 < juris.length; _i4++) {
|
|
1638
|
+
var juri = juris[_i4];
|
|
1639
|
+
var jtitle = _solidLogic.store.each(juri, dcelems('title'), undefined);
|
|
1640
|
+
var jtstr = jtitle + '';
|
|
1641
|
+
var matchstr = inputText.toLowerCase();
|
|
1642
|
+
var jTitleLowerCase = jtstr.toLowerCase();
|
|
1647
1643
|
|
|
1648
1644
|
// If the inputText as a whole is contained in a journal title
|
|
1649
1645
|
if (jTitleLowerCase.search(matchstr) !== -1) {
|
|
@@ -1652,26 +1648,26 @@ function UserInput(outline) {
|
|
|
1652
1648
|
|
|
1653
1649
|
// Add it as a row to the menu:
|
|
1654
1650
|
// === Title, URI ==
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1651
|
+
var _tr = table.appendChild(myDocument.createElement('tr'));
|
|
1652
|
+
_tr.setAttribute('about', 'journalTitle');
|
|
1653
|
+
var _th = _tr.appendChild(myDocument.createElement('th'));
|
|
1654
|
+
_th.appendChild(myDocument.createElement('div')).appendChild(myDocument.createTextNode(jtitle));
|
|
1655
|
+
_tr.appendChild(myDocument.createElement('td')).appendChild(myDocument.createTextNode(juri));
|
|
1660
1656
|
}
|
|
1661
1657
|
}
|
|
1662
1658
|
console.log('matched: ' + matchedtitle + '\n');
|
|
1663
|
-
console.log(
|
|
1659
|
+
console.log("\\\\done showMenu's JTAutocomplete\n");
|
|
1664
1660
|
break;
|
|
1665
1661
|
}
|
|
1666
1662
|
case 'LimitedPredicateChoice':
|
|
1667
1663
|
{
|
|
1668
|
-
|
|
1664
|
+
var choiceTerm = UI.utils.getAbout(_solidLogic.store, extraInformation.clickedTd);
|
|
1669
1665
|
// because getAbout relies on kb.fromNT, which does not deal with
|
|
1670
1666
|
// the 'Collection' termType. This termType is ambiguous anyway.
|
|
1671
1667
|
choiceTerm.termType = 'Collection';
|
|
1672
|
-
|
|
1673
|
-
for (
|
|
1674
|
-
addMenuItem(choices[
|
|
1668
|
+
var choices = _solidLogic.store.each(choiceTerm, UI.ns.link('element'));
|
|
1669
|
+
for (var _i5 = 0; _i5 < choices.length; _i5++) {
|
|
1670
|
+
addMenuItem(choices[_i5]);
|
|
1675
1671
|
}
|
|
1676
1672
|
break;
|
|
1677
1673
|
}
|
|
@@ -1684,11 +1680,11 @@ function UserInput(outline) {
|
|
|
1684
1680
|
tr.appendChild(myDocument.createElement('td')).appendChild(myDocument.createTextNode('OK'));
|
|
1685
1681
|
// var This = this
|
|
1686
1682
|
tr.addEventListener('click', clearMenu, 'false');
|
|
1687
|
-
|
|
1683
|
+
var nullFetcher = function nullFetcher() {};
|
|
1688
1684
|
switch (inputQuery.constructor.name) {
|
|
1689
1685
|
case 'Array':
|
|
1690
|
-
for (
|
|
1691
|
-
_solidLogic.store.query(inputQuery[
|
|
1686
|
+
for (var _i6 = 0; _i6 < inputQuery.length; _i6++) {
|
|
1687
|
+
_solidLogic.store.query(inputQuery[_i6], addPredicateChoice(inputQuery[_i6]), nullFetcher);
|
|
1692
1688
|
}
|
|
1693
1689
|
break;
|
|
1694
1690
|
case 'undefined':
|
|
@@ -1704,16 +1700,18 @@ function UserInput(outline) {
|
|
|
1704
1700
|
|
|
1705
1701
|
/* When a blank is filled. This happens even for blue-cross editing. */
|
|
1706
1702
|
fillInRequest: function fillInRequest(type, selectedTd, inputTerm) {
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1703
|
+
var tr = selectedTd.parentNode;
|
|
1704
|
+
var stat;
|
|
1705
|
+
var isInverse;
|
|
1706
|
+
stat = tr.AJAR_statement;
|
|
1707
|
+
isInverse = tr.AJAR_inverse;
|
|
1708
|
+
var reqTerm = type === 'object' ? stat.object : stat.predicate;
|
|
1709
|
+
var newStat;
|
|
1710
|
+
var doNext = false;
|
|
1713
1711
|
|
|
1714
1712
|
// RDF Event
|
|
1715
1713
|
|
|
1716
|
-
|
|
1714
|
+
var eventhandler;
|
|
1717
1715
|
if (_solidLogic.store.any(reqTerm, UI.ns.link('onfillin'))) {
|
|
1718
1716
|
/* 2017 -- Not sure what is supposed to happen here -- timbl @@@@
|
|
1719
1717
|
eventhandler = function(subject) {
|
|
@@ -1723,9 +1721,9 @@ function UserInput(outline) {
|
|
|
1723
1721
|
}
|
|
1724
1722
|
if (type === 'predicate') {
|
|
1725
1723
|
// ToDo: How to link two things with an inverse relationship
|
|
1726
|
-
|
|
1724
|
+
var newTd = outline.outlinePredicateTD(inputTerm, tr, false, false);
|
|
1727
1725
|
if (selectedTd.nextSibling.className !== 'undetermined') {
|
|
1728
|
-
|
|
1726
|
+
var s = new UI.rdf.Statement(stat.subject, inputTerm, stat.object, stat.why);
|
|
1729
1727
|
try {
|
|
1730
1728
|
_solidLogic.store.updater.update([], [s], function (uri, success, errorBody) {
|
|
1731
1729
|
if (success) {
|
|
@@ -1755,43 +1753,43 @@ function UserInput(outline) {
|
|
|
1755
1753
|
TempFormula.remove(stat);
|
|
1756
1754
|
} else if (type === 'object') {
|
|
1757
1755
|
// Object value has been edited
|
|
1758
|
-
|
|
1759
|
-
outline.replaceTD(
|
|
1756
|
+
var _newTd = outline.outlineObjectTD(inputTerm);
|
|
1757
|
+
outline.replaceTD(_newTd, selectedTd);
|
|
1760
1758
|
if (!selectedTd.previousSibling || selectedTd.previousSibling.className !== 'undetermined') {
|
|
1761
|
-
|
|
1759
|
+
var _s;
|
|
1762
1760
|
if (!isInverse) {
|
|
1763
|
-
|
|
1761
|
+
_s = new UI.rdf.Statement(stat.subject, stat.predicate, inputTerm, stat.why);
|
|
1764
1762
|
} else {
|
|
1765
|
-
|
|
1763
|
+
_s = new UI.rdf.Statement(inputTerm, stat.predicate, stat.object, stat.why);
|
|
1766
1764
|
}
|
|
1767
1765
|
try {
|
|
1768
|
-
_solidLogic.store.updater.update([], [
|
|
1769
|
-
UI.log.info('@@ usinput.js (object) callback ok=' + success + ' for statement:' +
|
|
1770
|
-
|
|
1766
|
+
_solidLogic.store.updater.update([], [_s], function (uri, success, _errorBody) {
|
|
1767
|
+
UI.log.info('@@ usinput.js (object) callback ok=' + success + ' for statement:' + _s + '\n ');
|
|
1768
|
+
var newStats;
|
|
1771
1769
|
if (success) {
|
|
1772
|
-
|
|
1770
|
+
_newTd.className = _newTd.className.replace(/ pendingedit/g, ''); // User feedback
|
|
1773
1771
|
if (!isInverse) {
|
|
1774
1772
|
newStats = _solidLogic.store.statementsMatching(stat.subject, stat.predicate, inputTerm, stat.why);
|
|
1775
1773
|
} else {
|
|
1776
1774
|
newStats = _solidLogic.store.statementsMatching(inputTerm, stat.predicate, stat.object, stat.why);
|
|
1777
1775
|
}
|
|
1778
1776
|
if (!newStats.length) {
|
|
1779
|
-
UI.log.error(
|
|
1777
|
+
UI.log.error("userinput.js 1711: Can't find statememt!");
|
|
1780
1778
|
}
|
|
1781
1779
|
tr.AJAR_statement = newStats[0];
|
|
1782
1780
|
} else {
|
|
1783
|
-
UI.log.warn('userinput.js (object): Fail trying to insert statement ' +
|
|
1781
|
+
UI.log.warn('userinput.js (object): Fail trying to insert statement ' + _s);
|
|
1784
1782
|
// outline.UserInput.deleteTriple(newTd,true);
|
|
1785
1783
|
}
|
|
1786
1784
|
});
|
|
1787
1785
|
} catch (e) {
|
|
1788
1786
|
// outline.UserInput.deleteTriple(newTd,true);
|
|
1789
|
-
UI.log.error('userinput.js (object): exception trying to insert statement ' +
|
|
1790
|
-
UI.log.warn('Error trying to insert statement ' +
|
|
1787
|
+
UI.log.error('userinput.js (object): exception trying to insert statement ' + _s + ': ' + UI.utils.stackString(e));
|
|
1788
|
+
UI.log.warn('Error trying to insert statement ' + _s + ':\n' + e);
|
|
1791
1789
|
return;
|
|
1792
1790
|
}
|
|
1793
1791
|
this.lastModified = null;
|
|
1794
|
-
|
|
1792
|
+
_newTd.className += ' pendingedit';
|
|
1795
1793
|
} else {
|
|
1796
1794
|
// ?this.formUndetStat(tr...)
|
|
1797
1795
|
outline.walk('left');
|