engine2 1.0.4 → 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 (131) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +0 -0
  3. data/Rakefile +4 -4
  4. data/app/{engine2actions.coffee → actions.coffee} +341 -215
  5. data/app/app.coffee +0 -0
  6. data/app/app.css +17 -0
  7. data/app/engine2.coffee +158 -208
  8. data/app/modal.coffee +138 -0
  9. data/bower.json +4 -2
  10. data/conf/message.yaml +5 -0
  11. data/conf/message_pl.yaml +7 -2
  12. data/config.coffee +24 -12
  13. data/engine2.gemspec +8 -8
  14. data/lib/engine2.rb +12 -10
  15. data/lib/engine2/action.rb +1338 -133
  16. data/lib/engine2/action/array.rb +189 -0
  17. data/lib/engine2/{meta/decode_meta.rb → action/decode.rb} +52 -21
  18. data/lib/engine2/action/delete.rb +64 -0
  19. data/lib/engine2/action/form.rb +16 -0
  20. data/lib/engine2/{meta/infra_meta.rb → action/infra.rb} +123 -89
  21. data/lib/engine2/action/link.rb +117 -0
  22. data/lib/engine2/action/list.rb +333 -0
  23. data/lib/engine2/action/save.rb +28 -0
  24. data/lib/engine2/action/view.rb +8 -0
  25. data/lib/engine2/action_node.rb +221 -0
  26. data/lib/engine2/core.rb +175 -87
  27. data/lib/engine2/handler.rb +14 -13
  28. data/lib/engine2/model.rb +85 -43
  29. data/lib/engine2/models/Files.rb +4 -1
  30. data/lib/engine2/models/UserInfo.rb +6 -3
  31. data/lib/engine2/post_bootstrap.rb +4 -3
  32. data/lib/engine2/pre_bootstrap.rb +10 -6
  33. data/lib/engine2/scheme.rb +107 -65
  34. data/lib/engine2/templates.rb +41 -6
  35. data/lib/engine2/type_info.rb +51 -23
  36. data/lib/engine2/version.rb +2 -1
  37. data/package.json +22 -16
  38. data/public/favicon.ico +0 -0
  39. data/public/img/ajax-loader-dark.gif +0 -0
  40. data/public/img/ajax-loader.gif +0 -0
  41. data/views/fields/blob.slim +1 -1
  42. data/views/fields/bs_select.slim +2 -2
  43. data/views/fields/bsselect_picker.slim +4 -4
  44. data/views/fields/bsselect_picker_opt.slim +5 -5
  45. data/views/fields/checkbox.slim +4 -4
  46. data/views/fields/checkbox_button.slim +6 -0
  47. data/views/fields/checkbox_buttons.slim +3 -3
  48. data/views/fields/checkbox_buttons_opt.slim +3 -3
  49. data/views/fields/currency.slim +2 -2
  50. data/views/fields/date.slim +4 -4
  51. data/views/fields/date_range.slim +9 -9
  52. data/views/fields/date_time.slim +9 -9
  53. data/views/fields/datetime.slim +8 -8
  54. data/views/fields/decimal.slim +1 -1
  55. data/views/fields/decimal_date.slim +3 -3
  56. data/views/fields/decimal_time.slim +3 -3
  57. data/views/fields/email.slim +3 -3
  58. data/views/fields/file_store.slim +11 -11
  59. data/views/fields/input_text.slim +4 -4
  60. data/views/fields/integer.slim +1 -1
  61. data/views/fields/list_bsmselect.slim +20 -0
  62. data/views/fields/list_bsselect.slim +5 -5
  63. data/views/fields/list_bsselect_opt.slim +6 -6
  64. data/views/fields/list_buttons.slim +1 -1
  65. data/views/fields/list_buttons_opt.slim +2 -2
  66. data/views/fields/list_mbuttons.slim +9 -0
  67. data/views/fields/list_mbuttons_opt.slim +11 -0
  68. data/views/fields/list_mselect.slim +12 -0
  69. data/views/fields/list_select.slim +4 -4
  70. data/views/fields/list_select_opt.slim +5 -5
  71. data/views/fields/password.slim +4 -4
  72. data/views/fields/radio_checkbox.slim +3 -3
  73. data/views/fields/scaffold.slim +2 -2
  74. data/views/fields/scaffold_picker.slim +5 -5
  75. data/views/fields/select_picker.slim +3 -3
  76. data/views/fields/select_picker_opt.slim +4 -4
  77. data/views/fields/text_area.slim +4 -3
  78. data/views/fields/time.slim +5 -4
  79. data/views/fields/typeahead_picker.slim +12 -9
  80. data/views/index.slim +3 -3
  81. data/views/infra/index.slim +0 -0
  82. data/views/infra/inspect.slim +41 -10
  83. data/views/modals/close_m.slim +0 -0
  84. data/views/modals/confirm_m.slim +0 -0
  85. data/views/modals/empty_m.slim +0 -0
  86. data/views/modals/menu_m.slim +1 -1
  87. data/views/modals/yes_no_m.slim +0 -0
  88. data/views/panels/menu_m.slim +1 -1
  89. data/views/scaffold/confirm.slim +0 -0
  90. data/views/scaffold/fields.slim +6 -4
  91. data/views/scaffold/form.slim +1 -1
  92. data/views/scaffold/form_collapse.slim +4 -3
  93. data/views/scaffold/form_tabs.slim +3 -2
  94. data/views/scaffold/list.slim +0 -0
  95. data/views/scaffold/message.slim +0 -0
  96. data/views/scaffold/search.slim +4 -4
  97. data/views/scaffold/search_collapse.slim +8 -7
  98. data/views/scaffold/search_tabs.slim +6 -5
  99. data/views/scaffold/view.slim +2 -2
  100. data/views/scaffold/view_collapse.slim +5 -4
  101. data/views/scaffold/view_tabs.slim +4 -3
  102. data/views/search_fields/bsmselect_picker.slim +4 -4
  103. data/views/search_fields/bsselect_picker.slim +4 -4
  104. data/views/search_fields/checkbox.slim +3 -3
  105. data/views/search_fields/checkbox2.slim +5 -5
  106. data/views/search_fields/checkbox_buttons.slim +3 -3
  107. data/views/search_fields/date.slim +20 -0
  108. data/views/search_fields/date_range.slim +8 -8
  109. data/views/search_fields/decimal_date_range.slim +5 -5
  110. data/views/search_fields/input_text.slim +2 -2
  111. data/views/search_fields/integer.slim +1 -1
  112. data/views/search_fields/integer_range.slim +2 -2
  113. data/views/search_fields/list_bsmselect.slim +4 -4
  114. data/views/search_fields/list_bsselect.slim +4 -4
  115. data/views/search_fields/list_buttons.slim +2 -2
  116. data/views/search_fields/list_mbuttons.slim +12 -0
  117. data/views/search_fields/list_select.slim +3 -3
  118. data/views/search_fields/scaffold_picker.slim +2 -2
  119. data/views/search_fields/select_picker.slim +3 -3
  120. data/views/search_fields/typeahead_picker.slim +8 -7
  121. metadata +53 -48
  122. data/lib/engine2/meta.rb +0 -1216
  123. data/lib/engine2/meta/array_meta.rb +0 -82
  124. data/lib/engine2/meta/delete_meta.rb +0 -60
  125. data/lib/engine2/meta/form_meta.rb +0 -15
  126. data/lib/engine2/meta/link_meta.rb +0 -134
  127. data/lib/engine2/meta/list_meta.rb +0 -281
  128. data/lib/engine2/meta/save_meta.rb +0 -50
  129. data/lib/engine2/meta/view_meta.rb +0 -7
  130. data/public/__sinatra__/404.png +0 -0
  131. data/public/__sinatra__/500.png +0 -0
