" )
.parent();
this.topContainer = this.uiContainer.wrap("
").parent();
this.topContainer.addClass('red-ui-editableList');
var addLabel = "foo";
if (RED && RED._) {
addLabel = RED._("editableList.add");
}
var addButton = $('
'+addLabel+'').appendTo(this.topContainer);
addButton.click(function(evt) {
evt.preventDefault();
that.addItem({});
});
this.uiContainer.addClass("red-ui-editableList-container");
this.uiHeight = this.element.height();
var minHeight = this.element.css("minHeight");
if (minHeight !== '0px') {
this.uiContainer.css("minHeight",minHeight);
this.element.css("minHeight",0);
}
if (this.options.sortable) {
this.element.sortable({
axis: "y",
update: function( event, ui ) {
if (that.options.updateOrder) {
that.options.updateOrder(that.items());
}
},
handle:".red-ui-editableList-item-handle",
cursor: "move"
});
}
this._resize();
// this.menu = this._createMenu(this.types, function(v) { that.type(v) });
// this.type(this.options.default||this.types[0].value);
},
_resize: function() {
var currentFullHeight = this.topContainer.height();
var innerHeight = this.uiContainer.height();
var delta = currentFullHeight - innerHeight;
this.uiContainer.height(this.uiHeight-delta);
if (this.options.resize) {
this.options.resize();
}
if (this.options.resizeItem) {
var that = this;
this.element.children().each(function(i) {
that.options.resizeItem($(this).find(".red-ui-editableList-item-content"));
});
}
},
_destroy: function() {
},
width: function(desiredWidth) {
this.uiWidth = desiredWidth;
this._resize();
},
height: function(desiredHeight) {
this.uiHeight = desiredHeight;
this._resize();
},
addItem: function(data) {
var that = this;
data = data || {};
var li = $('
').appendTo(this.element);
li.data('data',data);
var row = $('').addClass("red-ui-editableList-item-content").appendTo(li);
if (this.options.sortable) {
$('').appendTo(li);
li.addClass("red-ui-editableList-item-sortable");
}
if (this.options.deletable) {
var deleteButton = $('',{href:"#",class:"red-ui-editableList-item-delete editor-button editor-button-small"}).appendTo(li);
$('',{class:"fa fa-remove"}).appendTo(deleteButton);
li.addClass("red-ui-editableList-item-deletable");
deleteButton.click(function() {
li.addClass("red-ui-editableList-item-deleting")
li.fadeOut(300, function() {
$(this).remove();
if (that.options.deleteItem) {
that.options.deleteItem(li.data('data'));
}
});
});
}
if (this.options.addItem) {
var index = that.element.children().length-1;
setTimeout(function() {
that.options.addItem(row,index,data);
},0);
}
},
items: function() {
return this.element.children().map(function(i) { return $(this).find(".red-ui-editableList-item-content"); });
}
});
})(jQuery);