5 Replies Latest reply on Dec 9, 2014 12:42 AM by CamelCase

    Web Direct Glitch

    RichardDyce

      Summary

      Web Direct Glitch

      Product

      FileMaker Server

      Version

      13.0v5

      Operating system version

      Mac OS 10.10.1

      Description of the issue

      Hidden fields affect the behaviour of the web direct UI.

      Steps to reproduce the problem

      Create two fields, one for read and one for write, and a field for marking record as locked.

      Set the read field to read-only in the UI by disabling data entry in Browse Mode.

      Set the read field to be hidden when the locked field is empty.

      Set the write field to be hidden when the locked field is not empty.

      Make the locked field a checkbox with a single value valuelist 'Yes'.

      Important: Place the read field on top of the write field.

      Expected result

      The read and write fields should each appear, depending on the state of the locked field. You should be able to enter data into the read field when the locked field is unchecked. You should not be able to enter data when the locked field is checked.

      Actual result

      You can't enter text into the read field under any circumstances.

      Workaround

      The fix is to place the write field on top of the read field.

      The issue is that the behaviour is different between App Client and Web Direct Client.

        • 1. Re: Web Direct Glitch
          CamelCase

          Hi,

          This difference in behavior in WebDirect is documented in the FileMaker 13 WebDirect Guide. It might be a good idea to read this document before embarking on development for WebDirect. You'll find it at https://fmhelp.filemaker.com/docs/13/en/fm13_webdirect_guide.pdf

           

          • 2. Re: Web Direct Glitch
            RichardDyce

            Actually, that's not clear from the documentation:

            To hide an object in an object group, apply a hidden condition to the entire object group. Users
            can’t click objects located behind hidden objects in object groups unless the entire object group
            is hidden.
            If you apply button settings and a hidden condition to an object, apply the hidden condition last.
            Otherwise, users may not be able to click objects located behind the object with button settings
            when that object is hidden.

            This is not in a group, and it's not a button. And after testing, it doesn't appear to matter when you apply the hidden condition.
             So at the very least, perhaps it might be worth revising the documentation?

            • 3. Re: Web Direct Glitch
              CamelCase

              Page 10:

              Clicking through an object stacked in front of another object is not supported on the web. For example, in FileMaker Pro, if a rectangle is in front of an image that is set up to run a script, the click passes through the rectangle to the image behind and runs the script. On the web, clicking stacked objects doesn’t pass the click through to an object behind; therefore in

              FileMaker WebDirect, clicking these stacked objects doesn’t run the script. An alternative approach is to assign the script to the front-most object. The same limitation applies to placing an object on a tab label; clicking the object doesn’t cause the tab panel to switch. Instead of putting an object (like a field) on a tab label, use a calculation to control the tab name. 

               

              • 4. Re: Web Direct Glitch
                RichardDyce

                David you win! You're quite right!

                 

                 

                However, ships lawyers aside, I still suggest that the documentation is still shallow.

                Page 10 doesn't discuss hidden objects. Appendix A doesn't talk about stacking. Neither mentions fields - agreed, these are objects, but sometimes the right word in the right place triggers the right mental connection.

                For a developer coming from the web, the question would be - is an object, hidden by calculation actually on the layout? Is it in the DOM? Is it added to the DOM on a trigger, or is it hidden with CSS? If you were creating the page by hand (using jQuery, Sprout etc.) then the object probably wouldn't exist until it was needed to (or might be stored offscreen in a static DIV), so whether it's "stacked" or not doesn't come into consideration. Perhaps something along the lines of:

                Clicking through an object stacked in front of another object is not supported on the web. For example, in FileMaker Pro, if a rectangle is in front of an image that is set up to run a script, the click passes through the rectangle to the image behind and runs the script. If a rectangle is placed over field, the field still receives the click, and you can edit the field's contents. On the web, clicking stacked objects doesn’t pass the click through to an object behind; therefore in FileMaker WebDirect, clicking these stacked objects doesn’t run the script, or edit the field.

                And,

                If you apply button settings and a hidden condition to an object, apply the hidden condition last.
                Otherwise, users may not be able to click objects located behind the object with button settings
                when that object is hidden. Even when hidden, objects are still part of the layout, and so the rules
                relating to stacked objects, (see page 10) still apply.
                 
                Do you think that would make it clearer?
                 
                • 5. Re: Web Direct Glitch
                  CamelCase

                  Well, I don't write the documentation, so you shouldn't really ask me ;-)

                  For someone like me, who has been doing FileMaker for years but not much else as far as programming is concerned, I think the documentation and the logic behind it is quite clear.

                  You may perhaps be right that people with a different background won't necessarily read things the same way. You can perhaps submit your suggestions concerning the documentation as a feature request?