engine2 1.0.4 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +0 -0
- data/Rakefile +4 -4
- data/app/{engine2actions.coffee → actions.coffee} +341 -215
- data/app/app.coffee +0 -0
- data/app/app.css +17 -0
- data/app/engine2.coffee +158 -208
- data/app/modal.coffee +138 -0
- data/bower.json +4 -2
- data/conf/message.yaml +5 -0
- data/conf/message_pl.yaml +7 -2
- data/config.coffee +24 -12
- data/engine2.gemspec +8 -8
- data/lib/engine2.rb +12 -10
- data/lib/engine2/action.rb +1338 -133
- data/lib/engine2/action/array.rb +189 -0
- data/lib/engine2/{meta/decode_meta.rb → action/decode.rb} +52 -21
- data/lib/engine2/action/delete.rb +64 -0
- data/lib/engine2/action/form.rb +16 -0
- data/lib/engine2/{meta/infra_meta.rb → action/infra.rb} +123 -89
- data/lib/engine2/action/link.rb +117 -0
- data/lib/engine2/action/list.rb +333 -0
- data/lib/engine2/action/save.rb +28 -0
- data/lib/engine2/action/view.rb +8 -0
- data/lib/engine2/action_node.rb +221 -0
- data/lib/engine2/core.rb +175 -87
- data/lib/engine2/handler.rb +14 -13
- data/lib/engine2/model.rb +85 -43
- data/lib/engine2/models/Files.rb +4 -1
- data/lib/engine2/models/UserInfo.rb +6 -3
- data/lib/engine2/post_bootstrap.rb +4 -3
- data/lib/engine2/pre_bootstrap.rb +10 -6
- data/lib/engine2/scheme.rb +107 -65
- data/lib/engine2/templates.rb +41 -6
- data/lib/engine2/type_info.rb +51 -23
- data/lib/engine2/version.rb +2 -1
- data/package.json +22 -16
- data/public/favicon.ico +0 -0
- data/public/img/ajax-loader-dark.gif +0 -0
- data/public/img/ajax-loader.gif +0 -0
- data/views/fields/blob.slim +1 -1
- data/views/fields/bs_select.slim +2 -2
- data/views/fields/bsselect_picker.slim +4 -4
- data/views/fields/bsselect_picker_opt.slim +5 -5
- data/views/fields/checkbox.slim +4 -4
- data/views/fields/checkbox_button.slim +6 -0
- data/views/fields/checkbox_buttons.slim +3 -3
- data/views/fields/checkbox_buttons_opt.slim +3 -3
- data/views/fields/currency.slim +2 -2
- data/views/fields/date.slim +4 -4
- data/views/fields/date_range.slim +9 -9
- data/views/fields/date_time.slim +9 -9
- data/views/fields/datetime.slim +8 -8
- data/views/fields/decimal.slim +1 -1
- data/views/fields/decimal_date.slim +3 -3
- data/views/fields/decimal_time.slim +3 -3
- data/views/fields/email.slim +3 -3
- data/views/fields/file_store.slim +11 -11
- data/views/fields/input_text.slim +4 -4
- data/views/fields/integer.slim +1 -1
- data/views/fields/list_bsmselect.slim +20 -0
- data/views/fields/list_bsselect.slim +5 -5
- data/views/fields/list_bsselect_opt.slim +6 -6
- data/views/fields/list_buttons.slim +1 -1
- data/views/fields/list_buttons_opt.slim +2 -2
- data/views/fields/list_mbuttons.slim +9 -0
- data/views/fields/list_mbuttons_opt.slim +11 -0
- data/views/fields/list_mselect.slim +12 -0
- data/views/fields/list_select.slim +4 -4
- data/views/fields/list_select_opt.slim +5 -5
- data/views/fields/password.slim +4 -4
- data/views/fields/radio_checkbox.slim +3 -3
- data/views/fields/scaffold.slim +2 -2
- data/views/fields/scaffold_picker.slim +5 -5
- data/views/fields/select_picker.slim +3 -3
- data/views/fields/select_picker_opt.slim +4 -4
- data/views/fields/text_area.slim +4 -3
- data/views/fields/time.slim +5 -4
- data/views/fields/typeahead_picker.slim +12 -9
- data/views/index.slim +3 -3
- data/views/infra/index.slim +0 -0
- data/views/infra/inspect.slim +41 -10
- data/views/modals/close_m.slim +0 -0
- data/views/modals/confirm_m.slim +0 -0
- data/views/modals/empty_m.slim +0 -0
- data/views/modals/menu_m.slim +1 -1
- data/views/modals/yes_no_m.slim +0 -0
- data/views/panels/menu_m.slim +1 -1
- data/views/scaffold/confirm.slim +0 -0
- data/views/scaffold/fields.slim +6 -4
- data/views/scaffold/form.slim +1 -1
- data/views/scaffold/form_collapse.slim +4 -3
- data/views/scaffold/form_tabs.slim +3 -2
- data/views/scaffold/list.slim +0 -0
- data/views/scaffold/message.slim +0 -0
- data/views/scaffold/search.slim +4 -4
- data/views/scaffold/search_collapse.slim +8 -7
- data/views/scaffold/search_tabs.slim +6 -5
- data/views/scaffold/view.slim +2 -2
- data/views/scaffold/view_collapse.slim +5 -4
- data/views/scaffold/view_tabs.slim +4 -3
- data/views/search_fields/bsmselect_picker.slim +4 -4
- data/views/search_fields/bsselect_picker.slim +4 -4
- data/views/search_fields/checkbox.slim +3 -3
- data/views/search_fields/checkbox2.slim +5 -5
- data/views/search_fields/checkbox_buttons.slim +3 -3
- data/views/search_fields/date.slim +20 -0
- data/views/search_fields/date_range.slim +8 -8
- data/views/search_fields/decimal_date_range.slim +5 -5
- data/views/search_fields/input_text.slim +2 -2
- data/views/search_fields/integer.slim +1 -1
- data/views/search_fields/integer_range.slim +2 -2
- data/views/search_fields/list_bsmselect.slim +4 -4
- data/views/search_fields/list_bsselect.slim +4 -4
- data/views/search_fields/list_buttons.slim +2 -2
- data/views/search_fields/list_mbuttons.slim +12 -0
- data/views/search_fields/list_select.slim +3 -3
- data/views/search_fields/scaffold_picker.slim +2 -2
- data/views/search_fields/select_picker.slim +3 -3
- data/views/search_fields/typeahead_picker.slim +8 -7
- metadata +53 -48
- data/lib/engine2/meta.rb +0 -1216
- data/lib/engine2/meta/array_meta.rb +0 -82
- data/lib/engine2/meta/delete_meta.rb +0 -60
- data/lib/engine2/meta/form_meta.rb +0 -15
- data/lib/engine2/meta/link_meta.rb +0 -134
- data/lib/engine2/meta/list_meta.rb +0 -281
- data/lib/engine2/meta/save_meta.rb +0 -50
- data/lib/engine2/meta/view_meta.rb +0 -7
- data/public/__sinatra__/404.png +0 -0
- data/public/__sinatra__/500.png +0 -0
@@ -5,14 +5,14 @@
|
|
5
5
|
type="text"
|
6
6
|
class="form-control"
|
7
7
|
ng-model="value.from"
|
8
|
-
ng-disabled="
|
8
|
+
ng-disabled="field.disabled"
|
9
9
|
|
10
|
-
data-date-format="{{::
|
10
|
+
data-date-format="{{::field.render.format}}"
|
11
11
|
data-max-date="{{value.to}}"
|
12
|
-
data-animation="{{::
|
12
|
+
data-animation="{{::field.render.animation}}"
|
13
13
|
bs-datepicker=""
|
14
14
|
e2-datepicker="from"
|
15
|
-
e2-model-format="{{::
|
15
|
+
e2-model-format="{{::field.render.model_format}}"
|
16
16
|
data-autoclose="1"
|
17
17
|
|
18
18
|
e2-field=""
|
@@ -23,18 +23,18 @@
|
|
23
23
|
.col-lg-3.col-md-3.col-sm-5
|
24
24
|
.input-group.input-group-sm
|
25
25
|
input.btn.btn-default [
|
26
|
-
ng-init="other_date = action.meta.
|
26
|
+
ng-init="other_date = action.meta.fields[f].render.other_date; field = action.meta.fields[other_date]"
|
27
27
|
type="text"
|
28
28
|
class="form-control"
|
29
29
|
ng-model="value.to"
|
30
|
-
ng-disabled="
|
30
|
+
ng-disabled="field.disabled"
|
31
31
|
|
32
|
-
data-date-format="{{::
|
32
|
+
data-date-format="{{::field.render.format}}"
|
33
33
|
data-min-date="{{value.from}}"
|
34
|
-
data-animation="{{::
|
34
|
+
data-animation="{{::field.render.animation}}"
|
35
35
|
bs-datepicker=""
|
36
36
|
e2-datepicker="to"
|
37
|
-
e2-model-format="{{::
|
37
|
+
e2-model-format="{{::field.render.model_format}}"
|
38
38
|
data-autoclose="1"
|
39
39
|
|
40
40
|
e2-field="{{other_date}}"
|
data/views/fields/date_time.slim
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
type="text"
|
6
6
|
class="form-control"
|
7
7
|
ng-model="value"
|
8
|
-
ng-disabled="
|
8
|
+
ng-disabled="field.disabled"
|
9
9
|
|
10
|
-
data-date-format="{{::
|
11
|
-
data-animation="{{::
|
10
|
+
data-date-format="{{::field.render.format}}"
|
11
|
+
data-animation="{{::field.render.animation}}"
|
12
12
|
bs-datepicker=""
|
13
13
|
e2-datepicker=""
|
14
|
-
e2-model-format="{{::
|
14
|
+
e2-model-format="{{::field.render.model_format}}"
|
15
15
|
data-autoclose="1"
|
16
16
|
|
17
17
|
e2-field=""
|
@@ -22,17 +22,17 @@
|
|
22
22
|
.col-lg-3.col-md-3.col-sm-5
|
23
23
|
.input-group.input-group-sm
|
24
24
|
input.btn.btn-default [
|
25
|
-
ng-init="other_time = action.meta.
|
25
|
+
ng-init="other_time = action.meta.fields[f].render.other_time; field = action.meta.fields[other_time]"
|
26
26
|
type="text"
|
27
27
|
class="form-control"
|
28
28
|
ng-model="value"
|
29
|
-
ng-disabled="
|
29
|
+
ng-disabled="field.disabled"
|
30
30
|
|
31
|
-
data-time-format="{{::
|
32
|
-
data-animation="{{::
|
31
|
+
data-time-format="{{::field.render.format}}"
|
32
|
+
data-animation="{{::field.render.animation}}"
|
33
33
|
bs-timepicker=""
|
34
34
|
e2-datepicker=""
|
35
|
-
e2-model-format="{{::
|
35
|
+
e2-model-format="{{::field.render.model_format}}"
|
36
36
|
data-autoclose="1"
|
37
37
|
|
38
38
|
e2-field="{{other_time}}"
|
data/views/fields/datetime.slim
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
type="text"
|
6
6
|
class="form-control"
|
7
7
|
ng-model="value.value"
|
8
|
-
ng-disabled="
|
8
|
+
ng-disabled="field.disabled"
|
9
9
|
|
10
|
-
data-date-format="{{::
|
11
|
-
data-animation="{{::
|
10
|
+
data-date-format="{{::field.render.date_format}}"
|
11
|
+
data-animation="{{::field.render.animation}}"
|
12
12
|
bs-datepicker=""
|
13
13
|
e2-datepicker="value"
|
14
|
-
e2-model-format="{{:: (
|
14
|
+
e2-model-format="{{:: (field.render.date_model_format + ' ' + field.render.time_model_format)}}"
|
15
15
|
data-autoclose="1"
|
16
16
|
|
17
17
|
e2-force-view-value=""
|
@@ -25,13 +25,13 @@
|
|
25
25
|
type="text"
|
26
26
|
class="form-control"
|
27
27
|
ng-model="value.value"
|
28
|
-
ng-disabled="
|
28
|
+
ng-disabled="field.disabled"
|
29
29
|
|
30
|
-
data-time-format="{{::
|
31
|
-
data-animation="{{::
|
30
|
+
data-time-format="{{::field.render.time_format}}"
|
31
|
+
data-animation="{{::field.render.animation}}"
|
32
32
|
bs-timepicker=""
|
33
33
|
e2-datepicker="value"
|
34
|
-
e2-model-format="{{:: (
|
34
|
+
e2-model-format="{{:: (field.render.date_model_format + ' ' + field.render.time_model_format)}}"
|
35
35
|
data-autoclose="1"
|
36
36
|
|
37
37
|
e2-force-view-value=""
|
data/views/fields/decimal.slim
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
class="form-control"
|
7
7
|
xng-model="value"
|
8
8
|
ng-model="action.record[f]"
|
9
|
-
ng-disabled="
|
9
|
+
ng-disabled="field.disabled"
|
10
10
|
|
11
11
|
bs-datepicker=""
|
12
|
-
data-animation="{{::
|
13
|
-
data-date-format="{{::
|
12
|
+
data-animation="{{::field.render.animation}}"
|
13
|
+
data-date-format="{{::field.render.format}}"
|
14
14
|
data-model-date-format="yyyyMMdd"
|
15
15
|
data-autoclose="1"
|
16
16
|
data-date-type="string"
|
@@ -6,11 +6,11 @@
|
|
6
6
|
class="form-control"
|
7
7
|
xng-model="value"
|
8
8
|
ng-model="action.record[f]"
|
9
|
-
ng-disabled="
|
9
|
+
ng-disabled="field.disabled"
|
10
10
|
|
11
11
|
bs-timepicker=""
|
12
|
-
data-animation="{{::
|
13
|
-
data-time-format="{{::
|
12
|
+
data-animation="{{::field.render.animation}}"
|
13
|
+
data-time-format="{{::field.render.format}}"
|
14
14
|
data-model-date-format="HHmmss"
|
15
15
|
data-show-meridian="false"
|
16
16
|
data-show-seconds="true"
|
data/views/fields/email.slim
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
/.col-lg-8.col-md-10.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
.input-group.input-group-sm
|
4
4
|
input [
|
5
5
|
type="text"
|
6
6
|
ng-model="action.record[f]"
|
7
|
-
maxlength="{{
|
7
|
+
maxlength="{{field.render.length}}"
|
8
8
|
class="form-control"
|
9
|
-
ng-disabled="
|
9
|
+
ng-disabled="field.disabled"
|
10
10
|
e2-field=""
|
11
11
|
]
|
12
12
|
span.input-group-addon @
|
@@ -7,38 +7,38 @@ e2-action action="[f + '_file_store!']"
|
|
7
7
|
th Nazwa
|
8
8
|
th Data
|
9
9
|
tbody
|
10
|
-
tr ng-repeat="
|
10
|
+
tr ng-repeat="ff in action.parent().record[f]" ng-hide="ff.deleted"
|
11
11
|
td
|
12
12
|
.btn-group.btn-group-xs
|
13
|
-
a.btn.btn-default ng-click="action.show_file(
|
14
|
-
a.btn.btn-default ng-click="action.delete_file(
|
13
|
+
a.btn.btn-default ng-click="action.show_file(ff)": span.glyphicon.glyphicon-file
|
14
|
+
a.btn.btn-default ng-click="action.delete_file(ff)": span.glyphicon.glyphicon-trash
|
15
15
|
td
|
16
|
-
div ng-if="
|
17
|
-
div ng-if="!
|
16
|
+
div ng-if="ff.id": a ng-href="{{action.action_info().action_resource}}/download?id={{ff.id}}" ng-bind="ff.name"
|
17
|
+
div ng-if="!ff.id" ng-bind="ff.name"
|
18
18
|
|
19
|
-
td ng-bind="
|
19
|
+
td ng-bind="ff.uploaded"
|
20
20
|
|
21
21
|
div
|
22
22
|
input [
|
23
23
|
type="hidden"
|
24
|
-
ng-model="action.record[f]"
|
24
|
+
ng-model="action.parent().record[f]"
|
25
25
|
]
|
26
26
|
|
27
27
|
.progress.progress-striped
|
28
28
|
.progress-bar.progress-bar-success ng-style="{'width': action.progress + '%'}"
|
29
29
|
|
30
|
-
div ng-if="
|
30
|
+
div ng-if="field.render.multiple"
|
31
31
|
input [
|
32
32
|
type="file"
|
33
|
-
ng-disabled="
|
33
|
+
ng-disabled="field.disabled"
|
34
34
|
ngf-select="action.select($files)"
|
35
35
|
ngf-multiple="true"
|
36
36
|
]
|
37
37
|
|
38
|
-
div ng-if="!
|
38
|
+
div ng-if="!field.render.multiple"
|
39
39
|
input [
|
40
40
|
type="file"
|
41
|
-
ng-disabled="
|
41
|
+
ng-disabled="field.disabled"
|
42
42
|
ngf-select="action.select($files)"
|
43
43
|
ngf-multiple="false"
|
44
44
|
]
|
@@ -1,13 +1,13 @@
|
|
1
1
|
/.col-lg-8.col-md-9.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
.input-group.input-group-sm
|
4
4
|
input [
|
5
5
|
type="text"
|
6
6
|
ng-model="action.record[f]"
|
7
|
-
maxlength="{{::
|
8
|
-
ng-disabled="
|
7
|
+
maxlength="{{::field.render.length}}"
|
8
|
+
ng-disabled="field.disabled"
|
9
9
|
class="form-control input-sm"
|
10
|
-
ng-class="::
|
10
|
+
ng-class="::field.render.class"
|
11
11
|
e2-field=""
|
12
12
|
]
|
13
13
|
span.input-group-addon: span.glyphicon.glyphicon-pencil
|
data/views/fields/integer.slim
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
/.col-lg-7.col-md-8.col-sm-12
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
|
+
button.btn.btn-default.btn-sm [
|
4
|
+
type="button"
|
5
|
+
ng-model="action.record[f]"
|
6
|
+
bs-options="v[0] as v[1] for v in field.render.values"
|
7
|
+
data-html="true"
|
8
|
+
ng-disabled="field.disabled"
|
9
|
+
ng-class="field.render.class"
|
10
|
+
class="form-control input-sm"
|
11
|
+
|
12
|
+
data-animation="{{::field.render.animation}}"
|
13
|
+
data-placeholder="..."
|
14
|
+
data-multiple="1"
|
15
|
+
data-max-length="{{::field.render.max_length}}"
|
16
|
+
data-max-length-html="{{::field.render.max_length_html}}"
|
17
|
+
bs-select=""
|
18
|
+
|
19
|
+
e2-field=""
|
20
|
+
]
|
@@ -1,15 +1,15 @@
|
|
1
1
|
/.col-lg-7.col-md-8.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
button.btn.btn-default.btn-sm [
|
4
4
|
type="button"
|
5
5
|
ng-model="action.record[f]"
|
6
|
-
bs-options="v[0] as v[1] for v in
|
6
|
+
bs-options="v[0] as v[1] for v in field.render.values"
|
7
7
|
data-html="true"
|
8
|
-
ng-disabled="
|
9
|
-
ng-class="
|
8
|
+
ng-disabled="field.disabled"
|
9
|
+
ng-class="field.render.class"
|
10
10
|
class="form-control input-sm"
|
11
11
|
|
12
|
-
data-animation="{{::
|
12
|
+
data-animation="{{::field.render.animation}}"
|
13
13
|
data-placeholder="..."
|
14
14
|
bs-select=""
|
15
15
|
|
@@ -1,20 +1,20 @@
|
|
1
1
|
/.col-lg-7.col-md-8.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
.input-group.input-group-sm
|
4
4
|
button.btn.btn-default [
|
5
5
|
type="button"
|
6
6
|
ng-model="action.record[f]"
|
7
|
-
bs-options="v[0] as v[1] for v in
|
7
|
+
bs-options="v[0] as v[1] for v in field.render.values"
|
8
8
|
data-html="true"
|
9
|
-
ng-disabled="
|
10
|
-
ng-class="
|
9
|
+
ng-disabled="field.disabled"
|
10
|
+
ng-class="field.render.class"
|
11
11
|
class="form-control input-sm"
|
12
12
|
e2-field=""
|
13
13
|
|
14
|
-
data-animation="{{::
|
14
|
+
data-animation="{{::field.render.animation}}"
|
15
15
|
data-placeholder="..."
|
16
16
|
bs-select=""
|
17
17
|
]
|
18
18
|
.input-group-btn
|
19
|
-
a.btn.btn-default ng-disabled="
|
19
|
+
a.btn.btn-default ng-disabled="field.disabled || action.record[f] == null" ng-click="action.record[f] = null"
|
20
20
|
span.glyphicon.glyphicon-remove
|
@@ -1,3 +1,3 @@
|
|
1
1
|
.col-lg-12
|
2
2
|
.btn-group.btn-group-sm ng-model="action.record[f]" e2-field=""
|
3
|
-
a.btn.btn-default ng-class="action.record[f] == v[0] && 'active'" ng-click="action.record[f] = v[0]" ng-repeat="v in
|
3
|
+
a.btn.btn-default ng-class="action.record[f] == v[0] && 'active'" ng-click="action.record[f] = v[0]" ng-repeat="v in field.render.values" ng-bind-html="v[1]" ng-disabled="field.disabled"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
.col-lg-12
|
2
2
|
.btn-group.btn-group-sm ng-model="action.record[f]" e2-field=""
|
3
|
-
a.btn.btn-default ng-class="action.record[f] == v[0] && 'active'" ng-click="action.record[f] = v[0]" ng-repeat="v in
|
4
|
-
a.btn.btn-default ng-disabled="action.record[f] == null ||
|
3
|
+
a.btn.btn-default ng-class="action.record[f] == v[0] && 'active'" ng-click="action.record[f] = v[0]" ng-repeat="v in field.render.values" ng-bind-html="v[1]" ng-disabled="field.disabled"
|
4
|
+
a.btn.btn-default ng-disabled="action.record[f] == null || field.disabled" ng-click="action.record[f] = null"
|
5
5
|
span.glyphicon.glyphicon-remove
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.col-lg-12
|
2
|
+
.btn-group.btn-group-sm ng-model="action.record[f]" e2-field=""
|
3
|
+
a.btn.btn-default[
|
4
|
+
ng-class="action.record[f].includes(v[0]) && 'active'"
|
5
|
+
ng-click="action.record[f].includes(v[0]) ? action._().pull(action.record[f], v[0]) : action.record[f].push(v[0])"
|
6
|
+
ng-repeat="v in field.render.values"
|
7
|
+
ng-bind-html="v[1]"
|
8
|
+
ng-disabled="field.disabled"
|
9
|
+
]
|
@@ -0,0 +1,11 @@
|
|
1
|
+
.col-lg-12
|
2
|
+
.btn-group.btn-group-sm ng-model="action.record[f]" e2-field=""
|
3
|
+
a.btn.btn-default[
|
4
|
+
ng-class="action.record[f].includes(v[0]) && 'active'"
|
5
|
+
ng-click="action.record[f].includes(v[0]) ? action._().pull(action.record[f], v[0]) : action.record[f].push(v[0])"
|
6
|
+
ng-repeat="v in field.render.values"
|
7
|
+
ng-bind-html="v[1]"
|
8
|
+
ng-disabled="field.disabled"
|
9
|
+
]
|
10
|
+
a.btn.btn-default ng-disabled="action.record[f].length == 0 || field.disabled" ng-click="action.record[f] = []"
|
11
|
+
span.glyphicon.glyphicon-remove
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/.col-lg-7.col-md-8.col-sm-12
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
|
+
select.btn.btn-default.btn-sm [
|
4
|
+
multiple="true"
|
5
|
+
size="{{field.render.size}}"
|
6
|
+
ng-model="action.record[f]"
|
7
|
+
ng-options="v[0] as v[1] for v in field.render.values"
|
8
|
+
ng-disabled="field.disabled"
|
9
|
+
ng-class="field.render.class"
|
10
|
+
class="form-control input-sm"
|
11
|
+
e2-field=""
|
12
|
+
]
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/.col-lg-7.col-md-8.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
select.btn.btn-default.btn-sm [
|
4
4
|
ng-model="action.record[f]"
|
5
|
-
ng-options="v[0] as v[1] for v in
|
6
|
-
ng-disabled="
|
7
|
-
ng-class="
|
5
|
+
ng-options="v[0] as v[1] for v in field.render.values"
|
6
|
+
ng-disabled="field.disabled"
|
7
|
+
ng-class="field.render.class"
|
8
8
|
class="form-control input-sm"
|
9
9
|
e2-field=""
|
10
10
|
]
|
@@ -1,14 +1,14 @@
|
|
1
1
|
/.col-lg-7.col-md-8.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
.input-group.input-group-sm
|
4
4
|
select.btn.btn-default.btn-sm [
|
5
5
|
ng-model="action.record[f]"
|
6
|
-
ng-options="v[0] as v[1] for v in
|
7
|
-
ng-disabled="
|
8
|
-
ng-class="
|
6
|
+
ng-options="v[0] as v[1] for v in field.render.values"
|
7
|
+
ng-disabled="field.disabled"
|
8
|
+
ng-class="field.render.class"
|
9
9
|
class="form-control input-sm"
|
10
10
|
e2-field=""
|
11
11
|
]
|
12
12
|
.input-group-btn
|
13
|
-
a.btn.btn-default ng-disabled="
|
13
|
+
a.btn.btn-default ng-disabled="field.disabled || action.record[f] == null" ng-click="action.record[f] = null"
|
14
14
|
span.glyphicon.glyphicon-remove
|
data/views/fields/password.slim
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
/.col-lg-8.col-md-9.col-sm-12
|
2
|
-
div e2-input-cols="{{::
|
2
|
+
div e2-input-cols="{{::field.render.length}}"
|
3
3
|
.input-group.input-group-sm
|
4
4
|
input [
|
5
5
|
type="password"
|
6
6
|
ng-model="action.record[f]"
|
7
|
-
maxlength="{{::
|
8
|
-
ng-disabled="
|
7
|
+
maxlength="{{::field.render.length}}"
|
8
|
+
ng-disabled="field.disabled"
|
9
9
|
class="form-control input-sm"
|
10
|
-
ng-class="::
|
10
|
+
ng-class="::field.render.class"
|
11
11
|
e2-field=""
|
12
12
|
]
|
13
13
|
span.input-group-addon: span.glyphicon.glyphicon-asterisk
|
@@ -1,10 +1,10 @@
|
|
1
1
|
.col-lg-3
|
2
2
|
.btn-group.btn-group-sm [
|
3
|
-
ng-init="action.record[f] = action.record[f] ||
|
3
|
+
ng-init="action.record[f] = action.record[f] || field.render.false_value"
|
4
4
|
ng-model="action.record[f]"
|
5
5
|
bs-buttons-radio=""
|
6
6
|
e2-field=""
|
7
7
|
]
|
8
8
|
|
9
|
-
button.btn.btn-default type="button" value="{{::
|
10
|
-
button.btn.btn-default type="button" value="{{::
|
9
|
+
button.btn.btn-default type="button" value="{{::field.render.true_value}}": span.glyphicon.glyphicon-ok
|
10
|
+
button.btn.btn-default type="button" value="{{::field.render.false_value}}": span.glyphicon.glyphicon-remove
|