solid-ui 2.4.28-e3ba3633 → 2.4.28-e5cde855
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/dist/805.solid-ui.min.js +1 -1
- package/dist/805.solid-ui.min.js.map +1 -1
- package/dist/solid-ui.js +2080 -1330
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1938 -1938
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
- package/lib/chat/bookmarks.js +6 -7
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +249 -65
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +129 -126
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +637 -423
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +332 -193
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +463 -277
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +299 -209
- package/lib/chat/thread.js.map +1 -1
- package/lib/header/index.js +5 -0
- package/lib/header/index.js.map +1 -1
- package/lib/log.js +5 -5
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +24 -1
- package/lib/login/login.js.map +1 -1
- 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 +15 -11
- package/lib/media/media-capture.js.map +1 -1
- package/lib/pad.d.ts +2 -2
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +41 -15
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +5 -5
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +23 -22
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +4 -0
- package/lib/preferences.js.map +1 -1
- package/lib/style.js +28 -35
- package/lib/style.js.map +1 -1
- package/lib/tabs.d.ts +125 -0
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +8 -15
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +2 -0
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons.js +0 -2
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +18 -10
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.d.ts.map +1 -1
- package/lib/widgets/error.js +2 -9
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +9 -5
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +5 -0
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts.map +1 -1
- package/lib/widgets/forms/basic.js +3 -4
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +2 -2
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms.js +12 -10
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/peoplePicker.js +11 -0
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/package.json +3 -2
- package/lib/styleConstants.js +0 -34
- package/lib/styleConstants.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dragAndDrop.js","names":["debug","_interopRequireWildcard","require","mime","style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","makeDropTarget","ele","droppedURIHandler","droppedFileHandler","dragoverListener","e","preventDefault","dataTransfer","dropEffect","dragenterListener","log","localStyle","savedStyle","dragEvent","dragleaveListener","dropEvent","dropListener","types","join","uris","text","t","length","type","getData","split","files","i","f","name","size","lastModifiedDate","toLocaleDateString","slice","restoreStyle","addTargetListeners","addEventListener","makeDraggable","tr","setAttribute","fontWeight","setData","uri","outerHTML","stopPropagation","uploadFiles","fetcher","fileBase","imageBase","successHandler","reader","FileReader","onload","theFile","data","target","result","suffix","byteLength","contentType","lookup","msg","alert","Error","extension","endsWith","folderName","startsWith","destURI","encodeURIComponent","webOperation","then","_response","error","readAsArrayBuffer"],"sources":["../../src/widgets/dragAndDrop.js"],"sourcesContent":["/* Drag and drop common functionality\n *\n * It is easy to make something draggable, or to make it a drag target!\n * Just call the functions below. In a solid world, any part of the UI which\n * represent one thing which has a URI, should be made draggable using makeDraggable\n * Any list of things should typically allow you to drag new members of the list\n * onto it.\n * The file upload function uploadFiles is provided as often as someone drags a file from the computer\n * desktop, you may want to upload it into the pod.\n */\nimport * as debug from '../debug'\nimport * as mime from 'mime-types'\nimport * as style from '../style'\n\n/* global FileReader alert */\n\nexport function makeDropTarget (ele, droppedURIHandler, droppedFileHandler) {\n const dragoverListener = function (e) {\n e.preventDefault() // Need else drop does not work [sic]\n e.dataTransfer.dropEffect = 'copy'\n }\n\n const dragenterListener = function (e) {\n debug.log('dragenter event dropEffect: ' + e.dataTransfer.dropEffect)\n if (this.localStyle) {\n // necessary not sure when\n if (!this.savedStyle) {\n this.savedStyle = style.dragEvent\n }\n }\n\n e.dataTransfer.dropEffect = 'link'\n debug.log('dragenter event dropEffect 2: ' + e.dataTransfer.dropEffect)\n }\n const dragleaveListener = function (e) {\n debug.log('dragleave event dropEffect: ' + e.dataTransfer.dropEffect)\n if (this.savedStyle) {\n this.localStyle = this.savedStyle\n } else {\n this.localStyle = style.dropEvent\n }\n }\n\n const dropListener = function (e) {\n if (e.preventDefault) e.preventDefault() // stops the browser from redirecting off to the text.\n debug.log('Drop event. dropEffect: ' + e.dataTransfer.dropEffect)\n debug.log(\n 'Drop event. types: ' +\n (e.dataTransfer.types ? e.dataTransfer.types.join(', ') : 'NOPE')\n )\n\n let uris = null\n let text\n if (e.dataTransfer.types) {\n for (let t = 0; t < e.dataTransfer.types.length; t++) {\n const type = e.dataTransfer.types[t]\n if (type === 'text/uri-list') {\n uris = e.dataTransfer.getData(type).split('\\n') // @ ignore those starting with #\n debug.log('Dropped text/uri-list: ' + uris)\n } else if (type === 'text/plain') {\n text = e.dataTransfer.getData(type)\n } else if (type === 'Files' && droppedFileHandler) {\n const files = e.dataTransfer.files // FileList object.\n for (let i = 0; files[i]; i++) {\n const f = files[i]\n debug.log(\n 'Filename: ' +\n f.name +\n ', type: ' +\n (f.type || 'n/a') +\n ' size: ' +\n f.size +\n ' bytes, last modified: ' +\n (f.lastModifiedDate\n ? f.lastModifiedDate.toLocaleDateString()\n : 'n/a')\n )\n }\n droppedFileHandler(files)\n }\n }\n if (uris === null && text && text.slice(0, 4) === 'http') {\n uris = text\n debug.log(\"Waring: Poor man's drop: using text for URI\") // chrome disables text/uri-list??\n }\n } else {\n // ... however, if we're IE, we don't have the .types property, so we'll just get the Text value\n uris = [e.dataTransfer.getData('Text')]\n debug.log('WARNING non-standard drop event: ' + uris[0])\n }\n debug.log('Dropped URI list (2): ' + uris)\n if (uris) {\n droppedURIHandler(uris)\n }\n this.localStyle = style.restoreStyle // restore style\n return false\n } // dropListener\n\n const addTargetListeners = function (ele) {\n if (!ele) {\n debug.log('@@@ addTargetListeners: ele ' + ele)\n }\n ele.addEventListener('dragover', dragoverListener)\n ele.addEventListener('dragenter', dragenterListener)\n ele.addEventListener('dragleave', dragleaveListener)\n ele.addEventListener('drop', dropListener)\n }\n addTargetListeners(ele, droppedURIHandler)\n} // listen for dropped URIs\n\n// Make an HTML element draggable as a URI-identified thing\n//\n// Possibly later set the drag image too?\n//\nexport function makeDraggable (tr, obj) {\n tr.setAttribute('draggable', 'true') // Stop the image being dragged instead - just the TR\n\n tr.addEventListener(\n 'dragstart',\n function (e) {\n tr.style.fontWeight = 'bold'\n e.dataTransfer.setData('text/uri-list', obj.uri)\n e.dataTransfer.setData('text/plain', obj.uri)\n e.dataTransfer.setData('text/html', tr.outerHTML)\n debug.log(\n 'Dragstart: ' + tr + ' -> ' + obj + 'de: ' + e.dataTransfer.dropEffect\n )\n },\n false\n )\n\n tr.addEventListener(\n 'drag',\n function (e) {\n e.preventDefault()\n e.stopPropagation()\n // debug.log('Drag: dropEffect: ' + e.dataTransfer.dropEffect)\n },\n false\n )\n\n tr.addEventListener(\n 'dragend',\n function (e) {\n tr.style.fontWeight = 'normal'\n debug.log('Dragend dropeffect: ' + e.dataTransfer.dropEffect)\n debug.log('Dragend: ' + tr + ' -> ' + obj)\n },\n false\n )\n}\n\n/** uploadFiles\n**\n** Generic uploader of local files to the web\n** typically called from dropped file handler\n**\n** @param {Fetcher} fetcher instance of class Fetcher as in kb.fetcher\n** @param {Array<File>} files Array of file objects\n** @param {String} fileBase URI of folder in which to put files (except images) (no trailing slash)\n** @param {String } imageBase URI of folder in which to put images\n** @param successHandler function(file, uploadedURI) Called after EACH success upload\n** With file object an final URI as params\n*/\n\nexport function uploadFiles (fetcher, files, fileBase, imageBase, successHandler) {\n for (let i = 0; files[i]; i++) {\n const f = files[i]\n debug.log(\n ' dropped: Filename: ' +\n f.name +\n ', type: ' +\n (f.type || 'n/a') +\n ' size: ' +\n f.size +\n ' bytes, last modified: ' +\n (f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a')\n ) // See e.g. https://www.html5rocks.com/en/tutorials/file/dndfiles/\n\n // @@ Add: progress bar(s)\n const reader = new FileReader()\n reader.onload = (function (theFile) {\n return function (e) {\n const data = e.target.result\n let suffix = ''\n debug.log(' File read byteLength : ' + data.byteLength)\n let contentType = theFile.type\n if (!theFile.type || theFile.type === '') {\n // Not known by browser\n contentType = mime.lookup(theFile.name)\n if (!contentType) {\n const msg =\n 'Filename needs to have an extension which gives a type we know: ' +\n theFile.name\n debug.log(msg)\n alert(msg)\n throw new Error(msg)\n }\n } else {\n const extension = mime.extension(theFile.type)\n // Note not simple: eg .mp3 => audio/mpeg; .mpga => audio/mpeg; audio/mp3 => .mp3\n if (extension && extension !== 'false' && !theFile.name.endsWith('.' + extension) && // Not already has preferred extension? and ...\n theFile.type !== mime.lookup(theFile.name)) { // the mime type of this ext is not the right one?\n suffix = '_.' + extension\n // console.log('MIME TYPE MISMATCH: ' + mime.lookup(theFile.name) + ': adding extension: ' + suffix)\n }\n }\n const folderName = theFile.type.startsWith('image/')\n ? imageBase || fileBase\n : fileBase\n const destURI =\n folderName +\n (folderName.endsWith('/') ? '' : '/') +\n encodeURIComponent(theFile.name) +\n suffix\n\n fetcher\n .webOperation('PUT', destURI, {\n data,\n contentType\n })\n .then(\n _response => {\n debug.log(' Upload: put OK: ' + destURI)\n successHandler(theFile, destURI)\n },\n error => {\n const msg = ' Upload: FAIL ' + destURI + ', Error: ' + error\n debug.log(msg)\n alert(msg)\n throw new Error(msg)\n }\n )\n }\n })(f)\n reader.readAsArrayBuffer(f)\n }\n}\n"],"mappings":";;;;;;;;;AAUA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AAAiC,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAZjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAEO,SAASW,cAAcA,CAAEC,GAAG,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAE;EAC1E,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAaC,CAAC,EAAE;IACpCA,CAAC,CAACC,cAAc,EAAE,EAAC;IACnBD,CAAC,CAACE,YAAY,CAACC,UAAU,GAAG,MAAM;EACpC,CAAC;EAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAaJ,CAAC,EAAE;IACrChC,KAAK,CAACqC,GAAG,CAAC,8BAA8B,GAAGL,CAAC,CAACE,YAAY,CAACC,UAAU,CAAC;IACrE,IAAI,IAAI,CAACG,UAAU,EAAE;MACnB;MACA,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;QACpB,IAAI,CAACA,UAAU,GAAGnC,KAAK,CAACoC,SAAS;MACnC;IACF;IAEAR,CAAC,CAACE,YAAY,CAACC,UAAU,GAAG,MAAM;IAClCnC,KAAK,CAACqC,GAAG,CAAC,gCAAgC,GAAGL,CAAC,CAACE,YAAY,CAACC,UAAU,CAAC;EACzE,CAAC;EACD,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAaT,CAAC,EAAE;IACrChC,KAAK,CAACqC,GAAG,CAAC,8BAA8B,GAAGL,CAAC,CAACE,YAAY,CAACC,UAAU,CAAC;IACrE,IAAI,IAAI,CAACI,UAAU,EAAE;MACnB,IAAI,CAACD,UAAU,GAAG,IAAI,CAACC,UAAU;IACnC,CAAC,MAAM;MACL,IAAI,CAACD,UAAU,GAAGlC,KAAK,CAACsC,SAAS;IACnC;EACF,CAAC;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAaX,CAAC,EAAE;IAChC,IAAIA,CAAC,CAACC,cAAc,EAAED,CAAC,CAACC,cAAc,EAAE,EAAC;IACzCjC,KAAK,CAACqC,GAAG,CAAC,0BAA0B,GAAGL,CAAC,CAACE,YAAY,CAACC,UAAU,CAAC;IACjEnC,KAAK,CAACqC,GAAG,CACP,qBAAqB,IAClBL,CAAC,CAACE,YAAY,CAACU,KAAK,GAAGZ,CAAC,CAACE,YAAY,CAACU,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CACpE;IAED,IAAIC,IAAI,GAAG,IAAI;IACf,IAAIC,IAAI;IACR,IAAIf,CAAC,CAACE,YAAY,CAACU,KAAK,EAAE;MACxB,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,CAAC,CAACE,YAAY,CAACU,KAAK,CAACK,MAAM,EAAED,CAAC,EAAE,EAAE;QACpD,IAAME,IAAI,GAAGlB,CAAC,CAACE,YAAY,CAACU,KAAK,CAACI,CAAC,CAAC;QACpC,IAAIE,IAAI,KAAK,eAAe,EAAE;UAC5BJ,IAAI,GAAGd,CAAC,CAACE,YAAY,CAACiB,OAAO,CAACD,IAAI,CAAC,CAACE,KAAK,CAAC,IAAI,CAAC,EAAC;UAChDpD,KAAK,CAACqC,GAAG,CAAC,yBAAyB,GAAGS,IAAI,CAAC;QAC7C,CAAC,MAAM,IAAII,IAAI,KAAK,YAAY,EAAE;UAChCH,IAAI,GAAGf,CAAC,CAACE,YAAY,CAACiB,OAAO,CAACD,IAAI,CAAC;QACrC,CAAC,MAAM,IAAIA,IAAI,KAAK,OAAO,IAAIpB,kBAAkB,EAAE;UACjD,IAAMuB,KAAK,GAAGrB,CAAC,CAACE,YAAY,CAACmB,KAAK,EAAC;UACnC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAED,KAAK,CAACC,CAAC,CAAC,EAAEA,CAAC,EAAE,EAAE;YAC7B,IAAMC,CAAC,GAAGF,KAAK,CAACC,CAAC,CAAC;YAClBtD,KAAK,CAACqC,GAAG,CACP,YAAY,GACVkB,CAAC,CAACC,IAAI,GACN,UAAU,IACTD,CAAC,CAACL,IAAI,IAAI,KAAK,CAAC,GACjB,SAAS,GACTK,CAAC,CAACE,IAAI,GACN,yBAAyB,IACxBF,CAAC,CAACG,gBAAgB,GACfH,CAAC,CAACG,gBAAgB,CAACC,kBAAkB,EAAE,GACvC,KAAK,CAAC,CACb;UACH;UACA7B,kBAAkB,CAACuB,KAAK,CAAC;QAC3B;MACF;MACA,IAAIP,IAAI,KAAK,IAAI,IAAIC,IAAI,IAAIA,IAAI,CAACa,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;QACxDd,IAAI,GAAGC,IAAI;QACX/C,KAAK,CAACqC,GAAG,CAAC,6CAA6C,CAAC,EAAC;MAC3D;IACF,CAAC,MAAM;MACL;MACAS,IAAI,GAAG,CAACd,CAAC,CAACE,YAAY,CAACiB,OAAO,CAAC,MAAM,CAAC,CAAC;MACvCnD,KAAK,CAACqC,GAAG,CAAC,mCAAmC,GAAGS,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D;IACA9C,KAAK,CAACqC,GAAG,CAAC,wBAAwB,GAAGS,IAAI,CAAC;IAC1C,IAAIA,IAAI,EAAE;MACRjB,iBAAiB,CAACiB,IAAI,CAAC;IACzB;IACA,IAAI,CAACR,UAAU,GAAGlC,KAAK,CAACyD,YAAY,EAAC;IACrC,OAAO,KAAK;EACd,CAAC,EAAC;;EAEF,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAalC,GAAG,EAAE;IACxC,IAAI,CAACA,GAAG,EAAE;MACR5B,KAAK,CAACqC,GAAG,CAAC,8BAA8B,GAAGT,GAAG,CAAC;IACjD;IACAA,GAAG,CAACmC,gBAAgB,CAAC,UAAU,EAAEhC,gBAAgB,CAAC;IAClDH,GAAG,CAACmC,gBAAgB,CAAC,WAAW,EAAE3B,iBAAiB,CAAC;IACpDR,GAAG,CAACmC,gBAAgB,CAAC,WAAW,EAAEtB,iBAAiB,CAAC;IACpDb,GAAG,CAACmC,gBAAgB,CAAC,MAAM,EAAEpB,YAAY,CAAC;EAC5C,CAAC;EACDmB,kBAAkB,CAAClC,GAAG,EAAEC,iBAAiB,CAAC;AAC5C,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACO,SAASmC,aAAaA,CAAEC,EAAE,EAAEvD,GAAG,EAAE;EACtCuD,EAAE,CAACC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAC;;EAErCD,EAAE,CAACF,gBAAgB,CACjB,WAAW,EACX,UAAU/B,CAAC,EAAE;IACXiC,EAAE,CAAC7D,KAAK,CAAC+D,UAAU,GAAG,MAAM;IAC5BnC,CAAC,CAACE,YAAY,CAACkC,OAAO,CAAC,eAAe,EAAE1D,GAAG,CAAC2D,GAAG,CAAC;IAChDrC,CAAC,CAACE,YAAY,CAACkC,OAAO,CAAC,YAAY,EAAE1D,GAAG,CAAC2D,GAAG,CAAC;IAC7CrC,CAAC,CAACE,YAAY,CAACkC,OAAO,CAAC,WAAW,EAAEH,EAAE,CAACK,SAAS,CAAC;IACjDtE,KAAK,CAACqC,GAAG,CACP,aAAa,GAAG4B,EAAE,GAAG,MAAM,GAAGvD,GAAG,GAAG,MAAM,GAAGsB,CAAC,CAACE,YAAY,CAACC,UAAU,CACvE;EACH,CAAC,EACD,KAAK,CACN;EAED8B,EAAE,CAACF,gBAAgB,CACjB,MAAM,EACN,UAAU/B,CAAC,EAAE;IACXA,CAAC,CAACC,cAAc,EAAE;IAClBD,CAAC,CAACuC,eAAe,EAAE;IACnB;EACF,CAAC,EACD,KAAK,CACN;EAEDN,EAAE,CAACF,gBAAgB,CACjB,SAAS,EACT,UAAU/B,CAAC,EAAE;IACXiC,EAAE,CAAC7D,KAAK,CAAC+D,UAAU,GAAG,QAAQ;IAC9BnE,KAAK,CAACqC,GAAG,CAAC,sBAAsB,GAAGL,CAAC,CAACE,YAAY,CAACC,UAAU,CAAC;IAC7DnC,KAAK,CAACqC,GAAG,CAAC,WAAW,GAAG4B,EAAE,GAAG,MAAM,GAAGvD,GAAG,CAAC;EAC5C,CAAC,EACD,KAAK,CACN;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAAS8D,WAAWA,CAAEC,OAAO,EAAEpB,KAAK,EAAEqB,QAAQ,EAAEC,SAAS,EAAEC,cAAc,EAAE;EAChF,KAAK,IAAItB,CAAC,GAAG,CAAC,EAAED,KAAK,CAACC,CAAC,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC7B,IAAMC,CAAC,GAAGF,KAAK,CAACC,CAAC,CAAC;IAClBtD,KAAK,CAACqC,GAAG,CACP,sBAAsB,GACpBkB,CAAC,CAACC,IAAI,GACN,UAAU,IACTD,CAAC,CAACL,IAAI,IAAI,KAAK,CAAC,GACjB,SAAS,GACTK,CAAC,CAACE,IAAI,GACN,yBAAyB,IACxBF,CAAC,CAACG,gBAAgB,GAAGH,CAAC,CAACG,gBAAgB,CAACC,kBAAkB,EAAE,GAAG,KAAK,CAAC,CACzE,EAAC;;IAEF;IACA,IAAMkB,MAAM,GAAG,IAAIC,UAAU,EAAE;IAC/BD,MAAM,CAACE,MAAM,GAAI,UAAUC,OAAO,EAAE;MAClC,OAAO,UAAUhD,CAAC,EAAE;QAClB,IAAMiD,IAAI,GAAGjD,CAAC,CAACkD,MAAM,CAACC,MAAM;QAC5B,IAAIC,MAAM,GAAG,EAAE;QACfpF,KAAK,CAACqC,GAAG,CAAC,0BAA0B,GAAG4C,IAAI,CAACI,UAAU,CAAC;QACvD,IAAIC,WAAW,GAAGN,OAAO,CAAC9B,IAAI;QAC9B,IAAI,CAAC8B,OAAO,CAAC9B,IAAI,IAAI8B,OAAO,CAAC9B,IAAI,KAAK,EAAE,EAAE;UACxC;UACAoC,WAAW,GAAGnF,IAAI,CAACoF,MAAM,CAACP,OAAO,CAACxB,IAAI,CAAC;UACvC,IAAI,CAAC8B,WAAW,EAAE;YAChB,IAAME,GAAG,GACP,kEAAkE,GAClER,OAAO,CAACxB,IAAI;YACdxD,KAAK,CAACqC,GAAG,CAACmD,GAAG,CAAC;YACdC,KAAK,CAACD,GAAG,CAAC;YACV,MAAM,IAAIE,KAAK,CAACF,GAAG,CAAC;UACtB;QACF,CAAC,MAAM;UACL,IAAMG,SAAS,GAAGxF,IAAI,CAACwF,SAAS,CAACX,OAAO,CAAC9B,IAAI,CAAC;UAC9C;UACA,IAAIyC,SAAS,IAAIA,SAAS,KAAK,OAAO,IAAI,CAACX,OAAO,CAACxB,IAAI,CAACoC,QAAQ,CAAC,GAAG,GAAGD,SAAS,CAAC;UAAI;UACnFX,OAAO,CAAC9B,IAAI,KAAK/C,IAAI,CAACoF,MAAM,CAACP,OAAO,CAACxB,IAAI,CAAC,EAAE;YAAE;YAC9C4B,MAAM,GAAG,IAAI,GAAGO,SAAS;YACzB;UACF;QACF;;QACA,IAAME,UAAU,GAAGb,OAAO,CAAC9B,IAAI,CAAC4C,UAAU,CAAC,QAAQ,CAAC,GAChDnB,SAAS,IAAID,QAAQ,GACrBA,QAAQ;QACZ,IAAMqB,OAAO,GACXF,UAAU,IACTA,UAAU,CAACD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GACrCI,kBAAkB,CAAChB,OAAO,CAACxB,IAAI,CAAC,GAChC4B,MAAM;QAERX,OAAO,CACJwB,YAAY,CAAC,KAAK,EAAEF,OAAO,EAAE;UAC5Bd,IAAI,EAAJA,IAAI;UACJK,WAAW,EAAXA;QACF,CAAC,CAAC,CACDY,IAAI,CACH,UAAAC,SAAS,EAAI;UACXnG,KAAK,CAACqC,GAAG,CAAC,mBAAmB,GAAG0D,OAAO,CAAC;UACxCnB,cAAc,CAACI,OAAO,EAAEe,OAAO,CAAC;QAClC,CAAC,EACD,UAAAK,KAAK,EAAI;UACP,IAAMZ,GAAG,GAAG,gBAAgB,GAAGO,OAAO,GAAG,WAAW,GAAGK,KAAK;UAC5DpG,KAAK,CAACqC,GAAG,CAACmD,GAAG,CAAC;UACdC,KAAK,CAACD,GAAG,CAAC;UACV,MAAM,IAAIE,KAAK,CAACF,GAAG,CAAC;QACtB,CAAC,CACF;MACL,CAAC;IACH,CAAC,CAAEjC,CAAC,CAAC;IACLsB,MAAM,CAACwB,iBAAiB,CAAC9C,CAAC,CAAC;EAC7B;AACF"}
|
|
1
|
+
{"version":3,"file":"dragAndDrop.js","names":["debug","_interopRequireWildcard","require","mime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","makeDropTarget","ele","droppedURIHandler","droppedFileHandler","dragoverListener","e","preventDefault","dataTransfer","dropEffect","dragenterListener","log","style","savedStyle","border","backgroundColor","borderRadius","dragleaveListener","dropListener","types","join","uris","text","t","length","type","getData","split","files","i","f","name","size","lastModifiedDate","toLocaleDateString","slice","addTargetListeners","addEventListener","makeDraggable","tr","setAttribute","fontWeight","setData","uri","outerHTML","stopPropagation","uploadFiles","fetcher","fileBase","imageBase","successHandler","reader","FileReader","onload","theFile","data","target","result","suffix","byteLength","contentType","lookup","msg","alert","Error","extension","endsWith","folderName","startsWith","destURI","encodeURIComponent","webOperation","then","_response","error","readAsArrayBuffer"],"sources":["../../src/widgets/dragAndDrop.js"],"sourcesContent":["/* Drag and drop common functionality\n *\n * It is easy to make something draggable, or to make it a drag target!\n * Just call the functions below. In a solid world, any part of the UI which\n * represent one thing which has a UR, should be made draggable using makeDraggable\n * Any list of things should typically allow you to drag new members of the list\n * onto it.\n * The file upload function uploadFiles is provided as often of someone drags a file from the computer\n * desktop, you may want to upload it into the pod.\n */\nimport * as debug from '../debug'\nimport * as mime from 'mime-types'\n\n/* global FileReader alert */\n\nexport function makeDropTarget (ele, droppedURIHandler, droppedFileHandler) {\n const dragoverListener = function (e) {\n e.preventDefault() // Neeed else drop does not work [sic]\n e.dataTransfer.dropEffect = 'copy'\n }\n\n const dragenterListener = function (e) {\n debug.log('dragenter event dropEffect: ' + e.dataTransfer.dropEffect)\n if (this.style) {\n // necessary not sure when\n if (!this.savedStyle) {\n this.savedStyle = {}\n this.savedStyle.border = this.style.border\n this.savedStyle.backgroundColor = this.style.backgroundColor\n this.savedStyle.borderRadius = this.style.borderRadius\n }\n this.style.backgroundColor = '#ccc'\n this.style.border = '0.25em dashed black'\n this.style.borderRadius = '0.3em'\n }\n\n e.dataTransfer.dropEffect = 'link'\n debug.log('dragenter event dropEffect 2: ' + e.dataTransfer.dropEffect)\n }\n const dragleaveListener = function (e) {\n debug.log('dragleave event dropEffect: ' + e.dataTransfer.dropEffect)\n if (this.savedStyle) {\n this.style.border = this.savedStyle.border\n this.style.backgroundColor = this.savedStyle.backgroundColor\n this.style.borderRadius = this.savedStyle.borderRadius\n } else {\n this.style.backgroundColor = 'white'\n this.style.border = '0em solid black'\n }\n }\n\n const dropListener = function (e) {\n if (e.preventDefault) e.preventDefault() // stops the browser from redirecting off to the text.\n debug.log('Drop event. dropEffect: ' + e.dataTransfer.dropEffect)\n debug.log(\n 'Drop event. types: ' +\n (e.dataTransfer.types ? e.dataTransfer.types.join(', ') : 'NOPE')\n )\n\n let uris = null\n let text\n if (e.dataTransfer.types) {\n for (let t = 0; t < e.dataTransfer.types.length; t++) {\n const type = e.dataTransfer.types[t]\n if (type === 'text/uri-list') {\n uris = e.dataTransfer.getData(type).split('\\n') // @ ignore those starting with #\n debug.log('Dropped text/uri-list: ' + uris)\n } else if (type === 'text/plain') {\n text = e.dataTransfer.getData(type)\n } else if (type === 'Files' && droppedFileHandler) {\n const files = e.dataTransfer.files // FileList object.\n for (let i = 0; files[i]; i++) {\n const f = files[i]\n debug.log(\n 'Filename: ' +\n f.name +\n ', type: ' +\n (f.type || 'n/a') +\n ' size: ' +\n f.size +\n ' bytes, last modified: ' +\n (f.lastModifiedDate\n ? f.lastModifiedDate.toLocaleDateString()\n : 'n/a')\n )\n }\n droppedFileHandler(files)\n }\n }\n if (uris === null && text && text.slice(0, 4) === 'http') {\n uris = text\n debug.log(\"Waring: Poor man's drop: using text for URI\") // chrome disables text/uri-list??\n }\n } else {\n // ... however, if we're IE, we don't have the .types property, so we'll just get the Text value\n uris = [e.dataTransfer.getData('Text')]\n debug.log('WARNING non-standard drop event: ' + uris[0])\n }\n debug.log('Dropped URI list (2): ' + uris)\n if (uris) {\n droppedURIHandler(uris)\n }\n this.style.backgroundColor = 'white' // restore style\n return false\n } // dropListener\n\n const addTargetListeners = function (ele) {\n if (!ele) {\n debug.log('@@@ addTargetListeners: ele ' + ele)\n }\n ele.addEventListener('dragover', dragoverListener)\n ele.addEventListener('dragenter', dragenterListener)\n ele.addEventListener('dragleave', dragleaveListener)\n ele.addEventListener('drop', dropListener)\n }\n addTargetListeners(ele, droppedURIHandler)\n} // listen for dropped URIs\n\n// Make an HTML element draggable as a URI-identified thing\n//\n// Possibly later set the drag image too?\n//\nexport function makeDraggable (tr, obj) {\n tr.setAttribute('draggable', 'true') // Stop the image being dragged instead - just the TR\n\n tr.addEventListener(\n 'dragstart',\n function (e) {\n tr.style.fontWeight = 'bold'\n e.dataTransfer.setData('text/uri-list', obj.uri)\n e.dataTransfer.setData('text/plain', obj.uri)\n e.dataTransfer.setData('text/html', tr.outerHTML)\n debug.log(\n 'Dragstart: ' + tr + ' -> ' + obj + 'de: ' + e.dataTransfer.dropEffect\n )\n },\n false\n )\n\n tr.addEventListener(\n 'drag',\n function (e) {\n e.preventDefault()\n e.stopPropagation()\n // debug.log('Drag: dropEffect: ' + e.dataTransfer.dropEffect)\n },\n false\n )\n\n tr.addEventListener(\n 'dragend',\n function (e) {\n tr.style.fontWeight = 'normal'\n debug.log('Dragend dropeffect: ' + e.dataTransfer.dropEffect)\n debug.log('Dragend: ' + tr + ' -> ' + obj)\n },\n false\n )\n}\n\n/** uploadFiles\n**\n** Generic uploader of local files to the web\n** typically called from dropped file handler\n**\n** @param {Fetcher} fetcher instance of class Fetcher as in kb.fetcher\n** @param {Array<File>} files Array of file objects\n** @param {String} fileBase URI of folder in which to put files (except images) (no trailing slash)\n** @param {String } imageBase URI of folder in which to put images\n** @param successHandler function(file, uploadedURI) Called after EACH success upload\n** With file object an final URI as params\n*/\n\nexport function uploadFiles (fetcher, files, fileBase, imageBase, successHandler) {\n for (let i = 0; files[i]; i++) {\n const f = files[i]\n debug.log(\n ' dropped: Filename: ' +\n f.name +\n ', type: ' +\n (f.type || 'n/a') +\n ' size: ' +\n f.size +\n ' bytes, last modified: ' +\n (f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a')\n ) // See e.g. https://www.html5rocks.com/en/tutorials/file/dndfiles/\n\n // @@ Add: progress bar(s)\n const reader = new FileReader()\n reader.onload = (function (theFile) {\n return function (e) {\n const data = e.target.result\n let suffix = ''\n debug.log(' File read byteLength : ' + data.byteLength)\n let contentType = theFile.type\n if (!theFile.type || theFile.type === '') {\n // Not known by browser\n contentType = mime.lookup(theFile.name)\n if (!contentType) {\n const msg =\n 'Filename needs to have an extension which gives a type we know: ' +\n theFile.name\n debug.log(msg)\n alert(msg)\n throw new Error(msg)\n }\n } else {\n const extension = mime.extension(theFile.type)\n // Note not simple: eg .mp3 => audio/mpeg; .mpga => audio/mpeg; audio/mp3 => .mp3\n if (extension && extension !== 'false' && !theFile.name.endsWith('.' + extension) && // Not already has preferred extension? and ...\n theFile.type !== mime.lookup(theFile.name)) { // the mime type of this ext is not the right one?\n suffix = '_.' + extension\n // console.log('MIME TYPE MISMATCH: ' + mime.lookup(theFile.name) + ': adding extension: ' + suffix)\n }\n }\n const folderName = theFile.type.startsWith('image/')\n ? imageBase || fileBase\n : fileBase\n const destURI =\n folderName +\n (folderName.endsWith('/') ? '' : '/') +\n encodeURIComponent(theFile.name) +\n suffix\n\n fetcher\n .webOperation('PUT', destURI, {\n data,\n contentType\n })\n .then(\n _response => {\n debug.log(' Upload: put OK: ' + destURI)\n successHandler(theFile, destURI)\n },\n error => {\n const msg = ' Upload: FAIL ' + destURI + ', Error: ' + error\n debug.log(msg)\n alert(msg)\n throw new Error(msg)\n }\n )\n }\n })(f)\n reader.readAsArrayBuffer(f)\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/widgets/error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/widgets/error.ts"],"names":[],"mappings":"AAeA,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,cAAc,CAwBjI"}
|
package/lib/widgets/error.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.errorMessageBlock = errorMessageBlock;
|
|
9
7
|
var _widgets = require("../widgets");
|
|
10
|
-
var style = _interopRequireWildcard(require("../style"));
|
|
11
|
-
var _styleConstants = _interopRequireDefault(require("../styleConstants"));
|
|
12
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
8
|
/**
|
|
15
9
|
* Create an error message block
|
|
16
10
|
* @param dom The DOM on which dom.createElement will be called
|
|
@@ -39,9 +33,8 @@ function errorMessageBlock(dom, err, backgroundColor, err2) {
|
|
|
39
33
|
}
|
|
40
34
|
div.appendChild((0, _widgets.cancelButton)(dom, function () {
|
|
41
35
|
if (div.parentNode) div.parentNode.removeChild(div);
|
|
42
|
-
})).style =
|
|
43
|
-
div.setAttribute('style',
|
|
44
|
-
div.style.backgroundColor = backgroundColor || _styleConstants["default"].defaultErrorBackgroundColor;
|
|
36
|
+
})).style = 'width: 2em; height: 2em; align: right;';
|
|
37
|
+
div.setAttribute('style', 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; background-color: ' + (backgroundColor || '#fee') + '; color:black;');
|
|
45
38
|
return div;
|
|
46
39
|
}
|
|
47
40
|
//# sourceMappingURL=error.js.map
|
package/lib/widgets/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","names":["_widgets","require","
|
|
1
|
+
{"version":3,"file":"error.js","names":["_widgets","require","errorMessageBlock","dom","err","backgroundColor","err2","div","createElement","errorObject","Error","console","error","concat","stack","textContent","message","appendChild","cancelButton","parentNode","removeChild","style","setAttribute"],"sources":["../../src/widgets/error.ts"],"sourcesContent":["/**\n * Create an error message block\n * @param dom The DOM on which dom.createElement will be called\n * @param err The error message string to display (or an error object)\n * @param backgroundColor Background color. Default: '#fee'\n * @param err2 Is the second param is a string, you can put the original Error in here\n * @returns A div element with the err string\n *\n * This will return a DOM element you can put in the UI as a notice for the user\n * Meanwhile the stack is dumped to the console for the developer, so you actually know\n * where it happened!\n */\n/* eslint-disable no-console */\nimport { cancelButton } from '../widgets'\n\nexport function errorMessageBlock (dom: HTMLDocument, err: string | Error, backgroundColor?: string, err2?: Error): HTMLDivElement {\n const div = dom.createElement('div')\n\n /* tslint:disable-next-line */ // Too complex for TS?\n // @ts-ignore\n const errorObject:Error = err2 || err instanceof Error ? err : null\n\n if (errorObject) {\n console.error(`errorMessageBlock: ${errorObject} at: ${errorObject.stack || '??'}`, errorObject) // @@ pick one\n div.textContent = errorObject.message\n } else {\n div.textContent = err as string\n }\n\n div.appendChild(cancelButton(dom, () => { if (div.parentNode) div.parentNode.removeChild(div) }))\n .style = 'width: 2em; height: 2em; align: right;'\n\n div.setAttribute(\n 'style',\n 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; background-color: ' +\n (backgroundColor || '#fee') +\n '; color:black;'\n )\n return div\n}\n"],"mappings":";;;;;;AAaA,IAAAA,QAAA,GAAAC,OAAA;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGO,SAASC,iBAAiBA,CAAEC,GAAiB,EAAEC,GAAmB,EAAEC,eAAwB,EAAEC,IAAY,EAAkB;EACjI,IAAMC,GAAG,GAAGJ,GAAG,CAACK,aAAa,CAAC,KAAK,CAAC;;EAEpC,+BAA+B;EAC/B;EACA,IAAMC,WAAiB,GAAGH,IAAI,IAAIF,GAAG,YAAYM,KAAK,GAAGN,GAAG,GAAG,IAAI;EAEnE,IAAIK,WAAW,EAAE;IACfE,OAAO,CAACC,KAAK,uBAAAC,MAAA,CAAuBJ,WAAW,WAAAI,MAAA,CAAQJ,WAAW,CAACK,KAAK,IAAI,IAAI,GAAIL,WAAW,CAAC,EAAC;IACjGF,GAAG,CAACQ,WAAW,GAAGN,WAAW,CAACO,OAAO;EACvC,CAAC,MAAM;IACLT,GAAG,CAACQ,WAAW,GAAGX,GAAa;EACjC;EAEAG,GAAG,CAACU,WAAW,CAAC,IAAAC,qBAAY,EAACf,GAAG,EAAE,YAAM;IAAE,IAAII,GAAG,CAACY,UAAU,EAAEZ,GAAG,CAACY,UAAU,CAACC,WAAW,CAACb,GAAG,CAAC;EAAC,CAAC,CAAC,CAAC,CAC9Fc,KAAK,GAAG,wCAAwC;EAEnDd,GAAG,CAACe,YAAY,CACd,OAAO,EACP,8EAA8E,IAC3EjB,eAAe,IAAI,MAAM,CAAC,GAC3B,gBAAgB,CACnB;EACD,OAAOE,GAAG;AACZ"}
|
|
@@ -18,7 +18,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
18
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
19
|
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(_e) { throw _e; }, 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(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
20
20
|
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); }
|
|
21
|
-
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; }
|
|
21
|
+
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; } /* The Autocomplete Control with decorations
|
|
22
|
+
|
|
23
|
+
This control has the buttons which control the state between editing, viewing, searching, accepting
|
|
24
|
+
and so on. See the state diagram in the documentation. The AUtocomplete Picker does the main work.
|
|
25
|
+
|
|
26
|
+
*/
|
|
27
|
+
// dbpediaParameters
|
|
28
|
+
|
|
22
29
|
var WEBID_NOUN = 'Solid ID';
|
|
23
30
|
var GREEN_PLUS = _iconBase.icons.iconBase + 'noun_34653_green.svg';
|
|
24
31
|
var SEARCH_ICON = _iconBase.icons.iconBase + 'noun_Search_875351.svg';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteBar.js","names":["ns","_interopRequireWildcard","require","_iconBase","_solidLogic","widgets","utils","_autocompletePicker","_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","WEBID_NOUN","GREEN_PLUS","icons","iconBase","SEARCH_ICON","EDIT_ICON","renderAutocompleteControl","_x","_x2","_x3","_x4","_x5","_x6","_renderAutocompleteControl","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee6","dom","person","barOptions","acOptions","addOneIdAndRefresh","deleteOne","autoCompleteDone","_autoCompleteDone","greenButtonHandler","_greenButtonHandler","removeDecorated","displayAutocomplete","_displayAutocomplete","searchButtonHandler","_searchButtonHandler","droppedURIHandler","_droppedURIHandler","acceptButton","cancelButton","deleteButtonContainer","noun","deleteButton","editButton","editing","syncEditingStatus","decoration","decoratedAutocomplete","creationArea","plus","wrap","_callee6$","_context6","prev","_syncEditingStatus","setVisible","_droppedURIHandler3","_callee5","uris","_iterator","_step","webid","_callee5$","_context5","t0","finish","stop","_droppedURIHandler2","_x11","_searchButtonHandler3","_callee4","_event","_callee4$","_context4","removeChild","undefined","_searchButtonHandler2","_x10","_displayAutocomplete3","_callee3","_callee3$","_context3","createElement","setAttribute","renderAutoComplete","t1","sent","appendChild","_displayAutocomplete2","_removeDecorated","_greenButtonHandler3","_callee2","_callee2$","_context2","askName","store","vcard","abrupt","_greenButtonHandler2","_x9","_autoCompleteDone3","_callee","object","_callee$","_context","permanent","_autoCompleteDone2","_x7","_x8","continueButton","targetClass","label","deleteButtonWithCheck","button","style","display","flexDirection","currentObject","editable","width","manualURIEntry","idNoun","makeDropTarget","dbLookup"],"sources":["../../../../src/widgets/forms/autocomplete/autocompleteBar.ts"],"sourcesContent":["/* The Autocomplete Control with decorations\n\nThis control has the buttons which control the state between editing, viewing, searching, accepting\nand so on. See the state diagram in the documentation. The AUtocomplete Picker does the main work.\n\n*/\nimport * as ns from '../../../ns'\nimport { icons } from '../../../iconBase'\nimport { store } from 'solid-logic'\nimport * as widgets from '../../../widgets'\nimport * as utils from '../../../utils'\n\nimport { renderAutoComplete, AutocompleteDecoration, setVisible } from './autocompletePicker' // dbpediaParameters\n\nimport { NamedNode } from 'rdflib'\n\nconst WEBID_NOUN = 'Solid ID'\n\nconst GREEN_PLUS = icons.iconBase + 'noun_34653_green.svg'\nconst SEARCH_ICON = icons.iconBase + 'noun_Search_875351.svg'\nconst EDIT_ICON = icons.iconBase + 'noun_253504.svg'\n// const DELETE_ICON = icons.iconBase + 'noun_2188_red.svg'\n\nexport async function renderAutocompleteControl (dom:HTMLDocument,\n person:NamedNode,\n barOptions,\n acOptions,\n addOneIdAndRefresh,\n deleteOne): Promise<HTMLElement> {\n async function autoCompleteDone (object, name) {\n if (acOptions.permanent) { // remember to set this in publicid panel\n setVisible(editButton, true)\n setVisible(acceptButton, false)\n setVisible(cancelButton, false)\n } else {\n // console.log('temporary - removed decoratiion')\n removeDecorated()\n }\n return addOneIdAndRefresh(object, name)\n }\n\n async function greenButtonHandler (_event) {\n const webid = await widgets.askName(dom, store, creationArea, ns.vcard('url'), undefined, WEBID_NOUN)\n if (!webid) {\n return // cancelled by user\n }\n return addOneIdAndRefresh(person, webid)\n }\n\n function removeDecorated () {\n if (decoratedAutocomplete) {\n creationArea.removeChild(decoratedAutocomplete)\n decoratedAutocomplete = undefined\n }\n }\n\n async function displayAutocomplete () {\n decoratedAutocomplete = dom.createElement('div') as HTMLElement\n decoratedAutocomplete.setAttribute('style', 'display: flex; flex-flow: wrap;')\n decoratedAutocomplete.appendChild(await renderAutoComplete(dom, acOptions, decoration, autoCompleteDone))\n // console.log('@@ acceptButton', acceptButton)\n decoratedAutocomplete.appendChild(acceptButton)\n // console.log('@@ cancelButton', cancelButton)\n\n decoratedAutocomplete.appendChild(cancelButton)\n // console.log('@@ editButton', editButton)\n\n decoratedAutocomplete.appendChild(editButton)\n // console.log('@@ deleteButtonContainer', deleteButtonContainer)\n\n decoratedAutocomplete.appendChild(deleteButtonContainer)\n creationArea.appendChild(decoratedAutocomplete)\n }\n\n async function searchButtonHandler (_event) {\n if (decoratedAutocomplete) {\n creationArea.removeChild(decoratedAutocomplete)\n decoratedAutocomplete = undefined\n } else {\n await displayAutocomplete()\n }\n }\n\n async function droppedURIHandler (uris) {\n for (const webid of uris) { // normally one but can be more than one\n await addOneIdAndRefresh(person, webid)\n }\n }\n\n const acceptButton = widgets.continueButton(dom)\n acceptButton.setAttribute('data-testid', 'accept-button')\n\n const cancelButton = widgets.cancelButton(dom)\n cancelButton.setAttribute('data-testid', 'cancel-button')\n const deleteButtonContainer = dom.createElement('div')\n const noun = acOptions.targetClass ? utils.label(acOptions.targetClass) : 'item'\n const deleteButton = widgets.deleteButtonWithCheck(dom, deleteButtonContainer, noun, deleteOne) // need to knock out this UI or caller does that\n deleteButton.setAttribute('data-testid', 'delete-button')\n const editButton = widgets.button(dom, EDIT_ICON, 'Edit', _event => {\n editing = !editing\n syncEditingStatus()\n })\n editButton.setAttribute('data-testid', 'edit-button')\n let editing = true\n\n function syncEditingStatus () {\n if (editing) {\n setVisible(editButton, false)\n setVisible(acceptButton, false) // not till got it\n setVisible(cancelButton, false)\n } else {\n setVisible(editButton, true)\n setVisible(acceptButton, false)\n setVisible(cancelButton, false)\n }\n }\n\n const decoration:AutocompleteDecoration = {\n acceptButton, cancelButton, editButton, deleteButton\n }\n\n let decoratedAutocomplete = undefined as HTMLElement | undefined\n\n const creationArea = dom.createElement('div')\n creationArea.style.display = 'flex'\n creationArea.style.flexDirection = 'row'\n\n if (acOptions.permanent || acOptions.currentObject) {\n await displayAutocomplete()\n }\n if (barOptions.editable) {\n // creationArea.appendChild(await renderAutoComplete(dom, barOptions, autoCompleteDone)) wait for searchButton\n creationArea.style.width = '100%'\n if (barOptions.manualURIEntry) {\n const plus = creationArea.appendChild(widgets.button(dom, GREEN_PLUS, barOptions.idNoun, greenButtonHandler))\n widgets.makeDropTarget(plus, droppedURIHandler, undefined)\n }\n if (barOptions.dbLookup && !acOptions.currentObject && !acOptions.permanent) {\n creationArea.appendChild(widgets.button(dom, SEARCH_ICON, barOptions.idNoun, searchButtonHandler))\n }\n }\n syncEditingStatus()\n return creationArea\n} // renderAutocompleteControl\n\n// ends\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocompleteBar.js","names":["ns","_interopRequireWildcard","require","_iconBase","_solidLogic","widgets","utils","_autocompletePicker","_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","WEBID_NOUN","GREEN_PLUS","icons","iconBase","SEARCH_ICON","EDIT_ICON","renderAutocompleteControl","_x","_x2","_x3","_x4","_x5","_x6","_renderAutocompleteControl","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee6","dom","person","barOptions","acOptions","addOneIdAndRefresh","deleteOne","autoCompleteDone","_autoCompleteDone","greenButtonHandler","_greenButtonHandler","removeDecorated","displayAutocomplete","_displayAutocomplete","searchButtonHandler","_searchButtonHandler","droppedURIHandler","_droppedURIHandler","acceptButton","cancelButton","deleteButtonContainer","noun","deleteButton","editButton","editing","syncEditingStatus","decoration","decoratedAutocomplete","creationArea","plus","wrap","_callee6$","_context6","prev","_syncEditingStatus","setVisible","_droppedURIHandler3","_callee5","uris","_iterator","_step","webid","_callee5$","_context5","t0","finish","stop","_droppedURIHandler2","_x11","_searchButtonHandler3","_callee4","_event","_callee4$","_context4","removeChild","undefined","_searchButtonHandler2","_x10","_displayAutocomplete3","_callee3","_callee3$","_context3","createElement","setAttribute","renderAutoComplete","t1","sent","appendChild","_displayAutocomplete2","_removeDecorated","_greenButtonHandler3","_callee2","_callee2$","_context2","askName","store","vcard","abrupt","_greenButtonHandler2","_x9","_autoCompleteDone3","_callee","object","_callee$","_context","permanent","_autoCompleteDone2","_x7","_x8","continueButton","targetClass","label","deleteButtonWithCheck","button","style","display","flexDirection","currentObject","editable","width","manualURIEntry","idNoun","makeDropTarget","dbLookup"],"sources":["../../../../src/widgets/forms/autocomplete/autocompleteBar.ts"],"sourcesContent":["/* The Autocomplete Control with decorations\n\nThis control has the buttons which control the state between editing, viewing, searching, accepting\nand so on. See the state diagram in the documentation. The AUtocomplete Picker does the main work.\n\n*/\nimport * as ns from '../../../ns'\nimport { icons } from '../../../iconBase'\nimport { store } from 'solid-logic'\nimport * as widgets from '../../../widgets'\nimport * as utils from '../../../utils'\n\nimport { renderAutoComplete, AutocompleteDecoration, setVisible } from './autocompletePicker' // dbpediaParameters\n\nimport { NamedNode } from 'rdflib'\n\nconst WEBID_NOUN = 'Solid ID'\n\nconst GREEN_PLUS = icons.iconBase + 'noun_34653_green.svg'\nconst SEARCH_ICON = icons.iconBase + 'noun_Search_875351.svg'\nconst EDIT_ICON = icons.iconBase + 'noun_253504.svg'\n// const DELETE_ICON = icons.iconBase + 'noun_2188_red.svg'\n\nexport async function renderAutocompleteControl (dom:HTMLDocument,\n person:NamedNode,\n barOptions,\n acOptions,\n addOneIdAndRefresh,\n deleteOne): Promise<HTMLElement> {\n async function autoCompleteDone (object, name) {\n if (acOptions.permanent) { // remember to set this in publicid panel\n setVisible(editButton, true)\n setVisible(acceptButton, false)\n setVisible(cancelButton, false)\n } else {\n // console.log('temporary - removed decoratiion')\n removeDecorated()\n }\n return addOneIdAndRefresh(object, name)\n }\n\n async function greenButtonHandler (_event) {\n const webid = await widgets.askName(dom, store, creationArea, ns.vcard('url'), undefined, WEBID_NOUN)\n if (!webid) {\n return // cancelled by user\n }\n return addOneIdAndRefresh(person, webid)\n }\n\n function removeDecorated () {\n if (decoratedAutocomplete) {\n creationArea.removeChild(decoratedAutocomplete)\n decoratedAutocomplete = undefined\n }\n }\n\n async function displayAutocomplete () {\n decoratedAutocomplete = dom.createElement('div') as HTMLElement\n decoratedAutocomplete.setAttribute('style', 'display: flex; flex-flow: wrap;')\n decoratedAutocomplete.appendChild(await renderAutoComplete(dom, acOptions, decoration, autoCompleteDone))\n // console.log('@@ acceptButton', acceptButton)\n decoratedAutocomplete.appendChild(acceptButton)\n // console.log('@@ cancelButton', cancelButton)\n\n decoratedAutocomplete.appendChild(cancelButton)\n // console.log('@@ editButton', editButton)\n\n decoratedAutocomplete.appendChild(editButton)\n // console.log('@@ deleteButtonContainer', deleteButtonContainer)\n\n decoratedAutocomplete.appendChild(deleteButtonContainer)\n creationArea.appendChild(decoratedAutocomplete)\n }\n\n async function searchButtonHandler (_event) {\n if (decoratedAutocomplete) {\n creationArea.removeChild(decoratedAutocomplete)\n decoratedAutocomplete = undefined\n } else {\n await displayAutocomplete()\n }\n }\n\n async function droppedURIHandler (uris) {\n for (const webid of uris) { // normally one but can be more than one\n await addOneIdAndRefresh(person, webid)\n }\n }\n\n const acceptButton = widgets.continueButton(dom)\n acceptButton.setAttribute('data-testid', 'accept-button')\n\n const cancelButton = widgets.cancelButton(dom)\n cancelButton.setAttribute('data-testid', 'cancel-button')\n const deleteButtonContainer = dom.createElement('div')\n const noun = acOptions.targetClass ? utils.label(acOptions.targetClass) : 'item'\n const deleteButton = widgets.deleteButtonWithCheck(dom, deleteButtonContainer, noun, deleteOne) // need to knock out this UI or caller does that\n deleteButton.setAttribute('data-testid', 'delete-button')\n const editButton = widgets.button(dom, EDIT_ICON, 'Edit', _event => {\n editing = !editing\n syncEditingStatus()\n })\n editButton.setAttribute('data-testid', 'edit-button')\n let editing = true\n\n function syncEditingStatus () {\n if (editing) {\n setVisible(editButton, false)\n setVisible(acceptButton, false) // not till got it\n setVisible(cancelButton, false)\n } else {\n setVisible(editButton, true)\n setVisible(acceptButton, false)\n setVisible(cancelButton, false)\n }\n }\n\n const decoration:AutocompleteDecoration = {\n acceptButton, cancelButton, editButton, deleteButton\n }\n\n let decoratedAutocomplete = undefined as HTMLElement | undefined\n\n const creationArea = dom.createElement('div')\n creationArea.style.display = 'flex'\n creationArea.style.flexDirection = 'row'\n\n if (acOptions.permanent || acOptions.currentObject) {\n await displayAutocomplete()\n }\n if (barOptions.editable) {\n // creationArea.appendChild(await renderAutoComplete(dom, barOptions, autoCompleteDone)) wait for searchButton\n creationArea.style.width = '100%'\n if (barOptions.manualURIEntry) {\n const plus = creationArea.appendChild(widgets.button(dom, GREEN_PLUS, barOptions.idNoun, greenButtonHandler))\n widgets.makeDropTarget(plus, droppedURIHandler, undefined)\n }\n if (barOptions.dbLookup && !acOptions.currentObject && !acOptions.permanent) {\n creationArea.appendChild(widgets.button(dom, SEARCH_ICON, barOptions.idNoun, searchButtonHandler))\n }\n }\n syncEditingStatus()\n return creationArea\n} // renderAutocompleteControl\n\n// ends\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompletePicker.d.ts","sourceRoot":"","sources":["../../../../src/widgets/forms/autocomplete/autocompletePicker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"autocompletePicker.d.ts","sourceRoot":"","sources":["../../../../src/widgets/forms/autocomplete/autocompletePicker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAA4D,eAAe,EAAE,MAAM,cAAc,CAAA;AAoBxG,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,WAAW,CAAA;CAC3B,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,UAAU,SAAS;IACjB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC;CAC5C;AAED,wBAAgB,UAAU,CAAE,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,OAAO,QAE/D;AAGD,wBAAsB,kBAAkB,CAAE,GAAG,EAAE,YAAY,EACzD,SAAS,EAAC,mBAAmB,EAC7B,UAAU,EAAE,sBAAsB,EAClC,QAAQ,EAAE,SAAS,2BAyPpB"}
|
|
@@ -11,7 +11,6 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
12
|
var debug = _interopRequireWildcard(require("../../../debug"));
|
|
13
13
|
var style = _interopRequireWildcard(require("../../../style"));
|
|
14
|
-
var _styleConstants = _interopRequireDefault(require("../../../styleConstants"));
|
|
15
14
|
var widgets = _interopRequireWildcard(require("../../../widgets"));
|
|
16
15
|
var _solidLogic = require("solid-logic");
|
|
17
16
|
var _publicData = require("./publicData");
|
|
@@ -20,7 +19,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
20
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
20
|
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(_e) { throw _e; }, 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(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
22
21
|
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); }
|
|
23
|
-
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; }
|
|
22
|
+
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; } /* Autocomplete Picker: Create and edit data using public data
|
|
23
|
+
**
|
|
24
|
+
** As the data source is passed as a parameter, all kinds of APIa and query services can be used
|
|
25
|
+
**
|
|
26
|
+
*/
|
|
24
27
|
var AUTOCOMPLETE_THRESHOLD = 4; // don't check until this many characters typed
|
|
25
28
|
var AUTOCOMPLETE_ROWS = 20; // 20?
|
|
26
29
|
var AUTOCOMPLETE_ROWS_STRETCH = 40;
|
|
@@ -120,7 +123,8 @@ function _renderAutoComplete() {
|
|
|
120
123
|
};
|
|
121
124
|
}());
|
|
122
125
|
return row;
|
|
123
|
-
};
|
|
126
|
+
}; // console.log('@@ refreshList called')
|
|
127
|
+
// rowForBinding
|
|
124
128
|
if (!inputEventHandlerLock) {
|
|
125
129
|
_context7.next = 5;
|
|
126
130
|
break;
|
|
@@ -373,7 +377,7 @@ function _renderAutoComplete() {
|
|
|
373
377
|
// errorMessageBlock will log the stack to the console
|
|
374
378
|
style.setStyle(errorRow, 'autocompleteRowStyle');
|
|
375
379
|
errorRow.style.padding = '1em';
|
|
376
|
-
};
|
|
380
|
+
}; // refreshList
|
|
377
381
|
// initialiize
|
|
378
382
|
// const queryParams: QueryParameters = acOptions.queryParams
|
|
379
383
|
targetClass = acOptions.targetClass;
|
|
@@ -409,7 +413,7 @@ function _renderAutoComplete() {
|
|
|
409
413
|
searchInput = cell.appendChild(dom.createElement('input'));
|
|
410
414
|
searchInput.setAttribute('type', 'text');
|
|
411
415
|
initialize();
|
|
412
|
-
size = acOptions.size ||
|
|
416
|
+
size = acOptions.size || style.textInputSize || 20;
|
|
413
417
|
searchInput.setAttribute('size', size);
|
|
414
418
|
searchInput.setAttribute('data-testid', 'autocomplete-input');
|
|
415
419
|
searchInputStyle = style.textInputStyle ||
|
|
@@ -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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"}
|
|
@@ -28,6 +28,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
28
28
|
// import * as logic from '../index'
|
|
29
29
|
// import { authn } from '../../../authn/index'
|
|
30
30
|
|
|
31
|
+
// import { Binding } from '../widgets/forms/autocomplete/publicData'
|
|
32
|
+
// import { nativeNameForLanguageCode, englishNameForLanguageCode } from './nativeNameForLanguageCode'
|
|
33
|
+
|
|
34
|
+
// const { currentUser } = logic.authn
|
|
35
|
+
|
|
31
36
|
var languageCodeURIBase = 'https://www.w3.org/ns/iana/language-code/'; /// @@ unsupported on the web (2021)
|
|
32
37
|
exports.languageCodeURIBase = languageCodeURIBase;
|
|
33
38
|
var defaultPreferredLanguages = ['en', 'fr', 'de', 'it', 'ar'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","languageCodeURIBase","exports","defaultPreferredLanguages","addDefaults","array","concat","filter","code","includes","getPreferredLanguagesFor","_x","_getPreferredLanguagesFor","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","person","_store$fetcher","doc","list","languageCodeArray","wrap","_callee$","_context","prev","next","store","fetcher","load","any","schema","abrupt","elements","forEach","item","lang","solid","console","warn","value","startsWith","error","slice","length","push","log","join","stop","getPreferredLanguages","_getPreferredLanguages","_callee2","me","solidLanguagePrefs","_callee2$","_context2","authn","currentUser","sent","navigator","languages","map","longForm","split","language","filterByLanguage","bindings","languagePrefs","uris","binding","uri","subject","languagePrefs2","reverse","slimmed","u","sortMe","name","index","indexOf","pair","sort"],"sources":["../../../../src/widgets/forms/autocomplete/language.ts"],"sourcesContent":["/* Logic to access public data stores\n*\n* including filtering resut by natural language etc\n* See https://solidos.solidcommunity.net/public/2021/01%20Building%20Solid%20Apps%20which%20use%20Public%20Data.html\n*/\n/* eslint-disable no-console */\nimport * as debug from '../../../debug'\n// import * as logic from '../index'\n// import { authn } from '../../../authn/index'\nimport { authn, store } from 'solid-logic'\nimport * as ns from '../../../ns'\nimport { Collection, NamedNode, Node } from 'rdflib'\n// import { Binding } from '../widgets/forms/autocomplete/publicData'\n// import { nativeNameForLanguageCode, englishNameForLanguageCode } from './nativeNameForLanguageCode'\n\n// const { currentUser } = logic.authn\n\nexport interface Binding {\n subject: Node;\n name?: Node\n location?: Node\n coordinates?: Node\n}\n\nexport const languageCodeURIBase = 'https://www.w3.org/ns/iana/language-code/' /// @@ unsupported on the web (2021)\n\nexport const defaultPreferredLanguages = ['en', 'fr', 'de', 'it', 'ar']\n\nexport function addDefaults (array) {\n if (!array) array = []\n return array.concat(defaultPreferredLanguages.filter(code => !array.includes(code)))\n}\n\nexport async function getPreferredLanguagesFor (person: NamedNode) {\n const doc = person.doc()\n await store.fetcher?.load(doc)\n const list = store.any(person, ns.schema('knowsLanguage'), null, doc) as Collection | undefined\n if (!list) {\n // console.log(`User ${person} has not set their languages in their profile.`)\n return defaultPreferredLanguages\n }\n const languageCodeArray: string[] = []\n list.elements.forEach(item => {\n // console.log('@@ item ' + item)\n const lang = store.any(item as any, ns.solid('publicId'), null, doc)\n if (!lang) {\n console.warn('getPreferredLanguages: No publiID of language.')\n return\n }\n if (!lang.value.startsWith(languageCodeURIBase)) {\n console.error(`What should be a language code ${lang.value} does not start with ${languageCodeURIBase}`)\n return\n }\n const code = lang.value.slice(languageCodeURIBase.length)\n languageCodeArray.push(code)\n })\n\n if (languageCodeArray.length > 0) {\n console.log(` User knows languages with codes: \"${languageCodeArray.join(',')}\"`)\n return addDefaults(languageCodeArray)\n }\n return null\n}\n/* Get the preferred langauges for the user\n *\n * Either from solid preferences or browser preferences or default\n */\nexport async function getPreferredLanguages () {\n // In future: cache in the login session for speed, but get from profile and private prefs\n // We append the defaults so if someone's first choice is not available they don't get something very obscure\n // See https://github.com/solidos/solidos/issues/42\n const me = await authn.currentUser() as NamedNode\n if (me) { // If logged in\n const solidLanguagePrefs = await getPreferredLanguagesFor(me)\n if (solidLanguagePrefs) return solidLanguagePrefs\n }\n if (typeof navigator !== 'undefined') { // use browser settings\n if (navigator.languages) {\n return addDefaults(navigator.languages.map(longForm => longForm.split('-')[0]))\n }\n if (navigator.language) {\n return addDefaults([navigator.language.split('-')[0]])\n }\n }\n return defaultPreferredLanguages\n}\n\n/* From an array of bindings with a names for each row,\n * remove dupliacte names for the same thing, leaving the user's\n * preferred language version\n*/\n\nexport function filterByLanguage (bindings, languagePrefs) {\n const uris = {}\n bindings.forEach(binding => { // Organize names by their subject\n const uri = binding.subject.value\n uris[uri] = uris[uri] || []\n uris[uri].push(binding)\n })\n\n const languagePrefs2 = languagePrefs || defaultPreferredLanguages\n languagePrefs2.reverse() // Preferred last\n\n const slimmed = ([] as Array<Binding>)\n // console.log(` @@ {languagePrefs2 ${languagePrefs2}`)\n for (const u in uris) { // needs hasOwnProperty ?\n const bindings = uris[u]\n const sortMe = bindings.map(binding => {\n const lang = binding.name['xml:lang']\n const index = languagePrefs2.indexOf(lang)\n const pair = [index, binding]\n // console.log(` @@ lang: ${lang}, index: ${index}`)\n return pair\n })\n sortMe.sort() // best at th ebottom\n sortMe.reverse() // best at the top\n // console.debug('@@ sortMe:', sortMe)\n slimmed.push((sortMe[0][1] as any))\n } // map u\n debug.log(` Filter by language: ${bindings.length} -> ${slimmed.length}`)\n return slimmed\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"language.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","languageCodeURIBase","exports","defaultPreferredLanguages","addDefaults","array","concat","filter","code","includes","getPreferredLanguagesFor","_x","_getPreferredLanguagesFor","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","person","_store$fetcher","doc","list","languageCodeArray","wrap","_callee$","_context","prev","next","store","fetcher","load","any","schema","abrupt","elements","forEach","item","lang","solid","console","warn","value","startsWith","error","slice","length","push","log","join","stop","getPreferredLanguages","_getPreferredLanguages","_callee2","me","solidLanguagePrefs","_callee2$","_context2","authn","currentUser","sent","navigator","languages","map","longForm","split","language","filterByLanguage","bindings","languagePrefs","uris","binding","uri","subject","languagePrefs2","reverse","slimmed","u","sortMe","name","index","indexOf","pair","sort"],"sources":["../../../../src/widgets/forms/autocomplete/language.ts"],"sourcesContent":["/* Logic to access public data stores\n*\n* including filtering resut by natural language etc\n* See https://solidos.solidcommunity.net/public/2021/01%20Building%20Solid%20Apps%20which%20use%20Public%20Data.html\n*/\n/* eslint-disable no-console */\nimport * as debug from '../../../debug'\n// import * as logic from '../index'\n// import { authn } from '../../../authn/index'\nimport { authn, store } from 'solid-logic'\nimport * as ns from '../../../ns'\nimport { Collection, NamedNode, Node } from 'rdflib'\n// import { Binding } from '../widgets/forms/autocomplete/publicData'\n// import { nativeNameForLanguageCode, englishNameForLanguageCode } from './nativeNameForLanguageCode'\n\n// const { currentUser } = logic.authn\n\nexport interface Binding {\n subject: Node;\n name?: Node\n location?: Node\n coordinates?: Node\n}\n\nexport const languageCodeURIBase = 'https://www.w3.org/ns/iana/language-code/' /// @@ unsupported on the web (2021)\n\nexport const defaultPreferredLanguages = ['en', 'fr', 'de', 'it', 'ar']\n\nexport function addDefaults (array) {\n if (!array) array = []\n return array.concat(defaultPreferredLanguages.filter(code => !array.includes(code)))\n}\n\nexport async function getPreferredLanguagesFor (person: NamedNode) {\n const doc = person.doc()\n await store.fetcher?.load(doc)\n const list = store.any(person, ns.schema('knowsLanguage'), null, doc) as Collection | undefined\n if (!list) {\n // console.log(`User ${person} has not set their languages in their profile.`)\n return defaultPreferredLanguages\n }\n const languageCodeArray: string[] = []\n list.elements.forEach(item => {\n // console.log('@@ item ' + item)\n const lang = store.any(item as any, ns.solid('publicId'), null, doc)\n if (!lang) {\n console.warn('getPreferredLanguages: No publiID of language.')\n return\n }\n if (!lang.value.startsWith(languageCodeURIBase)) {\n console.error(`What should be a language code ${lang.value} does not start with ${languageCodeURIBase}`)\n return\n }\n const code = lang.value.slice(languageCodeURIBase.length)\n languageCodeArray.push(code)\n })\n\n if (languageCodeArray.length > 0) {\n console.log(` User knows languages with codes: \"${languageCodeArray.join(',')}\"`)\n return addDefaults(languageCodeArray)\n }\n return null\n}\n/* Get the preferred langauges for the user\n *\n * Either from solid preferences or browser preferences or default\n */\nexport async function getPreferredLanguages () {\n // In future: cache in the login session for speed, but get from profile and private prefs\n // We append the defaults so if someone's first choice is not available they don't get something very obscure\n // See https://github.com/solidos/solidos/issues/42\n const me = await authn.currentUser() as NamedNode\n if (me) { // If logged in\n const solidLanguagePrefs = await getPreferredLanguagesFor(me)\n if (solidLanguagePrefs) return solidLanguagePrefs\n }\n if (typeof navigator !== 'undefined') { // use browser settings\n if (navigator.languages) {\n return addDefaults(navigator.languages.map(longForm => longForm.split('-')[0]))\n }\n if (navigator.language) {\n return addDefaults([navigator.language.split('-')[0]])\n }\n }\n return defaultPreferredLanguages\n}\n\n/* From an array of bindings with a names for each row,\n * remove dupliacte names for the same thing, leaving the user's\n * preferred language version\n*/\n\nexport function filterByLanguage (bindings, languagePrefs) {\n const uris = {}\n bindings.forEach(binding => { // Organize names by their subject\n const uri = binding.subject.value\n uris[uri] = uris[uri] || []\n uris[uri].push(binding)\n })\n\n const languagePrefs2 = languagePrefs || defaultPreferredLanguages\n languagePrefs2.reverse() // Preferred last\n\n const slimmed = ([] as Array<Binding>)\n // console.log(` @@ {languagePrefs2 ${languagePrefs2}`)\n for (const u in uris) { // needs hasOwnProperty ?\n const bindings = uris[u]\n const sortMe = bindings.map(binding => {\n const lang = binding.name['xml:lang']\n const index = languagePrefs2.indexOf(lang)\n const pair = [index, binding]\n // console.log(` @@ lang: ${lang}, index: ${index}`)\n return pair\n })\n sortMe.sort() // best at th ebottom\n sortMe.reverse() // best at the top\n // console.debug('@@ sortMe:', sortMe)\n slimmed.push((sortMe[0][1] as any))\n } // map u\n debug.log(` Filter by language: ${bindings.length} -> ${slimmed.length}`)\n return slimmed\n}\n"],"mappings":";;;;;;;;;;;;;;;AAMA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,EAAA,GAAAH,uBAAA,CAAAC,OAAA;AAAiC,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAVjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAIA;AACA;;AAEA;;AASO,IAAMW,mBAAmB,GAAG,2CAA2C,EAAC;AAAAC,OAAA,CAAAD,mBAAA,GAAAA,mBAAA;AAExE,IAAME,yBAAyB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAAAD,OAAA,CAAAC,yBAAA,GAAAA,yBAAA;AAEhE,SAASC,WAAWA,CAAEC,KAAK,EAAE;EAClC,IAAI,CAACA,KAAK,EAAEA,KAAK,GAAG,EAAE;EACtB,OAAOA,KAAK,CAACC,MAAM,CAACH,yBAAyB,CAACI,MAAM,CAAC,UAAAC,IAAI;IAAA,OAAI,CAACH,KAAK,CAACI,QAAQ,CAACD,IAAI,CAAC;EAAA,EAAC,CAAC;AACtF;AAAC,SAEqBE,wBAAwBA,CAAAC,EAAA;EAAA,OAAAC,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA8B9C;AACA;AACA;AACA;AAHA,SAAAF,0BAAA;EAAAA,yBAAA,OAAAG,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CA9BO,SAAAC,QAAyCC,MAAiB;IAAA,IAAAC,cAAA;IAAA,IAAAC,GAAA,EAAAC,IAAA,EAAAC,iBAAA;IAAA,OAAAP,YAAA,YAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACzDP,GAAG,GAAGF,MAAM,CAACE,GAAG,EAAE;UAAAK,QAAA,CAAAE,IAAA;UAAA,QAAAR,cAAA,GAClBS,iBAAK,CAACC,OAAO,cAAAV,cAAA,uBAAbA,cAAA,CAAeW,IAAI,CAACV,GAAG,CAAC;QAAA;UACxBC,IAAI,GAAGO,iBAAK,CAACG,GAAG,CAACb,MAAM,EAAEzC,EAAE,CAACuD,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAEZ,GAAG,CAAC;UAAA,IAChEC,IAAI;YAAAI,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAQ,MAAA,WAEA/B,yBAAyB;QAAA;UAE5BoB,iBAA2B,GAAG,EAAE;UACtCD,IAAI,CAACa,QAAQ,CAACC,OAAO,CAAC,UAAAC,IAAI,EAAI;YAC5B;YACA,IAAMC,IAAI,GAAGT,iBAAK,CAACG,GAAG,CAACK,IAAI,EAAS3D,EAAE,CAAC6D,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAElB,GAAG,CAAC;YACpE,IAAI,CAACiB,IAAI,EAAE;cACTE,OAAO,CAACC,IAAI,CAAC,gDAAgD,CAAC;cAC9D;YACF;YACA,IAAI,CAACH,IAAI,CAACI,KAAK,CAACC,UAAU,CAAC1C,mBAAmB,CAAC,EAAE;cAC/CuC,OAAO,CAACI,KAAK,mCAAAtC,MAAA,CAAmCgC,IAAI,CAACI,KAAK,2BAAApC,MAAA,CAAwBL,mBAAmB,EAAG;cACxG;YACF;YACA,IAAMO,IAAI,GAAG8B,IAAI,CAACI,KAAK,CAACG,KAAK,CAAC5C,mBAAmB,CAAC6C,MAAM,CAAC;YACzDvB,iBAAiB,CAACwB,IAAI,CAACvC,IAAI,CAAC;UAC9B,CAAC,CAAC;UAAA,MAEEe,iBAAiB,CAACuB,MAAM,GAAG,CAAC;YAAApB,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC9BY,OAAO,CAACQ,GAAG,4CAAA1C,MAAA,CAA2CiB,iBAAiB,CAAC0B,IAAI,CAAC,GAAG,CAAC,QAAI;UAAA,OAAAvB,QAAA,CAAAQ,MAAA,WAC9E9B,WAAW,CAACmB,iBAAiB,CAAC;QAAA;UAAA,OAAAG,QAAA,CAAAQ,MAAA,WAEhC,IAAI;QAAA;QAAA;UAAA,OAAAR,QAAA,CAAAwB,IAAA;MAAA;IAAA,GAAAhC,OAAA;EAAA,CACZ;EAAA,OAAAN,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAKqBqC,qBAAqBA,CAAA;EAAA,OAAAC,sBAAA,CAAAvC,KAAA,OAAAC,SAAA;AAAA;AAoB3C;AACA;AACA;AACA;AAHA,SAAAsC,uBAAA;EAAAA,sBAAA,OAAArC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CApBO,SAAAoC,SAAA;IAAA,IAAAC,EAAA,EAAAC,kBAAA;IAAA,OAAAvC,YAAA,YAAAQ,IAAA,UAAAgC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA9B,IAAA,GAAA8B,SAAA,CAAA7B,IAAA;QAAA;UAAA6B,SAAA,CAAA7B,IAAA;UAAA,OAIY8B,iBAAK,CAACC,WAAW,EAAE;QAAA;UAA9BL,EAAE,GAAAG,SAAA,CAAAG,IAAA;UAAA,KACJN,EAAE;YAAAG,SAAA,CAAA7B,IAAA;YAAA;UAAA;UAAA6B,SAAA,CAAA7B,IAAA;UAAA,OAC6BlB,wBAAwB,CAAC4C,EAAE,CAAC;QAAA;UAAvDC,kBAAkB,GAAAE,SAAA,CAAAG,IAAA;UAAA,KACpBL,kBAAkB;YAAAE,SAAA,CAAA7B,IAAA;YAAA;UAAA;UAAA,OAAA6B,SAAA,CAAAvB,MAAA,WAASqB,kBAAkB;QAAA;UAAA,MAE/C,OAAOM,SAAS,KAAK,WAAW;YAAAJ,SAAA,CAAA7B,IAAA;YAAA;UAAA;UAAA,KAC9BiC,SAAS,CAACC,SAAS;YAAAL,SAAA,CAAA7B,IAAA;YAAA;UAAA;UAAA,OAAA6B,SAAA,CAAAvB,MAAA,WACd9B,WAAW,CAACyD,SAAS,CAACC,SAAS,CAACC,GAAG,CAAC,UAAAC,QAAQ;YAAA,OAAIA,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;UAAA,EAAC,CAAC;QAAA;UAAA,KAE7EJ,SAAS,CAACK,QAAQ;YAAAT,SAAA,CAAA7B,IAAA;YAAA;UAAA;UAAA,OAAA6B,SAAA,CAAAvB,MAAA,WACb9B,WAAW,CAAC,CAACyD,SAAS,CAACK,QAAQ,CAACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA;UAAA,OAAAR,SAAA,CAAAvB,MAAA,WAGnD/B,yBAAyB;QAAA;QAAA;UAAA,OAAAsD,SAAA,CAAAP,IAAA;MAAA;IAAA,GAAAG,QAAA;EAAA,CACjC;EAAA,OAAAD,sBAAA,CAAAvC,KAAA,OAAAC,SAAA;AAAA;AAOM,SAASqD,gBAAgBA,CAAEC,QAAQ,EAAEC,aAAa,EAAE;EACzD,IAAMC,IAAI,GAAG,CAAC,CAAC;EACfF,QAAQ,CAAChC,OAAO,CAAC,UAAAmC,OAAO,EAAI;IAAE;IAC5B,IAAMC,GAAG,GAAGD,OAAO,CAACE,OAAO,CAAC/B,KAAK;IACjC4B,IAAI,CAACE,GAAG,CAAC,GAAGF,IAAI,CAACE,GAAG,CAAC,IAAI,EAAE;IAC3BF,IAAI,CAACE,GAAG,CAAC,CAACzB,IAAI,CAACwB,OAAO,CAAC;EACzB,CAAC,CAAC;EAEF,IAAMG,cAAc,GAAGL,aAAa,IAAIlE,yBAAyB;EACjEuE,cAAc,CAACC,OAAO,EAAE,EAAC;;EAEzB,IAAMC,OAAO,GAAI,EAAqB;EACtC;EACA,KAAK,IAAMC,CAAC,IAAIP,IAAI,EAAE;IAAE;IACtB,IAAMF,SAAQ,GAAGE,IAAI,CAACO,CAAC,CAAC;IACxB,IAAMC,MAAM,GAAGV,SAAQ,CAACL,GAAG,CAAC,UAAAQ,OAAO,EAAI;MACrC,IAAMjC,IAAI,GAAGiC,OAAO,CAACQ,IAAI,CAAC,UAAU,CAAC;MACrC,IAAMC,KAAK,GAAGN,cAAc,CAACO,OAAO,CAAC3C,IAAI,CAAC;MAC1C,IAAM4C,IAAI,GAAG,CAACF,KAAK,EAAET,OAAO,CAAC;MAC7B;MACA,OAAOW,IAAI;IACb,CAAC,CAAC;IACFJ,MAAM,CAACK,IAAI,EAAE,EAAC;IACdL,MAAM,CAACH,OAAO,EAAE,EAAC;IACjB;IACAC,OAAO,CAAC7B,IAAI,CAAE+B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS;EACrC,CAAC,CAAC;EACFxG,KAAK,CAAC0E,GAAG,yBAAA1C,MAAA,CAAyB8D,QAAQ,CAACtB,MAAM,UAAAxC,MAAA,CAAOsE,OAAO,CAAC9B,MAAM,EAAG;EACzE,OAAO8B,OAAO;AAChB"}
|
|
@@ -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;
|
|
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"}
|