Lot of changes in gridster
This commit is contained in:
		
							parent
							
								
									dbf93ea9a8
								
							
						
					
					
						commit
						e9c0f443b7
					
				|  | @ -1328,6 +1328,7 @@ | ||||||
|     */ |     */ | ||||||
|     fn.draggable = function() { |     fn.draggable = function() { | ||||||
|         var self = this; |         var self = this; | ||||||
|  | 
 | ||||||
|         var draggable_options = $.extend(true, {}, this.options.draggable, { |         var draggable_options = $.extend(true, {}, this.options.draggable, { | ||||||
|             offset_left: this.options.widget_margins[0], |             offset_left: this.options.widget_margins[0], | ||||||
|             start: function(event, ui) { |             start: function(event, ui) { | ||||||
|  | @ -3204,6 +3205,7 @@ | ||||||
|             max_rows += (+$(w).attr('data-sizey')); |             max_rows += (+$(w).attr('data-sizey')); | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|         this.cols = Math.max(min_cols, cols, this.options.min_cols); |         this.cols = Math.max(min_cols, cols, this.options.min_cols); | ||||||
|         this.rows = Math.max(max_rows, this.options.min_rows); |         this.rows = Math.max(max_rows, this.options.min_rows); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -420,9 +420,10 @@ var orbitDesktop = function(dom){ | ||||||
|       $.getJSON("/desktop/getgroups",{sectionid:id},function(tiles){ |       $.getJSON("/desktop/getgroups",{sectionid:id},function(tiles){ | ||||||
|         tiles.sort(o.sortJSON("position",true,parseInt));  |         tiles.sort(o.sortJSON("position",true,parseInt));  | ||||||
|         var tilecolors = o.themesettings.tilecolor; |         var tilecolors = o.themesettings.tilecolor; | ||||||
|  |         var totaltiles_in_a_row = 4; | ||||||
|         var opacity = ["op05","op06","op07","op08","op09"]; |         var opacity = ["op05","op06","op07","op08","op09"]; | ||||||
|         var row = 1,col = 1,x = 1,y = 1;  |         var row = 1,col = 1,x = 1,y = 1;  | ||||||
|         var $group = $('<div class="grid"></div>'); |         var $group = $('<div class="grid gridster"></div>'); | ||||||
|         var $ul = $('<ul style="margin: -6px 0 0 -6px;"></ul>'); |         var $ul = $('<ul style="margin: -6px 0 0 -6px;"></ul>'); | ||||||
|          |          | ||||||
|         $.each(tiles,function(i,tile){ |         $.each(tiles,function(i,tile){ | ||||||
|  | @ -436,21 +437,72 @@ var orbitDesktop = function(dom){ | ||||||
|           var tilecolor = tilecolors[Math.floor(Math.random()*tilecolors.length)]; |           var tilecolor = tilecolors[Math.floor(Math.random()*tilecolors.length)]; | ||||||
|           var op = opacity[Math.floor(Math.random()*opacity.length)]; |           var op = opacity[Math.floor(Math.random()*opacity.length)]; | ||||||
|           if(tile.data_category == "app") |           if(tile.data_category == "app") | ||||||
|             $li =  $('<li data-id="'+tile.id+'" class="element" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><a href="'+tile.data_content+'" class="appicon"  onclick="return false;"><img src="'+o.iconPath+tile.data_content+'.png" alt="" ></a><h1 class="appname thmtxt">'+tile.title+'</h1></li>'); |             $li =  $('<li data-id="'+tile.id+'" class="widget" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'"><span class="tile '+tilecolor+' '+op+'"></span><a href="'+tile.data_content+'" class="appicon"  onclick="return false;"><img src="'+o.iconPath+tile.data_content+'.png" alt="" ></a><h1 class="appname thmtxt">'+tile.title+'</h1></li>'); | ||||||
|           else |           else | ||||||
|             $li =  $('<li data-id="'+tile.id+'" class="element" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'" js-link="'+tile.js[0].url+'" css-link="'+tile.css.url+'"><span class="tile '+tilecolor+' '+op+'"></span><div class="appholder">Loading...</div><h1 class="appname thmtxt">'+tile.title+'</h1></li>'); |             $li =  $('<li data-id="'+tile.id+'" class="widget" data-row="'+row+'" data-col="'+col+'" data-sizex="'+x+'" data-sizey="'+y+'" data-category="'+tile.data_category+'" data-content="'+tile.data_content+'" js-link="'+tile.js[0].url+'" css-link="'+tile.css.url+'"><span class="tile '+tilecolor+' '+op+'"></span><div class="appholder">Loading...</div><h1 class="appname thmtxt">'+tile.title+'</h1></li>'); | ||||||
| 
 | 
 | ||||||
|           row = row + y; |           row = row + y; | ||||||
|            |            | ||||||
|           $ul.append($li); |           $ul.append($li); | ||||||
|         }) |         }) | ||||||
|         $group.append($ul); |         $group.append($ul); | ||||||
|         console.log($group); |  | ||||||
|         $("div#desktop div#group_wrapper").append($group); |         $("div#desktop div#group_wrapper").append($group); | ||||||
|         o.gridvar = $(".grid ul").gridster({ |         var dragged = null,draggable,lastpos = []; | ||||||
|  |         o.gridvar = $(".grid ul").find("> li ").mousedown(function(e){ | ||||||
|  |           !draggable; | ||||||
|  |            dragged = $(this); | ||||||
|  |            lastpos = []; | ||||||
|  |            $(".grid ul li").each(function(){ | ||||||
|  |             lastpos.push({"col":$(this).attr("data-col"),"row":$(this).attr("data-row")}) | ||||||
|  |            }) | ||||||
|  |           }).end() | ||||||
|  |           .gridster({ | ||||||
|             widget_margins: [6, 6], |             widget_margins: [6, 6], | ||||||
|           widget_base_dimensions: [120, 120] |             widget_base_dimensions: [120, 120], | ||||||
|         }); |             avoid_overlapped_widgets: true, | ||||||
|  |             draggable : {  | ||||||
|  |               stop: function(event, ui){ | ||||||
|  |                  | ||||||
|  |                 var widgetchanged_col = dragged.attr("data-col"); | ||||||
|  |                 var total = 0; | ||||||
|  |                 // console.log(widgetchanged.col);
 | ||||||
|  |                 // console.log(o.gridvar.serialize_changed());
 | ||||||
|  |                 $(".grid ul li[data-col="+widgetchanged_col+"]").each(function(i,w){ | ||||||
|  |                    var size = parseInt($(this).attr("data-sizey")); | ||||||
|  |                   if(!isNaN(size)){ | ||||||
|  |                     total += size; | ||||||
|  |                   } | ||||||
|  |                 }) | ||||||
|  |                  // other way to calculate the overflow is by top > height of div 
 | ||||||
|  |                 if(total>totaltiles_in_a_row){ | ||||||
|  |                   revertbacktiles();        | ||||||
|  |                  }else{ | ||||||
|  |                   console.log(widgetchanged_col-1); | ||||||
|  |                   $(".grid ul li[data-col="+(widgetchanged_col-1)+"]").each(function(i,w){ | ||||||
|  |                      var sizey = parseInt($(this).attr("data-sizey")); | ||||||
|  |                      var sizex = parseInt($(this).attr("data-sizex")); | ||||||
|  |                      if(sizey==1){ | ||||||
|  |                       sizex = sizex - 1; | ||||||
|  |                      } | ||||||
|  |                     console.log(sizex); | ||||||
|  | 
 | ||||||
|  |                     if(!isNaN(sizex)){ | ||||||
|  |                       total += sizex; | ||||||
|  |                     } | ||||||
|  |                   }) | ||||||
|  |                   if(total>totaltiles_in_a_row){ | ||||||
|  |                     revertbacktiles();  | ||||||
|  |                   } | ||||||
|  |                  } | ||||||
|  |               }  | ||||||
|  |             } | ||||||
|  |         }).data('gridster'); | ||||||
|  |         var revertbacktiles = function(){ | ||||||
|  |           lastpos.push({"col":"","row":""}); | ||||||
|  |           $(".grid ul li").each(function(i){ | ||||||
|  |               $(this).attr({"data-col":lastpos[i].col,"data-row":lastpos[i].row}); | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|           bindHandlers(); |           bindHandlers(); | ||||||
|           o.initializeWidgets(); |           o.initializeWidgets(); | ||||||
|       }) |       }) | ||||||
|  | @ -1219,7 +1271,7 @@ var orbitDesktop = function(dom){ | ||||||
|     }) |     }) | ||||||
|   }; |   }; | ||||||
|   this.initializeWidgets = function(){ // this function will initialize all the widgets in the desktop
 |   this.initializeWidgets = function(){ // this function will initialize all the widgets in the desktop
 | ||||||
|     var elements = $("#group_wrapper li.element"); |     var elements = $("#group_wrapper li.widget"); | ||||||
|     $.each(elements,function(){ |     $.each(elements,function(){ | ||||||
|       var widget = $(this); |       var widget = $(this); | ||||||
|       if(widget.attr("data-category")=="widget"){ |       if(widget.attr("data-category")=="widget"){ | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
|  *This is a manifest file that'll automatically include all the stylesheets available in this directory |  *This is a manifest file that'll automatically include all the stylesheets available in this directory | ||||||
|  *and any sub-directories. You're free to add application-wide styles to this file and they'll appear at |  *and any sub-directories. You're free to add application-wide styles to this file and they'll appear at | ||||||
|  *the top of the compiled file, but it's generally better to create a new file per style scope. |  *the top of the compiled file, but it's generally better to create a new file per style scope. | ||||||
|  |  *= require desktop_font | ||||||
|  *= require style |  *= require style | ||||||
|  *= require bootstrap |  *= require bootstrap | ||||||
|  *= require bootstrap-orbit |  *= require bootstrap-orbit | ||||||
|  |  | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | @import url(http://fonts.googleapis.com/css?family=Cuprum|Dosis:400,700|Roboto+Condensed:400,700); | ||||||
|  | @ -60,9 +60,30 @@ body { | ||||||
| 	} | 	} | ||||||
| a, a:hover { text-decoration: none; color: #666; } | a, a:hover { text-decoration: none; color: #666; } | ||||||
| a:focus { outline: none; } | a:focus { outline: none; } | ||||||
|  | 
 | ||||||
|  | /* box-sizing element */ | ||||||
|  | .appholder, .appname { | ||||||
|  | 	-webkit-box-sizing: border-box; | ||||||
|  | 	   -moz-box-sizing: border-box; | ||||||
|  | 	        box-sizing: border-box; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .admbg { background-color: #fff; } | ||||||
|  | .admbg2 { background-color: #ddd; } | ||||||
|  | .admtxt { color: #666; } | ||||||
|  | .admtxt:hover { color: #666; } | ||||||
|  | .hfn { | ||||||
|  | 	font-size: 15px; | ||||||
|  | 	line-height: 36px; | ||||||
|  | 	float: left; | ||||||
|  | 	margin: 12px 12px 0 0; | ||||||
|  | 	position: relative; | ||||||
|  | 	} | ||||||
|  | .thmtxt { position: relative; } | ||||||
|  | 
 | ||||||
| /* desktop layout */ | /* desktop layout */ | ||||||
| #container { | #container { | ||||||
| 	margin: 48px 0 0 156px; | 	padding: 48px 0 0 156px; | ||||||
| 	} | 	} | ||||||
| #header { | #header { | ||||||
| 	padding: 0 0 12px 0; | 	padding: 0 0 12px 0; | ||||||
|  | @ -117,6 +138,7 @@ a:focus { outline: none; } | ||||||
| 	padding: 0 6px; | 	padding: 0 6px; | ||||||
| 	font-size: 15px; | 	font-size: 15px; | ||||||
| 	position: absolute; | 	position: absolute; | ||||||
|  | 	z-index: 9; | ||||||
| 	min-width: 48px; | 	min-width: 48px; | ||||||
| 	text-align: center; | 	text-align: center; | ||||||
| 	white-space: nowrap; | 	white-space: nowrap; | ||||||
|  | @ -165,14 +187,28 @@ a:focus { outline: none; } | ||||||
| 	 | 	 | ||||||
| .appname { | .appname { | ||||||
| 	font-size: 15px; | 	font-size: 15px; | ||||||
| 	height: 30px; |  | ||||||
| 	line-height: 30px; | 	line-height: 30px; | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: 30px; | ||||||
|  | 	padding: 0 12px; | ||||||
| 	overflow: hidden; | 	overflow: hidden; | ||||||
| 	cursor: default; | 	cursor: default; | ||||||
|  | 	position: absolute; | ||||||
|  | 	left: 0; | ||||||
|  | 	bottom: 0; | ||||||
| 	z-index: 3; | 	z-index: 3; | ||||||
| 	} | 	} | ||||||
| .w1.h1 .appname { text-align: center; } | [data-sizex="1"] .appname, .w1.h1 .appname { | ||||||
| .w2.h2 .appname { font-size: 21px; } | 	text-align: center; | ||||||
|  | } | ||||||
|  | [data-sizey="2"] .appname { | ||||||
|  | 	font-size: 21px; | ||||||
|  | } | ||||||
|  | .hh2 .appname { | ||||||
|  | 	position: relative; | ||||||
|  | 	width: auto; | ||||||
|  | 	padding: 0; | ||||||
|  | } | ||||||
| .appicon {  | .appicon {  | ||||||
| 	display: block; | 	display: block; | ||||||
| 	width: 60px;  | 	width: 60px;  | ||||||
|  | @ -180,6 +216,9 @@ a:focus { outline: none; } | ||||||
| 	margin: 0 auto; | 	margin: 0 auto; | ||||||
| 	position: relative; | 	position: relative; | ||||||
| 	} | 	} | ||||||
|  | [data-sizex="1"] .appicon { | ||||||
|  | 	margin-top: 24px; | ||||||
|  | } | ||||||
| #sections .appicon { | #sections .appicon { | ||||||
| 	width: 30px; | 	width: 30px; | ||||||
| 	height: 30px; | 	height: 30px; | ||||||
|  | @ -189,16 +228,19 @@ a:focus { outline: none; } | ||||||
| .appholder { | .appholder { | ||||||
| 	position: relative; | 	position: relative; | ||||||
| 	z-index: 2; | 	z-index: 2; | ||||||
| 	} | 	padding: 12px; | ||||||
| .holder_f .appholder { | 	padding-bottom: 30px; | ||||||
| 	position: absolute; |  | ||||||
| 	width: 100%; | 	width: 100%; | ||||||
| 	height: 100%; | 	height: 100%; | ||||||
|  | 	overflow: hidden; | ||||||
|  | 	} | ||||||
|  | .fullsize .appholder { | ||||||
|  | 	position: absolute; | ||||||
| 	padding: 0; | 	padding: 0; | ||||||
| 	left: 0; | 	left: 0; | ||||||
| 	top: 0; | 	top: 0; | ||||||
| 	} | 	} | ||||||
| .holder_f .appname { display: none; } | .fullsize .appname { display: none; } | ||||||
| .dtitle {  | .dtitle {  | ||||||
| 	font-size: 30px; | 	font-size: 30px; | ||||||
| 	line-height: 60px; | 	line-height: 60px; | ||||||
|  | @ -209,18 +251,6 @@ a:focus { outline: none; } | ||||||
| 	} | 	} | ||||||
| /*.section_slc { width: 252px; }*/ | /*.section_slc { width: 252px; }*/ | ||||||
| 
 | 
 | ||||||
| .admbg { background-color: #fff; } |  | ||||||
| .admbg2 { background-color: #ddd; } |  | ||||||
| .admtxt { color: #666; } |  | ||||||
| .admtxt:hover { color: #666; } |  | ||||||
| .hfn { |  | ||||||
| 	font-size: 15px; |  | ||||||
| 	line-height: 36px; |  | ||||||
| 	float: left; |  | ||||||
| 	margin: 12px 12px 0 0; |  | ||||||
| 	position: relative; |  | ||||||
| 	} |  | ||||||
| .thmtxt { position: relative; } |  | ||||||
| .tile { | .tile { | ||||||
| 	display: block; | 	display: block; | ||||||
| 	width: 100%; | 	width: 100%; | ||||||
|  | @ -388,10 +418,10 @@ a:focus { outline: none; } | ||||||
| .hp { padding-left: 12px; padding-right: 12px; } | .hp { padding-left: 12px; padding-right: 12px; } | ||||||
| .vp { padding-top: 12px; padding-bottom: 12px; } | .vp { padding-top: 12px; padding-bottom: 12px; } | ||||||
| .element { | .element { | ||||||
| 	/*margin: 0 12px 12px 0; | 	margin: 0 12px 12px 0; | ||||||
| 	float: left;*/ | 	float: left; | ||||||
| 	position: absolute; | 	position: relative; | ||||||
| 	/*display:inline-block;*/ | 	display:inline-block; | ||||||
| 	} | 	} | ||||||
| .group{ | .group{ | ||||||
| 	float: left; | 	float: left; | ||||||
|  |  | ||||||
|  | @ -37,9 +37,9 @@ | ||||||
| .gridster .preview-holder { | .gridster .preview-holder { | ||||||
|     z-index: 1; |     z-index: 1; | ||||||
|     position: absolute; |     position: absolute; | ||||||
|     background-color: #fff; |     background-color: #000; | ||||||
|     border-color: #fff; |     border-color: #000; | ||||||
|     opacity: 0.3; |     opacity: 0.2; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .gridster .player-revert { | .gridster .player-revert { | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| /*style*/ | /*style*/ | ||||||
| 
 | 
 | ||||||
| @import url(http://fonts.googleapis.com/css?family=Cuprum); | /*@import url(http://fonts.googleapis.com/css?family=Cuprum);*/ | ||||||
| @font-face{  | @font-face{  | ||||||
| 	font-family: 'WebSymbolsRegular'; | 	font-family: 'WebSymbolsRegular'; | ||||||
| 	src: url(<%= asset_path 'websymbols-regular-webfont.eot' %>); | 	src: url(<%= asset_path 'websymbols-regular-webfont.eot' %>); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue