can-view-callbacks
Advanced tools
Comparing version 4.0.0-pre.5 to 4.0.0-pre.6
106
docs/attr.md
@@ -68,18 +68,21 @@ @function can-view-callbacks.attr attr | ||
<button tooltip="{{deleteTooltip()}}"> | ||
Delete | ||
</button> | ||
```html | ||
<button tooltip="{{deleteTooltip()}}"> | ||
Delete | ||
</button> | ||
``` | ||
Where `deleteTooltip()` changes depending on how many users are selected: | ||
deleteTooltip: function(){ | ||
var selectedCount = selected.length; | ||
if(selectedCount) { | ||
return "Delete "+selectedCount+" users"; | ||
} else { | ||
return "Select users to delete them."; | ||
} | ||
} | ||
```js | ||
deleteTooltip: function(){ | ||
var selectedCount = selected.length | ||
if(selectedCount) { | ||
return "Delete "+selectedCount+" users"; | ||
} else { | ||
return "Select users to delete them."; | ||
} | ||
}, | ||
``` | ||
The [can-util/dom/events/attributes/attributes attributes] event can be used to listen to when | ||
@@ -122,11 +125,15 @@ the tooltip attribute changes its value like: | ||
<button toggle="showing"> | ||
{{#showing}}Show{{else}}Hide{{/showing}} more info</button> | ||
<div fade-in-when="showing"> | ||
Here is more info! | ||
</div> | ||
```html | ||
<button toggle="showing"> | ||
{{#if(showing)}}Hide{{else}}Show{{/if}} more info</button> | ||
<div fade-in-when="showing"> | ||
Here is more info! | ||
</div> | ||
``` | ||
These values can be read from [can-view-callbacks.attrData]'s scope like: | ||
attrData.scope.attr("showing") | ||
```js | ||
attrData.scope.attr("showing") | ||
``` | ||
@@ -140,36 +147,43 @@ But often, you want to update scope value or listen when the scope value | ||
var showing = attrData.scope.compute("showing") | ||
```js | ||
var showing = attrData.scope.compute("showing") | ||
``` | ||
This value can be written to by `toggle`: | ||
```js | ||
canViewCallbacks.attr("toggle", function(el, attrData){ | ||
canViewCallbacks.attr("toggle", function(el, attrData){ | ||
var attrValue = el.getAttribute("toggle") | ||
toggleCompute = attrData.scope.compute(attrValue); | ||
var attrValue = el.getAttribute("toggle") | ||
toggleCompute = attrData.scope.compute(attrValue); | ||
$(el).click(function(){ | ||
toggleCompute(! toggleCompute() ) | ||
}) | ||
$(el).click(function(){ | ||
toggleCompute(! toggleCompute() ) | ||
}) | ||
}) | ||
``` | ||
}) | ||
Or listened to by `fade-in-when`: | ||
canViewCallbacks.attr("fade-in-when", function( el, attrData ) { | ||
var attrValue = el.getAttribute("fade-in-when"); | ||
fadeInCompute = attrData.scope.compute(attrValue), | ||
handler = function(ev, newVal, oldVal){ | ||
if(newVal && !oldVal) { | ||
$(el).fadeIn("slow") | ||
} else if(!newVal){ | ||
$(el).hide() | ||
} | ||
} | ||
```js | ||
canViewCallbacks.attr("fade-in-when", function( el, attrData ) { | ||
var attrValue = el.getAttribute("fade-in-when"); | ||
fadeInCompute = attrData.scope.compute(attrValue), | ||
// handler for when the compute changes | ||
handler = function(ev, newVal, oldVal){ | ||
if(newVal && !oldVal) { | ||
$(el).fadeIn("slow") | ||
} else if(!newVal){ | ||
$(el).hide() | ||
} | ||
} | ||
fadeInCompute.on("change",handler); | ||
fadeInCompute.on("change",handler); | ||
... | ||
}); | ||
... | ||
}) | ||
``` | ||
When you listen to something other than the attribute's element, remember to | ||
@@ -190,6 +204,8 @@ unbind the event handler when the element is [can-util/dom/events/removed/removed removed] from the page: | ||
//Call canViewCallbacks.attr first | ||
canViewCallbacks.attr('tooltip', tooltipFunction); | ||
//Preload a template for rendering | ||
var renderer = stache("<div tooltip='Hi There'>...</div>"); | ||
//No calls to canViewCallbacks.attr after this will be used by `renderer` | ||
```js | ||
//Call canViewCallbacks.attr first | ||
canViewCallbacks.attr('tooltip', tooltipFunction); | ||
//Preload a template for rendering | ||
var renderer = stache("<div tooltip='Hi There'>...</div>"); | ||
//No calls to canViewCallbacks.attr after this will be used by `renderer` | ||
``` |
{ | ||
"name": "can-view-callbacks", | ||
"version": "4.0.0-pre.5", | ||
"version": "4.0.0-pre.6", | ||
"description": "Registered callbacks for behaviors", | ||
@@ -5,0 +5,0 @@ "homepage": "https://canjs.com/doc/can-view-callbacks.html", |
31988