mirror of
https://github.com/langgenius/dify.git
synced 2026-04-16 02:16:57 +08:00
feat: schedule trigger default daily midnight (#25937)
This commit is contained in:
parent
63d26f0478
commit
59f56d8c94
@ -38,7 +38,7 @@ class VisualConfig(BaseModel):
|
||||
on_minute: Optional[int] = Field(default=0, ge=0, le=59, description="Minute of the hour (0-59)")
|
||||
|
||||
# For daily, weekly, monthly frequencies
|
||||
time: Optional[str] = Field(default="12:00 PM", description="Time in 12-hour format (e.g., '2:30 PM')")
|
||||
time: Optional[str] = Field(default="12:00 AM", description="Time in 12-hour format (e.g., '2:30 PM')")
|
||||
|
||||
# For weekly frequency
|
||||
weekdays: Optional[list[Literal["sun", "mon", "tue", "wed", "thu", "fri", "sat"]]] = Field(
|
||||
|
||||
@ -46,8 +46,8 @@ class TriggerScheduleNode(BaseNode):
|
||||
"type": "trigger-schedule",
|
||||
"config": {
|
||||
"mode": "visual",
|
||||
"frequency": "weekly",
|
||||
"visual_config": {"time": "11:30 AM", "on_minute": 0, "weekdays": ["sun"], "monthly_days": [1]},
|
||||
"frequency": "daily",
|
||||
"visual_config": {"time": "12:00 AM", "on_minute": 0, "weekdays": ["sun"], "monthly_days": [1]},
|
||||
"timezone": "UTC",
|
||||
},
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ describe('Schedule Trigger Node Default', () => {
|
||||
describe('Basic Configuration', () => {
|
||||
it('should have correct default value', () => {
|
||||
expect(nodeDefault.defaultValue.mode).toBe('visual')
|
||||
expect(nodeDefault.defaultValue.frequency).toBe('weekly')
|
||||
expect(nodeDefault.defaultValue.frequency).toBe('daily')
|
||||
})
|
||||
|
||||
it('should have empty prev nodes', () => {
|
||||
|
||||
@ -2,9 +2,9 @@ import type { ScheduleTriggerNodeType } from './types'
|
||||
|
||||
export const getDefaultScheduleConfig = (): Partial<ScheduleTriggerNodeType> => ({
|
||||
mode: 'visual',
|
||||
frequency: 'weekly',
|
||||
frequency: 'daily',
|
||||
visual_config: {
|
||||
time: '11:30 AM',
|
||||
time: '12:00 AM',
|
||||
weekdays: ['sun'],
|
||||
on_minute: 0,
|
||||
monthly_days: [1],
|
||||
@ -12,7 +12,7 @@ export const getDefaultScheduleConfig = (): Partial<ScheduleTriggerNodeType> =>
|
||||
})
|
||||
|
||||
export const getDefaultVisualConfig = () => ({
|
||||
time: '11:30 AM',
|
||||
time: '12:00 AM',
|
||||
weekdays: ['sun'],
|
||||
on_minute: 0,
|
||||
monthly_days: [1],
|
||||
|
||||
@ -55,7 +55,7 @@ const Panel: FC<NodePanelProps<ScheduleTriggerNodeType>> = ({
|
||||
{t('workflow.nodes.triggerSchedule.frequencyLabel')}
|
||||
</label>
|
||||
<FrequencySelector
|
||||
frequency={inputs.frequency}
|
||||
frequency={inputs.frequency || 'daily'}
|
||||
onChange={handleFrequencyChange}
|
||||
/>
|
||||
</div>
|
||||
@ -75,7 +75,7 @@ const Panel: FC<NodePanelProps<ScheduleTriggerNodeType>> = ({
|
||||
timezone={inputs.timezone}
|
||||
value={inputs.visual_config?.time
|
||||
? dayjs(`1/1/2000 ${inputs.visual_config.time}`)
|
||||
: dayjs('1/1/2000 11:30 AM')
|
||||
: dayjs('1/1/2000 12:00 AM')
|
||||
}
|
||||
onChange={(time) => {
|
||||
if (time) {
|
||||
@ -84,7 +84,7 @@ const Panel: FC<NodePanelProps<ScheduleTriggerNodeType>> = ({
|
||||
}
|
||||
}}
|
||||
onClear={() => {
|
||||
handleTimeChange('11:30 AM')
|
||||
handleTimeChange('12:00 AM')
|
||||
}}
|
||||
placeholder={t('workflow.nodes.triggerSchedule.selectTime')}
|
||||
/>
|
||||
|
||||
@ -14,7 +14,7 @@ const useConfig = (id: string, payload: ScheduleTriggerNodeType) => {
|
||||
return {
|
||||
...payload,
|
||||
mode: payload.mode || 'visual',
|
||||
frequency: payload.frequency || 'weekly',
|
||||
frequency: payload.frequency || 'daily',
|
||||
timezone: userProfile.timezone || 'UTC',
|
||||
visual_config: {
|
||||
...getDefaultVisualConfig(),
|
||||
|
||||
@ -48,7 +48,7 @@ export const getNextExecutionTimes = (data: ScheduleTriggerNodeType, count: numb
|
||||
}
|
||||
|
||||
const times: Date[] = []
|
||||
const defaultTime = data.visual_config?.time || '11:30 AM'
|
||||
const defaultTime = data.visual_config?.time || '12:00 AM'
|
||||
|
||||
// Get "today" in user's timezone for display purposes
|
||||
const now = new Date()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user