Skip to content

Instantly share code, notes, and snippets.

Christian Johansen cjohansen

Block or report user

Report or block cjohansen

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View protocols.cljs
(defprotocol ExtMetaProtocol
:extend-via-metadata true
(ext-meta-protocol [x]))
(ext-meta-protocol (with-meta {} {`ext-meta-protocol (fn [_] 1)})) ;;=> 1
(extend-type clojure.lang.PersistentArrayMap
ExtMetaProtocol
(ext-meta-protocol [m]
2))
View utlysning.md

Beskrivelse av oppdraget

NRK utvikler nye løsninger for forvaltning av arkivinnhold for radio og TV. Et av målene er å tilrettelegge innhold og metadata for enklere og raskere publisering gjennom flere kanaler (lineær, nett, mobil) enn før. I tillegg skal løsningene levere infrastruktur for selvbetjening av publikum og «content-on-demand» gjennom bla. programspilleren (tv.nrk.no / radio.nrk.no).

Det er besluttet at tjenestene i størst mulig grad skal utvikles eller tilpasses i nært samarbeid med NRKs eksisterende utviklingsmiljø og at kunnskapsoverføring og kompetanseheving er viktige mål. Pedagogiske evner, evne til å kommunisere og

View drawer.js
import {createComponent} from 'origo-react';
import {DOM, createFactory} from 'react';
import {findDOMNode} from 'react-dom';
const {div} = DOM;
export const Drawer = createComponent({
componentWillAppear(callback) {
this.componentWillEnter(callback);
},
@cjohansen
cjohansen / main.js
Created Jan 6, 2016
Some people call this "dependency injection", I call it "passing arguments"
View main.js
var connect = require('my-connector');
var dep1 = require('dep1');
var dep2 = require('dep2')
exports.default = function (config) {
var connection = connect(config);
var myDep1 = dep1.init(connection);
var myDep2 = dep2.init(connection);
return {
View die.js
setTimeout(function () {
throw new Error('Oh my');
}, 2000);
View create-component.js
function createComponent(render) {
var def = typeof render === 'function' ? {render: render} : render;
render = def.render;
def.displayName = render.name;
def.render = function () {
return render.call(this, this.props.data, this.props.children);
};
if (!def.getInitialState) {
View create-component-es6.js
import {createFactory, createClass} from 'react';
export function createComponent(render) {
var def = typeof render === 'function' ? {render: render} : render;
render = def.render;
def.displayName = render.name;
def.render = function () {
const {data, children} = this.props;
return render.call(this, data, children);
View component.js
export function createComponent(render) {
var def = typeof render === 'function' ? {render: render} : render;
render = def.render;
def.render = function () {
const {data, children} = this.props;
return render.call(this, data, children);
};
if (!def.getInitialState) {
View reapp.js
/*global React*/
import {createApp} from '../../src/reapp';
import assign from 'lodash/object/assign';
import pick from 'lodash/object/pick';
const {h1, div, p, a, button} = React.DOM;
const app = createApp(document.getElementById('app'), {
routes: [
['viewUser', '/users/:id'],
['editUser', '/users/:id/edit']
View element.js
function mkElement(tag) {
return function () {
return React.createElement.apply(React, [tag].concat([].slice.call(arguments, 0)));
};
}
var div = mkElement("div");
var h1 = mkElement("h1");
You can’t perform that action at this time.