feat(calc-02): add shared popup menus for mode and constants
Refactor the calc-02 demo to use a single popup menu component for angle mode and constants, align the menus to their trigger buttons, and update the README/project notes to reflect the portrait-first demo layout and constant API.
This commit is contained in:
@@ -16,15 +16,15 @@ The main class is `RpnCalculator`.
|
||||
## Project structure
|
||||
|
||||
- `src/rpn-calculator.js`: calculator engine
|
||||
- `samples/dev/index.html`: active browser demo entry point
|
||||
- `samples/dev/index.html`: browser demo entry point
|
||||
- `samples/dev/index.css`: demo styles
|
||||
- `samples/dev/index.js`: demo UI and keyboard logic
|
||||
- `samples/calc-01/index.html`: active browser demo entry point
|
||||
- `samples/calc-01/index.css`: demo styles
|
||||
- `samples/calc-01/index.js`: demo UI and keyboard logic
|
||||
- `samples/calc-02/index.html`: new responsive HP48GX-style demo entry point
|
||||
- `samples/calc-02/index.css`: new responsive demo styles
|
||||
- `samples/calc-02/index.js`: responsive HP48GX-style demo UI and keyboard logic
|
||||
- `samples/calc-02/index.html`: portrait-first HP48GX-style demo entry point
|
||||
- `samples/calc-02/index.css`: portrait-first demo styles
|
||||
- `samples/calc-02/index.js`: portrait-first HP48GX-style demo UI and keyboard logic
|
||||
- `samples/calc-XX/`: placeholder name for future demo variants
|
||||
|
||||
## Public API
|
||||
@@ -45,6 +45,10 @@ Instance helpers also available:
|
||||
|
||||
- `getOperationsByCategory()`
|
||||
- `getConstants()`
|
||||
- `listConstants()`
|
||||
- `setConstant(name, value)`
|
||||
- `removeConstant(name)`
|
||||
- `hasConstant(name)`
|
||||
|
||||
Static helpers also available:
|
||||
|
||||
@@ -84,6 +88,7 @@ Available constants:
|
||||
|
||||
- `pi`
|
||||
- `e`
|
||||
- plus any user-defined constants added through the engine API
|
||||
|
||||
They can be used through `command(...)`:
|
||||
|
||||
@@ -246,6 +251,11 @@ Main UI features:
|
||||
- grouped panels for `Stack`, `Arithmetic`, `Trigonometry`, and `Constants`
|
||||
- error display area
|
||||
|
||||
## Calc 02 demo
|
||||
|
||||
`samples/calc-02/` is a portrait-first HP48GX-inspired demo.
|
||||
It keeps the display-adjacent button row aligned in four columns, uses compact popup menus for mode and constants, and supports clipboard paste plus the `y√x` root operation.
|
||||
|
||||
The demo loads the engine from:
|
||||
|
||||
```html README.md
|
||||
@@ -270,11 +280,6 @@ The current demo supports:
|
||||
The demo also implements stack selection and stack-item move mode in its UI layer using the public calculator methods.
|
||||
It keeps the calculator screen focused and updates the visible stack window as the selection moves.
|
||||
|
||||
## Calc 02 demo
|
||||
|
||||
`samples/calc-02/` is a responsive HP48GX-inspired demo.
|
||||
It adapts its layout to the browser window, supports portrait and landscape arrangements, and includes the `y√x` root operation.
|
||||
|
||||
## Exports
|
||||
|
||||
`RpnCalculator` is exposed in both environments:
|
||||
|
||||
Reference in New Issue
Block a user