Skip to content

Commit 5e4435d

Browse files
committed
Convert node_num field to NumberInput and Modify forms layout
1 parent 5791832 commit 5e4435d

File tree

7 files changed

+128
-110
lines changed

7 files changed

+128
-110
lines changed

app/templates/viz/viz_configs/sna.html

+51-40
Original file line numberDiff line numberDiff line change
@@ -16,45 +16,52 @@ <h2 class="text-center m-3"><b>Semantic Network Analysis</b> <span class="badge
1616
{% endfor %}
1717
{% endif %}
1818

19-
<b>{{ form.data.label }}</b>
20-
{{ form.data }}
21-
{% for error in form.data.errors %}
22-
<small class="form-text text-danger text-center mb-1">{{ error }}</small>
23-
{% endfor %}
24-
<span class="form-text text-muted help_text mb-3">One post must be entered per line.</span>
19+
<div class="mb-3">
20+
<b>{{ form.data.label }}</b>
21+
{{ form.data }}
22+
<span class="form-text text-muted help_text">One post must be entered per line.</span>
23+
{% for error in form.data.errors %}
24+
<small class="form-text text-danger text-center">{{ error }}</small>
25+
{% endfor %}
26+
</div>
2527

26-
<div class="input-group">
27-
<div class="input-group-prepend">
28-
<span class="input-group-text" id="data-addon">{{ form.data_file.label }}</span>
29-
</div>
30-
<div class="custom-file">
31-
{{ form.data_file }}
32-
<label class="custom-file-label" for="datafile">Choose File (*.txt, *.csv)</label>
28+
<div class="mb-3">
29+
<div class="input-group">
30+
<div class="input-group-prepend">
31+
<span class="input-group-text" id="data-addon">{{ form.data_file.label }}</span>
32+
</div>
33+
<div class="custom-file">
34+
{{ form.data_file }}
35+
<label class="custom-file-label" for="datafile">Choose File (*.txt, *.csv)</label>
36+
</div>
3337
</div>
38+
<div class="form-text text-muted help_text">{{ form.data_file.help_text }}</div>
39+
<div class="form-text text-muted help_text">One post must be entered per line (row).</div>
40+
{% for error in form.data_file.errors %}
41+
<small class="form-text text-danger">{{ error }}</small>
42+
{% endfor %}
3443
</div>
35-
{% for error in form.data_file.errors %}
36-
<small class="form-text text-danger">{{ error }}</small>
37-
{% endfor %}
38-
<div class="form-text text-muted help_text">{{ form.data_file.help_text }}</div>
39-
<div class="form-text text-muted help_text mb-3">One post must be entered per line (row).</div>
4044

41-
<div class="row">
45+
<div class="row mb-3">
4246
<div class="col">
4347
<b>{{ form.node_num.label }}</b> {{ form.node_num }}
44-
<span class="form-text text-muted help_text mb-3">{{ form.node_num.help_text }}</span>
48+
<span class="form-text text-muted help_text">{{ form.node_num.help_text }}</span>
49+
{% for error in form.node_num.errors %}
50+
<small class="form-text text-danger">{{ error }}</small>
51+
{% endfor %}
4552
</div>
4653
<div class="col">
47-
<b>{{ form.theme.label }}</b> {% render_field form.theme class="form-control mb-3" %}
54+
<b>{{ form.theme.label }}</b> {{ form.theme }}
4855
</div>
4956
</div>
5057

5158
<button class="btn btn-outline-info btn-block dropdown-toggle" type="button" data-toggle="collapse" data-target="#detail-config" aria-expanded="false" aria-controls="detail-config"><b>Detail Configuration</b></button>
5259
<div class="collapse" id="detail-config">
53-
<div class="card card-body mt-1">
60+
<div class="card card-body">
5461

5562
<div class="container-fluid">
5663

57-
<div class="row">
64+
<div class="row mb-3">
5865

5966
<div class="col">
6067
<b>{{ form.edge_remove_threshold.label }}</b> {{ form.edge_remove_threshold }}
@@ -68,62 +75,66 @@ <h2 class="text-center m-3"><b>Semantic Network Analysis</b> <span class="badge
6875
<label class="btn btn-secondary btn-block active text-light">
6976
{% render_field form.remove_isolated_node autocomplete="off" %}Remove Isolated Node
7077
</label>
71-
<span class="form-text text-muted help_text mb-3">{{ form.remove_isolated_node.help_text }}</span>
78+
<span class="form-text text-muted help_text">{{ form.remove_isolated_node.help_text }}</span>
7279
</div>
7380
</div>
7481

