<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:25:31 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-3088] CLONE - Resizable Panes - Persistence | Use PersistedPaneset smart component. </title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-3088</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;&lt;b&gt;Requirement:&lt;/b&gt; Update Resizable panes to support session/local storage persistence. See below documentation&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Acceptance criteria&lt;/b&gt;&lt;br/&gt;
 Given I am on a &amp;lt;&amp;lt;TBD&amp;gt;&amp;gt; app&lt;br/&gt;
 AND I resize the second or third pane&lt;br/&gt;
 AND I go to another app &lt;br/&gt;
 When I return to the &amp;lt;&amp;lt;TBD&amp;gt;&amp;gt; app&lt;br/&gt;
 Then resize should persists based on session and/or local storage&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Technical documentation&lt;/b&gt;&lt;br/&gt;
 we&#8217;ve added a new component, &amp;lt;PersistedPaneset&amp;gt; to stripes-smart-components: &lt;a href=&quot;https://github.com/folio-org/stripes-smart-components/tree/master/lib/PersistedPaneset&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/stripes-smart-components/tree/master/lib/PersistedPaneset&lt;/a&gt;&lt;br/&gt;
 you&#8217;re already using &amp;lt;Paneset&amp;gt; in your apps, to which @j.coburn recently added the ability to resize Panes (scroll up :wink&lt;img class=&quot;emoticon&quot; src=&quot;/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;. PersistedPaneset saves the current pane widths to the user&#8217;s localStorage so if you resize a pane, close the window, and then bring up folio again, the panes will be the same width.&lt;br/&gt;
 to use PersistedPaneset&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;replace Paneset with PersistedPaneset&lt;/li&gt;
	&lt;li&gt;specify an appId as a prop to it&lt;/li&gt;
	&lt;li&gt;ensure all the child Panes have an id (which is a requirement for pane resizing in general)&lt;/li&gt;
	&lt;li&gt;example: &lt;a href=&quot;https://github.com/folio-org/ui-licenses/pull/348/commits/e6ad79211bcff882893eb8d895f6e689b8746e99&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/ui-licenses/pull/348/commits/e6ad79211bcff882893eb8d895f6e689b8746e99&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;what about the search-and-filters pane?&lt;/b&gt;&lt;br/&gt;
 while working on this, i realised i could use the same technique to persist the visibility of the filters pane. that is, if a user has hidden them and they refresh, the filters pane will remain hidden. so i&#8217;ve now done that in the Agreements and Licenses apps as well.&lt;br/&gt;
 i don&#8217;t have as concise a commit diff to show as an example, but the key parts are here: &lt;a href=&quot;https://github.com/folio-org/ui-agreements/blob/v6.0.0/src/components/views/Agreements.js#L75-L81&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/ui-agreements/blob/v6.0.0/src/components/views/Agreements.js#L75-L81&lt;/a&gt;&lt;br/&gt;
 there, we&#8217;re using the @rehooks/local-storage package to give us a local storage hook that we use to read/set the visibility. note the filterPaneVisibilityKey that namespaces the local storage to this app. NB: you should never use an un-namespaced key into local storage since you share it with all folio apps in existence now and in the future, including ones you may not know of that were developed independently at some random library/university.&lt;/p&gt;</description>
                <environment></environment>
        <key id="79712">FOLIO-3088</key>
            <summary>CLONE - Resizable Panes - Persistence | Use PersistedPaneset smart component. </summary>
                <type id="10005" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium">Story</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="1" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="-1">Unassigned</assignee>
                                                                <reporter accountid="62a96ae7192edb006f9f1bf9">Khalilah Gambrell</reporter>
                                    <labels>
                            <label>ui-only</label>
                            <label>ux-clone-story</label>
                    </labels>
                <created>Mon, 22 Mar 2021 18:58:53 +0000</created>
                <updated>Thu, 18 Nov 2021 01:55:18 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                    <issuelinks>
                            <issuelinktype id="10001">
                    <name>Cloners</name>
                                            <outwardlinks description="clones">
                                        <issuelink>
            <issuekey id="25319">UIOR-683</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="27629">STSMACOM-613</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="70340">UIMARCAUTH-25</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="50500">UIDATIMP-884</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="50433">UIDATIMP-979</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02hfr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>