diff --git a/src/CategoryBase.js b/src/CategoryBase.js index b397a83e..27d50709 100644 --- a/src/CategoryBase.js +++ b/src/CategoryBase.js @@ -4,7 +4,7 @@ var OpenStreetBrowserLoader = require('./OpenStreetBrowserLoader') var tabs = require('modulekit-tabs') const ee = require('event-emitter') -function CategoryBase (options, data) { +function CategoryBase (options, data, repository) { if (typeof options === 'string') { this.id = options this.options = {} @@ -12,6 +12,7 @@ function CategoryBase (options, data) { this.id = options.id this.options = options } + this.repository = repository this.parentCategory = null this.childrenLoadingCount = 0 this.data = data diff --git a/src/CategoryIndex.js b/src/CategoryIndex.js index 0a44e85c..aa868371 100644 --- a/src/CategoryIndex.js +++ b/src/CategoryIndex.js @@ -5,8 +5,8 @@ var CategoryBase = require('./CategoryBase') CategoryIndex.prototype = Object.create(CategoryBase.prototype) CategoryIndex.prototype.constructor = CategoryIndex -function CategoryIndex (options, data) { - CategoryBase.call(this, options, data) +function CategoryIndex (options, data, repository) { + CategoryBase.call(this, options, data, repository) this.childrenDoms = {} this.childrenCategories = null diff --git a/src/CategoryOverpass.js b/src/CategoryOverpass.js index a2ecfc91..8f4e0207 100644 --- a/src/CategoryOverpass.js +++ b/src/CategoryOverpass.js @@ -35,10 +35,10 @@ var defaultValues = { CategoryOverpass.prototype = Object.create(CategoryBase.prototype) CategoryOverpass.prototype.constructor = CategoryOverpass -function CategoryOverpass (options, data) { +function CategoryOverpass (options, data, repository) { var p - CategoryBase.call(this, options, data) + CategoryBase.call(this, options, data, repository) data.id = this.id diff --git a/src/OpenStreetBrowserLoader.js b/src/OpenStreetBrowserLoader.js index 615540a2..ac5dd98c 100644 --- a/src/OpenStreetBrowserLoader.js +++ b/src/OpenStreetBrowserLoader.js @@ -203,9 +203,11 @@ OpenStreetBrowserLoader.prototype.getCategoryFromData = function (id, options, d return callback(new Error('unknown type'), null) } + let repository = this.repositories[ids.repositoryId] + var opt = JSON.parse(JSON.stringify(options)) opt.id = ids.id - var layer = new this.types[data.type](opt, data) + var layer = new this.types[data.type](opt, data, repository) layer.setMap(this.map)