Sélecteurs d'objets
Les sélecteurs d'objets de Mediboard sont des boîtes de dialogues permettant, comme leur nom l'indique de déclencher la sélection d'un objet, dont le type varie avec le sélecteur, par l'utilisateur. L'utilisation la plus courante le choix d'un objet dans le formulaire d'un autre objet, par exemple le choix d'un Patient pour une consultation, une Intervention ou un Séjour.
Fonctionnement classique
Exemple de la sélection d'un Patient pour planifier une consultation :
- l'utilisateur clique sur un bouton Choisir un patient
- Javascript initialise un sélecteur en fournissant les champ ciblés dans le formulaire de la consultation
- Javascript ouvre la boite de dialogue
- l'utilisateur valide son choix après une recherche éventuelle
- Javascript inscrit l'identifiant du Patient dans le champ de formulaire cible (ainsi que la vue utilisateur de cet objet dans un emplacement visible par l'utilisateur)
Liste des sélecteurs
Chaque module peut proposer un certain nombre de sélecteur, chacun d'entre eux permettant la sélection d'un type d'objet précis.
- module
Module Consultations-
plage_selector.js: plage de consultation
-
- module
Module Dossiers Patient-
pat_selector.js: Patient
-
- module
Module Planning chir?-
ccam_selector.js: codes CCAM -
cim10_selector.js: codes CIM10 -
plage_selector.js: plages opératoires -
protocole_selector.js: protocoles
-
- module
Module Mediusers-
color_selector.js: couleur
-
- module
Module Administration-
object_selector.js: tout type d'objets
-
Création d'un fichier javascript permettant de gérer un sélecteur
Exemple d'-+object_selector.js+- :
Ce fichier est constitué:
- de la déclaration des variables ainsi que des options d'affichage
var ObjectSelector = {
sForm : null, // Le nom du formulaire
sId : null, // Le nom du champ identifiant
sView : null, // Le nom du champ vue
sClass : null, // Le nom du champ Classe
onlyclass : null,
options : {
width : 600, // largeur de la fenetre
height: 300 // hauteur de la fenetre
},
- de la fonction pop qui ouvre la fenêtre d'affichage du sélecteur
pop: function() {
var oForm = document[this.sForm];
var url = new Url();
// Appel au fichier object_selector.php qui se trouve dans le module ((Module Administration))
url.setModuleAction("system", "object_selector");
// onlyclass permet de définir si la classe est prédéfinie et non modifiable
url.addParam("onlyclass", this.onlyclass);
// permet de définir la classe de l'objet
url.addParam("selClass", oForm[this.sClass].value);
// Ouverture de la boite de dialogue
url.popup(this.options.width, this.options.height, "Object Selector");
},
- de la fonction set qui sauvegarde la valeur choisie par l'utilisateur
set: function(oObject) {
var oForm = document[this.sForm];
// Les valeurs sont sauvegardées dans les variables
// afin d'être retransmises et affichées dans le tpl.
if (oForm[this.sView]) {
oForm[this.sView].value = oObject.view;
}
oForm[this.sClass].value = oObject.objClass;
// onChange sur l'id
Form.Element.setValue(oForm[this.sId], oObject.id);
}
Utilisation des sélecteurs
- Appel au script du sélecteur
Au debut d'un fichier tpl dans lequel on doit utiliser le sélecteur, il faut inclure le script adapté
// Exemple pour object_selector
// module: nom du module dans lequel est le script
// script: nom du fichier js
{{mb_include_script module="system" script="object_selector"}}
- Appel de la fonction
<button type="button" class="search" oncliiick="ObjectSelector.init()">
Chercher un objet
</button>
ObjectSelector.init = function(){
this.sForm = "editPermObj";
this.sId = "object_id";
this.sView = "_object_view";
this.sClass = "object_class";
this.onlyclass = "false";
this.pop();
}
Dernièrement modifié par lryo
, Basé sur le travail de
mytto
et
sully
.
Modifiée dernièrement le mardi 17 de juillet, 2007 09h53m55.
