solid-ui 2.4.29 → 2.4.30-00b22a41

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 (261) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/670.solid-ui.min.js +0 -0
  4. package/dist/805.solid-ui.min.js +1 -1
  5. package/dist/805.solid-ui.min.js.LICENSE.txt +0 -0
  6. package/dist/805.solid-ui.min.js.map +1 -1
  7. package/dist/_2b19.solid-ui.js +0 -0
  8. package/dist/_2b19.solid-ui.js.map +1 -1
  9. package/dist/index.html +0 -0
  10. package/dist/solid-ui.js +3522 -1975
  11. package/dist/solid-ui.js.map +1 -1
  12. package/dist/solid-ui.min.js +1 -1
  13. package/dist/solid-ui.min.js.LICENSE.txt +0 -0
  14. package/dist/solid-ui.min.js.map +1 -1
  15. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +191 -80
  16. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
  17. package/lib/acl/access-controller.d.ts +0 -0
  18. package/lib/acl/access-controller.d.ts.map +0 -0
  19. package/lib/acl/access-controller.js +0 -0
  20. package/lib/acl/access-controller.js.map +0 -0
  21. package/lib/acl/access-groups.d.ts +0 -0
  22. package/lib/acl/access-groups.d.ts.map +0 -0
  23. package/lib/acl/access-groups.js +0 -2
  24. package/lib/acl/access-groups.js.map +1 -1
  25. package/lib/acl/acl-control.d.ts +0 -0
  26. package/lib/acl/acl-control.d.ts.map +0 -0
  27. package/lib/acl/acl-control.js +0 -0
  28. package/lib/acl/acl-control.js.map +0 -0
  29. package/lib/acl/acl.d.ts +0 -0
  30. package/lib/acl/acl.d.ts.map +0 -0
  31. package/lib/acl/acl.js +0 -2
  32. package/lib/acl/acl.js.map +1 -1
  33. package/lib/acl/add-agent-buttons.d.ts +0 -0
  34. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  35. package/lib/acl/add-agent-buttons.js +0 -0
  36. package/lib/acl/add-agent-buttons.js.map +0 -0
  37. package/lib/acl/index.d.ts +0 -0
  38. package/lib/acl/index.d.ts.map +0 -0
  39. package/lib/acl/index.js +0 -0
  40. package/lib/acl/index.js.map +0 -0
  41. package/lib/acl/types.d.ts +0 -0
  42. package/lib/acl/types.d.ts.map +0 -0
  43. package/lib/acl/types.js +0 -0
  44. package/lib/acl/types.js.map +0 -0
  45. package/lib/chat/bookmarks.js +0 -0
  46. package/lib/chat/bookmarks.js.map +0 -0
  47. package/lib/chat/chatLogic.js +6 -4
  48. package/lib/chat/chatLogic.js.map +1 -1
  49. package/lib/chat/dateFolder.js +0 -0
  50. package/lib/chat/dateFolder.js.map +0 -0
  51. package/lib/chat/infinite.js +0 -5
  52. package/lib/chat/infinite.js.map +1 -1
  53. package/lib/chat/keys.d.ts +0 -0
  54. package/lib/chat/keys.d.ts.map +0 -0
  55. package/lib/chat/keys.js +0 -0
  56. package/lib/chat/keys.js.map +0 -0
  57. package/lib/chat/message.js +3 -7
  58. package/lib/chat/message.js.map +1 -1
  59. package/lib/chat/messageTools.js +1 -0
  60. package/lib/chat/messageTools.js.map +1 -1
  61. package/lib/chat/signature.d.ts +0 -0
  62. package/lib/chat/signature.d.ts.map +0 -0
  63. package/lib/chat/signature.js +0 -0
  64. package/lib/chat/signature.js.map +0 -0
  65. package/lib/chat/thread.js +0 -4
  66. package/lib/chat/thread.js.map +1 -1
  67. package/lib/create/create.d.ts +0 -0
  68. package/lib/create/create.d.ts.map +0 -0
  69. package/lib/create/create.js +0 -2
  70. package/lib/create/create.js.map +1 -1
  71. package/lib/create/index.d.ts +0 -0
  72. package/lib/create/index.d.ts.map +0 -0
  73. package/lib/create/index.js +0 -0
  74. package/lib/create/index.js.map +0 -0
  75. package/lib/create/types.d.ts +0 -0
  76. package/lib/create/types.d.ts.map +0 -0
  77. package/lib/create/types.js +0 -0
  78. package/lib/create/types.js.map +0 -0
  79. package/lib/debug.d.ts +0 -0
  80. package/lib/debug.d.ts.map +0 -0
  81. package/lib/debug.js +0 -0
  82. package/lib/debug.js.map +0 -0
  83. package/lib/folders.js +0 -0
  84. package/lib/folders.js.map +0 -0
  85. package/lib/footer/index.d.ts +0 -0
  86. package/lib/footer/index.d.ts.map +0 -0
  87. package/lib/footer/index.js +0 -0
  88. package/lib/footer/index.js.map +0 -0
  89. package/lib/header/empty-profile.d.ts +0 -0
  90. package/lib/header/empty-profile.d.ts.map +0 -0
  91. package/lib/header/empty-profile.js +0 -0
  92. package/lib/header/empty-profile.js.map +0 -0
  93. package/lib/header/index.d.ts +0 -0
  94. package/lib/header/index.d.ts.map +0 -0
  95. package/lib/header/index.js +0 -0
  96. package/lib/header/index.js.map +0 -0
  97. package/lib/iconBase.d.ts +0 -0
  98. package/lib/iconBase.d.ts.map +0 -0
  99. package/lib/iconBase.js +0 -0
  100. package/lib/iconBase.js.map +0 -0
  101. package/lib/icons/solid_logo.d.ts +0 -0
  102. package/lib/icons/solid_logo.d.ts.map +0 -0
  103. package/lib/icons/solid_logo.js +0 -0
  104. package/lib/icons/solid_logo.js.map +0 -0
  105. package/lib/index.d.ts +0 -0
  106. package/lib/index.d.ts.map +0 -0
  107. package/lib/index.js +0 -0
  108. package/lib/index.js.map +0 -0
  109. package/lib/log.d.ts +0 -0
  110. package/lib/log.d.ts.map +0 -0
  111. package/lib/log.js +0 -0
  112. package/lib/log.js.map +0 -0
  113. package/lib/login/login.d.ts +0 -0
  114. package/lib/login/login.d.ts.map +1 -1
  115. package/lib/login/login.js +37 -42
  116. package/lib/login/login.js.map +1 -1
  117. package/lib/matrix/index.d.ts +0 -0
  118. package/lib/matrix/index.d.ts.map +0 -0
  119. package/lib/matrix/index.js +0 -0
  120. package/lib/matrix/index.js.map +0 -0
  121. package/lib/matrix/matrix.d.ts +0 -0
  122. package/lib/matrix/matrix.d.ts.map +0 -0
  123. package/lib/matrix/matrix.js +0 -2
  124. package/lib/matrix/matrix.js.map +1 -1
  125. package/lib/matrix/types.d.ts +0 -0
  126. package/lib/matrix/types.d.ts.map +0 -0
  127. package/lib/matrix/types.js +0 -0
  128. package/lib/matrix/types.js.map +0 -0
  129. package/lib/media/index.d.ts +0 -0
  130. package/lib/media/index.d.ts.map +0 -0
  131. package/lib/media/index.js +0 -0
  132. package/lib/media/index.js.map +0 -0
  133. package/lib/media/media-capture.d.ts +2 -2
  134. package/lib/media/media-capture.d.ts.map +1 -1
  135. package/lib/media/media-capture.js +11 -18
  136. package/lib/media/media-capture.js.map +1 -1
  137. package/lib/messageArea.js +0 -4
  138. package/lib/messageArea.js.map +1 -1
  139. package/lib/noun_Camera_1618446_000000.js +0 -0
  140. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  141. package/lib/ns.js +0 -0
  142. package/lib/ns.js.map +0 -0
  143. package/lib/pad.d.ts +2 -2
  144. package/lib/pad.d.ts.map +1 -1
  145. package/lib/pad.js +18 -45
  146. package/lib/pad.js.map +1 -1
  147. package/lib/participation.d.ts +7 -7
  148. package/lib/participation.d.ts.map +1 -1
  149. package/lib/participation.js +27 -28
  150. package/lib/participation.js.map +1 -1
  151. package/lib/preferences.js +0 -0
  152. package/lib/preferences.js.map +0 -0
  153. package/lib/signup/config-default.js +0 -0
  154. package/lib/signup/config-default.js.map +0 -0
  155. package/lib/signup/signup.js +0 -0
  156. package/lib/signup/signup.js.map +0 -0
  157. package/lib/stories/decorators.js +0 -0
  158. package/lib/stories/decorators.js.map +0 -0
  159. package/lib/style.js +93 -85
  160. package/lib/style.js.map +1 -1
  161. package/lib/styleConstants.js +35 -0
  162. package/lib/styleConstants.js.map +1 -0
  163. package/lib/style_multiSelect.js +0 -0
  164. package/lib/style_multiSelect.js.map +0 -0
  165. package/lib/table.js +0 -4
  166. package/lib/table.js.map +1 -1
  167. package/lib/tabs.d.ts +0 -125
  168. package/lib/tabs.d.ts.map +1 -1
  169. package/lib/tabs.js +15 -10
  170. package/lib/tabs.js.map +1 -1
  171. package/lib/typings.d.js +0 -0
  172. package/lib/typings.d.js.map +0 -0
  173. package/lib/utils/headerFooterHelpers.d.ts +0 -0
  174. package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
  175. package/lib/utils/headerFooterHelpers.js +0 -0
  176. package/lib/utils/headerFooterHelpers.js.map +0 -0
  177. package/lib/utils/index.js +0 -7
  178. package/lib/utils/index.js.map +1 -1
  179. package/lib/utils/keyHelpers/accessData.d.ts +0 -0
  180. package/lib/utils/keyHelpers/accessData.d.ts.map +0 -0
  181. package/lib/utils/keyHelpers/accessData.js +0 -0
  182. package/lib/utils/keyHelpers/accessData.js.map +0 -0
  183. package/lib/utils/keyHelpers/acl.d.ts +0 -0
  184. package/lib/utils/keyHelpers/acl.d.ts.map +0 -0
  185. package/lib/utils/keyHelpers/acl.js +0 -0
  186. package/lib/utils/keyHelpers/acl.js.map +0 -0
  187. package/lib/utils/label.d.ts +0 -0
  188. package/lib/utils/label.d.ts.map +0 -0
  189. package/lib/utils/label.js +0 -0
  190. package/lib/utils/label.js.map +0 -0
  191. package/lib/versionInfo.d.ts +0 -0
  192. package/lib/versionInfo.d.ts.map +0 -0
  193. package/lib/versionInfo.js +14 -14
  194. package/lib/versionInfo.js.map +1 -1
  195. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  196. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  197. package/lib/widgets/buttons/iconLinks.js +0 -0
  198. package/lib/widgets/buttons/iconLinks.js.map +0 -0
  199. package/lib/widgets/buttons.d.ts +0 -0
  200. package/lib/widgets/buttons.d.ts.map +0 -0
  201. package/lib/widgets/buttons.js +2 -10
  202. package/lib/widgets/buttons.js.map +1 -1
  203. package/lib/widgets/dragAndDrop.js +11 -20
  204. package/lib/widgets/dragAndDrop.js.map +1 -1
  205. package/lib/widgets/error.d.ts +0 -0
  206. package/lib/widgets/error.d.ts.map +1 -1
  207. package/lib/widgets/error.js +9 -2
  208. package/lib/widgets/error.js.map +1 -1
  209. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  210. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  211. package/lib/widgets/forms/autocomplete/autocompleteBar.js +5 -5
  212. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -0
  213. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  214. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  215. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -1
  216. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  217. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  218. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  219. package/lib/widgets/forms/autocomplete/autocompletePicker.js +6 -8
  220. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  221. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  222. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  223. package/lib/widgets/forms/autocomplete/language.js +0 -0
  224. package/lib/widgets/forms/autocomplete/language.js.map +0 -0
  225. package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
  226. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  227. package/lib/widgets/forms/autocomplete/publicData.js +0 -3
  228. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  229. package/lib/widgets/forms/basic.d.ts +0 -0
  230. package/lib/widgets/forms/basic.d.ts.map +1 -1
  231. package/lib/widgets/forms/basic.js +5 -5
  232. package/lib/widgets/forms/basic.js.map +1 -1
  233. package/lib/widgets/forms/comment.d.ts +0 -0
  234. package/lib/widgets/forms/comment.d.ts.map +0 -0
  235. package/lib/widgets/forms/comment.js +0 -0
  236. package/lib/widgets/forms/comment.js.map +0 -0
  237. package/lib/widgets/forms/fieldFunction.d.ts +0 -0
  238. package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
  239. package/lib/widgets/forms/fieldFunction.js +0 -0
  240. package/lib/widgets/forms/fieldFunction.js.map +0 -0
  241. package/lib/widgets/forms/fieldParams.d.ts +0 -0
  242. package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
  243. package/lib/widgets/forms/fieldParams.js +16 -16
  244. package/lib/widgets/forms/fieldParams.js.map +1 -1
  245. package/lib/widgets/forms/formStyle.d.ts +0 -0
  246. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  247. package/lib/widgets/forms/formStyle.js +0 -0
  248. package/lib/widgets/forms/formStyle.js.map +0 -0
  249. package/lib/widgets/forms.js +12 -30
  250. package/lib/widgets/forms.js.map +1 -1
  251. package/lib/widgets/index.js +0 -0
  252. package/lib/widgets/index.js.map +0 -0
  253. package/lib/widgets/multiSelect.js +0 -0
  254. package/lib/widgets/multiSelect.js.map +0 -0
  255. package/lib/widgets/peoplePicker.js +0 -1
  256. package/lib/widgets/peoplePicker.js.map +1 -1
  257. package/lib/widgets/widgetHelpers.d.ts +0 -0
  258. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  259. package/lib/widgets/widgetHelpers.js +0 -0
  260. package/lib/widgets/widgetHelpers.js.map +0 -0
  261. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","names":["_rdflib","require","_solidLogic","ns","_interopRequireWildcard","_style","_utils","_error","_fieldFunction","_fieldParams","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","store","solidLogicSingleton","renderNameValuePair","dom","kb","box","form","label","style","display","flexDirection","lhs","appendChild","createElement","width","formFieldNameBoxWidth","rhs","setAttribute","formFieldNameBoxStyle","createTextNode","any","ui","fieldLabel","errorMessageBlock","property","fieldInQuestion","lab","undefined","anchor","uri","textContent","fieldStore","subject","predicate","def","sts","statementsMatching","length","updater","Error","why","value","editable","sym","basicField","container","already","doc","callbackFunction","formDoc","suppressEmptyUneditable","anyJS","mostSpecificClassURI","params","fieldParams","paramStyle","textInputStyle","field","type","size","textInputSize","maxLength","obj","uriPrefix","decodeURIComponent","replace","readOnly","textInputStyleUneditable","addEventListener","_e","pattern","match","disabled","ds","result","namedNode","encodeURIComponent","dt","Literal","trim","xsd","is","map","statement","st","updateMany","callback","docs","forEach","includes","push","update","pop","is1","filter","is2","ds1","ds2","ok","body"],"sources":["../../../src/widgets/forms/basic.ts"],"sourcesContent":["import { BlankNode, Literal, NamedNode, Node, st, Store, Variable } from 'rdflib'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { formFieldNameBoxStyle, formFieldNameBoxWidth, textInputSize, textInputStyle, textInputStyleUneditable } from '../../style'\nimport { label } from '../../utils'\nimport { errorMessageBlock } from '../error'\nimport { mostSpecificClassURI } from './fieldFunction'\nimport { fieldParams } from './fieldParams'\n\nconst store = solidLogicSingleton.store\n\n/* Style and create a name, value pair\n*/\nexport function renderNameValuePair (dom: HTMLDocument, kb: Store, box: HTMLElement, form: NamedNode, label?: string):HTMLElement {\n // const property = kb.any(form, ns.ui('property'))\n box.style.display = 'flex'\n box.style.flexDirection = 'row'\n const lhs = box.appendChild(dom.createElement('div'))\n lhs.style.width = formFieldNameBoxWidth\n const rhs = box.appendChild(dom.createElement('div'))\n\n lhs.setAttribute('class', 'formFieldName')\n lhs.setAttribute('style', formFieldNameBoxStyle)\n rhs.setAttribute('class', 'formFieldValue')\n if (label) {\n lhs.appendChild(dom.createTextNode(label))\n } else if (kb.any(form, ns.ui('property'))) { // Assume more space for error on right\n lhs.appendChild(fieldLabel(dom, kb.any(form, ns.ui('property')) as NamedNode, form))\n } else {\n rhs.appendChild(errorMessageBlock(dom, 'No property or label given for form field: ' + form))\n lhs.appendChild(dom.createTextNode('???'))\n }\n return rhs\n}\n\n/**\n * Create an anchor element with a label as the anchor text.\n *\n * @param dom The DOM\n * @param property href for the anchor element\n * @param fieldInQuestion field to produce a label for\n *\n * @internal exporting this only for unit tests\n */\nexport function fieldLabel (dom: HTMLDocument, property: NamedNode | undefined, fieldInQuestion: Node): HTMLElement | Text {\n let lab = store.any(fieldInQuestion as any, ns.ui('label'))\n if (!lab) lab = label(property, true) // Init capital\n if (property === undefined) {\n return dom.createTextNode('@@Internal error: undefined property')\n }\n const anchor = dom.createElement('a')\n /* istanbul ignore next */\n if (property.uri) anchor.setAttribute('href', property.uri)\n anchor.setAttribute('style', 'color: #3B5998; text-decoration: none;') // Not too blue and no underline\n anchor.textContent = lab as any\n return anchor\n}\n\n/**\n * Returns the document for the first quad that matches\n * the subject and predicate provided, or default if that\n * store is not editable.\n *\n * @param subject Subject about which we want to find an editable RDF document\n * @param predicate Predicate about which we want to find an editable RDF document\n * @param def default RDF document to return if none found\n *\n * @internal exporting this only for unit tests\n */\nexport function fieldStore (subject: NamedNode | BlankNode | Variable, predicate: NamedNode | Variable, def: NamedNode | undefined): NamedNode | undefined {\n const sts = store.statementsMatching(subject, predicate)\n if (sts.length === 0) return def // can used default as no data yet\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n if (\n sts.length > 0 &&\n sts[0].why.value &&\n store.updater.editable(sts[0].why.value, store)\n ) {\n return store.sym(sts[0].why.value)\n }\n return def\n}\n\n/**\n * Render a basic form field\n *\n * The same function is used for many similar one-value fields, with different\n * regexps used to validate.\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param container If present, the created widget will be appended to this\n * @param already A hash table of (form, subject) kept to prevent recursive forms looping\n * @param subject The thing about which the form displays/edits data\n * @param form The form or field to be rendered\n * @param doc The web document in which the data is\n * @param callbackFunction Called when data is changed?\n *\n * @returns The HTML widget created\n */\n// eslint-disable-next-line complexity\nexport function basicField (\n dom: HTMLDocument,\n container: HTMLElement | undefined,\n already,\n subject: NamedNode | BlankNode | Variable,\n form: NamedNode,\n doc: NamedNode | undefined,\n callbackFunction: (_ok: boolean, _errorMessage: string) => void\n): HTMLElement {\n const kb = store\n const formDoc = form.doc ? form.doc() : null // @@ if blank no way to know\n\n const box = dom.createElement('div')\n\n const property = kb.any(form, ns.ui('property'))\n if (container) container.appendChild(box)\n if (!property) {\n return box.appendChild(\n errorMessageBlock(dom, 'Error: No property given for text field: ' + form)\n )\n }\n const rhs = renderNameValuePair(dom, kb, box, form)\n\n // It can be cleaner to just remove empty fields if you can't edit them anyway\n const suppressEmptyUneditable = kb.anyJS(form, ns.ui('suppressEmptyUneditable'), null, formDoc)\n\n const uri = mostSpecificClassURI(form)\n let params = fieldParams[uri]\n if (params === undefined) params = { style: '' } // non-bottom field types can do this\n const paramStyle = params.style || ''\n const style = textInputStyle + paramStyle\n const field = dom.createElement('input')\n ;(field as any).style = style\n rhs.appendChild(field)\n field.setAttribute('type', params.type ? params.type : 'text')\n\n const size = kb.anyJS(form, ns.ui('size')) || textInputSize || 20\n field.setAttribute('size', size)\n\n const maxLength = kb.any(form, ns.ui('maxLength'))\n field.setAttribute('maxLength', maxLength ? '' + maxLength : '4096')\n\n doc = doc || fieldStore(subject, property as any, doc)\n\n let obj = kb.any(subject, property as any, undefined, doc)\n if (!obj) {\n obj = kb.any(form, ns.ui('default'))\n }\n if (obj && obj.value && params.uriPrefix) {\n // eg tel: or mailto:\n field.value = decodeURIComponent(obj.value.replace(params.uriPrefix, '')) // should have no spaces but in case\n .replace(/ /g, '')\n } else if (obj) {\n /* istanbul ignore next */\n field.value = obj.value || obj.value || ''\n }\n field.setAttribute('style', style)\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n if (!kb.updater.editable((doc as NamedNode).uri)) {\n field.readOnly = true // was: disabled. readOnly is better\n ;(field as any).style = textInputStyleUneditable + paramStyle\n // backgroundColor = textInputBackgroundColorUneditable\n if (suppressEmptyUneditable && field.value === '') {\n box.style.display = 'none' // clutter\n }\n return box\n }\n\n // read-write:\n field.addEventListener(\n 'keyup',\n function (_e) {\n if (params.pattern) {\n field.setAttribute(\n 'style',\n style +\n (field.value.match(params.pattern)\n ? 'color: green;'\n : 'color: red;')\n )\n }\n },\n true\n )\n field.addEventListener(\n 'change',\n function (_e) {\n // i.e. lose focus with changed data\n if (params.pattern && !field.value.match(params.pattern)) return\n field.disabled = true // See if this stops getting two dates from fumbling e.g the chrome datepicker.\n field.setAttribute('style', style + 'color: gray;') // pending\n const ds = kb.statementsMatching(subject, property as any) // remove any multiple values\n let result\n if (params.namedNode) {\n result = kb.sym(field.value)\n } else if (params.uriPrefix) {\n result = encodeURIComponent(field.value.replace(/ /g, ''))\n result = kb.sym(params.uriPrefix + field.value)\n } else {\n if (params.dt) {\n result = new Literal(\n field.value.trim(),\n undefined,\n ns.xsd(params.dt)\n )\n } else {\n result = new Literal(field.value)\n }\n }\n let is = ds.map(statement => st(statement.subject, statement.predicate, result, statement.why)) // can include >1 doc\n if (is.length === 0) {\n // or none\n is = [st(subject, property as any, result, doc)]\n }\n\n function updateMany (ds, is: { why: { uri: string } }[], callback) {\n const docs: any[] = []\n is.forEach(st => {\n if (!docs.includes(st.why.uri)) docs.push(st.why.uri)\n })\n ds.forEach(st => {\n /* istanbul ignore next */\n if (!docs.includes(st.why.uri)) docs.push(st.why.uri)\n })\n /* istanbul ignore next */\n if (docs.length === 0) {\n throw new Error('updateMany has no docs to patch')\n }\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n if (docs.length === 1) {\n return kb.updater.update(ds, is as any, callback)\n }\n // return kb.updater.update(ds, is, callback)\n\n const doc = docs.pop()\n const is1 = is.filter(st => st.why.uri === doc)\n const is2 = is.filter(st => st.why.uri !== doc)\n const ds1 = ds.filter(st => st.why.uri === doc)\n const ds2 = ds.filter(st => st.why.uri !== doc)\n kb.updater.update(ds1, is1 as any, function (uri, ok, body) {\n if (ok) {\n updateMany(ds2, is2, callback)\n } else {\n callback(uri, ok, body)\n }\n })\n }\n\n updateMany(ds, is as any, function (uri, ok, body) {\n // kb.updater.update(ds, is, function (uri, ok, body) {\n if (ok) {\n field.disabled = false\n field.setAttribute('style', style)\n } else {\n box.appendChild(errorMessageBlock(dom, body))\n }\n callbackFunction(ok, body)\n })\n },\n true\n )\n return box\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"basic.js","names":["_rdflib","require","_solidLogic","ns","_interopRequireWildcard","_style","_styleConstants","_interopRequireDefault","_utils","_error","_fieldFunction","_fieldParams","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","store","solidLogicSingleton","renderNameValuePair","dom","kb","box","form","label","style","display","flexDirection","lhs","appendChild","createElement","width","styleConstants","formFieldNameBoxWidth","rhs","setAttribute","formFieldNameBoxStyle","createTextNode","any","ui","fieldLabel","errorMessageBlock","property","fieldInQuestion","lab","undefined","anchor","uri","textContent","fieldStore","subject","predicate","def","sts","statementsMatching","length","updater","Error","why","value","editable","sym","basicField","container","already","doc","callbackFunction","formDoc","suppressEmptyUneditable","anyJS","mostSpecificClassURI","params","fieldParams","paramStyle","textInputStyle","field","type","size","textInputSize","maxLength","basicMaxLength","obj","uriPrefix","decodeURIComponent","replace","readOnly","textInputStyleUneditable","addEventListener","_e","pattern","match","disabled","ds","result","namedNode","encodeURIComponent","dt","Literal","trim","xsd","is","map","statement","st","updateMany","callback","docs","forEach","includes","push","update","pop","is1","filter","is2","ds1","ds2","ok","body"],"sources":["../../../src/widgets/forms/basic.ts"],"sourcesContent":["import { BlankNode, Literal, NamedNode, Node, st, Store, Variable } from 'rdflib'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { formFieldNameBoxStyle, textInputStyle, textInputStyleUneditable } from '../../style'\nimport styleConstants from '../../styleConstants'\nimport { label } from '../../utils'\nimport { errorMessageBlock } from '../error'\nimport { mostSpecificClassURI } from './fieldFunction'\nimport { fieldParams } from './fieldParams'\n\nconst store = solidLogicSingleton.store\n\n/* Style and create a name, value pair\n*/\nexport function renderNameValuePair (dom: HTMLDocument, kb: Store, box: HTMLElement, form: NamedNode, label?: string):HTMLElement {\n // const property = kb.any(form, ns.ui('property'))\n box.style.display = 'flex'\n box.style.flexDirection = 'row'\n const lhs = box.appendChild(dom.createElement('div'))\n lhs.style.width = styleConstants.formFieldNameBoxWidth\n const rhs = box.appendChild(dom.createElement('div'))\n\n lhs.setAttribute('class', 'formFieldName')\n lhs.setAttribute('style', formFieldNameBoxStyle)\n rhs.setAttribute('class', 'formFieldValue')\n if (label) {\n lhs.appendChild(dom.createTextNode(label))\n } else if (kb.any(form, ns.ui('property'))) { // Assume more space for error on right\n lhs.appendChild(fieldLabel(dom, kb.any(form, ns.ui('property')) as NamedNode, form))\n } else {\n rhs.appendChild(errorMessageBlock(dom, 'No property or label given for form field: ' + form))\n lhs.appendChild(dom.createTextNode('???'))\n }\n return rhs\n}\n\n/**\n * Create an anchor element with a label as the anchor text.\n *\n * @param dom The DOM\n * @param property href for the anchor element\n * @param fieldInQuestion field to produce a label for\n *\n * @internal exporting this only for unit tests\n */\nexport function fieldLabel (dom: HTMLDocument, property: NamedNode | undefined, fieldInQuestion: Node): HTMLElement | Text {\n let lab = store.any(fieldInQuestion as any, ns.ui('label'))\n if (!lab) lab = label(property, true) // Init capital\n if (property === undefined) {\n return dom.createTextNode('@@Internal error: undefined property')\n }\n const anchor = dom.createElement('a')\n /* istanbul ignore next */\n if (property.uri) anchor.setAttribute('href', property.uri)\n anchor.setAttribute('style', 'color: #3B5998; text-decoration: none;') // Not too blue and no underline\n anchor.textContent = lab as any\n return anchor\n}\n\n/**\n * Returns the document for the first quad that matches\n * the subject and predicate provided, or default if that\n * store is not editable.\n *\n * @param subject Subject about which we want to find an editable RDF document\n * @param predicate Predicate about which we want to find an editable RDF document\n * @param def default RDF document to return if none found\n *\n * @internal exporting this only for unit tests\n */\nexport function fieldStore (subject: NamedNode | BlankNode | Variable, predicate: NamedNode | Variable, def: NamedNode | undefined): NamedNode | undefined {\n const sts = store.statementsMatching(subject, predicate)\n if (sts.length === 0) return def // can used default as no data yet\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n if (\n sts.length > 0 &&\n sts[0].why.value &&\n store.updater.editable(sts[0].why.value, store)\n ) {\n return store.sym(sts[0].why.value)\n }\n return def\n}\n\n/**\n * Render a basic form field\n *\n * The same function is used for many similar one-value fields, with different\n * regexps used to validate.\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param container If present, the created widget will be appended to this\n * @param already A hash table of (form, subject) kept to prevent recursive forms looping\n * @param subject The thing about which the form displays/edits data\n * @param form The form or field to be rendered\n * @param doc The web document in which the data is\n * @param callbackFunction Called when data is changed?\n *\n * @returns The HTML widget created\n */\n// eslint-disable-next-line complexity\nexport function basicField (\n dom: HTMLDocument,\n container: HTMLElement | undefined,\n already,\n subject: NamedNode | BlankNode | Variable,\n form: NamedNode,\n doc: NamedNode | undefined,\n callbackFunction: (_ok: boolean, _errorMessage: string) => void\n): HTMLElement {\n const kb = store\n const formDoc = form.doc ? form.doc() : null // @@ if blank no way to know\n\n const box = dom.createElement('div')\n\n const property = kb.any(form, ns.ui('property'))\n if (container) container.appendChild(box)\n if (!property) {\n return box.appendChild(\n errorMessageBlock(dom, 'Error: No property given for text field: ' + form)\n )\n }\n const rhs = renderNameValuePair(dom, kb, box, form)\n\n // It can be cleaner to just remove empty fields if you can't edit them anyway\n const suppressEmptyUneditable = kb.anyJS(form, ns.ui('suppressEmptyUneditable'), null, formDoc)\n\n const uri = mostSpecificClassURI(form)\n let params = fieldParams[uri]\n if (params === undefined) params = { style: '' } // non-bottom field types can do this\n const paramStyle = params.style || ''\n const style = textInputStyle + paramStyle\n const field = dom.createElement('input')\n ;(field as any).style = style\n rhs.appendChild(field)\n field.setAttribute('type', params.type ? params.type : 'text')\n\n const size = kb.anyJS(form, ns.ui('size')) || styleConstants.textInputSize || 20\n field.setAttribute('size', size)\n\n const maxLength = kb.any(form, ns.ui('maxLength'))\n field.setAttribute('maxLength', maxLength ? '' + maxLength : styleConstants.basicMaxLength)\n\n doc = doc || fieldStore(subject, property as any, doc)\n\n let obj = kb.any(subject, property as any, undefined, doc)\n if (!obj) {\n obj = kb.any(form, ns.ui('default'))\n }\n if (obj && obj.value && params.uriPrefix) {\n // eg tel: or mailto:\n field.value = decodeURIComponent(obj.value.replace(params.uriPrefix, '')) // should have no spaces but in case\n .replace(/ /g, '')\n } else if (obj) {\n /* istanbul ignore next */\n field.value = obj.value || obj.value || ''\n }\n field.setAttribute('style', style)\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n if (!kb.updater.editable((doc as NamedNode).uri)) {\n field.readOnly = true // was: disabled. readOnly is better\n ;(field as any).style = textInputStyleUneditable + paramStyle\n if (suppressEmptyUneditable && field.value === '') {\n box.style.display = 'none' // clutter\n }\n return box\n }\n\n // read-write:\n field.addEventListener(\n 'keyup',\n function (_e) {\n if (params.pattern) {\n field.setAttribute(\n 'style',\n style +\n (field.value.match(params.pattern)\n ? 'color: green;'\n : 'color: red;')\n )\n }\n },\n true\n )\n field.addEventListener(\n 'change',\n function (_e) {\n // i.e. lose focus with changed data\n if (params.pattern && !field.value.match(params.pattern)) return\n field.disabled = true // See if this stops getting two dates from fumbling e.g the chrome datepicker.\n field.setAttribute('style', style + 'color: gray;') // pending\n const ds = kb.statementsMatching(subject, property as any) // remove any multiple values\n let result\n if (params.namedNode) {\n result = kb.sym(field.value)\n } else if (params.uriPrefix) {\n result = encodeURIComponent(field.value.replace(/ /g, ''))\n result = kb.sym(params.uriPrefix + field.value)\n } else {\n if (params.dt) {\n result = new Literal(\n field.value.trim(),\n undefined,\n ns.xsd(params.dt)\n )\n } else {\n result = new Literal(field.value)\n }\n }\n let is = ds.map(statement => st(statement.subject, statement.predicate, result, statement.why)) // can include >1 doc\n if (is.length === 0) {\n // or none\n is = [st(subject, property as any, result, doc)]\n }\n\n function updateMany (ds, is: { why: { uri: string } }[], callback) {\n const docs: any[] = []\n is.forEach(st => {\n if (!docs.includes(st.why.uri)) docs.push(st.why.uri)\n })\n ds.forEach(st => {\n /* istanbul ignore next */\n if (!docs.includes(st.why.uri)) docs.push(st.why.uri)\n })\n /* istanbul ignore next */\n if (docs.length === 0) {\n throw new Error('updateMany has no docs to patch')\n }\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n if (docs.length === 1) {\n return kb.updater.update(ds, is as any, callback)\n }\n // return kb.updater.update(ds, is, callback)\n\n const doc = docs.pop()\n const is1 = is.filter(st => st.why.uri === doc)\n const is2 = is.filter(st => st.why.uri !== doc)\n const ds1 = ds.filter(st => st.why.uri === doc)\n const ds2 = ds.filter(st => st.why.uri !== doc)\n kb.updater.update(ds1, is1 as any, function (uri, ok, body) {\n if (ok) {\n updateMany(ds2, is2, callback)\n } else {\n callback(uri, ok, body)\n }\n })\n }\n\n updateMany(ds, is as any, function (uri, ok, body) {\n // kb.updater.update(ds, is, function (uri, ok, body) {\n if (ok) {\n field.disabled = false\n field.setAttribute('style', style)\n } else {\n box.appendChild(errorMessageBlock(dom, body))\n }\n callbackFunction(ok, body)\n })\n },\n true\n )\n return box\n}\n"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -18,61 +18,61 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
18
18
  * field in questions, different values may be read
19
19
  * from here.
20
20
  */
21
- var fieldParams = exports.fieldParams = (_fieldParams = {}, (0, _defineProperty2["default"])(_fieldParams, ns.ui('ColorField').uri, {
21
+ var fieldParams = exports.fieldParams = (_fieldParams = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_fieldParams, ns.ui('ColorField').uri, {
22
22
  size: 9,
23
23
  type: 'color',
24
24
  style: 'height: 3em;',
25
25
  // around 1.5em is padding
26
26
  dt: 'color',
27
27
  pattern: /^\s*#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]([0-9a-f][0-9a-f])?\s*$/
28
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('DateField').uri, {
28
+ }), ns.ui('DateField').uri, {
29
29
  size: 20,
30
30
  type: 'date',
31
31
  dt: 'date',
32
32
  pattern: /^\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?Z?\s*$/
33
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('DateTimeField').uri, {
33
+ }), ns.ui('DateTimeField').uri, {
34
34
  size: 20,
35
35
  type: 'datetime-local',
36
36
  // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime
37
37
  dt: 'dateTime',
38
38
  pattern: /^\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?(T[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?)?Z?\s*$/
39
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('TimeField').uri, {
39
+ }), ns.ui('TimeField').uri, {
40
40
  size: 10,
41
41
  type: 'time',
42
42
  dt: 'time',
43
43
  pattern: /^\s*([0-2]?[0-9]:[0-5][0-9](:[0-5][0-9])?)\s*$/
44
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('IntegerField').uri, {
44
+ }), ns.ui('IntegerField').uri, {
45
45
  size: 12,
46
46
  style: 'text-align: right;',
47
47
  dt: 'integer',
48
48
  pattern: /^\s*-?[0-9]+\s*$/
49
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('DecimalField').uri, {
49
+ }), ns.ui('DecimalField').uri, {
50
50
  size: 12,
51
51
  style: 'text-align: right;',
52
52
  dt: 'decimal',
53
53
  pattern: /^\s*-?[0-9]*(\.[0-9]*)?\s*$/
54
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('FloatField').uri, {
54
+ }), ns.ui('FloatField').uri, {
55
55
  size: 12,
56
56
  style: 'text-align: right;',
57
57
  dt: 'float',
58
58
  pattern: /^\s*-?[0-9]*(\.[0-9]*)?((e|E)-?[0-9]*)?\s*$/
59
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('SingleLineTextField').uri, {}), (0, _defineProperty2["default"])(_fieldParams, ns.ui('NamedNodeURIField').uri, {
59
+ }), ns.ui('SingleLineTextField').uri, {}), ns.ui('NamedNodeURIField').uri, {
60
60
  namedNode: true
61
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('TextField').uri, {}), (0, _defineProperty2["default"])(_fieldParams, ns.ui('PhoneField').uri, {
61
+ }), ns.ui('TextField').uri, {}), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_fieldParams, ns.ui('PhoneField').uri, {
62
62
  size: 20,
63
63
  uriPrefix: 'tel:',
64
64
  pattern: /^\+?[\d-]+[\d]*$/
65
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('EmailField').uri, {
65
+ }), ns.ui('EmailField').uri, {
66
66
  size: 30,
67
67
  uriPrefix: 'mailto:',
68
68
  pattern: /^\s*.*@.*\..*\s*$/ // @@ Get the right regexp here
69
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('Group').uri, {
69
+ }), ns.ui('Group').uri, {
70
70
  style: _style.formGroupStyle
71
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('Comment').uri, {
71
+ }), ns.ui('Comment').uri, {
72
72
  element: 'p',
73
- style: _style.commentStyle // was `padding: 0.1em 1.5em; color: ${formHeadingColor}; white-space: pre-wrap;`
74
- }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('Heading').uri, {
73
+ style: _style.commentStyle
74
+ }), ns.ui('Heading').uri, {
75
75
  element: 'h3',
76
- style: _style.formHeadingStyle // was: `font-size: 110%; font-weight: bold; color: ${formHeadingColor}; padding: 0.2em;`
77
- }), _fieldParams);
76
+ style: _style.formHeadingStyle
77
+ }));
78
78
  //# sourceMappingURL=fieldParams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fieldParams.js","names":["ns","_interopRequireWildcard","require","_style","_fieldParams","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","fieldParams","exports","_defineProperty2","ui","uri","size","type","style","dt","pattern","namedNode","uriPrefix","formGroupStyle","element","commentStyle","formHeadingStyle"],"sources":["../../../src/widgets/forms/fieldParams.ts"],"sourcesContent":["import * as ns from '../../ns'\nimport { commentStyle, formHeadingStyle, formGroupStyle } from '../../style'\n\nexport type FieldParamsObject = {\n size?: number, // input element size attribute\n type?: string, // input element type attribute. Default: 'text' (not for Comment and Heading)\n element?: string, // element type to use (Comment and Heading only)\n style?: string, // style to use\n dt?: string, // xsd data type for the RDF Literal corresponding to the field value. Default: xsd:string\n uriPrefix?: string, // e.g. 'mailto:', will be removed when displaying value to user. Overrides dt.\n namedNode?: boolean, // if true, field value corresponds to the URI of an RDF NamedNode. Overrides dt and uriPrefix.\n pattern?: RegExp // for client-side input validation; field will go red if violated, green if ok\n}\n\n/**\n * The fieldParams object defines various constants\n * for use in various form fields. Depending on the\n * field in questions, different values may be read\n * from here.\n */\nexport const fieldParams: { [ fieldUri: string ]: FieldParamsObject } = {\n /**\n * Text field\n *\n * For possible date popups see e.g. http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm\n * or use HTML5: http://www.w3.org/TR/2011/WD-html-markup-20110113/input.date.html\n */\n [ns.ui('ColorField').uri]: {\n size: 9,\n type: 'color',\n style: 'height: 3em;', // around 1.5em is padding\n dt: 'color',\n pattern: /^\\s*#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]([0-9a-f][0-9a-f])?\\s*$/\n }, // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color\n\n [ns.ui('DateField').uri]: {\n size: 20,\n type: 'date',\n dt: 'date',\n pattern: /^\\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?Z?\\s*$/\n },\n\n [ns.ui('DateTimeField').uri]: {\n size: 20,\n type: 'datetime-local', // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime\n dt: 'dateTime',\n pattern: /^\\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?(T[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?)?Z?\\s*$/\n },\n\n [ns.ui('TimeField').uri]: {\n size: 10,\n type: 'time',\n dt: 'time',\n pattern: /^\\s*([0-2]?[0-9]:[0-5][0-9](:[0-5][0-9])?)\\s*$/\n },\n\n [ns.ui('IntegerField').uri]: {\n size: 12,\n style: 'text-align: right;',\n dt: 'integer',\n pattern: /^\\s*-?[0-9]+\\s*$/\n },\n\n [ns.ui('DecimalField').uri]: {\n size: 12,\n style: 'text-align: right;',\n dt: 'decimal',\n pattern: /^\\s*-?[0-9]*(\\.[0-9]*)?\\s*$/\n },\n\n [ns.ui('FloatField').uri]: {\n size: 12,\n style: 'text-align: right;',\n dt: 'float',\n pattern: /^\\s*-?[0-9]*(\\.[0-9]*)?((e|E)-?[0-9]*)?\\s*$/\n },\n\n [ns.ui('SingleLineTextField').uri]: {\n\n },\n [ns.ui('NamedNodeURIField').uri]: {\n namedNode: true\n },\n [ns.ui('TextField').uri]: {\n\n },\n\n [ns.ui('PhoneField').uri]: {\n size: 20,\n uriPrefix: 'tel:',\n pattern: /^\\+?[\\d-]+[\\d]*$/\n },\n\n [ns.ui('EmailField').uri]: {\n size: 30,\n uriPrefix: 'mailto:',\n pattern: /^\\s*.*@.*\\..*\\s*$/ // @@ Get the right regexp here\n },\n\n [ns.ui('Group').uri]: {\n style: formGroupStyle\n },\n\n /**\n * Non-interactive fields\n */\n [ns.ui('Comment').uri]: {\n element: 'p',\n style: commentStyle // was `padding: 0.1em 1.5em; color: ${formHeadingColor}; white-space: pre-wrap;`\n },\n [ns.ui('Heading').uri]: {\n element: 'h3',\n style: formHeadingStyle // was: `font-size: 110%; font-weight: bold; color: ${formHeadingColor}; padding: 0.2em;`\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"fieldParams.js","names":["ns","_interopRequireWildcard","require","_style","_fieldParams","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","fieldParams","exports","_defineProperty2","ui","uri","size","type","style","dt","pattern","namedNode","uriPrefix","formGroupStyle","element","commentStyle","formHeadingStyle"],"sources":["../../../src/widgets/forms/fieldParams.ts"],"sourcesContent":["import * as ns from '../../ns'\nimport { commentStyle, formHeadingStyle, formGroupStyle } from '../../style'\n\nexport type FieldParamsObject = {\n size?: number, // input element size attribute\n type?: string, // input element type attribute. Default: 'text' (not for Comment and Heading)\n element?: string, // element type to use (Comment and Heading only)\n style?: string, // style to use\n dt?: string, // xsd data type for the RDF Literal corresponding to the field value. Default: xsd:string\n uriPrefix?: string, // e.g. 'mailto:', will be removed when displaying value to user. Overrides dt.\n namedNode?: boolean, // if true, field value corresponds to the URI of an RDF NamedNode. Overrides dt and uriPrefix.\n pattern?: RegExp // for client-side input validation; field will go red if violated, green if ok\n}\n\n/**\n * The fieldParams object defines various constants\n * for use in various form fields. Depending on the\n * field in questions, different values may be read\n * from here.\n */\nexport const fieldParams: { [ fieldUri: string ]: FieldParamsObject } = {\n /**\n * Text field\n *\n * For possible date popups see e.g. http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm\n * or use HTML5: http://www.w3.org/TR/2011/WD-html-markup-20110113/input.date.html\n */\n [ns.ui('ColorField').uri]: {\n size: 9,\n type: 'color',\n style: 'height: 3em;', // around 1.5em is padding\n dt: 'color',\n pattern: /^\\s*#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]([0-9a-f][0-9a-f])?\\s*$/\n }, // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color\n\n [ns.ui('DateField').uri]: {\n size: 20,\n type: 'date',\n dt: 'date',\n pattern: /^\\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?Z?\\s*$/\n },\n\n [ns.ui('DateTimeField').uri]: {\n size: 20,\n type: 'datetime-local', // See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime\n dt: 'dateTime',\n pattern: /^\\s*[0-9][0-9][0-9][0-9](-[0-1]?[0-9]-[0-3]?[0-9])?(T[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?)?Z?\\s*$/\n },\n\n [ns.ui('TimeField').uri]: {\n size: 10,\n type: 'time',\n dt: 'time',\n pattern: /^\\s*([0-2]?[0-9]:[0-5][0-9](:[0-5][0-9])?)\\s*$/\n },\n\n [ns.ui('IntegerField').uri]: {\n size: 12,\n style: 'text-align: right;',\n dt: 'integer',\n pattern: /^\\s*-?[0-9]+\\s*$/\n },\n\n [ns.ui('DecimalField').uri]: {\n size: 12,\n style: 'text-align: right;',\n dt: 'decimal',\n pattern: /^\\s*-?[0-9]*(\\.[0-9]*)?\\s*$/\n },\n\n [ns.ui('FloatField').uri]: {\n size: 12,\n style: 'text-align: right;',\n dt: 'float',\n pattern: /^\\s*-?[0-9]*(\\.[0-9]*)?((e|E)-?[0-9]*)?\\s*$/\n },\n\n [ns.ui('SingleLineTextField').uri]: {\n\n },\n [ns.ui('NamedNodeURIField').uri]: {\n namedNode: true\n },\n [ns.ui('TextField').uri]: {\n\n },\n\n [ns.ui('PhoneField').uri]: {\n size: 20,\n uriPrefix: 'tel:',\n pattern: /^\\+?[\\d-]+[\\d]*$/\n },\n\n [ns.ui('EmailField').uri]: {\n size: 30,\n uriPrefix: 'mailto:',\n pattern: /^\\s*.*@.*\\..*\\s*$/ // @@ Get the right regexp here\n },\n\n [ns.ui('Group').uri]: {\n style: formGroupStyle\n },\n\n /**\n * Non-interactive fields\n */\n [ns.ui('Comment').uri]: {\n element: 'p',\n style: commentStyle\n },\n [ns.ui('Heading').uri]: {\n element: 'h3',\n style: formHeadingStyle\n }\n}\n"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
