Calendar: Improve videoconference link for recurring events to include recurrence date

This commit is contained in:
nathan 2023-06-29 07:55:10 -06:00
parent dfef4ce0c5
commit 08445f2857
2 changed files with 8 additions and 7 deletions

View File

@ -4519,7 +4519,7 @@ export class CalendarApp extends EgwApp
( typeof _data.start != "string" ? _data.start.toJSON() : _data.start).slice(0,-1),
( typeof _data.end != "string" ? _data.end.toJSON() : _data.end).slice(0,-1),
{
participants:Object.keys(_data.participants).filter(v => {return v.match(/^[0-9|e|c]/)})
participants: Object.keys(_data.participants ?? []).filter(v => {return v.match(/^[0-9|e|c]/)})
}], function(_value){
if (_value)
{

View File

@ -554,10 +554,11 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached
{
// Click handler is set in _bind_videoconference()
location += (this.options.value.location.trim() ? '<br />' : '') +
'<span data-videoconference="' + this.options.value['##videoconference'] +
'" data-id="' + this.options.value['id'] + '" data-title="' + this.options.value['title'] +
'" data-start="' + this.options.value['start'].toJSON() + '" data-end="' + this.options.value['end'].toJSON() + '">' +
this.egw().lang('Video conference') +
'<span data-videoconference="' + this.options.value['##videoconference'] +
'" data-id="' + this.options.value['id'] + '" data-app_id="' + this.options.value['app_id'] +
'" data-title="' + this.options.value['title'] +
'" data-start="' + this.options.value['start'].toJSON() + '" data-end="' + this.options.value['end'].toJSON() + '">' +
this.egw().lang('Video conference') +
'<img src="' + this.egw().image('videoconference', 'calendar') + '"/></span>';
this._bind_videoconference();
}
@ -726,8 +727,8 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached
jQuery('body').off(vc_event)
.on(vc_event, '[data-videoconference]', function (event)
{
let data = egw.dataGetUIDdata("calendar::" + this.dataset.id);
app.calendar.joinVideoConference(this.dataset.videoconference, data.data || this.dataset);
let data = egw.dataGetUIDdata("calendar::" + this.dataset.app_id);
app.calendar.joinVideoConference(this.dataset.videoconference, data?.data || this.dataset);
});
}