Load 2 frames after click on hyperlink (2 hyperlink targets)

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Load 2 frames after click on hyperlink (2 hyperlink targets)

    Dear colleagues,

    I have a question concerning a more complex screen layout and menu bar structure in Jedox Web,
    where I need advice by some really experienced frontend guys.

    I've built a dimension/hierarchy to cover a dynamic menu structure across main and sub menu items:

    main menu item 1
    sub menu item 1.1
    sub menu item 1.2
    sub menu item 1.3

    main menu item 2
    sub menu item 2.1
    sub menu item 2.2
    sub menu item 2.3


    This dimension is use in dynaranges later on (connected with HYPERLINK function) - to dynamically create the menu.
    Each base element has an attribute filled with the related name of the workbook (wss file).
    This is working fine.

    We now want to split the main menu items and the sub menu items into 2 different frames:
    - main menu items on the left side -> vertical list
    - sub menu items as a list on the top of the screen -> horizontal list (after clicking on a main menu item)
    - content of course in the middle of the screen

    => see attached draft / picture

    We already successfully managed the following:

    - build a list of main menu items on the left Frame #1
    -> dynarange on hierarchy level 1 with hyperlink function

    - when you click on a main menu item (hyperlink):
    -> the hyperlinks transfers the selected main item to Frame #3
    -> the sub menu in Frame #3 is loading correctly (dynarange on hierarchy level 2)

    - when you click on a sub menu item the related content is loaded perfectly into Frame #5

    BUT: you always have to click on the sub menu item to load the new content.
    However it would be needed that the content of the first sub menu item is automatically loaded
    when you click on a main menu item

    - you click on main menu item 1
    - sub menu bar should be loaded (1.1 , 1.2, 1.3, ..)
    - content for 1.1 should be loaded automatically

    I already tried to automatically trigger a second hyperlink in the sub menu workbook (Frame #3),
    after the sub menu has been loaded:

    function ___load()
    return __hyperlink("MyContent#Frame4");

    However this is not working in connection with HYPERLINKs.
    (but as a button click macro it is indeed working)

    Does anyone of you see the chance of adressing to frames at the same time on click on one hyperlink?
    ..or a kind of chained exectution (hyperlink 1 -> hyperlink2)?

    JCO :)
    • Screen_Layout__MainMenu_SubMenu_ContentArea.png

      62.47 kB, 1,554×1,002, viewed 542 times
  • Hi JCO,

    I guess this should be easy to do because in fact you only need one hyperlink.
    In Frame1 you have to pass the selected main item to Frame #3 AND open the 1.1 submenu item-workbook in Frame #4.
    Therefore you can e.g. create another attribute containing 1 whenever the element is a first submenu-item (lets say this attribute is A).

    In a second (hidden) nested dynarange in frame #1 you span all items containing 1 in attribute A. The dynarange has to be nested under the dynarange spanning the menu items. Because there is always only one element per menu item containing a 1 in attribute A the result should look something like this:

    Menu Point 1 (visible)
    |__ Submenu Point 1.1 (hidden, but containig 1 in A)
    Menu Point 2
    |__Submenu Point 2.1 (hidden, but containig 1 in A)

    From now on, one hyperlink is enough. First you get the link to the wss from the submenu-points and put them in the hyperlink you click on when clicking Menu Point 1.
    Hyperlink looks something like this:
    =HYPERLINK(PALO.DATA(Server;"#_Menu";"Attribute containing Link to wss";submenuitem1 from nested dynarange);"Menu Point 1";Menuitem1;"@chosenMenuItem")

    In this example I pass the Menuitem1 to a variable. But this is something you already got to work.

  • Hi Peer,

    first of all thanks a lot for your answer and the patience to read through my huge description :)

    I perfectly understand your approach for managing the default content to be loaded for each main menu item
    (sub menu item with attribute A = 1 + Hyperlink on sub menu item url).
    But what is the target frame for this HYPERLINK ?
    I guess it is Frame5 (ContentFrame) => HYPERLINK ("mySubMenu1.1Content.wss#Frame5",..,..)
    .. so Frame 5 is then reloaded with the right sub menu item content.

    But how is Frame 3 (Top Menu Frame) updated then in parallel with the right list of all sub menu items?
    Is it implicitly updated via the variable @chosenMenuItem?

    Does a changed variable value work globally across all frames in a frameset?
    -> so is it triggering a dynarange reload in Frame 3 even if the hyperlink itself just targets Frame 5 ?

    JCO :)