Skip to content

Instantly share code, notes, and snippets.

@selvagsz
selvagsz / controllers.about.js
Last active October 15, 2018 13:39
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: ['fooQuery', 'objFoo'],
});
import Ember from 'ember';
const Grouped = Ember.ArrayProxy.extend({
});
export default Ember.Component.extend({
groupedSettings: Ember.computed('appSettings.[]', function() {
let appSettings = this.appSettings;
return appSettings.reduce((iter, curr) => {
let existingGroup
{
"editor.tabSize": 2,
"editor.formatOnSave": false,
"[javascript]": {
"editor.formatOnSave": false
},
"editor.renderWhitespace": "all",
"files.trimTrailingWhitespace": true,
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'table',
classNames: ['et-table']
});
@selvagsz
selvagsz / utils.md
Last active November 29, 2018 11:03
Util commands/functions across my workflow
  1. git mv *.js to *.es6
find test/javascripts/unit/**/*.js -exec bash -c 'file={}; git mv $file ${file%.js}.es6' \;
  1. generate todo list of usage
grep -rl "{{variant-autocomplete-field" app/assets/javascripts/templates/** | awk '{b="- [ ] "$1; print b}'
@selvagsz
selvagsz / _codemods_.md
Last active September 15, 2020 09:57
CodeMods that I'd used

CodeMods

List of jscodeshift transformers that I cooked to address some chore tasks

import Ember from 'ember';
const PRIMITIVE_INPUTS = {
input: 'input-field',
select: 'select-field',
}
const FormFor = Ember.Component.extend({
init() {
this._super(...arguments);
export default Ember.Component.extend({
modalPane: injectService(),
// 1.
delete() {
this.get('modalPane').confirm({
header: 'Delete Tab',
message: 'Are you sure to delete the tab?'
affirm: () => {
// handle confirm
  1. Leaking instance state into Klasses
  2. Improper setup/teardown of the event listeners
  3. Stashing state in global or module scopes
  4. Saving non-primitive property of controllers to non-singleton objects
  5. Failing to destroy the third party widgets when the component is unmounted
  6. Closure leaks
    • setInterval
  7. Saving non-singletons components into singletons controllers/services
import Ember from 'ember';
import DS from 'ember-data';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
asyncCP: Ember.computed({
get() {
return DS.PromiseObject({
promise: this.asyncTask()