cms/app-client/app/services/player.js
author Chloe Laisne <chloe.laisne@gmail.com>
Fri, 05 Aug 2016 15:06:06 +0200
changeset 252 ba4fd614582a
parent 251 ac320de33ec7
child 253 0be9770b09b4
permissions -rw-r--r--
Load player with selected row
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
209
35cb7200bb0a Separate playlist and player component with player service as bridge
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     1
import Ember from 'ember';
35cb7200bb0a Separate playlist and player component with player service as bridge
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     2
215
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
     3
export default Ember.Service.extend(Ember.Evented, {
209
35cb7200bb0a Separate playlist and player component with player service as bridge
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     4
214
9bff007eb03c Reflect player-component actions on playlist-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 212
diff changeset
     5
    items: [],
9bff007eb03c Reflect player-component actions on playlist-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 212
diff changeset
     6
    item: null,
242
523ca6e73353 Add video player
Chloe Laisne <chloe.laisne@gmail.com>
parents: 218
diff changeset
     7
    model: null,
212
f2c6080a73aa Player backward/forward design logic
Chloe Laisne <chloe.laisne@gmail.com>
parents: 209
diff changeset
     8
242
523ca6e73353 Add video player
Chloe Laisne <chloe.laisne@gmail.com>
parents: 218
diff changeset
     9
    window: '',
523ca6e73353 Add video player
Chloe Laisne <chloe.laisne@gmail.com>
parents: 218
diff changeset
    10
    playing: false,
247
7a5d729992b8 Design and animate transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents: 246
diff changeset
    11
    progress: 0, // In Milliseconds
242
523ca6e73353 Add video player
Chloe Laisne <chloe.laisne@gmail.com>
parents: 218
diff changeset
    12
    reduce: false,
214
9bff007eb03c Reflect player-component actions on playlist-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 212
diff changeset
    13
251
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    14
    display: function(el) {
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    15
         if(this.get('window') !== el) {
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    16
            this.set('window', el);
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    17
        } else {
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    18
            this.set('window', '');
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    19
        }
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    20
    },
ac320de33ec7 Add transcript button to player-component
Chloe Laisne <chloe.laisne@gmail.com>
parents: 249
diff changeset
    21
215
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
    22
    init: function() {
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
    23
        this.on('reset', Ember.run.bind(this, this.get('reset')));
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
    24
    },
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
    25
249
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    26
    setProgress: function(time) {
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    27
        this.set('progress', time);
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    28
    },
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    29
252
ba4fd614582a Load player with selected row
Chloe Laisne <chloe.laisne@gmail.com>
parents: 251
diff changeset
    30
    select: function (id) {
ba4fd614582a Load player with selected row
Chloe Laisne <chloe.laisne@gmail.com>
parents: 251
diff changeset
    31
        this.set('item', id);
ba4fd614582a Load player with selected row
Chloe Laisne <chloe.laisne@gmail.com>
parents: 251
diff changeset
    32
    },
ba4fd614582a Load player with selected row
Chloe Laisne <chloe.laisne@gmail.com>
parents: 251
diff changeset
    33
249
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    34
    play: function(id) {
252
ba4fd614582a Load player with selected row
Chloe Laisne <chloe.laisne@gmail.com>
parents: 251
diff changeset
    35
        this.select(id);
249
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    36
        this.set('playing', true);
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    37
    },
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    38
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    39
    pause: function() {
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    40
        this.set('playing', false);
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    41
    },
e4204b1a579a Quickfix micro-cuts
Chloe Laisne <chloe.laisne@gmail.com>
parents: 248
diff changeset
    42
215
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
    43
    reset: function(id) {
82878d132784 Play/Pause/Reset events from player/playlist-components
Chloe Laisne <chloe.laisne@gmail.com>
parents: 214
diff changeset
    44
        this.set('item', id);
242
523ca6e73353 Add video player
Chloe Laisne <chloe.laisne@gmail.com>
parents: 218
diff changeset
    45
    }
209
35cb7200bb0a Separate playlist and player component with player service as bridge
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
    46
});