profile-pane 1.2.1 → 2.0.0-2b18796c

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.
Files changed (90) hide show
  1. package/README.md +1 -21
  2. package/lib/0SAVED-CVCard.d.ts +5 -0
  3. package/lib/0SAVED-CVCard.d.ts.map +1 -0
  4. package/lib/0SAVED-CVCard.js +71 -57
  5. package/lib/CVCard.d.ts +5 -0
  6. package/lib/CVCard.d.ts.map +1 -0
  7. package/lib/CVCard.js +79 -58
  8. package/lib/CVPresenter.d.ts +25 -0
  9. package/lib/CVPresenter.d.ts.map +1 -0
  10. package/lib/CVPresenter.js +87 -91
  11. package/lib/ChatWithMe.d.ts +5 -0
  12. package/lib/ChatWithMe.d.ts.map +1 -0
  13. package/lib/ChatWithMe.js +39 -131
  14. package/lib/FriendList.d.ts +6 -0
  15. package/lib/FriendList.d.ts.map +1 -0
  16. package/lib/FriendList.js +41 -49
  17. package/lib/ProfileCard.d.ts +4 -0
  18. package/lib/ProfileCard.d.ts.map +1 -0
  19. package/lib/ProfileCard.js +38 -36
  20. package/lib/ProfileView.d.ts +5 -0
  21. package/lib/ProfileView.d.ts.map +1 -0
  22. package/lib/ProfileView.js +67 -94
  23. package/lib/QRCodeCard.d.ts +5 -0
  24. package/lib/QRCodeCard.d.ts.map +1 -0
  25. package/lib/QRCodeCard.js +54 -47
  26. package/lib/SocialCard.d.ts +5 -0
  27. package/lib/SocialCard.d.ts.map +1 -0
  28. package/lib/SocialCard.js +56 -42
  29. package/lib/SocialPresenter.d.ts +12 -0
  30. package/lib/SocialPresenter.d.ts.map +1 -0
  31. package/lib/SocialPresenter.js +73 -73
  32. package/lib/StuffCard.d.ts +6 -0
  33. package/lib/StuffCard.d.ts.map +1 -0
  34. package/lib/StuffCard.js +52 -47
  35. package/lib/StuffPresenter.d.ts +14 -0
  36. package/lib/StuffPresenter.d.ts.map +1 -0
  37. package/lib/StuffPresenter.js +47 -76
  38. package/lib/addMeToYourFriends.d.ts +10 -0
  39. package/lib/addMeToYourFriends.d.ts.map +1 -0
  40. package/lib/addMeToYourFriends.js +88 -172
  41. package/lib/addMeToYourFriendsHelper.d.ts +6 -0
  42. package/lib/addMeToYourFriendsHelper.d.ts.map +1 -0
  43. package/lib/addMeToYourFriendsHelper.js +17 -14
  44. package/lib/baseStyles.d.ts +71 -0
  45. package/lib/baseStyles.d.ts.map +1 -0
  46. package/lib/baseStyles.js +75 -69
  47. package/lib/editProfilePane/editProfile.view.d.ts +13 -0
  48. package/lib/editProfilePane/editProfile.view.d.ts.map +1 -0
  49. package/lib/editProfilePane/editProfile.view.js +125 -117
  50. package/lib/editProfilePane/profile.dom.d.ts +4 -0
  51. package/lib/editProfilePane/profile.dom.d.ts.map +1 -0
  52. package/lib/editProfilePane/profile.dom.js +29 -13
  53. package/lib/index.d.ts +12 -0
  54. package/lib/index.d.ts.map +1 -0
  55. package/lib/index.js +64 -127
  56. package/lib/presenter.d.ts +14 -0
  57. package/lib/presenter.d.ts.map +1 -0
  58. package/lib/presenter.js +52 -52
  59. package/lib/texts.d.ts +10 -0
  60. package/lib/texts.d.ts.map +1 -0
  61. package/lib/texts.js +16 -12
  62. package/package.json +32 -18
  63. package/lib/0SAVED-CVCard.js.map +0 -1
  64. package/lib/CVCard.js.map +0 -1
  65. package/lib/CVPresenter.js.map +0 -1
  66. package/lib/ChatWithMe.js.map +0 -1
  67. package/lib/FriendList.js.map +0 -1
  68. package/lib/ProfileCard.js.map +0 -1
  69. package/lib/ProfileView.js.map +0 -1
  70. package/lib/QRCodeCard.js.map +0 -1
  71. package/lib/SocialCard.js.map +0 -1
  72. package/lib/SocialPresenter.js.map +0 -1
  73. package/lib/StuffCard.js.map +0 -1
  74. package/lib/StuffPresenter.js.map +0 -1
  75. package/lib/addMeToYourFriends.js.map +0 -1
  76. package/lib/addMeToYourFriendsHelper.js.map +0 -1
  77. package/lib/baseStyles.js.map +0 -1
  78. package/lib/editProfilePane/editProfile.view.js.map +0 -1
  79. package/lib/editProfilePane/profile.dom.js.map +0 -1
  80. package/lib/editProfilePane/wrapped-profileFormText.js +0 -5
  81. package/lib/editProfilePane/wrapped-profileFormText.js.map +0 -1
  82. package/lib/index.js.map +0 -1
  83. package/lib/integration-tests/helpers/dataSetup.js +0 -74
  84. package/lib/integration-tests/helpers/dataSetup.js.map +0 -1
  85. package/lib/integration-tests/helpers/setup.js +0 -19
  86. package/lib/integration-tests/helpers/setup.js.map +0 -1
  87. package/lib/integration-tests/setup.js +0 -46
  88. package/lib/integration-tests/setup.js.map +0 -1
  89. package/lib/presenter.js.map +0 -1
  90. package/lib/texts.js.map +0 -1
