Skip to content

Instantly share code, notes, and snippets.

@avivshafir
Created June 13, 2020 11:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save avivshafir/2643a872195e4d6df867319e865ae5e8 to your computer and use it in GitHub Desktop.
Save avivshafir/2643a872195e4d6df867319e865ae5e8 to your computer and use it in GitHub Desktop.
class MenuItem {
constructor(menuItems = []) {
this.menuItems = menuItems;
this.isVisible = false;
}
onClick = () => {
// if (this.menuItems.length !== 0) { //menu has no children -> run action
// //run action function
// } else {
// //show menu items children
// // for each menu item child make it isVisible = true
// }
}
}
class MainMenu implements IMenuItem
class ActionMenuItem implements IMenuItem
// public interface IMenuItem {
// void onClick;
// }
const countCapitals = new ActionMenuItem();
countCapitclass MenuItem {
constructor(menuItems = []) {
this.menuItems = menuItems;
this.isVisible = false;
}
onClick = () => {
// if (this.menuItems.length !== 0) { //menu has no children -> run action
// //run action function
// } else {
// //show menu items children
// // for each menu item child make it isVisible = true
// }
}
}
class MainMenu implements IMenuItem
class ActionMenuItem implements IMenuItem
// public interface IMenuItem {
// void onClick;
// }
// class CountCapitalsCommand implements ICommand {
// void run() {
//
// }
// }
const countCapitals = new ActionMenuItem(new CountCapitalsCommand());
// countCapitals.onClick = () => console.log("Hi")
// main
const versionMenuItem = new MainMenu([
countCapitals
])
const printNameMenuItem = new ActionMenuItem()
// printNameMenuItem.onClick = () => console.log("Home")
const mainMenu = new MenuItem([versionMenuItem, ]);
als.onClick = () => console.log("Hi")
// main
const versionMenuItem = new MainMenu([
countCapitals
])
const versionMenuItem = new ActionMenuItem()
const mainMenu = new MenuItem([versionMenuItem, ]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment