solid-ui 2.6.1-e5ad2945 → 2.6.1-e78cbe5

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 (369) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +85 -26
  3. package/dist/acl/access-controller.js +238 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/{lib → dist}/acl/access-groups.d.ts +2 -2
  6. package/{lib → dist}/acl/access-groups.d.ts.map +1 -1
  7. package/dist/acl/access-groups.js +323 -0
  8. package/dist/acl/access-groups.js.map +1 -0
  9. package/dist/acl/acl-control.js +173 -0
  10. package/dist/acl/acl-control.js.map +1 -0
  11. package/dist/acl/acl.js +495 -0
  12. package/dist/acl/acl.js.map +1 -0
  13. package/dist/acl/add-agent-buttons.js +217 -0
  14. package/dist/acl/add-agent-buttons.js.map +1 -0
  15. package/dist/acl/index.js +32 -0
  16. package/dist/acl/index.js.map +1 -0
  17. package/dist/acl/types.js +6 -0
  18. package/dist/acl/types.js.map +1 -0
  19. package/dist/chat/keys.js +106 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +63 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +249 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +5 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +2 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.d.ts.map +1 -0
  30. package/dist/debug.js +13 -0
  31. package/dist/debug.js.map +1 -0
  32. package/dist/footer/index.js +67 -0
  33. package/dist/footer/index.js.map +1 -0
  34. package/dist/header/empty-profile.js +11 -0
  35. package/dist/header/empty-profile.js.map +1 -0
  36. package/dist/header/index.js +260 -0
  37. package/dist/header/index.js.map +1 -0
  38. package/dist/iconBase.js +37 -0
  39. package/dist/iconBase.js.map +1 -0
  40. package/dist/icons/solid_logo.js.map +1 -0
  41. package/{lib → dist}/index.d.ts +7 -9
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +102 -0
  44. package/dist/index.js.map +1 -0
  45. package/{lib → dist}/log.d.ts.map +1 -1
  46. package/dist/log.js +182 -0
  47. package/dist/log.js.map +1 -0
  48. package/dist/login/login.js +858 -0
  49. package/dist/login/login.js.map +1 -0
  50. package/dist/matrix/index.js +5 -0
  51. package/dist/matrix/index.js.map +1 -0
  52. package/dist/matrix/matrix.js +217 -0
  53. package/dist/matrix/matrix.js.map +1 -0
  54. package/dist/matrix/types.js +2 -0
  55. package/dist/matrix/types.js.map +1 -0
  56. package/dist/media/index.js +6 -0
  57. package/dist/media/index.js.map +1 -0
  58. package/dist/media/media-capture.js +161 -0
  59. package/dist/media/media-capture.js.map +1 -0
  60. package/dist/pad.js +775 -0
  61. package/dist/pad.js.map +1 -0
  62. package/{lib → dist}/participation.d.ts.map +1 -1
  63. package/dist/participation.js +184 -0
  64. package/dist/participation.js.map +1 -0
  65. package/dist/solid-ui.esm.js +25531 -0
  66. package/dist/solid-ui.esm.js.map +1 -0
  67. package/dist/solid-ui.esm.min.js +43 -0
  68. package/dist/solid-ui.esm.min.js.map +1 -0
  69. package/dist/solid-ui.js +23479 -68931
  70. package/dist/solid-ui.js.map +1 -1
  71. package/dist/solid-ui.min.js +40 -2
  72. package/dist/solid-ui.min.js.map +1 -1
  73. package/dist/tabs.js +388 -0
  74. package/dist/tabs.js.map +1 -0
  75. package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +1 -1
  76. package/dist/utils/headerFooterHelpers.js +114 -0
  77. package/dist/utils/headerFooterHelpers.js.map +1 -0
  78. package/dist/utils/keyHelpers/accessData.js +64 -0
  79. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  80. package/dist/utils/keyHelpers/acl.js +74 -0
  81. package/dist/utils/keyHelpers/acl.js.map +1 -0
  82. package/dist/utils/keyHelpers/otherHelpers.js +13 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +111 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +31 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +44 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1280 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.d.ts +14 -0
  93. package/dist/widgets/error.d.ts.map +1 -0
  94. package/dist/widgets/error.js +35 -0
  95. package/dist/widgets/error.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteBar.js +123 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompleteField.js +199 -0
  99. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/autocompletePicker.js +256 -0
  101. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  102. package/dist/widgets/forms/autocomplete/language.js +104 -0
  103. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +460 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +241 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +46 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +44 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +89 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/{lib → dist}/widgets/forms/formStyle.d.ts.map +1 -1
  115. package/dist/widgets/forms/formStyle.js +36 -0
  116. package/dist/widgets/forms/formStyle.js.map +1 -0
  117. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  118. package/{lib → dist}/widgets/widgetHelpers.js +14 -25
  119. package/dist/widgets/widgetHelpers.js.map +1 -0
  120. package/package.json +48 -52
  121. package/dist/789.solid-ui.min.js +0 -1
  122. package/dist/841.solid-ui.min.js +0 -3
  123. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  124. package/dist/841.solid-ui.min.js.map +0 -1
  125. package/dist/_2b19.solid-ui.js +0 -14
  126. package/dist/_2b19.solid-ui.js.map +0 -1
  127. package/dist/index.html +0 -1
  128. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  130. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  131. package/lib/acl/access-controller.js +0 -391
  132. package/lib/acl/access-controller.js.map +0 -1
  133. package/lib/acl/access-groups.js +0 -507
  134. package/lib/acl/access-groups.js.map +0 -1
  135. package/lib/acl/acl-control.js +0 -237
  136. package/lib/acl/acl-control.js.map +0 -1
  137. package/lib/acl/acl.js +0 -517
  138. package/lib/acl/acl.js.map +0 -1
  139. package/lib/acl/add-agent-buttons.js +0 -434
  140. package/lib/acl/add-agent-buttons.js.map +0 -1
  141. package/lib/acl/index.js +0 -39
  142. package/lib/acl/index.js.map +0 -1
  143. package/lib/acl/types.js +0 -6
  144. package/lib/acl/types.js.map +0 -1
  145. package/lib/chat/bookmarks.js +0 -303
  146. package/lib/chat/bookmarks.js.map +0 -1
  147. package/lib/chat/chatLogic.js +0 -420
  148. package/lib/chat/chatLogic.js.map +0 -1
  149. package/lib/chat/dateFolder.js +0 -328
  150. package/lib/chat/dateFolder.js.map +0 -1
  151. package/lib/chat/infinite.js +0 -994
  152. package/lib/chat/infinite.js.map +0 -1
  153. package/lib/chat/keys.js +0 -232
  154. package/lib/chat/keys.js.map +0 -1
  155. package/lib/chat/message.js +0 -715
  156. package/lib/chat/message.js.map +0 -1
  157. package/lib/chat/messageTools.js +0 -538
  158. package/lib/chat/messageTools.js.map +0 -1
  159. package/lib/chat/signature.js +0 -109
  160. package/lib/chat/signature.js.map +0 -1
  161. package/lib/chat/thread.js +0 -535
  162. package/lib/chat/thread.js.map +0 -1
  163. package/lib/create/create.js +0 -242
  164. package/lib/create/create.js.map +0 -1
  165. package/lib/create/index.js +0 -11
  166. package/lib/create/index.js.map +0 -1
  167. package/lib/create/types.js +0 -6
  168. package/lib/create/types.js.map +0 -1
  169. package/lib/debug.d.ts.map +0 -1
  170. package/lib/debug.js +0 -30
  171. package/lib/debug.js.map +0 -1
  172. package/lib/folders.js +0 -132
  173. package/lib/folders.js.map +0 -1
  174. package/lib/footer/index.js +0 -123
  175. package/lib/footer/index.js.map +0 -1
  176. package/lib/header/empty-profile.js +0 -8
  177. package/lib/header/empty-profile.js.map +0 -1
  178. package/lib/header/index.js +0 -375
  179. package/lib/header/index.js.map +0 -1
  180. package/lib/iconBase.js +0 -44
  181. package/lib/iconBase.js.map +0 -1
  182. package/lib/icons/solid_logo.js.map +0 -1
  183. package/lib/index.d.ts.map +0 -1
  184. package/lib/index.js +0 -223
  185. package/lib/index.js.map +0 -1
  186. package/lib/log.js +0 -213
  187. package/lib/log.js.map +0 -1
  188. package/lib/login/login.js +0 -1241
  189. package/lib/login/login.js.map +0 -1
  190. package/lib/matrix/index.js +0 -11
  191. package/lib/matrix/index.js.map +0 -1
  192. package/lib/matrix/matrix.js +0 -216
  193. package/lib/matrix/matrix.js.map +0 -1
  194. package/lib/matrix/types.js +0 -6
  195. package/lib/matrix/types.js.map +0 -1
  196. package/lib/media/index.js +0 -12
  197. package/lib/media/index.js.map +0 -1
  198. package/lib/media/media-capture.js +0 -194
  199. package/lib/media/media-capture.js.map +0 -1
  200. package/lib/messageArea.js +0 -319
  201. package/lib/messageArea.js.map +0 -1
  202. package/lib/noun_Camera_1618446_000000.js +0 -8
  203. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  204. package/lib/ns.js +0 -17
  205. package/lib/ns.js.map +0 -1
  206. package/lib/pad.js +0 -805
  207. package/lib/pad.js.map +0 -1
  208. package/lib/participation.js +0 -219
  209. package/lib/participation.js.map +0 -1
  210. package/lib/preferences.js +0 -215
  211. package/lib/preferences.js.map +0 -1
  212. package/lib/signup/config-default.js +0 -43
  213. package/lib/signup/config-default.js.map +0 -1
  214. package/lib/signup/signup.js +0 -74
  215. package/lib/signup/signup.js.map +0 -1
  216. package/lib/stories/decorators.js +0 -10
  217. package/lib/stories/decorators.js.map +0 -1
  218. package/lib/style.js +0 -158
  219. package/lib/style.js.map +0 -1
  220. package/lib/styleConstants.js +0 -35
  221. package/lib/styleConstants.js.map +0 -1
  222. package/lib/style_multiSelect.js +0 -62
  223. package/lib/style_multiSelect.js.map +0 -1
  224. package/lib/table.js +0 -1573
  225. package/lib/table.js.map +0 -1
  226. package/lib/tabs.js +0 -448
  227. package/lib/tabs.js.map +0 -1
  228. package/lib/typings.d.js +0 -2
  229. package/lib/typings.d.js.map +0 -1
  230. package/lib/utils/headerFooterHelpers.js +0 -165
  231. package/lib/utils/headerFooterHelpers.js.map +0 -1
  232. package/lib/utils/index.js +0 -527
  233. package/lib/utils/index.js.map +0 -1
  234. package/lib/utils/keyHelpers/accessData.js +0 -131
  235. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  236. package/lib/utils/keyHelpers/acl.js +0 -90
  237. package/lib/utils/keyHelpers/acl.js.map +0 -1
  238. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  239. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  240. package/lib/utils/label.js +0 -103
  241. package/lib/utils/label.js.map +0 -1
  242. package/lib/versionInfo.d.ts +0 -32
  243. package/lib/versionInfo.d.ts.map +0 -1
  244. package/lib/versionInfo.js +0 -37
  245. package/lib/versionInfo.js.map +0 -1
  246. package/lib/widgets/buttons/iconLinks.js +0 -53
  247. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  248. package/lib/widgets/buttons.js +0 -1306
  249. package/lib/widgets/buttons.js.map +0 -1
  250. package/lib/widgets/dragAndDrop.js +0 -194
  251. package/lib/widgets/dragAndDrop.js.map +0 -1
  252. package/lib/widgets/error.d.ts +0 -2
  253. package/lib/widgets/error.d.ts.map +0 -1
  254. package/lib/widgets/error.js +0 -46
  255. package/lib/widgets/error.js.map +0 -1
  256. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  257. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  258. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  259. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  260. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  261. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  262. package/lib/widgets/forms/autocomplete/language.js +0 -189
  263. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  264. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  265. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  266. package/lib/widgets/forms/basic.js +0 -254
  267. package/lib/widgets/forms/basic.js.map +0 -1
  268. package/lib/widgets/forms/comment.js +0 -54
  269. package/lib/widgets/forms/comment.js.map +0 -1
  270. package/lib/widgets/forms/fieldFunction.js +0 -52
  271. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  272. package/lib/widgets/forms/fieldParams.js +0 -77
  273. package/lib/widgets/forms/fieldParams.js.map +0 -1
  274. package/lib/widgets/forms/formStyle.js +0 -44
  275. package/lib/widgets/forms/formStyle.js.map +0 -1
  276. package/lib/widgets/forms.js +0 -2045
  277. package/lib/widgets/forms.js.map +0 -1
  278. package/lib/widgets/index.js +0 -110
  279. package/lib/widgets/index.js.map +0 -1
  280. package/lib/widgets/multiSelect.js +0 -658
  281. package/lib/widgets/multiSelect.js.map +0 -1
  282. package/lib/widgets/peoplePicker.js +0 -467
  283. package/lib/widgets/peoplePicker.js.map +0 -1
  284. package/lib/widgets/widgetHelpers.js.map +0 -1
  285. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  286. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/acl.d.ts +0 -0
  290. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  292. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/index.d.ts +0 -0
  294. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  295. /package/{lib → dist}/acl/types.d.ts +0 -0
  296. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  297. /package/{lib → dist}/chat/keys.d.ts +0 -0
  298. /package/{lib → dist}/chat/keys.d.ts.map +0 -0
  299. /package/{lib → dist}/chat/signature.d.ts +0 -0
  300. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  301. /package/{lib → dist}/create/create.d.ts +0 -0
  302. /package/{lib → dist}/create/create.d.ts.map +0 -0
  303. /package/{lib → dist}/create/index.d.ts +0 -0
  304. /package/{lib → dist}/create/index.d.ts.map +0 -0
  305. /package/{lib → dist}/create/types.d.ts +0 -0
  306. /package/{lib → dist}/create/types.d.ts.map +0 -0
  307. /package/{lib → dist}/debug.d.ts +0 -0
  308. /package/{lib → dist}/footer/index.d.ts +0 -0
  309. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  310. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  311. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  312. /package/{lib → dist}/header/index.d.ts +0 -0
  313. /package/{lib → dist}/header/index.d.ts.map +0 -0
  314. /package/{lib → dist}/iconBase.d.ts +0 -0
  315. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  316. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  317. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  318. /package/{lib → dist}/icons/solid_logo.js +0 -0
  319. /package/{lib → dist}/log.d.ts +0 -0
  320. /package/{lib → dist}/login/login.d.ts +0 -0
  321. /package/{lib → dist}/login/login.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/index.d.ts +0 -0
  323. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  325. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  326. /package/{lib → dist}/matrix/types.d.ts +0 -0
  327. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  328. /package/{lib → dist}/media/index.d.ts +0 -0
  329. /package/{lib → dist}/media/index.d.ts.map +0 -0
  330. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  331. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  332. /package/{lib → dist}/pad.d.ts +0 -0
  333. /package/{lib → dist}/pad.d.ts.map +0 -0
  334. /package/{lib → dist}/participation.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts +0 -0
  336. /package/{lib → dist}/tabs.d.ts.map +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  341. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  342. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +0 -0
  343. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +0 -0
  344. /package/{lib → dist}/utils/label.d.ts +0 -0
  345. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  347. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  349. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  367. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  368. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  369. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -1,436 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.renderAutoComplete = renderAutoComplete;
