Skip to content

Instantly share code, notes, and snippets.

View nicksteffens's full-sized avatar

Nick Steffens nicksteffens

View GitHub Profile
@nicksteffens
nicksteffens / depod.sh
Last active February 10, 2020 21:31
Script to move pod structure to classic
#!/bin/bash
echo "Updating Template Path Reference..."
sed -ie "s+./template+../templates/components/$1+g" "addon/components/${1}/component.js"
rm addon/components/"${1}"/component.jse
echo "Migrating component $1 back to classic structure..."
git mv "addon/components/${1}/component.js" "addon/components/${1}.js"
git mv "addon/components/${1}/template.hbs" "addon/templates/components/${1}.hbs"
@nicksteffens
nicksteffens / slow-tests.js
Last active March 6, 2020 21:48
Simple DOM query to use with Qunit results to find slow tests
let slowTests = [];
const testElements = document.querySelectorAll('li[id].pass');
const tolerance = 1500;
testElements.forEach(test => {
const moduleName = test.getElementsByClassName('module-name')[0].textContent
const testName = test.getElementsByClassName('test-name')[0].textContent
const testDurationString = test.getElementsByClassName('runtime')[0].textContent
const testDuration = parseInt(testDurationString.slice(0, -3))
@nicksteffens
nicksteffens / backspace-triggerkeyevent-test.js
Created April 17, 2019 20:00
Example of the triggerKeyEvent being actively blocked by the browser.
import { module, test } from "qunit";
import { setupRenderingTest } from "ember-qunit";
import { render, typeIn, triggerKeyEvent } from "@ember/test-helpers";
import hbs from "htmlbars-inline-precompile";
module(
"Integration | Component | data-properties-panel/custom-property-form",
function(hooks) {
setupRenderingTest(hooks);
@nicksteffens
nicksteffens / Operator Mono Customization.less
Created October 22, 2018 15:31
Adding some custom styling for Operator Mono Atom Theme
atom-text-editor.editor {
/*
Transform selected text into alternative font for elegant touch:
- this
- HTML and JSX attributes
- JS functions (except arrow function)
- JS undefined
- JS storage (const/let/async)
- EX constants
- Ruby (nil/self/block)
@nicksteffens
nicksteffens / Modals.md
Last active July 16, 2018 15:48
Proposed modal behavior / use case

Modals

What is a modal?

  • Putting the application into a new mode, without losing context of where you currently are (UI, URL, data loaded, etc)

What is a dialog?

  • alert see below

What is a modal-dialog?

  • A dialog inside a modal.
@nicksteffens
nicksteffens / components.image-gallery.js
Created April 12, 2018 21:31
Masonry Attempt via CSS & Sort Order
import EmberTooltipComponent from 'ember-tooltips/components/ember-tooltip';
import { run } from '@ember/runloop';
import $ from 'jquery';
export default EmberTooltipComponent.extend({
_hideTooltip() {
const _tooltip = this.get('_tooltip');
if (!_tooltip || this.get('isDestroying')) {
return;
@nicksteffens
nicksteffens / controllers.application.js
Last active January 3, 2018 22:26
ember sum comparison
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
appName: 'Ember Sum Twiddle',
requiredPhotosCount: 1,
requiredBlogsCount: 1,
requiredVideosCount: 1,
acceptedPhotosCount: 1,
acceptedBlogsCount: 1,
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Not Empty Example',
message: Ember.Object.create(),
emptyMessage: null,
hasSomeModel: Ember.computed.notEmpty('message'),
hasEmptyModel: Ember.computed.notEmpty('emptymessage')
});
import Ember from 'ember';
const { computed } = Ember;
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
prop1: 'something',
prop2: 'something',