solid-panes 3.5.11 → 3.5.14-alpha
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/.github/workflows/ci.yml +1 -1
- package/README.md +4 -0
- package/lib/dashboard/basicPreferences.js +193 -264
- package/lib/dashboard/basicPreferences.js.map +1 -1
- package/lib/dashboard/dashboardPane.d.ts.map +1 -1
- package/lib/dashboard/dashboardPane.js +57 -75
- package/lib/dashboard/dashboardPane.js.map +1 -1
- package/lib/dashboard/homepage.js +98 -100
- package/lib/dashboard/homepage.js.map +1 -1
- package/lib/form/pane.js +1 -1
- package/lib/form/pane.js.map +1 -1
- package/lib/home/homePane.js +112 -103
- package/lib/home/homePane.js.map +1 -1
- package/lib/humanReadablePane.js +55 -23
- package/lib/humanReadablePane.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +49 -89
- package/lib/index.js.map +1 -1
- package/lib/internal/internalPane.js +180 -200
- package/lib/internal/internalPane.js.map +1 -1
- package/lib/mainPage/footer.d.ts +3 -0
- package/lib/mainPage/footer.d.ts.map +1 -0
- package/lib/mainPage/footer.js +20 -0
- package/lib/mainPage/footer.js.map +1 -0
- package/lib/mainPage/header.d.ts +2 -0
- package/lib/mainPage/header.d.ts.map +1 -0
- package/lib/mainPage/header.js +142 -0
- package/lib/mainPage/header.js.map +1 -0
- package/lib/mainPage/index.d.ts +3 -0
- package/lib/mainPage/index.d.ts.map +1 -0
- package/lib/mainPage/index.js +63 -0
- package/lib/mainPage/index.js.map +1 -0
- package/lib/microblogPane/microblogPane.js +1 -1
- package/lib/outline/context.d.ts +2 -2
- package/lib/outline/context.d.ts.map +1 -1
- package/lib/outline/context.js +13 -17
- package/lib/outline/context.js.map +1 -1
- package/lib/outline/manager.js +178 -150
- package/lib/outline/manager.js.map +1 -1
- package/lib/outline/propertyViews.js +32 -46
- package/lib/outline/propertyViews.js.map +1 -1
- package/lib/outline/userInput.js +1 -1
- package/lib/outline/viewAsImage.js +22 -19
- package/lib/outline/viewAsImage.js.map +1 -1
- package/lib/outline/viewAsMbox.js +5 -15
- package/lib/outline/viewAsMbox.js.map +1 -1
- package/lib/pad/padPane.js +406 -451
- package/lib/pad/padPane.js.map +1 -1
- package/lib/profile/editProfile.view.js +101 -124
- package/lib/profile/editProfile.view.js.map +1 -1
- package/lib/profile/profile.dom.js +12 -17
- package/lib/profile/profile.dom.js.map +1 -1
- package/lib/registerPanes.js +1 -1
- package/lib/registerPanes.js.map +1 -1
- package/lib/sharing/sharingPane.js +33 -45
- package/lib/sharing/sharingPane.js.map +1 -1
- package/lib/tabbed/tabbedPane.js +87 -77
- package/lib/tabbed/tabbedPane.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.dom.js +173 -182
- package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.test.js +1 -1
- package/lib/trustedApplications/trustedApplications.utils.js +30 -36
- package/lib/trustedApplications/trustedApplications.utils.js.map +1 -1
- package/lib/trustedApplications/trustedApplications.view.js +91 -99
- package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
- package/lib/types.js +1 -4
- package/lib/types.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -1
- package/lib/versionInfo.d.ts.map +1 -1
- package/lib/versionInfo.js +23 -29
- package/lib/versionInfo.js.map +1 -1
- package/package.json +22 -21
- package/src/dashboard/dashboardPane.ts +5 -3
- package/src/form/pane.js +1 -1
- package/src/humanReadablePane.js +38 -14
- package/src/index.ts +4 -3
- package/src/mainPage/footer.ts +19 -0
- package/src/mainPage/header.ts +75 -0
- package/src/mainPage/index.ts +20 -0
- package/src/outline/context.ts +2 -2
- package/src/outline/manager.js +26 -16
- package/src/registerPanes.js +2 -2
- package/src/versionInfo.ts +18 -19
- package/webpack.config.js +1 -1
|
@@ -1,85 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dashboardPane = void 0;
|
|
4
|
+
var solid_ui_1 = require("solid-ui");
|
|
5
|
+
var homepage_1 = require("./homepage");
|
|
6
|
+
exports.dashboardPane = {
|
|
7
|
+
icon: solid_ui_1.icons.iconBase + 'noun_547570.svg',
|
|
8
|
+
name: 'dashboard',
|
|
9
|
+
label: function (subject) {
|
|
10
|
+
console.log();
|
|
11
|
+
if (subject.uri === subject.site().uri) {
|
|
12
|
+
return 'Dashboard';
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
},
|
|
16
|
+
render: function (subject, context) {
|
|
17
|
+
console.log('Dashboard Pane Render');
|
|
18
|
+
var dom = context.dom;
|
|
19
|
+
var container = dom.createElement('div');
|
|
20
|
+
var runBuildPage = function () {
|
|
21
|
+
container.innerHTML = '';
|
|
22
|
+
buildPage(container, solid_ui_1.authn.currentUser() || null, context, subject);
|
|
23
|
+
};
|
|
24
|
+
solid_ui_1.authn.authSession.onLogin(function () {
|
|
25
|
+
// console.log('On Login')
|
|
26
|
+
runBuildPage();
|
|
27
|
+
});
|
|
28
|
+
solid_ui_1.authn.authSession.onSessionRestore(function () {
|
|
29
|
+
// console.log('On Session Restore')
|
|
30
|
+
runBuildPage();
|
|
31
|
+
});
|
|
32
|
+
// console.log('Initial Load')
|
|
33
|
+
runBuildPage();
|
|
34
|
+
return container;
|
|
18
35
|
}
|
|
19
|
-
|
|
20
|
-
return null;
|
|
21
|
-
},
|
|
22
|
-
render: function render(subject, context) {
|
|
23
|
-
console.log('Dashboard Pane Render');
|
|
24
|
-
var dom = context.dom;
|
|
25
|
-
var container = dom.createElement('div');
|
|
26
|
-
|
|
27
|
-
var runBuildPage = function runBuildPage() {
|
|
28
|
-
container.innerHTML = '';
|
|
29
|
-
buildPage(container, _solidUi.authn.currentUser() || null, context, subject);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
_solidUi.authn.authSession.onLogin(function () {
|
|
33
|
-
// console.log('On Login')
|
|
34
|
-
runBuildPage();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
_solidUi.authn.authSession.onSessionRestore(function () {
|
|
38
|
-
// console.log('On Session Restore')
|
|
39
|
-
runBuildPage();
|
|
40
|
-
}); // console.log('Initial Load')
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
runBuildPage();
|
|
44
|
-
return container;
|
|
45
|
-
}
|
|
46
36
|
};
|
|
47
|
-
exports.dashboardPane = dashboardPane;
|
|
48
|
-
|
|
49
37
|
function buildPage(container, webId, context, subject) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
// if uri then SolidOS is a browse.html web app
|
|
39
|
+
var uri = (new URL(window.location.href)).searchParams.get('uri');
|
|
40
|
+
if (webId && (uri || webId.site().uri === subject.site().uri)) {
|
|
41
|
+
return buildDashboard(container, context);
|
|
42
|
+
}
|
|
43
|
+
return buildHomePage(container, subject);
|
|
56
44
|
}
|
|
57
|
-
|
|
58
45
|
function buildDashboard(container, context) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
46
|
+
// console.log('build dashboard')
|
|
47
|
+
// @@ TODO get a proper type
|
|
48
|
+
var outliner = context.getOutliner(context.dom);
|
|
49
|
+
outliner
|
|
50
|
+
.getDashboard()
|
|
51
|
+
.then(function (dashboard) { return container.appendChild(dashboard); });
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
function buildHomePage(container, subject) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return shadow.appendChild(homepage);
|
|
80
|
-
});
|
|
54
|
+
// console.log('build home page')
|
|
55
|
+
var wrapper = document.createElement('div');
|
|
56
|
+
container.appendChild(wrapper);
|
|
57
|
+
var shadow = wrapper.attachShadow({ mode: 'open' });
|
|
58
|
+
var link = document.createElement('link');
|
|
59
|
+
link.rel = 'stylesheet';
|
|
60
|
+
link.href = '/common/css/bootstrap.min.css';
|
|
61
|
+
shadow.appendChild(link);
|
|
62
|
+
(0, homepage_1.generateHomepage)(subject, solid_ui_1.store, solid_ui_1.store.fetcher).then(function (homepage) {
|
|
63
|
+
return shadow.appendChild(homepage);
|
|
64
|
+
});
|
|
81
65
|
}
|
|
82
|
-
|
|
83
|
-
var _default = dashboardPane;
|
|
84
|
-
exports["default"] = _default;
|
|
66
|
+
exports.default = exports.dashboardPane;
|
|
85
67
|
//# sourceMappingURL=dashboardPane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dashboard/dashboardPane.ts"],"names":[
|
|
1
|
+
{"version":3,"file":"dashboardPane.js","sourceRoot":"","sources":["../../src/dashboard/dashboardPane.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,110 +1,108 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.generateHomepage = void 0;
|
|
40
|
+
var rdflib_1 = require("rdflib");
|
|
41
|
+
var solid_ui_1 = require("solid-ui");
|
|
42
|
+
function generateHomepage(subject, store, fetcher) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
+
var ownersProfile, name, wrapper;
|
|
45
|
+
return __generator(this, function (_a) {
|
|
46
|
+
switch (_a.label) {
|
|
47
|
+
case 0: return [4 /*yield*/, loadProfile(subject, fetcher)];
|
|
48
|
+
case 1:
|
|
49
|
+
ownersProfile = _a.sent();
|
|
50
|
+
name = getName(store, ownersProfile);
|
|
51
|
+
wrapper = document.createElement('div');
|
|
52
|
+
wrapper.classList.add('container');
|
|
53
|
+
wrapper.appendChild(createTitle(ownersProfile.uri, name));
|
|
54
|
+
wrapper.appendChild(createDataSection(name));
|
|
55
|
+
return [2 /*return*/, wrapper];
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
47
59
|
}
|
|
48
|
-
|
|
60
|
+
exports.generateHomepage = generateHomepage;
|
|
49
61
|
function createDataSection(name) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
var dataSection = document.createElement('section');
|
|
63
|
+
var title = document.createElement('h2');
|
|
64
|
+
title.innerText = 'Data';
|
|
65
|
+
dataSection.appendChild(title);
|
|
66
|
+
var listGroup = document.createElement('div');
|
|
67
|
+
listGroup.classList.add('list-group');
|
|
68
|
+
dataSection.appendChild(listGroup);
|
|
69
|
+
var publicDataLink = document.createElement('a');
|
|
70
|
+
publicDataLink.classList.add('list-group-item');
|
|
71
|
+
publicDataLink.href = window.document.location.href + 'public/';
|
|
72
|
+
publicDataLink.innerText = "View ".concat(name, "'s files");
|
|
73
|
+
listGroup.appendChild(publicDataLink);
|
|
74
|
+
return dataSection;
|
|
63
75
|
}
|
|
64
|
-
|
|
65
76
|
function createTitle(uri, name) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function loadProfile(_x4, _x5) {
|
|
78
|
-
return _loadProfile.apply(this, arguments);
|
|
77
|
+
var profileLink = document.createElement('a');
|
|
78
|
+
profileLink.href = uri;
|
|
79
|
+
profileLink.innerText = name;
|
|
80
|
+
var profileLinkPost = document.createElement('span');
|
|
81
|
+
profileLinkPost.innerText = '\'s Pod';
|
|
82
|
+
var title = document.createElement('h1');
|
|
83
|
+
title.appendChild(profileLink);
|
|
84
|
+
title.appendChild(profileLinkPost);
|
|
85
|
+
return title;
|
|
79
86
|
}
|
|
80
|
-
|
|
81
|
-
function
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return _context2.abrupt("return", webId);
|
|
96
|
-
|
|
97
|
-
case 5:
|
|
98
|
-
case "end":
|
|
99
|
-
return _context2.stop();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}, _callee2);
|
|
103
|
-
}));
|
|
104
|
-
return _loadProfile.apply(this, arguments);
|
|
87
|
+
function loadProfile(subject, fetcher) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
89
|
+
var pod, webId;
|
|
90
|
+
return __generator(this, function (_a) {
|
|
91
|
+
switch (_a.label) {
|
|
92
|
+
case 0:
|
|
93
|
+
pod = subject.site().uri;
|
|
94
|
+
webId = (0, rdflib_1.sym)("".concat(pod, "profile/card#me"));
|
|
95
|
+
return [4 /*yield*/, fetcher.load(webId)];
|
|
96
|
+
case 1:
|
|
97
|
+
_a.sent();
|
|
98
|
+
return [2 /*return*/, webId];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
105
102
|
}
|
|
106
|
-
|
|
107
103
|
function getName(store, ownersProfile) {
|
|
108
|
-
|
|
104
|
+
return (store.anyValue(ownersProfile, solid_ui_1.ns.vcard('fn'), null, ownersProfile.doc()) ||
|
|
105
|
+
store.anyValue(ownersProfile, solid_ui_1.ns.foaf('name'), null, ownersProfile.doc()) ||
|
|
106
|
+
new URL(ownersProfile.uri).host.split('.')[0]);
|
|
109
107
|
}
|
|
110
108
|
//# sourceMappingURL=homepage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/dashboard/homepage.ts"],"names":[
|
|
1
|
+
{"version":3,"file":"homepage.js","sourceRoot":"","sources":["../../src/dashboard/homepage.ts"],"names":[],"mappings":"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"}
|
package/lib/form/pane.js
CHANGED
package/lib/form/pane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/pane.js"],"names":["UI","require","$rdf","ns","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","n","widgets","formsFor","length","log","debug","render","context","kb","session","store","dom","mention","complain","message","style","pre","createElement","setAttribute","box","appendChild","textContent","complainIfBad","ok","body","me","authn","currentUser","ws","each","ui","renderFormsFor","fetcher","nowOrWhenFetched","uri","forms","i","form","heading","formStore","Util","document","e","editFormButton","anchor","utils","appendForm","docuri","docpart","updater","editable","doc","any","sym","link","docs","docList","statementsMatching","forEach","st","why","undefined","d","push","sort","_followeach","path","oo","res","concat","slice","date","foobarbaz","selectWorkspace","activities","space","j","act","subjectDoc2","start","cal","value","end"],"mappings":"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","sourcesContent":["/*\n ** Pane for running existing forms for any object\n **\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\nconst ns = UI.ns\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_122196.svg',\n\n name: 'form',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject) {\n const n = UI.widgets.formsFor(subject).length\n UI.log.debug('Form pane: forms for ' + subject + ': ' + n)\n if (!n) return null\n return '' + n + ' forms'\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n\n const mention = function complain (message, style) {\n const pre = dom.createElement('p')\n pre.setAttribute('style', style || 'color: grey; background-color: white')\n box.appendChild(pre).textContent = message\n return pre\n }\n\n const complain = function complain (message, style) {\n mention(message, 'style', style || 'color: grey; background-color: #fdd;')\n }\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store);\n // rerender(box); // Deleted forms at the moment\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // The question of where to store this data about subject\n // This in general needs a whole lot more thought\n // and it connects to the discoverbility through links\n\n // const t = kb.findTypeURIs(subject)\n\n const me = UI.authn.currentUser()\n\n const box = dom.createElement('div')\n box.setAttribute('class', 'formPane')\n\n if (!me) {\n mention(\n 'You are not logged in. If you log in and have ' +\n 'workspaces then you would be able to select workspace in which ' +\n 'to put this new information'\n )\n } else {\n const ws = kb.each(me, ns.ui('workspace'))\n if (ws.length === 0) {\n mention(\n \"You don't seem to have any workspaces defined. \" +\n 'A workspace is a place on the web (http://..) or in ' +\n 'the file system (file:///) to store application data.\\n'\n )\n } else {\n // @@\n }\n }\n\n // Render forms using a given store\n\n const renderFormsFor = function (store, subject) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body)\n\n // Render the forms\n\n const forms = UI.widgets.formsFor(subject)\n\n // complain('Form for editing this form:');\n for (let i = 0; i < forms.length; i++) {\n const form = forms[i]\n const heading = dom.createElement('h4')\n box.appendChild(heading)\n if (form.uri) {\n const formStore = $rdf.Util.uri.document(form)\n if (formStore.uri !== form.uri) {\n // The form is a hash-type URI\n const e = box.appendChild(\n UI.widgets.editFormButton(\n dom,\n box,\n form,\n formStore,\n complainIfBad\n )\n )\n e.setAttribute('style', 'float: right;')\n }\n }\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', form.uri)\n heading.appendChild(anchor)\n anchor.textContent = UI.utils.label(form, true)\n\n /* Keep tis as a reminder to let a New one have its URI given by user\n mention(\"Where will this information be stored?\")\n const ele = dom.createElement('input');\n box.appendChild(ele);\n ele.setAttribute('type', 'text');\n ele.setAttribute('size', '72');\n ele.setAttribute('maxlength', '1024');\n ele.setAttribute('style', 'font-size: 80%; color:#222;');\n ele.value = store.uri\n */\n\n UI.widgets.appendForm(\n dom,\n box,\n {},\n subject,\n form,\n store,\n complainIfBad\n )\n }\n }) // end: when store loded\n } // renderFormsFor\n\n // Figure out what store\n\n // Which places are editable and have stuff about the subject?\n\n let store = null\n\n // 1. The document URI of the subject itself\n const docuri = $rdf.Util.uri.docpart(subject.uri)\n if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {\n store = subject.doc()\n } // an editable data file with hash\n\n store = store || kb.any(kb.sym(docuri), ns.link('annotationStore'))\n\n // 2. where stuff is already stored\n if (!store) {\n const docs = {}\n const docList = []\n store.statementsMatching(subject).forEach(function (st) {\n docs[st.why.uri] = 1\n })\n store\n .statementsMatching(undefined, undefined, subject)\n .forEach(function (st) {\n docs[st.why.uri] = 2\n })\n for (const d in docs) docList.push(docs[d], d)\n docList.sort()\n for (let i = 0; i < docList.length; i++) {\n const uri = docList[i][1]\n if (uri && store.updater.editable(uri)) {\n store = store.sym(uri)\n break\n }\n }\n }\n\n // 3. In a workspace store\n // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)\n const _followeach = function (kb, subject, path) {\n if (path.length === 0) return [subject]\n const oo = kb.each(subject, path[0])\n let res = []\n for (let i = 0; i < oo.length; i++) {\n res = res.concat(_followeach(kb, oo[i], path.slice(1)))\n }\n return res\n }\n\n const date = '2014' // @@@@@@@@@@@@ pass as parameter\n\n if (store) {\n // mention(\"@@ Ok, we have a store <\" + store.uri + \">.\");\n renderFormsFor(store, subject)\n } else {\n complain('No suitable store is known, to edit <' + subject.uri + '>.')\n const foobarbaz = UI.authn.selectWorkspace(dom, function (ws) {\n mention('Workspace selected OK: ' + ws)\n\n const activities = store.each(undefined, ns.space('workspace'), ws)\n for (let j = 0; j < activities.length; j++) {\n const act = activities[j]\n\n const subjectDoc2 = store.any(ws, ns.space('store'))\n const start = store.any(ws, ns.cal('dtstart')).value()\n const end = store.any(ws, ns.cal('dtend')).value()\n if (subjectDoc2 && start && end && start <= date && end > date) {\n renderFormsFor(subjectDoc2, subject)\n break\n } else {\n complain('Note no suitable annotation store in activity: ' + act)\n }\n }\n })\n box.appendChild(foobarbaz)\n }\n\n return box\n }\n}\n"],"file":"pane.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/form/pane.js"],"names":["UI","require","$rdf","ns","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","n","widgets","formsFor","length","log","debug","render","context","kb","session","store","dom","mention","complain","message","style","pre","createElement","setAttribute","box","appendChild","textContent","complainIfBad","ok","body","me","authn","currentUser","ws","each","ui","renderFormsFor","fetcher","nowOrWhenFetched","uri","forms","i","form","heading","formStore","Util","document","e","editFormButton","anchor","utils","appendForm","docuri","docpart","updater","editable","doc","any","sym","link","docs","docList","statementsMatching","forEach","st","why","undefined","d","push","sort","_followeach","path","oo","res","concat","slice","date","foobarbaz","selectWorkspace","activities","space","j","act","subjectDoc2","start","cal","value","end"],"mappings":"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","sourcesContent":["/*\n ** Pane for running existing forms for any object\n **\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\nconst ns = UI.ns\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_122196.svg',\n\n name: 'form',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject) {\n const n = UI.widgets.formsFor(subject).length\n UI.log.debug('Form pane: forms for ' + subject + ': ' + n)\n if (!n) return null\n return '' + n + ' forms'\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n\n const mention = function complain (message, style) {\n const pre = dom.createElement('p')\n pre.setAttribute('style', style || 'color: grey; background-color: white')\n box.appendChild(pre).textContent = message\n return pre\n }\n\n const complain = function complain (message, style) {\n mention(message, 'style', style || 'color: grey; background-color: #fdd;')\n }\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store);\n // rerender(box); // Deleted forms at the moment\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // The question of where to store this data about subject\n // This in general needs a whole lot more thought\n // and it connects to the discoverbility through links\n\n // const t = kb.findTypeURIs(subject)\n\n const me = UI.authn.currentUser()\n\n const box = dom.createElement('div')\n box.setAttribute('class', 'formPane')\n\n if (!me) {\n mention(\n 'You are not logged in. If you log in and have ' +\n 'workspaces then you would be able to select workspace in which ' +\n 'to put this new information'\n )\n } else {\n const ws = kb.each(me, ns.ui('workspace'))\n if (ws.length === 0) {\n mention(\n \"You don't seem to have any workspaces defined. \" +\n 'A workspace is a place on the web (http://..) or in ' +\n 'the file system (file:///) to store application data.\\n'\n )\n } else {\n // @@\n }\n }\n\n // Render forms using a given store\n\n const renderFormsFor = function (store, subject) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body)\n\n // Render the forms\n\n const forms = UI.widgets.formsFor(subject)\n\n // complain('Form for editing this form:');\n for (let i = 0; i < forms.length; i++) {\n const form = forms[i]\n const heading = dom.createElement('h4')\n box.appendChild(heading)\n if (form.uri) {\n const formStore = $rdf.Util.uri.document(form.uri)\n if (formStore.uri !== form.uri) {\n // The form is a hash-type URI\n const e = box.appendChild(\n UI.widgets.editFormButton(\n dom,\n box,\n form,\n formStore,\n complainIfBad\n )\n )\n e.setAttribute('style', 'float: right;')\n }\n }\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', form.uri)\n heading.appendChild(anchor)\n anchor.textContent = UI.utils.label(form, true)\n\n /* Keep tis as a reminder to let a New one have its URI given by user\n mention(\"Where will this information be stored?\")\n const ele = dom.createElement('input');\n box.appendChild(ele);\n ele.setAttribute('type', 'text');\n ele.setAttribute('size', '72');\n ele.setAttribute('maxlength', '1024');\n ele.setAttribute('style', 'font-size: 80%; color:#222;');\n ele.value = store.uri\n */\n\n UI.widgets.appendForm(\n dom,\n box,\n {},\n subject,\n form,\n store,\n complainIfBad\n )\n }\n }) // end: when store loded\n } // renderFormsFor\n\n // Figure out what store\n\n // Which places are editable and have stuff about the subject?\n\n let store = null\n\n // 1. The document URI of the subject itself\n const docuri = $rdf.Util.uri.docpart(subject.uri)\n if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {\n store = subject.doc()\n } // an editable data file with hash\n\n store = store || kb.any(kb.sym(docuri), ns.link('annotationStore'))\n\n // 2. where stuff is already stored\n if (!store) {\n const docs = {}\n const docList = []\n store.statementsMatching(subject).forEach(function (st) {\n docs[st.why.uri] = 1\n })\n store\n .statementsMatching(undefined, undefined, subject)\n .forEach(function (st) {\n docs[st.why.uri] = 2\n })\n for (const d in docs) docList.push(docs[d], d)\n docList.sort()\n for (let i = 0; i < docList.length; i++) {\n const uri = docList[i][1]\n if (uri && store.updater.editable(uri)) {\n store = store.sym(uri)\n break\n }\n }\n }\n\n // 3. In a workspace store\n // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)\n const _followeach = function (kb, subject, path) {\n if (path.length === 0) return [subject]\n const oo = kb.each(subject, path[0])\n let res = []\n for (let i = 0; i < oo.length; i++) {\n res = res.concat(_followeach(kb, oo[i], path.slice(1)))\n }\n return res\n }\n\n const date = '2014' // @@@@@@@@@@@@ pass as parameter\n\n if (store) {\n // mention(\"@@ Ok, we have a store <\" + store.uri + \">.\");\n renderFormsFor(store, subject)\n } else {\n complain('No suitable store is known, to edit <' + subject.uri + '>.')\n const foobarbaz = UI.authn.selectWorkspace(dom, function (ws) {\n mention('Workspace selected OK: ' + ws)\n\n const activities = store.each(undefined, ns.space('workspace'), ws)\n for (let j = 0; j < activities.length; j++) {\n const act = activities[j]\n\n const subjectDoc2 = store.any(ws, ns.space('store'))\n const start = store.any(ws, ns.cal('dtstart')).value()\n const end = store.any(ws, ns.cal('dtend')).value()\n if (subjectDoc2 && start && end && start <= date && end > date) {\n renderFormsFor(subjectDoc2, subject)\n break\n } else {\n complain('Note no suitable annotation store in activity: ' + act)\n }\n }\n })\n box.appendChild(foobarbaz)\n }\n\n return box\n }\n}\n"],"file":"pane.js"}
|