7582
</div>
7683

77-
<div class="row">
84+
<div class="row mb-3">
7885

7986
<div class="col">
8087
<b>{{ form.stopwords.label }}</b> {{ form.stopwords }}
81-
<span class="form-text text-muted help_text mb-3">{{ form.stopwords.help_text }}</span>
88+
<span class="form-text text-muted help_text">{{ form.stopwords.help_text }}</span>
8289
</div>
8390

8491
<div class="col">
8592
<b>{{ form.word_len_min.label }}</b> {{ form.word_len_min }}
8693
{% for error in form.word_len_min.errors %}
87-
<small class="form-text text-danger mb-3">{{ error }}</small>
94+
<small class="form-text text-danger">{{ error }}</small>
8895
{% endfor %}
8996
</div>
9097

9198
</div>
9299

93-
<b>{{ form.iterations.label }}</b> {{ form.iterations }}
94-
{% for error in form.iterations.errors %}
95-
<small class="form-text text-danger mb-3">{{ error }}</small>
96-
{% endfor %}
100+
<div class="mb-3">
101+
<b>{{ form.iterations.label }}</b> {{ form.iterations }}
102+
{% for error in form.iterations.errors %}
103+
<small class="form-text text-danger">{{ error }}</small>
104+
{% endfor %}
105+
</div>
97106

98-
<div class="mt-3"><b>{{ form.layout.label }}</b></div> {{ form.layout }}
107+
<div class="mb-3">
108+
<b>{{ form.layout.label }}</b> {{ form.layout }}
109+
</div>
99110

100111
<div class="row">
101112

102113
<div class="col">
103-
<button class="btn btn-outline-info btn-block dropdown-toggle mb-3" type="button" data-toggle="collapse" data-target="#fr-config" aria-expanded="false" aria-controls="fr-config">Layout: Fruchterman Reingold Config</button>
114+
<button class="btn btn-outline-info btn-block dropdown-toggle" type="button" data-toggle="collapse" data-target="#fr-config" aria-expanded="false" aria-controls="fr-config">Layout: Fruchterman Reingold Config</button>
104115
<div class="collapse" id="fr-config">
105-
<div class="card card-body mb-3">
116+
<div class="card card-body">
106117
<div class="container-fluid">
107118
<b>{{ form.fr_k.label }}</b> {{ form.fr_k }}
119+
<span class="form-text text-muted help_text">{{ form.fr_k.help_text }}</span>
120+
<a href="https://networkx.github.io/documentation/networkx-1.9/reference/generated/networkx.drawing.layout.spring_layout.html" target="_blank"><small class="form-text">See Detail Explanation</small></a>
108121
{% for error in form.fr_k.errors %}
109-
<small class="form-text text-danger mb-1">{{ error }}</small>
122+
<small class="form-text text-danger">{{ error }}</small>
110123
{% endfor %}
111-
<span class="form-text text-muted help_text mb-1">{{ form.fr_k.help_text }}</span>
112-
<a href="https://networkx.github.io/documentation/networkx-1.9/reference/generated/networkx.drawing.layout.spring_layout.html" target="_blank"><small class="form-text mb-3">See Detail Explanation</small></a>
113124
</div>
114125
</div>
115126
</div>
116127
</div>
117128

118129
<div class="col">
119-
<button class="btn btn-outline-info btn-block dropdown-toggle mb-3" type="button" data-toggle="collapse" data-target="#fa2-config" aria-expanded="false" aria-controls="fa2-config">Layout: ForceAtlas2 Config</button>
130+
<button class="btn btn-outline-info btn-block dropdown-toggle" type="button" data-toggle="collapse" data-target="#fa2-config" aria-expanded="false" aria-controls="fa2-config">Layout: ForceAtlas2 Config</button>
120131
<div class="collapse" id="fa2-config">
121-
<div class="card card-body mb-3">
132+
<div class="card card-body">
122133
<div class="container-fluid">
123134
<b>{{ form.fa2_square.label }}</b> {{ form.fa2_square }}
124135
<b>{{ form.fa2_log_base.label }}</b> {{ form.fa2_log_base }}
125136
{% for error in form.fa2_log_base.errors %}
126-
<small class="form-text text-danger mb-1">{{ error }}</small>
137+
<small class="form-text text-danger">{{ error }}</small>
127138
{% endfor %}
128139
</div>
129140
</div>

