forked from extern/egroupware
Queue property updates
This commit is contained in:
parent
0285ea4b28
commit
59471e7e18
@ -45,12 +45,12 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"name": "Customization settings",
|
"name": "Customization settings",
|
||||||
"description": "Array of customization settings, similar to preference settings",
|
"description": "Array of customization settings, similar in structure to preference settings",
|
||||||
"type": "any",
|
"type": "any",
|
||||||
"default": et2_no_init
|
"default": et2_no_init
|
||||||
},
|
},
|
||||||
"width": { "default": 2, "ignore": true},
|
"width": { "default": 2, "ignore": true},
|
||||||
"height": { "default": 1, "ignore": true},
|
"height": { "default": 1, "type": "integer"},
|
||||||
"rows": {"ignore": true},
|
"rows": {"ignore": true},
|
||||||
"cols": {"ignore": true},
|
"cols": {"ignore": true},
|
||||||
"row": { "default": 1},
|
"row": { "default": 1},
|
||||||
@ -58,7 +58,6 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
},
|
},
|
||||||
|
|
||||||
createNamespace: true,
|
createNamespace: true,
|
||||||
RESIZE_TIMEOUT: 5000,
|
|
||||||
GRID: 50,
|
GRID: 50,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -102,12 +101,6 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
.attr("data-row", this.options.row)
|
.attr("data-row", this.options.row)
|
||||||
.attr("data-col", this.options.col)
|
.attr("data-col", this.options.col)
|
||||||
|
|
||||||
// Shapeshift
|
|
||||||
.width(this.options.width * this.GRID)
|
|
||||||
.height(this.options.height * this.GRID)
|
|
||||||
.attr("data-ss-rowspan", this.options.row)
|
|
||||||
.attr("data-ss-colspan", this.options.col)
|
|
||||||
|
|
||||||
.resizable( {
|
.resizable( {
|
||||||
autoHide: true,
|
autoHide: true,
|
||||||
grid: this.GRID,
|
grid: this.GRID,
|
||||||
@ -115,13 +108,13 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
stop: function(event, ui) {
|
stop: function(event, ui) {
|
||||||
self.set_width(Math.round(ui.size.width / self.GRID));
|
self.set_width(Math.round(ui.size.width / self.GRID));
|
||||||
self.set_height(Math.round(ui.size.height / self.GRID));
|
self.set_height(Math.round(ui.size.height / self.GRID));
|
||||||
self.egw().json("home.home_ui.ajax_set_properties",[self.id, self.options.settings,{
|
self.egw().jsonq("home.home_ui.ajax_set_properties",[self.id, self.options.settings,{
|
||||||
width: self.options.width,
|
width: self.options.width,
|
||||||
height: self.options.height
|
height: self.options.height
|
||||||
}],
|
}],
|
||||||
null,
|
null,
|
||||||
self, true, self
|
self, true, self
|
||||||
).sendRequest();
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.header = $j(document.createElement("div"))
|
this.header = $j(document.createElement("div"))
|
||||||
@ -129,8 +122,7 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
.appendTo(this.div)
|
.appendTo(this.div)
|
||||||
.html(this.options.title);
|
.html(this.options.title);
|
||||||
this.content = $j(document.createElement("div"))
|
this.content = $j(document.createElement("div"))
|
||||||
.appendTo(this.div)
|
.appendTo(this.div);
|
||||||
.html(this.options.value);
|
|
||||||
|
|
||||||
this.setDOMNode(this.div[0]);
|
this.setDOMNode(this.div[0]);
|
||||||
},
|
},
|
||||||
@ -140,6 +132,17 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
this._super.apply(this, arguments);
|
this._super.apply(this, arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If anyone asks, return the content node, so content goes inside
|
||||||
|
*/
|
||||||
|
getDOMNode: function(_sender) {
|
||||||
|
if(typeof _sender != 'undefined' && _sender != this)
|
||||||
|
{
|
||||||
|
return this.content[0];
|
||||||
|
}
|
||||||
|
return this._super.apply(this, arguments);
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Overriden from parent to add in default actions
|
* Overriden from parent to add in default actions
|
||||||
*/
|
*/
|
||||||
@ -229,7 +232,7 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
|
|
||||||
// Save settings - server will reply with new content, if the portlet needs an update
|
// Save settings - server will reply with new content, if the portlet needs an update
|
||||||
this.div.addClass("loading");
|
this.div.addClass("loading");
|
||||||
this.egw().json("home.home_ui.ajax_set_properties",[this.id, this.options.settings || {}, value],
|
this.egw().jsonq("home.home_ui.ajax_set_properties",[this.id, this.options.settings || {}, value],
|
||||||
function(data) {
|
function(data) {
|
||||||
this.div.removeClass("loading");
|
this.div.removeClass("loading");
|
||||||
this.set_value(data.content);
|
this.set_value(data.content);
|
||||||
@ -252,7 +255,7 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
this, true, this
|
this, true, this
|
||||||
).sendRequest();
|
);
|
||||||
|
|
||||||
// Extend, not replace, because settings has types while value has just value
|
// Extend, not replace, because settings has types while value has just value
|
||||||
jQuery.extend(this.options.settings, value);
|
jQuery.extend(this.options.settings, value);
|
||||||
@ -294,6 +297,15 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
this.header.html(value);
|
this.header.html(value);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Let this portlet stand out a little by allowing a custom color
|
||||||
|
*/
|
||||||
|
set_color: function(color)
|
||||||
|
{
|
||||||
|
this.header.css("backgroundColor", color);
|
||||||
|
this.content.css("backgroundColor", color);
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the number of grid cells this widget spans
|
* Set the number of grid cells this widget spans
|
||||||
*
|
*
|
||||||
@ -314,6 +326,10 @@ var et2_portlet = et2_valueWidget.extend(
|
|||||||
{
|
{
|
||||||
this.options.height = value;
|
this.options.height = value;
|
||||||
this.div.attr("data-sizey", value);
|
this.div.attr("data-sizey", value);
|
||||||
|
|
||||||
|
// Explicitly set the height of the content, so it can properly scroll. Sometimes set_height()
|
||||||
|
// is called before everything is in the DOM though, so use a magic 18px in that case.
|
||||||
|
this.content.height(value * this.GRID - (this.header.outerHeight() > 0 ? this.header.outerHeight() : 18));
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user