feat(shared): Optional ordering for design options and menus
This commit is contained in:
parent
bafb33755c
commit
a1392cba2e
2 changed files with 23 additions and 11 deletions
|
@ -11,32 +11,44 @@ how options are presented.
|
|||
|
||||
## Add menu structure
|
||||
|
||||
Because FreeSewing designs hae been written with the expectation that
|
||||
Because FreeSewing designs have been written with the expectation that
|
||||
they will be used primarily through the freesewing.org website,
|
||||
their options have been extended with menu information.
|
||||
|
||||
```js
|
||||
options: {
|
||||
// Fit
|
||||
waistEase: { pct: 2, min: 0, max: 10, menu: 'fit' },
|
||||
seatEase: { pct: 5, min: 0, max: 15, menu: 'fit' },
|
||||
waistEase: { pct: 2, min: 0, max: 10, menu: 'fit', sort: '100' },
|
||||
seatEase: { pct: 5, min: 0, max: 15, menu: 'fit', sort: '200' },
|
||||
// Style
|
||||
waistHeight: { pct: 5, min: 0, max: 100, menu: 'style' },
|
||||
lengthBonus: { pct: 0, min: -15, max: 10, menu: 'style' },
|
||||
waistHeight: { pct: 5, min: 0, max: 100, menu: 'style', sort: '400' },
|
||||
lengthBonus: { pct: 0, min: -15, max: 10, menu: 'style', sort: '300' },
|
||||
elasticatedCuff: { bool: true, menu: 'style' },
|
||||
buttons = { count: 7, min: 4, max: 12, menu: 'style.closure' }
|
||||
extraTopButton = { bool: true, menu: 'style.closure' }
|
||||
buttons = { count: 7, min: 4, max: 12, menu: 'style.closure', sort: '800' }
|
||||
extraTopButton = { bool: true, menu: 'style.closure', sort: '850' }
|
||||
}
|
||||
```
|
||||
|
||||
In the above example, the added `menu` attributes provide the
|
||||
the freesewing.org website UI with information about the options
|
||||
freesewing.org website UI with information about the options
|
||||
should appear in menus.
|
||||
The `waistEase` and `seatEase` options should appear in the `fit`
|
||||
- The `waistEase` and `seatEase` options should appear in the `fit`
|
||||
menu while the other options go in the `style` menu.
|
||||
Additionally, the `buttons` and `extraTopButton` options should
|
||||
- Additionally, the `buttons` and `extraTopButton` options should
|
||||
appear in a `closure` submenu under the `style` menu.
|
||||
|
||||
The optional 'sort' attributes provide the UI with information about
|
||||
the order in which options and menus should appear.
|
||||
- Within the `fit` menu, `waistEase` should come before `seatEase`.
|
||||
- Within the `style` menu, options should be in the order
|
||||
`lengthBonus`, `waistHeight`, `buttons`, `extraTopButton`, and
|
||||
`elasticatedCuff`.
|
||||
- The `elasticatedCuff` option does not have a `sort` attribute,
|
||||
so it should appear after the options that do.
|
||||
- Because the `fit` menu has an option with a sort value that comes
|
||||
before any of the sort values for options in the `style` menu,
|
||||
the `fit` menu should appear before the `style` menu.
|
||||
|
||||
<Note>
|
||||
|
||||
##### This is not a core feature
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue