Skip to content

Instantly share code, notes, and snippets.

View zeppelin's full-sized avatar
🐹

Gabor Babicz zeppelin

🐹
View GitHub Profile
@zeppelin
zeppelin / conventional-test-selectors.ts
Created April 17, 2019 19:48
Conventional test selectors
test('createTestSelector', function(assert) {
// Base namespace could be, for example, the component's name
let base = createTestSelector('namespace');
// Element that appears only once on the screen at a time
assert.equal(base('single'), '[data-test-namespace="single"]');
// List of elements, targeting all items
assert.equal(base('multiple', null), '[data-test-namespace^="multiple:"]');
import EmberObject from '@ember/object';
class SubclassWithEmberInit extends EmberObject {
someProp = 'value';
init() {
super.init(...arguments);
console.log(this.someProp); // undefined
// `this.someProp` will be available after initialization,
// just not from the `init` method...
@zeppelin
zeppelin / controllers.application.js
Created March 20, 2018 10:35
cp-validations-default-value
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
import Ember from 'ember';
export default Ember.Controller.extend({
m: ['a', 'b', 'c', 'd', 'e', 'f']
});
@zeppelin
zeppelin / controllers.application.js
Created August 22, 2017 12:59
Pickle Rick preventDefault demo
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
handleClick(name, e) {
alert(name);
e.preventDefault();
}
}
});
@zeppelin
zeppelin / component-lookup.js
Created September 23, 2014 20:02
Ember Directives component-lookup override
import Ember from 'ember';
export default Ember.Object.extend({
lookupFactory: function(name, container) {
container = container || this.container;
var fullName = 'component:' + name,
templateFullName = 'template:components/' + name,
templateRegistered = container && container.has(templateFullName);
.defaultButton {
@extend .btn;
@extend .btn-default;
}
App.IndexView = Ember.View.extend({
bindCopyButton: function() {
var self = this;
var controller = this.get('controller');
var copyButton = this.$('.copy-button');
var clip = new ZeroClipboard(copyButton);
clip.on('dataRequested', function (client, args) {
client.setText(document.location.href);
controller.set('justCopied', true);
setTimeout(function() {
@zeppelin
zeppelin / app.js
Created December 17, 2013 13:44
Reopening core views in Ember App Kit
// app/app.js
import Resolver from 'resolver';
// ...
import extendLinkView from 'appkit/core_ext/link_view';
extendLinkView();
// ...
MyRoute = Ember.Route.extend({
events: {
doSomething: function() {
console.log('Yes sir!');
}
}
});
// If your controller already has a method named `doSomething`,
// it'll take precedence over the router's event, as the controller