Source: node_modules/cbobject/cbobject.js

var $ = require('jquery');

/**
 * Base object to components. This object include position, size, type and others common elemens
 * @param {Object} objectdata Object base definition
 * @param {Array} objectdata.position Object position on page
 * @param {Array} objectdata.size Object size 
 * @param {String} objectdata.type Object type . This is used to restore object when load project
 * @class CBObject
 */
function CBObject(objectdata){
	this.position = typeof objectdata.position !== 'undefined' ? objectdata.position : [200,200];
	this.size = typeof objectdata.size !== 'undefined' ? objectdata.size : [0,0];
	this.type = typeof objectdata.type !== 'undefined' ? objectdata.type : "CBObject";

}

/**
 * Render object to jQuery object to be included on page
 * @return {jQuery}
 */
CBObject.prototype.editorView = function editorView() {
	var aux = $(window.document.createElement('div'));
	aux.css('left', this.position[0]);
	aux.css('top', this.position[1]);
	aux.addClass('draggable');
	aux.css('position','relative');
	return aux;
};

/**
 * This string is return core to bind on button click event on editor view
 * @return {String} Function string.
 */
CBObject.add_callback = "jquerycbo.draggable( {stop: function(event,ui){ objectcbo.position = [ui.position.left,ui.position.top]; }});";

module.exports = CBObject;