solid-ui 2.4.28-a4f5fbef → 2.4.28-cdaefc01

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.
@@ -1 +1 @@
1
- {"version":3,"file":"autocompletePicker.js","names":["debug","_interopRequireWildcard","require","style","_styleConstants","_interopRequireDefault","widgets","_solidLogic","_publicData","_language","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","AUTOCOMPLETE_THRESHOLD","AUTOCOMPLETE_ROWS","AUTOCOMPLETE_ROWS_STRETCH","setVisible","element","visible","display","renderAutoComplete","_x","_x2","_x3","_x4","_renderAutoComplete","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee8","dom","acOptions","decoration","callback","complain","finish","gotIt","_gotIt","acceptButtonHandler","_acceptButtonHandler","cancelButtonHandler","_cancelButtonHandler","nameMatch","clearList","inputEventHHandler","_inputEventHHandler","loadBindingsAndFilterByLanguage","_loadBindingsAndFilterByLanguage","filterByName","refreshList","_refreshList","initialize","targetClass","lastBindings","loadedEnough","inputEventHandlerLock","allDisplayed","lastFilter","numberOfRows","div","foundName","foundObject","table","head","cell","searchInput","size","searchInputStyle","wrap","_callee8$","_context8","prev","_initialize","currentObject","currentName","undefined","deleteButton","acceptButton","editButton","cancelButton","_refreshList3","_callee7","rowForBinding","compareBindingsByName","languagePrefs","filter","slimmed","displayable","_iterator","_step","binding","_callee7$","_context7","_compareBindingsByNam","self","other","_rowForBinding","row","createElement","setStyle","setAttribute","color","textContent","object","bindingToTerm","subject","nameTerm","addEventListener","_ref","_callee6","_event","_callee6$","_context6","log","stop","_x12","concat","abrupt","getPreferredLanguages","sent","trim","toLowerCase","startsWith","sort","appendChild","_refreshList2","_filterByName","bindings","_loadBindingsAndFilte2","_callee5","_callee5$","_context5","queryPublicDataByName","defaultPreferredLanguages","queryParams","t0","AUTOCOMPLETE_LIMIT","filterByLanguage","_loadBindingsAndFilte","_x10","_x11","_inputEventHHandler3","_callee4","_callee4$","_context4","_inputEventHHandler2","_x9","_clearList","children","removeChild","lastChild","_nameMatch","candidate","parts","split","j","word","indexOf","_cancelButtonHandler3","_callee3","_callee3$","_context3","permanent","parentNode","_cancelButtonHandler2","_x8","_acceptButtonHandler3","_callee2","_callee2$","_context2","_acceptButtonHandler2","_x7","_gotIt3","_callee","_callee$","_context","disbaled","_gotIt2","_x5","_x6","_finish","termType","objectURIBase","store","sym","_complain","message","errorRow","Error","errorMessageBlock","padding","styleConstants","textInputSize","textInputStyle","event","keyCode"],"sources":["../../../../src/widgets/forms/autocomplete/autocompletePicker.ts"],"sourcesContent":["/* Autocomplete Picker: Create and edit data using public data\n**\n** As the data source is passed as a parameter, all kinds of APIa and query services can be used\n**\n*/\nimport * as debug from '../../../debug'\nimport * as style from '../../../style'\nimport styleConstants from '../../../styleConstants'\nimport * as widgets from '../../../widgets'\nimport { store } from 'solid-logic'\nimport { NamedNode, Literal } from 'rdflib'\nimport { queryPublicDataByName, bindingToTerm, AUTOCOMPLETE_LIMIT, QueryParameters } from './publicData'\nimport { filterByLanguage, getPreferredLanguages, defaultPreferredLanguages } from './language'\n\nconst AUTOCOMPLETE_THRESHOLD = 4 // don't check until this many characters typed\nconst AUTOCOMPLETE_ROWS = 20 // 20?\nconst AUTOCOMPLETE_ROWS_STRETCH = 40\n\n/*\nAutocomplete happens in 6 phases:\n 1. The search string is too small to bother\n 2. The search string is big enough, and we have not loaded the array\n 3. The search string is big enough, and we have loaded array up to the limit\n Display them and wait for more user input\n 4. The search string is big enough, and we have loaded array NOT to the limit\n but including all matches. No more fetches.\n If user gets more precise, wait for them to select one - or reduce to a single\n 5. Single one selected. Optionally waiting for accept button to be pressed, OR can change string and go to 5 or 2\n 6. Locked with a value. Press 'edit' button to return to 5\n*/\n\nexport type AutocompleteDecoration = {\n acceptButton?: HTMLElement,\n cancelButton: HTMLElement, // Must have cancel button\n editButton?: HTMLElement,\n deleteButton?: HTMLElement\n}\nexport type AutocompleteOptions = {\n targetClass?: NamedNode,\n currentObject?: NamedNode,\n currentName?: Literal,\n queryParams: QueryParameters,\n size?: number,\n permanent?: boolean\n}\n\ninterface Callback1 {\n (_subject: NamedNode, _name: Literal): any;\n}\n\nexport function setVisible (element:HTMLElement, visible:boolean) {\n element.style.display = visible ? '' : 'none' // Do not use visibility, it holds the real estate\n}\n\n// The core of the autocomplete UI\nexport async function renderAutoComplete (dom: HTMLDocument,\n acOptions:AutocompleteOptions,\n decoration: AutocompleteDecoration,\n callback: Callback1) {\n function complain (message) {\n const errorRow = table.appendChild(dom.createElement('tr'))\n debug.log(message)\n const err = new Error(message)\n errorRow.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n // errorMessageBlock will log the stack to the console\n style.setStyle(errorRow, 'autocompleteRowStyle')\n errorRow.style.padding = '1em'\n }\n\n function finish (object, name) {\n debug.log('Auto complete: finish! ' + object)\n if (object.termType === 'Literal' && acOptions.queryParams.objectURIBase) {\n object = store.sym(acOptions.queryParams.objectURIBase.value + object.value)\n }\n // remove(decoration.cancelButton)\n // remove(decoration.acceptButton)\n // remove(div)\n clearList()\n callback(object, name)\n }\n async function gotIt (object:NamedNode | Literal, name: Literal) {\n if (decoration.acceptButton) {\n (decoration.acceptButton as any).disbaled = false\n setVisible(decoration.acceptButton, true) // now wait for confirmation\n searchInput.value = name.value // complete it\n foundName = name\n foundObject = object\n debug.log('Auto complete: name: ' + name)\n debug.log('Auto complete: waiting for accept ' + object)\n clearList() // This may be an option - nice and clean but does not allow change of mind\n return\n }\n setVisible(decoration.cancelButton, true)\n finish(object, name)\n }\n\n async function acceptButtonHandler (_event) {\n if (foundName && searchInput.value === foundName.value) { // still\n finish(foundObject, foundName)\n }\n }\n\n async function cancelButtonHandler (_event) {\n debug.log('Auto complete: Canceled by user! ')\n if (acOptions.permanent) {\n initialize()\n } else {\n if (div.parentNode) {\n div.parentNode.removeChild(div)\n }\n }\n }\n\n function nameMatch (filter:string, candidate: string):boolean {\n const parts = filter.split(' ') // Each name part must be somewhere\n for (let j = 0; j < parts.length; j++) {\n const word = parts[j]\n if (candidate.toLowerCase().indexOf(word) < 0) return false\n }\n return true\n }\n\n function clearList () {\n while (table.children.length > 1) {\n table.removeChild(table.lastChild as Node)\n }\n }\n\n async function inputEventHHandler (_event) {\n // console.log('@@ AC inputEventHHandler called')\n setVisible(decoration.cancelButton, true) // only allow cancel when there is something to cancel\n refreshList() /// @@ debounqce does not work with jest\n /*\n if (runningTimeout) {\n clearTimeout(runningTimeout)\n }\n runningTimeout = setTimeout(refreshList, AUTOCOMPLETE_DEBOUNCE_MS)\n */\n }\n\n async function loadBindingsAndFilterByLanguage (filter, languagePrefs) {\n // console.log('@@ loadBindingsAndFilterByLanguage ' + filter)\n let bindings\n try {\n bindings = await queryPublicDataByName(filter, targetClass as any,\n languagePrefs || defaultPreferredLanguages, acOptions.queryParams)\n } catch (err) {\n complain('Error querying db of organizations: ' + err)\n inputEventHandlerLock = false\n return\n }\n loadedEnough = bindings.length < AUTOCOMPLETE_LIMIT\n if (loadedEnough) {\n lastFilter = filter\n } else {\n lastFilter = undefined\n }\n clearList()\n const slimmed = filterByLanguage(bindings, languagePrefs)\n return slimmed\n }\n\n function filterByName (filter, bindings) {\n return bindings.filter(binding => nameMatch(filter, binding.name.value))\n }\n\n async function refreshList () {\n // console.log('@@ refreshList called')\n function rowForBinding (binding) {\n const row = dom.createElement('tr')\n style.setStyle(row, 'autocompleteRowStyle')\n row.setAttribute('style', 'padding: 0.3em;')\n row.style.color = allDisplayed ? '#080' : '#088' // green means 'you should find it here'\n row.textContent = binding.name.value\n const object = bindingToTerm(binding.subject)\n const nameTerm = bindingToTerm(binding.name)\n row.addEventListener('click', async _event => {\n debug.log(' click row textContent: ' + row.textContent)\n debug.log(' click name: ' + nameTerm.value)\n if (object && nameTerm) {\n gotIt(object, nameTerm as Literal)\n }\n })\n return row\n } // rowForBinding\n function compareBindingsByName (self, other) {\n return other.name.value > self.name.value\n ? 1\n : other.name.name < self.name.value ? -1 : 0\n }\n\n if (inputEventHandlerLock) {\n debug.log(`Ignoring \"${searchInput.value}\" because of lock `)\n return\n }\n debug.log(`Setting lock at \"${searchInput.value}\"`)\n\n inputEventHandlerLock = true\n const languagePrefs = await getPreferredLanguages()\n const filter = searchInput.value.trim().toLowerCase()\n if (filter.length < AUTOCOMPLETE_THRESHOLD) { // too small\n clearList()\n // candidatesLoaded = false\n numberOfRows = AUTOCOMPLETE_ROWS\n } else {\n if (!allDisplayed || !lastFilter || !filter.startsWith(lastFilter)) {\n debug.log(` Querying database at \"${filter}\" cf last \"${lastFilter}\".`)\n lastBindings = await loadBindingsAndFilterByLanguage(filter, languagePrefs) // freesh query\n }\n // Trim table as search gets tighter:\n const slimmed = filterByName(filter, lastBindings)\n if (loadedEnough && slimmed.length <= AUTOCOMPLETE_ROWS_STRETCH) {\n numberOfRows = slimmed.length // stretch if it means we get all items\n }\n allDisplayed = loadedEnough && slimmed.length <= numberOfRows\n debug.log(` Filter:\"${filter}\" lastBindings: ${lastBindings.length}, slimmed to ${slimmed.length}; rows: ${numberOfRows}, Enough? ${loadedEnough}, All displayed? ${allDisplayed}`)\n\n const displayable = slimmed.slice(0, numberOfRows)\n\n displayable.sort(compareBindingsByName)\n clearList()\n for (const binding of displayable) {\n table.appendChild(rowForBinding(binding))\n }\n if (slimmed.length === 1) {\n gotIt(bindingToTerm(slimmed[0].subject), bindingToTerm(slimmed[0].name) as Literal)\n }\n } // else\n inputEventHandlerLock = false\n } // refreshList\n\n function initialize () {\n if (acOptions.currentObject) { // If have existing value then jump into the endgame of the autocomplete\n searchInput.value = acOptions.currentName ? acOptions.currentName.value : '??? wot no name for ' + acOptions.currentObject\n foundName = acOptions.currentName\n lastFilter = acOptions.currentName ? acOptions.currentName.value : undefined\n foundObject = acOptions.currentObject\n } else {\n searchInput.value = ''\n lastFilter = undefined\n foundObject = undefined\n }\n if (decoration.deleteButton) {\n setVisible(decoration.deleteButton, !!acOptions.currentObject)\n }\n\n if (decoration.acceptButton) {\n setVisible(decoration.acceptButton, false) // hide until input complete\n }\n if (decoration.editButton) {\n setVisible(decoration.editButton, true)\n }\n if (decoration.cancelButton) {\n setVisible(decoration.cancelButton, false) // only allow cancel when there is something to cancel\n }\n inputEventHandlerLock = false\n clearList()\n } // initialiize\n\n // const queryParams: QueryParameters = acOptions.queryParams\n const targetClass = acOptions.targetClass\n if (!targetClass) throw new Error('renderAutoComplete: missing targetClass')\n // console.log(`renderAutoComplete: targetClass=${targetClass}` )\n if (decoration.acceptButton) {\n decoration.acceptButton.addEventListener('click', acceptButtonHandler, false)\n }\n if (decoration.cancelButton) {\n decoration.cancelButton.addEventListener('click', cancelButtonHandler, false)\n }\n\n // var candidatesLoaded = false\n let lastBindings\n let loadedEnough = false\n let inputEventHandlerLock = false\n let allDisplayed = false\n let lastFilter = undefined as (string | undefined)\n let numberOfRows = AUTOCOMPLETE_ROWS // this gets slimmed down\n const div = dom.createElement('div')\n let foundName = undefined as (Literal | undefined)// once found accepted string must match this\n let foundObject = undefined as (NamedNode | Literal | undefined)\n const table = div.appendChild(dom.createElement('table'))\n table.setAttribute('data-testid', 'autocomplete-table')\n table.setAttribute('style', 'max-width: 30em; margin: 0.5em;')\n const head = table.appendChild(dom.createElement('tr'))\n style.setStyle(head, 'autocompleteRowStyle') // textInputStyle or\n const cell = head.appendChild(dom.createElement('td'))\n const searchInput = cell.appendChild(dom.createElement('input'))\n searchInput.setAttribute('type', 'text')\n\n initialize()\n\n const size = acOptions.size || styleConstants.textInputSize || 20\n searchInput.setAttribute('size', size)\n searchInput.setAttribute('data-testid', 'autocomplete-input')\n\n const searchInputStyle = style.textInputStyle || // searchInputStyle ?\n 'border: 0.1em solid #444; border-radius: 0.5em; width: 100%; font-size: 100%; padding: 0.1em 0.6em' // @\n searchInput.setAttribute('style', searchInputStyle)\n searchInput.addEventListener('keyup', function (event) {\n if (event.keyCode === 13) {\n acceptButtonHandler(event)\n }\n }, false)\n\n searchInput.addEventListener('input', inputEventHHandler)\n // console.log('@@ renderAutoComplete returns ' + div.innerHTML)\n return div\n} // renderAutoComplete\n\n// ENDS\n"],"mappings":"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"}
1
+ {"version":3,"file":"autocompletePicker.js","names":["debug","_interopRequireWildcard","require","style","widgets","_solidLogic","_publicData","_language","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","AUTOCOMPLETE_THRESHOLD","AUTOCOMPLETE_ROWS","AUTOCOMPLETE_ROWS_STRETCH","setVisible","element","visible","display","renderAutoComplete","_x","_x2","_x3","_x4","_renderAutoComplete","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee8","dom","acOptions","decoration","callback","complain","finish","gotIt","_gotIt","acceptButtonHandler","_acceptButtonHandler","cancelButtonHandler","_cancelButtonHandler","nameMatch","clearList","inputEventHHandler","_inputEventHHandler","loadBindingsAndFilterByLanguage","_loadBindingsAndFilterByLanguage","filterByName","refreshList","_refreshList","initialize","targetClass","lastBindings","loadedEnough","inputEventHandlerLock","allDisplayed","lastFilter","numberOfRows","div","foundName","foundObject","table","head","cell","searchInput","size","searchInputStyle","wrap","_callee8$","_context8","prev","_initialize","currentObject","currentName","undefined","deleteButton","acceptButton","editButton","cancelButton","_refreshList3","_callee7","rowForBinding","compareBindingsByName","languagePrefs","filter","slimmed","displayable","_iterator","_step","binding","_callee7$","_context7","_compareBindingsByNam","self","other","_rowForBinding","row","createElement","setStyle","setAttribute","color","textContent","object","bindingToTerm","subject","nameTerm","addEventListener","_ref","_callee6","_event","_callee6$","_context6","log","stop","_x12","concat","abrupt","getPreferredLanguages","sent","trim","toLowerCase","startsWith","sort","appendChild","_refreshList2","_filterByName","bindings","_loadBindingsAndFilte2","_callee5","_callee5$","_context5","queryPublicDataByName","defaultPreferredLanguages","queryParams","t0","AUTOCOMPLETE_LIMIT","filterByLanguage","_loadBindingsAndFilte","_x10","_x11","_inputEventHHandler3","_callee4","_callee4$","_context4","_inputEventHHandler2","_x9","_clearList","children","removeChild","lastChild","_nameMatch","candidate","parts","split","j","word","indexOf","_cancelButtonHandler3","_callee3","_callee3$","_context3","permanent","parentNode","_cancelButtonHandler2","_x8","_acceptButtonHandler3","_callee2","_callee2$","_context2","_acceptButtonHandler2","_x7","_gotIt3","_callee","_callee$","_context","disbaled","_gotIt2","_x5","_x6","_finish","termType","objectURIBase","store","sym","_complain","message","errorRow","Error","errorMessageBlock","padding","textInputSize","textInputStyle","event","keyCode"],"sources":["../../../../src/widgets/forms/autocomplete/autocompletePicker.ts"],"sourcesContent":["/* Autocomplete Picker: Create and edit data using public data\n**\n** As the data source is passed as a parameter, all kinds of APIa and query services can be used\n**\n*/\nimport * as debug from '../../../debug'\nimport * as style from '../../../style'\nimport * as widgets from '../../../widgets'\nimport { store } from 'solid-logic'\nimport { NamedNode, Literal } from 'rdflib'\nimport { queryPublicDataByName, bindingToTerm, AUTOCOMPLETE_LIMIT, QueryParameters } from './publicData'\nimport { filterByLanguage, getPreferredLanguages, defaultPreferredLanguages } from './language'\n\nconst AUTOCOMPLETE_THRESHOLD = 4 // don't check until this many characters typed\nconst AUTOCOMPLETE_ROWS = 20 // 20?\nconst AUTOCOMPLETE_ROWS_STRETCH = 40\n\n/*\nAutocomplete happens in 6 phases:\n 1. The search string is too small to bother\n 2. The search string is big enough, and we have not loaded the array\n 3. The search string is big enough, and we have loaded array up to the limit\n Display them and wait for more user input\n 4. The search string is big enough, and we have loaded array NOT to the limit\n but including all matches. No more fetches.\n If user gets more precise, wait for them to select one - or reduce to a single\n 5. Single one selected. Optionally waiting for accept button to be pressed, OR can change string and go to 5 or 2\n 6. Locked with a value. Press 'edit' button to return to 5\n*/\n\nexport type AutocompleteDecoration = {\n acceptButton?: HTMLElement,\n cancelButton: HTMLElement, // Must have cancel button\n editButton?: HTMLElement,\n deleteButton?: HTMLElement\n}\nexport type AutocompleteOptions = {\n targetClass?: NamedNode,\n currentObject?: NamedNode,\n currentName?: Literal,\n queryParams: QueryParameters,\n size?: number,\n permanent?: boolean\n}\n\ninterface Callback1 {\n (_subject: NamedNode, _name: Literal): any;\n}\n\nexport function setVisible (element:HTMLElement, visible:boolean) {\n element.style.display = visible ? '' : 'none' // Do not use visibility, it holds the real estate\n}\n\n// The core of the autocomplete UI\nexport async function renderAutoComplete (dom: HTMLDocument,\n acOptions:AutocompleteOptions,\n decoration: AutocompleteDecoration,\n callback: Callback1) {\n function complain (message) {\n const errorRow = table.appendChild(dom.createElement('tr'))\n debug.log(message)\n const err = new Error(message)\n errorRow.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n // errorMessageBlock will log the stack to the console\n style.setStyle(errorRow, 'autocompleteRowStyle')\n errorRow.style.padding = '1em'\n }\n\n function finish (object, name) {\n debug.log('Auto complete: finish! ' + object)\n if (object.termType === 'Literal' && acOptions.queryParams.objectURIBase) {\n object = store.sym(acOptions.queryParams.objectURIBase.value + object.value)\n }\n // remove(decoration.cancelButton)\n // remove(decoration.acceptButton)\n // remove(div)\n clearList()\n callback(object, name)\n }\n async function gotIt (object:NamedNode | Literal, name: Literal) {\n if (decoration.acceptButton) {\n (decoration.acceptButton as any).disbaled = false\n setVisible(decoration.acceptButton, true) // now wait for confirmation\n searchInput.value = name.value // complete it\n foundName = name\n foundObject = object\n debug.log('Auto complete: name: ' + name)\n debug.log('Auto complete: waiting for accept ' + object)\n clearList() // This may be an option - nice and clean but does not allow change of mind\n return\n }\n setVisible(decoration.cancelButton, true)\n finish(object, name)\n }\n\n async function acceptButtonHandler (_event) {\n if (foundName && searchInput.value === foundName.value) { // still\n finish(foundObject, foundName)\n }\n }\n\n async function cancelButtonHandler (_event) {\n debug.log('Auto complete: Canceled by user! ')\n if (acOptions.permanent) {\n initialize()\n } else {\n if (div.parentNode) {\n div.parentNode.removeChild(div)\n }\n }\n }\n\n function nameMatch (filter:string, candidate: string):boolean {\n const parts = filter.split(' ') // Each name part must be somewhere\n for (let j = 0; j < parts.length; j++) {\n const word = parts[j]\n if (candidate.toLowerCase().indexOf(word) < 0) return false\n }\n return true\n }\n\n function clearList () {\n while (table.children.length > 1) {\n table.removeChild(table.lastChild as Node)\n }\n }\n\n async function inputEventHHandler (_event) {\n // console.log('@@ AC inputEventHHandler called')\n setVisible(decoration.cancelButton, true) // only allow cancel when there is something to cancel\n refreshList() /// @@ debounqce does not work with jest\n /*\n if (runningTimeout) {\n clearTimeout(runningTimeout)\n }\n runningTimeout = setTimeout(refreshList, AUTOCOMPLETE_DEBOUNCE_MS)\n */\n }\n\n async function loadBindingsAndFilterByLanguage (filter, languagePrefs) {\n // console.log('@@ loadBindingsAndFilterByLanguage ' + filter)\n let bindings\n try {\n bindings = await queryPublicDataByName(filter, targetClass as any,\n languagePrefs || defaultPreferredLanguages, acOptions.queryParams)\n } catch (err) {\n complain('Error querying db of organizations: ' + err)\n inputEventHandlerLock = false\n return\n }\n loadedEnough = bindings.length < AUTOCOMPLETE_LIMIT\n if (loadedEnough) {\n lastFilter = filter\n } else {\n lastFilter = undefined\n }\n clearList()\n const slimmed = filterByLanguage(bindings, languagePrefs)\n return slimmed\n }\n\n function filterByName (filter, bindings) {\n return bindings.filter(binding => nameMatch(filter, binding.name.value))\n }\n\n async function refreshList () {\n // console.log('@@ refreshList called')\n function rowForBinding (binding) {\n const row = dom.createElement('tr')\n style.setStyle(row, 'autocompleteRowStyle')\n row.setAttribute('style', 'padding: 0.3em;')\n row.style.color = allDisplayed ? '#080' : '#088' // green means 'you should find it here'\n row.textContent = binding.name.value\n const object = bindingToTerm(binding.subject)\n const nameTerm = bindingToTerm(binding.name)\n row.addEventListener('click', async _event => {\n debug.log(' click row textContent: ' + row.textContent)\n debug.log(' click name: ' + nameTerm.value)\n if (object && nameTerm) {\n gotIt(object, nameTerm as Literal)\n }\n })\n return row\n } // rowForBinding\n function compareBindingsByName (self, other) {\n return other.name.value > self.name.value\n ? 1\n : other.name.name < self.name.value ? -1 : 0\n }\n\n if (inputEventHandlerLock) {\n debug.log(`Ignoring \"${searchInput.value}\" because of lock `)\n return\n }\n debug.log(`Setting lock at \"${searchInput.value}\"`)\n\n inputEventHandlerLock = true\n const languagePrefs = await getPreferredLanguages()\n const filter = searchInput.value.trim().toLowerCase()\n if (filter.length < AUTOCOMPLETE_THRESHOLD) { // too small\n clearList()\n // candidatesLoaded = false\n numberOfRows = AUTOCOMPLETE_ROWS\n } else {\n if (!allDisplayed || !lastFilter || !filter.startsWith(lastFilter)) {\n debug.log(` Querying database at \"${filter}\" cf last \"${lastFilter}\".`)\n lastBindings = await loadBindingsAndFilterByLanguage(filter, languagePrefs) // freesh query\n }\n // Trim table as search gets tighter:\n const slimmed = filterByName(filter, lastBindings)\n if (loadedEnough && slimmed.length <= AUTOCOMPLETE_ROWS_STRETCH) {\n numberOfRows = slimmed.length // stretch if it means we get all items\n }\n allDisplayed = loadedEnough && slimmed.length <= numberOfRows\n debug.log(` Filter:\"${filter}\" lastBindings: ${lastBindings.length}, slimmed to ${slimmed.length}; rows: ${numberOfRows}, Enough? ${loadedEnough}, All displayed? ${allDisplayed}`)\n\n const displayable = slimmed.slice(0, numberOfRows)\n\n displayable.sort(compareBindingsByName)\n clearList()\n for (const binding of displayable) {\n table.appendChild(rowForBinding(binding))\n }\n if (slimmed.length === 1) {\n gotIt(bindingToTerm(slimmed[0].subject), bindingToTerm(slimmed[0].name) as Literal)\n }\n } // else\n inputEventHandlerLock = false\n } // refreshList\n\n function initialize () {\n if (acOptions.currentObject) { // If have existing value then jump into the endgame of the autocomplete\n searchInput.value = acOptions.currentName ? acOptions.currentName.value : '??? wot no name for ' + acOptions.currentObject\n foundName = acOptions.currentName\n lastFilter = acOptions.currentName ? acOptions.currentName.value : undefined\n foundObject = acOptions.currentObject\n } else {\n searchInput.value = ''\n lastFilter = undefined\n foundObject = undefined\n }\n if (decoration.deleteButton) {\n setVisible(decoration.deleteButton, !!acOptions.currentObject)\n }\n\n if (decoration.acceptButton) {\n setVisible(decoration.acceptButton, false) // hide until input complete\n }\n if (decoration.editButton) {\n setVisible(decoration.editButton, true)\n }\n if (decoration.cancelButton) {\n setVisible(decoration.cancelButton, false) // only allow cancel when there is something to cancel\n }\n inputEventHandlerLock = false\n clearList()\n } // initialiize\n\n // const queryParams: QueryParameters = acOptions.queryParams\n const targetClass = acOptions.targetClass\n if (!targetClass) throw new Error('renderAutoComplete: missing targetClass')\n // console.log(`renderAutoComplete: targetClass=${targetClass}` )\n if (decoration.acceptButton) {\n decoration.acceptButton.addEventListener('click', acceptButtonHandler, false)\n }\n if (decoration.cancelButton) {\n decoration.cancelButton.addEventListener('click', cancelButtonHandler, false)\n }\n\n // var candidatesLoaded = false\n let lastBindings\n let loadedEnough = false\n let inputEventHandlerLock = false\n let allDisplayed = false\n let lastFilter = undefined as (string | undefined)\n let numberOfRows = AUTOCOMPLETE_ROWS // this gets slimmed down\n const div = dom.createElement('div')\n let foundName = undefined as (Literal | undefined)// once found accepted string must match this\n let foundObject = undefined as (NamedNode | Literal | undefined)\n const table = div.appendChild(dom.createElement('table'))\n table.setAttribute('data-testid', 'autocomplete-table')\n table.setAttribute('style', 'max-width: 30em; margin: 0.5em;')\n const head = table.appendChild(dom.createElement('tr'))\n style.setStyle(head, 'autocompleteRowStyle') // textInputStyle or\n const cell = head.appendChild(dom.createElement('td'))\n const searchInput = cell.appendChild(dom.createElement('input'))\n searchInput.setAttribute('type', 'text')\n\n initialize()\n\n const size = acOptions.size || style.textInputSize || 20\n searchInput.setAttribute('size', size)\n searchInput.setAttribute('data-testid', 'autocomplete-input')\n\n const searchInputStyle = style.textInputStyle || // searchInputStyle ?\n 'border: 0.1em solid #444; border-radius: 0.5em; width: 100%; font-size: 100%; padding: 0.1em 0.6em' // @\n searchInput.setAttribute('style', searchInputStyle)\n searchInput.addEventListener('keyup', function (event) {\n if (event.keyCode === 13) {\n acceptButtonHandler(event)\n }\n }, false)\n\n searchInput.addEventListener('input', inputEventHHandler)\n // console.log('@@ renderAutoComplete returns ' + div.innerHTML)\n return div\n} // renderAutoComplete\n\n// ENDS\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/widgets/forms/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,SAAS,EAAE,IAAI,EAAM,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAcjF,wBAAgB,mBAAmB,CAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAE,WAAW,CAoBhI;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,eAAe,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,CAYzH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAczJ;AAED;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,UAAU,CACxB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,OAAO,KAAA,EACP,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,EACzC,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,GAC9D,WAAW,CA6Jb"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/widgets/forms/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,SAAS,EAAE,IAAI,EAAM,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAajF,wBAAgB,mBAAmB,CAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAE,WAAW,CAoBhI;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,eAAe,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,CAYzH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAE,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAczJ;AAED;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,UAAU,CACxB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,OAAO,KAAA,EACP,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,EACzC,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,GAC9D,WAAW,CA8Jb"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
@@ -13,7 +12,6 @@ var _rdflib = require("rdflib");
13
12
  var _solidLogic = require("solid-logic");
14
13
  var ns = _interopRequireWildcard(require("../../ns"));
15
14
  var _style = require("../../style");
16
- var _styleConstants = _interopRequireDefault(require("../../styleConstants"));
17
15
  var _utils = require("../../utils");
18
16
  var _error = require("../error");
19
17
  var _fieldFunction = require("./fieldFunction");
@@ -29,7 +27,7 @@ function renderNameValuePair(dom, kb, box, form, label) {
29
27
  box.style.display = 'flex';
30
28
  box.style.flexDirection = 'row';
31
29
  var lhs = box.appendChild(dom.createElement('div'));
32
- lhs.style.width = _styleConstants["default"].formFieldNameBoxWidth;
30
+ lhs.style.width = _style.formFieldNameBoxWidth;
33
31
  var rhs = box.appendChild(dom.createElement('div'));
34
32
  lhs.setAttribute('class', 'formFieldName');
35
33
  lhs.setAttribute('style', _style.formFieldNameBoxStyle);
@@ -134,10 +132,10 @@ function basicField(dom, container, already, subject, form, doc, callbackFunctio
134
132
  field.style = style;
135
133
  rhs.appendChild(field);
136
134
  field.setAttribute('type', params.type ? params.type : 'text');
137
- var size = kb.anyJS(form, ns.ui('size')) || _styleConstants["default"].textInputSize || 20;
135
+ var size = kb.anyJS(form, ns.ui('size')) || _style.textInputSize || 20;
138
136
  field.setAttribute('size', size);
139
137
  var maxLength = kb.any(form, ns.ui('maxLength'));
140
- field.setAttribute('maxLength', maxLength ? '' + maxLength : _styleConstants["default"].basicMaxLength);
138
+ field.setAttribute('maxLength', maxLength ? '' + maxLength : '4096');
141
139
  doc = doc || fieldStore(subject, property, doc);
142
140
  var obj = kb.any(subject, property, undefined, doc);
143
141
  if (!obj) {
@@ -159,6 +157,7 @@ function basicField(dom, container, already, subject, form, doc, callbackFunctio
159
157
  field.readOnly = true // was: disabled. readOnly is better
160
158
  ;
161
159
  field.style = _style.textInputStyleUneditable + paramStyle;
160
+ // backgroundColor = textInputBackgroundColorUneditable
162
161
  if (suppressEmptyUneditable && field.value === '') {
163
162
  box.style.display = 'none'; // clutter
164
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","names":["_rdflib","require","_solidLogic","ns","_interopRequireWildcard","_style","_styleConstants","_interopRequireDefault","_utils","_error","_fieldFunction","_fieldParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","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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"}
1
+ {"version":3,"file":"basic.js","names":["_rdflib","require","_solidLogic","ns","_interopRequireWildcard","_style","_utils","_error","_fieldFunction","_fieldParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","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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"}
@@ -70,10 +70,10 @@ var fieldParams = (_fieldParams = {}, (0, _defineProperty2["default"])(_fieldPar
70
70
  style: _style.formGroupStyle
71
71
  }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('Comment').uri, {
72
72
  element: 'p',
73
- style: _style.commentStyle
73
+ style: _style.commentStyle // was `padding: 0.1em 1.5em; color: ${formHeadingColor}; white-space: pre-wrap;`
74
74
  }), (0, _defineProperty2["default"])(_fieldParams, ns.ui('Heading').uri, {
75
75
  element: 'h3',
76
- style: _style.formHeadingStyle
76
+ style: _style.formHeadingStyle // was: `font-size: 110%; font-weight: bold; color: ${formHeadingColor}; padding: 0.2em;`
77
77
  }), _fieldParams);
78
78
  exports.fieldParams = fieldParams;
79
79
  //# sourceMappingURL=fieldParams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fieldParams.js","names":["ns","_interopRequireWildcard","require","_style","_fieldParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fieldParams","_defineProperty2","ui","uri","size","type","style","dt","pattern","namedNode","uriPrefix","formGroupStyle","element","commentStyle","formHeadingStyle","exports"],"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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"}
1
+ {"version":3,"file":"fieldParams.js","names":["ns","_interopRequireWildcard","require","_style","_fieldParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fieldParams","_defineProperty2","ui","uri","size","type","style","dt","pattern","namedNode","uriPrefix","formGroupStyle","element","commentStyle","formHeadingStyle","exports"],"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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"}
@@ -81,7 +81,6 @@ 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"));
85
84
  var _iconBase = require("../iconBase");
86
85
  var log = _interopRequireWildcard(require("../log"));
87
86
  var ns = _interopRequireWildcard(require("../ns"));
@@ -767,7 +766,7 @@ _fieldFunction.field[ns.ui('MultiLineTextField').uri] = function (dom, container
767
766
  box.style.display = 'flex';
768
767
  box.style.flexDirection = 'row';
769
768
  var left = box.appendChild(dom.createElement('div'));
770
- left.style.width = _styleConstants["default"].formFieldNameBoxWidth;
769
+ left.style.width = style.formFieldNameBoxWidth;
771
770
  var right = box.appendChild(dom.createElement('div'));
772
771
  left.appendChild((0, _basic.fieldLabel)(dom, property, form));
773
772
  dataDoc = (0, _basic.fieldStore)(subject, property, dataDoc);
@@ -1194,7 +1193,7 @@ function promptForNew(dom, kb, subject, predicate, theClass, form, dataDoc, call
1194
1193
  }
1195
1194
 
1196
1195
  log.debug('form is ' + form);
1197
- box.setAttribute('style', "border: 0.05em solid ".concat(_styleConstants["default"].formBorderColor, "; color: ").concat(_styleConstants["default"].formBorderColor)); // @@color?
1196
+ box.setAttribute('style', "border: 0.05em solid ".concat(style.formBorderColor, "; color: ").concat(style.formBorderColor)); // @@color?
1198
1197
  box.innerHTML = '<h3>New ' + utils.label(theClass) + '</h3>';
1199
1198
  var formFunction = (0, _fieldFunction.fieldFunction)(dom, form);
1200
1199
  var object = newThing(dataDoc);
@@ -1255,12 +1254,12 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
1255
1254
  submit.disabled = true;
1256
1255
  submit.setAttribute('style', 'visibility: hidden; float: right;'); // Keep UI clean
1257
1256
  field.disabled = true;
1258
- field.style.color = _styleConstants["default"].textInputColorPending;
1257
+ field.style.color = style.textInputColorPending; // setAttribute('style', style + 'color: gray;') // pending
1259
1258
  var ds = kb.statementsMatching(subject, predicate, null, dataDoc);
1260
1259
  var is = $rdf.st(subject, predicate, field.value, dataDoc);
1261
1260
  kb.updater.update(ds, is, function (uri, ok, body) {
1262
1261
  if (ok) {
1263
- field.style.color = _styleConstants["default"].textInputColor;
1262
+ field.style.color = style.textInputColor;
1264
1263
  field.disabled = false;
1265
1264
  } else {
1266
1265
  group.appendChild((0, _error.errorMessageBlock)(dom, 'Error (while saving change to ' + dataDoc.uri + '): ' + body));
@@ -1289,7 +1288,7 @@ function makeDescription(dom, kb, subject, predicate, dataDoc, callbackFunction)
1289
1288
  field.addEventListener('change', saveChange, true);
1290
1289
  } else {
1291
1290
  field.disabled = true; // @@ change color too
1292
- field.style.backgroundColor = _styleConstants["default"].textInputBackgroundColorUneditable;
1291
+ field.style.backgroundColor = style.textInputBackgroundColorUneditable;
1293
1292
  }
1294
1293
  return group;
1295
1294
  }
@@ -1414,7 +1413,7 @@ function makeSelectForClassifierOptions(dom, kb, subject, predicate, possible, o
1414
1413
  });
1415
1414
  };
1416
1415
  var select = dom.createElement('select');
1417
- select.setAttribute('style', style.formSelectStyle);
1416
+ select.setAttribute('style', style.formSelectSTyle);
1418
1417
  if (options.multiple) select.setAttribute('multiple', 'true');
1419
1418
  select.currentURI = null;
1420
1419
  select.refresh = function () {
@@ -1557,7 +1556,7 @@ function makeSelectForOptions(dom, kb, subject, predicate, possible, options, da
1557
1556
  });
1558
1557
  };
1559
1558
  var select = dom.createElement('select');
1560
- select.setAttribute('style', style.formSelectStyle);
1559
+ select.setAttribute('style', style.formSelectSTyle);
1561
1560
  select.currentURI = null;
1562
1561
  select.refresh = function () {
1563
1562
  actual = getActual(); // refresh
@@ -1843,7 +1842,7 @@ function makeSelectForChoice(dom, container, kb, subject, predicate, inputPossib
1843
1842
  select.refresh();
1844
1843
  };
1845
1844
  var select = dom.createElement('select');
1846
- select.setAttribute('style', style.formSelectStyle);
1845
+ select.setAttribute('style', style.formSelectSTyle);
1847
1846
  select.setAttribute('id', 'formSelect');
1848
1847
  select.currentURI = null;
1849
1848
  for (var uri in optionsFromClassUIfrom) {