Commit graph

17 commits

Author SHA1 Message Date
d4c8581966
fix: handle non-timed tasks when dropped
Updated to correctly set attributes for non-timed tasks when they are dropped into a specific column. This ensures tasks are properly categorized and their due times remain clear. Addresses potential confusion in task organization when moved.
2024-07-31 11:53:52 +02:00
482576ed32
fix(tasks): retain task IDs on reload
Added an optional 'id' parameter to the createTaskElement method to retain task IDs when reloading tasks from storage. This ensures task IDs remain consistent across sessions, preventing issues related to task identification and management.
2024-07-31 11:51:26 +02:00
5c5473ad7b
fix(tasks): ensure correct column association on move
Reordered event emission to after updating task data. Added dataset updates for task's parent column to maintain a consistent state. This prevents bugs where tasks could end up in incorrect columns after moving. Adjusts heights for consistent UI.
2024-07-31 11:47:25 +02:00
2b5dbada07
fix: ensure task due time updates correctly on drop
Refactored time slot handling to avoid updating task due time when startTime is not valid. This prevents potential misalignment of task due times when tasks are dropped outside of defined slots. Also added missing dueTime update in the tasks map for synchronization. Adjustments ensure more consistent task scheduling and improved user interaction.
2024-07-31 10:57:51 +02:00
44885d3801
fix: synchronize task column update after drag-and-drop
Ensure the task's column in the tasks map is correctly updated after
drag-and-drop to maintain consistent state. This prevents potential display
inconsistencies and logical errors when tasks are moved between columns.
2024-07-31 08:59:25 +02:00
41a5d0ba5e
refactor: consolidate task move event handling
Removed redundant emitTaskMovedEvent function to streamline task event emissions. Now emitting a generalized 'taskChanged' event for task movements, ensuring consistent event handling and reducing code duplication.
2024-07-31 08:55:55 +02:00
41d544be7e
fix(kanblendar): make task description optional
Removed the 'required' attribute from the task description field to allow users to create tasks without a description. This change addresses user feedback requesting more flexibility in task creation forms.
2024-07-31 08:53:35 +02:00
953edad91f
feat(css): enhance header layout and task styling
Improved the header's layout by making the logo and button positioning more intuitive and visually appealing. Adjusted header padding and button placement to be more consistent. Added text alignment to non-timed tasks for better readability.
2024-07-31 08:50:46 +02:00
a3e50477b0
feat: add clear state functionality in footer
Introduced a "Delete all entries" link in the footer that clears
local storage state upon confirmation from the user. Modified
CSS to properly align new footer elements. This improvement
enhances user control over stored data, ensuring an easy way
to reset the application state.
2024-07-30 15:13:31 +02:00
7b947029c9
refactor: optimize task serialization method
Switched from using `this.tasks.values()` to `this.tasks.entries()` in the serialize method. This change directly reduces the complexity of the serialization process by eliminating a mapping step, making it more efficient and streamlined. No functional changes to the output.
2024-07-30 14:14:21 +02:00
b88a998c9a
feat: add state persistence and task change events
Introduce state persistence to example to save and load Kanblendar state using localStorage, enhancing user experience by remembering their tasks and settings across sessions. Implement a new 'taskChanged' custom event to trigger state saving whenever tasks are created, moved, edited, or deleted. This ensures state consistency and reduces the risk of data loss.

Refactor to attach Kanblendar instance to the window object for global access in example.
2024-07-30 14:09:38 +02:00
0f530dc401
feat: add serialization and deserialization for tasks
Introduced methods to serialize and deserialize tasks to enable saving and loading Kanblendar state. This addition facilitates persistence and recovery of task data, ensuring continuity. Adjusted task element creation and placement to maintain task integrity during deserialization.
2024-07-30 13:56:30 +02:00
303258ce10
refactor: separate task creation logic from Kanblendar class
Moved event listener for task button from Kanblendar init method to DOMContentLoaded handler. This change simplifies the Kanblendar class and improves modularity by placing event listening logic closer to the button initialization. Helps maintain separation of concerns and makes the code easier to manage and test.
2024-07-30 13:48:35 +02:00
cc4989cac4
fix: handle tasks without due times appropriately
Ensures tasks without due times are moved to a non-timed section rather than attempting to update their location based on an undefined value. This change prevents errors related to missing due time values and improves overall task management experience.
2024-07-30 13:45:30 +02:00
83471f8820
fix: ensure equal height for time slots in kanban board
Added adjustTimeSlotHeights method and invoked it wherever necessary
to ensure that all time slots and non-timed tasks sections maintain
equal height. This addresses inconsistencies in the layout, improving
the visual alignment and user experience.
2024-07-30 13:43:22 +02:00
53463d4e85
feat: highlight current time slot in Kanblendar
Added functionality to highlight the current time slot in the Kanblendar application for better time tracking. This feature updates every minute and visually indicates the active time slot by applying a specific CSS class.
2024-07-30 13:32:21 +02:00
38d9d36312
feat: add initial Kanblendar project with core features
Introduced the Kanblendar project, which combines a Kanban board and a daily calendar. Users can create, edit, and organize tasks in columns and time slots, with notification support for upcoming tasks.

Added README.md with detailed usage instructions and LICENSE file for licensing under MIT. Created example files (HTML, CSS, JS) to illustrate the usage of Kanblendar, and essential styles and scripts for its functionality.
2024-07-30 10:52:03 +02:00