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.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dist/670.solid-ui.min.js +0 -0
- package/dist/805.solid-ui.min.js +1 -1
- package/dist/805.solid-ui.min.js.LICENSE.txt +0 -0
- package/dist/805.solid-ui.min.js.map +1 -1
- package/dist/_2b19.solid-ui.js +0 -0
- package/dist/_2b19.solid-ui.js.map +1 -1
- package/dist/index.html +0 -0
- package/dist/solid-ui.js +3522 -1975
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.LICENSE.txt +0 -0
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +191 -80
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +0 -0
- package/lib/acl/access-controller.js.map +0 -0
- package/lib/acl/access-groups.d.ts +0 -0
- package/lib/acl/access-groups.d.ts.map +0 -0
- package/lib/acl/access-groups.js +0 -2
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +0 -0
- package/lib/acl/acl-control.js.map +0 -0
- package/lib/acl/acl.d.ts +0 -0
- package/lib/acl/acl.d.ts.map +0 -0
- package/lib/acl/acl.js +0 -2
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +0 -0
- package/lib/acl/add-agent-buttons.js.map +0 -0
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +0 -0
- package/lib/acl/index.js.map +0 -0
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +0 -0
- package/lib/acl/types.js.map +0 -0
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/chatLogic.js +6 -4
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -5
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.d.ts +0 -0
- package/lib/chat/keys.d.ts.map +0 -0
- package/lib/chat/keys.js +0 -0
- package/lib/chat/keys.js.map +0 -0
- package/lib/chat/message.js +3 -7
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +1 -0
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.d.ts +0 -0
- package/lib/chat/signature.d.ts.map +0 -0
- package/lib/chat/signature.js +0 -0
- package/lib/chat/signature.js.map +0 -0
- package/lib/chat/thread.js +0 -4
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +0 -2
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +0 -0
- package/lib/create/index.js.map +0 -0
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +0 -0
- package/lib/create/types.js.map +0 -0
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +0 -0
- package/lib/debug.js.map +0 -0
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +0 -0
- package/lib/footer/index.d.ts.map +0 -0
- package/lib/footer/index.js +0 -0
- package/lib/footer/index.js.map +0 -0
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +0 -0
- package/lib/header/empty-profile.js.map +0 -0
- package/lib/header/index.d.ts +0 -0
- package/lib/header/index.d.ts.map +0 -0
- package/lib/header/index.js +0 -0
- package/lib/header/index.js.map +0 -0
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +0 -0
- package/lib/iconBase.js.map +0 -0
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +0 -0
- package/lib/log.js.map +0 -0
- package/lib/login/login.d.ts +0 -0
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +37 -42
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +0 -0
- package/lib/matrix/index.js.map +0 -0
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +0 -2
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +0 -0
- package/lib/matrix/types.js.map +0 -0
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +0 -0
- package/lib/media/index.js.map +0 -0
- package/lib/media/media-capture.d.ts +2 -2
- package/lib/media/media-capture.d.ts.map +1 -1
- package/lib/media/media-capture.js +11 -18
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -4
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +2 -2
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +18 -45
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +7 -7
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +27 -28
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/signup/config-default.js +0 -0
- package/lib/signup/config-default.js.map +0 -0
- package/lib/signup/signup.js +0 -0
- package/lib/signup/signup.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +93 -85
- package/lib/style.js.map +1 -1
- package/lib/styleConstants.js +35 -0
- package/lib/styleConstants.js.map +1 -0
- package/lib/style_multiSelect.js +0 -0
- package/lib/style_multiSelect.js.map +0 -0
- package/lib/table.js +0 -4
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts +0 -125
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +15 -10
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +0 -0
- package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
- package/lib/utils/headerFooterHelpers.js +0 -0
- package/lib/utils/headerFooterHelpers.js.map +0 -0
- package/lib/utils/index.js +0 -7
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +0 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +0 -0
- package/lib/utils/keyHelpers/accessData.js +0 -0
- package/lib/utils/keyHelpers/accessData.js.map +0 -0
- package/lib/utils/keyHelpers/acl.d.ts +0 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +0 -0
- package/lib/utils/keyHelpers/acl.js +0 -0
- package/lib/utils/keyHelpers/acl.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +0 -0
- package/lib/utils/label.js.map +0 -0
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +14 -14
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +0 -0
- package/lib/widgets/buttons/iconLinks.js.map +0 -0
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +2 -10
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +11 -20
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +1 -1
- package/lib/widgets/error.js +9 -2
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +5 -5
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +6 -8
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +0 -0
- package/lib/widgets/forms/autocomplete/language.js.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +0 -3
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +1 -1
- package/lib/widgets/forms/basic.js +5 -5
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +0 -0
- package/lib/widgets/forms/comment.js.map +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +0 -0
- package/lib/widgets/forms/fieldFunction.js.map +0 -0
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +16 -16
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +0 -0
- package/lib/widgets/forms/formStyle.js.map +0 -0
- package/lib/widgets/forms.js +12 -30
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/multiSelect.js +0 -0
- package/lib/widgets/multiSelect.js.map +0 -0
- package/lib/widgets/peoplePicker.js +0 -1
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +0 -0
- package/lib/widgets/widgetHelpers.js.map +0 -0
- 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":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,EAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AAA2C,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE3C,IAAMY,KAAK,GAAGC,+BAAmB,CAACD,KAAK;;AAEvC;AACA;AACO,SAASE,mBAAmBA,CAAEC,GAAiB,EAAEC,EAAS,EAAEC,GAAgB,EAAEC,IAAe,EAAEC,KAAc,EAAc;EAChI;EACAF,GAAG,CAACG,KAAK,CAACC,OAAO,GAAG,MAAM;EAC1BJ,GAAG,CAACG,KAAK,CAACE,aAAa,GAAG,KAAK;EAC/B,IAAMC,GAAG,GAAGN,GAAG,CAACO,WAAW,CAACT,GAAG,CAACU,aAAa,CAAC,KAAK,CAAC,CAAC;EACrDF,GAAG,CAACH,KAAK,CAACM,KAAK,GAAGC,0BAAc,CAACC,qBAAqB;EACtD,IAAMC,GAAG,GAAGZ,GAAG,CAACO,WAAW,CAACT,GAAG,CAACU,aAAa,CAAC,KAAK,CAAC,CAAC;EAErDF,GAAG,CAACO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC;EAC1CP,GAAG,CAACO,YAAY,CAAC,OAAO,EAAEC,4BAAqB,CAAC;EAChDF,GAAG,CAACC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC;EAC3C,IAAIX,KAAK,EAAE;IACTI,GAAG,CAACC,WAAW,CAACT,GAAG,CAACiB,cAAc,CAACb,KAAK,CAAC,CAAC;EAC5C,CAAC,MAAM,IAAIH,EAAE,CAACiB,GAAG,CAACf,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE;IAAE;IAC5CX,GAAG,CAACC,WAAW,CAACW,UAAU,CAACpB,GAAG,EAAEC,EAAE,CAACiB,GAAG,CAACf,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,UAAU,CAAC,CAAC,EAAehB,IAAI,CAAC,CAAC;EACtF,CAAC,MAAM;IACLW,GAAG,CAACL,WAAW,CAAC,IAAAY,wBAAiB,EAACrB,GAAG,EAAE,6CAA6C,GAAGG,IAAI,CAAC,CAAC;IAC7FK,GAAG,CAACC,WAAW,CAACT,GAAG,CAACiB,cAAc,CAAC,KAAK,CAAC,CAAC;EAC5C;EACA,OAAOH,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,UAAUA,CAAEpB,GAAiB,EAAEsB,QAA+B,EAAEC,eAAqB,EAAsB;EACzH,IAAIC,GAAG,GAAG3B,KAAK,CAACqB,GAAG,CAACK,eAAe,EAASxD,EAAE,CAACoD,EAAE,CAAC,OAAO,CAAC,CAAC;EAC3D,IAAI,CAACK,GAAG,EAAEA,GAAG,GAAG,IAAApB,YAAK,EAACkB,QAAQ,EAAE,IAAI,CAAC,EAAC;EACtC,IAAIA,QAAQ,KAAKG,SAAS,EAAE;IAC1B,OAAOzB,GAAG,CAACiB,cAAc,CAAC,sCAAsC,CAAC;EACnE;EACA,IAAMS,MAAM,GAAG1B,GAAG,CAACU,aAAa,CAAC,GAAG,CAAC;EACrC;EACA,IAAIY,QAAQ,CAACK,GAAG,EAAED,MAAM,CAACX,YAAY,CAAC,MAAM,EAAEO,QAAQ,CAACK,GAAG,CAAC;EAC3DD,MAAM,CAACX,YAAY,CAAC,OAAO,EAAE,wCAAwC,CAAC,EAAC;EACvEW,MAAM,CAACE,WAAW,GAAGJ,GAAU;EAC/B,OAAOE,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,UAAUA,CAAEC,OAAyC,EAAEC,SAA+B,EAAEC,GAA0B,EAAyB;EACzJ,IAAMC,GAAG,GAAGpC,KAAK,CAACqC,kBAAkB,CAACJ,OAAO,EAAEC,SAAS,CAAC;EACxD,IAAIE,GAAG,CAACE,MAAM,KAAK,CAAC,EAAE,OAAOH,GAAG,EAAC;EACjC,IAAI,CAACnC,KAAK,CAACuC,OAAO,EAAE;IAClB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;EACzC;EACA,IACEJ,GAAG,CAACE,MAAM,GAAG,CAAC,IACdF,GAAG,CAAC,CAAC,CAAC,CAACK,GAAG,CAACC,KAAK,IAChB1C,KAAK,CAACuC,OAAO,CAACI,QAAQ,CAACP,GAAG,CAAC,CAAC,CAAC,CAACK,GAAG,CAACC,KAAK,EAAE1C,KAAK,CAAC,EAC/C;IACA,OAAOA,KAAK,CAAC4C,GAAG,CAACR,GAAG,CAAC,CAAC,CAAC,CAACK,GAAG,CAACC,KAAK,CAAC;EACpC;EACA,OAAOP,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,UAAUA,CACxB1C,GAAiB,EACjB2C,SAAkC,EAClCC,OAAO,EACPd,OAAyC,EACzC3B,IAAe,EACf0C,GAA0B,EAC1BC,gBAA+D,EAClD;EACb,IAAM7C,EAAE,GAAGJ,KAAK;EAChB,IAAMkD,OAAO,GAAG5C,IAAI,CAAC0C,GAAG,GAAG1C,IAAI,CAAC0C,GAAG,CAAC,CAAC,GAAG,IAAI,EAAC;;EAE7C,IAAM3C,GAAG,GAAGF,GAAG,CAACU,aAAa,CAAC,KAAK,CAAC;EAEpC,IAAMY,QAAQ,GAAGrB,EAAE,CAACiB,GAAG,CAACf,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,UAAU,CAAC,CAAC;EAChD,IAAIwB,SAAS,EAAEA,SAAS,CAAClC,WAAW,CAACP,GAAG,CAAC;EACzC,IAAI,CAACoB,QAAQ,EAAE;IACb,OAAOpB,GAAG,CAACO,WAAW,CACpB,IAAAY,wBAAiB,EAACrB,GAAG,EAAE,2CAA2C,GAAGG,IAAI,CAC3E,CAAC;EACH;EACA,IAAMW,GAAG,GAAGf,mBAAmB,CAACC,GAAG,EAAEC,EAAE,EAAEC,GAAG,EAAEC,IAAI,CAAC;;EAEnD;EACA,IAAM6C,uBAAuB,GAAG/C,EAAE,CAACgD,KAAK,CAAC9C,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE4B,OAAO,CAAC;EAE/F,IAAMpB,GAAG,GAAG,IAAAuB,mCAAoB,EAAC/C,IAAI,CAAC;EACtC,IAAIgD,MAAM,GAAGC,wBAAW,CAACzB,GAAG,CAAC;EAC7B,IAAIwB,MAAM,KAAK1B,SAAS,EAAE0B,MAAM,GAAG;IAAE9C,KAAK,EAAE;EAAG,CAAC,EAAC;EACjD,IAAMgD,UAAU,GAAGF,MAAM,CAAC9C,KAAK,IAAI,EAAE;EACrC,IAAMA,KAAK,GAAGiD,qBAAc,GAAGD,UAAU;EACzC,IAAME,KAAK,GAAGvD,GAAG,CAACU,aAAa,CAAC,OAAO,CAAC;EACtC6C,KAAK,CAASlD,KAAK,GAAGA,KAAK;EAC7BS,GAAG,CAACL,WAAW,CAAC8C,KAAK,CAAC;EACtBA,KAAK,CAACxC,YAAY,CAAC,MAAM,EAAEoC,MAAM,CAACK,IAAI,GAAGL,MAAM,CAACK,IAAI,GAAG,MAAM,CAAC;EAE9D,IAAMC,IAAI,GAAGxD,EAAE,CAACgD,KAAK,CAAC9C,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,MAAM,CAAC,CAAC,IAAIP,0BAAc,CAAC8C,aAAa,IAAI,EAAE;EAChFH,KAAK,CAACxC,YAAY,CAAC,MAAM,EAAE0C,IAAI,CAAC;EAEhC,IAAME,SAAS,GAAG1D,EAAE,CAACiB,GAAG,CAACf,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,WAAW,CAAC,CAAC;EAClDoC,KAAK,CAACxC,YAAY,CAAC,WAAW,EAAE4C,SAAS,GAAG,EAAE,GAAGA,SAAS,GAAG/C,0BAAc,CAACgD,cAAc,CAAC;EAE3Ff,GAAG,GAAGA,GAAG,IAAIhB,UAAU,CAACC,OAAO,EAAER,QAAQ,EAASuB,GAAG,CAAC;EAEtD,IAAIgB,GAAG,GAAG5D,EAAE,CAACiB,GAAG,CAACY,OAAO,EAAER,QAAQ,EAASG,SAAS,EAAEoB,GAAG,CAAC;EAC1D,IAAI,CAACgB,GAAG,EAAE;IACRA,GAAG,GAAG5D,EAAE,CAACiB,GAAG,CAACf,IAAI,EAAEpC,EAAE,CAACoD,EAAE,CAAC,SAAS,CAAC,CAAC;EACtC;EACA,IAAI0C,GAAG,IAAIA,GAAG,CAACtB,KAAK,IAAIY,MAAM,CAACW,SAAS,EAAE;IACxC;IACAP,KAAK,CAAChB,KAAK,GAAGwB,kBAAkB,CAACF,GAAG,CAACtB,KAAK,CAACyB,OAAO,CAACb,MAAM,CAACW,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAAA,CACvEE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;EACtB,CAAC,MAAM,IAAIH,GAAG,EAAE;IACd;IACAN,KAAK,CAAChB,KAAK,GAAGsB,GAAG,CAACtB,KAAK,IAAIsB,GAAG,CAACtB,KAAK,IAAI,EAAE;EAC5C;EACAgB,KAAK,CAACxC,YAAY,CAAC,OAAO,EAAEV,KAAK,CAAC;EAClC,IAAI,CAACJ,EAAE,CAACmC,OAAO,EAAE;IACf,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;EACtC;EACA,IAAI,CAACpC,EAAE,CAACmC,OAAO,CAACI,QAAQ,CAAEK,GAAG,CAAelB,GAAG,CAAC,EAAE;IAChD4B,KAAK,CAACU,QAAQ,GAAG,IAAI,CAAC;IAAA;IACpBV,KAAK,CAASlD,KAAK,GAAG6D,+BAAwB,GAAGb,UAAU;IAC7D,IAAIL,uBAAuB,IAAIO,KAAK,CAAChB,KAAK,KAAK,EAAE,EAAE;MACjDrC,GAAG,CAACG,KAAK,CAACC,OAAO,GAAG,MAAM,EAAC;IAC7B;IACA,OAAOJ,GAAG;EACZ;;EAEA;EACAqD,KAAK,CAACY,gBAAgB,CACpB,OAAO,EACP,UAAUC,EAAE,EAAE;IACZ,IAAIjB,MAAM,CAACkB,OAAO,EAAE;MAClBd,KAAK,CAACxC,YAAY,CAChB,OAAO,EACPV,KAAK,IACFkD,KAAK,CAAChB,KAAK,CAAC+B,KAAK,CAACnB,MAAM,CAACkB,OAAO,CAAC,GAC9B,eAAe,GACf,aAAa,CACrB,CAAC;IACH;EACF,CAAC,EACD,IACF,CAAC;EACDd,KAAK,CAACY,gBAAgB,CACpB,QAAQ,EACR,UAAUC,EAAE,EAAE;IACZ;IACA,IAAIjB,MAAM,CAACkB,OAAO,IAAI,CAACd,KAAK,CAAChB,KAAK,CAAC+B,KAAK,CAACnB,MAAM,CAACkB,OAAO,CAAC,EAAE;IAC1Dd,KAAK,CAACgB,QAAQ,GAAG,IAAI,EAAC;IACtBhB,KAAK,CAACxC,YAAY,CAAC,OAAO,EAAEV,KAAK,GAAG,cAAc,CAAC,EAAC;IACpD,IAAMmE,EAAE,GAAGvE,EAAE,CAACiC,kBAAkB,CAACJ,OAAO,EAAER,QAAe,CAAC,EAAC;IAC3D,IAAImD,MAAM;IACV,IAAItB,MAAM,CAACuB,SAAS,EAAE;MACpBD,MAAM,GAAGxE,EAAE,CAACwC,GAAG,CAACc,KAAK,CAAChB,KAAK,CAAC;IAC9B,CAAC,MAAM,IAAIY,MAAM,CAACW,SAAS,EAAE;MAC3BW,MAAM,GAAGE,kBAAkB,CAACpB,KAAK,CAAChB,KAAK,CAACyB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;MAC1DS,MAAM,GAAGxE,EAAE,CAACwC,GAAG,CAACU,MAAM,CAACW,SAAS,GAAGP,KAAK,CAAChB,KAAK,CAAC;IACjD,CAAC,MAAM;MACL,IAAIY,MAAM,CAACyB,EAAE,EAAE;QACbH,MAAM,GAAG,IAAII,eAAO,CAClBtB,KAAK,CAAChB,KAAK,CAACuC,IAAI,CAAC,CAAC,EAClBrD,SAAS,EACT1D,EAAE,CAACgH,GAAG,CAAC5B,MAAM,CAACyB,EAAE,CAClB,CAAC;MACH,CAAC,MAAM;QACLH,MAAM,GAAG,IAAII,eAAO,CAACtB,KAAK,CAAChB,KAAK,CAAC;MACnC;IACF;IACA,IAAIyC,EAAE,GAAGR,EAAE,CAACS,GAAG,CAAC,UAAAC,SAAS;MAAA,OAAI,IAAAC,UAAE,EAACD,SAAS,CAACpD,OAAO,EAAEoD,SAAS,CAACnD,SAAS,EAAE0C,MAAM,EAAES,SAAS,CAAC5C,GAAG,CAAC;IAAA,EAAC,EAAC;IAChG,IAAI0C,EAAE,CAAC7C,MAAM,KAAK,CAAC,EAAE;MACnB;MACA6C,EAAE,GAAG,CAAC,IAAAG,UAAE,EAACrD,OAAO,EAAER,QAAQ,EAASmD,MAAM,EAAE5B,GAAG,CAAC,CAAC;IAClD;IAEA,SAASuC,UAAUA,CAAEZ,EAAE,EAAEQ,EAA8B,EAAEK,QAAQ,EAAE;MACjE,IAAMC,IAAW,GAAG,EAAE;MACtBN,EAAE,CAACO,OAAO,CAAC,UAAAJ,EAAE,EAAI;QACf,IAAI,CAACG,IAAI,CAACE,QAAQ,CAACL,EAAE,CAAC7C,GAAG,CAACX,GAAG,CAAC,EAAE2D,IAAI,CAACG,IAAI,CAACN,EAAE,CAAC7C,GAAG,CAACX,GAAG,CAAC;MACvD,CAAC,CAAC;MACF6C,EAAE,CAACe,OAAO,CAAC,UAAAJ,EAAE,EAAI;QACf;QACA,IAAI,CAACG,IAAI,CAACE,QAAQ,CAACL,EAAE,CAAC7C,GAAG,CAACX,GAAG,CAAC,EAAE2D,IAAI,CAACG,IAAI,CAACN,EAAE,CAAC7C,GAAG,CAACX,GAAG,CAAC;MACvD,CAAC,CAAC;MACF;MACA,IAAI2D,IAAI,CAACnD,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,IAAIE,KAAK,CAAC,iCAAiC,CAAC;MACpD;MACA,IAAI,CAACpC,EAAE,CAACmC,OAAO,EAAE;QACf,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;MACtC;MACA,IAAIiD,IAAI,CAACnD,MAAM,KAAK,CAAC,EAAE;QACrB,OAAOlC,EAAE,CAACmC,OAAO,CAACsD,MAAM,CAAClB,EAAE,EAAEQ,EAAE,EAASK,QAAQ,CAAC;MACnD;MACA;;MAEA,IAAMxC,GAAG,GAAGyC,IAAI,CAACK,GAAG,CAAC,CAAC;MACtB,IAAMC,GAAG,GAAGZ,EAAE,CAACa,MAAM,CAAC,UAAAV,EAAE;QAAA,OAAIA,EAAE,CAAC7C,GAAG,CAACX,GAAG,KAAKkB,GAAG;MAAA,EAAC;MAC/C,IAAMiD,GAAG,GAAGd,EAAE,CAACa,MAAM,CAAC,UAAAV,EAAE;QAAA,OAAIA,EAAE,CAAC7C,GAAG,CAACX,GAAG,KAAKkB,GAAG;MAAA,EAAC;MAC/C,IAAMkD,GAAG,GAAGvB,EAAE,CAACqB,MAAM,CAAC,UAAAV,EAAE;QAAA,OAAIA,EAAE,CAAC7C,GAAG,CAACX,GAAG,KAAKkB,GAAG;MAAA,EAAC;MAC/C,IAAMmD,GAAG,GAAGxB,EAAE,CAACqB,MAAM,CAAC,UAAAV,EAAE;QAAA,OAAIA,EAAE,CAAC7C,GAAG,CAACX,GAAG,KAAKkB,GAAG;MAAA,EAAC;MAC/C5C,EAAE,CAACmC,OAAO,CAACsD,MAAM,CAACK,GAAG,EAAEH,GAAG,EAAS,UAAUjE,GAAG,EAAEsE,EAAE,EAAEC,IAAI,EAAE;QAC1D,IAAID,EAAE,EAAE;UACNb,UAAU,CAACY,GAAG,EAAEF,GAAG,EAAET,QAAQ,CAAC;QAChC,CAAC,MAAM;UACLA,QAAQ,CAAC1D,GAAG,EAAEsE,EAAE,EAAEC,IAAI,CAAC;QACzB;MACF,CAAC,CAAC;IACJ;IAEAd,UAAU,CAACZ,EAAE,EAAEQ,EAAE,EAAS,UAAUrD,GAAG,EAAEsE,EAAE,EAAEC,IAAI,EAAE;MACjD;MACA,IAAID,EAAE,EAAE;QACN1C,KAAK,CAACgB,QAAQ,GAAG,KAAK;QACtBhB,KAAK,CAACxC,YAAY,CAAC,OAAO,EAAEV,KAAK,CAAC;MACpC,CAAC,MAAM;QACLH,GAAG,CAACO,WAAW,CAAC,IAAAY,wBAAiB,EAACrB,GAAG,EAAEkG,IAAI,CAAC,CAAC;MAC/C;MACApD,gBAAgB,CAACmD,EAAE,EAAEC,IAAI,CAAC;IAC5B,CAAC,CAAC;EACJ,CAAC,EACD,IACF,CAAC;EACD,OAAOhG,GAAG;AACZ"}
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
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
|
-
}),
|
|
59
|
+
}), ns.ui('SingleLineTextField').uri, {}), ns.ui('NamedNodeURIField').uri, {
|
|
60
60
|
namedNode: true
|
|
61
|
-
}), (0, _defineProperty2["default"])(
|
|
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
|
-
}),
|
|
65
|
+
}), ns.ui('EmailField').uri, {
|
|
66
66
|
size: 30,
|
|
67
67
|
uriPrefix: 'mailto:',
|
|
68
68
|
pattern: /^\s*.*@.*\..*\s*$/ // @@ Get the right regexp here
|
|
69
|
-
}),
|
|
69
|
+
}), ns.ui('Group').uri, {
|
|
70
70
|
style: _style.formGroupStyle
|
|
71
|
-
}),
|
|
71
|
+
}), ns.ui('Comment').uri, {
|
|
72
72
|
element: 'p',
|
|
73
|
-
style: _style.commentStyle
|
|
74
|
-
}),
|
|
73
|
+
style: _style.commentStyle
|
|
74
|
+
}), ns.ui('Heading').uri, {
|
|
75
75
|
element: 'h3',
|
|
76
|
-
style: _style.formHeadingStyle
|
|
77
|
-
})
|
|
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
|
|
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
|
package/lib/widgets/forms.js
CHANGED
|
@@ -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
|
-
|
|
99
|
-
|
|
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 =
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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.
|
|
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.
|
|
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.
|
|
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 {
|