12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- Ext.define('Pandora.controller.Station', {
- extend: 'Ext.app.Controller',
- refs: [{
- ref: 'stationsList',
- selector: 'stationslist'
- }],
- stores: ['Stations', 'RecentSongs'],
-
- init: function() {
- this.control({
- 'stationslist': {
- selectionchange: this.onStationSelect
- },
- 'newstation': {
- select: this.onNewStationSelect
- }
- });
- },
-
- onLaunch: function() {
- var stationsStore = this.getStationsStore();
- stationsStore.load({
- callback: this.onStationsLoad,
- scope: this
- });
- },
- onStationsLoad: function() {
- var stationsList = this.getStationsList();
- stationsList.getSelectionModel().select(0);
- },
-
- onStationSelect: function(selModel, selection) {
- this.application.fireEvent('stationstart', selection[0]);
- },
-
- onNewStationSelect: function(field, selection) {
- var selected = selection[0],
- store = this.getStationsStore(),
- list = this.getStationsList();
-
- if (selected && !store.getById(selected.get('id'))) {
- store.add(selected);
- list.getSelectionModel().select(selected);
- }
- }
- });
|