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
@lifeart
lifeart / TestData.js
Last active September 6, 2017 11:49
WebWorker JSON Parse - async json parsing
console.log('Starting...');
console.time('Buiding test Data');
const jsonData = {data:new Array(9000000)};
for (let i = 0; i < 9000000; i++) {
jsonData.data.push(`el-${i}`);
}
const dataString = JSON.stringify(jsonData);
console.timeEnd('Buiding test Data');
const interval = setInterval(()=>{
console.log(`${Date.now()} - event loop not blocked`);
@lifeart
lifeart / state.js
Created September 21, 2017 11:55
ES6 ng 1.6 state
const configObject = {
setup() {
const args = this.ngConstruct();
const argumentsList = Array.prototype.slice.call(arguments, 0);
for (let i = 0; i < args.length - 1; i++) {
this[args[i]] = argumentsList[i];
}
console.log('setup!!!', typeof this['$stateProvider']);
this.init.apply(this,argumentsList);
},
@lifeart
lifeart / components.a-a.js
Last active September 26, 2017 09:36
New Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@lifeart
lifeart / c-proxy.js
Created November 6, 2017 10:16
proxy-demo
import Ember from 'ember';
const secondProxyMethods = {
get(target, prop) {
if (!window.counter) {
window.counter = 0;
}
console.log(`Чтение${a} ${prop}`);
window.counter++;
console.log(window.counter);
return target[prop];
@lifeart
lifeart / attrs-observer.js
Last active November 24, 2017 11:17
Ember observers mixin
import Ember from 'ember';
export default Ember.Mixin.create({
lastChangedAttrs: null,
init() {
this.resetLastChangedAttrs();
this.initObservers();
this._super(...arguments);
},
didChangeAttrs() {
console.log('not implemented');
@lifeart
lifeart / links.txt
Last active November 25, 2017 06:01
Ember-addons info
@lifeart
lifeart / route.js
Last active November 27, 2017 13:30
example
{
beforeModel(params) {
if (this.store.peekAll('item').length > MAX_IN_MEMORY_OBJECTS) {
this.store.unloadAll('item');
}
},
model(params) {
return this.ajax('getCoordsByAdress', params.address)
.then(coords=>{
return this.store.query('item', {x: coords.x, y: coords:y, radius: 10, maxItems: 100})
@lifeart
lifeart / defaultComponent.jsm
Last active November 30, 2017 21:16
Angular 1.5.8 ES6 modules
export default class AngularComponent {
constructor(...args) {
this.setupComponent(args);
}
setupComponent(args) {
console.log('setupComponent', args);
}
static ngConstruct() {
const instance = new this();
return {
@lifeart
lifeart / can.js
Last active December 6, 2017 20:19
angular-can
'use strict';
angular.module('common')
.provider('can', [
'lodash',
function (
lodash
) {
const abilities = {};
const abilityAliases = {};