@beinformed/ui 1.41.3 → 1.41.6

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 (38) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm/constants/Constants.js +5 -0
  3. package/esm/constants/Constants.js.map +1 -1
  4. package/esm/constants/Settings.js +2 -1
  5. package/esm/constants/Settings.js.map +1 -1
  6. package/esm/models/attributes/ChoiceAttributeModel.js +14 -0
  7. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  8. package/esm/models/attributes/ChoiceAttributeOptionModel.js +14 -0
  9. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  10. package/esm/models/attributes/StringAttributeModel.js +1 -7
  11. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  12. package/esm/models/user/UserServicesModel.js +10 -0
  13. package/esm/models/user/UserServicesModel.js.map +1 -1
  14. package/lib/constants/Constants.js +6 -1
  15. package/lib/constants/Constants.js.flow +5 -0
  16. package/lib/constants/Constants.js.map +1 -1
  17. package/lib/constants/Settings.js +2 -1
  18. package/lib/constants/Settings.js.flow +2 -0
  19. package/lib/constants/Settings.js.map +1 -1
  20. package/lib/models/attributes/ChoiceAttributeModel.js +14 -0
  21. package/lib/models/attributes/ChoiceAttributeModel.js.flow +16 -0
  22. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  23. package/lib/models/attributes/ChoiceAttributeOptionModel.js +14 -0
  24. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +14 -0
  25. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  26. package/lib/models/attributes/StringAttributeModel.js +1 -7
  27. package/lib/models/attributes/StringAttributeModel.js.flow +1 -7
  28. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  29. package/lib/models/user/UserServicesModel.js +10 -0
  30. package/lib/models/user/UserServicesModel.js.flow +12 -0
  31. package/lib/models/user/UserServicesModel.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/constants/Constants.js +5 -0
  34. package/src/constants/Settings.js +2 -0
  35. package/src/models/attributes/ChoiceAttributeModel.js +16 -0
  36. package/src/models/attributes/ChoiceAttributeOptionModel.js +14 -0
  37. package/src/models/attributes/StringAttributeModel.js +1 -7
  38. package/src/models/user/UserServicesModel.js +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"UserServicesModel.js","names":["_ResourceModel","_interopRequireDefault","require","_UserModel","UserServicesModel","ResourceModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userData","userLink","setChildModels","models","user","_find","call","model","links","getLinkByKey","_user","UserModel","label","getContribution","changePassword","changePasswordLink","href","isLoggedIn","hasUser","UNSECURE_LINK_COUNT","length","_default","exports"],"sources":["../../../src/models/user/UserServicesModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport UserModel from \"../user/UserModel\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\n\n/**\n * UserServicesModel model\n */\nclass UserServicesModel extends ResourceModel {\n _user: ?UserModel;\n\n /**\n */\n get type(): string {\n return \"UserServices\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"UserServicesModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"user_services\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userData = this.userLink;\n return userData ? [userData] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.user = models.find((model) => model.type === \"User\");\n }\n\n /**\n */\n get userLink(): LinkModel | null {\n return this.links.getLinkByKey(\"Userdata\");\n }\n\n /**\n * return the user model for the current user\n */\n get user(): UserModel | null {\n return this._user || null;\n }\n\n /**\n * Set user data\n */\n set user(model: ?ModularUIModel) {\n this._user = model instanceof UserModel ? model : null;\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n */\n get changePassword(): Href | null {\n const changePasswordLink = this.links.getLinkByKey(\"ChangePassword\");\n\n if (changePasswordLink) {\n return changePasswordLink.href;\n }\n\n return null;\n }\n\n // when more than three unsecure links are present (always present: self, contributions and api-docs),\n // the userservice is permitted and thus we have an indication the user is probably\n // logged in\n /**\n */\n get isLoggedIn(): boolean {\n const hasUser = this.user instanceof UserModel;\n\n const UNSECURE_LINK_COUNT = 3;\n return this.links.length > UNSECURE_LINK_COUNT || hasUser;\n }\n}\n\nexport default UserServicesModel;\n"],"mappings":";;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAOA;AACA;AACA;AACA,MAAME,iBAAiB,SAASC,sBAAa,CAAC;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;EAAA;EAG5C;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,cAAc;EACvB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,mBAAmB;EAC5B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,eAAe;EAEvD;;EAEA;AACF;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,QAAQ,GAAG,IAAI,CAACC,QAAQ;IAC9B,OAAOD,QAAQ,GAAG,CAACA,QAAQ,CAAC,GAAG,EAAE;EACnC;;EAEA;AACF;EACEE,cAAcA,CAACC,MAA6B,EAAE;IAC5C,IAAI,CAACC,IAAI,GAAG,IAAAC,KAAA,CAAAb,OAAA,EAAAW,MAAM,EAAAG,IAAA,CAANH,MAAM,EAAOI,KAAK,IAAKA,KAAK,CAACd,IAAI,KAAK,MAAM,CAAC;EAC3D;;EAEA;AACF;EACE,IAAIQ,QAAQA,CAAA,EAAqB;IAC/B,OAAO,IAAI,CAACO,KAAK,CAACC,YAAY,CAAC,UAAU,CAAC;EAC5C;;EAEA;AACF;AACA;EACE,IAAIL,IAAIA,CAAA,EAAqB;IAC3B,OAAO,IAAI,CAACM,KAAK,IAAI,IAAI;EAC3B;;EAEA;AACF;AACA;EACE,IAAIN,IAAIA,CAACG,KAAsB,EAAE;IAC/B,IAAI,CAACG,KAAK,GAAGH,KAAK,YAAYI,kBAAS,GAAGJ,KAAK,GAAG,IAAI;EACxD;;EAEA;AACF;AACA;EACE,IAAIK,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAgB;IAChC,MAAMC,kBAAkB,GAAG,IAAI,CAACP,KAAK,CAACC,YAAY,CAAC,gBAAgB,CAAC;IAEpE,IAAIM,kBAAkB,EAAE;MACtB,OAAOA,kBAAkB,CAACC,IAAI;IAChC;IAEA,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA;AACF;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,MAAMC,OAAO,GAAG,IAAI,CAACd,IAAI,YAAYO,kBAAS;IAE9C,MAAMQ,mBAAmB,GAAG,CAAC;IAC7B,OAAO,IAAI,CAACX,KAAK,CAACY,MAAM,GAAGD,mBAAmB,IAAID,OAAO;EAC3D;AACF;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEcL,iBAAiB"}
