-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
[FEATURE modernized-built-in-components] First-pass implementation #19218
Conversation
c13355a
to
656f72f
Compare
This passes all the existing tests and is ready for review – at least it will be a useful starting point for some conversation. IMO the remaining work can be done in follow-up PRs. I'm also not sure whether we want to do a very rigious audit on what |
63f6024
to
c403f53
Compare
`Passing the \`@${argument}\` argument to <Input> is deprecated. ` + | ||
`Instead, please pass the attribute directly, i.e. \`<Input ${attribute}={{...}} />\` ` + | ||
`instead of \`<Input @${argument}={{...}} />\` or \`{{input ${argument}=...}}\`.`, | ||
true /* TODO !(argument in this.args) */, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually enabling all these deprecations require fixing lots of tests, so leave them disabled for now.
c403f53
to
e1e6424
Compare
`the <Input> component and prevented it from functioning properly. ` + | ||
`Instead, please use the {{on}} modifier, i.e. \`<Input {{on "${eventName}" ...}} />\` ` + | ||
`instead of \`<Input @${methodName}={{...}} />\` or \`{{input ${methodName}=...}}\`.`, | ||
true /* TODO !descriptor */, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you open an issue with some guidance and then link back to it from here? Basically, we need some path to enabling this deprecation...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{{!-- deprecated native event callbacks --}} | ||
{{on "touchstart" this._touchStart}} | ||
{{on "touchmove" this._touchMove}} | ||
{{on "touchend" this._touchEnd}} | ||
{{on "touchcancel" this._touchCancel}} | ||
{{on "keydown" this._keyDown}} | ||
{{on "keypress" this._keyPress}} | ||
{{on "mousedown" this._mouseDown}} | ||
{{on "mouseup" this._mouseUp}} | ||
{{on "contextmenu" this._contextMenu}} | ||
{{on "click" this._click}} | ||
{{on "dblclick" this._doubleClick}} | ||
{{on "focusin" this._focusIn}} | ||
{{on "focusout" this._focusOut}} | ||
{{on "submit" this._submit}} | ||
{{on "dragstart" this._dragStart}} | ||
{{on "drag" this._drag}} | ||
{{on "dragenter" this._dragEnter}} | ||
{{on "dragleave" this._dragLeave}} | ||
{{on "dragover" this._dragOver}} | ||
{{on "drop" this._drop}} | ||
{{on "dragend" this._dragEnd}} | ||
{{on "mouseenter" this._mouseEnter}} | ||
{{on "mouseleave" this._mouseLeave}} | ||
{{on "mousemove" this._mouseMove}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should either read the event dispatcher for its values here, or just defer to it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually wrote the code to address this and submitted #19269. However, as explained in that PR, I don't want to introduce a new global name for a one-off thing we are making here. Given that we expect the contextual modifier RFC to land pretty soon and this is still behind a flag, I would prefer to punt on addressing this for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
e1e6424
to
411f95a
Compare
411f95a
to
5ad99e7
Compare
First-pass implementation for converting the `<Input>` component into an internal (not classic) component compatibly. This passes all the existing tests. Some follow-up work before this is ready for prime time: - Implement any remaining classic component features not covered by the existing tests. - Detect any unimplementable classic component features and deopt into the previous implementation. - Write the second deprecation RFC and get the proposal merged.
8b08f66
to
27a413f
Compare
…ation Tracking issue: emberjs#19270 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. Deprecate input arguments
…ation Tracking issue: emberjs#19270 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. Deprecate input arguments
…ation Tracking issue: https://github.com/emberjs/ember.js/issues/192t 70 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. WIP - add maybeExpectDeprecation function
…ation Tracking issue: https://github.com/emberjs/ember.js/issues/192t 70 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. WIP - add maybeExpectDeprecation function
…ation Tracking issue: https://github.com/emberjs/ember.js/issues/192t 70 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. WIP - add maybeExpectDeprecation function
…ation Tracking issue: https://github.com/emberjs/ember.js/issues/192t 70 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. WIP - add maybeExpectDeprecation function
…ation Tracking issue: https://github.com/emberjs/ember.js/issues/192t 70 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. WIP - add maybeExpectDeprecation function
…ation Tracking issue: https://github.com/emberjs/ember.js/issues/192t 70 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead. WIP - add maybeExpectDeprecation function
…ation Tracking issue: emberjs#19270 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead.
Tracking issue: emberjs#19270 Enables the input event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
Tracking issue: emberjs#19270 Enables the input event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
Tracking issue: emberjs#19270 Enables the input event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
Tracking issue: emberjs#19270 Enables the input event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
…nt handlers Tracking issue: emberjs#19270 Enables the input and textarea event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
…nt handlers Tracking issue: emberjs#19270 Enables the input and textarea event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
…nt handlers Tracking issue: emberjs#19270 Enables the input and textarea event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
…ation Tracking issue: emberjs#19270 More specifically, it enables the <Input> attribute deprecations introduced in emberjs#19218, fixes broken tests, and updates all test {{input}} invocations to use <Input> instead.
…nt handlers Tracking issue: emberjs#19270 Enables the input and textarea event handlers deprecation introduced in emberjs#19218 and fixes resultant failing tests
First-pass implementation for converting the
<Input>
component into an internal (not classic) component compatibly. This passes all the existing tests.Some follow-up work before this is ready for prime time:
Implement any remaining classic component features not covered by the existing tests.
Detect any unimplementable classic component features and deopt into the previous implementation.
Write the second deprecation RFC and get the proposal merged.