@@ -1,4 +1,4 @@
1
- e2-action action="[info.assoc, 'list']"
1
+ e2-action action="[field.assoc, 'list']"
2
2
  .col-lg-3.col-md-4.col-sm-5
3
3
  .form-group
4
4
  .input-group.input-group-sm
@@ -7,11 +7,11 @@ e2-action action="[info.assoc, 'list']"
7
7
  ng-model="action.selected"
8
8
  bs-options="v.id as v.value for v in action.values"
9
9
  ng-change="action.change()"
10
- ng-class="info.render.class"
10
+ ng-class="field.render.class"
11
11
  class="form-control"
12
12
 
13
- data-animation="{{::info.render.animation}}"
14
- data-placeholder="{{::info.loc}}"
13
+ data-animation="{{::field.render.animation}}"
14
+ data-placeholder="{{::field.loc}}"
15
15
  data-multiple="1"
16
16
  data-max-length="3"
17
17
  data-max-length-html="wybranych"
@@ -1,4 +1,4 @@
1
- e2-action action="[info.assoc, 'list']"
1
+ e2-action action="[field.assoc, 'list']"
2
2
  .col-lg-3.col-md-4.col-sm-5
3
3
  .form-group
4
4
  .input-group.input-group-sm
@@ -7,11 +7,11 @@ e2-action action="[info.assoc, 'list']"
7
7
  ng-model="action.selected"
