alchemy-form 0.1.12 → 0.2.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 (89) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/assets/stylesheets/form/alchemy_form.scss +2 -16
  3. package/assets/stylesheets/form/elements/_button.scss +52 -0
  4. package/assets/stylesheets/form/{alchemy_code_input.scss → elements/_code_input.scss} +1 -1
  5. package/assets/stylesheets/form/{alchemy_feedback_input.scss → elements/_feedback_input.scss} +6 -8
  6. package/assets/stylesheets/form/{alchemy_field.scss → elements/_field.scss} +1 -1
  7. package/assets/stylesheets/form/{alchemy_field_array.scss → elements/_field_array.scss} +2 -2
  8. package/assets/stylesheets/form/{alchemy_field_translatable.scss → elements/_field_translatable.scss} +1 -1
  9. package/assets/stylesheets/form/elements/_form.scss +16 -0
  10. package/assets/stylesheets/form/{alchemy_pager.scss → elements/_pager.scss} +1 -1
  11. package/assets/stylesheets/form/{query_builder.scss → elements/_query_builder.scss} +14 -8
  12. package/assets/stylesheets/form/{alchemy_select.scss → elements/_select.scss} +2 -2
  13. package/assets/stylesheets/form/elements/_state.scss +8 -0
  14. package/assets/stylesheets/form/{alchemy_table.scss → elements/_table.scss} +2 -2
  15. package/assets/stylesheets/form/elements/_tabs.scss +47 -0
  16. package/assets/stylesheets/form/{alchemy_toggle.scss → elements/_toggle.scss} +1 -1
  17. package/assets/stylesheets/form/elements/index.scss +14 -0
  18. package/controller/form_api_controller.js +6 -2
  19. package/element/00_form_base.js +16 -8
  20. package/element/05_feedback_input.js +4 -13
  21. package/element/10_alchemy_field_custom.js +13 -15
  22. package/element/10_dataprovider.js +282 -0
  23. package/element/15_alchemy_field_entry.js +8 -10
  24. package/element/20_query_builder_base.js +4 -13
  25. package/element/25_query_builder_data.js +2 -2
  26. package/element/30_tab_base.js +29 -0
  27. package/element/40_stateful.js +125 -0
  28. package/element/al_button.js +147 -0
  29. package/element/{code_input.js → al_code_input.js} +1 -10
  30. package/element/{alchemy_field.js → al_field.js} +18 -25
  31. package/element/{alchemy_field_array.js → al_field_array.js} +7 -18
  32. package/element/{alchemy_field_array_entry.js → al_field_array_entry.js} +7 -9
  33. package/element/{alchemy_field_schema.js → al_field_schema.js} +3 -3
  34. package/element/{alchemy_field_translatable.js → al_field_translatable.js} +6 -17
  35. package/element/{alchemy_field_translatable_entry.js → al_field_translatable_entry.js} +2 -4
  36. package/element/{alchemy_form.js → al_form.js} +11 -18
  37. package/element/{alchemy_label.js → al_label.js} +1 -10
  38. package/element/{number_input.js → al_number_input.js} +2 -2
  39. package/element/{alchemy_pager.js → al_pager.js} +49 -41
  40. package/element/{alchemy_password_input.js → al_password_input.js} +0 -0
  41. package/element/{query_builder.js → al_query_builder.js} +3 -12
  42. package/element/{query_builder_entry.js → al_query_builder_entry.js} +52 -16
  43. package/element/{query_builder_group.js → al_query_builder_group.js} +7 -7
  44. package/element/{query_builder_value.js → al_query_builder_value.js} +16 -7
  45. package/element/{query_builder_variable.js → al_query_builder_variable.js} +1 -1
  46. package/element/{alchemy_select.js → al_select.js} +64 -118
  47. package/element/{alchemy_select_item.js → al_select_item.js} +15 -9
  48. package/element/al_state.js +26 -0
  49. package/element/{string_input.js → al_string_input.js} +2 -2
  50. package/element/al_tab_button.js +138 -0
  51. package/element/al_tab_context.js +102 -0
  52. package/element/al_tab_list.js +66 -0
  53. package/element/al_tab_panel.js +44 -0
  54. package/element/{alchemy_table.js → al_table.js} +187 -174
  55. package/element/{alchemy_toggle.js → al_toggle.js} +1 -10
  56. package/helper/form_actions/00_form_action.js +15 -4
  57. package/helper/form_actions/url_action.js +3 -2
  58. package/helper/query_builder_variable_definition/boolean_variable_definition.js +1 -1
  59. package/helper_field/query_builder_field.js +2 -2
  60. package/package.json +2 -2
  61. package/view/form/elements/alchemy_button.hwk +1 -0
  62. package/view/form/elements/alchemy_field.hwk +4 -4
  63. package/view/form/elements/alchemy_field_array.hwk +2 -2
  64. package/view/form/elements/alchemy_field_schema.hwk +2 -2
  65. package/view/form/elements/alchemy_field_translatable.hwk +2 -2
  66. package/view/form/elements/alchemy_field_translatable_entry.hwk +2 -2
  67. package/view/form/elements/query_builder.hwk +1 -1
  68. package/view/form/elements/query_builder_entry.hwk +20 -11
  69. package/view/form/elements/query_builder_value.hwk +2 -2
  70. package/view/form/elements/query_builder_variable.hwk +2 -2
  71. package/view/form/inputs/edit/belongs_to.hwk +2 -2
  72. package/view/form/inputs/edit/boolean.hwk +2 -2
  73. package/view/form/inputs/edit/enum.hwk +2 -2
  74. package/view/form/inputs/edit/has_and_belongs_to_many.hwk +2 -2
  75. package/view/form/inputs/edit/html.hwk +2 -2
  76. package/view/form/inputs/edit/query_builder.hwk +2 -2
  77. package/view/form/inputs/edit/query_builder_assignment.hwk +2 -2
  78. package/view/form/inputs/edit/query_builder_value.hwk +2 -2
  79. package/view/form/inputs/edit/query_builder_variable.hwk +2 -2
  80. package/view/form/inputs/edit/schema.hwk +2 -2
  81. package/view/form/inputs/edit/sourcecode.hwk +2 -2
  82. package/view/form/inputs/edit_inline/boolean.hwk +2 -2
  83. package/view/form/inputs/view/string.hwk +6 -1
  84. package/view/form/inputs/view_inline/datetime.hwk +8 -4
  85. package/view/form/inputs/view_inline/string.hwk +6 -1
  86. package/view/form/wrappers/default/default.hwk +2 -2
  87. package/helper/widgets/alchemy_field_widget.js +0 -112
  88. package/helper/widgets/alchemy_form_widget.js +0 -183
  89. package/helper/widgets/alchemy_table_widget.js +0 -67
