FORUM PLAN UPDATE
Date revision: This forum will remain open to new posts and responses until December 1, 2018. (After that date, you will still be able to view and search the forum.) Also, we're taking a second look at the best place to host future conversation. For now, keep using this forum, and stay tuned for more news.



Nov 10, 2014, 6:49 AM
93 Posts
topic has been resolvedResolved

Dynamic View Panel

  • Category: Extension Library
  • Platform: All
  • Release: 8.5.3
  • Role: Developer
  • Tags:
  • Replies: 5

Hi guys,

I have an interesting issue with the ext lib dynamic view control.

In my notes back end view, I have a column with formula of @If(Form="BusinessTerm";BusTermName;"DataStore Document")

In my xpage app, the dynamic view control does not show this column as a clickable link.

However, if I change the formula to just be the field name only (BusTermName) then the column value on the web is clickable.....

Has anyone had a similar experience with a possible fix/workaround? I know you can do something with a customizer bean, which I have used to make the links open read only rather than the default edit mode, but this was using this xsnippet: http://openntf.org/XSnippets.nsf/snippet.xsp?id=dynamic-view-panel-customizer-bean

Unfortunately my JAVA skills are something to be desired so I am not sure how I can use this to make ALL column values clickable links...

 

Any guidance is much appreciated, thanks.

Nov 10, 2014, 12:10 PM
453 Posts
Started using the dynamic view but quit

I just found it way to hard to get it to do what I wanted (bit of a control freak) I now use Repeat controls for virtually everything, You can now make anything you want into a link or whatever you want. Built some custom controls to display multiple level categories plus make the content whatever you want. 

Just could never get the dynamic view to do what I wanted.

Nov 11, 2014, 4:03 AM
93 Posts
Im getting that way...

Thanks Bill, I too use repeat controls where possible, the issue I have is I am re-writing (improving :-P) a previous developers code, and there is a page with 25 different view panels with rendered code to show/hide when required. I have removed all these and have them working with a single dynamic view panel. Im not sure the repeat controller will not work due to each of the 25 views displaying different columns/information - Unless there is an easy way to build a table which shows/hides dynamically.....  :-D

 

Thanks

Nov 11, 2014, 10:41 PM
453 Posts
Here is my solution to the Dynamic view panel

I was using something like what you describe. It really became kludgey and was a real pain to maintain and know where I was at. so I started using this bit of code I got from github

 

<xe:dynamicContent id="dynamicContentMainView">
        <xp:include id="customControlIncluder">
            <xp:this.pageName>
                <![CDATA[${javascript:try{
    var debug:Boolean = false
    var form:String = sessionScope.get("ssSelectedForm");
    var page:String = "";
     switch(form){
        case "frmCLRule" :
            page = "ccCLRuleInput.xsp";
            break;
        case "frmPlant" :
            page = "ccPlantInput.xsp";
            break;
        case "frmHelpUsingView" :
            page = "ccWFSUsingInput.xsp";
            break;
        case "frmWFSProfile" :
            page = "ccWFSProfileInput.xsp";
            break;
        case "frmWFSAutomation" : 
            page = "ccWFSAutomated.xsp";
            break;
        case "frmCL" : 
            page = "ccCLDoc.xsp";
            break;
                
    }
    return page
}catch(e){
    WFSUtils.sysOut("Error in ccWFSDemoInput selecting form" + e.toString());
}}]]>
            </xp:this.pageName>
        </xp:include>
    </xe:dynamicContent>

it uses a dynamic content control from the extension library. The beauty of it is that page to load into computed at run time so there is no excess baggage. I my case I set a sessionScope variable from a Navigator to the page I want to load then do a partial refesh on dynamicContentMainView and in this case the correct input control; is loaded, I do the same thing on another page to load one of about 20 different custom controls that contains a repeat structure or whatever you want. I love this little trick because maintenance is a snap and a quick look at the code tells you exactly what is happening. Very easy to be modular and make each custom control self contained so once it is working stand alone I just add it to the switch statement and make a corresponding addition to my navigator. piece of cake!

I fought with complex dynamic panels and dynamic view controls for a fair bit of time until I stumbled across this little piece of code 

Nov 12, 2014, 3:37 AM
93 Posts
Nice find

Thanks Bill, github comes up trumps once again!

 

I've parked the dynamic view control for now, as 22/25 views are working and I've moved onto re-coding other area's of the database in the hope coming back to the view panel with fresh eyes will yield better results, however when i do come back to it, I may go with my own version of your code and see how it works for me.

 

Thanks for your input, it looks like it will be quite helpful.

Nov 12, 2014, 11:11 AM
93 Posts
Resolved

Bill,

 

Not sure if this is of interest to you, but I have resolved the issue with clickable links.

 

Firstly, I have replaced my own customizer bean and used a customizer bean put together by Jesse Gallagher: https://github.com/jesse-gallagher/Domino-One-Offs/blob/master/mcl/reports/DynamicViewCustomizer.java

 

You need the following xml java files aswell: https://github.com/jesse-gallagher/Domino-One-Offs/tree/master/com/raidomatic/xml (make sure to rename the package name as required, and the import names where referenced.)

 

From there, I have tweaked the code to my liking, and now have all column values as links.

 

The next step for me now is to bypass the fact this code use's the notes backend view styling on the web. ie., column A has text property as bold, 12px, and red, and this is exactly how it displays on the web, and not what I want.

 

It is still a bit fiddly, so requires time to tweak and perfect to exact needs.


FORUM PLAN UPDATE
Date revision: This forum will remain open to new posts and responses until December 1, 2018. (After that date, you will still be able to view and search the forum.) Also, we're taking a second look at the best place to host future conversation. For now, keep using this forum, and stay tuned for more news.