Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Road to v1 #347

Open
3 of 8 tasks
WickyNilliams opened this issue Sep 25, 2019 · 6 comments
Open
3 of 8 tasks

Road to v1 #347

WickyNilliams opened this issue Sep 25, 2019 · 6 comments

Comments

@WickyNilliams
Copy link
Owner

WickyNilliams commented Sep 25, 2019

Thought I'd gather a rough plan, and list of possible changes, for v1:

  • drop async behaviour when initialising (drop async behaviour of init #346)
  • simplify API (Feature/simplify api #352)
    • I don't think there's much in having consumers new up an instance and then call init().
    • A simple function headroom(elem, options) should do
    • update docs
  • maybe drop callbacks in favour events emitted on elem?
    • this would further simplify the API
    • we could support both callbacks and events as interim?
  • work out what to do with angular/jquery plugins
  • fix all the outstanding iOS issues
    • first step will be to verify if all are still valid
    • may need to enlist someone with an iOS device, as I have none
  • rename Headroom.cutsTheMustard to Headroom.isSupported (rename cutsTheMustard -> isSupported #351)
    • update docs

I've created a v1 branch which is where i'll gather all these changes. This allows me to work on breaking changes in isolation, and still be able to publish any bugfixes on master.

If anybody else has any other suggestions, please let me know.

@WickyNilliams WickyNilliams pinned this issue Sep 25, 2019
@clxmstaab
Copy link

todo: define which browser are considered supported and mention them in the README

@fuzzzerd
Copy link

fuzzzerd commented Oct 9, 2019

  • work out what to do with angular/jquery plugins

I would hate to see framework specific parts leaking backwards into the core. I think its better to keep the core package agnostic, and then create framework specific packages.

@WickyNilliams
Copy link
Owner Author

@fuzzzerd there's no plan to change to the core library. I'm thinking I'll just completely drop the jquery plugin and angular module altogether

@lkraav
Copy link

lkraav commented Dec 13, 2019

work out what to do with angular/jquery plugins

I'm somewhat confused on whether it's possible to refactor the core library to such that framework integrations wouldn't have to copy-paste the whole scroll detection business logic anymore?

@WickyNilliams
Copy link
Owner Author

@lkraav that would be the ideal situation, yes. Then people could just create thin wrappers around the core logic.

I've made a load of perf and big fixes recently that won't make it into react etc ports because the business logic is copy and pasted. This is a shame.

I think by the time v1 is done we will be in a better position to explore this route. Though if you'd like to try it now, please go ahead and report back where it falls short :)

@saas786
Copy link

saas786 commented Oct 13, 2022

@WickyNilliams Any further progress on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants