|
From: <j-...@us...> - 2012-01-21 17:23:22
|
Revision: 664
http://openautomation.svn.sourceforge.net/openautomation/?rev=664&view=rev
Author: j-n-k
Date: 2012-01-21 17:23:16 +0000 (Sat, 21 Jan 2012)
Log Message:
-----------
Fix design-toggle issue for rowspan
Modified Paths:
--------------
CometVisu/trunk/visu/designs/structure_custom.js
CometVisu/trunk/visu/lib/templateengine.js
Modified: CometVisu/trunk/visu/designs/structure_custom.js
===================================================================
--- CometVisu/trunk/visu/designs/structure_custom.js 2012-01-21 16:41:52 UTC (rev 663)
+++ CometVisu/trunk/visu/designs/structure_custom.js 2012-01-21 17:23:16 UTC (rev 664)
@@ -41,35 +41,46 @@
* to demonstrate all available
*/
VisuDesign_Custom.prototype.addCreator("designtoggle", {
- create: function( page, path ) {
- var ret_val = $('<div class="widget clearfix" />');
- ret_val.addClass( 'switch' );
- var label = '<div class="label">' + page.textContent + '</div>';
- var actor = '<div class="actor switchUnpressed">';
- var value = $('link[href*="designs"]').attr('href').split('/')[1];
- actor += '<div class="value">' + value + '</div>';
- actor += '</div>';
- ret_val.append(label).append($(actor)
- .data({
- 'mapping' : $(page).attr('mapping'),
- 'styling' : $(page).attr('styling'),
- 'value' : value,
- 'type' : 'toggle'
- })
- .bind('click', function() {
- var designs = [ 'pure', 'discreet', 'discreet_sand', 'discreet_slim', 'alaska', 'alaska_slim' ];
- var oldDesign = $('.value',this).text();
- var newDesign = designs[ (designs.indexOf(oldDesign) + 1) % designs.length ];
- $('.value',this).text(newDesign);
- $('link[href*="designs"]').each(function(){
- this.href = this.href.replace( oldDesign, newDesign );
- });
- })
- );
- return ret_val;
- },
- attributes: {
- },
- content: {type: "string", required: true}
+ create: function( page, path ) {
+
+ var ret_val = $('<div class="widget clearfix" />');
+ ret_val.addClass( 'switch' );
+ var label = '<div class="label">' + page.textContent + '</div>';
+ var actor = '<div class="actor switchUnpressed">';
+ var value = $('link[href*="designs"]').attr('href').split('/')[1];
+ actor += '<div class="value">' + value + '</div>';
+ actor += '</div>';
+ ret_val.append(label).append($(actor)
+ .data({
+ 'mapping' : $(page).attr('mapping'),
+ 'styling' : $(page).attr('styling'),
+ 'value' : value,
+ 'type' : 'toggle'
+ })
+ .bind('click', function() {
+ var designs = [ 'pure', 'discreet', 'discreet_sand', 'discreet_slim', 'alaska', 'alaska_slim' ];
+ var oldDesign = $('.value',this).text();
+ var newDesign = designs[ (designs.indexOf(oldDesign) + 1) % designs.length ];
+ $('.value',this).text(newDesign);
+ $('link[href*="designs"]').each(function(){
+ this.href = this.href.replace( oldDesign, newDesign );
+ });
+
+ setTimeout(function() {
+ $('style').each(function(style) {
+ var txt = this.textContent;
+ var idx = txt.search('rowspan');
+ if (idx>0) {
+ rowspanClass(parseInt(txt[idx+7]), this);
+ }
+ });
+ }, 100);
+ })
+ );
+ return ret_val;
+ },
+ attributes: {
+ },
+ content: true
});
Modified: CometVisu/trunk/visu/lib/templateengine.js
===================================================================
--- CometVisu/trunk/visu/lib/templateengine.js 2012-01-21 16:41:52 UTC (rev 663)
+++ CometVisu/trunk/visu/lib/templateengine.js 2012-01-21 17:23:16 UTC (rev 664)
@@ -98,7 +98,7 @@
var basetrans = transformation.split('.')[0];
return transformation in Transform ?
Transform[ transformation ].decode( value ) :
- (basetrans in Transform ? Transform[ basetrans ].decode( value ) : value);
+ (basetrans in Transform ? Transform[ basetrans ].decode( value ) : value);
}
function map( value, element )
@@ -143,12 +143,13 @@
}
$( window ).bind( 'resize', handleResize );
-function rowspanClass(rowspan) {
+function rowspanClass(rowspan, elem) {
var className = 'rowspan'+ rowspan;
- if ( $('<div class="' + className + '" />').height() == 0 ) {
- var dummyDiv = $('<div><div class="widget clearfix text" id="innerDiv" /></div>')
- .appendTo($('body'));
-
+
+ if (( $('<div class="' + className + '" />').height() == 0 ) || elem ) {
+ var dummyDiv = $('<div id="calcrowspan" ><div class="widget clearfix text" id="innerDiv" /></div>')
+ .appendTo(document.body).show();
+
// get css settings of single object
var paddingTop = parseFloat($('#innerDiv').css('padding-top'));
var paddingBottom = parseFloat($('#innerDiv').css('padding-bottom'));
@@ -158,7 +159,7 @@
var borderBottom = parseFloat($('#innerDiv').css('border-bottom-width'));
var singleHeight = parseFloat($('#innerDiv').css('height'));
- dummyDiv.remove();
+ $('#calcrowspan').remove();
// calculate total height
var totalHeight = (rowspan-1) * Math.round((singleHeight+
@@ -167,8 +168,14 @@
+ singleHeight;
// append css style
+
+ if (elem) {
+ $(elem).remove();
+ }
+
$('head').append('<style>.rowspan' + rowspan + ' { height: ' + totalHeight + 'px; } </style>');
}
+
return className;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|