Skip to content

Instantly share code, notes, and snippets.

View taras's full-sized avatar

Taras Mankovski taras

View GitHub Profile
import Ember from 'ember';
var get = Ember.get;
var keys = Ember.keys;
var isNone = Ember.isNone;
/**
* Computed Property Macro returns computed property that evaluates to result of validation.
*
* It accepts rules hash which property name as keys and validation functions as values.
@taras
taras / Gruntfile.js
Created September 22, 2014 21:21
Build dist with grunt-broccoli
module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
broccoli: {
lib: {
config: function(){
var compileES6 = require('broccoli-es6-concatenator');
var lib = compileES6('lib', {
ignoredModules: ['ember'],
@taras
taras / store.js
Last active August 29, 2015 14:07
Example of endpoint method in custom Ember Data adapter
var Promise = Em.RSVP.Promise;
export default DS.Store.extend({
/**
* Make a request to an endpoint and pass the parameters.
*
* There are 2 ways to use this method:
* 1. this.store.endpoint(type, id, method, params)
* 2. this.store.endpoint(null, url, method, params)
*
export default Ember.Mixin.create({
actions: {
willTransition: function(transition) {
var routeName = this.get('routeName');
if (this.router.isActiveIntent(transition.targetName)) {
this.controllerFor(routeName).set('isLoading', true);
}
return true;
}
},
@taras
taras / ember-table.hbs
Last active August 29, 2015 14:15
Ember Table 2.0
{{#if template}}
{{yield columns rows}}
{{else}}
{{#ember-table data=data columns=columnsData as |columns rows|}}
{{#table-header columns=columns as |name|}}
{{name}}
{{/table-header}}
{{#table-body rows=rows as |value column|}}
{{value}}
{{/table-body}}
{{#ember-table}}
{{#header-cell as |cell|}}
{{cell.name}}
{{/header-cell}}
{{#table-cell as |cell|}}
{{cell.value}}
{{/table-cell}}
{{/ember-table}}
{{#if hasHeader}}
{{#each header as |column|}}
{{column.name}}
{{/each}}
{{/if}}
{{#list-view rows rowLayout=emberTableLayout as |row|}}
{{#each row as |column|}}
{{column.value}}
{{/each}}
{{/list-view}}
import Ember from 'ember';
import TableComponent from './drg-ember-table';
import Row from '../rows/collapsible';
var get = Ember.get;
var set = Ember.set;
export default TableComponent.extend({
classNames: ['collapsible-groups-table'],
numFixedColumns: 0,
var app = require('app'); // Module to control application life.
var BrowserWindow = require('browser-window'); // Module to create native browser window.
var express = require('express');
var emberApp = express();
// assuming built files are in dist
emberApp.use(express.static('dist'));
var emberAppServer = emberApp.listen(3000, function () {
var host = server.address().address;
@taras
taras / controllers.application.js
Last active August 29, 2015 14:28
Using Services to handle remote events
import Ember from 'ember';
const {
on
} = Ember;
export default Ember.Controller.extend({
appName:'Services Example',
webSocket: Ember.inject.service(),
bindWebSocket: on('init', function(){