engine2 1.0.8 → 1.0.9

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -3
  3. data/app/actions.coffee +87 -50
  4. data/app/app.css +2 -1
  5. data/app/engine2.coffee +37 -19
  6. data/app/modal.coffee +8 -3
  7. data/bower.json +3 -2
  8. data/conf/message.yaml +3 -0
  9. data/conf/message_pl.yaml +5 -2
  10. data/config.coffee +16 -15
  11. data/engine2.gemspec +1 -1
  12. data/lib/engine2/action.rb +51 -23
  13. data/lib/engine2/action/array.rb +94 -1
  14. data/lib/engine2/action/decode.rb +29 -3
  15. data/lib/engine2/action/delete.rb +1 -2
  16. data/lib/engine2/action/infra.rb +5 -4
  17. data/lib/engine2/action/list.rb +70 -25
  18. data/lib/engine2/action/save.rb +0 -2
  19. data/lib/engine2/action_node.rb +2 -4
  20. data/lib/engine2/core.rb +30 -21
  21. data/lib/engine2/handler.rb +5 -5
  22. data/lib/engine2/model.rb +18 -9
  23. data/lib/engine2/models/Files.rb +2 -0
  24. data/lib/engine2/scheme.rb +1 -6
  25. data/lib/engine2/templates.rb +32 -6
  26. data/lib/engine2/type_info.rb +9 -5
  27. data/lib/engine2/version.rb +1 -1
  28. data/package.json +9 -8
  29. data/views/fields/checkbox_button.slim +6 -0
  30. data/views/fields/checkbox_buttons.slim +1 -1
  31. data/views/fields/list_mbuttons.slim +9 -0
  32. data/views/fields/list_mbuttons_opt.slim +11 -0
  33. data/views/fields/list_mselect.slim +12 -0
  34. data/views/fields/scaffold.slim +1 -1
  35. data/views/fields/typeahead_picker.slim +8 -5
  36. data/views/infra/inspect.slim +19 -16
  37. data/views/scaffold/fields.slim +3 -1
  38. data/views/scaffold/search.slim +2 -2
  39. data/views/scaffold/search_collapse.slim +2 -2
  40. data/views/scaffold/search_tabs.slim +2 -2
  41. data/views/search_fields/date.slim +20 -0
  42. data/views/search_fields/list_mbuttons.slim +12 -0
  43. data/views/search_fields/typeahead_picker.slim +4 -3
  44. metadata +11 -5
@@ -5,6 +5,8 @@ div
5
5
  .row
6
6
  e2-include template="field.render.template"
7
7
  .row
8
+ .col-sm-12 ng-if="::field.description"
9
+ small.text-muted ng-bind="::field.description"
8
10
  .col-sm-12
9
11
  small.text-danger ng-repeat="e in action.errors[f] track by $index" ng-bind="e"
10
- div ng-if="field.hr": hr
12
+ div ng-if="::field.hr": hr
@@ -5,8 +5,8 @@
5
5
  e2-include template="field.render.template"
6
6
 
7
7
  .btn-group.btn-group-sm.pull-right
8
- button.btn.btn-default ng-click="action.load_new()"
8
+ button.btn.btn-default ng-click="action.load_new()" ng-hide="::action.meta.disable_search_button"
9
9
  span ng-bind="::action.meta.loc.search"
10
10
  span.glyphicon.glyphicon-zoom-in<
11
- button.btn.btn-default ng-click="action.search_reset()"
11
+ button.btn.btn-default ng-click="action.search_reset()" title="Reset"
12
12
  span.glyphicon.glyphicon-asterisk
@@ -20,8 +20,8 @@
20
20
  e2-include template="field.render.template"
21
21
 
22
22
  .btn-group.btn-group-sm.pull-right
23
- button.btn.btn-default ng-click="action.load_new()"
23
+ button.btn.btn-default ng-click="action.load_new()" ng-hide="::action.meta.disable_search_button"
24
24
  span ng-bind="::action.meta.loc.search"
25
25
  span.glyphicon.glyphicon-zoom-in<
26
- button.btn.btn-default ng-click="action.search_reset()"
26
+ button.btn.btn-default ng-click="action.search_reset()" title="Reset"
27
27
  span.glyphicon.glyphicon-asterisk
@@ -9,8 +9,8 @@
9
9
  e2-include template="field.render.template"
10
10
 
11
11
  .btn-group.btn-group-sm.pull-right
12
- button.btn.btn-default ng-click="action.load_new()"
12
+ button.btn.btn-default ng-click="action.load_new()" ng-hide="::action.meta.disable_search_button"
13
13
  span ng-bind="::action.meta.loc.search"
14
14
  span.glyphicon.glyphicon-zoom-in<
15
- button.btn.btn-default ng-click="action.search_reset()"
15
+ button.btn.btn-default ng-click="action.search_reset()" title="Reset"
16
16
  span.glyphicon.glyphicon-asterisk
@@ -0,0 +1,20 @@
1
+ .col-lg-3.col-md-4.col-sm-4 ng-init="value = value || {}"
2
+ .form-group
3
+ .input-group.input-group-sm
4
+ input.btn.btn-default [
5
+ type="text"
6
+ class="form-control"
7
+ placeholder="{{::field.loc}}"
8
+ ng-model="value.at"
9
+ xng-change="action.search_field_change(f)"
10
+ data-date-format="{{::field.render.format}}"
11
+ data-animation="{{::field.render.animation}}"
12
+ bs-datepicker=""
13
+ e2-datepicker=""
14
+ e2-model-format="{{::field.render.model_format}}"
15
+ data-autoclose="1"
16
+ e2-search-field=""
17
+ ]
18
+ .input-group-btn
19
+ a.btn.btn-default data-toggle="datepicker": span.glyphicon.glyphicon-calendar
20
+ a.btn.btn-default ng-disabled="!action.query.search[f]" ng-click="value.at = null; action.query.search[f] = null; action.search_field_change(f)": span.glyphicon.glyphicon-off
@@ -0,0 +1,12 @@
1
+ .col-lg-3.col-md-4.col-sm-5
2
+ .form-group
3
+ .btn-group.btn-group-sm ng-model="action.query.search[f]" e2-search-field="" ng-init="action.query.search[f] = action.query.search[f] || []"
4
+ a.btn.btn-default[
5
+ ng-class="action.query.search[f].includes(v[0]) && 'active'"
6
+ ng-click="action.query.search[f].includes(v[0]) ? action._().pull(action.query.search[f], v[0]) : action.query.search[f].push(v[0]); action.search_field_change(f)"
7
+ ng-repeat="v in field.render.values"
8
+ ng-bind-html="v[1]"
9
+ ]
10
+ a.btn.btn-default ng-disabled="action.query.search[f].length == 0" ng-click="action.query.search[f] = []; action.search_field_change(f)"
11
+ span ng-bind="::field.loc"
12
+ span.glyphicon.glyphicon-off<
@@ -5,8 +5,7 @@ e2-action action="[field.assoc, 'typeahead']"
5
5
  input.btn.btn-default [
6
6
  type="text"
7
7
  ng-model="action.decode"
8
- bs-options="v.value for v in action.load($viewValue)"
9
- ng-keypress="action.key_pressed = true"
8
+ bs-options="v.value for v in action.load(action.decode)"
10
9
 
11
10
  ng-class="field.render.class"
12
11
  class="form-control"
@@ -14,7 +13,9 @@ e2-action action="[field.assoc, 'typeahead']"
14
13
  data-animation="{{::field.render.animation}}"
15
14
  placeholder="{{::field.loc}}"
16
15
  data-html="true"
17
- data-limit="10"
16
+ data-limit="{{::field.render.limit}}"
17
+ data-min-length="{{::field.render.min_length}}"
18
+ data-trigger="focus"
18
19
  bs-typeahead=""
19
20
  e2-search-field=""
20
21
  ]
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.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - lopex
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-20 00:00:00.000000000 Z
11
+ date: 2020-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '12'
103
+ version: '13'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '12'
110
+ version: '13'
111
111
  description: Tree based routing framework with scaffolding support
112
112
  email:
113
113
  - lopx@gazeta.pl
@@ -159,6 +159,7 @@ files:
159
159
  - views/fields/bsselect_picker.slim
160
160
  - views/fields/bsselect_picker_opt.slim
161
161
  - views/fields/checkbox.slim
162
+ - views/fields/checkbox_button.slim
162
163
  - views/fields/checkbox_buttons.slim
163
164
  - views/fields/checkbox_buttons_opt.slim
164
165
  - views/fields/currency.slim
@@ -178,6 +179,9 @@ files:
178
179
  - views/fields/list_bsselect_opt.slim
179
180
  - views/fields/list_buttons.slim
180
181
  - views/fields/list_buttons_opt.slim
182
+ - views/fields/list_mbuttons.slim
183
+ - views/fields/list_mbuttons_opt.slim
184
+ - views/fields/list_mselect.slim
181
185
  - views/fields/list_select.slim
182
186
  - views/fields/list_select_opt.slim
183
187
  - views/fields/password.slim
@@ -216,6 +220,7 @@ files:
216
220
  - views/search_fields/checkbox.slim
217
221
  - views/search_fields/checkbox2.slim
218
222
  - views/search_fields/checkbox_buttons.slim
223
+ - views/search_fields/date.slim
219
224
  - views/search_fields/date_range.slim
220
225
  - views/search_fields/decimal_date_range.slim
221
226
  - views/search_fields/input_text.slim
@@ -224,6 +229,7 @@ files:
224
229
  - views/search_fields/list_bsmselect.slim
225
230
  - views/search_fields/list_bsselect.slim
226
231
  - views/search_fields/list_buttons.slim
232
+ - views/search_fields/list_mbuttons.slim
227
233
  - views/search_fields/list_select.slim
228
234
  - views/search_fields/scaffold_picker.slim
229
235
  - views/search_fields/select_picker.slim
@@ -247,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
253
  - !ruby/object:Gem::Version
248
254
  version: '0'
249
255
  requirements: []
250
- rubygems_version: 3.0.2
256
+ rubygems_version: 3.1.2
251
257
  signing_key:
252
258
  specification_version: 4
253
259
  summary: Tree based routing framework with scaffolding support