6 Replies Latest reply on Jan 30, 2014 10:49 AM by apuplampu

    Popover and Slide-control Love


      I posted these observations in another thread, but they were probably a poor fit there, so am starting a fresh thread (with apologies for double-posting).


      Been playing around with popovers and slide-panel controls in the preview release and am happy to finally be able to share a few observations, now that the cat's out of the bag:


      - You can nest slide controls (or tab controls, portals, etc.) on popovers and nest popover buttons (or tab controls, portals, etc.) on slide controls. Many UI possibilities here! (No, you can't nest a portal > on a popover > on another portal, in order to "circumvent" the ol' "no portals within portals" limitation, but you didn't really thing you could pull the wool over the FielMaker's eyes like that, now did you? ;-)


      - Slide controls will surely supplant "hidden" tab-panel and one-row-portal tricks as the preferred technique for hiding or revealing different sets of fields or controls contextually. Just disable dot-navigation and use a script trigger that navigates to the correct panel depending on, say, a certain field's value. Of course, if it's just one or a couple fields that either display or not, depending on another field's value, then the new conditional visibility feature might be the way to go—thanks for that, too, FileMaker!—but if you want to show/hide many different controls depending on the field's value, and particularly if they're going to occupy the same bit of layout real estate, then the slide control is going to be easier to work with. This will quickly become a standard technique in every developer's repertoire!


      - Both of these layout objects allow you to reveal additional controls or information without changing layouts and thus without requiring a commit. That allows for responsive UIs that reveal controls contextually in, say, a new-record layout, where the new record isn't ready to be committed just yet.


      - Both objects feel incredibly polished. A slide-control's sliding animation can be en- or disabled, at your discretion, when using scripted navigation. When navigating via swipe gestures (in Go) or dots (on desktop) the animation is always there and looks great. Popovers also open with a bit of subtle animation, appearing to spring out of the button, then disappear with a subtle and quick fade-out.


      - Lastly, I love the elegant HUDs that pop up to edit the options for these two new objects when you click on them in layout mode. Hoping to see more of this kind of thing in the future, perhaps supplanting the current, modal dialogs for setting options for tab-panel controls and portals, or for setting tab order, among others.


      That's all — hope no one was expecting anything more profound than that. ;-)



        • 1. Re: Popover and Slide-control Love

          I got to play with the developer preview of 13 and I was trying to acheive something here with the "slide control", I wanted each 'slide' to show content from a related table... sort of like a 'sideways' portal... but alas, it does not work that way. It's not much different to tab controls, select the 'slide', place an object on it and so on...


          Does anyone know if this is possible to do any other way?

          • 2. Re: Popover and Slide-control Love

            Yes, it is quite analogous to a tab control: minus the actual tabs (which is why it's so useful for revealing/hiding fields and controls contextually), and plus a few other capabilities not seen in tab controls.


            When I first saw it demoed, I was thinking the same thing as you, Peter, but that's not its primary intention.  You could, of course, put a one-row portal on each panel, each showing a different record, but that would only be a graceful solution if every record in the current table had the same number of related records, as there is no way to dynamically change the number of panels in the control.


            OK, even as I typed the above, I began to think about potential approaches.  Could you use a slide-panel control with enough panels to cover the largest number of related records anticipated (hopefully a relatively small number), coupled with a script trigger to catch things when the user navigates to the first panel beyond the last related record?  It would be a bit ungainly, as the user would still be able to navigate one panel beyond the last related record, but the triggered script could beep and slide back to the last available related record, I suppose.  On Go, with swipe navigation, it might not be a bad solution; on Pro, with dots, it gets a bit more awkward.  Just a thought.



            • 3. Re: Popover and Slide-control Love

              OK, further reflection…


              On the desktop, using the above approach, you'd just want to hide the dot control and use scripted panel navigtion.  Provide forward and backward buttons, kind of like those javascripted popup windows on websites that let you navigate through a set of pictures. Once the user reaches the last related record, the forward button could either be designed to dim and/or beep on clicking, and simply refuse to navigate to the next panel.  You could still include the sliding animation (if desired) via the new Set Script Animation [on] script step.



              • 4. Re: Popover and Slide-control Love

                Much like yourselves, I have loving the functionality brought to the table with popovers and slide-panel controls, but I think I may have over utilised them both in updating fmp12 layouts.


                Might just need a fresh pair of eyes, but how would you go about resetting/refreshing slide-panel nested within a popover to show the first panel every time the popover is opened.



                In a table list view, I have overlayed the starting image on a row with a popover. The popover allows the users to see more detail about the product in the row, and to keep the popover page as small as possible, a nested silde-panel allows the user to drill into the product with out being overwhelmed with data.


                If the user leaves the popover on slide-panel 3 and moves to another row, the next popover will open on slide-panel 3 and not slide-panel 1.


                Any thoughts?



                • 5. Re: Popover and Slide-control Love

                  Hi Adi,


                  This is doable! 


                  First, give the first panel of your slide-panel control an object name in the inspector.  Then, in the "Popover Setup" heads-up display, "Set Script Triggers…", choosing an OnObjectEnter trigger that runs a script "Go to Slide Panel One" with the (potentially single) step of Go to Object [Object Name: <nameYouAssignedToTheFirstPanel>].


                  See attached file for demo.





                  1 of 1 people found this helpful
                  • 6. Re: Popover and Slide-control Love

                    Hi Mark,


                    Firstly, thank you for the quick response.


                    Secondly, you are a star. Panel renamed and have attached a script trigger to the pop over and it works like a dream.


                    kind regards.