app/templates/viz/viz_configs/wc.html

+51-40
Original file line numberDiff line numberDiff line change
@@ -13,58 +13,69 @@ <h2 class="m-3 text-center"><b>Word Cloud</b></h2>
1313

1414
{% if form.non_field_errors %}
1515
{% for error in form.non_field_errors %}
16-
<div class="text-center text-danger my-3">{{ error }}</div>
16+
<div class="text-center text-danger">{{ error }}</div>
1717
{% endfor %}
1818
{% endif %}
1919

20-
<b>{{ form.data.label }}</b>
21-
{{ form.data }}
22-
{% for error in form.data.errors %}
23-
<small class="form-text text-danger text-center mb-3">{{ error }}</small>
24-
{% endfor %}
20+
<div class="mb-3">
21+
<b>{{ form.data.label }}</b>
22+
{{ form.data }}
23+
{% for error in form.data.errors %}
24+
<small class="form-text text-danger text-center">{{ error }}</small>
25+
{% endfor %}
26+
</div>
2527

26-
<div class="input-group mt-3">
27-
<div class="input-group-prepend">
28-
<span class="input-group-text" id="data-addon">{{ form.data_file.label }}</span>
29-
</div>
30-
<div class="custom-file">
31-
{{ form.data_file }}
32-
<label class="custom-file-label" for="datafile">Choose File (*.txt, *.csv)</label>
28+
<div class="mb-3">
29+
<div class="input-group">
30+
<div class="input-group-prepend">
31+
<span class="input-group-text" id="data-addon">{{ form.data_file.label }}</span>
32+
</div>
33+
<div class="custom-file">
34+
{{ form.data_file }}
35+
<label class="custom-file-label" for="datafile">Choose File (*.txt, *.csv)</label>
36+
</div>
3337
</div>
38+
<span class="form-text text-muted help_text">{{ form.data_file.help_text }}</span>
39+
{% for error in form.data_file.errors %}
40+
<small class="form-text text-danger">{{ error }}</small>
41+
{% endfor %}
3442
</div>
35-
{% for error in form.data_file.errors %}
36-
<small class="form-text text-danger">{{ error }}</small>
37-
{% endfor %}
38-
<span class="form-text text-muted help_text mb-3">{{ form.data_file.help_text }}</span>
3943

4044
<button class="btn btn-outline-info btn-block dropdown-toggle" type="button" data-toggle="collapse" data-target="#detail-config" aria-expanded="false" aria-controls="detail-config"><b>Detail Configuration</b></button>
4145
<div class="collapse" id="detail-config">
42-
<div class="card card-body mt-1">
46+
<div class="card card-body">
4347

4448
<div class="container-fluid">
45-
<b>{{ form.max_word_size.label }}</b> {{ form.max_word_size }}
46-
<span class="form-text text-muted help_text mb-1">{{ form.max_word_size.help_text }}</span>
47-
{% for error in form.max_word_size.errors %}
48-
<small class="form-text text-danger mb-3">{{ error }}</small>
49-
{% endfor %}
5049

51-
<b>{{ form.bg_color.label }}</b> {{ form.bg_color }}
50+
<div class="mb-3">
51+
<b>{{ form.max_word_size.label }}</b> {{ form.max_word_size }}
52+
<span class="form-text text-muted help_text">{{ form.max_word_size.help_text }}</span>
53+
{% for error in form.max_word_size.errors %}
54+
<small class="form-text text-danger">{{ error }}</small>
55+
{% endfor %}
56+
</div>
5257