package/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # profile-pane
2
2
  SolidOS pane that displays a personal profile page
3
3
 
4
- This is a re-write that is going to replace the current profile pane
5
-
6
4
  ![CI](https://github.com/solid/profile-pane/workflows/CI/badge.svg)
7
5
 
8
6
  ## Contribute
@@ -29,10 +27,6 @@ If this is the case, simply run "npm audit fix" and upgrade the repository. It s
29
27
 
30
28
  Unit tests use `jest` and are placed next to the tested file as `*.spec.ts` files.
31
29
 
32
- #### Integration tests
33
-
34
- Integration tests verify the rendering of the whole pane (with mocked HTTP requests) and are placed under `./src/integration-tests`.
35
-
36
30
  ### Dev Server
37
31
 
38
32
  Start a webpack dev server:
@@ -41,8 +35,7 @@ Start a webpack dev server:
41
35
  npm start
42
36
  ```
43
37
 
44
- Visit `http://localhost:8080/` to render the pane. Adjust `const webIdToShow` in `./dev/index.ts` to show a
45
- different profile.
38
+ Visit `http://localhost:8080/` to render the pane. Adjust `const webIdToShow` in `./dev/index.ts` to show a different profile.
46
39
 
47
40
  ### Build
48
41
 
@@ -52,16 +45,3 @@ npm run build
52
45
 
53
46
  The build is done by `tsc`, webpack is only used as dev server and not for production build.
54
47
 
55
- ### Check before committing
56
-
57
- ```
58
- npm run check
59
- ```
60
-
61
- This does lint, build and test.
62
-
63
- ### Notes
64
-
65
- If suddenly many tests fail, it may be that the installation has ended up with
66
- two different instances of solid-logic. Run `npm list solid-logic` and make sure there is only one.
67
- Otherwise `rm -rf node_modules package-lock.json && npm install` should fix it.
@@ -0,0 +1,5 @@
1
+ import { TemplateResult } from 'lit-html';
2
+ import { ProfilePresentation } from './presenter';
3
+ import { CVPresentation } from './CVPresenter';
4
+ export declare const CVCard: (profileBasics: ProfilePresentation, cvData: CVPresentation) => TemplateResult;
5
+ //# sourceMappingURL=0SAVED-CVCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0SAVED-CVCard.d.ts","sourceRoot":"","sources":["../src/0SAVED-CVCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,UAAU,CAAA;AAS/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAW9C,eAAO,MAAM,MAAM,GACjB,eAAe,mBAAmB,EAClC,QAAQ,cAAc,KACrB,cA6BF,CAAA"}
@@ -1,76 +1,90 @@
1
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 });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
18
6
  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)())),
7
+ var _litHtml = require("lit-html");
8
+ var _baseStyles = require("./baseStyles");
9
+ var _styleMap = require("lit-html/directives/style-map.js");
10
+ const styles = {
11
+ image: (0, _styleMap.styleMap)((0, _baseStyles.fullWidth)()),
12
+ intro: (0, _styleMap.styleMap)({
13
+ ...(0, _baseStyles.textGray)(),
14
+ ...(0, _baseStyles.textCenter)()
15
+ }),
16
+ card: (0, _styleMap.styleMap)((0, _baseStyles.card)()),
17
+ info: (0, _styleMap.styleMap)({
18
+ ...(0, _baseStyles.paddingSmall)(),
19
+ ...(0, _baseStyles.textLeft)()
20
+ })
28
21
  };
