UNPKG

solid-panes

Version:

Solid-compatible Panes: applets and views for the mashlib and databrowser

54 lines (47 loc) 1.73 kB
"use strict"; // Format an array of RDF statements as an HTML table. // // This can operate in one of three modes: when the class of object is given // or when the source document from which data is taken is given, // or if a prepared query object is given. // (In principle it could operate with neither class nor document // given but typically // there would be too much data.) // When the tableClass is not given, it looks for common classes in the data, // and gives the user the option. // // 2008 Written, Ilaria Liccardi // 2014 core functionality now in common/table.js -timbl // /////////////////////////////////////////////////////////////////// // Table view pane -- view of a class/ var UI = require('solid-ui'); module.exports = { icon: UI.icons.originalIconBase + 'table.png', name: 'tableOfClass', label: function label(subject, context) { var store = context.session.store; // if (!store.holds(subject, UI.ns.rdf('type'),UI.ns.rdfs('Class'))) return null if (!store.any(undefined, UI.ns.rdf('type'), subject)) { return null; } var n = store.statementsMatching(undefined, UI.ns.rdf('type'), subject).length; if (n === 0) { // None, suppress pane return null; } if (n > 15) { // @@ At the moment this pane can be slow with too many @@ fixme by using limits return null; } return UI.utils.label(subject) + ' table'; }, render: function render(subject, context) { var myDocument = context.dom; var div = myDocument.createElement('div'); div.setAttribute('class', 'tablePane'); div.appendChild(UI.table(myDocument, { tableClass: subject })); return div; } }; //# sourceMappingURL=tableViewPane.js.map