Skip to content

Instantly share code, notes, and snippets.

View JonForest's full-sized avatar

Jonathan Hollingsworth JonForest

  • CashApp
View GitHub Profile
@JonForest
JonForest / components.test-component.js
Last active May 25, 2019 20:40 — forked from samselikoff/controllers.application.js
Ember Animated boilerplate
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
import scale from 'ember-animated/motions/scale';
import resize from 'ember-animated/motions/resize';
import fade from 'ember-animated/transitions/fade';
export default class Task extends Component {
@tracked
@JonForest
JonForest / adapters.application.js
Created October 13, 2017 02:32 — forked from jacobq/adapters.application.js
Data Relationships
import LSAdapter from 'ember-localstorage-adapter';
export default LSAdapter.extend({
namespace: 'twiddleApp'
});
@JonForest
JonForest / Download Code
Created August 30, 2017 22:13
Download button that works for Firefox
function setupExportBtn () {
const exportBtn = '<button id="export-btn">Download pdf</button>'
$('div.leaflet-control-layers').append(exportBtn)
// create hidden link for downloading export pdf
const hiddenLink = document.createElement('a')
hiddenLink.setAttribute('download', 'download.pdf')
hiddenLink.style = 'display:none;'
hiddenLink.target = '_blank'
document.body.append(hiddenLink)
$('#export-btn').on('click', (e) => {
import {Component, ChangeDetectorRef} from '@angular/core';
import {MdSnackBar} from '@angular/material';
declare const firebase: any; // declare the firebase global variable so Typescipt doesn't complain
@Component({
selector: 'app-root',
template: `
<button *ngIf="test" (click)="failedAttempt()">Click me</button>
`,
styleUrls: ['./app.component.css']
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
stateArrays: [[1, "Alabama"], [2, "Alaska"], [3, "Arizona"]]
});
import Ember from 'ember';
export default Ember.Component.extend({
rows: [
{name: 'bob', value: "24"},
{name: 'peter', value: "32"}
],
checkValue: Ember.observer('[email protected]', function () {
const unique = Ember.get(this, 'rows').uniqBy('value')
const FormObject = Ember.Object.extend({
toJSON() {
// get a pure POJO
const tempObj = JSON.parse(JSON.stringify(this))
tempObj.isDirty.delete
return tempObj
},
isDirty: false,
set(key, value) {
this._super(...arguments)
const path = require('path')
module.exports = function (server) {
const publicPath = path.resolve(__dirname, '..', 'public')
server.use('/public', server.loopback.static(publicPath))
const clientPath = path.resolve(__dirname, '..', '..', 'client', 'dist')
server.use('/assets', server.loopback.static(path.resolve(clientPath, 'assets')))
server.use('/fonts', server.loopback.static(path.resolve(clientPath, 'fonts')))
server.get('/robots.txt', (req, res) => {
const basicAuthParser = require('basic-auth')
var basicAuth = function (req, res, next) {
const user = basicAuthParser(req)
const validUser = user &&
user.name === process.env.BASIC_AUTH_USER &&
user.pass === process.env.BASIC_AUTH_PASS
if (!validUser) {
res.set('WWW-Authenticate', 'Basic realm=Authorization Required')
// Add ability to paste images inline in html wysiwyg editor
// from https://github.com/keystonejs/keystone/issues/1545
keystone.init({
...
'wysiwyg additional plugins': 'paste',
'wysiwyg additional options': {
'paste_data_images': true
}
...
});