29
- var CVCard = function (profileBasics, cvData) {
30
- var rolesByType = cvData.rolesByType, skills = cvData.skills, languages = cvData.languages;
31
- var nameStyle = (0, style_map_js_1.styleMap)(__assign(__assign({}, (0, baseStyles_1.heading)()), {
32
- // "text-decoration": "underline",
33
- color: profileBasics.highlightColor }));
34
- if (renderRoles(rolesByType["FutureRole"]) || renderRoles(rolesByType["CurrentRole"]) || renderRoles(rolesByType["PastRole"]) || renderSkills(skills) || renderLanguages(languages)) {
35
- return (0, lit_html_1.html)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\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 </div>\n </div>\n "], ["\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 </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));
36
- }
37
- return (0, lit_html_1.html)(templateObject_2 || (templateObject_2 = __makeTemplateObject([""], [""])));
22
+ const CVCard = (profileBasics, cvData) => {
23
+ const {
24
+ rolesByType,
25
+ skills,
26
+ languages
27
+ } = cvData;
28
+ const nameStyle = (0, _styleMap.styleMap)({
29
+ ...(0, _baseStyles.heading)(),
30
+ // "text-decoration": "underline",
31
+ color: profileBasics.highlightColor // was "text-decoration-color"
32
+ });
33
+ if (renderRoles(rolesByType['FutureRole']) || renderRoles(rolesByType['CurrentRole']) || renderRoles(rolesByType['PastRole']) || renderSkills(skills) || renderLanguages(languages)) {
34
+ return (0, _litHtml.html)`
35
+ <div data-testid="curriculum-vitae" style="${styles.card}">
36
+ <div style=${styles.info}>
37
+ <h3 style=${nameStyle}>Bio</h3>
38
+ <div style=${styles.info}>${renderRoles(rolesByType['FutureRole'])}</div>
39
+ <hr />
40
+ <div style=${styles.info}>${renderRoles(rolesByType['CurrentRole'])}</div>
41
+ <hr />
42
+ <div style=${styles.info}>${renderRoles(rolesByType['PastRole'])}</div>
43
+ <hr />
44
+ <h3 style=${nameStyle}>Skills</h3>
45
+ <div style=${styles.info}>${renderSkills(skills)}</div>
46
+ <h3 style=${nameStyle}>Languages</h3>
47
+ <div style=${styles.info}>${renderLanguages(languages)}</div>
48
+ </div>
49
+ </div>
50
+ `;
51
+ }
52
+ return (0, _litHtml.html)``;
38
53
  };
39
54
  exports.CVCard = CVCard;
40
55
  function renderRole(role) {
41
- return role
42
- ? (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([""], [""])));
56
+ return role ? (0, _litHtml.html)`<div style="margin-top: 0.3em; margin-bottom: 0.3em;">
57
+ <b>${role.orgName}</b>
58
+ <span>${strToUpperCase(role.roleText)}</span>
59
+ <span>${role.dates}</span>
60
+ </div> ` : (0, _litHtml.html)``;
43
61
  }
44
62
  function renderRoles(roles) {
45
- if (roles[0] > "")
46
- return (0, lit_html_1.html)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["", "", ""], ["", "", ""])), renderRole(roles[0]), roles.length > 1 ? renderRoles(roles.slice(1)) : (0, lit_html_1.html)(templateObject_5 || (templateObject_5 = __makeTemplateObject([""], [""]))));
63
+ if (roles[0] > '') return (0, _litHtml.html)`${renderRole(roles[0])}${roles.length > 1 ? renderRoles(roles.slice(1)) : (0, _litHtml.html)``}`;
47
64
  }