@@ -81,6 +81,7 @@ var _error = require("./error");
81
81
  var _basic = require("./forms/basic");
82
82
  var _autocompleteField = require("./forms/autocomplete/autocompleteField");
83
83
  var style = _interopRequireWildcard(require("../style"));
84
+ var _styleConstants = _interopRequireDefault(require("../styleConstants"));
84
85
  var _iconBase = require("../iconBase");
85
86
  var log = _interopRequireWildcard(require("../log"));
86
87
  var ns = _interopRequireWildcard(require("../ns"));
@@ -94,9 +95,9 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
94
95
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
95
96
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
96
97
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* F O R M S
97
- *
98
- * A Vanilla Dom implementation of the form language
99
- */ /* eslint-disable multiline-ternary */ /* global alert */ // Note default export
98
+ *
99
+ * A Vanilla Dom implementation of the form language
100
+ */ /* eslint-disable multiline-ternary */ /* global alert */ // Note default export
100
101
  var checkMarkCharacter = "\u2713";
101
102
  var cancelCharacter = "\u2715";
102
103
  var dashCharacter = '-';
@@ -138,7 +139,6 @@ function refreshOpionsSubfieldinGroup(dom, already, subject, dataDoc, callbackFu
138
139
  }
139
140
  }
140
141
  }
