• [^] # Re: Soutien

    Posté par (site web personnel) . En réponse au journal [Windaube 10] M,ドル alias Windaube Store. Évalué à 2.

    Je pensais plutôt à l'utilisation de bibliothèques comme jQuery UI.

    Si on prend, par exemple, le widget jqxTimePicker de la bibliothèque jQWidgets, voici le code que l'on utiliserait pour une appli web classique :

    <head>
     <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
     <script type="text/javascript" src="../../scripts/jquery-1.12.4.min.js"></script>
     <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
     <script type="text/javascript" src="../../jqwidgets/jqxdraw.js"></script>
     <script type="text/javascript" src="../../jqwidgets/jqxtimepicker.js"></script>
     <script type="text/javascript" src="../../scripts/demos.js"></script>
     <script type="text/javascript">
     $(document).ready(function ()
     {
     $("#timepicker").jqxTimePicker({
     format: "24-hour",
     width: 400
     });
     });
     </script>
    </head>
    <body>
     <div id="timepicker"></div>
    </body>

    Et voilà le code pour utiliser ce widget avec le toolkit Atlas en l'état (pour le voir à l'œuvre : https://repl.it/@AtlasTK/jqxTimePicker) :

    import atlastk
    HEAD = """
     <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
     <script type="text/javascript" src="../../scripts/jquery-1.12.4.min.js"></script>
     <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
     <script type="text/javascript" src="../../jqwidgets/jqxdraw.js"></script>
     <script type="text/javascript" src="../../jqwidgets/jqxtimepicker.js"></script>
     <script type="text/javascript" src="../../scripts/demos.js"></script>
    """
    BODY = """
    <button data-xdh-onevent="Submit">Récupèrer l'heure sélectionnée</button>
    <br />
    <div id="timepicker"></div>
    """
    def ac_connect(dom):
     dom.inner("",BODY)
     dom.execute_void("""
     $("#timepicker").jqxTimePicker({
     format: "24-hour",
     width: 400
     });
     """)
    def ac_submit(dom):
     dom.alert(dom.execute_string("""
    $('#timepicker').jqxTimePicker('value').toTimeString();
     """))
    atlastk.launch({"": ac_connect, "Submit": ac_submit }, None, HEAD)

    Pour le contenu de HEAD, c'est d'habitude bien expliqué dans la documentation des widgets ; il suffit généralement de faire un copier/coller. BODY ne pose pas non plus de difficulté particulière. Le problème, c'est les deux commandes execute_.... Il faudrait que l'utilisateur n'ai pas à les écrire, mais que le toolkit Atlas arrive à les déduire à partir de la valeur d'un attribut HTML, à l'image de ce qui existe pour le widget CKEditor : https://github.com/epeios-q37/atlas-python/blob/master/examples/Notes/Note.html#L7...

    Zelbinium: pour la génération qui crée, pas celle qui scrolle...