mirror of
https://github.com/FoggedLens/iD.git
synced 2026-06-02 05:01:38 +02:00
initial plumbing for iD validation errors
ref #remote-presets
This commit is contained in:
+23
-14
@@ -7,9 +7,16 @@ import _isObject from 'lodash-es/isObject';
|
||||
import _isString from 'lodash-es/isString';
|
||||
|
||||
import { dispatch as d3_dispatch } from 'd3-dispatch';
|
||||
import { json as d3_json } from 'd3-request';
|
||||
|
||||
import {
|
||||
json as d3_json,
|
||||
text as d3_text
|
||||
} from 'd3-request';
|
||||
|
||||
import { select as d3_select } from 'd3-selection';
|
||||
|
||||
import mapcssParse from 'mapcss-parse/source/index';
|
||||
|
||||
import {
|
||||
t,
|
||||
currentLocale,
|
||||
@@ -24,6 +31,7 @@ import {
|
||||
dataEn
|
||||
} from '../../data';
|
||||
|
||||
|
||||
import { geoRawMercator } from '../geo/raw_mercator';
|
||||
import { modeSelect } from '../modes/select';
|
||||
import { presetIndex } from '../presets';
|
||||
@@ -40,13 +48,13 @@ import { utilDetect } from '../util/detect';
|
||||
|
||||
import {
|
||||
utilCallWhenIdle,
|
||||
utilRebind,
|
||||
utilExternalPresets,
|
||||
utilExternalValidationRules
|
||||
utilExternalValidationRules,
|
||||
utilMapCSSRule,
|
||||
utilRebind,
|
||||
utilStringQs
|
||||
} from '../util';
|
||||
|
||||
import { validationCollection } from '../validations';
|
||||
|
||||
export var areaKeys = {};
|
||||
|
||||
export function setAreaKeys(value) {
|
||||
@@ -448,6 +456,15 @@ export function coreContext() {
|
||||
locale = locale.split('-')[0];
|
||||
}
|
||||
|
||||
if (utilExternalValidationRules()) {
|
||||
var validationsUrl = utilStringQs(window.location.hash)['validations'];
|
||||
d3_text(validationsUrl, function (err, mapcss) {
|
||||
if (err) return;
|
||||
var validations = _map(mapcssParse(mapcss), function(mapcssConfig) { return utilMapCSSRule(mapcsS) });
|
||||
context.validationRules = function() { return validations; };
|
||||
});
|
||||
}
|
||||
|
||||
history = coreHistory(context);
|
||||
context.graph = history.graph;
|
||||
context.changes = history.changes;
|
||||
@@ -497,20 +514,12 @@ export function coreContext() {
|
||||
background.init();
|
||||
features.init();
|
||||
|
||||
// get external data if directed by query parameters
|
||||
if (utilExternalPresets()) {
|
||||
presets.fromExternal();
|
||||
} else {
|
||||
presets.init();
|
||||
}
|
||||
|
||||
if (utilExternalValidationRules()) {
|
||||
var validations = validationCollection();
|
||||
validations.init(function(rules) {
|
||||
context.validationRules = function() { return rules; };
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
areaKeys = presets.areaKeys();
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user