profile-pane 1.2.1-bdc9027d → 1.2.1-d33b9fcd
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 +97 -62
- package/lib/CVCard.js.map +1 -1
- package/lib/CVPresenter.js +44 -61
- package/lib/CVPresenter.js.map +1 -1
- package/lib/ChatWithMe.js +63 -107
- package/lib/ChatWithMe.js.map +1 -1
- package/lib/FriendList.js +25 -45
- package/lib/FriendList.js.map +1 -1
- package/lib/ProfileCard.js +25 -39
- package/lib/ProfileCard.js.map +1 -1
- package/lib/ProfileView.js +72 -84
- package/lib/ProfileView.js.map +1 -1
- package/lib/QRCodeCard.js +28 -48
- package/lib/QRCodeCard.js.map +1 -1
- package/lib/SocialCard.js +31 -47
- package/lib/SocialCard.js.map +1 -1
- package/lib/SocialPresenter.js +28 -35
- package/lib/SocialPresenter.js.map +1 -1
- package/lib/StuffCard.js +23 -46
- package/lib/StuffCard.js.map +1 -1
- package/lib/StuffPresenter.js +27 -67
- package/lib/StuffPresenter.js.map +1 -1
- package/lib/addMeToYourFriends.js +66 -139
- package/lib/addMeToYourFriends.js.map +1 -1
- package/lib/{addMeToYourFriendsHelper.js → buttonsHelper.js} +12 -11
- package/lib/buttonsHelper.js.map +1 -0
- package/lib/editProfilePane/editProfile.view.js +46 -45
- package/lib/editProfilePane/editProfile.view.js.map +1 -1
- package/lib/editProfilePane/profile.dom.js +5 -8
- package/lib/editProfilePane/profile.dom.js.map +1 -1
- package/lib/editProfilePane/wrapped-profileFormText.js +751 -4
- package/lib/editProfilePane/wrapped-profileFormText.js.map +1 -1
- package/lib/index.js +56 -111
- package/lib/index.js.map +1 -1
- package/lib/presenter.js +31 -36
- package/lib/presenter.js.map +1 -1
- package/lib/texts.js +12 -12
- package/lib/texts.js.map +1 -1
- package/package.json +19 -13
- package/lib/0SAVED-CVCard.js +0 -76
- package/lib/0SAVED-CVCard.js.map +0 -1
- package/lib/addMeToYourFriendsHelper.js.map +0 -1
- package/lib/baseStyles.js +0 -86
- package/lib/baseStyles.js.map +0 -1
- package/lib/integration-tests/helpers/dataSetup.js +0 -74
- package/lib/integration-tests/helpers/dataSetup.js.map +0 -1
- package/lib/integration-tests/helpers/setup.js +0 -19
- package/lib/integration-tests/helpers/setup.js.map +0 -1
- package/lib/integration-tests/setup.js +0 -46
- package/lib/integration-tests/setup.js.map +0 -1
package/lib/CVCard.js
CHANGED
|
@@ -1,71 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
import * as styles from './styles/CVCard.module.css';
|
|
3
|
+
export const CVCard = (cvData) => {
|
|
4
|
+
const { rolesByType, skills, languages } = cvData;
|
|
5
|
+
const futureRolesArr = rolesByType['FutureRole'] || [];
|
|
6
|
+
const currentRolesArr = rolesByType['CurrentRole'] || [];
|
|
7
|
+
const pastRolesArr = rolesByType['PastRole'] || [];
|
|
8
|
+
const skillsArr = skills || [];
|
|
9
|
+
const languagesArr = languages || [];
|
|
10
|
+
const hasFutureRole = Array.isArray(futureRolesArr) && futureRolesArr.length > 0;
|
|
11
|
+
const hasCurrentRole = Array.isArray(currentRolesArr) && currentRolesArr.length > 0;
|
|
12
|
+
const hasPastRole = Array.isArray(pastRolesArr) && pastRolesArr.length > 0;
|
|
13
|
+
const hasSkills = Array.isArray(skillsArr) && skillsArr.length > 0;
|
|
14
|
+
const hasLanguages = Array.isArray(languagesArr) && languagesArr.length > 0;
|
|
15
|
+
if (!(hasFutureRole || hasCurrentRole || hasPastRole || hasSkills || hasLanguages))
|
|
16
|
+
return html ``;
|
|
17
|
+
return html `
|
|
18
|
+
<section class="${styles.cvCard}" aria-label="Curriculum Vitae" data-testid="curriculum-vitae">
|
|
19
|
+
${hasFutureRole ? html `
|
|
20
|
+
<section class="${styles.cvSection}" aria-labelledby="cv-future-heading">
|
|
21
|
+
<h3 id="cv-future-heading">Future Roles</h3>
|
|
22
|
+
<ul>
|
|
23
|
+
${renderRoles(futureRolesArr, true)}
|
|
24
|
+
</ul>
|
|
25
|
+
</section>
|
|
26
|
+
` : ''}
|
|
27
|
+
${hasCurrentRole ? html `
|
|
28
|
+
<section class="${styles.cvSection}" aria-labelledby="cv-current-heading">
|
|
29
|
+
<h3 id="cv-current-heading">Current Roles</h3>
|
|
30
|
+
<ul>
|
|
31
|
+
${renderRoles(currentRolesArr, true)}
|
|
32
|
+
</ul>
|
|
33
|
+
</section>
|
|
34
|
+
` : ''}
|
|
35
|
+
${hasPastRole ? html `
|
|
36
|
+
<section class="${styles.cvSection}" aria-labelledby="cv-past-heading">
|
|
37
|
+
<h3 id="cv-past-heading">Past Roles</h3>
|
|
38
|
+
<ul>
|
|
39
|
+
${renderRoles(pastRolesArr, true)}
|
|
40
|
+
</ul>
|
|
41
|
+
</section>
|
|
42
|
+
` : ''}
|
|
43
|
+
${hasSkills ? html `
|
|
44
|
+
<section class="${styles.cvSection}" aria-labelledby="cv-skills-heading">
|
|
45
|
+
<h3 id="cv-skills-heading">Skills</h3>
|
|
46
|
+
<ul>
|
|
47
|
+
${renderSkills(skillsArr, true)}
|
|
48
|
+
</ul>
|
|
49
|
+
</section>
|
|
50
|
+
` : ''}
|
|
51
|
+
${hasLanguages ? html `
|
|
52
|
+
<section aria-labelledby="cv-languages-heading">
|
|
53
|
+
<h3 id="cv-languages-heading">Languages</h3>
|
|
54
|
+
<ul>
|
|
55
|
+
${renderLanguages(languagesArr, true)}
|
|
56
|
+
</ul>
|
|
57
|
+
</section>
|
|
58
|
+
` : ''}
|
|
59
|
+
</section>
|
|
60
|
+
`;
|
|
5
61
|
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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 baseStyles_2 = require("./baseStyles");
|
|
23
|
-
var styles = {
|
|
24
|
-
image: (0, style_map_js_1.styleMap)((0, baseStyles_1.fullWidth)()),
|
|
25
|
-
intro: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.textGray)()), (0, baseStyles_1.textCenter)())),
|
|
26
|
-
card: (0, style_map_js_1.styleMap)((0, baseStyles_2.card)()),
|
|
27
|
-
info: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.paddingSmall)()), (0, baseStyles_1.textLeft)())),
|
|
28
|
-
tools: (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.paddingSmall)()), (0, baseStyles_1.textRight)())),
|
|
29
|
-
};
|
|
30
|
-
var CVCard = function (profileBasics, cvData) {
|
|
31
|
-
var rolesByType = cvData.rolesByType, skills = cvData.skills, languages = cvData.languages;
|
|
32
|
-
var nameStyle = (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.heading)()), {
|
|
33
|
-
// "text-decoration": "underline",
|
|
34
|
-
color: profileBasics.highlightColor }));
|
|
35
|
-
if (renderRoles(rolesByType["FutureRole"]) || renderRoles(rolesByType["CurrentRole"]) || renderRoles(rolesByType["PastRole"]) || renderSkills(skills) || renderLanguages(languages)) {
|
|
36
|
-
return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <div>\n <div data-testid=\"curriculum-vitae\" style=\"", "\">\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 <hr />\n <h3 style=", ">Skills</h3>\n <div style=", ">", "</div>\n <h3 style=", ">Languages</h3>\n <div style=", ">", "</div>\n \n </div>\n </div>\n </div>\n "], ["\n <div>\n <div data-testid=\"curriculum-vitae\" style=\"", "\">\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 <hr />\n <h3 style=", ">Skills</h3>\n <div style=", ">", "</div>\n <h3 style=", ">Languages</h3>\n <div style=", ">", "</div>\n \n </div>\n </div>\n </div>\n "])), styles.card, styles.info, nameStyle, styles.info, renderRoles(rolesByType["FutureRole"]), styles.info, renderRoles(rolesByType["CurrentRole"]), styles.info, renderRoles(rolesByType["PastRole"]), nameStyle, styles.info, renderSkills(skills), nameStyle, styles.info, renderLanguages(languages));
|
|
37
|
-
}
|
|
38
|
-
return (0, lit_html_1.html)(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
|
|
39
|
-
};
|
|
40
|
-
exports.CVCard = CVCard;
|
|
41
|
-
function renderRole(role) {
|
|
42
|
-
return role
|
|
43
|
-
? (0, lit_html_1.html)(templateObject_3 || (templateObject_3 = __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, strToUpperCase(role.roleText), role.dates) : (0, lit_html_1.html)(templateObject_4 || (templateObject_4 = __makeTemplateObject([""], [""])));
|
|
62
|
+
function renderRole(role, asList = false) {
|
|
63
|
+
if (!role)
|
|
64
|
+
return html ``;
|
|
65
|
+
return asList
|
|
66
|
+
? html `<li class="${styles.cvRole}">
|
|
67
|
+
<span class="${styles.cvOrg}">${role.orgName}</span>
|
|
68
|
+
<span>${strToUpperCase(role.roleText)}</span>
|
|
69
|
+
<span>${role.dates}</span>
|
|
70
|
+
</li>`
|
|
71
|
+
: html ``;
|
|
44
72
|
}
|
|
45
|
-
function renderRoles(roles) {
|
|
46
|
-
if (roles[0]
|
|
47
|
-
return
|
|
73
|
+
function renderRoles(roles, asList = false) {
|
|
74
|
+
if (!roles || !roles.length || !roles[0])
|
|
75
|
+
return html ``;
|
|
76
|
+
return html `${renderRole(roles[0], asList)}${roles.length > 1 ? renderRoles(roles.slice(1), asList) : html ``}`;
|
|
48
77
|
}
|
|
49
|
-
function renderSkill(skill) {
|
|
50
|
-
|
|
51
|
-
|
|
78
|
+
function renderSkill(skill, asList = false) {
|
|
79
|
+
if (!skill)
|
|
80
|
+
return html ``;
|
|
81
|
+
return asList
|
|
82
|
+
? html `<li class="${styles.cvSkill}">${strToUpperCase(skill)}</li>`
|
|
83
|
+
: html ``;
|
|
52
84
|
}
|
|
53
|
-
function renderSkills(skills) {
|
|
54
|
-
if (skills[0]
|
|
55
|
-
return
|
|
85
|
+
function renderSkills(skills, asList = false) {
|
|
86
|
+
if (!skills || !skills.length || !skills[0])
|
|
87
|
+
return html ``;
|
|
88
|
+
return html `${renderSkill(skills[0], asList)}${skills.length > 1 ? renderSkills(skills.slice(1), asList) : html ``}`;
|
|
56
89
|
}
|
|
57
|
-
function renderLan(language) {
|
|
58
|
-
|
|
59
|
-
|
|
90
|
+
function renderLan(language, asList = false) {
|
|
91
|
+
if (!language)
|
|
92
|
+
return html ``;
|
|
93
|
+
return asList
|
|
94
|
+
? html `<li class="${styles.cvLanguage}">${language}</li>`
|
|
95
|
+
: html ``;
|
|
60
96
|
}
|
|
61
|
-
function renderLanguages(languages) {
|
|
62
|
-
if (languages[0]
|
|
63
|
-
return
|
|
97
|
+
function renderLanguages(languages, asList = false) {
|
|
98
|
+
if (!languages || !languages.length || !languages[0])
|
|
99
|
+
return html ``;
|
|
100
|
+
return html `${renderLan(languages[0], asList)}${languages.length > 1 ? renderLanguages(languages.slice(1), asList) : html ``}`;
|
|
64
101
|
}
|
|
65
102
|
function strToUpperCase(str) {
|
|
66
|
-
if (str && str[0] >
|
|
67
|
-
|
|
68
|
-
for (
|
|
103
|
+
if (str && str[0] > '') {
|
|
104
|
+
const strCase = str.split(' ');
|
|
105
|
+
for (let i = 0; i < strCase.length; i++) {
|
|
69
106
|
strCase[i] = strCase[i].charAt(0).toUpperCase() +
|
|
70
107
|
strCase[i].substring(1);
|
|
71
108
|
}
|
|
@@ -73,6 +110,4 @@ function strToUpperCase(str) {
|
|
|
73
110
|
}
|
|
74
111
|
return '';
|
|
75
112
|
}
|
|
76
|
-
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, templateObject_14;
|
|
77
|
-
// ends
|
|
78
113
|
//# sourceMappingURL=CVCard.js.map
|
package/lib/CVCard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CVCard.js","sourceRoot":"","sources":["../src/CVCard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CVCard.js","sourceRoot":"","sources":["../src/CVCard.ts"],"names":[],"mappings":"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"}
|
package/lib/CVPresenter.js
CHANGED
|
@@ -1,92 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.datesAsText = datesAsText;
|
|
7
|
-
exports.presentCV = presentCV;
|
|
8
|
-
var rdflib_1 = require("rdflib");
|
|
9
|
-
var solid_ui_1 = require("solid-ui");
|
|
10
|
-
var ORG = (0, rdflib_1.Namespace)('http://www.w3.org/ns/org#');
|
|
11
|
-
exports.typesOfRole = ['PastRole', 'CurrentRole', 'FutureRole'];
|
|
12
|
-
function skillAsText(store, sk) {
|
|
1
|
+
import { Namespace } from 'rdflib';
|
|
2
|
+
import { ns, utils } from 'solid-ui';
|
|
3
|
+
const ORG = Namespace('http://www.w3.org/ns/org#');
|
|
4
|
+
export const typesOfRole = ['PastRole', 'CurrentRole', 'FutureRole'];
|
|
5
|
+
export function skillAsText(store, sk) {
|
|
13
6
|
if (sk.termType === 'Literal')
|
|
14
7
|
return sk.value; // Not normal but allow this
|
|
15
|
-
|
|
8
|
+
const publicId = store.anyJS(sk, ns.solid('publicId'));
|
|
16
9
|
if (publicId) {
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
return
|
|
10
|
+
const name = store.anyJS(publicId, ns.schema('name'));
|
|
11
|
+
if (name)
|
|
12
|
+
return name; // @@ check language and get name in diff language if necessary
|
|
20
13
|
}
|
|
21
|
-
|
|
22
|
-
if (manual && manual[0] >
|
|
14
|
+
const manual = store.anyJS(sk, ns.vcard('role'));
|
|
15
|
+
if (manual && manual[0] > '')
|
|
23
16
|
return manual;
|
|
24
17
|
return '¿¿¿ skill ???';
|
|
25
18
|
}
|
|
26
|
-
function languageAsText(store, lan) {
|
|
19
|
+
export function languageAsText(store, lan) {
|
|
27
20
|
if (lan.termType === 'Literal')
|
|
28
21
|
return lan.value; // Not normal but allow this
|
|
29
|
-
|
|
22
|
+
const publicId = store.anyJS(lan, ns.solid('publicId'));
|
|
30
23
|
if (publicId)
|
|
31
|
-
return
|
|
24
|
+
return utils.label(publicId, true); // @@ check language and get name in diff language if necessary
|
|
32
25
|
return '-';
|
|
33
26
|
}
|
|
34
|
-
function datesAsText(startDate, endDate) {
|
|
27
|
+
export function datesAsText(startDate, endDate) {
|
|
35
28
|
return startDate ? '(' + startDate.value.slice(0, 10) + ' to ' +
|
|
36
29
|
(endDate ? endDate.value.slice(0, 10) : '') + ')'
|
|
37
30
|
: '';
|
|
38
31
|
}
|
|
39
32
|
function getRolesByType(store, subject) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
for (
|
|
43
|
-
|
|
44
|
-
var orgHomePage = void 0, orgNameGiven = void 0, publicIdName = void 0, roleName = void 0, publicId
|
|
33
|
+
const memberships = store.each(null, ORG('member'), subject, null);
|
|
34
|
+
const rolesByType = { PastRole: [], CurrentRole: [], FutureRole: [] };
|
|
35
|
+
for (const membership of memberships) {
|
|
36
|
+
let orgHomePage, orgNameGiven, publicIdName, roleName, publicId;
|
|
45
37
|
// Things should have start dates but we will be very lenient in this view
|
|
46
|
-
=
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var dates = datesAsText(startDate, endDate);
|
|
51
|
-
var organization = store.any(membership, ORG('organization'));
|
|
38
|
+
const startDate = store.any(membership, ns.schema('startDate'));
|
|
39
|
+
const endDate = store.any(membership, ns.schema('endDate'));
|
|
40
|
+
const dates = datesAsText(startDate, endDate);
|
|
41
|
+
const organization = store.any(membership, ORG('organization'));
|
|
52
42
|
if (organization) {
|
|
53
|
-
orgNameGiven = store.anyJS(organization,
|
|
54
|
-
orgHomePage = store.any(organization,
|
|
55
|
-
publicId = store.any(organization,
|
|
43
|
+
orgNameGiven = store.anyJS(organization, ns.schema('name'));
|
|
44
|
+
orgHomePage = store.any(organization, ns.schema('uri'));
|
|
45
|
+
publicId = store.any(organization, ns.solid('publicId'));
|
|
56
46
|
}
|
|
57
47
|
if (publicId) {
|
|
58
|
-
publicIdName = store.anyJS(publicId,
|
|
48
|
+
publicIdName = store.anyJS(publicId, ns.schema('name'));
|
|
59
49
|
}
|
|
60
|
-
|
|
61
|
-
|
|
50
|
+
const orgName = publicIdName || orgNameGiven;
|
|
51
|
+
const escoRole = store.any(membership, ORG('role'));
|
|
62
52
|
if (escoRole) {
|
|
63
|
-
roleName = store.anyJS(escoRole,
|
|
53
|
+
roleName = store.anyJS(escoRole, ns.schema('name'));
|
|
64
54
|
}
|
|
65
|
-
|
|
66
|
-
|
|
55
|
+
const roleText0 = store.anyJS(membership, ns.vcard('role'));
|
|
56
|
+
const roleText = (roleText0 && roleName) ? roleName + ' - ' + roleText0
|
|
67
57
|
: roleText0 || roleName;
|
|
68
|
-
|
|
69
|
-
startDate: startDate,
|
|
70
|
-
endDate: endDate,
|
|
71
|
-
orgName: orgName,
|
|
72
|
-
roleText: roleText,
|
|
73
|
-
dates: dates,
|
|
74
|
-
orgHomePage: orgHomePage
|
|
58
|
+
const item = {
|
|
59
|
+
startDate: startDate, endDate, orgName, roleText, dates, orgHomePage
|
|
75
60
|
};
|
|
76
|
-
for (
|
|
77
|
-
|
|
78
|
-
if (store.holds(membership, solid_ui_1.ns.rdf('type'), solid_ui_1.ns.solid(t))) {
|
|
61
|
+
for (const t of typesOfRole) {
|
|
62
|
+
if (store.holds(membership, ns.rdf('type'), ns.solid(t))) {
|
|
79
63
|
rolesByType[t].push(item);
|
|
80
64
|
}
|
|
81
65
|
}
|
|
82
66
|
}
|
|
83
67
|
return rolesByType;
|
|
84
68
|
}
|
|
85
|
-
function presentCV(subject, store) {
|
|
86
|
-
|
|
69
|
+
export function presentCV(subject, store) {
|
|
70
|
+
const rolesByType = getRolesByType(store, subject);
|
|
87
71
|
// Most recent thing most relevant -> sort by end date
|
|
88
|
-
for (
|
|
89
|
-
var t = typesOfRole_2[_i];
|
|
72
|
+
for (const t of typesOfRole) {
|
|
90
73
|
rolesByType[t].sort(function (x, y) {
|
|
91
74
|
if (x.endDate && y.endDate) {
|
|
92
75
|
return x.endDate > y.endDate ? -1 : 1;
|
|
@@ -94,11 +77,11 @@ function presentCV(subject, store) {
|
|
|
94
77
|
return x.startDate > y.startDate ? -1 : 1;
|
|
95
78
|
});
|
|
96
79
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
80
|
+
const skills = store.each(subject, ns.schema('skills')).map(sk => skillAsText(store, sk));
|
|
81
|
+
const languagesInStore = store.anyJS(subject, ns.schema('knowsLanguage'));
|
|
82
|
+
let languages = [];
|
|
100
83
|
if (languagesInStore)
|
|
101
|
-
languages = languagesInStore.map(
|
|
102
|
-
return { rolesByType
|
|
84
|
+
languages = languagesInStore.map(lan => languageAsText(store, lan));
|
|
85
|
+
return { rolesByType, skills, languages };
|
|
103
86
|
}
|
|
104
87
|
//# sourceMappingURL=CVPresenter.js.map
|
package/lib/CVPresenter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CVPresenter.js","sourceRoot":"","sources":["../src/CVPresenter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CVPresenter.js","sourceRoot":"","sources":["../src/CVPresenter.ts"],"names":[],"mappings":"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"}
|
package/lib/ChatWithMe.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
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
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -12,33 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
12
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
13
8
|
});
|
|
14
9
|
};
|
|
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 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
17
|
-
return g.next = verb(0), g["throw"] = verb(1), g["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 (g && (g = 0, op[0] && (_ = 0)), _) 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
10
|
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
43
11
|
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
44
12
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
@@ -52,84 +20,72 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
|
|
|
52
20
|
function reject(value) { resume("throw", value); }
|
|
53
21
|
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
54
22
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
23
|
+
import { html } from 'lit-html';
|
|
24
|
+
import { widgets, style } from 'solid-ui';
|
|
25
|
+
import { authn } from 'solid-logic';
|
|
26
|
+
import { asyncReplace } from 'lit-html/directives/async-replace.js';
|
|
27
|
+
import { chatWithMeButtonText, logInToChatWithMeButtonText, loadingMessage } from './texts';
|
|
28
|
+
import { checkIfAnyUserLoggedIn, complain } from './buttonsHelper';
|
|
29
|
+
import * as localStyles from './styles/ChatWithMe.module.css';
|
|
30
|
+
export const ChatWithMe = (subject, context) => {
|
|
31
|
+
const logic = context.session.logic;
|
|
32
|
+
const longChatPane = context.session.paneRegistry.byName('long chat');
|
|
64
33
|
function chatContainer() {
|
|
65
|
-
return __asyncGenerator(this, arguments, function chatContainer_1() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
case 9:
|
|
100
|
-
button = solid_ui_1.widgets.button(context.dom, undefined, texts_1.chatWithMeButtonText, function () { return __awaiter(_this, void 0, void 0, function () {
|
|
101
|
-
var chat, e_2;
|
|
102
|
-
return __generator(this, function (_a) {
|
|
103
|
-
switch (_a.label) {
|
|
104
|
-
case 0:
|
|
105
|
-
_a.trys.push([0, 2, , 3]);
|
|
106
|
-
return [4 /*yield*/, logic.chat.getChat(subject, true)];
|
|
107
|
-
case 1:
|
|
108
|
-
chat = _a.sent();
|
|
109
|
-
chatContainer.innerHTML = "";
|
|
110
|
-
chatContainer.appendChild(longChatPane.render(chat, context, {}));
|
|
111
|
-
return [3 /*break*/, 3];
|
|
112
|
-
case 2:
|
|
113
|
-
e_2 = _a.sent();
|
|
114
|
-
chatContainer.appendChild(solid_ui_1.widgets.errorMessageBlock(context.dom, e_2.message));
|
|
115
|
-
return [3 /*break*/, 3];
|
|
116
|
-
case 3: return [2 /*return*/];
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}); }, { needsBorder: true });
|
|
120
|
-
chatContainer.appendChild(button);
|
|
121
|
-
return [4 /*yield*/, __await(chatContainer)];
|
|
122
|
-
case 10: return [4 /*yield*/, _a.sent()];
|
|
123
|
-
case 11:
|
|
124
|
-
_a.sent();
|
|
125
|
-
_a.label = 12;
|
|
126
|
-
case 12: return [2 /*return*/];
|
|
34
|
+
return __asyncGenerator(this, arguments, function* chatContainer_1() {
|
|
35
|
+
const chatContainer = context.dom.createElement('section');
|
|
36
|
+
chatContainer.setAttribute('class', localStyles.chatSection);
|
|
37
|
+
chatContainer.setAttribute('aria-labelledby', 'chat-card-title');
|
|
38
|
+
chatContainer.setAttribute('role', 'region');
|
|
39
|
+
chatContainer.setAttribute('data-testid', 'chat');
|
|
40
|
+
let exists;
|
|
41
|
+
try {
|
|
42
|
+
yield yield __await(loadingMessage.toUpperCase()), (exists = yield __await(logic.chat.getChat(subject, false)));
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
exists = false;
|
|
47
|
+
}
|
|
48
|
+
if (exists) {
|
|
49
|
+
chatContainer.appendChild(longChatPane.render(exists, context, {}));
|
|
50
|
+
yield yield __await(chatContainer);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const me = authn.currentUser();
|
|
54
|
+
let label = checkIfAnyUserLoggedIn(me) ? chatWithMeButtonText.toUpperCase() : logInToChatWithMeButtonText.toUpperCase();
|
|
55
|
+
const button = widgets.button(context.dom, undefined, label, setButtonHandler, { needsBorder: true });
|
|
56
|
+
function setButtonHandler(event) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
event.preventDefault();
|
|
59
|
+
try {
|
|
60
|
+
const chat = yield logic.chat.getChat(subject, true);
|
|
61
|
+
chatContainer.innerHTML = '';
|
|
62
|
+
chatContainer.appendChild(longChatPane.render(chat, context, {}));
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
complain(chatContainer, context, error);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
127
68
|
}
|
|
128
|
-
|
|
69
|
+
button.refresh = refreshButton();
|
|
70
|
+
function refreshButton() {
|
|
71
|
+
const me = authn.currentUser();
|
|
72
|
+
if (checkIfAnyUserLoggedIn(me)) {
|
|
73
|
+
button.innerHTML = chatWithMeButtonText.toUpperCase();
|
|
74
|
+
button.className = 'button';
|
|
75
|
+
button.setAttribute('class', style.primaryButton);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
//not logged in
|
|
79
|
+
button.innerHTML = logInToChatWithMeButtonText.toUpperCase();
|
|
80
|
+
button.className = 'button';
|
|
81
|
+
button.setAttribute('class', style.primaryButton);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
chatContainer.appendChild(button);
|
|
85
|
+
yield yield __await(chatContainer);
|
|
86
|
+
}
|
|
129
87
|
});
|
|
130
88
|
}
|
|
131
|
-
return
|
|
89
|
+
return html ` ${asyncReplace(chatContainer())} `;
|
|
132
90
|
};
|
|
133
|
-
exports.ChatWithMe = ChatWithMe;
|
|
134
|
-
var templateObject_1;
|
|
135
91
|
//# sourceMappingURL=ChatWithMe.js.map
|
package/lib/ChatWithMe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWithMe.js","sourceRoot":"","sources":["../src/ChatWithMe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatWithMe.js","sourceRoot":"","sources":["../src/ChatWithMe.ts"],"names":[],"mappings":"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"}
|