KLanding/assets/gridster_new.js
2016-01-30 12:19:12 +00:00

106 lines
3.3 KiB
JavaScript

$(window).ready(function () {
var localData = JSON.parse(localStorage.getItem('positions'));
if(localData!=null)
{
$.each(localData, function(i,value){
var id_name;
id_name="#";
id_name = id_name + value.id;
console.log(id_name);
$(id_name).attr({"data-col":value.col, "data-row":value.row, "data-sizex":value.size_x, "data-sizey":value.size_y});
});
}
else{
console.log('No data returned by the server');
}
// widget_selector: "> ul"
// Define which elements are the widgets. Can be a CSS Selector string or a jQuery collection of HTMLElements.
// widget_margins: [3, 3]
// Horizontal and vertical margins respectively for widgets.
// widget_base_dimensions: [110, 110]
// Base widget dimensions in pixels. The first index is the width, the second is the height.
var grid_canvas = $(".gridster > ul").gridster({
widget_margins: [3, 3],
widget_base_dimensions: [140, 140],
max_cols: [5],
max_rows: [4],
// serialize_params: function($w, wgd) { return { id: $($w).attr('id'),col: wgd.col, row: wgd.row,size_x: wgd.size_x,size_y: wgd.size_y }
// A function to return serialized data for each each widget, used when calling the serialize method. Two arguments are passed:
// $w: the jQuery wrapped HTMLElement which is used to get the id, and wgd: the grid coords object with keys col, row, size_x and size_y.
serialize_params: function($w, wgd)
{
return {
id: $($w).attr('id'),
col: wgd.col,
row: wgd.row,
size_x: wgd.size_x,
size_y: wgd.size_y,
};
},
// draggable.stop: function(event, ui){} -- A callback for when dragging stops.
// You can also implement other draggable options based on your requirements
// draggable.start: function(event, ui){} -- A callback for when dragging starts.
// draggable.drag: function(event, ui){} -- A callback for when the mouse is moved during the dragging.
draggable:
{
stop: function(event, ui) {
// .serialize( )
// Creates an array of objects representing the current position of all widgets in the grid.
// Returns an Array of Objects (ready to be encoded as a JSON string) with the data specified by the serialize_params option
// JSON.stringify() converts a primitive value, object or array to a JSON-formatted string that can later be parsed with JSON.parse().
var positions = JSON.stringify(this.serialize());
// With HTML5, web pages can store data locally within the user's browser.
// Earlier, this was done with cookies. However, Web Storage is more secure and faster.
// The data is not included with every server request, but used ONLY when asked for.
// It is also possible to store large amounts of data, without affecting the website's performance.
// The data is stored in key/value pairs, and a web page can only access data stored by itself.
localStorage.setItem('positions', positions);
$.post(
"process.php",
{"positions": positions},
function(data)
{
// this is where you can check if your data is sent to the server or not.
// A status of 200 implies success
console.log(data);
if(data==200)
console.log("Data successfully sent to the server");
else
console.log
}
);
}
}
}).data('gridster');
});