48
65
  function renderSkill(skill) {
49
- return skill
50
- ? (0, lit_html_1.html)(templateObject_7 || (templateObject_7 = __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_8 || (templateObject_8 = __makeTemplateObject([""], [""])));
66
+ return skill ? (0, _litHtml.html)`<div style="margin: 0.5em;">
67
+ <p style="text-align: center;">${skill}</p>
68
+ </div> ` : (0, _litHtml.html)``;
51
69
  }
52
70
  function renderSkills(skills) {
53
- if (skills[0] > "")
54
- return (0, lit_html_1.html)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["", " ", ""], ["", " ", ""])), renderSkill(strToUpperCase(skills[0])), skills.length > 1 ? renderSkills(skills.slice(1)) : (0, lit_html_1.html)(templateObject_9 || (templateObject_9 = __makeTemplateObject([""], [""]))));
71
+ if (skills[0] > '') return (0, _litHtml.html)`${renderSkill(strToUpperCase(skills[0]))} ${skills.length > 1 ? renderSkills(skills.slice(1)) : (0, _litHtml.html)``}`;
55
72
  }
56
73
  function renderLan(language) {
57
- return language
58
- ? (0, lit_html_1.html)(templateObject_11 || (templateObject_11 = __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_12 || (templateObject_12 = __makeTemplateObject([""], [""])));
74
+ return language ? (0, _litHtml.html)`<div style="margin: 0.5em;">
75
+ <p style="text-align: center;">${language}</p>
76
+ </div> ` : (0, _litHtml.html)``;
59
77
  }
60
78
  function renderLanguages(languages) {
61
- if (languages[0] > "")
62
- return (0, lit_html_1.html)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["", "", ""], ["", "", ""])), renderLan(languages[0]), languages.length > 1 ? renderLanguages(languages.slice(1)) : (0, lit_html_1.html)(templateObject_13 || (templateObject_13 = __makeTemplateObject([""], [""]))));
79
+ if (languages[0] > '') return (0, _litHtml.html)`${renderLan(languages[0])}${languages.length > 1 ? renderLanguages(languages.slice(1)) : (0, _litHtml.html)``}`;
63
80
  }
64
81
  function strToUpperCase(str) {
65
- if (str && str[0] > "") {
66
- var strCase = str.split(' ');
67
- for (var i = 0; i < strCase.length; i++) {
68
- strCase[i] = strCase[i].charAt(0).toUpperCase() +
69
- strCase[i].substring(1);
70
- }
71
- return strCase.join(' ');
82
+ if (str && str[0] > '') {
83
+ const strCase = str.split(' ');
84
+ for (let i = 0; i < strCase.length; i++) {
85
+ strCase[i] = strCase[i].charAt(0).toUpperCase() + strCase[i].substring(1);
72
86
  }
73
- return '';
74
- }
75
- 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;
76
- //# sourceMappingURL=0SAVED-CVCard.js.map
87
+ return strCase.join(' ');
88
+ }
89
+ return '';
90
+ }
@@ -0,0 +1,5 @@
1
+ import { TemplateResult } from 'lit-html';
2
+ import { ProfilePresentation } from './presenter';
3
+ import { CVPresentation } from './CVPresenter';
4
+ export declare const CVCard: (profileBasics: ProfilePresentation, cvData: CVPresentation) => TemplateResult;
5
+ //# sourceMappingURL=CVCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CVCard.d.ts","sourceRoot":"","sources":["../src/CVCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,UAAU,CAAA;AAS/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAa9C,eAAO,MAAM,MAAM,GACjB,eAAe,mBAAmB,EAClC,QAAQ,cAAc,KACrB,cAgCF,CAAA"}
package/lib/CVCard.js CHANGED
@@ -1,78 +1,99 @@
1
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 });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
18
6
  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)())),
