Sliding panel opened from a sliding panel. How can I close just the second sliding panel from a butt

edited October 15, 2019 in Questions
I have a scenario where I have a base page that opens a sliding panel. That sliding panel has a button and a page include. The button closes the sliding panel as expected with the “close all sliding panels” action. However...... My included page also has a button. That button opens a sliding panel with the same basic set up of a button and a page include. The button in the second sliding panel is set to “close all sliding panels”, but it doesn’t work. I can think of a couple potential reasons why, but is there a way to work around this? Can I define a specific sliding panel by ID and close just that sliding panel regardless of the fact that it is launched from within a page include within a sliding panel?

Comments

  • Luzie BaumgartLuzie Baumgart 🛠️ 
    edited October 15, 2019
    Hi Raymond, we would like to take a look at the issue. Could you please provide a simple repro page and post the XML here? It sounds as if this is a visual issue only, so the page probably doesn't need any data models. Please use UI-only models if possible.
    Which Skuid version are you on?

    Regards, Luzie & team
  • edited June 17, 2019
    This requires two pages. This is the xml for the first page: <p><span style="font-size:18px;">The &quot;Open Main Slider&quot; Button at upper right opens a slider with a page include. In that page include there is a button to open another slider. In that secondary slider there is a button to &quot;Close All Sliders&quot;. The close all sliders action doesn&#39;t work as one would expect by the name. Instead, it closes the Main Slider, but not the Secondary Slider.&nbsp;Preferrably, it would clost the secondary slider and not the main slider, but, due to the name of the button, it should probably close all sliders.&nbsp;</span></p> <p><span style="font-size:18px;">I would love to be able to close just the specific slider that opens from the button in the page include or an action similar to &quot;Close top-most pop up&quot; but for sliders.&nbsp;</span></p> This is the XML for the second page: <p>Stuff In The slider</p>
  • edited June 27, 2019
    This requires two pages. This is the xml for the first page:

    <skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
        <models/>
        <components>
            <buttonset uniqueid="sk-1d6r-212">
                <buttons>
                    <button type="multi" label="Open Main Slider" uniqueid="sk-1d6r-218">
                        <actions>
                            <action type="openSlidingPanel">
                                <panel title="Sliding Panel Contents" uniqueid="sk-1d6r-277" size="70%" origin="left" closeonpageclick="true" behavior="overlay">
                                    <components>
                                        <includepanel type="skuid" uniqueid="sk-1d6r-283" pagename="SampleSliderIssue__Include"/>
                                    </components>
                                </panel>
                            </action>
                        </actions>
                    </button>
                </buttons>
            </buttonset>
            <richtext multiple="false" uniqueid="sk-1d6r-421">
                <contents>&lt;p&gt;&lt;span style="font-size:18px;"&gt;The &amp;quot;Open Main Slider&amp;quot; Button at upper right opens a slider with a page include. In that page include there is a button to open another slider. In that secondary slider there is a button to &amp;quot;Close All Sliders&amp;quot;. The close all sliders action doesn&amp;#39;t work as one would expect by the name. Instead, it closes the Main Slider, but not the Secondary Slider.&amp;nbsp;Preferrably, it would clost the secondary slider and not the main slider, but, due to the name of the button, it should probably close all sliders.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

    &lt;p&gt;&lt;span style="font-size:18px;"&gt;I would love to be able to close just the specific slider that opens from the button in the page include or an action similar to &amp;quot;Close top-most pop up&amp;quot; but for sliders.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
    </contents>
            </richtext>
        </components>
        <resources>
            <labels/>
            <javascript/>
            <css/>
            <actionsequences/>
        </resources>
        <styles>
            <styleitem type="background" bgtype="none"/>
        </styles>
    </skuidpage>


    This is the XML for the second page:

    <skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
        <models/>
        <components>
            <buttonset uniqueid="sk-1d6r-212">
                <buttons>
                    <button type="multi" label="Open Secondary Slider" uniqueid="sk-1d6r-218">
                        <actions>
                            <action type="openSlidingPanel">
                                <panel title="Sliding Panel Contents" uniqueid="sk-1d6r-277" size="270px" origin="left" closeonpageclick="true" behavior="overlay">
                                    <components>
                                        <buttonset uniqueid="sk-1d7K-375">
                                            <buttons>
                                                <button type="multi" label="Close All Sliders" uniqueid="sk-1d7K-380">
                                                    <actions>
                                                        <action type="closeSlidingPanel"/>
                                                    </actions>
                                                </button>
                                            </buttons>
                                        </buttonset>
                                        <wrapper uniqueid="sk-1d7K-331">
                                            <components>
                                                <richtext multiple="false" uniqueid="sk-1d7K-342">
                                                    <contents>&lt;p&gt;Stuff In The slider&lt;/p&gt;
    </contents>
                                                </richtext>
                                            </components>
                                            <styles>
                                                <styleitem type="background"/>
                                                <styleitem type="border"/>
                                                <styleitem type="size"/>
                                            </styles>
                                        </wrapper>
                                    </components>
                                </panel>
                            </action>
                        </actions>
                    </button>
                </buttons>
            </buttonset>
        </components>
        <resources>
            <labels/>
            <javascript/>
            <css/>
            <actionsequences/>
        </resources>
        <styles>
            <styleitem type="background" bgtype="none"/>
        </styles>
    </skuidpage>

  • edited October 15, 2019
    I am running Skuid 11.1.11
  • Luzie BaumgartLuzie Baumgart 🛠️ 
    edited June 27, 2019
    Hi Raymond, those are great repro pages, thank you very much! It seems like there might be a product defect in the actions to close Sliding Panels when PageIncludes are involved, I'll keep on investigating. Regarding your question "How can I close just the second sliding panel from a button in the second sliding panel." that should work if you change the button behaviour to "Close topmost".

    Also regarding the first Sliding Panel, you should be able to keep using your Page Include, but try adding a button to close the Sliding Panel below the Page Include component, so that the button is in the first Sliding Panel directly, outside of the Page Include component. Use behaviour "Close all", that worked in my test.

    Does that work for you? Please note that I tested in Skuid version 12.1.5, which is the latest release.
  • edited October 15, 2019
    In v11 see a “close topmost popup” action. Are you saying that fowls for sliding panels too? Or in v12 is there a “close topmost” action that is different from “close topmost popup”?
  • Luzie BaumgartLuzie Baumgart 🛠️ 
    edited June 28, 2019
    In 12.1.5 there is an action type "Close Sliding Panel" and you can choose from two different behaviours, "Close all" or "Close topmost" :-)
    As a reminder, Salesforce does NOT allow reverting back to prior versions of managed packages. Skuid always recommends installing new versions in a non-business critical sandbox environment to test all mission critical functionality before installing into a production environment. We also recommend that you update out of date themes after you upgraded.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!