drg_cms 0.7.0.2 → 0.7.1.1

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/drg_cms/drg_cms.js +110 -35
  3. data/app/assets/javascripts/drg_cms/jquery.bpopup.js +372 -0
  4. data/app/assets/javascripts/drg_cms_application.js +1 -1
  5. data/app/assets/javascripts/drg_cms_cms.js +1 -1
  6. data/app/assets/stylesheets/drg_cms/drg_cms.css +126 -36
  7. data/app/assets/stylesheets/drg_cms/select-multiple.css +6 -7
  8. data/app/controllers/cmsedit_controller.rb +78 -47
  9. data/app/controllers/dc_application_controller.rb +22 -25
  10. data/app/controllers/dc_common_controller.rb +9 -6
  11. data/app/controllers/dc_main_controller.rb +0 -1
  12. data/app/controls/{dc_category_control.rb → dc_gallery_control.rb} +15 -30
  13. data/app/controls/dc_image_control.rb +180 -0
  14. data/app/controls/dc_page_control.rb +3 -3
  15. data/app/controls/dc_poll_result_control.rb +38 -39
  16. data/app/controls/dc_report.rb +9 -4
  17. data/app/controls/dc_setup_control.rb +53 -0
  18. data/app/controls/design_element_settings_control.rb +88 -37
  19. data/app/forms/all_options.yml +20 -9
  20. data/app/forms/cms_menu.yml +14 -2
  21. data/app/forms/dc_gallery.yml +1 -1
  22. data/app/forms/dc_image.yml +122 -0
  23. data/app/forms/dc_image_search.yml +72 -0
  24. data/app/forms/dc_page.yml +11 -8
  25. data/app/forms/dc_poll.yml +2 -1
  26. data/app/forms/dc_poll_result.yml +10 -7
  27. data/app/forms/dc_setup.yml +45 -0
  28. data/app/forms/dc_steps_template.yml +6 -2
  29. data/app/helpers/cms_common_helper.rb +36 -24
  30. data/app/helpers/cms_edit_helper.rb +26 -33
  31. data/app/helpers/cms_helper.rb +29 -12
  32. data/app/helpers/cms_index_helper.rb +109 -80
  33. data/app/helpers/dc_application_helper.rb +108 -86
  34. data/app/helpers/dc_image_helper.rb +127 -0
  35. data/app/models/concerns/dc_policy_rule_concern.rb +1 -1
  36. data/app/models/concerns/dc_user_concern.rb +13 -5
  37. data/app/models/dc_big_table.rb +1 -1
  38. data/app/models/dc_category.rb +12 -0
  39. data/app/models/dc_design.rb +5 -4
  40. data/app/models/dc_filter.rb +24 -27
  41. data/app/models/dc_image.rb +237 -0
  42. data/app/models/dc_internals.rb +5 -9
  43. data/app/models/dc_memory.rb +2 -2
  44. data/app/models/dc_policy_role.rb +8 -8
  45. data/app/models/dc_setup.rb +111 -0
  46. data/app/models/drgcms_form_fields/datetime_picker.rb +1 -1
  47. data/app/models/drgcms_form_fields/drgcms_field.rb +9 -26
  48. data/app/models/drgcms_form_fields/embedded.rb +28 -17
  49. data/app/models/drgcms_form_fields/journal_diff.rb +2 -2
  50. data/app/models/drgcms_form_fields/multitext_autocomplete.rb +88 -76
  51. data/app/models/drgcms_form_fields/select.rb +41 -19
  52. data/app/models/drgcms_form_fields/text_with_select.rb +5 -9
  53. data/app/renderers/dc_big_menu_renderer.rb +18 -20
  54. data/app/renderers/dc_gallery_renderer.rb +10 -4
  55. data/app/renderers/dc_menu_renderer.rb +21 -58
  56. data/app/renderers/dc_page_renderer.rb +7 -7
  57. data/app/renderers/dc_poll_renderer.rb +13 -12
  58. data/app/renderers/dc_simple_menu_renderer.rb +1 -1
  59. data/app/views/cmsedit/_edit_stuff.html.erb +4 -1
  60. data/app/views/cmsedit/edit.html.erb +1 -1
  61. data/app/views/cmsedit/index.html.erb +1 -1
  62. data/app/views/cmsedit/new.html.erb +1 -0
  63. data/config/locales/drgcms_en.yml +22 -2
  64. data/config/locales/drgcms_sl.yml +25 -6
  65. data/config/locales/models_en.yml +50 -1
  66. data/config/locales/models_sl.yml +60 -1
  67. data/drg_cms.gemspec +1 -1
  68. data/lib/drg_cms/version.rb +1 -1
  69. data/lib/drg_cms.rb +40 -27
  70. data/lib/generators/convert_to_ar/USAGE +8 -0
  71. data/lib/generators/convert_to_ar/convert_to_ar_generator.rb +158 -0
  72. data/lib/generators/new_drg_form/new_drg_form_generator.rb +32 -14
  73. metadata +19 -10
  74. data/app/assets/javascripts/drg_cms/jquery.bpopup.min.js +0 -7
  75. data/app/views/layouts/__cmsedit.html.erb +0 -16