8
8
  bs-options="v.id as v.value for v in action.values"
9
9
  ng-change="action.change()"
10
- ng-class="info.render.class"
10
+ ng-class="field.render.class"
11
11
  class="form-control"
12
12
 
13
- data-animation="{{::info.render.animation}}"
14
- data-placeholder="{{::info.loc}}"
13
+ data-animation="{{::field.render.animation}}"
14
+ data-placeholder="{{::field.loc}}"
15
15
  data-html="true"
16
16
  bs-select=""
17
17
 
@@ -1,11 +1,11 @@
1
1
  input [
2
2
  type="checkbox"
3
3
  ng-model="action.query.search[f]"
4
- ng-true-value="{{::info.render.true_value}}"
5
- ng-false-value="{{::info.render.false_value}}"
4
+ ng-true-value="{{::field.render.true_value}}"
5
+ ng-false-value="{{::field.render.false_value}}"
6
6
 
7
7
  xe2-search-field=""
8
8
  ]
9
9
 
10
- / ng-false-value="{{info.render.false_value}}"
10
+ / ng-false-value="{{field.render.false_value}}"
11
11
  / ng-init="action.record[f] = '0'"
@@ -4,11 +4,11 @@
4
4
  bs-buttons-radio=""
5
5
  ng-change="action.search_field_change(f)"
6
6
  ]
7
- button.btn.btn-default type="button" value="{{info.render.true_value}}": span.glyphicon.glyphicon-ok
8
- button.btn.btn-default type="button" value="{{info.render.false_value}}": span.glyphicon.glyphicon-remove
7
+ button.btn.btn-default type="button" value="{{field.render.true_value}}": span.glyphicon.glyphicon-ok
8
+ button.btn.btn-default type="button" value="{{field.render.false_value}}": span.glyphicon.glyphicon-remove
9
9
  button.btn.btn-default type="button" ng-disabled="!action.query.search[f]": span.glyphicon.glyphicon-off
10
- span ng-bind="::info.loc"
10
+ span ng-bind="::field.loc"
11
11
 
12
- /input type="checkbox" id="{{f}}" ng-model="action.query.search[f]" ng-true-value="{{info.render.true_value}}" ng-false-value="{{info.render.false_value}}"
13
- / ng-false-value="{{info.render.false_value}}"
12
+ /input type="checkbox" id="{{f}}" ng-model="action.query.search[f]" ng-true-value="{{field.render.true_value}}" ng-false-value="{{field.render.false_value}}"
13
+ / ng-false-value="{{field.render.false_value}}"
14
14
  / ng-init="action.record[f] = '0'"
@@ -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 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.search_field_change(f)"
4
+ a.btn.btn-default ng-class="action.query.search[f] == field.render.true_value && 'active'" ng-click="action.query.search[f] = field.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.search_field_change(f)"
6
+ a.btn.btn-default ng-class="action.query.search[f] == field.render.false_value && 'active'" ng-click="action.query.search[f] = field.render.false_value; action.search_field_change(f)"
7
7
  span.glyphicon.glyphicon-remove
8
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
- span ng-bind="::info.loc"
9
+ span ng-bind="::field.loc"
10
10
  span.glyphicon.glyphicon-off<
@@ -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
@@ -5,15 +5,15 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}; value = val
5
5
  input.btn.btn-default [
6
6
  type="text"
7
7
  class="form-control"
8
- placeholder="{{::info.loc}} <"
8
+ placeholder="{{::field.loc}} <"
9
9
  ng-model="value.from"
10
10
  xng-change="action.search_field_change(f)"
11
11
  data-max-date="{{value.to}}"
12
- data-date-format="{{::info.render.format}}"
13
- data-animation="{{::info.render.animation}}"
12
+ data-date-format="{{::field.render.format}}"
13
+ data-animation="{{::field.render.animation}}"
14
14
  bs-datepicker=""
15
15
  e2-datepicker="from"
16
- e2-model-format="{{::info.render.model_format}}"
16
+ e2-model-format="{{::field.render.model_format}}"
17
17
  data-autoclose="1"
18
18
  e2-search-field=""
19
19
  ]
@@ -27,15 +27,15 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}; value = val
27
27
  input.btn.btn-default [
28
28
  type="text"
29
29
  class="form-control"
30
- placeholder="{{::info.loc}} >"
30
+ placeholder="{{::field.loc}} >"
31
31
  ng-model="value.to"
32
32
  xng-change="action.search_field_change(f)"
33
33
  data-min-date="{{value.from}}"
34
- data-date-format="{{::info.render.format}}"
35
- data-animation="{{::info.render.animation}}"
34
+ data-date-format="{{::field.render.format}}"
35
+ data-animation="{{::field.render.animation}}"
36
36
  bs-datepicker=""
37
37
  e2-datepicker="to"
38
- e2-model-format="{{::info.render.model_format}}"
38
+ e2-model-format="{{::field.render.model_format}}"
39
39
  data-autoclose="1"
40
40
  e2-search-field=""
41
41
  ]
@@ -5,13 +5,13 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
5
5
  input.btn.btn-default [
6
6
  type="text"
7
7
  class="form-control"
8
- placeholder="{{::info.loc}} <"
8
+ placeholder="{{::field.loc}} <"
9
9
  xng-model="value"
10
10
  ng-model="action.query.search[f].from"
11
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
- data-date-format="{{::info.render.format}}"
14
+ data-date-format="{{::field.render.format}}"
15
15
  data-model-date-format="yyyyMMdd"
16
16
  bs-datepicker=""
17
17
  data-autoclose="1"
@@ -28,15 +28,15 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
28
28
  input.btn.btn-default [
29
29
  type="text"
30
30
  class="form-control"
31
- placeholder="{{::info.loc}} >"
31
+ placeholder="{{::field.loc}} >"
32
32
  xng-model="value"
33
33
  ng-model="action.query.search[f].to"
34
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
- data-date-format="{{::info.render.format}}"
37
+ data-date-format="{{::field.render.format}}"
38
38
  data-model-date-format="yyyyMMdd"
39
- data-animation="{{::info.render.animation}}"
39
+ data-animation="{{::field.render.animation}}"
40
40
  bs-datepicker=""
41
41
  data-autoclose="1"
42
42
  data-date-type="string"
@@ -7,9 +7,9 @@
7
7
  ng-model-options="{debounce: 200}"
8
8
  maxlength="15"
9
9
  ng-change="action.search_field_change(f)"
10
- ng-class="info.render.class"
10
+ ng-class="field.render.class"
11
11
  class="form-control"
12
- placeholder="{{::info.loc}}"
12
+ placeholder="{{::field.loc}}"
13
13
  e2-search-field=""
14
14
  ]
15
15
  .input-group-btn
@@ -7,7 +7,7 @@
7
7
  ng-model-options="{debounce: 200}"
8
8
  ng-change="action.search_field_change(f)"
9
9
  class="form-control"
10
- placeholder="{{::info.loc}}"
10
+ placeholder="{{::field.loc}}"
11
11
  e2-search-field=""
12
12
  e2-integer=""
13
13
  ]
@@ -6,7 +6,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
6
6
  type="text"
7
7
  ng-model="action.query.search[f].from"
8
8
  class="form-control"
9
- placeholder="{{::info.loc}} <"
9
+ placeholder="{{::field.loc}} <"
10
10
  e2-search-field=""
11
11
  e2-integer=""
12
12
  ]
@@ -19,7 +19,7 @@ span ng-init="action.query.search[f] = action.query.search[f] || {}"
19
19
  type="text"
20
20
  ng-model="action.query.search[f].to"
21
21
  class="form-control"
22
- placeholder="{{::info.loc}} >"
22
+ placeholder="{{::field.loc}} >"
23
23
  e2-search-field=""
24
24
  e2-integer=""
25
25
  ]
@@ -5,14 +5,14 @@
5
5
  type="button"
6
6
  ng-init="action.query.search[f] = action.query.search[f] || []"
7
7
  ng-model="action.query.search[f]"
8
- bs-options="v[0] as v[1] for v in info.render.list"
8
+ bs-options="v[0] as v[1] for v in field.render.values"
9
9
  data-html="true"
10
10
  ng-change="action.search_field_change(f)"
11
- ng-class="info.render.class"
11
+ ng-class="field.render.class"
12
12
  class="form-control"
13
13
 
14
- data-animation="{{::info.render.animation}}"
15
- data-placeholder="{{::info.loc}}"
14
+ data-animation="{{::field.render.animation}}"
15
+ data-placeholder="{{::field.loc}}"
16
16
  data-multiple="1"
17
17
  data-max-length-html="wybranych"
18
18
  bs-select=""
@@ -4,14 +4,14 @@
4
4
  button.btn.btn-default [
5
5
  type="button"
6
6
  ng-model="action.query.search[f]"
7
- bs-options="v[0] as v[1] for v in info.render.list"
7
+ bs-options="v[0] as v[1] for v in field.render.values"
8
8
  data-html="true"
9
9
  ng-change="action.search_field_change(f)"
10
- ng-class="info.render.class"
10
+ ng-class="field.render.class"
11
11
  class="form-control"
12
12
 
13
- data-animation="{{::info.render.animation}}"
14
- data-placeholder="{{::info.loc}}"
13
+ data-animation="{{::field.render.animation}}"
14
+ data-placeholder="{{::field.loc}}"
15
15
  bs-select=""
16
16
  e2-search-field=""
17
17
  ]
@@ -2,7 +2,7 @@
2
2
  /.container
3
3
  .form-group
4
4
  .btn-group.btn-group-sm 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.search_field_change(f)" ng-repeat="v in info.render.list" ng-bind-html="v[1]"
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 field.render.values" ng-bind-html="v[1]"
6
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
- span ng-bind="::info.loc"
7
+ span ng-bind="::field.loc"
8
8
  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<
@@ -3,13 +3,13 @@
3
3
  .input-group.input-group-sm
4
4
  select.btn.btn-default [
5
5
  ng-model="action.query.search[f]"
6
- ng-options="v[0] as v[1] for v in info.render.list"
6
+ ng-options="v[0] as v[1] for v in field.render.values"
7
7
  ng-change="action.search_field_change(f)"
8
- ng-class="info.render.class"
8
+ ng-class="field.render.class"
9
9
  class="form-control"
10
10
  e2-search-field=""
11
11
  ]
12
- option value="" ng-bind="::info.loc"
12
+ option value="" ng-bind="::field.loc"
13
13
 
14
14
  .input-group-btn
15
15
  a.btn.btn-default ng-disabled="action.query.search[f] == null" ng-click="action.query.search[f] = null; action.search_field_change(f)"
@@ -1,4 +1,4 @@
1
- e2-action action="[info.assoc, 'decode']"
1
+ e2-action action="[field.assoc, 'decode']"
2
2
  .col-lg-3.col-md-4.col-sm-5
3
3
  .form-group
4
4
  .input-group.input-group-sm
@@ -7,7 +7,7 @@ e2-action action="[info.assoc, 'decode']"
7
7
  ng-click="action.open()"
8
8
  xe2-search-field=""
9
9
  ]
10
- span ng-bind-html="action.decode || info.loc"
10
+ span ng-bind-html="action.decode || field.loc"
11
11
  .input-group-btn
12
12
  a.btn.btn-default ng-click="action.open()": span.glyphicon.glyphicon-list
13
13
  a.btn.btn-default ng-disabled="!action.decode" ng-click="action.reset()": span.glyphicon.glyphicon-off
@@ -1,4 +1,4 @@
1
- e2-action action="[info.assoc, 'list']"
1
+ e2-action action="[field.assoc, 'list']"
2
2
  .col-lg-3.col-md-4.col-sm-5
3
3
  .form-group
4
4
  .input-group.input-group-sm
@@ -6,11 +6,11 @@ e2-action action="[info.assoc, 'list']"
6
6
  ng-model="action.selected"
7
7
  ng-options="v.id as v.value for v in action.values"
8
8
  ng-change="action.change()"
9
- ng-class="::info.render.class"
9
+ ng-class="::field.render.class"
10
10
  class="form-control"
11
11
  ]
12
12
 
13
- option value="" ng-bind="::info.loc"
13
+ option value="" ng-bind="::field.loc"
14
14
  .input-group-btn
15
15
  a.btn.btn-default ng-disabled="!action.selected" ng-click="action.reset()"
16
16
  span.glyphicon.glyphicon-off
@@ -1,20 +1,21 @@
1
- e2-action action="[info.assoc, 'typeahead']"
1
+ e2-action action="[field.assoc, 'typeahead']"
2
2
  .col-lg-3.col-md-4.col-sm-5
3
3
  .form-group
4
4
  .input-group.input-group-sm
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
- ng-class="info.render.class"
10
+ ng-class="field.render.class"
12
11
  class="form-control"
13
12
 
14
- data-animation="{{::info.render.animation}}"
15
- placeholder="{{::info.loc}}"
13
+ data-animation="{{::field.render.animation}}"
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,113 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: engine2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - lopex
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-15 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
+ name: sequel
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - "~>"
17
18
  - !ruby/object:Gem::Version
18
- version: '4'
19
- name: sequel
20
- prerelease: false
19
+ version: '5'
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4'
26
+ version: '5'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: sqlite3
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: '1.4'
33
- name: rack-contrib
34
- prerelease: false
33
+ version: '1.3'
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.4'
40
+ version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: sinatra
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
45
  - - "~>"
45
46
  - !ruby/object:Gem::Version
46
- version: '3.8'
47
- name: jdbc-sqlite3
48
- prerelease: false
47
+ version: '2.0'
49
48
  type: :runtime
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.8'
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
+ name: slim
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
59
  - - "~>"
59
60
  - !ruby/object:Gem::Version
60
- version: '1.4'
61
- name: sinatra
62
- prerelease: false
61
+ version: '4.0'
63
62
  type: :runtime
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.4'
68
+ version: '4.0'
69
69
  - !ruby/object:Gem::Dependency
70
+ name: faye-websocket
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - "~>"
73
74
  - !ruby/object:Gem::Version
74
- version: '3.0'
75
- name: slim
76
- prerelease: false
75
+ version: '0.10'
77
76
  type: :runtime
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: '0.10'
83
83
  - !ruby/object:Gem::Dependency
84
+ name: bundler
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
87
  - - "~>"
87
88
  - !ruby/object:Gem::Version
88
- version: '1.11'
89
- name: bundler
90
- prerelease: false
89
+ version: '2.00'
91
90
  type: :development
91
+ prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.11'
96
+ version: '2.00'
97
97
  - !ruby/object:Gem::Dependency
98
+ name: rake
98
99
  requirement: !ruby/object:Gem::Requirement
99
100
  requirements:
100
101
  - - "~>"
101
102
  - !ruby/object:Gem::Version
