solid-panes 3.5.27 → 3.5.28-59efa615

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 (309) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +0 -0
  4. package/.github/workflows/ci.yml +0 -0
  5. package/.nvmrc +0 -0
  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 -2
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +0 -0
  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 +0 -0
  16. package/jest.setup.ts +0 -0
  17. package/lib/RDFXMLPane.js +15 -9
  18. package/lib/RDFXMLPane.js.map +1 -1
  19. package/lib/argument/argumentPane.js +12 -11
  20. package/lib/argument/argumentPane.js.map +1 -1
  21. package/lib/attach/attachPane.js +58 -90
  22. package/lib/attach/attachPane.js.map +1 -1
  23. package/lib/audio/audioPane.js +19 -37
  24. package/lib/audio/audioPane.js.map +1 -1
  25. package/lib/classInstancePane.js +21 -22
  26. package/lib/classInstancePane.js.map +1 -1
  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 +96 -154
  30. package/lib/dashboard/basicPreferences.js.map +1 -1
  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 +2 -18
  34. package/lib/dashboard/dashboardPane.js.map +1 -1
  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 +27 -49
  38. package/lib/dashboard/homepage.js.map +1 -1
  39. package/lib/dataContentPane.js +26 -61
  40. package/lib/dataContentPane.js.map +1 -1
  41. package/lib/defaultPane.js +23 -23
  42. package/lib/defaultPane.js.map +1 -1
  43. package/lib/dokieli/dokieliPane.js +29 -34
  44. package/lib/dokieli/dokieliPane.js.map +1 -1
  45. package/lib/dokieli/new.js +6 -1
  46. package/lib/dokieli/new.js.map +1 -1
  47. package/lib/form/pane.js +34 -45
  48. package/lib/form/pane.js.map +1 -1
  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 +49 -67
  54. package/lib/home/homePane.js.map +1 -1
  55. package/lib/humanReadablePane.js +14 -28
  56. package/lib/humanReadablePane.js.map +1 -1
  57. package/lib/imagePane.js +19 -14
  58. package/lib/imagePane.js.map +1 -1
  59. package/lib/index.d.ts +0 -0
  60. package/lib/index.d.ts.map +0 -0
  61. package/lib/index.js +6 -20
  62. package/lib/index.js.map +1 -1
  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 +10 -41
  66. package/lib/internal/internalPane.js.map +1 -1
  67. package/lib/mainPage/footer.d.ts +0 -0
  68. package/lib/mainPage/footer.d.ts.map +0 -0
  69. package/lib/mainPage/footer.js +0 -4
  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 +66 -100
  74. package/lib/mainPage/header.js.map +1 -1
  75. package/lib/mainPage/index.d.ts +0 -0
  76. package/lib/mainPage/index.d.ts.map +0 -0
  77. package/lib/mainPage/index.js +17 -30
  78. package/lib/mainPage/index.js.map +1 -1
  79. package/lib/microblogPane/microblogPane.js +182 -321
  80. package/lib/microblogPane/microblogPane.js.map +1 -1
  81. package/lib/n3Pane.js +12 -8
  82. package/lib/n3Pane.js.map +1 -1
  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 -2
  86. package/lib/outline/context.js.map +1 -1
  87. package/lib/outline/licenseOptions.js +21 -35
  88. package/lib/outline/licenseOptions.js.map +1 -1
  89. package/lib/outline/manager.js +740 -1176
  90. package/lib/outline/manager.js.map +1 -1
  91. package/lib/outline/manager.test.js +16 -25
  92. package/lib/outline/manager.test.js.map +1 -1
  93. package/lib/outline/outlineIcons.js +39 -26
  94. package/lib/outline/outlineIcons.js.map +1 -1
  95. package/lib/outline/propertyViews.d.ts +3 -2
  96. package/lib/outline/propertyViews.d.ts.map +1 -1
  97. package/lib/outline/propertyViews.js +7 -15
  98. package/lib/outline/propertyViews.js.map +1 -1
  99. package/lib/outline/propertyViews.test.js +7 -7
  100. package/lib/outline/propertyViews.test.js.map +1 -1
  101. package/lib/outline/queryByExample.js +28 -80
  102. package/lib/outline/queryByExample.js.map +1 -1
  103. package/lib/outline/userInput.js +221 -459
  104. package/lib/outline/userInput.js.map +1 -1
  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 -6
  108. package/lib/outline/viewAsImage.js.map +1 -1
  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 +3 -4
  112. package/lib/outline/viewAsMbox.js.map +1 -1
  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 +45 -93
  116. package/lib/pad/padPane.js.map +1 -1
  117. package/lib/playlist/playlistPane.js +11 -21
  118. package/lib/playlist/playlistPane.js.map +1 -1
  119. package/lib/profile/editProfile.view.d.ts +0 -0
  120. package/lib/profile/editProfile.view.d.ts.map +1 -1
  121. package/lib/profile/editProfile.view.js +22 -23
  122. package/lib/profile/editProfile.view.js.map +1 -1
  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 -3
  126. package/lib/profile/profile.dom.js.map +1 -1
  127. package/lib/registerPanes.js +99 -54
  128. package/lib/registerPanes.js.map +1 -1
  129. package/lib/schedule/formsForSchedule.js +6 -1
  130. package/lib/schedule/formsForSchedule.js.map +1 -1
  131. package/lib/schedule/schedulePane.js +71 -126
  132. package/lib/schedule/schedulePane.js.map +1 -1
  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 +2 -10
  136. package/lib/sharing/sharingPane.js.map +1 -1
  137. package/lib/slideshow/slideshowPane.js +21 -21
  138. package/lib/slideshow/slideshowPane.js.map +1 -1
  139. package/lib/socialPane.js +58 -135
  140. package/lib/socialPane.js.map +1 -1
  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 +32 -48
  144. package/lib/tabbed/tabbedPane.js.map +1 -1
  145. package/lib/tableViewPane.js +15 -9
  146. package/lib/tableViewPane.js.map +1 -1
  147. package/lib/test-import-export/common.js +8 -3
  148. package/lib/test-import-export/common.js.map +1 -1
  149. package/lib/test-import-export/edit-importer.js +10 -14
  150. package/lib/test-import-export/edit-importer.js.map +1 -1
  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 +38 -91
  154. package/lib/transaction/pane.js.map +1 -1
  155. package/lib/transaction/period.js +27 -71
  156. package/lib/transaction/period.js.map +1 -1
  157. package/lib/trip/tripPane.js +38 -35
  158. package/lib/trip/tripPane.js.map +1 -1
  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 +12 -35
  162. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  163. package/lib/trustedApplications/trustedApplications.test.js +6 -8
  164. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  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 +1 -11
  168. package/lib/trustedApplications/trustedApplications.utils.js.map +1 -1
  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 +38 -61
  172. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  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 +30 -29
  178. package/lib/ui/pane.js.map +1 -1
  179. package/lib/versionInfo.d.ts +0 -0
  180. package/lib/versionInfo.d.ts.map +0 -0
  181. package/lib/versionInfo.js +14 -14
  182. package/lib/versionInfo.js.map +1 -1
  183. package/lib/video/videoPane.js +11 -7
  184. package/lib/video/videoPane.js.map +1 -1
  185. package/package.json +26 -26
  186. package/src/RDFXMLPane.js +2 -2
  187. package/src/argument/argumentPane.js +1 -1
  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 +3 -3
  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 +3 -3
  196. package/src/chatPreferencesForm.ttl +0 -0
  197. package/src/classInstancePane.js +3 -3
  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 +3 -4
  210. package/src/defaultPane.js +3 -3
  211. package/src/dokieli/Makefile +0 -0
  212. package/src/dokieli/dokieliPane.js +5 -5
  213. package/src/dokieli/new.html +0 -0
  214. package/src/dokieli/new.js +1 -1
  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 +2 -2
  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 +2 -2
  225. package/src/index.ts +1 -1
  226. package/src/internal/internalPane.ts +0 -0
  227. package/src/mainPage/footer.ts +0 -0
  228. package/src/mainPage/header.ts +0 -0
  229. package/src/mainPage/index.ts +0 -0
  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 +1 -1
  248. package/src/n3Pane.js +2 -2
  249. package/src/outline/context.ts +0 -0
  250. package/src/outline/licenseOptions.js +9 -8
  251. package/src/outline/manager.js +18 -20
  252. package/src/outline/manager.test.ts +6 -0
  253. package/src/outline/outlineIcons.js +4 -2
  254. package/src/outline/propertyViews.test.ts +7 -1
  255. package/src/outline/propertyViews.ts +3 -3
  256. package/src/outline/queryByExample.js +3 -9
  257. package/src/outline/userInput.js +1 -1
  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 +3 -3
  266. package/src/profile/editProfile.view.ts +20 -0
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +92 -52
  270. package/src/schedule/Makefile +0 -0
  271. package/src/schedule/formsForSchedule.js +1 -1
  272. package/src/schedule/formsForSchedule.ttl +0 -0
  273. package/src/schedule/schedulePane.js +6 -2
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +3 -6
  276. package/src/socialPane.js +4 -5
  277. package/src/style/tabbedtab.css +0 -0
  278. package/src/tabbed/tabbedPane.ts +0 -0
  279. package/src/tableViewPane.js +3 -3
  280. package/src/test-import-export/common.js +1 -1
  281. package/src/test-import-export/edit-importer.js +5 -10
  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 +3 -3
  287. package/src/transaction/period.js +2 -2
  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 +3 -3
  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 +4 -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 +3 -3
  302. package/src/versionInfo.ts +14 -14
  303. package/src/video/videoPane.js +3 -3
  304. package/timestamp.sh +0 -0
  305. package/travis/bumpversion.js +0 -0
  306. package/tsconfig.json +0 -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 +0 -0
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
3
7
  var _solidLogic = require("solid-logic");
