Skip to content

Instantly share code, notes, and snippets.

@pswai
pswai / directive-mock.js
Last active May 3, 2017 04:42
AngularJS: Mocking directive for unit test
// With reference to http://stackoverflow.com/a/20951085/605840
// Directives are just factories, so just override your directive
// with "Directive" suffix.
beforeEach(function () {
module(function ($provide) {
$provide.factory('starBoxDirective', function () {
// Make sure to return an array of objects
return [{
// Directive Definition Object
@pswai
pswai / ng-strap-modal-decorator.js
Last active August 29, 2015 14:12
AngularStrap $modal Controller and Resolve
// Dependency: underscore.js or lodash
angular.module('ps.modalOpen')
.config(function ($provide) {
'use strict';
// Use decorator to add new functionality
$provide.decorator('$modal', function ($controller, $delegate, $injector, $q, $rootScope) {
// Add new open() method
@pswai
pswai / ng-strap-modal-decorator-no-lodash.js
Last active August 29, 2015 14:12
AngularStrap $modal Controller and Resolve without Lodash
angular.module('ps.modalOpen')
.config(function ($provide) {
'use strict';
// Use decorator to add new functionality
$provide.decorator('$modal', function ($controller, $delegate, $injector, $q, $rootScope) {
// Add new open() method
$delegate.open = open;
@pswai
pswai / install-git-alias.sh
Created November 1, 2016 02:22
Install Git Aliases
#!/usr/bin/env bash
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st "status -sb"
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --abbrev-commit"
git config --global alias.lol "log --graph --decorate --oneline"
git config --global alias.lola "log --graph --decorate --oneline --all"
@pswai
pswai / controllers.application.js
Last active February 6, 2017 01:15
Ember.js #14697 (htmlSafe) demo
import Ember from 'ember';
export default Ember.Controller.extend({
normal: Ember.String.htmlSafe('awesome!'),
copied: Ember.copy(Ember.String.htmlSafe('awesome!')),
deeply: Ember.copy(Ember.String.htmlSafe('awesome!'), true)
});
@pswai
pswai / controllers.application.js
Last active February 6, 2017 01:15
Ember.js #14697 (htmlSafe) sample use case
import Ember from 'ember';
export default Ember.Controller.extend({
init() {
const foo = this.get('store').createRecord('foo', {
text: '<b>foo</b>'
});
this.set('foo', foo);
},
@pswai
pswai / components.foo-bar.js
Last active February 6, 2017 01:12
Setting default value for object-/array- type property
import Ember from 'ember';
export default Ember.Component.extend({
items: Ember.computed(() => []),
actions: {
addItem() {
const items = this.get('items');
items.pushObject(`Item ${items.length}`);
}
@pswai
pswai / controllers.application.js
Last active February 20, 2017 19:51
Ember-changeset incompatibility with Ember < 2.4.5
import Ember from 'ember';
import Changeset from 'ember-changeset';
import { validatePresence } from 'ember-changeset-validations/validators';
import lookupValidator from 'ember-changeset-validations';
export default Ember.Controller.extend({
init() {
this._super(...arguments);
const model = Ember.get(this, 'user');
const validation = Ember.get(this, 'validation');
@pswai
pswai / controllers.application.js
Created February 8, 2017 06:14
Unknown Property
import Ember from 'ember';
export default Ember.Controller.extend({
unknownProperty(key) {
if (key === 'foo') {
return 'i am foo';
}
return undefined;
}
@pswai
pswai / controllers.application.js
Created February 28, 2017 07:46
disabling input
import Ember from 'ember';
export default Ember.Controller.extend({
// Change this to view the effect
isDisabled: false
});