141
-
142
142
  _fieldFunction.field[ns.ui('Form').uri] = _fieldFunction.field[ns.ui('Group').uri] = function (dom, container, already, subject, form, dataDoc, callbackFunction) {
143
143
  var box = dom.createElement('div');
144
144
  var ui = ns.ui;
@@ -679,7 +679,6 @@ _fieldFunction.field[ns.ui('Multiple').uri] = function (dom, container, already,
679
679
  vals = reverse ? kb.each(null, property, subject, dataDoc) : kb.each(subject, property, null, dataDoc);
680
680
  vals.sort(); // achieve consistency on each refresh
681
681
  }
682
-
683
682
  utils.syncTableToArrayReOrdered(body, vals, renderItem);
684
683
  }
685
684
  body.refresh = refresh; // Allow live update
@@ -769,7 +768,7 @@ _fieldFunction.field[ns.ui('MultiLineTextField').uri] = function (dom, container
769
768
  box.style.display = 'flex';
770
769
  box.style.flexDirection = 'row';
771
770
  var left = box.appendChild(dom.createElement('div'));
772
- left.style.width = style.formFieldNameBoxWidth;
771
+ left.style.width = _styleConstants["default"].formFieldNameBoxWidth;
773
772
  var right = box.appendChild(dom.createElement('div'));
774
773
  left.appendChild((0, _basic.fieldLabel)(dom, property, form));
775
774
  dataDoc = (0, _basic.fieldStore)(subject, property, dataDoc);
@@ -928,7 +927,6 @@ _fieldFunction.field[ns.ui('Choice').uri] = function (dom, container, already, s
928
927
  if (kb.any(form, ui('canMintNew'))) {
929
928
  opts.mint = '* Create new *'; // @@ could be better
930
929
  }
931
-
932
930
  var multiSelect = kb.any(form, ui('multiselect')); // Optional
933
931
  if (multiSelect) opts.multiSelect = true;
934
932
 
@@ -1194,9 +1192,8 @@ function promptForNew(dom, kb, subject, predicate, theClass, form, dataDoc, call
1194
1192
  log.debug('lists[0] is ' + lists[0]);
1195
1193
  form = lists[0]; // Pick any one
1196
1194
  }
1197
-
1198
1195
  log.debug('form is ' + form);
1199
- box.setAttribute('style', "border: 0.05em solid ".concat(style.formBorderColor, "; color: ").concat(style.formBorderColor)); // @@color?
1196
+ box.setAttribute('style', "border: 0.05em solid ".concat(_styleConstants["default"].formBorderColor, "; color: ").concat(_styleConstants["default"].formBorderColor)); // @@color?
1200
1197
  box.innerHTML = '<h3>New ' + utils.label(theClass) + '</h3>';
1201
1198
  var formFunction = (0, _fieldFunction.fieldFunction)(dom, form);
1202
1199
  var object = newThing(dataDoc);
@@ -1244,7 +1241,6 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
1244
1241
  // field.value = utils.label(predicate); // Was"enter a description here" @@ possibly: add prompt which disappears
1245
1242
  field.select(); // Select it ready for user input -- doesn't work
1246
1243
  }
1247
-
1248
1244
  group.refresh = function () {
1249
1245
  var v = kb.any(subject, predicate, null, dataDoc);
1250
1246
  if (v && v.value !== field.value) {
@@ -1252,17 +1248,16 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
1252
1248
  // @@ this is the place to color the field from the user who chanaged it
1253
1249
  }
1254
1250
  };
1255
-
1256
1251
  function saveChange(_e) {
1257
1252
  submit.disabled = true;
1258
1253
  submit.setAttribute('style', 'visibility: hidden; float: right;'); // Keep UI clean
1259
1254
  field.disabled = true;
1260
- field.style.color = style.textInputColorPending; // setAttribute('style', style + 'color: gray;') // pending
1255
+ field.style.color = _styleConstants["default"].textInputColorPending;
1261
1256
  var ds = kb.statementsMatching(subject, predicate, null, dataDoc);
1262
1257
  var is = $rdf.st(subject, predicate, field.value, dataDoc);
1263
1258
  kb.updater.update(ds, is, function (uri, ok, body) {
1264
1259
  if (ok) {
1265
- field.style.color = style.textInputColor;
1260
+ field.style.color = _styleConstants["default"].textInputColor;
1266
1261
  field.disabled = false;
1267
1262
  } else {
1268
1263
  group.appendChild((0, _error.errorMessageBlock)(dom, 'Error (while saving change to ' + dataDoc.uri + '): ' + body));
@@ -1291,7 +1286,7 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
1291
1286
  field.addEventListener('change', saveChange, true);
1292
1287
  } else {
1293
1288
  field.disabled = true; // @@ change color too
1294
- field.style.backgroundColor = style.textInputBackgroundColorUneditable;
1289
+ field.style.backgroundColor = _styleConstants["default"].textInputBackgroundColorUneditable;
1295
1290
  }
1296
1291
  return group;
1297
1292
  }
@@ -1359,7 +1354,6 @@ function makeSelectForClassifierOptions(dom, kb, subject, predicate, possible, o
1359
1354
  }); // @@ if ok, need some form of refresh of the select for the new thing
1360
1355
  }
1361
1356
  });
