0.8.1 • Published 7 years ago
ember-cable v0.8.1
ember-cable
This add-on enables simple integration of Rails Action Cable into Ember apps.
Installation
run the following command from inside your ember-cli project:
ember install ember-cableBasic Usage
Once the addon is installed, the cable service can be injected wherever needed in the application.
// app/controllers/application.js
import Ember from 'ember';
export default Ember.Controller.extend({
cableService: Ember.inject.service('cable'),
consumer: null,
setupConsumer: Ember.on('init', function() {
var consumer = this.get('cableService').createConsumer('ws://localhost:4200/cable');
consumer.subscriptions.create("NotificationChannel", {
connected() {
this.perform('hello', { foo: 'bar' });
this.perform('hello');
},
received(data) {
Ember.debug( "received(data) -> " + Ember.inspect(data) );
},
disconnected() {
Ember.debug("NotificationChannel#disconnected");
}
});
// Passing Parameters to Channel
const subscription = consumer.subscriptions.create({ channel: 'NotificationChannel', room: 'Best Room' }, {
received: (data) => {
this.updateRecord(data);
}
});
// Using mixin and inject your services
var channelMixin = Ember.Mixin.create({
store: Ember.inject.service(),
received(data) {
this.get("store").pushPayload(data);
}
});
consumer.subscriptions.create({ channel: 'NotificationChannel' }, channelMixin);
// Send actions to your Action Cable channel class
subscription.perform("your_channel_action", { hey: "hello" });
// Save consumer to controller to link up computed props
this.set('consumer', consumer);
}),
updateRecord(data) {
Ember.debug( "updateRecord(data) -> " + Ember.inspect(data) );
},
// Flag indicating a connection is being attempted
isConnecting: Ember.computed.readOnly('consumer.isConnecting'),
// Milliseconds until the next connection attempt
nextConnectionAt: Ember.computed.readOnly('consumer.nextConnectionAt'),
});License
ember-cable is released under the MIT License.
0.8.1
7 years ago
0.8.0
7 years ago
0.7.0
8 years ago
0.6.3
8 years ago
0.6.2
8 years ago
0.6.1
9 years ago
0.6.0
9 years ago
0.5.0
9 years ago
0.4.3
9 years ago
0.4.2
9 years ago
0.4.1
9 years ago
0.4.0
9 years ago
0.3.0
10 years ago
0.2.2
10 years ago
0.2.1
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago