compo-views v0.10.48
Views Component
ViewManager {
View route='a' default { /* template */ }
View route='b' path='./foo.mask';
}Routing
Using Ruta.
Resolve routes. The ViewMap.
First of all, ViewManager gets the list of all available routes from different sources:
- Route attributes of children
Views. - By an expression from current
model,scope,ctxor ancestors.
Parameters
Current route parameter values are passed to the rendered view.
ViewManager {
View route='/users' { /* list template */ }
View route='/user/:id/edit' { /* edit template */ }
View route='/user/create' { /* create template */ }
}ViewManager
- Attributes
- Signals
- Slots
#### Input Elements - [View](#view) - [Progress](#progress) - [Notification](#notification)
ViewManager Attributes
| Name | Type | Default | Description |
|---|---|---|---|
base | string | current location | Base location, from which remote templates are loaded |
viewmap | string | empty | Expression to get the viewmap |
routing | boolean | true | Should update the window location with HistoryAPI when navigating to the view |
nested | boolean | true | Depends on parent ViewManager |
Api
navigate(path: string):Promise<Route>OpenViewfor the path, and hides current if any.
Signals
ViewManager Component emits signals to current View on various states.
viewActivity(type)Types: - `start` - `end`viewActivationviewDeactivation
Slots
viewNavigate(path:string)Signal alias fornavigatemethod.
Components
ViewManager defines some nested components. So you can override or extend each.
View
View template is placed inside the View component
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
default | boolean | false | If no route is matched, this view will be shown to user |
detach | boolean | true | After the view was hidden, detach the view from DOM. |
recycle | boolean | false | Completely destroy the view on hide and re-render the next time it gets visible . |
Methods
hide:Promise_Hides the view with `display:none` style._ > Note that it will be also detached from DOMshow:Promise_Attaches, if detached, and shows the view_.
Both methods can be overridden to perform some animations or other behavior.
Progress
Progress component is always rendered. Current implementation shows the progress element when current View is loading.
Notification
Notification component is always rendered. Current implementation shows the notification messages, on errors etc.
Examples
# install atma toolkit
npm install atma -g
# run examples static server
npm run examples
# navigate `http://localhost:5777/examples/tabs/sync.html`
# and many more...Test
npm test:copyright: MIT - Atma.js Project
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
