Skip to content

Commit

Permalink
-wip- possible feat: timeline api function
Browse files Browse the repository at this point in the history
  • Loading branch information
jboileau99 committed Jan 9, 2023
1 parent d3b8e15 commit e30c92a
Show file tree
Hide file tree
Showing 63 changed files with 501 additions and 1,475 deletions.
4 changes: 0 additions & 4 deletions localization/translations/fr-CA.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -1050,10 +1050,6 @@
<source>Submit</source>
<target>Envoyer</target>
</trans-unit>
<trans-unit id="s2b7bb3f9a459d7dd">
<source>History view coming soon!</source>
<target>Historique bientôt disponible !</target>
</trans-unit>
<trans-unit id="s61d28f3db3da4264">
<source>Response Submmitted</source>
<target>Réponse envoyée</target>
Expand Down
4 changes: 0 additions & 4 deletions localization/translations/fr-FR.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -1050,10 +1050,6 @@
<source>Submit</source>
<target>Envoyer</target>
</trans-unit>
<trans-unit id="s2b7bb3f9a459d7dd">
<source>History view coming soon!</source>
<target>Historique bientôt disponible !</target>
</trans-unit>
<trans-unit id="s61d28f3db3da4264">
<source>Response Submmitted</source>
<target>Réponse envoyée</target>
Expand Down
4 changes: 0 additions & 4 deletions localization/translations/fr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -1050,10 +1050,6 @@
<source>Submit</source>
<target>Envoyer</target>
</trans-unit>
<trans-unit id="s2b7bb3f9a459d7dd">
<source>History view coming soon!</source>
<target>Historique bientôt disponible !</target>
</trans-unit>
<trans-unit id="s61d28f3db3da4264">
<source>Response Submmitted</source>
<target>Réponse envoyée</target>
Expand Down
213 changes: 127 additions & 86 deletions packages/bridge/src/bldn-bridge-demand-list-item.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ import {
DataSubjectPayload,
CompletedDemandPayload,
Recommendation,
TimelineEventsPayload,
PrivacyRequestEvent,
PrivacyResponseEvent,
GivenConsentEvent,
RevokedConsentEvent,
LegalBaseEvent,
} from '@blindnet/core';
import { bldnStyles } from '@blindnet/core-ui';
import { ACTION_TITLES } from './language/dictionary.js';
Expand All @@ -35,6 +41,8 @@ export class BldnBridgeDemandListItem extends LitElement {

@state() _demandDetails: PendingDemandDetailsPayload | undefined;

@state() _demandTimeline: TimelineEventsPayload | undefined;

@state() _open = false;

@state() _dropdownUiState: DropdownUIState = DropdownUIState.Respond;
Expand Down Expand Up @@ -155,6 +163,7 @@ export class BldnBridgeDemandListItem extends LitElement {
_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>
): void {
if (_changedProperties.has('_open') && this._open && this.demand) {
// Get details about this demand
ComputationAPI.getInstance()
.getPendingDemandDetails(this.demand.id)
.then(details => {
Expand All @@ -164,10 +173,46 @@ export class BldnBridgeDemandListItem extends LitElement {
this._demandDetails!.recommendation?.status;
}
});

// Get timeline info for this demand
if (this.demand.data_subject?.id) {
ComputationAPI.getInstance()
.getDemandTimeline(this.demand.data_subject?.id)
.then(timeline => {
this._demandTimeline = timeline;
console.log(this._demandTimeline);

let events: Array<
| PrivacyRequestEvent
| PrivacyResponseEvent
| GivenConsentEvent
| RevokedConsentEvent
| LegalBaseEvent
| { date: string; dateObj: Date }
> = [];

events = events
.concat(
timeline.requests!,
timeline.responses!,
timeline.given_consents!,
timeline.revoked_consents!,
timeline.legal_bases!
)
.map(e => ({
...e,
dateObj: new Date(e.date),
}))
.sort((e1, e2) => e1.dateObj.getTime() - e2.dateObj.getTime());

// Now do some kind of while loop to pop from events and get templates
// based on which type of event it is
});
}
}
}

render() {
getRespondTemplate() {
// List of status, css class, and display message objects for each response option
const responseStatusOptions: {
respStatus: Recommendation.status;
Expand All @@ -187,6 +232,85 @@ export class BldnBridgeDemandListItem extends LitElement {
},
];

return html`
<div id="dropdown__response-ctr">
<span id="dropdown__response-heading"
>${msg('Response')}
-${when(
this.isRecommended(),
() => html`
<span id="dropdown__response-heading--recommended">
${msg('Recommended')}
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6 1C3.24 1 1 3.24 1 6C1 8.76 3.24 11 6 11C8.76 11 11 8.76 11 6C11 3.24 8.76 1 6 1ZM5 8.5L2.5 6L3.205 5.295L5 7.085L8.795 3.29L9.5 4L5 8.5Z"
fill="currentColor"
/>
</svg>
</span>
`,
() => html`
<span id="dropdown__response-heading--not-recommended">
${msg('Not Recommended')}
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6 1C3.235 1 1 3.235 1 6C1 8.765 3.235 11 6 11C8.765 11 11 8.765 11 6C11 3.235 8.765 1 6 1ZM8.5 7.795L7.795 8.5L6 6.705L4.205 8.5L3.5 7.795L5.295 6L3.5 4.205L4.205 3.5L6 5.295L7.795 3.5L8.5 4.205L6.705 6L8.5 7.795Z"
fill="currentColor"
/>
</svg>
</span>
`
)}</span
>
<textarea
placeholder=${msg('Optional Message')}
@input=${this.handleMessageInput}
></textarea>
<div id="dropdown__response-btns">
${map(
responseStatusOptions,
option => html`
<button
class="response-btn response-btn--${option.class} ${this
._selectedResponseType === option.respStatus
? 'response-btn--selected'
: ''}"
@click=${() => {
this._selectedResponseType = option.respStatus;
}}
>
${this.getRadioSVG(
this._selectedResponseType === option.respStatus
)}
<span>${option.display}</span>
</button>
`
)}
</div>
</div>
<bldn-button @click=${this.handleSubmitClick}
>${msg('Submit')}</bldn-button
>
`;
}

getTimelineTemplate() {
return html``;
}

render() {
return html`
${when(
this.demand !== undefined,
Expand Down Expand Up @@ -222,91 +346,8 @@ export class BldnBridgeDemandListItem extends LitElement {
@bldn-toggle-button-change=${this.handleDropdownToggleChange}
></bldn-toggle-button>
${choose(this._dropdownUiState, [
[
DropdownUIState.Respond,
() => html`
<div id="dropdown__response-ctr">
<span id="dropdown__response-heading"
>${msg('Response')}
-${when(
this.isRecommended(),
() => html`
<span
id="dropdown__response-heading--recommended"
>
${msg('Recommended')}
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6 1C3.24 1 1 3.24 1 6C1 8.76 3.24 11 6 11C8.76 11 11 8.76 11 6C11 3.24 8.76 1 6 1ZM5 8.5L2.5 6L3.205 5.295L5 7.085L8.795 3.29L9.5 4L5 8.5Z"
fill="currentColor"
/>
</svg>
</span>
`,
() => html`
<span
id="dropdown__response-heading--not-recommended"
>
${msg('Not Recommended')}
<svg
width="12"
height="12"
viewBox="0 0 12 12"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6 1C3.235 1 1 3.235 1 6C1 8.765 3.235 11 6 11C8.765 11 11 8.765 11 6C11 3.235 8.765 1 6 1ZM8.5 7.795L7.795 8.5L6 6.705L4.205 8.5L3.5 7.795L5.295 6L3.5 4.205L4.205 3.5L6 5.295L7.795 3.5L8.5 4.205L6.705 6L8.5 7.795Z"
fill="currentColor"
/>
</svg>
</span>
`
)}</span
>
<textarea
placeholder=${msg('Optional Message')}
@input=${this.handleMessageInput}
></textarea>
<div id="dropdown__response-btns">
${map(
responseStatusOptions,
option => html`
<button
class="response-btn response-btn--${option.class} ${this
._selectedResponseType === option.respStatus
? 'response-btn--selected'
: ''}"
@click=${() => {
this._selectedResponseType =
option.respStatus;
}}
>
${this.getRadioSVG(
this._selectedResponseType ===
option.respStatus
)}
<span>${option.display}</span>
</button>
`
)}
</div>
</div>
<bldn-button @click=${this.handleSubmitClick}
>${msg('Submit')}</bldn-button
>
`,
],
[
DropdownUIState.History,
() => html`${msg('History view coming soon!')}`,
],
[DropdownUIState.Respond, () => this.getRespondTemplate()],
[DropdownUIState.History, () => this.getTimelineTemplate()],
[
DropdownUIState.Responded,
() => html`${msg('Response Submmitted')} 📨`,
Expand Down
1 change: 0 additions & 1 deletion packages/bridge/src/generated/locales/fr-CA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/bridge/src/generated/locales/fr-FR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/bridge/src/generated/locales/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/configuration/src/generated/locales/fr-CA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/configuration/src/generated/locales/fr-FR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/configuration/src/generated/locales/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/consent-checkbox/src/generated/locales/fr-CA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/consent-checkbox/src/generated/locales/fr-FR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/consent-checkbox/src/generated/locales/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/core-ui/src/generated/locales/fr-CA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/core-ui/src/generated/locales/fr-FR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
1 change: 0 additions & 1 deletion packages/core-ui/src/generated/locales/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@
's29ec563d56cf6c6b': `Autres Options`,
's2a32ad5ec5fc7e5c': `Il n'y a pas de source de données vous concernant`,
's2a880deefa02ab59': `Profilage`,
's2b7bb3f9a459d7dd': `Historique bientôt disponible !`,
's2e39367a8c5564b7': `Autres données`,
's2fa47f3acd802112': `Identifiant Unique - Compte Utilisateur`,
's3137e812940ae6b7': `Vos données sont en cours d'obtention, veuillez patienter et ne pas actualiser la page`,
Expand Down
Loading

0 comments on commit e30c92a

Please sign in to comment.