cms/app-client/app/models/document.js
author ymh <ymh.work@gmail.com>
Mon, 22 Feb 2016 18:06:39 +0100
changeset 126 e87a340711a4
parent 125 e550b10fe3ca
child 209 35cb7200bb0a
permissions -rw-r--r--
improve on dataloading. add fixture management with proper interface to load data.

import DS from 'ember-data';
import Ember from 'ember';
import _ from 'lodash/lodash';

var CPDocument = DS.Model.extend({
  // id: DS.attr('string'),
  uri: DS.attr('string'),
  title: DS.attr('string'),
  language: DS.attr('string'),
  publishers: DS.attr({defaultValue: []}),
  contributors: DS.attr({defaultValue: []}),
  mediaArray: DS.attr({defaultValue: []}),
  mediaList: Ember.computed('mediaArray', function() {
    var res = [];
    var mp3 = null;
    _.forEach(this.get('mediaArray'), function(m) {
      if(m.format === 'audio/mpeg') {
        mp3 = m;
      } else if (m.format.startsWith('audio/')) {
        res.push(m);
      }
    });
    if(mp3) {
      res.unshift(mp3);
    }
    return res;
  })
});

CPDocument.reopenClass({
  FIXTURES: [

  ]
});

export default CPDocument;