diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json
index 705d110542..b9a4246895 100644
--- a/domain-server/resources/describe-settings.json
+++ b/domain-server/resources/describe-settings.json
@@ -55,8 +55,8 @@
]
},
{
- "label": "Places / Paths",
- "html_id": "places_paths",
+ "label": "Paths",
+ "html_id": "paths",
"restart": false,
"settings": [
{
@@ -64,6 +64,7 @@
"label": "Paths",
"help": "Clients can enter a path to reach an exact viewpoint in your domain.
Add rows to the table below to map a path to a viewpoint.
The index path ( / ) is where clients will enter if they do not enter an explicit path.",
"type": "table",
+ "content_setting": true,
"can_add_new_rows": true,
"key": {
"name": "path",
@@ -1081,6 +1082,7 @@
"name": "attenuation_per_doubling_in_distance",
"label": "Default Domain Attenuation",
"help": "Factor between 0 and 1.0 (0: No attenuation, 1.0: extreme attenuation)",
+ "content_setting": true,
"placeholder": "0.5",
"default": "0.5",
"advanced": false
@@ -1313,6 +1315,7 @@
"name": "entityEditFilter",
"label": "Filter Entity Edits",
"help": "Check all entity edits against this filter function.",
+ "content_setting": true,
"placeholder": "url whose content is like: function filter(properties) { return properties; }",
"default": "",
"advanced": true
diff --git a/domain-server/resources/web/js/base-settings.js b/domain-server/resources/web/js/base-settings.js
index 5e32463d61..aad342da63 100644
--- a/domain-server/resources/web/js/base-settings.js
+++ b/domain-server/resources/web/js/base-settings.js
@@ -94,9 +94,13 @@ var viewHelpers = {
function reloadSettings(callback) {
$.getJSON(Settings.endpoint, function(data){
- _.extend(data, viewHelpers)
+ _.extend(data, viewHelpers);
- $('#panels').html(Settings.panelsTemplate(data))
+ for (var spliceIndex in Settings.extraGroups) {
+ data.descriptions.splice(spliceIndex, 0, Settings.extraGroups[spliceIndex]);
+ }
+
+ $('#panels').html(Settings.panelsTemplate(data));
Settings.data = data;
Settings.initialValues = form2js('settings-form', ".", false, cleanupFormValues, true);
diff --git a/domain-server/resources/web/js/domain-server.js b/domain-server/resources/web/js/domain-server.js
index aa658bce3f..a7c8c3a4d1 100644
--- a/domain-server/resources/web/js/domain-server.js
+++ b/domain-server/resources/web/js/domain-server.js
@@ -79,6 +79,13 @@ $(document).ready(function(){
}
$settingsDropdown.append(makeGroupDropdownElement(group, "/settings/"));
+
+ // for domain settings, we add a dummy "Places" group that we fill
+ // via the API - add it to the dropdown menu in the right spot
+ if (index == 1) {
+ $settingsDropdown.append("