automizy-js
Version:
Automizy widget collection
110 lines (107 loc) • 3.47 kB
JavaScript
define([
'automizy/core',
'automizy/addons/jqueryAddOns',
'automizy/functions/initBasicFunctions'
], function () {
var Button = function (obj) {
var t = this;
t.d = {
$widget:$('<span class="automizy-button"></span>'),
$widgetButton: $('<a href="javascript:;"></a>'),
text: 'My Button',
skin: 'simple-white',
float: 'none',
hasObject: false,
newRow:false,
create: function () {
},
id: 'automizy-button-' + $A.getUniqueString()
};
t.d.$widgetButton.appendTo(t.d.$widget);
t.d.$widgetButton.text(t.d.text).click(t.d.click).attr('id', t.id());
t.d.$widget.addClass('automizy-skin-' + t.d.skin);
if (typeof obj !== 'undefined') {
if (typeof obj.disable !== 'undefined') {
if (obj.disable)
t.disable();
else
t.enable();
}
if (typeof obj.enable !== 'undefined') {
if (obj.enable)
t.enable();
else
t.disable();
}
if (typeof obj.text !== 'undefined')
t.text(obj.text);
if (typeof obj.id !== 'undefined')
t.id(obj.id);
if (typeof obj.float !== 'undefined')
t.float(obj.float);
if (typeof obj.click !== 'undefined')
t.click(obj.click);
if (typeof obj.create !== 'undefined')
t.create(obj.create);
if (typeof obj.skin !== 'undefined')
t.skin(obj.skin);
if (typeof obj.newRow !== 'undefined')
t.newRow(obj.newRow);
if (typeof obj.target !== 'undefined')
t.drawTo(obj.target);
}
};
var p = Button.prototype;
p.text = p.val = p.value = function (text) {
var t = this;
if (typeof text !== 'undefined') {
t.d.text = text;
t.d.$widgetButton.html(text);
return t;
}
return t.d.text;
};
p.disable = function () {
var t = this;
t.d.$widgetButton.prop('disabled', true);
return t;
};
p.enable = function () {
var t = this;
t.d.$widgetButton.prop('disabled', false);
return t;
};
p.float = function (float) {
var t = this;
if (typeof float !== 'undefined') {
t.d.float = float;
t.d.$widget.css('float', float);
return t;
}
return t.d.float;
};
p.newRow = function (newRow) {
var t = this;
if (typeof newRow !== 'undefined') {
newRow = $A.parseBoolean(newRow);
t.d.newRow = newRow;
if(newRow){
t.d.$widget.addClass('new-row');
}else{
t.d.$widget.removeClass('new-row');
}
return t;
}
return t.d.newRow;
};
p.click = function (func) {
var t = this;
if (typeof func === 'function') {
t.d.$widgetButton.click(func);
} else {
t.d.$widgetButton.trigger('click');
}
return t;
};
$A.initBasicFunctions(Button, "Button");
});