| Previous topic :: Next topic |
| Author |
Message |
lem alpha Balise XML
 Offline
Posts: 68
Joined: 28 Apr 2008
Localisation: F-Strasbourg Version(s) FM: FMP9, FMP9a, FMS9
|
Posted: Mon 5 May - 23:10 Post subject: [résolu] Fermeture de modale |
|
|
hello,
voilà mon problème :
j'ai une modale qui sert à créer/modifier des fiches
(je procède par popup pour dissocier d'un modèle "consultation" aux rubriques non modifiables, je trouve ça plus sûr en réseau, et en modale pour éviter de fermer "bêtement" et ainsi court-circuiter les scripts de vérif, formatage, créer une fiche et la laisser vide, etc...)
je voudrais sortir de la modale par différents boutons : "annuler", "[valider et] terminer"
il y a aussi un "[valider et] suivant" mais celui-ci ne sort pas de la modale, donc je n'en parle pas.
je ne sais pas comment passer un paramètre différent sur chaque bouton alors que ce sont de simples "Reprendre script"...
y a-t-il un moyen ?
merci ! _________________ Laurent
Last edited by lem alpha on Tue 6 May - 10:35; edited 1 time in total
|
|
| Back to top |
|
 |
FabriceN Administrateur
 Offline
Posts: 109
Joined: 26 Apr 2008
Localisation: Bruxelles Version(s) FM: FM9Adv
|
Posted: Mon 5 May - 23:29 Post subject: [résolu] Fermeture de modale |
|
|
Malheureusement... ce n'est pas simple, car il n'est toujours pas possible de savoir sur quel objet on a cliqué. Grrrr....
Le truc consiste donc à déclencher un autre script, qui ne fait que déclarer une variable (ou un résultat). Le bouton est configuré pour reprendre le script parent, qui peut ainsi exploiter le résultat.
Donc, en Français :
- les boutons déclenchent un script qui déclare une variable $$TaVariableDefinieDansLeSousScript et reprennent le script parent
- ta modale conditionnelle vérifie que "=not isempty ( $$TaVariableDefinieDansLeSousScript )"
- ton script onBeforeModalClose traite les différents cas
- les variables onAfterScripts du comportement onBeforeModalClose réinitialisent $$TaVariableDefinieDansLeSousScript
Par exemple... _________________ Fabrice Nordmann,
BH&A
Vanderkindere 467
1180 Bruxelles
Belgique
www.bh-a.com
|
|
| Back to top |
|
 |
lem alpha Balise XML
 Offline
Posts: 68
Joined: 28 Apr 2008
Localisation: F-Strasbourg Version(s) FM: FMP9, FMP9a, FMS9
|
Posted: Tue 6 May - 00:36 Post subject: [résolu] Fermeture de modale |
|
|
OK, merci ça confirme mes pistes... d'ailleurs tout est prêt, le script à paramètres à coller aux boutons, la variable conditionnant la fermeture, la réinitialisation des variables...
et en fait la raison de ma question était que, bêtement, je ne sais pas comment, dans un script, faire reprendre le script parent.
Et en plus je sens bien que comme d'hab' c'est un truc tout bête qui me crève les yeux.
Mais à force de se les faire crever, ils sont plus en face des trous (ils se planquent). _________________ Laurent
|
|
| Back to top |
|
 |
Ugo Accroc
 Offline
Posts: 34
Joined: 01 May 2008
Localisation: Paris + BXL Version(s) FM: FM9 Adv
|
Posted: Tue 6 May - 00:55 Post subject: [résolu] Fermeture de modale |
|
|
En effet Laurent, c'est un truc tout bête que FileMaker documente finalement très mal. Chaque bouton comporte 4 options, tu les trouveras dans...la définition des boutons. Par défaut, l'option est sur Pause, mais tu disposes d'une option de reprise.
Pour ce qui me concerne, j'exécute toujours un autre script que j'appelle "Validation" qui en fait ne retournera qu'un résultat de Script. C'est ce résultat retourné que j'exploite pour sortir de la modale en fin de compte, et j'utilise le même script pour valider ou ferme la fenêtre, le résultat de script étant finalement le paramètre lui-même. _________________ Ugo Di Luca
http://www.dlsystems.fr
|
|
| Back to top |
|
 |
lem alpha Balise XML
 Offline
Posts: 68
Joined: 28 Apr 2008
Localisation: F-Strasbourg Version(s) FM: FMP9, FMP9a, FMS9
|
Posted: Tue 6 May - 01:32 Post subject: [résolu] Fermeture de modale |
|
|
ciao Ugo (j'abandonne mon traditionnel "hello") et merci pour ta réponse !
non seulement je ne comprends pas un truc tout bête, mais en plus je n'arrive pas à faire comprendre ce que je ne comprends pas. Bref.
Je connais l'option "reprendre script actif" pour un bouton.
J'ai aussi pensé à placer un script sous les boutons, qui renvoie un résultat, j'utilise d'ailleurs le truc sur d'autres modèles (pas modaux) pour activer un même modèle cible de différentes manières avec différents boutons.
Ce qui m'échappe, c'est que si mon bouton appelle un tel script "validation" renvoyant un résultat, il ne peut plus "reprendre le script" (c'est l'un ou l'autre, non?)
Et si ce "reprendre" doit être appelé à l'intérieur du script "validation", je ne sais pas comment faire.
Je n'arrive donc pas à faire le lien qui fera s'enchaîner ces deux étapes lors d'UN clic sur un bouton.
Ou, dit autrement, dans l'explication de Fabrice, je ne comprends pas ça :
"les boutons déclenchent un script qui déclare une variable $$TaVariableDefinieDansLeSousScript ET reprennent le script parent"
Voilà, j'espère être plus clair, et désolé pour mon "hermétisme"... _________________ Laurent
|
|
| Back to top |
|
 |
Ugo Accroc
 Offline
Posts: 34
Joined: 01 May 2008
Localisation: Paris + BXL Version(s) FM: FM9 Adv
|
Posted: Tue 6 May - 01:44 Post subject: [résolu] Fermeture de modale |
|
|
Ciao,
Bon, je ne sais pas en fait, je vais donc faire le têtu. Lorsque tu définis un bouton, tu as l'option de lui attacher un script par l'option "Exécuter Script". Dans cette fenêtre, outre le script que tu pourras alors choisir d'affecter au bouton, tu disposeras de 4 options dans un popup, qui si mes traductions sont bonnes sont :
Pause
Reprise
Sortie
Interrompre
Cela n'a donc rien à voir avec l'action de script Reprendre Script.
Etait-ce de cela dont nous parlions tous les deux ?
Sinon, gère la sortie de la pause plus haut dans ton script par une boucle, et dans ce cas, le bouton attaché au script "Validation" reste avec une option "Pause"
Boucle
Fin de Boucle Si [ Get ( ScriptResult ) = "Valid" or Get ( ScriptResult ) = "Close" ]
Pause
Fin de Boucle
Si GSR = "Valid"
Fait ceci
Sinon Si GSR = "Clode"
Ferme la fenêtre
Pour être plus précis, le script de validation/fermeture est envoyé avec un paramètre de script
et on pourrait presque le limiter à
ExitScript [ Get ( ScriptParameter ) ]
Mais il est vrai qu'il fait un peu autre chose parfois, en fonction du contexte, du modèle, etc, y compris des messages d'alertes selon les conditions remplies et fournies par le paramètre de script. Mais je préfère en effet gérer ces exceptions dans un sous script qui renverra son résultat au script en pause. _________________ Ugo Di Luca
http://www.dlsystems.fr
|
|
| Back to top |
|
 |
lem alpha Balise XML
 Offline
Posts: 68
Joined: 28 Apr 2008
Localisation: F-Strasbourg Version(s) FM: FMP9, FMP9a, FMS9
|
Posted: Tue 6 May - 02:01 Post subject: [résolu] Fermeture de modale |
|
|
Eh ben voilà, c'est ça.
Je savais que je loupais un GROS truc.
Je n'avais jamais utilisé ça, et je ne percevais pas bien ce que c'était que ces 4 options, surtout associées à un nouveau script qu'on lance, mon esprit a donc dû l'occulter...
Quand on y pense, c'est pourtant assez évident, même si mal documenté.
En tout cas merci d'avoir été têtu.
Je sens que ça va rouler tout ça ! (mais plus ce soir) _________________ Laurent
|
|
| Back to top |
|
 |
FabriceN Administrateur
 Offline
Posts: 109
Joined: 26 Apr 2008
Localisation: Bruxelles Version(s) FM: FM9Adv
|
Posted: Tue 6 May - 08:06 Post subject: [résolu] Fermeture de modale |
|
|
Même dans un cas simple, je t'invite à décortiquer le modèle "Conditional Modal" et à regarder les options du bouton.
Pour ma part, je rêve d'une action de script qui serait "Reprendre le script en pause" _________________ Fabrice Nordmann,
BH&A
Vanderkindere 467
1180 Bruxelles
Belgique
www.bh-a.com
|
|
| Back to top |
|
 |
lem alpha Balise XML
 Offline
Posts: 68
Joined: 28 Apr 2008
Localisation: F-Strasbourg Version(s) FM: FMP9, FMP9a, FMS9
|
Posted: Tue 6 May - 10:35 Post subject: [résolu] Fermeture de modale |
|
|
Ce que j'ai fait, tu penses bien.
Mais ne faisant pas le rapprochement entre la petite liste d'options "script actif" pour un exécuter script, et "reprendre le script parent", je ne voyais alors que 2 possibilités, "Reprendre script" comme sur ton bouton, ou une hypothétique action de script, celle dont tu rêves justement...
En tout cas merci à tous les deux. _________________ Laurent
|
|
| Back to top |
|
 |
|
|