Comments (4)
I suggest trying out CSS grid as an alternate layout system. This would allow developers to have a fine grained control on the CSS level. E.g. ability to specify mixed units - fr
- relative to viewport and px
- fixed size as opposed to current state where card width is fixed only. We could also take advantage of grid-template-areas
:
grid-template-columns: 200px 1fr 1fr;
grid-template-rows: 80px 1fr 1fr 100px;
grid-template-areas:
"header header header"
"sidebar content-1 content-1"
"sidebar content-2 content-3"
"footer footer footer";
This API could be more intuitive for non-pure web devs.
I am not sure if this will not affect the the mouse handling in viz mentioned above.
from wave.
Agree, grids are one possible solution (assuming they behave identically across major browsers).
One way to state the overarching goal is:
"Make my app look professional and slick out of the box, without making me do a ton of upfront work."
This implies:
- Allow authors to choose between multiple layouts that best fit their use case, say:
- Pixel-perfect grid (what we have today).
- 2-column layout with a header/footer that automatically transforms into a 1-column layout when space-constrained (fig. 1).
- 2-column layout with automatic header/footer/menu/navigation. For example, we have a mechanism today for laying out content (fig. 2), but we need to allow authors to enable the surrounding chrome (fig. 3).
- Preserve the conciseness of the current API.
- Introduce a new
layout
attribute on themeta_card
that lets users specify which layout to use. e.g.layout='GridLayout(foo=..., bar=...)'
. - The
box=
string argument on each card continues to be the primary mechanism for specifying "how and where this card is laid out". Today, thebox
string is parsed into 4 numbers that indicated aleft top width height
tuple. Instead, we need to interpret thebox
argument based on themeta_card.layout
attribute.
- Introduce a new
from wave.
Related to #38
from wave.
Closed via #58
from wave.
Related Issues (20)
- Add width arg to ui.copyable_text
- Problem with wave tour image building because can find the h2o_wave latest version in PYPI HOT 1
- PDF does not render in expander in Safari HOT 3
- Easily Render Documents
- Translation for hardcoded string components
- Resolve High Severity Vulnerabilities
- Keep cursor active in textbox after textbox trigger HOT 5
- Resolve Vulnerabilities in Wave Tour Image HOT 1
- Resolve Vulnerabilities in University Image HOT 2
- ui dependencies in package-lock.json missing resolved/integrity fields HOT 2
- prune master branch from wave repo HOT 1
- "read: connection reset by peer" makes app unusable HOT 1
- Request for Extension of `ui.dialog` and `ui.side_panel` to Support `ui.chatbot_card` Integration
- Error Running Docker Container on Apple Silicon HOT 5
- Try generating docs widget images in a headed mode within CI
- panic: close of closed channel
- Docs wrong for dropping all cards HOT 1
- Loading Images from Local Files in UI Cards
- Unable to disable TLS verification HOT 3
- Unable to View Single Row in Table with Pagination Enabled
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wave.