@@ -1,4 +1,3 @@
1
- #encoding: utf-8
2
1
  #--
3
2
  # Copyright (c) 2014+ Damjan Rems
4
3
  #
@@ -23,7 +22,7 @@
23
22
  #++
24
23
 
25
24
  ######################################################################
26
- # DrgcmsControls for editing settings in a document.
25
+ # DRG Controls for editing settings in a document.
27
26
  #
28
27
  # Parameters to settings call:
29
28
  # :location - model_name where settings document is located. Typicaly dc_page or dc_site.
@@ -40,33 +39,36 @@ module DesignElementSettingsControl
40
39
  # Return:
41
40
  # [document, data] : Mongoid document, yaml as String
42
41
  ######################################################################
43
- def get_settings()
44
- # On save. Set required variables
42
+ def get_settings
43
+ # On save. Set required variables
45
44
  if params[:record]
46
45
  params[:location] = params[:record][:dc_location]
47
46
  params[:field_name] = params[:record][:dc_field_name]
48
47
  params[:element] = params[:record][:dc_element]
49
48
  params[:id] = params[:record][:dc_document_id]
50
49
  end
51
- # Check model
50
+
51
+ # Check model
52
52
  begin
53
53
  model = params[:location].classify.constantize
54
54
  rescue
55
55
  flash[:error] = "Invalid or undefined model name! #{params[:location]}"
56
56
  return false
57
57
  end
58
- # Check fild name
58
+
59
+ # Check fild name
59
60
  begin
60
61
  document = model.find(params[:id])
61
62
  params[:field_name] ||= (params[:location] == 'dc_site' ? 'settings' : 'params')
62
- # field not defined on document
63
+ # field not defined on document
63
64
  raise unless document.respond_to?(params[:field_name])
64
65
  yaml = document[params[:field_name]] || ''
65
66
  rescue
66
67
  flash[:error] = 'Invalid or undefined field name!'
67
68
  return false
68
69
  end
69
- # Check data
70
+
71
+ # Check data
70
72
  begin
71
73
  data = YAML.load(yaml) || {}
72
74
  rescue
@@ -81,14 +83,12 @@ end
81
83
  #
82
84
  # Load fields on form with values from settings document.
83
85
  ######################################################################
84
- def dc_new_record()
86
+ def dc_new_record
85
87
  document, data = get_settings
86
- return false if document.class == FalseClass and data.nil?
87
- # fill values with settings values
88
- if data['settings'] and data['settings'][ params[:element] ]
89
- data['settings'][ params[:element] ].each { |key, value| @record.send("#{key}=", value) }
90
- end
91
- # add some fields required at post as hidden fields to form
88
+ return false if document.class == FalseClass
89
+
90
+ record_fill_with_values(data)
91
+ # add some fields required at post as hidden fields to form
92
92
  form = @form['form']['tabs'] ? @form['form']['tabs'].to_a.last : @form['form']['fields']
93
93
  form[9999] = {'type' => 'hidden_field', 'name' => 'dc_location', 'html' => {'value' => params[:location]}}
94
94
  form[9998] = {'type' => 'hidden_field', 'name' => 'dc_field_name'}
@@ -96,7 +96,6 @@ def dc_new_record()
96
96
  form[9997] = {'type' => 'hidden_field', 'name' => 'dc_element'}
97
97
  @record.dc_element = params[:element]
98
98
  form[9996] = {'type' => 'hidden_field', 'name' => 'dc_document_id', 'html' => {'value' => params[:id]}}
99
- true
100
99
  end
101
100
 
102
101
  ######################################################################
