Skip to content

Instantly share code, notes, and snippets.

View vasilionjea's full-sized avatar
🌎
Nullius in verba

Vasili Onjea vasilionjea

🌎
Nullius in verba
View GitHub Profile
import Ember from 'ember';
const STATES = ['REJECTED', 'APPROVED', 'REQUESTED'];
function getRandomState() {
return STATES[Math.floor(Math.random() * STATES.length)];
}
export default Ember.Controller.extend({
appName: 'Ember Array CP',
@vasilionjea
vasilionjea / controllers.application.js
Last active May 16, 2018 23:21
Ember.run.debounce + Ember concurrency
import Ember from 'ember';
import { task, timeout } from 'ember-concurrency';
const DEBOUNCE_TIME = 400;
function xhrUpdate(data) {
return new Promise(function(resolve) {
Ember.run.later(() => resolve(data.isActive), 1300);
});
}
@vasilionjea
vasilionjea / controllers.application.js
Last active May 16, 2018 23:04
Ember.run.debounce | Simple XHR
import Ember from 'ember';
function xhrUpdate(data) {
return new Promise(function(resolve) {
Ember.run.later(() => resolve(data.isActive), 1300);
});
}
export default Ember.Controller.extend({
appName: 'Ember.run.debounce',
@vasilionjea
vasilionjea / controllers.application.js
Created May 16, 2018 21:17
Ember Conccurency tasks
import Ember from 'ember';
import { task, timeout } from 'ember-concurrency';
const counters = {
enqueue: 0,
restartable: 0,
drop: 0,
};
function fetch(type) {
@vasilionjea
vasilionjea / components.my-component.js
Last active May 24, 2018 00:05
Setting component's class VS classNames from the template
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['my-component'],
didRender() {
console.log('didRender');
}
});
@vasilionjea
vasilionjea / controllers.application.js
Last active April 26, 2018 21:30
DS.Transform with POJOs
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
xhr: Ember.inject.service(),
init() {
this._super(...arguments);
@vasilionjea
vasilionjea / components.inner-component.js
Last active April 3, 2018 20:09
didRender bubbling 2
import Ember from 'ember';
export default Ember.Component.extend({
isOpen: false,
init() {
this._super(...arguments);
setTimeout(() => {
console.log('3 seconds later...');
import Ember from 'ember';
const TOOLBAR_OPTIONS = [
['bold', 'italic', 'underline'],
[
{'list': 'ordered'},
{'list': 'bullet'},
{'script': 'sub'},
{'script': 'super'},
'link',
import Ember from 'ember';
const { Component, computed } = Ember;
export default Component.extend({
tagName: 'button',
type: 'button',
classNames: ['accordion-item__header'],
attributeBindings: ['type', 'aria-expanded', 'aria-controls'],
'aria-expanded': computed('isExpanded', function() {
@vasilionjea
vasilionjea / components.my-component.js
Created December 13, 2017 20:01
Ember `mut` helper
import Ember from 'ember';
export default Ember.Component.extend({
input(e) {
// The `mut` helper changes the `appName` value to what
// is provided as the `action` argument.
this.get('onNewValue')(e.target.value);
}
});