Skip to content

Commit b5cf1d6

Browse files
committed
Merge pull request #90 from timwis/edit-categories
Edit categories
2 parents 5128d8d + da19e75 commit b5cf1d6

File tree

17 files changed

+209
-128
lines changed

17 files changed

+209
-128
lines changed

_config.yml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,6 @@ gatekeeper_host:
1010
# Dataset schema
1111
schema: default
1212

13-
# Categories
14-
category_list:
15-
- Arts / Culture / History
16-
- Budget / Finance
17-
- Economy
18-
- Education
19-
- Elections / Politics
20-
- Environment
21-
- Food
22-
- Health / Human Services
23-
- Parks / Recreation
24-
- Planning / Zoning
25-
- Public Safety
26-
- Real Estate / Land Records
27-
- Transportation
28-
- Uncategorized
29-
3013
# Link for the "fork me on github" banner. Remove this line to suppress banner.
3114
fork_me_url: https://github.com/timwis/jkan
3215

_data/categories.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
- name: Arts / Culture / History
2+
- name: Budget / Finance
3+
- name: Economy
4+
- name: Education
5+
- name: Elections / Politics
6+
- name: Environment
7+
- name: Food
8+
- name: Health / Human Services
9+
- name: Parks / Recreation
10+
- name: Planning / Zoning
11+
- name: Public Safety
12+
- name: Real Estate / Land Records
13+
- name: Transportation
14+
- name: Uncategorized

_data/schemas/default.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@ organization_fields:
5353
label: Description
5454
- field_name: logo
5555
label: Logo
56+
57+
category_fields:
58+
- field_name: name
59+
label: Name

_includes/admin-form-category.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<div class="editable-list-item" data-hook="item">
2+
<fieldset>
3+
{% for field in category_fields %}
4+
{% assign template = field.form_template | default: "form/text.html" %}
5+
{% capture field_name %}categories[][{{ field.field_name }}]{% endcapture %}
6+
{% assign value = category[field[field_name]] %}
7+
{% include {{ template }} field=field field_name=field_name value=value %}
8+
{% endfor %}
9+
</fieldset>
10+
<button type="button" class="btn btn-danger btn-sm" data-hook="remove-item-btn"><i class="fa fa-minus"></i> Remove</button>
11+
</div>
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
<div class="resource-row" data-hook="resource-row">
2-
<fieldset class="resource-fieldset">
1+
<div class="editable-list-item" data-hook="item">
2+
<fieldset>
33
{% for field in resource_fields %}
44
{% assign template = field.form_template | default: "form/text.html" %}
55
{% capture field_name %}resources[][{{ field.field_name }}]{% endcapture %}
66
{% assign value = resource[field[field_name]] %}
77
{% include {{ template }} field=field field_name=field_name value=value %}
88
{% endfor %}
99
</fieldset>
10-
<button type="button" class="btn btn-danger btn-sm" data-hook="remove-resource-btn" title="Remove resource" data-toggle="tooltip"><i class="fa fa-minus"></i> Remove Resource</button>
10+
<button type="button" class="btn btn-danger btn-sm" data-hook="remove-item-btn"><i class="fa fa-minus"></i> Remove Resource</button>
1111
</div>

_includes/dataset-form.html

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,19 @@
2424
</fieldset>
2525

2626
<h2>Resources</h2>
27-
<div data-hook="resource-rows">
28-
{% for resource in include.dataset.resources %}
27+
<div data-component="editable-list" data-item-label="resource">
28+
<div data-hook="items">
29+
{% for resource in include.dataset.resources %}
30+
{% include dataset-form-resource.html %}
31+
{% endfor %}
32+
</div>
33+
34+
<button type="button" class="btn btn-default" data-hook="add-item-btn" title="Add resource"><i class="fa fa-plus"></i> Add Resource</button>
35+
36+
<script type="text/template" data-hook="item-template">
2937
{% include dataset-form-resource.html %}
30-
{% endfor %}
38+
</script>
3139
</div>
32-
<button type="button" class="btn btn-default" data-hook="add-resource-btn" title="Add resource"><i class="fa fa-plus"></i> Add Resource</button>
3340

