Sha256: f8a6885648f142eb66412234cf08c2081bca51e429d908ad2fca8d7a9a94ba7f

Contents?: true

Size: 1.37 KB

Versions: 17

Compression:

Stored size: 1.37 KB

Contents

pageflow.FilesCollection = Backbone.Collection.extend({
  initialize: function(models, options) {
    options = options || {};

    this.entry = options.entry;
    this.fileType = options.fileType;
    this.name = options.fileType.collectionName;
  },

  comparator: function(file) {
    var fileName = file.get('file_name');
    return (fileName && fileName.toLowerCase) ? fileName.toLowerCase() : fileName;
  },

  url: function() {
    return '/editor/entries/' + this.getEntry().get('id') + '/files/' + this.name;
  },

  getEntry: function() {
    return this.entry || pageflow.entry;
  },

  confirmable: function() {
    return new pageflow.SubsetCollection({
      parent: this,
      watchAttribute: 'state',

      filter: function(item) {
        return item.get('state') === 'waiting_for_confirmation';
      },
    });
  }
});

pageflow.FilesCollection.createForFileTypes = function(fileTypes, files, options) {
  return fileTypes.reduce(function(result, fileType) {
    result[fileType.collectionName] = pageflow.FilesCollection.createForFileType(
      fileType,
      files[fileType.collectionName],
      options
    );
    return result;
  }, {});
};

pageflow.FilesCollection.createForFileType = function(fileType, files, options) {
  return new pageflow.FilesCollection(
    files,
    _.extend({
      fileType: fileType,
      model: fileType.model
    }, options || {})
  );
};

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
pageflow-0.11.4 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.11.3 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.11.2 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.11.1 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.11.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.10.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.9.2 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.9.1 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.9.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.8.2 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.8.1 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.8.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.7.2 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.7.1 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.7.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.6.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js
pageflow-0.5.0 app/assets/javascripts/pageflow/editor/collections/files_collection.js