Get all button images working (in timesheet & infolog list at least)

This commit is contained in:
Nathan Gray 2011-09-22 21:23:30 +00:00
parent df1d9e81b2
commit 390bb1f6f0
4 changed files with 36 additions and 10 deletions

View File

@ -785,7 +785,9 @@ var et2_widget = Class.extend({
this._template_application = this.getParent().getTemplateApp();
return this._template_application;
}
return "phpgwapi";
app = egw.getAppName() == 'egroupware' ? 'phpgwapi' : egw.getAppName();
//console.warn("Unable to find template application, using %s", app);
return app;
}
});

View File

@ -59,6 +59,7 @@ var et2_button = et2_baseWidget.extend([et2_IInput, et2_IDetachedDOM], {
set_image: function(_image) {
if(!this.isInTree()) return;
this.options.image = _image;
var found_image = false;
@ -69,13 +70,16 @@ var et2_button = et2_baseWidget.extend([et2_IInput, et2_IDetachedDOM], {
this.image = et2_createWidget("image",{label: this.options.label});
}
found_image = this.image.set_src(this.options.image);
if(found_image) {
// No label if there's an image
this.set_label("");
this.btn.removeClass("et2_button_text").addClass("et2_button_icon");
}
jQuery(this.image.getDOMNode()).appendTo(this.btn);
}
if(found_image)
if(!found_image)
{
// No label if there's an image
this.options.label = "";
this.btn.removeClass("et2_button_text").addClass("et2_button_icon");
this.set_label(this.options.label);
}
},

View File

@ -112,7 +112,7 @@ var et2_image = et2_baseWidget.extend(et2_IDetachedDOM, {
set_src: function(_value) {
if(!this.isInTree())
{
return;
return false;
}
this.options.src = _value;

View File

@ -415,27 +415,47 @@ else
*/
image: function (_name, _app)
{
if (typeof _app == 'undefined') _app = this.getAppName();
// For logging all paths tried
var tries = {};
if (typeof _app == 'undefined')
{
if(_name.indexOf('/') > 0)
{
var split = et2_csvSplit(_value, 2,"/");
var _app = split[0];
_name = split[1];
}
else
{
_app = this.getAppName();
}
}
// own instance specific images in vfs have highest precedence
tries['vfs']=_name;
if (typeof this.images['vfs'] != 'undefined' && typeof this.images['vfs'][_name] != 'undefined')
{
return this.webserverUrl+this.images['vfs'][_name];
}
tries[_app + (_app == 'phpgwapi' ? " (current app)" : "")] = _name;
if (typeof this.images[_app] != 'undefined' && typeof this.images[_app][_name] != 'undefined')
{
return this.webserverUrl+this.images[_app][_name];
}
tries['phpgwapi'] = _name;
if (typeof this.images['phpgwapi'] != 'undefined' && typeof this.images['phpgwapi'][_name] != 'undefined')
{
return this.webserverUrl+this.images['vfs'][_name];
return this.webserverUrl+this.images['phpgwapi'][_name];
}
// if no match, check if it might contain an extension
if (_name.match(/\.(png|gif|jpg)$/i))
var matches = [];
if (matches = _name.match(/\.(png|gif|jpg)$/i))
{
return this.image(_name.replace(/.(png|gif|jpg)$/i,''), _app);
}
console.log('egw.image("'+_name+'", "'+_app+'") image NOT found!');
if(matches != null) tries[_app + " (matched)"]= matches;
console.log('egw.image("'+_name+'", "'+_app+'") image NOT found! Tried ', tries);
return null;
},