Domino (at least pre 8.5) doesn't let you use $$SearchTemplate forms as anything other than vanilla Domino-generated html forms.
This makes it somewhat difficult to search/getting Json-data in return.
The simplest workaround I've found is to make a view with one column. The data is formatted as Json, with a trailing comma. In the search-template, I wrap the $$ViewBody-field like this:
<div id="result">[|$$ViewBody-field|,""]</div>
When I want to search, I use a temporary iframe, added to the DOM using Javascript. To make it as simple as possible, browser compatibility-wise (events), I add a the iframe inside a temporary div using innerHTML. The iframe has an onload-event. When that triggers, I know that the Json is loaded.
I'm terrible at explaining code (terrible at explaining anything), so I've made a simple demo-app you can try. Remember to create a full-text index on the demo-db before trying it out.
Flash demonstration of the app (I parse the Json to HTML):
>> Demoapp
The app is tested, and works in Opera 9.5, FF3 and IE7 on Vista x64.
2 comments:
Excellent database! I learned a use for @Transform!
I also liked you not using a javascript api to create the json object.
I'm glad you liked it :)
Sometimes I tend to get lazy with my demos and use a Javascript framework, so that I don't have to write/debug all the code.
The goal of this demo was to show the search-technique. The code needed for the demo-page was so little that I just wrote it myself.
Post a Comment