From 0e67d498feb2c1673e5d0ff66e699d9cf9d967c2 Mon Sep 17 00:00:00 2001 From: antoine37120 <ant.dupre@gmail.com> Date: Wed, 13 Sep 2023 14:59:42 +0200 Subject: [PATCH] feature: add primary contact display --- src/styles/territory-profile.scss | 16 +++++++ src/widjets-display-territory-tzcld.js | 61 +++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/src/styles/territory-profile.scss b/src/styles/territory-profile.scss index 42b79e7..3104cfe 100644 --- a/src/styles/territory-profile.scss +++ b/src/styles/territory-profile.scss @@ -84,4 +84,20 @@ } } + .tzcld-territory-profile-primary-contact { + vertical-align: top; + .send-display { + position: absolute; + right: 20px; + top: 20px; + z-index: 1; + } + .view-display { + position: absolute; + right: 60px; + top: 20px; + z-index: 1; + } + } + } \ No newline at end of file diff --git a/src/widjets-display-territory-tzcld.js b/src/widjets-display-territory-tzcld.js index 16923d2..b581f5b 100644 --- a/src/widjets-display-territory-tzcld.js +++ b/src/widjets-display-territory-tzcld.js @@ -192,6 +192,14 @@ import("./utils.js").then((utils) => { step_state: await tzcldprofile.tzcld_profile.step_state, locations: await this.locations }; + let primaryContact = { + resource: await tzcldprofile.tzcld_profile.primary_contact + }; + let user_infos = null ; + if ((await primaryContact.resource !== null) && (await primaryContact.resource.user !== undefined)) { + user_infos = await primaryContact.resource.user ; + } + if("label" in this.element.attributes) { for(let ignore of this.element.attributes['label'].value.split(',')) { @@ -280,7 +288,58 @@ import("./utils.js").then((utils) => { render += `<div id="tzcld-territory-profile-wrapper2" class="tzcld-territory-profile-wrapper2 segment full margin-top-large">`; - render += `<div class="tzcld-territory-profile-ebe segment width-30"></div>`; + render += `<div class="tzcld-territory-profile-primary-contact segment width-30 padding-right-large">` ; + if ((await primaryContact.resource !== null) && (await primaryContact.resource.user !== undefined)) { + render += `<div id="loaderfirst-contact-territory" class="loader loader-top" hidden=""> + <div></div> + <div></div> + <div></div> + <div></div> + </div> + + <solid-display + + loader-id="loaderfirst-contact-territory" + data-src="${await user_infos['@id']}" + fields="title, segment1(send, view, segment2(member-picture(account.picture), segment3(name, member-pseudo(at, username), profile.job)), segment5(tzcld_profile.jobs), segment6(tzcld_profile.regions))" + value-title="Premier contact" + widget-title="h2" + class-title="tzcld-h2" + class-segment1="segment bg-color-white shadow full text-top whitespace-normal" + class-segment2="segment full padding-medium padding-bottom-xxsmall text-center whitespace-normal" + class-segment3="segment three-quarter whitespace-normal" + class-member-picture="segment avatar-wrapper" + class-account.picture="avatar large" + class-name="segment block margin-top-xsmall margin-bottom-xxsmall text-xlarge text-bold text-color-heading whitespace-normal" + class-member-pseudo="hidden" + class-username="text-small" + class-profile.job="hidden" + action-send="messages" + action-view="members-member-profile" + label-send="" + value-send="" + label-view="" + value-view="" + class-send="send-display children-link-rounded children-icon-speech children-link-reversed color-secondary bordered" + class-view="view-display children-link-rounded children-icon-info children-link-reversed color-secondary bordered" + value-at="@" + widget-account.picture="orbit-user-avatar" + role="button" + tabindex="0" + widget-tzcld_profile.regions="customtzcld-display-territory-regions" + widget-tzcld_profile.jobs="customtzcld-display-user-profile-first-job-short" + class-segment5="segment full padding-medium padding-top-xxsmall padding-bottom-xxsmall text-center whitespace-normal" + class-segment6="segment full padding-medium padding-top-xxsmall text-center whitespace-normal" + next="members-member-profile" + solid-resource=""></solid-display>`; + + } else { + render += `<h2 class="tzcld-h2">Contact pricipal</h2> + <div class="segment bg-color-white shadow full text-top whitespace-normal"> + <p class="padding-xxlarge">Contact pricipal non désigné</p> + </div>`; + } + render += `</div>`; render += `<div class="tzcld-territory-profile-ebe segment width-70"> <h2 class="tzcld-h2">Informations de contact</h2> <div class="col-2-wrapper segment full shadow bg-color-white">`; -- GitLab