1
+ {"version":3,"file":"UserServicesModel.js","names":["_ResourceModel","_interopRequireDefault","require","_UserModel","UserServicesModel","ResourceModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userData","userLink","setChildModels","models","user","_find","call","model","links","getLinkByKey","_user","UserModel","label","getContribution","changePassword","changePasswordLink","href","changeAvatar","changeAvatarLink","isLoggedIn","hasUser","UNSECURE_LINK_COUNT","length","_default","exports"],"sources":["../../../src/models/user/UserServicesModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport UserModel from \"../user/UserModel\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\n\n/**\n * UserServicesModel model\n */\nclass UserServicesModel extends ResourceModel {\n _user: ?UserModel;\n\n /**\n */\n get type(): string {\n return \"UserServices\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"UserServicesModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"user_services\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userData = this.userLink;\n return userData ? [userData] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.user = models.find((model) => model.type === \"User\");\n }\n\n /**\n */\n get userLink(): LinkModel | null {\n return this.links.getLinkByKey(\"Userdata\");\n }\n\n /**\n * return the user model for the current user\n */\n get user(): UserModel | null {\n return this._user || null;\n }\n\n /**\n * Set user data\n */\n set user(model: ?ModularUIModel) {\n this._user = model instanceof UserModel ? model : null;\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n */\n get changePassword(): Href | null {\n const changePasswordLink = this.links.getLinkByKey(\"ChangePassword\");\n\n if (changePasswordLink) {\n return changePasswordLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get changeAvatar(): Href | null {\n const changeAvatarLink = this.links.getLinkByKey(\"ChangeAvatar\");\n\n if (changeAvatarLink) {\n return changeAvatarLink.href;\n }\n\n return null;\n }\n\n // when more than three unsecure links are present (always present: self, contributions and api-docs),\n // the userservice is permitted and thus we have an indication the user is probably\n // logged in\n /**\n */\n get isLoggedIn(): boolean {\n const hasUser = this.user instanceof UserModel;\n\n const UNSECURE_LINK_COUNT = 3;\n return this.links.length > UNSECURE_LINK_COUNT || hasUser;\n }\n}\n\nexport default UserServicesModel;\n"],"mappings":";;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAOA;AACA;AACA;AACA,MAAME,iBAAiB,SAASC,sBAAa,CAAC;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;EAAA;EAG5C;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,cAAc;EACvB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,mBAAmB;EAC5B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,eAAe;EAEvD;;EAEA;AACF;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,QAAQ,GAAG,IAAI,CAACC,QAAQ;IAC9B,OAAOD,QAAQ,GAAG,CAACA,QAAQ,CAAC,GAAG,EAAE;EACnC;;EAEA;AACF;EACEE,cAAcA,CAACC,MAA6B,EAAE;IAC5C,IAAI,CAACC,IAAI,GAAG,IAAAC,KAAA,CAAAb,OAAA,EAAAW,MAAM,EAAAG,IAAA,CAANH,MAAM,EAAOI,KAAK,IAAKA,KAAK,CAACd,IAAI,KAAK,MAAM,CAAC;EAC3D;;EAEA;AACF;EACE,IAAIQ,QAAQA,CAAA,EAAqB;IAC/B,OAAO,IAAI,CAACO,KAAK,CAACC,YAAY,CAAC,UAAU,CAAC;EAC5C;;EAEA;AACF;AACA;EACE,IAAIL,IAAIA,CAAA,EAAqB;IAC3B,OAAO,IAAI,CAACM,KAAK,IAAI,IAAI;EAC3B;;EAEA;AACF;AACA;EACE,IAAIN,IAAIA,CAACG,KAAsB,EAAE;IAC/B,IAAI,CAACG,KAAK,GAAGH,KAAK,YAAYI,kBAAS,GAAGJ,KAAK,GAAG,IAAI;EACxD;;EAEA;AACF;AACA;EACE,IAAIK,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAgB;IAChC,MAAMC,kBAAkB,GAAG,IAAI,CAACP,KAAK,CAACC,YAAY,CAAC,gBAAgB,CAAC;IAEpE,IAAIM,kBAAkB,EAAE;MACtB,OAAOA,kBAAkB,CAACC,IAAI;IAChC;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,YAAYA,CAAA,EAAgB;IAC9B,MAAMC,gBAAgB,GAAG,IAAI,CAACV,KAAK,CAACC,YAAY,CAAC,cAAc,CAAC;IAEhE,IAAIS,gBAAgB,EAAE;MACpB,OAAOA,gBAAgB,CAACF,IAAI;IAC9B;IAEA,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA;AACF;EACE,IAAIG,UAAUA,CAAA,EAAY;IACxB,MAAMC,OAAO,GAAG,IAAI,CAAChB,IAAI,YAAYO,kBAAS;IAE9C,MAAMU,mBAAmB,GAAG,CAAC;IAC7B,OAAO,IAAI,CAACb,KAAK,CAACc,MAAM,GAAGD,mBAAmB,IAAID,OAAO;EAC3D;AACF;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAhC,OAAA,GAEcL,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.41.3",
3
+ "version": "1.41.6",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "http://support.beinformed.com",
@@ -14,6 +14,11 @@ export const UPLOAD_PATH = `/uploadFile`;
14
14
  */
15
15
  export const CAPTCHA_PATH = `/captchaServices`;
16
16
 
17
+ /**
18
+ * Path to change avatar page / component
19
+ */
20
+ export const CHANGEAVATAR_PATH = "/change-avatar";
21
+
17
22
  /**
18
23
  * Path to change password page / component
19
24
  */
@@ -115,6 +115,8 @@ const defaultSettings: { [name: string]: Setting } = {
115
115
  XHR_TIMEOUT_MS: 300000,
116
116
 
117
117
  HIDE_WHEN_EMPTY_IGNORE_TASKS: false,
118
+
119
+ SHOW_AVATARS: true,
118
120
  };
119
121
 
120
122
  let settings = defaultSettings;
@@ -122,6 +122,22 @@ export default class ChoiceAttributeModel extends AttributeModel {
122
122
  return this.contributions.lookupList?.label ?? "";
123
123
  }
124
124
 
125
+ /**
126
+ *
127
+ */
128
+ get avatarLink(): LinkModel | null {
129
+ return (
130
+ this.options.first?.links?.find((link) => link.key === "avatar") || null
131
+ );
132
+ }
133
+
134
+ /**
135
+ *
136
+ */
137
+ get isAvatar(): boolean {
138
+ return this.contributions?.optionType === "user" ?? false;
139
+ }
140
+
125
141
  /**
126
142
  * Retrieve reference date of attribute which can be used as entryDate for content
127
143
  */
@@ -312,6 +312,20 @@ class ChoiceAttributeOptionModel
312
312
  return conceptLink;
313
313
  }
