Sha256: 73fb43d824966e68ff0e3180c53e5dd9b1c3c9dda62f05b8bb47f523ede7c498

Contents?: true

Size: 1.23 KB

Versions: 46

Compression:

Stored size: 1.23 KB

Contents

Rev.pullInto(this) 'Input', 'Textarea', 'Button'

LazyMessage = Rev.appComponent 'LazyMessage',
  mixins: [Rev.Mixins.BackboneStore]

  render: ->
    @store.prepare
      collection: "messages"
      model: @props.id
      onWait: => <li>Loading message...</li>
      onSuccess: (message) => @store.prepare
        collection: "users"
        model: message.get "user_id"
        onWait: => <li>Message is loaded. Loading user...</li>
        onSuccess: (user) => <li>{"#{user.get 'name'} says: \"#{message.get 'body'}\""}</li>
        onError: => <li>FAILED.</li>

LazyConversation = Rev.appComponent 'LazyConversation',
  mixins: [Rev.Mixins.BackboneStore]

  render: ->
    @store.prepare
      collection: "conversations"
      model: @props.id
      onWait: => <div>LOADING CONVERSATION...</div>
      onSuccess: (conversation) => <ul>
        {conversation.get("message_ids").map (id) ->
          <LazyMessage key={id} id={id} />
        }
      </ul>

Rev.appComponent 'Test',
  mixins: [App.Mixins.Test, Rev.Mixins.BackboneStore]

  render: ->
    <div>
      <div>{@props.propFromTestMixin}</div>
      <LazyConversation id={1} />
      <button onClick={@onClickRerender}>Re-render.</button>
    </div>

  onClickRerender: ->
    @forceUpdate()

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
revelry_core-0.1.12.6 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.12.5 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.12.4 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.12.3 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.12.2 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.12.0 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.11.6 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.11.5 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.11.2 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.11.1 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.11.0 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.7 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.6 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.5 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.4 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.3 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.2 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.1 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.10.0 spec/dummy/app/assets/javascripts/components/Test.js.cjsx
revelry_core-0.1.9.2 spec/dummy/app/assets/javascripts/components/Test.js.cjsx