mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-17 03:19:23 +01:00
Fix some readonly selectboxes were missing options
This commit is contained in:
parent
b8455e0b8d
commit
1776dd9005
@ -22,8 +22,6 @@ const so = new StaticOptions();
|
|||||||
*/
|
*/
|
||||||
export class Et2SelectReadonly extends Et2Widget(LitElement) implements et2_IDetachedDOM
|
export class Et2SelectReadonly extends Et2Widget(LitElement) implements et2_IDetachedDOM
|
||||||
{
|
{
|
||||||
protected _options : SelectOption[] = [];
|
|
||||||
|
|
||||||
static get styles()
|
static get styles()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
@ -49,7 +47,7 @@ li {
|
|||||||
return {
|
return {
|
||||||
...super.properties,
|
...super.properties,
|
||||||
value: String,
|
value: String,
|
||||||
select_options: Object
|
select_options: Array
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,11 +55,12 @@ li {
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this.type = "";
|
this.type = "";
|
||||||
|
this.select_options = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs)
|
protected find_select_options(_attrs)
|
||||||
{
|
{
|
||||||
let sel_options = find_select_options(this, _attrs['select_options'], _attrs);
|
let sel_options = find_select_options(this, _attrs['select_options']);
|
||||||
if(sel_options.length > 0)
|
if(sel_options.length > 0)
|
||||||
{
|
{
|
||||||
this.set_select_options(sel_options);
|
this.set_select_options(sel_options);
|
||||||
@ -128,24 +127,24 @@ li {
|
|||||||
fixed_options.push(<SelectOption>{value: key, label: new_options[key]});
|
fixed_options.push(<SelectOption>{value: key, label: new_options[key]});
|
||||||
}
|
}
|
||||||
console.warn(this.id + " passed a key => value map instead of array");
|
console.warn(this.id + " passed a key => value map instead of array");
|
||||||
this._options = fixed_options;
|
this.select_options = fixed_options;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._options = new_options;
|
this.select_options = new_options;
|
||||||
}
|
}
|
||||||
|
|
||||||
render()
|
render()
|
||||||
{
|
{
|
||||||
if(!this.value)
|
if(!this.value)
|
||||||
{
|
{
|
||||||
return this._readonlyRender({label: this.empty_text, value: ""});
|
return this._readonlyRender({label: this.empty_label, value: ""});
|
||||||
}
|
}
|
||||||
|
|
||||||
return html`
|
return html`
|
||||||
<ul>
|
<ul>
|
||||||
${repeat(this.value, (val : string) => val, (val) =>
|
${repeat(this.value, (val : string) => val, (val) =>
|
||||||
{
|
{
|
||||||
let option = this._options.find(option => option.value == val);
|
let option = this.select_options.find(option => option.value == val);
|
||||||
if(!option)
|
if(!option)
|
||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
@ -189,9 +188,6 @@ customElements.define("et2-select_ro", Et2SelectReadonly);
|
|||||||
|
|
||||||
export class Et2SelectAccountReadonly extends Et2SelectReadonly
|
export class Et2SelectAccountReadonly extends Et2SelectReadonly
|
||||||
{
|
{
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
|
||||||
|
|
||||||
set value(new_value)
|
set value(new_value)
|
||||||
{
|
{
|
||||||
if(!new_value)
|
if(!new_value)
|
||||||
@ -208,7 +204,7 @@ export class Et2SelectAccountReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
let account_name = null;
|
let account_name = null;
|
||||||
let option = <SelectOption>{value: id, label: id + " ..."};
|
let option = <SelectOption>{value: id, label: id + " ..."};
|
||||||
this._options.push(option);
|
this.select_options.push(option);
|
||||||
if(new_value && (account_name = this.egw().link_title('api-accounts', id)))
|
if(new_value && (account_name = this.egw().link_title('api-accounts', id)))
|
||||||
{
|
{
|
||||||
option.label = account_name;
|
option.label = account_name;
|
||||||
@ -241,7 +237,7 @@ export class Et2SelectAppReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.app(this, {other: this.other || []});
|
this.select_options = so.app(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -255,9 +251,9 @@ export class Et2SelectBitwiseReadonly extends Et2SelectReadonly
|
|||||||
render()
|
render()
|
||||||
{
|
{
|
||||||
let new_value = [];
|
let new_value = [];
|
||||||
for(let index in this._options)
|
for(let index in this.select_options)
|
||||||
{
|
{
|
||||||
let option = this._options[index];
|
let option = this.select_options[index];
|
||||||
let right = parseInt(option && option.value ? option.value : index);
|
let right = parseInt(option && option.value ? option.value : index);
|
||||||
if(!!(this.value & right))
|
if(!!(this.value & right))
|
||||||
{
|
{
|
||||||
@ -268,7 +264,7 @@ export class Et2SelectBitwiseReadonly extends Et2SelectReadonly
|
|||||||
<ul>
|
<ul>
|
||||||
${repeat(new_value, (val : string) => val, (val) =>
|
${repeat(new_value, (val : string) => val, (val) =>
|
||||||
{
|
{
|
||||||
let option = this._options.find(option => option.value == val);
|
let option = this.select_options.find(option => option.value == val);
|
||||||
if(!option)
|
if(!option)
|
||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
@ -287,7 +283,7 @@ export class Et2SelectBoolReadonly extends Et2SelectReadonly
|
|||||||
constructor()
|
constructor()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this._options = so.bool(this);
|
this.select_options = so.bool(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -302,7 +298,7 @@ export class Et2SelectCategoryReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.cat(this, {other: this.other || []});
|
this.select_options = so.cat(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -316,7 +312,7 @@ export class Et2SelectPercentReadonly extends Et2SelectReadonly
|
|||||||
constructor()
|
constructor()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this._options = so.percent(this, {});
|
this.select_options = so.percent(this, {});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -330,7 +326,7 @@ export class Et2SelectCountryReadonly extends Et2SelectReadonly
|
|||||||
constructor()
|
constructor()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this._options = so.country(this, {});
|
this.select_options = so.country(this, {});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -345,7 +341,7 @@ export class Et2SelectDayReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.day(this, {other: this.other || []});
|
this.select_options = so.day(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -360,7 +356,7 @@ export class Et2SelectDayOfWeekReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.dow(this, {other: this.other || []});
|
this.select_options = so.dow(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -375,7 +371,7 @@ export class Et2SelectHourReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.hour(this, {other: this.other || []});
|
this.select_options = so.hour(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -390,7 +386,7 @@ export class Et2SelectMonthReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.month(this);
|
this.select_options = so.month(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -405,7 +401,7 @@ export class Et2SelectNumberReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.number(this, {other: this.other || []});
|
this.select_options = so.number(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -419,7 +415,7 @@ export class Et2SelectPriorityReadonly extends Et2SelectReadonly
|
|||||||
constructor()
|
constructor()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this._options = so.priority(this);
|
this.select_options = so.priority(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -434,7 +430,7 @@ export class Et2SelectStateReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.state(this, {other: this.other || []});
|
this.select_options = so.state(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -449,7 +445,7 @@ export class Et2SelectTimezoneReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.timezone(this, {other: this.other || []});
|
this.select_options = so.timezone(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
@ -464,7 +460,7 @@ export class Et2SelectYearReadonly extends Et2SelectReadonly
|
|||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this._options = so.year(this, {other: this.other || []});
|
this.select_options = so.year(this, {other: this.other || []});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected find_select_options(_attrs) {}
|
protected find_select_options(_attrs) {}
|
||||||
|
@ -61,7 +61,7 @@ export class StaticOptions
|
|||||||
// Avoid errors if widget is destroyed before the timeout
|
// Avoid errors if widget is destroyed before the timeout
|
||||||
if(widget && typeof widget.id !== 'undefined')
|
if(widget && typeof widget.id !== 'undefined')
|
||||||
{
|
{
|
||||||
widget.set_select_options(find_select_options(widget, {}, widget.options));
|
widget.set_select_options(find_select_options(widget, {}, cache));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return [];
|
return [];
|
||||||
|
Loading…
Reference in New Issue
Block a user