profile-pane 1.0.11 → 1.0.12

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/lib/CVCard.js ADDED
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CVCard = void 0;
19
+ var lit_html_1 = require("lit-html");
20
+ var baseStyles_1 = require("./baseStyles");
21
+ var style_map_js_1 = require("lit-html/directives/style-map.js");
22
+ var styles = {
23
+ image: (0, style_map_js_1.styleMap)((0, baseStyles_1.fullWidth)()),
24
+ intro: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.textGray)()), (0, baseStyles_1.textCenter)())),
25
+ card: (0, style_map_js_1.styleMap)({}),
26
+ info: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.paddingSmall)()), (0, baseStyles_1.textLeft)())),
27
+ };
28
+ var CVCard = function (profileBasics, cvData) {
29
+ var rolesByType = cvData.rolesByType, skills = cvData.skills, languages = cvData.languages;
30
+ var nameStyle = (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.heading)()), {
31
+ // "text-decoration": "underline",
32
+ color: profileBasics.highlightColor }));
33
+ return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <div style=", ">\n <h3 style=", ">Bio</h3>\n <div style=", ">", "</div>\n <hr />\n <div style=", ">", "</div>\n <hr />\n <div style=", ">", "</div>\n <div style=", ">", "</div>\n <div style=", ">", "</div>\n </div>\n "], ["\n <div style=", ">\n <h3 style=", ">Bio</h3>\n <div style=", ">", "</div>\n <hr />\n <div style=", ">", "</div>\n <hr />\n <div style=", ">", "</div>\n <div style=", ">", "</div>\n <div style=", ">", "</div>\n </div>\n "])), styles.info, nameStyle, styles.info, renderRoles(rolesByType["CurrentRole"]), styles.info, renderRoles(rolesByType["PastRole"]), styles.info, renderRoles(rolesByType["FutureRole"]), styles.info, renderSkills(skills), styles.info, renderLanguages(languages));
34
+ };
35
+ exports.CVCard = CVCard;
36
+ function renderRole(role) {
37
+ return role
38
+ ? (0, lit_html_1.html)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["<div style=\"margin-top: 0.3em; margin-bottom: 0.3em;\">\n <b>", "</b>\n <span>", "</span>\n <span>", "</span>\n </div> "], ["<div style=\"margin-top: 0.3em; margin-bottom: 0.3em;\">\n <b>", "</b>\n <span>", "</span>\n <span>", "</span>\n </div> "])), role.orgName, role.roleText, role.dates) : (0, lit_html_1.html)(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
39
+ }
40
+ function renderRoles(roles) {
41
+ return (0, lit_html_1.html)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["", "\n ", " "], ["", "\n ", " "])), renderRole(roles[0]), roles.length > 1 ? renderRoles(roles.slice(1)) : (0, lit_html_1.html)(templateObject_4 || (templateObject_4 = __makeTemplateObject([""], [""]))));
42
+ }
43
+ function renderSkill(skill) {
44
+ return skill
45
+ ? (0, lit_html_1.html)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["<div style=\"margin: 0.5em;\">\n <p style=\"text-align: center;\">", "</p>\n </div> "], ["<div style=\"margin: 0.5em;\">\n <p style=\"text-align: center;\">", "</p>\n </div> "])), skill) : (0, lit_html_1.html)(templateObject_7 || (templateObject_7 = __makeTemplateObject([""], [""])));
46
+ }
47
+ function renderSkills(skills) {
48
+ return (0, lit_html_1.html)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["", "\n ", " "], ["", "\n ", " "])), renderSkill(skills[0]), skills.length > 1 ? renderSkills(skills.slice(1)) : (0, lit_html_1.html)(templateObject_8 || (templateObject_8 = __makeTemplateObject([""], [""]))));
49
+ }
50
+ function renderLan(language) {
51
+ return language
52
+ ? (0, lit_html_1.html)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["<div style=\"margin: 0.5em;\">\n <p style=\"text-align: center;\">", "</p>\n </div> "], ["<div style=\"margin: 0.5em;\">\n <p style=\"text-align: center;\">", "</p>\n </div> "])), language) : (0, lit_html_1.html)(templateObject_11 || (templateObject_11 = __makeTemplateObject([""], [""])));
53
+ }
54
+ function renderLanguages(languages) {
55
+ return (0, lit_html_1.html)(templateObject_13 || (templateObject_13 = __makeTemplateObject(["", "\n ", " "], ["", "\n ", " "])), renderLan(languages[0]), languages.length > 1 ? renderLanguages(languages.slice(1)) : (0, lit_html_1.html)(templateObject_12 || (templateObject_12 = __makeTemplateObject([""], [""]))));
56
+ }
57
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
58
+ //# sourceMappingURL=CVCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CVCard.js","sourceRoot":"","sources":["../src/CVCard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAgD;AAChD,2CAOsB;AAGtB,iEAA4D;AAE5D,IAAM,MAAM,GAAG;IACb,KAAK,EAAE,IAAA,uBAAQ,EAAC,IAAA,sBAAS,GAAE,CAAC;IAC5B,KAAK,EAAE,IAAA,uBAAQ,wBAAM,IAAA,qBAAQ,GAAE,GAAK,IAAA,uBAAU,GAAE,EAAG;IACnD,IAAI,EAAE,IAAA,uBAAQ,EAAC,EAAE,CAAC;IAClB,IAAI,EAAE,IAAA,uBAAQ,wBAAM,IAAA,yBAAY,GAAE,GAAK,IAAA,qBAAQ,GAAE,EAAG;CACrD,CAAC;AAEK,IAAM,MAAM,GAAG,UACpB,aAAkC,EAClC,MAAsB;IAEd,IAAA,WAAW,GAAwB,MAAM,YAA9B,EAAE,MAAM,GAAgB,MAAM,OAAtB,EAAE,SAAS,GAAK,MAAM,UAAX,CAAY;IAClD,IAAM,SAAS,GAAG,IAAA,uBAAQ,wBACrB,IAAA,oBAAO,GAAE;QACZ,kCAAkC;QAClC,KAAK,EAAE,aAAa,CAAC,cAAc,IACnC,CAAC;IAEH,WAAO,eAAI,iVAAA,mBACI,EAAW,qBACV,EAAS,8BACR,EAAW,GAAI,EAAuC,yCAEtD,EAAW,GAAI,EAAoC,yCAEnD,EAAW,GAAI,EAAsC,2BACrD,EAAW,GAAI,EAAoB,2BACnC,EAAW,GAAI,EAA0B,wBAEzD,KAVc,MAAM,CAAC,IAAI,EACV,SAAS,EACR,MAAM,CAAC,IAAI,EAAI,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAEtD,MAAM,CAAC,IAAI,EAAI,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAEnD,MAAM,CAAC,IAAI,EAAI,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EACrD,MAAM,CAAC,IAAI,EAAI,YAAY,CAAC,MAAM,CAAC,EACnC,MAAM,CAAC,IAAI,EAAI,eAAe,CAAC,SAAS,CAAC,EAExD;AACJ,CAAC,CAAC;AAvBW,QAAA,MAAM,UAuBjB;AAEF,SAAS,UAAU,CAAC,IAAI;IACtB,OAAO,IAAI;QACT,CAAC,KAAC,eAAI,wNAAA,uEACG,EAAY,sBACT,EAAa,yBACb,EAAU,wBACZ,KAHD,IAAI,CAAC,OAAO,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EAEtB,CAAC,KAAC,eAAI,sEAAA,EAAE,IAAA,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACxB,WAAO,eAAI,mFAAA,EAAG,EAAoB,MAChC,EAAuD,GAAG,KAD9C,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAChC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAC,eAAI,sEAAA,EAAE,IAAA,EAAI;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACxB,OAAO,KAAK;QACV,CAAC,KAAC,eAAI,sKAAA,2EAC+B,EAAK,qBAChC,KAD2B,KAAK,EAE1C,CAAC,KAAC,eAAI,sEAAA,EAAE,IAAA,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,MAAM;IAC1B,WAAO,eAAI,mFAAA,EAAG,EAAsB,MAClC,EAA0D,GAAG,KADjD,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAClC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAC,eAAI,sEAAA,EAAE,IAAA,EAAI;AAClE,CAAC;AAED,SAAS,SAAS,CAAC,QAAQ;IACzB,OAAO,QAAQ;QACb,CAAC,KAAC,eAAI,wKAAA,2EAC+B,EAAQ,qBACnC,KAD2B,QAAQ,EAE7C,CAAC,KAAC,eAAI,wEAAA,EAAE,IAAA,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,SAAS;IAChC,WAAO,eAAI,qFAAA,EAAG,EAAuB,MACnC,EAAmE,GAAG,KAD1D,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACnC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAC,eAAI,wEAAA,EAAE,IAAA,EAAI;AAC3E,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.presentCV = exports.datesAsText = exports.languageAsText = exports.skillAsText = exports.typesOfRole = void 0;
4
+ var rdflib_1 = require("rdflib");
5
+ var solid_ui_1 = require("solid-ui");
6
+ var ORG = (0, rdflib_1.Namespace)('http://www.w3.org/ns/org#');
7
+ exports.typesOfRole = ['PastRole', 'CurrentRole', 'FutureRole'];
8
+ function skillAsText(store, sk) {
9
+ if (sk.termType === 'Literal')
10
+ return sk.value; // Not normal but allow this
11
+ var publicId = store.anyJS(sk, solid_ui_1.ns.solid('publicId'));
12
+ if (publicId) {
13
+ var name_1 = store.anyJS(publicId, solid_ui_1.ns.schema('name'));
14
+ if (name_1)
15
+ return name_1; // @@ check language and get name in diff language if necessary
16
+ }
17
+ var manual = store.anyJS(sk, solid_ui_1.ns.vcard('role'));
18
+ if (manual)
19
+ return manual;
20
+ return '¿¿¿ skill ???';
21
+ }
22
+ exports.skillAsText = skillAsText;
23
+ function languageAsText(store, lan) {
24
+ if (lan.termType === 'Literal')
25
+ return lan.value; // Not normal but allow this
26
+ var publicId = store.anyJS(lan, solid_ui_1.ns.solid('publicId'));
27
+ if (publicId)
28
+ return solid_ui_1.utils.label(publicId, true); // @@ check language and get name in diff language if necessary
29
+ return '_';
30
+ }
31
+ exports.languageAsText = languageAsText;
32
+ function datesAsText(startDate, endDate) {
33
+ return startDate ? '(' + startDate.value.slice(0, 4) + '-' +
34
+ (endDate ? endDate.value.slice(0, 4) : '') + ')'
35
+ : '';
36
+ }
37
+ exports.datesAsText = datesAsText;
38
+ function getRolesByType(store, subject) {
39
+ var memberships = store.each(null, ORG('member'), subject, null);
40
+ var rolesByType = { PastRole: [], CurrentRole: [], FutureRole: [] };
41
+ for (var _i = 0, memberships_1 = memberships; _i < memberships_1.length; _i++) {
42
+ var membership = memberships_1[_i];
43
+ var orgHomePage = void 0, orgNameGiven = void 0, publicIdName = void 0, roleName = void 0, publicId
44
+ // Things should have start dates but we will be very lenient in this view
45
+ = void 0;
46
+ // Things should have start dates but we will be very lenient in this view
47
+ var startDate = store.any(membership, solid_ui_1.ns.schema('startDate'));
48
+ var endDate = store.any(membership, solid_ui_1.ns.schema('endDate'));
49
+ var dates = datesAsText(startDate, endDate);
50
+ var organization = store.any(membership, ORG('organization'));
51
+ if (organization) {
52
+ orgNameGiven = store.anyJS(organization, solid_ui_1.ns.schema('name'));
53
+ orgHomePage = store.any(organization, solid_ui_1.ns.schema('uri'));
54
+ publicId = store.any(organization, solid_ui_1.ns.solid('publicId'));
55
+ }
56
+ if (publicId) {
57
+ publicIdName = store.anyJS(publicId, solid_ui_1.ns.schema('name'));
58
+ }
59
+ var orgName = publicIdName || orgNameGiven;
60
+ var escoRole = store.any(membership, ORG('role'));
61
+ if (escoRole) {
62
+ roleName = store.anyJS(escoRole, solid_ui_1.ns.schema('name'));
63
+ }
64
+ var roleText0 = store.anyJS(membership, solid_ui_1.ns.vcard('role'));
65
+ var roleText = (roleText0 && roleName) ? roleName + ' - ' + roleText0
66
+ : roleText0 || roleName;
67
+ var item = {
68
+ startDate: startDate,
69
+ endDate: endDate,
70
+ orgName: orgName,
71
+ roleText: roleText,
72
+ dates: dates,
73
+ orgHomePage: orgHomePage
74
+ };
75
+ for (var _a = 0, typesOfRole_1 = exports.typesOfRole; _a < typesOfRole_1.length; _a++) {
76
+ var t = typesOfRole_1[_a];
77
+ if (store.holds(membership, solid_ui_1.ns.rdf('type'), solid_ui_1.ns.solid(t))) {
78
+ rolesByType[t].push(item);
79
+ }
80
+ }
81
+ }
82
+ return rolesByType;
83
+ }
84
+ function presentCV(subject, store) {
85
+ var rolesByType = getRolesByType(store, subject);
86
+ // Most recent thing most relevant -> sort by end date
87
+ for (var _i = 0, typesOfRole_2 = exports.typesOfRole; _i < typesOfRole_2.length; _i++) {
88
+ var t = typesOfRole_2[_i];
89
+ rolesByType[t].sort(function (x, y) {
90
+ if (x.endDate && y.endDate) {
91
+ return x.endDate > y.endDate ? -1 : 1;
92
+ }
93
+ return x.startDate > y.startDate ? -1 : 1;
94
+ });
95
+ }
96
+ var skills = store.each(subject, solid_ui_1.ns.schema('skills')).map(function (sk) { return skillAsText(store, sk); });
97
+ var languagesInStore = store.anyJS(subject, solid_ui_1.ns.schema('knowsLanguage'));
98
+ var languages = [];
99
+ if (languagesInStore)
100
+ languages = languagesInStore.map(function (lan) { return languageAsText(store, lan); });
101
+ return { rolesByType: rolesByType, skills: skills, languages: languages };
102
+ }
103
+ exports.presentCV = presentCV;
104
+ //# sourceMappingURL=CVPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CVPresenter.js","sourceRoot":"","sources":["../src/CVPresenter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ var __generator = (this && this.__generator) || function (thisArg, body) {
16
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
17
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
18
+ function verb(n) { return function (v) { return step([n, v]); }; }
19
+ function step(op) {
20
+ if (f) throw new TypeError("Generator is already executing.");
21
+ while (_) try {
22
+ 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;
23
+ if (y = 0, t) op = [op[0] & 2, t.value];
24
+ switch (op[0]) {
25
+ case 0: case 1: t = op; break;
26
+ case 4: _.label++; return { value: op[1], done: false };
27
+ case 5: _.label++; y = op[1]; op = [0]; continue;
28
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
29
+ default:
30
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
31
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
32
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
33
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
34
+ if (t[2]) _.ops.pop();
35
+ _.trys.pop(); continue;
36
+ }
37
+ op = body.call(thisArg, _);
38
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
39
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
+ }
41
+ };
42
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
43
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
44
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
45
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
46
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
47
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
48
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
49
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
50
+ function fulfill(value) { resume("next", value); }
51
+ function reject(value) { resume("throw", value); }
52
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
53
+ };
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.ChatWithMe = void 0;
56
+ var lit_html_1 = require("lit-html");
57
+ var solid_ui_1 = require("solid-ui");
58
+ var async_replace_js_1 = require("lit-html/directives/async-replace.js");
59
+ var texts_1 = require("./texts");
60
+ var ChatWithMe = function (subject, context) {
61
+ var logic = context.session.logic;
62
+ var longChatPane = context.session.paneRegistry.byName("long chat");
63
+ function chatContainer() {
64
+ return __asyncGenerator(this, arguments, function chatContainer_1() {
65
+ var chatContainer, exists, e_1, button;
66
+ var _this = this;
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ chatContainer = context.dom.createElement("div");
71
+ _a.label = 1;
72
+ case 1:
73
+ _a.trys.push([1, 5, , 6]);
74
+ return [4 /*yield*/, __await(texts_1.loadingMessage)];
75
+ case 2: return [4 /*yield*/, _a.sent()];
76
+ case 3:
77
+ _a.sent();
78
+ return [4 /*yield*/, __await(logic.chat.getChat(subject, false))];
79
+ case 4:
80
+ (exists = _a.sent());
81
+ return [3 /*break*/, 6];
82
+ case 5:
83
+ e_1 = _a.sent();
84
+ exists = false;
85
+ return [3 /*break*/, 6];
86
+ case 6:
87
+ if (!exists) return [3 /*break*/, 9];
88
+ chatContainer.appendChild(longChatPane.render(exists, context, {}));
89
+ return [4 /*yield*/, __await(chatContainer)];
90
+ case 7: return [4 /*yield*/, _a.sent()];
91
+ case 8:
92
+ _a.sent();
93
+ return [3 /*break*/, 12];
94
+ case 9:
95
+ button = solid_ui_1.widgets.button(context.dom, undefined, texts_1.chatWithMeButtonText, function () { return __awaiter(_this, void 0, void 0, function () {
96
+ var chat, e_2;
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0:
100
+ _a.trys.push([0, 2, , 3]);
101
+ return [4 /*yield*/, logic.chat.getChat(subject, true)];
102
+ case 1:
103
+ chat = _a.sent();
104
+ chatContainer.innerHTML = "";
105
+ chatContainer.appendChild(longChatPane.render(chat, context, {}));
106
+ return [3 /*break*/, 3];
107
+ case 2:
108
+ e_2 = _a.sent();
109
+ chatContainer.appendChild(solid_ui_1.widgets.errorMessageBlock(context.dom, e_2.message));
110
+ return [3 /*break*/, 3];
111
+ case 3: return [2 /*return*/];
112
+ }
113
+ });
114
+ }); }, { needsBorder: true });
115
+ chatContainer.appendChild(button);
116
+ return [4 /*yield*/, __await(chatContainer)];
117
+ case 10: return [4 /*yield*/, _a.sent()];
118
+ case 11:
119
+ _a.sent();
120
+ _a.label = 12;
121
+ case 12: return [2 /*return*/];
122
+ }
123
+ });
124
+ });
125
+ }
126
+ return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject([" ", " "], [" ", " "])), (0, async_replace_js_1.asyncReplace)(chatContainer()));
127
+ };
128
+ exports.ChatWithMe = ChatWithMe;
129
+ var templateObject_1;
130
+ //# sourceMappingURL=ChatWithMe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatWithMe.js","sourceRoot":"","sources":["../src/ChatWithMe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAgD;AAGhD,qCAAmC;AACnC,yEAAoE;AACpE,iCAA+D;AAExD,IAAM,UAAU,GAAG,UACxB,OAAkB,EAClB,OAA2B;IAE3B,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,IAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEtE,SAAgB,aAAa;;;;;;;wBACrB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;;;;qDAI/C,sBAAc;4BAApB,gCAAoB;;wBAApB,SAAoB;wBAAY,6BAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,GAAA;;wBAAlD,CAAC,MAAM,GAAG,SAAwC,CAAC,CAAC;;;;wBAE1E,MAAM,GAAG,KAAK,CAAC;;;6BAEb,MAAM,EAAN,wBAAM;wBACR,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;qDAC9D,aAAa;4BAAnB,gCAAmB;;wBAAnB,SAAmB,CAAC;;;wBAEd,MAAM,GAAG,kBAAO,CAAC,MAAM,CAC3B,OAAO,CAAC,GAAG,EACX,SAAS,EACT,4BAAoB,EACpB;;;;;;wCAE4B,qBAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAA;;wCAAzD,IAAI,GAAc,SAAuC;wCAC/D,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;wCAC7B,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;;;;wCAElE,aAAa,CAAC,WAAW,CACvB,kBAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAC,CAAC,OAAO,CAAC,CAClD,CAAC;;;;;6BAEL,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;wBACF,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;qDAC5B,aAAa;6BAAnB,gCAAmB;;wBAAnB,SAAmB,CAAC;;;;;;KAEvB;IAED,WAAO,eAAI,4EAAA,GAAI,EAA6B,GAAG,KAAhC,IAAA,+BAAY,EAAC,aAAa,EAAE,CAAC,EAAI;AAClD,CAAC,CAAC;AA3CW,QAAA,UAAU,cA2CrB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.FriendList = void 0;
8
+ var solid_ui_1 = require("solid-ui");
9
+ var lit_html_1 = require("lit-html");
10
+ var style_map_js_1 = require("lit-html/directives/style-map.js");
11
+ var baseStyles_1 = require("./baseStyles");
12
+ var styles = {
13
+ root: (0, style_map_js_1.styleMap)((0, baseStyles_1.padding)()),
14
+ heading: (0, style_map_js_1.styleMap)((0, baseStyles_1.headingLight)()),
15
+ };
16
+ var noFriendsFoundMessage = "You have no friends in your list yet";
17
+ var FriendList = function (subject, context) { return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <div style=", ">\n <h3 style=", ">Friends</h3>\n ", "\n </div>\n"], ["\n <div style=", ">\n <h3 style=", ">Friends</h3>\n ", "\n </div>\n"])), styles.root, styles.heading, createList(subject, context)); };
18
+ exports.FriendList = FriendList;
19
+ var createList = function (subject, _a) {
20
+ var dom = _a.dom;
21
+ var target = dom.createElement("div");
22
+ solid_ui_1.widgets.attachmentList(dom, subject, target, {
23
+ doc: subject.doc(),
24
+ modify: false,
25
+ predicate: solid_ui_1.ns.foaf("knows"),
26
+ noun: "friend",
27
+ });
28
+ if (target.textContent === "")
29
+ return noFriendsInTheListMessage(dom, noFriendsFoundMessage);
30
+ else
31
+ return target;
32
+ };
33
+ var noFriendsInTheListMessage = function (dom, message) { return (0, lit_html_1.html)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n <div id=\"no-friends\" style=", ">", "</div>\n"], ["\n <div id=\"no-friends\" style=", ">", "</div>\n"])), styles.root, message); };
34
+ var templateObject_1, templateObject_2;
35
+ //# sourceMappingURL=FriendList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FriendList.js","sourceRoot":"","sources":["../src/FriendList.ts"],"names":[],"mappings":";;;;;;;AAAA,qCAAuC;AAGvC,qCAAgD;AAChD,iEAA4D;AAC5D,2CAAqD;AAErD,IAAM,MAAM,GAAG;IACb,IAAI,EAAE,IAAA,uBAAQ,EAAC,IAAA,oBAAO,GAAE,CAAC;IACzB,OAAO,EAAE,IAAA,uBAAQ,EAAC,IAAA,yBAAY,GAAE,CAAC;CAClC,CAAC;AAEF,IAAM,qBAAqB,GAAG,sCAAsC,CAAC;AAE9D,IAAM,UAAU,GAAG,UACxB,OAAkB,EAClB,OAA2B,IACR,WAAA,eAAI,iJAAA,iBACV,EAAW,mBACV,EAAc,qBACxB,EAA4B,cAEjC,KAJc,MAAM,CAAC,IAAI,EACV,MAAM,CAAC,OAAO,EACxB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAHb,CAKpB,CAAC;AARW,QAAA,UAAU,cAQrB;AAEF,IAAM,UAAU,GAAG,UAAC,OAAkB,EAAE,EAA2B;QAAzB,GAAG,SAAA;IAC3C,IAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,kBAAO,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,aAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,WAAW,KAAK,EAAE;QAC3B,OAAO,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;;QAC1D,OAAO,MAAM,CAAC;AACrB,CAAC,CAAC;AAEF,IAAM,yBAAyB,GAAG,UAChC,GAAiB,EACjB,OAAe,IACI,WAAA,eAAI,wHAAA,mCACM,EAAW,GAAI,EAAO,UACpD,KAD8B,MAAM,CAAC,IAAI,EAAI,OAAO,GADhC,CAEpB,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ProfileCard = void 0;
19
+ var lit_html_1 = require("lit-html");
20
+ var style_map_js_1 = require("lit-html/directives/style-map.js");
21
+ var baseStyles_1 = require("./baseStyles");
22
+ var styles = {
23
+ image: (0, style_map_js_1.styleMap)((0, baseStyles_1.fullWidth)()),
24
+ intro: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.textGray)()), (0, baseStyles_1.textCenter)())),
25
+ info: (0, style_map_js_1.styleMap)((0, baseStyles_1.padding)()),
26
+ };
27
+ var ProfileCard = function (_a) {
28
+ var name = _a.name, imageSrc = _a.imageSrc, introduction = _a.introduction, location = _a.location, pronouns = _a.pronouns, highlightColor = _a.highlightColor;
29
+ var nameStyle = (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.heading)()), { "text-decoration": "underline", "text-decoration-color": highlightColor }));
30
+ return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n <div style=", ">\n <h3 style=", ">", "</h3>\n <div style=", ">\n ", " ", " ", "\n </div>\n </div>\n "], ["\n ", "\n <div style=", ">\n <h3 style=", ">", "</h3>\n <div style=", ">\n ", " ", " ", "\n </div>\n </div>\n "])), Image(imageSrc, name), styles.info, nameStyle, name, styles.intro, Line(introduction), Line(location, "🌐"), Line(pronouns));
31
+ };
32
+ exports.ProfileCard = ProfileCard;
33
+ var Line = function (value, prefix) {
34
+ if (prefix === void 0) { prefix = lit_html_1.nothing; }
35
+ return value ? (0, lit_html_1.html)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["<p>", " ", "</p>"], ["<p>", " ", "</p>"])), prefix, value) : lit_html_1.nothing;
36
+ };
37
+ var Image = function (src, alt) {
38
+ return src ? (0, lit_html_1.html)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["<img style=", " src=", " alt=", " />"], ["<img style=", " src=", " alt=", " />"])), styles.image, src, alt) : lit_html_1.nothing;
39
+ };
40
+ var templateObject_1, templateObject_2, templateObject_3;
41
+ //# sourceMappingURL=ProfileCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileCard.js","sourceRoot":"","sources":["../src/ProfileCard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAyD;AACzD,iEAA4D;AAC5D,2CAMsB;AAGtB,IAAM,MAAM,GAAG;IACb,KAAK,EAAE,IAAA,uBAAQ,EAAC,IAAA,sBAAS,GAAE,CAAC;IAC5B,KAAK,EAAE,IAAA,uBAAQ,wBAAM,IAAA,qBAAQ,GAAE,GAAK,IAAA,uBAAU,GAAE,EAAG;IACnD,IAAI,EAAE,IAAA,uBAAQ,EAAC,IAAA,oBAAO,GAAE,CAAC;CAC1B,CAAC;AAEK,IAAM,WAAW,GAAG,UAAC,EAON;QANpB,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,YAAY,kBAAA,EACZ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,cAAc,oBAAA;IAEd,IAAM,SAAS,GAAG,IAAA,uBAAQ,wBACrB,IAAA,oBAAO,GAAE,KACZ,iBAAiB,EAAE,WAAW,EAC9B,uBAAuB,EAAE,cAAc,IACvC,CAAC;IACH,WAAO,eAAI,oNAAA,QACP,EAAqB,mBACV,EAAW,qBACV,EAAS,GAAI,EAAI,0BAChB,EAAY,aACrB,EAAkB,GAAI,EAAoB,GAAI,EAAc,gCAGnE,KAPG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,EACV,MAAM,CAAC,IAAI,EACV,SAAS,EAAI,IAAI,EAChB,MAAM,CAAC,KAAK,EACrB,IAAI,CAAC,YAAY,CAAC,EAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAI,IAAI,CAAC,QAAQ,CAAC,EAGlE;AACJ,CAAC,CAAC;AAtBW,QAAA,WAAW,eAsBtB;AAEF,IAAM,IAAI,GAAG,UAAC,KAAK,EAAE,MAAiC;IAAjC,uBAAA,EAAA,SAA0B,kBAAO;IACpD,OAAA,KAAK,CAAC,CAAC,KAAC,eAAI,sFAAA,KAAM,EAAM,GAAI,EAAK,MAAM,KAArB,MAAM,EAAI,KAAK,EAAO,CAAC,CAAC,kBAAO;AAAjD,CAAiD,CAAC;AAEpD,IAAM,KAAK,GAAG,UAAC,GAAG,EAAE,GAAG;IACrB,OAAA,GAAG,CAAC,CAAC,KAAC,eAAI,0GAAA,aAAc,EAAY,OAAQ,EAAG,OAAQ,EAAG,KAAK,KAAvC,MAAM,CAAC,KAAK,EAAQ,GAAG,EAAQ,GAAG,EAAM,CAAC,CAAC,kBAAO;AAAzE,CAAyE,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /* Profile View
3
+ */
4
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
5
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
6
+ return cooked;
7
+ };
8
+ var __assign = (this && this.__assign) || function () {
9
+ __assign = Object.assign || function(t) {
10
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
11
+ s = arguments[i];
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
13
+ t[p] = s[p];
14
+ }
15
+ return t;
16
+ };
17
+ return __assign.apply(this, arguments);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.ProfileView = void 0;
21
+ var lit_html_1 = require("lit-html");
22
+ var style_map_js_1 = require("lit-html/directives/style-map.js");
23
+ var baseStyles_1 = require("./baseStyles");
24
+ var ChatWithMe_1 = require("./ChatWithMe");
25
+ var FriendList_1 = require("./FriendList");
26
+ var presenter_1 = require("./presenter");
27
+ var CVPresenter_1 = require("./CVPresenter"); // 20210527
28
+ var ProfileCard_1 = require("./ProfileCard");
29
+ var CVCard_1 = require("./CVCard");
30
+ var QRCodeCard_1 = require("./QRCodeCard");
31
+ var addMeToYourFriends_1 = require("./addMeToYourFriends");
32
+ var ProfileView = function (subject, context) {
33
+ var profileBasics = (0, presenter_1.presentProfile)(subject, context.session.store); // rdflib rdfs type problems
34
+ var rolesByType = (0, CVPresenter_1.presentCV)(subject, context.session.store);
35
+ var styles = {
36
+ grid: (0, style_map_js_1.styleMap)(__assign(__assign(__assign({}, (0, baseStyles_1.responsiveGrid)()), (0, baseStyles_1.paddingSmall)()), { background: "radial-gradient(circle, ".concat(profileBasics.backgroundColor, " 80%, ").concat(profileBasics.highlightColor, " 100%)") })),
37
+ card: (0, style_map_js_1.styleMap)((0, baseStyles_1.card)()),
38
+ chat: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.card)()), (0, baseStyles_1.padding)())),
39
+ };
40
+ return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <div style=\"", "\">\n <div>\n <div data-testid=\"profile-card\" style=\"", "\">\n ", "\n ", "\n </div>\n </div>\n <div data-testid=\"friend-list\" style=\"", "\">\n ", "\n </div>\n <div data-testid=\"curriculum-vitae\" style=\"", "\">\n ", "\n </div>\n <div style=\"", "\">", "</div>\n <div data-testid=\"qrcode-display\" style=\"", "\">\n ", "\n </div>\n\n </div>\n "], ["\n <div style=\"", "\">\n <div>\n <div data-testid=\"profile-card\" style=\"", "\">\n ", "\n ", "\n </div>\n </div>\n <div data-testid=\"friend-list\" style=\"", "\">\n ", "\n </div>\n <div data-testid=\"curriculum-vitae\" style=\"", "\">\n ", "\n </div>\n <div style=\"", "\">", "</div>\n <div data-testid=\"qrcode-display\" style=\"", "\">\n ", "\n </div>\n\n </div>\n "])), styles.grid, styles.card, (0, ProfileCard_1.ProfileCard)(profileBasics), (0, addMeToYourFriends_1.addMeToYourFriendsDiv)(subject, context), styles.card, (0, FriendList_1.FriendList)(subject, context), styles.card, (0, CVCard_1.CVCard)(profileBasics, rolesByType), styles.chat, (0, ChatWithMe_1.ChatWithMe)(subject, context), styles.card, (0, QRCodeCard_1.QRCodeCard)(profileBasics, subject));
41
+ };
42
+ exports.ProfileView = ProfileView;
43
+ var templateObject_1;
44
+ //# sourceMappingURL=ProfileView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileView.js","sourceRoot":"","sources":["../src/ProfileView.ts"],"names":[],"mappings":";AAAA;EACE;;;;;;;;;;;;;;;;;;AAEF,qCAAgD;AAChD,iEAA4D;AAG5D,2CAA2E;AAC3E,2CAA0C;AAC1C,2CAA0C;AAC1C,yCAA6C;AAC7C,6CAAyC,CAAC,WAAW;AACrD,6CAA4C;AAC5C,mCAAkC;AAClC,2CAA0C;AAC1C,2DAA6D;AAEtD,IAAM,WAAW,GAAG,UACzB,OAAkB,EAClB,OAA2B;IAE3B,IAAM,aAAa,GAAG,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAkB,CAAC,CAAC,CAAC,4BAA4B;IAC/G,IAAM,WAAW,GAAG,IAAA,uBAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAkB,CAAC,CAAA;IAC3E,IAAM,MAAM,GAAG;QACb,IAAI,EAAE,IAAA,uBAAQ,iCACT,IAAA,2BAAc,GAAE,GAChB,IAAA,yBAAY,GAAE,KACjB,UAAU,EAAE,kCAA2B,aAAa,CAAC,eAAe,mBAAS,aAAa,CAAC,cAAc,WAAQ,IACjH;QACF,IAAI,EAAE,IAAA,uBAAQ,EAAC,IAAA,iBAAI,GAAE,CAAC;QACtB,IAAI,EAAE,IAAA,uBAAQ,wBACT,IAAA,iBAAI,GAAE,GACN,IAAA,oBAAO,GAAE,EACZ;KACH,CAAC;IAEF,WAAO,eAAI,kiBAAA,qBACK,EAAW,sEAEoB,EAAW,iBAChD,EAA0B,cAC1B,EAAuC,iFAGL,EAAW,eAC/C,EAA4B,sEAEa,EAAW,eACpD,EAAkC,qCAExB,EAAW,KAAK,EAA4B,4DACf,EAAW,eAClD,EAAkC,kCAIzC,KAnBe,MAAM,CAAC,IAAI,EAEoB,MAAM,CAAC,IAAI,EAChD,IAAA,yBAAW,EAAC,aAAa,CAAC,EAC1B,IAAA,0CAAqB,EAAC,OAAO,EAAE,OAAO,CAAC,EAGL,MAAM,CAAC,IAAI,EAC/C,IAAA,uBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,EAEa,MAAM,CAAC,IAAI,EACpD,IAAA,eAAM,EAAC,aAAa,EAAE,WAAW,CAAC,EAExB,MAAM,CAAC,IAAI,EAAK,IAAA,uBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,EACf,MAAM,CAAC,IAAI,EAClD,IAAA,uBAAU,EAAC,aAAa,EAAE,OAAO,CAAC,EAIxC;AACJ,CAAC,CAAC;AAxCW,QAAA,WAAW,eAwCtB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.QRCodeCard = void 0;
19
+ // A card in my profile to show yu a QRCode of my webid
20
+ //
21
+ var lit_html_1 = require("lit-html");
22
+ var baseStyles_1 = require("./baseStyles");
23
+ var style_map_js_1 = require("lit-html/directives/style-map.js");
24
+ var styles = {
25
+ image: (0, style_map_js_1.styleMap)((0, baseStyles_1.fullWidth)()),
26
+ intro: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.textGray)()), (0, baseStyles_1.textCenter)())),
27
+ card: (0, style_map_js_1.styleMap)({}),
28
+ info: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.paddingSmall)()), (0, baseStyles_1.textLeft)())),
29
+ };
30
+ var QRCodeCard = function (profileBasics, subject) {
31
+ var nameStyle = (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.heading)()), {
32
+ // "text-decoration": "underline",
33
+ color: profileBasics.highlightColor }));
34
+ var qrCodeCanvasStyle = 'width: 80%; margin:auto;';
35
+ var highlightColor = profileBasics.highlightColor || '#000000';
36
+ var backgroundColor = profileBasics.backgroundColor || '#ffffff';
37
+ // console.log(`@@ qrcodes colours highlightColor ${highlightColor}, backgroundColor ${backgroundColor}`)
38
+ return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <div style=", ">\n <h3 style=", ">", "</h3>\n <div class=\"QRCode\" style=\"", "\" data-value=\"", "\" highlightColor=\"", "\"} backgroundColor=\"", "\"></div>\n </div>\n "], ["\n <div style=", ">\n <h3 style=", ">", "</h3>\n <div class=\"QRCode\" style=\"", "\" data-value=\"", "\" highlightColor=\"", "\"} backgroundColor=\"", "\"></div>\n </div>\n "])), styles.info, nameStyle, profileBasics.name, qrCodeCanvasStyle, subject.uri, highlightColor, backgroundColor);
39
+ };
40
+ exports.QRCodeCard = QRCodeCard;
41
+ var templateObject_1;
42
+ //# sourceMappingURL=QRCodeCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCodeCard.js","sourceRoot":"","sources":["../src/QRCodeCard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,EAAE;AACF,qCAAgD;AAEhD,2CAOsB;AAEtB,iEAA4D;AAE5D,IAAM,MAAM,GAAG;IACb,KAAK,EAAE,IAAA,uBAAQ,EAAC,IAAA,sBAAS,GAAE,CAAC;IAC5B,KAAK,EAAE,IAAA,uBAAQ,wBAAM,IAAA,qBAAQ,GAAE,GAAK,IAAA,uBAAU,GAAE,EAAG;IACnD,IAAI,EAAE,IAAA,uBAAQ,EAAC,EAAE,CAAC;IAClB,IAAI,EAAE,IAAA,uBAAQ,wBAAM,IAAA,yBAAY,GAAE,GAAK,IAAA,qBAAQ,GAAE,EAAG;CACrD,CAAC;AAEK,IAAM,UAAU,GAAG,UACxB,aAAkC,EAClC,OAAkB;IAElB,IAAM,SAAS,GAAG,IAAA,uBAAQ,wBACrB,IAAA,oBAAO,GAAE;QACZ,kCAAkC;QAClC,KAAK,EAAE,aAAa,CAAC,cAAc,IACnC,CAAC;IACH,IAAM,iBAAiB,GAAG,0BAA0B,CAAA;IACpD,IAAM,cAAc,GAAG,aAAa,CAAC,cAAc,IAAI,SAAS,CAAA;IAChE,IAAM,eAAe,GAAG,aAAa,CAAC,eAAe,IAAI,SAAS,CAAA;IAClE,yGAAyG;IAEzG,WAAO,eAAI,qQAAA,mBACI,EAAW,qBACV,EAAS,GAAI,EAAkB,6CACd,EAAiB,kBAAiB,EAAW,sBAAqB,EAAc,wBAAuB,EAAe,2BAEtJ,KAJc,MAAM,CAAC,IAAI,EACV,SAAS,EAAI,aAAa,CAAC,IAAI,EACd,iBAAiB,EAAiB,OAAO,CAAC,GAAG,EAAqB,cAAc,EAAuB,eAAe,EAErJ;AACJ,CAAC,CAAC;AApBW,QAAA,UAAU,cAoBrB"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.checkIfFriendExists = exports.checkIfAnyUserLoggedIn = exports.saveNewFriend = exports.createAddMeToYourFriendsButton = exports.addMeToYourFriendsDiv = void 0;
55
+ var lit_html_1 = require("lit-html");
56
+ var style_map_js_1 = require("lit-html/directives/style-map.js");
57
+ var solid_logic_1 = require("solid-logic");
58
+ var solid_ui_1 = require("solid-ui");
59
+ var addMeToYourFriendsHelper_1 = require("./addMeToYourFriendsHelper");
60
+ var baseStyles_1 = require("./baseStyles");
61
+ var texts_1 = require("./texts");
62
+ var buttonContainer = document.createElement("div");
63
+ //panel local style
64
+ var styles = {
65
+ button: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.textCenter)()), (0, baseStyles_1.padding)())),
66
+ };
67
+ var addMeToYourFriendsDiv = function (subject, context) {
68
+ buttonContainer = context.dom.createElement("div");
69
+ var button = createAddMeToYourFriendsButton(subject, context);
70
+ buttonContainer.appendChild(button);
71
+ return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject([" <div style=\"", "\">", "</div> "], [" <div style=\"", "\">", "</div> "])), styles.button, buttonContainer);
72
+ };
73
+ exports.addMeToYourFriendsDiv = addMeToYourFriendsDiv;
74
+ var createAddMeToYourFriendsButton = function (subject, context) {
75
+ var button = solid_ui_1.widgets.button(context.dom, undefined, texts_1.logInAddMeToYourFriendsButtonText, setButtonHandler, //sets an onclick event listener
76
+ {
77
+ needsBorder: true,
78
+ });
79
+ function setButtonHandler(event) {
80
+ event.preventDefault();
81
+ saveNewFriend(subject, context)
82
+ .then(function () {
83
+ (0, addMeToYourFriendsHelper_1.clearPreviousMessage)(buttonContainer);
84
+ (0, addMeToYourFriendsHelper_1.mention)(buttonContainer, texts_1.friendWasAddedSuccesMessage);
85
+ refreshButton();
86
+ })
87
+ .catch(function (error) {
88
+ (0, addMeToYourFriendsHelper_1.clearPreviousMessage)(buttonContainer);
89
+ //else UI.widgets.complain(buttonContainer, message); //displays an error message at the top of the window
90
+ (0, addMeToYourFriendsHelper_1.complain)(buttonContainer, context, error);
91
+ });
92
+ }
93
+ button.refresh = refreshButton();
94
+ function refreshButton() {
95
+ var me = solid_logic_1.authn.currentUser();
96
+ var store = context.session.store;
97
+ if (checkIfAnyUserLoggedIn(me)) {
98
+ checkIfFriendExists(store, me, subject).then(function (friendExists) {
99
+ if (friendExists) {
100
+ //logged in and friend exists or friend was just added
101
+ button.innerHTML = texts_1.friendExistsAlreadyButtonText.toUpperCase();
102
+ button.setAttribute("class", "textButton-0-1-3"); //style of 'Primary' UI button with needsBorder=true
103
+ }
104
+ else {
105
+ //logged in and friend does not exist yet
106
+ button.innerHTML = texts_1.addMeToYourFriendsButtonText.toUpperCase();
107
+ button.setAttribute("class", "textButton-0-1-2"); //style of 'Primary' UI button with needsBorder=false
108
+ }
109
+ });
110
+ }
111
+ else {
112
+ //not logged in
113
+ button.innerHTML = texts_1.logInAddMeToYourFriendsButtonText.toUpperCase();
114
+ button.setAttribute("class", "textButton-0-1-3"); //style of 'Primary' UI button with needsBorder=false
115
+ }
116
+ }
117
+ return button;
118
+ };
119
+ exports.createAddMeToYourFriendsButton = createAddMeToYourFriendsButton;
120
+ function saveNewFriend(subject, context) {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var me, store, updater, toBeInserted, error_1, errorMessage;
123
+ return __generator(this, function (_a) {
124
+ switch (_a.label) {
125
+ case 0:
126
+ me = solid_logic_1.authn.currentUser();
127
+ store = context.session.store;
128
+ if (!checkIfAnyUserLoggedIn(me)) return [3 /*break*/, 9];
129
+ return [4 /*yield*/, checkIfFriendExists(store, me, subject)];
130
+ case 1:
131
+ if (!!(_a.sent())) return [3 /*break*/, 7];
132
+ //if friend does not exist, we add her/him
133
+ return [4 /*yield*/, store.fetcher.load(me)];
134
+ case 2:
135
+ //if friend does not exist, we add her/him
136
+ _a.sent();
137
+ updater = store.updater;
138
+ toBeInserted = [solid_ui_1.rdf.st(me, solid_ui_1.ns.foaf("knows"), subject, me.doc())];
139
+ _a.label = 3;
140
+ case 3:
141
+ _a.trys.push([3, 5, , 6]);
142
+ return [4 /*yield*/, updater.update([], toBeInserted)];
143
+ case 4:
144
+ _a.sent();
145
+ return [3 /*break*/, 6];
146
+ case 5:
147
+ error_1 = _a.sent();
148
+ errorMessage = error_1;
149
+ if (errorMessage.toString().includes("Unauthenticated"))
150
+ errorMessage = texts_1.userNotLoggedInErrorMessage;
151
+ throw new Error(errorMessage);
152
+ case 6: return [3 /*break*/, 8];
153
+ case 7: throw new Error(texts_1.friendExistsMessage);
154
+ case 8: return [3 /*break*/, 10];
155
+ case 9: throw new Error(texts_1.userNotLoggedInErrorMessage);
156
+ case 10: return [2 /*return*/];
157
+ }
158
+ });
159
+ });
160
+ }
161
+ exports.saveNewFriend = saveNewFriend;
162
+ function checkIfAnyUserLoggedIn(me) {
163
+ if (me)
164
+ return true;
165
+ else
166
+ return false;
167
+ }
168
+ exports.checkIfAnyUserLoggedIn = checkIfAnyUserLoggedIn;
169
+ function checkIfFriendExists(store, me, subject) {
170
+ return __awaiter(this, void 0, void 0, function () {
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0: return [4 /*yield*/, store.fetcher.load(me)];
174
+ case 1:
175
+ _a.sent();
176
+ if (store.whether(me, solid_ui_1.ns.foaf("knows"), subject, me.doc()) === 0)
177
+ return [2 /*return*/, false];
178
+ else
179
+ return [2 /*return*/, true];
180
+ return [2 /*return*/];
181
+ }
182
+ });
183
+ });
184
+ }
185
+ exports.checkIfFriendExists = checkIfFriendExists;
186
+ var templateObject_1;
187
+ //# sourceMappingURL=addMeToYourFriends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addMeToYourFriends.js","sourceRoot":"","sources":["../src/addMeToYourFriends.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clearPreviousMessage = exports.mention = exports.complain = void 0;
4
+ var solid_ui_1 = require("solid-ui");
5
+ function complain(buttonContainer, context, error) {
6
+ buttonContainer.appendChild(solid_ui_1.widgets.errorMessageBlock(context.dom, error));
7
+ }
8
+ exports.complain = complain;
9
+ //TODO create positive frontend message component on UI
10
+ function mention(buttonContainer, message) {
11
+ var positiveFrontendMessageDiv = document.createElement("div");
12
+ positiveFrontendMessageDiv.setAttribute("style", "margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; background-color: #efe; color:black;");
13
+ //positiveFrontendMessageDiv.setAttribute('style', UI.style.messageBodyStyle) -> using UI but missing green backgroung color
14
+ positiveFrontendMessageDiv.innerHTML = message;
15
+ buttonContainer.appendChild(positiveFrontendMessageDiv);
16
+ }
17
+ exports.mention = mention;
18
+ function clearPreviousMessage(buttonContainer) {
19
+ while (buttonContainer.childNodes.length > 1) {
20
+ buttonContainer.removeChild(buttonContainer.lastChild);
21
+ }
22
+ }
23
+ exports.clearPreviousMessage = clearPreviousMessage;
24
+ //# sourceMappingURL=addMeToYourFriendsHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addMeToYourFriendsHelper.js","sourceRoot":"","sources":["../src/addMeToYourFriendsHelper.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAEnC,SAAS,QAAQ,CACf,eAA+B,EAC/B,OAA2B,EAC3B,KAAa;IAEb,eAAe,CAAC,WAAW,CAAC,kBAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAoBQ,4BAAQ;AAlBjB,uDAAuD;AACvD,SAAS,OAAO,CAAC,eAA+B,EAAE,OAAe;IAC/D,IAAM,0BAA0B,GAAmB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjF,0BAA0B,CAAC,YAAY,CACrC,OAAO,EACP,gGAAgG,CACjG,CAAC;IACF,4HAA4H;IAC5H,0BAA0B,CAAC,SAAS,GAAG,OAAO,CAAC;IAC/C,eAAe,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAC1D,CAAC;AAQkB,0BAAO;AAN1B,SAAS,oBAAoB,CAAC,eAA+B;IAC3D,OAAO,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5C,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;KACxD;AACH,CAAC;AAE2B,oDAAoB"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /*
3
+ eslint-disable @typescript-eslint/explicit-module-boundary-types
4
+ */
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.label = exports.headingLight = exports.heading = exports.textGray = exports.textDarkGray = exports.fontSemibold = exports.fontThin = exports.textXl = exports.textRight = exports.textLeft = exports.textCenter = exports.marginVerticalSmall = exports.paddingSmall = exports.padding = exports.fullWidth = exports.card = exports.responsiveGrid = void 0;
18
+ var responsiveGrid = function () { return ({
19
+ "--auto-grid-min-size": "20rem",
20
+ display: "grid",
21
+ "grid-template-columns": "repeat(auto-fill, minmax(var(--auto-grid-min-size), 1fr))",
22
+ "grid-gap": "1rem",
23
+ }); };
24
+ exports.responsiveGrid = responsiveGrid;
25
+ var card = function () { return ({
26
+ backgroundColor: "white",
27
+ borderRadius: "4px",
28
+ boxShadow: "0 1px 5px rgba(0,0,0,0.2)",
29
+ padding: "0",
30
+ }); };
31
+ exports.card = card;
32
+ var fullWidth = function () { return ({
33
+ width: "100%",
34
+ "max-width": "100vw",
35
+ }); };
36
+ exports.fullWidth = fullWidth;
37
+ var padding = function () { return ({
38
+ padding: "1rem",
39
+ }); };
40
+ exports.padding = padding;
41
+ var paddingSmall = function () { return ({
42
+ padding: "0.25rem",
43
+ }); };
44
+ exports.paddingSmall = paddingSmall;
45
+ var marginVerticalSmall = function () { return ({
46
+ marginTop: "0.25rem",
47
+ marginBottom: "0.25rem",
48
+ }); };
49
+ exports.marginVerticalSmall = marginVerticalSmall;
50
+ var textCenter = function () { return ({
51
+ textAlign: "center",
52
+ }); };
53
+ exports.textCenter = textCenter;
54
+ var textLeft = function () { return ({
55
+ textAlign: "left",
56
+ }); };
57
+ exports.textLeft = textLeft;
58
+ var textRight = function () { return ({
59
+ textAlign: "right",
60
+ }); };
61
+ exports.textRight = textRight;
62
+ var textXl = function () { return ({
63
+ fontSize: "1.25rem",
64
+ lineHeight: "1.75rem",
65
+ }); };
66
+ exports.textXl = textXl;
67
+ var fontThin = function () { return ({
68
+ fontWeight: "100",
69
+ }); };
70
+ exports.fontThin = fontThin;
71
+ var fontSemibold = function () { return ({
72
+ fontWeight: "600",
73
+ }); };
74
+ exports.fontSemibold = fontSemibold;
75
+ var textDarkGray = function () { return ({
76
+ color: "rgb(55, 65, 81,)",
77
+ }); };
78
+ exports.textDarkGray = textDarkGray;
79
+ var textGray = function () { return ({
80
+ color: "rgb(107, 114, 128)",
81
+ }); };
82
+ exports.textGray = textGray;
83
+ var heading = function () { return (__assign(__assign(__assign(__assign(__assign({}, (0, exports.textCenter)()), (0, exports.textXl)()), (0, exports.fontSemibold)()), (0, exports.textDarkGray)()), { margin: "0" })); };
84
+ exports.heading = heading;
85
+ var headingLight = function () { return (__assign(__assign(__assign(__assign({}, (0, exports.textGray)()), (0, exports.fontThin)()), (0, exports.textXl)()), { margin: "0" })); };
86
+ exports.headingLight = headingLight;
87
+ var label = function () { return (__assign(__assign({}, (0, exports.textGray)()), (0, exports.fontSemibold)())); };
88
+ exports.label = label;
89
+ //# sourceMappingURL=baseStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseStyles.js","sourceRoot":"","sources":["../src/baseStyles.ts"],"names":[],"mappings":"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"}
package/lib/index.js ADDED
@@ -0,0 +1,119 @@
1
+ "use strict";
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
+ var lit_html_1 = require("lit-html");
40
+ var ProfileView_1 = require("./ProfileView");
41
+ var solid_ui_1 = require("solid-ui");
42
+ var qrcode = require("qrcode");
43
+ function loadExtendedProfile(store, subject) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ var otherProfiles;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ otherProfiles = store.each(subject, solid_ui_1.ns.rdfs("seeAlso"), null, subject.doc());
50
+ if (!(otherProfiles.length > 0)) return [3 /*break*/, 2];
51
+ return [4 /*yield*/, store.fetcher.load(otherProfiles)];
52
+ case 1:
53
+ _a.sent();
54
+ _a.label = 2;
55
+ case 2: return [2 /*return*/];
56
+ }
57
+ });
58
+ });
59
+ }
60
+ var Pane = {
61
+ global: false,
62
+ icon: solid_ui_1.icons.iconBase + "noun_15059.svg",
63
+ name: "profile",
64
+ label: function (subject, context) {
65
+ var t = context.session.store.findTypeURIs(subject);
66
+ if (t[solid_ui_1.ns.vcard("Individual").uri] ||
67
+ t[solid_ui_1.ns.foaf("Person").uri] ||
68
+ t[solid_ui_1.ns.schema("Person").uri]) {
69
+ return "Profile";
70
+ }
71
+ return null;
72
+ },
73
+ render: function (subject, context) {
74
+ var target = context.dom.createElement("div");
75
+ var store = context.session.store;
76
+ loadExtendedProfile(store, subject).then(function () {
77
+ (0, lit_html_1.render)((0, ProfileView_1.ProfileView)(subject, context), target);
78
+ var QRCodeEles = Array.from(target.getElementsByClassName('QRCode')); // was context.dom
79
+ if (!QRCodeEles.length)
80
+ return console.error("QRCode Ele missing");
81
+ var _loop_1 = function (QRCodeElement) {
82
+ var value = QRCodeElement.getAttribute('data-value');
83
+ if (!value)
84
+ return { value: console.error("QRCode data-value missing") };
85
+ var highlightColor = QRCodeElement.getAttribute('highlightColor') || '#000000';
86
+ var backgroundColor = QRCodeElement.getAttribute('backgroundColor') || '#ffffff';
87
+ // zconsole.log(`@@ qrcodes2 colours highlightColor ${highlightColor}, backgroundColor ${backgroundColor}`)
88
+ var options = {
89
+ type: 'svg',
90
+ color: {
91
+ dark: highlightColor,
92
+ light: backgroundColor
93
+ }
94
+ };
95
+ qrcode.toString(value, options, function (error, svg) {
96
+ if (error) {
97
+ console.error('QRcode error!', error);
98
+ }
99
+ else {
100
+ console.log('QRcode success.', svg);
101
+ QRCodeElement.innerHTML = svg;
102
+ QRCodeElement.style.width = "80%";
103
+ QRCodeElement.style.height = "80%";
104
+ QRCodeElement.style.margin = "10%";
105
+ }
106
+ });
107
+ };
108
+ for (var _i = 0, _a = QRCodeEles; _i < _a.length; _i++) {
109
+ var QRCodeElement = _a[_i];
110
+ var state_1 = _loop_1(QRCodeElement);
111
+ if (typeof state_1 === "object")
112
+ return state_1.value;
113
+ }
114
+ });
115
+ return target;
116
+ },
117
+ };
118
+ exports.default = Pane;
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.context = exports.doc = exports.subject = void 0;
4
+ var rdflib_1 = require("rdflib");
5
+ var solid_logic_1 = require("solid-logic");
6
+ exports.subject = (0, rdflib_1.sym)("https://janedoe.example/profile/card#me");
7
+ exports.doc = exports.subject.doc();
8
+ exports.context = {
9
+ dom: document,
10
+ getOutliner: function () { return null; },
11
+ session: {
12
+ paneRegistry: {
13
+ byName: function (name) {
14
+ return {
15
+ render: function () {
16
+ return document.createElement('div')
17
+ .appendChild(document.createTextNode("mock ".concat(name, " pane")));
18
+ }
19
+ };
20
+ }
21
+ },
22
+ store: solid_logic_1.store,
23
+ logic: {},
24
+ },
25
+ };
26
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/integration-tests/setup.ts"],"names":[],"mappings":";;;AACA,iCAA6B;AAC7B,2CAAgD;AAEnC,QAAA,OAAO,GAAG,IAAA,YAAG,EAAC,yCAAyC,CAAC,CAAC;AACzD,QAAA,GAAG,GAAG,eAAO,CAAC,GAAG,EAAE,CAAC;AAEpB,QAAA,OAAO,GAAG;IACnB,GAAG,EAAE,QAAQ;IACb,WAAW,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI;IACvB,OAAO,EAAE;QACL,YAAY,EAAE;YACV,MAAM,EAAE,UAAC,IAAY;gBACjB,OAAO;oBACH,MAAM,EAAE;wBACJ,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;6BAC/B,WAAW,CACR,QAAQ,CAAC,cAAc,CAAC,eAAQ,IAAI,UAAO,CAAC,CAC/C,CAAC;oBACV,CAAC;iBACJ,CAAA;YACL,CAAC;SACY;QACjB,KAAK,qBAAA;QACL,KAAK,EAAE,EAAgB;KAC1B;CAC6B,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.presentProfile = exports.pronounsAsText = void 0;
4
+ var solid_ui_1 = require("solid-ui");
5
+ var solid_logic_1 = require("solid-logic");
6
+ var validate_color_1 = require("validate-color");
7
+ function pronounsAsText(subject) {
8
+ var pronouns = solid_logic_1.store.anyJS(subject, solid_ui_1.ns.solid('preferredSubjectPronoun')) || '';
9
+ if (pronouns) {
10
+ var them = solid_logic_1.store.anyJS(subject, solid_ui_1.ns.solid('preferredObjectPronoun'));
11
+ if (them) {
12
+ pronouns += '/' + them;
13
+ var their = solid_logic_1.store.anyJS(subject, solid_ui_1.ns.solid('preferredRelativePronoun'));
14
+ if (their) {
15
+ pronouns += '/' + their;
16
+ }
17
+ }
18
+ pronouns = ' (' + pronouns + ') ';
19
+ }
20
+ return pronouns || '';
21
+ }
22
+ exports.pronounsAsText = pronounsAsText;
23
+ var presentProfile = function (subject, store) {
24
+ var name = solid_ui_1.utils.label(subject);
25
+ var imageSrc = solid_ui_1.widgets.findImage(subject);
26
+ var role = store.anyValue(subject, solid_ui_1.ns.vcard("role"));
27
+ var orgName = store.anyValue(subject, solid_ui_1.ns.vcard("organization-name")); // @@ Search whole store
28
+ var address = store.any(subject, solid_ui_1.ns.vcard("hasAddress"));
29
+ var countryName = address != null
30
+ ? store.anyValue(address, solid_ui_1.ns.vcard("country-name"))
31
+ : null;
32
+ var locality = address != null
33
+ ? store.anyValue(address, solid_ui_1.ns.vcard("locality"))
34
+ : null;
35
+ var _a = getColors(subject, store), backgroundColor = _a.backgroundColor, highlightColor = _a.highlightColor;
36
+ var pronouns = pronounsAsText(subject);
37
+ return {
38
+ name: name,
39
+ imageSrc: imageSrc,
40
+ introduction: formatIntroduction(role, orgName),
41
+ location: formatLocation(countryName, locality),
42
+ backgroundColor: backgroundColor,
43
+ pronouns: pronouns,
44
+ highlightColor: highlightColor,
45
+ };
46
+ };
47
+ exports.presentProfile = presentProfile;
48
+ function formatLocation(countryName, locality) {
49
+ return countryName && locality
50
+ ? "".concat(locality, ", ").concat(countryName)
51
+ : countryName || locality || null;
52
+ }
53
+ function formatIntroduction(role, orgName) {
54
+ return role && orgName ? "".concat(role, " at ").concat(orgName) : orgName || role || null;
55
+ }
56
+ function getColors(subject, store) {
57
+ var backgroundColor = store.anyValue(subject, solid_ui_1.ns.solid("profileBackgroundColor"), null, subject.doc());
58
+ var highlightColor = store.anyValue(subject, solid_ui_1.ns.solid("profileHighlightColor"), null, subject.doc());
59
+ return {
60
+ backgroundColor: validColorOrDefault(backgroundColor, "#eee"),
61
+ highlightColor: validColorOrDefault(highlightColor, "#090"),
62
+ };
63
+ }
64
+ function validColorOrDefault(color, fallback) {
65
+ return color && (0, validate_color_1.validateHTMLColorHex)(color) ? color : fallback;
66
+ }
67
+ //# sourceMappingURL=presenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presenter.js","sourceRoot":"","sources":["../src/presenter.ts"],"names":[],"mappings":"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"}
package/lib/texts.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chatWithMeButtonText = exports.friendExistsAlreadyButtonText = exports.logInAddMeToYourFriendsButtonText = exports.addMeToYourFriendsButtonText = exports.loadingMessage = exports.friendExistsMessage = exports.friendWasAddedSuccesMessage = exports.internalErrorMessage = exports.userNotLoggedInErrorMessage = void 0;
4
+ //ERRORS & SUCCESS
5
+ //Same 'not logged in' error message like on 'Chat with me' button
6
+ exports.userNotLoggedInErrorMessage = "Current user not found! Not logged in?";
7
+ exports.internalErrorMessage = "An internal error occured!";
8
+ exports.friendWasAddedSuccesMessage = "Friend was added!";
9
+ //OTHER
10
+ exports.friendExistsMessage = "Friend already exists";
11
+ exports.loadingMessage = "Loading...";
12
+ //BUTTONS
13
+ exports.addMeToYourFriendsButtonText = "Add me to your friend list";
14
+ exports.logInAddMeToYourFriendsButtonText = "Login to add me to your friend list";
15
+ exports.friendExistsAlreadyButtonText = "Already part of friend list";
16
+ exports.chatWithMeButtonText = "Chat with me";
17
+ //# sourceMappingURL=texts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,kEAAkE;AACrD,QAAA,2BAA2B,GAAG,wCAAwC,CAAC;AACvE,QAAA,oBAAoB,GAAG,4BAA4B,CAAC;AACpD,QAAA,2BAA2B,GAAG,mBAAmB,CAAC;AAE/D,OAAO;AACM,QAAA,mBAAmB,GAAG,uBAAuB,CAAC;AAC9C,QAAA,cAAc,GAAG,YAAY,CAAC;AAE3C,SAAS;AACI,QAAA,4BAA4B,GAAG,4BAA4B,CAAC;AAC5D,QAAA,iCAAiC,GAAG,qCAAqC,CAAC;AAC1E,QAAA,6BAA6B,GAAG,6BAA6B,CAAC;AAC9D,QAAA,oBAAoB,GAAG,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "profile-pane",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "A SolidOS compatible pane to display a personal profile page",
5
5
  "repository": {
6
6
  "type": "git",