From 48648c35df08bdc9765b7576a98d109c0a504035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sun, 20 Jan 2019 20:56:05 +0100 Subject: [PATCH] Category*: pass repository as additional parameter to constructor --- src/CategoryBase.js | 3 ++- src/CategoryIndex.js | 4 ++-- src/CategoryOverpass.js | 4 ++-- src/OpenStreetBrowserLoader.js | 4 +++- 4 files changed, 9 insertions(+), 6 deletions(-) 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)