engine2 1.0.4 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
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: []