314
314
 
315
+ /**
316
+ *
317
+ */
318
+ get avatarLink(): LinkModel | null {
319
+ return this.links.getLinkByKey("avatar");
320
+ }
321
+
322
+ /**
323
+ *
324
+ */
325
+ get isAvatar(): boolean {
326
+ return !!this.avatarLink;
327
+ }
328
+
315
329
  /**
316
330
  * Get concept information
317
331
  */
@@ -103,12 +103,6 @@ export default class StringAttributeModel extends AttributeModel {
103
103
  return this.layouthint.has("zipcode");
104
104
  }
105
105
 
106
- /**
107
- */
108
- isAvatar(): boolean {
109
- return this.layouthint.has("avatar");
110
- }
111
-
112
106
  /**
113
107
  */
114
108
  isEmail(): boolean {
@@ -287,7 +281,7 @@ export default class StringAttributeModel extends AttributeModel {
287
281
  /**
288
282
  */
289
283
  get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {
290
- if (this.isZipcode() || this.isBSN() || this.isAvatar()) {
284
+ if (this.isZipcode() || this.isBSN()) {
291
285
  return ATTRIBUTE_WIDTH.SMALL;
292
286
  }
293
287
 
@@ -86,6 +86,18 @@ class UserServicesModel extends ResourceModel {
86
86
  return null;
87
87
  }
88
88
 
89
+ /**
90
+ */
91
+ get changeAvatar(): Href | null {
92
+ const changeAvatarLink = this.links.getLinkByKey("ChangeAvatar");
93
+
94
+ if (changeAvatarLink) {
95
+ return changeAvatarLink.href;
96
+ }
97
+
98
+ return null;
99
+ }
100
+
89
101
  // when more than three unsecure links are present (always present: self, contributions and api-docs),
90
102
  // the userservice is permitted and thus we have an indication the user is probably
91
103
  // logged in