UNPKG

@vidal-community/vidal-web-components

Version:

Vidal Web Components

596 lines (594 loc) 34.9 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var VidalSideEffect_1; import { configureLocalization, localized, msg, updateWhenLocaleChanges, } from '@lit/localize'; import * as d3 from 'd3'; import { html, LitElement } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { sourceLocale, targetLocales } from '../generated/locale-codes'; import * as localeDe from '../generated/locales/de'; import * as localeEn from '../generated/locales/en'; import * as localeEs from '../generated/locales/es'; import * as localeFr from '../generated/locales/fr'; import * as localePt from '../generated/locales/pt'; import { colorsByApparatus, defaultColor } from './data/colors-by-apparatus'; import frequencyWeight from './data/frequency-weight'; import './level-display-selector'; import { LevelDisplay } from './models/level-display'; import { SideEffect } from './models/side-effect'; import { vidalSideEffectStyles } from './vidal-side-effect-styles'; export const localizedTemplates = new Map([ ['de', localeDe], ['en', localeEn], ['es', localeEs], ['fr', localeFr], ['pt', localePt], ]); export const numberByLineOfApparatusCaptions = 5; export const { getLocale, setLocale } = configureLocalization({ sourceLocale, targetLocales, // @ts-ignore loadLocale: async (locale) => { return localizedTemplates.get(locale); }, }); let VidalSideEffect = VidalSideEffect_1 = class VidalSideEffect extends LitElement { constructor() { super(); this.drugIds = []; this.sideEffectsSupplier = (_) => fetch(`/rest/side-effect/hierarchy?${this.drugIds .map((vidalDrugId) => 'drugId=' + vidalDrugId) .join('&')}`); this.displayedFrequency = 'FREQUENT'; this.apparatus = []; this.selectedLevel = LevelDisplay.APPARATUS; this.colorsByApparatus = colorsByApparatus; updateWhenLocaleChanges(this); } getHtmlElement(selector) { return this.renderRoot.querySelector(selector); } displayTreeMap(sideEffects, displayedFrequencyString, levelDisplay = LevelDisplay.DRUG) { var _a, _b, _c, _d, _e, _f; this.displayedSideEffects = sideEffects; const svgToRemove = (_b = (_a = d3 .selectAll(this.renderRoot.querySelectorAll('svg'))) === null || _a === void 0 ? void 0 : _a.style('transition', 'opacity, 0.5s')) === null || _b === void 0 ? void 0 : _b.style('opacity', '0.5'); setTimeout(() => { svgToRemove === null || svgToRemove === void 0 ? void 0 : svgToRemove.remove(); d3.select(this.getHtmlElement('svg')).style('opacity', '1'); }, 250); const tempSideEffect = JSON.parse(JSON.stringify(sideEffects)); tempSideEffect.children.forEach((child) => { if (child.children && displayedFrequencyString !== null && displayedFrequencyString !== 'null') { child.children = child.children.filter((child2) => child2.children.filter((x) => { const drugFrequency = frequencyWeight.filter((f) => f.frequencyLabel === x.frequency); const displayFrequency = frequencyWeight.filter((f) => f.frequencyLabel === displayedFrequencyString); return drugFrequency[0].weight >= displayFrequency[0].weight; }).length > 0); } }); tempSideEffect.children = tempSideEffect.children.filter((child) => child.children.length > 0); (_c = this.getHtmlElement('.message-empty-container')) === null || _c === void 0 ? void 0 : _c.remove(); if (tempSideEffect.children.length === 0) { const displayedFrequency = frequencyWeight.filter((f) => f.frequencyLabel === displayedFrequencyString)[0]; const frequencyFrenchLabels = frequencyWeight .filter((freq) => freq.frequencyLabel && freq.weight >= displayedFrequency.weight) .map((freq) => freq.displayLabel()); const message = msg("Il n'y a pas d'effets indésirables dont les fréquences sont : ") + frequencyFrenchLabels.join(', ') + '.'; const messageContainer = document.createElement('div'); messageContainer.classList.add('message-empty-container'); messageContainer.textContent = message; (_d = this.getHtmlElement('#side-effect')) === null || _d === void 0 ? void 0 : _d.append(messageContainer); return; } const data = tempSideEffect; if (this.apparatus.length == 0) { this.apparatus = tempSideEffect.children.map((child) => child.name); } const svgContainer = this.createSVGContainer(); const box = this.getHtmlElement('#side-effect svg'); const width = (_e = box === null || box === void 0 ? void 0 : box.clientWidth) !== null && _e !== void 0 ? _e : 0, height = (_f = box === null || box === void 0 ? void 0 : box.clientHeight) !== null && _f !== void 0 ? _f : 0; const root = d3 .treemap() .size([Number(width), Number(height)]) .paddingOuter(20) .paddingInner(10) .round(true)(d3 .hierarchy(data) .sum((d) => { var _a, _b; if (d.children) { return d.children .map((child) => child.value) .reduce((acc, current) => acc + current, 0); } return ((_b = (_a = frequencyWeight.filter((f) => { return f.frequencyLabel === d.frequency; })[0]) === null || _a === void 0 ? void 0 : _a.weight) !== null && _b !== void 0 ? _b : 0); }) .sort((a, b) => { if (b.value && a.value) { return b.value - a.value; } return -1; })); const node = svgContainer .selectAll('g') // @ts-ignore .data(d3.group(root, (d) => d.height)) .join('g') .selectAll('g') .data((d) => d[1]) .join('g') .attr('transform', (d) => { return `translate(${d.x0},${d.y0})`; }); node .filter((d) => d.depth <= levelDisplay.depth) .append('title') .text((d) => { const correspondingFrequency = frequencyWeight.filter((fw) => fw.frequencyLabel === d.data.frequency)[0]; return `${d .ancestors() .reverse() .map((d) => d.data.name) .join('/')} ${d.depth === 3 && correspondingFrequency ? '\n\n' + msg('Fréquence :') + ' ' + correspondingFrequency.displayLabel() : ''}`; }); node .filter((d) => d.depth <= levelDisplay.depth) .append('rect') .attr('fill', (d) => { if (d.depth === 1) { return this.getApparatusColor(d.data.name); } if (d.depth === 2) { return this.colorShade(this.getApparatusColor(d.parent.data.name), 10); } if (d.depth === 3) { return this.colorShade(this.getApparatusColor(d.parent.parent.data.name), 20); } return 'white'; }) .attr('width', (d) => d.x1 - d.x0) .attr('height', (d) => d.y1 - d.y0) .attr('rx', '8') .attr('ry', '8'); node .filter((d) => d.depth <= levelDisplay.depth) .append('text') .text(function (d) { var _a, _b; if (d.depth !== 3) { return d.data.name; } return (_b = (_a = d.data.name) === null || _a === void 0 ? void 0 : _a.split(' ')[0]) !== null && _b !== void 0 ? _b : ''; }) .attr('font-size', '15px') .attr('font-family', '"Roboto", sans-serif'); node.selectAll('text').attr('fill', (d) => { if (d.depth === 1) { return this.getContrastTextColor(this.getApparatusColor(d.data.name)); } if (d.depth === 2) { return this.getContrastTextColor(this.getApparatusColor(d.parent.data.name)); } if (d.depth === 3) { return this.getContrastTextColor(this.getApparatusColor(d.parent.parent.data.name)); } return 'white'; }); node .filter((d) => d.depth !== 3) .selectAll('text') .style('font-weight', 'bold') .attr('font-size', '15px') .attr('transform', (_) => { return `translate(10,15)`; }); node .selectAll('text') .filter((d) => d.depth === 3) .attr('font-size', (_) => { if (tempSideEffect.children.length === 1) { return '25px'; } return '15px'; }); node .filter((d) => d.depth <= levelDisplay.depth) .on('click', (_, d) => { const depth = d.depth; if (depth === 1) { this.updateLevelSelect(LevelDisplay.SIDE_EFFECT); this.switchApparatus(d.data.name); } if (depth === 2) { this.updateLevelSelect(LevelDisplay.DRUG); this.displayTreeMap(this.displayedSideEffects, this.displayedFrequency, this.selectedLevel); } }); node .filter((d) => d.depth <= levelDisplay.depth) .filter((d) => d.depth !== 0) .style('cursor', 'pointer'); const _wrap = this.wrap; node.selectAll('text').each(function (d) { _wrap(this, // @ts-ignore d3.select(this.parentNode).select('rect').node().attributes.width .value, levelDisplay, // @ts-ignore d.depth); }); node .filter((d) => d.depth === levelDisplay.depth) .selectAll('text') .attr('transform', function (d) { // @ts-ignore const textWidth = this.getBBox().width; return `translate(${(d.x1 - d.x0) / 2 - textWidth / 2}, ${Math.max(0, (d.y1 - d.y0) / 2)})`; }); } updateCaption(sideEffects, displayedFrequencyString) { const sideEffectCaptions = JSON.parse(JSON.stringify(sideEffects)); sideEffectCaptions.children.forEach((child) => { if (child.children && displayedFrequencyString !== null && displayedFrequencyString !== 'null') { child.children = child.children.filter((child2) => child2.children.filter((x) => { const drugFrequency = frequencyWeight.filter((f) => f.frequencyLabel === x.frequency); const displayFrequency = frequencyWeight.filter((f) => f.frequencyLabel === displayedFrequencyString); return drugFrequency[0].weight >= displayFrequency[0].weight; }).length > 0); } }); sideEffectCaptions.children = sideEffectCaptions.children.filter((child) => child.children.length > 0); const captionElement = this.getHtmlElement('.captions'); captionElement.innerHTML = ''; let captionLine = document.createElement('div'); sideEffectCaptions.children .map((caption) => caption.name) .forEach((name) => { if (!this.colorsByApparatus .map((color) => color.apparatus.toUpperCase()) .includes(name.toUpperCase())) { this.colorsByApparatus.push({ apparatus: name, color: defaultColor, }); } }); this.colorsByApparatus .filter((colorApparatusTuple) => { var _a; return (_a = sideEffectCaptions === null || sideEffectCaptions === void 0 ? void 0 : sideEffectCaptions.children) === null || _a === void 0 ? void 0 : _a.map((child) => child.name.toUpperCase()).includes(colorApparatusTuple.apparatus.toUpperCase()); }) .filter((value, index, self) => self .map((x) => x.apparatus.toUpperCase()) .indexOf(value.apparatus.toUpperCase()) === index) .forEach((colorAppartusTuple, index) => { const captionItem = document.createElement('div'); captionItem.classList.add('caption-item'); const colorElement = document.createElement('div'); colorElement.classList.add('color-element'); colorElement.style.background = colorAppartusTuple.color; colorElement.innerHTML = '+'; const labelElement = document.createElement('span'); const apparatus = colorAppartusTuple.apparatus; labelElement.innerHTML = apparatus; labelElement.style.cursor = 'pointer'; captionItem.append(colorElement, labelElement); captionItem.addEventListener('click', () => { this.selectedLevel = LevelDisplay.SIDE_EFFECT; this.switchApparatus(apparatus); }); if (index % numberByLineOfApparatusCaptions === 0) { captionLine = document.createElement('div'); captionLine.classList.add('caption-line'); captionElement.append(captionLine); } captionLine.append(captionItem); }); } createSVGContainer() { var _a, _b; const container = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('side-effect'); if (!container) { throw new Error('Cannot create SVG container because element with ID "side-effect" does not exist!'); } return (_b = d3 .select(container) .append('svg') .attr('width', '100%') .attr('height', '90%')) === null || _b === void 0 ? void 0 : _b.style('transition', 'opacity, 0.5s').style('opacity', '0.5').append('g'); } getContrastTextColor(hexcolor) { hexcolor = hexcolor.replace('#', ''); const r = parseInt(hexcolor.substr(0, 2), 16); const g = parseInt(hexcolor.substr(2, 2), 16); const b = parseInt(hexcolor.substr(4, 2), 16); const textColor = (r * 299 + g * 587 + b * 114) / 1000; return textColor >= 160 ? 'black' : 'white'; } getApparatusColor(name) { var _a, _b; return ((_b = (_a = this.colorsByApparatus.filter((c) => c.apparatus.toUpperCase() === name.toUpperCase())[0]) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : defaultColor); } colorShade(col, amt) { col = col.replace(/^#/, ''); if (col.length === 3) { col = col[0] + col[0] + col[1] + col[1] + col[2] + col[2]; } let [r, g, b] = col.match(/.{2}/g); [r, g, b] = [ parseInt(r, 16) + amt, parseInt(g, 16) + amt, parseInt(b, 16) + amt, ]; r = Math.max(Math.min(255, r), 0).toString(16); g = Math.max(Math.min(255, g), 0).toString(16); b = Math.max(Math.min(255, b), 0).toString(16); const rr = (r.length < 2 ? '0' : '') + r; const gg = (g.length < 2 ? '0' : '') + g; const bb = (b.length < 2 ? '0' : '') + b; return `#${rr}${gg}${bb}`; } displayedFrequencyLabel(frequency) { var _a; return (_a = frequency.frequencyLabel) !== null && _a !== void 0 ? _a : 'Tout'; } switchApparatus(apparatus) { var _a, _b, _c; const filter = new SideEffect([ // @ts-ignore (_b = (_a = this.sideEffects) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.filter((x) => x.name.toUpperCase() === apparatus.toUpperCase())[0], ]); this.displayTreeMap(filter, this.displayedFrequency, this.selectedLevel); this.updateLevelSelect((_c = this.selectedLevel) !== null && _c !== void 0 ? _c : LevelDisplay.SIDE_EFFECT); } reset() { this.updateLevelSelect(LevelDisplay.APPARATUS); this.displayTreeMap(this.sideEffects, this.displayedFrequency, this.selectedLevel); } changeDisplayFrequency() { this.updateFrequencyRange(this.getHtmlElement('.frequency-select').value); this.displayTreeMap(this.displayedSideEffects, this.displayedFrequency, this.selectedLevel); this.updateCaption(this.sideEffects, this.displayedFrequency); } changeDisplayLevel(levelDisplay) { this.selectedLevel = levelDisplay; this.displayTreeMap(this.displayedSideEffects, this.displayedFrequency, this.selectedLevel); } updateFrequencyRange(frequencyIndex) { this.displayedFrequency = [...frequencyWeight] .filter((x) => x.frequencyLabel !== null) .sort((x) => x.weight) .reverse()[frequencyIndex].frequencyLabel; this.getHtmlElement('.frequency-select').value = frequencyIndex; this.getHtmlElement('.bubble').style.opacity = '1'; setTimeout(() => { this.getHtmlElement('.bubble').style.opacity = '0'; this.getHtmlElement('.bubble').style.removeProperty('opacity'); }, 1000); } updateLevelSelect(selectedLevel) { this.selectedLevel = selectedLevel; this.renderRoot.querySelector('level-display-selector').selectedLevelDisplay = this.selectedLevel; } wrap(text, width, levelDisplay, textDepth) { var _a; const el = d3.select(text); const words = el .text() .split(/[\s-]+/) .reverse(); let line = []; let lineNumber = 0; const lineHeight = 1; // ems const xAttr = el.attr('x'); const yAttr = el.attr('y'); let tspan = el .text(null) .append('tspan') .attr('x', xAttr) .attr('y', yAttr) .attr('dy', '0em'); let word = words.pop(); while (word) { if (word) { line.push(word); tspan.text(line.join(' ')); const tSpanNodeTextLength = (_a = tspan === null || tspan === void 0 ? void 0 : tspan.node()) === null || _a === void 0 ? void 0 : _a.getComputedTextLength(); if (tSpanNodeTextLength && tSpanNodeTextLength > width) { if (lineNumber < 0 && textDepth === levelDisplay.depth) { line.pop(); tspan.text(line.join(' ')).attr('y', Number(yAttr)); line = [word]; tspan = el .append('tspan') .attr('x', 0) .attr('y', Number(yAttr)) .attr('dy', ++lineNumber * lineHeight + 'em') .text(word); } else { line.pop(); tspan .text(line.join(' ')) .attr('x', 0) .attr('y', Number(yAttr) - 4); line = [word]; tspan = el .append('tspan') .attr('x', 0) .attr('y', Number(yAttr) - 4) .attr('dy', ++lineNumber + 'em') .text(' ...'); break; } } word = words.pop(); } } } fetchData() { if (this.sideEffectsSupplier) { this.sideEffectsSupplier('/rest/api/version') .then((response) => response.text()) .then((versionFeed) => { var _a; const domParser = new DOMParser(); const dom = domParser.parseFromString(versionFeed, 'text/xml'); const entry = dom.querySelector('feed > entry'); const locale = (_a = entry === null || entry === void 0 ? void 0 : entry.getElementsByTagName('vidal:productLine')[0]) === null || _a === void 0 ? void 0 : _a.getAttribute('locale'); if (locale && this.locale !== locale) { this.locale = locale; try { const langage = locale.split('_')[0]; setLocale(langage).then(() => { console.log(`langage ${langage} changed for locale ${locale}`); this.requestUpdate(); }); } catch (_error) { console.error(`Locale ${this.locale} isn't handled by this application`); } } }); } if (this.drugIds.length > 0) { const url = `/rest/side-effect/hierarchy?${this.drugIds .map((vidalDrugId) => 'drugId=' + vidalDrugId) .join('&')}`; this.sideEffectsSupplier(url) .then((resp) => resp.json()) .then((json) => { this.sideEffects = { children: json }; this.selectedLevel = LevelDisplay.APPARATUS; this.displayTreeMap(this.sideEffects, VidalSideEffect_1.DEFAULT_FREQUENCY.frequencyLabel, this.selectedLevel); this.updateCaption(this.displayedSideEffects, this.displayedFrequency); }); } } updated() { this.fetchData(); const bubble = this.getHtmlElement('.bubble'); const range = this.getHtmlElement('#frequency-selector'); this.updateBubble(range, bubble); range === null || range === void 0 ? void 0 : range.addEventListener('input', () => { this.updateBubble(range, bubble); }); } updateBubble(range, bubble) { const val = range.value; const min = range.min ? range.min : 0; const max = range.max ? range.max : 7; const newVal = Number(((val - min) * 100) / (max - min)); bubble.innerHTML = [...frequencyWeight] .filter((x) => x.frequencyLabel !== null) .sort((x) => x.weight) .reverse()[val].displayLabel(); bubble.style.left = `calc(${newVal}%)`; } render() { const frequencyOptionHtmlTemplateResult = (weight, index) => { var _a; return html ` <option value="${index}" label="${(_a = weight === null || weight === void 0 ? void 0 : weight.frequencyLabel) !== null && _a !== void 0 ? _a : ''}" ></option>`; }; return html ` <link href="//fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap" rel="stylesheet" /> <header class="header"> <img class="logo-image" src="${VidalSideEffect_1.logoVidal}" alt="Vidal Side Effect" /> <div class="title">${msg('EFFETS INDÉSIRABLES')}</div> </header> <div id="side-effect"> <div class="menu"> <div class="range-container-wrapper" title="${msg('Choisir la fréquence.')}" > <span> ${msg('Très fréquent')} </span> <div class="range-container"> <input id="frequency-selector" class="frequency-select" type="range" min="0" max="4" list="frequencyMarks" value="${VidalSideEffect_1.DEFAULT_FREQUENCY.frequencyRangeIndex}" @change="${this.changeDisplayFrequency}" /> <output class="bubble"></output> </div> <span> ${msg('Très rare')} </span> </div> <datalist id="frequencyMarks"> ${[...frequencyWeight] .filter((x) => x.frequencyLabel !== null && x.frequencyLabel !== 'ISOLATED_CASES' && x.frequencyLabel !== 'EXECPTIONAL') .sort((x) => x.weight) .reverse() .map(frequencyOptionHtmlTemplateResult)} </datalist> <level-display-selector title="${msg("Niveau d'affichage courant.")}" .reset="${() => this.reset()}" .valueChangeEvent="${(levelDisplay) => this.changeDisplayLevel(levelDisplay)}" ></level-display-selector> <div class="meta-data"> <span>${msg('Source : RCP')}</span> </div> </div> </div> <div class="captions"></div> `; } }; VidalSideEffect.logoVidal = 'data:image/png;base64,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'; VidalSideEffect.styles = vidalSideEffectStyles(numberByLineOfApparatusCaptions); VidalSideEffect.DEFAULT_FREQUENCY = { frequencyRangeIndex: '1', frequencyLabel: 'FREQUENT', }; __decorate([ property({ type: Array }) ], VidalSideEffect.prototype, "drugIds", void 0); __decorate([ property({ attribute: false }) ], VidalSideEffect.prototype, "locale", void 0); __decorate([ property({ attribute: false }) ], VidalSideEffect.prototype, "sideEffectsSupplier", void 0); VidalSideEffect = VidalSideEffect_1 = __decorate([ localized(), customElement('vidal-side-effect') ], VidalSideEffect); export { VidalSideEffect }; //# sourceMappingURL=vidal-side-effect.js.map