9
- exports.setVisible = setVisible;
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
- var debug = _interopRequireWildcard(require("../../../debug"));
13
- var style = _interopRequireWildcard(require("../../../style"));
14
- var _styleConstants = _interopRequireDefault(require("../../../styleConstants"));
15
- var widgets = _interopRequireWildcard(require("../../../widgets"));
16
- var _solidLogic = require("solid-logic");
17
- var _publicData = require("./publicData");
18
- var _language = require("./language");
19
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
20
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
21
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
22
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /* Autocomplete Picker: Create and edit data using public data
23
- **
24
- ** As the data source is passed as a parameter, all kinds of APIa and query services can be used
25
- **
26
- */
27
- var AUTOCOMPLETE_THRESHOLD = 4; // don't check until this many characters typed
28
- var AUTOCOMPLETE_ROWS = 20; // 20?
29
- var AUTOCOMPLETE_ROWS_STRETCH = 40;
30
-
31
- /*
32
- Autocomplete happens in 6 phases:
33
- 1. The search string is too small to bother
34
- 2. The search string is big enough, and we have not loaded the array
35
- 3. The search string is big enough, and we have loaded array up to the limit
36
- Display them and wait for more user input
37
- 4. The search string is big enough, and we have loaded array NOT to the limit
38
- but including all matches. No more fetches.
39
- If user gets more precise, wait for them to select one - or reduce to a single
40
- 5. Single one selected. Optionally waiting for accept button to be pressed, OR can change string and go to 5 or 2
41
- 6. Locked with a value. Press 'edit' button to return to 5
42
- */
43
-
44
- function setVisible(element, visible) {
45
- element.style.display = visible ? '' : 'none'; // Do not use visibility, it holds the real estate
46
- }
47
-
48
- // The core of the autocomplete UI
49
- function renderAutoComplete(_x, _x2, _x3, _x4) {
50
- return _renderAutoComplete.apply(this, arguments);
51
- } // renderAutoComplete
52
- // ENDS
53
- function _renderAutoComplete() {
54
- _renderAutoComplete = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(dom, acOptions, decoration, callback) {
55
- var complain, finish, gotIt, _gotIt, acceptButtonHandler, _acceptButtonHandler, cancelButtonHandler, _cancelButtonHandler, nameMatch, clearList, inputEventHHandler, _inputEventHHandler, loadBindingsAndFilterByLanguage, _loadBindingsAndFilterByLanguage, filterByName, refreshList, _refreshList, initialize, targetClass, lastBindings, loadedEnough, inputEventHandlerLock, allDisplayed, lastFilter, numberOfRows, div, foundName, foundObject, table, head, cell, searchInput, size, searchInputStyle;
56
- return _regenerator["default"].wrap(function (_context8) {
57
- while (1) switch (_context8.prev = _context8.next) {
58
- case 0:
59
- initialize = function _initialize() {
60
- if (acOptions.currentObject) {
61
- // If have existing value then jump into the endgame of the autocomplete
62
- searchInput.value = acOptions.currentName ? acOptions.currentName.value : '??? wot no name for ' + acOptions.currentObject;
63
- foundName = acOptions.currentName;
64
- lastFilter = acOptions.currentName ? acOptions.currentName.value : undefined;
65
- foundObject = acOptions.currentObject;
66
- } else {
67
- searchInput.value = '';
68
- lastFilter = undefined;
69
- foundObject = undefined;
70
- }
71
- if (decoration.deleteButton) {
72
- setVisible(decoration.deleteButton, !!acOptions.currentObject);
73
- }
74
- if (decoration.acceptButton) {
75
- setVisible(decoration.acceptButton, false); // hide until input complete
76
- }
77
- if (decoration.editButton) {
78
- setVisible(decoration.editButton, true);
79
- }
80
- if (decoration.cancelButton) {
81
- setVisible(decoration.cancelButton, false); // only allow cancel when there is something to cancel
82
- }
83
- inputEventHandlerLock = false;
84
- clearList();
85
- };
86
- _refreshList = function _refreshList3() {
87
- _refreshList = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
88
- var rowForBinding, compareBindingsByName, languagePrefs, filter, slimmed, displayable, _iterator, _step, binding;
89
- return _regenerator["default"].wrap(function (_context7) {
90
- while (1) switch (_context7.prev = _context7.next) {
91
- case 0:
92
- compareBindingsByName = function _compareBindingsByNam(self, other) {
93
- return other.name.value > self.name.value ? 1 : other.name.name < self.name.value ? -1 : 0;
94
- };
95
- rowForBinding = function _rowForBinding(binding) {
96
- var row = dom.createElement('tr');
97
- style.setStyle(row, 'autocompleteRowStyle');
98
- row.setAttribute('style', 'padding: 0.3em;');
99
- row.style.color = allDisplayed ? '#080' : '#088'; // green means 'you should find it here'
100
- row.textContent = binding.name.value;
101
- var object = (0, _publicData.bindingToTerm)(binding.subject);
102
- var nameTerm = (0, _publicData.bindingToTerm)(binding.name);
103
- row.addEventListener('click', /*#__PURE__*/function () {
104
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(_event) {
105
- return _regenerator["default"].wrap(function (_context6) {
106
- while (1) switch (_context6.prev = _context6.next) {
107
- case 0:
108
- debug.log(' click row textContent: ' + row.textContent);
109
- debug.log(' click name: ' + nameTerm.value);
110
- if (object && nameTerm) {
111
- gotIt(object, nameTerm);
112
- }
113
- case 1:
114
- case "end":
115
- return _context6.stop();
116
- }
117
- }, _callee6);
118
- }));
119
- return function (_x10) {
120
- return _ref.apply(this, arguments);
121
- };
122
- }());
123
- return row;
124
- }; // console.log('@@ refreshList called')
125
- // rowForBinding
126
- if (!inputEventHandlerLock) {
127
- _context7.next = 1;
128
- break;
129
- }
130
- debug.log("Ignoring \"".concat(searchInput.value, "\" because of lock "));
131
- return _context7.abrupt("return");
132
- case 1:
133
- debug.log("Setting lock at \"".concat(searchInput.value, "\""));
134
- inputEventHandlerLock = true;
135
- _context7.next = 2;
136
- return (0, _language.getPreferredLanguages)();
137
- case 2:
138
- languagePrefs = _context7.sent;
139
- filter = searchInput.value.trim().toLowerCase();
140
- if (!(filter.length < AUTOCOMPLETE_THRESHOLD)) {
141
- _context7.next = 3;
142
- break;
143
- }
144
- // too small
145
- clearList();
146
- // candidatesLoaded = false
147
- numberOfRows = AUTOCOMPLETE_ROWS;
148
- _context7.next = 6;
149
- break;
150
- case 3:
151
- if (!(!allDisplayed || !lastFilter || !filter.startsWith(lastFilter))) {
152
- _context7.next = 5;
153
- break;
154
- }
155
- debug.log(" Querying database at \"".concat(filter, "\" cf last \"").concat(lastFilter, "\"."));
156
- _context7.next = 4;
157
- return loadBindingsAndFilterByLanguage(filter, languagePrefs);
158
- case 4:
159
- lastBindings = _context7.sent;
160
- case 5:
161
- // Trim table as search gets tighter:
162
- slimmed = filterByName(filter, lastBindings);
163
- if (loadedEnough && slimmed.length <= AUTOCOMPLETE_ROWS_STRETCH) {
164
- numberOfRows = slimmed.length; // stretch if it means we get all items
165
- }
166
- allDisplayed = loadedEnough && slimmed.length <= numberOfRows;
167
- debug.log(" Filter:\"".concat(filter, "\" lastBindings: ").concat(lastBindings.length, ", slimmed to ").concat(slimmed.length, "; rows: ").concat(numberOfRows, ", Enough? ").concat(loadedEnough, ", All displayed? ").concat(allDisplayed));
168
- displayable = slimmed.slice(0, numberOfRows);
169
- displayable.sort(compareBindingsByName);
170
- clearList();
171
- _iterator = _createForOfIteratorHelper(displayable);
172
- try {
173
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
174
- binding = _step.value;
175
- table.appendChild(rowForBinding(binding));
176
- }
177
- } catch (err) {
178
- _iterator.e(err);
179
- } finally {
180
- _iterator.f();
181
- }
182
- if (slimmed.length === 1) {
183
- gotIt((0, _publicData.bindingToTerm)(slimmed[0].subject), (0, _publicData.bindingToTerm)(slimmed[0].name));
184
- }
185
- case 6:
186
- // else
187
- inputEventHandlerLock = false;
188
- case 7:
189
- case "end":
190
- return _context7.stop();
191
- }
192
- }, _callee7);
193
- }));
194
- return _refreshList.apply(this, arguments);
195
- };
196
- refreshList = function _refreshList2() {
197
- return _refreshList.apply(this, arguments);
198
- };
199
- filterByName = function _filterByName(filter, bindings) {
200
- return bindings.filter(function (binding) {
201
- return nameMatch(filter, binding.name.value);
202
- });
203
- };
204
- _loadBindingsAndFilterByLanguage = function _loadBindingsAndFilte2() {
205
- _loadBindingsAndFilterByLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(filter, languagePrefs) {
206
- var bindings, slimmed, _t;
207
- return _regenerator["default"].wrap(function (_context5) {
208
- while (1) switch (_context5.prev = _context5.next) {
209
- case 0:
210
- _context5.prev = 0;
211
- _context5.next = 1;
212
- return (0, _publicData.queryPublicDataByName)(filter, targetClass, languagePrefs || _language.defaultPreferredLanguages, acOptions.queryParams);
213
- case 1:
214
- bindings = _context5.sent;
215
- _context5.next = 3;
216
- break;
217
- case 2:
218
- _context5.prev = 2;
219
- _t = _context5["catch"](0);
220
- complain('Error querying db of organizations: ' + _t);
221
- inputEventHandlerLock = false;
222
- return _context5.abrupt("return");
223
- case 3:
224
- loadedEnough = bindings.length < _publicData.AUTOCOMPLETE_LIMIT;
225
- if (loadedEnough) {
226
- lastFilter = filter;
227
- } else {
228
- lastFilter = undefined;
229
- }
230
- clearList();
231
- slimmed = (0, _language.filterByLanguage)(bindings, languagePrefs);
232
- return _context5.abrupt("return", slimmed);
233
- case 4:
234
- case "end":
235
- return _context5.stop();
236
- }
237
- }, _callee5, null, [[0, 2]]);
238
- }));
239
- return _loadBindingsAndFilterByLanguage.apply(this, arguments);
240
- };
241
- loadBindingsAndFilterByLanguage = function _loadBindingsAndFilte(_x0, _x1) {
242
- return _loadBindingsAndFilterByLanguage.apply(this, arguments);
243
- };
244
- _inputEventHHandler = function _inputEventHHandler3() {
245
- _inputEventHHandler = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(_event) {
246
- return _regenerator["default"].wrap(function (_context4) {
247
- while (1) switch (_context4.prev = _context4.next) {
248
- case 0:
249
- // console.log('@@ AC inputEventHHandler called')
250
- setVisible(decoration.cancelButton, true); // only allow cancel when there is something to cancel
251
- refreshList(); /// @@ debounqce does not work with jest
252
- /*
253
- if (runningTimeout) {
254
- clearTimeout(runningTimeout)
255
- }
256
- runningTimeout = setTimeout(refreshList, AUTOCOMPLETE_DEBOUNCE_MS)
257
- */
258
- case 1:
259
- case "end":
260
- return _context4.stop();
261
- }
262
- }, _callee4);
263
- }));
264
- return _inputEventHHandler.apply(this, arguments);
265
- };
266
- inputEventHHandler = function _inputEventHHandler2(_x9) {
267
- return _inputEventHHandler.apply(this, arguments);
268
- };
269
- clearList = function _clearList() {
270
- while (table.children.length > 1) {
271
- table.removeChild(table.lastChild);
272
- }
273
- };
274
- nameMatch = function _nameMatch(filter, candidate) {
275
- var parts = filter.split(' '); // Each name part must be somewhere
276
- for (var j = 0; j < parts.length; j++) {
277
- var word = parts[j];
278
- if (candidate.toLowerCase().indexOf(word) < 0) return false;
279
- }
280
- return true;
281
- };
282
- _cancelButtonHandler = function _cancelButtonHandler3() {
283
- _cancelButtonHandler = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_event) {
284
- return _regenerator["default"].wrap(function (_context3) {
285
- while (1) switch (_context3.prev = _context3.next) {
286
- case 0:
287
- debug.log('Auto complete: Canceled by user! ');
288
- if (acOptions.permanent) {
289
- initialize();
290
- } else {
291
- if (div.parentNode) {
292
- div.parentNode.removeChild(div);
293
- }
294
- }
295
- case 1:
296
- case "end":
297
- return _context3.stop();
298
- }
299
- }, _callee3);
300
- }));
301
- return _cancelButtonHandler.apply(this, arguments);
302
- };
303
- cancelButtonHandler = function _cancelButtonHandler2(_x8) {
304
- return _cancelButtonHandler.apply(this, arguments);
305
- };
306
- _acceptButtonHandler = function _acceptButtonHandler3() {
307
- _acceptButtonHandler = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(_event) {
308
- return _regenerator["default"].wrap(function (_context2) {
309
- while (1) switch (_context2.prev = _context2.next) {
310
- case 0:
311
- if (foundName && searchInput.value === foundName.value) {
312
- // still
313
- finish(foundObject, foundName);
314
- }
315
- case 1:
316
- case "end":
317
- return _context2.stop();
318
- }
319
- }, _callee2);
320
- }));
321
- return _acceptButtonHandler.apply(this, arguments);
322
- };
323
- acceptButtonHandler = function _acceptButtonHandler2(_x7) {
324
- return _acceptButtonHandler.apply(this, arguments);
325
- };
326
- _gotIt = function _gotIt3() {
327
- _gotIt = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(object, name) {
328
- return _regenerator["default"].wrap(function (_context) {
329
- while (1) switch (_context.prev = _context.next) {
330
- case 0:
331
- if (!decoration.acceptButton) {
332
- _context.next = 1;
333
- break;
334
- }
335
- decoration.acceptButton.disbaled = false;
336
- setVisible(decoration.acceptButton, true); // now wait for confirmation
337
- searchInput.value = name.value; // complete it
338
- foundName = name;
339
- foundObject = object;
340
- debug.log('Auto complete: name: ' + name);
341
- debug.log('Auto complete: waiting for accept ' + object);
342
- clearList(); // This may be an option - nice and clean but does not allow change of mind
343
- return _context.abrupt("return");
344
- case 1:
345
- setVisible(decoration.cancelButton, true);
346
- finish(object, name);
347
- case 2:
348
- case "end":
349
- return _context.stop();
350
- }
351
- }, _callee);
352
- }));
353
- return _gotIt.apply(this, arguments);
354
- };
355
- gotIt = function _gotIt2(_x5, _x6) {
356
- return _gotIt.apply(this, arguments);
357
- };
358
- finish = function _finish(object, name) {
359
- debug.log('Auto complete: finish! ' + object);
360
- if (object.termType === 'Literal' && acOptions.queryParams.objectURIBase) {
361
- object = _solidLogic.store.sym(acOptions.queryParams.objectURIBase.value + object.value);
362
- }
363
- // remove(decoration.cancelButton)
364
- // remove(decoration.acceptButton)
365
- // remove(div)
366
- clearList();
367
- callback(object, name);
368
- };
369
- complain = function _complain(message) {
370
- var errorRow = table.appendChild(dom.createElement('tr'));
371
- debug.log(message);
372
- var err = new Error(message);
373
- errorRow.appendChild(widgets.errorMessageBlock(dom, err, 'pink'));
374
- // errorMessageBlock will log the stack to the console
375
- style.setStyle(errorRow, 'autocompleteRowStyle');
376
- errorRow.style.padding = '1em';
377
- }; // refreshList
378
- // initialiize
379
- // const queryParams: QueryParameters = acOptions.queryParams
380
- targetClass = acOptions.targetClass;
381
- if (targetClass) {
382
- _context8.next = 1;
383
- break;
384
- }
385
- throw new Error('renderAutoComplete: missing targetClass');
386
- case 1:
387
- // console.log(`renderAutoComplete: targetClass=${targetClass}` )
388
- if (decoration.acceptButton) {
389
- decoration.acceptButton.addEventListener('click', acceptButtonHandler, false);
390
- }
391
- if (decoration.cancelButton) {
392
- decoration.cancelButton.addEventListener('click', cancelButtonHandler, false);
393
- }
394
-
395
- // var candidatesLoaded = false
396
- loadedEnough = false;
397
- inputEventHandlerLock = false;
398
- allDisplayed = false;
399
- lastFilter = undefined;
400
- numberOfRows = AUTOCOMPLETE_ROWS; // this gets slimmed down
401
- div = dom.createElement('div');
402
- foundName = undefined; // once found accepted string must match this
403
- foundObject = undefined;
404
- table = div.appendChild(dom.createElement('table'));
405
- table.setAttribute('data-testid', 'autocomplete-table');
406
- table.setAttribute('style', 'max-width: 30em; margin: 0.5em;');
407
- head = table.appendChild(dom.createElement('tr'));
408
- style.setStyle(head, 'autocompleteRowStyle'); // textInputStyle or
409
- cell = head.appendChild(dom.createElement('td'));
410
- searchInput = cell.appendChild(dom.createElement('input'));
411
- searchInput.setAttribute('type', 'text');
412
- initialize();
413
- size = acOptions.size || _styleConstants["default"].textInputSize || 20;
414
- searchInput.setAttribute('size', size);
415
- searchInput.setAttribute('data-testid', 'autocomplete-input');
416
- searchInputStyle = style.textInputStyle ||
417
- // searchInputStyle ?
418
- 'border: 0.1em solid #444; border-radius: 0.5em; width: 100%; font-size: 100%; padding: 0.1em 0.6em'; // @
419
- searchInput.setAttribute('style', searchInputStyle);
420
- searchInput.addEventListener('keyup', function (event) {
421
- if (event.keyCode === 13) {
422
- acceptButtonHandler(event);
423
- }
424
- }, false);
425
- searchInput.addEventListener('input', inputEventHHandler);
426
- // console.log('@@ renderAutoComplete returns ' + div.innerHTML)
427
- return _context8.abrupt("return", div);
428
- case 2:
429
- case "end":
430
- return _context8.stop();
431
- }
432
- }, _callee8);
433
- }));
434
- return _renderAutoComplete.apply(this, arguments);
435
- }
436
- //# sourceMappingURL=autocompletePicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocompletePicker.js","names":["debug","_interopRequireWildcard","require","style","_styleConstants","_interopRequireDefault","widgets","_solidLogic","_publicData","_language","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","AUTOCOMPLETE_THRESHOLD","AUTOCOMPLETE_ROWS","AUTOCOMPLETE_ROWS_STRETCH","setVisible","element","visible","display","renderAutoComplete","_x","_x2","_x3","_x4","_renderAutoComplete","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee8","dom","acOptions","decoration","callback","complain","finish","gotIt","_gotIt","acceptButtonHandler","_acceptButtonHandler","cancelButtonHandler","_cancelButtonHandler","nameMatch","clearList","inputEventHHandler","_inputEventHHandler","loadBindingsAndFilterByLanguage","_loadBindingsAndFilterByLanguage","filterByName","refreshList","_refreshList","initialize","targetClass","lastBindings","loadedEnough","inputEventHandlerLock","allDisplayed","lastFilter","numberOfRows","div","foundName","foundObject","table","head","cell","searchInput","size","searchInputStyle","wrap","_context8","prev","_initialize","currentObject","currentName","undefined","deleteButton","acceptButton","editButton","cancelButton","_refreshList3","_callee7","rowForBinding","compareBindingsByName","languagePrefs","filter","slimmed","displayable","_iterator","_step","binding","_context7","_compareBindingsByNam","self","other","_rowForBinding","row","createElement","setStyle","setAttribute","color","textContent","object","bindingToTerm","subject","nameTerm","addEventListener","_ref","_callee6","_event","_context6","log","stop","_x10","concat","abrupt","getPreferredLanguages","sent","trim","toLowerCase","startsWith","sort","appendChild","err","_refreshList2","_filterByName","bindings","_loadBindingsAndFilte2","_callee5","_t","_context5","queryPublicDataByName","defaultPreferredLanguages","queryParams","AUTOCOMPLETE_LIMIT","filterByLanguage","_loadBindingsAndFilte","_x0","_x1","_inputEventHHandler3","_callee4","_context4","_inputEventHHandler2","_x9","_clearList","children","removeChild","lastChild","_nameMatch","candidate","parts","split","j","word","indexOf","_cancelButtonHandler3","_callee3","_context3","permanent","parentNode","_cancelButtonHandler2","_x8","_acceptButtonHandler3","_callee2","_context2","_acceptButtonHandler2","_x7","_gotIt3","_callee","_context","disbaled","_gotIt2","_x5","_x6","_finish","termType","objectURIBase","store","sym","_complain","message","errorRow","Error","errorMessageBlock","padding","styleConstants","textInputSize","textInputStyle","event","keyCode"],"sources":["../../../../src/widgets/forms/autocomplete/autocompletePicker.ts"],"sourcesContent":["/* Autocomplete Picker: Create and edit data using public data\n**\n** As the data source is passed as a parameter, all kinds of APIa and query services can be used\n**\n*/\nimport * as debug from '../../../debug'\nimport * as style from '../../../style'\nimport styleConstants from '../../../styleConstants'\nimport * as widgets from '../../../widgets'\nimport { store } from 'solid-logic'\nimport { NamedNode, Literal } from 'rdflib'\nimport { queryPublicDataByName, bindingToTerm, AUTOCOMPLETE_LIMIT, QueryParameters } from './publicData'\nimport { filterByLanguage, getPreferredLanguages, defaultPreferredLanguages } from './language'\n\nconst AUTOCOMPLETE_THRESHOLD = 4 // don't check until this many characters typed\nconst AUTOCOMPLETE_ROWS = 20 // 20?\nconst AUTOCOMPLETE_ROWS_STRETCH = 40\n\n/*\nAutocomplete happens in 6 phases:\n 1. The search string is too small to bother\n 2. The search string is big enough, and we have not loaded the array\n 3. The search string is big enough, and we have loaded array up to the limit\n Display them and wait for more user input\n 4. The search string is big enough, and we have loaded array NOT to the limit\n but including all matches. No more fetches.\n If user gets more precise, wait for them to select one - or reduce to a single\n 5. Single one selected. Optionally waiting for accept button to be pressed, OR can change string and go to 5 or 2\n 6. Locked with a value. Press 'edit' button to return to 5\n*/\n\nexport type AutocompleteDecoration = {\n acceptButton?: HTMLElement,\n cancelButton: HTMLElement, // Must have cancel button\n editButton?: HTMLElement,\n deleteButton?: HTMLElement\n}\nexport type AutocompleteOptions = {\n targetClass?: NamedNode,\n currentObject?: NamedNode,\n currentName?: Literal,\n queryParams: QueryParameters,\n size?: number,\n permanent?: boolean\n}\n\ninterface Callback1 {\n (_subject: NamedNode, _name: Literal): any;\n}\n\nexport function setVisible (element:HTMLElement, visible:boolean) {\n element.style.display = visible ? '' : 'none' // Do not use visibility, it holds the real estate\n}\n\n// The core of the autocomplete UI\nexport async function renderAutoComplete (dom: HTMLDocument,\n acOptions:AutocompleteOptions,\n decoration: AutocompleteDecoration,\n callback: Callback1) {\n function complain (message) {\n const errorRow = table.appendChild(dom.createElement('tr'))\n debug.log(message)\n const err = new Error(message)\n errorRow.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n // errorMessageBlock will log the stack to the console\n style.setStyle(errorRow, 'autocompleteRowStyle')\n errorRow.style.padding = '1em'\n }\n\n function finish (object, name) {\n debug.log('Auto complete: finish! ' + object)\n if (object.termType === 'Literal' && acOptions.queryParams.objectURIBase) {\n object = store.sym(acOptions.queryParams.objectURIBase.value + object.value)\n }\n // remove(decoration.cancelButton)\n // remove(decoration.acceptButton)\n // remove(div)\n clearList()\n callback(object, name)\n }\n async function gotIt (object:NamedNode | Literal, name: Literal) {\n if (decoration.acceptButton) {\n (decoration.acceptButton as any).disbaled = false\n setVisible(decoration.acceptButton, true) // now wait for confirmation\n searchInput.value = name.value // complete it\n foundName = name\n foundObject = object\n debug.log('Auto complete: name: ' + name)\n debug.log('Auto complete: waiting for accept ' + object)\n clearList() // This may be an option - nice and clean but does not allow change of mind\n return\n }\n setVisible(decoration.cancelButton, true)\n finish(object, name)\n }\n\n async function acceptButtonHandler (_event) {\n if (foundName && searchInput.value === foundName.value) { // still\n finish(foundObject, foundName)\n }\n }\n\n async function cancelButtonHandler (_event) {\n debug.log('Auto complete: Canceled by user! ')\n if (acOptions.permanent) {\n initialize()\n } else {\n if (div.parentNode) {\n div.parentNode.removeChild(div)\n }\n }\n }\n\n function nameMatch (filter:string, candidate: string):boolean {\n const parts = filter.split(' ') // Each name part must be somewhere\n for (let j = 0; j < parts.length; j++) {\n const word = parts[j]\n if (candidate.toLowerCase().indexOf(word) < 0) return false\n }\n return true\n }\n\n function clearList () {\n while (table.children.length > 1) {\n table.removeChild(table.lastChild as Node)\n }\n }\n\n async function inputEventHHandler (_event) {\n // console.log('@@ AC inputEventHHandler called')\n setVisible(decoration.cancelButton, true) // only allow cancel when there is something to cancel\n refreshList() /// @@ debounqce does not work with jest\n /*\n if (runningTimeout) {\n clearTimeout(runningTimeout)\n }\n runningTimeout = setTimeout(refreshList, AUTOCOMPLETE_DEBOUNCE_MS)\n */\n }\n\n async function loadBindingsAndFilterByLanguage (filter, languagePrefs) {\n // console.log('@@ loadBindingsAndFilterByLanguage ' + filter)\n let bindings\n try {\n bindings = await queryPublicDataByName(filter, targetClass as any,\n languagePrefs || defaultPreferredLanguages, acOptions.queryParams)\n } catch (err) {\n complain('Error querying db of organizations: ' + err)\n inputEventHandlerLock = false\n return\n }\n loadedEnough = bindings.length < AUTOCOMPLETE_LIMIT\n if (loadedEnough) {\n lastFilter = filter\n } else {\n lastFilter = undefined\n }\n clearList()\n const slimmed = filterByLanguage(bindings, languagePrefs)\n return slimmed\n }\n\n function filterByName (filter, bindings) {\n return bindings.filter(binding => nameMatch(filter, binding.name.value))\n }\n\n async function refreshList () {\n // console.log('@@ refreshList called')\n function rowForBinding (binding) {\n const row = dom.createElement('tr')\n style.setStyle(row, 'autocompleteRowStyle')\n row.setAttribute('style', 'padding: 0.3em;')\n row.style.color = allDisplayed ? '#080' : '#088' // green means 'you should find it here'\n row.textContent = binding.name.value\n const object = bindingToTerm(binding.subject)\n const nameTerm = bindingToTerm(binding.name)\n row.addEventListener('click', async _event => {\n debug.log(' click row textContent: ' + row.textContent)\n debug.log(' click name: ' + nameTerm.value)\n if (object && nameTerm) {\n gotIt(object, nameTerm as Literal)\n }\n })\n return row\n } // rowForBinding\n function compareBindingsByName (self, other) {\n return other.name.value > self.name.value\n ? 1\n : other.name.name < self.name.value ? -1 : 0\n }\n\n if (inputEventHandlerLock) {\n debug.log(`Ignoring \"${searchInput.value}\" because of lock `)\n return\n }\n debug.log(`Setting lock at \"${searchInput.value}\"`)\n\n inputEventHandlerLock = true\n const languagePrefs = await getPreferredLanguages()\n const filter = searchInput.value.trim().toLowerCase()\n if (filter.length < AUTOCOMPLETE_THRESHOLD) { // too small\n clearList()\n // candidatesLoaded = false\n numberOfRows = AUTOCOMPLETE_ROWS\n } else {\n if (!allDisplayed || !lastFilter || !filter.startsWith(lastFilter)) {\n debug.log(` Querying database at \"${filter}\" cf last \"${lastFilter}\".`)\n lastBindings = await loadBindingsAndFilterByLanguage(filter, languagePrefs) // freesh query\n }\n // Trim table as search gets tighter:\n const slimmed = filterByName(filter, lastBindings)\n if (loadedEnough && slimmed.length <= AUTOCOMPLETE_ROWS_STRETCH) {\n numberOfRows = slimmed.length // stretch if it means we get all items\n }\n allDisplayed = loadedEnough && slimmed.length <= numberOfRows\n debug.log(` Filter:\"${filter}\" lastBindings: ${lastBindings.length}, slimmed to ${slimmed.length}; rows: ${numberOfRows}, Enough? ${loadedEnough}, All displayed? ${allDisplayed}`)\n\n const displayable = slimmed.slice(0, numberOfRows)\n\n displayable.sort(compareBindingsByName)\n clearList()\n for (const binding of displayable) {\n table.appendChild(rowForBinding(binding))\n }\n if (slimmed.length === 1) {\n gotIt(bindingToTerm(slimmed[0].subject), bindingToTerm(slimmed[0].name) as Literal)\n }\n } // else\n inputEventHandlerLock = false\n } // refreshList\n\n function initialize () {\n if (acOptions.currentObject) { // If have existing value then jump into the endgame of the autocomplete\n searchInput.value = acOptions.currentName ? acOptions.currentName.value : '??? wot no name for ' + acOptions.currentObject\n foundName = acOptions.currentName\n lastFilter = acOptions.currentName ? acOptions.currentName.value : undefined\n foundObject = acOptions.currentObject\n } else {\n searchInput.value = ''\n lastFilter = undefined\n foundObject = undefined\n }\n if (decoration.deleteButton) {\n setVisible(decoration.deleteButton, !!acOptions.currentObject)\n }\n\n if (decoration.acceptButton) {\n setVisible(decoration.acceptButton, false) // hide until input complete\n }\n if (decoration.editButton) {\n setVisible(decoration.editButton, true)\n }\n if (decoration.cancelButton) {\n setVisible(decoration.cancelButton, false) // only allow cancel when there is something to cancel\n }\n inputEventHandlerLock = false\n clearList()\n } // initialiize\n\n // const queryParams: QueryParameters = acOptions.queryParams\n const targetClass = acOptions.targetClass\n if (!targetClass) throw new Error('renderAutoComplete: missing targetClass')\n // console.log(`renderAutoComplete: targetClass=${targetClass}` )\n if (decoration.acceptButton) {\n decoration.acceptButton.addEventListener('click', acceptButtonHandler, false)\n }\n if (decoration.cancelButton) {\n decoration.cancelButton.addEventListener('click', cancelButtonHandler, false)\n }\n\n // var candidatesLoaded = false\n let lastBindings\n let loadedEnough = false\n let inputEventHandlerLock = false\n let allDisplayed = false\n let lastFilter = undefined as (string | undefined)\n let numberOfRows = AUTOCOMPLETE_ROWS // this gets slimmed down\n const div = dom.createElement('div')\n let foundName = undefined as (Literal | undefined)// once found accepted string must match this\n let foundObject = undefined as (NamedNode | Literal | undefined)\n const table = div.appendChild(dom.createElement('table'))\n table.setAttribute('data-testid', 'autocomplete-table')\n table.setAttribute('style', 'max-width: 30em; margin: 0.5em;')\n const head = table.appendChild(dom.createElement('tr'))\n style.setStyle(head, 'autocompleteRowStyle') // textInputStyle or\n const cell = head.appendChild(dom.createElement('td'))\n const searchInput = cell.appendChild(dom.createElement('input'))\n searchInput.setAttribute('type', 'text')\n\n initialize()\n\n const size = acOptions.size || styleConstants.textInputSize || 20\n searchInput.setAttribute('size', size)\n searchInput.setAttribute('data-testid', 'autocomplete-input')\n\n const searchInputStyle = style.textInputStyle || // searchInputStyle ?\n 'border: 0.1em solid #444; border-radius: 0.5em; width: 100%; font-size: 100%; padding: 0.1em 0.6em' // @\n searchInput.setAttribute('style', searchInputStyle)\n searchInput.addEventListener('keyup', function (event) {\n if (event.keyCode === 13) {\n acceptButtonHandler(event)\n }\n }, false)\n\n searchInput.addEventListener('input', inputEventHHandler)\n // console.log('@@ renderAutoComplete returns ' + div.innerHTML)\n return div\n} // renderAutoComplete\n\n// ENDS\n"],"mappings":"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","ignoreList":[]}