7
+ var _litHtml = require("lit-html");
8
+ var _baseStyles = require("./baseStyles");
9
+ var _styleMap = require("lit-html/directives/style-map.js");
10
+ const styles = {
11
+ image: (0, _styleMap.styleMap)((0, _baseStyles.fullWidth)()),
12
+ intro: (0, _styleMap.styleMap)({
13
+ ...(0, _baseStyles.textGray)(),
14
+ ...(0, _baseStyles.textCenter)()
15
+ }),
16
+ card: (0, _styleMap.styleMap)((0, _baseStyles.card)()),
17
+ info: (0, _styleMap.styleMap)({
18
+ ...(0, _baseStyles.paddingSmall)(),
19
+ ...(0, _baseStyles.textLeft)()
20
+ }),
21
+ tools: (0, _styleMap.styleMap)({
22
+ ...(0, _baseStyles.paddingSmall)(),
23
+ ...(0, _baseStyles.textRight)()
24
+ })
29
25
  };
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([""], [""])));
26
+ const CVCard = (profileBasics, cvData) => {
27
+ const {
28
+ rolesByType,
29
+ skills,
30
+ languages
31
+ } = cvData;
32
+ const nameStyle = (0, _styleMap.styleMap)({
33
+ ...(0, _baseStyles.heading)(),
34
+ // "text-decoration": "underline",
35
+ color: profileBasics.highlightColor // was "text-decoration-color"
36
+ });
37
+ if (renderRoles(rolesByType['FutureRole']) || renderRoles(rolesByType['CurrentRole']) || renderRoles(rolesByType['PastRole']) || renderSkills(skills) || renderLanguages(languages)) {
38
+ return (0, _litHtml.html)`
39
+ <div>
40
+ <div data-testid="curriculum-vitae" style="${styles.card}">
41
+ <div style=${styles.info}>
42
+ <h3 style=${nameStyle}>Bio</h3>
43
+ <div style=${styles.info}>${renderRoles(rolesByType['FutureRole'])}</div>
44
+ <hr />
45
+ <div style=${styles.info}>${renderRoles(rolesByType['CurrentRole'])}</div>
46
+ <hr />
47
+ <div style=${styles.info}>${renderRoles(rolesByType['PastRole'])}</div>
48
+ <hr />
49
+ <h3 style=${nameStyle}>Skills</h3>
50
+ <div style=${styles.info}>${renderSkills(skills)}</div>
51
+ <h3 style=${nameStyle}>Languages</h3>
52
+ <div style=${styles.info}>${renderLanguages(languages)}</div>
53
+
54
+ </div>
55
+ </div>
56
+ </div>
57
+ `;
58
+ }
59
+ return (0, _litHtml.html)``;
39
60
  };
40
61
  exports.CVCard = CVCard;
41
62
  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([""], [""])));
63
+ return role ? (0, _litHtml.html)`<div style="margin-top: 0.3em; margin-bottom: 0.3em;">
64
+ <b>${role.orgName}</b>
65
+ <span>${strToUpperCase(role.roleText)}</span>
66
+ <span>${role.dates}</span>
67
+ </div> ` : (0, _litHtml.html)``;
44
68
  }
45
69
  function renderRoles(roles) {
46
- if (roles[0] > "")
47
- return (0, lit_html_1.html)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["", "", ""], ["", "", ""])), renderRole(roles[0]), roles.length > 1 ? renderRoles(roles.slice(1)) : (0, lit_html_1.html)(templateObject_5 || (templateObject_5 = __makeTemplateObject([""], [""]))));
70
+ if (roles[0] > '') return (0, _litHtml.html)`${renderRole(roles[0])}${roles.length > 1 ? renderRoles(roles.slice(1)) : (0, _litHtml.html)``}`;
48
71
  }
49
72
  function renderSkill(skill) {
50
- return skill
51
- ? (0, lit_html_1.html)(templateObject_7 || (templateObject_7 = __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_8 || (templateObject_8 = __makeTemplateObject([""], [""])));
73
+ return skill ? (0, _litHtml.html)`<div style="margin: 0.5em;">
74
+ <p style="text-align: center;">${skill}</p>
75
+ </div> ` : (0, _litHtml.html)``;
52
76
  }
53
77
  function renderSkills(skills) {
54
- if (skills[0] > "")
55
- return (0, lit_html_1.html)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["", " ", ""], ["", " ", ""])), renderSkill(strToUpperCase(skills[0])), skills.length > 1 ? renderSkills(skills.slice(1)) : (0, lit_html_1.html)(templateObject_9 || (templateObject_9 = __makeTemplateObject([""], [""]))));
78
+ if (skills[0] > '') return (0, _litHtml.html)`${renderSkill(strToUpperCase(skills[0]))} ${skills.length > 1 ? renderSkills(skills.slice(1)) : (0, _litHtml.html)``}`;
56
79
  }
57
80
  function renderLan(language) {
58
- return language
59
- ? (0, lit_html_1.html)(templateObject_11 || (templateObject_11 = __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_12 || (templateObject_12 = __makeTemplateObject([""], [""])));
81
+ return language ? (0, _litHtml.html)`<div style="margin: 0.5em;">
82
+ <p style="text-align: center;">${language}</p>
83
+ </div> ` : (0, _litHtml.html)``;
60
84
  }
61
85
  function renderLanguages(languages) {
62
- if (languages[0] > "")
63
- return (0, lit_html_1.html)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["", "", ""], ["", "", ""])), renderLan(languages[0]), languages.length > 1 ? renderLanguages(languages.slice(1)) : (0, lit_html_1.html)(templateObject_13 || (templateObject_13 = __makeTemplateObject([""], [""]))));
86
+ if (languages[0] > '') return (0, _litHtml.html)`${renderLan(languages[0])}${languages.length > 1 ? renderLanguages(languages.slice(1)) : (0, _litHtml.html)``}`;
64
87
  }
