fix: 解析 ICS 时缺失 UID 导致全部日程被同时选中
ical-io.js 中 UID 缺失时回退为空字符串, 导致所有事件共享 uid='', EventList 的 active 判断和 selectedEvent 的 find() 全部命中第一个事件。 改为缺失时调用 genUUID() 生成唯一 UID。
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import ICAL from 'ical.js'
|
import ICAL from 'ical.js'
|
||||||
import { pad2, parseISODate } from './date.js'
|
import { pad2, parseISODate } from './date.js'
|
||||||
|
import { genUUID } from './uuid.js'
|
||||||
|
|
||||||
// ------------------------------------------------------------------ //
|
// ------------------------------------------------------------------ //
|
||||||
// 时区注册 (ical.js 不内置 IANA 时区)
|
// 时区注册 (ical.js 不内置 IANA 时区)
|
||||||
@@ -77,7 +78,7 @@ function parseEvent(veventComp) {
|
|||||||
if (dtstamp) _raw.dtstamp = dtstamp.toICALString()
|
if (dtstamp) _raw.dtstamp = dtstamp.toICALString()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uid: veventComp.getFirstPropertyValue('uid') || '',
|
uid: veventComp.getFirstPropertyValue('uid') || genUUID(),
|
||||||
summary: veventComp.getFirstPropertyValue('summary') || '',
|
summary: veventComp.getFirstPropertyValue('summary') || '',
|
||||||
location: veventComp.getFirstPropertyValue('location') || '',
|
location: veventComp.getFirstPropertyValue('location') || '',
|
||||||
description: veventComp.getFirstPropertyValue('description') || '',
|
description: veventComp.getFirstPropertyValue('description') || '',
|
||||||
|
|||||||
Reference in New Issue
Block a user