1362
-
1363
1357
  select.parentNode.appendChild(thisForm);
1364
1358
  newObject = thisForm.AJAR_subject;
1365
1359
  } else {
@@ -1416,7 +1410,7 @@ function makeSelectForClassifierOptions(dom, kb, subject, predicate, possible, o
1416
1410
  });
1417
1411
  };
1418
1412
  var select = dom.createElement('select');
1419
- select.setAttribute('style', style.formSelectSTyle);
1413
+ select.setAttribute('style', style.formSelectStyle);
1420
1414
  if (options.multiple) select.setAttribute('multiple', 'true');
1421
1415
  select.currentURI = null;
1422
1416
  select.refresh = function () {
@@ -1429,7 +1423,6 @@ function makeSelectForClassifierOptions(dom, kb, subject, predicate, possible, o
1429
1423
  }
1430
1424
  select.disabled = false; // unlocked any conflict we had got into
1431
1425
  };
1432
-
1433
1426
  for (var uri in uris) {
1434
1427
  var c = kb.sym(uri);
1435
1428
  var option = dom.createElement('option');
@@ -1438,7 +1431,6 @@ function makeSelectForClassifierOptions(dom, kb, subject, predicate, possible, o
1438
1431
  } else {
1439
1432
  option.appendChild(dom.createTextNode(utils.label(c, true))); // Init.
1440
1433
  }
1441
-
1442
1434
  var backgroundColor = kb.any(c, kb.sym('http://www.w3.org/ns/ui#backgroundColor'));
1443
1435
  if (backgroundColor) {
1444
1436
  option.setAttribute('style', 'background-color: ' + backgroundColor.value + '; ');
@@ -1449,7 +1441,6 @@ function makeSelectForClassifierOptions(dom, kb, subject, predicate, possible, o
1449
1441
  select.currentURI = uri;
1450
1442
  // dump("Already in class: "+ uri+"\n")
1451
1443
  }
1452
-
1453
1444
  select.appendChild(option);
1454
1445
  }
1455
1446
  if (editable && options.mint) {
@@ -1559,7 +1550,7 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
1559
1550
  });
