From bbcb0fbbf41df7ec5528f5b53f513428ba675270 Mon Sep 17 00:00:00 2001 From: Refhi Date: Fri, 28 Jun 2024 17:18:49 +0200 Subject: [PATCH 1/8] log fix + retrait courbe pediatrique 0-6 mois si age 1+ ans --- Consultation.js | 4 ++-- keyCommands.js | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Consultation.js b/Consultation.js index 7dd9479..236f0d6 100644 --- a/Consultation.js +++ b/Consultation.js @@ -26,8 +26,8 @@ addTweak('https://secure.weda.fr/FolderMedical/ConsultationForm.aspx', 'TweakTab "Taille-Poids : 18 ans (M)": { "TC": "15", "Question": "Taille", "Genre": "M", "AgeMin": 3, "AgeMax": 18 }, "IMC : 18 ans": { "TC": "16", "Question": "IMC", "Genre": "F", "AgeMin": 0, "AgeMax": 18 }, "IMC : 18 ans (M)": { "TC": "17", "Question": "IMC", "Genre": "M", "AgeMin": 0, "AgeMax": 18 }, - "Garçon 0 mois à 6 mois (OMS)": { "TC": "18", "Question": "Poids", "Genre": "M", "AgeMin": 0, "AgeMax": 1 }, - "Fille 0 mois à 6 mois (OMS)": { "TC": "19", "Question": "Poids", "Genre": "F", "AgeMin": 0, "AgeMax": 1 } + "Garçon 0 mois à 6 mois (OMS)": { "TC": "18", "Question": "Poids", "Genre": "M", "AgeMin": 0, "AgeMax": 0 }, + "Fille 0 mois à 6 mois (OMS)": { "TC": "19", "Question": "Poids", "Genre": "F", "AgeMin": 0, "AgeMax": 0 } }; // // Récupère les valeurs de genre et d'âge dans la page. diff --git a/keyCommands.js b/keyCommands.js index 776abc2..ac98b14 100644 --- a/keyCommands.js +++ b/keyCommands.js @@ -108,7 +108,7 @@ function addShortcuts(keyCommands, scope, scopeName) { hotkeys.filter = function(event){ return true; // Permet d'utiliser les raccourcis depuis un input ou un textarea } - console.log('[addShortcuts] ajout des raccourcis sur element', scope, 'avec scopeName', scopeName, 'et result', result); + // console.log('[addShortcuts] ajout des raccourcis sur element', scope, 'avec scopeName', scopeName, 'et result', result); for (let key in keyCommands) { action = keyCommands[key]; shortcut = shortcutDefaut(result.shortcuts, result.defaultShortcuts, key); @@ -123,13 +123,14 @@ function addShortcutsToIframe() { iframes.forEach(function(iframe, index) { let scopeName = 'iframe' + (index + 1); hotkeys.setScope(scopeName); - console.log('iframe' + (index + 1), iframe); + // console.log('iframe' + (index + 1), iframe); addShortcuts(keyCommands, iframe.contentDocument, scopeName); }); } } function addAllShortcuts() { + console.log('[addAllShortcuts] activé'); hotkeys.unbind(); // nécessaire pour éviter les doublons de raccourcis clavier entrainant des doublons de documents... addShortcuts(keyCommands, document, 'all'); addShortcutsToIframe(); From ddebee6cfa228a6d5e3d2c5f8e6ae6666287a7b8 Mon Sep 17 00:00:00 2001 From: Refhi Date: Sat, 29 Jun 2024 19:16:00 +0200 Subject: [PATCH 2/8] =?UTF-8?q?Courbes=20p=C3=A9diatriques=20vont=20derri?= =?UTF-8?q?=C3=A8re=20l'iframe=20de=20l'history2Left=20#155?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ Consultation.js | 1 + 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e7f80d..2ad984f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ Toutes les modifications notables de ce projet seront documentées dans ce fichier. +# [2.4.1] - ... - bugfix +## fix : +- les courbes pédiatriques s'affichent désormais devant l'historique de gauche + # [2.4] - 28/06/2024 ## ajout : - Décocher automatiquement le message et le fichier IHE_XDM.zip lors de l'importation d'un message depuis la messagerie sécurisée diff --git a/Consultation.js b/Consultation.js index 236f0d6..74f732f 100644 --- a/Consultation.js +++ b/Consultation.js @@ -81,6 +81,7 @@ addTweak('https://secure.weda.fr/FolderMedical/ConsultationForm.aspx', 'TweakTab tooltip.style.top = '50%'; tooltip.style.left = '50%'; tooltip.style.transform = 'translate(-50%, -50%)'; + tooltip.style.zIndex = '1000'; return tooltip; } From b03d78dbc0afb66c53f337a1355951cee7d82f32 Mon Sep 17 00:00:00 2001 From: Refhi Date: Sat, 29 Jun 2024 19:27:33 +0200 Subject: [PATCH 3/8] =?UTF-8?q?Courbes=20p=C3=A9diatriques=20HS=20si=20"Ac?= =?UTF-8?q?tiver=20la=20navigation=20entre=20les=20valeurs=20de=20suivi=20?= =?UTF-8?q?avec=20la=20touche=20Tab=20dans=20les=20consultations."=20est?= =?UTF-8?q?=20d=C3=A9coch=C3=A9e=20#149?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Consultation.js | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/Consultation.js b/Consultation.js index 74f732f..3cbd7f7 100644 --- a/Consultation.js +++ b/Consultation.js @@ -8,11 +8,31 @@ addTweak('https://secure.weda.fr/FolderMedical/ConsultationForm.aspx', 'TweakTab } } - lightObserver('[id^="ContentPlaceHolder1_SuivisGrid_EditBoxGridSuiviReponse_"]', changeTabOrder) - console.log('ConsultationFormTabOrderer started'); - // ici aussi les métriques sont difficiles à évaluer. Si on considère environs - // 2 éléments par consultation, on peut estimer en gros à 1 clic + 1 drag par consultation - recordMetrics({ clicks: 1, drags: 1 }); + lightObserver('[id^="ContentPlaceHolder1_SuivisGrid_EditBoxGridSuiviReponse_"]', function(elements) { + changeTabOrder(elements) + console.log('ConsultationFormTabOrderer started'); + // ici aussi les métriques sont difficiles à évaluer. Si on considère environs + // 2 éléments par consultation, on peut estimer en gros à 1 clic + 1 drag par consultation + recordMetrics({ clicks: 1, drags: 1 }); + }); +}); + +addTweak('https://secure.weda.fr/FolderMedical/ConsultationForm.aspx', '*CourbesPediatriques', function () { + // Modifier l'ordre de tabulation des valeurs de suivi + function changeTabOrder(elements) { + console.log('changeTabOrder started'); + for (var i = 0; i < elements.length; i++) { + elements[i].tabIndex = i + 1; + } + } + + lightObserver('[id^="ContentPlaceHolder1_SuivisGrid_EditBoxGridSuiviReponse_"]', function(elements) { + changeTabOrder(elements) + console.log('ConsultationFormTabOrderer started'); + // ici aussi les métriques sont difficiles à évaluer. Si on considère environs + // 2 éléments par consultation, on peut estimer en gros à 1 clic + 1 drag par consultation + recordMetrics({ clicks: 1, drags: 1 }); + }); // Afficher en overlay une image issue d'une URL en cas de survol de certains éléments From a5849128f81c3f9211e36ee23675af1cf50bf8ce Mon Sep 17 00:00:00 2001 From: Refhi Date: Sat, 29 Jun 2024 19:48:49 +0200 Subject: [PATCH 4/8] fix De nouveau superpositions quand ouverture d'un document joint lors d'une consultation #153 --- CHANGELOG.md | 1 + Consultation.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ad984f..0fe8cf8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Toutes les modifications notables de ce projet seront documentées dans ce fichi # [2.4.1] - ... - bugfix ## fix : - les courbes pédiatriques s'affichent désormais devant l'historique de gauche +- les documents joint à une consultation/Demande/etc. s'affichent désormais devant les autres éléments # [2.4] - 28/06/2024 ## ajout : diff --git a/Consultation.js b/Consultation.js index 3cbd7f7..7b4b077 100644 --- a/Consultation.js +++ b/Consultation.js @@ -136,7 +136,7 @@ addTweak('https://secure.weda.fr/FolderMedical/ConsultationForm.aspx', '*Courbes let explanationText = createExplanatoryText(); tooltip.appendChild(loadingText); tooltip.appendChild(img); - element.appendChild(tooltip); + document.body.appendChild(tooltip); element.addEventListener('mouseover', function () { let imageUrl = urlImage(key); @@ -299,6 +299,7 @@ function createIframe(targetElement) { iframe.style.position = 'absolute'; // ou 'fixed' si vous voulez qu'elle reste en place lors du défilement iframe.style.left = '0px'; // Aligné avec le bord gauche iframe.style.border = "none"; + iframe.style.zIndex = '-1'; // Injecter l'iframe dans le DOM proche de targetElement pour que ça soit au même niveau (sur l'axe vertical) const parent = targetElement.parentNode; if (parent) { @@ -345,6 +346,7 @@ function adjustLayout(pageType, iframe, targetElement) { targetElement.style.left = `${iframe.getBoundingClientRect().right}px`; targetElement.style.marginTop = '0px'; targetElement.style.width = `${targetElementWidth}px`; + targetElement.style.zIndex = '-1'; if (["Certificat", "Demande", "Courrier"].includes(pageType)) { moveAndResizeDocTypes(availableWidth); From 459da16fa8e26b7aca2a05c97105699d3226ec73 Mon Sep 17 00:00:00 2001 From: Refhi Date: Sun, 30 Jun 2024 21:29:35 +0200 Subject: [PATCH 5/8] =?UTF-8?q?bug=20bouton=20impression=20manquant=20dans?= =?UTF-8?q?=20certificat=20si=20affichage=20historique=20activ=C3=A9=20=20?= =?UTF-8?q?#161?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Consultation.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Consultation.js b/Consultation.js index 7b4b077..756384f 100644 --- a/Consultation.js +++ b/Consultation.js @@ -249,7 +249,7 @@ let pagesToLeftPannel_ = [ }, { url: 'https://secure.weda.fr/FolderMedical/CertificatForm.aspx', - targetElementSelector: '#CE_ContentPlaceHolder1_EditorCertificat_ID', + targetElementSelector: '#form1 > div:nth-child(15) > table > tbody > tr > td:nth-child(1) > table > tbody > tr', option: 'MoveHistoriqueToLeft_Certificat', pageType: 'Certificat' }, @@ -383,7 +383,7 @@ function historyToLeft() { pagesToLeftPannel_.forEach(page => { addTweak(page.url, page.option, () => { const targetElement = document.querySelector(page.targetElementSelector); - const iframe = createIframe(targetElement); + const iframe = createIframe(targetElement); // ici targetElement est nécessaire comme référence pour l'insertion de l'iframe iframe.addEventListener('load', () => { removeElements(iframe.contentDocument); }); From d197afbe55aa5ebc8418cf1918e1da1a6793bf17 Mon Sep 17 00:00:00 2001 From: Refhi Date: Sun, 30 Jun 2024 21:39:01 +0200 Subject: [PATCH 6/8] =?UTF-8?q?La=20recherche=20de=20m=C3=A9dicament=20s'e?= =?UTF-8?q?fface=20#154?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prescription.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prescription.js b/prescription.js index 38fa875..682b473 100644 --- a/prescription.js +++ b/prescription.js @@ -166,8 +166,8 @@ if (PrescriptionForm) { } } } - lightObserver('#ContentPlaceHolder1_BaseVidalUcForm1_DropDownListRecherche', onDOMChange); + onDOMChange() // a priori nécessaire sur certains setups en plus du lightObserver }); } From fbb51cea62dc8f8bca41bf868dff1569bb39bedd Mon Sep 17 00:00:00 2001 From: Refhi Date: Sun, 30 Jun 2024 21:56:19 +0200 Subject: [PATCH 7/8] =?UTF-8?q?fix-petit=20bug=20quand=20activation=20"Ouv?= =?UTF-8?q?re=20automatiquement=20la=20fen=C3=AAtre=20des=20ordonnances-ty?= =?UTF-8?q?pes=20lors=20des=20prescriptions=20m=C3=A9dicamenteuses"=20#152?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prescription.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/prescription.js b/prescription.js index 682b473..545f478 100644 --- a/prescription.js +++ b/prescription.js @@ -173,15 +173,13 @@ if (PrescriptionForm) { } addTweak(prescriptionUrl, 'autoOpenOrdoType', function() { - // window.onload = function() { // paradoxalement plus fiable sans ! - document.getElementById('ContentPlaceHolder1_ButtonPrescritionType').click(); - afterMutations(100, function() { //On remet le focus sur la barre de recherche, nécessite un petit délai - var inputField = document.getElementById('ContentPlaceHolder1_BaseVidalUcForm1_TextBoxFindPack'); - if (inputField) { - inputField.focus(); - } - }); - // }; + document.getElementById('ContentPlaceHolder1_ButtonPrescritionType').click(); + lightObserver("#ContentPlaceHolder1_BaseGlossaireUCForm2_UpdatePanelDocument", function() { + var inputField = document.getElementById('ContentPlaceHolder1_BaseVidalUcForm1_TextBoxFindPack'); + if (inputField) { + inputField.focus(); + } + }); }); From 7b5b87e277ad108bf9bba5dde4afb0976933fc11 Mon Sep 17 00:00:00 2001 From: Refhi Date: Sun, 30 Jun 2024 22:04:16 +0200 Subject: [PATCH 8/8] v2.4.1 --- CHANGELOG.md | 10 +++++++--- manifest.json | 2 +- update.js | 21 ++++++++------------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fe8cf8..e72aef0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,13 @@ Toutes les modifications notables de ce projet seront documentées dans ce fichier. # [2.4.1] - ... - bugfix -## fix : -- les courbes pédiatriques s'affichent désormais devant l'historique de gauche -- les documents joint à une consultation/Demande/etc. s'affichent désormais devant les autres éléments +## fix de bugs : +- #152 - L'option "Ouvre automatiquement la fenêtre des ordonnances-types lors des prescriptions médicamenteuses" empêchait la rédaction d'un conseil médicamenteux +- #153 - De nouveau superpositions quand ouverture d'un document joint lors d'une consultation +- #154 - La recherche de médicament s'efface lors d'un premier lancement de Weda dans certaines conditions +- #155 - Courbes pédiatriques vont derrière l'iframe de l'history2Left +- #149 - Courbes pédiatriques HS si "Activer la navigation entre les valeurs de suivi avec la touche Tab dans les consultations." est décochée +- #161 - bug bouton impression manquant dans certificat si affichage historique activé # [2.4] - 28/06/2024 ## ajout : diff --git a/manifest.json b/manifest.json index 3a529f4..f0bb526 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Weda Helper", - "version": "2.4", + "version": "2.4.1", "options_page": "options.html", "permissions": ["storage"], "host_permissions": ["http://localhost/"], diff --git a/update.js b/update.js index 805dbaa..7252aa4 100644 --- a/update.js +++ b/update.js @@ -6,19 +6,14 @@ function htmlMaker(text) { } var nouveautes = ` -# [2.4] - 28/06/2024 -## ajout : -- Décocher automatiquement le message et le fichier IHE_XDM.zip lors de l'importation d'un message depuis la messagerie sécurisée -- Sélection automatique du type d'ordonnance numérique quand il s'agit d'une Demande, et qu'un mot-clé est détecté : (infirmierRegex = /IDE|infirmier|pansement|injection/i; kineRegex = /kiné|kine|kinésithérapie|kinesitherapie|MKDE|kinesitherapeute|kinesithérapeute/i; pedicureRegex = /pédicure|pedicure|podologie|podologique|podologue/i; orthophonieRegex = /orthophonie|orthophonique|orthophoniste/i; let orthoptieRegex = /orthoptie|orthoptique|orthoptiste/i;) => n'hésitez pas à nous demander d'ajouter d'autres mot-clés pertinents. -- 2 raccourcis désormais possibles selon le modèle d'impression preféré, idem pour les téléchargements : Ctrl+P pour l'impression et Ctrl+D pour le téléchargement pour le premier modèle, et Ctrl+Shift+P et Ctrl+Shift+D pour le second modèle. -- détection automatique du Companion s'il est en route, mais n'est pas activé dans les options de Weda-Helper - -## fix : -- le focus reste dans le champ de recherche après l'ouverture automatique des prescriptions-types -- blocage du historyToLeft si une fenêtre de prévisualisation est ouverte pour éviter des superpositions -- alt+V fonctionne désormais aussi pour valider l'import de documents -- message [addTweak] plus explicite dans la console -- amélioration du Readme, notamment la partie sur le Companion et les raccourcis claviers +v2.4.1 - hotfix +## (les numéros correspondent aux "issues" sur github) +- #152 - L'option "Ouvre automatiquement la fenêtre des ordonnances-types lors des prescriptions médicamenteuses" empêchait la rédaction d'un conseil médicamenteux +- #153 - De nouveau superpositions quand ouverture d'un document joint lors d'une consultation +- #154 - La recherche de médicament s'efface lors d'un premier lancement de Weda dans certaines conditions +- #155 - Courbes pédiatriques vont derrière l'iframe de l'history2Left +- #149 - Courbes pédiatriques HS si "Activer la navigation entre les valeurs de suivi avec la touche Tab dans les consultations." est décochée +- #161 - bug bouton impression manquant dans certificat si affichage historique activé ` nouveautes = htmlMaker(nouveautes)