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,5 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  module Engine2
4
5
  BS_ANIMATION ||= "am-flip-x" # "am-fade"
@@ -62,8 +63,13 @@ module Engine2
62
63
  end
63
64
 
64
65
  def list_select length, options = {}
66
+ template = if options[:multiple]
67
+ "fields/list_mselect"
68
+ else
69
+ options[:optional] ? "fields/list_select_opt" : "fields/list_select"
70
+ end
65
71
  options.merge({
66
- template: options[:optional] ? "fields/list_select_opt" : "fields/list_select",
72
+ template: template,
67
73
  length: length
68
74
  })
69
75
  end
@@ -76,12 +82,26 @@ module Engine2
76
82
  })
77
83
  end
78
84
 
85
+ def list_bsmselect length, options = {}
86
+ options.merge({
87
+ template: "fields/list_bsmselect",
88
+ length: length,
89
+ animation: BS_ANIMATION
90
+ })
91
+ end
92
+
79
93
  def list_buttons options = {}
80
94
  options.merge({
81
95
  template: options[:optional] ? "fields/list_buttons_opt" : "fields/list_buttons"
82
96
  })
83
97
  end
84
98
 
99
+ def list_mbuttons options = {}
100
+ options.merge({
101
+ template: options[:optional] ? "fields/list_mbuttons_opt" : "fields/list_mbuttons"
102
+ })
103
+ end
104
+
85
105
  def select_picker options = {}
86
106
  options.merge({
87
107
  template: options[:optional] ? "fields/select_picker_opt" : "fields/select_picker"
@@ -108,8 +128,8 @@ module Engine2
108
128
  })
109
129
  end
110
130
 
111
- def typeahead_picker
112
- {template: "fields/typeahead_picker", animation: BS_ANIMATION}
131
+ def typeahead_picker options = {}
132
+ {template: "fields/typeahead_picker", length: 20, limit: 10, min_length: 0, animation: BS_ANIMATION}.merge(options)
113
133
  end
114
134
 
115
135
  def email length
@@ -138,6 +158,10 @@ module Engine2
138
158
  })
139
159
  end
140
160
 
161
+ def checkbox_button options = {}
162
+ {template: "fields/checkbox_button"}.merge(options)
163
+ end
164
+
141
165
  def radio_checkbox
142
166
  {template: "fields/radio_checkbox"}
143
167
  end
@@ -162,6 +186,13 @@ module Engine2
162
186
  })
163
187
  end
164
188
 
189
+ def date_picker options = {}
190
+ options.merge({
191
+ template: "search_fields/date",
192
+ animation: BS_ANIMATION
193
+ })
194
+ end
195
+
165
196
  def integer_range
166
197
  {template: "search_fields/integer_range"}
167
198
  end
@@ -190,8 +221,8 @@ module Engine2
190
221
  })
191
222
  end
192
223
 
193
- def typeahead_picker
194
- {template: "search_fields/typeahead_picker", animation: BS_ANIMATION}
224
+ def typeahead_picker options = {}
225
+ {template: "search_fields/typeahead_picker", limit: 10, min_length: 0, animation: BS_ANIMATION}.merge(options)
195
226
  end
196
227
 
197
228
  # def checkbox_search true_v = "1", false_v = "0"
@@ -221,9 +252,13 @@ module Engine2
221
252
  {template: "search_fields/list_buttons"}
222
253
  end
223
254
 
255
+ def list_mbuttons
256
+ {template: "search_fields/list_mbuttons"}
257
+ end
258
+
224
259
  def decimal_date
225
260
  {template: "search_fields/decimal_date_range", animation: BS_ANIMATION}
226
261
  end
227
262
  end
228
263
  end
229
- end
264
+ end
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  module Engine2
4
-
5
5
  class TypeInfo
6
6
  def initialize model
7
7
  @model = model
@@ -73,6 +73,15 @@ module Engine2
73
73
  end
74
74
  end
75
75
 
