scrivito_crm_form_widget 0.9.0.beta4 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a06209bc113cc89786f963d48d5aedd2dc6f4f3b
4
- data.tar.gz: b4b41373a34aacda09c4f850ddf072e7709a7a11
3
+ metadata.gz: 61d8010804a45532c3f11197e5d06246b4e11af0
4
+ data.tar.gz: 92dd9c97509bf20c400931907b4734fa42d66239
5
5
  SHA512:
6
- metadata.gz: 70875a541ccfba903ac0e6bfbcb02a0643f68a751af31c8b522fb966f7183ce8e467417c71026ff3940700d20f9daf6d2e07afaaaf74ca505627c81c6b061322
7
- data.tar.gz: aec6630283edb2b7093f18cb473b0843edd95ddc7e2cc004b371748489646f3330400c5a60d16d6cce29e5bebc2f345902d4618823b698e7ac826e1b5becb869
6
+ metadata.gz: 172167c6bd997f23fdd63dbca8a548bb1192c4be39ffc76f3d54d63db249a22aaf1ea3abfa960f488a6691029af51449f1b9b5330837e0a98fb9d81afe89a162
7
+ data.tar.gz: 2588fa8bd49632eefc827f443e4147dd6c7fb9a57d638ed4c1696844de6fd56b80929a71dee28660092649170e99f6f7575411f9a5f442c460c159a8016a5fb3
@@ -31,4 +31,3 @@ form.form-horizontal.two-column-layout {
31
31
  margin-top: 15px;
32
32
  }
33
33
  }
34
-
@@ -0,0 +1,17 @@
1
+ class CrmFormLevelWidget < Widget
2
+ attribute :fields, :stringlist
3
+ attribute :headline, :string
4
+
5
+ def self.valid_container_classes
6
+ [CrmFormWidget]
7
+ end
8
+
9
+ def attributes
10
+ Hash[fields.map {|f| [f, container.attributes[f]] }]
11
+ end
12
+
13
+ def selectable
14
+ elems = container.attributes.map(&:first)
15
+ return elems
16
+ end
17
+ end
@@ -11,6 +11,12 @@ class CrmFormWidget < Widget
11
11
  attribute :label_position, :enum, values: ['left','top'], default: 'left'
12
12
  attribute :columns, :enum, values: ['one','two'], default: 'one'
13
13
 
14
+ attribute :multilevel, :enum, values: ['Yes','No'], default: 'No'
15
+ attribute :levels, :widgetlist
16
+ attribute :multilevel_dynamic, :string, default: 'More attributes'
17
+ attribute :multilevel_file, :string, default: 'File upload'
18
+ attribute :multilevel_send, :string, default: 'Send'
19
+
14
20
  attribute :file_upload, :enum, values: ['Yes','No'], default: 'No'
15
21
  attribute :styles, :stringlist
16
22
 
@@ -23,7 +29,7 @@ class CrmFormWidget < Widget
23
29
  end
24
30
 
25
31
  def valid_widget_classes_for(field_name)
26
- [DynamicAttributeWidget]
32
+ [field_name == 'levels' ? CrmFormLevelWidget : DynamicAttributeWidget]
27
33
  end
28
34
 
29
35
  def self.activities
@@ -42,6 +48,10 @@ class CrmFormWidget < Widget
42
48
  self.activity_id != ""
43
49
  end
44
50
 
51
+ def multilevel?
52
+ multilevel == 'Yes'
53
+ end
54
+
45
55
  def submit_button
46
56
  submit_button_text.present? ? submit_button_text : "send"
47
57
  end
@@ -67,7 +77,7 @@ class CrmFormWidget < Widget
67
77
  end
68
78
 
69
79
  def field_as_select?(options)
70
- columns == 'two' || options['valid_values'].count > 5
80
+ columns == 'two' || options['valid_values'].count > 4
71
81
  end
72
82
 
73
83
  def file_upload?
@@ -0,0 +1,6 @@
1
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.attributes', default: 'Attribuets for this level') do %>
2
+ <%= scrivito_details_for do %>
3
+ <%= scrivito_tag :div, widget, :headline %>
4
+ <% end %>
5
+ <%= scrivito_tag :div, widget, :fields, data: { multi_select_list: widget.selectable } %>
6
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% attributes.each do |name, options| %>
2
+ <% CrmFormPresenter.send(:attr_accessor, name.to_sym) %>
3
+ <%= render "crm_form_widget/crm_#{options["attribute_type"]}", form: form, name: name, options: options, label: nil, widget: widget %>
4
+ <% end %>
@@ -1,5 +1,4 @@
1
- <% attributes.each do |attribute| %>
2
- <% name, type = attribute.split(':') %>
3
- <%= name %>
4
- <%= type %>
1
+ <% widget.dynamic_attributes.each do |attribute| %>
2
+ <% CrmFormPresenter.send(:attr_accessor, attribute.field_name.to_sym) %>
3
+ <%= render "crm_form_widget/crm_#{attribute.type}", form: form, name: attribute.field_name, options: attribute.options || {}, label: attribute.label, widget: widget %>
5
4
  <% end %>