3441
<fieldset>
3542
<h2>Additional Info</h2>
@@ -52,7 +59,3 @@ <h2>Additional Info</h2>
5259
</button>
5360
{% endif %}
5461
</form>
55-
56-
<script type="text/template" data-hook="tmpl-resource-row">
57-
{% include dataset-form-resource.html %}
58-
</script>

_includes/form/category.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div class="form-group">
22
<label for="{{ include.field_name }}[]">{{ include.field.label }}</label>
33
<select class="form-control select2" id="{{ include.field_name }}[]" name="{{ include.field_name }}[]" multiple="multiple" style="width: 100%">
4-
{% for category in site.category_list %}
5-
<option{% if include.value == category or include.value contains category %} selected="selected"{% endif %}>{{ category }}</option>
4+
{% for category in site.data.categories %}
5+
<option{% if include.value == category.name or include.value contains category.name %} selected="selected"{% endif %}>{{ category.name }}</option>
66
{% endfor %}
77
</select>
88
</div>

admin.html

Lines changed: 73 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,90 @@
55
---
66
{% include breadcrumbs.html %}
77

8-
<div class="alert alert-success" role="alert" data-hook="alert-success" style="display: none;">
9-
These settings have been <a href="#" data-hook="commit-url">saved</a> and the site is currently regenerating.
10-
</div>
8+
<ul class="nav nav-tabs" role="tablist">
9+
<li role="presentation" class="active"><a href="#general" aria-controls="general" role="tab" data-toggle="tab">General</a></li>
10+
<li role="presentation"><a href="#authentication" aria-controls="authentication" role="tab" data-toggle="tab">Authentication</a></li>
11+
<li role="presentation"><a href="#categories" aria-controls="categories" role="tab" data-toggle="tab">Categories</a></li>
12+
<li role="presentation"><a href="#maintenance" aria-controls="maintenance" role="tab" data-toggle="tab">Maintenance</a></li>
13+
</ul>
1114

12-
<div class="alert alert-danger" role="alert" data-hook="alert-error" style="display: none;">
13-
There was an error saving this page
14-
</div>
15+
<div class="tab-content">
16+
<div role="tabpanel" class="tab-pane active" id="general">
17+
<h2>General</h2>
18+
<form data-component="admin-form" data-file-path="_config.yml">
19+
20+
<fieldset>
21+
22+
<div class="form-group">
23+
<label for="title">Site Title</label>
24+
<input type="text" class="form-control" id="title" name="title" value="{{ site.title }}">
25+
</div>
1526

16-
<h1>Administration</h1>
17-
<form data-component="admin-form" data-file-path="_config.yml">
27+
<div class="form-group">
28+
<label for="description">Site Description</label>
29+
<textarea class="form-control" id="description" name="description">{{ site.description }}</textarea>
30+
</div>
1831

19-
<fieldset>
32+
<div class="form-group">
33+
<label for="baseurl">Base URL</label>
34+
<input type="text" class="form-control" id="baseurl" name="baseurl" value="{{ site.baseurl }}" placeholder="ie. /JKAN">
35+
</div>
2036

21-
<div class="form-group">
22-
<label for="title">Site Title</label>
23-
<input type="text" class="form-control" id="title" name="title" value="{{ site.title }}">
24-
</div>
37+
<button type="submit" class="btn btn-primary">Submit</button>
2538

26-
<div class="form-group">
27-
<label for="description">Site Description</label>
28-
<textarea class="form-control" id="description" name="description">{{ site.description }}</textarea>
29-
</div>
39+
</fieldset>
3040

31-
<div class="form-group">
32-
<label for="baseurl">Base URL</label>
33-
<input type="text" class="form-control" id="baseurl" name="baseurl" value="{{ site.baseurl }}" placeholder="ie. /JKAN">
34-
</div>
41+
</form>
42+
</div>
3543

36-
<h3>Authentication</h3>
44+
<div role="tabpanel" class="tab-pane" id="authentication">
45+
<h2>Authentication</h2>
46+
<form data-component="admin-form" data-file-path="_config.yml">
3747

38-
<div class="form-group">
39-
<label for="github_client_id">GitHub Client ID</label>
40-
<input type="text" class="form-control" id="github_client_id" name="github_client_id" value="{{ site.github_client_id }}" placeholder="ie. 9098sdf876sdfs768az">
41-
<p class="help-block"><a href="https://github.com/settings/applications/new">Register a Github application</a> to get a Client ID</p>
42-
</div>
48+
<fieldset>
4349

44-
<div class="form-group">
45-
<label for="gatekeeper_host">Gatekeeper Host</label>
46-
<input type="text" class="form-control" id="gatekeeper_host" name="gatekeeper_host" value="{{ site.gatekeeper_host }}" placeholder="ie. http://jkan-gatekeeper.herokuapp.com">
47-
<p class="help-block">Authentication server you deployed</p>
48-
</div>
50+
<div class="form-group">
51+
<label for="github_client_id">GitHub Client ID</label>
52+
<input type="text" class="form-control" id="github_client_id" name="github_client_id" value="{{ site.github_client_id }}" placeholder="ie. 9098sdf876sdfs768az">
53+
<p class="help-block"><a href="https://github.com/settings/applications/new">Register a Github application</a> to get a Client ID</p>
54+
</div>
4955

50-
<button type="submit" class="btn btn-primary">Submit</button>
56+
<div class="form-group">
57+
<label for="gatekeeper_host">Gatekeeper Host</label>
58+
<input type="text" class="form-control" id="gatekeeper_host" name="gatekeeper_host" value="{{ site.gatekeeper_host }}" placeholder="ie. http://jkan-gatekeeper.herokuapp.com">
59+
<p class="help-block">Authentication server you deployed</p>
60+
</div>
5161

52-
<h3>Site Maintenance</h3>
62+
<button type="submit" class="btn btn-primary">Submit</button>
5363

54-
<div class="form-group">
55-
<a href="https://github.com/{{ site.github.owner_name }}/{{ site.github.project_title }}/compare/gh-pages...timwis:gh-pages?expand=1" class="btn btn-info">Check for updates</a>
56-
</div>
64+
</fieldset>
5765

58-
</fieldset>
66+
</form>
67+
</div>
5968

60-
</form>
69+
<div role="tabpanel" class="tab-pane" id="categories">
70+
<h2>Categories</h2>
71+
{% assign category_fields = site.data.schemas[site[schema]].category_fields %}
72+
<form data-component="categories-form editable-list" data-file-path="_data/categories.yml" data-item-label="category">
73+
<div data-hook="items">
74+
{% for category in site.data.categories %}
75+
{% include admin-form-category.html %}
76+
{% endfor %}
77+
</div>
78+
<div class="form-group">
79+
<button type="button" class="btn btn-default" data-hook="add-item-btn"><i class="fa fa-plus"></i> Add Category</button>
80+
</div>
81+
82+
<button type="submit" class="btn btn-primary">Submit</button>
83+
84+
<script type="text/template" data-hook="item-template">
85+
{% include admin-form-category.html %}
86+
</script>
87+
</form>
88+
</div>
89+
90+
<div role="tabpanel" class="tab-pane" id="maintenance">
91+
<h2>Site Maintenance</h2>
92+
<a href="https://github.com/{{ site.github.owner_name }}/{{ site.github.project_title }}/compare/gh-pages...timwis:gh-pages?expand=1" class="btn btn-info">Check for updates</a>
93+
</div>
94+
</div>

css/main.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ dataset {
3939
display: none;
4040
}
4141

42-
.resource-row {
42+
.editable-list-item {
4343
padding: 19px;
4444
margin-bottom: 20px;
4545
background-color: #f5f5f5;

scripts/dist/bundle.js

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)