From 02012fff05982643b14d39fb01de0c6507a25a5b Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Thu, 16 Jan 2025 11:51:26 +0530 Subject: [PATCH 01/11] fix: minor ui issues --- src/bar.js | 4 ++-- src/index.js | 13 +++++-------- src/styles/gantt.css | 10 +++------- src/styles/light.css | 2 +- 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/bar.js b/src/bar.js index 2ff5c45..490b165 100644 --- a/src/bar.js +++ b/src/bar.js @@ -153,8 +153,8 @@ export default class Bar { y: this.y, width: this.progress_width, height: this.height, - rx: this.corner_radius, - ry: this.corner_radius, + rx: this.corner_radius + 2, + ry: this.corner_radius + 2, class: 'bar-progress', append_to: this.bar_group, }); diff --git a/src/index.js b/src/index.js index 93524b6..2f92243 100644 --- a/src/index.js +++ b/src/index.js @@ -228,9 +228,9 @@ export default class Gantt { if (typeof mode === 'string') { mode = this.options.view_modes.find((d) => d.name === mode); } - let old_date, old_scroll_op; + let old_pos, old_scroll_op; if (maintain_pos) { - old_date = this.current_date; + old_pos = this.$container.scrollLeft; old_scroll_op = this.options.scroll_to; this.options.scroll_to = null; } @@ -240,11 +240,8 @@ export default class Gantt { this.setup_dates(maintain_pos); this.render(); if (maintain_pos) { + this.$container.scrollLeft =old_pos; this.options.scroll_to = old_scroll_op; - this.$container.scrollLeft = - (date_utils.diff(old_date, this.gantt_start, this.config.unit) / - this.config.step) * - this.config.column_width; } this.trigger_event('view_change', [mode]); } @@ -1024,9 +1021,9 @@ export default class Gantt { bind_grid_click() { $.on( - this.$svg, + this.$container, 'click', - '.grid-row, .grid-header, .ignored-bar', + '.grid-row, .grid-header, .ignored-bar, .holiday-highlight', () => { this.unselect_all(); this.hide_popup(); diff --git a/src/styles/gantt.css b/src/styles/gantt.css index bddfc47..419d6f8 100644 --- a/src/styles/gantt.css +++ b/src/styles/gantt.css @@ -274,6 +274,7 @@ & .bar-progress { fill: var(--g-progress-color); + border-radius: 4px; } & .bar-expected-progress { @@ -320,16 +321,11 @@ } & .bar-wrapper { - cursor: pointer; + cursor: pointer; & .bar { - -webkit-filter: drop-shadow(1px 1px 2px rgba(15, 15, 15, 0.2)); - filter: drop-shadow(1px 1px 2px rgba(15, 15, 15, 0.2)); - border-radius: 3px; - } - - & .bar.safari { outline: 1px solid black; + border-radius: 3px; } &:hover { diff --git a/src/styles/light.css b/src/styles/light.css index a17c74c..1b3d7c8 100644 --- a/src/styles/light.css +++ b/src/styles/light.css @@ -9,7 +9,7 @@ --g-text-muted: #7c7c7c; --g-text-light: #fff; --g-text-dark: #171717; - --g-progress-color: #f3f3f3; + --g-progress-color: #dbdbdb; --g-handle-color: #37352f; --g-weekend-label-color: #dcdce4; --g-expected-progress: #c4c4e9; From 2850787e72bac723c915fa955a351affb90d10df Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Thu, 16 Jan 2025 11:55:20 +0530 Subject: [PATCH 02/11] chore: bump version --- package.json | 2 +- src/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e6511d8..92d36ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "frappe-gantt", - "version": "1.0.0", + "version": "1.0.1", "description": "A simple, modern, interactive gantt library for the web", "main": "src/index.js", "type": "module", diff --git a/src/index.js b/src/index.js index 2f92243..088c29d 100644 --- a/src/index.js +++ b/src/index.js @@ -240,7 +240,7 @@ export default class Gantt { this.setup_dates(maintain_pos); this.render(); if (maintain_pos) { - this.$container.scrollLeft =old_pos; + this.$container.scrollLeft = old_pos; this.options.scroll_to = old_scroll_op; } this.trigger_event('view_change', [mode]); From 6a34a20e1512e99e62dc5a5f55bedd8cda5efc87 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Thu, 16 Jan 2025 12:06:35 +0530 Subject: [PATCH 03/11] fix: update arrow color --- package.json | 2 +- src/styles/light.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 92d36ad..1fa9e5c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "frappe-gantt", - "version": "1.0.1", + "version": "1.0.2", "description": "A simple, modern, interactive gantt library for the web", "main": "src/index.js", "type": "module", diff --git a/src/styles/light.css b/src/styles/light.css index 1b3d7c8..daa4ec1 100644 --- a/src/styles/light.css +++ b/src/styles/light.css @@ -1,5 +1,5 @@ :root { - --g-arrow-color: #d7b15b; + --g-arrow-color: #575654; --g-bar-color: #fff; --g-bar-border: #fff; --g-tick-color-thick: #e0e0e0; From 1a09a38a6e3c1d2da725cd59b95ab6c8e0eb2d93 Mon Sep 17 00:00:00 2001 From: Praveen Date: Tue, 14 Jan 2025 10:48:53 +0530 Subject: [PATCH 04/11] fix: on calling update_task, start and end date not being updated --- src/bar.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bar.js b/src/bar.js index 490b165..7f68f4a 100644 --- a/src/bar.js +++ b/src/bar.js @@ -51,6 +51,8 @@ export default class Bar { this.invalid = this.task.invalid; this.height = this.gantt.options.bar_height; this.image_size = this.height - 5; + this.task._start = new Date(this.task.start); + this.task._end = new Date(this.task.end); this.compute_x(); this.compute_y(); this.compute_duration(); From 41838a913c7701dc8d079064f6e8d9a2670dc005 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Mon, 20 Jan 2025 11:53:27 +0530 Subject: [PATCH 05/11] fix: update styling --- src/styles/gantt.css | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/styles/gantt.css b/src/styles/gantt.css index 419d6f8..088fab7 100644 --- a/src/styles/gantt.css +++ b/src/styles/gantt.css @@ -114,13 +114,13 @@ & .current-upper { position: sticky; left: 0 !important; - padding: 0 calc(var(--gv-lower-header-height) * 0.33); + padding: 0 15px; background: white; } & .side-header { position: sticky; - top: 5px; + top: 0; right: 0; float: right; @@ -129,8 +129,8 @@ font-weight: 400; width: max-content; margin-left: auto; - padding-right: 5px; - padding-top: 5px; + padding-right: 15px; + padding-top: 10px; background: var(--g-header-background); } @@ -144,14 +144,14 @@ height: 1.75rem; border-radius: 0.5rem; border: none; - padding: 0 0.5rem; + padding: 5px 8px; color: var(--g-text-dark); position: sticky; - margin: 5px; font-size: 14px; - line-height: 1.15; letter-spacing: 0.02em; font-weight: 420; + height: 20px; + box-sizing: content-box; &:last-child { margin-right: 0; From d53266f96cf5dfa7b33d14314e02c1788e2fb2b2 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Mon, 20 Jan 2025 12:03:03 +0530 Subject: [PATCH 06/11] fix: dropdown styles --- src/styles/gantt.css | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/styles/gantt.css b/src/styles/gantt.css index 088fab7..e5ba2a1 100644 --- a/src/styles/gantt.css +++ b/src/styles/gantt.css @@ -141,7 +141,6 @@ background-color: var(--g-actions-background); text-align: -webkit-center; text-align: center; - height: 1.75rem; border-radius: 0.5rem; border: none; padding: 5px 8px; @@ -153,6 +152,8 @@ height: 20px; box-sizing: content-box; + margin-right: 5px; + &:last-child { margin-right: 0; } @@ -163,9 +164,9 @@ } & .side-header select { - padding: 0; - padding-right: 1rem; - width: 85px; + padding-right: 1.25rem; + width: 50px; + padding-left: 4px; } & .date-range-highlight { From 3bcaf720272925065f16cdb22e87d76473af881a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 04:52:06 +0000 Subject: [PATCH 07/11] chore(deps-dev): bump vite from 5.4.11 to 5.4.12 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.11 to 5.4.12. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 183 ++++++++++++++++++++++++++----------------------- 1 file changed, 96 insertions(+), 87 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6db895f..b5cb904 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,13 +19,13 @@ importers: version: 2.7.0(prettier@3.2.5) postcss-nesting: specifier: ^12.1.2 - version: 12.1.5(postcss@8.4.49) + version: 12.1.5(postcss@8.5.1) prettier: specifier: 3.2.5 version: 3.2.5 vite: specifier: ^5.2.10 - version: 5.4.11(@types/node@22.10.1) + version: 5.4.12(@types/node@22.10.1) packages: @@ -233,93 +233,98 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} - '@rollup/rollup-android-arm-eabi@4.27.4': - resolution: {integrity: sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==} + '@rollup/rollup-android-arm-eabi@4.31.0': + resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.27.4': - resolution: {integrity: sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==} + '@rollup/rollup-android-arm64@4.31.0': + resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.27.4': - resolution: {integrity: sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==} + '@rollup/rollup-darwin-arm64@4.31.0': + resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.27.4': - resolution: {integrity: sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==} + '@rollup/rollup-darwin-x64@4.31.0': + resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.27.4': - resolution: {integrity: sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==} + '@rollup/rollup-freebsd-arm64@4.31.0': + resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.27.4': - resolution: {integrity: sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==} + '@rollup/rollup-freebsd-x64@4.31.0': + resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.27.4': - resolution: {integrity: sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==} + '@rollup/rollup-linux-arm-gnueabihf@4.31.0': + resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.27.4': - resolution: {integrity: sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==} + '@rollup/rollup-linux-arm-musleabihf@4.31.0': + resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.27.4': - resolution: {integrity: sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==} + '@rollup/rollup-linux-arm64-gnu@4.31.0': + resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.27.4': - resolution: {integrity: sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==} + '@rollup/rollup-linux-arm64-musl@4.31.0': + resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': - resolution: {integrity: sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==} + '@rollup/rollup-linux-loongarch64-gnu@4.31.0': + resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.31.0': + resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.27.4': - resolution: {integrity: sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==} + '@rollup/rollup-linux-riscv64-gnu@4.31.0': + resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.27.4': - resolution: {integrity: sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==} + '@rollup/rollup-linux-s390x-gnu@4.31.0': + resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.27.4': - resolution: {integrity: sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==} + '@rollup/rollup-linux-x64-gnu@4.31.0': + resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.27.4': - resolution: {integrity: sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==} + '@rollup/rollup-linux-x64-musl@4.31.0': + resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.27.4': - resolution: {integrity: sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==} + '@rollup/rollup-win32-arm64-msvc@4.31.0': + resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.27.4': - resolution: {integrity: sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==} + '@rollup/rollup-win32-ia32-msvc@4.31.0': + resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.27.4': - resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==} + '@rollup/rollup-win32-x64-msvc@4.31.0': + resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==} cpu: [x64] os: [win32] @@ -612,8 +617,8 @@ packages: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} - postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + postcss@8.5.1: + resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -633,8 +638,8 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - rollup@4.27.4: - resolution: {integrity: sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==} + rollup@4.31.0: + resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -671,8 +676,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} + vite@5.4.12: + resolution: {integrity: sha512-KwUaKB27TvWwDJr1GjjWthLMATbGEbeWYZIbGZ5qFIsgPP3vWzLu4cVooqhm5/Z2SPDUMjyPVjTztm5tYKwQxA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -846,58 +851,61 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@rollup/rollup-android-arm-eabi@4.27.4': + '@rollup/rollup-android-arm-eabi@4.31.0': optional: true - '@rollup/rollup-android-arm64@4.27.4': + '@rollup/rollup-android-arm64@4.31.0': optional: true - '@rollup/rollup-darwin-arm64@4.27.4': + '@rollup/rollup-darwin-arm64@4.31.0': optional: true - '@rollup/rollup-darwin-x64@4.27.4': + '@rollup/rollup-darwin-x64@4.31.0': optional: true - '@rollup/rollup-freebsd-arm64@4.27.4': + '@rollup/rollup-freebsd-arm64@4.31.0': optional: true - '@rollup/rollup-freebsd-x64@4.27.4': + '@rollup/rollup-freebsd-x64@4.31.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.27.4': + '@rollup/rollup-linux-arm-gnueabihf@4.31.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.27.4': + '@rollup/rollup-linux-arm-musleabihf@4.31.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.27.4': + '@rollup/rollup-linux-arm64-gnu@4.31.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.27.4': + '@rollup/rollup-linux-arm64-musl@4.31.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': + '@rollup/rollup-linux-loongarch64-gnu@4.31.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.27.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.31.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.27.4': + '@rollup/rollup-linux-riscv64-gnu@4.31.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.27.4': + '@rollup/rollup-linux-s390x-gnu@4.31.0': optional: true - '@rollup/rollup-linux-x64-musl@4.27.4': + '@rollup/rollup-linux-x64-gnu@4.31.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.27.4': + '@rollup/rollup-linux-x64-musl@4.31.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.27.4': + '@rollup/rollup-win32-arm64-msvc@4.31.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.27.4': + '@rollup/rollup-win32-ia32-msvc@4.31.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.31.0': optional: true '@types/estree@1.0.6': {} @@ -1187,11 +1195,11 @@ snapshots: picocolors@1.1.1: {} - postcss-nesting@12.1.5(postcss@8.4.49): + postcss-nesting@12.1.5(postcss@8.5.1): dependencies: '@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.1.2) '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.2) - postcss: 8.4.49 + postcss: 8.5.1 postcss-selector-parser: 6.1.2 postcss-selector-parser@6.1.2: @@ -1199,7 +1207,7 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.4.49: + postcss@8.5.1: dependencies: nanoid: 3.3.8 picocolors: 1.1.1 @@ -1213,28 +1221,29 @@ snapshots: resolve-from@4.0.0: {} - rollup@4.27.4: + rollup@4.31.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.27.4 - '@rollup/rollup-android-arm64': 4.27.4 - '@rollup/rollup-darwin-arm64': 4.27.4 - '@rollup/rollup-darwin-x64': 4.27.4 - '@rollup/rollup-freebsd-arm64': 4.27.4 - '@rollup/rollup-freebsd-x64': 4.27.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.27.4 - '@rollup/rollup-linux-arm-musleabihf': 4.27.4 - '@rollup/rollup-linux-arm64-gnu': 4.27.4 - '@rollup/rollup-linux-arm64-musl': 4.27.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.27.4 - '@rollup/rollup-linux-riscv64-gnu': 4.27.4 - '@rollup/rollup-linux-s390x-gnu': 4.27.4 - '@rollup/rollup-linux-x64-gnu': 4.27.4 - '@rollup/rollup-linux-x64-musl': 4.27.4 - '@rollup/rollup-win32-arm64-msvc': 4.27.4 - '@rollup/rollup-win32-ia32-msvc': 4.27.4 - '@rollup/rollup-win32-x64-msvc': 4.27.4 + '@rollup/rollup-android-arm-eabi': 4.31.0 + '@rollup/rollup-android-arm64': 4.31.0 + '@rollup/rollup-darwin-arm64': 4.31.0 + '@rollup/rollup-darwin-x64': 4.31.0 + '@rollup/rollup-freebsd-arm64': 4.31.0 + '@rollup/rollup-freebsd-x64': 4.31.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.31.0 + '@rollup/rollup-linux-arm-musleabihf': 4.31.0 + '@rollup/rollup-linux-arm64-gnu': 4.31.0 + '@rollup/rollup-linux-arm64-musl': 4.31.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.31.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0 + '@rollup/rollup-linux-riscv64-gnu': 4.31.0 + '@rollup/rollup-linux-s390x-gnu': 4.31.0 + '@rollup/rollup-linux-x64-gnu': 4.31.0 + '@rollup/rollup-linux-x64-musl': 4.31.0 + '@rollup/rollup-win32-arm64-msvc': 4.31.0 + '@rollup/rollup-win32-ia32-msvc': 4.31.0 + '@rollup/rollup-win32-x64-msvc': 4.31.0 fsevents: 2.3.3 shebang-command@2.0.0: @@ -1264,11 +1273,11 @@ snapshots: util-deprecate@1.0.2: {} - vite@5.4.11(@types/node@22.10.1): + vite@5.4.12(@types/node@22.10.1): dependencies: esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.27.4 + postcss: 8.5.1 + rollup: 4.31.0 optionalDependencies: '@types/node': 22.10.1 fsevents: 2.3.3 From 4d297bb7f82d5a2277730658b5ec08c4713c2234 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Wed, 22 Jan 2025 13:01:26 +0530 Subject: [PATCH 08/11] fix: improved ui --- src/index.js | 4 ++-- src/styles/gantt.css | 11 ++++++----- src/styles/light.css | 7 ++++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/index.js b/src/index.js index 2f92243..6602861 100644 --- a/src/index.js +++ b/src/index.js @@ -240,7 +240,7 @@ export default class Gantt { this.setup_dates(maintain_pos); this.render(); if (maintain_pos) { - this.$container.scrollLeft =old_pos; + this.$container.scrollLeft = old_pos; this.options.scroll_to = old_scroll_op; } this.trigger_event('view_change', [mode]); @@ -846,7 +846,7 @@ export default class Gantt { last_date, this.options.language, ), - upper_y: 15, + upper_y: 17, lower_y: this.options.upper_header_height + 5, }; } diff --git a/src/styles/gantt.css b/src/styles/gantt.css index e5ba2a1..5d5da89 100644 --- a/src/styles/gantt.css +++ b/src/styles/gantt.css @@ -75,6 +75,7 @@ position: sticky; top: 0; left: 0; + border-bottom: 1px solid var(--g-row-border-color); z-index: 1000; } @@ -106,7 +107,7 @@ position: absolute; width: fit-content; font-weight: 500; - font-size: 16px; + font-size: 14px; color: var(--g-text-dark); height: calc(var(--gv-lower-header-height) * 0.66); } @@ -114,7 +115,7 @@ & .current-upper { position: sticky; left: 0 !important; - padding: 0 15px; + padding-left: 17px; background: white; } @@ -129,9 +130,10 @@ font-weight: 400; width: max-content; margin-left: auto; - padding-right: 15px; + padding-right: 10px; padding-top: 10px; background: var(--g-header-background); + display: flex; } & .side-header * { @@ -145,7 +147,6 @@ border: none; padding: 5px 8px; color: var(--g-text-dark); - position: sticky; font-size: 14px; letter-spacing: 0.02em; font-weight: 420; @@ -325,7 +326,7 @@ cursor: pointer; & .bar { - outline: 1px solid black; + outline: 1px solid var(--g-row-border-color); border-radius: 3px; } diff --git a/src/styles/light.css b/src/styles/light.css index 1b3d7c8..1b1be11 100644 --- a/src/styles/light.css +++ b/src/styles/light.css @@ -1,9 +1,9 @@ :root { - --g-arrow-color: #d7b15b; + --g-arrow-color: #1f2937; --g-bar-color: #fff; --g-bar-border: #fff; - --g-tick-color-thick: #e0e0e0; - --g-tick-color: #ebeef0; + --g-tick-color-thick: #e2e8f0; + --g-tick-color: #f1f5f9; --g-actions-background: #f3f3f3; --g-border-color: #ebeff2; --g-text-muted: #7c7c7c; @@ -15,6 +15,7 @@ --g-expected-progress: #c4c4e9; --g-header-background: #fff; --g-row-color: #fdfdfd; + --g-row-border-color: #cbd5e1; --g-today-highlight: #37352f; --g-popup-actions: #ebeff2; --g-weekend-highlight-color: #f7f7f7; From 0e2c8dadbeb1fd59584013e60353392e328766ce Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Thu, 23 Jan 2025 11:44:34 +0530 Subject: [PATCH 09/11] fix: stylistic issue --- src/bar.js | 13 ++++++------- src/styles/gantt.css | 3 --- src/styles/light.css | 6 +++--- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/bar.js b/src/bar.js index 490b165..3701211 100644 --- a/src/bar.js +++ b/src/bar.js @@ -109,11 +109,7 @@ export default class Bar { height: this.height, rx: this.corner_radius, ry: this.corner_radius, - class: - 'bar' + - (/^((?!chrome|android).)*safari/i.test(navigator.userAgent) - ? ' safari' - : ''), + class: 'bar', append_to: this.bar_group, }); if (this.task.color) this.$bar.style.fill = this.task.color; @@ -148,13 +144,16 @@ export default class Bar { draw_progress_bar() { if (this.invalid) return; this.progress_width = this.calculate_progress_width(); + let r = this.corner_radius; + if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) + r = this.corner_radius + 2; this.$bar_progress = createSVG('rect', { x: this.x, y: this.y, width: this.progress_width, height: this.height, - rx: this.corner_radius + 2, - ry: this.corner_radius + 2, + rx: r, + ry: r, class: 'bar-progress', append_to: this.bar_group, }); diff --git a/src/styles/gantt.css b/src/styles/gantt.css index 5d5da89..983aecc 100644 --- a/src/styles/gantt.css +++ b/src/styles/gantt.css @@ -142,7 +142,6 @@ transition-duration: 150ms; background-color: var(--g-actions-background); text-align: -webkit-center; - text-align: center; border-radius: 0.5rem; border: none; padding: 5px 8px; @@ -150,7 +149,6 @@ font-size: 14px; letter-spacing: 0.02em; font-weight: 420; - height: 20px; box-sizing: content-box; margin-right: 5px; @@ -167,7 +165,6 @@ & .side-header select { padding-right: 1.25rem; width: 50px; - padding-left: 4px; } & .date-range-highlight { diff --git a/src/styles/light.css b/src/styles/light.css index 1b1be11..8f0448e 100644 --- a/src/styles/light.css +++ b/src/styles/light.css @@ -2,8 +2,8 @@ --g-arrow-color: #1f2937; --g-bar-color: #fff; --g-bar-border: #fff; - --g-tick-color-thick: #e2e8f0; - --g-tick-color: #f1f5f9; + --g-tick-color-thick: #ededed; + --g-tick-color: #f3f3f3; --g-actions-background: #f3f3f3; --g-border-color: #ebeff2; --g-text-muted: #7c7c7c; @@ -15,7 +15,7 @@ --g-expected-progress: #c4c4e9; --g-header-background: #fff; --g-row-color: #fdfdfd; - --g-row-border-color: #cbd5e1; + --g-row-border-color: #c7c7c7; --g-today-highlight: #37352f; --g-popup-actions: #ebeff2; --g-weekend-highlight-color: #f7f7f7; From 6311a1e32f79b58e662f5bf75db60b195d68363f Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Thu, 23 Jan 2025 11:48:04 +0530 Subject: [PATCH 10/11] fix: progress bug --- index.html | 1 + src/bar.js | 2 +- src/index.js | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 419d47c..60b672d 100644 --- a/index.html +++ b/index.html @@ -326,6 +326,7 @@ new Date().getTimezoneOffset() * 60000; function random(begin = 10, end = 90, multiple = 10) { + return undefined let k; do { k = Math.floor(Math.random() * 100); diff --git a/src/bar.js b/src/bar.js index 3701211..c915be0 100644 --- a/src/bar.js +++ b/src/bar.js @@ -56,7 +56,7 @@ export default class Bar { this.compute_duration(); this.corner_radius = this.gantt.options.bar_corner_radius; this.width = this.gantt.config.column_width * this.duration; - if (this.task.progress < 0) this.task.progress = 0; + if (!this.task.progress || this.task.progress < 0) this.task.progress = 0; if (this.task.progress > 100) this.task.progress = 100; } diff --git a/src/index.js b/src/index.js index 6602861..054d3e2 100644 --- a/src/index.js +++ b/src/index.js @@ -1335,7 +1335,6 @@ export default class Gantt { bind_bar_progress() { let x_on_start = 0; - let y_on_start = 0; let is_resizing = null; let bar = null; let $bar_progress = null; From b617dfffbe33ec382bba0303fbc22df55f53e4c7 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Thu, 23 Jan 2025 11:50:39 +0530 Subject: [PATCH 11/11] chore: bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1fa9e5c..3bd7e0f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "frappe-gantt", - "version": "1.0.2", + "version": "1.0.3", "description": "A simple, modern, interactive gantt library for the web", "main": "src/index.js", "type": "module",