是否可以只调整一个gridster小部件的大小?
我已经做到了,所以用户可以点击小部件标题,以便它扩展&合同。
我想这样做,以便在扩展窗口小部件时,它可以调整大小。
可以这样做吗?如果是这样,怎么样?
答案 0 :(得分:3)
你只能拥有一些特定的"小部件可调整大小(仅4行)库如下(参考gridster.js - v0.5.1 - 2014-03-26)..
1)更新 add_widget 功能(修改后的行标记为"自定义"在评论中):
fn.add_widget = function(html, size_x, size_y, col, row, max_size, min_size, resizable) { //custom
var pos;
size_x || (size_x = 1);
size_y || (size_y = 1);
if (!col & !row) {
pos = this.next_position(size_x, size_y);
}else{
pos = {
col: col,
row: row
};
this.empty_cells(col, row, size_x, size_y);
}
var $w = $(html).attr({
'resizable' : (resizable === true), //custom
'data-col': pos.col,
'data-row': pos.row,
'data-sizex' : size_x,
'data-sizey' : size_y
}).addClass('gs-w').appendTo(this.$el).hide();
[...]
2)更新 register_widget 功能(再次,注意单词" custom"在评论中):
fn.register_widget = function($el) {
var resizable = $el.attr('resizable'); //custom
var wgd = {
'col': parseInt($el.attr('data-col'), 10),
'row': parseInt($el.attr('data-row'), 10),
'size_x': parseInt($el.attr('data-sizex'), 10),
'size_y': parseInt($el.attr('data-sizey'), 10),
'max_size_x': parseInt($el.attr('data-max-sizex'), 10) || false,
'max_size_y': parseInt($el.attr('data-max-sizey'), 10) || false,
'min_size_x': parseInt($el.attr('data-min-sizex'), 10) || false,
'min_size_y': parseInt($el.attr('data-min-sizey'), 10) || false,
'el': $el
};
if (this.options.avoid_overlapped_widgets &&
!this.can_move_to(
{size_x: wgd.size_x, size_y: wgd.size_y}, wgd.col, wgd.row)
) {
$.extend(wgd, this.next_position(wgd.size_x, wgd.size_y));
$el.attr({
'data-col': wgd.col,
'data-row': wgd.row,
'data-sizex': wgd.size_x,
'data-sizey': wgd.size_y
});
}
// attach Coord object to player data-coord attribute
$el.data('coords', $el.coords());
// Extend Coord object with grid position info
$el.data('coords').grid = wgd;
this.add_to_gridmap(wgd, $el);
this.options.resize.enabled && (resizable === "true") && this.add_resize_handle($el); //custom
return this;
};
完成!强>
add_widget函数的新签名现在是:
.add_widget( html, [size_x], [size_y], [col], [row], [resizable] )
只需设置"可调整大小"如果您希望窗口小部件可以调整大小,则参数为true!
答案 1 :(得分:2)
启用调整大小后,每个小部件都会使用 setup_resize()函数在 span 元素中获取 gs-resize-handle 类。< / p>
所以你可以通过添加一个自定义类来使用css来隐藏调整大小句柄,如:
.no-resize .gs-resize-handle-both{
display:none;
}
当您展开小部件时,请删除自定义类。
编辑:
另一种方法可能就像gridster expandable demo上的演示一样,点击事件会有一些变化。