53-
<div class="input-group">
54-
<div class="input-group-prepend">
55-
<span class="input-group-text" id="fontfile-addon">{{ form.font.label }}</span>
56-
</div>
57-
<div class="custom-file">
58-
{{ form.font }}
59-
<label class="custom-file-label" for="fontfile">Choose Font File (*.ttf, *.otf)</label>
58+
<div class="mb-3">
59+
<b>{{ form.bg_color.label }}</b> {{ form.bg_color }}
60+
</div>
61+
62+
<div class="mb-3">
63+
<div class="input-group">
64+
<div class="input-group-prepend">
65+
<span class="input-group-text" id="fontfile-addon">{{ form.font.label }}</span>
66+
</div>
67+
<div class="custom-file">
68+
{{ form.font }}
69+
<label class="custom-file-label" for="fontfile">Choose Font File (*.ttf, *.otf)</label>
70+
</div>
6071
</div>
72+
<span class="form-text text-muted help_text">{{ form.font.help_text }}</span>
73+
{% for error in form.font.errors %}
74+
<small class="form-text text-danger">{{ error }}</small>
75+
{% endfor %}
6176
</div>
62-
{% for error in form.font.errors %}
63-
<small class="form-text text-danger mb-3">{{ error }}</small>
64-
{% endfor %}
65-
<span class="form-text text-muted help_text mb-3">{{ form.font.help_text }}</span>
6677

67-
<div class="row">
78+
<div class="row mb-3">
6879

6980
<div class="col">
7081
<div class="input-group">
@@ -76,15 +87,15 @@ <h2 class="m-3 text-center"><b>Word Cloud</b></h2>
7687
<label class="custom-file-label" for="maskfile">Choose Image File</label>
7788
</div>
7889
</div>
79-
<span class="form-text text-muted help_text mb-3">{{ form.mask.help_text }}</span>
90+
<span class="form-text text-muted help_text">{{ form.mask.help_text }}</span>
8091
</div>
8192

8293
<div class="col">
8394
<div class="btn-group-toggle" data-toggle="buttons">
8495
<label class="btn btn-secondary btn-block text-light">
8596
{% render_field form.mask_coloring autocomplete="off" %} {{ form.mask_coloring.label }}
8697
</label>
87-
<span class="form-text text-muted help_text mb-3">{{ form.mask_coloring.help_text }}</span>
98+
<span class="form-text text-muted help_text">{{ form.mask_coloring.help_text }}</span>
8899
</div>
89100
</div>
90101

@@ -94,13 +105,13 @@ <h2 class="m-3 text-center"><b>Word Cloud</b></h2>
94105

95106
<div class="col">
96107
<b>{{ form.stopwords.label }}</b> {{ form.stopwords }}
97-
<span class="form-text text-muted help_text mb-3">{{ form.stopwords.help_text }}</span>
108+
<span class="form-text text-muted help_text">{{ form.stopwords.help_text }}</span>
98109
</div>
99110

100111
<div class="col">
101112
<b>{{ form.word_len_min.label }}</b> {{ form.word_len_min }}
102113
{% for error in form.word_len_min.errors %}
103-
<small class="form-text text-danger mb-3">{{ error }}</small>
114+
<small class="form-text text-danger">{{ error }}</small>
104115
{% endfor %}
105116
</div>
106117

app/templates/viz/viz_result_pages/sna.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
node.value = node.symbolSize;
3939
node.label = {
4040
normal: {
41-
show: node.symbolSize > 5
41+
show: node.symbolSize > 1
4242
}
4343
};
4444
node.category = node.attributes.modularity_class;

app/viz/core/sna.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,12 @@ def gen_gexf_and_pass_partition_data(
6161
# ------ Set Attributes for gexf file ------ #
6262
# Add Node Weight
6363
scaled_weight_list = []
64-
for node_freq in tf_sum_dict_sorted[:node_num]:
65-
# node_freq[0] is node, node_freq[1] is node's frequency
66-
if node_freq[0] in isolated_nodes:
64+
for node, freq in tf_sum_dict_sorted[:node_num]:
65+
if node in isolated_nodes:
6766
continue
6867
else:
69-
scaled_weight = (node_freq[1] * (70 ** 2) / tf_sum_dict_sorted[0][1])**(1/2)
70-
scaled_weight_list.append((node_freq[0], scaled_weight))
68+
scaled_weight = (freq * (70 ** 2) / tf_sum_dict_sorted[0][1])**(1/2)
69+
scaled_weight_list.append((node, scaled_weight))
7170

7271
scaled_weight_dict = dict(scaled_weight_list)
7372

app/viz/forms/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class VizBaseForm(forms.Form):
4343
initial=2,
4444
widget=forms.NumberInput(
4545
attrs={
46-
'class': 'form-control mb-1',
46+
'class': 'form-control',
4747
},
4848
),
4949
)

0 commit comments

Comments
 (0)