Start working on the admin field editor UI.
[bugdar.git] / admin / templates / admin_fields_edit.tpl
1 {%#import 'admin_header'%}
2
3 <script>
4 var ModelData = {%= $field | json %};
5 var FieldTypes = {%= bugdar\Field::$field_types | json %};
6 </script>
7
8 <div ng-app="bugdar.admin.fields">
9 <div ng-controller="FieldEditor">
10
11 <h2>{%= ($is_new) ? T('Add New Field') : sprintf(T('Edit Field: %1$s'), $field->title) %}</h2>
12
13 <form action="{%#url '/fields/save'%}" method="post">
14
15 <label>
16 {%=T('Title:')%}
17 <input type="text" name="title" ng-model="field.title">
18 </label>
19
20 <label>
21 {%=T('Description:')%}
22 <input type="text" name="description" ng-model="field.description">
23 </label>
24
25 <label>
26 {%=T('Field Type')%}
27 <select name="type" {%= ($is_new) ?: 'disabled' %} ng-model="field.type">
28 <option ng-repeat="type in fieldTypes" value="{{type}}" ng-selected="type == field.type">{{type}}</option>
29 </select>
30 </label>
31
32 <label>
33 {%=T('Required:')%}
34 <input type="checkbox" name="required" ng-checked="field.required" value="1">
35 </label>
36
37 <label>
38 {%=T('Can Be Searched:')%}
39 <input type="checkbox" name="can_search" ng-checked="field.can_search" value="1">
40 </label>
41
42
43 <div ng-switch="field.type">
44 <div ng-switch-when="text">
45 <label>
46 {%=T('Default Value:')%}
47 <input type="text" name="default_value" ng-model="field.default_value">
48 </label>
49
50 <label>
51 {%=T('Validator Pattern:')%}
52 <input type="text" name="validator_pattern" ng-model="field.validator_pattern">
53 </label>
54 </div>
55
56 <div ng-switch-when="boolean">
57 <label>
58 {%=T('Default Value:')%}
59 <select name="default_value" ng-model="field.default_value">
60 <option value="">{%=T('Unset')%}</option>
61 <option value="1">{%=T('True')%}</option>
62 <option value="0">{%=T('False')%}</option>
63 </select>
64 </label>
65 </div>
66
67 <div ng-switch-when="list">
68 <label>
69 {%=T('List Options:')%}
70 <textarea ng-model="field.rawListOptions">{{field.validator_pattern}}</textarea>
71 <input type="hidden" name="validator_pattern" ng-value="listOptionsAsText()">
72 </label>
73
74 <label>
75 {%=T('Default Value:')%}
76 <select name="default_value" ng-model="field.default_value">
77 <option ng-repeat="option in listOptions()" value="{{option}}" ng-selected="field.default_value == option">{{option}}</option>
78 </select>
79 </label>
80 </div>
81 </div>
82
83 <input type="submit" value="{%=T('Save Field')%}">
84
85 </form>
86
87 </div>
88 </div>
89
90 {%#import 'admin_footer'%}