Procházet zdrojové kódy

First attempt of a prettier create form

prieto před 7 roky
rodič
revize
8abb5a7b92

+ 40
- 1
lodel/plugins/webui/templates/admin/editable_component.html Zobrazit soubor

@@ -13,8 +13,47 @@
13 13
 		{% elif field.base_type == 'text' %}
14 14
 			<textarea class="form-control" name="field_input_{{fieldname}}">{{value}}</textarea>
15 15
 		{% elif field.base_type == 'datetime' %}
16
-			<input class="form-control" type="date" value="{{value}}" name="field_input_{{fieldname}}">
16
+			<!-- Handle date fields - Date format for datepicker is YY/MM/DD - TODO set this format with field.datetime_format (default is '%Y-%m-%d') -->
17
+		 	<input class="form-control" type="text" id="field_input_{{fieldname}}" name="field_input_{{fieldname}}" />
18
+		 	 <script type="text/javascript">
19
+		        $(document).ready(function() {
20
+				    $('#field_input_{{fieldname}}')
21
+				        .datepicker({
22
+				            autoclose: true,
23
+				            format: 'yyyy/mm/dd'
24
+				        });
25
+		        });
26
+        	</script>
17 27
     {% elif field.base_type == 'ref' %}
28
+        {% set l_classes = field.allowed_classes %}
29
+    	{% set ref_objects = dict() %}
30
+    	{% for l_class in l_classes %}
31
+    		{% set _dummy = ref_objects.update(l_class.get(None)) %} 
32
+    		{% if 'fullname' in l_class.fieldnames() %}
33
+    			{% set displayfield = 'fullname' %}
34
+    		{% elif 'name' in l_class.fieldnames() %} 
35
+    			{% set displayfield = 'name' %}
36
+    		{% elif 'title' in l_class.fieldnames() %}
37
+    			{% set displayfield = 'title' %}
38
+    		{% else %}
39
+    			{% set displayfield = l_class.uid_fieldname() %}
40
+    		{% endif %}
41
+    		{% set uidfield = l_class.uid_fieldname() %}
42
+    	{% endfor %}
43
+    	<meta id="ref_objects" data-name="{{ ref_objects }}" >
44
+    	{% if (field.__class__ == List) %}
45
+    		<input id="{{fieldname}}" class="form-control" name="field_input_{{fieldname}}[]" type="text" value="{{sval}}" >
46
+    		<script type="text/javascript">
47
+    		$(function() {
48
+		    $('#{{fieldname}}').magicSuggest({
49
+		        data: $('#ref_objects').data(),
50
+		        valueField: {{ uidfield }},
51
+		        displayField: {{ displayfield }}
52
+		    });
53
+		    </script>
54
+		
55
+		});
56
+    	{% endif %}
18 57
         {% if value is iterable %}
19 58
             {% set sval=value|join(',') %}
20 59
         {% else %}

+ 12
- 4
lodel/plugins/webui/templates/base_backend.html Zobrazit soubor

@@ -5,7 +5,12 @@
5 5
     <title>{{ settings.sitename }} Admin{% block title %}{% endblock %}</title>
6 6
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
7 7
     <link href="{{ static_url }}/css/template.css" rel="stylesheet">
8
+    <link rel="stylesheet" href="{{ static_url }}/css/bootstrap-datepicker/css/bootstrap-datepicker.css" />
9
+    <link rel="stylesheet" href="{{ static_url }}/css/bootstrap-datepicker/css/bootstrap-datepicker3.css" />
8 10
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
11
+    <link href="{{ static_url }}/css/magicsuggest/magicsuggest-min.css" rel="stylesheet">
12
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins), for now needs to be in Head part-->
13
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
9 14
     {% block style %}
10 15
     {% endblock %}
11 16
     {% block scripts %}{% endblock %}
@@ -39,9 +44,12 @@
39 44
     </nav>
40 45
     {% block body %}{% endblock %}
41 46
     <script type="text/javascript">{% block javascript %}{% endblock %}</script>
42
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
43
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
47
+
44 48
     <!-- Include all compiled plugins (below), or include individual files as needed -->
45
-   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
46
-</body>
49
+   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
50
+   <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/collapse.js"></script>
51
+	<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/transition.js"></script>
52
+	<script type="text/javascript" src="{{ static_url }}/css/moment/moment.js"></script>
53
+	<script type="text/javascript" src="{{ static_url }}/css/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
54
+	<script src="{{ static_url }}/css/magicsuggest/magicsuggest-min.js"></script></body>"
47 55
 </html>

Loading…
Zrušit
Uložit