Skip to content

Commit ecc06bd

Browse files
committed
separated styles from html, hidden delete button if only one field is added, added MANIFEST.in
1 parent 20a052a commit ecc06bd

File tree

4 files changed

+61
-45
lines changed

4 files changed

+61
-45
lines changed

MANIFEST.in

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
include LICENSE
2+
include README.MD
3+
include HISTORY.MD
4+
include requirements.txt
5+
recursive-include json_model_widget *
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.form-block {
2+
margin-left: 170px;
3+
}
4+
5+
.jsonwidgetbutton {
6+
padding: 10px 15px;
7+
}
8+
9+
.cursor {
10+
cursor: pointer;
11+
}

json_model_widget/templates/json_model_widget/json_model_widget.html

Lines changed: 41 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,28 @@
11
{% load static %}
22

3-
<style>
4-
.form-block {
5-
margin-left: 170px;
6-
}
7-
8-
.jsonwidgetbutton {
9-
padding: 10px 15px;
10-
}
11-
12-
.cursor {
13-
cursor: pointer;
14-
}
15-
</style>
3+
<link rel="stylesheet" type="text/css" href="{% static 'json_model_widget/css/styles.css' %}">
164

175
<div class="form-block">
18-
196
<div id="fieldjson">
207
{% for k,v in json.items %}
21-
<p id="jsonrow{{ name }}{{ forloop.counter }}">
22-
<select name="jsonkey{{ name }}">
23-
{% for pair in col1 %}
24-
<option value="{{ pair.id }}"
25-
{% if pair.id== k|add:
26-
"0" %}selected{% endif %}>{{ pair }}</option>
27-
{% endfor %}
28-
</select>
29-
<select name="jsonvalue{{ name }}">
30-
{% for pair in col2 %}
31-
<option value="{{ pair.id }}" {% if pair.id== v %}selected{% endif %}>{{ pair }}</option>
32-
{% endfor %}
33-
</select>
34-
<img class="delete-row-button cursor" src="{% static 'json_model_widget/images/icon-deletepair.svg' %}"
35-
alt="False">
36-
</p>
37-
8+
<p id="jsonrow{{ name }}{{ forloop.counter }}">
9+
<select name="jsonkey{{ name }}">
10+
{% for pair in col1 %}
11+
<option value="{{ pair.id }}" {% if pair.id == k|add:0 %}selected{% endif %}>{{ pair }}</option>
12+
{% endfor %}
13+
</select>
14+
<select name="jsonvalue{{ name }}">
15+
{% for pair in col2 %}
16+
<option value="{{ pair.id }}" {% if pair.id == v|add:0 %}selected{% endif %}>{{ pair }}</option>
17+
{% endfor %}
18+
</select>
19+
<img class="delete-row-button cursor" src="{% static 'json_model_widget/images/icon-deletepair.svg' %}"
20+
alt="False">
21+
</p>
3822
{% endfor %}
3923
</div>
4024

41-
<input class="jsonwidgetbutton" type="button" id="but" onclick="addrow()" value="Добавить пару"/>
25+
<input class="jsonwidgetbutton" type="button" id="but" value="Добавить пару"/>
4226

4327
<script type="text/javascript">
4428
if (!$) {
@@ -49,20 +33,35 @@
4933
$(this).parent('p').remove()
5034
})
5135

36+
$(".jsonwidgetbutton").on("click", addrow)
37+
38+
$(document).on('change click', '#fieldjson', function () {
39+
console.log("kk")
40+
if ($(this).children("p").length == 1) {
41+
$(this).find('p:first > img').hide()
42+
} else {
43+
$(this).find('p:first > img').show()
44+
}
45+
})
46+
47+
$("#fieldjson").change()
48+
5249
function addrow() {
53-
console.log("ok");
54-
$("#fieldjson").append(`<p><select name="jsonkey{{ name }}">
50+
$("#fieldjson").append(`
51+
<p><select name="jsonkey{{ name }}">
5552
{% for pair in col1 %}
5653
<option value="{{ pair.id }}">{{ pair }}</option>
5754
{% endfor %}
58-
</select>
59-
<select name="jsonvalue{{ name }}">
60-
{% for pair in col2 %}
61-
<option value="{{ pair.id }}">{{ pair }}</option>
62-
{% endfor %}
63-
</select>
64-
<img class="delete-row-button cursor" src="{% static 'json_model_widget/images/icon-deletepair.svg' %}" alt="False">
65-
</p>`)
55+
</select>
56+
<select name="jsonvalue{{ name }}">
57+
{% for pair in col2 %}
58+
<option value="{{ pair.id }}">{{ pair }}</option>
59+
{% endfor %}
60+
</select>
61+
<img class="delete-row-button cursor" src="{% static 'json_model_widget/images/icon-deletepair.svg' %}" alt="False">
62+
</p>`)
63+
64+
$("#fieldjson").change()
6665
};
6766
</script>
6867

setup.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@
88

99
setup_args = dict(
1010
name='django-json-model-widget',
11-
version='0.0.1',
11+
version='0.0.4',
1212
description='Custom flat json field widget for model pairs',
1313
long_description_content_type="text/markdown",
1414
long_description=README + '\n\n' + HISTORY,
1515
license='MIT',
1616
packages=find_packages(),
17+
include_package_data=True,
1718
author='Oleg Galichkin',
1819
author_email='galij899@yandex.ru',
1920
keywords=['django', 'django-admin', 'django-admin-widget'],
20-
url='https://github.com/galij899',
21-
download_url='https://pypi.org/project/'
21+
url='https://github.com/galij899/django-json-model-widget',
22+
download_url='https://pypi.org/project/django-json-model-widget/'
2223
)
2324

2425
if __name__ == '__main__':

0 commit comments

Comments
 (0)