solid-ui 2.4.14-46ae8b5d → 2.4.14-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +334 -441
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +1 -1
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +347 -492
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +168 -198
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -1
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +444 -459
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +318 -515
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +27 -35
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +84 -90
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +5 -4
- package/lib/acl/types.js.map +1 -1
- package/lib/authn/authSession.d.ts +0 -0
- package/lib/authn/authSession.d.ts.map +0 -0
- package/lib/authn/authSession.js +14 -21
- package/lib/authn/authSession.js.map +1 -1
- package/lib/authn/authn.d.ts +0 -0
- package/lib/authn/authn.d.ts.map +0 -0
- package/lib/authn/authn.js +1391 -1935
- package/lib/authn/authn.js.map +1 -1
- package/lib/authn/config-default.js +0 -0
- package/lib/authn/config-default.js.map +0 -0
- package/lib/authn/index.d.ts +0 -0
- package/lib/authn/index.d.ts.map +0 -0
- package/lib/authn/index.js +26 -37
- package/lib/authn/index.js.map +1 -1
- package/lib/authn/signup.js +0 -0
- package/lib/authn/signup.js.map +0 -0
- package/lib/authn/types.d.ts +0 -0
- package/lib/authn/types.d.ts.map +0 -0
- package/lib/authn/types.js +1 -4
- package/lib/authn/types.js.map +1 -1
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -0
- package/lib/chat/infinite.js.map +0 -0
- package/lib/chat/message.js +0 -0
- package/lib/chat/message.js.map +0 -0
- package/lib/chat/messageTools.js +0 -0
- package/lib/chat/messageTools.js.map +0 -0
- package/lib/chat/thread.js +0 -0
- package/lib/chat/thread.js.map +0 -0
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +209 -214
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +4 -10
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +1 -4
- package/lib/create/types.js.map +1 -1
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +30 -28
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +0 -0
- package/lib/footer/index.d.ts.map +0 -0
- package/lib/footer/index.js +109 -126
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.d.ts +0 -0
- package/lib/footer/styleMap.d.ts.map +0 -0
- package/lib/footer/styleMap.js +7 -11
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +2 -6
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.d.ts +0 -0
- package/lib/header/index.d.ts.map +0 -0
- package/lib/header/index.js +285 -361
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -0
- package/lib/header/styleMap.d.ts.map +0 -0
- package/lib/header/styleMap.js +116 -132
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +23 -30
- package/lib/iconBase.js.map +1 -1
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +1 -1
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +103 -207
- package/lib/index.js.map +1 -1
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +21 -30
- package/lib/jss/index.js.map +1 -1
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +83 -131
- package/lib/log.js.map +1 -1
- package/lib/logic.d.ts +0 -0
- package/lib/logic.d.ts.map +0 -0
- package/lib/logic.js +82 -69
- package/lib/logic.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +4 -10
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +210 -237
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +1 -4
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +5 -11
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +187 -181
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +0 -0
- package/lib/pad.d.ts.map +0 -0
- package/lib/pad.js +794 -954
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +0 -0
- package/lib/participation.d.ts.map +0 -0
- package/lib/participation.js +170 -199
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +0 -0
- package/lib/tabs.d.ts.map +0 -0
- package/lib/tabs.js +235 -342
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +0 -0
- package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
- package/lib/utils/headerFooterHelpers.js +130 -155
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +0 -0
- package/lib/utils/index.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +121 -113
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +23 -28
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +9 -9
- package/lib/webpack-bundle.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +19 -30
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +935 -1113
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +18 -24
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +234 -325
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +246 -276
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +317 -497
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +159 -212
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +485 -718
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +208 -239
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +48 -48
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +31 -50
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +102 -81
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +52 -50
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +0 -0
- package/lib/widgets/forms.js.map +0 -0
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +18 -30
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/widgets/buttons.ts"],"names":["iconBase","icons","cancelIconURI","checkIconURI","getStatusArea","context","box","statusArea","div","dom","document","body","getElementsByTagName","createElement","insertBefore","firstElementChild","complain","err","ele","debug","log","appendChild","alert","clearElement","firstChild","removeChild","extractLogURI","fullURI","logPos","search","rulPos","substring","shortDate","str","noTime","month","nowZ","Date","toISOString","slice","parseInt","e","formatDateTime","date","format","split","map","s","k","width","Milliseconds","FullYear","d","Month","join","timestamp","shortTime","setName","element","x","kb","store","findName","name","any","ns","vcard","foaf","value","sameTerm","textContent","utils","label","uri","fetcher","Error","nowOrWhenFetched","doc","undefined","_ok","imagesOf","each","sioc","concat","iconForClass","tempSite","p","indexOf","q","findImageFromURI","iconDir","length","startsWith","findImage","thing","rdf","image","trySetImage","iconForClassMap","explitImage","setAttribute","typeIcon","style","classIconStyle","schemeIcon","types","findTypeURIs","typeURI","setImage","pref","id","theClass","happy","ok","faviconOrDefault","iconStyle","isOrigin","parts","res","renderDeleteConfirmPopup","refererenceElement","prompt","deleteFunction","removePopup","parentElement","removePopupAndDoDeletion","popup","confirmPopupStyle","position","top","display","gridTemplateColumns","affirm","gridColumn","gridRow","cancel","xButton","cancelButton","cancelPrompt","buttonStyle","affirmIcon","button","sureButtonElt","addEventListener","deleteButtonWithCheck","container","noun","createPopup","deleteButton","minusIconURI","smallButtonStyle","title","classList","add","getButtonStyle","options","color","buttonColor","backgroundColor","fontColor","borderColor","hoverBackgroundColor","hoverFontColor","needsBorder","border","cursor","padding","transition","outline","iconURI","text","handler","img","toLocaleUpperCase","head","textButton","classes","continueButton","askName","predicate","Promise","resolve","_reject","form","namefield","textInputStyle","select","gotName","parentNode","trim","keyCode","_event","focus","personTR","renderAsRow","pred","obj","tr","td1","td2","td3","link","anchor","draggable","subject","createNameDiv","nameDiv","createLinkDiv","linkDiv","linkDivStyle","renderAsDiv","renderAsDivStyle","clickable","onClickFunction","wrapInATR","refreshTree","root","refresh","i","children","attachmentList","deleteAttachment","target","updater","update","errorBody","_xhr","createNewRow","theTarget","opt","modify","things","sort","syncTableToArray","attachmentTable","droppedURIHandler","uris","ins","forEach","u","push","droppedFileHandler","files","uploadFolder","theFile","destURI","sym","promptIcon","wf","attachmentOuter","attachmentOne","attachmentLeft","attachmentRight","paperclip","fhandler","buttonDiv","fileUploadButtonDiv","openHrefInOutlineMode","preventDefault","stopPropagation","getTarget","getAttribute","window","outlineManager","GotoSubject","panes","getOutliner","defaultAnnotationStore","hash","slash","lastIndexOf","allClassURIs","set","statementsMatching","st","object","rdfs","c","propertyTriage","possibleProperties","dp","op","no","nd","nu","pi","predicateIndex","termType","ps","toNT","linkButton","b","removeButton","selectorPanel","type","inverse","possible","callbackFunction","linkCallback","selectorPanelRefresh","list","style0","selected","innerHTML","refreshItem","item","setStyle","already","iconDiv","connectIcon","f","index","twoLine","widgetForClass","nav","a","event","twoLineDefault","twoLineWidgetForClass","widget","sup","findSuperClassesNT","cl","fromNT","twoLineTransaction","failed","enc","y","qu","escapeForXML","twoLineTrip","dc","cal","addStyleSheet","href","links","querySelectorAll","isAudio","file","isImage","isVideo","kind","dcCLasses","audio","video","what","typeURIs","prefix","Util","mediaTypeClass","t","input","buttonElt","click","line"],"mappings":"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","sourcesContent":["/* Buttons\n*/\nimport { IndexedFormula, NamedNode, st, sym, uri, Util } from 'rdflib'\nimport { icons } from '../iconBase'\nimport * as ns from '../ns'\nimport * as style from '../style'\nimport * as debug from '../debug'\nimport { info } from '../log'\nimport { getClasses } from '../jss'\nimport { uploadFiles, makeDraggable, makeDropTarget } from './dragAndDrop'\nimport { store } from '../logic'\nimport * as utils from '../utils'\nimport { errorMessageBlock } from './error'\nimport { addClickListenerToElement, createImageDiv, wrapDivInATR } from './widgetHelpers'\nimport { linkIcon, createLinkForURI } from './buttons/iconLinks'\n\n/**\n * UI Widgets such as buttons\n * @packageDocumentation\n */\n\n/* global alert */\n\nconst { iconBase } = icons\n\nconst cancelIconURI = iconBase + 'noun_1180156.svg' // black X\nconst checkIconURI = iconBase + 'noun_1180158.svg' // green checkmark; Continue\n\nexport type StatusAreaContext = {\n statusArea?: HTMLElement\n div?: HTMLElement\n dom?: HTMLDocument\n}\nexport type ButtonType = 'Primary' | 'Secondary'\n\nexport type ButtonWidgetOptions = {\n buttonColor?: ButtonType,\n needsBorder?: boolean\n}\n\nexport type RenderAsDivOptions = {\n image?: HTMLImageElement,\n title?: string,\n deleteFunction?: () => void,\n link?: boolean,\n noun?: string,\n draggable?: boolean,\n clickable?: boolean,\n onClickFunction?: () => void,\n wrapInATR?: boolean\n}\n\nfunction getStatusArea (context?: StatusAreaContext) {\n let box = (context && context.statusArea) || (context && context.div) || null\n if (box) return box\n let dom = context && context.dom\n if (!dom && typeof document !== 'undefined') {\n dom = document\n }\n if (dom) {\n const body = dom.getElementsByTagName('body')[0]\n box = dom.createElement('div')\n body.insertBefore((box as unknown as HTMLElement), body.firstElementChild)\n if (context) {\n context.statusArea = (box as unknown as HTMLElement)\n }\n return box\n }\n return null\n}\n\n/**\n * Display an error message block\n */\nexport function complain (context?: StatusAreaContext, err?: string) {\n if (!err) return // only if error\n const ele = getStatusArea(context)\n debug.log('Complaint: ' + err)\n if (ele) ele.appendChild(errorMessageBlock((context && context.dom) || document, err))\n else alert(err)\n}\n\n/**\n * Remove all the children of an HTML element\n */\nexport function clearElement (ele: HTMLElement) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild)\n }\n return ele\n}\n\n/**\n * To figure out the log URI from the full URI used to invoke the reasoner\n */\nexport function extractLogURI (fullURI) {\n const logPos = fullURI.search(/logFile=/)\n const rulPos = fullURI.search(/&rulesFile=/)\n return fullURI.substring(logPos + 8, rulPos)\n}\n\n/**\n * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'\n * if today is 19 Feb 2020, and to 'Feb 19' if not.\n * @@@ TODO This needs to be changed to local time\n * @param noTime Return a string like 'Feb 19' even if it's today.\n */\nexport function shortDate (str?: string, noTime?: boolean): string {\n if (!str) return '???'\n const month = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n ]\n try {\n const nowZ = new Date().toISOString()\n // var nowZ = $rdf.term(now).value\n // var n = now.getTimezoneOffset() // Minutes\n if (str.slice(0, 10) === nowZ.slice(0, 10) && !noTime) {\n return str.slice(11, 16)\n }\n if (str.slice(0, 4) === nowZ.slice(0, 4)) {\n return (\n month[parseInt(str.slice(5, 7), 10) - 1] +\n ' ' +\n parseInt(str.slice(8, 10), 10)\n )\n }\n return str.slice(0, 10)\n } catch (e) {\n return 'shortdate:' + e\n }\n}\n\n/**\n * Format a date and time\n * @param date for instance `new Date()`\n * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'\n * @returns for instance '2000-01-15T23:14:23.002'\n */\nexport function formatDateTime (date: Date, format: string): string {\n return format\n .split('{')\n .map(function (s) {\n const k = s.split('}')[0]\n const width = { Milliseconds: 3, FullYear: 4 }\n const d = { Month: 1 }\n return s\n ? ('000' + (date['get' + k]() + (d[k] || 0))).slice(-(width[k] || 2)) + s.split('}')[1]\n : ''\n })\n .join('')\n}\n\n/**\n * Get a string representation of the current time\n * @returns for instance '2000-01-15T23:14:23.002'\n */\nexport function timestamp (): string {\n return formatDateTime(\n new Date(),\n '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'\n )\n}\n\n/**\n * Get a short string representation of the current time\n * @returns for instance '23:14:23.002'\n */\nexport function shortTime (): string {\n return formatDateTime(\n new Date(),\n '{Hours}:{Minutes}:{Seconds}.{Milliseconds}'\n )\n}\n\n// ///////////////////// Handy UX widgets\n\n/**\n * Sets the best name we have and looks up a better one\n */\nexport function setName (element: HTMLElement, x: NamedNode) {\n const kb = store\n const findName = function (x) {\n const name =\n kb.any(x, ns.vcard('fn')) ||\n kb.any(x, ns.foaf('name')) ||\n kb.any(x, ns.vcard('organization-name'))\n return name ? name.value : null\n }\n const name = x.sameTerm(ns.foaf('Agent')) ? 'Everyone' : findName(x)\n element.textContent = name || utils.label(x)\n if (!name && x.uri) {\n if (!kb.fetcher) {\n throw new Error('kb has no fetcher')\n }\n // Note this is only a fetch, not a lookUP of all sameAs etc\n kb.fetcher.nowOrWhenFetched(x.doc(), undefined, function (_ok) {\n element.textContent = findName(x) || utils.label(x) // had: (ok ? '' : '? ') +\n })\n }\n}\n\n/**\n * Set of suitable images\n * See also [[findImage]]\n * @param x The thing for which we want to find an image\n * @param kb The RDF store to look in\n * @returns It goes looking for triples in `kb`,\n * `(subject: x), (predicate: see list below) (object: image-url)`\n * to find any image linked from the thing with one of the following\n * predicates (in order):\n * * ns.sioc('avatar')\n * * ns.foaf('img')\n * * ns.vcard('logo')\n * * ns.vcard('hasPhoto')\n * * ns.vcard('photo')\n * * ns.foaf('depiction')\n\n */\nexport function imagesOf (x: NamedNode | null, kb: IndexedFormula): any[] {\n return kb\n .each(x, ns.sioc('avatar'))\n .concat(kb.each(x, ns.foaf('img')))\n .concat(kb.each(x, ns.vcard('logo')))\n .concat(kb.each(x, ns.vcard('hasPhoto')))\n .concat(kb.each(x, ns.vcard('photo')))\n .concat(kb.each(x, ns.foaf('depiction')))\n}\n\n/**\n * Best logo or avatar or photo etc to represent someone or some group etc\n */\nexport const iconForClass = {\n // Potentially extendable by other apps, panes, etc\n // Relative URIs to the iconBase\n 'solid:AppProviderClass': 'noun_144.svg', // @@ classs name should not contain 'Class'\n 'solid:AppProvider': 'noun_15177.svg', // @@\n 'solid:Pod': 'noun_Cabinet_1434380.svg',\n 'vcard:Group': 'noun_339237.svg',\n 'vcard:Organization': 'noun_143899.svg',\n 'vcard:Individual': 'noun_15059.svg',\n 'schema:Person': 'noun_15059.svg',\n 'foaf:Person': 'noun_15059.svg',\n 'foaf:Agent': 'noun_98053.svg',\n 'acl:AuthenticatedAgent': 'noun_99101.svg',\n 'prov:SoftwareAgent': 'noun_Robot_849764.svg', // Bot\n 'vcard:AddressBook': 'noun_15695.svg',\n 'trip:Trip': 'noun_581629.svg',\n 'meeting:LongChat': 'noun_1689339.svg',\n 'meeting:Meeting': 'noun_66617.svg',\n 'meeting:Project': 'noun_1036577.svg',\n 'ui:Form': 'noun_122196.svg',\n 'rdfs:Class': 'class-rectangle.svg', // For RDF developers\n 'rdf:Property': 'property-diamond.svg',\n 'owl:Ontology': 'noun_classification_1479198.svg',\n 'wf:Tracker': 'noun_122196.svg',\n 'wf:Task': 'noun_17020_gray-tick.svg',\n 'wf:Open': 'noun_17020_sans-tick.svg',\n 'wf:Closed': 'noun_17020.svg'\n}\n\n/**\n * Returns the origin of the URI of a NamedNode\n */\nfunction tempSite (x: NamedNode) {\n // use only while one in rdflib fails with origins 2019\n const str = x.uri.split('#')[0]\n const p = str.indexOf('//')\n if (p < 0) throw new Error('This URI does not have a web site part (origin)')\n const q = str.indexOf('/', p + 2)\n if (q < 0) {\n // no third slash?\n return str.slice(0) + '/' // Add slash to a bare origin\n } else {\n return str.slice(0, q + 1)\n }\n}\n\n/**\n * Find an image for this thing as a class\n */\nexport function findImageFromURI (x: NamedNode | string): string | null {\n const iconDir = iconBase\n\n // Special cases from URI scheme:\n if (typeof x !== 'string' && x.uri) {\n if (\n x.uri.split('/').length === 4 &&\n !x.uri.split('/')[1] &&\n !x.uri.split('/')[3]\n ) {\n return iconDir + 'noun_15177.svg' // App -- this is an origin\n }\n // Non-HTTP URI types imply types\n if (x.uri.startsWith('message:') || x.uri.startsWith('mid:')) {\n // message: is apple bug-- should be mid:\n return iconDir + 'noun_480183.svg' // envelope noun_567486\n }\n if (x.uri.startsWith('mailto:')) {\n return iconDir + 'noun_567486.svg' // mailbox - an email desitination\n }\n // For HTTP(s) documents, we could look at the MIME type if we know it.\n if (x.uri.startsWith('https:') && x.uri.indexOf('#') < 0) {\n return tempSite(x) + 'favicon.ico' // was x.site().uri + ...\n // Todo: make the document icon a fallback for if the favicon does not exist\n // todo: pick up a possible favicon for the web page itself from a link\n // was: return iconDir + 'noun_681601.svg' // document - under solid assumptions\n }\n return null\n }\n\n return iconDir + 'noun_10636_grey.svg' // Grey Circle - some thing\n}\n\n/**\n * Find something we have as explicit image data for the thing\n * See also [[imagesOf]]\n * @param thing The thing for which we want to find an image\n * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`\n * or `ns.rdf('Resource')`. Otherwise, it goes looking for\n * triples in `store`,\n * `(subject: thing), (predicate: see list below) (object: image-url)`\n * to find any image linked from the thing with one of the following\n * predicates (in order):\n * * ns.sioc('avatar')\n * * ns.foaf('img')\n * * ns.vcard('logo')\n * * ns.vcard('hasPhoto')\n * * ns.vcard('photo')\n * * ns.foaf('depiction')\n */\nexport function findImage (thing: NamedNode): string {\n const kb = store\n const iconDir = iconBase\n if (thing.sameTerm(ns.foaf('Agent')) || thing.sameTerm(ns.rdf('Resource'))) {\n return iconDir + 'noun_98053.svg' // Globe\n }\n const image =\n kb.any(thing, ns.sioc('avatar')) ||\n kb.any(thing, ns.foaf('img')) ||\n kb.any(thing, ns.vcard('logo')) ||\n kb.any(thing, ns.vcard('hasPhoto')) ||\n kb.any(thing, ns.vcard('photo')) ||\n kb.any(thing, ns.foaf('depiction'))\n return image ? (image as any).uri : null\n}\n\n/**\n * Do the best you can with the data available\n *\n * @return {Boolean} Are we happy with this icon?\n * Sets src AND STYLE of the image.\n */\nfunction trySetImage (element, thing, iconForClassMap) {\n const kb = store\n\n const explitImage = findImage(thing)\n if (explitImage) {\n element.setAttribute('src', explitImage)\n return true\n }\n // This is one of the classes we know about - the class itself?\n const typeIcon = iconForClassMap[thing.uri]\n if (typeIcon) {\n element.setAttribute('src', typeIcon)\n element.style = style.classIconStyle\n // element.style.border = '0.1em solid green;'\n // element.style.backgroundColor = '#eeffee' // pale green\n return true\n }\n const schemeIcon = findImageFromURI(thing)\n if (schemeIcon) {\n element.setAttribute('src', schemeIcon)\n return true // happy with this -- don't look it up\n }\n\n // Do we have a generic icon for something in any class its in?\n const types = kb.findTypeURIs(thing)\n for (const typeURI in types) {\n if (iconForClassMap[typeURI]) {\n element.setAttribute('src', iconForClassMap[typeURI])\n return false // maybe we can do better\n }\n }\n element.setAttribute('src', iconBase + 'noun_10636_grey.svg') // Grey Circle - some thing\n return false // we can do better\n}\n\n/**\n * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,\n */\nexport function setImage (element: HTMLElement, thing: NamedNode) { // 20191230a\n const kb = store\n\n const iconForClassMap = {}\n for (const k in iconForClass) {\n const pref = k.split(':')[0]\n const id = k.split(':')[1]\n const theClass = ns[pref](id)\n iconForClassMap[theClass.uri] = uri.join(iconForClass[k], iconBase)\n }\n\n const happy = trySetImage(element, thing, iconForClassMap)\n if (!happy && thing.uri) {\n if (!kb.fetcher) {\n throw new Error('kb has no fetcher')\n }\n kb.fetcher.nowOrWhenFetched(thing.doc(), undefined, (ok) => {\n if (ok) {\n trySetImage(element, thing, iconForClassMap)\n }\n })\n }\n}\n\n// If a web page, then a favicon, with a fallback to ???\n// See, e.g., http://stackoverflow.com/questions/980855/inputting-a-default-image\nexport function faviconOrDefault (dom: HTMLDocument, x: NamedNode) {\n const image = dom.createElement('img')\n ;(image as any).style = style.iconStyle\n const isOrigin = function (x) {\n if (!x.uri) return false\n const parts = x.uri.split('/')\n return parts.length === 3 || (parts.length === 4 && parts[3] === '')\n }\n image.setAttribute(\n 'src',\n iconBase + (isOrigin(x) ? 'noun_15177.svg' : 'noun_681601.svg') // App symbol vs document\n )\n if (x.uri && x.uri.startsWith('https:') && x.uri.indexOf('#') < 0) {\n const res = dom.createElement('object') // favico with a fallback of a default image if no favicon\n res.setAttribute('data', tempSite(x) + 'favicon.ico')\n res.setAttribute('type', 'image/x-icon')\n res.appendChild(image) // fallback\n return res\n } else {\n setImage(image, x)\n return image\n }\n}\n\n/* Two-option dialog pop-up\n*/\n\nfunction renderDeleteConfirmPopup (dom, refererenceElement, prompt, deleteFunction) {\n function removePopup () {\n refererenceElement.parentElement.removeChild(refererenceElement)\n }\n function removePopupAndDoDeletion () {\n removePopup()\n deleteFunction()\n }\n const popup = dom.createElement('div')\n popup.style = style.confirmPopupStyle\n popup.style.position = 'absolute'\n popup.style.top = '-1em' // try leaving original button clear\n\n popup.style.display = 'grid'\n popup.style.gridTemplateColumns = 'auto auto'\n const affirm = dom.createElement('div')\n affirm.style.gridColumn = '1/2'\n affirm.style.gridRow = '1' // @@ sigh; TS. could pass number in fact\n const cancel = dom.createElement('div')\n cancel.style.gridColumn = '1/2'\n cancel.style.gridRow = '2'\n\n const xButton = cancelButton(dom, removePopup)\n popup.appendChild(xButton)\n xButton.style.gridColumn = '1'\n xButton.style.gridRow = '2'\n\n const cancelPrompt = popup.appendChild(dom.createElement('button'))\n cancelPrompt.style = style.buttonStyle\n cancelPrompt.style.gridRow = '2'\n cancelPrompt.style.gridColumn = '2'\n cancelPrompt.textContent = 'Cancel' // @@ I18n\n\n const affirmIcon = button(dom, icons.iconBase + 'noun_925021.svg', 'Delete it') // trashcan\n popup.appendChild(affirmIcon)\n affirmIcon.style.gridRow = '1'\n affirmIcon.style.gridColumn = '1'\n\n const sureButtonElt = popup.appendChild(dom.createElement('button'))\n sureButtonElt.style = style.buttonStyle\n sureButtonElt.style.gridRow = '1'\n sureButtonElt.style.gridColumn = '2'\n sureButtonElt.textContent = prompt\n popup.appendChild(sureButtonElt)\n\n affirmIcon.addEventListener('click', removePopupAndDoDeletion)\n sureButtonElt.addEventListener('click', removePopupAndDoDeletion)\n\n // xButton.addEventListener('click', removePopup)\n cancelPrompt.addEventListener('click', removePopup)\n\n return popup\n}\n/**\n * Delete button with a check you really mean it\n * @@ Supress check if command key held down?\n */\nexport function deleteButtonWithCheck (\n dom: HTMLDocument,\n container: HTMLElement,\n noun: string,\n deleteFunction: () => any\n) {\n function createPopup () {\n const refererenceElement = dom.createElement('div')\n container.insertBefore(refererenceElement, deleteButton)\n refererenceElement.style.position = 'relative' // Needed as reference for popup\n refererenceElement.appendChild(renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunction))\n }\n const minusIconURI = iconBase + 'noun_2188_red.svg' // white minus in red #cc0000 circle\n const deleteButton = dom.createElement('img')\n deleteButton.setAttribute('src', minusIconURI)\n\n deleteButton.setAttribute('style', style.smallButtonStyle) // @@tsc - would set deleteButton.style\n deleteButton.style.float = 'right' // Historically this has alwaus floated right\n\n const prompt = 'Remove this ' + noun\n deleteButton.title = prompt\n // @@ In an ideal world, make use of hover an accessibility option\n deleteButton.classList.add('hoverControlHide')\n\n deleteButton.addEventListener('click', createPopup)\n\n container.classList.add('hoverControl')\n container.appendChild(deleteButton)\n deleteButton.setAttribute('data-testid', 'deleteButtonWithCheck')\n return deleteButton // or button div? caller may change size of image\n}\n\n/**\n * Get the button style, based on options.\n * See https://design.inrupt.com/atomic-core/?cat=Atoms#Buttons\n */\nfunction getButtonStyle (options: ButtonWidgetOptions = {}) {\n // default to primary color\n const color: string = (options.buttonColor === 'Secondary') ? '#01c9ea' : '#7c4dff'\n let backgroundColor: string = color\n let fontColor: string = '#ffffff'\n let borderColor: string = color\n // default to primary color\n let hoverBackgroundColor: string = (options.buttonColor === 'Secondary') ? '#37cde6' : '#9f7dff'\n let hoverFontColor: string = fontColor\n if (options.needsBorder) {\n backgroundColor = '#ffffff'\n fontColor = color\n borderColor = color\n hoverBackgroundColor = color\n hoverFontColor = backgroundColor\n }\n\n return {\n 'background-color': `${backgroundColor}`,\n color: `${fontColor}`,\n 'font-family': 'Raleway, Roboto, sans-serif',\n 'border-radius': '0.25em',\n 'border-color': `${borderColor}`,\n border: '1px solid',\n cursor: 'pointer',\n 'font-size': '.8em',\n 'text-decoration': 'none',\n padding: '0.5em 4em',\n transition: '0.25s all ease-in-out',\n outline: 'none',\n '&:hover': {\n 'background-color': `${hoverBackgroundColor}`,\n color: `${hoverFontColor}`,\n transition: '0.25s all ease-in-out'\n }\n }\n}\n\n/* Make a button\n *\n * @param dom - the DOM document object\n * @Param iconURI - the URI of the icon to use (if any)\n * @param text - the tooltip text or possibly button contents text\n * @param handler <function> - A handler to called when button is clicked\n *\n * @returns <dDomElement> - the button\n */\nexport function button (dom: HTMLDocument, iconURI: string | undefined, text: string,\n handler?: (_event: any) => void,\n options: ButtonWidgetOptions = { buttonColor: 'Primary', needsBorder: false }) {\n const button = dom.createElement('button')\n button.setAttribute('type', 'button')\n // button.innerHTML = text // later, user preferences may make text preferred for some\n if (iconURI) {\n const img = button.appendChild(dom.createElement('img'))\n img.setAttribute('src', iconURI)\n img.setAttribute('style', 'width: 2em; height: 2em;') // trial and error. 2em disappears\n img.title = text\n button.setAttribute('style', style.buttonStyle)\n } else {\n button.textContent = text.toLocaleUpperCase()\n const style = getButtonStyle(options)\n const { classes } = getClasses(dom.head, {\n textButton: style\n })\n\n button.classList.add(classes.textButton)\n }\n if (handler) {\n button.addEventListener('click', handler, false)\n }\n return button\n}\n\n/* Make a cancel button\n *\n * @param dom - the DOM document object\n * @param handler <function> - A handler to called when button is clicked\n *\n * @returns <dDomElement> - the button\n */\nexport function cancelButton (dom: HTMLDocument, handler: (_event?: any) => void) {\n return button(dom, cancelIconURI, 'Cancel', handler)\n}\n\n/* Make a continue button\n *\n * @param dom - the DOM document object\n * @param handler <function> - A handler to called when button is clicked\n *\n * @returns <dDomElement> - the button\n */\nexport function continueButton (dom: HTMLDocument, handler: (_event: any) => void) {\n return button(dom, checkIconURI, 'Continue', handler)\n}\n\n/* Grab a name for a new thing\n *\n * Form to get the name of a new thing before we create it\n * @params theClass Misspelt to avoid clashing with the JavaScript keyword\n * @returns: a promise of (a name or null if cancelled)\n */\nexport function askName (\n dom: HTMLDocument,\n kb: IndexedFormula,\n container: HTMLDivElement,\n predicate?: NamedNode,\n theClass?: NamedNode,\n noun?: string) {\n // eslint-disable-next-line promise/param-names\n return new Promise(function (resolve, _reject) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n // classLabel = utils.label(ns.vcard('Individual'))\n predicate = predicate || ns.foaf('name') // eg 'name' in user's language\n noun = noun || (theClass ? utils.label(theClass) : ' ') // eg 'folder' in users's language\n const prompt = noun + ' ' + utils.label(predicate) + ': '\n form.appendChild(dom.createElement('p')).textContent = prompt\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '100')\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.setAttribute('style', style.textInputStyle)\n namefield.select() // focus next user input\n form.appendChild(namefield)\n container.appendChild(form)\n\n // namefield.focus()\n\n function gotName () {\n ((form as HTMLElement).parentNode as HTMLElement).removeChild(form)\n resolve(namefield.value.trim())\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n\n form.appendChild(dom.createElement('br'))\n\n form.appendChild(cancelButton(dom, function (_event) {\n ((form as HTMLElement).parentNode as HTMLElement).removeChild(form)\n resolve(null)\n }))\n\n form.appendChild(continueButton(dom, function (_event) {\n gotName()\n }))\n namefield.focus()\n }) // Promise\n}\n\n/**\n * A TR to represent a draggable person, etc in a list\n *\n * pred is unused param at the moment\n */\nexport const personTR = renderAsRow // The legacy name is used in a lot of places\n\nexport function renderAsRow (dom: HTMLDocument, pred: NamedNode, obj: NamedNode, options: any): HTMLTableRowElement {\n const tr = dom.createElement('tr')\n options = options || {}\n // tr.predObj = [pred.uri, obj.uri] moved to acl-control\n const td1 = tr.appendChild(dom.createElement('td'))\n const td2 = tr.appendChild(dom.createElement('td'))\n const td3 = tr.appendChild(dom.createElement('td'))\n\n // const image = td1.appendChild(dom.createElement('img'))\n const image = options.image || faviconOrDefault(dom, obj)\n\n td1.setAttribute('style', 'vertical-align: middle; width:2.5em; padding:0.5em; height: 2.5em;')\n td2.setAttribute('style', 'vertical-align: middle; text-align:left;')\n td3.setAttribute('style', 'vertical-align: middle; width:2em; padding:0.5em; height: 4em;')\n td1.appendChild(image)\n\n if (options.title) {\n td2.textContent = options.title\n } else {\n setName(td2, obj) // This is async\n }\n\n if (options.deleteFunction) {\n deleteButtonWithCheck(dom, td3, options.noun || 'one', options.deleteFunction)\n }\n if (obj.uri) {\n // blank nodes need not apply\n if (options.link !== false) {\n const anchor = td3.appendChild(linkIcon(dom, obj))\n anchor.classList.add('HoverControlHide')\n td3.appendChild(dom.createElement('br'))\n }\n if (options.draggable !== false) {\n // default is on\n image.setAttribute('draggable', 'false') // Stop the image being dragged instead - just the TR\n makeDraggable(tr, obj)\n }\n }\n ;(tr as any).subject = obj\n return tr\n}\n\n/* A helper function for renderAsDiv\n* creates the NameDiv for the person\n* Note: could not move it to the helper file because they call exported functions\n* from buttons\n* @internal exporting this only for unit tests\n*/\nexport function createNameDiv (dom: HTMLDocument, div: HTMLDivElement, title: string | undefined, obj: NamedNode) {\n const nameDiv = div.appendChild(dom.createElement('div'))\n if (title) {\n nameDiv.textContent = title\n } else {\n setName(nameDiv, obj) // This is async\n }\n}\n/* A helper function for renderAsDiv\n* creates the linkDiv for the person\n* Note: could not move it to the helper file because they call exported functions\n* from buttons\n* @internal exporting this only for unit tests\n*/\nexport function createLinkDiv (dom: HTMLDocument, div: HTMLDivElement, obj: NamedNode, options: RenderAsDivOptions) {\n const linkDiv = div.appendChild(dom.createElement('div'))\n linkDiv.setAttribute('style', style.linkDivStyle)\n\n if (options.deleteFunction) {\n deleteButtonWithCheck(dom, linkDiv, options.noun || 'one', options.deleteFunction)\n }\n\n if (obj.uri) {\n // blank nodes need not apply\n if (options.link !== false) {\n createLinkForURI(dom, linkDiv, obj)\n }\n\n makeDraggable(div, obj)\n }\n}\n/**\n * A Div to represent a draggable person, etc in a list\n * configurable to add an onClick listener\n */\nexport function renderAsDiv (dom: HTMLDocument, obj: NamedNode, options: RenderAsDivOptions): HTMLElement {\n const div = dom.createElement('div')\n div.setAttribute('style', style.renderAsDivStyle)\n\n options = options || {}\n const image = options.image || faviconOrDefault(dom, obj)\n createImageDiv(dom, div, image)\n createNameDiv(dom, div, options.title, obj)\n createLinkDiv(dom, div, obj, options)\n\n if (options.clickable && options.onClickFunction) {\n addClickListenerToElement(div, options.onClickFunction)\n }\n\n // to be compatible with the SolidOS table layout\n if (options.wrapInATR) {\n const tr = wrapDivInATR(dom, div, obj)\n return tr\n }\n return div\n}\n\n/**\n * Refresh a DOM tree recursively\n */\nexport function refreshTree (root: any): void {\n if (root.refresh) {\n root.refresh()\n return\n }\n for (let i = 0; i < root.children.length; i++) {\n refreshTree(root.children[i])\n }\n}\n\n/**\n * Options argument for [[attachmentList]] function\n */\nexport type attachmentListOptions = {\n doc?: NamedNode\n modify?: boolean\n promptIcon?: string\n predicate?: NamedNode\n uploadFolder?: NamedNode\n noun?: string\n}\n\n/**\n * Component that displays a list of resources, for instance\n * the attachments of a message, or the various documents related\n * to a meeting.\n * Accepts dropping URLs onto it to add attachments to it.\n */\nexport function attachmentList (dom: HTMLDocument, subject: NamedNode, div: HTMLElement, options: attachmentListOptions = {}) {\n // options = options || {}\n\n const deleteAttachment = function (target) {\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n\n kb.updater.update(st(subject, predicate, target, doc) as any, [], function (\n uri,\n ok,\n errorBody,\n _xhr\n ) {\n if (ok) {\n refresh()\n } else {\n complain(undefined, 'Error deleting one: ' + errorBody)\n }\n })\n }\n\n function createNewRow (target) {\n const theTarget = target\n const opt: any = { noun: noun }\n if (modify) {\n opt.deleteFunction = function () {\n deleteAttachment(theTarget)\n }\n }\n return personTR(dom, predicate, target, opt)\n }\n\n const refresh = function () {\n const things = kb.each(subject, predicate)\n things.sort()\n utils.syncTableToArray(attachmentTable, things, createNewRow)\n }\n\n function droppedURIHandler (uris) {\n const ins: any = []\n uris.forEach(function (u) {\n const target = sym(u) // Attachment needs text label to disinguish I think not icon.\n debug.log('Dropped on attachemnt ' + u) // icon was: iconBase + 'noun_25830.svg'\n ins.push(st(subject, predicate, target, doc))\n })\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n\n kb.updater.update([], ins, function (uri, ok, errorBody, _xhr) {\n if (ok) {\n refresh()\n } else {\n complain(undefined, 'Error adding one: ' + errorBody)\n }\n })\n }\n\n function droppedFileHandler (files) {\n uploadFiles(\n kb.fetcher,\n files,\n options.uploadFolder?.uri, // Files\n options.uploadFolder?.uri, // Pictures\n function (theFile, destURI) {\n const ins = [st(subject, predicate, kb.sym(destURI), doc)]\n if (!kb.updater) {\n throw new Error('kb has no updater')\n }\n kb.updater.update([], ins, function (uri, ok, errorBody, _xhr) {\n if (ok) {\n refresh()\n } else {\n complain(undefined, 'Error adding link to uploaded file: ' + errorBody)\n }\n })\n }\n )\n }\n\n const doc = options.doc || subject.doc()\n if (options.modify === undefined) options.modify = true\n const modify = options.modify\n const promptIcon: string = options.promptIcon || (iconBase + 'noun_748003.svg' as string) // target\n // const promptIcon = options.promptIcon || (iconBase + 'noun_25830.svg') // paperclip\n const predicate = options.predicate || ns.wf('attachment')\n const noun = options.noun || 'attachment'\n\n const kb = store\n const attachmentOuter = div.appendChild(dom.createElement('table'))\n attachmentOuter.setAttribute('style', 'margin-top: 1em; margin-bottom: 1em;')\n const attachmentOne = attachmentOuter.appendChild(dom.createElement('tr'))\n const attachmentLeft = attachmentOne.appendChild(dom.createElement('td'))\n const attachmentRight = attachmentOne.appendChild(dom.createElement('td'))\n const attachmentTable = attachmentRight.appendChild(dom.createElement('table'))\n attachmentTable.appendChild(dom.createElement('tr')) // attachmentTableTop\n\n ;(attachmentOuter as any).refresh = refresh // Participate in downstream changes\n // ;(attachmentTable as any).refresh = refresh <- outer should be best?\n\n refresh()\n\n if (modify) {\n // const buttonStyle = 'width; 2em; height: 2em; margin: 0.5em; padding: 0.1em;'\n const paperclip = button(dom, promptIcon, 'Drop attachments here')\n // paperclip.style = buttonStyle // @@ needed? default has white background\n attachmentLeft.appendChild(paperclip)\n const fhandler = options.uploadFolder ? droppedFileHandler : null\n makeDropTarget(paperclip, droppedURIHandler, fhandler) // beware missing the wire of the paparclip!\n makeDropTarget(attachmentLeft, droppedURIHandler, fhandler) // just the outer won't do it\n\n if (options.uploadFolder) { // Addd an explicit file upload button as well\n const buttonDiv = fileUploadButtonDiv(dom, droppedFileHandler)\n attachmentLeft.appendChild(buttonDiv)\n // buttonDiv.children[1].style = buttonStyle\n }\n }\n return attachmentOuter\n}\n\n// /////////////////////////////////////////////////////////////////////////////\n\n/**\n * Event Handler for links within solid apps.\n *\n * Note that native links have constraints in Firefox, they\n * don't work with local files for instance (2011)\n */\nexport function openHrefInOutlineMode (e: Event) {\n e.preventDefault()\n e.stopPropagation()\n const target = utils.getTarget(e)\n const uri = target.getAttribute('href')\n if (!uri) return debug.log('openHrefInOutlineMode: No href found!\\n')\n const dom = window.document\n if ((dom as any).outlineManager) {\n // @@ TODO Remove the use of document as a global object\n ;(dom as any).outlineManager.GotoSubject(store.sym(uri), true, undefined, true, undefined)\n } else if (window && (window as any).panes && (window as any).panes.getOutliner) {\n // @@ TODO Remove the use of window as a global object\n ;(window as any).panes\n .getOutliner()\n .GotoSubject(store.sym(uri), true, undefined, true, undefined)\n } else {\n debug.log('ERROR: Can\\'t access outline manager in this config')\n }\n // dom.outlineManager.GotoSubject(store.sym(uri), true, undefined, true, undefined)\n}\n\n/**\n * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.\n *\n * @@ Todo: make it a personal preference.\n */\nexport function defaultAnnotationStore (subject:NamedNode):NamedNode | undefined {\n if (subject.uri === undefined) return undefined\n let s = subject.uri\n if (s.slice(0, 7) !== 'http://') return undefined\n s = s.slice(7) // Remove\n const hash = s.indexOf('#')\n if (hash >= 0) s = s.slice(0, hash)\n // Strip trailing\n else {\n const slash = s.lastIndexOf('/')\n if (slash < 0) return undefined\n s = s.slice(0, slash)\n }\n return store.sym('http://tabulator.org/wiki/annnotation/' + s)\n}\n\n/**\n * Retrieve all RDF class URIs from solid-ui's RDF store\n * @returns an object `ret` such that `Object.keys(ret)` is\n * the list of all class URIs.\n */\nexport function allClassURIs (): { [uri: string]: boolean } {\n const set = {}\n store\n .statementsMatching(undefined, ns.rdf('type'), undefined)\n .forEach(function (st) {\n if (st.object.value) set[st.object.value] = true\n })\n store\n .statementsMatching(undefined, ns.rdfs('subClassOf'), undefined)\n .forEach(function (st) {\n if (st.object.value) set[st.object.value] = true\n if (st.subject.value) set[st.subject.value] = true\n })\n store\n .each(undefined, ns.rdf('type'), ns.rdfs('Class'))\n .forEach(function (c) {\n if (c.value) set[c.value] = true\n })\n return set\n}\n\n/**\n * Figuring which properties we know about\n *\n * When the user inputs an RDF property, like for a form field\n * or when specifying the relationship between two arbitrary things,\n * then er can prompt them with properties the session knows about\n *\n * TODO: Look again by catching this somewhere. (On the kb?)\n * TODO: move to diff module? Not really a button.\n * @param {Store} kb The quadstore to be searched.\n */\n\nexport function propertyTriage (kb: IndexedFormula): any {\n const possibleProperties: any = {}\n // if (possibleProperties === undefined) possibleProperties = {}\n // const kb = store\n const dp = {}\n const op = {}\n let no = 0\n let nd = 0\n let nu = 0\n const pi = (kb as any).predicateIndex // One entry for each pred\n for (const p in pi) {\n const object = pi[p][0].object\n if (object.termType === 'Literal') {\n dp[p] = true\n nd++\n } else {\n op[p] = true\n no++\n }\n } // If nothing discovered, then could be either:\n const ps = kb.each(undefined, ns.rdf('type'), ns.rdf('Property'))\n for (let i = 0; i < ps.length; i++) {\n const p = ps[i].toNT()\n if (!op[p] && !dp[p]) {\n dp[p] = true\n op[p] = true\n nu++\n }\n }\n possibleProperties.op = op\n possibleProperties.dp = dp\n info(`propertyTriage: ${no} non-lit, ${nd} literal. ${nu} unknown.`)\n return possibleProperties\n}\n\n/**\n * General purpose widgets\n */\n\n/**\n * A button for jumping\n */\nexport function linkButton (dom: HTMLDocument, object: NamedNode): HTMLElement {\n const b = dom.createElement('button')\n b.setAttribute('type', 'button')\n b.textContent = 'Goto ' + utils.label(object)\n b.addEventListener('click', function (_event) {\n // b.parentNode.removeChild(b)\n ;(dom as any).outlineManager.GotoSubject(object, true, undefined, true, undefined)\n }, true)\n return b\n}\n\n/**\n * A button to remove some other element from the page\n */\nexport function removeButton (dom: HTMLDocument, element: HTMLElement) {\n const b = dom.createElement('button')\n b.setAttribute('type', 'button')\n b.textContent = '✕' // MULTIPLICATION X\n b.addEventListener('click', function (_event) {\n ;(element as any).parentNode.removeChild(element)\n }, true)\n return b\n}\n\n// Description text area\n//\n// Make a box to demand a description or display existing one\n//\n// @param dom - the document DOM for the user interface\n// @param kb - the graph which is the knowledge base we are working with\n// @param subject - a term, the subject of the statement(s) being edited.\n// @param predicate - a term, the predicate of the statement(s) being edited\n// @param store - The web document being edited\n// @param callbackFunction - takes (boolean ok, string errorBody)\n\n// /////////////////////////////////////// Random I/O widgets /////////////\n\n// //// Column Header Buttons\n//\n// These are for selecting different modes, sources,styles, etc.\n//\n/*\nbuttons.headerButtons = function (dom, kb, name, words) {\n const box = dom.createElement('table')\n var i, word, s = '<tr>'\n box.setAttribute('style', 'width: 90%; height: 1.5em')\n for (i=0; i<words.length; i++) {\n s += '<td><input type=\"radio\" name=\"' + name + '\" id=\"' + words[i] + '\" value='\n }\n box.innerHTML = s + '</tr>'\n\n}\n*/\n// ////////////////////////////////////////////////////////////\n//\n// selectorPanel\n//\n// A vertical panel for selecting connections to left or right.\n//\n// @param inverse means this is the object rather than the subject\n//\nexport function selectorPanel (\n dom: HTMLDocument,\n kb: IndexedFormula,\n type: NamedNode,\n predicate: NamedNode,\n inverse: boolean,\n possible: NamedNode[],\n options: { connectIcon?: string },\n callbackFunction: (_x: NamedNode, _e: Event, _selected: boolean) => void,\n linkCallback: (_x: NamedNode, _e: Event, _inverse: boolean, _setStyleFunction: () => void) => void\n) {\n return selectorPanelRefresh(\n dom.createElement('div'),\n dom,\n kb,\n type,\n predicate,\n inverse,\n possible,\n options,\n callbackFunction,\n linkCallback\n )\n}\n\nexport function selectorPanelRefresh (\n list: HTMLElement,\n dom: HTMLDocument,\n kb: IndexedFormula,\n type: NamedNode,\n predicate: NamedNode,\n inverse: boolean,\n possible: NamedNode[],\n options: { connectIcon?: string },\n callbackFunction: (_x: NamedNode, _e: Event, _selected: boolean) => void,\n linkCallback: (_x: NamedNode, _e: Event, _inverse: boolean, _setStyleFunction: () => void) => void\n) {\n const style0 =\n 'border: 0.1em solid #ddd; border-bottom: none; width: 95%; height: 2em; padding: 0.5em;'\n let selected: any = null\n list.innerHTML = ''\n\n const refreshItem = function (box: HTMLElement, x: NamedNode) {\n // Scope to hold item and x\n let item: any\n // eslint-disable-next-line prefer-const\n let image: HTMLImageElement\n\n const setStyle = function () {\n const already = inverse\n ? kb.each(undefined, predicate, x)\n : kb.each(x, predicate)\n iconDiv.setAttribute('class', already.length === 0 ? 'hideTillHover' : '') // See tabbedtab.css\n image.setAttribute(\n 'src',\n options.connectIcon || iconBase + 'noun_25830.svg'\n )\n image.setAttribute('title', already.length ? already.length : 'attach' as any)\n }\n const f = index.twoLine.widgetForClass(type)\n // eslint-disable-next-line prefer-const\n item = f(dom, x)\n item.setAttribute('style', style0)\n\n const nav = dom.createElement('div')\n nav.setAttribute('class', 'hideTillHover') // See tabbedtab.css\n nav.setAttribute('style', 'float:right; width:10%')\n\n const a = dom.createElement('a')\n a.setAttribute('href', x.uri)\n a.setAttribute('style', 'float:right')\n nav.appendChild(a).textContent = '>'\n box.appendChild(nav)\n\n const iconDiv = dom.createElement('div')\n iconDiv.setAttribute(\n 'style',\n (inverse ? 'float:left;' : 'float:right;') + ' width:30px;'\n )\n image = dom.createElement('img')\n setStyle()\n iconDiv.appendChild(image)\n box.appendChild(iconDiv)\n\n item.addEventListener('click', function (event) {\n if (selected === item) {\n // deselect\n item.setAttribute('style', style0)\n selected = null\n } else {\n if (selected) selected.setAttribute('style', style0)\n item.setAttribute(\n 'style',\n style0 + 'background-color: #ccc; color:black;'\n )\n selected = item\n }\n callbackFunction(x, event, selected === item)\n setStyle()\n }, false)\n\n image.addEventListener('click', function (event) {\n linkCallback(x, event, inverse, setStyle)\n }, false)\n\n box.appendChild(item)\n return box\n }\n\n for (let i = 0; i < possible.length; i++) {\n const box = dom.createElement('div')\n list.appendChild(box)\n refreshItem(box, possible[i])\n }\n return list\n}\n\n// ###########################################################################\n//\n// Small compact views of things\n//\nexport let index: any = {}\n// ///////////////////////////////////////////////////////////////////////////\n// We need these for anything which is a subject of an attachment.\n//\n// These should be moved to type-dependeent UI code. Related panes maybe\n\nfunction twoLineDefault (dom: HTMLDocument, x: NamedNode): HTMLElement {\n // Default\n const box = dom.createElement('div')\n box.textContent = utils.label(x)\n return box\n}\n\n/**\n * Find a function that can create a widget for a given class\n * @param c The RDF class for which we want a widget generator function\n */\nfunction twoLineWidgetForClass (c: NamedNode): (_dom: HTMLDocument, _x: NamedNode) => HTMLElement {\n let widget = index.twoLine[c.uri]\n const kb = store\n if (widget) return widget\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n widget = index.twoLine[kb.fromNT(cl).uri]\n if (widget) return widget\n }\n return index.twoLine['']\n}\n\n/**\n * Display a transaction\n * @param x Should have attributes through triples in store:\n * * ns.qu('payee') -> a named node\n * * ns.qu('date) -> a literal\n * * ns.qu('amount') -> a literal\n */\nfunction twoLineTransaction (dom: HTMLDocument, x: NamedNode): HTMLElement {\n let failed = ''\n const enc = function (p) {\n const y = store.any(x, ns.qu(p))\n if (!y) failed += '@@ No value for ' + p + '! '\n return y ? utils.escapeForXML(y.value) : '?' // @@@@\n }\n const box = dom.createElement('table')\n box.innerHTML = `\n <tr>\n <td colspan=\"2\"> ${enc('payee')}</td>\n < /tr>\n < tr >\n <td>${enc('date').slice(0, 10)}</td>\n <td style = \"text-align: right;\">${enc('amount')}</td>\n </tr>`\n if (failed) {\n box.innerHTML = `\n <tr>\n <td><a href=\"${utils.escapeForXML(x.uri)}\">${utils.escapeForXML(failed)}</a></td>\n </tr>`\n }\n return box\n}\n\n/**\n * Display a trip\n * @param x Should have attributes through triples in store:\n * * ns.dc('title') -> a literal\n * * ns.cal('dtstart') -> a literal\n * * ns.cal('dtend') -> a literal\n */\nfunction twoLineTrip (\n dom: HTMLDocument,\n x: NamedNode\n): HTMLElement {\n const enc = function (p) {\n const y = store.any(x, p)\n return y ? utils.escapeForXML(y.value) : '?'\n }\n const box = dom.createElement('table')\n box.innerHTML = `\n <tr>\n <td colspan=\"2\">${enc(ns.dc('title'))}</td>\n </tr>\n <tr style=\"color: #777\">\n <td>${enc(ns.cal('dtstart'))}</td>\n <td>${enc(ns.cal('dtend'))}</td>\n </tr>`\n return box\n}\n\n/**\n * Stick a stylesheet link the document if not already there\n */\nexport function addStyleSheet (dom: HTMLDocument, href: string): void {\n const links = dom.querySelectorAll('link')\n for (let i = 0; i < links.length; i++) {\n if (\n (links[i].getAttribute('rel') || '') === 'stylesheet' &&\n (links[i].getAttribute('href') || '') === href\n ) {\n return\n }\n }\n const link = dom.createElement('link')\n link.setAttribute('rel', 'stylesheet')\n link.setAttribute('type', 'text/css')\n link.setAttribute('href', href)\n dom.getElementsByTagName('head')[0].appendChild(link)\n}\n\n// Figure (or guess) whether this is an image, etc\n//\nexport function isAudio (file?: NamedNode) {\n return isImage(file, 'audio')\n}\nexport function isVideo (file?: NamedNode) {\n return isImage(file, 'video')\n}\n/**\n *\n */\nexport function isImage (file?: NamedNode, kind?: string): boolean {\n const dcCLasses = {\n audio: 'http://purl.org/dc/dcmitype/Sound',\n image: 'http://purl.org/dc/dcmitype/Image',\n video: 'http://purl.org/dc/dcmitype/MovingImage'\n }\n const what = kind || 'image'\n // See https://github.com/linkeddata/rdflib.js/blob/e367d5088c/src/formula.ts#L554\n //\n const typeURIs = store.findTypeURIs(file as any)\n // See https://github.com/linkeddata/rdflib.js/blob/d5000f/src/utils-js.js#L14\n // e.g.'http://www.w3.org/ns/iana/media-types/audio'\n const prefix: string = Util.mediaTypeClass(what + '/*').uri.split('*')[0]\n for (const t in typeURIs) {\n if (t.startsWith(prefix)) return true\n }\n if (dcCLasses[what] in typeURIs) return true\n return false\n}\n\n/**\n * File upload button\n * @param dom The DOM aka document\n * @param droppedFileHandler Same handler function as drop, takes array of file objects\n * @returns {Element} - a div with a button and a inout in it\n * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.\n */\n// See https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications\nexport function fileUploadButtonDiv (\n dom: HTMLDocument,\n droppedFileHandler: (_files: FileList) => void\n) {\n const div = dom.createElement('div')\n const input = div.appendChild(dom.createElement('input'))\n input.setAttribute('type', 'file')\n input.setAttribute('multiple', 'true')\n input.addEventListener(\n 'change',\n (event: any) => {\n debug.log('File drop event: ', event)\n if (event.files) {\n droppedFileHandler(event.files)\n } else if (event.target && event.target.files) {\n droppedFileHandler(event.target.files)\n } else {\n alert('Sorry no files .. internal error?')\n }\n },\n false\n )\n\n ;(input as any).style = 'display:none'\n const buttonElt = div.appendChild(\n button(\n dom,\n iconBase + 'noun_Upload_76574_000000.svg',\n 'Upload files',\n _event => {\n input.click()\n }\n )\n )\n makeDropTarget(buttonElt, null, droppedFileHandler) // Can also just drop on button\n return div\n}\n\nindex = {\n line: { // Approx 80em\n },\n twoLine: { // Approx 40em * 2.4em\n '': twoLineDefault,\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': twoLineTransaction,\n 'http://www.w3.org/ns/pim/trip#Trip': twoLineTrip,\n widgetForClass: twoLineWidgetForClass\n }\n}\n"],"file":"buttons.js"}
|
|
1
|
+
{"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../src/widgets/buttons.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
package/lib/widgets/error.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/widgets/error.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.errorMessageBlock = errorMessageBlock;
|
|
7
|
-
|
|
8
2
|
/**
|
|
9
3
|
* Create an error message block
|
|
10
4
|
* @param dom The DOM on which dom.createElement will be called
|
|
@@ -17,25 +11,25 @@ exports.errorMessageBlock = errorMessageBlock;
|
|
|
17
11
|
* Meanwhile the stack is dumped to the console for the developer, so you actually know
|
|
18
12
|
* where it happened!
|
|
19
13
|
*/
|
|
20
|
-
|
|
21
14
|
/* eslint-disable no-console */
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.errorMessageBlock = void 0;
|
|
22
17
|
function errorMessageBlock(dom, err, backgroundColor, err2) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
div.setAttribute('style', 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; background-color: ' + (backgroundColor || '#fee') + '; color:black;');
|
|
39
|
-
return div;
|
|
18
|
+
var div = dom.createElement('div');
|
|
19
|
+
/* tslint:disable-next-line */ // Too complex for TS?
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
var errorObject = err2 || err instanceof Error ? err : null;
|
|
22
|
+
if (errorObject) {
|
|
23
|
+
console.error("errorMessageBlock: ".concat(errorObject, " at: ").concat(errorObject.stack || '??'), errorObject); // @@ pick one
|
|
24
|
+
div.textContent = errorObject.message;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
div.textContent = err;
|
|
28
|
+
}
|
|
29
|
+
div.setAttribute('style', 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; background-color: ' +
|
|
30
|
+
(backgroundColor || '#fee') +
|
|
31
|
+
'; color:black;');
|
|
32
|
+
return div;
|
|
40
33
|
}
|
|
34
|
+
exports.errorMessageBlock = errorMessageBlock;
|
|
41
35
|
//# sourceMappingURL=error.js.map
|
package/lib/widgets/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/widgets/error.ts"],"names":[
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/widgets/error.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,+BAA+B;;;AAE/B,SAAgB,iBAAiB,CAAE,GAAiB,EAAE,GAAmB,EAAE,eAAwB,EAAE,IAAY;IAC/G,IAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAEpC,8BAA8B,CAAC,sBAAsB;IACrD,aAAa;IACb,IAAM,WAAW,GAAS,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnE,IAAI,WAAW,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,6BAAsB,WAAW,kBAAQ,WAAW,CAAC,KAAK,IAAI,IAAI,CAAE,EAAE,WAAW,CAAC,CAAA,CAAC,cAAc;QAC/G,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAA;KACtC;SAAM;QACL,GAAG,CAAC,WAAW,GAAG,GAAa,CAAA;KAChC;IACD,GAAG,CAAC,YAAY,CACd,OAAO,EACP,8EAA8E;QAC5E,CAAC,eAAe,IAAI,MAAM,CAAC;QAC3B,gBAAgB,CACnB,CAAA;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AApBD,8CAoBC"}
|
|
File without changes
|
|
File without changes
|