76
+ def boolean field, true_value = true, false_value = false
77
+ modify_field field do |info|
78
+ info[:type] = :boolean
79
+ info[:true_value] = true_value
80
+ info[:false_value] = false_value
81
+ info[:validations][:boolean] = true
82
+ end
83
+ end
84
+
76
85
  def date_field field, format, model_format
77
86
  define_field field, :date do |info|
78
87
  info[:format] = format
@@ -83,6 +92,13 @@ module Engine2
83
92
 
84
93
  def time_field field, format, model_format
85
94
  define_field field, :time do |info|
95
+ end
96
+ time field, format, model_format
97
+ end
98
+
99
+ def time field, format, model_format
100
+ modify_field field do |info|
101
+ info[:type] = :time
86
102
  info[:format] = format
87
103
  info[:model_format] = model_format
88
104
  info[:validations][:time] = true
@@ -215,8 +231,8 @@ module Engine2
215
231
  info[:multiple] = multiple
216
232
  info[:table] = table
217
233
  info[:store] = store
218
- info[:store][:upload] ||= "#{Engine2::app}/store/upload"
219
- info[:store][:files] ||= "#{Engine2::app}/store/files"
234
+ info[:store][:upload] ||= "#{Engine2::SETTINGS[:path]}/store/upload"
235
+ info[:store][:files] ||= "#{Engine2::SETTINGS[:path]}/store/files"
220
236
  info[:transaction] = true
221
237
  end
222
238
  end
@@ -227,6 +243,12 @@ module Engine2
227
243
  end
228
244
  end
229
245
 
246
+ def length field, len
247
+ modify_field field do |info|
248
+ info[:length] = len
249
+ end
250
+ end
251
+
230
252
  def date_range from, to
231
253
  depends_on(from, to)
232
254
  modify_field from do |info|
@@ -244,15 +266,6 @@ module Engine2
244
266
  end
245
267
  end
246
268
 
247
- def boolean field, true_value = 1, false_value = 0
248
- modify_field field do |info|
249
- info[:type] = :boolean
250
- info[:true_value] = true_value
251
- info[:false_value] = false_value
252
- info[:validations][:boolean] = true
253
- end
254
- end
255
-
256
269
  def currency field, symbol = LOCS[:currency_symbol]
257
270
  modify_field field do |info|
258
271
  info[:type] = :currency
@@ -294,27 +307,43 @@ module Engine2
294
307
  end
295
308
  end
296
309
 
297
- def star_to_many_field assoc_name
310
+ def star_to_many_field assoc_name, schemes = Schemes::STMF_LINK
298
311
  assoc = @model.one_to_many_associations[assoc_name] || @model.many_to_many_associations[assoc_name]
299
312
  raise E2Error.new("'*_to_many' association '#{assoc_name}' not found for model '#{@model}'") unless assoc
300
313
  define_field assoc_name, :string do |info|
301
314
  info[:type] = :star_to_many_field
315
+ info[:schemes] = schemes
302
316
  info[:keys] = assoc[:keys]
303
317
  info[:assoc_name] = assoc_name
304
- info[:transaction] = true # ?
318
+ info[:transaction] = true
305
319
  end
306
320
  end
307
321
 
308
- def list_select name, list
322
+ def list_select_bits values
323
+ values.each_with_index.map{|a, i|[1 << i, a]}.to_h
324
+ end
325
+
326
+ def list_select name, options
309
327
  modify_field name do |info|
310
328
  info[:type] = :list_select
311
- info[:list] = case list
312
- when Hash
313
- list.to_a
314
- else
315
- raise E2Error.new("type '#{list.class}' not supported for list_select modifier for field #{name}")
329
+ values = options[:values]
330
+
331
+ if options[:multiselect]
332
+ info[:multiselect] = true
333
+ case info[:otype]
334
+ when :string
335
+ info[:separator] = options[:separator] || ';'
336
+ info[:validations].delete(:string_length)
337
+ when :integer
338
+ info[:validations].delete(:integer)
339
+ end
340
+ info[:max_length] = options[:max_length] || 3
341
+ info[:max_length_html] = options[:max_length_html] || LOCS[:list_select_selected]
316
342
  end
