|
1 | 1 | import type { Moment } from 'moment'; |
| 2 | + |
| 3 | +import type { TaskLayoutComponent } from '../Layout/TaskLayoutOptions'; |
2 | 4 | import { PriorityTools } from '../lib/PriorityTools'; |
3 | 5 | import type { Task } from '../Task/Task'; |
4 | | -import type { TaskLayoutComponent } from '../Layout/TaskLayout'; |
5 | 6 |
|
6 | 7 | export class TaskFieldRenderer { |
7 | 8 | private readonly data = taskFieldHTMLData; |
@@ -139,43 +140,34 @@ export class TaskFieldHTMLData { |
139 | 140 | } |
140 | 141 | } |
141 | 142 |
|
142 | | -const taskFieldHTMLData: { [c in TaskLayoutComponent]: TaskFieldHTMLData } = { |
143 | | - // NEW_TASK_FIELD_EDIT_REQUIRED |
144 | | - createdDate: new TaskFieldHTMLData('task-created', 'taskCreated', TaskFieldHTMLData.dateAttributeCalculator), |
145 | | - dueDate: new TaskFieldHTMLData('task-due', 'taskDue', TaskFieldHTMLData.dateAttributeCalculator), |
146 | | - startDate: new TaskFieldHTMLData('task-start', 'taskStart', TaskFieldHTMLData.dateAttributeCalculator), |
147 | | - scheduledDate: new TaskFieldHTMLData('task-scheduled', 'taskScheduled', TaskFieldHTMLData.dateAttributeCalculator), |
148 | | - doneDate: new TaskFieldHTMLData('task-done', 'taskDone', TaskFieldHTMLData.dateAttributeCalculator), |
149 | | - cancelledDate: new TaskFieldHTMLData('task-cancelled', 'taskCancelled', TaskFieldHTMLData.dateAttributeCalculator), |
150 | | - |
151 | | - description: new TaskFieldHTMLData( |
152 | | - 'task-description', |
153 | | - TaskFieldHTMLData.noAttributeName, |
154 | | - TaskFieldHTMLData.noAttributeValueCalculator, |
155 | | - ), |
156 | | - recurrenceRule: new TaskFieldHTMLData( |
157 | | - 'task-recurring', |
| 143 | +function createFieldWithoutDataAttributes(className: string) { |
| 144 | + return new TaskFieldHTMLData( |
| 145 | + className, |
158 | 146 | TaskFieldHTMLData.noAttributeName, |
159 | 147 | TaskFieldHTMLData.noAttributeValueCalculator, |
160 | | - ), |
| 148 | + ); |
| 149 | +} |
| 150 | + |
| 151 | +function createDateField(className: string, attributeName: string) { |
| 152 | + return new TaskFieldHTMLData(className, attributeName, TaskFieldHTMLData.dateAttributeCalculator); |
| 153 | +} |
| 154 | + |
| 155 | +const taskFieldHTMLData: { [c in TaskLayoutComponent]: TaskFieldHTMLData } = { |
| 156 | + // NEW_TASK_FIELD_EDIT_REQUIRED |
| 157 | + createdDate: createDateField('task-created', 'taskCreated'), |
| 158 | + dueDate: createDateField('task-due', 'taskDue'), |
| 159 | + startDate: createDateField('task-start', 'taskStart'), |
| 160 | + scheduledDate: createDateField('task-scheduled', 'taskScheduled'), |
| 161 | + doneDate: createDateField('task-done', 'taskDone'), |
| 162 | + cancelledDate: createDateField('task-cancelled', 'taskCancelled'), |
161 | 163 |
|
162 | 164 | priority: new TaskFieldHTMLData('task-priority', 'taskPriority', (_component, task) => { |
163 | 165 | return PriorityTools.priorityNameUsingNormal(task.priority).toLocaleLowerCase(); |
164 | 166 | }), |
165 | 167 |
|
166 | | - blockedBy: new TaskFieldHTMLData( |
167 | | - 'task-blockedBy', |
168 | | - TaskFieldHTMLData.noAttributeName, |
169 | | - TaskFieldHTMLData.noAttributeValueCalculator, |
170 | | - ), |
171 | | - id: new TaskFieldHTMLData( |
172 | | - 'task-id', |
173 | | - TaskFieldHTMLData.noAttributeName, |
174 | | - TaskFieldHTMLData.noAttributeValueCalculator, |
175 | | - ), |
176 | | - blockLink: new TaskFieldHTMLData( |
177 | | - 'task-block-link', |
178 | | - TaskFieldHTMLData.noAttributeName, |
179 | | - TaskFieldHTMLData.noAttributeValueCalculator, |
180 | | - ), |
| 168 | + description: createFieldWithoutDataAttributes('task-description'), |
| 169 | + recurrenceRule: createFieldWithoutDataAttributes('task-recurring'), |
| 170 | + blockedBy: createFieldWithoutDataAttributes('task-blockedBy'), |
| 171 | + id: createFieldWithoutDataAttributes('task-id'), |
| 172 | + blockLink: createFieldWithoutDataAttributes('task-block-link'), |
181 | 173 | }; |
0 commit comments