目标组件的字段标识。
该字段标识用于在 HijackedComponent.infect 或 HijackedComponent.compose 方法中指定需要被改造的目标宜搭组件。
相对于当前日期的毫秒偏移量。
默认值为 0。正值表示向后偏移,负值表示向前偏移。
组件的选项列表。
每个选项包含 text(显示文本)与 value(实际值)两个字段,适用于
下拉框、单选框等宜搭组件。该列表通常由 HijackedComponent.main
方法计算得出,并通过 VirtualComponent.setOptions 注入到目标组件中。
时间语义化预设配置项。
该配置项在实例化时传入,供 HijackedComponent.main 方法使用, 用于控制学年、学期、周次等时间相关组件的计算基准。
组件的默认值。
该值通常由 HijackedComponent.main 方法计算得出,并通过 VirtualComponent.setDefaultValue 注入到目标组件中。
将当前组件与另一个组件进行组合,生成新的虚拟组件。
组合逻辑如下:
例如,若当前组件值为 "2023-2024学年",另一组件值为 "第一学期",
则组合后的值为 "2023-2024学年第一学期"。
另一个劫持组件实例。
组合后的虚拟组件实例。
将当前劫持组件转换为虚拟组件,并绑定到指定的目标字段。
该方法会创建一个 Infection.VirtualComponent 实例,并将当前组件的 值、选项与目标字段标识注入其中。返回的虚拟组件可进一步调用 VirtualComponent.setDefaultValue 与 VirtualComponent.setOptions 完成实际改造。
目标宜搭组件的字段标识,例如 "selectField_xxx"。
绑定后的虚拟组件实例。
受保护main受保护生成星期选项列表与默认值。
选项列表固定为 ["周一", "周二", ..., "周日"]。默认值通过
Utils.SchoolDays.benchmarkDateTime 加上 offset
后计算星期得出。
当前组件实例。
设置星期计算的日期偏移量。
传入值会被乘以 Utils.DateX.ONE_DAY 转换为毫秒偏移量。
例如 offset = -1 表示将计算基准向前推 1 天。
以天为单位的偏移量。
当前组件实例,支持链式调用。
静态of创建并初始化一个劫持组件实例。
工厂方法会创建子类实例,并将传入的预设配置合并到 HijackedComponent.preset 中,然后自动调用 HijackedComponent.main 完成初始化。
具体的劫持组件子类类型。
可选的时间语义化预设配置项,将传入组件实例供其主逻辑使用。
已完成初始化的组件实例。
星期选择组件。
该组件基于 Utils.SchoolDays 计算当前星期,并生成
["周一", "周二", ..., "周日"]的选项列表,默认值为当前星期。 可通过 offset 调整计算基准。添加于
26.7.1