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

feat(web): add Keyboard and KMXKeyboard classes 🎼 #12825

Merged
merged 2 commits into from
Jan 20, 2025

Conversation

ermshiperete
Copy link
Contributor

The Keyboard class can be either a JS or KMX keyboard. Also make use of the Keyboard class where it makes sense and add TODOs in the places that still need to be implemented for KMX keyboard support.

Part-of: #11293
@keymanapp-test-bot skip

@keymanapp-test-bot keymanapp-test-bot bot changed the title feat(web): add Keyboard and KMXKeyboard classes feat(web): add Keyboard and KMXKeyboard classes 🎼 Dec 11, 2024
@keymanapp-test-bot keymanapp-test-bot bot added this to the A18S17 milestone Dec 11, 2024
@ermshiperete ermshiperete marked this pull request as draft December 11, 2024 18:50
@ermshiperete ermshiperete force-pushed the refactor/web/jskeyboards branch from 27e7418 to c359fe7 Compare December 16, 2024 17:21
@ermshiperete ermshiperete force-pushed the refactor/web/jskeyboards branch from c359fe7 to b4d78ce Compare December 20, 2024 17:04
@ermshiperete ermshiperete marked this pull request as ready for review December 20, 2024 19:26
@darcywong00 darcywong00 modified the milestones: A18S17, A18S18 Dec 21, 2024
@darcywong00 darcywong00 modified the milestones: A18S18, A18S19 Jan 6, 2025
@ermshiperete ermshiperete force-pushed the refactor/web/jskeyboards branch from b4d78ce to f8ed96a Compare January 14, 2025 14:35
The `Keyboard` class can be either a JS or KMX keyboard. Also make use
of the `Keyboard` class where it makes sense and add TODOs in the places
that still need to be implemented for KMX keyboard support.
Comment on lines +56 to +57
// extract keyboard name from URI
const id = uri.split('#')[0].split('?')[0].split('/').pop().split('.')[0];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the keyboard name guaranteed to be in the URI?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I'll address this in a follow-up PR.

Comment on lines 8 to 14
constructor(id: string, keyboard: km_core_keyboard) {
this.id = id;
this.keyboard = keyboard;
}

id: string;
keyboard: km_core_keyboard;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
constructor(id: string, keyboard: km_core_keyboard) {
this.id = id;
this.keyboard = keyboard;
}
id: string;
keyboard: km_core_keyboard;
constructor(public id: string, public keyboard: km_core_keyboard) {
}

Also, consider making these private properties with read-only getters.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Base automatically changed from refactor/web/jskeyboards to epic/web-core January 15, 2025 09:42
@darcywong00 darcywong00 modified the milestones: A18S19, A18S20 Jan 18, 2025
@ermshiperete ermshiperete merged commit 35debb3 into epic/web-core Jan 20, 2025
16 of 17 checks passed
@ermshiperete ermshiperete deleted the feat/web/kmxkeyboard branch January 20, 2025 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants