sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Get_element_value issue (on Mac)

    Scheduled Pinned Locked Moved Developers' Forum
    14 Posts 4 Posters 2.3k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Didier BurD Offline
      Didier Bur
      last edited by

      Thanks Dan, I'll try that asap πŸŽ‰ and let you know which solution works...

      DB

      1 Reply Last reply Reply Quote 0
      • Didier BurD Offline
        Didier Bur
        last edited by

        Hi Dan,
        First option (using "id" instead of "name") does'nt work, so clearly this is a sync problem.
        Second option (js) works, but what a complex coding for such a simple task... Mac sucks πŸ‘Ž

        DB

        1 Reply Last reply Reply Quote 0
        • thomthomT Offline
          thomthom
          last edited by

          Syncing issue exists only when you send data from JavsScript to Ruby using the window.location = 'skp:......' protocol.

          get_element_value is synchronous.

          What triggers the "main_dlg_ok" callback? Is the HTML fully ready at that point?

          Thomas Thomassen β€” SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply Reply Quote 0
          • Didier BurD Offline
            Didier Bur
            last edited by

            Hi TT,

            @unknownuser said:

            What triggers the "main_dlg_ok" callback?

            It's a "OK" button:

            <input type ="button" value="Valider" onClick="window.location='skp;main_dlg_ok'">
            
            

            I don't exactly know if the HTML is ready at this point, because it is written "on demand", just after the user clicks on the icon that launches the WebDialog
            Regards,

            DB

            1 Reply Last reply Reply Quote 0
            • jolranJ Offline
              jolran
              last edited by

              A longshot.

              I noticed some difference in behaviors for button click events if assigning them inside the JS doc.ready functions instead of in the html tag.

              I'm using Jquery though..

              1 Reply Last reply Reply Quote 0
              • thomthomT Offline
                thomthom
                last edited by

                I don't suppose to have a complete reproducible case?

                Thomas Thomassen β€” SketchUp Monkey & Coding addict
                List of my plugins and link to the CookieWare fund

                1 Reply Last reply Reply Quote 0
                • jolranJ Offline
                  jolran
                  last edited by

                  @unknownuser said:

                  I don't suppose to have a complete reproducible case?

                  Who me ?

                  No, I already sent you code to poke around for fouls πŸ˜‰

                  But you can just try putting onclick events in the html tag and see if you notice they missfire occasionally. (Compared to as having a function in the 'doc.ready' that binds the clickevent for the button that is.)

                  I dont not know why that happend for me. I just cared to mention it as a variable to test since I got the impression Didier was worried the html wasent ready.

                  1 Reply Last reply Reply Quote 0
                  • jolranJ Offline
                    jolran
                    last edited by

                    Ahh... Forget my suggestion.
                    Had a typo in the code that made the clickevent fail in a certain condition.

                    Thomthom probably knew that something fishy was going on.

                    So anyone have the solution to this syncing problem for Mac? I'm interested as well..

                    Didier. Did you make it work ?

                    1 Reply Last reply Reply Quote 0
                    • Didier BurD Offline
                      Didier Bur
                      last edited by

                      Hi,
                      I made it work the lazy way: data in the dialog box is saved in a global variable 😳 , so when the dialog closes it can be retrieved without js script or anything...

                      $args={}
                      @project_dialog.add_action_callback("main_dlg_ok") { |d, p|
                      			$args["nomProjet"] = d.get_element_value("nomProjet")
                                              $args["auteur"] = d.get_element_value("auteur")
                      ...
                      			@project_dialog.close			
                      }
                      

                      Thanks everybody for your help

                      DB

                      1 Reply Last reply Reply Quote 0
                      • jolranJ Offline
                        jolran
                        last edited by

                        That's one way of doing it. πŸ˜„

                        1 Reply Last reply Reply Quote 0
                        • thomthomT Offline
                          thomthom
                          last edited by

                          Surely an instance variable will work just as well? Avoiding the risk to collision of global variables - especially with a common variable name such as args.

                          Thomas Thomassen β€” SketchUp Monkey & Coding addict
                          List of my plugins and link to the CookieWare fund

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Buy SketchPlus
                          Buy SUbD
                          Buy WrapR
                          Buy eBook
                          Buy Modelur
                          Buy Vertex Tools
                          Buy SketchCuisine
                          Buy FormFonts

                          Advertisement