@@ -0,0 +1,7 @@
1
+ <div class="form-group form-field-custom-file">
2
+ <% CrmFormPresenter.send(:attr_accessor, :custom_file) %>
3
+ <%= form.label :custom_file, t('scrivito_crm_form_widget.view.file', default: 'File upload'), class: "control-label col-sm-3" %>
4
+ <div class="col-sm-9">
5
+ <%= form.file_field :custom_file, class: "form-control" %>
6
+ </div>
7
+ </div>
@@ -5,26 +5,6 @@
5
5
 
6
6
  <%= form.hidden_field(:widget_id, value: widget.id) %>
7
7
 
8
- <% widget.attributes.each do |name, options| %>
9
- <% CrmFormPresenter.send(:attr_accessor, name.to_sym) %>
10
- <%= render "crm_form_widget/crm_#{options["attribute_type"]}", form: form, name: name, options: options, label: nil, widget: widget %>
11
- <% end %>
12
-
13
- <% widget.dynamic_attributes.each do |attribute| %>
14
- <% CrmFormPresenter.send(:attr_accessor, attribute.field_name.to_sym) %>
15
- <%= render "crm_form_widget/crm_#{attribute.type}", form: form, name: attribute.field_name, options: attribute.options || {}, label: attribute.label, widget: widget %>
16
- <% end %>
17
-
18
- <% if widget.file_upload? %>
19
- <div class="form-group form-field-custom-file">
20
- <% CrmFormPresenter.send(:attr_accessor, :custom_file) %>
21
- <%= form.label :custom_file, t('scrivito_crm_form_widget.view.file', default: 'File upload'), class: "control-label col-sm-3" %>
22
- <div class="col-sm-9">
23
- <%= form.file_field :custom_file, class: "form-control" %>
24
- </div>
25
- </div>
26
- <% end %>
27
-
28
8
  <div class="form-group last">
29
9
  <label class="control-label col-sm-3" for="crm_form_presenter_email">Email</label>
30
10
  <div class="col-sm-9">
@@ -32,7 +12,45 @@
32
12
  </div>
33
13
  </div>
34
14
 
35
- <div class="form-submit-button-container clearfix">
36
- <%= form.submit widget.submit_button, class: "btn btn-primary pull-right" %>
37
- </div>
15
+ <% if widget.multilevel? %>
16
+ <div class="crm-form-widget-multilevel">
17
+ <% widget.levels.each do |level| %>
18
+ <fieldset>
19
+ <%= scrivito_tag :legend, level, :headline %>
20
+ <%= render 'crm_form_widget/attributes', widget: widget, form: form, attributes: level.attributes %>
21
+ </fieldset>
22
+
23
+ <% if widget.dynamic_attributes.any? %>
24
+ <fieldset>
25
+ <%= scrivito_tag :legend, widget, :multilevel_dynamic %>
26
+ <%= render 'crm_form_widget/dynamic_attributes', widget: widget, form: form %>
27
+ </fieldset>
28
+ <% end %>
29
+
30
+ <% if widget.file_upload? %>
31
+ <fieldset>
32
+ <%= scrivito_tag :legend, widget, :multilevel_file %>
33
+ <%= render 'crm_form_widget/file_upload', widget: widget, form: form %>
34
+ </fieldset>
35
+ <% end %>
36
+ <% end %>
37
+
38
+ <fieldset>
39
+ <%= scrivito_tag :legend, widget, :multilevel_send %>
40
+ <div class="form-submit-button-container clearfix">
41
+ <%= form.submit widget.submit_button, class: "btn btn-primary pull-right" %>
42
+ </div>
43
+ </fieldset>
44
+ </div>
45
+ <% else %>
46
+ <%= render 'crm_form_widget/attributes', widget: widget, form: form, attributes: widget.attributes %>
47
+ <%= render 'crm_form_widget/dynamic_attributes', widget: widget, form: form %>
48
+ <% if widget.file_upload? %>
49
+ <%= render 'crm_form_widget/file_upload', widget: widget, form: form %>
50
+ <% end %>
51
+
52
+ <div class="form-submit-button-container clearfix">
53
+ <%= form.submit widget.submit_button, class: "btn btn-primary pull-right" %>
54
+ </div>
55
+ <% end %>
38
56
  <% end %>
@@ -1,10 +1,14 @@
1
1
  <%= scrivito_large_dialog do %>
2
2
  <ul class="tab-list">
3
3
  <li class="active" data-panel-target="#edit-general">General</li>
4
+ <li data-panel-target="#edit-options">Options</li>
4
5
  <li data-panel-target="#edit-tags">Tags</li>
5
6
  <li data-panel-target="#edit-activity">Activity</li>
6
7
  <li data-panel-target="#edit-event">Event</li>
7
- <li data-panel-target="#edit-dynamic">Add fields</li>
8
+ <li data-panel-target="#edit-dynamic">Dynamic fields</li>
9
+ <% if widget.multilevel? %>
10
+ <li data-panel-target="#edit-multilevel">Levels</li>
11
+ <% end %>
8
12
  </ul>
