Page 1 of 1

Reverse Image of FKey

Posted: Thu Apr 15, 2021 3:04 pm
by awmartin
Is there a way to retain the Reverse Image property of Fkeys when they come over in Genie? It seems to lose the reverse image when it is transferred to a button and then to an FKey link in the panel.
Thanks

Re: Reverse Image of FKey

Posted: Thu Apr 15, 2021 3:44 pm
by Scott Klement
First, a little background:

Genie has the concept of a "skin." The idea is that each customer (or environment within a customer's workplace) may want to have a different look, feel or colorscheme to their 5250 session. Genie ships some example skins (Classic, Gradient, Hybrid, Plain, Skyline and Tablet), but customers are completely encouraged and welcome to modify these skins to their tastes.

Most customers start with one of our example skins, then copy it using the Genie Administrator's "Copy Skin" option to their own name. Then they make modifications to the copy.

With that in mind:

I am not familiar with the specifics of how your shop uses Genie, but I assume you are using your own custom skin. I'm I'm wrong about that, please let me know -- this is an important starting point in getting to the bottom of this issue.
  • Try running Genie with http://your-system:port/profoundui/genie?skin=classic (obviously you will not have your customizations)
  • Do the RI attributes show up when you run it with the Classic skin, above? If they don't -- the problem may be in Genie. In that case, open up a support ticket with Profound Logic.
  • If the RI attributes do show up in the Classic skin, it means the problem is in your custom skin.
  • If the problem is in your own custom skin, it's hard to tell you how to fix it since this is your own custom code, anyone could've written anything in there... we wouldn't be familiar with it. Unless it's a copy of a Profound skin and you haven't modified it... in that case, which skin was it copied from? Test with the original version of that skin to verify the problem is in the original Profound skin.
  • Some skins, such as Hybrid, are very deliberate about discarding the attributes from the links. If you look at the code, it actually deletes all of the original html elements and creates new ones with its own styling. This is certainly not a bug, it was a deliberate decision to fulfill a requirement. If yours is copied from that, it would be your own responsibility to come up with your own customizations that work the way you want them to.
Assuming it is a custom skin issue, I'm happy to offer pointers or direction, but I need a starting point. I can't go through every skin I have and give you pointers for all of them -- especially since yours may not even work the same way.

If you'd rather have someone else fix a custom skin issue so you don't have to fool with it, you can contact Profound about consulting. We have a new program called "Services On Demand" where you can purchase a block of time and use it when you need it. We also have the ability to do custom coding for a customer for an hourly rate.

Of course if it isn't a custom skin problem, but is an actual bug in Genie, then its covered by your maintenance agreement.

Re: Reverse Image of FKey

Posted: Fri Apr 16, 2021 1:58 pm
by awmartin
Thank you so much for your response, Scott.
I checked the classic skin and yes, that does work.
We do have a custom skin that we copied from HYBRID and we have made very few changes to the inital skin. We are new at this software and just trying to let Genie do most of the work for us. :-)
As you can see in the Hybrid skin, it takes the FKeys and makes a panel on the side. I went in and made the actual FKey button visible to see if the RI is somehow in there and it isnt.

Re: Reverse Image of FKey

Posted: Fri Apr 16, 2021 1:58 pm
by awmartin
Thank you so much for your response, Scott.
I checked the classic skin and yes, that does work.
We do have a custom skin that we copied from HYBRID and we have made very few changes to the inital skin. We are new at this software and just trying to let Genie do most of the work for us. :-)
As you can see in the Hybrid skin, it takes the FKeys and makes a panel on the side. I went in and made the actual FKey button visible to see if the RI is somehow in there and it isnt.

Re: Reverse Image of FKey

Posted: Fri Apr 16, 2021 3:02 pm
by Scott Klement
Okay, so you'll have to write a little bit of JavaScript code to make this work -- if you find this too difficult, don't forget that you can hire Profound Logic to do it for you. But, I'll give you some tips.

Background:

Each genie skin has a file called custom.js that is used to customize screens. In the Genie Administrator, you can click on your skin in the left-hand navigation, and then click on custom.js to make changes to it. You don't have to use the admin to make changes, either... if you have a program you like better, its found in the IFS under /www/YOUR-INSTANCE/htdocs/profoundui/userdata/genie skins/YOUR-SKIN/custom.js -- its perfectly fine to edit it directly from the IFS.

In custom.js there are two functions that Genie will call automatically. One is 'customize', this is called at the point when its time to customize all 5250 screens. The other is 'pui.onload', which is called when its time to customize all Rich Display screens. These are very handy vs. using the visual designer when you want to do something that applies to every screen on your system -- which is the case with these function keys.

We ship a customize function that demonstrates how to customize the sign-on screen. Beneath that customization, you'll see that it sets up something called 'afterInit' that will run after all customizations have already been applied. In the Hybrid skin that we ship, it looks like this:

Code: Select all

  if (pui.genie.afterInit == null) {
    pui.genie.afterInit = function() {
    
      if (pui.genie.displaySize == 132) hybridSkin.screenWidth = 1100;
      else hybridSkin.screenWidth = 775;    
    
      hybridSkin.displayLogo();
      hybridSkin.displayUser();
      hybridSkin.removeHeader();
      hybridSkin.createHeader();
      hybridSkin.createSideMenu();
    }
  }
So this will run after every single 5250 screen, and it calls a function called hybridSkin.createSideMenu() -- this is what transforms the function key buttons into the link menu on the left, and is found within this same custom.js file. Take a look at how it works... It searches for all html <input> tags, and any input tag that represents a function key is hidden, and then it creates links for each one.

My tips:

My suggestion is that you rewrite the createSideMenu to work the way you want. I'd start by turning off the "Function Key Buttons" option in the Genie Admin (under Rendering Settngs) since this creates buttons from the original 5250 F-keys text. The buttons won't have the 5250 attribute codes that you need to determine if it is reverse image.

Now look at what is rendered on the page in your element inspector. You'll see that they are now <div> tags that contain <a> anchors (links). I suggest rewriting the createSideMenu function to find these links and simply move them over to the left-hand menu. While you're at it, you might re-style them a bit so that they look nice.

By keeping these links, you'll also have the A21 class on them (and other Axx classes) that represent the 5250 attribute code. 21 is the attribute code for "normal, green, reverse-image".

This can be tricky coding if you're not already comfortable with JavaScript and the DOM, which is why I want to emphasize: It might be easier to just hire Profound to make a customized skin for you. Of course, if you are comfortable with this type of coding, it's really powerful and you can do pretty much anything you like :-)