Skip to content

Instantly share code, notes, and snippets.

@iezer
Created January 11, 2019 12:32
Show Gist options
  • Save iezer/6609945e9a7f36d70bfb5fb0b8d4a6a7 to your computer and use it in GitHub Desktop.
Save iezer/6609945e9a7f36d70bfb5fb0b8d4a6a7 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
increment: 1,
index: 0,
init() {
this._super(...arguments);
this.set('items', [0, 1, 2, 3, 4, 5, 6, 7]);
},
didInsertElement() {
this._super(...arguments);
const update = () => {
const { index, items } = this;
if (index >= items.length -1) {
this.set('increment', -1);
} else if (index <= 0) {
this.set('increment', 1);
}
const newIndex = index + this.increment;
this.set('index', newIndex);
Ember.run.later(() => update(), 500);
}
Ember.run.later(() => update(), 500);
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export function circleStyle([index, i] /*, hash*/) {
return `transform: "translateX(${(index - i) * 40}px)"`;
}
export default Ember.Helper.helper(circleStyle);
body {
margin: 12px 16px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12pt;
}
.App {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
.background {
display: flex;
}
.circle {
width: 40px;
height: 40px;
background-color: #ddd;
position: relative;
border-radius: 20px;
margin-right: 4px;
overflow: hidden;
}
.mover {
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
border-radius: 20px;
background-color: tomato;
transition: transform .5s ease;
}
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{page-loader}}
<br>
<br>
<div className="App">
<div className="background">
{{#each this.items as |i|}}
<div className="circle">
<div
className="mover"
style={{circle-style index i}}
/>
</div>
{{/each}}
</div>
</div>
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment