rjs -> webpack

This commit is contained in:
Keivan Beigi
2015-02-02 17:18:45 -08:00
parent 344f3d66ef
commit 428a1439e5
399 changed files with 11591 additions and 16139 deletions
+104 -139
View File
@@ -1,141 +1,106 @@
'use strict';
define(
[
'underscore',
'vent',
'marionette',
'Rename/RenamePreviewCollection',
'Rename/RenamePreviewCollectionView',
'Rename/RenamePreviewEmptyCollectionView',
'Rename/RenamePreviewFormatView',
'Shared/LoadingView',
'Commands/CommandController'
], function (_,
vent,
Marionette,
RenamePreviewCollection,
RenamePreviewCollectionView,
EmptyCollectionView,
RenamePreviewFormatView,
LoadingView,
CommandController) {
var _ = require('underscore');
var vent = require('../vent');
var Marionette = require('marionette');
var RenamePreviewCollection = require('./RenamePreviewCollection');
var RenamePreviewCollectionView = require('./RenamePreviewCollectionView');
var EmptyCollectionView = require('./RenamePreviewEmptyCollectionView');
var RenamePreviewFormatView = require('./RenamePreviewFormatView');
var LoadingView = require('../Shared/LoadingView');
var CommandController = require('../Commands/CommandController');
return Marionette.Layout.extend({
className : 'modal-lg',
template : 'Rename/RenamePreviewLayoutTemplate',
regions: {
renamePreviews : '#rename-previews',
formatRegion : '.x-format-region'
},
ui: {
pathInfo : '.x-path-info',
renameAll : '.x-rename-all',
checkboxIcon : '.x-rename-all-button i'
},
events: {
'click .x-organize' : '_organizeFiles',
'change .x-rename-all': '_toggleAll'
},
initialize: function (options) {
this.model = options.series;
this.seasonNumber = options.seasonNumber;
var viewOptions = {};
viewOptions.seriesId = this.model.id;
viewOptions.seasonNumber = this.seasonNumber;
this.collection = new RenamePreviewCollection(viewOptions);
this.listenTo(this.collection, 'sync', this._showPreviews);
this.listenTo(this.collection, 'rename:select', this._itemRenameChanged);
this.collection.fetch();
},
onRender: function() {
this.renamePreviews.show(new LoadingView());
this.formatRegion.show(new RenamePreviewFormatView({ model: this.model }));
},
_showPreviews: function () {
if (this.collection.length === 0) {
this.ui.pathInfo.hide();
this.renamePreviews.show(new EmptyCollectionView());
return;
}
this.ui.pathInfo.show();
this.collection.invoke('set', { rename: true });
this.renamePreviews.show(new RenamePreviewCollectionView({ collection: this.collection }));
},
_organizeFiles: function () {
if (this.collection.length === 0) {
vent.trigger(vent.Commands.CloseModalCommand);
}
var files = _.map(this.collection.where({ rename: true }), function (model) {
return model.get('episodeFileId');
});
if (files.length === 0) {
vent.trigger(vent.Commands.CloseModalCommand);
return;
}
if (this.seasonNumber) {
CommandController.Execute('renameFiles', {
name : 'renameFiles',
seriesId : this.model.id,
seasonNumber: this.seasonNumber,
files : files
});
}
else {
CommandController.Execute('renameFiles', {
name : 'renameFiles',
seriesId : this.model.id,
seasonNumber: -1,
files : files
});
}
vent.trigger(vent.Commands.CloseModalCommand);
},
_setCheckedState: function (checked) {
if (checked) {
this.ui.checkboxIcon.addClass('icon-check');
this.ui.checkboxIcon.removeClass('icon-check-empty');
}
else {
this.ui.checkboxIcon.addClass('icon-check-empty');
this.ui.checkboxIcon.removeClass('icon-check');
}
},
_toggleAll: function () {
var checked = this.ui.renameAll.prop('checked');
this._setCheckedState(checked);
this.collection.each(function (model) {
model.trigger('rename:select', model, checked);
});
},
_itemRenameChanged: function (model, checked) {
var allChecked = this.collection.all(function (m) {
return m.get('rename');
});
if (!checked || allChecked) {
this._setCheckedState(checked);
}
}
module.exports = Marionette.Layout.extend({
className : 'modal-lg',
template : 'Rename/RenamePreviewLayoutTemplate',
regions : {
renamePreviews : '#rename-previews',
formatRegion : '.x-format-region'
},
ui : {
pathInfo : '.x-path-info',
renameAll : '.x-rename-all',
checkboxIcon : '.x-rename-all-button i'
},
events : {
"click .x-organize" : '_organizeFiles',
"change .x-rename-all" : '_toggleAll'
},
initialize : function(options){
this.model = options.series;
this.seasonNumber = options.seasonNumber;
var viewOptions = {};
viewOptions.seriesId = this.model.id;
viewOptions.seasonNumber = this.seasonNumber;
this.collection = new RenamePreviewCollection(viewOptions);
this.listenTo(this.collection, 'sync', this._showPreviews);
this.listenTo(this.collection, 'rename:select', this._itemRenameChanged);
this.collection.fetch();
},
onRender : function(){
this.renamePreviews.show(new LoadingView());
this.formatRegion.show(new RenamePreviewFormatView({model : this.model}));
},
_showPreviews : function(){
if(this.collection.length === 0) {
this.ui.pathInfo.hide();
this.renamePreviews.show(new EmptyCollectionView());
return;
}
this.ui.pathInfo.show();
this.collection.invoke('set', {rename : true});
this.renamePreviews.show(new RenamePreviewCollectionView({collection : this.collection}));
},
_organizeFiles : function(){
if(this.collection.length === 0) {
vent.trigger(vent.Commands.CloseModalCommand);
}
var files = _.map(this.collection.where({rename : true}), function(model){
return model.get('episodeFileId');
});
});
if(files.length === 0) {
vent.trigger(vent.Commands.CloseModalCommand);
return;
}
if(this.seasonNumber) {
CommandController.Execute('renameFiles', {
name : 'renameFiles',
seriesId : this.model.id,
seasonNumber : this.seasonNumber,
files : files
});
}
else {
CommandController.Execute('renameFiles', {
name : 'renameFiles',
seriesId : this.model.id,
seasonNumber : -1,
files : files
});
}
vent.trigger(vent.Commands.CloseModalCommand);
},
_setCheckedState : function(checked){
if(checked) {
this.ui.checkboxIcon.addClass('icon-check');
this.ui.checkboxIcon.removeClass('icon-check-empty');
}
else {
this.ui.checkboxIcon.addClass('icon-check-empty');
this.ui.checkboxIcon.removeClass('icon-check');
}
},
_toggleAll : function(){
var checked = this.ui.renameAll.prop('checked');
this._setCheckedState(checked);
this.collection.each(function(model){
model.trigger('rename:select', model, checked);
});
},
_itemRenameChanged : function(model, checked){
var allChecked = this.collection.all(function(m){
return m.get('rename');
});
if(!checked || allChecked) {
this._setCheckedState(checked);
}
}
});