Level: Intermediate, Version: FM 13 or later

FileMaker 13 Popovers

[Editor’s note: On Dec 13, 2013, Howard Schlossberg gave a presentation to the FM-DiSC group on the subject of FileMaker 13 popovers, which was very well received, and which I’m proud to share here with his permission.]


An obvious idea is to use popovers for basic navigation — to provide record-related utilities and/or reports, for example…


But you can add an invisible slide control to the popover so that clicking on “Member Birthdays”, for example…


…slides to a different report criteria panel than “Member Renewals”.


Popovers can handle navigation between modules or screens.


We can use popovers as an alternative to navigating between records (i.e. instead of going to list view and/or performing certain finds).  Pop up the list, use the portal filter, and select the person whose record you want to go to.


Save space by hiding information that is occasionally helpful but doesn’t need to be displayed all the time. For example, on this member’s screen, we can click the “Member Name” field label to pop up that person’s picture.


Or instead of a portal full of data entry fields for related addresses, display only text and use a popover for the user to be able to edit fields (or add new addresses) for the specific address they want. It cleans up the layout and avoids you having to create a second layout and script to pop up a new window, go to the correct layout, resize the window, center the window, etc.


There’s no need to display a big block of check boxes when you can simplify the basic view and use a popover for actual data entry.


I could have used a “contact history” portal, but then new entries could only have been added either by scrolling all the way to the blank row at the bottom, or by clicking a button to pop up a 2nd window (see comment above about having to create a new layout and script the window).


Your list of check box options is too long for the space provided? No problem. Put them in a popover, make the check box field as tall as needed, adjust the popover height to the space you have. You can now use your scroll wheel in browse mode to scroll through a check box list!


Put the popover across the entire layout with a semi-transparent fill.  Draw a message box with your icon of choice.  Users can’t click any underlying screen elements until they dismiss the message (which closes the popover).

[Update 12/16: it turns out that no matter how big you make the popover, it is still possible to click outside its edge to dismiss it. That’s not to say I wouldn’t use the technique where appropriate, and if necessary use script triggers on the popover to keep it from being “unofficially” dismissed.]

[Update 12/31:  see addendum at end of this article.]


Too many little icon buttons on your portal rows?  Remove them all and just add an Options “link” that opens a popover with all the available choices.  In this example, the users would just click on a name in the portal.


In many cases, you can save going to another window by using a popover to add functionality. Windowing isn’t just a hassle to program for, but you lose “context” in environments like FileMaker WebDirect and FileMaker Go that don’t have windowing. Popovers keep it all in context.


I’ve found in the past that a thumbnail can take a small amount of space, but the functionality required to support it (insert, paste, import, copy, etc) can end up taking more space than the photo itself.  You can instead add a popover button behind the picture to show a larger version AND provide needed functionality.  In this example, “Snap Picture” wouldn’t be grayed out for FM Go users, who can now take a picture directly into a container field.  FM13 also provides a ton of metadata on your container files, which you could also use a popover to display on an “as-needed” basis.





[Addendum 12/31/2013:  Script Triggers to Enforce Modality]

I couldn’t figure out a way to do this in just one script.  It does work with these two scripts, where the “dismiss” button calls the first, and the popover’s OnExit calls the second:


