solid-panes 3.5.21 → 3.5.22-1138b2aa
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/.babelrc +0 -0
- package/.eslintignore +0 -0
- package/.eslintrc +1 -1
- package/.github/workflows/ci.yml +0 -1
- package/.nvmrc +1 -1
- package/Documentation/VisualLanguage.html +0 -0
- package/Documentation/conventions.md +0 -0
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dev/index.html +0 -0
- package/dev/loader.ts +1 -1
- package/dev/pane/index.ts +0 -0
- package/doc/images/panes-for-classes.epgz +0 -0
- package/doc/images/panes-for-classes.svg +0 -0
- package/jest.config.js +4 -4
- package/jest.setup.ts +0 -0
- package/lib/RDFXMLPane.js +0 -0
- package/lib/RDFXMLPane.js.map +0 -0
- package/lib/argument/argumentPane.js +0 -0
- package/lib/argument/argumentPane.js.map +0 -0
- package/lib/attach/attachPane.js +0 -0
- package/lib/attach/attachPane.js.map +0 -0
- package/lib/audio/audioPane.js +0 -0
- package/lib/audio/audioPane.js.map +0 -0
- package/lib/classInstancePane.js +0 -0
- package/lib/classInstancePane.js.map +0 -0
- package/lib/dashboard/basicPreferences.d.ts +0 -0
- package/lib/dashboard/basicPreferences.d.ts.map +0 -0
- package/lib/dashboard/basicPreferences.js +0 -0
- package/lib/dashboard/basicPreferences.js.map +0 -0
- package/lib/dashboard/dashboardPane.d.ts +0 -0
- package/lib/dashboard/dashboardPane.d.ts.map +0 -0
- package/lib/dashboard/dashboardPane.js +0 -0
- package/lib/dashboard/dashboardPane.js.map +0 -0
- package/lib/dashboard/homepage.d.ts +0 -0
- package/lib/dashboard/homepage.d.ts.map +0 -0
- package/lib/dashboard/homepage.js +0 -0
- package/lib/dashboard/homepage.js.map +0 -0
- package/lib/dataContentPane.js +0 -0
- package/lib/dataContentPane.js.map +0 -0
- package/lib/defaultPane.js +0 -0
- package/lib/defaultPane.js.map +0 -0
- package/lib/dokieli/dokieliPane.js +0 -0
- package/lib/dokieli/dokieliPane.js.map +0 -0
- package/lib/dokieli/new.js +0 -0
- package/lib/dokieli/new.js.map +0 -0
- package/lib/form/pane.js +0 -0
- package/lib/form/pane.js.map +0 -0
- package/lib/global.d.js +0 -0
- package/lib/global.d.js.map +0 -0
- package/lib/home/homePane.d.ts +0 -0
- package/lib/home/homePane.d.ts.map +0 -0
- package/lib/home/homePane.js +0 -0
- package/lib/home/homePane.js.map +0 -0
- package/lib/humanReadablePane.js +0 -0
- package/lib/humanReadablePane.js.map +0 -0
- package/lib/imagePane.js +0 -0
- package/lib/imagePane.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/internal/internalPane.d.ts +0 -0
- package/lib/internal/internalPane.d.ts.map +0 -0
- package/lib/internal/internalPane.js +0 -0
- package/lib/internal/internalPane.js.map +0 -0
- package/lib/mainPage/footer.d.ts +2 -2
- package/lib/mainPage/footer.d.ts.map +1 -1
- package/lib/mainPage/footer.js +0 -0
- package/lib/mainPage/footer.js.map +1 -1
- package/lib/mainPage/header.d.ts +0 -0
- package/lib/mainPage/header.d.ts.map +0 -0
- package/lib/mainPage/header.js +0 -0
- package/lib/mainPage/header.js.map +0 -0
- package/lib/mainPage/index.d.ts +2 -2
- package/lib/mainPage/index.d.ts.map +1 -1
- package/lib/mainPage/index.js +0 -0
- package/lib/mainPage/index.js.map +1 -1
- package/lib/microblogPane/microblogPane.js +0 -0
- package/lib/microblogPane/microblogPane.js.map +0 -0
- package/lib/n3Pane.js +0 -0
- package/lib/n3Pane.js.map +0 -0
- package/lib/outline/context.d.ts +0 -0
- package/lib/outline/context.d.ts.map +0 -0
- package/lib/outline/context.js +0 -0
- package/lib/outline/context.js.map +0 -0
- package/lib/outline/licenseOptions.js +0 -0
- package/lib/outline/licenseOptions.js.map +0 -0
- package/lib/outline/manager.js +37 -80
- package/lib/outline/manager.js.map +1 -1
- package/lib/outline/manager.test.js +0 -0
- package/lib/outline/manager.test.js.map +0 -0
- package/lib/outline/outlineIcons.js +0 -0
- package/lib/outline/outlineIcons.js.map +0 -0
- package/lib/outline/propertyViews.d.ts +0 -0
- package/lib/outline/propertyViews.d.ts.map +0 -0
- package/lib/outline/propertyViews.js +0 -0
- package/lib/outline/propertyViews.js.map +0 -0
- package/lib/outline/propertyViews.test.js +0 -0
- package/lib/outline/propertyViews.test.js.map +0 -0
- package/lib/outline/queryByExample.js +0 -0
- package/lib/outline/queryByExample.js.map +0 -0
- package/lib/outline/userInput.js +0 -0
- package/lib/outline/userInput.js.map +0 -0
- package/lib/outline/viewAsImage.d.ts +0 -0
- package/lib/outline/viewAsImage.d.ts.map +0 -0
- package/lib/outline/viewAsImage.js +0 -0
- package/lib/outline/viewAsImage.js.map +0 -0
- package/lib/outline/viewAsMbox.d.ts +0 -0
- package/lib/outline/viewAsMbox.d.ts.map +0 -0
- package/lib/outline/viewAsMbox.js +0 -0
- package/lib/outline/viewAsMbox.js.map +0 -0
- package/lib/pad/padPane.d.ts +0 -0
- package/lib/pad/padPane.d.ts.map +0 -0
- package/lib/pad/padPane.js +0 -0
- package/lib/pad/padPane.js.map +0 -0
- package/lib/playlist/playlistPane.js +0 -0
- package/lib/playlist/playlistPane.js.map +0 -0
- package/lib/profile/editProfile.view.d.ts +0 -0
- package/lib/profile/editProfile.view.d.ts.map +0 -0
- package/lib/profile/editProfile.view.js +0 -0
- package/lib/profile/editProfile.view.js.map +0 -0
- package/lib/profile/profile.dom.d.ts +0 -0
- package/lib/profile/profile.dom.d.ts.map +0 -0
- package/lib/profile/profile.dom.js +0 -0
- package/lib/profile/profile.dom.js.map +0 -0
- package/lib/registerPanes.js +0 -0
- package/lib/registerPanes.js.map +0 -0
- package/lib/schedule/formsForSchedule.js +0 -0
- package/lib/schedule/formsForSchedule.js.map +0 -0
- package/lib/schedule/schedulePane.js +0 -0
- package/lib/schedule/schedulePane.js.map +0 -0
- package/lib/sharing/sharingPane.d.ts +0 -0
- package/lib/sharing/sharingPane.d.ts.map +0 -0
- package/lib/sharing/sharingPane.js +0 -0
- package/lib/sharing/sharingPane.js.map +0 -0
- package/lib/slideshow/slideshowPane.js +0 -0
- package/lib/slideshow/slideshowPane.js.map +0 -0
- package/lib/socialPane.js +0 -0
- package/lib/socialPane.js.map +0 -0
- package/lib/tabbed/tabbedPane.d.ts +0 -0
- package/lib/tabbed/tabbedPane.d.ts.map +0 -0
- package/lib/tabbed/tabbedPane.js +0 -0
- package/lib/tabbed/tabbedPane.js.map +0 -0
- package/lib/tableViewPane.js +0 -0
- package/lib/tableViewPane.js.map +0 -0
- package/lib/test-import-export/common.js +0 -0
- package/lib/test-import-export/common.js.map +0 -0
- package/lib/test-import-export/edit-importer.js +0 -0
- package/lib/test-import-export/edit-importer.js.map +0 -0
- package/lib/test-import-export/testImportExport.js +0 -0
- package/lib/test-import-export/testImportExport.js.map +0 -0
- package/lib/transaction/pane.js +0 -0
- package/lib/transaction/pane.js.map +0 -0
- package/lib/transaction/period.js +0 -0
- package/lib/transaction/period.js.map +0 -0
- package/lib/trip/tripPane.js +0 -0
- package/lib/trip/tripPane.js.map +0 -0
- package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
- package/lib/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
- package/lib/trustedApplications/trustedApplications.dom.js +0 -0
- package/lib/trustedApplications/trustedApplications.dom.js.map +0 -0
- package/lib/trustedApplications/trustedApplications.test.js +0 -0
- package/lib/trustedApplications/trustedApplications.test.js.map +0 -0
- package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
- package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
- package/lib/trustedApplications/trustedApplications.utils.js +0 -0
- package/lib/trustedApplications/trustedApplications.utils.js.map +0 -0
- package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
- package/lib/trustedApplications/trustedApplications.view.d.ts.map +0 -0
- package/lib/trustedApplications/trustedApplications.view.js +0 -0
- package/lib/trustedApplications/trustedApplications.view.js.map +0 -0
- package/lib/types.d.ts +0 -0
- package/lib/types.d.ts.map +0 -0
- package/lib/types.js +0 -0
- package/lib/types.js.map +0 -0
- package/lib/ui/pane.js +0 -0
- package/lib/ui/pane.js.map +0 -0
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +1 -1
- package/lib/versionInfo.js +14 -14
- package/lib/versionInfo.js.map +1 -1
- package/lib/video/videoPane.js +0 -0
- package/lib/video/videoPane.js.map +0 -0
- package/package.json +36 -43
- package/src/RDFXMLPane.js +0 -0
- package/src/argument/argumentPane.js +0 -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 +0 -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 +0 -0
- package/src/chatPreferencesForm.ttl +0 -0
- package/src/classInstancePane.js +0 -0
- package/src/dashboard/basicPreferences.ts +0 -0
- package/src/dashboard/dashboardPane.ts +0 -0
- package/src/dashboard/homepage.ts +0 -0
- package/src/dashboard/languages/codes.html +0 -0
- package/src/dashboard/languages/codes.xml +0 -0
- package/src/dashboard/languages/codes2.txt +0 -0
- package/src/dashboard/languages/foo +0 -0
- package/src/dashboard/languages/foo.ttl +0 -0
- package/src/dashboard/languages/get-language-names.sh +0 -0
- package/src/dashboard/ontologyData.ttl +0 -0
- package/src/dashboard/preferencesFormText.ttl +0 -0
- package/src/dataContentPane.js +0 -0
- package/src/defaultPane.js +0 -0
- package/src/dokieli/Makefile +0 -0
- package/src/dokieli/dokieliPane.js +0 -0
- package/src/dokieli/new.html +0 -0
- package/src/dokieli/new.js +0 -0
- package/src/form/form-22.png +0 -0
- package/src/form/form-b-22.png +0 -0
- package/src/form/form.graffle +0 -0
- package/src/form/form.png +0 -0
- package/src/form/pane.js +0 -0
- package/src/form/psuedocode-notes.txt +0 -0
- package/src/global.d.ts +0 -0
- package/src/home/homePane.ts +0 -0
- package/src/humanReadablePane.js +0 -0
- package/src/imagePane.js +0 -0
- package/src/index.ts +0 -0
- package/src/internal/internalPane.ts +0 -0
- package/src/mainPage/footer.ts +2 -2
- package/src/mainPage/header.ts +0 -0
- package/src/mainPage/index.ts +2 -2
- package/src/meeting/Makefile +0 -0
- package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
- package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
- package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
- package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
- package/src/meeting/test/meeting1/Schedule/index.html +0 -0
- package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
- package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
- package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
- package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
- package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
- package/src/meeting/test/meeting1/details.ttl +0 -0
- package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
- package/src/microblogPane/mbStyle.css +0 -0
- package/src/microblogPane/microblogPane.js +0 -0
- package/src/n3Pane.js +0 -0
- package/src/outline/context.ts +0 -0
- package/src/outline/licenseOptions.js +0 -0
- package/src/outline/manager.js +6 -55
- package/src/outline/manager.test.ts +0 -0
- package/src/outline/outlineIcons.js +0 -0
- package/src/outline/propertyViews.test.ts +0 -0
- package/src/outline/propertyViews.ts +0 -0
- package/src/outline/queryByExample.js +0 -0
- package/src/outline/userInput.js +0 -0
- package/src/outline/viewAsImage.ts +0 -0
- package/src/outline/viewAsMbox.ts +0 -0
- package/src/pad/images/ColourOff.ai +0 -0
- package/src/pad/images/ColourOff.png +0 -0
- package/src/pad/images/ColourOn.ai +0 -0
- package/src/pad/images/ColourOn.png +0 -0
- package/src/pad/padPane.ts +0 -0
- package/src/playlist/playlistPane.js +0 -0
- package/src/profile/editProfile.view.ts +0 -0
- package/src/profile/profile.dom.ts +0 -0
- package/src/profile/profileFormText.ttl +0 -0
- package/src/registerPanes.js +0 -0
- package/src/schedule/Makefile +0 -0
- package/src/schedule/formsForSchedule.js +0 -0
- package/src/schedule/formsForSchedule.ttl +0 -0
- package/src/schedule/schedulePane.js +0 -0
- package/src/sharing/sharingPane.ts +0 -0
- package/src/slideshow/slideshowPane.js +0 -0
- package/src/socialPane.js +0 -0
- package/src/style/tabbedtab.css +0 -0
- package/src/tabbed/tabbedPane.ts +0 -0
- package/src/tableViewPane.js +0 -0
- package/src/test-import-export/common.js +0 -0
- package/src/test-import-export/edit-importer.js +0 -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 +0 -0
- package/src/transaction/period.js +0 -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 +0 -0
- package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
- package/src/trustedApplications/trustedApplications.dom.ts +0 -0
- package/src/trustedApplications/trustedApplications.test.ts +0 -0
- package/src/trustedApplications/trustedApplications.utils.ts +0 -0
- package/src/trustedApplications/trustedApplications.view.ts +0 -0
- package/src/types.ts +0 -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 +0 -0
- package/src/versionInfo.ts +16 -16
- package/src/video/videoPane.js +0 -0
- package/timestamp.sh +0 -0
- package/travis/bumpversion.js +0 -0
- package/tsconfig.json +1 -0
- package/typings/raw-loader.d.ts +0 -0
- package/typings/solid-namespace/index.d.ts +0 -0
- package/webpack.config.js +2 -9
- package/lib/outline/dragDrop.js +0 -406
- package/lib/outline/dragDrop.js.map +0 -1
- package/src/outline/dragDrop.js +0 -444
package/lib/outline/dragDrop.js
DELETED
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
|
-
var _solidLogic = require("solid-logic");
|
|
6
|
-
|
|
7
|
-
var UI = _interopRequireWildcard(require("solid-ui"));
|
|
8
|
-
|
|
9
|
-
var $rdf = _interopRequireWildcard(require("rdflib"));
|
|
10
|
-
|
|
11
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
-
|
|
13
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
-
|
|
15
|
-
/* istanbul ignore file */
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
This is for outliner features that only work in the extension version, say drag and drop.
|
|
19
|
-
I am always happy creating new files.
|
|
20
|
-
2007.07.11 kennyluck
|
|
21
|
-
2017: Todo: Repace the old Firefox specific code with HTML5 standard code - timbl
|
|
22
|
-
**/
|
|
23
|
-
// Firefox internals:
|
|
24
|
-
|
|
25
|
-
/* global Components TransferData TransferDataSet FlavourSet nsTransferable transferUtils */
|
|
26
|
-
// #includedIn chrome://tabulator/tabulator.xul
|
|
27
|
-
// #require_once chrome://global/nsDragAndDrop.js
|
|
28
|
-
|
|
29
|
-
/* alert(gBrowser);alert(gBrowser.tagName)
|
|
30
|
-
if (!tabulator_gBrowser) {
|
|
31
|
-
var tabulator_wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
|
|
32
|
-
.getService(Components.interfaces.nsIWindowMediator)
|
|
33
|
-
var tabulator_gBrowser = tabulator_wm.getMostRecentWindow("navigator:browser")
|
|
34
|
-
}
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/* 2007: adapted from dragAndDrop UI Library */
|
|
38
|
-
var dragAndDrop = module.exports = {};
|
|
39
|
-
dragAndDrop.util = {};
|
|
40
|
-
|
|
41
|
-
dragAndDrop.util.Event = function () {
|
|
42
|
-
var listeners = [];
|
|
43
|
-
return {
|
|
44
|
-
on: function on(el, sType, fn, obj, fnId
|
|
45
|
-
/* ,override */
|
|
46
|
-
) {
|
|
47
|
-
var wrappedFn = function wrappedFn(e) {
|
|
48
|
-
return fn.call(obj, e, obj);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
el.addEventListener(sType, wrappedFn, false);
|
|
52
|
-
var li = [el, sType, fnId, wrappedFn];
|
|
53
|
-
listeners.push(li);
|
|
54
|
-
},
|
|
55
|
-
off: function off(el, sType, fnId) {
|
|
56
|
-
// removeListener, fnId to identify a function
|
|
57
|
-
var index = this._getCacheIndex(el, sType, fnId);
|
|
58
|
-
|
|
59
|
-
if (index === -1) return false;
|
|
60
|
-
var cacheItem = listeners[index];
|
|
61
|
-
el.removeEventListener(sType, cacheItem[this.WFN], false);
|
|
62
|
-
delete listeners[index][this.WFN];
|
|
63
|
-
delete listeners[index][this.FN];
|
|
64
|
-
listeners.splice(index, 1);
|
|
65
|
-
return true;
|
|
66
|
-
},
|
|
67
|
-
EL: 0,
|
|
68
|
-
TYPE: 1,
|
|
69
|
-
FNID: 2,
|
|
70
|
-
WFN: 3,
|
|
71
|
-
_getCacheIndex: function _getCacheIndex(el, sType, fnId) {
|
|
72
|
-
for (var i = 0, len = listeners.length; i < len; ++i) {
|
|
73
|
-
var li = listeners[i];
|
|
74
|
-
|
|
75
|
-
if (li && li[this.FNID] === fnId && li[this.EL] === el && li[this.TYPE] === sType) {
|
|
76
|
-
return i;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return -1;
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
}();
|
|
84
|
-
|
|
85
|
-
dragAndDrop.util.DDExternalProxy = function DDExternalProxy(el) {
|
|
86
|
-
this.initTarget(el); // dragAndDrop.util.Event.on(this.el, "mousedown", this.handleMouseDown, this, 'dragMouseDown'/*, true*/)
|
|
87
|
-
}; // dragAndDrop.util.DDExternalProxy extends dragAndDrop.utilDDProxy
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
dragAndDrop.util.DDExternalProxy.prototype = {
|
|
91
|
-
initTarget: function initTarget(el) {
|
|
92
|
-
// create a local reference to the drag and drop manager
|
|
93
|
-
this.DDM = dragAndDrop.util.DDM; // set the el
|
|
94
|
-
|
|
95
|
-
this.el = el;
|
|
96
|
-
/*
|
|
97
|
-
// We don't want to register this as the handle with the manager
|
|
98
|
-
// so we just set the id rather than calling the setter.
|
|
99
|
-
this.handleElId = id
|
|
100
|
-
Event.onAvailable(id, this.handleOnAvailable, this, true)
|
|
101
|
-
*/
|
|
102
|
-
// the linked element is the element that gets dragged by default
|
|
103
|
-
// this.setDragElId(id)
|
|
104
|
-
// by default, clicked anchors will not start drag operations.
|
|
105
|
-
// @TODO what else should be here? Probably form fields.
|
|
106
|
-
// this.invalidHandleTypes = { A: "A" }
|
|
107
|
-
// this.invalidHandleIds = {}
|
|
108
|
-
// this.invalidHandleClasses = []
|
|
109
|
-
// this.applyConfig()
|
|
110
|
-
},
|
|
111
|
-
b4StartDrag: function b4StartDrag(x, y) {
|
|
112
|
-
// show the drag frame
|
|
113
|
-
// this.logger.log("start drag show frame, x: " + x + ", y: " + y)
|
|
114
|
-
// alert("test startDrag")
|
|
115
|
-
TabulatorOutlinerObserver.onDragStart(x, y, this.el); // this.showFrame(x, y)
|
|
116
|
-
},
|
|
117
|
-
b4Drag: function b4Drag(_e) {// this.setDragElPos(dragAndDrop.util.Event.getPageX(e),
|
|
118
|
-
// dragAndDrop.util.Event.getPageY(e))
|
|
119
|
-
},
|
|
120
|
-
handleMouseDown: function handleMouseDown(e, _oDD) {
|
|
121
|
-
var button = e.which || e.button;
|
|
122
|
-
if (button > 1) return; // firing the mousedown events prior to calculating positions
|
|
123
|
-
// this.b4MouseDown(e)
|
|
124
|
-
// this.onMouseDown(e)
|
|
125
|
-
// this.DDM.refreshCache(this.groups)
|
|
126
|
-
// var self = this
|
|
127
|
-
// setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0)
|
|
128
|
-
// Only process the event if we really clicked within the linked
|
|
129
|
-
// element. The reason we make this check is that in the case that
|
|
130
|
-
// another element was moved between the clicked element and the
|
|
131
|
-
// cursor in the time between the mousedown and mouseup events. When
|
|
132
|
-
// this happens, the element gets the next mousedown event
|
|
133
|
-
// regardless of where on the screen it happened.
|
|
134
|
-
// var pt = new dragAndDrop.util.Point(Event.getPageX(e), Event.getPageY(e))
|
|
135
|
-
// if (!this.hasOuterHandles && !this.DDM.isOverTarget(pt, this) ) {
|
|
136
|
-
// this.logger.log("Click was not over the element: " + this.id)
|
|
137
|
-
// } else {
|
|
138
|
-
// if (this.clickValidator(e)) {
|
|
139
|
-
// set the initial element position
|
|
140
|
-
// this.setStartPosition()
|
|
141
|
-
// start tracking mousemove distance and mousedown time to
|
|
142
|
-
// determine when to start the actual drag
|
|
143
|
-
|
|
144
|
-
this.DDM.handleMouseDown(e, this); // this mousedown is mine
|
|
145
|
-
// this.DDM.stopEvent(e)
|
|
146
|
-
// } else {
|
|
147
|
-
// this.logger.log("clickValidator returned false, drag not initiated")
|
|
148
|
-
// }
|
|
149
|
-
// }
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
dragAndDrop.util.DDM = function DDM() {
|
|
154
|
-
return {
|
|
155
|
-
handleMouseDown: function handleMouseDown(e, oDD) {
|
|
156
|
-
// this.currentTarget = dragAndDrop.util.Event.getTarget(e)
|
|
157
|
-
this.dragCurrent = oDD;
|
|
158
|
-
var el = oDD.el; // track start position
|
|
159
|
-
|
|
160
|
-
this.startX = e.pageX;
|
|
161
|
-
this.startY = e.pageY;
|
|
162
|
-
this.deltaX = this.startX - el.offsetLeft;
|
|
163
|
-
this.deltaY = this.startY - el.offsetTop;
|
|
164
|
-
this.dragThreshMet = false; // this.clickTimeout = setTimeout(
|
|
165
|
-
// function() {
|
|
166
|
-
// var DDM = dragAndDrop.util.DDM
|
|
167
|
-
// DDM.startDrag(DDM.startX, DDM.startY)
|
|
168
|
-
// },
|
|
169
|
-
// this.clickTimeThresh )
|
|
170
|
-
// dragAndDrop.util.Event.on(el,'mousemove',this.handleMouseMove,this,'dragMouseMove')
|
|
171
|
-
// dragAndDrop.util.Event.on(el,'mouseup' ,this.handleMouseUp ,this,'dragMouseUp')
|
|
172
|
-
},
|
|
173
|
-
handleMouseMove: function handleMouseMove(e) {
|
|
174
|
-
// dragAndDrop.log("handlemousemove")
|
|
175
|
-
if (!this.dragCurrent) {
|
|
176
|
-
// dragAndDrop.log("no current drag obj")
|
|
177
|
-
return true;
|
|
178
|
-
} // var button = e.which || e.button
|
|
179
|
-
// dragAndDrop.log("which: " + e.which + ", button: "+ e.button)
|
|
180
|
-
// check for IE mouseup outside of page boundary
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
if (dragAndDrop.util.Event.isIE && !e.button) {
|
|
184
|
-
dragAndDrop.log('button failure', 'info', 'DragDropMgr');
|
|
185
|
-
this.stopEvent(e);
|
|
186
|
-
return this.handleMouseUp(e);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
if (!this.dragThreshMet) {
|
|
190
|
-
var diffX = Math.abs(this.startX - e.pageX);
|
|
191
|
-
var diffY = Math.abs(this.startY - e.pageY); // dragAndDrop.log("diffX: " + diffX + "diffY: " + diffY)
|
|
192
|
-
|
|
193
|
-
if (diffX > this.clickPixelThresh || diffY > this.clickPixelThresh) {
|
|
194
|
-
// dragAndDrop.log("pixel threshold met", "info", "DragDropMgr")
|
|
195
|
-
this.startDrag(this.startX, this.startY);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
if (this.dragThreshMet) {// this.dragCurrent.b4Drag(e)
|
|
200
|
-
// this.dragCurrent.onDrag(e)
|
|
201
|
-
// this.fireEvents(e, false)
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
e.preventDefault(); // this.stopEvent(e)
|
|
205
|
-
|
|
206
|
-
return true;
|
|
207
|
-
},
|
|
208
|
-
handleMouseUp: function handleMouseUp(e) {
|
|
209
|
-
if (!this.dragCurrent) return; // Error...
|
|
210
|
-
|
|
211
|
-
dragAndDrop.util.Event.off(this.dragCurrent.el, 'mousemove', 'dragMouseMove'); // there are two mouseup for unknown reason...
|
|
212
|
-
|
|
213
|
-
dragAndDrop.util.Event.off(this.dragCurrent.el, 'mouseup', 'dragMouseUp');
|
|
214
|
-
dragAndDrop.util.Event.off(this.dragCurrent.el, 'mouseup', 'dragMouseUp'); // have to do this as attribute ondragdrop does not recognize any dragdrop event
|
|
215
|
-
// initialized inside <tabbrowser> (strange, I think)
|
|
216
|
-
|
|
217
|
-
if (this.dragThreshMet) {
|
|
218
|
-
TabulatorOutlinerObserver.onDropInside(e.target);
|
|
219
|
-
this.dragThreshMet = false;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
this.dragCurrent = null;
|
|
223
|
-
},
|
|
224
|
-
startDrag: function startDrag(x, y) {
|
|
225
|
-
// dragAndDrop.log("firing drag start events", "info", "DragDropMgr")
|
|
226
|
-
// clearTimeout(this.clickTimeout)
|
|
227
|
-
if (this.dragCurrent) {
|
|
228
|
-
this.dragCurrent.b4StartDrag(x, y); // this.dragCurrent.startDrag(x, y)
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
this.dragThreshMet = true;
|
|
232
|
-
},
|
|
233
|
-
clickPixelThresh: 3
|
|
234
|
-
};
|
|
235
|
-
}(); // ToDos
|
|
236
|
-
// 1.Recover normal funtionality
|
|
237
|
-
// 2.Investigate into Gecko drag and drop
|
|
238
|
-
// 3.Cross Tag Drag And Drop
|
|
239
|
-
// 4.Firefox native rdf store
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
var TabulatorOutlinerObserver = {
|
|
243
|
-
onDrop: function onDrop(e, aXferData, _dragSession) {
|
|
244
|
-
var selection = UI.utils.ancestor(UI.utils.ancestor(e.originalTarget, 'TABLE').parentNode, 'TABLE').outline.selection;
|
|
245
|
-
var contentType = aXferData.flavour.contentType;
|
|
246
|
-
var url = transferUtils.retrieveURLFromData(aXferData.data, contentType);
|
|
247
|
-
if (!url) return;
|
|
248
|
-
|
|
249
|
-
if (contentType === 'application/x-moz-file') {
|
|
250
|
-
if (aXferData.data.fileSize === 0) {
|
|
251
|
-
var templateDoc = $rdf.sym('chrome://tabulator/content/internalKnowledge.n3#defaultNew');
|
|
252
|
-
|
|
253
|
-
_solidLogic.store.copyTo(templateDoc, $rdf.sym(url));
|
|
254
|
-
/*
|
|
255
|
-
function WriteToFileRepresentedBy (subject){
|
|
256
|
-
var outputFormulaTerm=kb.any(subject,OWL('unionOf'))
|
|
257
|
-
var theClass = kb.constructor.SuperClass
|
|
258
|
-
var outputFormula= theClass.instances[kb.the(outputFormulaTerm,tabont('accesskey')).value]
|
|
259
|
-
}
|
|
260
|
-
*/
|
|
261
|
-
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
var targetTd = selection[0];
|
|
266
|
-
var table = UI.utils.ancestor(UI.utils.ancestor(targetTd, 'TABLE').parentNode, 'TABLE');
|
|
267
|
-
var thisOutline = table.outline;
|
|
268
|
-
thisOutline.UserInput.insertTermTo(targetTd, $rdf.sym(url));
|
|
269
|
-
},
|
|
270
|
-
onDragEnter: function onDragEnter(e, _dragSession) {
|
|
271
|
-
// enter or exit something
|
|
272
|
-
var selection;
|
|
273
|
-
|
|
274
|
-
try {
|
|
275
|
-
selection = UI.utils.ancestor(UI.utils.ancestor(e.originalTarget, 'TABLE').parentNode, 'TABLE').outline.selection;
|
|
276
|
-
} catch (e) {
|
|
277
|
-
/* because e.orginalTarget is not defined */
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
for (var targetTd = e.originalTarget; targetTd; targetTd = targetTd.parentNode) {
|
|
282
|
-
if (targetTd.tabulatorSelect) {
|
|
283
|
-
if (selection[0]) {
|
|
284
|
-
try {
|
|
285
|
-
selection[0].tabulatorDeselect();
|
|
286
|
-
} catch (e) {
|
|
287
|
-
throw new Error(selection[0] + ' causes ' + e);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
dragAndDrop.util.Event.off(targetTd, 'mouseup', 'dragMouseUp');
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
targetTd.tabulatorSelect(); // dragAndDrop.util.Event.on(targetTd,'mouseup',this.DDM.handleMouseUp,this.DDM,'dragMouseUp')
|
|
294
|
-
|
|
295
|
-
break;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
onDragExit: function onDragExit(_e, _dragSession) {// if (e.originalTarget.tabulatorDeselect) e.originalTarget.tabulatorDeselect()
|
|
300
|
-
},
|
|
301
|
-
onDropInside: function onDropInside(targetTd) {
|
|
302
|
-
// a special case that you draganddrop totally inside a <tabbrowser>
|
|
303
|
-
// var selection = ancestor(ancestor(targetTd,'TABLE').parentNode,'TABLE').outline.selection
|
|
304
|
-
// var targetTd=selection[0]
|
|
305
|
-
var table = targetTd.ownerDocument.getElementById('outline'); // var table=ancestor(ancestor(targetTd,'TABLE').parentNode,'TABLE')
|
|
306
|
-
|
|
307
|
-
var thisOutline = table.outline;
|
|
308
|
-
thisOutline.UserInput.insertTermTo(targetTd, UI.utils.getAbout(_solidLogic.store, this.dragTarget));
|
|
309
|
-
},
|
|
310
|
-
onDragStart: function onDragStart(x, y, td) {
|
|
311
|
-
/* seeAlso nsDragAndDrop.js::nsDragAndDrop.startDrag */
|
|
312
|
-
// ToDo for myself: understand the connections in firefox, x, screenX
|
|
313
|
-
this.dragTarget = td;
|
|
314
|
-
var kDSIID = Components.interfaces.nsIDragService;
|
|
315
|
-
var dragAction = {
|
|
316
|
-
action: kDSIID.DRAGDROP_ACTION_COPY + kDSIID.DRAGDROP_ACTION_MOVE + kDSIID.DRAGDROP_ACTION_LINK
|
|
317
|
-
}; // alert(td.ownerDocument.getBoxObjectFor(td))
|
|
318
|
-
// alert(td.ownerDocument.getBoxObjectFor(td).screenX)
|
|
319
|
-
|
|
320
|
-
var tdBox = td.ownerDocument.getBoxObjectFor(td); // nsIBoxObject
|
|
321
|
-
|
|
322
|
-
var region = Components.classes['@mozilla.org/gfx/region;1'].createInstance(Components.interfaces.nsIScriptableRegion);
|
|
323
|
-
region.init(); // this is important
|
|
324
|
-
|
|
325
|
-
region.unionRect(tdBox.screenX, tdBox.screenY, tdBox.width, tdBox.height);
|
|
326
|
-
var transferDataSet = {
|
|
327
|
-
data: null
|
|
328
|
-
};
|
|
329
|
-
var term = UI.Util.getTerm(td);
|
|
330
|
-
|
|
331
|
-
switch (term.termType) {
|
|
332
|
-
case 'NamedNode':
|
|
333
|
-
transferDataSet.data = this.URItoTransferDataSet(term.uri);
|
|
334
|
-
break;
|
|
335
|
-
|
|
336
|
-
case 'BlankNode':
|
|
337
|
-
transferDataSet.data = this.URItoTransferDataSet(term.toNT());
|
|
338
|
-
break;
|
|
339
|
-
|
|
340
|
-
case 'Literal':
|
|
341
|
-
transferDataSet.data = this.URItoTransferDataSet(term.value);
|
|
342
|
-
break;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
transferDataSet = transferDataSet.data; // quite confusing, anyway...
|
|
346
|
-
|
|
347
|
-
var transArray = Components.classes['@mozilla.org/supports-array;1'].createInstance(Components.interfaces.nsISupportsArray);
|
|
348
|
-
var trans = nsTransferable.set(transferDataSet.dataList[0]);
|
|
349
|
-
transArray.AppendElement(trans.QueryInterface(Components.interfaces.nsISupports));
|
|
350
|
-
this.mDragService.invokeDragSession(td, transArray, region, dragAction.action);
|
|
351
|
-
},
|
|
352
|
-
|
|
353
|
-
/*
|
|
354
|
-
onDragStart: function(aEvent,aXferData,aDragAction){
|
|
355
|
-
var dragTarget=ancestor(aEvent.target,'TD')
|
|
356
|
-
//var nt=dragTarget.getAttribute('about')
|
|
357
|
-
//ToDo:text terms
|
|
358
|
-
var term=getAbout(kb,dragTarget)
|
|
359
|
-
aXferData.data = this.URItoTransferDataSet(term.uri)
|
|
360
|
-
alert("start")
|
|
361
|
-
},
|
|
362
|
-
*/
|
|
363
|
-
getSupportedFlavours: function getSupportedFlavours() {
|
|
364
|
-
var flavourSet = new FlavourSet(); // flavourSet.appendFlavour("text/rdfitem")
|
|
365
|
-
// flavourSet.appendFlavour("moz/rdfitem")
|
|
366
|
-
|
|
367
|
-
flavourSet.appendFlavour('text/x-moz-url');
|
|
368
|
-
flavourSet.appendFlavour('text/unicode');
|
|
369
|
-
flavourSet.appendFlavour('application/x-moz-file', 'nsIFile');
|
|
370
|
-
return flavourSet;
|
|
371
|
-
},
|
|
372
|
-
URItoTransferDataSet: function URItoTransferDataSet(uri) {
|
|
373
|
-
var dataSet = new TransferDataSet();
|
|
374
|
-
var data = new TransferData();
|
|
375
|
-
data.addDataForFlavour('text/x-moz-url', uri);
|
|
376
|
-
data.addDataForFlavour('text/unicode', uri);
|
|
377
|
-
dataSet.push(data);
|
|
378
|
-
return dataSet;
|
|
379
|
-
},
|
|
380
|
-
_mDS: null,
|
|
381
|
-
get_mDragService: function get_mDragService() {
|
|
382
|
-
// some syntax I don't understand -- was get mDragService()
|
|
383
|
-
if (!this._mDS) {
|
|
384
|
-
var kDSContractID = '@mozilla.org/widget/dragservice;1';
|
|
385
|
-
var kDSIID = Components.interfaces.nsIDragService;
|
|
386
|
-
this._mDS = Components.classes[kDSContractID].getService(kDSIID);
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
return this._mDS;
|
|
390
|
-
},
|
|
391
|
-
DDM: dragAndDrop.util.DDM
|
|
392
|
-
};
|
|
393
|
-
/*
|
|
394
|
-
var ondraging=false; //global variable indicating whether ondraging (better choice?)
|
|
395
|
-
var testGlobal = function test(e){alert(e.originalTarget);e.originalTarget.className='selected';e.preventDefault();}
|
|
396
|
-
var activateDrag = function (e){
|
|
397
|
-
if (!ondraging){
|
|
398
|
-
alert('activate test')
|
|
399
|
-
ondraging=true
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
*/
|
|
403
|
-
// tabulator_gBrowser.setAttribute('ondragdrop','testGlobal(event)')
|
|
404
|
-
// tabulator_gBrowser.setAttribute('ondragenter','activateDrag(event)')
|
|
405
|
-
// gBrowser.addEventListener('dragdrop',test,true)
|
|
406
|
-
//# sourceMappingURL=dragDrop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/outline/dragDrop.js"],"names":["dragAndDrop","module","exports","util","Event","listeners","on","el","sType","fn","obj","fnId","wrappedFn","e","call","addEventListener","li","push","off","index","_getCacheIndex","cacheItem","removeEventListener","WFN","FN","splice","EL","TYPE","FNID","i","len","length","DDExternalProxy","initTarget","prototype","DDM","b4StartDrag","x","y","TabulatorOutlinerObserver","onDragStart","b4Drag","_e","handleMouseDown","_oDD","button","which","oDD","dragCurrent","startX","pageX","startY","pageY","deltaX","offsetLeft","deltaY","offsetTop","dragThreshMet","handleMouseMove","isIE","log","stopEvent","handleMouseUp","diffX","Math","abs","diffY","clickPixelThresh","startDrag","preventDefault","onDropInside","target","onDrop","aXferData","_dragSession","selection","UI","utils","ancestor","originalTarget","parentNode","outline","contentType","flavour","url","transferUtils","retrieveURLFromData","data","fileSize","templateDoc","$rdf","sym","store","copyTo","targetTd","table","thisOutline","UserInput","insertTermTo","onDragEnter","tabulatorSelect","tabulatorDeselect","Error","onDragExit","ownerDocument","getElementById","getAbout","dragTarget","td","kDSIID","Components","interfaces","nsIDragService","dragAction","action","DRAGDROP_ACTION_COPY","DRAGDROP_ACTION_MOVE","DRAGDROP_ACTION_LINK","tdBox","getBoxObjectFor","region","classes","createInstance","nsIScriptableRegion","init","unionRect","screenX","screenY","width","height","transferDataSet","term","Util","getTerm","termType","URItoTransferDataSet","uri","toNT","value","transArray","nsISupportsArray","trans","nsTransferable","set","dataList","AppendElement","QueryInterface","nsISupports","mDragService","invokeDragSession","getSupportedFlavours","flavourSet","FlavourSet","appendFlavour","dataSet","TransferDataSet","TransferData","addDataForFlavour","_mDS","get_mDragService","kDSContractID","getService"],"mappings":"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","sourcesContent":["/* istanbul ignore file */\n/**\n This is for outliner features that only work in the extension version, say drag and drop.\n I am always happy creating new files.\n 2007.07.11 kennyluck\n 2017: Todo: Repace the old Firefox specific code with HTML5 standard code - timbl\n**/\n// Firefox internals:\n/* global Components TransferData TransferDataSet FlavourSet nsTransferable transferUtils */\n\n// #includedIn chrome://tabulator/tabulator.xul\n// #require_once chrome://global/nsDragAndDrop.js\n\n/* alert(gBrowser);alert(gBrowser.tagName)\nif (!tabulator_gBrowser) {\n var tabulator_wm = Components.classes[\"@mozilla.org/appshell/window-mediator;1\"]\n .getService(Components.interfaces.nsIWindowMediator)\n var tabulator_gBrowser = tabulator_wm.getMostRecentWindow(\"navigator:browser\")\n}\n*/\n\n/* 2007: adapted from dragAndDrop UI Library */\nimport { store } from 'solid-logic'\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\n\nconst dragAndDrop = (module.exports = {})\n\ndragAndDrop.util = {}\ndragAndDrop.util.Event = (function () {\n const listeners = []\n return {\n on: function (el, sType, fn, obj, fnId /* ,override */) {\n const wrappedFn = function (e) {\n return fn.call(obj, e, obj)\n }\n el.addEventListener(sType, wrappedFn, false)\n const li = [el, sType, fnId, wrappedFn]\n listeners.push(li)\n },\n off: function (el, sType, fnId) {\n // removeListener, fnId to identify a function\n const index = this._getCacheIndex(el, sType, fnId)\n if (index === -1) return false\n const cacheItem = listeners[index]\n el.removeEventListener(sType, cacheItem[this.WFN], false)\n\n delete listeners[index][this.WFN]\n delete listeners[index][this.FN]\n listeners.splice(index, 1)\n return true\n },\n EL: 0,\n TYPE: 1,\n FNID: 2,\n WFN: 3,\n _getCacheIndex: function (el, sType, fnId) {\n for (let i = 0, len = listeners.length; i < len; ++i) {\n const li = listeners[i]\n if (\n li &&\n li[this.FNID] === fnId &&\n li[this.EL] === el &&\n li[this.TYPE] === sType\n ) {\n return i\n }\n }\n\n return -1\n }\n }\n})()\ndragAndDrop.util.DDExternalProxy = function DDExternalProxy (el) {\n this.initTarget(el)\n // dragAndDrop.util.Event.on(this.el, \"mousedown\", this.handleMouseDown, this, 'dragMouseDown'/*, true*/)\n}\n// dragAndDrop.util.DDExternalProxy extends dragAndDrop.utilDDProxy\ndragAndDrop.util.DDExternalProxy.prototype = {\n initTarget: function (el) {\n // create a local reference to the drag and drop manager\n this.DDM = dragAndDrop.util.DDM\n\n // set the el\n this.el = el\n\n /*\n // We don't want to register this as the handle with the manager\n // so we just set the id rather than calling the setter.\n this.handleElId = id\n\n Event.onAvailable(id, this.handleOnAvailable, this, true)\n */\n\n // the linked element is the element that gets dragged by default\n // this.setDragElId(id)\n\n // by default, clicked anchors will not start drag operations.\n // @TODO what else should be here? Probably form fields.\n // this.invalidHandleTypes = { A: \"A\" }\n // this.invalidHandleIds = {}\n // this.invalidHandleClasses = []\n\n // this.applyConfig()\n },\n b4StartDrag: function (x, y) {\n // show the drag frame\n // this.logger.log(\"start drag show frame, x: \" + x + \", y: \" + y)\n // alert(\"test startDrag\")\n TabulatorOutlinerObserver.onDragStart(x, y, this.el)\n // this.showFrame(x, y)\n },\n b4Drag: function (_e) {\n // this.setDragElPos(dragAndDrop.util.Event.getPageX(e),\n // dragAndDrop.util.Event.getPageY(e))\n },\n handleMouseDown: function (e, _oDD) {\n const button = e.which || e.button\n if (button > 1) return\n\n // firing the mousedown events prior to calculating positions\n // this.b4MouseDown(e)\n // this.onMouseDown(e)\n\n // this.DDM.refreshCache(this.groups)\n // var self = this\n // setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0)\n\n // Only process the event if we really clicked within the linked\n // element. The reason we make this check is that in the case that\n // another element was moved between the clicked element and the\n // cursor in the time between the mousedown and mouseup events. When\n // this happens, the element gets the next mousedown event\n // regardless of where on the screen it happened.\n // var pt = new dragAndDrop.util.Point(Event.getPageX(e), Event.getPageY(e))\n // if (!this.hasOuterHandles && !this.DDM.isOverTarget(pt, this) ) {\n // this.logger.log(\"Click was not over the element: \" + this.id)\n // } else {\n // if (this.clickValidator(e)) {\n\n // set the initial element position\n // this.setStartPosition()\n\n // start tracking mousemove distance and mousedown time to\n // determine when to start the actual drag\n this.DDM.handleMouseDown(e, this)\n\n // this mousedown is mine\n // this.DDM.stopEvent(e)\n // } else {\n\n // this.logger.log(\"clickValidator returned false, drag not initiated\")\n\n // }\n // }\n }\n}\n\ndragAndDrop.util.DDM = (function DDM () {\n return {\n handleMouseDown: function (e, oDD) {\n // this.currentTarget = dragAndDrop.util.Event.getTarget(e)\n\n this.dragCurrent = oDD\n\n const el = oDD.el\n\n // track start position\n this.startX = e.pageX\n this.startY = e.pageY\n\n this.deltaX = this.startX - el.offsetLeft\n this.deltaY = this.startY - el.offsetTop\n\n this.dragThreshMet = false\n\n // this.clickTimeout = setTimeout(\n // function() {\n // var DDM = dragAndDrop.util.DDM\n // DDM.startDrag(DDM.startX, DDM.startY)\n // },\n // this.clickTimeThresh )\n // dragAndDrop.util.Event.on(el,'mousemove',this.handleMouseMove,this,'dragMouseMove')\n // dragAndDrop.util.Event.on(el,'mouseup' ,this.handleMouseUp ,this,'dragMouseUp')\n },\n\n handleMouseMove: function (e) {\n // dragAndDrop.log(\"handlemousemove\")\n if (!this.dragCurrent) {\n // dragAndDrop.log(\"no current drag obj\")\n return true\n }\n // var button = e.which || e.button\n // dragAndDrop.log(\"which: \" + e.which + \", button: \"+ e.button)\n\n // check for IE mouseup outside of page boundary\n if (dragAndDrop.util.Event.isIE && !e.button) {\n dragAndDrop.log('button failure', 'info', 'DragDropMgr')\n this.stopEvent(e)\n return this.handleMouseUp(e)\n }\n\n if (!this.dragThreshMet) {\n const diffX = Math.abs(this.startX - e.pageX)\n const diffY = Math.abs(this.startY - e.pageY)\n // dragAndDrop.log(\"diffX: \" + diffX + \"diffY: \" + diffY)\n if (diffX > this.clickPixelThresh || diffY > this.clickPixelThresh) {\n // dragAndDrop.log(\"pixel threshold met\", \"info\", \"DragDropMgr\")\n this.startDrag(this.startX, this.startY)\n }\n }\n\n if (this.dragThreshMet) {\n // this.dragCurrent.b4Drag(e)\n // this.dragCurrent.onDrag(e)\n // this.fireEvents(e, false)\n }\n\n e.preventDefault()\n // this.stopEvent(e)\n\n return true\n },\n handleMouseUp: function (e) {\n if (!this.dragCurrent) return // Error...\n dragAndDrop.util.Event.off(\n this.dragCurrent.el,\n 'mousemove',\n 'dragMouseMove'\n )\n // there are two mouseup for unknown reason...\n dragAndDrop.util.Event.off(this.dragCurrent.el, 'mouseup', 'dragMouseUp')\n dragAndDrop.util.Event.off(this.dragCurrent.el, 'mouseup', 'dragMouseUp')\n // have to do this as attribute ondragdrop does not recognize any dragdrop event\n // initialized inside <tabbrowser> (strange, I think)\n if (this.dragThreshMet) {\n TabulatorOutlinerObserver.onDropInside(e.target)\n this.dragThreshMet = false\n }\n this.dragCurrent = null\n },\n startDrag: function (x, y) {\n // dragAndDrop.log(\"firing drag start events\", \"info\", \"DragDropMgr\")\n // clearTimeout(this.clickTimeout)\n if (this.dragCurrent) {\n this.dragCurrent.b4StartDrag(x, y)\n // this.dragCurrent.startDrag(x, y)\n }\n this.dragThreshMet = true\n },\n clickPixelThresh: 3\n }\n})()\n\n// ToDos\n// 1.Recover normal funtionality\n// 2.Investigate into Gecko drag and drop\n// 3.Cross Tag Drag And Drop\n// 4.Firefox native rdf store\nconst TabulatorOutlinerObserver = {\n onDrop: function (e, aXferData, _dragSession) {\n const selection = UI.utils.ancestor(\n UI.utils.ancestor(e.originalTarget, 'TABLE').parentNode,\n 'TABLE'\n ).outline.selection\n const contentType = aXferData.flavour.contentType\n const url = transferUtils.retrieveURLFromData(aXferData.data, contentType)\n if (!url) return\n if (contentType === 'application/x-moz-file') {\n if (aXferData.data.fileSize === 0) {\n const templateDoc = $rdf.sym(\n 'chrome://tabulator/content/internalKnowledge.n3#defaultNew'\n )\n store.copyTo(templateDoc, $rdf.sym(url))\n /*\n function WriteToFileRepresentedBy (subject){\n var outputFormulaTerm=kb.any(subject,OWL('unionOf'))\n var theClass = kb.constructor.SuperClass\n var outputFormula= theClass.instances[kb.the(outputFormulaTerm,tabont('accesskey')).value]\n }\n */\n }\n }\n const targetTd = selection[0]\n const table = UI.utils.ancestor(\n UI.utils.ancestor(targetTd, 'TABLE').parentNode,\n 'TABLE'\n )\n const thisOutline = table.outline\n thisOutline.UserInput.insertTermTo(targetTd, $rdf.sym(url))\n },\n\n onDragEnter: function (e, _dragSession) {\n // enter or exit something\n let selection\n try {\n selection = UI.utils.ancestor(\n UI.utils.ancestor(e.originalTarget, 'TABLE').parentNode,\n 'TABLE'\n ).outline.selection\n } catch (e) {\n /* because e.orginalTarget is not defined */ return\n }\n for (\n let targetTd = e.originalTarget;\n targetTd;\n targetTd = targetTd.parentNode\n ) {\n if (targetTd.tabulatorSelect) {\n if (selection[0]) {\n try {\n selection[0].tabulatorDeselect()\n } catch (e) {\n throw new Error(selection[0] + ' causes ' + e)\n }\n dragAndDrop.util.Event.off(targetTd, 'mouseup', 'dragMouseUp')\n }\n targetTd.tabulatorSelect()\n // dragAndDrop.util.Event.on(targetTd,'mouseup',this.DDM.handleMouseUp,this.DDM,'dragMouseUp')\n break\n }\n }\n },\n\n onDragExit: function (_e, _dragSession) {\n // if (e.originalTarget.tabulatorDeselect) e.originalTarget.tabulatorDeselect()\n },\n onDropInside: function (targetTd) {\n // a special case that you draganddrop totally inside a <tabbrowser>\n // var selection = ancestor(ancestor(targetTd,'TABLE').parentNode,'TABLE').outline.selection\n // var targetTd=selection[0]\n const table = targetTd.ownerDocument.getElementById('outline')\n // var table=ancestor(ancestor(targetTd,'TABLE').parentNode,'TABLE')\n const thisOutline = table.outline\n thisOutline.UserInput.insertTermTo(\n targetTd,\n UI.utils.getAbout(store, this.dragTarget)\n )\n },\n onDragStart: function (x, y, td) {\n /* seeAlso nsDragAndDrop.js::nsDragAndDrop.startDrag */\n // ToDo for myself: understand the connections in firefox, x, screenX\n\n this.dragTarget = td\n const kDSIID = Components.interfaces.nsIDragService\n const dragAction = {\n action:\n kDSIID.DRAGDROP_ACTION_COPY +\n kDSIID.DRAGDROP_ACTION_MOVE +\n kDSIID.DRAGDROP_ACTION_LINK\n }\n\n // alert(td.ownerDocument.getBoxObjectFor(td))\n // alert(td.ownerDocument.getBoxObjectFor(td).screenX)\n const tdBox = td.ownerDocument.getBoxObjectFor(td) // nsIBoxObject\n const region = Components.classes['@mozilla.org/gfx/region;1'].createInstance(\n Components.interfaces.nsIScriptableRegion\n )\n region.init() // this is important\n region.unionRect(tdBox.screenX, tdBox.screenY, tdBox.width, tdBox.height)\n let transferDataSet = { data: null }\n const term = UI.Util.getTerm(td)\n switch (term.termType) {\n case 'NamedNode':\n transferDataSet.data = this.URItoTransferDataSet(term.uri)\n break\n case 'BlankNode':\n transferDataSet.data = this.URItoTransferDataSet(term.toNT())\n break\n case 'Literal':\n transferDataSet.data = this.URItoTransferDataSet(term.value)\n break\n }\n\n transferDataSet = transferDataSet.data // quite confusing, anyway...\n const transArray = Components.classes[\n '@mozilla.org/supports-array;1'\n ].createInstance(Components.interfaces.nsISupportsArray)\n const trans = nsTransferable.set(transferDataSet.dataList[0])\n transArray.AppendElement(\n trans.QueryInterface(Components.interfaces.nsISupports)\n )\n this.mDragService.invokeDragSession(\n td,\n transArray,\n region,\n dragAction.action\n )\n },\n /*\n onDragStart: function(aEvent,aXferData,aDragAction){\n var dragTarget=ancestor(aEvent.target,'TD')\n //var nt=dragTarget.getAttribute('about')\n //ToDo:text terms\n var term=getAbout(kb,dragTarget)\n aXferData.data = this.URItoTransferDataSet(term.uri)\n alert(\"start\")\n },\n */\n\n getSupportedFlavours: function () {\n const flavourSet = new FlavourSet()\n // flavourSet.appendFlavour(\"text/rdfitem\")\n // flavourSet.appendFlavour(\"moz/rdfitem\")\n flavourSet.appendFlavour('text/x-moz-url')\n flavourSet.appendFlavour('text/unicode')\n flavourSet.appendFlavour('application/x-moz-file', 'nsIFile')\n return flavourSet\n },\n\n URItoTransferDataSet: function (uri) {\n const dataSet = new TransferDataSet()\n const data = new TransferData()\n data.addDataForFlavour('text/x-moz-url', uri)\n data.addDataForFlavour('text/unicode', uri)\n dataSet.push(data)\n return dataSet\n },\n _mDS: null,\n get_mDragService: function () {\n // some syntax I don't understand -- was get mDragService()\n if (!this._mDS) {\n const kDSContractID = '@mozilla.org/widget/dragservice;1'\n const kDSIID = Components.interfaces.nsIDragService\n this._mDS = Components.classes[kDSContractID].getService(kDSIID)\n }\n return this._mDS\n },\n DDM: dragAndDrop.util.DDM\n}\n/*\nvar ondraging=false; //global variable indicating whether ondraging (better choice?)\nvar testGlobal = function test(e){alert(e.originalTarget);e.originalTarget.className='selected';e.preventDefault();}\nvar activateDrag = function (e){\n if (!ondraging){\n alert('activate test')\n ondraging=true\n }\n}\n*/\n// tabulator_gBrowser.setAttribute('ondragdrop','testGlobal(event)')\n// tabulator_gBrowser.setAttribute('ondragenter','activateDrag(event)')\n\n// gBrowser.addEventListener('dragdrop',test,true)\n"],"file":"dragDrop.js"}
|