1560
1551
  };
1561
1552
  var select = dom.createElement('select');
1562
- select.setAttribute('style', style.formSelectSTyle);
1553
+ select.setAttribute('style', style.formSelectStyle);
1563
1554
  select.currentURI = null;
1564
1555
  select.refresh = function () {
1565
1556
  actual = getActual(); // refresh
@@ -1571,7 +1562,6 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
1571
1562
  }
1572
1563
  select.disabled = false; // unlocked any conflict we had got into
1573
1564
  };
1574
-
1575
1565
  for (var uri in uris) {
1576
1566
  var c = kb.sym(uri);
1577
1567
  var option = dom.createElement('option');
@@ -1580,7 +1570,6 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
1580
1570
  } else {
1581
1571
  option.appendChild(dom.createTextNode(utils.label(c, true))); // Init.
1582
1572
  }
1583
-
1584
1573
  var backgroundColor = kb.any(c, kb.sym('http://www.w3.org/ns/ui#backgroundColor'));
1585
1574
  if (backgroundColor) {
1586
1575
  option.setAttribute('style', 'background-color: ' + backgroundColor.value + '; ');
@@ -1591,7 +1580,6 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
1591
1580
  select.currentURI = uri;
1592
1581
  // dump("Already in class: "+ uri+"\n")
1593
1582
  }
