It is available, yes.
You can test it on the following address:
Telerik Style Builder

I think this is a great service, that will help the collaboration between designers and developers a lot.
Currently only few of the controls have the fine tune interface implemented but I think it is a very good start.
The previous post on this topic was about pointing some solution, which doesn't always work.
I think I was able to identify the problem for this issue.
It is becasue the chain of events is the following when you select a new row:
1. RowDeselected.
2. RowSelecting.
3. RowClick.
3. RowSelected.
I am not quite able to find the logic here.
I think in normal english I should be able to say:
"I am clicking on a row."
"I am in a process of selecting a row." (if not canceled)
"I am deselecting the old row."
"I have selected the new row."
At least the RowClick in my opinion should be fired prior the events described above as it occurs before everything else. You are initiating the above chain of events by clicking on a row so all of them should follow in my opinion.
To me the fact that RowDeselected is before RowSelecting is not such a bad solution. I just can't get why the RowClick is between RowSelecting and RowSelected events.
Any clues?
Okay, we had the radGrid with AllowMultiRowSelection property turned off.
But we needed to check if there is already a selection in the grid (on the client side), then get the item and do some calculations.
So far so good.
But it appeared that it is very difficult to get the previous item selected in a grid when selecting a new one.
The OnRowSelected event as you may suspect is raised too late in order to get this information as the selection is already changed.
So I thought the OnRowSelecting event will be the best time to perform this.
Guess what? It wasn't. At least for me.
Each time I checked the
sender.MasterTableView.get_selectedItems().length > 0
The statement evaluated to false (which means to me that when the OnRowSelecting event is raised AFTER the selection is Clear()).
So I found a workaround to help myself persist the previous selected item of the grid:
var lastRow = null;
function RowDeselected(sender, eventArgs) {
lastRow = sender;
}
function RowSelecting(sender, eventArgs) {
if (lastRow) {
// There was a selection before we try to select. Do whatever you need here.
}
else {
// There wasn't any selected item, this is the first one.
}
}
To me it seems that problems may arise. I will test some more to see for side effects and will report back.
Any comments are appreciated.