mirror of
https://github.com/danbee/mpd-client
synced 2025-03-04 08:39:09 +00:00
Switch out Ember for Can.js. Queue display works.
This commit is contained in:
parent
d1a1cb80cd
commit
64a59274e8
@ -1,19 +1,17 @@
|
|||||||
var App = Ember.Application.create();
|
var QueueSong = can.Model({
|
||||||
|
findAll: 'GET /api/queue'
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
QueueSong.findAll({}, function(songs) {
|
||||||
|
$('#queue').html(can.view('queueTemplate',
|
||||||
|
{ songs: songs }));
|
||||||
|
}, function(xhr) {
|
||||||
|
|
||||||
App.QueueRoute = Ember.Route.extend({
|
|
||||||
model: function() {
|
|
||||||
return Ember.$.getJSON('/api/queue');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
App.QueueController = Ember.ArrayController.extend();
|
$(document).ready(function() {
|
||||||
|
$('#transport').html(can.view('transportTemplate'));
|
||||||
|
|
||||||
App.TransportController = Ember.Controller.extend({
|
$('#controls button').on('click', function(e) {
|
||||||
actions: {
|
});
|
||||||
sendControl: function(control) {
|
|
||||||
Ember.$.ajax('/api/control/' + control, { type: 'PUT' });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
App.Song = DS.Model.extend();
|
|
||||||
|
|||||||
12
assets/js/libs/can.jquery.min.js
vendored
Executable file
12
assets/js/libs/can.jquery.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
36470
assets/js/libs/ember.js
36470
assets/js/libs/ember.js
File diff suppressed because it is too large
Load Diff
6
assets/js/libs/jquery-2.0.3.min.js
vendored
Normal file
6
assets/js/libs/jquery-2.0.3.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1,7 +1,6 @@
|
|||||||
//= require ./libs/jquery-1.10.2.min
|
//= require ./libs/jquery-1.10.2.min
|
||||||
//= require ./libs/handlebars-1.0.0
|
//= require ./libs/handlebars-1.0.0
|
||||||
//= require ./libs/ember
|
//= require ./libs/can.jquery.min.js
|
||||||
//= require ./libs/ember-data
|
|
||||||
|
|
||||||
//= require ./application.js
|
//= require ./application.js
|
||||||
//= require ./router.js
|
//= require ./router.js
|
||||||
|
|||||||
@ -1,3 +1 @@
|
|||||||
App.Router.map(function () {
|
|
||||||
this.route('queue');
|
|
||||||
});
|
|
||||||
|
|||||||
@ -47,7 +47,7 @@ class MPDClient < Sinatra::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
get '/queue' do
|
get '/queue' do
|
||||||
JSON Song.queue.map(&:to_h)
|
JSON({ data: Song.queue.map(&:to_h) })
|
||||||
end
|
end
|
||||||
|
|
||||||
put '/control/:action' do
|
put '/control/:action' do
|
||||||
|
|||||||
@ -7,30 +7,30 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<script type="text/x-handlebars" data-template-name="application">
|
|
||||||
<h1>MPD Client</h1>
|
<h1>MPD Client</h1>
|
||||||
{{ outlet }}
|
|
||||||
{{ render "transport" }}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script type="text/x-handlebars" data-template-name="queue">
|
<div id="queue"></div>
|
||||||
|
|
||||||
|
<div id="transport"></div>
|
||||||
|
|
||||||
|
<script type="text/mustache" id="queueTemplate">
|
||||||
<h2>Queue</h2>
|
<h2>Queue</h2>
|
||||||
<ul id="queue">
|
<ul id="queue">
|
||||||
{{#each controller}}
|
{{#songs}}
|
||||||
<li {{bindAttr class="playing"}}>{{ artist }} - {{ title }}</li>
|
<li{{#playing}} class="playing"{{/playing}}>{{ artist }} - {{ title }}</li>
|
||||||
{{else}}
|
{{/songs}} {{^songs}}
|
||||||
<li>Play queue empty</li>
|
<li>Play queue empty</li>
|
||||||
{{/each}}
|
{{/songs}}
|
||||||
</ul>
|
</ul>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/x-handlebars" data-template-name="transport">
|
<script type="text/mustache-handlebars" id="transportTemplate">
|
||||||
<div id="controls">
|
<div id="controls">
|
||||||
<button {{ action "sendControl" "previous" }}>previous</button>
|
<button>previous</button>
|
||||||
<button {{ action "sendControl" "play" }}>play</button>
|
<button>play</button>
|
||||||
<button {{ action "sendControl" "pause" }}>pause</button>
|
<button>pause</button>
|
||||||
<button {{ action "sendControl" "stop" }}>stop</button>
|
<button>stop</button>
|
||||||
<button {{ action "sendControl" "next" }}>next</button>
|
<button>next</button>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user