1594
-
1595
1583
  select.appendChild(option);
1596
1584
  }
1597
1585
  if (!select.currentURI) {
@@ -1689,10 +1677,8 @@ function buildCheckboxForm(dom, kb, lab, del, ins, form, dataDoc, tristate) {
1689
1677
  if (!x.why) {
1690
1678
  x.why = dataDoc; // be back-compaitible with old code
1691
1679
  }
1692
-
1693
1680
  return [x]; // one statements
1694
1681
  }
1695
-
1696
1682
  if (x instanceof Array) return x;
1697
1683
  throw new Error('buildCheckboxForm: bad param ' + x);
1698
1684
  }
@@ -1758,7 +1744,6 @@ function buildCheckboxForm(dom, kb, lab, del, ins, form, dataDoc, tristate) {
1758
1744
  }
1759
1745
  });
1760
1746
  };
1761
-
1762
1747
  input.addEventListener('click', boxHandler, false);
1763
1748
  return box;
1764
1749
  }
@@ -1845,7 +1830,7 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, inputPossib
1845
1830
  select.refresh();
1846
1831
  };
1847
1832
  var select = dom.createElement('select');
1848
- select.setAttribute('style', style.formSelectSTyle);
1833
+ select.setAttribute('style', style.formSelectStyle);
1849
1834
  select.setAttribute('id', 'formSelect');
1850
1835
  select.currentURI = null;
1851
1836
  for (var uri in optionsFromClassUIfrom) {
@@ -1872,13 +1857,11 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, inputPossib
1872
1857
  is.push($rdf.st(subject, predicate, t, dataDoc));
1873
1858
  // console.log("----value added " + t)
1874
1859
  }
1875
-
1876
1860
  if (uiFrom && !kb.holds(t, ns.rdf('type'), kb.sym(uiFrom), dataDoc)) {
1877
1861
  is.push($rdf.st(t, ns.rdf('type'), kb.sym(uiFrom), dataDoc));
1878
1862
  // console.log("----added type to value " + uiFrom)
1879
1863
  }
1880
1864
  };
1881
-
1882
1865
  var existingValues = kb.each(subject, predicate, null, dataDoc).map(function (object) {
1883
1866
  return object.value;
1884
1867
  });
@@ -1931,7 +1914,6 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, inputPossib
1931
1914
  }); // @@ if ok, need some form of refresh of the select for the new thing
1932
1915
  }
1933
1916
  });
1934
-
1935
1917
  select.parentNode.appendChild(thisForm);
1936
1918
  newObject = thisForm.AJAR_subject;
1937
1919
  } else {