It's been a while hasn't it? I've been working on the picker as much as I can but work and health have limited my availability.
I wanted to update everyone on where things are and what's left to do.
Before I get in to that, if you haven't already you should join the discord server ! There's channel for each version and I try to be available to help people with small issues. I also set up a Ko-fi (which is similar to Patreon) and I am so grateful to anyone who donates to help keep me going.
Looking Back
Looking back at Part 1 I had outlined 5 things I wanted to do before releasing version 6. Let's talk about the status of each one.
Task1: Repo cleanup . This is done. I've closed all the old issues (sorry if that was one of yours) and I added 2 projects in GitHub for the v6 tasks and the second is for a backlog of items I'd like to do but I'm not sure when those will come about.
Task2: Merging TD. This is also done. I merged together the Tempus Dominus Core and the Bootstrap 4 UI project. I merged a couple of good PRs into the BS4 version as well.
Task3: Remove Bootstrap. Update - I redid the tables to CSS Grid, and it looks much better. I could still use someone who is willing to contribute design assistance to either the picker or the docs.This is done sorta. This particular item is why I haven't released anything yet. I've removed all the bootstrap dependencies and the picker works without it. However, I'm dealing with a styling issue, and I could use someone who could come along and help me with this part of the project. If you or someone you know has SCSS skills and is willing to help, please reach out to me.
Task4: Remove jQuery. This is done! Man, that was a lot of jQuery my friends. Everything is native now. I'm using the latest JavaScript conventions in the code base. I created a separate file called jQuery.provider.js, so if you still want to do it the jQuery way, include this file along with the main script file.
Task5: Moment to Dayjs. Instead of doing this, I wrote a small date time library that extends the native Date object in javascript. This means there's no external dependency, and I only carry around the functions that the picker actually uses. All the options that previously took a Moment object now accept a Date or my DateTime object. When retrieving selected dates you will get a DateTime object that works just like a Date object.
Task6: FA6. At the time of this writing, FA 6 is still in beta and is only available with a pro subscription. I won't update the defaults until it's released to the public and the free icons are ready to use.
Task7: Typescript. As I was working on removing jQuery I was realizing how much of the code I'd have to rewrite to remove it. Waiting until later would have caused me to have to rewrite the code again in TS, so it just made sense to do it now. The picker's code is now completely in Typescript (except the jQuery plugin code). I'm currently using Rollup to translate this down to JS.
What's left?
The main things left to do are finish up the documentation and fix the styling issue. The picker works and people could start using it, but it's not as pretty as I would like.
There are a few ideas that I want to work on at some point but those aren't really required for a launch. One of the main things that I want to do is to create a page on the docs where a developer could copy and paste their existing configurations and have it auto converted to the v6 configuration.
Thank you all for your patience, kind words and donations. I'm excited to get the new version out to you all!
Comments
You can also comment directly on GitHub.