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.
Files changed (312) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +1 -1
  4. package/.github/workflows/ci.yml +0 -1
  5. package/.nvmrc +1 -1
  6. package/Documentation/VisualLanguage.html +0 -0
  7. package/Documentation/conventions.md +0 -0
  8. package/LICENSE.md +0 -0
  9. package/README.md +0 -0
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +1 -1
  12. package/dev/pane/index.ts +0 -0
  13. package/doc/images/panes-for-classes.epgz +0 -0
  14. package/doc/images/panes-for-classes.svg +0 -0
  15. package/jest.config.js +4 -4
  16. package/jest.setup.ts +0 -0
  17. package/lib/RDFXMLPane.js +0 -0
  18. package/lib/RDFXMLPane.js.map +0 -0
  19. package/lib/argument/argumentPane.js +0 -0
  20. package/lib/argument/argumentPane.js.map +0 -0
  21. package/lib/attach/attachPane.js +0 -0
  22. package/lib/attach/attachPane.js.map +0 -0
  23. package/lib/audio/audioPane.js +0 -0
  24. package/lib/audio/audioPane.js.map +0 -0
  25. package/lib/classInstancePane.js +0 -0
  26. package/lib/classInstancePane.js.map +0 -0
  27. package/lib/dashboard/basicPreferences.d.ts +0 -0
  28. package/lib/dashboard/basicPreferences.d.ts.map +0 -0
  29. package/lib/dashboard/basicPreferences.js +0 -0
  30. package/lib/dashboard/basicPreferences.js.map +0 -0
  31. package/lib/dashboard/dashboardPane.d.ts +0 -0
  32. package/lib/dashboard/dashboardPane.d.ts.map +0 -0
  33. package/lib/dashboard/dashboardPane.js +0 -0
  34. package/lib/dashboard/dashboardPane.js.map +0 -0
  35. package/lib/dashboard/homepage.d.ts +0 -0
  36. package/lib/dashboard/homepage.d.ts.map +0 -0
  37. package/lib/dashboard/homepage.js +0 -0
  38. package/lib/dashboard/homepage.js.map +0 -0
  39. package/lib/dataContentPane.js +0 -0
  40. package/lib/dataContentPane.js.map +0 -0
  41. package/lib/defaultPane.js +0 -0
  42. package/lib/defaultPane.js.map +0 -0
  43. package/lib/dokieli/dokieliPane.js +0 -0
  44. package/lib/dokieli/dokieliPane.js.map +0 -0
  45. package/lib/dokieli/new.js +0 -0
  46. package/lib/dokieli/new.js.map +0 -0
  47. package/lib/form/pane.js +0 -0
  48. package/lib/form/pane.js.map +0 -0
  49. package/lib/global.d.js +0 -0
  50. package/lib/global.d.js.map +0 -0
  51. package/lib/home/homePane.d.ts +0 -0
  52. package/lib/home/homePane.d.ts.map +0 -0
  53. package/lib/home/homePane.js +0 -0
  54. package/lib/home/homePane.js.map +0 -0
  55. package/lib/humanReadablePane.js +0 -0
  56. package/lib/humanReadablePane.js.map +0 -0
  57. package/lib/imagePane.js +0 -0
  58. package/lib/imagePane.js.map +0 -0
  59. package/lib/index.d.ts +0 -0
  60. package/lib/index.d.ts.map +0 -0
  61. package/lib/index.js +0 -0
  62. package/lib/index.js.map +0 -0
  63. package/lib/internal/internalPane.d.ts +0 -0
  64. package/lib/internal/internalPane.d.ts.map +0 -0
  65. package/lib/internal/internalPane.js +0 -0
  66. package/lib/internal/internalPane.js.map +0 -0
  67. package/lib/mainPage/footer.d.ts +2 -2
  68. package/lib/mainPage/footer.d.ts.map +1 -1
  69. package/lib/mainPage/footer.js +0 -0
  70. package/lib/mainPage/footer.js.map +1 -1
  71. package/lib/mainPage/header.d.ts +0 -0
  72. package/lib/mainPage/header.d.ts.map +0 -0
  73. package/lib/mainPage/header.js +0 -0
  74. package/lib/mainPage/header.js.map +0 -0
  75. package/lib/mainPage/index.d.ts +2 -2
  76. package/lib/mainPage/index.d.ts.map +1 -1
  77. package/lib/mainPage/index.js +0 -0
  78. package/lib/mainPage/index.js.map +1 -1
  79. package/lib/microblogPane/microblogPane.js +0 -0
  80. package/lib/microblogPane/microblogPane.js.map +0 -0
  81. package/lib/n3Pane.js +0 -0
  82. package/lib/n3Pane.js.map +0 -0
  83. package/lib/outline/context.d.ts +0 -0
  84. package/lib/outline/context.d.ts.map +0 -0
  85. package/lib/outline/context.js +0 -0
  86. package/lib/outline/context.js.map +0 -0
  87. package/lib/outline/licenseOptions.js +0 -0
  88. package/lib/outline/licenseOptions.js.map +0 -0
  89. package/lib/outline/manager.js +37 -80
  90. package/lib/outline/manager.js.map +1 -1
  91. package/lib/outline/manager.test.js +0 -0
  92. package/lib/outline/manager.test.js.map +0 -0
  93. package/lib/outline/outlineIcons.js +0 -0
  94. package/lib/outline/outlineIcons.js.map +0 -0
  95. package/lib/outline/propertyViews.d.ts +0 -0
  96. package/lib/outline/propertyViews.d.ts.map +0 -0
  97. package/lib/outline/propertyViews.js +0 -0
  98. package/lib/outline/propertyViews.js.map +0 -0
  99. package/lib/outline/propertyViews.test.js +0 -0
  100. package/lib/outline/propertyViews.test.js.map +0 -0
  101. package/lib/outline/queryByExample.js +0 -0
  102. package/lib/outline/queryByExample.js.map +0 -0
  103. package/lib/outline/userInput.js +0 -0
  104. package/lib/outline/userInput.js.map +0 -0
  105. package/lib/outline/viewAsImage.d.ts +0 -0
  106. package/lib/outline/viewAsImage.d.ts.map +0 -0
  107. package/lib/outline/viewAsImage.js +0 -0
  108. package/lib/outline/viewAsImage.js.map +0 -0
  109. package/lib/outline/viewAsMbox.d.ts +0 -0
  110. package/lib/outline/viewAsMbox.d.ts.map +0 -0
  111. package/lib/outline/viewAsMbox.js +0 -0
  112. package/lib/outline/viewAsMbox.js.map +0 -0
  113. package/lib/pad/padPane.d.ts +0 -0
  114. package/lib/pad/padPane.d.ts.map +0 -0
  115. package/lib/pad/padPane.js +0 -0
  116. package/lib/pad/padPane.js.map +0 -0
  117. package/lib/playlist/playlistPane.js +0 -0
  118. package/lib/playlist/playlistPane.js.map +0 -0
  119. package/lib/profile/editProfile.view.d.ts +0 -0
  120. package/lib/profile/editProfile.view.d.ts.map +0 -0
  121. package/lib/profile/editProfile.view.js +0 -0
  122. package/lib/profile/editProfile.view.js.map +0 -0
  123. package/lib/profile/profile.dom.d.ts +0 -0
  124. package/lib/profile/profile.dom.d.ts.map +0 -0
  125. package/lib/profile/profile.dom.js +0 -0
  126. package/lib/profile/profile.dom.js.map +0 -0
  127. package/lib/registerPanes.js +0 -0
  128. package/lib/registerPanes.js.map +0 -0
  129. package/lib/schedule/formsForSchedule.js +0 -0
  130. package/lib/schedule/formsForSchedule.js.map +0 -0
  131. package/lib/schedule/schedulePane.js +0 -0
  132. package/lib/schedule/schedulePane.js.map +0 -0
  133. package/lib/sharing/sharingPane.d.ts +0 -0
  134. package/lib/sharing/sharingPane.d.ts.map +0 -0
  135. package/lib/sharing/sharingPane.js +0 -0
  136. package/lib/sharing/sharingPane.js.map +0 -0
  137. package/lib/slideshow/slideshowPane.js +0 -0
  138. package/lib/slideshow/slideshowPane.js.map +0 -0
  139. package/lib/socialPane.js +0 -0
  140. package/lib/socialPane.js.map +0 -0
  141. package/lib/tabbed/tabbedPane.d.ts +0 -0
  142. package/lib/tabbed/tabbedPane.d.ts.map +0 -0
  143. package/lib/tabbed/tabbedPane.js +0 -0
  144. package/lib/tabbed/tabbedPane.js.map +0 -0
  145. package/lib/tableViewPane.js +0 -0
  146. package/lib/tableViewPane.js.map +0 -0
  147. package/lib/test-import-export/common.js +0 -0
  148. package/lib/test-import-export/common.js.map +0 -0
  149. package/lib/test-import-export/edit-importer.js +0 -0
  150. package/lib/test-import-export/edit-importer.js.map +0 -0
  151. package/lib/test-import-export/testImportExport.js +0 -0
  152. package/lib/test-import-export/testImportExport.js.map +0 -0
  153. package/lib/transaction/pane.js +0 -0
  154. package/lib/transaction/pane.js.map +0 -0
  155. package/lib/transaction/period.js +0 -0
  156. package/lib/transaction/period.js.map +0 -0
  157. package/lib/trip/tripPane.js +0 -0
  158. package/lib/trip/tripPane.js.map +0 -0
  159. package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
  160. package/lib/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  161. package/lib/trustedApplications/trustedApplications.dom.js +0 -0
  162. package/lib/trustedApplications/trustedApplications.dom.js.map +0 -0
  163. package/lib/trustedApplications/trustedApplications.test.js +0 -0
  164. package/lib/trustedApplications/trustedApplications.test.js.map +0 -0
  165. package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
  166. package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  167. package/lib/trustedApplications/trustedApplications.utils.js +0 -0
  168. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -0
  169. package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
  170. package/lib/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  171. package/lib/trustedApplications/trustedApplications.view.js +0 -0
  172. package/lib/trustedApplications/trustedApplications.view.js.map +0 -0
  173. package/lib/types.d.ts +0 -0
  174. package/lib/types.d.ts.map +0 -0
  175. package/lib/types.js +0 -0
  176. package/lib/types.js.map +0 -0
  177. package/lib/ui/pane.js +0 -0
  178. package/lib/ui/pane.js.map +0 -0
  179. package/lib/versionInfo.d.ts +0 -0
  180. package/lib/versionInfo.d.ts.map +1 -1
  181. package/lib/versionInfo.js +14 -14
  182. package/lib/versionInfo.js.map +1 -1
  183. package/lib/video/videoPane.js +0 -0
  184. package/lib/video/videoPane.js.map +0 -0
  185. package/package.json +36 -43
  186. package/src/RDFXMLPane.js +0 -0
  187. package/src/argument/argumentPane.js +0 -0
  188. package/src/argument/argument_icon_v04.jpg +0 -0
  189. package/src/argument/icon_argument.png +0 -0
  190. package/src/argument/transparentyingyang.png +0 -0
  191. package/src/attach/attachPane.js +0 -0
  192. package/src/attach/tbl-paperclip-128.png +0 -0
  193. package/src/attach/tbl-paperclip-22.png +0 -0
  194. package/src/attach/tbl-paperclip-22a.png +0 -0
  195. package/src/audio/audioPane.js +0 -0
  196. package/src/chatPreferencesForm.ttl +0 -0
  197. package/src/classInstancePane.js +0 -0
  198. package/src/dashboard/basicPreferences.ts +0 -0
  199. package/src/dashboard/dashboardPane.ts +0 -0
  200. package/src/dashboard/homepage.ts +0 -0
  201. package/src/dashboard/languages/codes.html +0 -0
  202. package/src/dashboard/languages/codes.xml +0 -0
  203. package/src/dashboard/languages/codes2.txt +0 -0
  204. package/src/dashboard/languages/foo +0 -0
  205. package/src/dashboard/languages/foo.ttl +0 -0
  206. package/src/dashboard/languages/get-language-names.sh +0 -0
  207. package/src/dashboard/ontologyData.ttl +0 -0
  208. package/src/dashboard/preferencesFormText.ttl +0 -0
  209. package/src/dataContentPane.js +0 -0
  210. package/src/defaultPane.js +0 -0
  211. package/src/dokieli/Makefile +0 -0
  212. package/src/dokieli/dokieliPane.js +0 -0
  213. package/src/dokieli/new.html +0 -0
  214. package/src/dokieli/new.js +0 -0
  215. package/src/form/form-22.png +0 -0
  216. package/src/form/form-b-22.png +0 -0
  217. package/src/form/form.graffle +0 -0
  218. package/src/form/form.png +0 -0
  219. package/src/form/pane.js +0 -0
  220. package/src/form/psuedocode-notes.txt +0 -0
  221. package/src/global.d.ts +0 -0
  222. package/src/home/homePane.ts +0 -0
  223. package/src/humanReadablePane.js +0 -0
  224. package/src/imagePane.js +0 -0
  225. package/src/index.ts +0 -0
  226. package/src/internal/internalPane.ts +0 -0
  227. package/src/mainPage/footer.ts +2 -2
  228. package/src/mainPage/header.ts +0 -0
  229. package/src/mainPage/index.ts +2 -2
  230. package/src/meeting/Makefile +0 -0
  231. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
  232. package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
  233. package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
  234. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
  235. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
  236. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
  237. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
  238. package/src/meeting/test/meeting1/Schedule/index.html +0 -0
  239. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
  240. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
  241. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
  242. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
  243. package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
  244. package/src/meeting/test/meeting1/details.ttl +0 -0
  245. package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
  246. package/src/microblogPane/mbStyle.css +0 -0
  247. package/src/microblogPane/microblogPane.js +0 -0
  248. package/src/n3Pane.js +0 -0
  249. package/src/outline/context.ts +0 -0
  250. package/src/outline/licenseOptions.js +0 -0
  251. package/src/outline/manager.js +6 -55
  252. package/src/outline/manager.test.ts +0 -0
  253. package/src/outline/outlineIcons.js +0 -0
  254. package/src/outline/propertyViews.test.ts +0 -0
  255. package/src/outline/propertyViews.ts +0 -0
  256. package/src/outline/queryByExample.js +0 -0
  257. package/src/outline/userInput.js +0 -0
  258. package/src/outline/viewAsImage.ts +0 -0
  259. package/src/outline/viewAsMbox.ts +0 -0
  260. package/src/pad/images/ColourOff.ai +0 -0
  261. package/src/pad/images/ColourOff.png +0 -0
  262. package/src/pad/images/ColourOn.ai +0 -0
  263. package/src/pad/images/ColourOn.png +0 -0
  264. package/src/pad/padPane.ts +0 -0
  265. package/src/playlist/playlistPane.js +0 -0
  266. package/src/profile/editProfile.view.ts +0 -0
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +0 -0
  270. package/src/schedule/Makefile +0 -0
  271. package/src/schedule/formsForSchedule.js +0 -0
  272. package/src/schedule/formsForSchedule.ttl +0 -0
  273. package/src/schedule/schedulePane.js +0 -0
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +0 -0
  276. package/src/socialPane.js +0 -0
  277. package/src/style/tabbedtab.css +0 -0
  278. package/src/tabbed/tabbedPane.ts +0 -0
  279. package/src/tableViewPane.js +0 -0
  280. package/src/test-import-export/common.js +0 -0
  281. package/src/test-import-export/edit-importer.js +0 -0
  282. package/src/test-import-export/testImportExport.js +0 -0
  283. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  284. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  285. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  286. package/src/transaction/pane.js +0 -0
  287. package/src/transaction/period.js +0 -0
  288. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  289. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  290. package/src/trip/tripPane.js +0 -0
  291. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
  292. package/src/trustedApplications/trustedApplications.dom.ts +0 -0
  293. package/src/trustedApplications/trustedApplications.test.ts +0 -0
  294. package/src/trustedApplications/trustedApplications.utils.ts +0 -0
  295. package/src/trustedApplications/trustedApplications.view.ts +0 -0
  296. package/src/types.ts +0 -0
  297. package/src/ui/22-builder.png +0 -0
  298. package/src/ui/builder.graffle +0 -0
  299. package/src/ui/builder.png +0 -0
  300. package/src/ui/builder2.png +0 -0
  301. package/src/ui/pane.js +0 -0
  302. package/src/versionInfo.ts +16 -16
  303. package/src/video/videoPane.js +0 -0
  304. package/timestamp.sh +0 -0
  305. package/travis/bumpversion.js +0 -0
  306. package/tsconfig.json +1 -0
  307. package/typings/raw-loader.d.ts +0 -0
  308. package/typings/solid-namespace/index.d.ts +0 -0
  309. package/webpack.config.js +2 -9
  310. package/lib/outline/dragDrop.js +0 -406
  311. package/lib/outline/dragDrop.js.map +0 -1
  312. package/src/outline/dragDrop.js +0 -444
@@ -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"}