Showing posts with label lotus. Show all posts
Showing posts with label lotus. Show all posts

7/22/2013

Render View Column Color in a XPage

In Notes you can easily change the color of columns (background and text) with a list of integers in a hidden column. In Xpages it is not as easy, you need to either translate the colors to hex, oder into style classed that do the work for you. I found an interesting article on how to transform the information into styles, you can find it here, but i wanted to have the flexibility to change the notes view and have the xpage change automatically according to it, too.



So i came up with this little function that can be used in a computed style for a row, or a single cell. Make sure to use the advanced properties of the view to make the column entry accessible, in this example i chose "rowData" as the name for the variable, then just use the function like this

getColumnColorStyle(rowData, 3, "width: 15px;");

Its as easy as that, and if you put the function into a script library, you can make it accessible to all of your pages easyily (i chose to use a new namespace for all of the tool functions i use, but here you have got the plain function).

function  getColumnColorStyle(rowData, column, baseStyle){
   var styleString = baseStyle?baseStyle:"" ;
   var arr=rowData.getColumnValues().get(column);
   if(arr){
      var f = function twoDigitHex(anInteger){
         return ("00"+parseInt(anInteger).toString(16)).right(2);
      };
      var hexcolor = "#"+f(arr[0])+f(arr[1])+f(arr[2]);
      if(hexcolor!="#000000" )
         styleString+= "background-color: "+hexcolor+";";
      if(arr.length > 5){
        hexcolor = "#"+f(arr[3])+f(arr[4])+f(arr[5]);
        if(hexcolor!="#000000" )
           styleString+= "color: "+hexcolor+";" ;
      }
   }
   return styleString;
}

7/11/2012

Converting Times to your Servertime in a Nutshell

A quick method to convert UTC DateTime to the current servers local time. I use this for a rest webservice that accepts UTC/GMT timestamps from an iPhone to make sure all times in the database are in the correct timezone, and still accurate. This code will go into the "input translation" section triggered by the "compute with form".

timestring := month+"/"+day+"/"+year+" "+hour+":"+minute+":"+seconds+" GMT";
time := @TextToTime(timestring);
result := @TextToTime(@TimeToTextInZone(time;@GetCurrentTimeZone;"D0T0"));

6/27/2012

Logout from your XPage in a Nutshell

Have you ever struggled to provide a quick & easy logout link for your XPage-based web site? There are many JavaScript (both Server-Side and Client-Side) solutions, but this is, what works best for me, and its the simplest, plain solution i could come up with:

Just put "./?logout" in your link text, and you are done!

For convenience, you can easily add "&redirectTo=yourFavouriteSite", or compute that part.