From 2f1e5dc169d7c522716089af9841bec3374bbff8 Mon Sep 17 00:00:00 2001 From: good-jinu Date: Thu, 2 Jan 2025 15:01:19 +0900 Subject: [PATCH 1/2] fix: set 'YYYY-MM-DD' as gantt default date format for #5862 --- .../mermaid/src/diagrams/gantt/ganttDb.js | 4 ++-- .../src/diagrams/gantt/ganttDb.spec.ts | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/diagrams/gantt/ganttDb.js b/packages/mermaid/src/diagrams/gantt/ganttDb.js index 15c7fab979..187c6cf9ba 100644 --- a/packages/mermaid/src/diagrams/gantt/ganttDb.js +++ b/packages/mermaid/src/diagrams/gantt/ganttDb.js @@ -22,7 +22,7 @@ dayjs.extend(dayjsCustomParseFormat); dayjs.extend(dayjsAdvancedFormat); const WEEKEND_START_DAY = { friday: 5, saturday: 6 }; -let dateFormat = ''; +let dateFormat = 'YYYY-MM-DD'; let axisFormat = ''; let tickInterval = undefined; let todayMarker = ''; @@ -52,7 +52,7 @@ export const clear = function () { lastTask = undefined; lastTaskID = undefined; rawTasks = []; - dateFormat = ''; + dateFormat = 'YYYY-MM-DD'; axisFormat = ''; displayMode = ''; tickInterval = undefined; diff --git a/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts b/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts index 6f2c8c1afe..22ffe66a72 100644 --- a/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts +++ b/packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts @@ -48,7 +48,7 @@ describe('when using the ganttDb', function () { ${'getTasks'} | ${[]} ${'getAccTitle'} | ${''} ${'getAccDescription'} | ${''} - ${'getDateFormat'} | ${''} + ${'getDateFormat'} | ${'YYYY-MM-DD'} ${'getAxisFormat'} | ${''} ${'getTodayMarker'} | ${''} ${'getExcludes'} | ${[]} @@ -505,4 +505,21 @@ describe('when using the ganttDb', function () { ganttDb.addTask('test1', 'id1,202304,1d'); expect(() => ganttDb.getTasks()).toThrowError('Invalid date:202304'); }); + + it('should parse date with default format YYYY-MM-DD', function () { + ganttDb.addTask('test1', 'id1,2025-01-01,2025-01-14'); + ganttDb.addTask('test2', 'id2,after id1,2025-01-18'); + + const tasks = ganttDb.getTasks(); + + expect(tasks[0].startTime).toEqual(new Date(2025, 0, 1)); + expect(tasks[0].endTime).toEqual(new Date(2025, 0, 14)); + expect(tasks[0].id).toEqual('id1'); + expect(tasks[0].task).toEqual('test1'); + + expect(tasks[1].startTime).toEqual(new Date(2025, 0, 14)); + expect(tasks[1].endTime).toEqual(new Date(2025, 0, 18)); + expect(tasks[1].id).toEqual('id2'); + expect(tasks[1].task).toEqual('test2'); + }); }); From a8dfc66087644a9218ab1d4967adab869ee36068 Mon Sep 17 00:00:00 2001 From: good-jinu Date: Fri, 3 Jan 2025 21:52:38 +0900 Subject: [PATCH 2/2] Run pnpm changeset --- .changeset/perfect-jars-provide.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/perfect-jars-provide.md diff --git a/.changeset/perfect-jars-provide.md b/.changeset/perfect-jars-provide.md new file mode 100644 index 0000000000..33740f088e --- /dev/null +++ b/.changeset/perfect-jars-provide.md @@ -0,0 +1,5 @@ +--- +'mermaid': patch +--- + +fix: Set 'YYYY-MM-DD' as gantt default date format