6 Replies Latest reply on Oct 10, 2018 6:37 PM by John Snyders-Oracle

    Simulate a one record per tab application

    Barry Brierley

      Hi,

       

      I'm trying to do a POC on the Apex cloud demo environment, and trying to wrap my head around how to simulate the below:

       

       

      In my POC, I'm trying to figure out whether I can replace our ticketing system with an Apex application. I have a fair degree of Apex knowlege and so far I've got an interactive report for my record results, with which I can drill down to a form page showing my record. I can have one record at a time open.

       

      But in the original system, every time you search for a record, it opens the record in a new tab. That way you can have as many tabs as you want. You can save them, close them, whatever. Operators need to have multiple records open at any one time. They search for them one record at a time.

      For my POC, It doesn't matter whether each record is displayed in a new tab, a new navigation entry, or I would even settle for multiple pop-up windows (although that isn't as neat and I can't figure out how to do that either). Just as long as we can work with multiple records at a time.

       

      Below is what I have so far. an Interactive report which directs me to the same page every time - so one record at a time.

       

      I don't necessarily need to be shown exactly ow to do it, any ideas of how I would do this conceptually would be greatly appreciated.

      Kind Regards,

      Barry

        • 1. Re: Simulate a one record per tab application
          Scott Wesley

          Some ideas:

           

          Could you have a data driven button group, perhaps styled a little to look like tabs?

          https://apex.oracle.com/pls/apex/f?p=42:1204:::NO:::

          Or use a menu bar

          https://apex.oracle.com/pls/apex/f?p=42:1305:::NO:::

          If there is a known max number of selections, you could hijack a region display selector.

          • 3. Re: Simulate a one record per tab application
            fac586

            3629675 wrote:

            Please update your forum profile with a recognisable username instead of "3629675 ".

             

            When you ask a question, always include the information detailed in these guidelines so we can provide version-, environment-, and component-specific advice.

             

            I'm trying to do a POC on the Apex cloud demo environment, and trying to wrap my head around how to simulate the below:

             

             

            In my POC, I'm trying to figure out whether I can replace our ticketing system with an Apex application. I have a fair degree of Apex knowlege and so far I've got an interactive report for my record results, with which I can drill down to a form page showing my record. I can have one record at a time open.

             

            But in the original system, every time you search for a record, it opens the record in a new tab. That way you can have as many tabs as you want. You can save them, close them, whatever. Operators need to have multiple records open at any one time. They search for them one record at a time.

            For my POC, It doesn't matter whether each record is displayed in a new tab, a new navigation entry, or I would even settle for multiple pop-up windows (although that isn't as neat and I can't figure out how to do that either). Just as long as we can work with multiple records at a time.

             

            Below is what I have so far. an Interactive report which directs me to the same page every time - so one record at a time.

             

            I don't necessarily need to be shown exactly ow to do it, any ideas of how I would do this conceptually would be greatly appreciated.

            There is no great difficulty in producing the tabbed UI with a dynamic list using the Tabs list template, probably basing the list on a collection that stores the user's current set of tickets.

             

            Where things get much more complicated is doing this on a single page with two levels of tabs, which involves switching the data displayed when a tab is selected. Out of the box, APEX doesn't do dynamic generation of form controls, nor does it support partial-page refresh (PPR) on form regions. The main problem you have to solve is therefore how to seamlessly manage the data in the tabs―almost certainly using a single set of controls―saving the state for the current ticket and replacing it with that for the newly selected or opened tab. Assuming that a complete page submit/refresh cycle would not be acceptable, then this is going to involve significant custom coding in PL/SQL (possibly creating RESTful services), JSON, and JavaScript to shuffle the data between the database and the browser.

             

            That approach is contrary to the APEX ethos of declarative, low-code development, which is one of the main reasons for choosing it over other tools. I would therefore suggest taking a step back and re-evaluating whether the tabbed UI paradigm is actually required.

            Operators need to have multiple records open at any one time.

            Why? What is it that makes this really necessary?

            They search for them one record at a time.

            It sounds like an interactive report offers much more flexible search and display options than they have at present. Couldn't this (or a customised classic report) be considered the replacement for the tabs list? This would enable the tickets to be opened on a separate pop-up page, making full use of APEX's declarative ARF/ARP features to fetch and process the data. This could be used in conjunction with session cloning to give users the option of moving the pop-up to a separate browser tab to provide simultaneous access to multiple tabs for extended periods.

            • 4. Re: Simulate a one record per tab application
              Pavel_p

              Hi Barry,

              I have also several applications written in another framework where this design pattern (open data in separate tabs) was very natural (forms were opening in new tabs by default to be precise). I would like to port them to APEX as well but also haven't find a way how to do it as users are used to it and it's tough to persuade them that they don't actually need several tickets opened at once.

              I tried to advises from previous posts and created this https://apex.oracle.com/pls/apex/f?p=40038:1:7377758325376::::: based on Emp table (select some emps and "open" their cards)

              workspace: pp_test

              user: test

              pwd: test

              where I try to mimic more tabs and load data for a selected "Tab" with dynamic actions. It's not perfect (by far) but would be somehow acceptable if it was somehow persuade the TabList to keep some visual identification of the currently selected record from the List. Once the List loses focus, it's not possible to indicate which employee tab is currently selected. Please, does anybody have any idea how to persist visual indication of the currently selected Employee tab?

              Regards,

              Pavel

              • 5. Re: Simulate a one record per tab application
                Barry Brierley

                Hi All,

                 

                Many thanks for taking the time to reply. I thought I would finish the form and then try to introduce some of the suggestion before feeding back. It is a very large form, hence the delay..

                 

                And since it is such a large form I am going to try to avoid this functionality! Instead I'm going to keep a record (table) of records last visited by the user which I will display as an interactive report on a sidebar, the users can click on that to navigate to recently opened records.

                 

                It isn't the same as keeping seperate "tabs" open each with it's own state, but it's half way there.

                 

                thanks again.

                PS I am having trouble with displaying a tooltip on the interactive report, but will ask a seperate question for that.

                • 6. Re: Simulate a one record per tab application
                  John Snyders-Oracle

                  Hi Barry,

                  The latest 18.2 IG Cookbook now has an example of editing multiple records each in their own tab.

                  Get the IG Cookbook here: APEX IG Cookbook Update for 18.2 – HardLikeSoftware

                  Look at page Tabbed Record Editing.

                  The image you show is far more complicated with tabs within tabs. Not sure if the technique will scale to what you need. You may need to use multiple hidden IG models.

                   

                  Regards.

                  -John