@@ -104,32 +103,84 @@ end
104
103
  #
105
104
  # Convert data from fields on form to yaml and save it to document settings field.
106
105
  ######################################################################
107
- def dc_before_save()
106
+ def dc_before_save
108
107
  document, data = get_settings
109
- return false if document.class == FalseClass and data.nil?
110
- #
111
- fields_on_form.each do |v|
112
- session[:form_processing] = v['name'] # for debuging
113
- next if v['type'].nil? or
114
- v['readonly'] # fields with readonly option don't return value and would be wiped
115
- # return value from form field definition
116
- value = DrgcmsFormFields.const_get(v['type'].camelize).get_data(params, v['name'])
117
- value = value.map {|e| e.to_s} if value.class == Array
118
- # set to nil if blank
119
- value = nil if value.blank?
120
- data['settings'] ||= {}
121
- data['settings'][ params[:element] ] ||= {}
122
- data['settings'][ params[:element] ][ v['name'] ] = value
123
- end
124
- # remove nil elements
125
- data['settings'][ params[:element] ].compact!
126
- # save data to document field
108
+ return false if document.class == FalseClass
109
+
110
+ field_fill_with_values(data)
127
111
  document.send("#{params[:field_name]}=", data.to_yaml)
112
+ # save to journal
113
+ params[:table] = params[:location] # for journal
114
+ save_journal(:update, document.changes)
128
115
  document.save
129
- # to re-set form again
116
+ params[:table] = 'dc_memory' # restore
117
+ # to re-set form again
130
118
  dc_new_record
131
119
  false # must be
132
120
  end
133
121
 
122
+ private
134
123
 
135
- end
124
+ ######################################################################
125
+ # Fill @record with values found in document hash field
126
+ ######################################################################
127
+ def record_fill_with_values(data)
128
+ # settings
129
+ if params[:element]
130
+ if data['settings'] && data['settings'][params[:element]]
131
+ data['settings'][params[:element]].each { |key, value| @record.send("#{key}=", value) }
132
+ end
133
+ else
134
+ # any field
135
+ fields_on_form.each do |field|
136
+ keys = field['key'] ? field['key'].split(/\.|\,|\;/) : [field['name']]
137
+ value = data.dig(*keys)
138
+ @record.send("#{field['name']}=", value)
139
+ end
140
+ end
141
+ end
142
+
143
+ ######################################################################
144
+ # Fill field with values entered on a form
145
+ ######################################################################
146
+ def field_fill_with_values(data)
147
+ fields_on_form.each do |field|
148
+ session[:form_processing] = field['name'] # for debuging
149
+ next if field['type'].nil? || field['readonly']
150
+
151
+ # return value from form field definition
152
+ value = DrgcmsFormFields.const_get(field['type'].camelize).get_data(params, field['name'])
153
+ value = value.map(&:to_s) if value.class == Array
154
+ # set to nil if blank
155
+ value = nil if value.blank?
156
+
157
+ keys = field['key'] ? field['key'].split(/\.|\,|\;/) : [field['name']]
158
+ if params[:element].present?
159
+ keys = ['settings', params[:element]] + keys
160
+ end
161
+
162
+ h = data
163
+ if value.blank?
164
+ # remove field from hash if empty
165
+ keys.each_with_index do |key, i|
166
+ if i + 1 == keys.size
167
+ h.delete(keys.last) if h
168
+ else
169
+ h = h[key]
170
+ end
171
+ break if h.nil?
172
+ end
173
+ # set hash element
174
+ else
175
+ keys.each_with_index do |key, i|
176
+ break if i + 1 == keys.size
177
+
178
+ h[key] = {} unless h.key?(key)
179
+ h = h[key]
180
+ end
181
+ h[keys.last] = value
182
+ end
183
+ end
184
+ end
185
+
186
+ end
@@ -1,15 +1,16 @@
1
1
  ## DRGCMS Form
2
2
  ---
3
- extend: form_name
3
+ extend: form_name,another_form_name
4
4
  table: table_name
5
5
  title: Some title
6
6
  title:
7
- text: Dynamicaly defined title
7
+ text: Same as above
8
8
  eval: SomeClass.title_method
9
9
  controls: controls_file
10
10
  readonly: 1
11
11
  permissions:
12
12
  can_view: role_name
13
+ class: report
13
14
 
14
15
  script: "
15
16
  javascript code
