From e0e6f5b918aacf18c6fbabe469c0ab8368f77154 Mon Sep 17 00:00:00 2001 From: Max Grossman Date: Mon, 17 Dec 2018 12:52:21 -0500 Subject: [PATCH] remove non-used util class --- modules/core/context.js | 4 +- modules/ui/modes.js | 6 +- modules/util/mapcss_rule.js | 168 ------------------------------------ 3 files changed, 3 insertions(+), 175 deletions(-) delete mode 100644 modules/util/mapcss_rule.js diff --git a/modules/core/context.js b/modules/core/context.js index 20a15d36c..c99d4eb08 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -472,8 +472,8 @@ export function coreContext() { presets = presetIndex(); if (utilStringQs(window.location.hash).validations) { - var validationsUrl = utilStringQs(window.location.hash).validations; - d3_json(validationsUrl, function (err, mapcss) { + var validations = utilStringQs(window.location.hash).validations; + d3_json(validations, function (err, mapcss) { if (err) return; services.maprules.init(context.presets().areaKeys()); _each(mapcss, function(mapcssSelector) { diff --git a/modules/ui/modes.js b/modules/ui/modes.js index 86a2cc764..238d2794e 100644 --- a/modules/ui/modes.js +++ b/modules/ui/modes.js @@ -1,8 +1,6 @@ import _debounce from 'lodash-es/debounce'; -import { - select as d3_select -} from 'd3-selection'; +import { select as d3_select } from 'd3-selection'; import { modeAddArea, @@ -16,8 +14,6 @@ import { svgIcon } from '../svg'; import { tooltip } from '../util/tooltip'; import { uiTooltipHtml } from './tooltipHtml'; -import _includes from 'lodash-es/includes'; - export function uiModes(context) { var modes = [ modeAddPoint(context), diff --git a/modules/util/mapcss_rule.js b/modules/util/mapcss_rule.js deleted file mode 100644 index ab0b68c3b..000000000 --- a/modules/util/mapcss_rule.js +++ /dev/null @@ -1,168 +0,0 @@ -import _isMatch from 'lodash-es/isMatch'; -import _intersection from 'lodash-es/intersection'; -import _reduce from 'lodash-es/reduce'; - -export function utilMapCSSRule(selector, areaKeys) { - var ruleChecks = { - equals: function (tags) { - return _isMatch(tags, selector.equals); - }, - notEquals: function (tags) { - return !_isMatch(tags, selector.notEquals); - }, - absence: function(tags) { - return Object.keys(tags).indexOf(selector.absence) === -1; - }, - presence: function(tags) { - return Object.keys(tags).indexOf(selector.presence) > -1; - }, - greaterThan: function(tags) { - var key = Object.keys(selector.greaterThan)[0]; - var value = selector.greaterThan[key]; - return tags[key] > value; - }, - greaterThanEqual: function(tags) { - var key = Object.keys(selector.greaterThanEqual)[0]; - var value = selector.greaterThanEqual[key]; - return tags[key] >= value; - }, - lessThan: function(tags) { - var key = Object.keys(selector.lessThan)[0]; - var value = selector.lessThan[key]; - return tags[key] < value; - }, - lessThanEqual: function(tags) { - var key = Object.keys(selector.lessThanEqual)[0]; - var value = selector.lessThanEqual[key]; - return tags[key] <= value; - }, - positiveRegex: function(tags) { - var tagKey = Object.keys(selector.positiveRegex)[0]; - var expression = selector.positiveRegex[tagKey].join('|'); - var regex = new RegExp(expression); - return regex.test(tags[tagKey]); - }, - negativeRegex: function(tags) { - var tagKey = Object.keys(selector.negativeRegex)[0]; - var expression = selector.negativeRegex[tagKey].join('|'); - var regex = new RegExp(expression); - return !regex.test(tags[tagKey]); - } - }; - - var rule = { - ruleChecks: ruleChecks, - type: Object.keys(selector).indexOf('error') > -1 ? 'error' : 'warning', - buildChecks: function() { - return Object.keys(selector) - .filter(function(key) { return key !== 'geometry' && key !== 'error' && key !== 'warning'; }) - .map(function(key) { return ruleChecks[key]; }); - - }, - selector: function() { - return selector; - }, - buildTagMap: function() { - var selector = this.selector(), selectorKeys = Object.keys(selector); - var tagMap = _reduce(selectorKeys, function (expectedTags, key) { - var values; - if (/regex/gi.test(key)) { - Object.keys(selector[key]).forEach(function(regexKey) { - values = selector[key][regexKey].map(function(val) { - return val.replace(/\$|\^/g, ''); - }); - - if (expectedTags.hasOwnProperty(regexKey)) { - values = values.concat(expectedTags[regexKey]); - } - - expectedTags[regexKey] = values; - }); - } - if (/(greater|less)Than(Equal)?|equals|presence/g.test(key)) { - var tagKey = /presence/.test(key) ? selector[key] : Object.keys(selector[key])[0]; - - values = (key === 'equals') ? [selector[key][tagKey]] : []; - - if (expectedTags.hasOwnProperty(tagKey)) { - values = (key === 'equals') ? values.concat(expectedTags[tagKey]) : []; - } - - expectedTags[tagKey] = values; - } - return expectedTags; - }, {}); - return tagMap; - }, - matches: function(entity) { - return this.buildChecks().every(function(check) { return check(entity.tags); }); - - }, - areaKeys: function() { - return areaKeys; - }, - // borrowed from Way#isArea() - inferGeometry: function () { - var tagMap = this.buildTagMap(); - var areaKeys = this.areaKeys(); - var lineKeys = { - highway: { - rest_area: true, - services: true - }, - railway: { - roundhouse: true, - station: true, - traverser: true, - turntable: true, - wash: true - } - }; - var isAreaKeyBlackList = function(key) { - return _intersection(tagMap[key], Object.keys(areaKeys[key])).length > 0; - }; - var isLineKeysWhiteList = function(key) { - return _intersection(tagMap[key], Object.keys(lineKeys[key])).length > 0; - }; - - if (tagMap.hasOwnProperty('area')) { - if (tagMap.area.indexOf('yes') > -1) { - return 'area'; - } - if (tagMap.area.indexOf('no') > -1) { - return 'line'; - } - } - - for (var key in tagMap) { - if (key in areaKeys && !isAreaKeyBlackList(key)) { - return 'area'; - } - if (key in lineKeys && isLineKeysWhiteList(key)) { - return 'area'; - } - } - - return 'line'; - }, - geometryMatches: function(entity, graph) { - if (entity.type === 'node' || entity.type === 'relation') { - return selector.geometry === entity.type; - } else if (entity.type === 'way') { - return this.inferGeometry() === entity.geometry(graph); - } - }, - findWarnings: function (entity, graph, warnings) { - if (this.geometryMatches(entity, graph) && this.matches(entity)) { - warnings.push({ - id: 'mapcss_' + rule.type, - message: selector[rule.type], - entity: entity - }); - } - - } - }; - - return rule; -}