solid-panes 4.4.0 → 4.4.1-test.0
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 +4 -2
- package/dist/RDFXMLPane.css +70 -0
- package/dist/RDFXMLPane.d.ts +13 -0
- package/dist/RDFXMLPane.d.ts.map +1 -0
- package/dist/RDFXMLPane.js +46 -5
- package/dist/dataContentPane.css +271 -0
- package/dist/dataContentPane.d.ts +14 -0
- package/dist/dataContentPane.d.ts.map +1 -0
- package/dist/dataContentPane.js +68 -101
- package/dist/defaultPane.css +97 -0
- package/dist/defaultPane.d.ts +14 -0
- package/dist/defaultPane.d.ts.map +1 -0
- package/dist/defaultPane.js +9 -2
- package/dist/form/formPane.css +120 -0
- package/dist/form/pane.d.ts +4 -0
- package/dist/form/pane.d.ts.map +1 -0
- package/dist/form/pane.js +120 -54
- package/dist/humanReadablePane.css +129 -0
- package/dist/humanReadablePane.d.ts +13 -0
- package/dist/humanReadablePane.d.ts.map +1 -0
- package/dist/humanReadablePane.js +29 -18
- package/dist/icons/signUp.svg +9 -0
- package/dist/imagePane.css +4 -0
- package/dist/imagePane.d.ts +12 -0
- package/dist/imagePane.d.ts.map +1 -0
- package/dist/imagePane.js +19 -21
- package/dist/internal/internalPane.css +14 -0
- package/dist/internal/internalPane.d.ts +1 -0
- package/dist/internal/internalPane.d.ts.map +1 -1
- package/dist/internal/internalPane.js +5 -6
- package/dist/mainPage/header.js +2 -2
- package/dist/mainPage/index.d.ts +2 -1
- package/dist/mainPage/index.d.ts.map +1 -1
- package/dist/mainPage/index.js +23 -0
- package/dist/mainPage/menu.d.ts.map +1 -1
- package/dist/mainPage/menu.js +29 -2
- package/dist/n3Pane.css +49 -0
- package/dist/n3Pane.d.ts +13 -0
- package/dist/n3Pane.d.ts.map +1 -0
- package/dist/n3Pane.js +36 -5
- package/dist/outline/manager.js +20 -1
- package/dist/pad/padPane.css +6 -2
- package/dist/pad/padPane.js +1 -1
- package/dist/registerPanes.js +8 -8
- package/dist/schedule/schedulePane.css +294 -0
- package/dist/schedule/schedulePane.d.ts +23 -0
- package/dist/schedule/schedulePane.d.ts.map +1 -0
- package/dist/schedule/schedulePane.js +161 -61
- package/dist/social/editProfileDetails.d.ts +3 -3
- package/dist/social/editProfileDetails.d.ts.map +1 -1
- package/dist/social/editProfileDetails.js +222 -127
- package/dist/social/icons.d.ts +2 -0
- package/dist/social/icons.d.ts.map +1 -1
- package/dist/social/icons.js +39 -4
- package/dist/social/socialPane.css +838 -178
- package/dist/social/socialPane.d.ts.map +1 -1
- package/dist/social/socialPane.js +136 -43
- package/dist/social/socialSections.d.ts +11 -0
- package/dist/social/socialSections.d.ts.map +1 -1
- package/dist/social/socialSections.js +138 -62
- package/dist/social/spinner.d.ts +3 -0
- package/dist/social/spinner.d.ts.map +1 -0
- package/dist/social/spinner.js +13 -0
- package/dist/social/triage.d.ts +17 -0
- package/dist/social/triage.d.ts.map +1 -0
- package/dist/social/triage.js +79 -0
- package/dist/solid-panes.js +25772 -9576
- package/dist/solid-panes.js.map +1 -1
- package/dist/solid-panes.min.js +2583 -927
- package/dist/solid-panes.min.js.map +1 -1
- package/dist/{style → styles}/tabbedtab.css +0 -157
- package/dist/styles/utilities.css +5 -0
- package/dist/versionInfo.js +13 -13
- package/package.json +27 -26
- package/dist/icons/signup.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socialPane.d.ts","sourceRoot":"","sources":["../../src/social/socialPane.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAa,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"socialPane.d.ts","sourceRoot":"","sources":["../../src/social/socialPane.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAa,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AA4BlD,eAAO,MAAM,UAAU;;;;;;CAkmBtB,CAAA;AAQD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,WAAW,EAAE,SAAS,CAAA;CACvB;AAGD,wBAAgB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAS5E;AAiDD,wBAAwB,aAAa,CACnC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,SAAS,EAClB,SAAS,SAAoB,GAC5B,cAAc,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CA4C7C;AAED,wBAAsB,cAAc,CAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAQtH;AAED,wBAAgB,iBAAiB,CAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAuCzG;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -13,6 +13,7 @@ var _solidUi = require("solid-ui");
|
|
|
13
13
|
var _solidLogic = require("solid-logic");
|
|
14
14
|
var _icons = require("./icons");
|
|
15
15
|
var _socialSections = require("./socialSections");
|
|
16
|
+
var _triage = require("./triage");
|
|
16
17
|
/* Social Pane
|
|
17
18
|
**
|
|
18
19
|
** This outline pane provides social network functions
|
|
@@ -23,6 +24,15 @@ var _socialSections = require("./socialSections");
|
|
|
23
24
|
** -- todo: use common code to get username and load profile and set 'me'
|
|
24
25
|
*/
|
|
25
26
|
|
|
27
|
+
function applyEnvironmentAttributes(element, context) {
|
|
28
|
+
const layout = context.environment?.layout ?? 'desktop';
|
|
29
|
+
const theme = context.environment?.theme ?? 'light';
|
|
30
|
+
const inputMode = context.environment?.inputMode ?? 'pointer';
|
|
31
|
+
element.classList.add('social-pane-host');
|
|
32
|
+
element.dataset.layout = layout;
|
|
33
|
+
element.dataset.theme = theme;
|
|
34
|
+
element.dataset.inputMode = inputMode;
|
|
35
|
+
}
|
|
26
36
|
const socialPane = exports.socialPane = {
|
|
27
37
|
icon: _solidUi.icons.originalIconBase + 'foaf/foafTiny.gif',
|
|
28
38
|
name: 'social',
|
|
@@ -70,6 +80,7 @@ const socialPane = exports.socialPane = {
|
|
|
70
80
|
const text = function (str) {
|
|
71
81
|
return dom.createTextNode(str);
|
|
72
82
|
};
|
|
83
|
+
let refreshRelationshipUi = function () {};
|
|
73
84
|
const buildCheckboxForm = function (lab, statement, state, options = {}) {
|
|
74
85
|
const f = dom.createElement('form');
|
|
75
86
|
const label = dom.createElement('label');
|
|
@@ -103,6 +114,7 @@ const socialPane = exports.socialPane = {
|
|
|
103
114
|
return;
|
|
104
115
|
}
|
|
105
116
|
kb.add(statement.subject, statement.predicate, statement.object, statement.why);
|
|
117
|
+
refreshRelationshipUi();
|
|
106
118
|
});
|
|
107
119
|
} catch (e) {
|
|
108
120
|
_solidUi.log.error('Data write fails:' + e);
|
|
@@ -119,6 +131,7 @@ const socialPane = exports.socialPane = {
|
|
|
119
131
|
input.checked = true; // Rollback UI
|
|
120
132
|
} else {
|
|
121
133
|
kb.removeMany(statement.subject, statement.predicate, statement.object, statement.why);
|
|
134
|
+
refreshRelationshipUi();
|
|
122
135
|
}
|
|
123
136
|
});
|
|
124
137
|
} catch (e) {
|
|
@@ -138,7 +151,8 @@ const socialPane = exports.socialPane = {
|
|
|
138
151
|
const outliner = context.getOutliner(dom);
|
|
139
152
|
const kb = context.session.store;
|
|
140
153
|
const socialPane = dom.createElement('div');
|
|
141
|
-
socialPane.classList.add('social-pane', 'flex-column', 'gap-xxs'
|
|
154
|
+
socialPane.classList.add('social-pane', 'flex-column', 'gap-xxs');
|
|
155
|
+
applyEnvironmentAttributes(socialPane, context);
|
|
142
156
|
const foaf = _solidUi.ns.foaf;
|
|
143
157
|
const vcard = _solidUi.ns.vcard;
|
|
144
158
|
const me = _solidLogic.authn.currentUser();
|
|
@@ -232,9 +246,16 @@ const socialPane = exports.socialPane = {
|
|
|
232
246
|
} // me is defined
|
|
233
247
|
// End of you and s
|
|
234
248
|
|
|
249
|
+
const shouldShowHeaderAddFriendAction = mode => {
|
|
250
|
+
return mode === 'authenticated' && !thisIsYou && !outgoing;
|
|
251
|
+
};
|
|
252
|
+
const canEditOwnedProfile = viewerMode === 'owner' && editable;
|
|
253
|
+
const canManageRelationship = viewerMode === 'authenticated' && !thisIsYou && editable && Boolean(profile);
|
|
254
|
+
const canModifyFriendsTab = canEditOwnedProfile;
|
|
235
255
|
let headerControls = {
|
|
236
|
-
canEdit:
|
|
237
|
-
viewerMode
|
|
256
|
+
canEdit: canEditOwnedProfile,
|
|
257
|
+
viewerMode,
|
|
258
|
+
showAddFriendAction: shouldShowHeaderAddFriendAction(viewerMode)
|
|
238
259
|
};
|
|
239
260
|
const header = (0, _socialSections.createHeaderSection)(context, s, headerControls, {
|
|
240
261
|
friendCount: uniqueFriends.length,
|
|
@@ -271,8 +292,8 @@ const socialPane = exports.socialPane = {
|
|
|
271
292
|
};
|
|
272
293
|
hydrateFriendDetailsCache(uniqueFriends);
|
|
273
294
|
const renderSupportingInfo = function (target, renderDom) {
|
|
274
|
-
const friend = friendDetailsByUri.get(target.value);
|
|
275
|
-
|
|
295
|
+
const friend = friendDetailsByUri.get(target.value) || toFriendDetails(kb, target);
|
|
296
|
+
friendDetailsByUri.set(target.value, friend);
|
|
276
297
|
const container = renderDom.createElement('div');
|
|
277
298
|
const jobAndOrganization = [friend.jobTitle, friend.organization].filter(Boolean).join(' | ');
|
|
278
299
|
if (jobAndOrganization) {
|
|
@@ -289,15 +310,16 @@ const socialPane = exports.socialPane = {
|
|
|
289
310
|
return container;
|
|
290
311
|
};
|
|
291
312
|
const renderNameSuffix = function (target, renderDom) {
|
|
292
|
-
const
|
|
313
|
+
const friend = friendDetailsByUri.get(target.value) || toFriendDetails(kb, target);
|
|
314
|
+
friendDetailsByUri.set(target.value, friend);
|
|
315
|
+
const pronouns = friend.pronouns;
|
|
293
316
|
if (!pronouns) return null;
|
|
294
317
|
const suffix = renderDom.createElement('span');
|
|
295
318
|
suffix.className = 'social-friend-pronouns';
|
|
296
319
|
suffix.textContent = `(${pronouns})`;
|
|
297
320
|
return suffix;
|
|
298
321
|
};
|
|
299
|
-
|
|
300
|
-
const mutualSection = me && !thisIsYou ? (0, _socialSections.createMutualSection)({
|
|
322
|
+
let mutualSection = me && !thisIsYou ? (0, _socialSections.createMutualSection)({
|
|
301
323
|
dom,
|
|
302
324
|
subject: s,
|
|
303
325
|
familiar,
|
|
@@ -305,7 +327,7 @@ const socialPane = exports.socialPane = {
|
|
|
305
327
|
meUri,
|
|
306
328
|
incoming,
|
|
307
329
|
outgoing,
|
|
308
|
-
editable:
|
|
330
|
+
editable: canManageRelationship,
|
|
309
331
|
profile,
|
|
310
332
|
knows,
|
|
311
333
|
mutualConnections,
|
|
@@ -319,13 +341,8 @@ const socialPane = exports.socialPane = {
|
|
|
319
341
|
content: dom.createElement('div'),
|
|
320
342
|
refreshMutualFriends: function () {}
|
|
321
343
|
};
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
if (me && !thisIsYou) {
|
|
325
|
-
mutualFriends.setAttribute('style', 'display: none');
|
|
326
|
-
} else {
|
|
327
|
-
mutualFriends.setAttribute('style', 'display: block');
|
|
328
|
-
}
|
|
344
|
+
let mutualFriends = mutualSection.section;
|
|
345
|
+
let mutualContent = mutualSection.content;
|
|
329
346
|
if (!mutualFriends.className) {
|
|
330
347
|
mutualFriends.className = 'social-pane__mutual-friends social-primary__panel';
|
|
331
348
|
mutualFriends.id = 'social-panel-mutual';
|
|
@@ -338,31 +355,106 @@ const socialPane = exports.socialPane = {
|
|
|
338
355
|
const allFriendsSection = (0, _socialSections.createAllFriendsSection)({
|
|
339
356
|
dom,
|
|
340
357
|
subject: s,
|
|
341
|
-
profile,
|
|
342
|
-
editable:
|
|
358
|
+
profile: canModifyFriendsTab ? profile : null,
|
|
359
|
+
editable: canModifyFriendsTab,
|
|
343
360
|
renderSupportingInfo,
|
|
344
361
|
renderNameSuffix
|
|
345
362
|
});
|
|
346
363
|
const allFriends = allFriendsSection.section;
|
|
347
364
|
const friendsList = allFriendsSection.friendsList;
|
|
348
365
|
primary.appendChild(allFriends);
|
|
366
|
+
let requestsTriage = (0, _triage.triageFriends)(kb, s);
|
|
367
|
+
const requestsSection = (0, _socialSections.createRequestsSection)({
|
|
368
|
+
dom,
|
|
369
|
+
triage: requestsTriage,
|
|
370
|
+
renderSupportingInfo,
|
|
371
|
+
renderNameSuffix
|
|
372
|
+
});
|
|
373
|
+
const requestsPanel = requestsSection.section;
|
|
374
|
+
primary.appendChild(requestsPanel);
|
|
375
|
+
const requestsTab = tabs.appendChild(dom.createElement('button'));
|
|
376
|
+
requestsTab.className = 'social-primary__tab';
|
|
377
|
+
requestsTab.type = 'button';
|
|
378
|
+
requestsTab.id = 'social-tab-requests';
|
|
379
|
+
requestsTab.textContent = 'Requests';
|
|
380
|
+
requestsTab.setAttribute('role', 'tab');
|
|
381
|
+
requestsTab.setAttribute('aria-controls', 'social-panel-requests');
|
|
382
|
+
requestsTab.setAttribute('aria-selected', 'false');
|
|
383
|
+
requestsTab.tabIndex = -1;
|
|
384
|
+
let activePanel = 'all-friends';
|
|
385
|
+
let showRequestsTab = viewerMode === 'owner';
|
|
349
386
|
const setActivePanel = function (panel) {
|
|
387
|
+
activePanel = panel;
|
|
350
388
|
const showMutual = panel === 'mutual';
|
|
389
|
+
const showAllFriends = panel === 'all-friends';
|
|
390
|
+
const showRequests = showRequestsTab && panel === 'requests';
|
|
351
391
|
mutualTab.classList.toggle('social-primary__tab--active', showMutual);
|
|
352
392
|
mutualTab.setAttribute('aria-selected', String(showMutual));
|
|
353
393
|
mutualTab.tabIndex = showMutual ? 0 : -1;
|
|
354
|
-
allFriendsTab.classList.toggle('social-primary__tab--active',
|
|
355
|
-
allFriendsTab.setAttribute('aria-selected', String(
|
|
356
|
-
allFriendsTab.tabIndex =
|
|
394
|
+
allFriendsTab.classList.toggle('social-primary__tab--active', showAllFriends);
|
|
395
|
+
allFriendsTab.setAttribute('aria-selected', String(showAllFriends));
|
|
396
|
+
allFriendsTab.tabIndex = showAllFriends ? 0 : -1;
|
|
397
|
+
requestsTab.classList.toggle('social-primary__tab--active', showRequests);
|
|
398
|
+
requestsTab.setAttribute('aria-selected', String(showRequests));
|
|
399
|
+
requestsTab.tabIndex = showRequests ? 0 : -1;
|
|
357
400
|
mutualFriends.classList.toggle('social-primary__panel--active', showMutual);
|
|
358
401
|
mutualFriends.setAttribute('aria-hidden', String(!showMutual));
|
|
359
|
-
allFriends.classList.toggle('social-primary__panel--active',
|
|
360
|
-
allFriends.setAttribute('aria-hidden', String(
|
|
402
|
+
allFriends.classList.toggle('social-primary__panel--active', showAllFriends);
|
|
403
|
+
allFriends.setAttribute('aria-hidden', String(!showAllFriends));
|
|
404
|
+
requestsPanel.classList.toggle('social-primary__panel--active', showRequests);
|
|
405
|
+
requestsPanel.setAttribute('aria-hidden', String(!showRequests));
|
|
406
|
+
requestsPanel.hidden = !showRequestsTab || !showRequests;
|
|
407
|
+
};
|
|
408
|
+
const rebuildMutualSection = function () {
|
|
409
|
+
if (!me || thisIsYou) return;
|
|
410
|
+
const cme = kb.canon(me);
|
|
411
|
+
incoming = kb.whether(s, knows, cme);
|
|
412
|
+
const outgoingStatements = kb.statementsMatching(cme, knows, s);
|
|
413
|
+
outgoing = outgoingStatements.length > 0;
|
|
414
|
+
const nextMutualSection = (0, _socialSections.createMutualSection)({
|
|
415
|
+
dom,
|
|
416
|
+
subject: s,
|
|
417
|
+
familiar,
|
|
418
|
+
me,
|
|
419
|
+
meUri,
|
|
420
|
+
incoming,
|
|
421
|
+
outgoing,
|
|
422
|
+
editable: canManageRelationship,
|
|
423
|
+
profile,
|
|
424
|
+
knows,
|
|
425
|
+
mutualConnections,
|
|
426
|
+
link,
|
|
427
|
+
text,
|
|
428
|
+
buildCheckboxForm,
|
|
429
|
+
renderSupportingInfo,
|
|
430
|
+
renderNameSuffix
|
|
431
|
+
});
|
|
432
|
+
mutualFriends.replaceWith(nextMutualSection.section);
|
|
433
|
+
mutualSection = nextMutualSection;
|
|
434
|
+
mutualFriends = nextMutualSection.section;
|
|
435
|
+
mutualContent = nextMutualSection.content;
|
|
436
|
+
};
|
|
437
|
+
refreshRelationshipUi = function () {
|
|
438
|
+
rebuildMutualSection();
|
|
439
|
+
headerControls = {
|
|
440
|
+
...headerControls,
|
|
441
|
+
showAddFriendAction: shouldShowHeaderAddFriendAction(headerControls.viewerMode)
|
|
442
|
+
};
|
|
443
|
+
header.refreshSocialHeader?.(headerControls);
|
|
444
|
+
requestsTriage = (0, _triage.triageFriends)(kb, s);
|
|
445
|
+
requestsSection.refreshRequests(requestsTriage);
|
|
446
|
+
setActivePanel(activePanel);
|
|
361
447
|
};
|
|
362
448
|
setActivePanel('all-friends');
|
|
363
449
|
const applyViewerMode = function (mode) {
|
|
364
|
-
const showMutualTab = mode === 'authenticated';
|
|
450
|
+
const showMutualTab = mode === 'authenticated' && !thisIsYou;
|
|
451
|
+
showRequestsTab = mode === 'owner';
|
|
365
452
|
mutualTab.hidden = !showMutualTab;
|
|
453
|
+
requestsTab.hidden = !showRequestsTab;
|
|
454
|
+
if (!showRequestsTab && activePanel === 'requests') {
|
|
455
|
+
setActivePanel('all-friends');
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
366
458
|
setActivePanel('all-friends');
|
|
367
459
|
};
|
|
368
460
|
mutualTab.addEventListener('click', function () {
|
|
@@ -371,6 +463,9 @@ const socialPane = exports.socialPane = {
|
|
|
371
463
|
allFriendsTab.addEventListener('click', function () {
|
|
372
464
|
setActivePanel('all-friends');
|
|
373
465
|
});
|
|
466
|
+
requestsTab.addEventListener('click', function () {
|
|
467
|
+
setActivePanel('requests');
|
|
468
|
+
});
|
|
374
469
|
const refreshFriendsList = function () {
|
|
375
470
|
const refresh = friendsList.refresh;
|
|
376
471
|
if (typeof refresh !== 'function') return;
|
|
@@ -393,32 +488,29 @@ const socialPane = exports.socialPane = {
|
|
|
393
488
|
// Keep the initial snapshot if async friend loading fails.
|
|
394
489
|
}
|
|
395
490
|
})();
|
|
491
|
+
(async () => {
|
|
492
|
+
try {
|
|
493
|
+
requestsTriage = await (0, _triage.loadFriendshipTriage)(context, s);
|
|
494
|
+
requestsSection.refreshRequests(requestsTriage);
|
|
495
|
+
refreshFriendsList();
|
|
496
|
+
refreshMutualFriends();
|
|
497
|
+
} catch {
|
|
498
|
+
// Keep the initial requests snapshot if additional loading fails.
|
|
499
|
+
}
|
|
500
|
+
})();
|
|
396
501
|
|
|
397
|
-
|
|
398
|
-
triageFriends(s)
|
|
399
|
-
} */
|
|
400
|
-
// //////////////////////////////////// Basic info on left
|
|
502
|
+
// Older triage logic is preserved below as a reusable data helper.
|
|
401
503
|
|
|
402
|
-
const preds2 = [_solidUi.ns.foaf('openid'), _solidUi.ns.foaf('nick')];
|
|
403
|
-
for (let i2 = 0; i2 < preds2.length; i2++) {
|
|
404
|
-
const pred = preds2[i2];
|
|
405
|
-
const sts2 = kb.statementsMatching(s, pred);
|
|
406
|
-
if (sts2.length === 0) {
|
|
407
|
-
// if (editable) say("No home page set. Use the blue + icon at the bottom of the main view to add information.")
|
|
408
|
-
} else {
|
|
409
|
-
outliner.appendPropertyTRs(mutualContent, sts2, false, function (_pred) {
|
|
410
|
-
return true;
|
|
411
|
-
});
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
504
|
applyViewerMode('anonymous');
|
|
415
505
|
_solidLogic.authn.checkUser().then(webId => {
|
|
416
506
|
const confirmedViewerMode = getViewerMode(s, webId);
|
|
417
507
|
applyViewerMode(confirmedViewerMode);
|
|
508
|
+
const confirmedCanEditOwnedProfile = confirmedViewerMode === 'owner' && editable;
|
|
418
509
|
headerControls = {
|
|
419
510
|
...headerControls,
|
|
420
|
-
canEdit:
|
|
421
|
-
viewerMode: confirmedViewerMode
|
|
511
|
+
canEdit: confirmedCanEditOwnedProfile,
|
|
512
|
+
viewerMode: confirmedViewerMode,
|
|
513
|
+
showAddFriendAction: shouldShowHeaderAddFriendAction(confirmedViewerMode)
|
|
422
514
|
};
|
|
423
515
|
header.refreshSocialHeader?.(headerControls);
|
|
424
516
|
}).catch(() => {
|
|
@@ -426,7 +518,8 @@ const socialPane = exports.socialPane = {
|
|
|
426
518
|
headerControls = {
|
|
427
519
|
...headerControls,
|
|
428
520
|
canEdit: false,
|
|
429
|
-
viewerMode: 'anonymous'
|
|
521
|
+
viewerMode: 'anonymous',
|
|
522
|
+
showAddFriendAction: false
|
|
430
523
|
};
|
|
431
524
|
header.refreshSocialHeader?.(headerControls);
|
|
432
525
|
});
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { DataBrowserContext } from 'pane-registry';
|
|
2
2
|
import { Statement, NamedNode } from 'rdflib';
|
|
3
|
+
import { FriendshipTriage } from './triage';
|
|
3
4
|
export type ViewerMode = 'owner' | 'authenticated' | 'anonymous';
|
|
4
5
|
export type HeaderControls = {
|
|
5
6
|
canEdit: boolean;
|
|
6
7
|
viewerMode: ViewerMode;
|
|
8
|
+
showAddFriendAction?: boolean;
|
|
7
9
|
};
|
|
8
10
|
export type SocialHeaderElement = HTMLElement & {
|
|
9
11
|
refreshSocialHeader?: (controls: HeaderControls) => void;
|
|
@@ -63,4 +65,13 @@ export declare function createAllFriendsSection(options: {
|
|
|
63
65
|
mainTable: HTMLTableElement;
|
|
64
66
|
friendsList: HTMLElement;
|
|
65
67
|
};
|
|
68
|
+
export declare function createRequestsSection(options: {
|
|
69
|
+
dom: HTMLDocument;
|
|
70
|
+
triage: FriendshipTriage;
|
|
71
|
+
renderSupportingInfo: (target: NamedNode, renderDom: HTMLDocument) => HTMLElement | null;
|
|
72
|
+
renderNameSuffix: (target: NamedNode, renderDom: HTMLDocument) => HTMLElement | null;
|
|
73
|
+
}): {
|
|
74
|
+
section: HTMLElement;
|
|
75
|
+
refreshRequests: (triage: FriendshipTriage) => void;
|
|
76
|
+
};
|
|
66
77
|
//# sourceMappingURL=socialSections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socialSections.d.ts","sourceRoot":"","sources":["../../src/social/socialSections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"socialSections.d.ts","sourceRoot":"","sources":["../../src/social/socialSections.ts"],"names":[],"mappings":"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"}
|