mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-22 07:53:39 +01:00
Calendar: Even faster initial loading by not triggering the user list at all
This commit is contained in:
parent
ec6a3881e3
commit
a15a7dd6a8
@ -69,7 +69,7 @@ class calendar_owner_etemplate_widget extends Etemplate\Widget\Taglist
|
|||||||
continue; // ignore that resource, we would get a PHP Fatal: Unsupported operand types
|
continue; // ignore that resource, we would get a PHP Fatal: Unsupported operand types
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!in_array($owner, array_keys($accounts)))
|
else
|
||||||
{
|
{
|
||||||
$resource = array('app'=> 'api-accounts');
|
$resource = array('app'=> 'api-accounts');
|
||||||
}
|
}
|
||||||
|
@ -53,10 +53,6 @@ var et2_calendar_owner = /** @class */ (function (_super) {
|
|||||||
};
|
};
|
||||||
return _this;
|
return _this;
|
||||||
}
|
}
|
||||||
et2_calendar_owner.prototype.transformAttributes = function (_attrs) {
|
|
||||||
_super.prototype.transformAttributes.call(this, _attrs);
|
|
||||||
_attrs.select_options = this._get_accounts(_attrs.select_options);
|
|
||||||
};
|
|
||||||
et2_calendar_owner.prototype.doLoadingFinished = function () {
|
et2_calendar_owner.prototype.doLoadingFinished = function () {
|
||||||
_super.prototype.doLoadingFinished.call(this);
|
_super.prototype.doLoadingFinished.call(this);
|
||||||
var widget = this;
|
var widget = this;
|
||||||
@ -93,42 +89,6 @@ var et2_calendar_owner = /** @class */ (function (_super) {
|
|||||||
return null;
|
return null;
|
||||||
return this.taglist.getValue();
|
return this.taglist.getValue();
|
||||||
};
|
};
|
||||||
/**
|
|
||||||
* Get account info for select options from common client-side account cache
|
|
||||||
*
|
|
||||||
* @return {Array} select options
|
|
||||||
*/
|
|
||||||
et2_calendar_owner.prototype._get_accounts = function (select_options) {
|
|
||||||
if (!jQuery.isArray(select_options)) {
|
|
||||||
var options = jQuery.extend({}, select_options);
|
|
||||||
select_options = [];
|
|
||||||
for (var key in options) {
|
|
||||||
if (typeof options[key] == 'object') {
|
|
||||||
if (typeof (options[key].key) == 'undefined') {
|
|
||||||
options[key].value = key;
|
|
||||||
}
|
|
||||||
select_options.push(options[key]);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
select_options.push({ value: key, label: options[key] });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var type = this.egw().preference('account_selection', 'common');
|
|
||||||
var accounts = this.egw().accounts('accounts');
|
|
||||||
var _loop_1 = function (option) {
|
|
||||||
if (!select_options.find(function (element) { return element.value == option.value; })) {
|
|
||||||
option.app = this_1.egw().lang('api-accounts');
|
|
||||||
select_options.push(option);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var this_1 = this;
|
|
||||||
for (var _i = 0, accounts_1 = accounts; _i < accounts_1.length; _i++) {
|
|
||||||
var option = accounts_1[_i];
|
|
||||||
_loop_1(option);
|
|
||||||
}
|
|
||||||
return select_options;
|
|
||||||
};
|
|
||||||
/**
|
/**
|
||||||
* Override parent to handle our special additional data types (c#,r#,etc.) when they
|
* Override parent to handle our special additional data types (c#,r#,etc.) when they
|
||||||
* are not available client side.
|
* are not available client side.
|
||||||
|
@ -64,14 +64,6 @@ export class et2_calendar_owner extends et2_taglist_email
|
|||||||
toggleOnClick: true
|
toggleOnClick: true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
transformAttributes( _attrs)
|
|
||||||
{
|
|
||||||
super.transformAttributes(_attrs);
|
|
||||||
_attrs.select_options = this._get_accounts(_attrs.select_options);
|
|
||||||
}
|
|
||||||
|
|
||||||
doLoadingFinished()
|
doLoadingFinished()
|
||||||
{
|
{
|
||||||
super.doLoadingFinished();
|
super.doLoadingFinished();
|
||||||
@ -115,47 +107,6 @@ export class et2_calendar_owner extends et2_taglist_email
|
|||||||
return this.taglist.getValue();
|
return this.taglist.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get account info for select options from common client-side account cache
|
|
||||||
*
|
|
||||||
* @return {Array} select options
|
|
||||||
*/
|
|
||||||
_get_accounts(select_options)
|
|
||||||
{
|
|
||||||
if (!jQuery.isArray(select_options))
|
|
||||||
{
|
|
||||||
var options = jQuery.extend({}, select_options);
|
|
||||||
select_options = [];
|
|
||||||
for(var key in options)
|
|
||||||
{
|
|
||||||
if (typeof options[key] == 'object')
|
|
||||||
{
|
|
||||||
if (typeof(options[key].key) == 'undefined')
|
|
||||||
{
|
|
||||||
options[key].value = key;
|
|
||||||
}
|
|
||||||
select_options.push(options[key]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
select_options.push({value: key, label: options[key]});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var type = this.egw().preference('account_selection', 'common');
|
|
||||||
var accounts = this.egw().accounts('accounts');
|
|
||||||
for(const option of accounts)
|
|
||||||
{
|
|
||||||
if(!select_options.find(element => element.value == option.value))
|
|
||||||
{
|
|
||||||
option.app = this.egw().lang('api-accounts');
|
|
||||||
select_options.push(option);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return select_options
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Override parent to handle our special additional data types (c#,r#,etc.) when they
|
* Override parent to handle our special additional data types (c#,r#,etc.) when they
|
||||||
* are not available client side.
|
* are not available client side.
|
||||||
|
Loading…
Reference in New Issue
Block a user