4
-
5
8
  var UI = _interopRequireWildcard(require("solid-ui"));
6
-
7
9
  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); }
8
-
9
10
  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; }
10
-
11
11
  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); }
12
-
13
- module.exports = {
12
+ var _default = {
14
13
  icon: UI.icons.originalIconBase + 'microblog/microblog.png',
15
14
  name: 'microblogPane',
16
15
  label: function label(subject) {
@@ -31,26 +30,24 @@ module.exports = {
31
30
  var RDF = UI.ns.rdf;
32
31
  var kb = _solidLogic.store;
33
32
  var charCount = 140;
34
- var sf = _solidLogic.store.fetcher; //* **********************************************
33
+ var sf = _solidLogic.store.fetcher;
34
+ //* **********************************************
35
35
  // BACK END
36
36
  //* **********************************************
37
-
38
- var sparqlUpdater = kb.updater; // ----------------------------------------------
37
+ var sparqlUpdater = kb.updater;
38
+ // ----------------------------------------------
39
39
  // FOLLOW LIST
40
40
  // store the URIs of followed users for
41
41
  // dereferencing the @replies
42
42
  // ----------------------------------------------
43
-
44
43
  var FollowList = function FollowList(user) {
45
44
  this.userlist = {};
46
45
  this.uris = {};
47
46
  var myFollows = kb.each(kb.sym(user), SIOC('follows'));
48
-
49
47
  for (var mf in myFollows) {
50
48
  this.add(kb.any(myFollows[mf], SIOC('id')), myFollows[mf].uri);
51
49
  }
52
50
  };
53
-
54
51
  FollowList.prototype.add = function (user, uri) {
55
52
  // add a user to the follows store
56
53
  if (this.userlist[user]) {
@@ -62,7 +59,6 @@ module.exports = {
62
59
  this.userlist[user] = [uri];
63
60
  }
64
61
  };
65
-
66
62
  FollowList.prototype.selectUser = function (user) {
67
63
  // check if a user is in the follows list.
68
64
  if (this.userlist[user]) {
@@ -71,92 +67,77 @@ module.exports = {
71
67
  // user does not follow any users with this nick
72
68
  return [false, []];
73
69
  }
74
- }; // ----------------------------------------------
70
+ };
71
+ // ----------------------------------------------
75
72
  // FAVORITES
76
73
  // controls the list of favorites.
77
74
  // constructor expects a user as uri.
78
75
  // ----------------------------------------------
79
-
80
-
81
76
  var Favorites = function Favorites(user) {
82
77
  this.favorites = {};
83
78
  this.favoritesURI = '';
84
-
85
79
  if (!user) {
86
80
  // TODO is this even useful?
87
81
  return;
88
82
  }
89
-
90
83
  this.user = user.split('#')[0];
91
84
  var created = kb.each(kb.sym(user), SIOC('creator_of'));
92
-
93
85
  for (var c in created) {
94
86
  if (kb.whether(created[c], RDF('type'), SIOCt('FavouriteThings'))) {
95
87
  this.favoritesURI = created[c];
96
88
  var favs = kb.each(created[c], SIOC('container_of'));
97
-
98
89
  for (var f in favs) {
99
90
  this.favorites[favs[f]] = '';
100
91
  }
101
-
102
92
  break;
103
93
  }
104
94
  }
105
95
  };
106
-
107
96
  Favorites.prototype.favorited = function (post) {
108
97
  /* Favorited- returns true if the post is a favorite
109
98
  false otherwise */
110
99
  return kb.sym(post) in this.favorites;
111
100
  };
112
-
113
101
  Favorites.prototype.add = function (post, callback) {
114
102
  var batch = new UI.rdf.Statement(this.favoritesURI, SIOC('container_of'), kb.sym(post), kb.sym(this.user));
115
103
  sparqlUpdater.insert_statement(batch, function (a, success, c) {
116
104
  if (success) {
117
105
  kb.add(batch.subject, batch.predicate, batch.object, batch.why);
118
106
  }
119
-
120
107
  callback(a, success, c);
121
108
  });
122
109
  };
123
-
124
110
  Favorites.prototype.remove = function (post, callback) {
125
111
  var batch = new UI.rdf.Statement(this.favoritesURI, SIOC('container_of'), kb.sym(post), kb.sym(this.user));
126
112
  sparqlUpdater.delete_statement(batch, function (a, success, c) {
127
113
  if (success) {
128
114
  kb.add(batch.subject, batch.predicate, batch.object, batch.why);
129
115
  }
130
-
131
116
  callback(a, success, c);
132
117
  });
133
- }; // ----------------------------------------------
118
+ };
119
+ // ----------------------------------------------
134
120
  // MICROBLOG
135
121
  // store the uri's of followed users for
136
122
  // dereferencing the @replies.
137
123
  // ----------------------------------------------
138
-
139
-
140
124
  var Microblog = function Microblog(kb) {
141
- this.kb = kb; // attempt to fetch user account from local preferences if just
125
+ this.kb = kb;
126
+
127
+ // attempt to fetch user account from local preferences if just
142
128
  // in case the user's foaf was not writable. add it to the store
143
129
  // this will probably need to change.
144
-
145
130
  var theUser = _solidLogic.authn.currentUser();
146
-
147
131
  if (theUser) {
148
132
  var theAccount = UI.preferences.get('acct');
149
-
150
133
  if (theAccount) {
151
134
  theAccount = kb.sym(theAccount);
152
135
  }
153
-
154
136
  if (theUser && theAccount) {
155
137
  kb.add(theUser, FOAF('holdsAccount'), theAccount, theUser.uri.split('#')[0]);
156
138
  }
157
139
  }
158
140
  };
159
-
160
141
  Microblog.prototype.getUser = function (uri) {
161
142
  var User = {};
162
143
  User.name = kb.any(uri, SIOC('name')) ? kb.any(uri, SIOC('name')) : '';
@@ -165,10 +146,9 @@ module.exports = {
165
146
  User.sym = uri;
166
147
  return User;
167
148
  };
168
-
169
149
  Microblog.prototype.getPost = function (uri) {
170
- var Post = {}; // date ----------
171
-
150
+ var Post = {};
151
+ // date ----------
172
152
  var postLink = new Date(kb.anyValue(uri, terms('created')));
173
153
  var h = postLink.getHours();
174
154
  var a = h > 12 ? ' PM' : ' AM';
@@ -179,48 +159,45 @@ module.exports = {
179
159
  var da = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
180
160
  var ds = da[postLink.getDay()] + ' ' + postLink.getDate() + ' ' + mo[postLink.getMonth()] + ' ' + postLink.getFullYear();
181
161
  postLink = h + ':' + m + a + ' on ' + ds;
182
- Post.date = postLink; // ---------
183
-
162
+ Post.date = postLink;
163
+ // ---------
184
164
  Post.mentions = '';
185
165
  Post.message = String(kb.any(uri, SIOC('content')));
186
166
  Post.creator = kb.any(uri, SIOC('has_creator'));
187
167
  Post.uri = '';
188
168
  return Post;
189
169
  };
190
-
191
170
  Microblog.prototype.gen_random_uri = function (base) {
192
171
  // generate random uri
193
172
  var uriNonce = base + '#n' + Math.floor(Math.random() * 10e9);
194
173
  return kb.sym(uriNonce);
195
174
  };
196
-
197
175
  Microblog.prototype.statusUpdate = function (statusMsg, callback, replyTo, meta) {
198
176
  var myUserURI = this.getMyURI();
199
177
  var myUser = kb.sym(myUserURI.split('#')[0]);
200
178
  var newPost = this.gen_random_uri(myUser.uri);
201
179
  var microlist = kb.each(kb.sym(myUserURI), SIOC('creator_of'));
202
180
  var micro;
203
-
204
181
  for (var microlistelement in microlist) {
205
182
  if (kb.whether(microlist[microlistelement], RDF('type'), SIOCt('Microblog')) && !kb.whether(microlist[microlistelement], SIOC('topic'), kb.sym(this.getMyURI()))) {
206
183
  micro = microlist[microlistelement];
207
184
  break;
208
185
  }
209
- } // generate new post
210
-
186
+ }
211
187
 
212
- var batch = [new UI.rdf.Statement(newPost, RDF('type'), SIOCt('MicroblogPost'), myUser), new UI.rdf.Statement(newPost, SIOC('has_creator'), kb.sym(myUserURI), myUser), new UI.rdf.Statement(newPost, SIOC('content'), statusMsg, myUser), new UI.rdf.Statement(newPost, terms('created'), new Date(), myUser), new UI.rdf.Statement(micro, SIOC('container_of'), newPost, myUser)]; // message replies
188
+ // generate new post
189
+ var batch = [new UI.rdf.Statement(newPost, RDF('type'), SIOCt('MicroblogPost'), myUser), new UI.rdf.Statement(newPost, SIOC('has_creator'), kb.sym(myUserURI), myUser), new UI.rdf.Statement(newPost, SIOC('content'), statusMsg, myUser), new UI.rdf.Statement(newPost, terms('created'), new Date(), myUser), new UI.rdf.Statement(micro, SIOC('container_of'), newPost, myUser)];
213
190
 
191
+ // message replies
214
192
  if (replyTo) {
215
193
  batch.push(new UI.rdf.Statement(newPost, SIOC('reply_of'), kb.sym(replyTo), myUser));
216
- } // @replies, #hashtags, !groupReplies
217
-
194
+ }
218
195
 
196
+ // @replies, #hashtags, !groupReplies
219
197
  for (var r in meta.recipients) {
220
198
  batch.push(new UI.rdf.Statement(newPost, SIOC('topic'), kb.sym(meta.recipients[r]), myUser));
221
199
  batch.push(new UI.rdf.Statement(kb.any(), SIOC('container_of'), newPost, myUser));
222
200
  var mblogs = kb.each(kb.sym(meta.recipients[r]), SIOC('creator_of'));
223
-
224
201
  for (var mbl in mblogs) {
225
202
  if (kb.whether(mblogs[mbl], SIOC('topic'), kb.sym(meta.recipients[r]))) {
226
203
  var replyBatch = new UI.rdf.Statement(mblogs[mbl], SIOC('container_of'), newPost, kb.sym(meta.recipients[r].split('#')[0]));
@@ -228,67 +205,61 @@ module.exports = {
228
205
  }
229
206
  }
230
207
  }
231
-
232
208
  sparqlUpdater.insert_statement(batch, function (a, b, c) {
233
209
  callback(a, b, c, batch);
234
210
  });
235
211
  };
236
-
237
212
  Microblog.prototype.getMyURI = function () {
238
213
  var me = _solidLogic.authn.currentUser();
239
-
240
214
  console.log(me);
241
215
  var myMicroblog = kb.any(kb.sym(me), FOAF('holdsAccount'));
242
216
  console.log('\n\n' + myMicroblog);
243
217
  return myMicroblog ? myMicroblog.uri : false;
244
218
  };
245
-
246
219
  Microblog.prototype.generateNewMB = function (id, name, avatar, loc) {
247
220
  var host = loc + '/' + id;
248
-
249
221
  var rememberMicroblog = function rememberMicroblog() {
250
222
  UI.preferences.set('acct', host + '#' + id);
251
223
  };
252
-
253
224
  var cbgenUserMB = function cbgenUserMB(a, success, c, d) {
254
225
  if (success) {
255
- alert('Microblog generated at ' + host + '#' + id + 'please add <b>' + host + '</b> to your foaf.'); // mbCancelNewMB() @@TBD
226
+ alert('Microblog generated at ' + host + '#' + id + 'please add <b>' + host + '</b> to your foaf.');
227
+ // mbCancelNewMB() @@TBD
256
228
  // assume the foaf is not writable and store the microblog to the
257
229
  // preferences for later retrieval.
258
230
  // this will probably need to change.
259
-
260
231
  rememberMicroblog();
261
-
262
232
  for (var triple in d) {
263
233
  kb.add(d[triple].subject, d[triple].predicate, d[triple].object, d[triple].why);
264
234
  }
265
235
  }
266
236
  };
267
-
268
- var genUserMB = [// user
269
- new UI.rdf.Statement(kb.sym(host + '#' + id), RDF('type'), SIOC('User'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('creator_of'), kb.sym(host + '#mb'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('creator_of'), kb.sym(host + '#mbn'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('creator_of'), kb.sym(host + '#fav'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('name'), name, kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('id'), id, kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), RDF('label'), id, kb.sym(host)), new UI.rdf.Statement(s, FOAF('holdsAccount'), kb.sym(host + '#' + id), kb.sym(host)), // microblog
270
- new UI.rdf.Statement(kb.sym(host + '#mb'), RDF('type'), SIOCt('Microblog'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#mb'), SIOC('has_creator'), kb.sym(host + '#' + id), kb.sym(host)), // notification microblog
271
- new UI.rdf.Statement(kb.sym(host + '#mbn'), RDF('type'), SIOCt('Microblog'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#mbn'), SIOC('topic'), kb.sym(host + '#' + id), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#mbn'), SIOC('has_creator'), kb.sym(host + '#' + id), kb.sym(host)), // favorites container
237
+ var genUserMB = [
238
+ // user
239
+ new UI.rdf.Statement(kb.sym(host + '#' + id), RDF('type'), SIOC('User'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('creator_of'), kb.sym(host + '#mb'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('creator_of'), kb.sym(host + '#mbn'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('creator_of'), kb.sym(host + '#fav'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('name'), name, kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('id'), id, kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#' + id), RDF('label'), id, kb.sym(host)), new UI.rdf.Statement(s, FOAF('holdsAccount'), kb.sym(host + '#' + id), kb.sym(host)),
240
+ // microblog
241
+ new UI.rdf.Statement(kb.sym(host + '#mb'), RDF('type'), SIOCt('Microblog'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#mb'), SIOC('has_creator'), kb.sym(host + '#' + id), kb.sym(host)),
242
+ // notification microblog
243
+ new UI.rdf.Statement(kb.sym(host + '#mbn'), RDF('type'), SIOCt('Microblog'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#mbn'), SIOC('topic'), kb.sym(host + '#' + id), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#mbn'), SIOC('has_creator'), kb.sym(host + '#' + id), kb.sym(host)),
244
+ // favorites container
272
245
  new UI.rdf.Statement(kb.sym(host + '#fav'), RDF('type'), SIOCt('FavouriteThings'), kb.sym(host)), new UI.rdf.Statement(kb.sym(host + '#fav'), SIOC('has_creator'), kb.sym(host + '#' + id), kb.sym(host))];
273
-
274
246
  if (avatar) {
275
247
  // avatar optional
276
248
  genUserMB.push(new UI.rdf.Statement(kb.sym(host + '#' + id), SIOC('avatar'), kb.sym(avatar), kb.sym(host)));
277
249
  }
278
-
279
250
  sparqlUpdater.insert_statement(genUserMB, cbgenUserMB);
280
251
  };
281
-
282
252
  var mb = new Microblog(kb);
283
253
  var myFavorites = new Favorites(mb.getMyURI());
284
- var myFollowList = new FollowList(mb.getMyURI()); //* **********************************************
254
+ var myFollowList = new FollowList(mb.getMyURI());
255
+
256
+ //* **********************************************
285
257
  // FRONT END FUNCTIONALITY
286
258
  //* **********************************************
287
259
  // ----------------------------------------------
288
260
  // PANE
289
261
  // User Interface for the Microblog Pane
290
262
  // ----------------------------------------------
291
-
292
263
  var Pane = function Pane(s, doc, microblogPane) {
293
264
  var TabManager = function TabManager(doc) {
294
265
  this.tablist = {};
@@ -296,15 +267,12 @@ module.exports = {
296
267
  this.tabView = doc.createElement('ul');
297
268
  this.tabView.className = 'tabslist';
298
269
  };
299
-
300
270
  TabManager.prototype.create = function (id, caption, view, isDefault) {
301
271
  var tab = this.doc.createElement('li');
302
272
  tab.innerHTML = caption;
303
-
304
273
  if (isDefault) {
305
274
  tab.className = 'active';
306
275
  }
307
-
308
276
  tab.id = id;
309
277
  var change = this.change;
310
278
  var tablist = this.tablist;
@@ -317,11 +285,9 @@ module.exports = {
317
285
  };
318
286
  this.tabView.appendChild(tab);
319
287
  };
320
-
321
288
  TabManager.prototype.getTabView = function () {
322
289
  return this.tabView;
323
290
  };
324
-
325
291
  TabManager.prototype.change = function (id, tablist, doc) {
326
292
  for (var tab in tablist) {
327
293
  if (tab === id) {
@@ -334,55 +300,46 @@ module.exports = {
334
300
  }
335
301
  }
336
302
  };
337
-
338
303
  this.microblogPane = microblogPane;
339
304
  var accounts = kb.each(s, FOAF('holdsAccount'));
340
305
  var account;
341
-
342
306
  for (var a in accounts) {
343
307
  if (kb.whether(accounts[a], RDF('type'), SIOC('User')) && kb.whether(kb.any(accounts[a], SIOC('creator_of')), RDF('type'), SIOCt('Microblog'))) {
344
308
  account = accounts[a];
345
309
  break;
346
310
  }
347
311
  }
348
-
349
312
  this.Ifollow = kb.whether(kb.sym(mb.getMyURI()), SIOC('follows'), account);
350
313
  var resourceType = kb.any(s, RDF('type'));
351
-
352
314
  if (resourceType.uri === SIOCt('Microblog').uri || resourceType.uri === SIOCt('MicroblogPost').uri) {
353
315
  this.thisIsMe = kb.any(s, SIOC('has_creator')).uri === mb.getMyURI();
354
316
  } else if (resourceType.uri === SIOC('User').uri) {
355
317
  this.thisIsMe = s.uri === mb.getMyURI();
356
318
  } else if (resourceType.uri === FOAF('Person').uri) {
357
319
  var me = _solidLogic.authn.currentUser();
358
-
359
320
  var meUri = me && me.uri;
360
321
  this.thisIsMe = s.uri === meUri;
361
322
  } else {
362
323
  this.thisIsMe = false;
363
324
  }
364
-
365
325
  this.Tab = new TabManager(doc);
366
326
  };
367
-
368
327
  Pane.prototype.notify = function (messageString) {
369
328
  var xmsg = doc.createElement('li');
370
329
  xmsg.className = 'notify';
371
330
  xmsg.innerHTML = messageString;
372
331
  doc.getElementById('notify-container').appendChild(xmsg);
373
332
  setTimeout(function () {
374
- doc.getElementById('notify-container').removeChild(xmsg); // delete xmsg;
333
+ doc.getElementById('notify-container').removeChild(xmsg);
334
+ // delete xmsg;
375
335
  }, 4000);
376
336
  };
377
-
378
337
  Pane.prototype.header = function (s, doc) {
379
338
  var that = this;
380
-
381
339
  function lsFollowUser() {
382
- var myUser = kb.sym(mb.getMyURI()); // var Ifollow = that.Ifollow
383
-
340
+ var myUser = kb.sym(mb.getMyURI());
341
+ // var Ifollow = that.Ifollow
384
342
  var username = that.creator.name;
385
-
386
343
  var mbconfirmFollow = function mbconfirmFollow(uri, success, _msg) {
387
344
  if (success === true) {
388
345
  if (!that.Ifollow) {
@@ -393,7 +350,6 @@ module.exports = {
393
350
  } else {
394
351
  kb.removeMany(followMe.subject, followMe.predicate, followMe.object, followMe.why);
395
352
  }
396
-
397
353
  console.log(that.Ifollow);
398
354
  that.Ifollow = !that.Ifollow;
399
355
  xfollowButton.disabled = false;
@@ -404,40 +360,35 @@ module.exports = {
404
360
  that.notify('You ' + doFollow + username + '.');
405
361
  }
406
362
  };
407
-
408
363
  var followMe = new UI.rdf.Statement(myUser, SIOC('follows'), that.creator.sym, myUser);
409
364
  xfollowButton.disabled = true;
410
365
  xfollowButton.value = 'Updating...';
411
-
412
366
  if (!that.Ifollow) {
413
367
  sparqlUpdater.insert_statement(followMe, mbconfirmFollow);
414
368
  } else {
415
369
  sparqlUpdater.delete_statement(followMe, mbconfirmFollow);
416
370
  }
417
371
  }
418
-
419
372
  var notify = function notify(messageString) {
420
373
  var xmsg = doc.createElement('li');
421
374
  xmsg.className = 'notify';
422
375
  xmsg.innerHTML = messageString;
423
376
  doc.getElementById('notify-container').appendChild(xmsg);
424
377
  setTimeout(function () {
425
- doc.getElementById('notify-container').removeChild(xmsg); // delete xmsg;
378
+ doc.getElementById('notify-container').removeChild(xmsg);
379
+ // delete xmsg;
426
380
  }, 4000);
427
381
  };
428
-
429
382
  var mbCancelNewMB = function mbCancelNewMB(_evt) {
430
383
  xupdateContainer.removeChild(xupdateContainer.childNodes[xupdateContainer.childNodes.length - 1]);
431
384
  xcreateNewMB.disabled = false;
432
385
  };
433
-
434
386
  var lsCreateNewMB = function lsCreateNewMB(_evt) {
435
387
  // disable the create new microblog button.
436
388
  // then prefills the information.
437
389
  xcreateNewMB.disabled = true;
438
390
  var xcmb = doc.createElement('div');
439
391
  var xcmbName = doc.createElement('input');
440
-
441
392
  if (kb.whether(s, FOAF('name'))) {
442
393
  // handle use of FOAF:NAME
443
394
  xcmbName.value = kb.any(s, FOAF('name'));
@@ -447,11 +398,9 @@ module.exports = {
447
398
  xcmbName.value += kb.any(s, FOAF('family_name')) ? kb.any(s, FOAF('givenname')) : '';
448
399
  xcmbName.value = kb.any(s, FOAF('givenname')) + ' ' + kb.any(s, FOAF('family_name'));
449
400
  }
450
-
451
401
  var xcmbId = doc.createElement('input');
452
402
  xcmbId.value = kb.any(s, FOAF('nick')) ? kb.any(s, FOAF('nick')) : '';
453
403
  var xcmbAvatar = doc.createElement('input');
454
-
455
404
  if (kb.whether(s, FOAF('img'))) {
456
405
  // handle use of img
457
406
  xcmbAvatar.value = kb.any(s, FOAF('img')).uri;
@@ -459,12 +408,10 @@ module.exports = {
459
408
  // otherwise try depiction
460
409
  xcmbAvatar.value = kb.any(s, FOAF('depiction')) ? kb.any(s, FOAF('depiction')).uri : '';
461
410
  }
462
-
463
- var workspace; // = kb.any(s,WORKSPACE) //TODO - ADD URI FOR WORKSPACE DEFINITION
464
-
411
+ var workspace;
412
+ // = kb.any(s,WORKSPACE) //TODO - ADD URI FOR WORKSPACE DEFINITION
465
413
  var xcmbWritable = doc.createElement('input');
466
414
  xcmbWritable.value = workspace || 'http://dig.csail.mit.edu/2007/wiki/sandbox'; // @@@
467
-
468
415
  xcmb.innerHTML = "\n <form class =\"createNewMB\" id=\"createNewMB\">\n <p id=\"xcmbname\"><span class=\"\">Name: </span></p>\n <p id=\"xcmbid\">Id: </p>\n <p id=\"xcmbavatar\">Avatar: </p>\n <p id=\"xcmbwritable\">Host my microblog at: </p>\n <input type=\"button\" id=\"mbCancel\" value=\"Cancel\" />\n <input type=\"submit\" id=\"mbCreate\" value=\"Create!\" />\n </form>\n ";
469
416
  xupdateContainer.appendChild(xcmb);
470
417
  doc.getElementById('xcmbname').appendChild(xcmbName);
@@ -477,128 +424,105 @@ module.exports = {
477
424
  }, false);
478
425
  xcmbName.focus();
479
426
  };
480
-
481
427
  var mbSubmitPost = function mbSubmitPost() {
482
428
  var meta = {
483
429
  recipients: []
484
- }; // user has selected a microblog to post to
485
-
430
+ };
431
+ // user has selected a microblog to post to
486
432
  if (mb.getMyURI()) {
487
- var _ret = function () {
488
- // let myUser = kb.sym(mb.getMyURI())
489
- // submission callback
490
- var cbconfirmSubmit = function cbconfirmSubmit(uri, success, responseText, d) {
491
- if (success === true) {
492
- for (var triple in d) {
493
- kb.add(d[triple].subject, d[triple].predicate, d[triple].object, d[triple].why);
494
- }
495
-
496
- xupdateSubmit.disabled = false;
497
- xupdateStatus.value = '';
498
- mbLetterCount();
499
- notify('Microblog Updated.');
500
-
501
- if (that.thisIsMe) {
502
- doc.getElementById('postNotificationList').insertBefore(that.generatePost(d[0].subject), doc.getElementById('postNotificationList').childNodes[0]);
433
+ // let myUser = kb.sym(mb.getMyURI())
434
+ // submission callback
435
+ var cbconfirmSubmit = function cbconfirmSubmit(uri, success, responseText, d) {
436
+ if (success === true) {
437
+ for (var triple in d) {
438
+ kb.add(d[triple].subject, d[triple].predicate, d[triple].object, d[triple].why);
439
+ }
440
+ xupdateSubmit.disabled = false;
441
+ xupdateStatus.value = '';
442
+ mbLetterCount();
443
+ notify('Microblog Updated.');
444
+ if (that.thisIsMe) {
445
+ doc.getElementById('postNotificationList').insertBefore(that.generatePost(d[0].subject), doc.getElementById('postNotificationList').childNodes[0]);
446
+ }
447
+ } else {
448
+ notify('There was a problem submitting your post.');
449
+ }
450
+ };
451
+ var words = xupdateStatus.value.split(' ');
452
+ var mbUpdateWithReplies = function mbUpdateWithReplies() {
453
+ xupdateSubmit.disabled = true;
454
+ xupdateSubmit.value = 'Updating...';
455
+ mb.statusUpdate(xupdateStatus.value, cbconfirmSubmit, xinReplyToContainer.value, meta);
456
+ };
457
+ var _loop = function _loop() {
458
+ if (words[word].match(/@\w+/)) {
459
+ var atUser = words[word].replace(/\W/g, '');
460
+ var recipient = myFollowList.selectUser(atUser);
461
+ if (recipient[0] === true) {
462
+ meta.recipients.push(recipient[1][0]);
463
+ } else if (recipient[1].length > 1) {
464
+ // if multiple users allow the user to choose
465
+ var xrecipients = doc.createElement('select');
466
+ var xrecipientsSubmit = doc.createElement('input');
467
+ xrecipientsSubmit.type = 'button';
468
+ xrecipientsSubmit.value = 'Continue';
469
+ xrecipientsSubmit.addEventListener('click', function () {
470
+ meta.recipients.push(recipient[1][xrecipients.value]);
471
+ mbUpdateWithReplies();
472
+ xrecipients.parentNode.removeChild(xrecipientsSubmit);
473
+ xrecipients.parentNode.removeChild(xrecipients);
474
+ }, false);
475
+ var recipChoice = function recipChoice(recip, c) {
476
+ var name = kb.any(kb.sym(recip), SIOC('name'));
477
+ var choice = doc.createElement('option');
478
+ choice.value = c;
479
+ choice.innerHTML = name;
480
+ return choice;
481
+ };
482
+ for (var r in recipient[1]) {
483
+ xrecipients.appendChild(recipChoice(recipient[1][r], r));
503
484
  }
485
+ xupdateContainer.appendChild(xrecipients);
486
+ xupdateContainer.appendChild(xrecipientsSubmit);
487
+ return {
488
+ v: void 0
489
+ };
504
490
  } else {
505
- notify('There was a problem submitting your post.');
506
- }
507
- };
508
-
509
- var words = xupdateStatus.value.split(' ');
510
-
511
- var mbUpdateWithReplies = function mbUpdateWithReplies() {
512
- xupdateSubmit.disabled = true;
513
- xupdateSubmit.value = 'Updating...';
514
- mb.statusUpdate(xupdateStatus.value, cbconfirmSubmit, xinReplyToContainer.value, meta);
515
- };
516
-
517
- for (var word in words) {
518
- if (words[word].match(/@\w+/)) {
519
- var _ret2 = function () {
520
- var atUser = words[word].replace(/\W/g, '');
521
- var recipient = myFollowList.selectUser(atUser);
522
-
523
- if (recipient[0] === true) {
524
- meta.recipients.push(recipient[1][0]);
525
- } else if (recipient[1].length > 1) {
526
- // if multiple users allow the user to choose
527
- var xrecipients = doc.createElement('select');
528
- var xrecipientsSubmit = doc.createElement('input');
529
- xrecipientsSubmit.type = 'button';
530
- xrecipientsSubmit.value = 'Continue';
531
- xrecipientsSubmit.addEventListener('click', function () {
532
- meta.recipients.push(recipient[1][xrecipients.value]);
533
- mbUpdateWithReplies();
534
- xrecipients.parentNode.removeChild(xrecipientsSubmit);
535
- xrecipients.parentNode.removeChild(xrecipients);
536
- }, false);
537
-
538
- var recipChoice = function recipChoice(recip, c) {
539
- var name = kb.any(kb.sym(recip), SIOC('name'));
540
- var choice = doc.createElement('option');
541
- choice.value = c;
542
- choice.innerHTML = name;
543
- return choice;
544
- };
545
-
546
- for (var r in recipient[1]) {
547
- xrecipients.appendChild(recipChoice(recipient[1][r], r));
548
- }
549
-
550
- xupdateContainer.appendChild(xrecipients);
551
- xupdateContainer.appendChild(xrecipientsSubmit);
552
- return {
553
- v: {
554
- v: void 0
555
- }
556
- };
557
- } else {
558
- // no users known or self reference.
559
- if (String(kb.any(kb.sym(mb.getMyURI()), SIOC('id'))).toLowerCase() === atUser.toLowerCase()) {
560
- meta.recipients.push(mb.getMyURI());
561
- } else {
562
- notify('You do not follow ' + atUser + '. Try following ' + atUser + ' before mentioning them.');
563
- return {
564
- v: {
565
- v: void 0
566
- }
567
- };
568
- }
569
- }
570
- }();
571
-
572
- if (_typeof(_ret2) === "object") return _ret2.v;
491
+ // no users known or self reference.
492
+ if (String(kb.any(kb.sym(mb.getMyURI()), SIOC('id'))).toLowerCase() === atUser.toLowerCase()) {
493
+ meta.recipients.push(mb.getMyURI());
494
+ } else {
495
+ notify('You do not follow ' + atUser + '. Try following ' + atUser + ' before mentioning them.');
496
+ return {
497
+ v: void 0
498
+ };
499
+ }
573
500
  }
574
- /* else if(words[word].match(/\#\w+/)){
575
- //hashtag
576
- } else if(words[word].match(/\!\w+/)){
577
- //usergroup
578
- } */
579
-
580
501
  }
581
-
582
- mbUpdateWithReplies();
583
- }();
584
-
585
- if (_typeof(_ret) === "object") return _ret.v;
502
+ /* else if(words[word].match(/\#\w+/)){
503
+ //hashtag
504
+ } else if(words[word].match(/\!\w+/)){
505
+ //usergroup
506
+ } */
507
+ };
508
+ for (var word in words) {
509
+ var _ret = _loop();
510
+ if (_typeof(_ret) === "object") return _ret.v;
511
+ }
512
+ mbUpdateWithReplies();
586
513
  } else {
587
514
  notify('Please set your microblog first.');
588
515
  }
589
516
  };
590
-
591
517
  var mbLetterCount = function mbLetterCount() {
592
518
  xupdateStatusCounter.innerHTML = charCount - xupdateStatus.value.length;
593
519
  xupdateStatusCounter.style.color = charCount - xupdateStatus.value.length < 0 ? '#c33' : '';
594
-
595
520
  if (xupdateStatus.value.length === 0) {
596
521
  xinReplyToContainer.value = '';
597
522
  xupdateSubmit.value = 'Send';
598
523
  }
599
- }; // reply viewer
600
-
601
-
524
+ };
525
+ // reply viewer
602
526
  var xviewReply = doc.createElement('ul');
603
527
  xviewReply.className = 'replyView';
604
528
  xviewReply.addEventListener('click', function () {
@@ -606,8 +530,9 @@ module.exports = {
606
530
  }, false);
607
531
  this.xviewReply = xviewReply;
608
532
  var headerContainer = doc.createElement('div');
609
- headerContainer.className = 'header-container'; // ---create status update box---
533
+ headerContainer.className = 'header-container';
610
534
 
535
+ // ---create status update box---
611
536
  var xnotify = doc.createElement('ul');
612
537
  xnotify.id = 'notify-container';
613
538
  xnotify.className = 'notify-container';
@@ -620,7 +545,6 @@ module.exports = {
620
545
  var xupdateStatusCounter;
621
546
  var xupdateSubmit;
622
547
  var xcreateNewMB;
623
-
624
548
  if (mb.getMyURI()) {
625
549
  xinReplyToContainer = doc.createElement('input');
626
550
  xinReplyToContainer.id = 'xinReplyToContainer';
@@ -650,41 +574,39 @@ module.exports = {
650
574
  xupdateContainer.appendChild(xnewUser);
651
575
  xupdateContainer.appendChild(xcreateNewMB);
652
576
  }
653
-
654
577
  headerContainer.appendChild(xupdateContainer);
655
578
  var subheaderContainer = doc.createElement('div');
656
- subheaderContainer.className = 'subheader-container'; // user header
657
- // this.creator
579
+ subheaderContainer.className = 'subheader-container';
658
580
 
581
+ // user header
582
+ // this.creator
659
583
  var creators = kb.each(s, FOAF('holdsAccount'));
660
584
  var creator;
661
-
662
585
  for (var c in creators) {
663
586
  if (kb.whether(creators[c], RDF('type'), SIOC('User')) && kb.whether(kb.any(creators[c], SIOC('creator_of')), RDF('type'), SIOCt('Microblog'))) {
664
- creator = creators[c]; // var mb = kb.sym(creator.uri.split("#")[0]);
587
+ creator = creators[c];
588
+ // var mb = kb.sym(creator.uri.split("#")[0]);
665
589
  // store.fetcher.refresh(mb);
666
-
667
- break; // TODO add support for more than one microblog in same foaf
590
+ break;
591
+ // TODO add support for more than one microblog in same foaf
668
592
  }
669
593
  }
670
594
 
671
595
  var xfollowButton;
672
-
673
596
  if (creator) {
674
- this.creator = mb.getUser(creator); // ---display avatar, if available ---
675
-
597
+ this.creator = mb.getUser(creator);
598
+ // ---display avatar, if available ---
676
599
  if (this.creator.avatar !== '') {
677
600
  var avatar = doc.createElement('img');
678
601
  avatar.src = this.creator.avatar.uri;
679
602
  subheaderContainer.appendChild(avatar);
680
- } // ---generate name ---
681
-
682
-
603
+ }
604
+ // ---generate name ---
683
605
  var userName = doc.createElement('h1');
684
606
  userName.className = 'fn';
685
607
  userName.appendChild(doc.createTextNode(this.creator.name + ' (' + this.creator.id + ')'));
686
- subheaderContainer.appendChild(userName); // ---display follow button---
687
-
608
+ subheaderContainer.appendChild(userName);
609
+ // ---display follow button---
688
610
  if (!this.thisIsMe && mb.getMyURI()) {
689
611
  xfollowButton = doc.createElement('input');
690
612
  xfollowButton.setAttribute('type', 'button');
@@ -692,32 +614,26 @@ module.exports = {
692
614
  xfollowButton.value = followButtonLabel + this.creator.name;
693
615
  xfollowButton.addEventListener('click', lsFollowUser, false);
694
616
  subheaderContainer.appendChild(xfollowButton);
695
- } // user header end
617
+ }
618
+ // user header end
696
619
  // header tabs
697
-
698
-
699
620
  var xtabsList = this.Tab.getTabView();
700
621
  headerContainer.appendChild(subheaderContainer);
701
622
  headerContainer.appendChild(xtabsList);
702
623
  }
703
-
704
624
  return headerContainer;
705
625
  };
706
-
707
626
  Pane.prototype.generatePost = function (post, _me) {
708
627
  /*
709
628
  generatePost - Creates and formats microblog posts
710
629
  post - symbol of the uri the post in question
711
630
  */
712
631
  var that = this;
713
-
714
632
  var viewPost = function viewPost(uris) {
715
633
  var xviewReply = that.xviewReply;
716
-
717
634
  for (var i = 0; i < xviewReply.childNodes.length; i++) {
718
635
  xviewReply.removeChild(xviewReply.childNodes[0]);
719
636
  }
720
-
721
637
  var xcloseContainer = doc.createElement('li');
722
638
  xcloseContainer.className = 'closeContainer';
723
639
  var xcloseButton = doc.createElement('span');
@@ -725,36 +641,33 @@ module.exports = {
725
641
  xcloseButton.className = 'closeButton';
726
642
  xcloseContainer.appendChild(xcloseButton);
727
643
  xviewReply.appendChild(xcloseContainer);
728
-
729
644
  for (var uri in uris) {
730
645
  xviewReply.appendChild(that.generatePost(kb.sym(uris[uri]), this.thisIsMe, 'view'));
731
646
  }
732
-
733
647
  xviewReply.className = 'replyView-active';
734
648
  that.microblogPane.appendChild(xviewReply);
735
- }; // container for post
736
-
737
-
649
+ };
650
+ // container for post
738
651
  var xpost = doc.createElement('li');
739
652
  xpost.className = 'post';
740
653
  xpost.setAttribute('id', String(post.uri).split('#')[1]);
741
- var Post = mb.getPost(post); // username text
654
+ var Post = mb.getPost(post);
655
+ // username text
742
656
  // var uname = kb.any(kb.any(post, SIOC('has_creator')), SIOC('id'))
743
-
744
657
  var uholdsaccount = kb.any(undefined, FOAF('holdsAccount'), kb.any(post, SIOC('has_creator')));
745
658
  var xuname = doc.createElement('a');
746
659
  xuname.href = uholdsaccount.uri;
747
660
  xuname.className = 'userLink';
748
661
  var xunameText = doc.createTextNode(mb.getUser(Post.creator).id);
749
- xuname.appendChild(xunameText); // user image
750
-
662
+ xuname.appendChild(xunameText);
663
+ // user image
751
664
  var xuavatar = doc.createElement('img');
752
665
  xuavatar.src = mb.getUser(Post.creator).avatar.uri;
753
- xuavatar.className = 'postAvatar'; // post content
754
-
666
+ xuavatar.className = 'postAvatar';
667
+ // post content
755
668
  var xpostContent = doc.createElement('blockquote');
756
- var postText = Post.message; // post date
757
-
669
+ var postText = Post.message;
670
+ // post date
758
671
  var xpostLink = doc.createElement('a');
759
672
  xpostLink.className = 'postLink';
760
673
  xpostLink.addEventListener('click', function () {
@@ -764,40 +677,35 @@ module.exports = {
764
677
  xpostLink.setAttribute('content', post.uri);
765
678
  xpostLink.setAttribute('property', 'permalink');
766
679
  var postLink = doc.createTextNode(Post.date ? Post.date : 'post date unknown');
767
- xpostLink.appendChild(postLink); // LINK META DATA (MENTIONS, HASHTAGS, GROUPS)
680
+ xpostLink.appendChild(postLink);
768
681
 
682
+ // LINK META DATA (MENTIONS, HASHTAGS, GROUPS)
769
683
  var mentions = kb.each(post, SIOC('topic'));
770
684
  var tags = {};
771
-
772
685
  for (var mention in mentions) {
773
686
  sf.lookUpThing(mentions[mention]);
774
687
  var id = kb.any(mentions[mention], SIOC('id'));
775
688
  tags['@' + id] = mentions[mention];
776
689
  }
777
-
778
690
  var postTags = postText.match(/(@|#|!)\w+/g);
779
-
780
691
  var postFunction = function postFunction() {
781
692
  var p = postTags.pop();
782
693
  return tags[p] ? kb.any(undefined, FOAF('holdsAccount'), tags[p]).uri : p;
783
694
  };
784
-
785
695
  for (var t in tags) {
786
696
  var person = t.replace(/@/, '');
787
697
  var replacePerson = RegExp('(@|!|#)(' + person + ')');
788
698
  postText = postText.replace(replacePerson, '$1<a href="' + postFunction() + '">$2</a>');
789
699
  }
700
+ xpostContent.innerHTML = postText;
790
701
 
791
- xpostContent.innerHTML = postText; // in reply to logic
702
+ // in reply to logic
792
703
  // This has the potential to support a post that replies to many messages.
793
-
794
704
  var inReplyTo = kb.each(post, SIOC('reply_of'));
795
705
  var xreplyTo = doc.createElement('span');
796
706
  var theReply;
797
-
798
707
  for (var reply in inReplyTo) {
799
708
  theReply = String(inReplyTo[reply]).replace(/<|>/g, '');
800
-
801
709
  var genReplyTo = function genReplyTo() {
802
710
  var reply = doc.createElement('a');
803
711
  reply.innerHTML = ', <b>in reply to</b>';
@@ -807,12 +715,11 @@ module.exports = {
807
715
  }, false);
808
716
  return reply;
809
717
  };
810
-
811
718
  xreplyTo.appendChild(genReplyTo());
812
- } // END LINK META DATA
813
- // add the reply to and delete buttons to the interface
814
-
719
+ }
815
720
 
721
+ // END LINK META DATA
722
+ // add the reply to and delete buttons to the interface
816
723
  var mbReplyTo = function mbReplyTo() {
817
724
  var id = mb.getUser(Post.creator).id;
818
725
  var xupdateStatus = doc.getElementById('xupdateStatus');
@@ -823,20 +730,16 @@ module.exports = {
823
730
  xinReplyToContainer.value = post.uri;
824
731
  xupdateSubmit.value = 'Reply';
825
732
  };
826
-
827
733
  var xconfirmDeletionDialog;
828
-
829
734
  var mbDeletePost = function mbDeletePost(evt) {
830
735
  var lsconfirmNo = function lsconfirmNo() {
831
736
  doc.getElementById('notify-container').removeChild(xconfirmDeletionDialog);
832
737
  evt.target.disabled = false;
833
738
  };
834
-
835
739
  var lsconfirmYes = function lsconfirmYes() {
836
740
  reallyDelete();
837
741
  doc.getElementById('notify-container').removeChild(xconfirmDeletionDialog);
838
742
  };
839
-
840
743
  evt.target.disabled = true;
841
744
  xconfirmDeletionDialog = doc.createElement('li');
842
745
  xconfirmDeletionDialog.className = 'notify conf';
@@ -860,13 +763,12 @@ module.exports = {
860
763
  xconfirmDeletionDialog.appendChild(confirmyes);
861
764
  doc.getElementById('notify-container').appendChild(xconfirmDeletionDialog);
862
765
  confirmno.focus();
863
-
864
766
  var reallyDelete = function reallyDelete() {
865
767
  // callback after deletion
866
768
  var mbconfirmDeletePost = function mbconfirmDeletePost(a, success) {
867
769
  if (success) {
868
- that.notify('Post deleted.'); // update the ui to reflect model changes.
869
-
770
+ that.notify('Post deleted.');
771
+ // update the ui to reflect model changes.
870
772
  var deleteThisNode = evt.target.parentNode;
871
773
  deleteThisNode.parentNode.removeChild(deleteThisNode);
872
774
  kb.removeMany(deleteMe);
@@ -874,9 +776,8 @@ module.exports = {
874
776
  that.notify('Oops, there was a problem, please try again');
875
777
  evt.target.disabled = true;
876
778
  }
877
- }; // delete references to post
878
-
879
-
779
+ };
780
+ // delete references to post
880
781
  var deleteContainerOf = function deleteContainerOf(a, success) {
881
782
  if (success) {
882
783
  var deleteContainer = kb.statementsMatching(undefined, SIOC('container_of'), kb.sym(doc.getElementById('post_' + evt.target.parentNode.id).getAttribute('content')));
@@ -885,24 +786,20 @@ module.exports = {
885
786
  that.notify('Oops, there was a problem, please try again');
886
787
  evt.target.disabled = false;
887
788
  }
888
- }; // delete attributes of post
889
-
890
-
789
+ };
790
+ // delete attributes of post
891
791
  evt.target.disabled = true;
892
792
  var deleteMe = kb.statementsMatching(kb.sym(doc.getElementById('post_' + evt.target.parentNode.id).getAttribute('content')));
893
793
  sparqlUpdater.batch_delete_statement(deleteMe, deleteContainerOf);
894
794
  };
895
795
  };
896
-
897
796
  var themaker;
898
797
  var xreplyButton;
899
798
  var xdeleteButton;
900
-
901
799
  if (mb.getMyURI()) {
902
800
  // If the microblog in question does not belong to the user,
903
801
  // display the delete post and reply to post buttons.
904
802
  themaker = kb.any(post, SIOC('has_creator'));
905
-
906
803
  if (mb.getMyURI() !== themaker.uri) {
907
804
  xreplyButton = doc.createElement('input');
908
805
  xreplyButton.type = 'button';
@@ -917,59 +814,47 @@ module.exports = {
917
814
  xdeleteButton.addEventListener('click', mbDeletePost, false);
918
815
  }
919
816
  }
920
-
921
817
  var mbFavorite = function mbFavorite(evt) {
922
818
  var nid = evt.target.parentNode.id;
923
819
  var favpost = doc.getElementById('post_' + nid).getAttribute('content');
924
820
  xfavorite.className += ' ing';
925
-
926
821
  var cbFavorite = function cbFavorite(a, success, _c, _d) {
927
822
  if (success) {
928
823
  xfavorite.className = xfavorite.className.split(' ')[1] === 'ed' ? 'favorit' : 'favorit ed';
929
824
  }
930
825
  };
931
-
932
826
  if (!myFavorites.favorited(favpost)) {
933
827
  myFavorites.add(favpost, cbFavorite);
934
828
  } else {
935
829
  myFavorites.remove(favpost, cbFavorite);
936
830
  }
937
831
  };
938
-
939
832
  var xfavorite = doc.createElement('a');
940
833
  xfavorite.innerHTML = '&#9733;';
941
834
  xfavorite.addEventListener('click', mbFavorite, false);
942
-
943
835
  if (myFavorites.favorited(post.uri)) {
944
836
  xfavorite.className = 'favorit ed';
945
837
  } else {
946
838
  xfavorite.className = 'favorit';
947
- } // build
948
-
949
-
839
+ }
840
+ // build
950
841
  xpost.appendChild(xuavatar);
951
842
  xpost.appendChild(xpostContent);
952
-
953
843
  if (mb.getMyURI()) {
954
844
  xpost.appendChild(xfavorite);
955
-
956
845
  if (mb.getMyURI() !== themaker.uri) {
957
846
  xpost.appendChild(xreplyButton);
958
847
  } else {
959
848
  xpost.appendChild(xdeleteButton);
960
849
  }
961
850
  }
962
-
963
851
  xpost.appendChild(xuname);
964
852
  xpost.appendChild(xpostLink);
965
-
966
853
  if (inReplyTo !== '') {
967
854
  xpost.appendChild(xreplyTo);
968
855
  }
969
-
970
856
  return xpost;
971
857
  };
972
-
973
858
  Pane.prototype.generatePostList = function (gmbPosts) {
974
859
  /*
975
860
  generatePostList - Generate the posts and
@@ -978,25 +863,19 @@ module.exports = {
978
863
  var postList = doc.createElement('ul');
979
864
  var postlist = {};
980
865
  var datelist = [];
981
-
982
866
  for (var post in gmbPosts) {
983
867
  var postDate = kb.any(gmbPosts[post], terms('created'));
984
-
985
868
  if (postDate) {
986
869
  datelist.push(postDate);
987
870
  postlist[postDate] = this.generatePost(gmbPosts[post], this.thisIsMe);
988
871
  }
989
872
  }
990
-
991
873
  datelist.sort().reverse();
992
-
993
874
  for (var d in datelist) {
994
875
  postList.appendChild(postlist[datelist[d]]);
995
876
  }
996
-
997
877
  return postList;
998
878
  };
999
-
1000
879
  Pane.prototype.followsView = function () {
1001
880
  var getFollowed = function getFollowed(user) {
1002
881
  var userid = kb.any(user, SIOC('id'));
@@ -1008,44 +887,35 @@ module.exports = {
1008
887
  follow.innerHTML = '<a href="' + fol + '">' + userid + '</a>';
1009
888
  return follow;
1010
889
  };
1011
-
1012
890
  var xfollows = doc.createElement('div');
1013
891
  xfollows.id = 'xfollows';
1014
892
  xfollows.className = 'followlist-container view-container';
1015
-
1016
893
  if (this.creator && kb.whether(this.creator.sym, SIOC('follows'))) {
1017
894
  var creatorFollows = kb.each(this.creator.sym, SIOC('follows'));
1018
895
  var xfollowsList = doc.createElement('ul');
1019
-
1020
896
  for (var thisPerson in creatorFollows) {
1021
897
  xfollowsList.appendChild(getFollowed(creatorFollows[thisPerson]));
1022
898
  }
1023
-
1024
899
  xfollows.appendChild(xfollowsList);
1025
900
  }
1026
-
1027
901
  this.Tab.create('tab-follows', 'Follows', xfollows, false);
1028
902
  return xfollows;
1029
903
  };
1030
-
1031
904
  Pane.prototype.streamView = function (s, doc) {
1032
905
  var postContainer = doc.createElement('div');
1033
906
  postContainer.id = 'postContainer';
1034
907
  postContainer.className = 'post-container view-container active';
1035
908
  var mbPosts = [];
1036
-
1037
909
  if (kb.whether(s, FOAF('name')) && kb.whether(s, FOAF('holdsAccount'))) {
1038
910
  sf.lookUpThing(kb.any(s, FOAF('holdsAccount')));
1039
911
  var follows = kb.each(kb.any(s, FOAF('holdsAccount')), SIOC('follows'));
1040
-
1041
912
  for (var f in follows) {
1042
- sf.lookUpThing(follows[f]); // look up people user follows
1043
-
1044
- var smicroblogs = kb.each(follows[f], SIOC('creator_of')); // get the follows microblogs
1045
-
913
+ sf.lookUpThing(follows[f]);
914
+ // look up people user follows
915
+ var smicroblogs = kb.each(follows[f], SIOC('creator_of'));
916
+ // get the follows microblogs
1046
917
  for (var smb in smicroblogs) {
1047
918
  sf.lookUpThing(smicroblogs[smb]);
1048
-
1049
919
  if (kb.whether(smicroblogs[smb], SIOC('topic'), follows[f])) {
1050
920
  continue;
1051
921
  } else {
@@ -1054,19 +924,16 @@ module.exports = {
1054
924
  }
1055
925
  }
1056
926
  }
1057
-
1058
927
  if (mbPosts.length > 0) {
1059
- var postList = this.generatePostList(mbPosts); // generate stream
1060
-
928
+ var postList = this.generatePostList(mbPosts);
929
+ // generate stream
1061
930
  postList.id = 'postList';
1062
931
  postList.className = 'postList';
1063
932
  postContainer.appendChild(postList);
1064
933
  }
1065
-
1066
934
  this.Tab.create('tab-stream', 'By Follows', postContainer, true);
1067
935
  return postContainer;
1068
936
  };
1069
-
1070
937
  Pane.prototype.notificationsView = function (s, doc) {
1071
938
  var postNotificationContainer = doc.createElement('div');
1072
939
  postNotificationContainer.id = 'postNotificationContainer';
@@ -1075,15 +942,13 @@ module.exports = {
1075
942
  postMentionContainer.id = 'postMentionContainer';
1076
943
  postMentionContainer.className = 'mention-container view-container';
1077
944
  var mbnPosts = [];
1078
- var mbmPosts = []; // get mbs that I am the creator of.
1079
-
945
+ var mbmPosts = [];
946
+ // get mbs that I am the creator of.
1080
947
  var theUser = kb.any(s, FOAF('holdsAccount'));
1081
948
  var user = kb.any(theUser, SIOC('id'));
1082
949
  var microblogs = kb.each(theUser, SIOC('creator_of'));
1083
-
1084
950
  for (var mbm in microblogs) {
1085
951
  sf.lookUpThing(microblogs[mbm]);
1086
-
1087
952
  if (kb.whether(microblogs[mbm], SIOC('topic'), theUser)) {
1088
953
  mbmPosts = mbmPosts.concat(kb.each(microblogs[mbm], SIOC('container_of')));
1089
954
  } else {
@@ -1092,7 +957,6 @@ module.exports = {
1092
957
  }
1093
958
  }
1094
959
  }
1095
-
1096
960
  var postNotificationList = this.generatePostList(mbnPosts);
1097
961
  postNotificationList.id = 'postNotificationList';
1098
962
  postNotificationList.className = 'postList';
@@ -1106,7 +970,6 @@ module.exports = {
1106
970
  this.Tab.create('tab-by-user', 'By ' + user, postNotificationContainer, false);
1107
971
  this.Tab.create('tab-at-user', '@' + user, postMentionContainer, false);
1108
972
  };
1109
-
1110
973
  Pane.prototype.build = function () {
1111
974
  var microblogPane = this.microblogPane;
1112
975
  this.headerContainer = this.header(s, doc);
@@ -1117,17 +980,15 @@ module.exports = {
1117
980
  microblogPane.appendChild(this.xviewReply);
1118
981
  microblogPane.appendChild(this.xnotify);
1119
982
  microblogPane.appendChild(this.headerContainer);
1120
-
1121
983
  if (this.xfollows !== undefined) {
1122
984
  microblogPane.appendChild(this.xfollows);
1123
985
  }
1124
-
1125
986
  microblogPane.appendChild(this.postContainer);
1126
987
  microblogPane.appendChild(this.postNotificationContainer);
1127
988
  microblogPane.appendChild(this.postMentionContainer);
1128
989
  };
1129
-
1130
- var microblogpane = doc.createElement('div'); // var getusersfollows = function(uri){
990
+ var microblogpane = doc.createElement('div');
991
+ // var getusersfollows = function(uri){
1131
992
  // var follows = new Object();
1132
993
  // var followsa = {follows:0, matches:0};
1133
994
  // var accounts = kb.each(s, FOAF("holdsAccount"));
@@ -1146,9 +1007,9 @@ module.exports = {
1146
1007
  // followsa.matches = (follows[uri]) ? followsa.matches+1: followsa.matches;
1147
1008
  // console.log(follows.toSource());
1148
1009
  // if(followsa.follows == followsa.matches ){
1149
-
1150
1010
  var ppane = new Pane(s, doc, microblogpane);
1151
- ppane.build(); // return false;
1011
+ ppane.build();
1012
+ // return false;
1152
1013
  // }
1153
1014
  // else{
1154
1015
  // return true;
@@ -1161,8 +1022,8 @@ module.exports = {
1161
1022
  // sf.refresh(kb.sym(f));
1162
1023
  // }
1163
1024
  // }(s);
1164
-
1165
1025
  return microblogpane;
1166
1026
  }
1167
1027
  };
1028
+ exports["default"] = _default;
1168
1029
  //# sourceMappingURL=microblogPane.js.map