solid-panes 5.1.0-2 → 5.1.0-3
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/README.md +6 -0
- package/dist/components/profile-heading/ProfileHeading.cjs.js +2 -2
- package/dist/components/profile-heading/ProfileHeading.cjs.js.map +1 -1
- package/dist/components/profile-heading/ProfileHeading.esm.js +2 -2
- package/dist/components/profile-heading/ProfileHeading.esm.js.map +1 -1
- package/dist/components/profile-heading/ProfileHeading.styles.cjs.js +1 -1
- package/dist/components/profile-heading/ProfileHeading.styles.cjs.js.map +1 -1
- package/dist/components/profile-heading/ProfileHeading.styles.esm.js +1 -1
- package/dist/components/profile-heading/ProfileHeading.styles.esm.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +16 -15
- package/dist/index.esm.js.map +1 -1
- package/dist/mainPage/index.cjs.js +1 -1
- package/dist/mainPage/index.cjs.js.map +1 -1
- package/dist/mainPage/index.d.ts.map +1 -1
- package/dist/mainPage/index.esm.js +36 -25
- package/dist/mainPage/index.esm.js.map +1 -1
- package/dist/mainPage/profileHeading.d.ts +2 -1
- package/dist/mainPage/profileHeading.d.ts.map +1 -1
- package/dist/mainPage/profileHeading2.cjs.js +1 -1
- package/dist/mainPage/profileHeading2.cjs.js.map +1 -1
- package/dist/mainPage/profileHeading2.esm.js +75 -75
- package/dist/mainPage/profileHeading2.esm.js.map +1 -1
- package/dist/navigation/chrome.cjs.js +1 -1
- package/dist/navigation/chrome.cjs.js.map +1 -1
- package/dist/navigation/chrome.d.ts +20 -2
- package/dist/navigation/chrome.d.ts.map +1 -1
- package/dist/navigation/chrome.esm.js +14 -8
- package/dist/navigation/chrome.esm.js.map +1 -1
- package/dist/navigation/controller.cjs.js +1 -1
- package/dist/navigation/controller.cjs.js.map +1 -1
- package/dist/navigation/controller.d.ts +3 -0
- package/dist/navigation/controller.d.ts.map +1 -1
- package/dist/navigation/controller.esm.js +49 -28
- package/dist/navigation/controller.esm.js.map +1 -1
- package/dist/navigation/options.cjs.js +1 -1
- package/dist/navigation/options.cjs.js.map +1 -1
- package/dist/navigation/options.d.ts +12 -0
- package/dist/navigation/options.d.ts.map +1 -1
- package/dist/navigation/options.esm.js +4 -1
- package/dist/navigation/options.esm.js.map +1 -1
- package/dist/navigation/podContext.cjs.js +1 -1
- package/dist/navigation/podContext.cjs.js.map +1 -1
- package/dist/navigation/podContext.d.ts.map +1 -1
- package/dist/navigation/podContext.esm.js +14 -14
- package/dist/navigation/podContext.esm.js.map +1 -1
- package/dist/outline/manager2.cjs.js +1 -1
- package/dist/outline/manager2.cjs.js.map +1 -1
- package/dist/outline/manager2.esm.js +352 -321
- package/dist/outline/manager2.esm.js.map +1 -1
- package/dist/versionInfo.cjs.js +1 -1
- package/dist/versionInfo.cjs.js.map +1 -1
- package/dist/versionInfo.esm.js +3 -3
- package/dist/versionInfo.esm.js.map +1 -1
- package/package.json +2 -2
|
@@ -9,40 +9,41 @@ import { deriveExplorerHeader as o, explorerHeaderForPane as s } from "../naviga
|
|
|
9
9
|
import { isPageInViewerPod as c } from "../navigation/podContext.esm.js";
|
|
10
10
|
import { nextHistoryState as l } from "../navigation/state.esm.js";
|
|
11
11
|
import { announceNavigation as u } from "../navigation/events.esm.js";
|
|
12
|
-
import {
|
|
13
|
-
import { refreshNavbarVisibility as
|
|
14
|
-
import { createOutlineDomHelpers as
|
|
15
|
-
import { getPaneIcon as
|
|
16
|
-
import * as
|
|
17
|
-
import { solidLogicSingleton as
|
|
18
|
-
import * as
|
|
19
|
-
import * as
|
|
12
|
+
import { resolveFolderView as d, resolveSource as f } from "../navigation/options.esm.js";
|
|
13
|
+
import { refreshNavbarVisibility as p } from "../navigation/navbarVisibility.esm.js";
|
|
14
|
+
import { createOutlineDomHelpers as m } from "./outlineDomHelpers.esm.js";
|
|
15
|
+
import { getPaneIcon as h, getPaneItems as g } from "./fileExplorerHelpers.esm.js";
|
|
16
|
+
import * as _ from "solid-ui";
|
|
17
|
+
import { solidLogicSingleton as v, store as y } from "solid-logic";
|
|
18
|
+
import * as b from "pane-registry";
|
|
19
|
+
import * as x from "rdflib";
|
|
20
20
|
import "solid-ui/components/file-explorer-provider";
|
|
21
21
|
import "solid-ui/components/file-explorer-header";
|
|
22
|
-
import
|
|
22
|
+
import "solid-ui/components/error-state";
|
|
23
|
+
import S from "solid-ui/components/access-control-modal";
|
|
23
24
|
// src/outline/manager.js
|
|
24
25
|
/* istanbul ignore file */
|
|
25
|
-
var
|
|
26
|
-
function
|
|
27
|
-
let
|
|
28
|
-
this.document =
|
|
29
|
-
let
|
|
30
|
-
this.selection =
|
|
31
|
-
let
|
|
32
|
-
|
|
33
|
-
let { outlineObjectDiv:
|
|
34
|
-
dom:
|
|
35
|
-
UI:
|
|
36
|
-
kb:
|
|
26
|
+
var C = "solid-ui-file-explorer-provider";
|
|
27
|
+
function w(w) {
|
|
28
|
+
let T = w.dom, E = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakSet();
|
|
29
|
+
this.document = w.dom, this.context = w, this.outlineIcons = t, this.labeller = this.labeller || {}, this.labeller.LanguagePreference = "";
|
|
30
|
+
let O = this, k = this, A = [];
|
|
31
|
+
this.selection = A, this.ancestor = _.utils.ancestor, this.sparql = x.UpdateManager, this.kb = y;
|
|
32
|
+
let j = y, M = y.fetcher;
|
|
33
|
+
T.outline = this, this.qs = new r(), this.UserInput = new n(this), this.clipboardAddress = "tabulator:clipboard", this.UserInput.clipboardInit(this.clipboardAddress);
|
|
34
|
+
let { outlineObjectDiv: N, outlinePredicateDiv: P, termWidget: F } = m({
|
|
35
|
+
dom: T,
|
|
36
|
+
UI: _,
|
|
37
|
+
kb: y,
|
|
37
38
|
outlineIcons: t,
|
|
38
|
-
expandMouseDownListener:
|
|
39
|
-
selectableTDClickListener:
|
|
40
|
-
setSelected:
|
|
41
|
-
viewAsBoringDefault:
|
|
42
|
-
removeNodeIconMouseDownListener:
|
|
39
|
+
expandMouseDownListener: ue,
|
|
40
|
+
selectableTDClickListener: he,
|
|
41
|
+
setSelected: K,
|
|
42
|
+
viewAsBoringDefault: ye,
|
|
43
|
+
removeNodeIconMouseDownListener: me
|
|
43
44
|
});
|
|
44
|
-
this.outlineObjectDiv =
|
|
45
|
-
let e =
|
|
45
|
+
this.outlineObjectDiv = N, this.outlinePredicateDiv = P, this.outlineObjectTD = N, this.outlinePredicateTD = P, this.termWidget = F, this.init = function() {
|
|
46
|
+
let e = ee();
|
|
46
47
|
e.outline = this;
|
|
47
48
|
}, this.getLayoutMode = function() {
|
|
48
49
|
let e = this.context?.environment?.layout;
|
|
@@ -52,55 +53,55 @@ function C(C) {
|
|
|
52
53
|
return e <= 768 || t && e <= 1024 ? "mobile" : "desktop";
|
|
53
54
|
}
|
|
54
55
|
return "desktop";
|
|
55
|
-
},
|
|
56
|
-
function
|
|
56
|
+
}, I.lastkbsize = 0;
|
|
57
|
+
function I(e) {
|
|
57
58
|
let t = [];
|
|
58
59
|
for (let e = arguments.length - 1; e > 0; e--) t[e - 1] = arguments[e];
|
|
59
60
|
let n = (/* @__PURE__ */ new Date()).getTime(), r = e.apply(e, t), i = (/* @__PURE__ */ new Date()).getTime();
|
|
60
|
-
return
|
|
61
|
+
return _.log.info("BENCHMARK: kb delta: " + (j.statements.length - I.lastkbsize) + ", time elapsed for " + e + " was " + (i - n) + "ms"), I.lastkbsize = j.statements.length, r;
|
|
61
62
|
}
|
|
62
63
|
this.appendAccessIcons = function(e, t, n) {
|
|
63
64
|
if (n.termType !== "NamedNode") return;
|
|
64
65
|
let r = e.uris(n);
|
|
65
66
|
r.sort();
|
|
66
67
|
let i = null;
|
|
67
|
-
for (let e = 0; e < r.length; e++) r[e] !== i && (i = r[e],
|
|
68
|
+
for (let e = 0; e < r.length; e++) r[e] !== i && (i = r[e], k.appendAccessIcon(t, i));
|
|
68
69
|
}, this.appendAccessIcon = function(e, n) {
|
|
69
70
|
if (!n) return "";
|
|
70
|
-
let r =
|
|
71
|
+
let r = x.uri.docpart(n);
|
|
71
72
|
if (r.slice(0, 5) !== "http:") return "";
|
|
72
|
-
let i =
|
|
73
|
+
let i = M.getState(r), a, o, s;
|
|
73
74
|
switch (i) {
|
|
74
75
|
case "unrequested":
|
|
75
|
-
a = t.src.icon_unrequested, o = "fetch", s =
|
|
76
|
+
a = t.src.icon_unrequested, o = "fetch", s = pe;
|
|
76
77
|
break;
|
|
77
78
|
case "requested":
|
|
78
|
-
a = t.src.icon_requested, o = "fetching", s =
|
|
79
|
+
a = t.src.icon_requested, o = "fetching", s = Y;
|
|
79
80
|
break;
|
|
80
81
|
case "fetched":
|
|
81
|
-
a = t.src.icon_fetched, s =
|
|
82
|
+
a = t.src.icon_fetched, s = fe, o = "loaded";
|
|
82
83
|
break;
|
|
83
84
|
case "failed":
|
|
84
|
-
a = t.src.icon_failed, o = "failed", s =
|
|
85
|
+
a = t.src.icon_failed, o = "failed", s = Y;
|
|
85
86
|
break;
|
|
86
87
|
case "unpermitted":
|
|
87
|
-
a = t.src.icon_failed, s =
|
|
88
|
+
a = t.src.icon_failed, s = Y, o = "no perm";
|
|
88
89
|
break;
|
|
89
90
|
case "unfetchable":
|
|
90
|
-
a = t.src.icon_failed, s =
|
|
91
|
+
a = t.src.icon_failed, s = Y, o = "cannot fetch";
|
|
91
92
|
break;
|
|
92
|
-
default:
|
|
93
|
+
default: _.log.error("?? state = " + i);
|
|
93
94
|
}
|
|
94
|
-
let c =
|
|
95
|
-
return c.classList.add("objectValueAccessIcon"), c.setAttribute("uri", n), c.addEventListener("click", s),
|
|
95
|
+
let c = _.utils.AJARImage(a, o, t.tooltips[a].replace(/[Tt]his resource/, r), T);
|
|
96
|
+
return c.classList.add("objectValueAccessIcon"), c.setAttribute("uri", n), c.addEventListener("click", s), le(c, r), e.appendChild(c), c;
|
|
96
97
|
};
|
|
97
|
-
function
|
|
98
|
-
return
|
|
99
|
-
}
|
|
100
|
-
function ee(e) {
|
|
101
|
-
f(e.uri).catch((e) => g.log.error("Failed to update navbar visibility: " + e));
|
|
98
|
+
function ee() {
|
|
99
|
+
return ne("OutlineView", "Resource browser");
|
|
102
100
|
}
|
|
103
101
|
function te(e) {
|
|
102
|
+
p(e.uri).catch((e) => _.log.error("Failed to update navbar visibility: " + e));
|
|
103
|
+
}
|
|
104
|
+
function ne(e) {
|
|
104
105
|
if (e === "OutlineView") {
|
|
105
106
|
let e = document.getElementById("OutlineView");
|
|
106
107
|
if (e) return e;
|
|
@@ -111,102 +112,102 @@ function C(C) {
|
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
async function
|
|
115
|
-
return e.uri.endsWith("/") && await a(e),
|
|
115
|
+
async function re(e, t) {
|
|
116
|
+
return e.uri.endsWith("/") && await a(e), _.getRelevantPanes(e, t, {
|
|
116
117
|
excludedPaneNames: ["sharing"],
|
|
117
118
|
fallbackPaneName: "internal"
|
|
118
119
|
});
|
|
119
120
|
}
|
|
120
|
-
function
|
|
121
|
+
function ie(e, t) {
|
|
121
122
|
return e.find((e) => e.shouldGetFocus && e.shouldGetFocus(t)) || e[0];
|
|
122
123
|
}
|
|
123
|
-
function
|
|
124
|
-
let t =
|
|
124
|
+
function ae(e) {
|
|
125
|
+
let t = T.getElementById("queryButton");
|
|
125
126
|
t && (e ? t.removeAttribute("style") : t.setAttribute("style", "display:none;"));
|
|
126
127
|
}
|
|
127
|
-
function
|
|
128
|
+
function L(e, t, n, r) {
|
|
128
129
|
if (!e || !n) return;
|
|
129
130
|
let i;
|
|
130
131
|
try {
|
|
131
|
-
|
|
132
|
+
_.log.info("outline: Rendering pane (menu): " + n.name), i = n.render(t, w, r);
|
|
132
133
|
} catch (e) {
|
|
133
|
-
i =
|
|
134
|
-
let t =
|
|
135
|
-
i.appendChild(t), t.appendChild(
|
|
134
|
+
i = T.createElement("div"), i.setAttribute("class", "exceptionPane");
|
|
135
|
+
let t = T.createElement("pre");
|
|
136
|
+
i.appendChild(t), t.appendChild(T.createTextNode(_.utils.stackString(e)));
|
|
136
137
|
}
|
|
137
|
-
|
|
138
|
+
z(e, t, n, i);
|
|
138
139
|
}
|
|
139
|
-
function
|
|
140
|
-
n ? (
|
|
140
|
+
function R(e, t, n) {
|
|
141
|
+
n ? (ae(!!n.requireQueryButton), e.pane = n, L(e, t, n, E.get(e)?.options || {})) : _.log.warn("outline: Unable to open pane in place: pane is undefined.");
|
|
141
142
|
}
|
|
142
|
-
function
|
|
143
|
-
let i =
|
|
144
|
-
|
|
145
|
-
context:
|
|
143
|
+
function z(e, t, n, r) {
|
|
144
|
+
let i = E.get(e);
|
|
145
|
+
_.composeExplorer(e, {
|
|
146
|
+
context: w,
|
|
146
147
|
subjectUri: t.uri,
|
|
147
148
|
pane: n,
|
|
148
149
|
relevantPanes: e.relevantPanes || [],
|
|
149
|
-
header: i && s(i.showHeader, n?.name) ? {
|
|
150
|
-
paneIcon:
|
|
150
|
+
header: i && s(i.showHeader, n?.name, i.options.folderView) ? {
|
|
151
|
+
paneIcon: h(n, t, w),
|
|
151
152
|
menuItems: i.menuItems
|
|
152
153
|
} : void 0,
|
|
153
154
|
paneElement: r
|
|
154
155
|
});
|
|
155
156
|
}
|
|
156
|
-
async function
|
|
157
|
-
n ||= {}, r ||=
|
|
157
|
+
async function oe(e, t, n, r) {
|
|
158
|
+
n ||= {}, r ||= T.createElement(C);
|
|
158
159
|
let a = {
|
|
159
|
-
generation: (
|
|
160
|
+
generation: (E.get(r)?.generation || 0) + 1,
|
|
160
161
|
menuItems: [],
|
|
161
162
|
options: n
|
|
162
163
|
};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}), r.addEventListener(
|
|
164
|
+
E.set(r, a), r.classList.add("paneView", "tdFlex"), r.setAttribute("notSelectable", "true"), r.setAttribute("role", "grid"), r.setAttribute("about", e.toNT()), n.hover && r.classList.add("hoverControl"), r.context = w, r.subjectUri = e.uri, r.soloPane = n.solo, D.has(r) || (r.addEventListener(_.FILE_EXPLORER_BACK_EVENT, (e) => {
|
|
165
|
+
_.isExplorerEvent(e, r) && (e.stopPropagation(), de({ target: r }));
|
|
166
|
+
}), r.addEventListener(_.FILE_EXPLORER_MANAGE_ACCESS_EVENT, (e) => {
|
|
166
167
|
e.stopPropagation();
|
|
167
|
-
let t =
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
let t = x.sym(e.detail.subjectUri).doc();
|
|
169
|
+
v.acl.findAccessGrants(t).then((e) => {
|
|
170
|
+
_.showDialog(S, { props: {
|
|
170
171
|
subjectUri: t.uri,
|
|
171
172
|
accessGrants: e
|
|
172
173
|
} });
|
|
173
174
|
}).catch((e) => {
|
|
174
|
-
|
|
175
|
+
_.log.error("outline: Failed to open access controls: " + _.utils.stackString(e));
|
|
175
176
|
});
|
|
176
|
-
}), r.addEventListener(
|
|
177
|
-
if (!
|
|
177
|
+
}), r.addEventListener(_.FILE_EXPLORER_OPEN_PANE_EVENT, (e) => {
|
|
178
|
+
if (!_.isExplorerEvent(e, r)) return;
|
|
178
179
|
e.stopPropagation();
|
|
179
|
-
let t =
|
|
180
|
-
|
|
181
|
-
}),
|
|
182
|
-
let s = n.hideList ? [] : await
|
|
183
|
-
if (
|
|
184
|
-
let l =
|
|
185
|
-
if (n.solo && !t && u && (typeof l?.containerHasIndexDocument == "function" && l.containerHasIndexDocument(e) ||
|
|
186
|
-
if (e = typeof l?.getContainerIndexThing == "function" ? l.getContainerIndexThing(e) :
|
|
180
|
+
let t = w.session.paneRegistry.byName(e.detail.paneName);
|
|
181
|
+
R(r, x.sym(e.detail.subjectUri), t);
|
|
182
|
+
}), D.add(r));
|
|
183
|
+
let s = n.hideList ? [] : await re(e, w);
|
|
184
|
+
if (E.get(r) !== a) return r;
|
|
185
|
+
let l = w.session.logic?.resource || v.resource, u = e.uri.endsWith("/") ? x.sym(`${e.uri}index.ttl`) : null;
|
|
186
|
+
if (n.solo && !t && !n.folderView && u && (typeof l?.containerHasIndexDocument == "function" && l.containerHasIndexDocument(e) || j.holds(e, _.ns.ldp("contains"), u, e.doc()))) {
|
|
187
|
+
if (e = typeof l?.getContainerIndexThing == "function" ? l.getContainerIndexThing(e) : x.sym(`${u.uri}#this`), await j.fetcher.load(e.doc()), s = await re(e, w), E.get(r) !== a) return r;
|
|
187
188
|
r.subjectUri = e.uri, r.setAttribute("about", e.toNT());
|
|
188
189
|
}
|
|
189
|
-
r.relevantPanes = s, r.pane = t ||
|
|
190
|
+
r.relevantPanes = s, r.pane = t || ie(s, e);
|
|
190
191
|
let d = !!(e && e.uri && e.site && e.site().uri === e.uri), f = !!n.headerOnlyInViewerPod, p = !e.uri.endsWith("/index.ttl#this") && o({
|
|
191
192
|
isRootResource: d,
|
|
192
193
|
isWebId: i(e),
|
|
193
194
|
viewerPodOnly: f,
|
|
194
|
-
inViewerPod: !f || await c(
|
|
195
|
+
inViewerPod: !f || await c(T.location.href)
|
|
195
196
|
});
|
|
196
|
-
if (
|
|
197
|
-
if (a.showHeader = p, r.paneRenderOptions = n, r.soloPane = n.solo, r.openPane = (e, t) =>
|
|
197
|
+
if (E.get(r) !== a) return r;
|
|
198
|
+
if (a.showHeader = p, r.paneRenderOptions = n, r.soloPane = n.solo, r.openPane = (e, t) => R(r, e, b.byName(t)), r.handleAccessClick = async () => {
|
|
198
199
|
try {
|
|
199
|
-
let t = e.doc(), n = await
|
|
200
|
-
|
|
200
|
+
let t = e.doc(), n = await v.acl.findAccessGrants(t);
|
|
201
|
+
_.showDialog(S, { props: {
|
|
201
202
|
subjectUri: t.uri,
|
|
202
203
|
accessGrants: n
|
|
203
204
|
} });
|
|
204
205
|
} catch (e) {
|
|
205
|
-
|
|
206
|
+
_.log.error("outline: Failed to open access controls: " + _.utils.stackString(e));
|
|
206
207
|
}
|
|
207
|
-
}, r.pane ?
|
|
208
|
-
let t = await
|
|
209
|
-
r.dispatchEvent(new CustomEvent(
|
|
208
|
+
}, r.pane ? L(r, e, r.pane, n) : z(r, e, r.pane), p) {
|
|
209
|
+
let t = await g(e, w, s, (e, t) => {
|
|
210
|
+
r.dispatchEvent(new CustomEvent(_.FILE_EXPLORER_OPEN_PANE_EVENT, {
|
|
210
211
|
bubbles: !0,
|
|
211
212
|
composed: !0,
|
|
212
213
|
detail: {
|
|
@@ -215,75 +216,75 @@ function C(C) {
|
|
|
215
216
|
}
|
|
216
217
|
}));
|
|
217
218
|
});
|
|
218
|
-
|
|
219
|
+
E.get(r) === a && (a.menuItems = t, z(r, e, r.pane));
|
|
219
220
|
}
|
|
220
221
|
return r;
|
|
221
222
|
}
|
|
222
|
-
function
|
|
223
|
-
let t = e.parentNode, n = t.parentNode, r =
|
|
223
|
+
function se(e) {
|
|
224
|
+
let t = e.parentNode, n = t.parentNode, r = T.createElement("div");
|
|
224
225
|
n.replaceChild(r, t), t.removeChild(e), n.replaceChild(t, r);
|
|
225
226
|
}
|
|
226
|
-
let
|
|
227
|
-
|
|
228
|
-
let i = t ? t.matches?.(
|
|
229
|
-
return
|
|
230
|
-
|
|
231
|
-
}), t &&
|
|
227
|
+
let B = this.propertyTable = function(e, t, n, r) {
|
|
228
|
+
_.log.debug("Property block for: " + e), e = j.canon(e);
|
|
229
|
+
let i = t ? t.matches?.(C) ? t : t.firstElementChild || t : T.createElement(C);
|
|
230
|
+
return oe(e, n, r, i).catch((e) => {
|
|
231
|
+
_.log.error("outline: Failed to set up file explorer: " + _.utils.stackString(e));
|
|
232
|
+
}), t && _.log.info("Re-expand: " + t), t || i;
|
|
232
233
|
};
|
|
233
|
-
function
|
|
234
|
+
function V(e, t, n) {
|
|
234
235
|
let r = e.createElement("div");
|
|
235
236
|
r.AJAR_statement = t, r.AJAR_inverse = n, r.setAttribute("predTR", "true"), r.setAttribute("role", "row");
|
|
236
|
-
let i =
|
|
237
|
+
let i = k.outlinePredicateDiv(t.predicate, r, n);
|
|
237
238
|
return r.appendChild(i), r;
|
|
238
239
|
}
|
|
239
|
-
this.propertyTR =
|
|
240
|
-
function
|
|
241
|
-
if (
|
|
240
|
+
this.propertyTR = V;
|
|
241
|
+
function ce(e, t, n, r) {
|
|
242
|
+
if (_.log.debug("Property list length = " + t.length), t.length === 0) return "";
|
|
242
243
|
let i, a, o;
|
|
243
244
|
n ? (i = function(e) {
|
|
244
245
|
return e.subject;
|
|
245
|
-
}, t = t.sort(
|
|
246
|
+
}, t = t.sort(_.utils.RDFComparePredicateSubject)) : (i = function(e) {
|
|
246
247
|
return e.object;
|
|
247
|
-
}, t = t.sort(
|
|
248
|
+
}, t = t.sort(_.utils.RDFComparePredicateObject));
|
|
248
249
|
let s = t.length;
|
|
249
250
|
for (a = 0; a < s; a++) {
|
|
250
251
|
let c = t[a];
|
|
251
252
|
if (r && !r(c.predicate, n)) continue;
|
|
252
|
-
let l =
|
|
253
|
+
let l = V(T, c, n);
|
|
253
254
|
e.appendChild(l);
|
|
254
255
|
let u = l.firstChild, d = $.defaults[c.predicate.uri], f = 0, p = 0, m = 0;
|
|
255
|
-
for (o = 0; o + a < s && t[a + o].predicate.sameTerm(c.predicate); o++) o > 0 && i(t[a + o]).sameTerm(i(t[a + o - 1])) && f++, i(t[a + o]).lang &&
|
|
256
|
+
for (o = 0; o + a < s && t[a + o].predicate.sameTerm(c.predicate); o++) o > 0 && i(t[a + o]).sameTerm(i(t[a + o - 1])) && f++, i(t[a + o]).lang && O.labeller.LanguagePreference && (p += 1, i(t[a + o]).lang.indexOf(O.labeller.LanguagePreference) >= 0 && m++);
|
|
256
257
|
if (m > 0 && p === f + 1) {
|
|
257
|
-
for (let e = a; e <= a + f; e++) if (
|
|
258
|
-
l.appendChild(
|
|
258
|
+
for (let e = a; e <= a + f; e++) if (O.labeller.LanguagePreference && i(t[e]).lang.indexOf(O.labeller.LanguagePreference) >= 0) {
|
|
259
|
+
l.appendChild(k.outlineObjectDiv(i(t[e]), d, void 0, c));
|
|
259
260
|
break;
|
|
260
261
|
}
|
|
261
262
|
a += f;
|
|
262
|
-
} else l.appendChild(
|
|
263
|
+
} else l.appendChild(k.outlineObjectDiv(i(c), d, void 0, c)), l.showNobj = function(r) {
|
|
263
264
|
let s = o - f, l = 2 * r < s ? r : s, p = [];
|
|
264
265
|
if (s !== 1) {
|
|
265
266
|
u.setAttribute("rowspan", l === s ? s : r + 1);
|
|
266
267
|
let f;
|
|
267
268
|
l < s && l === 1 && u.setAttribute("rowspan", 2);
|
|
268
269
|
let m = 0;
|
|
269
|
-
for (f = 1; f < o; f++) if (
|
|
270
|
+
for (f = 1; f < o; f++) if (j.canon(i(t[a + f])).sameTerm(j.canon(i(t[a + f - 1])))) _.log.info("there are duplicates here: %s", t[a + f - 1]);
|
|
270
271
|
else {
|
|
271
272
|
m++, c = t[a + f], d = $.defaults[c.predicate.uri];
|
|
272
|
-
let r =
|
|
273
|
-
r.style.colspan = "1", r.appendChild(
|
|
273
|
+
let r = T.createElement("div");
|
|
274
|
+
r.style.colspan = "1", r.appendChild(k.outlineObjectDiv(i(t[a + f]), d, void 0, c)), r.AJAR_statement = c, r.AJAR_inverse = n, e.appendChild(r), m >= l && (r.style.display = "none", p.push(r));
|
|
274
275
|
}
|
|
275
276
|
l === s && u.setAttribute("rowspan", m + 1);
|
|
276
277
|
}
|
|
277
278
|
if (l < s) {
|
|
278
|
-
let t =
|
|
279
|
+
let t = T.createElement("div"), n = t.appendChild(T.createElement("div"));
|
|
279
280
|
if (n.setAttribute("style", "margin: 0.2em; border: none; padding: 0; vertical-align: top;"), n.classList.add("obj"), n.setAttribute("notSelectable", "false"), s > r) {
|
|
280
|
-
let e =
|
|
281
|
+
let e = T.createElement("a");
|
|
281
282
|
n.appendChild(e);
|
|
282
283
|
let t = (function(e) {
|
|
283
284
|
return e(u, o, f, r);
|
|
284
285
|
})(function(t, n, r, i) {
|
|
285
286
|
return function(n) {
|
|
286
|
-
e.innerHTML = "", n === "none" ? (e.appendChild(
|
|
287
|
+
e.innerHTML = "", n === "none" ? (e.appendChild(_.utils.AJARImage(_.icons.originalIconBase + "tbl-more-trans.png", "more", "See all", T)), e.appendChild(T.createTextNode(s - i + " more...")), t.setAttribute("rowspan", i + 1)) : (e.appendChild(_.utils.AJARImage(_.icons.originalIconBase + "tbl-shrink.png", "(less)", void 0, T)), t.setAttribute("rowspan", s + 1));
|
|
287
288
|
for (let e = 0; e < p.length; e++) {
|
|
288
289
|
let t = p[e];
|
|
289
290
|
t.style.display = n;
|
|
@@ -301,87 +302,87 @@ function C(C) {
|
|
|
301
302
|
}, l.showNobj(10), a += o - 1;
|
|
302
303
|
}
|
|
303
304
|
}
|
|
304
|
-
this.appendPropertyTRs =
|
|
305
|
-
function
|
|
306
|
-
|
|
305
|
+
this.appendPropertyTRs = ce;
|
|
306
|
+
function le(e, n) {
|
|
307
|
+
_.log.debug("Button callbacks for " + n + " added");
|
|
307
308
|
let r = function(r) {
|
|
308
309
|
return function(i) {
|
|
309
|
-
return i.indexOf("#"), !e || !
|
|
310
|
+
return i.indexOf("#"), !e || !O.ancestor(e, "DIV") ? !1 : (i === n && (e.src = r, e.title = t.tooltips[r]), !0);
|
|
310
311
|
};
|
|
311
312
|
};
|
|
312
|
-
|
|
313
|
+
M.addCallback("request", r(t.src.icon_requested)), M.addCallback("done", r(t.src.icon_fetched)), M.addCallback("fail", r(t.src.icon_failed));
|
|
313
314
|
}
|
|
314
|
-
function
|
|
315
|
+
function H(e) {
|
|
315
316
|
let t = e.getAttribute("class");
|
|
316
317
|
return !!(t && t.indexOf("selected") >= 0);
|
|
317
318
|
}
|
|
318
|
-
function
|
|
319
|
-
let n =
|
|
320
|
-
|
|
319
|
+
function U(e) {
|
|
320
|
+
let n = k.targetOf(e).parentNode;
|
|
321
|
+
F.replaceIcon(n.parentNode, t.termWidgets.optOn, t.termWidgets.optOff, W), n.parentNode.parentNode.removeAttribute("optional");
|
|
321
322
|
}
|
|
322
|
-
function
|
|
323
|
-
let n =
|
|
324
|
-
|
|
323
|
+
function W(e) {
|
|
324
|
+
let n = k.targetOf(e).parentNode;
|
|
325
|
+
F.replaceIcon(n.parentNode, t.termWidgets.optOff, t.termWidgets.optOn, U), n.parentNode.parentNode.setAttribute("optional", "true");
|
|
325
326
|
}
|
|
326
|
-
function
|
|
327
|
+
function G(e, n) {
|
|
327
328
|
let r = t.termWidgets.optOn, i = t.termWidgets.optOff, a = (e) => !(!e || typeof e.getAttribute != "function" || e.getAttribute("predTR") !== "true" && e.getAttribute("data-outline-node") !== "predicate");
|
|
328
329
|
for (let t = e; t.parentNode; t = t.parentNode) for (;;) if (a(t)) {
|
|
329
330
|
let e = t.getAttribute("parentOfSelected");
|
|
330
|
-
e = e ? parseInt(e) : 0, e === 0 && n > 0 &&
|
|
331
|
+
e = e ? parseInt(e) : 0, e === 0 && n > 0 && F.addIcon(t.childNodes[0], t.getAttribute("optional") ? r : i, t.getAttribute("optional") ? U : W), e += n, t.setAttribute("parentOfSelected", e), e === 0 && (t.removeAttribute("parentOfSelected"), F.removeIcon(t.childNodes[0], t.getAttribute("optional") ? r : i));
|
|
331
332
|
break;
|
|
332
333
|
} else if (t.previousElementSibling) t = t.previousElementSibling;
|
|
333
334
|
else break;
|
|
334
335
|
}
|
|
335
336
|
this.statusBarClick = function(e) {
|
|
336
|
-
let t =
|
|
337
|
+
let t = _.utils.getTarget(e);
|
|
337
338
|
t.label && (window.content.location = t.label);
|
|
338
339
|
}, this.showURI = function(e) {
|
|
339
|
-
e &&
|
|
340
|
+
e && T.getElementById("UserURI") && (T.getElementById("UserURI").value = e.termType === "NamedNode" ? e.uri : "");
|
|
340
341
|
}, this.showSource = function() {
|
|
341
342
|
if (typeof sourceWidget < "u") {
|
|
342
343
|
for (let e in sourceWidget.sources) sourceWidget.sources[e].setAttribute("class", "");
|
|
343
|
-
for (let e = 0; e <
|
|
344
|
-
if (!
|
|
345
|
-
let t =
|
|
344
|
+
for (let e = 0; e < A.length; e++) {
|
|
345
|
+
if (!A[e].parentNode) continue;
|
|
346
|
+
let t = A[e].parentNode.AJAR_statement;
|
|
346
347
|
if (!t) continue;
|
|
347
348
|
let n = t.why;
|
|
348
349
|
n && n.uri && sourceWidget.highlight(n, !0);
|
|
349
350
|
}
|
|
350
351
|
}
|
|
351
352
|
}, this.getSelection = function() {
|
|
352
|
-
return
|
|
353
|
+
return A;
|
|
353
354
|
};
|
|
354
|
-
function
|
|
355
|
-
if (e.nodeName !== "TD" && e.nodeName !== "DIV") throw
|
|
356
|
-
|
|
355
|
+
function K(e, n) {
|
|
356
|
+
if (e.nodeName !== "TD" && e.nodeName !== "DIV") throw _.log.debug("down" + e.nodeName), Error("Expected TD or DIV in setSelected: " + e.nodeName + " : " + e.textContent);
|
|
357
|
+
_.log.debug("pass");
|
|
357
358
|
let r = e.getAttribute("class");
|
|
358
359
|
if (r ||= "", n) {
|
|
359
|
-
r += " selected", (r.indexOf("pred") >= 0 || r.indexOf("obj") >= 0) &&
|
|
360
|
-
let n =
|
|
361
|
-
|
|
360
|
+
r += " selected", (r.indexOf("pred") >= 0 || r.indexOf("obj") >= 0) && G(e, 1), A.push(e);
|
|
361
|
+
let n = _.utils.getTerm(e);
|
|
362
|
+
k.showURI(n);
|
|
362
363
|
let i = e.AJAR_statement;
|
|
363
364
|
if (i === void 0 && e.parentNode && (i = e.parentNode.AJAR_statement), i) {
|
|
364
365
|
let n = i.why;
|
|
365
|
-
|
|
366
|
+
y.updater.editable(n.uri, j) && r.indexOf("pred") >= 0 && F.addIcon(e, t.termWidgets.addTri);
|
|
366
367
|
}
|
|
367
|
-
} else
|
|
368
|
+
} else _.log.debug("cla=$" + r + "$"), r === "selected" && (r = ""), r = r.replace(" selected", ""), (r.indexOf("pred") >= 0 || r.indexOf("obj") >= 0) && G(e, -1), r.indexOf("pred") >= 0 && F.removeIcon(e, t.termWidgets.addTri), A = A.filter(function(t) {
|
|
368
369
|
return t === e;
|
|
369
|
-
}),
|
|
370
|
-
typeof sourceWidget < "u" &&
|
|
370
|
+
}), _.log.info("Deselecting " + e.textContent);
|
|
371
|
+
typeof sourceWidget < "u" && k.showSource(), e.setAttribute("class", r);
|
|
371
372
|
}
|
|
372
|
-
function
|
|
373
|
-
let e =
|
|
374
|
-
for (let t = e - 1; t >= 0; t--)
|
|
375
|
-
|
|
373
|
+
function q() {
|
|
374
|
+
let e = A.length;
|
|
375
|
+
for (let t = e - 1; t >= 0; t--) K(A[t], !1);
|
|
376
|
+
A = [];
|
|
376
377
|
}
|
|
377
378
|
this.targetOf = function(e) {
|
|
378
379
|
let t;
|
|
379
380
|
if (e ||= window.event, e.target) t = e.target;
|
|
380
381
|
else if (e.srcElement) t = e.srcElement;
|
|
381
|
-
else return
|
|
382
|
+
else return _.log.error("can't get target for event " + e), !1;
|
|
382
383
|
return t.nodeType === 3 && (t = t.parentNode), t;
|
|
383
384
|
}, this.walk = function(e, t) {
|
|
384
|
-
let n = t ||
|
|
385
|
+
let n = t || A[0], r;
|
|
385
386
|
switch (e) {
|
|
386
387
|
case "down":
|
|
387
388
|
try {
|
|
@@ -390,7 +391,7 @@ function C(C) {
|
|
|
390
391
|
this.walk("up");
|
|
391
392
|
return;
|
|
392
393
|
}
|
|
393
|
-
|
|
394
|
+
q(), K(r, !0);
|
|
394
395
|
break;
|
|
395
396
|
case "up":
|
|
396
397
|
try {
|
|
@@ -398,53 +399,53 @@ function C(C) {
|
|
|
398
399
|
} catch {
|
|
399
400
|
return;
|
|
400
401
|
}
|
|
401
|
-
|
|
402
|
+
q(), K(r, !0);
|
|
402
403
|
break;
|
|
403
404
|
case "right":
|
|
404
405
|
{
|
|
405
|
-
let e = n.matches?.(
|
|
406
|
+
let e = n.matches?.(C) ? n : n.querySelector?.(C), t = e?.querySelector?.("[data-outline-node=\"object\"]");
|
|
406
407
|
if (e) {
|
|
407
|
-
t && (
|
|
408
|
+
t && (q(), K(t, !0));
|
|
408
409
|
return;
|
|
409
410
|
}
|
|
410
411
|
}
|
|
411
|
-
if (
|
|
412
|
+
if (q(), n.nextSibling || n.lastChild.tagName === "strong") K(n.nextSibling, !0);
|
|
412
413
|
else {
|
|
413
414
|
let e = n.parentNode && n.parentNode.nextSibling, t = e ? e.lastChild : null;
|
|
414
415
|
if (!t) {
|
|
415
|
-
|
|
416
|
+
K(n, !0);
|
|
416
417
|
return;
|
|
417
418
|
}
|
|
418
|
-
|
|
419
|
+
K(t, !0);
|
|
419
420
|
}
|
|
420
421
|
break;
|
|
421
422
|
case "left":
|
|
422
|
-
if (
|
|
423
|
-
|
|
423
|
+
if (q(), n.previousSibling && n.previousSibling.className === "undetermined") return K(n.previousSibling, !0), !0;
|
|
424
|
+
K(J(n)?.block || n.parentNode && n.parentNode.firstChild, !0);
|
|
424
425
|
break;
|
|
425
|
-
case "moveTo":
|
|
426
|
+
case "moveTo": q(), K(t, !0);
|
|
426
427
|
}
|
|
427
428
|
e !== "down" && e !== "up" || r.tabulatorSelect || this.walk(e);
|
|
428
429
|
}, this.OutlinerKeypressPanel = function(e) {
|
|
429
|
-
|
|
430
|
+
_.log.info("Key " + e.keyCode + " pressed");
|
|
430
431
|
function t(e) {
|
|
431
|
-
e &&
|
|
432
|
+
e && T.getElementById("UserURI") && (T.getElementById("UserURI").value = e.termType === "NamedNode" ? e.uri : "");
|
|
432
433
|
}
|
|
433
434
|
function n(e) {
|
|
434
|
-
return arguments[3] || (o("right", a), t(
|
|
435
|
+
return arguments[3] || (o("right", a), t(_.utils.getAbout(j, A[0]))), !0;
|
|
435
436
|
}
|
|
436
437
|
let r, i;
|
|
437
|
-
if (
|
|
438
|
-
if (
|
|
439
|
-
(e.keyCode === 13 || e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 37 || e.keyCode === 39) && (this.walk("right",
|
|
438
|
+
if (_.utils.getTarget(e).tagName === "TEXTAREA" || _.utils.getTarget(e).id === "UserURI" || A.length > 1) return;
|
|
439
|
+
if (A.length === 0) {
|
|
440
|
+
(e.keyCode === 13 || e.keyCode === 38 || e.keyCode === 40 || e.keyCode === 37 || e.keyCode === 39) && (this.walk("right", k.focusTd), t(_.utils.getAbout(j, A[0])));
|
|
440
441
|
return;
|
|
441
442
|
}
|
|
442
|
-
let a =
|
|
443
|
-
switch (
|
|
443
|
+
let a = A[0];
|
|
444
|
+
switch (M.removeCallback("done", "setSelectedAfterward"), M.removeCallback("fail", "setSelectedAfterward"), e.keyCode) {
|
|
444
445
|
case 13:
|
|
445
|
-
if (
|
|
446
|
-
let e =
|
|
447
|
-
r = a.parentNode.AJAR_statement.why, i =
|
|
446
|
+
if (_.utils.getTarget(e).tagName === "HTML") {
|
|
447
|
+
let e = _.utils.getAbout(j, a);
|
|
448
|
+
r = a.parentNode.AJAR_statement.why, i = y.updater.editable(r.uri, j), e ? O.GotoSubject(e, !0) : i && k.UserInput.Enter(a);
|
|
448
449
|
} else this.UserInput.Keypress(e), this.walk("down"), e.stopPropagation();
|
|
449
450
|
return;
|
|
450
451
|
case 38:
|
|
@@ -452,30 +453,30 @@ function C(C) {
|
|
|
452
453
|
break;
|
|
453
454
|
case 40: this.walk("down"), e.stopPropagation(), e.preventDefault();
|
|
454
455
|
}
|
|
455
|
-
if (
|
|
456
|
+
if (_.utils.getTarget(e).tagName === "INPUT") return;
|
|
456
457
|
let o;
|
|
457
458
|
switch (e.keyCode) {
|
|
458
459
|
case 46:
|
|
459
460
|
case 8:
|
|
460
|
-
r = a.parentNode.AJAR_statement.why, i =
|
|
461
|
+
r = a.parentNode.AJAR_statement.why, i = y.updater.editable(r.uri, j), i && (e.preventDefault(), this.UserInput.Delete(a));
|
|
461
462
|
break;
|
|
462
463
|
case 37: {
|
|
463
464
|
if (this.walk("left")) return;
|
|
464
|
-
let e =
|
|
465
|
+
let e = J(a);
|
|
465
466
|
if (!e) break;
|
|
466
|
-
let t =
|
|
467
|
-
t &&
|
|
467
|
+
let t = _.utils.getAbout(j, e.provider);
|
|
468
|
+
t && _e(e.block, t);
|
|
468
469
|
break;
|
|
469
470
|
}
|
|
470
471
|
case 39:
|
|
471
472
|
{
|
|
472
|
-
let e =
|
|
473
|
+
let e = _.utils.getAbout(j, a);
|
|
473
474
|
if (e) {
|
|
474
475
|
if (o = this.walk, a.nextSibling) {
|
|
475
476
|
this.walk("right");
|
|
476
477
|
return;
|
|
477
478
|
}
|
|
478
|
-
a.firstElementChild?.matches(
|
|
479
|
+
a.firstElementChild?.matches(C) || (M.addCallback("done", n), M.addCallback("fail", n), Z(a, e, { pane: b.byName("defaultPane") })), n();
|
|
479
480
|
}
|
|
480
481
|
}
|
|
481
482
|
break;
|
|
@@ -484,248 +485,278 @@ function C(C) {
|
|
|
484
485
|
default: switch (e.charCode) {
|
|
485
486
|
case 99:
|
|
486
487
|
if (e.ctrlKey) {
|
|
487
|
-
|
|
488
|
+
k.UserInput.copyToClipboard(k.clipboardAddress, a);
|
|
488
489
|
break;
|
|
489
490
|
}
|
|
490
491
|
break;
|
|
491
492
|
case 118:
|
|
492
493
|
case 112:
|
|
493
494
|
if (e.ctrlKey) {
|
|
494
|
-
|
|
495
|
+
k.UserInput.pasteFromClipboard(k.clipboardAddress, a);
|
|
495
496
|
break;
|
|
496
497
|
}
|
|
497
498
|
break;
|
|
498
|
-
default:
|
|
499
|
+
default: _.utils.getTarget(e).tagName;
|
|
499
500
|
}
|
|
500
501
|
}
|
|
501
|
-
t(
|
|
502
|
+
t(_.utils.getAbout(j, A[0]));
|
|
502
503
|
}, this.OutlinerMouseclickPanel = function(e) {
|
|
503
|
-
switch (
|
|
504
|
+
switch (k.UserInput._tabulatorMode) {
|
|
504
505
|
case 0:
|
|
505
|
-
|
|
506
|
+
ge(e);
|
|
506
507
|
break;
|
|
507
|
-
case 1:
|
|
508
|
+
case 1: k.UserInput.Click(e);
|
|
508
509
|
}
|
|
509
510
|
};
|
|
510
|
-
function
|
|
511
|
-
let t =
|
|
512
|
-
for (let e = t; e && e !==
|
|
513
|
-
let i = r || n || t.parentNode, a =
|
|
514
|
-
e.shiftKey ?
|
|
515
|
-
pane:
|
|
511
|
+
function ue(e) {
|
|
512
|
+
let t = k.targetOf(e), n, r;
|
|
513
|
+
for (let e = t; e && e !== T; e = e.parentNode) e.matches?.("[data-outline-node=\"object\"]") && (n = e), e.matches?.(".outline-subject-block") && (r = e);
|
|
514
|
+
let i = r || n || t.parentNode, a = _.utils.getAbout(j, t), o = e.altKey ? b.byName("internal") : void 0;
|
|
515
|
+
e.shiftKey ? Q(i, a, o) : e.altKey ? Z(i, a, {
|
|
516
|
+
pane: b.byName("internal"),
|
|
516
517
|
immediate: !0
|
|
517
|
-
}) :
|
|
518
|
+
}) : Z(i, a);
|
|
518
519
|
}
|
|
519
|
-
function
|
|
520
|
-
let t =
|
|
520
|
+
function de(e) {
|
|
521
|
+
let t = k.targetOf(e), n = e.altKey ? b.byName("internal") : void 0, r = J(t);
|
|
521
522
|
if (!r) return;
|
|
522
|
-
let i =
|
|
523
|
-
i &&
|
|
523
|
+
let i = _.utils.getAbout(j, r.provider);
|
|
524
|
+
i && _e(r.block, i, n);
|
|
524
525
|
}
|
|
525
|
-
function
|
|
526
|
-
for (let t = e; t && t !==
|
|
526
|
+
function J(e) {
|
|
527
|
+
for (let t = e; t && t !== T; t = t.parentNode) {
|
|
527
528
|
if (t.matches?.("[data-outline-node=\"object\"]")) {
|
|
528
|
-
let e = t.querySelector?.(
|
|
529
|
+
let e = t.querySelector?.(C);
|
|
529
530
|
if (e) return {
|
|
530
531
|
block: t,
|
|
531
532
|
provider: e
|
|
532
533
|
};
|
|
533
534
|
}
|
|
534
|
-
if (t.matches?.(
|
|
535
|
+
if (t.matches?.(C)) return {
|
|
535
536
|
block: t.closest?.("[data-outline-node=\"object\"]") || t.closest?.(".outline-subject-block") || t,
|
|
536
537
|
provider: t
|
|
537
538
|
};
|
|
538
539
|
}
|
|
539
540
|
return null;
|
|
540
541
|
}
|
|
541
|
-
function
|
|
542
|
-
let t =
|
|
543
|
-
e.altKey ?
|
|
544
|
-
}
|
|
545
|
-
function ue(e) {
|
|
546
|
-
let t = O.targetOf(e).getAttribute("uri");
|
|
547
|
-
e.altKey ? j.fetch(b.uri.docpart(t), { force: !0 }) : j.refresh(A.sym(b.uri.docpart(t)));
|
|
548
|
-
}
|
|
549
|
-
function de(e) {
|
|
550
|
-
let t = O.targetOf(e).getAttribute("uri");
|
|
551
|
-
j.fetch(b.uri.docpart(t));
|
|
542
|
+
function Y(e) {
|
|
543
|
+
let t = k.targetOf(e).getAttribute("uri");
|
|
544
|
+
e.altKey ? M.fetch(x.uri.docpart(t), { force: !0 }) : M.refresh(j.sym(x.uri.docpart(t)));
|
|
552
545
|
}
|
|
553
546
|
function fe(e) {
|
|
554
|
-
let t =
|
|
555
|
-
|
|
547
|
+
let t = k.targetOf(e).getAttribute("uri");
|
|
548
|
+
e.altKey ? M.fetch(x.uri.docpart(t), { force: !0 }) : M.refresh(j.sym(x.uri.docpart(t)));
|
|
556
549
|
}
|
|
557
550
|
function pe(e) {
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
551
|
+
let t = k.targetOf(e).getAttribute("uri");
|
|
552
|
+
M.fetch(x.uri.docpart(t));
|
|
553
|
+
}
|
|
554
|
+
function me(e) {
|
|
555
|
+
let t = k.targetOf(e), n = t.node;
|
|
556
|
+
n.childNodes.length > 1 && (n = t.parentNode), se(n);
|
|
557
|
+
}
|
|
558
|
+
function he(e) {
|
|
559
|
+
if (k.UserInput._tabulatorMode) return k.UserInput.Click(e);
|
|
560
|
+
let t = k.targetOf(e), n;
|
|
561
|
+
for (n = _.utils.ancestor(t, "td") || _.utils.ancestor(t, "tr") || _.utils.ancestor(t, "div"); n && n.getAttribute("notSelectable") !== "false"; n = _.utils.ancestor(n.parentNode, "td") || _.utils.ancestor(n.parentNode, "tr") || _.utils.ancestor(n.parentNode, "div"));
|
|
561
562
|
if (!n) return;
|
|
562
|
-
let r =
|
|
563
|
-
if (
|
|
564
|
-
else if (e.shiftKey)
|
|
563
|
+
let r = H(n);
|
|
564
|
+
if (_.log.debug("Was node selected before: " + r), e.altKey) K(n, !H(n));
|
|
565
|
+
else if (e.shiftKey) K(n, !0);
|
|
565
566
|
else {
|
|
566
|
-
if (
|
|
567
|
+
if (q(), k.UserInput.clearInputAndSave(e), K(n, !0), e.detail === 2) {
|
|
567
568
|
e.stopPropagation();
|
|
568
569
|
return;
|
|
569
570
|
}
|
|
570
571
|
let t;
|
|
571
572
|
if (n.parentNode && (t = n.parentNode.AJAR_statement), !t) return;
|
|
572
|
-
let i = t.why, a =
|
|
573
|
-
r && a &&
|
|
573
|
+
let i = t.why, a = y.updater.editable(i.uri, j);
|
|
574
|
+
r && a && k.UserInput.Click(e, A[0]);
|
|
574
575
|
}
|
|
575
|
-
|
|
576
|
+
_.log.debug("Was node selected after: " + H(n) + ", count=" + A.length), e.stopPropagation();
|
|
576
577
|
}
|
|
577
|
-
function
|
|
578
|
-
|
|
579
|
-
let n =
|
|
578
|
+
function ge(e) {
|
|
579
|
+
_.log.info("@TabulatorMousedown, dom.location is now " + T.location);
|
|
580
|
+
let n = k.targetOf(e);
|
|
580
581
|
if (!n) return;
|
|
581
582
|
let r = n.tagName;
|
|
582
|
-
r !== "INPUT" && r !== "TEXTAREA" && (
|
|
583
|
+
r !== "INPUT" && r !== "TEXTAREA" && (k.UserInput.clearMenu(), k.UserInput.lastModified && k.UserInput.lastModified.parentNode.nextSibling && k.UserInput.backOut(), (!n.src || n.src.slice(n.src.indexOf("/icons/") + 1) !== t.src.icon_show_choices && n.src.slice(n.src.indexOf("/icons/") + 1) !== t.src.icon_add_triple) && k.UserInput.clearInputAndSave(e), n.src && n.src.slice(n.src.indexOf("/icons/") + 1) === t.src.icon_show_choices || k.UserInput.clearMenu(), e && e.stopPropagation());
|
|
583
584
|
}
|
|
584
|
-
function
|
|
585
|
-
|
|
585
|
+
function X(e) {
|
|
586
|
+
T.title = _.utils.label(e), T.location.href.startsWith(e.site().uri);
|
|
586
587
|
}
|
|
587
|
-
function
|
|
588
|
+
function Z(e, t, n) {
|
|
588
589
|
n ||= {};
|
|
589
590
|
let r = n.pane, i = !!n.already, a = n.immediate;
|
|
590
|
-
|
|
591
|
-
let o =
|
|
592
|
-
function
|
|
593
|
-
if (
|
|
591
|
+
_.log.info("@outlineExpand, dom is now " + T.location), M.removeCallback("done", "expand"), M.removeCallback("fail", "expand");
|
|
592
|
+
let o = j.canon(t), s = !1;
|
|
593
|
+
function c() {
|
|
594
|
+
if (s) {
|
|
595
|
+
if (M.getState(o.doc().uri) !== "fetched") return !1;
|
|
596
|
+
s = !1, i = !1;
|
|
597
|
+
}
|
|
598
|
+
if (o = j.canon(o), !e || !e.parentNode || !e.parentNode.parentNode) return !1;
|
|
594
599
|
let t;
|
|
595
|
-
|
|
596
|
-
let a =
|
|
597
|
-
for (let e = 0; e < a.length; e++) e === 25 &&
|
|
600
|
+
_.log.info("@@ REPAINTING "), t = i ? B(o, e, r, n) : B(o, void 0, r, n), i = !0, t !== e && _.utils.emptyNode(e).appendChild(t), k.focusTd = e, _.log.debug("expand: Node for " + o + " expanded");
|
|
601
|
+
let a = j.each(o, _.ns.rdfs("seeAlso"));
|
|
602
|
+
for (let e = 0; e < a.length; e++) e === 25 && _.log.warn("expand: Warning: many (" + a.length + ") seeAlso links for " + o), M.lookUpThing(a[e], o);
|
|
598
603
|
}
|
|
599
|
-
function
|
|
604
|
+
function l(e) {
|
|
600
605
|
if (arguments[3]) return !0;
|
|
601
|
-
let t =
|
|
602
|
-
|
|
603
|
-
let n =
|
|
606
|
+
let t = j.canon(o);
|
|
607
|
+
_.log.info("@@ expand: relevant subject=" + t + ", uri=" + e + ", already=" + i);
|
|
608
|
+
let n = j.sym(x.uri.docpart(e));
|
|
604
609
|
if (e.indexOf("#") >= 0) throw Error("Internal error: hash in " + e);
|
|
605
610
|
return !function() {
|
|
606
611
|
if (!t.uri) return !0;
|
|
607
|
-
let r =
|
|
612
|
+
let r = j.uris(t);
|
|
608
613
|
if (!r) return !1;
|
|
609
|
-
for (let t = 0; t < r.length; t++) for (let n =
|
|
610
|
-
return !!
|
|
611
|
-
}() || (
|
|
614
|
+
for (let t = 0; t < r.length; t++) for (let n = x.uri.docpart(r[t]); n; n = j.HTTPRedirects[n]) if (e === n) return !0;
|
|
615
|
+
return !!j.anyStatementMatching(t, void 0, void 0, n);
|
|
616
|
+
}() || (_.log.success("@@ expand OK: relevant subject=" + t + ", uri=" + e + ", source=" + i), c(), !1);
|
|
617
|
+
}
|
|
618
|
+
if (n.solo && X(o), r?.global) {
|
|
619
|
+
c();
|
|
620
|
+
return;
|
|
612
621
|
}
|
|
613
|
-
|
|
614
|
-
let
|
|
615
|
-
if (e.appendChild(
|
|
616
|
-
else if (o.uri && !a && !
|
|
622
|
+
_.log.debug("outlineExpand: dereferencing " + o);
|
|
623
|
+
let u = T.createElement("span");
|
|
624
|
+
if (e.appendChild(u), M.addCallback("done", l), M.addCallback("fail", l), o.uri && o.uri.split(":")[0] === "rdf") c();
|
|
625
|
+
else if (o.uri && !a && !_.widgets.isAudio(o) && !_.widgets.isVideo(o)) {
|
|
617
626
|
let t = o.doc() && o.doc().uri ? o.doc().uri : "" + o.doc(), r = function(e) {
|
|
618
627
|
let t = !!(o && o.uri && o.site && o.site().uri === o.uri);
|
|
619
628
|
return e === 403 ? t ? "This root resource is not accessible with your current permissions. Try logging in with an authorized account or opening a public profile document." : "This resource is not accessible with your current permissions." : t ? "This root resource is not publicly readable. Try logging in or opening a profile document." : "This resource is not publicly readable. Try logging in or opening a different public resource.";
|
|
620
629
|
}, i = function(e, t) {
|
|
621
630
|
let n = typeof e == "string" ? e : String(e || ""), r = t?.status || t?.response?.status;
|
|
622
631
|
return r === 401 || r === 403 ? r : n.includes("status: 403") || n.includes("status 403") ? 403 : n.includes("status: 401") || n.includes("status 401") ? 401 : null;
|
|
623
|
-
}, a = function(
|
|
632
|
+
}, a = function() {
|
|
633
|
+
let e = !!(o && o.uri && o.site && o.site().uri === o.uri), t = !!v.authn.currentUser();
|
|
634
|
+
return e ? t ? "You are logged in, but this root resource is not publicly readable. Select a storage location from the account menu to continue." : "This root resource is not publicly readable. Try logging in or opening a profile document." : t ? "You are logged in, but your account does not have permission to view this resource." : "This resource is not publicly readable. Log in to view it.";
|
|
635
|
+
}, l = function() {
|
|
636
|
+
s = !0;
|
|
637
|
+
let n = T.createElement("solid-ui-error-state");
|
|
638
|
+
n.setAttribute("title", "Access denied"), n.setAttribute("message", a()), t && n.setAttribute("data-outline-error-for", t), _.utils.emptyNode(e).appendChild(n), M.addCallback("done", function(n) {
|
|
639
|
+
return !s || !e.isConnected ? !1 : n !== t || (c(), !1);
|
|
640
|
+
}), M.getState(t) === "fetched" && c();
|
|
641
|
+
}, u = function(a, o) {
|
|
624
642
|
if (e.querySelector && t && e.querySelector("[data-outline-error-for=\"" + t + "\"]")) return;
|
|
625
|
-
let
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
643
|
+
let s = i(a, o);
|
|
644
|
+
if (s && n.solo) {
|
|
645
|
+
if (!d && v.authn.currentUser()) {
|
|
646
|
+
d = !0, f(!0);
|
|
647
|
+
return;
|
|
648
|
+
}
|
|
649
|
+
l();
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
let c = s ? r(s) : a, u = _.widgets.errorMessageBlock(T, c, "#fee", o instanceof Error ? o : void 0);
|
|
653
|
+
t && u.setAttribute("data-outline-error-for", t), e.appendChild(u);
|
|
654
|
+
}, d = !1, f = function(e) {
|
|
655
|
+
let t = !1, r = M.nowOrWhenFetched(o.doc(), e ? { force: !0 } : {}, function(e, r) {
|
|
656
|
+
e ? (M.lookUpThing(o), c(), n.solo && X(o)) : (t = !0, u(r, void 0));
|
|
657
|
+
});
|
|
658
|
+
r && typeof r.catch == "function" && r.catch(function(e) {
|
|
659
|
+
t || (t = !0, u(e, e));
|
|
660
|
+
});
|
|
661
|
+
}, p = M.requested[t];
|
|
662
|
+
f(!!n.solo && (p === 401 || p === 403));
|
|
663
|
+
} else c();
|
|
664
|
+
}
|
|
665
|
+
function _e(e, t) {
|
|
636
666
|
let n = e.AJAR_statement || e.parentNode && e.parentNode.AJAR_statement;
|
|
637
|
-
|
|
667
|
+
_.log.debug("Collapsing subject " + t);
|
|
638
668
|
let r;
|
|
639
|
-
n && (
|
|
669
|
+
n && (_.log.debug("looking up pred " + n.predicate.uri + "in defaults"), r = $.defaults[n.predicate.uri]), _.log.debug("view= " + r);
|
|
640
670
|
let i;
|
|
641
|
-
e.parentNode && e.parentNode.id === "outline" && (i = e),
|
|
671
|
+
e.parentNode && e.parentNode.id === "outline" && (i = e), k.replaceTD(k.outlineObjectDiv(t, r, i, n), e);
|
|
642
672
|
}
|
|
643
673
|
this.replaceTD = function(e, t) {
|
|
644
674
|
let n;
|
|
645
|
-
|
|
646
|
-
for (let e =
|
|
647
|
-
t.parentNode.replaceChild(e, t), n &&
|
|
675
|
+
H(t) && (n = !0);
|
|
676
|
+
for (let e = A.length - 1; e > -1; e--) for (let n = A[e]; n.parentNode; n = n.parentNode) n === t && K(A[e], !1);
|
|
677
|
+
t.parentNode.replaceChild(e, t), n && K(e, !0);
|
|
648
678
|
};
|
|
649
|
-
function
|
|
650
|
-
|
|
679
|
+
function Q(e, t) {
|
|
680
|
+
_.utils.emptyNode(e).appendChild(B(t)), X(t), e.setAttribute("about", t.toNT());
|
|
651
681
|
}
|
|
652
|
-
|
|
653
|
-
e.keyCode === 13 &&
|
|
682
|
+
O.outlineRefocus = Q, this.GotoFormURI_enterKey = function(e) {
|
|
683
|
+
e.keyCode === 13 && O.GotoFormURI(e);
|
|
654
684
|
}, this.GotoFormURI = function(e) {
|
|
655
|
-
|
|
685
|
+
ve(T.getElementById("UserURI").value);
|
|
656
686
|
};
|
|
657
|
-
function
|
|
658
|
-
let t =
|
|
687
|
+
function ve(e) {
|
|
688
|
+
let t = j.sym(e);
|
|
659
689
|
this.GotoSubject(t, !0);
|
|
660
690
|
}
|
|
661
691
|
this.GotoURIinit = function(e) {
|
|
662
|
-
let t =
|
|
692
|
+
let t = j.sym(e);
|
|
663
693
|
this.GotoSubject(t);
|
|
664
694
|
}, this.GotoSubject = function(e, t, n, r, i, a, o) {
|
|
665
|
-
let s =
|
|
666
|
-
s && (!a || a === c) &&
|
|
667
|
-
let
|
|
668
|
-
r && (
|
|
669
|
-
let
|
|
670
|
-
function
|
|
671
|
-
let e =
|
|
695
|
+
let s = f(o) !== "accountMenu", c = ee();
|
|
696
|
+
s && (!a || a === c) && te(e);
|
|
697
|
+
let p = a || c;
|
|
698
|
+
r && (p.style.width = "100%", _.utils.emptyNode(p));
|
|
699
|
+
let m = n && n.subject && n.subject.uri ? n.subject : e;
|
|
700
|
+
function h() {
|
|
701
|
+
let e = T.createElement("div");
|
|
672
702
|
e.classList.add("outline-subject-block");
|
|
673
|
-
let t =
|
|
674
|
-
return e.appendChild(t),
|
|
703
|
+
let t = k.outlineObjectDiv(m, void 0, e);
|
|
704
|
+
return e.appendChild(t), p.appendChild(e), e;
|
|
675
705
|
}
|
|
676
|
-
let
|
|
677
|
-
if (r &&
|
|
706
|
+
let g = r ? h() : p;
|
|
707
|
+
if (r && X(m), t ? Z(g, m, {
|
|
678
708
|
pane: n,
|
|
679
709
|
solo: r,
|
|
710
|
+
folderView: d(o),
|
|
680
711
|
headerOnlyInViewerPod: !s || !!(n && n.subject && n.subject.uri)
|
|
681
|
-
}) : r ||
|
|
682
|
-
let t =
|
|
712
|
+
}) : r || h(), r && T && T.defaultView && T.defaultView.history) {
|
|
713
|
+
let t = o && typeof o == "object" && o.preserveUrl === !0, r = T.defaultView.history.state || {}, i = document.location.href !== e.uri, a = l(r, {
|
|
683
714
|
pane: n ? {
|
|
684
715
|
name: n.name,
|
|
685
716
|
subject: n.subject && typeof n.subject.uri == "string" ? n.subject.uri : void 0
|
|
686
717
|
} : void 0,
|
|
687
|
-
leavingPage:
|
|
718
|
+
leavingPage: i,
|
|
688
719
|
viaAccountMenu: !s
|
|
689
720
|
});
|
|
690
721
|
try {
|
|
691
|
-
let n = new URL(
|
|
692
|
-
n.origin ===
|
|
722
|
+
let n = new URL(T.location.href), o = new URL(e.uri, T.location.href);
|
|
723
|
+
t ? T.defaultView.history.replaceState(a, "") : n.origin === o.origin && (i ? T.defaultView.history.pushState(a, e.uri, e.uri) : JSON.stringify(r) !== JSON.stringify(a) && T.defaultView.history.replaceState(a, e.uri, e.uri));
|
|
693
724
|
} catch {}
|
|
694
725
|
}
|
|
695
|
-
return r && u(
|
|
726
|
+
return r && u(T), e;
|
|
696
727
|
};
|
|
697
|
-
let $ = e(
|
|
698
|
-
function
|
|
728
|
+
let $ = e(T);
|
|
729
|
+
function ye(e) {
|
|
699
730
|
let n;
|
|
700
731
|
if (e.termType === "Literal") {
|
|
701
|
-
if (n =
|
|
702
|
-
let t =
|
|
732
|
+
if (n = T.createElement("span"), n.classList.add("objectValue", "objectValue--literal"), n.textContent = e.value, e.datatype && e.datatype.uri) {
|
|
733
|
+
let t = _.ns.xsd("").uri;
|
|
703
734
|
e.datatype.uri.slice(0, t.length) === t && n.classList.add("objectValue--" + e.datatype.uri.slice(t.length));
|
|
704
735
|
}
|
|
705
736
|
} else if (e.termType === "NamedNode" || e.termType === "BlankNode") {
|
|
706
|
-
if (n =
|
|
737
|
+
if (n = T.createElement("span"), n.classList.add("objectValue", "objectValue--resource"), n.setAttribute("about", e.toNT()), k.appendAccessIcons(j, n, e), e.termType === "NamedNode") {
|
|
707
738
|
if (e.uri.slice(0, 4) === "tel:") {
|
|
708
|
-
let r = e.uri.slice(4), i =
|
|
709
|
-
n.appendChild(
|
|
739
|
+
let r = e.uri.slice(4), i = T.createElement("a");
|
|
740
|
+
n.appendChild(T.createTextNode(r)), i.setAttribute("href", e.uri), i.appendChild(_.utils.AJARImage(t.src.icon_telephone, "phone", "phone " + r, T)), n.appendChild(i), i.firstChild.setAttribute("class", "phoneIcon"), i.firstChild.classList.add("objectValueLinkIcon");
|
|
710
741
|
} else {
|
|
711
|
-
n.appendChild(
|
|
712
|
-
let t =
|
|
713
|
-
t.firstChild && t.firstChild.classList.add("objectValueLinkIcon"), n.appendChild(t),
|
|
742
|
+
n.appendChild(T.createTextNode(_.utils.label(e)));
|
|
743
|
+
let t = _.widgets.linkIcon(T, e);
|
|
744
|
+
t.firstChild && t.firstChild.classList.add("objectValueLinkIcon"), n.appendChild(t), _.widgets.makeDraggable(n, e);
|
|
714
745
|
}
|
|
715
|
-
} else n.appendChild(
|
|
746
|
+
} else n.appendChild(T.createTextNode(_.utils.label(e)));
|
|
716
747
|
} else if (e.termType === "Collection") {
|
|
717
|
-
n =
|
|
748
|
+
n = T.createElement("div"), n.setAttribute("about", e.toNT());
|
|
718
749
|
for (let t = 0; t < e.elements.length; t++) {
|
|
719
|
-
let r = e.elements[t], i = n.appendChild(
|
|
720
|
-
a.classList.add("obj"), a.setAttribute("notSelectable", "false"), a.setAttribute("about", e.toNT()), a.innerHTML = t + 1 + ")", i.appendChild(
|
|
750
|
+
let r = e.elements[t], i = n.appendChild(T.createElement("div")), a = i.appendChild(T.createElement("div"));
|
|
751
|
+
a.classList.add("obj"), a.setAttribute("notSelectable", "false"), a.setAttribute("about", e.toNT()), a.innerHTML = t + 1 + ")", i.appendChild(k.outlineObjectDiv(r));
|
|
721
752
|
}
|
|
722
|
-
} else e.termType === "Graph" ? (n =
|
|
723
|
-
return
|
|
753
|
+
} else e.termType === "Graph" ? (n = b.byName("dataContentPane").statementsAsTables(e.statements, w), n.setAttribute("class", "nestedFormula")) : (_.log.error("Object " + e + " has unknown term type: " + e.termType), n = T.createTextNode("[unknownTermType:" + e.termType + "]"));
|
|
754
|
+
return _.log.debug("contents: " + n.innerHTML), n;
|
|
724
755
|
}
|
|
725
756
|
return this.createTabURI = function() {
|
|
726
|
-
|
|
727
|
-
}, this.UserInput.setSelected =
|
|
757
|
+
T.getElementById("UserURI").value = T.URL + "?uri=" + T.getElementById("UserURI").value;
|
|
758
|
+
}, this.UserInput.setSelected = K, this.UserInput.deselectAll = q, this.UserInput.views = $, this.outlineExpand = Z, this;
|
|
728
759
|
}
|
|
729
|
-
export {
|
|
760
|
+
export { w as default };
|
|
730
761
|
|
|
731
762
|
//# sourceMappingURL=manager2.esm.js.map
|