9
13
 
10
14
  <div class="tab-panels">
@@ -12,6 +16,7 @@
12
16
  <%= scrivito_details_for t('scrivito_crm_form_widget.details.subject', default: 'Subject') do %>
13
17
  <%= scrivito_tag :div, widget, :subject %>
14
18
  <% end %>
19
+
15
20
  <%= scrivito_details_for t('scrivito_crm_form_widget.details.redirect_to', default: 'Redirect after submit') do %>
16
21
  <%= scrivito_tag :div, widget, :redirect_to %>
17
22
  <% end %>
@@ -20,6 +25,16 @@
20
25
  <%= scrivito_tag :div, widget, :submit_button_text %>
21
26
  <% end %>
22
27
 
28
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.file_upload', default: 'File upload') do %>
29
+ <%= scrivito_tag :div, widget, :file_upload %>
30
+ <% end %>
31
+
32
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.styles', default: 'Styles') do %>
33
+ <%= scrivito_tag :div, widget, :styles, data: { multi_select_list: widget.scrivito_selectable_style_classes } %>
34
+ <% end %>
35
+ </div>
36
+
37
+ <div class="tab-panel" id="edit-options">
23
38
  <%= scrivito_details_for t('scrivito_crm_form_widget.details.label_position', default: 'Label Position') do %>
24
39
  <%= scrivito_tag :div, widget, :label_position %>
25
40
  <% end %>
@@ -28,12 +43,22 @@
28
43
  <%= scrivito_tag :div, widget, :columns %>
29
44
  <% end %>
30
45
 
31
- <%= scrivito_details_for t('scrivito_crm_form_widget.details.file_upload', default: 'File upload') do %>
32
- <%= scrivito_tag :div, widget, :file_upload %>
46
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.multilevel', default: 'Is a multilevel form') do %>
47
+ <%= scrivito_tag :div, widget, :multilevel, data: { scrivito_editors_reload: true } %>
33
48
  <% end %>
34
49
 
35
- <%= scrivito_details_for t('scrivito_crm_form_widget.details.file_upload', default: 'File upload') do %>
36
- <%= scrivito_tag :div, widget, :styles, data: { multi_select_list: widget.scrivito_selectable_style_classes } %>
50
+ <% if widget.multilevel? %>
51
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.multilevel_dynamic', default: 'Dynamic headline') do %>
52
+ <%= scrivito_tag :div, widget, :multilevel_dynamic %>
53
+ <% end %>
54
+
55
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.multilevel_file', default: 'File updload headline') do %>
56
+ <%= scrivito_tag :div, widget, :multilevel_file %>
57
+ <% end %>
58
+
59
+ <%= scrivito_details_for t('scrivito_crm_form_widget.details.multilevel_send', default: 'Send Headline') do %>
60
+ <%= scrivito_tag :div, widget, :multilevel_send %>
61
+ <% end %>
37
62
  <% end %>
38
63
  </div>
39
64
 
@@ -63,5 +88,11 @@
63
88
  <div class="tab-panel" id="edit-dynamic">
64
89
  <%= scrivito_tag :div, widget, :dynamic_attributes %>
65
90
  </div>
91
+
92
+ <% if widget.multilevel? %>
93
+ <div class="tab-panel" id="edit-multilevel">
94
+ <%= scrivito_tag :div, widget, :levels %>
95
+ </div>
96
+ <% end %>
66
97
  </div>
67
- <% end %>
98
+ <% end %>
@@ -1,3 +1,3 @@
1
1
  module ScrivitoCrmFormWidget
2
- VERSION = "0.9.0.beta4"
2
+ VERSION = "1.0.0.beta1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrivito_crm_form_widget
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0.beta4
4
+ version: 1.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scrivito
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-02 00:00:00.000000000 Z
11
+ date: 2017-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: scrivito
@@ -79,14 +79,18 @@ files:
79
79
  - app/assets/scripts/scrivito_crm_form_widget.js
80
80
  - app/assets/styles/scrivito_crm_form_widget.scss
81
81
  - app/controllers/scrivito_crm_form_widget/application_controller.rb
82
+ - app/models/crm_form_level_widget.rb
82
83
  - app/models/crm_form_widget.rb
83
84
  - app/models/dynamic_attribute_widget.rb
84
85
  - app/presenter/crm_form_presenter.rb
86
+ - app/views/crm_form_level_widget/details.html.erb
87
+ - app/views/crm_form_widget/_attributes.html.erb
85
88
  - app/views/crm_form_widget/_crm_enum.html.erb
86
89
  - app/views/crm_form_widget/_crm_multienum.html.erb
87
90
  - app/views/crm_form_widget/_crm_string.html.erb
88
91
  - app/views/crm_form_widget/_crm_text.html.erb
89
92
  - app/views/crm_form_widget/_dynamic_attributes.html.erb
93
+ - app/views/crm_form_widget/_file_upload.html.erb
90
94
  - app/views/crm_form_widget/_form.html.erb
91
95
  - app/views/crm_form_widget/details.html.erb
92
96
  - app/views/crm_form_widget/show.html.erb