Hades Change Log
- Added moment.js to convert date to strings to be displayed in project-actuals view and ticket details.
- Added most recent ticket date for people.
- For any given combination of project actual treeview tiers, people will now also show the date of their most recently logged ticket.
- This new date appears between the persons name and their hours on that tier element.
- Bug fix and improvements
- Increased ticket description size.
- Made font for ticket duration bold.
- Lowered ticket description length to 40 characters (in-line with increased font size).
- Updated ticket layout to change according to window size (will always allow full with, whilst above 900px - from there down is mobile view).
- Updated tickets to have a min and max size, so they don't become too small, or too big. Also means there is consistency with size.
- Added a word wrap to words longer than 13 characters. Adding a dash between long words, so that they can be wrapped within the ticket.
- UI updates to tickets
- WorkItemNumbers added to tickets in service, and now displayed on tickets.
- Date format changed to be (Day Of Week (shortened) / Month (shortened) / Day == Mon Nov 05).
- Removed some margins and padding, to fit more on screen.
- Increased the number of characters for description before cut off (still visible in opened version).
- Moved current tickets path to near the close button. This was a nice to have, as the information is still on the screen, but thought it was more helpful to have it close.
- Current view now known by tickets, so that it can adjust tickets path to match view.
- Added a new preset for calendar component: ‘This Week’, takes the Monday of the start of the week, and current date, and includes all time between them. Useful for knowing activity which has happened specifically for this week.
- Implmented a ticket component within Hades, which is now attached to Project Actuals.
- Upon clicking on an item within the third tier of the Actuals, the tickets associated with that item will be displayed within a bar at the bottom of the screen.
- The new tickets bar can hold 12 tickets simultaneously (12 most recent, left to right), and has been designed to not overlay any parts of the rest of the view. The system was designed for 1920x1080, and works nicely for screens upwards. It has been tested down to 1200x900.
- Tickets within the bar can be clicked, wherein a larger version of the ticket will display, allowing easier viewing of a given ticket. This is particularly helpful for long descriptions.
- The component is quite reactive, and will remove itself contextually.
- The ability to toggle billable/non-billable views has been added to Hades Project Actuals and Project Reports, both Desktop and Mobile versions. This is accessible through a toggle within the top panel for both versions.
- The Desktop version provides a tooltip of whether it is currently active (when hovered over).
- Toggling the views whilst there is an active selection has accounted for, so that comparisons are easier to make, and flow isn't interupted; i.e. whilst in non-billable, if a selection is on an element which is not within ‘billable’, and the view is toggled, the selection will be removed, however, if the selection is on an element which is in 'billable', it will remain.
- Some cleaning up of styling throughout actuals, both mobile and desktop.
- Now keeping a record of the billable hours, alongside total hours, from the service side, so that these can be easily accessed. Also means toggling is very fast, as the data is already available.
- No other major changes have been made, and much of the differences leverage Vue functionality, making toggling quite fast.
- Mobile view view height has been changed slightly, due to the added toggle, though still fits nicely, even on the smallest screens.
- Updated Hades Project Reports (Desktop View) to include Non-Billable and Billable hours as per the users need via a switch at the top of the screen.
- Updated Hades Project Actuals to have larger fonts for all displays of hours. This includes changes to Mobile view. Font weight has been changed where appropriate, to match the text that hours sit alongside.
- Updated Hades to be able to set a ‘default’ page. This page is used upon login, wherein the user is taken to a selected route. This feature is available from the side drawer.
- Be aware, you may need to clear your browsers local cache for this to work.
- If you clear your browser data/cache, the stored ‘default’ page will be removed too.
- Created mobile version of hades calendar.
- Implemented mobile calendar within treeview and reports mobile.
- Hades calendar mobile is similar to the regular calendar, with presets and the calendar pickers, though does not allow typing of the dates (mobile screen a bit small to do so in a nice way).
- Implemented name length checking for treeview mobile, with some project names being quite long, they'd push the total hours off screen. I am now counting to 23 characters, and anything beyond that is converted to '...'. This looks nice, and still communicates what needs to be there.
- Bumped all hades calendars up slightly, so that they're more central within the screen.
- Added ‘Weekly’ and 'Overall' buttons for all the graph types.
- Added documentation link to the menu.
- Added button to view ‘All Projects/People’ overall statistics.
- All the views in ‘Project Reports’ are mobile compatible.
- Tweaks for presets. When not using a preset, a default message was shown. Have updated this to have the text ‘empty’, which when found by the js, will leave out the preset selection chip in the vue.
- Updated treeview to display total time for all projects, within the first panels header.
- Completed and merged range time display (calendar update and presets)
- Added fetching of data on calendar close, rather than individual calendar change. This means loading will only happen once, when the calendar is closed.
- Have left event for individual calendar updates, in case this is wanted to hook into later.
- Data update only fired if calendar dates are actually changed (including presets).
- Presets added via a combobox. This allows the user to type in what they're looking for, to quickly find it.
- Added selection matching code for user input for preset. This means that if the user types a string which is spelt the same, but the wrong case, and presses enter, it will match it correctly.
- Preset has it's own event, to allow another component to listen in for changes in presets. This means it can be accurately displayed elsewhere.
- Implemented all math and logic, for preset calculation. There are 30 different presets.
- Added message functionality with presets, to provide a message for any information which the user might need to know (i.e. dates inclusive of weekends).
- Updated time diff to be time span. This means a full day is added on the end, as to account for the full day, of the end date chosen, for the date range.
- Added UTC compatibility to time math, so times are always the same.
- Added a ‘None’ option for presets, for when the date time is changed using the start and end range manually. This provides a 'default' state for this option to rest on, as null values were causing issues with the combobox.
- Fixed to dashboard incrementing project hours incorrectly. Moved across to use the same set up for time addition as treeview components.
- Treeview Mobile updates and fixes
- Time fields updated to utilise the new time converions from the server (rather than the frontend).
- Reduced padding to provide more space on screen.
- Added scrolling for mobile view, as sometimes fields descend lower.
- Removed Areas icon, as inconsistent, given people and projects no longer had them. Also provides more space on screen.
- Open variables now being watched, so to clear the active selection when the section headers are re-opened. This means that the screen has more room when selection is happening.
- Added digit check (to force to two decimal places, if not already).
- Actuals independent scrolling for each panel.
- Removed site scrollbar, opting to include scrolls on individual pages, as needed.
- Scrollbars have been styled to match theme, and be a little thinner, freeing up more space on the pages.
- Fixes to digits coming in with weirdly strange floating point numbers (1.00000000001 ⇒ 1.00).
- Changed Actuals text-centering to be left aligned, as it looks neater, and is easier to read.
- Updated so that icons are correct for their views (sometimes people would show the project icon, due to logic confusion).
- Minute to hour conversion created inside the service, and removed from frontend. This is now done in the server.
- Service now also only sends decimals with two floating point numbers.
- Service changed to utilise doubles instead of ints, for better accuracy.
- Added unit tests to project, and now running all Utilities through. Was helpful, as picked up some quirks.
- Time diff function more robust, providing years, months, weeks, and days for the range.
- Added comma in the hours when numbers are greater than 1000, on the dashboard.
- Update mobile treeview colour for grandchild item header.
- Graphical representation of statistics
- Project Stats:
- All the project statistics like the total time devoted on each project for the selected time frame is displayed in graphical fashion.
- The graph representation includes viewing the stats as Bar charts, Line Graphs and Pie charts.
- The statistics can also be exported to excel sheet for the category(Area and People) and the Project selected.
- The details can be viewed as a whole for all projects as well as for a particular project too.
- People Stats:
- All the people statistics like the total time devoted by each person for the selected time frame is displayed in graphical fashion.
- The graph representation includes viewing the stats as Bar charts, Line Graphs and Pie charts.
- The statistics can also be exported to excel sheet for the category(Project and Area) and the Project selected.
- The details can be viewed as a whole for all people as well as for a particular person too.
- Project Stats:
- Fixes, with treeviews not implementing minute to hour conversion & updated dashboard with extra data
- Changed all uses of time in tree view to use minute to hour conversion function (now showing time correctly).
- Fixed an annoying issue with page scrolling on treeview
- Added an extra line for current range within dashboard, to show what range the calendar is showing.
- Added new calendar component to dashboard.
- Disabled button interactivity on dashboard (as unused, so seemed weird to be able to click them).
- Removed some unused calendar styling from dashboard
- Removed mounted events from dashboard as now in calendar directly
- Added time diff function to calculate calendar time difference (can do years, months, weeks, days, hours, minutes, seconds). Only utilising a few of them currently.
- Removed old calendar from dashboard.
- Now opening treeview (desktop) when data is loaded, and selecting first entry, to make use more apparent.
- Treeview (mobile) updated functions with latest improvements. Have decided not to update treeview (mobile) with latest calendar, as feel the current approach is easier on mobile.
- Added Project Reports section to display Project and People Statistics graphically.
- Added functionality to export the Project and People Statistics to excel.
- Completed creating the cHadesCalendar component and successfully integrated with TreeView
- The calendar component is ready for use. It will make reuse a lot easier, with only two main variables now needed outside of the class itself.
- Simplified some of the code, and extending it's functionality, with better checking around dates.
- Separated the check icons, so they provide feedback individually
- Able to input date or choose from calendar (via icon)
- Input can use slash, dash, or just the numbers (though with YYYY/MM/DD format)
- Number formatting checker running successfully (cross or tick, depending if input looks correct)
Treeview complete and integrated
- Project area is now a selectable section, which will provide format → Project > Area > People
- Update person and projectArea data objects to reflect the new structure (name/ description/ updated collection names/ id for area/ project area)
- Fixed an issue with calendar icons not appearing (have to set manually in 1.5)
- Added name checking to other uses of area (of service layer)
- Added calendar picker options
- Changed loading to use vuetify loading component
- Changed column sizes (more room for first column, less as they go across)
- Fixed spacing issue with first column
- Added view change buttons (integrated with new appearance, so that it is a bit nicer)
- Updating collection upon button click
- Added some nicer styling.
- Moved name checking to the service layer, as preferred to send something, rather than ‘fix it’ once it has arrived.
Created a mobile view for the treeview
- The tree view is good on a monitor, but not so much for the phone, or even just a smaller monitor. I have created a different version of the treeview specifically for this case. The view will detect the size issue, and react accordingly.
- Created Dashboard as the landing page to display the overall statistics like number of projects, hours spent.
- Created a couple of pages for Project Actuals, Project Prediction.
- Readded navigation drawer and connected hades documentation.
- Removed the SSL check, now that SSL is implemented and working. This means that the page won't switch to use the relative path of the project, if SSL is not found.
- Fixed issue with zooming. When zoomed, the page would not resize, or provide proper scrolling, this has been update to happen.
- Moved the options to the top of the page, for the whiteboard. Calendar, and time toggles now appear before the content.
- Implemented better styling for mobile.
- Secondary styles available for components, if the device detected is mobile.
- Mobile device detection is three fold, checking window orientation, the presence of IEMobile, and checking whether the width is simply less than 450px. This allows for browsers to make use of the mobile styling, if they are condensed small enough.
- Pages listen for device handle resizing, so that styling is dynamic, and will update if a change is detected.