65
88
  function strToUpperCase(str) {
66
- if (str && str[0] > "") {
67
- var strCase = str.split(' ');
68
- for (var i = 0; i < strCase.length; i++) {
69
- strCase[i] = strCase[i].charAt(0).toUpperCase() +
70
- strCase[i].substring(1);
71
- }
72
- return strCase.join(' ');
89
+ if (str && str[0] > '') {
90
+ const strCase = str.split(' ');
91
+ for (let i = 0; i < strCase.length; i++) {
92
+ strCase[i] = strCase[i].charAt(0).toUpperCase() + strCase[i].substring(1);
73
93
  }
74
- return '';
94
+ return strCase.join(' ');
95
+ }
96
+ return '';
75
97
  }
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
- //# sourceMappingURL=CVCard.js.map
98
+
99
+ // ends
@@ -0,0 +1,25 @@
1
+ import { LiveStore, NamedNode, Literal, Node, Store } from 'rdflib';
2
+ export interface Role {
3
+ startDate?: Literal;
4
+ endDate: Literal;
5
+ dates: string;
6
+ orgName: string;
7
+ roleText: string;
8
+ orgHomePage?: string;
9
+ }
10
+ export interface CVPresentation {
11
+ rolesByType: RolesByType;
12
+ skills: string[];
13
+ languages: string[];
14
+ }
15
+ export interface RolesByType {
16
+ PastRole: Role[];
17
+ CurrentRole: Role[];
18
+ FutureRole: Role[];
19
+ }
20
+ export declare const typesOfRole: string[];
21
+ export declare function skillAsText(store: Store, sk: Node): string;
22
+ export declare function languageAsText(store: Store, lan: Node): string;
23
+ export declare function datesAsText(startDate?: Literal, endDate?: Literal): string;
24
+ export declare function presentCV(subject: NamedNode, store: LiveStore): CVPresentation;
25
+ //# sourceMappingURL=CVPresenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CVPresenter.d.ts","sourceRoot":"","sources":["../src/CVPresenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAa,IAAI,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG9E,MAAM,WAAW,IAAI;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AACD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,UAAU,EAAE,IAAI,EAAE,CAAC;CACpB;AAID,eAAO,MAAM,WAAW,UAA4C,CAAA;AAEpE,wBAAgB,WAAW,CAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,GAAE,MAAM,CAW1D;AAED,wBAAgB,cAAc,CAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE,MAAM,CAM9D;AAED,wBAAgB,WAAW,CAAE,SAAS,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,EAAC,OAAO,GAAE,MAAM,CAIxE;AAiDD,wBAAgB,SAAS,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,SAAS,GACf,cAAc,CAoBhB"}
@@ -1,104 +1,100 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typesOfRole = void 0;
4
- exports.skillAsText = skillAsText;
5
- exports.languageAsText = languageAsText;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
6
  exports.datesAsText = datesAsText;
7
+ exports.languageAsText = languageAsText;
7
8
  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'];
9
+ exports.skillAsText = skillAsText;
10
+ exports.typesOfRole = void 0;
11
+ var _rdflib = require("rdflib");
12
+ var _solidUi = require("solid-ui");
13
+ const ORG = (0, _rdflib.Namespace)('http://www.w3.org/ns/org#');
14
+ const typesOfRole = exports.typesOfRole = ['PastRole', 'CurrentRole', 'FutureRole'];
12
15
  function skillAsText(store, sk) {
13
- if (sk.termType === 'Literal')
14
- return sk.value; // Not normal but allow this
15
- var publicId = store.anyJS(sk, solid_ui_1.ns.solid('publicId'));
16
- if (publicId) {
17
- var name_1 = store.anyJS(publicId, solid_ui_1.ns.schema('name'));
18
- if (name_1)
19
- return name_1; // @@ check language and get name in diff language if necessary
20
- }
21
- var manual = store.anyJS(sk, solid_ui_1.ns.vcard('role'));
22
- if (manual && manual[0] > "")
23
- return manual;
24
- return '¿¿¿ skill ???';
16
+ if (sk.termType === 'Literal') return sk.value; // Not normal but allow this
17
+ const publicId = store.anyJS(sk, _solidUi.ns.solid('publicId'));
18
+ if (publicId) {
19
+ const name = store.anyJS(publicId, _solidUi.ns.schema('name'));
20
+ if (name) return name; // @@ check language and get name in diff language if necessary
21
+ }
22
+ const manual = store.anyJS(sk, _solidUi.ns.vcard('role'));
23
+ if (manual && manual[0] > '') return manual;
24
+ return '¿¿¿ skill ???';
25
25
  }
26
26
  function languageAsText(store, lan) {
27
- if (lan.termType === 'Literal')
28
- return lan.value; // Not normal but allow this
29
- var publicId = store.anyJS(lan, solid_ui_1.ns.solid('publicId'));
30
- if (publicId)
31
- return solid_ui_1.utils.label(publicId, true); // @@ check language and get name in diff language if necessary
32
- return '-';
27
+ if (lan.termType === 'Literal') return lan.value; // Not normal but allow this
28
+ const publicId = store.anyJS(lan, _solidUi.ns.solid('publicId'));
29
+ if (publicId) return _solidUi.utils.label(publicId, true); // @@ check language and get name in diff language if necessary
30
+ return '-';
33
31
  }
34
32
  function datesAsText(startDate, endDate) {
35
- return startDate ? '(' + startDate.value.slice(0, 10) + ' to ' +
36
- (endDate ? endDate.value.slice(0, 10) : '') + ')'
37
- : '';
33
+ return startDate ? '(' + startDate.value.slice(0, 10) + ' to ' + (endDate ? endDate.value.slice(0, 10) : '') + ')' : '';
38
34
  }
39
35
  function getRolesByType(store, subject) {
40
- var memberships = store.each(null, ORG('member'), subject, null);
41
- var rolesByType = { PastRole: [], CurrentRole: [], FutureRole: [] };
42
- for (var _i = 0, memberships_1 = memberships; _i < memberships_1.length; _i++) {
43
- var membership = memberships_1[_i];
44
- var orgHomePage = void 0, orgNameGiven = void 0, publicIdName = void 0, roleName = void 0, publicId
45
- // Things should have start dates but we will be very lenient in this view
46
- = void 0;
47
- // Things should have start dates but we will be very lenient in this view
48
- var startDate = store.any(membership, solid_ui_1.ns.schema('startDate'));
49
- var endDate = store.any(membership, solid_ui_1.ns.schema('endDate'));
50
- var dates = datesAsText(startDate, endDate);
51
- var organization = store.any(membership, ORG('organization'));
52
- if (organization) {
53
- orgNameGiven = store.anyJS(organization, solid_ui_1.ns.schema('name'));
54
- orgHomePage = store.any(organization, solid_ui_1.ns.schema('uri'));
55
- publicId = store.any(organization, solid_ui_1.ns.solid('publicId'));
56
- }
57
- if (publicId) {
58
- publicIdName = store.anyJS(publicId, solid_ui_1.ns.schema('name'));
59
- }
60
- var orgName = publicIdName || orgNameGiven;
61
- var escoRole = store.any(membership, ORG('role'));
62
- if (escoRole) {
63
- roleName = store.anyJS(escoRole, solid_ui_1.ns.schema('name'));
64
- }
65
- var roleText0 = store.anyJS(membership, solid_ui_1.ns.vcard('role'));
66
- var roleText = (roleText0 && roleName) ? roleName + ' - ' + roleText0
67
- : roleText0 || roleName;
68
- var item = {
69
- startDate: startDate,
70
- endDate: endDate,
71
- orgName: orgName,
72
- roleText: roleText,
73
- dates: dates,
74
- orgHomePage: orgHomePage
75
- };
76
- for (var _a = 0, typesOfRole_1 = exports.typesOfRole; _a < typesOfRole_1.length; _a++) {
77
- var t = typesOfRole_1[_a];
78
- if (store.holds(membership, solid_ui_1.ns.rdf('type'), solid_ui_1.ns.solid(t))) {
79
- rolesByType[t].push(item);
80
- }
81
- }
36
+ const memberships = store.each(null, ORG('member'), subject, null);
37
+ const rolesByType = {
38
+ PastRole: [],
39
+ CurrentRole: [],
40
+ FutureRole: []
41
+ };
42
+ for (const membership of memberships) {
43
+ let orgHomePage, orgNameGiven, publicIdName, roleName, publicId;
44
+ // Things should have start dates but we will be very lenient in this view
45
+ const startDate = store.any(membership, _solidUi.ns.schema('startDate'));
46
+ const endDate = store.any(membership, _solidUi.ns.schema('endDate'));
47
+ const dates = datesAsText(startDate, endDate);
48
+ const organization = store.any(membership, ORG('organization'));
49
+ if (organization) {
50
+ orgNameGiven = store.anyJS(organization, _solidUi.ns.schema('name'));
51
+ orgHomePage = store.any(organization, _solidUi.ns.schema('uri'));
52
+ publicId = store.any(organization, _solidUi.ns.solid('publicId'));
82
53
  }
83
- return rolesByType;
84
- }
85
- function presentCV(subject, store) {
86
- var rolesByType = getRolesByType(store, subject);
87
- // Most recent thing most relevant -> sort by end date
88
- for (var _i = 0, typesOfRole_2 = exports.typesOfRole; _i < typesOfRole_2.length; _i++) {
89
- var t = typesOfRole_2[_i];
90
- rolesByType[t].sort(function (x, y) {
91
- if (x.endDate && y.endDate) {
92
- return x.endDate > y.endDate ? -1 : 1;
93
- }
94
- return x.startDate > y.startDate ? -1 : 1;
95
- });
54
+ if (publicId) {
55
+ publicIdName = store.anyJS(publicId, _solidUi.ns.schema('name'));
96
56
  }
97
- var skills = store.each(subject, solid_ui_1.ns.schema('skills')).map(function (sk) { return skillAsText(store, sk); });
98
- var languagesInStore = store.anyJS(subject, solid_ui_1.ns.schema('knowsLanguage'));
99
- var languages = [];
100
- if (languagesInStore)
101
- languages = languagesInStore.map(function (lan) { return languageAsText(store, lan); });
102
- return { rolesByType: rolesByType, skills: skills, languages: languages };
57
+ const orgName = publicIdName || orgNameGiven;
58
+ const escoRole = store.any(membership, ORG('role'));
59
+ if (escoRole) {
60
+ roleName = store.anyJS(escoRole, _solidUi.ns.schema('name'));
61
+ }
62
+ const roleText0 = store.anyJS(membership, _solidUi.ns.vcard('role'));
63
+ const roleText = roleText0 && roleName ? roleName + ' - ' + roleText0 : roleText0 || roleName;
64
+ const item = {
65
+ startDate: startDate,
66
+ endDate,
67
+ orgName,
68
+ roleText,
69
+ dates,
70
+ orgHomePage
71
+ };
72
+ for (const t of typesOfRole) {
73
+ if (store.holds(membership, _solidUi.ns.rdf('type'), _solidUi.ns.solid(t))) {
74
+ rolesByType[t].push(item);
75
+ }
76
+ }
77
+ }
78
+ return rolesByType;
103
79
  }
104
- //# sourceMappingURL=CVPresenter.js.map
80
+ function presentCV(subject, store) {
81
+ const rolesByType = getRolesByType(store, subject);
82
+ // Most recent thing most relevant -> sort by end date
83
+ for (const t of typesOfRole) {
84
+ rolesByType[t].sort(function (x, y) {
85
+ if (x.endDate && y.endDate) {
86
+ return x.endDate > y.endDate ? -1 : 1;
87
+ }
88
+ return x.startDate > y.startDate ? -1 : 1;
89
+ });
90
+ }
91
+ const skills = store.each(subject, _solidUi.ns.schema('skills')).map(sk => skillAsText(store, sk));
92
+ const languagesInStore = store.anyJS(subject, _solidUi.ns.schema('knowsLanguage'));
93
+ let languages = [];
94
+ if (languagesInStore) languages = languagesInStore.map(lan => languageAsText(store, lan));
95
+ return {
96
+ rolesByType,
97
+ skills,
98
+ languages
99
+ };
100
+ }
@@ -0,0 +1,5 @@
1
+ import { TemplateResult } from 'lit-html';
2
+ import { DataBrowserContext } from 'pane-registry';
3
+ import { NamedNode } from 'rdflib';
4
+ export declare const ChatWithMe: (subject: NamedNode, context: DataBrowserContext) => TemplateResult;
5
+ //# sourceMappingURL=ChatWithMe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatWithMe.d.ts","sourceRoot":"","sources":["../src/ChatWithMe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAKlC,eAAO,MAAM,UAAU,GACrB,SAAS,SAAS,EAClB,SAAS,kBAAkB,KAC1B,cAwCF,CAAA"}