transitionSeoChecklistWorkflow function
SeoChecklistWorkflowState
transitionSeoChecklistWorkflow(
- SeoChecklistWorkflowState state,
- SeoChecklistWorkflowAction action
Implementation
SeoChecklistWorkflowState transitionSeoChecklistWorkflow(
SeoChecklistWorkflowState state,
SeoChecklistWorkflowAction action,
) {
if (!isSeoChecklistWorkflowActionEnabled(state, action)) return state;
return switch (action) {
SeoChecklistWorkflowSetItem(:final index, :final checked) =>
SeoChecklistWorkflowState(
checklist: transitionSeoApprovalChecklist(
state.checklist, SeoApprovalChecklistSetItem(index, checked)),
workflow: state.workflow,
),
SeoChecklistWorkflowAdvance(:final action) => SeoChecklistWorkflowState(
checklist: action is SeoEditorialWorkflowReject
? initialSeoApprovalChecklistState(
itemCount: state.checklist.checked.length)!
: state.checklist,
workflow: transitionSeoEditorialWorkflow(state.workflow, action),
),
};
}