102
- version: '11'
103
- name: rake
104
- prerelease: false
103
+ version: '13'
105
104
  type: :development
105
+ prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '11'
110
+ version: '13'
111
111
  description: Tree based routing framework with scaffolding support
112
112
  email:
113
113
  - lopx@gazeta.pl
@@ -117,10 +117,11 @@ extra_rdoc_files: []
117
117
  files:
118
118
  - Gemfile
119
119
  - Rakefile
120
+ - app/actions.coffee
120
121
  - app/app.coffee
121
122
  - app/app.css
122
123
  - app/engine2.coffee
123
- - app/engine2actions.coffee
124
+ - app/modal.coffee
124
125
  - bower.json
125
126
  - conf/message.yaml
126
127
  - conf/message_pl.yaml
@@ -128,18 +129,18 @@ files:
128
129
  - engine2.gemspec
129
130
  - lib/engine2.rb
130
131
  - lib/engine2/action.rb
132
+ - lib/engine2/action/array.rb
133
+ - lib/engine2/action/decode.rb
134
+ - lib/engine2/action/delete.rb
135
+ - lib/engine2/action/form.rb
136
+ - lib/engine2/action/infra.rb
137
+ - lib/engine2/action/link.rb
138
+ - lib/engine2/action/list.rb
139
+ - lib/engine2/action/save.rb
140
+ - lib/engine2/action/view.rb
141
+ - lib/engine2/action_node.rb
131
142
  - lib/engine2/core.rb
132
143
  - lib/engine2/handler.rb
133
- - lib/engine2/meta.rb
134
- - lib/engine2/meta/array_meta.rb
135
- - lib/engine2/meta/decode_meta.rb
136
- - lib/engine2/meta/delete_meta.rb
137
- - lib/engine2/meta/form_meta.rb
138
- - lib/engine2/meta/infra_meta.rb
139
- - lib/engine2/meta/link_meta.rb
140
- - lib/engine2/meta/list_meta.rb
141
- - lib/engine2/meta/save_meta.rb
142
- - lib/engine2/meta/view_meta.rb
143
144
  - lib/engine2/model.rb
144
145
  - lib/engine2/models/Files.rb
145
146
  - lib/engine2/models/UserInfo.rb
@@ -150,8 +151,6 @@ files:
150
151
  - lib/engine2/type_info.rb
151
152
  - lib/engine2/version.rb
152
153
  - package.json
153
- - public/__sinatra__/404.png
154
- - public/__sinatra__/500.png
155
154
  - public/favicon.ico
156
155
  - public/img/ajax-loader-dark.gif
157
156
  - public/img/ajax-loader.gif
@@ -160,6 +159,7 @@ files:
160
159
  - views/fields/bsselect_picker.slim
161
160
  - views/fields/bsselect_picker_opt.slim
162
161
  - views/fields/checkbox.slim
162
+ - views/fields/checkbox_button.slim
163
163
  - views/fields/checkbox_buttons.slim
164
164
  - views/fields/checkbox_buttons_opt.slim
165
165
  - views/fields/currency.slim
@@ -174,10 +174,14 @@ files:
174
174
  - views/fields/file_store.slim
175
175
  - views/fields/input_text.slim
176
176
  - views/fields/integer.slim
177
+ - views/fields/list_bsmselect.slim
177
178
  - views/fields/list_bsselect.slim
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
@@ -232,7 +238,7 @@ homepage: http://none.for.now
232
238
  licenses:
233
239
  - MIT
234
240
  metadata: {}
235
- post_install_message:
241
+ post_install_message:
236
242
  rdoc_options: []
237
243
  require_paths:
238
244
  - lib
@@ -247,9 +253,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
253
  - !ruby/object:Gem::Version
248
254
  version: '0'
249
255
  requirements: []
250
- rubyforge_project:
251
- rubygems_version: 2.6.8
252
- signing_key:
256
+ rubygems_version: 3.1.2
257
+ signing_key:
253
258
  specification_version: 4
254
259
  summary: Tree based routing framework with scaffolding support
255
260
  test_files: []