forked from extern/egroupware
change tab loading again to initialise visible tab immediatly and gard et2_color / jPicker against being initialised twice
This commit is contained in:
parent
2778b48273
commit
15bc2f3ade
@ -99,7 +99,11 @@ var et2_color = et2_inputWidget.extend(
|
|||||||
this._super.call(this, arguments);
|
this._super.call(this, arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
doLoadingFinished: function() {
|
doLoadingFinished: function()
|
||||||
|
{
|
||||||
|
// as tabs can cause a double loading, we check here if jPicker is already initialised
|
||||||
|
if (this.get_jPicker()) return;
|
||||||
|
|
||||||
this._super.apply(this, arguments);
|
this._super.apply(this, arguments);
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -130,7 +134,7 @@ var et2_color = et2_inputWidget.extend(
|
|||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
//Regex to exclude invalid charachters from class identifier name, to be able to address the class name with jquery selector later.
|
//Regex to exclude invalid charachters from class identifier name, to be able to address the class name with jquery selector later.
|
||||||
var regExClassName = /[\[\]']+/g;
|
var regExClassName = /[\[\]']+/g;
|
||||||
|
|
||||||
// Make the buttons look like all the others
|
// Make the buttons look like all the others
|
||||||
jQuery("div.jPicker :button").addClass("et2_button et2_button_text");
|
jQuery("div.jPicker :button").addClass("et2_button et2_button_text");
|
||||||
|
|
||||||
@ -163,14 +167,17 @@ var et2_color = et2_inputWidget.extend(
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the jPicker object for this widget, so further things can be done to it
|
* Get the jPicker object for this widget, so further things can be done to it
|
||||||
|
*
|
||||||
|
* Id of jPicker node is either our id+'_jPicker' or our dom_id (no idea why).
|
||||||
*/
|
*/
|
||||||
get_jPicker: function() {
|
get_jPicker: function() {
|
||||||
if(jQuery.jPicker.List.length)
|
for(var i=0; i < jQuery.jPicker.List.length; ++i)
|
||||||
{
|
{
|
||||||
var self = this;
|
var node = jQuery.jPicker.List[i];
|
||||||
return jQuery(jQuery.jPicker.List.filter(function(elem,index) {
|
if (node && (node.id == this.id+'_jPicker' || node.id == this.dom_id))
|
||||||
return (elem && elem.id == self.id + "_jPicker");
|
{
|
||||||
}))[0];
|
return node;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
@ -236,10 +236,7 @@ var et2_tabbox = et2_valueWidget.extend([et2_IInput],
|
|||||||
|
|
||||||
// We can do this and not wind up with 2 because child is a template,
|
// We can do this and not wind up with 2 because child is a template,
|
||||||
// which has special handling
|
// which has special handling
|
||||||
// disabling immediate direct call for selected tab seems to have no recognisable impact and
|
this._children[0].loadingFinished(promises);
|
||||||
// some widgets, eg. color-picker have problems with calling doLoadingFinished twice
|
|
||||||
// (color input gets re-rendered second time after hitting [Apply], if color-picker is in a tab)
|
|
||||||
//this._children[0].loadingFinished(promises);
|
|
||||||
|
|
||||||
// Defer parsing & loading of other tabs until later
|
// Defer parsing & loading of other tabs until later
|
||||||
window.setTimeout(function() {
|
window.setTimeout(function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user