Skip to content

Instantly share code, notes, and snippets.

@abrahamspaa
Last active November 21, 2016 13:00
Show Gist options
  • Save abrahamspaa/375ccd799cdeba544f49d118995703b5 to your computer and use it in GitHub Desktop.
Save abrahamspaa/375ccd799cdeba544f49d118995703b5 to your computer and use it in GitHub Desktop.
Check box
import Ember from 'ember';
export default Ember.Component.extend({
click() {
let attrs = this.attrs,
onChecked = attrs.onChecked,
isCheckedValue = attrs.isChecked.value || false;
if (onChecked && onChecked.update) {
onChecked.update(!isCheckedValue);
} else {
onChecked(!isCheckedValue);
}
}
});
{{input type="checkbox" checked=(readonly attrs.isChecked)}}
{{yield}}
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
isChecked: true,
actions: {
isChecked(value) {
this.set('value', value);
}
}
});
body {
margin: 12px 16px;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 12pt;
}
.bg-engine-checkbox {
cursor: pointer;
}
.bg-engine-checkbox span.icon {
position: relative;
display: inline-block;
border: 2px solid #CCC;
border-radius: .25em;
width: 1.3em;
height: 1.3em;
float: left;
margin-right: .5em;
}
.bg-engine-checkbox span.icon .fa-icon {
position: absolute;
font-size: .8em;
line-height: 0;
top: 50%;
left: 20%;
}
.bg-engine-checkbox:after {
content: '';
display: table;
clear: both;
}
.bg-engine-checkbox input[type="checkbox"] {
display: none;
}
bg-engine-checkbox input[type="checkbox"] + .icon > .fa-icon {
transform: scale(3) rotateZ(-20deg);
opacity: 0;
transition: all 0.3s ease-in;
}
.bg-engine-checkbox input[type="checkbox"]:checked + .icon {
background: #09f;
color: #fff;
}
.bg-engine-checkbox input[type="checkbox"]:checked + .icon > .fa-icon {
transform: scale(1) rotateZ(0deg);
opacity: 1;
}
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
isChecked::{{isChecked}}
<br/>
{{#check-box isChecked=isChecked onChecked=(mut isChecked)}}
check-box with lable
{{/check-box}}
asdf::{{value}}
{{#check-box isChecked=value onChecked=(action 'isChecked')}}
check-box with lable
{{/check-box}}
<br>
<br>
{
"version": "0.10.6",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": true,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.9.0",
"ember-data": "2.9.0",
"ember-template-compiler": "2.9.0",
"ember-testing": "2.9.0"
},
"addons": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment