engine2 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/conf/message.yaml +7 -0
- data/conf/message_pl.yaml +7 -0
- data/engine2.gemspec +1 -1
- data/lib/engine2/action.rb +0 -5
- data/lib/engine2/core.rb +9 -8
- data/lib/engine2/handler.rb +2 -2
- data/lib/engine2/meta.rb +196 -33
- data/lib/engine2/meta/decode_meta.rb +2 -1
- data/lib/engine2/meta/form_meta.rb +3 -132
- data/lib/engine2/meta/infra_meta.rb +14 -9
- data/lib/engine2/meta/list_meta.rb +1 -4
- data/lib/engine2/meta/view_meta.rb +0 -14
- data/lib/engine2/models/UserInfo.rb +0 -4
- data/lib/engine2/scheme.rb +5 -5
- data/lib/engine2/type_info.rb +0 -1
- data/lib/engine2/version.rb +1 -1
- data/public/assets/javascripts.js +13 -13
- data/public/js/angular-animate.js +52 -20
- data/public/js/angular-cookies.js +2 -2
- data/public/js/angular-route.js +10 -7
- data/public/js/angular-sanitize.js +4 -4
- data/public/js/angular.js +322 -168
- data/public/js/lodash.custom.min.js +95 -93
- data/views/engine2.coffee +34 -29
- data/views/engine2actions.coffee +62 -60
- data/views/infra/index.slim +2 -2
- data/views/infra/inspect.slim +5 -1
- data/views/scaffold/confirm.slim +1 -1
- data/views/scaffold/list.slim +11 -23
- data/views/scaffold/message.slim +1 -1
- data/views/scaffold/search.slim +1 -2
- data/views/scaffold/view.slim +1 -1
- data/views/search_fields/checkbox2.slim +1 -1
- data/views/search_fields/checkbox_buttons.slim +3 -3
- data/views/search_fields/date_range.slim +4 -4
- data/views/search_fields/decimal_date_range.slim +4 -4
- data/views/search_fields/input_text.slim +2 -2
- data/views/search_fields/integer.slim +2 -2
- data/views/search_fields/integer_range.slim +2 -2
- data/views/search_fields/list_bsmselect.slim +2 -2
- data/views/search_fields/list_bsselect.slim +2 -2
- data/views/search_fields/list_buttons.slim +2 -2
- data/views/search_fields/list_select.slim +2 -2
- metadata +4 -4
data/views/infra/index.slim
CHANGED
data/views/infra/inspect.slim
CHANGED
data/views/scaffold/confirm.slim
CHANGED
data/views/scaffold/list.slim
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
div
|
2
2
|
e2-include template="action.meta.panel.search_template" ng-if="action.ui_state.search_active"
|
3
|
-
/.well.well-sm
|
4
3
|
.panel.panel-default
|
5
4
|
.panel-body
|
6
5
|
table.table.table-striped.table-condensed.table-hover
|
@@ -11,32 +10,21 @@ div
|
|
11
10
|
th ng-repeat="f in action.meta.fields"
|
12
11
|
a> ng-if="action.meta.info[f].sort" ng-click="action.order(f)": strong ng-bind="::action.meta.info[f].loc"
|
13
12
|
span ng-show="action.ui.order == f"
|
14
|
-
span.glyphicon
|
15
|
-
span.glyphicon.glyphicon-chevron-down ng-show="!action.ui.asc"
|
13
|
+
span.glyphicon ng-class="action.ui.asc ? 'glyphicon-chevron-up' : 'glyphicon-chevron-down'"
|
16
14
|
span ng-if="!action.meta.info[f].sort" ng-bind="::action.meta.info[f].loc"
|
17
15
|
tbody e2-table-body=""
|
18
|
-
/ tr ng-repeat="e in action.entries track by action.id_for(e)" ng-class="action.selected_class($index)" ng-click="action.select($index, $event)"
|
19
|
-
/ td
|
20
|
-
/ div e2-button-set="item_menu" ng-if="action.meta.config.show_item_menu"
|
21
|
-
/ td ng-repeat="f in action.meta.fields track by ::f" ng-bind-html="action.list_cell(e, f)"
|
22
16
|
|
23
|
-
span
|
24
|
-
.
|
25
|
-
.
|
26
|
-
| Strona:
|
27
|
-
span ng-bind="action.page_info()"
|
28
|
-
|
|
29
|
-
.badge ng-if="action.selection"
|
30
|
-
| Zaznaczonych
|
31
|
-
span ng-bind="action.selected_size()"
|
32
|
-
ul.pagination
|
33
|
-
li ng-if="action.prev_active()"
|
17
|
+
span ng-if="action.ui.pagination_active"
|
18
|
+
ul.pagination.pagination-md
|
19
|
+
li ng-class="!action.prev_active() && 'disabled'"
|
34
20
|
a href="" ng-click="action.prev()": span.glyphicon.glyphicon-backward
|
35
|
-
li
|
36
|
-
a href="": span.glyphicon.glyphicon-backward
|
37
|
-
li ng-if="action.next_active()"
|
21
|
+
li ng-class="!action.next_active() && 'disabled'"
|
38
22
|
a href="" ng-click="action.next()": span.glyphicon.glyphicon-forward
|
39
|
-
|
40
|
-
|
23
|
+
|
|
24
|
+
.badge
|
25
|
+
span< ng-bind="action.page_info()"
|
26
|
+
|
|
27
|
+
.badge ng-if="action.selection"
|
28
|
+
span< ng-bind="action.selected_info()"
|
41
29
|
|
42
30
|
span ng-if="action.alert": .alert.alert-danger ng-bind="action.alert"
|
data/views/scaffold/message.slim
CHANGED
data/views/scaffold/search.slim
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
.panel.panel-default
|
2
|
-
/ | {{action.search}}
|
3
2
|
.panel-body
|
4
3
|
form
|
5
4
|
span ng-if="::!action.meta.tabs"
|
@@ -14,7 +13,7 @@
|
|
14
13
|
|
15
14
|
.btn-group.btn-group-sm.pull-right
|
16
15
|
button.btn.btn-default ng-click="action.load_new()"
|
17
|
-
|
16
|
+
span ng-bind="::action.meta.loc.search"
|
18
17
|
span.glyphicon.glyphicon-zoom-in<
|
19
18
|
button.btn.btn-default ng-click="action.search_reset()"
|
20
19
|
span.glyphicon.glyphicon-asterisk
|
data/views/scaffold/view.slim
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
.btn-group.btn-group-sm [
|
3
3
|
ng-model="action.query.search[f]"
|
4
4
|
bs-buttons-radio=""
|
5
|
-
ng-change="action.
|
5
|
+
ng-change="action.search_field_change(f)"
|
6
6
|
]
|
7
7
|
button.btn.btn-default type="button" value="{{action.meta.info[f].render.true_value}}": span.glyphicon.glyphicon-ok
|
8
8
|
button.btn.btn-default type="button" value="{{action.meta.info[f].render.false_value}}": span.glyphicon.glyphicon-remove
|
@@ -1,10 +1,10 @@
|
|
1
1
|
.col-lg-3.col-md-3.col-sm-3
|
2
2
|
.form-group
|
3
3
|
.btn-group.btn-group-sm ng-init="info = action.meta.info[f]" xe2-search-field=""
|
4
|
-
a.btn.btn-default ng-class="action.query.search[f] == info.render.true_value && 'active'" ng-click="action.query.search[f] = info.render.true_value; action.
|
4
|
+
a.btn.btn-default ng-class="action.query.search[f] == info.render.true_value && 'active'" ng-click="action.query.search[f] = info.render.true_value; action.search_field_change(f)"
|
5
5
|
span.glyphicon.glyphicon-ok
|
6
|
-
a.btn.btn-default ng-class="action.query.search[f] == info.render.false_value && 'active'" ng-click="action.query.search[f] = info.render.false_value; action.
|
6
|
+
a.btn.btn-default ng-class="action.query.search[f] == info.render.false_value && 'active'" ng-click="action.query.search[f] = info.render.false_value; action.search_field_change(f)"
|
7
7
|
span.glyphicon.glyphicon-remove
|
8
|
-
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.
|
8
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_field_change(f)"
|
9
9
|
span ng-bind="::action.meta.info[f].loc"
|
10
10
|
span.glyphicon.glyphicon-off<
|
@@ -8,7 +8,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}; value = val
|
|
8
8
|
class="form-control"
|
9
9
|
placeholder="{{::info.loc}} <"
|
10
10
|
ng-model="value.from"
|
11
|
-
xng-change="action.
|
11
|
+
xng-change="action.search_field_change(f)"
|
12
12
|
data-max-date="{{value.to}}"
|
13
13
|
data-date-format="{{::info.render.format}}"
|
14
14
|
data-animation="{{::info.render.animation}}"
|
@@ -20,7 +20,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}; value = val
|
|
20
20
|
]
|
21
21
|
.input-group-btn
|
22
22
|
a.btn.btn-default data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
23
|
-
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="value.from = null; action.query.search[f].from = null; action.
|
23
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="value.from = null; action.query.search[f].from = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
|
24
24
|
|
25
25
|
.col-lg-3.col-md-4.col-sm-4
|
26
26
|
.form-group
|
@@ -31,7 +31,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}; value = val
|
|
31
31
|
class="form-control"
|
32
32
|
placeholder="{{::info.loc}} >"
|
33
33
|
ng-model="value.to"
|
34
|
-
xng-change="action.
|
34
|
+
xng-change="action.search_field_change(f)"
|
35
35
|
data-min-date="{{value.from}}"
|
36
36
|
data-date-format="{{::info.render.format}}"
|
37
37
|
data-animation="{{::info.render.animation}}"
|
@@ -43,4 +43,4 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}; value = val
|
|
43
43
|
]
|
44
44
|
.input-group-btn
|
45
45
|
a.btn.btn-default data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
46
|
-
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="value.to = null; action.query.search[f].to = null; action.
|
46
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="value.to = null; action.query.search[f].to = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
|
@@ -8,7 +8,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
|
8
8
|
placeholder="{{::action.meta.info[f].loc}} <"
|
9
9
|
xng-model="value"
|
10
10
|
ng-model="action.query.search[f].from"
|
11
|
-
ng-change="action.
|
11
|
+
ng-change="action.search_field_change(f)"
|
12
12
|
xe2-decimal-date-picker="" range="from"
|
13
13
|
data-max-date="{{action.query.search[f].to}}"
|
14
14
|
data-date-format="{{::action.meta.info[f].render.format}}"
|
@@ -20,7 +20,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
|
20
20
|
]
|
21
21
|
.input-group-btn
|
22
22
|
a.btn.btn-default.disabled data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
23
|
-
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="action.query.search[f].from = null; action.
|
23
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="action.query.search[f].from = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
|
24
24
|
|
25
25
|
.col-lg-3.col-md-4.col-sm-4
|
26
26
|
.form-group
|
@@ -31,7 +31,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
|
31
31
|
placeholder="{{::action.meta.info[f].loc}} >"
|
32
32
|
xng-model="value"
|
33
33
|
ng-model="action.query.search[f].to"
|
34
|
-
ng-change="action.
|
34
|
+
ng-change="action.search_field_change(f)"
|
35
35
|
xe2-decimal-date-picker="" range="to"
|
36
36
|
data-min-date="{{action.query.search[f].from}}"
|
37
37
|
data-date-format="{{::action.meta.info[f].render.format}}"
|
@@ -44,4 +44,4 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
|
44
44
|
]
|
45
45
|
.input-group-btn
|
46
46
|
a.btn.btn-default.disabled data-toggle="datepicker": span.glyphicon.glyphicon-calendar
|
47
|
-
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="action.query.search[f].to = null; action.
|
47
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="action.query.search[f].to = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
|
@@ -6,13 +6,13 @@
|
|
6
6
|
ng-model="action.query.search[f]"
|
7
7
|
ng-model-options="{debounce: 200}"
|
8
8
|
maxlength="15"
|
9
|
-
ng-change="action.
|
9
|
+
ng-change="action.search_field_change(f)"
|
10
10
|
ng-class="action.meta.info[f].render.class"
|
11
11
|
class="form-control"
|
12
12
|
placeholder="{{::action.meta.info[f].loc}}"
|
13
13
|
e2-search-field=""
|
14
14
|
]
|
15
15
|
.input-group-btn
|
16
|
-
a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="action.query.search[f] = null; action.
|
16
|
+
a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="action.query.search[f] = null; action.search_field_change(f)"
|
17
17
|
span.glyphicon.glyphicon-off
|
18
18
|
|
@@ -5,14 +5,14 @@
|
|
5
5
|
type="text"
|
6
6
|
ng-model="action.query.search[f]"
|
7
7
|
ng-model-options="{debounce: 200}"
|
8
|
-
ng-change="action.
|
8
|
+
ng-change="action.search_field_change(f)"
|
9
9
|
class="form-control"
|
10
10
|
placeholder="{{::action.meta.info[f].loc}}"
|
11
11
|
e2-search-field=""
|
12
12
|
e2-integer=""
|
13
13
|
]
|
14
14
|
.input-group-btn
|
15
|
-
a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="action.query.search[f] = null; action.
|
15
|
+
a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="action.query.search[f] = null; action.search_field_change(f)"
|
16
16
|
span.glyphicon.glyphicon-off
|
17
17
|
|
18
18
|
/button.btn ng-click="action.query.search[f] = null": i.icon-remove
|
@@ -11,7 +11,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
|
11
11
|
e2-integer=""
|
12
12
|
]
|
13
13
|
.input-group-btn
|
14
|
-
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="action.query.search[f].from = null; action.
|
14
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].from" ng-click="action.query.search[f].from = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
|
15
15
|
.col-lg-2.col-md-3.col-sm-4
|
16
16
|
.form-group
|
17
17
|
.input-group.input-group-sm
|
@@ -24,4 +24,4 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
|
|
24
24
|
e2-integer=""
|
25
25
|
]
|
26
26
|
.input-group-btn
|
27
|
-
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="action.query.search[f].to = null; action.
|
27
|
+
a.btn.btn-default ng-disabled="!action.query.search[f].to" ng-click="action.query.search[f].to = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
|
@@ -7,7 +7,7 @@
|
|
7
7
|
ng-model="action.query.search[f]"
|
8
8
|
bs-options="v[0] as v[1] for v in info.render.list"
|
9
9
|
data-html="true"
|
10
|
-
ng-change="action.
|
10
|
+
ng-change="action.search_field_change(f)"
|
11
11
|
ng-class="info.render.class"
|
12
12
|
class="form-control"
|
13
13
|
|
@@ -20,5 +20,5 @@
|
|
20
20
|
]
|
21
21
|
|
22
22
|
.input-group-btn
|
23
|
-
a.btn.btn-default ng-disabled="action.query.search[f].length == 0" ng-click="action.query.search[f] = []; action.
|
23
|
+
a.btn.btn-default ng-disabled="action.query.search[f].length == 0" ng-click="action.query.search[f] = []; action.search_field_change(f)"
|
24
24
|
span.glyphicon.glyphicon-off
|
@@ -7,7 +7,7 @@
|
|
7
7
|
ng-model="action.query.search[f]"
|
8
8
|
bs-options="v[0] as v[1] for v in info.render.list"
|
9
9
|
data-html="true"
|
10
|
-
ng-change="action.
|
10
|
+
ng-change="action.search_field_change(f)"
|
11
11
|
ng-class="info.render.class"
|
12
12
|
class="form-control"
|
13
13
|
|
@@ -18,5 +18,5 @@
|
|
18
18
|
]
|
19
19
|
|
20
20
|
.input-group-btn
|
21
|
-
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.
|
21
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_field_change(f)"
|
22
22
|
span.glyphicon.glyphicon-off
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/.container
|
3
3
|
.form-group
|
4
4
|
.btn-group.btn-group-sm ng-init="info = action.meta.info[f]" ng-model="action.query.search[f]" e2-search-field=""
|
5
|
-
a.btn.btn-default ng-class="action.query.search[f] == v[0] && 'active'" ng-click="action.query.search[f] = v[0]; action.
|
6
|
-
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.
|
5
|
+
a.btn.btn-default ng-class="action.query.search[f] == v[0] && 'active'" ng-click="action.query.search[f] = v[0]; action.search_field_change(f)" ng-repeat="v in info.render.list" ng-bind-html="v[1]"
|
6
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_field_change(f)"
|
7
7
|
span ng-bind="::action.meta.info[f].loc"
|
8
8
|
span.glyphicon.glyphicon-off<
|
@@ -5,7 +5,7 @@
|
|
5
5
|
ng-init="info = action.meta.info[f]"
|
6
6
|
ng-model="action.query.search[f]"
|
7
7
|
ng-options="v[0] as v[1] for v in info.render.list"
|
8
|
-
ng-change="action.
|
8
|
+
ng-change="action.search_field_change(f)"
|
9
9
|
ng-class="info.render.class"
|
10
10
|
class="form-control"
|
11
11
|
e2-search-field=""
|
@@ -13,5 +13,5 @@
|
|
13
13
|
option value="" ng-bind="::action.meta.info[f].loc"
|
14
14
|
|
15
15
|
.input-group-btn
|
16
|
-
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.
|
16
|
+
a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_field_change(f)"
|
17
17
|
span.glyphicon.glyphicon-off
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engine2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lopex
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,7 +113,7 @@ dependencies:
|
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
116
|
+
version: '11.1'
|
117
117
|
name: rake
|
118
118
|
prerelease: false
|
119
119
|
type: :development
|
@@ -121,7 +121,7 @@ dependencies:
|
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '11.1'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|