@@ -15,15 +15,15 @@ variables = {
15
15
 
16
16
  <% if (wrapper_files) start('field') %>
17
17
  <% if (self.is_translatable) { %>
18
- <alchemy-field-translatable
18
+ <al-field-translatable
19
19
  #field_context=<% self %>
20
20
  #alchemy_field=<% self %>
21
- ></alchemy-field-translatable>
21
+ ></al-field-translatable>
22
22
  <% } else if (self.is_array) { %>
23
- <alchemy-field-array
23
+ <al-field-array
24
24
  #field_context=<% self %>
25
25
  #alchemy_field=<% self %>
26
- ></alchemy-field-array>
26
+ ></al-field-array>
27
27
  <% } else if (view_files && view_files.length) { %>
28
28
  <div class="field">
29
29
  <% include(view_files, variables); %>
@@ -9,14 +9,14 @@
9
9
  <div class="entries">
10
10
  {% with values as value %}
11
11
  {% each %}
12
- <alchemy-field-array-entry
12
+ <al-field-array-entry
13
13
  #alchemy_field_array=<% self %>
14
14
  #field_context=<% self %>
15
15
  #alchemy_field=<% alchemy_field %>
16
16
 
17
17
  #value=<% value %>
18
18
  index=<% $index %>
19
- ></alchemy-field-array-entry>
19
+ ></al-field-array-entry>
20
20
  {% /each %}
21
21
  {% /with %}
22
22
  </div>
@@ -1,7 +1,7 @@
1
1
  {% each self.sub_fields as sub_field %}
2
- <alchemy-field
2
+ <al-field
3
3
  #alchemy_field_schema=<% self %>
4
4
  #schema=<% self.schema %>
5
5
  field-name=<% sub_field.name %>
6
- ></alchemy-field>
6
+ ></al-field>
7
7
  {% /each %}
@@ -21,14 +21,14 @@
21
21
  <% index = 0 %>
22
22
  <% for (prefix in prefixes) { %>
23
23
 
24
- <alchemy-field-translatable-entry
24
+ <al-field-translatable-entry
25
25
  #alchemy_field_translatable=<% self %>
26
26
  #field_context=<% self %>
27
27
  #alchemy_field=<% alchemy_field %>
28
28
 
29
29
  #value=<% values[prefix] %>
30
30
  prefix=<% prefix %>
31
- ><% if (index > 0) $0.hidden = true; %></alchemy-field-translatable-entry>
31
+ ><% if (index > 0) $0.hidden = true; %></al-field-translatable-entry>
32
32
 
33
33
  <% index++ %>
34
34
  <% } %>
@@ -9,10 +9,10 @@
9
9
 
10
10
  <div class="field">
11
11
  <% if (alchemy_field.is_array) { %>
12
- <alchemy-field-array
12
+ <al-field-array
13
13
  #field_context=<% self %>
14
14
  #alchemy_field=<% alchemy_field %>
15
- ></alchemy-field-array>
15
+ ></al-field-array>
16
16
  <% } else { %>
17
17
  <% include(view_files, variables) %>
18
18
  <% } %>
@@ -1 +1 @@
1
- <alchemy-query-builder-group></alchemy-query-builder-group>
1
+ <al-query-builder-group></al-query-builder-group>
@@ -1,29 +1,38 @@
1
1
  <div class="qb-field-wrapper">
2
- <alchemy-select
2
+ <small class="small-title">Field</small>
3
+
4
+ <al-select
3
5
  class="qb-field"
4
6
  #dataprovider={% self %}
5
7
  value-item-template="form/select/qb_item"
6
8
  option-item-template="form/select/qb_item"
7
- ></alchemy-select>
9
+ ></al-select>
8
10
  </div>
9
11
  <div class="qb-operator-wrapper">
10
- <alchemy-select
12
+ <small class="small-title">Operator</small>
13
+
14
+ <al-select
11
15
  class="qb-operator"
12
16
  #dataprovider={% self %}
13
17
  value-item-template="form/select/qb_item"
14
18
  option-item-template="form/select/qb_item"
15
- ></alchemy-select>
19
+ ></al-select>
16
20
  </div>
17
21
  <div class="qb-value-wrapper">
18
- <alchemy-select
19
- class="qb-value-type"
20
- #dataprovider={% self %}
21
- value-item-template="form/select/qb_item"
22
- option-item-template="form/select/qb_item"
23
- ></alchemy-select>
22
+ <small class="small-title">Value</small>
23
+
24
+ <div class="qb-value-nested-wrapper">
25
+
26
+ <al-select
27
+ class="qb-value-type"
28
+ #dataprovider={% self %}
29
+ value-item-template="form/select/qb_item"
30
+ option-item-template="form/select/qb_item"
31
+ ></al-select>
24
32
 
25
- <div class="qb-value-input-wrapper">
33
+ <div class="qb-value-input-wrapper">
26
34
 
35
+ </div>
27
36
  </div>
28
37
  </div>
29
38
  <div class="qb-delete-wrapper">
@@ -1,9 +1,9 @@
1
- <alchemy-select
1
+ <al-select
2
2
  class="qb-source-type"
3
3
  #dataprovider={% self %}
4
4
  value-item-template="form/select/qb_item"
5
5
  option-item-template="form/select/qb_item"
6
- ></alchemy-select>
6
+ ></al-select>
7
7
 
8
8
  <div class="qb-value-input-wrapper">
9
9
 
@@ -1,6 +1,6 @@
1
- <alchemy-select
1
+ <al-select
2
2
  class="qb-variable"
3
3
  #dataprovider={% self %}
4
4
  value-item-template="form/select/qb_item"
5
5
  option-item-template="form/select/qb_item"
6
- ></alchemy-select>
6
+ ></al-select>
@@ -1,7 +1,7 @@
1
- <alchemy-select
1
+ <al-select
2
2
  class="alchemy-field-value"
3
3
  ><%
4
4
  $0.dataprovider = alchemy_field;
5
5
  $0.name = path;
6
6
  $0.value = value;
7
- %></alchemy-select>
7
+ %></al-select>
@@ -1,4 +1,4 @@
1
- <alchemy-toggle
1
+ <al-toggle
2
2
  class="alchemy-field-value"
3
3
  #value=<% value %>
4
- ></alchemy-toggle>
4
+ ></al-toggle>
@@ -1,7 +1,7 @@
1
- <alchemy-select
1
+ <al-select
2
2
  class="alchemy-field-value"
3
3
  ><%
4
4
  $0.values = vars.alchemy_field.config.options.values;
5
5
  $0.value = value;
6
6
  $0.name = path;
7
- %></alchemy-select>
7
+ %></al-select>
@@ -1,8 +1,8 @@
1
- <alchemy-select
1
+ <al-select
2
2
  class="alchemy-field-value"
3
3
  multiple
4
4
  ><%
5
5
  $0.dataprovider = alchemy_field;
6
6
  $0.value = value;
7
7
  $0.name = path;
8
- %></alchemy-select>
8
+ %></al-select>
@@ -1,5 +1,5 @@
1
- <alchemy-code-input
1
+ <al-code-input
2
2
  class="alchemy-field-value"
3
3
  form=<% form_id %>
4
4
  name=<% path %>
5
- >{{ value }}</alchemy-code-input>
5
+ >{{ value }}</al-code-input>
@@ -1,5 +1,5 @@
1
- <alchemy-query-builder
1
+ <al-query-builder
2
2
  class="alchemy-field-value"
3
3
  #value={% value %}
4
4
  #dataprovider={% alchemy_field %}
5
- ></alchemy-query-builder>
5
+ ></al-query-builder>
@@ -1,6 +1,6 @@
1
- <alchemy-query-builder-entry
1
+ <al-query-builder-entry
2
2
  class="alchemy-field-value"
3
3
  type="assignment"
4
4
  #value={% value %}
5
5
  #dataprovider={% alchemy_field %}
6
- ></alchemy-query-builder-entry>
6
+ ></al-query-builder-entry>
@@ -2,10 +2,10 @@
2
2
  options = alchemy_field.config.options || {};
3
3
  %>
4
4
 
5
- <alchemy-query-builder-value
5
+ <al-query-builder-value
6
6
  class="alchemy-field-value"
7
7
  #value={% value %}
8
8
  #dataprovider={% alchemy_field %}
9
9
  variable-types={% options.variable_types %}
10
10
  source-types={% options.source_types %}
11
- ></alchemy-query-builder-value>
11
+ ></al-query-builder-value>
@@ -2,9 +2,9 @@
2
2
  options = alchemy_field.config.options || {};
3
3
  %>
4
4
 
5
- <alchemy-query-builder-variable
5
+ <al-query-builder-variable
6
6
  class="alchemy-field-value"
7
7
  #value={% value %}
8
8
  #dataprovider={% alchemy_field %}
9
9
  variable-types={% options.variable_types %}
10
- ></alchemy-query-builder-variable>
10
+ ></al-query-builder-variable>
@@ -1,4 +1,4 @@
1
- <alchemy-field-schema
1
+ <al-field-schema
2
2
  #alchemy_field=<% alchemy_field %>
3
3
  #field_context=<% field_context %>
4
- ></alchemy-field-schema>
4
+ ></al-field-schema>
@@ -1,5 +1,5 @@
1
- <alchemy-code-input
1
+ <al-code-input
2
2
  class="alchemy-field-value"
3
3
  form=<% form_id %>
4
4
  name=<% path %>
5
- >{{ value }}</alchemy-code-input>
5
+ >{{ value }}</al-code-input>
@@ -1,4 +1,4 @@
1
- <alchemy-toggle
1
+ <al-toggle
2
2
  class="alchemy-field-value"
3
3
  #value=<% value %>
4
- ></alchemy-toggle>
4
+ ></al-toggle>
@@ -1 +1,6 @@
1
- <span class="alchemy-field-value">{{ value }}</span>
1
+ <div>
2
+ <span class="alchemy-field-value">{{ value }}</span>
3
+ {% if alchemy_field.config.options.suffix %}
4
+ <span class="alchemy-field-suffix">{{ alchemy_field.config.options.suffix }}</span>
5
+ {% /if %}
6
+ </div>
@@ -1,4 +1,8 @@
1
- <time
2
- class="alchemy-field-value"
3
- datetime={% value.toISOString() %}
4
- >{{ value.format('Y‑m‑d H:i') }}</time>
1
+ {% if alchemy_field.config.options.time_ago %}
2
+ <time-ago date={% value %}></time-ago>
3
+ {% else %}
4
+ <time
5
+ class="alchemy-field-value"
6
+ datetime={% value.toISOString() %}
7
+ >{{ value.format('Y‑m‑d H:i') }}</time>
8
+ {% /if %}
@@ -1 +1,6 @@
1
- <span class="alchemy-field-value">{{ value }}</span>
1
+ <div>
2
+ <span class="alchemy-field-value">{{ value }}</span>
3
+ {% if alchemy_field.config.options.suffix %}
4
+ <span class="alchemy-field-suffix">{{ alchemy_field.config.options.suffix }}</span>
5
+ {% /if %}
6
+ </div>
@@ -1,5 +1,5 @@
1
1
  <div class="form-field-info">
2
- <alchemy-label>
2
+ <al-label>
3
3
  <span
4
4
  data-he-name="field-title"
5
5
  data-he-slot="field-title"
@@ -8,7 +8,7 @@
8
8
  data-he-name="field-description"
9
9
  data-he-slot="field-description"
10
10
  ><%= alchemy_field.field_description %></small>
11
- </alchemy-label>
11
+ </al-label>
12
12
  </div>
13
13
  <div data-he-name="field"></div>
14
14
  <div class="validation-feedback">
@@ -1,112 +0,0 @@
1
- /**
2
- * The Field Widget class
3
- *
4
- * @constructor
5
- *
6
- * @author Jelle De Loecker <jelle@elevenways.be>
7
- * @since 0.1.0
8
- * @version 0.1.0
9
- *
10
- * @param {Object} data
11
- */
12
- const AlchemyField = Function.inherits('Alchemy.Widget', 'AlchemyField');
13
-
14
- /**
15
- * Prepare the schema
16
- *
17
- * @author Jelle De Loecker <jelle@elevenways.be>
18
- * @since 0.1.0
19
- * @version 0.1.12
20
- */
21
- AlchemyField.constitute(function prepareSchema() {
22
-
23
- this.setAddChecker(function(widget_element) {
24
- return false;
25
- });
26
- });
27
-
28
- /**
29
- * Find the alchemy-form parent
30
- *
31
- * @author Jelle De Loecker <jelle@elevenways.be>
32
- * @since 0.1.4
33
- * @version 0.1.4
34
- */
35
- AlchemyField.enforceProperty(function alchemy_form(new_value) {
36
-
37
- if (!new_value && this.config && this.config.alchemy_form) {
38
- new_value = this.config.alchemy_form;
39
- }
40
-
41
- if (!new_value) {
42
-
43
- let parent = this.parent_instance;
44
-
45
- while (parent) {
46
-
47
- new_value = parent.alchemy_form;
48
-
49
- if (new_value) {
50
- break;
51
- }
52
-
53
- if (parent.element) {
54
- new_value = parent.element.querySelector('alchemy-form');
55
-
56
- if (new_value) {
57
- break;
58
- }
59
- }
60
-
61
- parent = parent.parent_instance;
62
- }
63
- }
64
-
65
- return new_value;
66
- });
67
-
68
- /**
69
- * Populate the widget
70
- *
71
- * @author Jelle De Loecker <jelle@elevenways.be>
72
- * @since 0.1.0
73
- * @version 0.1.12
74
- */
75
- AlchemyField.setMethod(function populateWidget() {
76
-
77
- let config = this.config;
78
-
79
- let alchemy_form = this.alchemy_form;
80
-
81
- let field_el = this.createElement('alchemy-field');
82
-
83
- if (alchemy_form) {
84
- field_el.alchemy_form = alchemy_form;
85
- }
86
-
87
- field_el.field_name = config.field;
88
-
89
- field_el.applyOptions(config);
90
-
91
- this.element.append(field_el);
92
- });
93
-
94
- /**
95
- * Get the config of this widget
96
- *
97
- * @author Jelle De Loecker <jelle@elevenways.be>
98
- * @since 0.1.0
99
- * @version 0.1.0
100
- *
101
- * @return {Object}
102
- */
103
- AlchemyField.setMethod(function syncConfig() {
104
-
105
- let config = this.config;
106
-
107
- if (!config) {
108
- config = this.config = {};
109
- }
110
-
111
- return this.config;
112
- });
@@ -1,183 +0,0 @@
1
- /**
2
- * The Form Widget class
3
- *
4
- * @constructor
5
- *
6
- * @author Jelle De Loecker <jelle@elevenways.be>
7
- * @since 0.1.0
8
- * @version 0.1.0
9
- *
10
- * @param {Object} data
11
- */
12
- const AlchemyForm = Function.inherits('Alchemy.Widget', 'AlchemyForm');
13
-
14
- /**
15
- * Prepare the schema
16
- *
17
- * @author Jelle De Loecker <jelle@elevenways.be>
18
- * @since 0.1.12
19
- * @version 0.1.12
20
- */
21
- AlchemyForm.constitute(function prepareSchema() {
22
-
23
- this.setAddChecker(function(widget_element) {
24
- return false;
25
- });
26
- });
27
-
28
- /**
29
- * Populate the widget
30
- *
31
- * @author Jelle De Loecker <jelle@elevenways.be>
32
- * @since 0.1.0
33
- * @version 0.1.11
34
- */
35
- AlchemyForm.setMethod(function populateWidget() {
36
-
37
- let config = this.config,
38
- form = this.createElement('alchemy-form');
39
-
40
- let col_el = this.createElement('alchemy-widgets-column'),
41
- col = col_el.instance;
42
-
43
- col.parent_instance = this;
44
-
45
- form.classList.add('alchemy-widgets-container');
46
-
47
- if (config.purpose) {
48
- form.purpose = config.purpose;
49
- }
50
-
51
- if (config.mode) {
52
- form.mode = config.mode;
53
- }
54
-
55
- if (this.config && this.config.widgets) {
56
- let widgets = this.config.widgets.slice(0),
57
- widget,
58
- i;
59
-
60
- for (i = 0; i < widgets.length; i++) {
61
- widget = widgets[i];
62
-
63
- if (widget.type == 'alchemy_field') {
64
- widget = Object.assign({}, widget);
65
- widget.config = Object.assign({}, widget.config);
66
- widget.config.alchemy_form = form;
67
- widgets[i] = widget;
68
- }
69
- }
70
-
71
- col.widget.value = widgets;
72
- }
73
-
74
- let record = this.element.getContextVariable('record');
75
-
76
- if (record) {
77
- form.document = record;
78
- }
79
-
80
- if (config.model) {
81
- form.model = config.model;
82
- }
83
-
84
- if (config.view_type) {
85
- form.view_type = config.view_type;
86
- }
87
-
88
- form.append(col.widget);
89
-
90
- this.element.append(form);
91
-
92
- let violations = this.element.getContextVariable('form_violations');
93
-
94
- if (violations) {
95
- form.showError(violations);
96
- }
97
- });
98
-
99
- /**
100
- * Get the nested column
101
- *
102
- * @author Jelle De Loecker <jelle@elevenways.be>
103
- * @since 0.1.0
104
- * @version 0.1.0
105
- */
106
- AlchemyForm.setMethod(function getNestedColumn(widget) {
107
-
108
- if (!widget) {
109
- widget = this.widget;
110
- }
111
-
112
- if (!widget) {
113
- return;
114
- }
115
-
116
- let col = widget.querySelector('alchemy-form > alchemy-widgets-column');
117
-
118
- return col;
119
- });
120
-
121
- /**
122
- * Start the editor
123
- *
124
- * @author Jelle De Loecker <jelle@elevenways.be>
125
- * @since 0.1.0
126
- * @version 0.1.0
127
- */
128
- AlchemyForm.setMethod(function _startEditor() {
129
-
130
- let col = this.getNestedColumn();
131
-
132
- if (!col) {
133
- return;
134
- }
135
-
136
- col.startEditor();
137
- });
138
-
139
- /**
140
- * Stop the editor
141
- *
142
- * @author Jelle De Loecker <jelle@elevenways.be>
143
- * @since 0.1.0
144
- * @version 0.1.0
145
- */
146
- AlchemyForm.setMethod(function _stopEditor() {
147
-
148
- let col = this.getNestedColumn();
149
-
150
- if (!col) {
151
- return;
152
- }
153
-
154
- col.stopEditor();
155
- });
156
-
157
- /**
158
- * Get the config of this widget
159
- *
160
- * @author Jelle De Loecker <jelle@elevenways.be>
161
- * @since 0.1.0
162
- * @version 0.1.0
163
- *
164
- * @return {Object}
165
- */
166
- AlchemyForm.setMethod(function syncConfig() {
167
-
168
- let config = this.config;
169
-
170
- if (!config) {
171
- config = this.config = {};
172
- }
173
-
174
- let col = this.getNestedColumn();
175
-
176
- if (col) {
177
- config.widgets = col.instance.syncConfig();
178
- } else {
179
- config.widgets = [];
180
- }
181
-
182
- return this.config;
183
- });