@@ -129,13 +130,16 @@ result_set:
129
130
  eval: dc_name4_value
130
131
 
131
132
  form:
132
- title:
133
- field: description
134
- height: 600
133
+ title: Title text
134
+ title:
135
+ field: field_name
135
136
  title:
136
- edit: Title for edit
137
- show: Title for show
138
- labels_pos: top
137
+ edit: Title text for edit
138
+ show: Title text for show
139
+
140
+ height: 600
141
+ labels_pos: top
142
+ multipart: true
139
143
 
140
144
  actions: standard
141
145
  actions: none
@@ -214,6 +218,7 @@ form:
214
218
  eval: "dc_choices4('model','description_field_name','_id',site: :with_nil)"
215
219
  eval: ModelName.choices4_site
216
220
  eval: dc_big_table 'key-name'
221
+ depend: field_on_form,another_field_on_form,and_so_on
217
222
  html:
218
223
  include_blank: true
219
224
  90:
@@ -274,12 +279,18 @@ form:
274
279
  html:
275
280
  height: 800
276
281
  20:
277
- name: odhod
282
+ name: time
278
283
  type: datetime_picker
284
+ step: 15
285
+ inline: true
279
286
  20:
280
287
  name: gender
281
288
  type: radio
282
289
  inline: true
290
+ 30:
291
+ name: galery
292
+ type: method
293
+ eval: show_gallery
283
294
 
284
295
  40:
285
296
  name: customer_id
@@ -37,12 +37,17 @@ menu:
37
37
  controller: cmsedit
38
38
  icon: web
39
39
  table: dc_design
40
- 30:
40
+ 30:
41
41
  caption: helpers.label.dc_page.tabletitle
42
42
  controller: cmsedit
43
43
  icon: description-o
44
44
  table: dc_page
45
- 50:
45
+ 40:
46
+ caption: helpers.label.dc_image.tabletitle
47
+ controller: cmsedit
48
+ icon: image-o
49
+ table: dc_image
50
+ 50:
46
51
  caption: helpers.label.dc_piece.tabletitle
47
52
  controller: cmsedit
48
53
  icon: extension-o
@@ -140,6 +145,13 @@ menu:
140
145
  icon: history
141
146
  table: dc_journal
142
147
 
148
+ 510:
149
+ caption: helpers.label.dc_setup.tabletitle
150
+ controller: cmsedit
151
+ icon: cog-o
152
+ table: dc_setup
153
+ form_name: dc_setup
154
+
143
155
  600:
144
156
  caption: drgcms.browse_collections
145
157
  controller: cmsedit
@@ -1,7 +1,7 @@
1
1
  # Form for dc_gallery
2
2
  table: dc_gallery
3
3
  index:
4
- filter: id as text_field, doc_id as text_field
4
+ filter: doc_id as text_field
5
5
  actions: standard
6
6
 
7
7
  result_set:
