-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug?] Both setting the content behavior and content in the tree causes what seems like two DOMElement contents on a single node. #33
Comments
I chatted with @Morgantheplant and we thought perhaps a nice result would be that the |
@trusktr Can you share the code for that example? |
@arkadyp Sure. (: FamousFramework.component('joejoe:experiments', {
behaviors: {
'#root': {
content: `<h1>Hello render glitches!</h1>`,
size: [undefined, undefined],
style: {
'background-color': 'rgba(217, 154, 167, 0.5)',
perspective: '1000px'
}
},
'.hello': {
'inner-html': function(options) {
var content = ''
for (let i = 0, len=options.length; i<len; i+=1) {
content += (`
<option value="${options[i].toLowerCase()}">
Option ${options[i]}!
</option>
`)
}
return content
}
},
'.spinner': {
$repeat: function(spinners) {
return spinners
//return 3 // this would be nice.
},
//$repeat: 3, // or this, when we don't have an array.
content: (` <h2>spinner</h2> `),
size: [100, 100],
origin: [0.5,0.5,0.5],
style: {
'background-color': '#9AD9CC',
'backface-visibility': 'visible'
},
'position-x': function(spinners, $index) {
var i = $index
return 100+(i*100)
},
'position-y': function(spinners, $index) {
var i = spinners[$index] / 12000
return 200+(100*Math.sin(i))
},
'position-z': function(spinners, $index) {
var i = spinners[$index] / 12000
return (200*Math.sin(i))
}
//'rotation-y': function(rotation, $index) {
//return rotation*($index+1);
//}
}
},
states: {
options: [ 'one', 'two', 'three' ],
spinners: [1000,4000,7000,10000,13000,16000,19000,22000,25000,28000,31000,34000]
},
events: {
// life cycle events for child nodes would be great!! Any implications?
//'.spinner': {
//'post-load': function($index, $famousNode) {
//}
//},
$lifecycle: {
'post-load': function($state, $timelines, $famousNode /*, $clock*/) {
//$clock.setInterval(function() {
//$state.set('rotation', $state.get('rotation') + Math.PI, {duration: 5000})
//}, 16)
setTimeout(function() {
$timelines.get('startRotation').start({duration: 8000}, function rotate() {
$timelines.get('rotation').start({duration: 4000}, rotate)
})
}, 1000)
var id = $famousNode.addComponent({
onUpdate: function(time) {
var spinners = $state.get('spinners')
for (let i=0, len=spinners.length; i<len; i+=1) {
spinners[i] = (spinners[i]+500)
}
$state.set('spinners', spinners)
$famousNode.requestUpdateOnNextTick(id)
}
})
$famousNode.requestUpdateOnNextTick(id)
}
}
},
tree: (`
<node id="root">
<node class="spinner">
<div>
<select class="hello"> </select>
</div>
</node>
</node>
`)
})
.timelines({
rotation: {
'.spinner': {
'rotation-y': {
'0%': { value: 0, curve: 'linear' },
'100%': { value: Math.PI * 2, curve: 'linear'}
}
}
},
startRotation: {
'.spinner': {
'rotation-y': {
'0%': { value: 0, curve: 'easeIn' },
'100%': { value: Math.PI * 2, curve: 'linear'}
}
}
}
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Example: https://api-beta.famo.us/codemanager/v1/containers/c3283546-9d8b-4c6d-a3c0-dd8c68fae9b4/share
Inspect element on one of those "spinners" and you'll see they contain more than one
famous-dom-element-content
DIV elements.The text was updated successfully, but these errors were encountered: