start making the code modular. many files still need global scape
This commit is contained in:
parent
d02c836805
commit
03446f548a
29 changed files with 598 additions and 566 deletions
|
@ -121,3 +121,5 @@ Metamaps.Account = {
|
|||
$('#user_password_confirmation').val('')
|
||||
}
|
||||
}
|
||||
|
||||
export default Metamaps.Account
|
||||
|
|
|
@ -1,13 +1,6 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
/* global $ */
|
||||
|
||||
/*
|
||||
* Metamaps.Admin.js.erb
|
||||
*
|
||||
* Dependencies: none!
|
||||
*/
|
||||
|
||||
Metamaps.Admin = {
|
||||
const Admin = {
|
||||
selectMetacodes: [],
|
||||
allMetacodes: [],
|
||||
init: function () {
|
||||
|
@ -53,3 +46,5 @@ Metamaps.Admin = {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Admin
|
||||
|
|
|
@ -1,13 +1,4 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps */
|
||||
|
||||
/*
|
||||
* Metmaaps.AutoLayout.js
|
||||
*
|
||||
* Dependencies: none!
|
||||
*/
|
||||
|
||||
Metamaps.AutoLayout = {
|
||||
const AutoLayout = {
|
||||
nextX: 0,
|
||||
nextY: 0,
|
||||
sideLength: 1,
|
||||
|
@ -74,3 +65,5 @@ Metamaps.AutoLayout = {
|
|||
self.turnCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
export default AutoLayout
|
||||
|
|
|
@ -695,3 +695,5 @@ Metamaps.Backbone.init = function () {
|
|||
}
|
||||
self.attachCollectionEvents()
|
||||
}; // end Metamaps.Backbone.init
|
||||
|
||||
export default Metamaps.Backbone
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
|
||||
// TODO eliminate these 5 top-level variables
|
||||
Metamaps.panningInt = null
|
||||
Metamaps.tempNode = null
|
||||
Metamaps.tempInit = false
|
||||
Metamaps.tempNode2 = null
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
* Metamaps.Control.js.erb
|
||||
* Metamaps.Control.js
|
||||
*
|
||||
* Dependencies:
|
||||
* - Metamaps.Active
|
||||
* - Metamaps.Control
|
||||
* - Metamaps.Filter
|
||||
* - Metamaps.GlobalUI
|
||||
* - Metamaps.JIT
|
||||
|
@ -20,7 +18,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
Metamaps.Control = {
|
||||
const Control = {
|
||||
init: function () {},
|
||||
selectNode: function (node, e) {
|
||||
var filtered = node.getData('alpha') === 0
|
||||
|
@ -34,7 +32,7 @@ Metamaps.Control = {
|
|||
var l = Metamaps.Selected.Nodes.length
|
||||
for (var i = l - 1; i >= 0; i -= 1) {
|
||||
var node = Metamaps.Selected.Nodes[i]
|
||||
Metamaps.Control.deselectNode(node)
|
||||
Control.deselectNode(node)
|
||||
}
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
},
|
||||
|
@ -64,8 +62,8 @@ Metamaps.Control = {
|
|||
|
||||
var r = confirm(text + 'Are you sure you want to permanently delete them all? This will remove them from all maps they appear on.')
|
||||
if (r == true) {
|
||||
Metamaps.Control.deleteSelectedEdges()
|
||||
Metamaps.Control.deleteSelectedNodes()
|
||||
Control.deleteSelectedEdges()
|
||||
Control.deleteSelectedNodes()
|
||||
}
|
||||
},
|
||||
deleteSelectedNodes: function () { // refers to deleting topics permanently
|
||||
|
@ -81,7 +79,7 @@ Metamaps.Control = {
|
|||
var l = Metamaps.Selected.Nodes.length
|
||||
for (var i = l - 1; i >= 0; i -= 1) {
|
||||
var node = Metamaps.Selected.Nodes[i]
|
||||
Metamaps.Control.deleteNode(node.id)
|
||||
Control.deleteNode(node.id)
|
||||
}
|
||||
},
|
||||
deleteNode: function (nodeid) { // refers to deleting topics permanently
|
||||
|
@ -106,7 +104,7 @@ Metamaps.Control = {
|
|||
$(document).trigger(Metamaps.JIT.events.deleteTopic, [{
|
||||
mappableid: mappableid
|
||||
}])
|
||||
Metamaps.Control.hideNode(nodeid)
|
||||
Control.hideNode(nodeid)
|
||||
} else {
|
||||
Metamaps.GlobalUI.notifyUser('Only topics you created can be deleted')
|
||||
}
|
||||
|
@ -120,7 +118,7 @@ Metamaps.Control = {
|
|||
_.each(nodeids, function(nodeid) {
|
||||
if (Metamaps.Active.Topic.id !== nodeid) {
|
||||
Metamaps.Topics.remove(nodeid)
|
||||
Metamaps.Control.hideNode(nodeid)
|
||||
Control.hideNode(nodeid)
|
||||
}
|
||||
})
|
||||
return
|
||||
|
@ -139,7 +137,7 @@ Metamaps.Control = {
|
|||
|
||||
for (i = l - 1; i >= 0; i -= 1) {
|
||||
node = Metamaps.Selected.Nodes[i]
|
||||
Metamaps.Control.removeNode(node.id)
|
||||
Control.removeNode(node.id)
|
||||
}
|
||||
},
|
||||
removeNode: function (nodeid) { // refers to removing topics permanently from a map
|
||||
|
@ -161,7 +159,7 @@ Metamaps.Control = {
|
|||
$(document).trigger(Metamaps.JIT.events.removeTopic, [{
|
||||
mappableid: mappableid
|
||||
}])
|
||||
Metamaps.Control.hideNode(nodeid)
|
||||
Control.hideNode(nodeid)
|
||||
},
|
||||
hideSelectedNodes: function () {
|
||||
var l = Metamaps.Selected.Nodes.length,
|
||||
|
@ -170,14 +168,14 @@ Metamaps.Control = {
|
|||
|
||||
for (i = l - 1; i >= 0; i -= 1) {
|
||||
node = Metamaps.Selected.Nodes[i]
|
||||
Metamaps.Control.hideNode(node.id)
|
||||
Control.hideNode(node.id)
|
||||
}
|
||||
},
|
||||
hideNode: function (nodeid) {
|
||||
var node = Metamaps.Visualize.mGraph.graph.getNode(nodeid)
|
||||
var graph = Metamaps.Visualize.mGraph
|
||||
|
||||
Metamaps.Control.deselectNode(node)
|
||||
Control.deselectNode(node)
|
||||
|
||||
node.setData('alpha', 0, 'end')
|
||||
node.eachAdjacency(function (adj) {
|
||||
|
@ -218,7 +216,7 @@ Metamaps.Control = {
|
|||
var l = Metamaps.Selected.Edges.length
|
||||
for (var i = l - 1; i >= 0; i -= 1) {
|
||||
var edge = Metamaps.Selected.Edges[i]
|
||||
Metamaps.Control.deselectEdge(edge)
|
||||
Control.deselectEdge(edge)
|
||||
}
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
},
|
||||
|
@ -258,7 +256,7 @@ Metamaps.Control = {
|
|||
|
||||
for (var i = l - 1; i >= 0; i -= 1) {
|
||||
edge = Metamaps.Selected.Edges[i]
|
||||
Metamaps.Control.deleteEdge(edge)
|
||||
Control.deleteEdge(edge)
|
||||
}
|
||||
},
|
||||
deleteEdge: function (edge) {
|
||||
|
@ -279,7 +277,7 @@ Metamaps.Control = {
|
|||
var permToDelete = Metamaps.Active.Mapper.id === synapse.get('user_id') || Metamaps.Active.Mapper.get('admin')
|
||||
if (permToDelete) {
|
||||
if (edge.getData('synapses').length - 1 === 0) {
|
||||
Metamaps.Control.hideEdge(edge)
|
||||
Control.hideEdge(edge)
|
||||
}
|
||||
var mappableid = synapse.id
|
||||
synapse.destroy()
|
||||
|
@ -315,7 +313,7 @@ Metamaps.Control = {
|
|||
|
||||
for (i = l - 1; i >= 0; i -= 1) {
|
||||
edge = Metamaps.Selected.Edges[i]
|
||||
Metamaps.Control.removeEdge(edge)
|
||||
Control.removeEdge(edge)
|
||||
}
|
||||
Metamaps.Selected.Edges = [ ]
|
||||
},
|
||||
|
@ -330,7 +328,7 @@ Metamaps.Control = {
|
|||
}
|
||||
|
||||
if (edge.getData('mappings').length - 1 === 0) {
|
||||
Metamaps.Control.hideEdge(edge)
|
||||
Control.hideEdge(edge)
|
||||
}
|
||||
|
||||
var index = edge.getData('displayIndex') ? edge.getData('displayIndex') : 0
|
||||
|
@ -357,7 +355,7 @@ Metamaps.Control = {
|
|||
i
|
||||
for (i = l - 1; i >= 0; i -= 1) {
|
||||
edge = Metamaps.Selected.Edges[i]
|
||||
Metamaps.Control.hideEdge(edge)
|
||||
Control.hideEdge(edge)
|
||||
}
|
||||
Metamaps.Selected.Edges = [ ]
|
||||
},
|
||||
|
@ -365,7 +363,7 @@ Metamaps.Control = {
|
|||
var from = edge.nodeFrom.id
|
||||
var to = edge.nodeTo.id
|
||||
edge.setData('alpha', 0, 'end')
|
||||
Metamaps.Control.deselectEdge(edge)
|
||||
Control.deselectEdge(edge)
|
||||
Metamaps.Visualize.mGraph.fx.animate({
|
||||
modes: ['edge-property:alpha'],
|
||||
duration: 500
|
||||
|
@ -449,4 +447,6 @@ Metamaps.Control = {
|
|||
Metamaps.GlobalUI.notifyUser(message)
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
},
|
||||
}; // end Metamaps.Control
|
||||
}
|
||||
|
||||
export default Control
|
||||
|
|
|
@ -15,7 +15,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
Metamaps.Create = {
|
||||
const Create = {
|
||||
isSwitchingSet: false, // indicates whether the metacode set switch lightbox is open
|
||||
selectedMetacodeSet: null,
|
||||
selectedMetacodeSetIndex: null,
|
||||
|
@ -24,7 +24,7 @@ Metamaps.Create = {
|
|||
selectedMetacodes: [],
|
||||
newSelectedMetacodes: [],
|
||||
init: function () {
|
||||
var self = Metamaps.Create
|
||||
var self = Create
|
||||
self.newTopic.init()
|
||||
self.newSynapse.init()
|
||||
|
||||
|
@ -37,7 +37,7 @@ Metamaps.Create = {
|
|||
$('.customMetacodeList li').click(self.toggleMetacodeSelected) // within the custom metacode set tab
|
||||
},
|
||||
toggleMetacodeSelected: function () {
|
||||
var self = Metamaps.Create
|
||||
var self = Create
|
||||
|
||||
if ($(this).attr('class') != 'toggledOff') {
|
||||
$(this).addClass('toggledOff')
|
||||
|
@ -52,29 +52,29 @@ Metamaps.Create = {
|
|||
}
|
||||
},
|
||||
updateMetacodeSet: function (set, index, custom) {
|
||||
if (custom && Metamaps.Create.newSelectedMetacodes.length == 0) {
|
||||
if (custom && Create.newSelectedMetacodes.length == 0) {
|
||||
alert('Please select at least one metacode to use!')
|
||||
return false
|
||||
}
|
||||
|
||||
var codesToSwitchToIds
|
||||
var metacodeModels = new Metamaps.Backbone.MetacodeCollection()
|
||||
Metamaps.Create.selectedMetacodeSetIndex = index
|
||||
Metamaps.Create.selectedMetacodeSet = 'metacodeset-' + set
|
||||
Create.selectedMetacodeSetIndex = index
|
||||
Create.selectedMetacodeSet = 'metacodeset-' + set
|
||||
|
||||
if (!custom) {
|
||||
codesToSwitchToIds = $('#metacodeSwitchTabs' + set).attr('data-metacodes').split(',')
|
||||
$('.customMetacodeList li').addClass('toggledOff')
|
||||
Metamaps.Create.selectedMetacodes = []
|
||||
Metamaps.Create.selectedMetacodeNames = []
|
||||
Metamaps.Create.newSelectedMetacodes = []
|
||||
Metamaps.Create.newSelectedMetacodeNames = []
|
||||
Create.selectedMetacodes = []
|
||||
Create.selectedMetacodeNames = []
|
||||
Create.newSelectedMetacodes = []
|
||||
Create.newSelectedMetacodeNames = []
|
||||
}
|
||||
else if (custom) {
|
||||
// uses .slice to avoid setting the two arrays to the same actual array
|
||||
Metamaps.Create.selectedMetacodes = Metamaps.Create.newSelectedMetacodes.slice(0)
|
||||
Metamaps.Create.selectedMetacodeNames = Metamaps.Create.newSelectedMetacodeNames.slice(0)
|
||||
codesToSwitchToIds = Metamaps.Create.selectedMetacodes.slice(0)
|
||||
Create.selectedMetacodes = Create.newSelectedMetacodes.slice(0)
|
||||
Create.selectedMetacodeNames = Create.newSelectedMetacodeNames.slice(0)
|
||||
codesToSwitchToIds = Create.selectedMetacodes.slice(0)
|
||||
}
|
||||
|
||||
// sort by name
|
||||
|
@ -106,7 +106,7 @@ Metamaps.Create = {
|
|||
|
||||
var mdata = {
|
||||
'metacodes': {
|
||||
'value': custom ? Metamaps.Create.selectedMetacodes.toString() : Metamaps.Create.selectedMetacodeSet
|
||||
'value': custom ? Create.selectedMetacodes.toString() : Create.selectedMetacodeSet
|
||||
}
|
||||
}
|
||||
$.ajax({
|
||||
|
@ -124,7 +124,7 @@ Metamaps.Create = {
|
|||
},
|
||||
|
||||
cancelMetacodeSetSwitch: function () {
|
||||
var self = Metamaps.Create
|
||||
var self = Create
|
||||
self.isSwitchingSet = false
|
||||
|
||||
if (self.selectedMetacodeSet != 'metacodeset-custom') {
|
||||
|
@ -149,17 +149,17 @@ Metamaps.Create = {
|
|||
newTopic: {
|
||||
init: function () {
|
||||
$('#topic_name').keyup(function () {
|
||||
Metamaps.Create.newTopic.name = $(this).val()
|
||||
Create.newTopic.name = $(this).val()
|
||||
})
|
||||
|
||||
$('.pinCarousel').click(function() {
|
||||
if (Metamaps.Create.newTopic.pinned) {
|
||||
if (Create.newTopic.pinned) {
|
||||
$('.pinCarousel').removeClass('isPinned')
|
||||
Metamaps.Create.newTopic.pinned = false
|
||||
Create.newTopic.pinned = false
|
||||
}
|
||||
else {
|
||||
$('.pinCarousel').addClass('isPinned')
|
||||
Metamaps.Create.newTopic.pinned = true
|
||||
Create.newTopic.pinned = true
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -221,24 +221,24 @@ Metamaps.Create = {
|
|||
$('#new_topic').fadeIn('fast', function () {
|
||||
$('#topic_name').focus()
|
||||
})
|
||||
Metamaps.Create.newTopic.beingCreated = true
|
||||
Metamaps.Create.newTopic.name = ''
|
||||
Create.newTopic.beingCreated = true
|
||||
Create.newTopic.name = ''
|
||||
},
|
||||
hide: function (force) {
|
||||
if (force || !Metamaps.Create.newTopic.pinned) {
|
||||
if (force || !Create.newTopic.pinned) {
|
||||
$('#new_topic').fadeOut('fast')
|
||||
Metamaps.Create.newTopic.beingCreated = false
|
||||
Create.newTopic.beingCreated = false
|
||||
}
|
||||
if (force) {
|
||||
$('.pinCarousel').removeClass('isPinned')
|
||||
Metamaps.Create.newTopic.pinned = false
|
||||
Create.newTopic.pinned = false
|
||||
}
|
||||
$('#topic_name').typeahead('val', '')
|
||||
}
|
||||
},
|
||||
newSynapse: {
|
||||
init: function () {
|
||||
var self = Metamaps.Create.newSynapse
|
||||
var self = Create.newSynapse
|
||||
|
||||
var synapseBloodhound = new Bloodhound({
|
||||
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
|
||||
|
@ -254,7 +254,7 @@ Metamaps.Create = {
|
|||
remote: {
|
||||
url: '/search/synapses?topic1id=%TOPIC1&topic2id=%TOPIC2',
|
||||
prepare: function (query, settings) {
|
||||
var self = Metamaps.Create.newSynapse
|
||||
var self = Create.newSynapse
|
||||
if (Metamaps.Selected.Nodes.length < 2) {
|
||||
settings.url = settings.url.replace('%TOPIC1', self.topic1id).replace('%TOPIC2', self.topic2id)
|
||||
return settings
|
||||
|
@ -300,13 +300,13 @@ Metamaps.Create = {
|
|||
if (e.keyCode === BACKSPACE && $(this).val() === '' ||
|
||||
e.keyCode === DELETE && $(this).val() === '' ||
|
||||
e.keyCode === ESC) {
|
||||
Metamaps.Create.newSynapse.hide()
|
||||
Create.newSynapse.hide()
|
||||
} // if
|
||||
Metamaps.Create.newSynapse.description = $(this).val()
|
||||
Create.newSynapse.description = $(this).val()
|
||||
})
|
||||
|
||||
$('#synapse_desc').focusout(function () {
|
||||
if (Metamaps.Create.newSynapse.beingCreated) {
|
||||
if (Create.newSynapse.beingCreated) {
|
||||
Metamaps.Synapse.createSynapseLocally()
|
||||
}
|
||||
})
|
||||
|
@ -315,7 +315,7 @@ Metamaps.Create = {
|
|||
if (datum.id) { // if they clicked on an existing synapse get it
|
||||
Metamaps.Synapse.getSynapseFromAutocomplete(datum.id)
|
||||
} else {
|
||||
Metamaps.Create.newSynapse.description = datum.value
|
||||
Create.newSynapse.description = datum.value
|
||||
Metamaps.Synapse.createSynapseLocally()
|
||||
}
|
||||
})
|
||||
|
@ -329,17 +329,19 @@ Metamaps.Create = {
|
|||
$('#new_synapse').fadeIn(100, function () {
|
||||
$('#synapse_desc').focus()
|
||||
})
|
||||
Metamaps.Create.newSynapse.beingCreated = true
|
||||
Create.newSynapse.beingCreated = true
|
||||
},
|
||||
hide: function () {
|
||||
$('#new_synapse').fadeOut('fast')
|
||||
$('#synapse_desc').typeahead('val', '')
|
||||
Metamaps.Create.newSynapse.beingCreated = false
|
||||
Metamaps.Create.newTopic.addSynapse = false
|
||||
Metamaps.Create.newSynapse.topic1id = 0
|
||||
Metamaps.Create.newSynapse.topic2id = 0
|
||||
Create.newSynapse.beingCreated = false
|
||||
Create.newTopic.addSynapse = false
|
||||
Create.newSynapse.topic1id = 0
|
||||
Create.newSynapse.topic2id = 0
|
||||
Metamaps.Mouse.synapseStartCoordinates = []
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
},
|
||||
}
|
||||
}; // end Metamaps.Create
|
||||
}
|
||||
|
||||
export default Create
|
||||
|
|
|
@ -1,15 +1,6 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/*
|
||||
* Metamaps.Debug.js.erb
|
||||
*
|
||||
* Dependencies: none!
|
||||
*/
|
||||
const Debug = () => {
|
||||
console.debug(window.Metamaps)
|
||||
console.debug(`Metamaps Version: ${window.Metamaps.VERSION}`)
|
||||
}
|
||||
|
||||
Metamaps.Debug = function () {
|
||||
console.debug(Metamaps)
|
||||
console.debug('Metamaps Version: ' + Metamaps.VERSION)
|
||||
}
|
||||
Metamaps.debug = function () {
|
||||
Metamaps.Debug()
|
||||
window.Metamaps = window.Metamaps || {}
|
||||
}
|
||||
export default Debug
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -16,7 +15,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Topics
|
||||
* - Metamaps.Visualize
|
||||
*/
|
||||
Metamaps.Filter = {
|
||||
const Filter = {
|
||||
filters: {
|
||||
name: '',
|
||||
metacodes: [],
|
||||
|
@ -31,7 +30,7 @@ Metamaps.Filter = {
|
|||
isOpen: false,
|
||||
changing: false,
|
||||
init: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
|
||||
$('.sidebarFilterIcon').click(self.toggleBox)
|
||||
|
||||
|
@ -46,7 +45,7 @@ Metamaps.Filter = {
|
|||
self.getFilterData()
|
||||
},
|
||||
toggleBox: function (event) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
|
||||
if (self.isOpen) self.close()
|
||||
else self.open()
|
||||
|
@ -54,7 +53,7 @@ Metamaps.Filter = {
|
|||
event.stopPropagation()
|
||||
},
|
||||
open: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
|
||||
Metamaps.GlobalUI.Account.close()
|
||||
$('.sidebarFilterIcon div').addClass('hide')
|
||||
|
@ -70,7 +69,7 @@ Metamaps.Filter = {
|
|||
}
|
||||
},
|
||||
close: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('.sidebarFilterIcon div').removeClass('hide')
|
||||
|
||||
if (!self.changing) {
|
||||
|
@ -83,7 +82,7 @@ Metamaps.Filter = {
|
|||
}
|
||||
},
|
||||
reset: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
|
||||
self.filters.metacodes = []
|
||||
self.filters.mappers = []
|
||||
|
@ -103,7 +102,7 @@ Metamaps.Filter = {
|
|||
But what these function do is load this data into three accessible array within java : metacodes, mappers and synapses
|
||||
*/
|
||||
getFilterData: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
|
||||
var metacode, mapper, synapse
|
||||
|
||||
|
@ -126,7 +125,7 @@ Metamaps.Filter = {
|
|||
})
|
||||
},
|
||||
bindLiClicks: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_metacode ul li').unbind().click(self.toggleMetacode)
|
||||
$('#filter_by_mapper ul li').unbind().click(self.toggleMapper)
|
||||
$('#filter_by_synapse ul li').unbind().click(self.toggleSynapse)
|
||||
|
@ -137,7 +136,7 @@ Metamaps.Filter = {
|
|||
@param
|
||||
*/
|
||||
updateFilters: function (collection, propertyToCheck, correlatedModel, filtersToUse, listToModify) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
|
||||
var newList = []
|
||||
var removed = []
|
||||
|
@ -212,11 +211,11 @@ Metamaps.Filter = {
|
|||
self.bindLiClicks()
|
||||
},
|
||||
checkMetacodes: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
self.updateFilters('Topics', 'metacode_id', 'Metacodes', 'metacodes', 'metacode')
|
||||
},
|
||||
checkMappers: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
var onMap = Metamaps.Active.Map ? true : false
|
||||
if (onMap) {
|
||||
self.updateFilters('Mappings', 'user_id', 'Mappers', 'mappers', 'mapper')
|
||||
|
@ -226,11 +225,11 @@ Metamaps.Filter = {
|
|||
}
|
||||
},
|
||||
checkSynapses: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
self.updateFilters('Synapses', 'desc', 'Synapses', 'synapses', 'synapse')
|
||||
},
|
||||
filterAllMetacodes: function (e) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_metacode ul li').addClass('toggledOff')
|
||||
$('.showAllMetacodes').removeClass('active')
|
||||
$('.hideAllMetacodes').addClass('active')
|
||||
|
@ -238,7 +237,7 @@ Metamaps.Filter = {
|
|||
self.passFilters()
|
||||
},
|
||||
filterNoMetacodes: function (e) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_metacode ul li').removeClass('toggledOff')
|
||||
$('.showAllMetacodes').addClass('active')
|
||||
$('.hideAllMetacodes').removeClass('active')
|
||||
|
@ -246,7 +245,7 @@ Metamaps.Filter = {
|
|||
self.passFilters()
|
||||
},
|
||||
filterAllMappers: function (e) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_mapper ul li').addClass('toggledOff')
|
||||
$('.showAllMappers').removeClass('active')
|
||||
$('.hideAllMappers').addClass('active')
|
||||
|
@ -254,7 +253,7 @@ Metamaps.Filter = {
|
|||
self.passFilters()
|
||||
},
|
||||
filterNoMappers: function (e) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_mapper ul li').removeClass('toggledOff')
|
||||
$('.showAllMappers').addClass('active')
|
||||
$('.hideAllMappers').removeClass('active')
|
||||
|
@ -262,7 +261,7 @@ Metamaps.Filter = {
|
|||
self.passFilters()
|
||||
},
|
||||
filterAllSynapses: function (e) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_synapse ul li').addClass('toggledOff')
|
||||
$('.showAllSynapses').removeClass('active')
|
||||
$('.hideAllSynapses').addClass('active')
|
||||
|
@ -270,7 +269,7 @@ Metamaps.Filter = {
|
|||
self.passFilters()
|
||||
},
|
||||
filterNoSynapses: function (e) {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
$('#filter_by_synapse ul li').removeClass('toggledOff')
|
||||
$('.showAllSynapses').addClass('active')
|
||||
$('.hideAllSynapses').removeClass('active')
|
||||
|
@ -281,7 +280,7 @@ Metamaps.Filter = {
|
|||
// to reduce code redundancy
|
||||
// gets called in the context of a list item in a filter box
|
||||
toggleLi: function (whichToFilter) {
|
||||
var self = Metamaps.Filter, index
|
||||
var self = Filter, index
|
||||
var id = $(this).attr('data-id')
|
||||
if (self.visible[whichToFilter].indexOf(id) == -1) {
|
||||
self.visible[whichToFilter].push(id)
|
||||
|
@ -294,7 +293,7 @@ Metamaps.Filter = {
|
|||
self.passFilters()
|
||||
},
|
||||
toggleMetacode: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
self.toggleLi.call(this, 'metacodes')
|
||||
|
||||
if (self.visible.metacodes.length === self.filters.metacodes.length) {
|
||||
|
@ -310,7 +309,7 @@ Metamaps.Filter = {
|
|||
}
|
||||
},
|
||||
toggleMapper: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
self.toggleLi.call(this, 'mappers')
|
||||
|
||||
if (self.visible.mappers.length === self.filters.mappers.length) {
|
||||
|
@ -326,7 +325,7 @@ Metamaps.Filter = {
|
|||
}
|
||||
},
|
||||
toggleSynapse: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
self.toggleLi.call(this, 'synapses')
|
||||
|
||||
if (self.visible.synapses.length === self.filters.synapses.length) {
|
||||
|
@ -342,7 +341,7 @@ Metamaps.Filter = {
|
|||
}
|
||||
},
|
||||
passFilters: function () {
|
||||
var self = Metamaps.Filter
|
||||
var self = Filter
|
||||
var visible = self.visible
|
||||
|
||||
var passesMetacode, passesMapper, passesSynapse
|
||||
|
@ -464,4 +463,6 @@ Metamaps.Filter = {
|
|||
duration: 200
|
||||
})
|
||||
}
|
||||
}; // end Metamaps.Filter
|
||||
}
|
||||
|
||||
export default Filter
|
||||
|
|
|
@ -678,3 +678,5 @@ Metamaps.GlobalUI.Search = {
|
|||
$('#searchLoading').show();
|
||||
}
|
||||
}
|
||||
|
||||
export default Metamaps.GlobalUI
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -14,7 +13,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Topics
|
||||
*/
|
||||
|
||||
Metamaps.Import = {
|
||||
const Import = {
|
||||
// note that user is not imported
|
||||
topicWhitelist: [
|
||||
'id', 'name', 'metacode', 'x', 'y', 'description', 'link', 'permission'
|
||||
|
@ -25,19 +24,19 @@ Metamaps.Import = {
|
|||
cidMappings: {}, // to be filled by import_id => cid mappings
|
||||
|
||||
handleTSV: function (text) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
results = self.parseTabbedString(text)
|
||||
self.handle(results)
|
||||
},
|
||||
|
||||
handleJSON: function (text) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
results = JSON.parse(text)
|
||||
self.handle(results)
|
||||
},
|
||||
|
||||
handle: function(results) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
var topics = results.topics
|
||||
var synapses = results.synapses
|
||||
|
||||
|
@ -61,7 +60,7 @@ Metamaps.Import = {
|
|||
},
|
||||
|
||||
parseTabbedString: function (text) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
|
||||
// determine line ending and split lines
|
||||
var delim = '\n'
|
||||
|
@ -187,7 +186,7 @@ Metamaps.Import = {
|
|||
},
|
||||
|
||||
importTopics: function (parsedTopics) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
|
||||
// up to 25 topics: scale 100
|
||||
// up to 81 topics: scale 200
|
||||
|
@ -220,7 +219,7 @@ Metamaps.Import = {
|
|||
},
|
||||
|
||||
importSynapses: function (parsedSynapses) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
|
||||
parsedSynapses.forEach(function (synapse) {
|
||||
// only createSynapseWithParameters once both topics are persisted
|
||||
|
@ -256,7 +255,7 @@ Metamaps.Import = {
|
|||
|
||||
createTopicWithParameters: function (name, metacode_name, permission, desc,
|
||||
link, xloc, yloc, import_id, opts) {
|
||||
var self = Metamaps.Import
|
||||
var self = Import
|
||||
$(document).trigger(Metamaps.Map.events.editedByActiveMapper)
|
||||
var metacode = Metamaps.Metacodes.where({name: metacode_name})[0] || null
|
||||
if (metacode === null) {
|
||||
|
@ -325,3 +324,5 @@ Metamaps.Import = {
|
|||
Metamaps.Synapse.renderSynapse(mapping, synapse, node1, node2, true)
|
||||
}
|
||||
}
|
||||
|
||||
export default Import
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps */
|
||||
|
||||
Metamaps.JIT = {
|
||||
let panningInt
|
||||
|
||||
const JIT = {
|
||||
events: {
|
||||
topicDrag: 'Metamaps:JIT:events:topicDrag',
|
||||
newTopic: 'Metamaps:JIT:events:newTopic',
|
||||
|
@ -18,7 +20,7 @@ Metamaps.JIT = {
|
|||
* This method will bind the event handlers it is interested and initialize the class.
|
||||
*/
|
||||
init: function () {
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
$('.zoomIn').click(self.zoomIn)
|
||||
$('.zoomOut').click(self.zoomOut)
|
||||
|
@ -94,7 +96,7 @@ Metamaps.JIT = {
|
|||
return [jitReady, synapsesToRemove]
|
||||
},
|
||||
prepareVizData: function () {
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
var mapping
|
||||
|
||||
// reset/empty vizData
|
||||
|
@ -148,7 +150,7 @@ Metamaps.JIT = {
|
|||
var color = Metamaps.Settings.colors.synapses.normal
|
||||
canvas.getCtx().fillStyle = canvas.getCtx().strokeStyle = color
|
||||
}
|
||||
Metamaps.JIT.renderEdgeArrows($jit.Graph.Plot.edgeHelper, adj, synapse, canvas)
|
||||
JIT.renderEdgeArrows($jit.Graph.Plot.edgeHelper, adj, synapse, canvas)
|
||||
|
||||
// check for edge label in data
|
||||
var desc = synapse.get('desc')
|
||||
|
@ -253,7 +255,7 @@ Metamaps.JIT = {
|
|||
duration: 800,
|
||||
onComplete: function () {
|
||||
Metamaps.Visualize.mGraph.busy = false
|
||||
$(document).trigger(Metamaps.JIT.events.animationDone)
|
||||
$(document).trigger(JIT.events.animationDone)
|
||||
}
|
||||
},
|
||||
animateFDLayout: {
|
||||
|
@ -323,26 +325,26 @@ Metamaps.JIT = {
|
|||
enable: true,
|
||||
enableForEdges: true,
|
||||
onMouseMove: function (node, eventInfo, e) {
|
||||
Metamaps.JIT.onMouseMoveHandler(node, eventInfo, e)
|
||||
JIT.onMouseMoveHandler(node, eventInfo, e)
|
||||
// console.log('called mouse move handler')
|
||||
},
|
||||
// Update node positions when dragged
|
||||
onDragMove: function (node, eventInfo, e) {
|
||||
Metamaps.JIT.onDragMoveTopicHandler(node, eventInfo, e)
|
||||
JIT.onDragMoveTopicHandler(node, eventInfo, e)
|
||||
// console.log('called drag move handler')
|
||||
},
|
||||
onDragEnd: function (node, eventInfo, e) {
|
||||
Metamaps.JIT.onDragEndTopicHandler(node, eventInfo, e, false)
|
||||
JIT.onDragEndTopicHandler(node, eventInfo, e, false)
|
||||
// console.log('called drag end handler')
|
||||
},
|
||||
onDragCancel: function (node, eventInfo, e) {
|
||||
Metamaps.JIT.onDragCancelHandler(node, eventInfo, e, false)
|
||||
JIT.onDragCancelHandler(node, eventInfo, e, false)
|
||||
},
|
||||
// Implement the same handler for touchscreens
|
||||
onTouchStart: function (node, eventInfo, e) {},
|
||||
// Implement the same handler for touchscreens
|
||||
onTouchMove: function (node, eventInfo, e) {
|
||||
Metamaps.JIT.onDragMoveTopicHandler(node, eventInfo, e)
|
||||
JIT.onDragMoveTopicHandler(node, eventInfo, e)
|
||||
},
|
||||
// Implement the same handler for touchscreens
|
||||
onTouchEnd: function (node, eventInfo, e) {},
|
||||
|
@ -361,7 +363,7 @@ Metamaps.JIT = {
|
|||
var bS = Metamaps.Mouse.boxStartCoordinates
|
||||
var bE = Metamaps.Mouse.boxEndCoordinates
|
||||
if (Math.abs(bS.x - bE.x) > 20 && Math.abs(bS.y - bE.y) > 20) {
|
||||
Metamaps.JIT.zoomToBox(e)
|
||||
JIT.zoomToBox(e)
|
||||
return
|
||||
} else {
|
||||
Metamaps.Mouse.boxStartCoordinates = null
|
||||
|
@ -373,7 +375,7 @@ Metamaps.JIT = {
|
|||
if (e.shiftKey) {
|
||||
Metamaps.Visualize.mGraph.busy = false
|
||||
Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos()
|
||||
Metamaps.JIT.selectWithBox(e)
|
||||
JIT.selectWithBox(e)
|
||||
// console.log('called select with box')
|
||||
return
|
||||
}
|
||||
|
@ -383,13 +385,13 @@ Metamaps.JIT = {
|
|||
|
||||
// clicking on a edge, node, or clicking on blank part of canvas?
|
||||
if (node.nodeFrom) {
|
||||
Metamaps.JIT.selectEdgeOnClickHandler(node, e)
|
||||
JIT.selectEdgeOnClickHandler(node, e)
|
||||
// console.log('called selectEdgeOnClickHandler')
|
||||
} else if (node && !node.nodeFrom) {
|
||||
Metamaps.JIT.selectNodeOnClickHandler(node, e)
|
||||
JIT.selectNodeOnClickHandler(node, e)
|
||||
// console.log('called selectNodeOnClickHandler')
|
||||
} else {
|
||||
Metamaps.JIT.canvasClickHandler(eventInfo.getPos(), e)
|
||||
JIT.canvasClickHandler(eventInfo.getPos(), e)
|
||||
// console.log('called canvasClickHandler')
|
||||
} // if
|
||||
},
|
||||
|
@ -401,7 +403,7 @@ Metamaps.JIT = {
|
|||
if (Metamaps.Mouse.boxStartCoordinates) {
|
||||
Metamaps.Visualize.mGraph.busy = false
|
||||
Metamaps.Mouse.boxEndCoordinates = eventInfo.getPos()
|
||||
Metamaps.JIT.selectWithBox(e)
|
||||
JIT.selectWithBox(e)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -409,9 +411,9 @@ Metamaps.JIT = {
|
|||
|
||||
// clicking on a edge, node, or clicking on blank part of canvas?
|
||||
if (node.nodeFrom) {
|
||||
Metamaps.JIT.selectEdgeOnRightClickHandler(node, e)
|
||||
JIT.selectEdgeOnRightClickHandler(node, e)
|
||||
} else if (node && !node.nodeFrom) {
|
||||
Metamaps.JIT.selectNodeOnRightClickHandler(node, e)
|
||||
JIT.selectNodeOnRightClickHandler(node, e)
|
||||
} else {
|
||||
// console.log('right clicked on open space')
|
||||
}
|
||||
|
@ -455,7 +457,7 @@ Metamaps.JIT = {
|
|||
|
||||
// if the topic has a link, draw a small image to indicate that
|
||||
var hasLink = topic && topic.get('link') !== '' && topic.get('link') !== null
|
||||
var linkImage = Metamaps.JIT.topicLinkImage
|
||||
var linkImage = JIT.topicLinkImage
|
||||
var linkImageLoaded = linkImage.complete ||
|
||||
(typeof linkImage.naturalWidth !== 'undefined' &&
|
||||
linkImage.naturalWidth !== 0)
|
||||
|
@ -465,7 +467,7 @@ Metamaps.JIT = {
|
|||
|
||||
// if the topic has a desc, draw a small image to indicate that
|
||||
var hasDesc = topic && topic.get('desc') !== '' && topic.get('desc') !== null
|
||||
var descImage = Metamaps.JIT.topicDescImage
|
||||
var descImage = JIT.topicDescImage
|
||||
var descImageLoaded = descImage.complete ||
|
||||
(typeof descImage.naturalWidth !== 'undefined' &&
|
||||
descImage.naturalWidth !== 0)
|
||||
|
@ -500,7 +502,7 @@ Metamaps.JIT = {
|
|||
edgeSettings: {
|
||||
'customEdge': {
|
||||
'render': function (adj, canvas) {
|
||||
Metamaps.JIT.edgeRender(adj, canvas)
|
||||
JIT.edgeRender(adj, canvas)
|
||||
},
|
||||
'contains': function (adj, pos) {
|
||||
var from = adj.nodeFrom.pos.getc(),
|
||||
|
@ -667,7 +669,7 @@ Metamaps.JIT = {
|
|||
Metamaps.Visualize.mGraph.plot()
|
||||
}, // onMouseLeave
|
||||
onMouseMoveHandler: function (node, eventInfo, e) {
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
if (Metamaps.Visualize.mGraph.busy) return
|
||||
|
||||
|
@ -721,7 +723,7 @@ Metamaps.JIT = {
|
|||
Metamaps.Control.deselectAllNodes()
|
||||
}, // escKeyHandler
|
||||
onDragMoveTopicHandler: function (node, eventInfo, e) {
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
// this is used to send nodes that are moving to
|
||||
// other realtime collaborators on the same map
|
||||
|
@ -751,7 +753,7 @@ Metamaps.JIT = {
|
|||
// to be the same as on other collaborators
|
||||
// maps
|
||||
positionsToSend[topic.id] = pos
|
||||
$(document).trigger(Metamaps.JIT.events.topicDrag, [positionsToSend])
|
||||
$(document).trigger(JIT.events.topicDrag, [positionsToSend])
|
||||
}
|
||||
} else {
|
||||
var len = Metamaps.Selected.Nodes.length
|
||||
|
@ -782,7 +784,7 @@ Metamaps.JIT = {
|
|||
} // for
|
||||
|
||||
if (Metamaps.Active.Map) {
|
||||
$(document).trigger(Metamaps.JIT.events.topicDrag, [positionsToSend])
|
||||
$(document).trigger(JIT.events.topicDrag, [positionsToSend])
|
||||
}
|
||||
} // if
|
||||
|
||||
|
@ -1201,7 +1203,7 @@ Metamaps.JIT = {
|
|||
selectNodeOnClickHandler: function (node, e) {
|
||||
if (Metamaps.Visualize.mGraph.busy) return
|
||||
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
// catch right click on mac, which is often like ctrl+click
|
||||
if (navigator.platform.indexOf('Mac') != -1 && e.ctrlKey) {
|
||||
|
@ -1222,7 +1224,7 @@ Metamaps.JIT = {
|
|||
} else {
|
||||
// wait a certain length of time, then check again, then run this code
|
||||
setTimeout(function () {
|
||||
if (!Metamaps.JIT.nodeWasDoubleClicked()) {
|
||||
if (!JIT.nodeWasDoubleClicked()) {
|
||||
var nodeAlreadySelected = node.selected
|
||||
|
||||
if (!e.shiftKey) {
|
||||
|
@ -1403,7 +1405,7 @@ Metamaps.JIT = {
|
|||
var fetch_sent = false
|
||||
$('.rc-siblings').hover(function () {
|
||||
if (!fetch_sent) {
|
||||
Metamaps.JIT.populateRightClickSiblings(node)
|
||||
JIT.populateRightClickSiblings(node)
|
||||
fetch_sent = true
|
||||
}
|
||||
})
|
||||
|
@ -1414,7 +1416,7 @@ Metamaps.JIT = {
|
|||
})
|
||||
}, // selectNodeOnRightClickHandler,
|
||||
populateRightClickSiblings: function (node) {
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
// depending on how many topics are selected, do different things
|
||||
|
||||
|
@ -1456,7 +1458,7 @@ Metamaps.JIT = {
|
|||
selectEdgeOnClickHandler: function (adj, e) {
|
||||
if (Metamaps.Visualize.mGraph.busy) return
|
||||
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
// catch right click on mac, which is often like ctrl+click
|
||||
if (navigator.platform.indexOf('Mac') != -1 && e.ctrlKey) {
|
||||
|
@ -1471,7 +1473,7 @@ Metamaps.JIT = {
|
|||
} else {
|
||||
// wait a certain length of time, then check again, then run this code
|
||||
setTimeout(function () {
|
||||
if (!Metamaps.JIT.nodeWasDoubleClicked()) {
|
||||
if (!JIT.nodeWasDoubleClicked()) {
|
||||
var edgeAlreadySelected = Metamaps.Selected.Edges.indexOf(adj) !== -1
|
||||
|
||||
if (!e.shiftKey) {
|
||||
|
@ -1611,17 +1613,17 @@ Metamaps.JIT = {
|
|||
easing = 1 // frictional value
|
||||
|
||||
easing = 1
|
||||
window.clearInterval(Metamaps.panningInt)
|
||||
Metamaps.panningInt = setInterval(function () {
|
||||
window.clearInterval(panningInt)
|
||||
panningInt = setInterval(function () {
|
||||
myTimer()
|
||||
}, 1)
|
||||
|
||||
function myTimer () {
|
||||
Metamaps.Visualize.mGraph.canvas.translate(x_velocity * easing * 1 / sx, y_velocity * easing * 1 / sy)
|
||||
$(document).trigger(Metamaps.JIT.events.pan)
|
||||
$(document).trigger(JIT.events.pan)
|
||||
easing = easing * 0.75
|
||||
|
||||
if (easing < 0.1) window.clearInterval(Metamaps.panningInt)
|
||||
if (easing < 0.1) window.clearInterval(panningInt)
|
||||
}
|
||||
}, // SmoothPanning
|
||||
renderMidArrow: function (from, to, dim, swap, canvas, placement, newSynapse) {
|
||||
|
@ -1666,7 +1668,7 @@ Metamaps.JIT = {
|
|||
ctx.stroke()
|
||||
}, // renderMidArrow
|
||||
renderEdgeArrows: function (edgeHelper, adj, synapse, canvas) {
|
||||
var self = Metamaps.JIT
|
||||
var self = JIT
|
||||
|
||||
var directionCat = synapse.get('category')
|
||||
var direction = synapse.getDirection()
|
||||
|
@ -1720,11 +1722,11 @@ Metamaps.JIT = {
|
|||
}, // renderEdgeArrows
|
||||
zoomIn: function (event) {
|
||||
Metamaps.Visualize.mGraph.canvas.scale(1.25, 1.25)
|
||||
$(document).trigger(Metamaps.JIT.events.zoom, [event])
|
||||
$(document).trigger(JIT.events.zoom, [event])
|
||||
},
|
||||
zoomOut: function (event) {
|
||||
Metamaps.Visualize.mGraph.canvas.scale(0.8, 0.8)
|
||||
$(document).trigger(Metamaps.JIT.events.zoom, [event])
|
||||
$(document).trigger(JIT.events.zoom, [event])
|
||||
},
|
||||
centerMap: function (canvas) {
|
||||
var offsetScale = canvas.scaleOffsetX
|
||||
|
@ -1743,7 +1745,7 @@ Metamaps.JIT = {
|
|||
eY = Metamaps.Mouse.boxEndCoordinates.y
|
||||
|
||||
var canvas = Metamaps.Visualize.mGraph.canvas
|
||||
Metamaps.JIT.centerMap(canvas)
|
||||
JIT.centerMap(canvas)
|
||||
|
||||
var height = $(document).height(),
|
||||
width = $(document).width()
|
||||
|
@ -1770,14 +1772,14 @@ Metamaps.JIT = {
|
|||
var cogY = (sY + eY) / 2
|
||||
|
||||
canvas.translate(-1 * cogX, -1 * cogY)
|
||||
$(document).trigger(Metamaps.JIT.events.zoom, [event])
|
||||
$(document).trigger(JIT.events.zoom, [event])
|
||||
|
||||
Metamaps.Mouse.boxStartCoordinates = false
|
||||
Metamaps.Mouse.boxEndCoordinates = false
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
},
|
||||
zoomExtents: function (event, canvas, denySelected) {
|
||||
Metamaps.JIT.centerMap(canvas)
|
||||
JIT.centerMap(canvas)
|
||||
var height = canvas.getSize().height,
|
||||
width = canvas.getSize().width,
|
||||
maxX, minX, maxY, minY, counter = 0
|
||||
|
@ -1847,7 +1849,7 @@ Metamaps.JIT = {
|
|||
canvas.scale(scaleMultiplier, scaleMultiplier)
|
||||
}
|
||||
|
||||
$(document).trigger(Metamaps.JIT.events.zoom, [event])
|
||||
$(document).trigger(JIT.events.zoom, [event])
|
||||
}
|
||||
else if (nodes.length == 1) {
|
||||
nodes.forEach(function (n) {
|
||||
|
@ -1855,8 +1857,10 @@ Metamaps.JIT = {
|
|||
y = n.pos.y
|
||||
|
||||
canvas.translate(-1 * x, -1 * y)
|
||||
$(document).trigger(Metamaps.JIT.events.zoom, [event])
|
||||
$(document).trigger(JIT.events.zoom, [event])
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default JIT
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -10,7 +9,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.JIT
|
||||
* - Metamaps.Visualize
|
||||
*/
|
||||
Metamaps.Listeners = {
|
||||
const Listeners = {
|
||||
init: function () {
|
||||
var self = this
|
||||
$(document).on('keydown', function (e) {
|
||||
|
@ -120,4 +119,6 @@ Metamaps.Listeners = {
|
|||
Metamaps.Topic.fetchRelatives(nodes)
|
||||
}
|
||||
}
|
||||
}; // end Metamaps.Listeners
|
||||
}
|
||||
|
||||
export default Listeners
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -753,3 +754,5 @@ Metamaps.Map.InfoBox = {
|
|||
}
|
||||
}
|
||||
}; // end Metamaps.Map.InfoBox
|
||||
|
||||
export default Metamaps.Map
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
/* global Metamaps */
|
||||
|
||||
/*
|
||||
* Metamaps.Mapper.js.erb
|
||||
*
|
||||
* Dependencies: none!
|
||||
* Dependencies:
|
||||
* - Metamaps.Backbone
|
||||
*/
|
||||
|
||||
Metamaps.Mapper = {
|
||||
const Mapper = {
|
||||
// this function is to retrieve a mapper JSON object from the database
|
||||
// @param id = the id of the mapper to retrieve
|
||||
get: function (id, callback) {
|
||||
return $.ajax({
|
||||
url: '/users/' + id + '.json',
|
||||
success: function (data) {
|
||||
callback(new Metamaps.Backbone.Mapper(data))
|
||||
}
|
||||
return fetch(`/users/${id}.json`, {
|
||||
}).then(response => {
|
||||
if (!response.ok) throw response
|
||||
return response.json()
|
||||
}).then(payload => {
|
||||
callback(new Metamaps.Backbone.Mapper(payload))
|
||||
})
|
||||
}
|
||||
}; // end Metamaps.Mapper
|
||||
}
|
||||
|
||||
export default Mapper
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -9,7 +8,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Map
|
||||
*/
|
||||
|
||||
Metamaps.Mobile = {
|
||||
const Mobile = {
|
||||
init: function () {
|
||||
var self = Metamaps.Mobile
|
||||
|
||||
|
@ -23,7 +22,7 @@ Metamaps.Mobile = {
|
|||
$('#header_content').width($(document).width() - 70)
|
||||
},
|
||||
liClick: function () {
|
||||
var self = Metamaps.Mobile
|
||||
var self = Mobile
|
||||
$('#header_content').html($(this).text())
|
||||
self.toggleMenu()
|
||||
},
|
||||
|
@ -36,3 +35,5 @@ Metamaps.Mobile = {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Mobile
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -7,8 +6,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* Dependencies:
|
||||
* - Metamaps.Visualize
|
||||
*/
|
||||
Metamaps.Organize = {
|
||||
init: function () {},
|
||||
const Organize = {
|
||||
arrange: function (layout, centerNode) {
|
||||
// first option for layout to implement is 'grid', will do an evenly spaced grid with its center at the 0,0 origin
|
||||
if (layout == 'grid') {
|
||||
|
@ -115,4 +113,6 @@ Metamaps.Organize = {
|
|||
var newOriginY = (lowY + highY) / 2
|
||||
} else alert('please call function with a valid layout dammit!')
|
||||
}
|
||||
}; // end Metamaps.Organize
|
||||
}
|
||||
|
||||
export default Organize
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -9,12 +8,12 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.AutoLayout
|
||||
*/
|
||||
|
||||
Metamaps.PasteInput = {
|
||||
const PasteInput = {
|
||||
// thanks to https://github.com/kevva/url-regex
|
||||
URL_REGEX: new RegExp('^(?:(?:(?:[a-z]+:)?//)|www\.)(?:\S+(?::\S*)?@)?(?:localhost|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#][^\s"]*)?$'),
|
||||
|
||||
init: function () {
|
||||
var self = Metamaps.PasteInput
|
||||
var self = PasteInput
|
||||
|
||||
// intercept dragged files
|
||||
// see http://stackoverflow.com/questions/6756583
|
||||
|
@ -59,7 +58,7 @@ Metamaps.PasteInput = {
|
|||
},
|
||||
|
||||
handle: function(text, coords) {
|
||||
var self = Metamaps.PasteInput
|
||||
var self = PasteInput
|
||||
|
||||
if (text.match(self.URL_REGEX)) {
|
||||
self.handleURL(text, coords)
|
||||
|
@ -109,3 +108,5 @@ Metamaps.PasteInput = {
|
|||
Metamaps.Import.handleTSV(text)
|
||||
}
|
||||
}
|
||||
|
||||
export default PasteInput
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
|
||||
import Maps from '../components/Maps'
|
||||
|
||||
Metamaps.ReactComponents = {
|
||||
const ReactComponents = {
|
||||
Maps
|
||||
}
|
||||
|
||||
export default ReactComponents
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -26,7 +24,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
Metamaps.Realtime = {
|
||||
const Realtime = {
|
||||
videoId: 'video-wrapper',
|
||||
socket: null,
|
||||
webrtc: null,
|
||||
|
@ -39,7 +37,7 @@ Metamaps.Realtime = {
|
|||
inConversation: false,
|
||||
localVideo: null,
|
||||
init: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
self.addJuntoListeners()
|
||||
|
||||
|
@ -102,7 +100,7 @@ Metamaps.Realtime = {
|
|||
} // if Metamaps.Active.Mapper
|
||||
},
|
||||
addJuntoListeners: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
$(document).on(Metamaps.Views.chatView.events.openTray, function () {
|
||||
$('.main').addClass('compressed')
|
||||
|
@ -128,7 +126,7 @@ Metamaps.Realtime = {
|
|||
})
|
||||
},
|
||||
handleVideoAdded: function (v, id) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.positionVideos()
|
||||
v.setParent($('#wrapper'))
|
||||
v.$container.find('.video-cutoff').css({
|
||||
|
@ -137,7 +135,7 @@ Metamaps.Realtime = {
|
|||
$('#wrapper').append(v.$container)
|
||||
},
|
||||
positionVideos: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var videoIds = Object.keys(self.room.videos)
|
||||
var numOfVideos = videoIds.length
|
||||
var numOfVideosToPosition = _.filter(videoIds, function (id) {
|
||||
|
@ -169,7 +167,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
|
||||
// do self first
|
||||
var myVideo = Metamaps.Realtime.localVideo.view
|
||||
var myVideo = Realtime.localVideo.view
|
||||
if (!myVideo.manuallyPositioned) {
|
||||
myVideo.$container.css({
|
||||
top: yFormula() + 'px',
|
||||
|
@ -187,7 +185,7 @@ Metamaps.Realtime = {
|
|||
})
|
||||
},
|
||||
startActiveMap: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
if (Metamaps.Active.Map && Metamaps.Active.Mapper) {
|
||||
if (Metamaps.Active.Map.authorizeToEdit(Metamaps.Active.Mapper)) {
|
||||
|
@ -200,7 +198,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
endActiveMap: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
$(document).off('.map')
|
||||
self.socket.removeAllListeners()
|
||||
|
@ -215,7 +213,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
turnOn: function (notify) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
if (notify) self.sendRealtimeOn()
|
||||
self.status = true
|
||||
|
@ -238,11 +236,11 @@ Metamaps.Realtime = {
|
|||
self.room.chat.addParticipant(self.activeMapper)
|
||||
},
|
||||
checkForACallToJoin: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.socket.emit('checkForCall', { room: self.room.room, mapid: Metamaps.Active.Map.id })
|
||||
},
|
||||
promptToJoin: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
var notifyText = "There's a conversation happening, want to join?"
|
||||
notifyText += ' <button type="button" class="toast-button button" onclick="Metamaps.Realtime.joinCall()">Yes</button>'
|
||||
|
@ -251,7 +249,7 @@ Metamaps.Realtime = {
|
|||
self.room.conversationInProgress()
|
||||
},
|
||||
conversationHasBegun: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
if (self.inConversation) return
|
||||
var notifyText = "There's a conversation starting, want to join?"
|
||||
|
@ -261,7 +259,7 @@ Metamaps.Realtime = {
|
|||
self.room.conversationInProgress()
|
||||
},
|
||||
countOthersInConversation: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var count = 0
|
||||
|
||||
for (var key in self.mappersOnMap) {
|
||||
|
@ -270,7 +268,7 @@ Metamaps.Realtime = {
|
|||
return count
|
||||
},
|
||||
mapperJoinedCall: function (id) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var mapper = self.mappersOnMap[id]
|
||||
|
||||
if (mapper) {
|
||||
|
@ -285,7 +283,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
mapperLeftCall: function (id) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var mapper = self.mappersOnMap[id]
|
||||
|
||||
if (mapper) {
|
||||
|
@ -305,7 +303,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
callEnded: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
self.room.conversationEnding()
|
||||
self.room.leaveVideoOnly()
|
||||
|
@ -324,7 +322,7 @@ Metamaps.Realtime = {
|
|||
self.webrtc.webrtc.localStreams = []
|
||||
},
|
||||
invitedToCall: function (inviter) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
self.room.chat.sound.stop('sessioninvite')
|
||||
self.room.chat.sound.play('sessioninvite')
|
||||
|
@ -337,7 +335,7 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.notifyUser(notifyText, true)
|
||||
},
|
||||
invitedToJoin: function (inviter) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
self.room.chat.sound.stop('sessioninvite')
|
||||
self.room.chat.sound.play('sessioninvite')
|
||||
|
@ -349,7 +347,7 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.notifyUser(notifyText, true)
|
||||
},
|
||||
acceptCall: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.room.chat.sound.stop('sessioninvite')
|
||||
self.socket.emit('callAccepted', {
|
||||
mapid: Metamaps.Active.Map.id,
|
||||
|
@ -361,7 +359,7 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.clearNotify()
|
||||
},
|
||||
denyCall: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.room.chat.sound.stop('sessioninvite')
|
||||
self.socket.emit('callDenied', {
|
||||
mapid: Metamaps.Active.Map.id,
|
||||
|
@ -371,7 +369,7 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.clearNotify()
|
||||
},
|
||||
denyInvite: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.room.chat.sound.stop('sessioninvite')
|
||||
self.socket.emit('inviteDenied', {
|
||||
mapid: Metamaps.Active.Map.id,
|
||||
|
@ -381,7 +379,7 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.clearNotify()
|
||||
},
|
||||
inviteACall: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.socket.emit('inviteACall', {
|
||||
mapid: Metamaps.Active.Map.id,
|
||||
inviter: Metamaps.Active.Mapper.id,
|
||||
|
@ -391,7 +389,7 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.clearNotify()
|
||||
},
|
||||
inviteToJoin: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
self.socket.emit('inviteToJoin', {
|
||||
mapid: Metamaps.Active.Map.id,
|
||||
inviter: Metamaps.Active.Mapper.id,
|
||||
|
@ -400,7 +398,7 @@ Metamaps.Realtime = {
|
|||
self.room.chat.invitationPending(userid)
|
||||
},
|
||||
callAccepted: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
var username = self.mappersOnMap[userid].name
|
||||
Metamaps.GlobalUI.notifyUser('Conversation starting...')
|
||||
|
@ -408,21 +406,21 @@ Metamaps.Realtime = {
|
|||
self.room.chat.invitationAnswered(userid)
|
||||
},
|
||||
callDenied: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
var username = self.mappersOnMap[userid].name
|
||||
Metamaps.GlobalUI.notifyUser(username + " didn't accept your invitation")
|
||||
self.room.chat.invitationAnswered(userid)
|
||||
},
|
||||
inviteDenied: function (userid) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
var username = self.mappersOnMap[userid].name
|
||||
Metamaps.GlobalUI.notifyUser(username + " didn't accept your invitation")
|
||||
self.room.chat.invitationAnswered(userid)
|
||||
},
|
||||
joinCall: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
self.webrtc.off('readyToCall')
|
||||
self.webrtc.once('readyToCall', function () {
|
||||
|
@ -446,7 +444,7 @@ Metamaps.Realtime = {
|
|||
self.room.chat.mapperJoinedCall(Metamaps.Active.Mapper.id)
|
||||
},
|
||||
leaveCall: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
self.socket.emit('mapperLeftCall', {
|
||||
mapid: Metamaps.Active.Map.id,
|
||||
|
@ -465,7 +463,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
turnOff: function (silent) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
|
||||
if (self.status) {
|
||||
if (!silent) self.sendRealtimeOff()
|
||||
|
@ -479,8 +477,8 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
setupSocket: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
var myId = Metamaps.Active.Mapper.id
|
||||
|
||||
socket.emit('newMapperNotify', {
|
||||
|
@ -614,14 +612,14 @@ Metamaps.Realtime = {
|
|||
$(document).on(Metamaps.Views.room.events.newMessage + '.map', sendNewMessage)
|
||||
},
|
||||
attachMapListener: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
socket.on('mapChangeFromServer', self.mapChange)
|
||||
},
|
||||
sendRealtimeOn: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// send this new mapper back your details, and the awareness that you're online
|
||||
var update = {
|
||||
|
@ -632,8 +630,8 @@ Metamaps.Realtime = {
|
|||
socket.emit('notifyStartRealtime', update)
|
||||
},
|
||||
sendRealtimeOff: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// send this new mapper back your details, and the awareness that you're online
|
||||
var update = {
|
||||
|
@ -644,8 +642,8 @@ Metamaps.Realtime = {
|
|||
socket.emit('notifyStopRealtime', update)
|
||||
},
|
||||
updateMapperList: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// data.userid
|
||||
// data.username
|
||||
|
@ -675,8 +673,8 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
newPeerOnMap: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// data.userid
|
||||
// data.username
|
||||
|
@ -743,8 +741,8 @@ Metamaps.Realtime = {
|
|||
})
|
||||
},
|
||||
lostPeerOnMap: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// data.userid
|
||||
// data.username
|
||||
|
@ -763,8 +761,8 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
newCollaborator: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// data.userid
|
||||
// data.username
|
||||
|
@ -777,8 +775,8 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.notifyUser(data.username + ' just turned on realtime')
|
||||
},
|
||||
lostCollaborator: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
// data.userid
|
||||
// data.username
|
||||
|
@ -791,15 +789,15 @@ Metamaps.Realtime = {
|
|||
Metamaps.GlobalUI.notifyUser(data.username + ' just turned off realtime')
|
||||
},
|
||||
updatePeerCoords: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
self.mappersOnMap[data.userid].coords = {x: data.usercoords.x,y: data.usercoords.y}
|
||||
self.positionPeerIcon(data.userid)
|
||||
},
|
||||
positionPeerIcons: function () {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
if (self.status) { // if i have realtime turned on
|
||||
for (var key in self.mappersOnMap) {
|
||||
|
@ -811,8 +809,8 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
positionPeerIcon: function (id) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
var boundary = self.chatOpen ? '#wrapper' : document
|
||||
var mapper = self.mappersOnMap[id]
|
||||
|
@ -848,8 +846,8 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
limitPixelsToScreen: function (pixels) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
var boundary = self.chatOpen ? '#wrapper' : document
|
||||
var xLimit, yLimit
|
||||
|
@ -866,8 +864,8 @@ Metamaps.Realtime = {
|
|||
return {x: xLimit,y: yLimit}
|
||||
},
|
||||
sendCoords: function (coords) {
|
||||
var self = Metamaps.Realtime
|
||||
var socket = Metamaps.Realtime.socket
|
||||
var self = Realtime
|
||||
var socket = Realtime.socket
|
||||
|
||||
var map = Metamaps.Active.Map
|
||||
var mapper = Metamaps.Active.Mapper
|
||||
|
@ -882,7 +880,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
sendTopicDrag: function (positions) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map && self.status) {
|
||||
|
@ -891,7 +889,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
topicDrag: function (positions) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
var topic
|
||||
|
@ -907,7 +905,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
sendTopicChange: function (topic) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
var data = {
|
||||
|
@ -929,7 +927,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
sendSynapseChange: function (synapse) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
var data = {
|
||||
|
@ -952,7 +950,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
sendMapChange: function (map) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
var data = {
|
||||
|
@ -989,7 +987,7 @@ Metamaps.Realtime = {
|
|||
},
|
||||
// newMessage
|
||||
sendNewMessage: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
var message = data.attributes
|
||||
|
@ -997,14 +995,14 @@ Metamaps.Realtime = {
|
|||
socket.emit('newMessage', message)
|
||||
},
|
||||
newMessage: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
self.room.addMessages(new Metamaps.Backbone.MessageCollection(data))
|
||||
},
|
||||
// newTopic
|
||||
sendNewTopic: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map && self.status) {
|
||||
|
@ -1016,7 +1014,7 @@ Metamaps.Realtime = {
|
|||
newTopic: function (data) {
|
||||
var topic, mapping, mapper, mapperCallback, cancel
|
||||
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (!self.status) return
|
||||
|
@ -1063,7 +1061,7 @@ Metamaps.Realtime = {
|
|||
},
|
||||
// removeTopic
|
||||
sendDeleteTopic: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map) {
|
||||
|
@ -1072,7 +1070,7 @@ Metamaps.Realtime = {
|
|||
},
|
||||
// removeTopic
|
||||
sendRemoveTopic: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map) {
|
||||
|
@ -1081,7 +1079,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
removeTopic: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (!self.status) return
|
||||
|
@ -1097,7 +1095,7 @@ Metamaps.Realtime = {
|
|||
},
|
||||
// newSynapse
|
||||
sendNewSynapse: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map) {
|
||||
|
@ -1109,7 +1107,7 @@ Metamaps.Realtime = {
|
|||
newSynapse: function (data) {
|
||||
var topic1, topic2, node1, node2, synapse, mapping, cancel
|
||||
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (!self.status) return
|
||||
|
@ -1160,7 +1158,7 @@ Metamaps.Realtime = {
|
|||
},
|
||||
// deleteSynapse
|
||||
sendDeleteSynapse: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map) {
|
||||
|
@ -1170,7 +1168,7 @@ Metamaps.Realtime = {
|
|||
},
|
||||
// removeSynapse
|
||||
sendRemoveSynapse: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (Metamaps.Active.Map) {
|
||||
|
@ -1179,7 +1177,7 @@ Metamaps.Realtime = {
|
|||
}
|
||||
},
|
||||
removeSynapse: function (data) {
|
||||
var self = Metamaps.Realtime
|
||||
var self = Realtime
|
||||
var socket = self.socket
|
||||
|
||||
if (!self.status) return
|
||||
|
@ -1202,4 +1200,6 @@ Metamaps.Realtime = {
|
|||
Metamaps.Mappings.remove(mapping)
|
||||
}
|
||||
},
|
||||
}; // end Metamaps.Realtime
|
||||
}
|
||||
|
||||
export default Realtime
|
||||
|
|
|
@ -16,231 +16,231 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
;(function () {
|
||||
var Router = Backbone.Router.extend({
|
||||
routes: {
|
||||
'': 'home', // #home
|
||||
'explore/:section': 'explore', // #explore/active
|
||||
'explore/:section/:id': 'explore', // #explore/mapper/1234
|
||||
'maps/:id': 'maps' // #maps/7
|
||||
},
|
||||
home: function () {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
const _Router = Backbone.Router.extend({
|
||||
routes: {
|
||||
'': 'home', // #home
|
||||
'explore/:section': 'explore', // #explore/active
|
||||
'explore/:section/:id': 'explore', // #explore/mapper/1234
|
||||
'maps/:id': 'maps' // #maps/7
|
||||
},
|
||||
home: function () {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
if (Metamaps.Active.Mapper) document.title = 'Explore Active Maps | Metamaps'
|
||||
else document.title = 'Home | Metamaps'
|
||||
if (Metamaps.Active.Mapper) document.title = 'Explore Active Maps | Metamaps'
|
||||
else document.title = 'Home | Metamaps'
|
||||
|
||||
Metamaps.Router.currentSection = ''
|
||||
Metamaps.Router.currentPage = ''
|
||||
$('.wrapper').removeClass('mapPage topicPage')
|
||||
Metamaps.Router.currentSection = ''
|
||||
Metamaps.Router.currentPage = ''
|
||||
$('.wrapper').removeClass('mapPage topicPage')
|
||||
|
||||
var classes = Metamaps.Active.Mapper ? 'homePage explorePage' : 'homePage'
|
||||
$('.wrapper').addClass(classes)
|
||||
var classes = Metamaps.Active.Mapper ? 'homePage explorePage' : 'homePage'
|
||||
$('.wrapper').addClass(classes)
|
||||
|
||||
var navigate = function () {
|
||||
Metamaps.Router.timeoutId = setTimeout(function () {
|
||||
Metamaps.Router.navigate('')
|
||||
}, 300)
|
||||
}
|
||||
var navigate = function () {
|
||||
Metamaps.Router.timeoutId = setTimeout(function () {
|
||||
Metamaps.Router.navigate('')
|
||||
}, 300)
|
||||
}
|
||||
|
||||
// all this only for the logged in home page
|
||||
if (Metamaps.Active.Mapper) {
|
||||
$('.homeButton a').attr('href', '/')
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
|
||||
Metamaps.GlobalUI.showDiv('#explore')
|
||||
|
||||
Metamaps.Views.exploreMaps.setCollection(Metamaps.Maps.Active)
|
||||
if (Metamaps.Maps.Active.length === 0) {
|
||||
Metamaps.Maps.Active.getMaps(navigate) // this will trigger an explore maps render
|
||||
} else {
|
||||
Metamaps.Views.exploreMaps.render(navigate)
|
||||
}
|
||||
} else {
|
||||
// logged out home page
|
||||
Metamaps.GlobalUI.hideDiv('#explore')
|
||||
Metamaps.GlobalUI.showDiv('#yield')
|
||||
Metamaps.Router.timeoutId = setTimeout(navigate, 500)
|
||||
}
|
||||
|
||||
Metamaps.GlobalUI.hideDiv('#infovis')
|
||||
Metamaps.GlobalUI.hideDiv('#instructions')
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Active.Map = null
|
||||
Metamaps.Active.Topic = null
|
||||
},
|
||||
explore: function (section, id) {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
// just capitalize the variable section
|
||||
// either 'featured', 'mapper', or 'active'
|
||||
var capitalize = section.charAt(0).toUpperCase() + section.slice(1)
|
||||
|
||||
if (section === 'shared' || section === 'featured' || section === 'active' || section === 'starred') {
|
||||
document.title = 'Explore ' + capitalize + ' Maps | Metamaps'
|
||||
} else if (section === 'mapper') {
|
||||
$.ajax({
|
||||
url: '/users/' + id + '.json',
|
||||
success: function (response) {
|
||||
document.title = response.name + ' | Metamaps'
|
||||
},
|
||||
error: function () {}
|
||||
})
|
||||
} else if (section === 'mine') {
|
||||
document.title = 'Explore My Maps | Metamaps'
|
||||
}
|
||||
|
||||
if (Metamaps.Active.Mapper && section != 'mapper') $('.homeButton a').attr('href', '/explore/' + section)
|
||||
$('.wrapper').removeClass('homePage mapPage topicPage')
|
||||
$('.wrapper').addClass('explorePage')
|
||||
|
||||
Metamaps.Router.currentSection = 'explore'
|
||||
Metamaps.Router.currentPage = section
|
||||
|
||||
// this will mean it's a mapper page being loaded
|
||||
if (id) {
|
||||
if (Metamaps.Maps.Mapper.mapperId !== id) {
|
||||
// empty the collection if we are trying to load the maps
|
||||
// collection of a different mapper than we had previously
|
||||
Metamaps.Maps.Mapper.reset()
|
||||
Metamaps.Maps.Mapper.page = 1
|
||||
}
|
||||
Metamaps.Maps.Mapper.mapperId = id
|
||||
}
|
||||
|
||||
Metamaps.Views.exploreMaps.setCollection(Metamaps.Maps[capitalize])
|
||||
|
||||
var navigate = function () {
|
||||
var path = '/explore/' + Metamaps.Router.currentPage
|
||||
|
||||
// alter url if for mapper profile page
|
||||
if (Metamaps.Router.currentPage === 'mapper') {
|
||||
path += '/' + Metamaps.Maps.Mapper.mapperId
|
||||
}
|
||||
|
||||
Metamaps.Router.navigate(path)
|
||||
}
|
||||
var navigateTimeout = function () {
|
||||
Metamaps.Router.timeoutId = setTimeout(navigate, 300)
|
||||
}
|
||||
if (Metamaps.Maps[capitalize].length === 0) {
|
||||
Metamaps.Loading.show()
|
||||
setTimeout(function () {
|
||||
Metamaps.Maps[capitalize].getMaps(navigate) // this will trigger an explore maps render
|
||||
}, 300) // wait 300 milliseconds till the other animations are done to do the fetch
|
||||
} else {
|
||||
if (id) {
|
||||
Metamaps.Views.exploreMaps.fetchUserThenRender(navigateTimeout)
|
||||
} else {
|
||||
Metamaps.Views.exploreMaps.render(navigateTimeout)
|
||||
}
|
||||
}
|
||||
// all this only for the logged in home page
|
||||
if (Metamaps.Active.Mapper) {
|
||||
$('.homeButton a').attr('href', '/')
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
|
||||
Metamaps.GlobalUI.showDiv('#explore')
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
Metamaps.GlobalUI.hideDiv('#infovis')
|
||||
Metamaps.GlobalUI.hideDiv('#instructions')
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Active.Map = null
|
||||
Metamaps.Active.Topic = null
|
||||
},
|
||||
maps: function (id) {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
document.title = 'Map ' + id + ' | Metamaps'
|
||||
|
||||
Metamaps.Router.currentSection = 'map'
|
||||
Metamaps.Router.currentPage = id
|
||||
|
||||
$('.wrapper').removeClass('homePage explorePage topicPage')
|
||||
$('.wrapper').addClass('mapPage')
|
||||
// another class will be added to wrapper if you
|
||||
// can edit this map '.canEditMap'
|
||||
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
Metamaps.GlobalUI.hideDiv('#explore')
|
||||
|
||||
// clear the visualization, if there was one, before showing its div again
|
||||
if (Metamaps.Visualize.mGraph) {
|
||||
Metamaps.Visualize.mGraph.graph.empty()
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
Metamaps.JIT.centerMap(Metamaps.Visualize.mGraph.canvas)
|
||||
}
|
||||
Metamaps.GlobalUI.showDiv('#infovis')
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Active.Topic = null
|
||||
|
||||
Metamaps.Loading.show()
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Map.launch(id)
|
||||
},
|
||||
topics: function (id) {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
document.title = 'Topic ' + id + ' | Metamaps'
|
||||
|
||||
Metamaps.Router.currentSection = 'topic'
|
||||
Metamaps.Router.currentPage = id
|
||||
|
||||
$('.wrapper').removeClass('homePage explorePage mapPage')
|
||||
$('.wrapper').addClass('topicPage')
|
||||
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
Metamaps.GlobalUI.hideDiv('#explore')
|
||||
|
||||
// clear the visualization, if there was one, before showing its div again
|
||||
if (Metamaps.Visualize.mGraph) {
|
||||
Metamaps.Visualize.mGraph.graph.empty()
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
Metamaps.JIT.centerMap(Metamaps.Visualize.mGraph.canvas)
|
||||
}
|
||||
Metamaps.GlobalUI.showDiv('#infovis')
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Active.Map = null
|
||||
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Topic.launch(id)
|
||||
}
|
||||
})
|
||||
|
||||
Metamaps.Router = new Router()
|
||||
Metamaps.Router.currentPage = ''
|
||||
Metamaps.Router.currentSection = undefined
|
||||
Metamaps.Router.timeoutId = undefined
|
||||
|
||||
Metamaps.Router.intercept = function (evt) {
|
||||
var segments
|
||||
|
||||
var href = {
|
||||
prop: $(this).prop('href'),
|
||||
attr: $(this).attr('href')
|
||||
}
|
||||
var root = window.location.protocol + '//' + window.location.host + Backbone.history.options.root
|
||||
|
||||
if (href.prop && href.prop === root) href.attr = ''
|
||||
|
||||
if (href.prop && href.prop.slice(0, root.length) === root) {
|
||||
evt.preventDefault()
|
||||
|
||||
segments = href.attr.split('/')
|
||||
segments.splice(0, 1) // pop off the element created by the first /
|
||||
|
||||
if (href.attr === '') {
|
||||
Metamaps.Router.home()
|
||||
Metamaps.Views.exploreMaps.setCollection(Metamaps.Maps.Active)
|
||||
if (Metamaps.Maps.Active.length === 0) {
|
||||
Metamaps.Maps.Active.getMaps(navigate) // this will trigger an explore maps render
|
||||
} else {
|
||||
Metamaps.Router[segments[0]](segments[1], segments[2])
|
||||
Metamaps.Views.exploreMaps.render(navigate)
|
||||
}
|
||||
} else {
|
||||
// logged out home page
|
||||
Metamaps.GlobalUI.hideDiv('#explore')
|
||||
Metamaps.GlobalUI.showDiv('#yield')
|
||||
Metamaps.Router.timeoutId = setTimeout(navigate, 500)
|
||||
}
|
||||
|
||||
Metamaps.GlobalUI.hideDiv('#infovis')
|
||||
Metamaps.GlobalUI.hideDiv('#instructions')
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Active.Map = null
|
||||
Metamaps.Active.Topic = null
|
||||
},
|
||||
explore: function (section, id) {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
// just capitalize the variable section
|
||||
// either 'featured', 'mapper', or 'active'
|
||||
var capitalize = section.charAt(0).toUpperCase() + section.slice(1)
|
||||
|
||||
if (section === 'shared' || section === 'featured' || section === 'active' || section === 'starred') {
|
||||
document.title = 'Explore ' + capitalize + ' Maps | Metamaps'
|
||||
} else if (section === 'mapper') {
|
||||
$.ajax({
|
||||
url: '/users/' + id + '.json',
|
||||
success: function (response) {
|
||||
document.title = response.name + ' | Metamaps'
|
||||
},
|
||||
error: function () {}
|
||||
})
|
||||
} else if (section === 'mine') {
|
||||
document.title = 'Explore My Maps | Metamaps'
|
||||
}
|
||||
|
||||
if (Metamaps.Active.Mapper && section != 'mapper') $('.homeButton a').attr('href', '/explore/' + section)
|
||||
$('.wrapper').removeClass('homePage mapPage topicPage')
|
||||
$('.wrapper').addClass('explorePage')
|
||||
|
||||
Metamaps.Router.currentSection = 'explore'
|
||||
Metamaps.Router.currentPage = section
|
||||
|
||||
// this will mean it's a mapper page being loaded
|
||||
if (id) {
|
||||
if (Metamaps.Maps.Mapper.mapperId !== id) {
|
||||
// empty the collection if we are trying to load the maps
|
||||
// collection of a different mapper than we had previously
|
||||
Metamaps.Maps.Mapper.reset()
|
||||
Metamaps.Maps.Mapper.page = 1
|
||||
}
|
||||
Metamaps.Maps.Mapper.mapperId = id
|
||||
}
|
||||
|
||||
Metamaps.Views.exploreMaps.setCollection(Metamaps.Maps[capitalize])
|
||||
|
||||
var navigate = function () {
|
||||
var path = '/explore/' + Metamaps.Router.currentPage
|
||||
|
||||
// alter url if for mapper profile page
|
||||
if (Metamaps.Router.currentPage === 'mapper') {
|
||||
path += '/' + Metamaps.Maps.Mapper.mapperId
|
||||
}
|
||||
|
||||
Metamaps.Router.navigate(path)
|
||||
}
|
||||
var navigateTimeout = function () {
|
||||
Metamaps.Router.timeoutId = setTimeout(navigate, 300)
|
||||
}
|
||||
if (Metamaps.Maps[capitalize].length === 0) {
|
||||
Metamaps.Loading.show()
|
||||
setTimeout(function () {
|
||||
Metamaps.Maps[capitalize].getMaps(navigate) // this will trigger an explore maps render
|
||||
}, 300) // wait 300 milliseconds till the other animations are done to do the fetch
|
||||
} else {
|
||||
if (id) {
|
||||
Metamaps.Views.exploreMaps.fetchUserThenRender(navigateTimeout)
|
||||
} else {
|
||||
Metamaps.Views.exploreMaps.render(navigateTimeout)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Metamaps.Router.init = function () {
|
||||
Backbone.history.start({
|
||||
silent: true,
|
||||
pushState: true,
|
||||
root: '/'
|
||||
})
|
||||
$(document).on('click', 'a[data-router="true"]', Metamaps.Router.intercept)
|
||||
Metamaps.GlobalUI.showDiv('#explore')
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
Metamaps.GlobalUI.hideDiv('#infovis')
|
||||
Metamaps.GlobalUI.hideDiv('#instructions')
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Active.Map = null
|
||||
Metamaps.Active.Topic = null
|
||||
},
|
||||
maps: function (id) {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
document.title = 'Map ' + id + ' | Metamaps'
|
||||
|
||||
Metamaps.Router.currentSection = 'map'
|
||||
Metamaps.Router.currentPage = id
|
||||
|
||||
$('.wrapper').removeClass('homePage explorePage topicPage')
|
||||
$('.wrapper').addClass('mapPage')
|
||||
// another class will be added to wrapper if you
|
||||
// can edit this map '.canEditMap'
|
||||
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
Metamaps.GlobalUI.hideDiv('#explore')
|
||||
|
||||
// clear the visualization, if there was one, before showing its div again
|
||||
if (Metamaps.Visualize.mGraph) {
|
||||
Metamaps.Visualize.mGraph.graph.empty()
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
Metamaps.JIT.centerMap(Metamaps.Visualize.mGraph.canvas)
|
||||
}
|
||||
Metamaps.GlobalUI.showDiv('#infovis')
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Active.Topic = null
|
||||
|
||||
Metamaps.Loading.show()
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Map.launch(id)
|
||||
},
|
||||
topics: function (id) {
|
||||
clearTimeout(Metamaps.Router.timeoutId)
|
||||
|
||||
document.title = 'Topic ' + id + ' | Metamaps'
|
||||
|
||||
Metamaps.Router.currentSection = 'topic'
|
||||
Metamaps.Router.currentPage = id
|
||||
|
||||
$('.wrapper').removeClass('homePage explorePage mapPage')
|
||||
$('.wrapper').addClass('topicPage')
|
||||
|
||||
Metamaps.GlobalUI.hideDiv('#yield')
|
||||
Metamaps.GlobalUI.hideDiv('#explore')
|
||||
|
||||
// clear the visualization, if there was one, before showing its div again
|
||||
if (Metamaps.Visualize.mGraph) {
|
||||
Metamaps.Visualize.mGraph.graph.empty()
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
Metamaps.JIT.centerMap(Metamaps.Visualize.mGraph.canvas)
|
||||
}
|
||||
Metamaps.GlobalUI.showDiv('#infovis')
|
||||
Metamaps.Map.end()
|
||||
Metamaps.Active.Map = null
|
||||
|
||||
Metamaps.Topic.end()
|
||||
Metamaps.Topic.launch(id)
|
||||
}
|
||||
})()
|
||||
})
|
||||
|
||||
const Router = new _Router()
|
||||
Router.currentPage = ''
|
||||
Router.currentSection = undefined
|
||||
Router.timeoutId = undefined
|
||||
|
||||
Router.intercept = function (evt) {
|
||||
var segments
|
||||
|
||||
var href = {
|
||||
prop: $(this).prop('href'),
|
||||
attr: $(this).attr('href')
|
||||
}
|
||||
var root = window.location.protocol + '//' + window.location.host + Backbone.history.options.root
|
||||
|
||||
if (href.prop && href.prop === root) href.attr = ''
|
||||
|
||||
if (href.prop && href.prop.slice(0, root.length) === root) {
|
||||
evt.preventDefault()
|
||||
|
||||
segments = href.attr.split('/')
|
||||
segments.splice(0, 1) // pop off the element created by the first /
|
||||
|
||||
if (href.attr === '') {
|
||||
Metamaps.Router.home()
|
||||
} else {
|
||||
Metamaps.Router[segments[0]](segments[1], segments[2])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Router.init = function () {
|
||||
Backbone.history.start({
|
||||
silent: true,
|
||||
pushState: true,
|
||||
root: '/'
|
||||
})
|
||||
$(document).on('click', 'a[data-router="true"]', Metamaps.Router.intercept)
|
||||
}
|
||||
|
||||
export default Router
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -18,7 +17,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
Metamaps.Synapse = {
|
||||
const Synapse = {
|
||||
// this function is to retrieve a synapse JSON object from the database
|
||||
// @param id = the id of the synapse to retrieve
|
||||
get: function (id, callback) {
|
||||
|
@ -98,7 +97,7 @@ Metamaps.Synapse = {
|
|||
}
|
||||
},
|
||||
createSynapseLocally: function () {
|
||||
var self = Metamaps.Synapse,
|
||||
var self = Synapse,
|
||||
topic1,
|
||||
topic2,
|
||||
node1,
|
||||
|
@ -145,7 +144,7 @@ Metamaps.Synapse = {
|
|||
Metamaps.Create.newSynapse.hide()
|
||||
},
|
||||
getSynapseFromAutocomplete: function (id) {
|
||||
var self = Metamaps.Synapse,
|
||||
var self = Synapse,
|
||||
topic1,
|
||||
topic2,
|
||||
node1,
|
||||
|
@ -167,4 +166,6 @@ Metamaps.Synapse = {
|
|||
|
||||
self.renderSynapse(mapping, synapse, node1, node2, true)
|
||||
}
|
||||
}; // end Metamaps.Synapse
|
||||
}
|
||||
|
||||
export default Synapse
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -10,10 +9,10 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Mapper
|
||||
* - Metamaps.Visualize
|
||||
*/
|
||||
Metamaps.SynapseCard = {
|
||||
const SynapseCard = {
|
||||
openSynapseCard: null,
|
||||
showCard: function (edge, e) {
|
||||
var self = Metamaps.SynapseCard
|
||||
var self = SynapseCard
|
||||
|
||||
// reset so we don't interfere with other edges, but first, save its x and y
|
||||
var myX = $('#edit_synapse').css('left')
|
||||
|
@ -59,11 +58,11 @@ Metamaps.SynapseCard = {
|
|||
|
||||
hideCard: function () {
|
||||
$('#edit_synapse').remove()
|
||||
Metamaps.SynapseCard.openSynapseCard = null
|
||||
SynapseCard.openSynapseCard = null
|
||||
},
|
||||
|
||||
populateShowCard: function (edge, synapse) {
|
||||
var self = Metamaps.SynapseCard
|
||||
var self = SynapseCard
|
||||
|
||||
self.add_synapse_count(edge)
|
||||
self.add_desc_form(synapse)
|
||||
|
@ -154,7 +153,7 @@ Metamaps.SynapseCard = {
|
|||
var index = parseInt($(this).attr('data-synapse-index'))
|
||||
edge.setData('displayIndex', index)
|
||||
Metamaps.Visualize.mGraph.plot()
|
||||
Metamaps.SynapseCard.showCard(edge, false)
|
||||
SynapseCard.showCard(edge, false)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
@ -286,4 +285,6 @@ Metamaps.SynapseCard = {
|
|||
})
|
||||
} // if
|
||||
} // add_direction_form
|
||||
}; // end Metamaps.SynapseCard
|
||||
}
|
||||
|
||||
export default SynapseCard
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -28,7 +27,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.tempNode2
|
||||
*/
|
||||
|
||||
Metamaps.Topic = {
|
||||
const Topic = {
|
||||
// this function is to retrieve a topic JSON object from the database
|
||||
// @param id = the id of the topic to retrieve
|
||||
get: function (id, callback) {
|
||||
|
@ -393,4 +392,6 @@ Metamaps.Topic = {
|
|||
event.preventDefault()
|
||||
return false
|
||||
}
|
||||
}; // end Metamaps.Topic
|
||||
}
|
||||
|
||||
export default Topic
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -13,16 +12,16 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Util
|
||||
* - Metamaps.Visualize
|
||||
*/
|
||||
Metamaps.TopicCard = {
|
||||
const TopicCard = {
|
||||
openTopicCard: null, // stores the topic that's currently open
|
||||
authorizedToEdit: false, // stores boolean for edit permission for open topic card
|
||||
init: function () {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
// initialize best_in_place editing
|
||||
$('.authenticated div.permission.canEdit .best_in_place').best_in_place()
|
||||
|
||||
Metamaps.TopicCard.generateShowcardHTML = Hogan.compile($('#topicCardTemplate').html())
|
||||
TopicCard.generateShowcardHTML = Hogan.compile($('#topicCardTemplate').html())
|
||||
|
||||
// initialize topic card draggability and resizability
|
||||
$('.showcard').draggable({
|
||||
|
@ -39,7 +38,7 @@ Metamaps.TopicCard = {
|
|||
* @param {$jit.Graph.Node} node
|
||||
*/
|
||||
showCard: function (node, opts) {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
var topic = node.getData('topic')
|
||||
|
||||
|
@ -54,14 +53,14 @@ Metamaps.TopicCard = {
|
|||
})
|
||||
},
|
||||
hideCard: function () {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
$('.showcard').fadeOut('fast')
|
||||
self.openTopicCard = null
|
||||
self.authorizedToEdit = false
|
||||
},
|
||||
embedlyCardRendered: function (iframe) {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
$('#embedlyLinkLoader').hide()
|
||||
|
||||
|
@ -78,7 +77,7 @@ Metamaps.TopicCard = {
|
|||
}
|
||||
},
|
||||
removeLink: function () {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
self.openTopicCard.save({
|
||||
link: null
|
||||
})
|
||||
|
@ -88,7 +87,7 @@ Metamaps.TopicCard = {
|
|||
$('.CardOnGraph').removeClass('hasAttachment')
|
||||
},
|
||||
bindShowCardListeners: function (topic) {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
var showCard = document.getElementById('showcard')
|
||||
|
||||
var authorized = self.authorizedToEdit
|
||||
|
@ -350,13 +349,13 @@ Metamaps.TopicCard = {
|
|||
})
|
||||
},
|
||||
handleInvalidLink: function () {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
self.removeLink()
|
||||
Metamaps.GlobalUI.notifyUser('Invalid link')
|
||||
},
|
||||
populateShowCard: function (topic) {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
var showCard = document.getElementById('showcard')
|
||||
|
||||
|
@ -380,12 +379,12 @@ Metamaps.TopicCard = {
|
|||
showCard.appendChild(perm)
|
||||
}
|
||||
|
||||
Metamaps.TopicCard.bindShowCardListeners(topic)
|
||||
TopicCard.bindShowCardListeners(topic)
|
||||
},
|
||||
generateShowcardHTML: null, // will be initialized into a Hogan template within init function
|
||||
// generateShowcardHTML
|
||||
buildObject: function (topic) {
|
||||
var self = Metamaps.TopicCard
|
||||
var self = TopicCard
|
||||
|
||||
var nodeValues = {}
|
||||
|
||||
|
@ -456,4 +455,6 @@ Metamaps.TopicCard = {
|
|||
nodeValues.desc = (topic.get('desc') == '' && authorized) ? desc_nil : topic.get('desc')
|
||||
return nodeValues
|
||||
}
|
||||
}; // end Metamaps.TopicCard
|
||||
}
|
||||
|
||||
export default TopicCard
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps */
|
||||
|
||||
/*
|
||||
|
@ -8,7 +7,7 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
Metamaps.Util = {
|
||||
const Util = {
|
||||
// helper function to determine how many lines are needed
|
||||
// Line Splitter Function
|
||||
// copyright Stephen Chapman, 19th April 2006
|
||||
|
@ -92,7 +91,7 @@ Metamaps.Util = {
|
|||
var r = (Math.round(Math.random() * 127) + 127).toString(16)
|
||||
var g = (Math.round(Math.random() * 127) + 127).toString(16)
|
||||
var b = (Math.round(Math.random() * 127) + 127).toString(16)
|
||||
return Metamaps.Util.colorLuminance('#' + r + g + b, -0.4)
|
||||
return Util.colorLuminance('#' + r + g + b, -0.4)
|
||||
},
|
||||
// darkens a hex value by 'lum' percentage
|
||||
colorLuminance: function (hex, lum) {
|
||||
|
@ -128,4 +127,6 @@ Metamaps.Util = {
|
|||
checkURLisYoutubeVideo: function (url) {
|
||||
return (url.match(/^https?:\/\/(?:www\.)?youtube.com\/watch\?(?=[^?]*v=\w+)(?:[^\s?]+)?$/) != null)
|
||||
}
|
||||
}; // end Metamaps.Util
|
||||
}
|
||||
|
||||
export default Util
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
|
||||
/*
|
||||
|
@ -10,10 +9,10 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.ReactComponents
|
||||
*/
|
||||
|
||||
Metamaps.Views = {
|
||||
const Views = {
|
||||
exploreMaps: {
|
||||
setCollection: function (collection) {
|
||||
var self = Metamaps.Views.exploreMaps
|
||||
var self = Views.exploreMaps
|
||||
|
||||
if (self.collection) {
|
||||
self.collection.off('add', self.render)
|
||||
|
@ -26,7 +25,7 @@ Metamaps.Views = {
|
|||
self.collection.on('errorOnFetch', self.handleError)
|
||||
},
|
||||
render: function (mapperObj, cb) {
|
||||
var self = Metamaps.Views.exploreMaps
|
||||
var self = Views.exploreMaps
|
||||
|
||||
if (typeof mapperObj === 'function') {
|
||||
cb = mapperObj
|
||||
|
@ -51,7 +50,7 @@ Metamaps.Views = {
|
|||
Metamaps.Loading.hide()
|
||||
},
|
||||
loadMore: function () {
|
||||
var self = Metamaps.Views.exploreMaps
|
||||
var self = Views.exploreMaps
|
||||
|
||||
if (self.collection.page != "loadedAll") {
|
||||
self.collection.getMaps()
|
||||
|
@ -59,7 +58,7 @@ Metamaps.Views = {
|
|||
else self.render()
|
||||
},
|
||||
handleSuccess: function (cb) {
|
||||
var self = Metamaps.Views.exploreMaps
|
||||
var self = Views.exploreMaps
|
||||
|
||||
if (self.collection && self.collection.id === 'mapper') {
|
||||
self.fetchUserThenRender(cb)
|
||||
|
@ -71,7 +70,7 @@ Metamaps.Views = {
|
|||
console.log('error loading maps!') // TODO
|
||||
},
|
||||
fetchUserThenRender: function (cb) {
|
||||
var self = Metamaps.Views.exploreMaps
|
||||
var self = Views.exploreMaps
|
||||
|
||||
// first load the mapper object and then call the render function
|
||||
$.ajax({
|
||||
|
@ -86,3 +85,5 @@ Metamaps.Views = {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Views
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
window.Metamaps = window.Metamaps || {}
|
||||
/* global Metamaps, $ */
|
||||
/*
|
||||
* Metamaps.Visualize
|
||||
|
@ -13,16 +12,15 @@ window.Metamaps = window.Metamaps || {}
|
|||
* - Metamaps.TopicCard
|
||||
* - Metamaps.Topics
|
||||
* - Metamaps.Touch
|
||||
* - Metamaps.Visualize
|
||||
*/
|
||||
|
||||
Metamaps.Visualize = {
|
||||
const Visualize = {
|
||||
mGraph: null, // a reference to the graph object.
|
||||
cameraPosition: null, // stores the camera position when using a 3D visualization
|
||||
type: 'ForceDirected', // the type of graph we're building, could be "RGraph", "ForceDirected", or "ForceDirected3D"
|
||||
loadLater: false, // indicates whether there is JSON that should be loaded right in the offset, or whether to wait till the first topic is created
|
||||
init: function () {
|
||||
var self = Metamaps.Visualize
|
||||
var self = Visualize
|
||||
// disable awkward dragging of the canvas element that would sometimes happen
|
||||
$('#infovis-canvas').on('dragstart', function (event) {
|
||||
event.preventDefault()
|
||||
|
@ -48,7 +46,7 @@ Metamaps.Visualize = {
|
|||
})
|
||||
},
|
||||
computePositions: function () {
|
||||
var self = Metamaps.Visualize,
|
||||
var self = Visualize,
|
||||
mapping
|
||||
|
||||
if (self.type == 'RGraph') {
|
||||
|
@ -112,7 +110,7 @@ Metamaps.Visualize = {
|
|||
*
|
||||
*/
|
||||
render: function () {
|
||||
var self = Metamaps.Visualize, RGraphSettings, FDSettings
|
||||
var self = Visualize, RGraphSettings, FDSettings
|
||||
|
||||
if (self.type == 'RGraph' && (!self.mGraph || self.mGraph instanceof $jit.ForceDirected)) {
|
||||
// clear the previous canvas from #infovis
|
||||
|
@ -217,4 +215,6 @@ Metamaps.Visualize = {
|
|||
}
|
||||
}, 800)
|
||||
}
|
||||
}; // end Metamaps.Visualize
|
||||
}
|
||||
|
||||
export default Visualize
|
||||
|
|
|
@ -2,32 +2,60 @@ window.Metamaps = window.Metamaps || {}
|
|||
|
||||
import './Constants'
|
||||
|
||||
import './Account'
|
||||
import './Admin'
|
||||
import './AutoLayout'
|
||||
import './Backbone'
|
||||
import './Control'
|
||||
import './Create'
|
||||
import './Debug'
|
||||
import './Filter'
|
||||
import './GlobalUI'
|
||||
import './Import'
|
||||
import './JIT'
|
||||
import './Listeners'
|
||||
import './Map'
|
||||
import './Mapper'
|
||||
import './Mobile'
|
||||
import './Organize'
|
||||
import './PasteInput'
|
||||
import './Realtime'
|
||||
import './Router'
|
||||
import './Synapse'
|
||||
import './SynapseCard'
|
||||
import './Topic'
|
||||
import './TopicCard'
|
||||
import './Util'
|
||||
import './Views'
|
||||
import './Visualize'
|
||||
import './ReactComponents'
|
||||
import Account from './Account'
|
||||
import Admin from './Admin'
|
||||
import AutoLayout from './AutoLayout'
|
||||
import Backbone from './Backbone'
|
||||
import Control from './Control'
|
||||
import Create from './Create'
|
||||
import Debug from './Debug'
|
||||
import Filter from './Filter'
|
||||
import GlobalUI from './GlobalUI'
|
||||
import Import from './Import'
|
||||
import JIT from './JIT'
|
||||
import Listeners from './Listeners'
|
||||
import Map from './Map'
|
||||
import Mapper from './Mapper'
|
||||
import Mobile from './Mobile'
|
||||
import Organize from './Organize'
|
||||
import PasteInput from './PasteInput'
|
||||
import Realtime from './Realtime'
|
||||
import Router from './Router'
|
||||
import Synapse from './Synapse'
|
||||
import SynapseCard from './SynapseCard'
|
||||
import Topic from './Topic'
|
||||
import TopicCard from './TopicCard'
|
||||
import Util from './Util'
|
||||
import Views from './Views'
|
||||
import Visualize from './Visualize'
|
||||
import ReactComponents from './ReactComponents'
|
||||
|
||||
Metamaps.Account = Account
|
||||
Metamaps.Admin = Admin
|
||||
Metamaps.AutoLayout = AutoLayout
|
||||
Metamaps.Backbone = Backbone
|
||||
Metamaps.Control = Control
|
||||
Metamaps.Create = Create
|
||||
Metamaps.Debug = Debug
|
||||
Metamaps.Filter = Filter
|
||||
Metamaps.GlobalUI = GlobalUI
|
||||
Metamaps.Import = Import
|
||||
Metamaps.JIT = JIT
|
||||
Metamaps.Listeners = Listeners
|
||||
Metamaps.Map = Map
|
||||
Metamaps.Mapper = Mapper
|
||||
Metamaps.Mobile = Mobile
|
||||
Metamaps.Organize = Organize
|
||||
Metamaps.PasteInput = PasteInput
|
||||
Metamaps.Realtime = Realtime
|
||||
Metamaps.ReactComponents = ReactComponents
|
||||
Metamaps.Router = Router
|
||||
Metamaps.Synapse = Synapse
|
||||
Metamaps.SynapseCard = SynapseCard
|
||||
Metamaps.Topic = Topic
|
||||
Metamaps.TopicCard = TopicCard
|
||||
Metamaps.Util = Util
|
||||
Metamaps.Views = Views
|
||||
Metamaps.Visualize = Visualize
|
||||
|
||||
export default window.Metamaps
|
||||
|
|
Loading…
Reference in a new issue