@@ -0,0 +1,122 @@
1
+ # Form for dc_image
2
+ table: dc_image
3
+
4
+ index:
5
+ actions: standard
6
+
7
+ result_set:
8
+ actions: standard
9
+
10
+ # Choose from
11
+ # _id,created_at,updated_at,name,text,size_l,size_m,size_s,categories,created_by,dc_user_id
12
+ columns:
13
+ 10:
14
+ name: short
15
+ width: 20%
16
+ 20:
17
+ name: created_by
18
+ eval: dc_name4_id,dc_user,name
19
+ 30:
20
+ name: created_at
21
+ format: '%d.%m.%Y'
22
+ 40:
23
+ name: categories_line
24
+ width: 40%
25
+
26
+ form:
27
+ actions: standard
28
+ multipart: true
29
+
30
+ fields:
31
+ 10:
32
+ name: upload_file
33
+ type: file_field
34
+ group: 2
35
+ 20:
36
+ name: image
37
+ type: method
38
+ caption: ' '
39
+ eval: dc_image_preview
40
+ 30:
41
+ name: short
42
+ type: text_field
43
+ size: 50
44
+ 40:
45
+ name: text
46
+ type: text_area
47
+ size: 80x5
48
+ 50:
49
+ name: cats_input
50
+ type: text_area
51
+ size: 50x5
52
+ line: bottom
53
+ 60:
54
+ name: keep_original
55
+ type: check_box
56
+ 70:
57
+ name: size_o
58
+ type: readonly
59
+
60
+ 100:
61
+ name: size_ls
62
+ type: text_with_select
63
+ eval: dc_image_choices_for_image_size
64
+ size: 8
65
+ group: 3
66
+ 110:
67
+ name: size_ms
68
+ type: text_with_select
69
+ eval: dc_image_choices_for_image_size
70
+ size: 8
71
+ 120:
72
+ name: size_ss
73
+ type: text_with_select
74
+ eval: dc_image_choices_for_image_size
75
+ size: 8
76
+ 210:
77
+ name: offset_lx
78
+ type: text_field
79
+ help: helpers.help.dc_image.offset
80
+ size: 3
81
+ group: 3
82
+ 220:
83
+ name: offset_mx
84
+ type: text_field
85
+ help: helpers.help.dc_image.offset
86
+ size: 3
87
+ 230:
88
+ name: offset_sx
89
+ type: text_field
90
+ help: helpers.help.dc_image.offset
91
+ size: 3
92
+
93
+ 310:
94
+ name: offset_ly
95
+ type: text_field
96
+ help: helpers.help.dc_image.offset
97
+ size: 3
98
+ group: 3
99
+ 320:
100
+ name: offset_my
101
+ type: text_field
102
+ help: helpers.help.dc_image.offset
103
+ size: 3
104
+ 330:
105
+ name: offset_sy
106
+ type: text_field
107
+ help: helpers.help.dc_image.offset
108
+ size: 3
109
+
110
+ 410:
111
+ name: preview_l
112
+ type: method
113
+ group: 3
114
+ eval: dc_image_preview_resized
115
+ 420:
116
+ name: preview_m
117
+ type: method
118
+ eval: dc_image_preview_resized
119
+ 430:
120
+ name: preview_s
121
+ type: method
122
+ eval: dc_image_preview_resized
@@ -0,0 +1,72 @@
1
+ # Form for dc_image search
2
+ table: dc_image
3
+ title: drgcms.dc_image.search
4
+
5
+ index:
6
+ actions:
7
+ 1: close
8
+ 2:
9
+ type: window
10
+ action: new
11
+ icon: plus
12
+ caption: drgcms.new
13
+ table: dc_image
14
+ params:
15
+ window_close: 0
16
+ 3:
17
+ type: ajax
18
+ action: run
19
+ icon: search
20
+ caption: drgcms.search
21
+ method: post
22
+ control: dc_image.images_search
23
+ params:
24
+ field_name:
25
+ object: params
26
+ method: field_name
27
+
28
+ 10:
29
+ type: field
30
+ name: short
31
+ field_type: text_field
32
+ size: 20
33
+
34
+ 20:
35
+ type: field
36
+ name: categories
37
+ field_type: text_field
38
+ size: 40
39
+
40
+ 30:
41
+ type: field
42
+ caption: user
43
+ name: created_by
44
+ field_type: select
45
+ eval: DcImage.all_users
46
+ html:
47
+ include_blank: true
48
+
49
+ result_set:
50
+ filter: search_filter
51
+ actions: false
52
+
53
+ # Choose from
54
+ # _id,created_at,updated_at,name,text,size_l,size_m,size_s,categories,created_by,dc_user_id
55
+ columns:
56
+ 10:
57
+ name: preview
58
+ eval: first_dc_image
59
+ caption: drgcms.dc_image.image
60
+ width: 20%
61
+ 20:
62
+ name: short
63
+ 30:
64
+ name: links
65
+ eval: select_links_for_dc_image
66
+ caption: drgcms.dc_image.available
67
+
68
+ css: "
69
+ .img-link {padding: 2px 4px; margin-right: 1rem; background-color: #ddd; border-bottom: 3px solid #222;}
70
+ .dc-image-preview img {max-height: 3rem;}
71
+ .img-link i:hover {color: #2C8EFF; cursor: pointer;}
72
+ "
@@ -58,7 +58,8 @@ form:
58
58
 
59
59
  70:
60
60
  name: publish_date
61
- type: datetime_select
61
+ type: datetime_picker
62
+ step: 15
62
63
 
63
64
  80:
64
65
  name: picture
@@ -69,14 +70,14 @@ form:
69
70
  type: check_box
70
71
  100:
71
72
  name: valid_from
72
- type: datetime_select
73
- options:
74
- include_blank: true
73
+ type: datetime_picker
74
+ step: 15
75
+
75
76
  110:
76
77
  name: valid_to
77
- type: datetime_select
78
- options:
79
- include_blank: true
78
+ type: datetime_picker
79
+ step: 15
80
+
80
81
  # 120:
81
82
  # name: kats
82
83
  # type: select
@@ -96,7 +97,9 @@ form:
96
97
  10:
97
98
  name: dc_design_id
98
99
  type: select
99
- eval: DcDesign.choices4_design(@parent.dc_get_site)
100
+ # eval: DcDesign.choices4_design(@parent.dc_get_site)
101
+ eval: DcDesign.choices4_design
102
+ depend: dc_site_id
100
103
  html:
101
104
  include_blank: true
102
105
  15:
@@ -18,7 +18,8 @@ result_set:
18
18
  columns:
19
19
  1:
20
20
  name: name
21
- 2:
21
+ width: 30%
22
+ 2:
22
23
  name: title
23
24
  width: 40%
24
25
  3:
@@ -9,27 +9,30 @@ index:
9
9
  10:
10
10
  type: field
11
11
  name: dc_poll_id
12
+ position: left
12
13
 
13
14
  30:
14
15
  type: field
15
16
  name: start_date
16
17
  field_type: date_picker
17
-
18
+ position: left
19
+
18
20
  40:
19
21
  type: field
20
22
  name: end_date
21
23
  field_type: date_picker
22
24
  options:
23
25
  openOnFocus: false
24
-
26
+ position: left
27
+
25
28
  50:
26
29
  type: ajax
27
30
  caption: drgcms.filter_poll
28
31
  title: drgcms.filter_poll_title
29
- icon: filter
32
+ icon: filter-alt-o
30
33
  controller: cmsedit
31
34
  action: run
32
- control: dc_poll_result.do_filter
35
+ control: dc_poll_result.filter_set
33
36
  method: post
34
37
 
35
38
  60:
@@ -37,9 +40,9 @@ index:
37
40
  caption: drgcms.export_poll
38
41
  title: drgcms.export_poll_title
39
42
  controller: cmsedit
40
- icon: table
43
+ icon: download-o
41
44
  action: run
42
- control: dc_poll_result.do_export
45
+ control: dc_poll_result.data_export
43
46
  method: post
44
47
 
45
48
  result_set:
@@ -50,7 +53,7 @@ result_set:
50
53
  10:
51
54
  name: dc_poll_id
52
55
  eval: dc_name4_id,dc_poll,name
53
- width: 25%
56
+ width: 40%
54
57
  20:
55
58
  name: created_at
56
59
  format: '%d.%m.%Y %H:%M'
@@ -0,0 +1,45 @@
1
+ table: dc_setup
2
+
3
+ index:
4
+ filter: data as text_field
5
+ actions: standard
6
+
7
+ result_set:
8
+ actions: standard
9
+
10
+ columns:
11
+ 10:
12
+ name: name
13
+ width: 20%
14
+ 20:
15
+ name: updated_at
16
+ format: '%d.%m.%Y'
17
+ width: 10%
18
+
19
+ form:
20
+ title:
21
+ field: name
22
+ actions: standard
23
+
24
+ tabs:
25
+ tab0:
26
+ 10:
27
+ name: name
28
+ type: text_field
29
+ size: 20
30
+
31
+ 20:
32
+ name: editors
33
+ type: multitext_autocomplete
34
+ search: dc_user.name
35
+ size: 30
36
+
37
+ tab00:
38
+ 10:
39
+ name: form
40
+ type: text_area
41
+ size: 80x50
42
+
43
+ css: '
44
+ #record_form {font-family: monospace; font-size: 12px;}
45
+ '
@@ -1,18 +1,22 @@
1
1
  ## Template for standard options on wizard form
2
2
  form:
3
- css: '#dc-form-left {display: block;width: 20%}'
3
+ css: '
4
+ #dc-form-left {display: block;width: 20%;}
5
+ #dc-form-container {display: flex;}'
6
+
4
7
  actions:
5
8
  1:
6
9
  type: ajax
7
10
  caption: drgcms.cancel
8
11
  icon: cancel
9
- method: post
10
12
  form_name: x
11
13
  action: run
12
14
  control: x.steps_cancel
13
15
  params:
14
16
  step: x
15
17
  next_step: x
18
+ html:
19
+ data-validate: false
16
20
 
17
21
  10:
18
22
  type: ajax