solid-ui 2.4.23 → 2.4.24
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/main.js +2159 -5039
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.js +4 -67
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +59 -137
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +14 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +32 -107
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +0 -92
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js +1 -3
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.js +1 -2
- package/lib/acl/styles.js.map +1 -1
- package/lib/chat/bookmarks.js +8 -80
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +109 -180
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +6 -91
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +33 -185
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +37 -150
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +23 -96
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +33 -91
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +19 -51
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js +0 -2
- package/lib/create/index.js.map +1 -1
- package/lib/debug.js +0 -8
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +4 -27
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +2 -24
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js +3 -72
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.js +4 -3
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.js +3 -4
- package/lib/iconBase.js.map +1 -1
- package/lib/index.js +5 -46
- package/lib/index.js.map +1 -1
- package/lib/jss/index.js +3 -9
- package/lib/jss/index.js.map +1 -1
- package/lib/log.js +15 -51
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +74 -303
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js +0 -2
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js +7 -55
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/media/index.js +0 -2
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.js +13 -33
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +23 -64
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js +5 -7
- package/lib/ns.js.map +1 -1
- package/lib/pad.js +48 -234
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +10 -65
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +21 -42
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js +1 -8
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js +6 -13
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js +0 -2
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js +8 -5
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js +1 -5
- package/lib/style_multiSelect.js.map +1 -1
- package/lib/table.js +309 -322
- package/lib/table.js.map +1 -1
- package/lib/tabs.js +20 -100
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +4 -52
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +41 -135
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js +13 -34
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +4 -4
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +0 -8
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js +115 -291
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +12 -41
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js +3 -9
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -71
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +13 -65
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +15 -107
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +6 -55
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +12 -131
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js +12 -55
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +1 -15
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +3 -16
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -12
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +1 -14
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +70 -474
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -21
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +48 -171
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +20 -90
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js +2 -9
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +28 -28
package/lib/utils/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -39,69 +38,59 @@ exports.shortName = shortName;
|
|
|
39
38
|
exports.stackString = stackString;
|
|
40
39
|
exports.syncTableToArray = syncTableToArray;
|
|
41
40
|
exports.syncTableToArrayReOrdered = syncTableToArrayReOrdered;
|
|
42
|
-
|
|
43
41
|
var log = _interopRequireWildcard(require("../log"));
|
|
44
|
-
|
|
45
42
|
var _solidLogic = require("solid-logic");
|
|
46
|
-
|
|
47
43
|
var ns = _interopRequireWildcard(require("../ns"));
|
|
48
|
-
|
|
49
44
|
var rdf = _interopRequireWildcard(require("rdflib"));
|
|
50
|
-
|
|
51
45
|
var _label = require("./label");
|
|
52
|
-
|
|
53
46
|
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); }
|
|
54
|
-
|
|
55
47
|
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; }
|
|
56
|
-
|
|
57
48
|
// Solid-UI general Utilities
|
|
58
49
|
// ==========================
|
|
59
50
|
//
|
|
60
51
|
// This must load AFTER the rdflib.js and log-ext.js (or log.js).
|
|
61
52
|
//
|
|
53
|
+
|
|
62
54
|
// pull in first avoid cross-refs
|
|
55
|
+
|
|
63
56
|
var UI = {
|
|
64
57
|
log: log,
|
|
65
58
|
ns: ns,
|
|
66
59
|
rdf: rdf
|
|
67
60
|
};
|
|
68
61
|
var nextVariable = 0;
|
|
69
|
-
|
|
70
62
|
function newVariableName() {
|
|
71
63
|
return 'v' + nextVariable++;
|
|
72
64
|
}
|
|
73
|
-
|
|
74
65
|
function clearVariableNames() {
|
|
75
66
|
nextVariable = 0;
|
|
76
|
-
}
|
|
77
|
-
// http://www.tsheffler.com/blog/2013/05/14/audiocontext-noteonnoteoff-and-time-units/
|
|
67
|
+
}
|
|
78
68
|
|
|
69
|
+
// http://stackoverflow.com/questions/879152/how-do-i-make-javascript-beep
|
|
70
|
+
// http://www.tsheffler.com/blog/2013/05/14/audiocontext-noteonnoteoff-and-time-units/
|
|
79
71
|
|
|
80
72
|
var audioContext;
|
|
81
|
-
|
|
82
73
|
if (typeof AudioContext !== 'undefined') {
|
|
83
74
|
audioContext = AudioContext;
|
|
84
75
|
} else if (typeof window !== 'undefined') {
|
|
85
76
|
audioContext = window.AudioContext || window.webkitAudioContext;
|
|
86
77
|
}
|
|
87
|
-
|
|
88
78
|
function beep() {
|
|
89
79
|
if (!audioContext) {
|
|
90
80
|
return;
|
|
91
81
|
} // Safari 2015
|
|
92
82
|
|
|
93
|
-
|
|
94
83
|
var ContextClass = audioContext;
|
|
95
84
|
var ctx = new ContextClass();
|
|
96
85
|
return function (duration, frequency, type, finishedCallback) {
|
|
97
|
-
duration = +(duration || 0.3);
|
|
86
|
+
duration = +(duration || 0.3);
|
|
98
87
|
|
|
88
|
+
// Only 0-4 are valid types.
|
|
99
89
|
type = type || 'sine'; // sine, square, sawtooth, triangle
|
|
100
90
|
|
|
101
91
|
if (typeof finishedCallback !== 'function') {
|
|
102
92
|
finishedCallback = function finishedCallback() {};
|
|
103
93
|
}
|
|
104
|
-
|
|
105
94
|
var osc = ctx.createOscillator();
|
|
106
95
|
osc.type = type;
|
|
107
96
|
osc.frequency.value = frequency || 256;
|
|
@@ -109,20 +98,18 @@ function beep() {
|
|
|
109
98
|
osc.start(0);
|
|
110
99
|
osc.stop(duration);
|
|
111
100
|
};
|
|
112
|
-
}
|
|
113
|
-
// NOT USED ANYWHERE
|
|
114
|
-
|
|
101
|
+
}
|
|
115
102
|
|
|
103
|
+
// Make pseudorandom color from a uri
|
|
104
|
+
// NOT USED ANYWHERE
|
|
116
105
|
function hashColor(who) {
|
|
117
106
|
who = who.uri || who;
|
|
118
|
-
|
|
119
107
|
var hash = function hash(x) {
|
|
120
108
|
return x.split('').reduce(function (a, b) {
|
|
121
109
|
a = (a << 5) - a + b.charCodeAt(0);
|
|
122
110
|
return a & a;
|
|
123
111
|
}, 0);
|
|
124
112
|
};
|
|
125
|
-
|
|
126
113
|
return '#' + (hash(who) & 0xffffff | 0xc0c0c0).toString(16); // c0c0c0 or 808080 forces pale
|
|
127
114
|
}
|
|
128
115
|
|
|
@@ -134,6 +121,7 @@ function genUuid() {
|
|
|
134
121
|
return v.toString(16);
|
|
135
122
|
});
|
|
136
123
|
}
|
|
124
|
+
|
|
137
125
|
/** Sync a DOM table with an array of things
|
|
138
126
|
*
|
|
139
127
|
* @param {DomElement} table - will have a tr for each thing
|
|
@@ -143,51 +131,40 @@ function genUuid() {
|
|
|
143
131
|
* Tolerates out of order elements but puts new ones in order.
|
|
144
132
|
* Can be used for any element type; does not have to be a table and tr.
|
|
145
133
|
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
134
|
function syncTableToArray(table, things, createNewRow) {
|
|
149
135
|
var foundOne;
|
|
150
136
|
var row;
|
|
151
137
|
var i;
|
|
152
|
-
|
|
153
138
|
for (i = 0; i < table.children.length; i++) {
|
|
154
139
|
row = table.children[i];
|
|
155
140
|
row.trashMe = true;
|
|
156
141
|
}
|
|
157
|
-
|
|
158
142
|
for (var g = 0; g < things.length; g++) {
|
|
159
143
|
var thing = things[g];
|
|
160
144
|
foundOne = false;
|
|
161
|
-
|
|
162
145
|
for (i = 0; i < table.children.length; i++) {
|
|
163
146
|
row = table.children[i];
|
|
164
|
-
|
|
165
147
|
if (row.subject && row.subject.sameTerm(thing)) {
|
|
166
148
|
row.trashMe = false;
|
|
167
149
|
foundOne = true;
|
|
168
150
|
break;
|
|
169
151
|
}
|
|
170
152
|
}
|
|
171
|
-
|
|
172
153
|
if (!foundOne) {
|
|
173
|
-
var newRow = createNewRow(thing);
|
|
174
|
-
|
|
154
|
+
var newRow = createNewRow(thing);
|
|
155
|
+
// Insert new row in position g in the table to match array
|
|
175
156
|
if (g >= table.children.length) {
|
|
176
157
|
table.appendChild(newRow);
|
|
177
158
|
} else {
|
|
178
159
|
var ele = table.children[g];
|
|
179
160
|
table.insertBefore(newRow, ele);
|
|
180
161
|
}
|
|
181
|
-
|
|
182
162
|
newRow.subject = thing;
|
|
183
163
|
} // if not foundOne
|
|
184
|
-
|
|
185
164
|
} // loop g
|
|
186
165
|
|
|
187
|
-
|
|
188
166
|
for (i = 0; i < table.children.length; i++) {
|
|
189
167
|
row = table.children[i];
|
|
190
|
-
|
|
191
168
|
if (row.trashMe) {
|
|
192
169
|
table.removeChild(row);
|
|
193
170
|
}
|
|
@@ -204,11 +181,8 @@ function syncTableToArray(table, things, createNewRow) {
|
|
|
204
181
|
* Can be used for any element type; does not have to be a table and tr.
|
|
205
182
|
* Any RDF node value can only appear ONCE in the array
|
|
206
183
|
*/
|
|
207
|
-
|
|
208
|
-
|
|
209
184
|
function syncTableToArrayReOrdered(table, things, createNewRow) {
|
|
210
185
|
var elementMap = {};
|
|
211
|
-
|
|
212
186
|
for (var i = 0; i < table.children.length; i++) {
|
|
213
187
|
var row = table.children[i];
|
|
214
188
|
elementMap[row.subject.toNT()] = row; // More sophisticaed would be to have a bag of duplicates
|
|
@@ -216,7 +190,6 @@ function syncTableToArrayReOrdered(table, things, createNewRow) {
|
|
|
216
190
|
|
|
217
191
|
for (var g = 0; g < things.length; g++) {
|
|
218
192
|
var thing = things[g];
|
|
219
|
-
|
|
220
193
|
if (g >= table.children.length) {
|
|
221
194
|
// table needs extending
|
|
222
195
|
var newRow = createNewRow(thing);
|
|
@@ -224,28 +197,22 @@ function syncTableToArrayReOrdered(table, things, createNewRow) {
|
|
|
224
197
|
table.appendChild(newRow);
|
|
225
198
|
} else {
|
|
226
199
|
var _row = table.children[g];
|
|
227
|
-
|
|
228
|
-
|
|
200
|
+
if (_row.subject.sameTerm(thing)) {
|
|
201
|
+
// ...
|
|
229
202
|
} else {
|
|
230
203
|
var existingRow = elementMap[thing.toNT()];
|
|
231
|
-
|
|
232
204
|
if (existingRow) {
|
|
233
205
|
table.removeChild(existingRow);
|
|
234
206
|
table.insertBefore(existingRow, _row); // Insert existing row in place of this one
|
|
235
207
|
} else {
|
|
236
208
|
var _newRow = createNewRow(thing);
|
|
237
|
-
|
|
238
209
|
_row.before(_newRow); // Insert existing row in place of this one
|
|
239
|
-
|
|
240
|
-
|
|
241
210
|
_newRow.subject = thing;
|
|
242
211
|
}
|
|
243
212
|
}
|
|
244
213
|
}
|
|
245
214
|
} // loop g
|
|
246
215
|
// Lop off any we don't need any more:
|
|
247
|
-
|
|
248
|
-
|
|
249
216
|
while (table.children.length > things.length) {
|
|
250
217
|
table.removeChild(table.children[table.children.length - 1]);
|
|
251
218
|
}
|
|
@@ -255,71 +222,54 @@ function syncTableToArrayReOrdered(table, things, createNewRow) {
|
|
|
255
222
|
**
|
|
256
223
|
** See http://snippets.dzone.com/posts/show/6632
|
|
257
224
|
*/
|
|
258
|
-
|
|
259
|
-
|
|
260
225
|
function stackString(e) {
|
|
261
226
|
var str = '' + e + '\n';
|
|
262
227
|
var i;
|
|
263
|
-
|
|
264
228
|
if (!e.stack) {
|
|
265
229
|
return str + 'No stack available.\n';
|
|
266
230
|
}
|
|
267
|
-
|
|
268
231
|
var lines = e.stack.toString().split('\n');
|
|
269
232
|
var toPrint = [];
|
|
270
|
-
|
|
271
233
|
for (i = 0; i < lines.length; i++) {
|
|
272
234
|
var line = lines[i];
|
|
273
|
-
|
|
274
235
|
if (line.indexOf('ecmaunit.js') > -1) {
|
|
275
236
|
// remove useless bit of traceback
|
|
276
237
|
break;
|
|
277
238
|
}
|
|
278
|
-
|
|
279
239
|
if (line.charAt(0) === '(') {
|
|
280
240
|
line = 'function' + line;
|
|
281
241
|
}
|
|
282
|
-
|
|
283
242
|
var chunks = line.split('@');
|
|
284
243
|
toPrint.push(chunks);
|
|
285
|
-
}
|
|
286
|
-
|
|
244
|
+
}
|
|
245
|
+
// toPrint.reverse(); No - I prefer the latest at the top by the error message -tbl
|
|
287
246
|
|
|
288
247
|
for (i = 0; i < toPrint.length; i++) {
|
|
289
248
|
str += ' ' + toPrint[i][1] + '\n ' + toPrint[i][0];
|
|
290
249
|
}
|
|
291
|
-
|
|
292
250
|
return str;
|
|
293
251
|
}
|
|
294
|
-
|
|
295
252
|
function emptyNode(node) {
|
|
296
253
|
var nodes = node.childNodes;
|
|
297
254
|
var len = nodes.length;
|
|
298
|
-
|
|
299
255
|
for (var i = len - 1; i >= 0; i--) {
|
|
300
256
|
node.removeChild(nodes[i]);
|
|
301
257
|
}
|
|
302
|
-
|
|
303
258
|
return node;
|
|
304
259
|
}
|
|
305
|
-
|
|
306
260
|
function getTarget(e) {
|
|
307
261
|
var target;
|
|
308
262
|
e = e || window.event;
|
|
309
263
|
if (e.target) target = e.target;else if (e.srcElement) target = e.srcElement;
|
|
310
|
-
|
|
311
264
|
if (target.nodeType === 3) {
|
|
312
265
|
// defeat Safari bug [sic]
|
|
313
266
|
target = target.parentNode;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
|
|
267
|
+
}
|
|
268
|
+
// UI.log.debug("Click on: " + target.tagName)
|
|
317
269
|
return target;
|
|
318
270
|
}
|
|
319
|
-
|
|
320
271
|
function ancestor(target, tagName) {
|
|
321
272
|
var level;
|
|
322
|
-
|
|
323
273
|
for (level = target; level; level = level.parentNode) {
|
|
324
274
|
// UI.log.debug("looking for "+tagName+" Level: "+level+" "+level.tagName)
|
|
325
275
|
try {
|
|
@@ -329,20 +279,17 @@ function ancestor(target, tagName) {
|
|
|
329
279
|
return undefined;
|
|
330
280
|
}
|
|
331
281
|
}
|
|
332
|
-
|
|
333
282
|
return undefined;
|
|
334
283
|
}
|
|
335
|
-
|
|
336
284
|
function getAbout(kb, target) {
|
|
337
285
|
var level, aa;
|
|
338
|
-
|
|
339
286
|
for (level = target; level && level.nodeType === 1; level = level.parentNode) {
|
|
340
287
|
// UI.log.debug("Level "+level + ' '+level.nodeType + ': '+level.tagName)
|
|
341
288
|
aa = level.getAttribute('about');
|
|
342
|
-
|
|
343
289
|
if (aa) {
|
|
344
290
|
// UI.log.debug("kb.fromNT(aa) = " + kb.fromNT(aa))
|
|
345
|
-
return kb.fromNT(aa);
|
|
291
|
+
return kb.fromNT(aa);
|
|
292
|
+
// } else {
|
|
346
293
|
// if (level.tagName=='TR') return undefined//this is to prevent literals passing through
|
|
347
294
|
}
|
|
348
295
|
}
|
|
@@ -350,17 +297,14 @@ function getAbout(kb, target) {
|
|
|
350
297
|
UI.log.debug('getAbout: No about found');
|
|
351
298
|
return undefined;
|
|
352
299
|
}
|
|
353
|
-
|
|
354
300
|
function getTerm(target) {
|
|
355
301
|
var statementTr = target.parentNode;
|
|
356
302
|
var st = statementTr ? statementTr.AJAR_statement : undefined;
|
|
357
303
|
var className = st ? target.className : ''; // if no st then it's necessary to use getAbout
|
|
358
|
-
|
|
359
304
|
switch (className) {
|
|
360
305
|
case 'pred':
|
|
361
306
|
case 'pred selected':
|
|
362
307
|
return st.predicate;
|
|
363
|
-
|
|
364
308
|
case 'obj':
|
|
365
309
|
case 'obj selected':
|
|
366
310
|
if (!statementTr.AJAR_inverse) {
|
|
@@ -368,30 +312,25 @@ function getTerm(target) {
|
|
|
368
312
|
} else {
|
|
369
313
|
return st.subject;
|
|
370
314
|
}
|
|
371
|
-
|
|
372
315
|
case '':
|
|
373
316
|
case 'selected':
|
|
374
317
|
// header TD
|
|
375
318
|
return getAbout(_solidLogic.store, target);
|
|
376
319
|
// kb to be changed
|
|
377
|
-
|
|
378
320
|
case 'undetermined selected':
|
|
379
321
|
return target.nextSibling ? st.predicate : !statementTr.AJAR_inverse ? st.object : st.subject;
|
|
380
322
|
}
|
|
381
323
|
}
|
|
382
|
-
|
|
383
324
|
function include(document, linkstr) {
|
|
384
325
|
var lnk = document.createElement('script');
|
|
385
326
|
lnk.setAttribute('type', 'text/javascript');
|
|
386
|
-
lnk.setAttribute('src', linkstr);
|
|
327
|
+
lnk.setAttribute('src', linkstr);
|
|
328
|
+
// TODO:This needs to be fixed or no longer used.
|
|
387
329
|
// document.getElementsByTagName('head')[0].appendChild(lnk)
|
|
388
|
-
|
|
389
330
|
return lnk;
|
|
390
331
|
}
|
|
391
|
-
|
|
392
332
|
function addLoadEvent(func) {
|
|
393
333
|
var oldonload = window.onload;
|
|
394
|
-
|
|
395
334
|
if (typeof window.onload !== 'function') {
|
|
396
335
|
window.onload = func;
|
|
397
336
|
} else {
|
|
@@ -401,9 +340,8 @@ function addLoadEvent(func) {
|
|
|
401
340
|
};
|
|
402
341
|
}
|
|
403
342
|
} // addLoadEvent
|
|
404
|
-
// Find the position of an object relative to the window
|
|
405
|
-
|
|
406
343
|
|
|
344
|
+
// Find the position of an object relative to the window
|
|
407
345
|
function findPos(obj) {
|
|
408
346
|
// C&P from http://www.quirksmode.org/js/findpos.html
|
|
409
347
|
var myDocument = obj.ownerDocument;
|
|
@@ -411,124 +349,104 @@ function findPos(obj) {
|
|
|
411
349
|
var box = obj.getBoundingClientRect();
|
|
412
350
|
return [box.left - DocBox.left, box.top - DocBox.top];
|
|
413
351
|
}
|
|
414
|
-
|
|
415
352
|
function getEyeFocus(element, instantly, isBottom, myWindow) {
|
|
416
353
|
if (!myWindow) myWindow = window;
|
|
417
354
|
var elementPosY = findPos(element)[1];
|
|
418
355
|
var appContext = window.SolidAppContext || {};
|
|
419
356
|
var scrollDiff = appContext && appContext.scroll || 52; // 52 = magic number for web-based version
|
|
420
|
-
|
|
421
357
|
var totalScroll = elementPosY - scrollDiff - myWindow.scrollY;
|
|
422
|
-
|
|
423
358
|
if (instantly) {
|
|
424
359
|
if (isBottom) {
|
|
425
360
|
myWindow.scrollBy(0, elementPosY + element.clientHeight - (myWindow.scrollY + myWindow.innerHeight));
|
|
426
361
|
return;
|
|
427
362
|
}
|
|
428
|
-
|
|
429
363
|
myWindow.scrollBy(0, totalScroll);
|
|
430
364
|
return;
|
|
431
365
|
}
|
|
432
|
-
|
|
433
366
|
var id = myWindow.setInterval(scrollAmount, 50);
|
|
434
367
|
var times = 0;
|
|
435
|
-
|
|
436
368
|
function scrollAmount() {
|
|
437
369
|
myWindow.scrollBy(0, totalScroll / 10);
|
|
438
370
|
times++;
|
|
439
|
-
|
|
440
371
|
if (times === 10) {
|
|
441
372
|
myWindow.clearInterval(id);
|
|
442
373
|
}
|
|
443
374
|
}
|
|
444
375
|
}
|
|
445
|
-
|
|
446
376
|
function AJARImage(src, alt, tt, doc) {
|
|
447
377
|
if (!doc) {
|
|
448
378
|
doc = document;
|
|
449
379
|
}
|
|
450
|
-
|
|
451
380
|
var image = doc.createElement('img');
|
|
452
381
|
image.setAttribute('src', src);
|
|
453
382
|
image.addEventListener('copy', function (e) {
|
|
454
383
|
e.clipboardData.setData('text/plain', '');
|
|
455
384
|
e.clipboardData.setData('text/html', '');
|
|
456
385
|
e.preventDefault(); // We want no title data to be written to the clipboard
|
|
457
|
-
});
|
|
386
|
+
});
|
|
387
|
+
// if (typeof alt != 'undefined') // Messes up cut-and-paste of text
|
|
458
388
|
// image.setAttribute('alt', alt)
|
|
459
|
-
|
|
460
389
|
if (typeof tt !== 'undefined') {
|
|
461
390
|
image.setAttribute('title', tt);
|
|
462
391
|
}
|
|
463
|
-
|
|
464
392
|
return image;
|
|
465
|
-
}
|
|
393
|
+
}
|
|
466
394
|
|
|
395
|
+
// Make short name for ontology
|
|
467
396
|
|
|
468
397
|
function shortName(uri) {
|
|
469
398
|
var p = uri;
|
|
470
399
|
if ('#/'.indexOf(p[p.length - 1]) >= 0) p = p.slice(0, -1);
|
|
471
400
|
var namespaces = [];
|
|
472
|
-
|
|
473
401
|
for (var _ns in this.prefixes) {
|
|
474
402
|
namespaces[this.prefixes[_ns]] = _ns; // reverse index
|
|
475
403
|
}
|
|
476
404
|
|
|
477
405
|
var pok;
|
|
478
|
-
|
|
479
406
|
var canUse = function canUse(pp) {
|
|
480
407
|
// if (!__Serializer.prototype.validPrefix.test(pp)) return false; // bad format
|
|
481
408
|
if (pp === 'ns') return false; // boring
|
|
482
409
|
// if (pp in this.namespaces) return false; // already used
|
|
483
410
|
// this.prefixes[uri] = pp;
|
|
484
411
|
// this.namespaces[pp] = uri;
|
|
485
|
-
|
|
486
412
|
pok = pp;
|
|
487
413
|
return true;
|
|
488
414
|
};
|
|
489
|
-
|
|
490
415
|
var i;
|
|
491
416
|
var hash = p.lastIndexOf('#');
|
|
492
417
|
if (hash >= 0) p = p.slice(hash - 1); // lop off localid
|
|
493
418
|
// eslint-disable-next-line no-unreachable-loop
|
|
494
|
-
|
|
495
419
|
for (;;) {
|
|
496
420
|
var slash = p.lastIndexOf('/');
|
|
497
421
|
if (slash >= 0) p = p.slice(slash + 1);
|
|
498
422
|
i = 0;
|
|
499
|
-
|
|
500
423
|
while (i < p.length) {
|
|
501
424
|
if (this.prefixchars.indexOf(p[i])) i++;else break;
|
|
502
425
|
}
|
|
503
|
-
|
|
504
426
|
p = p.slice(0, i);
|
|
505
427
|
if (p.length < 6 && canUse(p)) return pok; // exact i sbest
|
|
506
|
-
|
|
507
428
|
if (canUse(p.slice(0, 3))) return pok;
|
|
508
429
|
if (canUse(p.slice(0, 2))) return pok;
|
|
509
430
|
if (canUse(p.slice(0, 4))) return pok;
|
|
510
431
|
if (canUse(p.slice(0, 1))) return pok;
|
|
511
432
|
if (canUse(p.slice(0, 5))) return pok;
|
|
512
|
-
|
|
513
433
|
for (i = 0;; i++) {
|
|
514
434
|
if (canUse(p.slice(0, 3) + i)) return pok;
|
|
515
435
|
}
|
|
516
436
|
}
|
|
517
|
-
}
|
|
518
|
-
|
|
437
|
+
}
|
|
519
438
|
|
|
439
|
+
// Short name for an ontology
|
|
520
440
|
function ontologyLabel(term) {
|
|
521
441
|
if (term.uri === undefined) return '??';
|
|
522
442
|
var s = term.uri;
|
|
523
443
|
var namespaces = [];
|
|
524
444
|
var i = s.lastIndexOf('#');
|
|
525
445
|
var part;
|
|
526
|
-
|
|
527
446
|
if (i >= 0) {
|
|
528
447
|
s = s.slice(0, i + 1);
|
|
529
448
|
} else {
|
|
530
449
|
i = s.lastIndexOf('/');
|
|
531
|
-
|
|
532
450
|
if (i >= 0) {
|
|
533
451
|
s = s.slice(0, i + 1);
|
|
534
452
|
} else {
|
|
@@ -543,16 +461,13 @@ function ontologyLabel(term) {
|
|
|
543
461
|
try {
|
|
544
462
|
return namespaces[s];
|
|
545
463
|
} catch (e) {}
|
|
546
|
-
|
|
547
464
|
s = s.slice(0, -1); // Chop off delimiter ... now have just
|
|
548
465
|
|
|
549
466
|
while (s) {
|
|
550
467
|
i = s.lastIndexOf('/');
|
|
551
|
-
|
|
552
468
|
if (i >= 0) {
|
|
553
469
|
part = s.slice(i + 1);
|
|
554
470
|
s = s.slice(0, i);
|
|
555
|
-
|
|
556
471
|
if (part !== 'ns' && '0123456789'.indexOf(part[0]) < 0) {
|
|
557
472
|
return part;
|
|
558
473
|
}
|
|
@@ -564,61 +479,50 @@ function ontologyLabel(term) {
|
|
|
564
479
|
|
|
565
480
|
function labelWithOntology(x, initialCap) {
|
|
566
481
|
var t = _solidLogic.store.findTypeURIs(x);
|
|
567
|
-
|
|
568
482
|
if (t[UI.ns.rdf('Predicate').uri] || t[UI.ns.rdfs('Class').uri]) {
|
|
569
483
|
return (0, _label.label)(x, initialCap) + ' (' + ontologyLabel(x) + ')';
|
|
570
484
|
}
|
|
571
|
-
|
|
572
485
|
return (0, _label.label)(x, initialCap);
|
|
573
486
|
}
|
|
574
|
-
|
|
575
487
|
function escapeForXML(str) {
|
|
576
488
|
return str.replace(/&/g, '&').replace(/</g, '<');
|
|
577
|
-
}
|
|
578
|
-
|
|
489
|
+
}
|
|
579
490
|
|
|
491
|
+
// As above but escaped for XML and chopped of contains a slash
|
|
580
492
|
function labelForXML(x) {
|
|
581
493
|
return escapeForXML((0, _label.label)(x));
|
|
582
494
|
}
|
|
583
|
-
|
|
584
495
|
function predicateLabelForXML(p, inverse) {
|
|
585
496
|
return escapeForXML(predicateLabel(p, inverse));
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
|
|
497
|
+
}
|
|
498
|
+
// As above but for predicate, possibly inverse
|
|
589
499
|
function predicateLabel(p, inverse) {
|
|
590
500
|
var lab = (0, _label.label)(p);
|
|
591
|
-
|
|
592
501
|
if (inverse) {
|
|
593
502
|
// If we know an inverse predicate, use its label
|
|
594
503
|
var ip = _solidLogic.store.any(p, UI.ns.owl('inverseOf')) || _solidLogic.store.any(undefined, UI.ns.owl('inverseOf'), p);
|
|
595
|
-
|
|
596
504
|
if (ip) return (0, _label.label)(ip);
|
|
597
505
|
if (lab === 'type') return '...'; // Not "is type of"
|
|
598
|
-
|
|
599
506
|
return 'is ' + lab + ' of';
|
|
600
507
|
}
|
|
601
|
-
|
|
602
508
|
return lab;
|
|
603
|
-
}
|
|
604
|
-
|
|
509
|
+
}
|
|
605
510
|
|
|
511
|
+
// Not a method. For use in sorts
|
|
606
512
|
function RDFComparePredicateObject(self, other) {
|
|
607
513
|
var x = self.predicate.compareTerm(other.predicate);
|
|
608
514
|
if (x !== 0) return x;
|
|
609
515
|
return self.object.compareTerm(other.object);
|
|
610
516
|
}
|
|
611
|
-
|
|
612
517
|
function RDFComparePredicateSubject(self, other) {
|
|
613
518
|
var x = self.predicate.compareTerm(other.predicate);
|
|
614
519
|
if (x !== 0) return x;
|
|
615
520
|
return self.subject.compareTerm(other.subject);
|
|
616
|
-
}
|
|
617
|
-
|
|
521
|
+
}
|
|
522
|
+
// ends
|
|
618
523
|
|
|
619
524
|
function predParentOf(node) {
|
|
620
525
|
var n = node;
|
|
621
|
-
|
|
622
526
|
while (true) {
|
|
623
527
|
if (n.getAttribute('predTR')) {
|
|
624
528
|
return n;
|
|
@@ -629,5 +533,7 @@ function predParentOf(node) {
|
|
|
629
533
|
return node;
|
|
630
534
|
}
|
|
631
535
|
}
|
|
632
|
-
}
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// makeQueryRow moved to outline mode
|
|
633
539
|
//# sourceMappingURL=index.js.map
|