TwinSpark API
HTML updates
Directive | Description |
---|---|
Core | |
ts-req | Make a request for an HTML |
ts-target | Replace another part of a page with incoming HTML |
ts-req-selector | Select only a part of a response |
ts-swap | Select a strategy for HTML replacement |
ts-swap-push | "Push" HTML from server to a client |
ts-trigger | Specify event which triggers the request |
Additional | |
ts-req-method | Is it GET or POST? |
ts-req-strategy | How to deal with multiple requests being generated |
ts-req-history | Change URL after request |
ts-data | Additional data for request |
ts-json | As ts-data , but for JSON requests |
ts-req-batch | Combine multiple requests into a single one |
Actions
Directive | Description |
---|---|
ts-action | Run actions |
ts-trigger | Specify event which triggers actions |
ts-req-before | Actions to run before request |
ts-req-after | Actions to run after request |
Events
Event | Description |
---|---|
ts-ready | When HTML is "activated" |
ts-trigger | Event generated by ts-trigger |
ts-req-before | Before request |
ts-req-after | After request |
ts-req-error | On request errors |
ts-pushstate | When a new entry is pushed to browser history |
ts-replacestate | When a browser history entry is replaced |
visible | When 1% of element appears on screen |
invisible | When element was visible and now less than 1% of it is |
closeby | When 1% of element is closer to viewport than half of window height |
away | Anthonym to closeby |
remove | When an element is removed (depends on a trigger subscribing) |
empty | When element becomes childless |
notempty | When element had hierarchy changes and has children |
childrenChange | Combination of empty and notempty |
Headers
Header | Description |
---|---|
Request | |
accept | TwinSpark requests are always text/html+partial |
ts-url | Current page URL |
ts-origin | Identifier of an element which made request |
ts-target | Identifier of a target element |
Response | |
ts-swap | Override HTML swap strategy |
ts-swap-push | "Push" some HTML, replace: selector to <= selector from |
ts-history | New browser history URL |
ts-title | New page title in case of history push |
ts-location | Redirect to target URL |
Config
Configuration attributes can be can set on twinspark script
tag:
<script src="/static/twinspark.js" data-timeout="5000">
Attribute | Default | Description |
---|---|---|
data-timeout | 3000 | Timeout for ts-req requests |
data-history | 20 | Limit for IndexedDB page history storage (set to 0 to disable) |
data-settle | class,style,width,height | Attributes to settle during non-morph swap |
data-active-class | ts-active | Class for an element which made a request, until it ends |
data-insert-class | ts-insert | Class for a newly inserted elements with an id |
data-remove-class | ts-remove | Class for an element with an id being removed from DOM |
JavaScript API
To be done