Sha256: bb84e8cc7e0f0ee0147debd18c59accd2058961facd40bb104e0c5fff78c690a
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
createHelper = (component, name) -> unless component.prototype[name] Object.defineProperty(component.prototype, name, configurable: true, enumerable: true get: -> @data?.states[name] set: (val) -> @data?.rebind("#{name}": val) ) extendComponent = (component) -> names = _.keys(component.prototype.dataObjects).concat(['collection', 'model']) for name in _.uniq(names) createHelper(component, name) Lanes.React.Component = { defaultMixins: [ Lanes.React.Mixins.Data Lanes.React.Mixins.Viewport Lanes.React.Mixins.Component ] extend: (klass, mixins = @defaultMixins) -> klass::mixins ||= [] klass::mixins = _.uniq(klass::mixins.concat(mixins)) comp = React.createClass(klass.prototype) extendComponent(comp) return Lanes.lib.HotReload.remember(comp) } Lanes.React.BaseComponent = { extend: (klass, mixins = @defaultMixins) -> comp = React.createClass(klass.prototype) return Lanes.lib.HotReload.remember(comp) }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.5.0 | client/lanes/react/Component.coffee |
lanes-0.4.0 | client/lanes/react/Component.coffee |