19 thoughts on “FileMaker 13 Popovers”

  1. Hey Kevin. Love your work as always.

    Here’s a way to merge those two dismiss scripts into one, and make a slight change to simplify the second one…

    If [ Get ( ScriptParameter ) = “Button” ]
        Set Variable [$$closePopoverOK ; Value: True]
        Close Popover
        Set Variable [$$closePopoverOK ; Value: “”]
    Else If [ Get ( ScriptParameter ) = “Trigger” ]
        Exit Script [ Result: $$closePopoverOK]
    End If

    Then of course attach the same script to both the button and the script trigger with the appropriate parameter on each.

    Cool huh? ;)

    David Thorp.

  2. Glad to see you worked that out, David. Your solution looks so relatively obvious, I’m scratching my head as to why I hadn’t thought to do it that way back in December! ;-) Thanks for the tip!

    1. Just wanted to say thanks for the scrolling valuelist in the popover. What a moment of inspiration to make the field larger than the popover!! I’ve been racking my brains on how to best deal with a checkbox field that is potentially very large. Portals and join tables were clunky by comparison.

  3. Yes popover are great on Form pages as I can see.
    However the fields on a popover are appended to the right of a table view with no apparent way to remove them if they are not needed. … quiet a bug. Has anyone mentioned this or found a work-around?

    1. Hi Herb,

      This has not been my experience. Can you give detailed instructions to replicate the problem? Be sure to specify Mac or PC.


    2. I see that the fields from a popover in form view do appear as additional columns when the same layout is viewed in table view. However, while in table view and in browse mode, you can click the ‘Modify’ button on the right side of the status bar, from which you can deselect the fields you don’t wish to see while in table view.

  4. But if one starts in table view, and then adds new fields to a popover in the header, the problem does not occur. (The fields beneath the popover are City, State and Zip.)

  5. Hi there, I am New to popovers and can’t even get a simple portal to allow entry of new records. I have no script triggers when opening the popover. The scenario here is I am allowing my users to auto/enter data pertaining to an in coming sales call which did not develop into a lead but we want to capture the “number of calls” data and the source of the call regardless.

    So I have created a table within the FM file. I have related ID_constant =1 in the first “Contacts” table to ID_constant=1 in the new “Quick Calls” table, so there is a relationship but I get the message “This action cannot be performed because this field is not modifiable” I have it accessible in browse and find mode from the inspector. I presume this is the case because the new record has not yet been created. Any thoughts? JWS

      1. Yes it is. Subsequently I recreated the portal from scratch but changing the relationship link from auto entered number to a text field It works better now. More to do though. Thanks for your reply

    1. Hi John: You can’t create records though as relationship where the key in the child record is a calc field. Using a one-to-one constant cannot possibly provide a valid parent key in the child record. That relationship sounds mildly acceptable for viewing the Quick Calls list (I say mildly because speed and length of the list will be a concern after a number of records are in there), but not for creation of new records. It would work properly if you made the ID_constant field in the Quick Calls table into a regular number field instead of a calc. But for better performance, easier interface, and more flexibility, I would make the Quick Calls list into a separate list view layout that would pop up when needed, for viewing, searching, AND data entry.

  6. Hello
    I am new to filemaker.
    I am using filemaker GO on an iPad. I have a field that has been set up as Control Style – Pop-up menu.
    My problem is that there are over 400 items in the value list, therefore on the iPad, if the name I wish to choose from the value list starts is a W, I have to scroll all the way down the list.
    Do you know how to get around this?
    I need to bring up the keyboard, and be able to type eg. W for it to move to the end of the list, then press return to select the correct item.
    The field is not to be edited.. I only want users to select from the list.

    I also have another field called Suburb, that uses a POSTCODE table, and pre-populates the postcode when the suburb is selected.
    If the suburb is eg WELLAND, the user has to scroll through hundreds to select WELLAND.
    How can I set the field up so that the keyboard appears, and I type WE to quickly located WELLAND and only choose items from that list, so that invalid suburbs are not entered by users.

    I have searched forums for other users having the same problem, but so far.. no luck.
    Should the fields be a drop-downs, and if so.. what settings would I require for it to work on the iPad so that only the items on the value list can be placed in the field.
    I changed it to a drop-down but if I enter W, the list disappears, and it allows me to invalid suburbs.

    Any assistance would be greatly appreciated.


  7. I have a popover with a Date Field, and a Time field. When I enter either field from the iPad, I get the cool date picker and time picker, but I also get the full keyboard! Unnecessary, and unwanted! I wish there was a keyboard type of NONE, but there is not.
    Any ideas on how I could suppress that keyboard?

  8. This combo script works for locking the popover with ability to exit does what its supposed to every time but I keep getting an error message on the popover close telling me the script has been deleted or no longer exist. However, it then works again. Any idea why this may be occurring?

    1. Hi Alan, by “this combo script” I’m guessing you’re referring to David Thorp’s script? (Or did you mean to post a screen shot?) I’ll take a wild guess that you’ve got a script trigger on your layout pointing to a script that you subsequently deleted.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.