Skip to content

Commit 3ca74cb

Browse files
committed
Merge pull request #1 from firefly-ui/adds-initial-implementation
Adds initial implementation
2 parents afad8ee + 15df0e9 commit 3ca74cb

File tree

12 files changed

+136
-7
lines changed

12 files changed

+136
-7
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ matrix:
2222
- env: EMBER_TRY_SCENARIO=ember-canary
2323

2424
before_install:
25-
- export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH
2625
- "npm config set spin false"
2726
- "npm install -g npm@^2"
2827

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import Ember from 'ember';
2+
3+
export default Ember.Component.extend({
4+
tagName: 'input',
5+
value: null,
6+
type: 'checkbox',
7+
8+
attributeBindings: ['type', 'checked', 'disabled', 'indeterminate', 'value'],
9+
10+
change() {
11+
const checked = this.element.checked;
12+
const indeterminate = this.element.indeterminate;
13+
const value = this.get('value');
14+
15+
// Checked and indeterminate state have been changed, but that's not DDAU!
16+
// Reset the change, send the action and wait for it to be changed manually
17+
this.element.checked = this.get('checked');
18+
this.element.indeterminate = this.get('indeterminate');
19+
20+
this.sendAction('on-change', checked, { value, indeterminate });
21+
},
22+
});

addon/components/ff-checkbox.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import Ember from 'ember';
2+
import layout from '../templates/components/ff-checkbox';
3+
4+
export default Ember.Component.extend({
5+
layout: layout,
6+
value: null,
7+
classNames: ['ff-checkbox'],
8+
9+
actions: {
10+
sendChecked(checked, value) {
11+
this.sendAction('on-change', checked, value);
12+
}
13+
}
14+
});
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{{ff-checkbox-base
2+
on-change="sendChecked"
3+
value=value
4+
checked=checked
5+
disabled=disabled
6+
indeterminate=indeterminate
7+
}}
8+
<div class="ff-checkbox-mark"></div>

app/components/ff-checkbox-base.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ff-checkbox/components/ff-checkbox-base';

app/components/ff-checkbox.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ff-checkbox/components/ff-checkbox';

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ff-checkbox",
3-
"version": "0.1.0",
3+
"version": "1.0.0",
44
"description": "Theme-able checkbox component for Ember 2.0! Supports Foundation and Bootstrap, part of Firefly UI",
55
"directories": {
66
"doc": "doc",
@@ -36,7 +36,8 @@
3636
"ember-load-initializers": "^0.5.1",
3737
"ember-resolver": "^2.0.3",
3838
"ember-try": "^0.2.2",
39-
"loader.js": "^4.0.1"
39+
"loader.js": "^4.0.1",
40+
"phantomjs": "^2.1.7"
4041
},
4142
"keywords": [
4243
"ember-addon"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import Ember from 'ember';
2+
3+
export default Ember.Controller.extend({
4+
actions: {
5+
toggleProperty(property) {
6+
this.toggleProperty(property);
7+
}
8+
}
9+
});
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
<h2 id="title">Welcome to Ember</h2>
22

33
{{ff-checkbox
4-
on-change=(action (mut checked))
5-
on-indeterminate-change=(action (mut indeterminate))
64
checked=checked
75
indeterminate=indeterminate
6+
disabled=disabled
7+
on-change=(action (mut checked))
88
}}
99

1010
<div>
11-
<button {{action "toggleChecked"}}>Toggle Checked</button>
11+
<button {{action "toggleProperty" "checked"}}>Toggle Checked</button>
1212
Checked: {{checked}}
1313
</div>
1414

1515
<div>
16-
<button {{action "toggleIndeterminate"}}>Toggle Indeterminate</button>
16+
<button {{action "toggleProperty" "indeterminate"}}>Toggle Indeterminate</button>
1717
Indeterminate: {{indeterminate}}
1818
</div>
19+
20+
<div>
21+
<button {{action "toggleProperty" "disabled"}}>Toggle Disabled</button>
22+
Disabled: {{disabled}}
23+
</div>

tests/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
{{content-for "body"}}
2222
{{content-for "test-body"}}
2323

24+
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>
2425
<script src="testem.js" integrity=""></script>
2526
<script src="assets/vendor.js"></script>
2627
<script src="assets/test-support.js"></script>

0 commit comments

Comments
 (0)