metamaps--metamaps/frontend/src/Metamaps/DataModel/index.js

98 lines
3.1 KiB
JavaScript
Raw Normal View History

/* global Metamaps */
2016-09-22 15:51:33 +00:00
2016-09-22 16:20:05 +00:00
import Active from '../Active'
import Filter from '../Filter'
import { InfoBox } from '../Map'
import Map from './Map'
import MapCollection from './MapCollection'
import Message from './Message'
import MessageCollection from './MessageCollection'
import Mapper from './Mapper'
import MapperCollection from './MapperCollection'
import Metacode from './Metacode'
import MetacodeCollection from './MetacodeCollection'
import Topic from './Topic'
import TopicCollection from './TopicCollection'
import Synapse from './Synapse'
import SynapseCollection from './SynapseCollection'
import Mapping from './Mapping'
import MappingCollection from './MappingCollection'
2016-09-22 16:20:05 +00:00
2016-03-27 11:46:36 +00:00
/*
* DataModel.js
2016-03-27 11:46:36 +00:00
*
* Dependencies:
2016-08-01 17:38:57 +00:00
* - Metamaps.Collaborators
* - Metamaps.Creators
2016-08-01 17:38:57 +00:00
* - Metamaps.Mappers
* - Metamaps.Mappings
* - Metamaps.Metacodes
* - Metamaps.Synapses
2016-08-01 17:38:57 +00:00
* - Metamaps.Topics
2016-03-27 11:46:36 +00:00
*/
const DataModel = {
Map: Map,
MapCollection: MapCollection,
Message: Message,
MessageCollection: MessageCollection,
Mapper: Mapper,
MapperCollection: MapperCollection,
Metacode: Metacode,
MetacodeCollection: MetacodeCollection,
Topic: Topic,
TopicCollection: TopicCollection,
Synapse: Synapse,
SynapseCollection: SynapseCollection,
Mapping: Mapping,
MappingCollection: MappingCollection,
2016-10-02 10:21:56 +00:00
init: function () {
var self = DataModel
Metamaps.Metacodes = Metamaps.Metacodes ? new self.MetacodeCollection(Metamaps.Metacodes) : new self.MetacodeCollection()
// attach collection event listeners
Metamaps.Topics = Metamaps.Topics ? new self.TopicCollection(Metamaps.Topics) : new self.TopicCollection()
Metamaps.Topics.on('add remove', function (topic) {
2016-09-22 16:20:05 +00:00
InfoBox.updateNumbers()
Filter.checkMetacodes()
Filter.checkMappers()
})
Metamaps.Synapses = Metamaps.Synapses ? new self.SynapseCollection(Metamaps.Synapses) : new self.SynapseCollection()
Metamaps.Synapses.on('add remove', function (synapse) {
2016-09-22 16:20:05 +00:00
InfoBox.updateNumbers()
Filter.checkSynapses()
Filter.checkMappers()
})
2016-09-22 16:20:05 +00:00
if (Active.Map) {
Metamaps.Mappings = Metamaps.Mappings ? new self.MappingCollection(Metamaps.Mappings) : new self.MappingCollection()
Metamaps.Mappings.on('add remove', function (mapping) {
2016-09-22 16:20:05 +00:00
InfoBox.updateNumbers()
Filter.checkSynapses()
Filter.checkMetacodes()
Filter.checkMappers()
})
}
Metamaps.Mappers = Metamaps.Mappers ? new self.MapperCollection(Metamaps.Mappers) : new self.MapperCollection()
Metamaps.Collaborators = Metamaps.Collaborators ? new self.MapperCollection(Metamaps.Collaborators) : new self.MapperCollection()
Metamaps.Creators = Metamaps.Creators ? new self.MapperCollection(Metamaps.Creators) : new self.MapperCollection()
if (Active.Map) {
Active.Map = new self.Map(Active.Map)
}
if (Active.Topic) {
Active.Topic = new self.Topic(Active.Topic)
}
}
}
2016-10-02 10:21:56 +00:00
export { Map, MapCollection, Mapper, MapperCollection, Mapping, MappingCollection, Message, MessageCollection, Metacode, MetacodeCollection, Synapse, SynapseCollection, Topic, TopicCollection }
export default DataModel