Skip to content

Instantly share code, notes, and snippets.

View lifeart's full-sized avatar
🐹
Working from home

Alex Kanunnikov lifeart

🐹
Working from home
View GitHub Profile
import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class ApplicationController extends Controller {
appName = 'Input with handler example';
@tracked text;
handleInput(event) {
event.preventDefault();
import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class ApplicationController extends Controller {
appName = 'Input with handler example';
@tracked text;
handleInput(event) {
event.preventDefault();
import Controller from '@ember/controller';
import { action } from '@ember/object';
export default class ApplicationController extends Controller {
@action sayHello() {
alert('Hello');
}
}
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
appName = 'Ember Twiddle';
}
@lifeart
lifeart / controllers.application\.js
Last active January 30, 2021 09:17
Immutable Ember Data
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class ApplicationController extends Controller {
@service('store') store;
constructor() {
super(...arguments);
const initial = this.store.createRecord('immutablel', { props: { name: 'Jake' }});
@lifeart
lifeart / index.js
Last active January 29, 2021 19:32
stateofjs mining
const fs = require('fs');
const items = JSON.parse(fs.readFileSync('state_of_js_2016_2020.json', 'utf8'));
const last = items.filter((item) => [2020].includes(item.year));
// 2_5, 5_10, 10_20
const exp = last.filter((item) => ['1_2', '2_5', '5_10', '10_20'].map(e=>`range_${e}`).includes(item.user_info.years_of_experience));
// 10_30, 30_50, 50_100, 100_200,
const payd = exp.filter((item) => ['10_30','30_50', '50_100', '100_200'].map(e=>`range_${e}`).includes(item.user_info.yearly_salary));
const shape = {};
const fans = ['ember', 'react', 'angular', 'vuejs', 'other'];
@lifeart
lifeart / right-menu.js
Created January 27, 2021 20:09
right-menu-modifier
import { modifier } from 'ember-modifier';
// https://raw.githubusercontent.com/UnrealSecurity/context-js/main/context/context.js
function hasProp(obj, key) {
return Object.prototype.hasOwnProperty.call(obj, key);
}
const CONTEXT_CLASSES = {
ITEM: 'item',
CONTEXT: 'right-menu',
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class ApplicationController extends Controller {
@tracked
isBreaking = false;
@action break() {
this.isBreaking = !this.isBreaking;
@lifeart
lifeart / abilities.user\.js
Last active November 22, 2020 10:18
New Twiddle
import { alias } from '@ember/object/computed';
import { Ability } from 'ember-can';
export default Ability.extend({
model: null,
canCreate: alias('model.isAdmin')
});
import Controller from '@ember/controller';
export default class ApplicationController extends Controller {
items = [ { name: 1 }, undefined, { name: 2} ]
}