Hello, Iām @zacharylaborde. Iām currently learning computer science via a bachelors degree and electrical engineering through my current job in the Air Force. You can email me at [email protected] and I will try to check my email as often as possible. :)
e-gantt-chart's Introduction
e-gantt-chart's People
e-gantt-chart's Issues
Need filtering
The Gantt chart needs ways to filter by row name and even event types.
Components need loading animations
Before the components load, instead of having default empty fields, set some sort of default loading element.
Events need drag and drop
To improve the functionality of the gantt chart, there needs to be a drag and drop feature. The user should be able to hover over an event, click and hold to start dragging and release it to drop it somewhere else in the gantt chart.
Fix hour and shift strategies
Currently the hour and shift strategies do not work which is making the gantt chart exhibit strange behaviors.
Events do not load if they end past the last column
Events aren't loading when they extend past the right most column. Instead the events should be cut off like they are whe they extend past the left most column. You can easily see this bug if you reduce the size of the gantt chart to 3-4 columns and have an event that is larget than 3-4 rows extending to the right.
Controller needs labels
Each component on the controller needs a lable to indicate to the user what it does. (The title doesn't need an indicator).
No Timeline for Gantt Chart
The gantt chart needs a timeline so the user can see where the are within the gantt chart proper.
Need theme setting capabilities
Users need to have the ability to set the theme of the Gantt chart in a custom way.
Need Drag and drop rows
The user needs to be able to drag rows up and down to change their order.
Mac Cursor Not Working
The css cursor on mac isn't working.
Highly Repetative Code
I have some highly repeatitive classes defined in the project: All Commands, Queries and Presenters are extremely similar. To fix this, it might be best to abstract out a class that describes what each of them do and the implementations can be much smaller. Especially if I create more of these in the future.
Rename LoadFromMemoryCommand
LoadFromMemory doesn't describe the full implications of this command. It would be best to simply name it LoadCommand, which is descriptive and general enough to describe exactly what this command does.
Need 'Error Box'.
The gantt chart needs an error box so that I can display error messages to the user (for instance if someting doesn't load properly).
Needs 'README.md'
We need a README.md file so people can get started right away to get to using the code. This is also going to be dependant on a completed codebase as well.
Implement table to contain events
The gantt chart will be implemented as a table. The table will contain a set of events and also have a date range for bounds that the user must be within. This said, the table itself needs to have its own in-memory state as well.
Logic controlling variable month sizes is wrong.
The uppertimelinestrategy for the month zoom strategy is using incorrect logic.
Events need to be disable-able
Events need to be disable-able so that select users cannot edit those events.
Create Hooks for easier E-ganttchart use.
The e-gantt-chart needs some hooks to be made easy for people to use in their projects.
Row's can be grouped
Rows need to be groupable under different names so that the data can be visualized easily. Experimentation with different interfaces to do this is necessairy.
Timeline text display is messed up
Currently, the timeline displays text that wraps and can look messed up at times. Find a balanced solution to this problem that keeps all of the relevant information on screen while also looking good.
Needs Events
The gantt chart needs to be able to hold events.
No start or end indexing strategy for day, shift or hour zoom levels.
The gantt chart currently doesn't have an implementation for the start or end indexing strategies for the day, shift or hour zoom levels.
Groups need to be orderable.
The user needs to be able to order groups by dragging and dropping them around.
Groups need to be hideable
The user needs to be able to hide a group of rows if they want to.
Can't edit number of columns loaded
Currently the user cannot edit the number of columns that are loaded. This should be achievable with a simple setting in the Gantt chart controller.
Table needs body.
The body of the table needs to be modifiable to add new nameable rows.
No styling hooks for gantt chart
The gantt chart is starting to become a mess without any styling. I think to progress, I need to start adding some css in order to manage what I am looking at during testing.
Need event editor
The Gantt chart needs to have events in it as well as a means to edit those events as needed. An event editor panel that pops up on the side would be the most effective way to do this.
Need improved row renaming
The row names can be edited, however the update is triggered whenever the row is blurred. This means that even if the row is not updated, it triggers an update which can be a call to the network. This is unnecessairy if the row name has not been updated. I would prefer if the user could select the name to be updated first, followed by an input field appearing. The user can then only submit their updates once the input is different from it's initial state.
Groups need to be re-nameable
The user needs to be able to rename their groups.
Create a zoom-level controller.
The zoom level of the gantt chart should be dynamic. I want four separate zoom levels: (1) day-long segments that are tiny allowing for at least a month of data to be visualized on the screen all at once, (2) day-long segments that are much bigger allowing for the user to see about a week or two of data on the screen at once. The events in this instance are displayed as a list on the day and span the entire day even if they don't in their detail. (3) shift-long segments (day, mids, night) shifts that are 8 hour long segments. These segments should span entire shifts and no more, nor no less. (4) hour-long segments which is as detailed as the chart will need to be. This zoom should work like a counter with an upper and lower bound. The zoom will toggle between enums ("Zoomed Out", "Days", "Shifts", "Hours").
Need sorting
The grant chart needs a means to sort the rows in different ways.
User needs to be able to add new rows to a group.
The user needs to be able to add a row to a given group.
Title needs to be disable-able
The text field needs to be disable-able because some users shouldn't be able to edit it if they don't have permission to.
There are no tests
There are currently no tests for this project. Implement unit and integration testing with Jest.
Rows need to be disable-able
Select rows should be disable-able so that some users cannot edit those rows.
Need Row components
Row components need to be added to the project. Rows should controll themselves (at least the updating and deleting parts).
Components do not load in-memory data.
Make components load data from the in-memory repository. This will allow me to later load data from the server-side and load that into the main memory of the application.
Possible Solution
To load the data, I will make query commands that each component will induce on construction. These queries will reload data from the in-memory repository and update the presenters.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.