This one catches errors not only during the ajax request, but during the
onSuccess
handler execution.
const response = ajax(options).then(onSuccess).catch(onFailure)
The appropriate translation to async/await could be something like this:
function debugFocus(turnOn) { | |
if (turnOn && window.debugFocusInterval) { | |
console.log("debugFocus: already on"); | |
return; | |
} | |
if (!turnOn && !window.debugFocusInterval) { | |
console.log("debugFocus: already off"); | |
return; | |
} |
#!/bin/bash | |
# git-cleanup-repo | |
# | |
# Author: Rob Miller <rob@bigfish.co.uk> | |
# Adapted from the original by Yorick Sijsling | |
git checkout master &> /dev/null | |
# Make sure we're working with the most up-to-date version of master. | |
git fetch |
#!/bin/sh | |
### | |
# SOME COMMANDS WILL NOT WORK ON macOS (Sierra or newer) | |
# For Sierra or newer, see https://github.com/mathiasbynens/dotfiles/blob/master/.macos | |
### | |
# Alot of these configs have been taken from the various places | |
# on the web, most from here | |
# https://github.com/mathiasbynens/dotfiles/blob/5b3c8418ed42d93af2e647dc9d122f25cc034871/.osx |
Append the following to the end of this file:
/Applications/Slack.app/Contents/Resources/app.asar.unpacked/src/static/ssb-interop.js
document.addEventListener('DOMContentLoaded', function() {
$.ajax({
url: 'https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/black.css',
success: function(css) {
$("").appendTo('head').html(css);
/** | |
* Converts a given object to a jsonapi-compliant version of it, suitable to be used in api calls | |
* | |
* Specifying relationship attributes | |
* | |
* Each property in the `relationshipAttrs` argument correspondes to an attribute name in `object`. | |
* The value should be either a string or a small object specifying `name` (optional) and `type`. | |
* | |
* If the value is a string, this is used both for the name of the relationship in the resulting | |
* payload object, and for the type of the objects related. However, if the value of a |
import React, { Component } from ‘react’; | |
const noop = () => {}; | |
export default class MyComponent extends Component { | |
state = { data: null, error: null }; | |
handleSuccess = data => { | |
this.setState({ data }); | |
}; |
gem 'browserify-rails', '1.5.0' # until fix: https://github.com/browserify-rails/browserify-rails/issues/101
gem 'react-rails'
Browserify-rails allows to use browserify within assets pipeline. React-rails is here only to allow to use #react_component
(and thus, prerendering).
Note that jquery-rails
can be removed from Gemfile, the npm version of jquery
and jquery-ujs
will be used instead.
import { Component } from "React"; | |
export var Enhance = ComposedComponent => class extends Component { | |
constructor() { | |
this.state = { data: null }; | |
} | |
componentDidMount() { | |
this.setState({ data: 'Hello' }); | |
} | |
render() { |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I lead the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can'