Aide à la saisie avec interfaces de recherche spéciales

sur un attribut non tableau :

MY_ATTRTITLE : phpfunc=my_app:myhelpzone(A,D,MY_ATTRTITLE):MY_IDVAL,MY_ATTRDATE,MY_ATTRTITLE

Cette notation indique que la zone “my_app:myhelpzone” sera appelée: appel fichier myhelpzone.php de l'application my_app et appel de la fonction myhelpzone.php avec les arguments suivants :

fichier myhelpzone.php

function myhelpzone(&$action, $dbaccess, $title) {
   $action->lay->set("atitle", $title);
}

fichier my_helpzone.xml

  <html><head>
  <script>
  function js : 
  var dbaccess='[D]';
  var arg_title='[atitle]';
 
 function sendresult() {
  var idval='1234';
  var adate='21/04/2010';
  var aname="It's me";
  window.opener.setInputHelp('MY_ATTRTITLE',[idval,adate,aname]);
  }
  </script>
  </head>
  <body>
    <input type="button" onclick="sendresult()" value="Click Here">
    </body>
    </html>

sur un attribut tableau :

Sur un attribut tableau cela est la même déclaration et le même usage. MY_T_TABLE1 : phpfunc=my_app:myhelpzone(A,D,MY_ATTRTITLE):MY_IDVAL,MY_ATTRDATE,MY_ATTRTITLE

cela va remplir les colonnes MY_IDVAL,MY_ATTRDATE,MY_ATTRTITLE du tableau. D'un point de vu interface un bouton ”…” apparaîtra dans le fieldset de l'encadrement du tableau.

fichier my_helpzone.xml

  <script>
 
 function addresult() {
  var idval='1234';
  var adate='21/04/2010';
  var aname="It's me";
  window.opener.addInputHelp('MY_T_TABLE1',[idval,adate,aname]); // ajout en fin de tableau
  }
  </script>

La fonction window.opener.clearTable('MY_T_TABLE1'); efface le contenu d'un tableau

  <script>
 
 function addresult() {
  var idval='1234';
  var adate='21/04/2010';
  var aname="It's me";
  window.opener.addTableRow('MY_T_TABLE1',{my_idval:idval,my_attrdate:adate,my_attrname:aname}); // ajout en fin de tableau
  }
  </script>

Construction de la recherche spécialisé

Le template de la zone définie, peut utiliser l'api data de freedom. En utilisant l'objet javascript Fdl.SearchDocument vous pouvez facilement récupérer les informations nécessaires à l'envoi du résultat.

Il est aussi envisageable de créer cette interface en extjs en utilisant aussi l'api freedom-extui.

freedom_3/workinprogress/complex_input_help.txt · Dernière modification: 07/05/2010 09:39 par eric