Skip to content

Instantly share code, notes, and snippets.

@thoroc
Created February 26, 2014 17:45
Show Gist options
  • Save thoroc/9234592 to your computer and use it in GitHub Desktop.
Save thoroc/9234592 to your computer and use it in GitHub Desktop.
messing around with filtering in js
{
"name": "bezirke",
"limits": "gemeinden",
"enables": "",
"default": " >> Berzike",
"data": {
"charlottenburg-wilmersdorf": {
"name": "Charlottenburg-Wilmersdorf",
"value": "charlottenburg-wilmersdorf",
"limited-by": "BE"
},
"friedrichshain-kreuzberg": {
"name": "Friedrichshain-Kreuzberg",
"value": "friedrichshain-kreuzberg",
"limited-by": "BE"
},
"lichtenberg": {
"name": "Lichtenberg",
"value": "lichtenberg",
"limited-by": "BE"
},
"marzahn-hellersdorf": {
"name": "Marzahn-Hellersdorf",
"value": "marzahn-hellersdorf",
"limited-by": "BE"
},
"mitte": {
"name": "Mitte",
"value": "mitte",
"limited-by": "BE"
},
"neukoelln": {
"name": "Neukölln",
"value": "neukoelln",
"limited-by": "BE"
},
"pankow": {
"name": "Pankow",
"value": "pankow",
"limited-by": "BE"
},
"reinickendorf": {
"name": "Reinickendorf",
"value": "reinickendorf",
"limited-by": "BE"
},
"spandau": {
"name": "Spandau",
"value": "spandau",
"limited-by": "BE"
},
"steglitz-zehlendorf": {
"name": "Steglitz-Zehlendorf",
"value": "steglitz-zehlendorf",
"limited-by": "BE"
},
"tempelhof-schoeneberg": {
"name": "Tempelhof-Schöneberg",
"value": "tempelhof-schoeneberg",
"limited-by": "BE"
},
"treptow-koepenick": {
"name": "Treptow-Köpenick",
"value": "treptow-koepenick",
"limited-by": "BE"
},
"delmenhorst": {
"name": "Delmenhorst",
"value": "delmenhorst",
"limited-by": "HB"
},
"stuhr": {
"name": "Stuhr",
"value": "stuhr",
"limited-by": "HB"
},
"syke": {
"name": "Syke",
"value": "syke",
"limited-by": "HB"
},
"osterholz-scharmbeck": {
"name": "Osterholz-Scharmbeck",
"value": "osterholz-scharmbeck",
"limited-by": "HB"
},
"weyhe": {
"name": "Weyhe",
"value": "weyhe",
"limited-by": "HB"
},
"achim": {
"name": "Achim",
"value": "achim",
"limited-by": "HB"
},
"lilienthal": {
"name": "Lilienthal",
"value": "lilienthal",
"limited-by": "HB"
},
"ritterhude": {
"name": "Ritterhude",
"value": "ritterhude",
"limited-by": "HB"
},
"schwanewede-nur-ortsteil": {
"name": "Schwanewede (nur Ortsteil)",
"value": "schwanewede-nur-ortsteil",
"limited-by": "HB"
},
"langen": {
"name": "Langen",
"value": "langen",
"limited-by": "HB"
},
"spaden": {
"name": "Spaden",
"value": "spaden",
"limited-by": "HB"
},
"hamburg-mitte": {
"name": "Hamburg-Mitte",
"value": "hamburg-mitte",
"limited-by": "HH"
},
"altona": {
"name": "Altona",
"value": "altona",
"limited-by": "HH"
},
"eimsbuettel": {
"name": "Eimsbüttel",
"value": "eimsbuettel",
"limited-by": "HH"
},
"hamburg-nord": {
"name": "Hamburg-Nord",
"value": "hamburg-nord",
"limited-by": "HH"
},
"wandsbek": {
"name": "Wandsbek",
"value": "wandsbek",
"limited-by": "HH"
},
"bergedorf": {
"name": "Bergedorf",
"value": "bergedorf",
"limited-by": "HH"
},
"harburg": {
"name": "Harburg",
"value": "harburg",
"limited-by": "HH"
}
}
}
{
"name": "bundesland",
"limits": "kreis regierungsbezirke",
"enables": "regierungsbezirke kreis",
"default": " >> Länder",
"data": {
"freistaat": {
"name": "Freistaat",
"label": "--- freistaat ---",
"value": {
"freistaat-bayern": {
"name": "Freistaat Bayern",
"value": "BY"
},
"freistaat-sachsen": {
"name": "Freistaat Sachsen",
"value": "SN"
},
"freistaat-thueringen": {
"name": "Freistaat Thüringen",
"value": "TH"
}
}
},
"flaechenlaender": {
"name": "Flächenlaender",
"label": "--- flächenländer ---",
"value": {
"baden-wuerttemberg": {
"name": "Baden-Württemberg",
"value": "BW"
},
"brandenburg": {
"name": "Brandenburg",
"value": "BB"
},
"hesse": {
"name": "Hesse",
"value": "HE"
},
"niedersachsen": {
"name": "Niedersachsen",
"value": "NI"
},
"mecklenburg-vorpommern": {
"name": "Mecklenburg-Vorpommern",
"value": "MV"
},
"nordrhein-westfalen": {
"name": "Nordrhein-Westfalen",
"value": "NW"
},
"rheinland-pfalz": {
"name": "Rheinland-Pfalz",
"value": "RP"
},
"saarland": {
"name": "Saarland",
"value": "SL"
},
"schleswig-holstein": {
"name": "Schleswig-Holstein",
"value": "SH"
},
"sachsen-anhalt": {
"name": "Sachsen-Anhalt",
"value": "ST"
}
}
},
"stadtstaaten": {
"name": "Stadtstaaten",
"label": "--- stadtstaaten ---",
"value": {
"berlin": {
"name": "Berlin",
"value": "BE"
},
"freie-hansestadt-bremen": {
"name": "Freie Hansestadt Bremen",
"value": "HB"
},
"freie-und-hansestadt-hamburg": {
"name": "Freie und Hansestadt Hamburg",
"value": "HH"
}
}
}
}
}
{
"name": "gemeinde",
"limits": "locality",
"enables": "",
"default": " >> Stadtteile & Ortsteil",
"data": {
"mitte": {
"name": "Mitte",
"value": "mitte",
"limited-by": "mitte berlin"
},
"moabit": {
"name": "Moabit",
"value": "moabit",
"limited-by": "mitte berlin"
},
"hansaviertel": {
"name": "Hansaviertel",
"value": "hansaviertel",
"limited-by": "mitte berlin"
},
"tiergarten": {
"name": "Tiergarten",
"value": "tiergarten",
"limited-by": "mitte berlin"
},
"wedding": {
"name": "Wedding",
"value": "wedding",
"limited-by": "mitte berlin"
},
"gesundbrunnen": {
"name": "Gesundbrunnen",
"value": "gesundbrunnen",
"limited-by": "mitte berlin"
},
"friedrichshain": {
"name": "Friedrichshain",
"value": "friedrichshain",
"limited-by": "friedrichshain-kreuzberg berlin"
},
"kreuzberg": {
"name": "Kreuzberg",
"value": "kreuzberg",
"limited-by": "friedrichshain-kreuzberg berlin"
},
"prenzlauer-berg": {
"name": "Prenzlauer Berg",
"value": "prenzlauer-berg",
"limited-by": "pankow berlin"
},
"weissensee": {
"name": "Weißensee",
"value": "weissensee",
"limited-by": "pankow berlin"
},
"blankenburg": {
"name": "Blankenburg",
"value": "blankenburg",
"limited-by": "pankow berlin"
},
"Heinersdorf": {
"name": "Heinersdorf",
"value": "Heinersdorf",
"limited-by": "pankow berlin"
},
"karow": {
"name": "Karow",
"value": "karow",
"limited-by": "pankow berlin"
},
"stadtrandsiedlung-malchow": {
"name": "Stadtrandsiedlung Malchow",
"value": "stadtrandsiedlung-malchow",
"limited-by": "pankow berlin"
},
"pankow": {
"name": "Pankow",
"value": "pankow",
"limited-by": "pankow berlin"
},
"blankenfelde": {
"name": "Blankenfelde",
"value": "blankenfelde",
"limited-by": "pankow berlin"
},
"buch": {
"name": "Buch",
"value": "buch",
"limited-by": "pankow berlin"
},
"franzoesisch-buchholz": {
"name": "Französisch Buchholz",
"value": "franzoesisch-buchholz",
"limited-by": "pankow berlin"
},
"niederschoenhausen": {
"name": "Niederschönhausen",
"value": "niederschoenhausen",
"limited-by": "pankow belin"
},
"rosenthal": {
"name": "Rosenthal",
"value": "rosenthal",
"limited-by": "pankow belin"
},
"wilhelmsruh": {
"name": "Wilhelmsruh",
"value": "wilhelmsruh",
"limited-by": "pankow belin"
},
"charlottenburg": {
"name": "Charlottenburg",
"value": "charlottenburg",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"Wilmersdorf": {
"name": "Wilmersdorf",
"value": "Wilmersdorf",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"schmargendorf": {
"name": "Schmargendorf",
"value": "schmargendorf",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"grunewald": {
"name": "Grunewald",
"value": "grunewald",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"westend": {
"name": "Westend",
"value": "westend",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"charlottenburg-nord": {
"name": "Charlottenburg-Nord",
"value": "charlottenburg-nord",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"halensee": {
"name": "Halensee",
"value": "halensee",
"limited-by": "charlottenburg-wilmersdorf belin"
},
"spandau": {
"name": "Spandau",
"value": "spandau",
"limited-by": "spandau belin"
},
"haselhorst": {
"name": "Haselhorst",
"value": "haselhorst",
"limited-by": "spandau belin"
},
"siemensstadt": {
"name": "Siemensstadt",
"value": "siemensstadt",
"limited-by": "spandau belin"
},
"staaken": {
"name": "Staaken",
"value": "staaken",
"limited-by": "spandau belin"
},
"gatow": {
"name": "Gatow",
"value": "gatow",
"limited-by": "spandau belin"
},
"kladow": {
"name": "Kladow",
"value": "kladow",
"limited-by": "spandau belin"
},
"hakenfelde": {
"name": "Hakenfelde",
"value": "hakenfelde",
"limited-by": "spandau belin"
},
"falkenhagener-feld": {
"name": "Falkenhagener Feld",
"value": "falkenhagener-feld",
"limited-by": "spandau belin"
},
"Wilhelmstadt": {
"name": "Wilhelmstadt",
"value": "Wilhelmstadt",
"limited-by": "spandau belin"
},
"steglitz": {
"name": "Steglitz",
"value": "steglitz",
"limited-by": "steglitz-zehlendorf belin"
},
"lichterfelde": {
"name": "Lichterfelde",
"value": "lichterfelde",
"limited-by": "steglitz-zehlendorf belin"
},
"lankwitz": {
"name": "Lankwitz",
"value": "lankwitz",
"limited-by": "steglitz-zehlendorf belin"
},
"zehlendorf": {
"name": "Zehlendorf",
"value": "zehlendorf",
"limited-by": "steglitz-zehlendorf belin"
},
"dahlem": {
"name": "Dahlem",
"value": "dahlem",
"limited-by": "steglitz-zehlendorf belin"
},
"nikolassee": {
"name": "Nikolassee",
"value": "nikolassee",
"limited-by": "steglitz-zehlendorf belin"
},
"wannsee": {
"name": "Wannsee",
"value": "wannsee",
"limited-by": "steglitz-zehlendorf belin"
},
"schoeneberg": {
"name": "Schöneberg",
"value": "schoeneberg",
"limited-by": "tempelhof-schoeneberg belin"
},
"friedenau": {
"name": "Friedenau",
"value": "friedenau",
"limited-by": "tempelhof-schoeneberg belin"
},
"tempelhof": {
"name": "Tempelhof",
"value": "tempelhof",
"limited-by": "tempelhof-schoeneberg belin"
},
"mariendorf": {
"name": "Mariendorf",
"value": "mariendorf",
"limited-by": "tempelhof-schoeneberg belin"
},
"marienfelde": {
"name": "Marienfelde",
"value": "marienfelde",
"limited-by": "tempelhof-schoeneberg belin"
},
"lichtenrade": {
"name": "Lichtenrade",
"value": "lichtenrade",
"limited-by": "tempelhof-schoeneberg belin"
},
"neukoelln": {
"name": "Neukölln",
"value": "neukoelln",
"limited-by": "neukoelln belin"
},
"britz": {
"name": "Britz",
"value": "britz",
"limited-by": "neukoelln belin"
},
"buckow": {
"name": "Buckow",
"value": "buckow",
"limited-by": "neukoelln belin"
},
"rudow": {
"name": "Rudow",
"value": "rudow",
"limited-by": "neukoelln belin"
},
"gropiusstadt": {
"name": "Gropiusstadt",
"value": "gropiusstadt",
"limited-by": "neukoelln belin"
},
"alt-treptow": {
"name": "Alt-Treptow",
"value": "alt-treptow",
"limited-by": "treptow-koepenick belin"
},
"plaenterwald": {
"name": "Plänterwald",
"value": "plaenterwald",
"limited-by": "treptow-koepenick belin"
},
"baumschulenweg": {
"name": "Baumschulenweg",
"value": "baumschulenweg",
"limited-by": "treptow-koepenick belin"
},
"johannisthal": {
"name": "Johannisthal",
"value": "johannisthal",
"limited-by": "treptow-koepenick belin"
},
"niederschoeneweide": {
"name": "Niederschöneweide",
"value": "niederschoeneweide",
"limited-by": "treptow-koepenick belin"
},
"altglienicke": {
"name": "Altglienicke",
"value": "altglienicke",
"limited-by": "treptow-koepenick belin"
},
"adlershof": {
"name": "Adlershof",
"value": "adlershof",
"limited-by": "treptow-koepenick belin"
},
"bohnsdorf": {
"name": "Bohnsdorf",
"value": "bohnsdorf",
"limited-by": "treptow-koepenick belin"
},
"oberschoeneweide": {
"name": "Oberschöneweide",
"value": "oberschoeneweide",
"limited-by": "treptow-koepenick belin"
},
"koepenick": {
"name": "Köpenick",
"value": "koepenick",
"limited-by": "treptow-koepenick belin"
},
"friedrichshagen": {
"name": "Friedrichshagen",
"value": "friedrichshagen",
"limited-by": "treptow-koepenick belin"
},
"rahnsdorf": {
"name": "Rahnsdorf",
"value": "rahnsdorf",
"limited-by": "treptow-koepenick belin"
},
"gruenau": {
"name": "Grünau",
"value": "gruenau",
"limited-by": "treptow-koepenick belin"
},
"mueggelheim": {
"name": "Müggelheim",
"value": "mueggelheim",
"limited-by": "treptow-koepenick belin"
},
"schmoeckwitz": {
"name": "Schmöckwitz",
"value": "schmoeckwitz",
"limited-by": "treptow-koepenick belin"
},
"marzahn": {
"name": "Marzahn",
"value": "marzahn",
"limited-by": "marzahn-hellersdorf belin"
},
"biesdorf": {
"name": "Biesdorf",
"value": "biesdorf",
"limited-by": "marzahn-hellersdorf belin"
},
"kaulsdorf": {
"name": "Kaulsdorf",
"value": "kaulsdorf",
"limited-by": "marzahn-hellersdorf belin"
},
"mahlsdorf": {
"name": "Mahlsdorf",
"value": "mahlsdorf",
"limited-by": "marzahn-hellersdorf belin"
},
"hellersdorf": {
"name": "Hellersdorf",
"value": "hellersdorf",
"limited-by": "marzahn-hellersdorf belin"
},
"friedrichsfelde": {
"name": "Friedrichsfelde",
"value": "friedrichsfelde",
"limited-by": "lichtenberg belin"
},
"karlshorst": {
"name": "Karlshorst",
"value": "karlshorst",
"limited-by": "lichtenberg belin"
},
"lichtenberg": {
"name": "Lichtenberg",
"value": "lichtenberg",
"limited-by": "lichtenberg belin"
},
"falkenberg": {
"name": "Falkenberg",
"value": "falkenberg",
"limited-by": "lichtenberg belin"
},
"malchow": {
"name": "Malchow",
"value": "malchow",
"limited-by": "lichtenberg belin"
},
"wartenberg": {
"name": "Wartenberg",
"value": "wartenberg",
"limited-by": "lichtenberg belin"
},
"neu-hohenschoenhausen": {
"name": "Neu-Hohenschönhausen",
"value": "neu-hohenschoenhausen",
"limited-by": "lichtenberg belin"
},
"alt-hohenschoenhausen": {
"name": "Alt-Hohenschönhausen",
"value": "alt-hohenschoenhausen",
"limited-by": "lichtenberg belin"
},
"fennpfuhl": {
"name": "Fennpfuhl",
"value": "fennpfuhl",
"limited-by": "lichtenberg belin"
},
"rummelsburg": {
"name": "Rummelsburg",
"value": "rummelsburg",
"limited-by": "lichtenberg belin"
},
"reinickendorf": {
"name": "Reinickendorf",
"value": "reinickendorf",
"limited-by": "reinickendorf belin"
},
"tegel": {
"name": "Tegel",
"value": "tegel",
"limited-by": "reinickendorf belin"
},
"konradshoehe": {
"name": "Konradshöhe",
"value": "konradshoehe",
"limited-by": "reinickendorf belin"
},
"heiligensee": {
"name": "Heiligensee",
"value": "heiligensee",
"limited-by": "reinickendorf belin"
},
"frohnau": {
"name": "Frohnau",
"value": "frohnau",
"limited-by": "reinickendorf belin"
},
"hermsdorf": {
"name": "Hermsdorf",
"value": "hermsdorf",
"limited-by": "reinickendorf belin"
},
"waidmannslust": {
"name": "Waidmannslust",
"value": "waidmannslust",
"limited-by": "reinickendorf belin"
},
"luebars": {
"name": "Lübars",
"value": "luebars",
"limited-by": "reinickendorf belin"
},
"wittenau": {
"name": "Wittenau",
"value": "wittenau",
"limited-by": "reinickendorf belin"
},
"maerkisches-viertel": {
"name": "Märkisches Viertel",
"value": "maerkisches-viertel",
"limited-by": "reinickendorf belin"
},
"borsigwalde": {
"name": "Borsigwalde",
"value": "borsigwalde",
"limited-by": "reinickendorf belin"
}
}
}
div {
display: block;
float: left;
}
div.table-container {
color: #808B94;
border: 1px solid #ccc;
padding: 16px;
font-size: 12pt;
border-radius: 12px;
box-shadow: inset 0 -1px 0 #fff;
margin-top: 10px;
width: auto;
}
.row {
position: relative;
padding: 5px 10px;
margin: 6px auto;
clear: both;
vertical-align: bottom;
}
.select-filter {
background: #edecec;
background: rgba( 237, 236, 236, 0.7 );
-moz-background-clip: padding;
-webkit-background-clip: padding;
background-clip: padding-box;
/*border: solid #ddd;*/
border: solid rgba( 189, 188, 188, 0.4 );
border-top-width: 4px;
border-bottom-width: 4px;
border-left-width: 4px;
border-right-width: 0;
/*border-radius: 6px;*/
border-radius: 6px 0px 0px 6px;
-moz-border-radius: 6px 0px 0px 6px;
-webkit-appearance: none;
padding: 1px 1px 2px;
vertical-align: top;
font-size: 8pt;
margin: 4px 0 4px 10px;
width: 205px;
height: 27px;
}
a.btn {
background: #edecec;
background: rgba( 237, 236, 236, 0.7 );
-moz-background-clip: padding;
-webkit-background-clip: padding;
background-clip: padding-box;
border: 4px solid rgba( 189, 188, 188, 0.4 );
border-radius: 6px 6px 6px 6px;
-moz-border-radius: 6px 6px 6px 6px;
padding: 2px 2px 2px 2px;
vertical-align: top;
font-size: 10pt;
margin: 4px 0 4px 10px;
cursor: pointer;
}
a.reset {
background: #edecec;
background: rgba( 237, 236, 236, 0.7 );
-moz-background-clip: padding;
-webkit-background-clip: padding;
background-clip: padding-box;
border: 4px solid rgba( 189, 188, 188, 0.4 );
border-radius: 0px 6px 6px 0px;
-moz-border-radius: 0px 6px 6px 0px;
padding: 2px 2px 2px 2px;
vertical-align: top;
font-size: 10pt;
margin: 4px 10px 4px 0px;
position: relative;
right: 4px;
top: 10px;
cursor: pointer;
}
<!DOCTYPE html>
<html>
<head>
<title>Filter Testing with German administrative level</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="index.css">
</head>
<body>
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<div class="mainbox">
<div class="table-container">
<div class="filters">
<!--
</div>
<div class="group-filter">
<div>
<select class="select-filter aemter" data-limits="gemeinden" name="aemter">
<option value=""> >> Ämter, Samtgemeinde, Verbandsgemeinde & Verwaltungsgemeinschaft</option>
Ämter
Schleswig-Holstein
Mecklenburg-Western
Pomerania
Brandenburg
amtsfreie Gemeinden
Samtgemeinde
Lower Saxony
Verbandsgemeinde
Rhineland-Palatinate
Verwaltungsgemeinschaft
Baden-Württemberg
Bavaria
Saxony
Saxony-Anhalt
Thuringia
<option value="" data-limited-by="">TODO: populate</option>
</select>
<a class="reset" data-target="aemter">X</a>
</div>
<div>
<select class="select-filter locality" name="locality">
<option value=""> >> Ortslagen</option>
berlin - spandau - spandau
<option value="altstadt-spandau" data-limited-by="spandau">Altstadt Spandau</option>
<option value="neustadt-spandau" data-limited-by="spandau">Neustadt Spandau</option>
<option value="stresow" data-limited-by="spandau">Stresow</option>
<option value="kolk-spandau" data-limited-by="spandau">Kolk-Spandau</option>
berlin - spandau - haselhorst
<option value="havelecku" data-limited-by="haselhorst">Haveleck</option>
<option value="pulvermühle" data-limited-by="haselhorst">Pulvermühle</option>
<option value="reichsforschungssiedlung-haselhorst" data-limited-by="haselhorst">Reichsforschungssiedlung Haselhorst</option>
<option value="salzhof" data-limited-by="haselhorst">Salzhof</option>
berlin - spandau - skaaten
<option value="albrechtshof" data-limited-by="staaken">Albrechtshof</option>
<option value="dorf-staake" data-limited-by="staaken">Dorf Staaken</option>
<option value="gartenstadt-staake" data-limited-by="staaken">Gartenstadt Staaken</option>
<option value="louise-schroeder-siedlung" data-limited-by="staaken">Louise-Schroeder-Siedlung</option>
<option value="neu-jerusalem" data-limited-by="staaken">Neu-Jerusalem</option>
<option value="neu-staake" data-limited-by="staaken">Neu-Staaken</option>
<option value="siedlung-hahneberg" data-limited-by="staaken">Siedlung Hahneberg</option>
berlin - spandau - gatow
<option value="alt-gatow" data-limited-by="gatow">Alt-Gatow</option>
<option value="hohengatow" data-limited-by="gatow">Hohengatow</option>
<option value="siedlung-habichtswald" data-limited-by="gatow">Siedlung Habichtswald</option>
<option value="siedlung-havelblick" data-limited-by="gatow">Siedlung Havelblick</option>
berlin - spandau - kladow
<option value="alt-kladow" data-limited-by="kladow">Alt-Kladow</option>
berlin - spandau - hakenfelde
<option value="gartenstadt-waldsiedlung-hakenfelde" data-limited-by="hakenfelde">Gartenstadt Waldsiedlung Hakenfelde</option>
<option value="wasserstadt-spandau" data-limited-by="hakenfelde">Wasserstadt Spandau</option>
berlin - spandau - Wilhelmstadt
<option value="dorf-wilhelmstadt" data-limited-by="Wilhelmstadt">Dorf Wilhelmstadt</option>
<option value="pichelsdorf" data-limited-by="Wilhelmstadt">Pichelsdorf</option>
<option value="weinmeisterhoehe" data-limited-by="Wilhelmstadt">Weinmeisterhöhe</option>
</select>
<a class="reset" data-target="locality">X</a>
</div>
</div>-->
</div>
</div>
</div>
<div class="table-container">
<h3>List of TODO:</h3>
<ul>
<li>implement a filter enabler/disabler (see Regierungsbezirke)</li>
<li>further implement the reset function to reset all children filter (see the delete function that is currently not enabled)</li>
<li>further implement the count on reset</li>
<li>disable and visually show unused filters</li>
<li>add data for testing</li>
<li>load data in a json / object ?</li>
<li>check why the last 3 filters are not behaving correctly with the data-limits function)</li>
</ul>
</div>
<script type="text/javascript" src="index.js"></script>
</body>
</html>
var filterSelection = {};
$( document ).ready( function() {
GetData( 'bundesland.json' ).done( function( data ) {
CreateAndPopulateSelect( data );
});
GetData( 'regierungsbezirke.json' ).done( function( data ) {
CreateAndPopulateSelect( data );
});
GetData( 'kreis.json' ).done( function( data ) {
CreateAndPopulateSelect( data );
});
GetData( 'bezirke.json' ).done( function( data ) {
CreateAndPopulateSelect( data );
});
GetData( 'gemeinde.json' ).done( function( data ) {
CreateAndPopulateSelect( data );
});
$( '.select-filter' ).each( function() {
CreateAndAddResetBtn( $( this ).closest( 'div' ) );
StoreSelectOptions( this );
});
$( '.select-filter' ).each( function() {
SetSelectCollection( this );
});
$( '.select-filter' ).change( function() {
SetSelectCollection( this );
});
// $( 'a.pop' ).click( function() {
// Populate( this );
// });
$( '.reset' ).click( function() {
ResetSelector( this, null );
$( 'select.' + $( this ).attr( 'data-target' ) )[0].selectedIndex = 0;
});
});
function GetData( filename ) {
return $.getJSON( filename ).then( function( json ) {
return {
'name': json.name,
'limits': json.limits,
'enables': json.enables,
'default': json.default,
'value': json.data
};
});
}
function CreateAndPopulateSelect( dataset ) {
var container = $( 'div.filters' );
var divGroup = jQuery( '<div/>', {
'class': 'group-filter',
}).appendTo( container );
var select = jQuery( '<select/>', {
'class': 'select-filter ' + dataset.name,
'data-limits': dataset.limits,
'data-enables': dataset.enables,
'name': dataset.name
}).appendTo( divGroup );
var defaultValue = jQuery( '<option/>', {
'value': '',
'text': dataset.default
}).appendTo( select );
$.each( dataset.value, function( key, obj ) {
if( depthOf( obj.value ) > 1 ) {
var optgroup = jQuery( '<optgroup/>', {
'data-name': key,
'label': obj.label
}).appendTo( select );
$.each( obj.value, function( key, el ) {
jQuery( '<option/>', {
'value': el.value,
'text': el.name,
'data-limited-by': el['limited-by']
}).appendTo( optgroup );
});
} else {
jQuery( '<option/>', {
'value': obj.value,
'text': obj.name,
'data-limited-by': obj['limited-by']
}).appendTo( select );
}
});
}
function CreateAndAddResetBtn( DOMElement ) {
var resetBtn = jQuery( '<a/>', {
'class': 'reset',
'data-target': dataset.name,
'text': 'x'
}).appendTo( DOMElement );
}
function SetSelectCollection( DOMElement ) {
var stateSelected = $( DOMElement ).val();
var valueSelected = stateSelected ? true : false;
var enables = $( DOMElement ).attr( 'data-enables' );
enables = enables ? enables.split( ' ' ) : [ ];
for( var it in enables ) {
var element = $( 'select.' + enables[it] );
if( element.attr( 'name' )) {
if( element.prop( 'disabled' ) || !valueSelected ) {
// console.log( element );
ToggleDisableAttribute( 'select.' + enables[it], !valueSelected, true );
}
}
}
var limits = $( DOMElement ).attr( 'data-limits' );
limits = limits ? limits.split( ' ' ) : [ ];
for( var it in limits )
{
var data = {'name': limits[it]};
if( valueSelected )
{
data['limited-by'] = $( ':selected', DOMElement ).val();
}
LimitSelectionTo( data );
}
}
function LimitSelectionTo( data ) {
var selector = $( 'select.' + data['name'] );
var selection = filterSelection[data['name']];
$( 'select.' + data['name'] ).empty();
if( selection ) selector.append( selection.clone() );
selector.find( 'optgroup, option' ).filter( function() {
if( 1 != this.nodeType ) return true;
var limitedBy = $( this ).attr( 'data-limited-by' );
if( limitedBy && data['limited-by'] )
{
if( -1 == limitedBy.indexOf( data['limited-by'] ))
return true;
}
return false;
}).remove();
CountOptions( selector );
}
function StoreSelectOptions( DOMElement ) {
var name = $( DOMElement ).attr( 'name' );
if( !filterSelection[name] ) {
filterSelection[name] = {};
}
filterSelection[name] = $( DOMElement ).contents().clone();
}
function CountOptions( DOMElement ) {
var name = $( DOMElement ).attr( 'name' );
var count = $( DOMElement ).find( 'option' ).length - 1;
var el = $( '.' + name + ' option:first' ).text();
$( '.' + name + ' option:first' ).text( el + ' (' + count + ')' )
}
function ToggleDisableAttribute( selector, disable, reset ) {
var resetBtn = $( selector ).next( 'a.reset' );
// FsatFilter_toggleEventHandlerOverlay( selector, disable );
$( selector )
.prop( 'disabled', disable ? 'disabled' : false )
.css( 'color', disable ? '#ddd' : '#555' );
resetBtn.css( 'color', disable ? 'rgb(221, 221, 221)' : 'rgb(85, 85, 85)' );
if( reset ) $( selector ).val( null );
}
function ResetSelector( DOMElement, ignoreElements ) {
var groupArray = [];
var selectArray = [];
var selector = 'group-filter';
// determine if the current select was set to its default value
var reset = ( DOMElement.selectedIndex === 0 ) ? true : false;
// find all the select element from the current group
var group = $( DOMElement ).closest( selector ).find( 'select' );
// check if select is first element or not in the group
// the group contains 2 element right now
if( $( group[0] ).is( $( DOMElement ) ) ) {
selectArray.push( group[1] );
}
// get all groups and aggregate in an array
$( DOMElement ).closest( selector )
.nextAll( selector )
.each( function() {
groupArray.push( this );
});
// get all the select and aggregate in an array
$( groupArray ).each( function() {
$( this ).find( 'select' ).each( function() {
selectArray.push( this );
});
});
// reset the selected option to the default value
$( selectArray ).each( function() {
for( var el in ignoreElements ) {
if( reset && $.inArray( $( this ).attr( 'name' ), ignoreElements[el] ) < 0 ) {
this.selectedIndex = 0;
}
}
});
}
// http://stackoverflow.com/questions/13523951/how-to-check-the-depth-of-an-object
// cause I am not that smart :p
function depthOf( object ) {
var level = 1;
var key;
for(key in object) {
if (!object.hasOwnProperty(key)) continue;
if(typeof object[key] == 'object'){
var depth = depthOf(object[key]) + 1;
level = Math.max(depth, level);
}
}
return level;
};
// function Populate( DOMElement ) {
// var value = $( DOMElement ).attr( 'data-value' );
// var targetLabel = $( DOMElement ).attr( 'data-target' );
// var targetElement = $( '#' + targetLabel );
// var text = $( DOMElement ).text();
// switch( value ) {
// case 'delete':
// targetElement.contents().remove();
// value = 'populate';
// text = 'Populate List';
// break;
// case 'populate':
// targetElement.append( filterSelection[targetLabel] );
// value = 'delete';
// text = 'Delete List';
// break;
// default:
// break;
// }
// $( DOMElement ).attr( 'data-value', value )
// .text( text );
// }
{
"name": "kreis",
"limits": "bezirke aemter",
"enables": "",
"default": ">> Landkreise & Stadtkreise",
"data": {
"landkreis": {
"name": "",
"label": "--- landkreise ---",
"value": {
"alb-donau": {
"name": "Alb-Donau",
"value": "alb-donau",
"limited-by": "BW tuebingen"
},
"biberach": {
"name": "Biberach",
"value": "biberach",
"limited-by": "BW tuebingen"
},
"bodensee": {
"name": "Bodensee",
"value": "bodensee",
"limited-by": "BW tuebingen"
},
"boeblingen": {
"name": "Böblingen",
"value": "boeblingen",
"limited-by": "BW stuttgart"
},
"breisgau-hochschwarzwald": {
"name": "Breisgau-Hochschwarzwald",
"value": "breisgau-hochschwarzwald",
"limited-by": "BW freiburg"
},
"calw": {
"name": "Calw",
"value": "calw",
"limited-by": "BW karlsruhe"
},
"emmendingen": {
"name": "Emmendingen",
"value": "emmendingen",
"limited-by": "BW freiburg"
},
"enzkreis": {
"name": "Enzkreis",
"value": "enzkreis",
"limited-by": "BW karlsruhe"
},
"esslingen": {
"name": "Esslingen",
"value": "esslingen",
"limited-by": "BW stuttgart"
},
"freudenstadt": {
"name": "Freudenstadt",
"value": "freudenstadt",
"limited-by": "BW karlsruhe"
},
"goeppingen": {
"name": "Göppingen",
"value": "goeppingen",
"limited-by": "BW stuttgart"
},
"heidenheim": {
"name": "Heidenheim",
"value": "heidenheim",
"limited-by": "BW stuttgart"
},
"heilbronn": {
"name": "Heilbronn",
"value": "heilbronn",
"limited-by": "BW stuttgart"
},
"hohenlohe": {
"name": "Hohenlohe",
"value": "hohenlohe",
"limited-by": "BW stuttgart"
},
"karlsruhe": {
"name": "Karlsruhe",
"value": "karlsruhe",
"limited-by": "BW karlsruhe"
},
"konstanz": {
"name": "Konstanz",
"value": "konstanz",
"limited-by": "BW freiburg"
},
"loerrach": {
"name": "Lörrach",
"value": "loerrach",
"limited-by": "BW freiburg"
},
"ludwigsburg": {
"name": "Ludwigsburg",
"value": "ludwigsburg",
"limited-by": "BW stuttgart"
},
"main-tauber": {
"name": "Main-Tauber",
"value": "main-tauber",
"limited-by": "BW stuttgart"
},
"neckar-odenwald-kreis": {
"name": "Neckar-Odenwald-Kreis",
"value": "neckar-odenwald-kreis",
"limited-by": "BW karlsruhe"
},
"ortenaukreis": {
"name": "Ortenaukreis",
"value": "ortenaukreis",
"limited-by": "BW freiburg"
},
"ostalbkreis": {
"name": "Ostalbkreis",
"value": "ostalbkreis",
"limited-by": "BW stuttgart"
},
"rastatt": {
"name": "Rastatt",
"value": "rastatt",
"limited-by": "BW karlsruhe"
},
"ravensburg": {
"name": "Ravensburg",
"value": "ravensburg",
"limited-by": "BW tuebingen"
},
"rems-murr-kreis": {
"name": "Rems-Murr-Kreis",
"value": "rems-murr-kreis",
"limited-by": "BW stuttgart"
},
"reutlingen": {
"name": "Reutlingen",
"value": "reutlingen",
"limited-by": "BW tuebingen"
},
"rhein-neckar-kreis": {
"name": "Rhein-Neckar-Kreis",
"value": "rhein-neckar-kreis",
"limited-by": "BW karlsruhe"
},
"rottweil": {
"name": "Rottweil",
"value": "rottweil",
"limited-by": "BW freiburg"
},
"schwaebisch-hall": {
"name": "Schwäbisch Hall",
"value": "schwaebisch-hall",
"limited-by": "BW stuttgart"
},
"schwarzwald-baar-kreis": {
"name": "Schwarzwald-Baar-Kreis",
"value": "schwarzwald-baar-kreis",
"limited-by": "BW freiburg"
},
"sigmaringen": {
"name": "Sigmaringen",
"value": "sigmaringen",
"limited-by": "BW tuebingen"
},
"tuebingen": {
"name": "Tübingen",
"value": "tuebingen",
"limited-by": "BW tuebingen"
},
"tuttlingen": {
"name": "Tuttlingen",
"value": "tuttlingen",
"limited-by": "BW freiburg"
},
"waldshut": {
"name": "Waldshut",
"value": "waldshut",
"limited-by": "BW freiburg"
},
"zollernalbkreis": {
"name": "Zollernalbkreis",
"value": "zollernalbkreis",
"limited-by": "BW tuebingen"
},
"aichach-friedberg": {
"name": "Aichach-Friedberg",
"value": "aichach-friedberg",
"limited-by": "BY schwaben"
},
"altoetting": {
"name": "Altötting",
"value": "altoetting",
"limited-by": "BY oberbayern"
},
"amberg-sulzbach": {
"name": "Amberg-Sulzbach",
"value": "amberg-sulzbach",
"limited-by": "BY oberpfalz"
},
"ansbach": {
"name": "Ansbach",
"value": "ansbach",
"limited-by": "BY mittelfranken"
},
"aschaffenburg": {
"name": "Aschaffenburg",
"value": "aschaffenburg",
"limited-by": "BY unterfranken"
},
"augsburg": {
"name": "Augsburg",
"value": "augsburg",
"limited-by": "BY schwaben"
},
"bad-kissingen": {
"name": "Bad Kissingen",
"value": "bad-kissingen",
"limited-by": "BY unterfranken"
},
"bad-toelz-wolfratshausen": {
"name": "Bad Tölz-Wolfratshausen",
"value": "bad-toelz-wolfratshausen",
"limited-by": "BY oberbayern"
},
"bamberg": {
"name": "Bamberg",
"value": "bamberg",
"limited-by": "BY oberfranken"
},
"bayreuth": {
"name": "Bayreuth",
"value": "bayreuth",
"limited-by": "BY oberfranken"
},
"berchtesgadener": {
"name": "Berchtesgadener Land",
"value": "berchtesgadener",
"limited-by": "BY oberbayern"
},
"cham": {
"name": "Cham",
"value": "cham",
"limited-by": "BY oberpfalz"
},
"coburg": {
"name": "Coburg",
"value": "coburg",
"limited-by": "BY oberfranken"
},
"dachau": {
"name": "Dachau",
"value": "dachau",
"limited-by": "BY oberbayern"
},
"deggendorf": {
"name": "Deggendorf",
"value": "deggendorf",
"limited-by": "BY niederbayern"
},
"dillingen": {
"name": "Dillingen",
"value": "dillingen",
"limited-by": "BY schwaben"
},
"dingolfing-landau": {
"name": "Dingolfing-Landau",
"value": "dingolfing-landau",
"limited-by": "BY niederbayern"
},
"donau-ries": {
"name": "Donau-Ries",
"value": "donau-ries",
"limited-by": "BY schwaben"
},
"ebersberg": {
"name": "Ebersberg",
"value": "ebersberg",
"limited-by": "BY oberbayern"
},
"eichstaett": {
"name": "Eichstätt",
"value": "eichstaett",
"limited-by": "BY oberbayern"
},
"erding": {
"name": "Erding",
"value": "erding",
"limited-by": "BY oberbayern"
},
"erlangen-hoechstadt": {
"name": "Erlangen-Höchstadt",
"value": "erlangen-hoechstadt",
"limited-by": "BY mittelfranken"
},
"forchheim": {
"name": "Forchheim",
"value": "forchheim",
"limited-by": "BY oberfranken"
},
"freising": {
"name": "Freising",
"value": "freising",
"limited-by": "BY oberbayern"
},
"freyung-grafenau": {
"name": "Freyung-Grafenau",
"value": "freyung-grafenau",
"limited-by": "BY niederbayern"
},
"fuerstenfeldbruck": {
"name": "Fürstenfeldbruck",
"value": "fuerstenfeldbruck",
"limited-by": "BY oberbayern"
},
"fuerth": {
"name": "Fürth",
"value": "fuerth",
"limited-by": "BY mittelfranken"
},
"garmisch-partenkirchen": {
"name": "Garmisch-Partenkirchen",
"value": "garmisch-partenkirchen",
"limited-by": "BY oberbayern"
},
"guenzburg": {
"name": "Günzburg",
"value": "guenzburg",
"limited-by": "BY schwaben"
},
"hassberge": {
"name": "Hassberge",
"value": "hassberge",
"limited-by": "BY unterfranken"
},
"hof": {
"name": "Hof",
"value": "hof",
"limited-by": "BY oberfranken"
},
"kelheim": {
"name": "Kelheim",
"value": "kelheim",
"limited-by": "BY niederbayern"
},
"kitzingen": {
"name": "Kitzingen",
"value": "kitzingen",
"limited-by": "BY unterfranken"
},
"kronach": {
"name": "Kronach",
"value": "kronach",
"limited-by": "BY oberfranken"
},
"kulmbach": {
"name": "Kulmbach",
"value": "kulmbach",
"limited-by": "BY oberfranken"
},
"landsberg": {
"name": "Landsberg",
"value": "landsberg",
"limited-by": "BY oberbayern"
},
"landshut": {
"name": "Landshut",
"value": "landshut",
"limited-by": "BY niederbayern"
},
"lichtenfels": {
"name": "Lichtenfels",
"value": "lichtenfels",
"limited-by": "BY oberfranken"
},
"lindau": {
"name": "Lindau",
"value": "lindau",
"limited-by": "BY schwaben"
},
"main-spessart": {
"name": "Main-Spessart",
"value": "main-spessart",
"limited-by": "BY unterfranken"
},
"miesbach": {
"name": "Miesbach",
"value": "miesbach",
"limited-by": "BY oberbayern"
},
"miltenberg": {
"name": "Miltenberg",
"value": "miltenberg",
"limited-by": "BY unterfranken"
},
"muehldorf": {
"name": "Mühldorf",
"value": "muehldorf",
"limited-by": "BY oberbayern"
},
"landkreis-muenchen": {
"name": "Landkreis München",
"value": "landkreis-muenchen",
"limited-by": "BY oberbayern"
},
"neuburg-schrobenhausen": {
"name": "Neuburg-Schrobenhausen",
"value": "neuburg-schrobenhausen",
"limited-by": "BY oberbayern"
},
"neumarkt": {
"name": "Neumarkt",
"value": "neumarkt",
"limited-by": "BY oberpfalz"
},
"neustadt-aisch-bad-windsheim": {
"name": "Neustadt (Aisch)-Bad Windsheim",
"value": "neustadt-aisch-bad-windsheim",
"limited-by": "BY mittelfranken"
},
"neustadt-waldnaab": {
"name": "Neustadt (Waldnaab)",
"value": "neustadt-waldnaab",
"limited-by": "BY oberpfalz"
},
"neu-ulm": {
"name": "Neu-Ulm",
"value": "neu-ulm",
"limited-by": "BY schwaben"
},
"nuernberger": {
"name": "Nürnberger Land",
"value": "nuernberger",
"limited-by": "BY mittelfranken"
},
"oberallgaeu": {
"name": "Oberallgäu",
"value": "oberallgaeu",
"limited-by": "BY schwaben"
},
"ostallgaeu": {
"name": "Ostallgäu",
"value": "ostallgaeu",
"limited-by": "BY schwaben"
},
"passau": {
"name": "Passau",
"value": "passau",
"limited-by": "BY niederbayern"
},
"pfaffenhofen": {
"name": "Pfaffenhofen",
"value": "pfaffenhofen",
"limited-by": "BY oberbayern"
},
"regen": {
"name": "Regen",
"value": "regen",
"limited-by": "BY niederbayern"
},
"regensburg": {
"name": "Regensburg",
"value": "regensburg",
"limited-by": "BY oberpfalz"
},
"rhoen-grabfeld": {
"name": "Rhön-Grabfeld",
"value": "rhoen-grabfeld",
"limited-by": "BY unterfranken"
},
"rosenheim": {
"name": "Rosenheim",
"value": "rosenheim",
"limited-by": "BY oberbayern"
},
"roth": {
"name": "Roth",
"value": "roth",
"limited-by": "BY mittelfranken"
},
"rottal-inn": {
"name": "Rottal-Inn",
"value": "rottal-inn",
"limited-by": "BY niederbayern"
},
"schwandorf": {
"name": "Schwandorf",
"value": "schwandorf",
"limited-by": "BY oberpfalz"
},
"schweinfurt": {
"name": "Schweinfurt",
"value": "schweinfurt",
"limited-by": "BY unterfranken"
},
"starnberg": {
"name": "Starnberg",
"value": "starnberg",
"limited-by": "BY oberbayern"
},
"straubing-bogen": {
"name": "Straubing-Bogen",
"value": "straubing-bogen",
"limited-by": "BY niederbayern"
},
"tirschenreuth": {
"name": "Tirschenreuth",
"value": "tirschenreuth",
"limited-by": "BY oberpfalz"
},
"traunstein": {
"name": "Traunstein",
"value": "traunstein",
"limited-by": "BY oberbayern"
},
"unterallgaeu": {
"name": "Unterallgäu",
"value": "unterallgaeu",
"limited-by": "BY schwaben"
},
"weilheim-schongau": {
"name": "Weilheim-Schongau",
"value": "weilheim-schongau",
"limited-by": "BY oberbayern"
},
"weissenburg-gunzenhausen": {
"name": "Weissenburg-Gunzenhausen",
"value": "weissenburg-gunzenhausen",
"limited-by": "BY mittelfranken"
},
"wunsiedel": {
"name": "Wunsiedel",
"value": "wunsiedel",
"limited-by": "BY oberfranken"
},
"wuerzburg": {
"name": "Würzburg",
"value": "wuerzburg",
"limited-by": "BY unterfranken"
},
"barnim": {
"name": "Barnim",
"value": "barnim",
"limited-by": "BB"
},
"dahme-spreewald": {
"name": "Dahme-Spreewald",
"value": "dahme-spreewald",
"limited-by": "BB"
},
"elbe-elster": {
"name": "Elbe-Elster",
"value": "elbe-elster",
"limited-by": "BB"
},
"havelland": {
"name": "Havelland",
"value": "havelland",
"limited-by": "BB"
},
"maerkisch-oderland": {
"name": "Märkisch-Oderland",
"value": "maerkisch-oderland",
"limited-by": "BB"
},
"oberhavel": {
"name": "Oberhavel",
"value": "oberhavel",
"limited-by": "BB"
},
"oberspreewald-lausitz": {
"name": "Oberspreewald-Lausitz",
"value": "oberspreewald-lausitz",
"limited-by": "BB"
},
"oder-spree": {
"name": "Oder-Spree",
"value": "oder-spree",
"limited-by": "BB"
},
"ostprignitz-ruppin": {
"name": "Ostprignitz-Ruppin",
"value": "ostprignitz-ruppin",
"limited-by": "BB"
},
"potsdam-mittelmark": {
"name": "Potsdam-Mittelmark",
"value": "potsdam-mittelmark",
"limited-by": "BB"
},
"prignitz": {
"name": "Prignitz",
"value": "prignitz",
"limited-by": "BB"
},
"spree-neisse": {
"name": "Spree-Neiße",
"value": "spree-neisse",
"limited-by": "BB"
},
"teltow-flaeming": {
"name": "Teltow-Fläming",
"value": "teltow-flaeming",
"limited-by": "BB"
},
"uckermark": {
"name": "Uckermark",
"value": "uckermark",
"limited-by": "BB"
},
"bergstrasse": {
"name": "Bergstraße",
"value": "bergstrasse",
"limited-by": "HE darmstadt"
},
"darmstadt-dieburg": {
"name": "Darmstadt-Dieburg",
"value": "darmstadt-dieburg",
"limited-by": "HE darmstadt"
},
"gross-gerau": {
"name": "Groß-Gerau",
"value": "gross-gerau",
"limited-by": "HE darmstadt"
},
"hochtaunuskreis": {
"name": "Hochtaunuskreis",
"value": "hochtaunuskreis",
"limited-by": "HE darmstadt"
},
"main-kinzig-kreis": {
"name": "Main-Kinzig-Kreis",
"value": "main-kinzig-kreis",
"limited-by": "HE darmstadt"
},
"main-taunus-kreis": {
"name": "Main-Taunus-Kreis",
"value": "main-taunus-kreis",
"limited-by": "HE darmstadt"
},
"odenwaldkreis": {
"name": "Odenwaldkreis",
"value": "odenwaldkreis",
"limited-by": "HE darmstadt"
},
"offenbach": {
"name": "Offenbach",
"value": "offenbach",
"limited-by": "HE darmstadt"
},
"rheingau-taunus-kreis": {
"name": "Rheingau-Taunus-Kreis",
"value": "rheingau-taunus-kreis",
"limited-by": "HE darmstadt"
},
"wetteraukreis": {
"name": "Wetteraukreis",
"value": "wetteraukreis",
"limited-by": "HE darmstadt"
},
"giessen": {
"name": "Gießen",
"value": "giessen",
"limited-by": "HE giessen"
},
"lahn-dill-kreis": {
"name": "Lahn-Dill-Kreis",
"value": "lahn-dill-kreis",
"limited-by": "HE giessen"
},
"limburg-weilburg": {
"name": "Limburg-Weilburg",
"value": "limburg-weilburg",
"limited-by": "HE giessen"
},
"marburg-biedenkopf": {
"name": "Marburg-Biedenkopf",
"value": "marburg-biedenkopf",
"limited-by": "HE giessen"
},
"vogelsbergkreis": {
"name": "Vogelsbergkreis",
"value": "vogelsbergkreis",
"limited-by": "HE giessen"
},
"Fulda": {
"name": "Fulda",
"value": "Fulda",
"limited-by": "HE kassel"
},
"hersfeld-rotenburg": {
"name": "Hersfeld-Rotenburg",
"value": "hersfeld-rotenburg",
"limited-by": "HE kassel"
},
"kassel": {
"name": "Kassel",
"value": "kassel",
"limited-by": "HE kassel"
},
"schwalm-eder-kreis": {
"name": "Schwalm-Eder-Kreis",
"value": "schwalm-eder-kreis",
"limited-by": "HE kassel"
},
"werra-meissner-kreis": {
"name": "Werra-Meißner-Kreis",
"value": "werra-meissner-kreis",
"limited-by": "HE kassel"
},
"waldeck-frankenberg": {
"name": "Waldeck-Frankenberg",
"value": "waldeck-frankenberg",
"limited-by": "HE kassel"
},
"ammerland": {
"name": "Ammerland",
"value": "ammerland",
"limited-by": "NI"
},
"aurich": {
"name": "Aurich",
"value": "aurich",
"limited-by": "NI"
},
"grafschaft-bentheim": {
"name": "Grafschaft Bentheim",
"value": "grafschaft-bentheim",
"limited-by": "NI"
},
"celle": {
"name": "Celle",
"value": "celle",
"limited-by": "NI"
},
"cloppenburg": {
"name": "Cloppenburg",
"value": "cloppenburg",
"limited-by": "NI"
},
"cuxhaven": {
"name": "Cuxhaven",
"value": "cuxhaven",
"limited-by": "NI"
},
"diepholz": {
"name": "Diepholz",
"value": "diepholz",
"limited-by": "NI"
},
"emsland": {
"name": "Emsland",
"value": "emsland",
"limited-by": "NI"
},
"friesland": {
"name": "Friesland",
"value": "friesland",
"limited-by": "NI"
},
"gifhorn": {
"name": "Gifhorn",
"value": "gifhorn",
"limited-by": "NI"
},
"goslar": {
"name": "Goslar",
"value": "goslar",
"limited-by": "NI"
},
"goettingen": {
"name": "Göttingen",
"value": "goettingen",
"limited-by": "NI"
},
"hameln-pyrmont": {
"name": "Hameln-Pyrmont",
"value": "hameln-pyrmont",
"limited-by": "NI"
},
"hannover": {
"name": "Hannover",
"value": "hannover",
"limited-by": "NI"
},
"harburg": {
"name": "Harburg",
"value": "harburg",
"limited-by": "NI"
},
"heidekreis": {
"name": "Heidekreis",
"value": "heidekreis",
"limited-by": "NI"
},
"helmstedt": {
"name": "Helmstedt",
"value": "helmstedt",
"limited-by": "NI"
},
"hildesheim": {
"name": "Hildesheim",
"value": "hildesheim",
"limited-by": "NI"
},
"holzminden": {
"name": "Holzminden",
"value": "holzminden",
"limited-by": "NI"
},
"leer": {
"name": "Leer",
"value": "leer",
"limited-by": "NI"
},
"luechow-dannenberg": {
"name": "Lüchow-Dannenber",
"value": "luechow-dannenberg",
"limited-by": "NI"
},
"lueneburg": {
"name": "Lüneburg",
"value": "lueneburg",
"limited-by": "NI"
},
"nienburg": {
"name": "Nienburg",
"value": "nienburg",
"limited-by": "NI"
},
"northeim": {
"name": "Northeim",
"value": "northeim",
"limited-by": "NI"
},
"oldenburg": {
"name": "Oldenburg",
"value": "oldenburg",
"limited-by": "NI"
},
"osnabrueck": {
"name": "Osnabrück",
"value": "osnabrueck",
"limited-by": "NI"
},
"osterholz": {
"name": "Osterholz",
"value": "osterholz",
"limited-by": "NI"
},
"osterode": {
"name": "Osterode",
"value": "osterode",
"limited-by": "NI"
},
"peine": {
"name": "Peine",
"value": "peine",
"limited-by": "NI"
},
"rotenburg": {
"name": "Rotenburg",
"value": "rotenburg",
"limited-by": "NI"
},
"schaumburg": {
"name": "Schaumburg",
"value": "schaumburg",
"limited-by": "NI"
},
"stade": {
"name": "Stade",
"value": "stade",
"limited-by": "NI"
},
"uelzen": {
"name": "Uelzen",
"value": "uelzen",
"limited-by": "NI"
},
"vechta": {
"name": "Vechta",
"value": "vechta",
"limited-by": "NI"
},
"verden": {
"name": "Verden",
"value": "verden",
"limited-by": "NI"
},
"wesermarsch": {
"name": "Wesermarsch",
"value": "wesermarsch",
"limited-by": "NI"
},
"wittmund": {
"name": "Wittmund",
"value": "wittmund",
"limited-by": "NI"
},
"wolfenbuettel": {
"name": "Wolfenbüttel",
"value": "wolfenbuettel",
"limited-by": "NI"
},
"landkreis-rostock": {
"name": "Landkreis Rostock",
"value": "landkreis-rostock",
"limited-by": "MV"
},
"ludwigslust-parchim": {
"name": "Ludwigslust-Parchim",
"value": "ludwigslust-parchim",
"limited-by": "MV"
},
"mecklenburgische-seenplatte": {
"name": "Mecklenburgische Seenplatte",
"value": "mecklenburgische-seenplatte",
"limited-by": "MV"
},
"nordwestmecklenburg": {
"name": "Nordwestmecklenburg",
"value": "nordwestmecklenburg",
"limited-by": "MV"
},
"vorpommern-greifswald": {
"name": "Vorpommern-Greifswald",
"value": "vorpommern-greifswald",
"limited-by": "MV"
},
"vorpommern-ruegen": {
"name": "Vorpommern-Rügen",
"value": "vorpommern-ruegen",
"limited-by": "MV"
}
}
},
"stadtkreis": {
"name": "stadtkreis",
"label": "--- Stadtkreise ---",
"value": {
"baden-baden": {
"name": "Baden-Baden",
"value": "baden-baden",
"limited-by": "BW karlsruhe"
},
"freiburg-im-breisgau": {
"name": "Freiburg im Breisgau",
"value": "freiburg-im-breisgau",
"limited-by": "BW freiburg"
},
"heidelberg": {
"name": "Heidelberg",
"value": "heidelberg",
"limited-by": "BW karlsruhe"
},
"heilbronn": {
"name": "Heilbronn",
"value": "heilbronn",
"limited-by": "BW stuttgart"
},
"karlsruhe": {
"name": "Karlsruhe",
"value": "karlsruhe",
"limited-by": "BW karlsruhe"
},
"mannheim": {
"name": "Mannheim",
"value": "mannheim",
"limited-by": "BW karlsruhe"
},
"pforzheim": {
"name": "Pforzheim",
"value": "pforzheim",
"limited-by": "BW karlsruhe"
},
"stuttgart": {
"name": "Stuttgart",
"value": "stuttgart",
"limited-by": "BW stuttgart"
},
"ulm": {
"name": "Ulm",
"value": "ulm",
"limited-by": "BW tuebingen"
},
"amberg": {
"name": "Amberg",
"value": "amberg",
"limited-by": "BY oberpfalz"
},
"ansbach": {
"name": "Ansbach",
"value": "ansbach",
"limited-by": "BY mittelfranken"
},
"aschaffenburg": {
"name": "Aschaffenburg",
"value": "aschaffenburg",
"limited-by": "BY unterfranken"
},
"aAugsburg": {
"name": "Augsburg",
"value": "aAugsburg",
"limited-by": "BY schwaben"
},
"bamberg": {
"name": "Bamberg",
"value": "bamberg",
"limited-by": "BY oberfranken"
},
"bayreuth": {
"name": "Bayreuth",
"value": "bayreuth",
"limited-by": "BY oberfranken"
},
"coburg": {
"name": "Coburg",
"value": "coburg",
"limited-by": "BY oberfranken"
},
"erlangen": {
"name": "Erlangen",
"value": "erlangen",
"limited-by": "BY mittelfranken"
},
"fuerth": {
"name": "Fürth",
"value": "fuerth",
"limited-by": "BY mittelfranken"
},
"hof": {
"name": "Hof",
"value": "hof",
"limited-by": "BY oberfranken"
},
"ingolstadt": {
"name": "Ingolstadt",
"value": "ingolstadt",
"limited-by": "BY oberbayern"
},
"kaufbeuren": {
"name": "Kaufbeuren",
"value": "kaufbeuren",
"limited-by": "BY schwaben"
},
"kempten": {
"name": "Kempten",
"value": "kempten",
"limited-by": "BY schwaben"
},
"landshut": {
"name": "Landshut",
"value": "landshut",
"limited-by": "BY niederbayern"
},
"memmingen": {
"name": "Memmingen",
"value": "memmingen",
"limited-by": "BY schwaben"
},
"muenchen": {
"name": "München",
"value": "muenchen",
"limited-by": "BY oberbayern"
},
"nuernberg": {
"name": "Nürnberg",
"value": "nuernberg",
"limited-by": "BY mittelfranken"
},
"passau": {
"name": "Passau",
"value": "passau",
"limited-by": "BY niederbayern"
},
"regensburg": {
"name": "Regensburg",
"value": "regensburg",
"limited-by": "BY oberpfalz"
},
"rosenheim": {
"name": "Rosenheim",
"value": "rosenheim",
"limited-by": "BY oberbayern"
},
"schwabach": {
"name": "Schwabach",
"value": "schwabach",
"limited-by": "BY mittelfranken"
},
"schweinfurt": {
"name": "Schweinfurt",
"value": "schweinfurt",
"limited-by": "BY unterfranken"
},
"straubing": {
"name": "Straubing",
"value": "straubing",
"limited-by": "BY niederbayern"
},
"weiden-in-der-oberpfalz": {
"name": "Weiden in der Oberpfalz",
"value": "weiden-in-der-oberpfalz",
"limited-by": "BY oberpfalz"
},
"wuerzburg": {
"name": "Würzburg",
"value": "wuerzburg",
"limited-by": "BY unterfranken"
},
"brandenburg-an-der-have": {
"name": "Brandenburg an der Havel",
"value": "brandenburg-an-der-have",
"limited-by": "BB"
},
"cottbus": {
"name": "Cottbus",
"value": "cottbus",
"limited-by": "BB"
},
"Frankfurt-Oder": {
"name": "Frankfurt (Oder)",
"value": "Frankfurt-Oder",
"limited-by": "BB"
},
"potsdam": {
"name": "Potsdam",
"value": "potsdam",
"limited-by": "BB"
},
"darmstadt": {
"name": "Darmstadt",
"value": "darmstadt",
"limited-by": "HE darmstadt"
},
"frankfurt-am-main": {
"name": "Frankfurt am Main",
"value": "frankfurt-am-main",
"limited-by": "HE darmstadt"
},
"kassel": {
"name": "Kassel",
"value": "kassel",
"limited-by": "HE kassel"
},
"offenbach-am-main": {
"name": "Offenbach am Main",
"value": "offenbach-am-main",
"limited-by": "HE darmstadt"
},
"wiesbaden": {
"name": "Wiesbaden",
"value": "wiesbaden",
"limited-by": "HE darmstadt"
},
"brunswick": {
"name": "Brunswick",
"value": "brunswick",
"limited-by": "NI"
},
"delmenhorst": {
"name": "Delmenhorst",
"value": "delmenhorst",
"limited-by": "NI"
},
"emden": {
"name": "Emden",
"value": "emden",
"limited-by": "NI"
},
"goettingen": {
"name": "Göttingen",
"value": "goettingen",
"limited-by": "NI"
},
"hannover": {
"name": "Hannover",
"value": "hannover",
"limited-by": "NI"
},
"oldenburg": {
"name": "Oldenburg",
"value": "oldenburg",
"limited-by": "NI"
},
"osnabrueck": {
"name": "Osnabrück",
"value": "osnabrueck",
"limited-by": "NI"
},
"salzgitter": {
"name": "Salzgitter",
"value": "salzgitter",
"limited-by": "NI"
},
"wilhelmshaven": {
"name": "Wilhelmshaven",
"value": "wilhelmshaven",
"limited-by": "NI"
},
"wolfsburg": {
"name": "Wolfsburg",
"value": "wolfsburg",
"limited-by": "NI"
},
"rostock": {
"name": "Rostock",
"value": "rostock",
"limited-by": "MV"
},
"schwerin": {
"name": "Schwerin",
"value": "schwerin",
"limited-by": "MV"
}
}
}
}
}
{
"name": "regierungsbezirke",
"limits": "kreis aemter",
"enables": "",
"default": " >> Regierungsbezirke",
"data": {
"freiburg": {
"name": "Freiburg",
"value": "freiburg",
"limited-by": "BW"
},
"karlsruhe": {
"name": "Karlsruhe",
"value": "karlsruhe",
"limited-by": "BW"
},
"stuttgart": {
"name": "Stuttgart",
"value": "stuttgart",
"limited-by": "BW"
},
"tuebingen": {
"name": "Tübingen",
"value": "tuebingen",
"limited-by": "BW"
},
"oberbayern": {
"name": "Oberbayern",
"value": "oberbayern",
"limited-by": "BY"
},
"niederbayern": {
"name": "Niederbayern",
"value": "niederbayern",
"limited-by": "BY"
},
"oberpfalz": {
"name": "Oberpfalz",
"value": "oberpfalz",
"limited-by": "BY"
},
"oberfranken": {
"name": "Oberfranken",
"value": "oberfranken",
"limited-by": "BY"
},
"mittelfranken": {
"name": "Mittelfranken",
"value": "mittelfranken",
"limited-by": "BY"
},
"unterfranken": {
"name": "Unterfranken",
"value": "unterfranken",
"limited-by": "BY"
},
"schwaben": {
"name": "Schwaben",
"value": "schwaben",
"limited-by": "BY"
},
"darmstadt": {
"name": "Darmstadt",
"value": "darmstadt",
"limited-by": "HE"
},
"giessen": {
"name": "Gießen",
"value": "giessen",
"limited-by": "HE"
},
"kassel": {
"name": "Kassel",
"value": "kassel",
"limited-by": "HE"
},
"arnsberg": {
"name": "Arnsberg",
"value": "arnsberg",
"limited-by": "NW"
},
"koeln": {
"name": "Köln",
"value": "koeln",
"limited-by": "NW"
},
"detmold": {
"name": "Detmold",
"value": "detmold",
"limited-by": "NW"
},
"duesseldorf": {
"name": "Düsseldorf",
"value": "duesseldorf",
"limited-by": "NW"
},
"muenster": {
"name": "Münster",
"value": "muenster",
"limited-by": "NW"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment