-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[3523] Support rounding dates when changing dates from gantt #3617
Conversation
ae137e9
to
95e897d
Compare
packages/gantt/frontend/sirius-components-gantt/src/helper/helper.tsx
Outdated
Show resolved
Hide resolved
packages/gantt/frontend/sirius-components-gantt/src/helper/helper.tsx
Outdated
Show resolved
Hide resolved
packages/gantt/frontend/sirius-components-gantt/src/helper/helper.tsx
Outdated
Show resolved
Hide resolved
packages/gantt/frontend/sirius-components-gantt/src/helper/helper.tsx
Outdated
Show resolved
Hide resolved
packages/gantt/frontend/sirius-components-gantt/src/representation/Gantt.tsx
Outdated
Show resolved
Hide resolved
} | ||
}; | ||
|
||
export const checkIsHoliday = (date: Date, _, __, dateExtremity: DateExtremity) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is supposed to be the definition of a holiday? We have end users pretty much in every continent and people may not agree on your definition of holiday.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently, holiday is hard coded for Saturday and Sunday.
I have made some changes in gantt-task-react so that it would work fine if holiday is implemented differently by the client (sirius-web). But, the feature to delegate the holiday definition to the specifier is not done in sirius-web.
I will add a comment in in the code and anyway it will be indicated in the user doc
action: BarMoveAction, | ||
dateMoveStep: String | ||
): Date => { | ||
const regex = /^(\d+)([DHm])$/; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see how asking for any string on the backend and parsing that with a regex on the frontend provides an usable API. Don't use regex!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I needed a simple solution for this time frame.
The string is composed of an integer and a letter (corresponding to the time unit from ISO 8601).
It will be explained in the specifier documentation.
If the string does not follow the expected syntax, it will fall back to 1 day date rounding.
But I agree with you, we should ensure a good syntax on backend (rule at saving?, validation rule?) I did not think about this part.
On the other hand, I preferred a single field to avoid shattering information in the GanttDescription and the ideal solution of having a field (value + dimension) was an enhancement in and of itself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed the graphQL API two have a type GanttDateRounding
composed of an integer value and an enum
90448fd
to
9b76439
Compare
9b76439
to
9fca544
Compare
Bug: #3523 Signed-off-by: Laurent Fasani <[email protected]> Signed-off-by: Florian ROUËNÉ <[email protected]>
9fca544
to
99b21f5
Compare
Pull request template
General purpose
What is the main goal of this pull request?
Project management
priority:
andpr:
labels been added to the pull request? (In case of doubt, start with the labelspriority: low
andpr: to review later
)area:
,difficulty:
,type:
)CHANGELOG.adoc
been updated to reference the relevant issues?CHANGELOG.adoc
? (Including changes in the GraphQL API)CHANGELOG.adoc
? For example indoc/screenshots/2022.5.0-my-new-feature.png
Architectural decision records (ADR)
[doc]
?CHANGELOG.adoc
?Dependencies
CHANGELOG.adoc
?CHANGELOG.adoc
?Frontend
This section is not relevant if your contribution does not come with changes to the frontend.
General purpose
Typing
We need to improve the typing of our code, as such, we require every contribution to come with proper TypeScript typing for both changes contributing new files and those modifying existing files.
Please ensure that the following statements are true for each file created or modified (this may require you to improve code outside of your contribution).
useMutation<DATA_TYPE, VARIABLE_TYPE>(…)
useQuery<DATA_TYPE, VARIABLE_TYPE>(…)
useSubscription<DATA_TYPE, VARIABLE_TYPE>(…)
useMachine<CONTEXT_TYPE, EVENTS_TYPE>(…)
useState<STATE_TYPE>(…)
?.
(if the GraphQL API specifies that a field cannot benull
, do not treat it has potentiallynull
for example)let diagram: Diagram | null = null;
)Backend
This section is not relevant if your contribution does not come with changes to the backend.
General purpose
Architecture
Review
How to test this PR?
Please describe here the various use cases to test this pull request