317
- info[:validations][:list_select] = true
343
+
344
+ raise E2Error.new("type '#{values.class}' not supported for list_select modifier for field #{name}") unless values.is_a?(Hash)
345
+ info[:values] = values.to_a
346
+ info[:validations][:list_select] = true unless values.empty?
318
347
  end
319
348
  end
320
349
 
@@ -340,6 +369,5 @@ module Engine2
340
369
  info[:sequence] = seq_name
341
370
  end
342
371
  end
343
-
344
372
  end
345
- end
373
+ end
@@ -1,7 +1,8 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  module Engine2
4
- MAJOR, MINOR, TINY = [1, 0, 4]
5
+ MAJOR, MINOR, TINY = [1, 0, 9]
5
6
  VERSION = [MAJOR, MINOR, TINY].join('.').freeze
6
7
  def self.version
7
8
  VERSION
@@ -2,33 +2,39 @@
2
2
  "name": "engine2",
3
3
  "description": "engine2",
4
4
  "version": "1.0.0",
5
+ "license": "MIT",
5
6
  "scripts": {
6
- "postinstall": "bower install",
7
+ "postinstall": "bower install --allow-root",
7
8
  "dev": "brunch w",
8
9
  "build": "brunch build --production"
9
10
  },
10
11
  "dependencies": {
11
- "angular": "^1.5.8",
12
- "angular-animate": "^1.5.8",
13
- "angular-cookies": "^1.5.8",
14
- "angular-local-storage": "0.1.5",
12
+ "@uirouter/angularjs": "1.0.23",
13
+ "@uirouter/core": "6.0.1",
14
+ "angular": "^1.8.0",
15
+ "angular-animate": "^1.8.0",
16
+ "angular-cookies": "^1.8.0",
17
+ "angular-drag-and-drop-lists": "^2.1.0",
18
+ "angular-load": "^0.5.0",
19
+ "angular-local-storage": "^0.7.0",
15
20
  "angular-motion": "^0.4.0",
16
- "angular-route": "^1.5.8",
17
- "angular-sanitize": "^1.5.8",
18
- "angular-ui-tree": "2.22.1",
19
- "bootstrap": "^3.3.0",
21
+ "angular-sanitize": "^1.8.0",
22
+ "angular-ui-tree": "^2.22.0",
23
+ "bootstrap": "^3.4.1",
20
24
  "bootstrap-additions": "0.3.1",
21
- "font-awesome": "~4.7.0",
22
- "lodash": "~4.17.0",
23
- "ng-file-upload": "12.2.12"
25
+ "fork-awesome": "^1.1.7",
26
+ "json-to-pretty-yaml": "1.2.2",
27
+ "lodash": "^4.17.15",
28
+ "ng-file-upload": "^12.2.0",
29
+ "push.js": "^1.0.12"
24
30
  },
25
31
  "devDependencies": {
26
32
  "auto-reload-brunch": "^2.7.1",
27
- "bower": "~1.8.0",
28
- "brunch": "^2.9.1",
33
+ "bower": "^1.8.8",
34
+ "brunch": "^2.10.0",
29
35
  "clean-css-brunch": "^2.0.0",
30
- "coffee-script-brunch": "^2.1.0",
31
- "copycat-brunch": "^1.1.0",
36
+ "coffee-script-brunch": "^2.10.2",
37
+ "copycat-brunch": "^1.1.1",
32
38
  "css-brunch": "^2.6.1",
33
39
  "javascript-brunch": "^2.0.0",
34
40
  "ng-annotate-brunch": "^1.7.2",
File without changes
File without changes
File without changes
@@ -12,7 +12,7 @@ e2-action action="[f + '_blob_store!']"
12
12
  div
13
13
  input [
14
14
  type="file"
15
- ng-disabled="info.disabled"
15
+ ng-disabled="field.disabled"
16
16
  ng-file-select="action.select($files)"
17
17
  ]
18
18
 
@@ -2,9 +2,9 @@
2
2
  select [
3
3
  ng-model="action.record[f]"
4
4
  bs-options="v.id as v.value for v in values"
5
- select-resource="info.render.resource"
5
+ select-resource="field.render.resource"
6
6
  bs-select=""
7
- ng-disabled="info.disabled"
7
+ ng-disabled="field.disabled"
8
8
  class="form-control input-sm"
9
9
  e2-field=""
10
10
  ]
@@ -1,15 +1,15 @@
1
- e2-action action="[info.assoc, 'list']"
1
+ e2-action action="[field.assoc, 'list']"
2
2
  .col-lg-7.col-md-8.col-sm-12
3
3
  button.btn.btn-default.btn-sm [
4
4
  type="button"
5
5
  ng-model="action.selected"
6
6
  bs-options="v.id as v.value for v in action.values"
7
7
  ng-change="action.change()"
8
- ng-disabled="info.disabled"
9
- ng-class="info.render.class"
8
+ ng-disabled="field.disabled"
9
+ ng-class="field.render.class"
10
10
  class="form-control input-sm"
11
11
 
12
- data-animation="{{::info.render.animation}}"
12
+ data-animation="{{::field.render.animation}}"
13
13
  data-placeholder="..."
14
14
  data-html="true"
15
15
  bs-select=""
@@ -1,4 +1,4 @@
1
- e2-action action="[info.assoc, 'list']"
1
+ e2-action action="[field.assoc, 'list']"
2
2
  .col-lg-7.col-md-12.col-sm-12
3
3
  .input-group.input-group-sm
4
4
  button.btn.btn-default.btn-sm [
@@ -6,16 +6,16 @@ e2-action action="[info.assoc, 'list']"
6
6
  ng-model="action.selected"
7
7
  bs-options="v.id as v.value for v in action.values"
8
8
  ng-change="action.change()"
9
- ng-disabled="info.disabled"
10
- ng-class="info.render.class"
9
+ ng-disabled="field.disabled"
10
+ ng-class="field.render.class"
11
11
  class="form-control"
12
12
 
13
- data-animation="{{::info.render.animation}}"
13
+ data-animation="{{::field.render.animation}}"
14
14
  data-placeholder="..."
15
15
  data-html="true"
16
16
  bs-select=""
17
17
  e2-field=""
18
18
  ]
19
19
  .input-group-btn
20
- a.btn.btn-default ng-disabled="info.disabled || !action.selected" ng-click="action.reset()"
20
+ a.btn.btn-default ng-disabled="field.disabled || !action.selected" ng-click="action.reset()"
21
21
  span.glyphicon.glyphicon-remove
@@ -1,11 +1,11 @@
1
1
  .col-lg-1
2
2
  .checkbox
3
3
  input [
4
- ng-init="action.record[f] = action.record[f] || info.render.false_value"
4
+ ng-init="action.record[f] = action.record[f] || field.render.false_value"
5
5
  type="checkbox"
6
6
  ng-model="action.record[f]"
7
- ng-true-value="{{::info.render.true_value}}"
8
- ng-false-value="{{::info.render.false_value}}"
9
- ng-disabled="info.disabled"
7
+ ng-true-value="{{::field.render.true_value}}"
8
+ ng-false-value="{{::field.render.false_value}}"
9
+ ng-disabled="field.disabled"
10
10
  e2-field=""
11
11
  ]
@@ -0,0 +1,6 @@
1
+ .col-lg-12
2
+ .div ng-init="(action.record[f] === null || action.record[f] === undefined) && (action.record[f] = field.render.false_value)" ng-model="action.record[f]" e2-field=""
3
+ a.btn.btn-default.btn-sm ng-show="action.record[f] === field.render.true_value" ng-class="action.record[f] === field.render.true_value && 'active'" ng-click="action.record[f] = field.render.false_value" ng-disabled="field.disabled"
4
+ span.glyphicon.glyphicon-check
5
+ a.btn.btn-default.btn-sm ng-show="action.record[f] === field.render.false_value" ng-click="action.record[f] = field.render.true_value" ng-disabled="field.disabled"
6
+ span.glyphicon.glyphicon-unchecked
@@ -1,6 +1,6 @@
1
1
  .col-lg-12
2
- .btn-group.btn-group-sm ng-init="(action.record[f] === undefined) && (action.record[f] = info.render.false_value)" ng-model="action.record[f]" e2-field=""
3
- a.btn.btn-default ng-class="action.record[f] === info.render.true_value && 'active'" ng-click="action.record[f] = info.render.true_value" ng-disabled="info.disabled"
2
+ .btn-group.btn-group-sm ng-init="(action.record[f] === null || action.record[f] === undefined) && (action.record[f] = field.render.false_value)" ng-model="action.record[f]" e2-field=""
3
+ a.btn.btn-default ng-class="action.record[f] === field.render.true_value && 'active'" ng-click="action.record[f] = field.render.true_value" ng-disabled="field.disabled"
4
4
  span.glyphicon.glyphicon-check
5
- a.btn.btn-default ng-class="action.record[f] === info.render.false_value && 'active'" ng-click="action.record[f] = info.render.false_value" ng-disabled="info.disabled"
5
+ a.btn.btn-default ng-class="action.record[f] === field.render.false_value && 'active'" ng-click="action.record[f] = field.render.false_value" ng-disabled="field.disabled"
6
6
  span.glyphicon.glyphicon-unchecked
@@ -1,8 +1,8 @@
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] === info.render.true_value && 'active'" ng-click="action.record[f] = info.render.true_value" ng-disabled="info.disabled"
3
+ a.btn.btn-default ng-class="action.record[f] === field.render.true_value && 'active'" ng-click="action.record[f] = field.render.true_value" ng-disabled="field.disabled"
4
4
  span.glyphicon.glyphicon-check
5
- a.btn.btn-default ng-class="action.record[f] === info.render.false_value && 'active'" ng-click="action.record[f] = info.render.false_value" ng-disabled="info.disabled"
5
+ a.btn.btn-default ng-class="action.record[f] === field.render.false_value && 'active'" ng-click="action.record[f] = field.render.false_value" ng-disabled="field.disabled"
6
6
  span.glyphicon.glyphicon-unchecked
7
- a.btn.btn-default ng-class="(action.record[f] === null || action.record[f] === undefined) && 'active'" ng-click="action.record[f] = null" ng-disabled="info.disabled"
7
+ a.btn.btn-default ng-class="(action.record[f] === null || action.record[f] === undefined) && 'active'" ng-click="action.record[f] = null" ng-disabled="field.disabled"
8
8
  span.glyphicon.glyphicon-off
@@ -4,7 +4,7 @@
4
4
  type="text"
5
5
  ng-model="action.record[f]"
6
6
  class="form-control"
7
- ng-disabled="info.disabled"
7
+ ng-disabled="field.disabled"
8
8
  e2-field=""
9
9
  ]
10
- span.input-group-addon ng-bind="info.render.symbol"
10
+ span.input-group-addon ng-bind="field.render.symbol"
@@ -4,13 +4,13 @@
4
4
  type="text"
5
5
  class="form-control"
6
6
  ng-model="value"
7
- ng-disabled="info.disabled"
7
+ ng-disabled="field.disabled"
8
8
 
9
- data-date-format="{{::info.render.format}}"
10
- data-animation="{{::info.render.animation}}"
9
+ data-date-format="{{::field.render.format}}"
10
+ data-animation="{{::field.render.animation}}"
11
11
  bs-datepicker=""
12
12
  e2-datepicker=""
13
- e2-model-format="{{::info.render.model_format}}"
13
+ e2-model-format="{{::field.render.model_format}}"
14
14
  data-autoclose="1"
15
15
 
16
16
  e2-force-view-value=""