Skip to content

Instantly share code, notes, and snippets.

@ioanszabo
Last active June 24, 2017 07:05
Show Gist options
  • Save ioanszabo/8841ddd02f8367dee4c72cf657422ca7 to your computer and use it in GitHub Desktop.
Save ioanszabo/8841ddd02f8367dee4c72cf657422ca7 to your computer and use it in GitHub Desktop.
New Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
showComponent: false,
allConditionsMet() {
let paramsOK = this.validateParams()
return paramsOK
},
didInsertElement() {
this.set('showComponent', this.allConditionsMet())
},
validateParams() {
let x = this.get('params').x
let y = this.get('params').y
let data = this.get('params').data
return (data.length && (x.length || y.length)) > 0
}
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{outlet}}
{{my-component}}
<br>
<br>
{{#if showComponent}}
<div class="chart">
</div>
{{/if}}
import Resolver from '../../resolver';
import config from '../../config/environment';
const resolver = Resolver.create();
resolver.namespace = {
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix
};
export default resolver;
import { moduleForComponent, test } from 'ember-qunit'
import hbs from 'htmlbars-inline-precompile'
moduleForComponent('d3-heatmap', 'Integration | Component | d3 heatmap', {
integration: true
})
test('it displays the chart element', function (assert) {
const dummyData = {
x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ],
y: [],
data: [100, 101, 102, 0, 0, 106, 107, 108, 109, 110, 111, 112, 113, 114, 0, 0, 0, 0, 0, 20, 21, 22, 23, 45, 25, 34, 12, 23, 23, 130]
}
this.set('params', dummyData)
this.render(hbs`{{my-component params=params}}`)
assert.equal(this.$('.chart').length, 1)
})
import resolver from './helpers/resolver';
import {
setResolver
} from 'ember-qunit';
setResolver(resolver);
{
"version": "0.12.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": true
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "2.12.0",
"ember-template-compiler": "2.12.0",
"ember-testing": "2.12.0"
},
"addons": {
"ember-data": "2.12.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment