UNPKG

solid-app-set

Version:
74 lines (65 loc) 2.84 kB
/* Default Pane ** ** This outline pane contains the properties which are ** normaly displayed to the user. See also: internalPane ** This pane hides the ones considered too low-level for the normal user. */ var UI = require('solid-ui') module.exports = { icon: UI.icons.originalIconBase + 'about.png', name: 'default', label: function (subject) { return 'about ' }, render: function (subject, dom) { var filter = function (pred, inverse) { if (typeof UI.panes.internal.predicates[pred.uri] !== 'undefined') { return false } if (inverse && (pred.uri === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type')) return false return true } var outliner = UI.panes.getOutliner(dom) var kb = UI.store // var outline = outliner; // @@ UI.log.info('@defaultPane.render, dom is now ' + dom.location) subject = kb.canon(subject) var div = dom.createElement('div') div.setAttribute('class', 'defaultPane') // appendRemoveIcon(div, subject, div) var plist = kb.statementsMatching(subject) outliner.appendPropertyTRs(div, plist, false, filter) plist = kb.statementsMatching(undefined, undefined, subject) outliner.appendPropertyTRs(div, plist, true, filter) if ((subject.termType === 'Literal') && (subject.value.slice(0, 7) === 'http://')) { outliner.appendPropertyTRs(div, [$rdf.st(kb.sym(subject.value), UI.ns.link('uri'), subject)], true, filter) } if ((subject.termType === 'NamedNode' && kb.updater.editable(UI.rdf.Util.uri.docpart(subject.uri), kb)) || (subject.termType === 'BlankNode' && kb.anyStatementMatching(subject) && kb.anyStatementMatching(subject).why && kb.anyStatementMatching(subject).why.uri && kb.updater.editable(kb.anyStatementMatching(subject).why.uri) // check the document containing something about of the bnode @@ what about as object? /* ! && HCIoptions["bottom insert highlights"].enabled */)) { var holdingTr = dom.createElement('tr') // these are to minimize required changes var holdingTd = dom.createElement('td') // in userinput.js holdingTd.setAttribute('colspan', '2') holdingTd.setAttribute('notSelectable', 'true') var img = dom.createElement('img') img.src = UI.icons.originalIconBase + 'tango/22-list-add-new.png' img.addEventListener('click', function addNewTripleIconMouseDownListener (e) { outliner.UserInput.addNewPredicateObject(e) e.stopPropagation() e.preventDefault() }) img.className = 'bottom-border-active' // img.addEventListener('click', thisOutline.UserInput.addNewPredicateObject,false) div.appendChild(holdingTr).appendChild(holdingTd).appendChild(img) } return div } } // ends