, .
, . , + , 3- "". Backbone , , , , , , .
, :
+model
+collection
__________
= circular
:
+model
+collection
+mediator
________
= OK
//
define([
'@allModels',
'@BaseCollection',
'@AppDispatcher',
'@allFluxConstants',
'app/js/flux/flux-helpers/collectionUpdater'
],
function (allModels, BaseCollection, AppDispatcher, allFluxConstants, collUpdater) {
var dispatchCallback = function (payload) {
return true;
};
var BaymaxComponentCollection = BaseCollection.extend({
model: allModels['BaymaxComponent'],
collectionName:'baymax-component',
url: '/baymax_component',
batchURL: '/batch/baymax_component',
initialize: function (models, opts) {
this.dispatchToken = AppDispatcher.register(dispatchCallback);
},
comparator: 'order'
});
return new BaymaxComponentCollection();
});
//
define([
'@BaseModel',
'@ModelCollectionMediator',
'@AppDispatcher'
],
function ( BaseModel, MCM) {
var BaymaxComponent = BaseModel.extend({
idAttribute: 'id',
urlRoot: '/baymax_component',
collectionName: 'baymax-component',
defaults: function () {
return {}
},
initialize: function (attributes, opts) {
this.collection = MCM.findCollectionByName(this.collectionName);
},
validate: function (attr) {
return undefined;
}
},
{
});
return BaymaxComponent;
});
//
define(function (require) {
return {
findCollectionByName: function (name) {
var allCollections = require('@allCollections');
return allCollections[name];
}
};
});