Advertisement
Guest User

Untitled

a guest
Dec 9th, 2015
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ko.bindingHandlers.chordSvg = {
  2.     init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
  3.         createChord(element);
  4.     },
  5.     update: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
  6.         console.log("Update chord panel");
  7.     }
  8. };
  9.  
  10.  
  11. function Binset(data) {
  12.     var self = this;
  13.     self.name = ko.observable(data.name);
  14.     self.color = ko.observable(data.color);
  15.     self.bins = ko.observableArray(data.bins);
  16. }
  17.  
  18. function ChordPanel() {
  19.     var self = this;
  20.     self.template = "chord";
  21.     self.firstSelectedBinset = ko.observable();
  22.     self.secondSelectedBinset = ko.observable();
  23.  
  24.     self.switchSelectedBinsets = function() {
  25.         var tmp = self.firstSelectedBinset();
  26.         self.firstSelectedBinset(self.secondSelectedBinset());
  27.         self.secondSelectedBinset(tmp);
  28.     };
  29.  
  30.     self.updateChordPanel = function() { console.log("clicked"); };
  31. }
  32.  
  33. function ViewModel() {
  34.     var self = this;
  35.     self.binsets = ko.observableArray([]);
  36.  
  37.     // Panels
  38.     self.panels = ko.observableArray([new ChordPanel()]);
  39.     self.getPanelTemplate = function(panel) {
  40.         return panel.template;
  41.     };
  42.  
  43.     $.getJSON('/binsets', function(data) {
  44.         var binsets = $.map(data, function(binset) { return new Binset(binset) });
  45.         self.binsets(binsets);
  46.         console.log('viewmodel done');
  47.     });
  48. }
  49.  
  50. $(function() {
  51.     ko.applyBindings(new ViewModel());
  52. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement