nielsfaber / scheduler-card

HA Lovelace card for control of scheduler entities
GNU General Public License v3.0
922 stars 117 forks source link

Add option to customize the style of the timeslots #759

Closed tonyroberts closed 9 months ago

tonyroberts commented 1 year ago

Adds a new timeslot_style option which can be used to customize the style of the timeslots shown in the scheduler card.

For example, this can be used to change the background color based on the service data, such as temperature or preset.

image

The timeslot_style option is a JavaScript function that gets called for each timeslot and returns a style object, which is added to the timeslot.

More details and example usage have been added to the readme file.

Fixes #758

tonyroberts commented 1 year ago

The hacs_validate test failed because of a problem in the action rather than a problem with this PR. If you run it again it should pass now (https://github.com/hacs/integration/issues/3362)

tonyroberts commented 11 months ago

@nielsfaber I don't have permission to re-run the tests, but the failed test was an issue with the github action which has now been resolved (https://github.com/hacs/integration/issues/3362)

nielsfaber commented 11 months ago

Hello, the reason why the PR is not merged is not because of the validation checks failing. The reason is that although I appreciate your contribution, I don't really agree with the changes you made.

The main issue I see is the dependency for yaml customization. I think the card should have built in colors, such that everyone can benefit from the colors. This should not be some 'hidden' feature. As I explaned in the FR topic about this, is that I had struggled with finding a universal and intuitive way of assigning colors.

In addition, currently the timeslots are blue, become darker when you hover over them with the mouse and become orange when selected. This behaviour don't work with your addition. Some new way would have to be found to still make it clear for the user which timeslot is selected.

If you wish to develop your code further to satisfy these points, that would be appreciated. If you have some ideas I prefer to discuss it upfront. I really feel bad rejecting your work so I would like to align on the feature before you're spending effort on implementing it.

tonyroberts commented 11 months ago

Thanks for your comments @nielsfaber. I agree that it is an advanced configuration and so not suitable for all users, but I would rather have something for some users instead of nothing for all users ;) Anyway, I know you are not actively developing this project any more and I'm afraid I don't have time to contribute more complex UI changes. It works for what I need and so I'm happy for you to close this PR if you prefer not to merge it - and I understand why that is :) Don't feel bad about not merging it, it was a lot less work for me to make this small change that it would have been for me to implement it from scratch and I appreciate you making this component open source so I could do so :)

github-actions[bot] commented 10 months ago

This pull request is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days