cm-admin 1.1.9 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/javascripts/cm_admin/scaffolds.js +6 -0
  4. data/app/assets/javascripts/cm_admin/shared_scaffolds.js +97 -81
  5. data/app/assets/stylesheets/cm_admin/base/form.scss +31 -225
  6. data/app/assets/stylesheets/cm_admin/base/navbar.scss +1 -1
  7. data/app/assets/stylesheets/cm_admin/base/scaffold.scss +8 -5
  8. data/app/assets/stylesheets/cm_admin/base/show.scss +15 -22
  9. data/app/assets/stylesheets/cm_admin/base/table.scss +6 -0
  10. data/app/assets/stylesheets/cm_admin/components/_buttons.scss +1 -1
  11. data/app/assets/stylesheets/cm_admin/components/_modal.scss +7 -30
  12. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_accordion.scss +158 -0
  13. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_alert.scss +68 -0
  14. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_badge.scss +38 -0
  15. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_breadcrumb.scss +40 -0
  16. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_button-group.scss +142 -0
  17. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_buttons.scss +207 -0
  18. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_card.scss +239 -0
  19. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_carousel.scss +244 -0
  20. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_close.scss +63 -0
  21. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_containers.scss +41 -0
  22. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_dropdown.scss +250 -0
  23. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_forms.scss +9 -0
  24. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_functions.scss +302 -0
  25. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_grid.scss +39 -0
  26. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_helpers.scss +12 -0
  27. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_images.scss +42 -0
  28. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_list-group.scss +197 -0
  29. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_maps.scss +174 -0
  30. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_mixins.scss +42 -0
  31. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_modal.scss +237 -0
  32. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_nav.scss +197 -0
  33. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_navbar.scss +289 -0
  34. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_offcanvas.scss +146 -0
  35. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_pagination.scss +109 -0
  36. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_placeholders.scss +51 -0
  37. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_popover.scss +196 -0
  38. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_progress.scss +68 -0
  39. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_reboot.scss +610 -0
  40. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_root.scss +184 -0
  41. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_spinners.scss +85 -0
  42. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_tables.scss +171 -0
  43. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_toasts.scss +73 -0
  44. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_tooltip.scss +119 -0
  45. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_transitions.scss +27 -0
  46. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_type.scss +106 -0
  47. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_utilities.scss +806 -0
  48. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_variables-dark.scss +85 -0
  49. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_variables.scss +1745 -0
  50. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap-grid.scss +62 -0
  51. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap-reboot.scss +10 -0
  52. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap-utilities.scss +19 -0
  53. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap.scss +52 -0
  54. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_floating-labels.scss +95 -0
  55. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-check.scss +188 -0
  56. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-control.scss +214 -0
  57. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-range.scss +91 -0
  58. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-select.scss +80 -0
  59. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-text.scss +11 -0
  60. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_input-group.scss +132 -0
  61. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_labels.scss +36 -0
  62. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_validation.scss +12 -0
  63. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_clearfix.scss +3 -0
  64. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_color-bg.scss +7 -0
  65. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_colored-links.scss +30 -0
  66. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  67. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_icon-link.scss +25 -0
  68. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_position.scss +36 -0
  69. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_ratio.scss +26 -0
  70. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_stacks.scss +15 -0
  71. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  72. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  73. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  74. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_vr.scss +8 -0
  75. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_alert.scss +18 -0
  76. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_backdrop.scss +14 -0
  77. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_banner.scss +7 -0
  78. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_border-radius.scss +78 -0
  79. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  80. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  81. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_buttons.scss +70 -0
  82. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_caret.scss +69 -0
  83. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_clearfix.scss +9 -0
  84. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_color-mode.scss +21 -0
  85. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  86. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_container.scss +11 -0
  87. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_deprecate.scss +10 -0
  88. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_forms.scss +153 -0
  89. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_gradients.scss +47 -0
  90. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_grid.scss +151 -0
  91. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_image.scss +16 -0
  92. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_list-group.scss +26 -0
  93. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_lists.scss +7 -0
  94. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_pagination.scss +10 -0
  95. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_reset-text.scss +17 -0
  96. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_resize.scss +6 -0
  97. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_table-variants.scss +24 -0
  98. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  99. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_transition.scss +26 -0
  100. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_utilities.scss +97 -0
  101. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_visually-hidden.scss +33 -0
  102. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/jasmine.js +16 -0
  103. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/mixins/_color-modes.test.scss +69 -0
  104. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/mixins/_media-query-color-mode-full.test.scss +8 -0
  105. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/mixins/_utilities.test.scss +393 -0
  106. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/sass-true/register.js +14 -0
  107. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/sass-true/runner.js +17 -0
  108. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/utilities/_api.test.scss +75 -0
  109. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/utilities/_api.scss +47 -0
  110. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/vendor/_rfs.scss +348 -0
  111. data/app/controllers/cm_admin/resource_controller.rb +22 -5
  112. data/app/helpers/cm_admin/application_helper.rb +4 -4
  113. data/app/views/cm_admin/main/_actions_dropdown.html.slim +2 -2
  114. data/app/views/cm_admin/main/_custom_action_modal_form.html.slim +6 -0
  115. data/app/views/cm_admin/main/_nested_fields.html.slim +36 -17
  116. data/app/views/cm_admin/main/_nested_table_form.html.slim +17 -8
  117. data/app/views/cm_admin/main/_nested_table_section.html.slim +17 -0
  118. data/app/views/cm_admin/main/_show_section.html.slim +10 -0
  119. data/app/views/cm_admin/main/_tabs.html.slim +1 -1
  120. data/app/views/cm_admin/main/_top_navbar.html.slim +9 -3
  121. data/app/views/cm_admin/main/associated_show.html.slim +5 -4
  122. data/app/views/cm_admin/main/edit.html.slim +18 -18
  123. data/app/views/cm_admin/main/history.html.slim +3 -3
  124. data/app/views/cm_admin/main/import_form.html.slim +1 -1
  125. data/app/views/cm_admin/main/new.html.slim +17 -17
  126. data/app/views/cm_admin/main/show.html.slim +10 -10
  127. data/app/views/layouts/_custom_action_modal.html.slim +11 -0
  128. data/app/views/layouts/_custom_action_modals.html.slim +13 -9
  129. data/app/views/layouts/_destroy_action_modal.html.slim +16 -0
  130. data/app/views/layouts/cm_admin.html.slim +5 -5
  131. data/config/routes.rb +1 -3
  132. data/lib/cm_admin/model.rb +1 -0
  133. data/lib/cm_admin/models/custom_action.rb +6 -0
  134. data/lib/cm_admin/models/dsl_method.rb +9 -4
  135. data/lib/cm_admin/models/field.rb +2 -1
  136. data/lib/cm_admin/models/form_field.rb +2 -1
  137. data/lib/cm_admin/models/row.rb +40 -0
  138. data/lib/cm_admin/models/section.rb +20 -3
  139. data/lib/cm_admin/version.rb +1 -1
  140. data/lib/cm_admin/view_helpers/field_display_helper.rb +3 -3
  141. data/lib/cm_admin/view_helpers/form_field_helper.rb +40 -14
  142. data/lib/cm_admin/view_helpers/form_helper.rb +59 -22
  143. data/lib/cm_admin/view_helpers/page_info_helper.rb +4 -4
  144. data/lib/cm_admin/view_helpers.rb +1 -1
  145. metadata +107 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e07101649ddc2392e7d61139cbbd68d863b22703ec2537cd9e6d3195cc53f5c9
4
- data.tar.gz: a11705aaa45d84749296de25055339207b33f202a467eac3b38d2c60aa667f59
3
+ metadata.gz: 255cb085f8e8d797c77241f882c2b6dc7894878572a230158b3376df9c9aa485
4
+ data.tar.gz: a4acd31793b97d16d1790ea61a24fd0a2411f756bcbd36226baea380f7b77959
5
5
  SHA512:
6
- metadata.gz: da131f09f37cabf79ef6ce2c23604cb412053be927ea9c79666f3f356d7618ddfdc6faed36c657821e2c60757c67aa5fc1bfddf838705d861f76898ae0c235f8
7
- data.tar.gz: 6f0354f7eac71e8f691152e23f0653a228fff5e9b2407d51cff6320cf07cf8de01a46a08835717c6e7d7ececf5655f2942a870b73ea48321f3797b4bc82dbced
6
+ metadata.gz: 69bd5e4f1753bb6d46028a604defe82dcae819e04c94482594197a984c6d6d648e04c530de0302e6714e6254df2c22bfc59a4ffad9fadfa51b64fe2e4125237b
7
+ data.tar.gz: f8eb530cd2e7c41dc04bc3c653dad14a433f38f53a7641fd5ca05c881e44c2b0a0c12594bdba8fc5e78c2e4e4af5e6da68b31cb51fe0bb13ef4f2ad162c06766
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cm-admin (1.1.9)
4
+ cm-admin (1.2.0)
5
5
  caxlsx_rails
6
6
  cocoon (~> 1.2.15)
7
7
  csv-importer (~> 0.8.2)
@@ -43,4 +43,10 @@ $(document).on('click', '.menu-item', function(e) {
43
43
  $('.profile-popup').toggleClass('hidden');
44
44
  });
45
45
 
46
+ $(document).on('click', '.destroy-attachment', function(e) {
47
+ var ar_id = $(this).data('ar-id')
48
+ $(this).addClass('hidden')
49
+ $(this).append('<input type="text" name="attachment_destroy_ids[]" value="' + ar_id + '"/>')
50
+ })
51
+
46
52
  window.addEventListener('popstate', e => window.location.reload() );
@@ -1,136 +1,152 @@
1
1
  // This file is shared between rails 6 and 7 version
2
2
 
3
- $(document).on("keypress keyup blur", "[data-behaviour='decimal-only'], [data-behaviour='filter'][data-filter-type='range']", function (e) {
4
- var charCode = (e.which) ? e.which : e.keyCode
5
- if (charCode > 31 && (charCode != 46 &&(charCode < 48 || charCode > 57)))
6
- return false;
7
- return true;
8
- });
3
+ $(document).on(
4
+ "keypress keyup blur",
5
+ "[data-behaviour='decimal-only'], [data-behaviour='filter'][data-filter-type='range']",
6
+ function (e) {
7
+ var charCode = e.which ? e.which : e.keyCode;
8
+ if (charCode > 31 && charCode != 46 && (charCode < 48 || charCode > 57))
9
+ return false;
10
+ return true;
11
+ }
12
+ );
9
13
 
10
- $(document).on("keypress keyup blur", "[data-behaviour='integer-only']", function (event) {
11
- $(this).val($(this).val().replace(/[^\d].+/, ""));
12
- if ((event.which < 48 || event.which > 57)) {
14
+ $(document).on(
15
+ "keypress keyup blur",
16
+ "[data-behaviour='integer-only']",
17
+ function (event) {
18
+ $(this).val(
19
+ $(this)
20
+ .val()
21
+ .replace(/[^\d].+/, "")
22
+ );
23
+ if (event.which < 48 || event.which > 57) {
13
24
  event.preventDefault();
25
+ }
14
26
  }
15
- });
27
+ );
16
28
 
17
- $(document).on('click', '.row-action-cell', function(e) {
29
+ $(document).on("click", ".row-action-cell", function (e) {
18
30
  e.stopPropagation();
19
- if ($(this).hasClass('opacity-1')) {
20
- $('.row-action-cell').removeClass('opacity-1')
31
+ if ($(this).hasClass("opacity-1")) {
32
+ $(".row-action-cell").removeClass("opacity-1");
21
33
  } else {
22
- $('.row-action-cell').removeClass('opacity-1')
23
- $(this).addClass('opacity-1');
34
+ $(".row-action-cell").removeClass("opacity-1");
35
+ $(this).addClass("opacity-1");
24
36
  }
25
- if ($(this).find('.table-export-popup').hasClass('hidden')) {
26
- return $(this).find('.table-export-popup').removeClass('hidden');
37
+ if ($(this).find(".table-export-popup").hasClass("hidden")) {
38
+ return $(this).find(".table-export-popup").removeClass("hidden");
27
39
  } else {
28
- return $(this).find('.table-export-popup').addClass('hidden');
40
+ return $(this).find(".table-export-popup").addClass("hidden");
29
41
  }
30
42
  });
31
43
 
32
-
33
- $(document).on('click', '.drawer-btn', function(e) {
44
+ $(document).on("click", ".drawer-btn", function (e) {
34
45
  e.stopPropagation();
35
- var drawer_el = $(this).parent().closest('.drawer').find('.cm-drawer')
36
- if (drawer_el.hasClass('hidden')) {
37
- drawer_el.removeClass('hidden');
38
- drawer_container = drawer_el.find('.drawer-container')
39
- if (drawer_container.hasClass('drawer-slide-out')) {
40
- drawer_container.removeClass('drawer-slide-out');
41
- }
42
- drawer_container.addClass('drawer-slide-in');
46
+ var drawer_el = $(this).parent().closest(".drawer").find(".cm-drawer");
47
+ if (drawer_el.hasClass("hidden")) {
48
+ drawer_el.removeClass("hidden");
49
+ drawer_container = drawer_el.find(".drawer-container");
50
+ if (drawer_container.hasClass("drawer-slide-out")) {
51
+ drawer_container.removeClass("drawer-slide-out");
52
+ }
53
+ drawer_container.addClass("drawer-slide-in");
43
54
  } else {
44
- return drawer_el.addClass('hidden');
55
+ return drawer_el.addClass("hidden");
45
56
  }
46
57
  });
47
58
 
48
- $(document).on('click', '.drawer-close', function(e) {
59
+ $(document).on("click", ".drawer-close", function (e) {
49
60
  e.stopPropagation();
50
- $('.drawer-container').removeClass('drawer-slide-in');
51
- $('.drawer-container').addClass('drawer-slide-out');
61
+ $(".drawer-container").removeClass("drawer-slide-in");
62
+ $(".drawer-container").addClass("drawer-slide-out");
52
63
  setTimeout(() => {
53
- $('.cm-drawer').addClass('hidden');
64
+ $(".cm-drawer").addClass("hidden");
54
65
  }, 300);
55
66
  });
56
67
 
57
- $(document).on('change', '[data-field-type="linked-field"]', function(e) {
68
+ $(document).on("change", '[data-field-type="linked-field"]', function (e) {
58
69
  e.stopPropagation();
59
- var params = {}
60
- params[$(this).data('field-name')] = $(this).val()
61
- var request_url = $(this).data('target-url') + '?' + $.param(params);
62
- console.log(request_url)
70
+ var params = {};
71
+ params[$(this).data("field-name")] = $(this).val();
72
+ var request_url = $(this).data("target-url") + "?" + $.param(params);
73
+ console.log(request_url);
63
74
  $.ajax(request_url, {
64
- type: 'GET',
65
- success: function(data) {
66
- apply_response_to_field(data)
75
+ type: "GET",
76
+ success: function (data) {
77
+ apply_response_to_field(data);
78
+ },
79
+ error: function (jqxhr, textStatus, errorThrown) {
80
+ alert("Something went wrong. Please try again later.\n" + errorThrown);
67
81
  },
68
- error: function(jqxhr, textStatus, errorThrown) {
69
- alert('Something went wrong. Please try again later.\n' + errorThrown);
70
- }
71
82
  });
72
83
  });
73
84
 
74
85
  function apply_response_to_field(response) {
75
- $.each(response['fields'], function(key, value) {
76
- switch(value['target_type']) {
77
- case 'select':
78
- update_options_in_select(value['target_value'])
86
+ $.each(response["fields"], function (key, value) {
87
+ switch (value["target_type"]) {
88
+ case "select":
89
+ update_options_in_select(value["target_value"]);
79
90
  break;
80
- case 'input':
81
- update_options_input_value(value['target_value'])
91
+ case "input":
92
+ update_options_input_value(value["target_value"]);
82
93
  break;
83
- case 'toggle_visibility':
84
- toggle_field_visibility(value['target_value'])
94
+ case "toggle_visibility":
95
+ toggle_field_visibility(value["target_value"]);
85
96
  }
86
- })
97
+ });
87
98
  }
88
99
 
89
100
  function update_options_input_value(field_obj) {
90
- var input_tag = $('#' + field_obj['table'] + '_' + field_obj['field_name'])
91
- input_tag.val(field_obj['field_value'])
101
+ var input_tag = $("#" + field_obj["table"] + "_" + field_obj["field_name"]);
102
+ input_tag.val(field_obj["field_value"]);
92
103
  }
93
104
 
94
105
  function update_options_in_select(field_obj) {
95
- var select_tag = $('#' + field_obj['table'] + '_' + field_obj['field_name'])
106
+ var select_tag = $("#" + field_obj["table"] + "_" + field_obj["field_name"]);
96
107
  select_tag.empty();
97
- $.each(field_obj['field_value'], function(key, value) {
98
- select_tag.append($("<option></option>")
99
- .attr("value", value[1]).text(value[0]));
108
+ $.each(field_obj["field_value"], function (key, value) {
109
+ select_tag.append(
110
+ $("<option></option>").attr("value", value[1]).text(value[0])
111
+ );
100
112
  });
101
113
  }
102
114
 
103
115
  function toggle_field_visibility(field_obj) {
104
- var element = $('#' + field_obj['table'] + '_' + field_obj['field_name'])
105
- element.closest('.input-wrapper').toggleClass('hidden')
116
+ var element = $("#" + field_obj["table"] + "_" + field_obj["field_name"]);
117
+ element.closest(".form-field").toggleClass("hidden");
106
118
  }
107
119
 
108
- $(document).on('cocoon:after-insert', '.nested-field-wrapper', function(e) {
120
+ $(document).on("cocoon:after-insert", ".nested-field-wrapper", function (e) {
109
121
  e.stopPropagation();
110
- replaceAccordionTitle($(this))
122
+ replaceAccordionTitle($(this));
111
123
  });
112
124
 
113
- $(document).on('cocoon:after-remove', '.nested-field-wrapper', function(e) {
125
+ $(document).on("cocoon:after-remove", ".nested-field-wrapper", function (e) {
114
126
  e.stopPropagation();
115
- replaceAccordionTitle($(this))
127
+ replaceAccordionTitle($(this));
116
128
  });
117
129
 
118
- $(document).ready( function () {
119
- $('.nested-field-wrapper').each(function() {
120
- replaceAccordionTitle($(this))
121
- })
130
+ $(document).ready(function () {
131
+ $(".nested-field-wrapper").each(function () {
132
+ replaceAccordionTitle($(this));
133
+ });
122
134
  });
123
135
 
124
- var replaceAccordionTitle = function(element) {
136
+ var replaceAccordionTitle = function (element) {
125
137
  var i = 0;
126
- var table_name = $(element).data('table-name')
127
- var model_name = $(element).data('model-name')
128
- $(element).find('.accordion-item:visible').each(function() {
129
- i++;
130
- var accordion_title = model_name + ' ' + i
131
- var accordion_id = table_name + '-' + i
132
- $(this).find('.accordion-button').text(accordion_title);
133
- $(this).find('.accordion-button').attr('data-bs-target', '#' + accordion_id);
134
- $(this).find('.accordion-collapse').attr('id', accordion_id);
135
- });
136
- }
138
+ var table_name = $(element).data("table-name");
139
+ var model_name = $(element).data("model-name");
140
+ $(element)
141
+ .find(".accordion-item:visible")
142
+ .each(function () {
143
+ i++;
144
+ var accordion_title = model_name + " " + i;
145
+ var accordion_id = table_name + "-" + i;
146
+ $(this).find(".accordion-button").text(accordion_title);
147
+ $(this)
148
+ .find(".accordion-button")
149
+ .attr("data-bs-target", "#" + accordion_id);
150
+ $(this).find(".accordion-collapse").attr("id", accordion_id);
151
+ });
152
+ };
@@ -1,4 +1,5 @@
1
1
  @import "../helpers/index.scss";
2
+ @import "../dependency/bootstrap/scss/bootstrap";
2
3
 
3
4
  @function size($size) {
4
5
  @return map-get($font-size, $size);
@@ -9,85 +10,42 @@
9
10
  }
10
11
 
11
12
  .form-page {
12
- padding: 24px;
13
13
  background-color: $white;
14
- &__inner {
15
- max-width: 752px;
14
+ &__header {
15
+ @extend .position-sticky, .top-0, .bg-white;
16
+ z-index: 5;
16
17
  }
17
- .form-wrapper {
18
- .form-container {
19
- margin-top: 32px;
20
- &:nth-child(1) {
21
- margin-top: 0;
22
- }
23
- .form-title {
24
- @include font($size: $t3-text, $color: $primary-text-clr, $weight: bold);
25
- line-height: 24px;
26
- margin: 0 0 16px;
27
- }
28
- &__inner {
29
- padding: 24px;
30
- border: 1px solid $grey-light-clr;
31
- border-radius: $radius-4;
32
- .form-field {
33
- max-width: 320px;
34
- }
35
- }
36
- }
18
+ &__body {
19
+ padding: 24px;
37
20
  }
38
- }
39
-
40
- //cocoon field styles
41
- .fields-group {
42
- display: flex;
43
- align-items: center;
44
- margin: 16px 0;
45
- .field-item {
46
- margin: 0 5px;
47
- label {
48
- @include font($size: $t4-text, $color: $primary-text-clr, $weight: bold);
49
- margin-bottom: 4px;
21
+ .form-container {
22
+ margin-bottom: 24px;
23
+ .form-title {
24
+ @extend .h6, .fw-semibold;
25
+ color: $primary-text-clr;
50
26
  }
51
- input {
52
- width: 100%;
53
- padding: 5px 10px;
54
- border: 1px solid #c1c7d0;
55
- border-radius: $radius-2;
56
- &:focus {
57
- border-color: #66afe9 !important;
58
- outline: 0 !important;
59
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6) !important;
60
- }
61
- }
62
- }
63
- .field-remove {
64
- margin-top: 25px;
65
- a {
66
- @include font($size: $t1-text, $color: #ff5656);
67
- @include transition-linear;
68
- &:hover {
69
- transform: scale(1.1);
70
- }
27
+ &__inner {
28
+ @extend .card, .p-4;
29
+ background-color: var(--bs-gray-100);
71
30
  }
72
31
  }
73
32
  }
74
33
 
75
- .add-field-btn {
76
- font-size: $t4-text;
77
- margin: 10px 0;
34
+ //form field styles
35
+ .form-field {
36
+ @extend .mb-4;
37
+ }
38
+
39
+ .field-label {
40
+ @extend .form-label;
41
+ }
42
+
43
+ .field-control {
44
+ @extend .form-control;
78
45
  }
79
46
 
80
47
  // Nested form styles
81
48
  .nested-field-wrapper {
82
- .nested-field-label {
83
- @include font($size: $t4-text, $color: $primary-text-clr);
84
- line-height: 22px;
85
- margin: 0 0 4px;
86
- span {
87
- color: $ink-lightest-clr;
88
- margin-left: 4px;
89
- }
90
- }
91
49
  .nested-single-field {
92
50
  display: grid;
93
51
  grid-template-columns: 1fr 32px;
@@ -107,163 +65,11 @@
107
65
  }
108
66
  }
109
67
 
110
- // Nested form Accordion styles
111
- .nested-form-accordion {
112
- .accordion-item {
113
- margin-bottom: 8px;
114
- border: 1px solid $grey-light-clr;
115
- border-radius: $radius-4;
116
- }
117
- .accordion-item:not(:first-of-type) {
118
- border-top: 1px solid $grey-light-clr;
119
- }
120
- .accordion-item:first-of-type {
121
- margin-top: 4px;
122
- border-radius: $radius-4;
123
- }
124
- .accordion-item:last-of-type {
125
- margin-bottom: 0;
126
- border-radius: $radius-4;
127
- }
128
- .accordion-header {
129
- position: relative;
130
- display: flex;
131
- .accordion-delete-btn {
132
- position: absolute;
133
- top: 14px;
134
- right: 48px;
135
- z-index: 9;
136
- }
137
- }
138
- .accordion-button {
139
- border-radius: $radius-4;
140
- &:focus {
141
- border-color: transparent;
142
- box-shadow: none;
143
- }
144
- &:not(.collapsed) {
145
- color: inherit;
146
- background-color: transparent;
147
- box-shadow: none;
148
- }
149
- &:not(.collapsed)::after {
150
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
151
- }
152
- }
153
- }
154
-
155
- //Old form code
156
- .form-wrapper {
157
- // margin-top: 60px;
158
-
159
- &__top-bar {
160
- position: fixed;
161
- top: 60px;
162
- left: 250px;
163
- display: flex;
164
- align-items: center;
165
- width: calc(100% - 250px);
166
- height: 60px;
167
- padding: 0 20px;
168
- background-color: $white;
169
- box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.06);
170
- z-index: 9;
171
- .back-btn {
172
- @include font($size: $t1-text, $color: #091e42);
173
- cursor: pointer;
174
- span {
175
- color: #0099ff;
176
- margin-right: 8px;
177
- }
178
- }
179
- }
180
-
181
- &__inner {
182
- margin-top: 120px;
183
- padding: 20px;
184
- .paper {
185
- padding: 20px;
186
- background-color: $white;
187
- box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
188
- border: 1px solid #ebecf0;
189
- border-radius: $radius-4;
190
- }
191
- }
192
-
193
- .cm-admin-form {
194
- max-width: 600px;
195
- .form-field {
196
- margin-bottom: 20px;
197
- .form-label {
198
- @include font($size: $t4-text, $color: $primary-text-clr, $weight: 600);
199
- margin-bottom: 0.5rem;
200
- }
201
- .form-input {
202
- label {
203
- @include font($size: $t4-text, $color: $primary-text-clr, $weight: bold);
204
- }
205
- input {
206
- width: 100%;
207
- padding: 5px 10px;
208
- border: 1px solid #c1c7d0;
209
- border-radius: $radius-2;
210
- &:focus {
211
- border-color: #66afe9 !important;
212
- outline: 0 !important;
213
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6) !important;
214
- }
215
- }
216
- }
217
-
218
- .file-upload {
219
- position: relative;
220
- display: flex;
221
- justify-content: center;
222
- align-items: center;
223
- width: 250px;
224
- height: 80px;
225
- border: 2px dashed #c1c7d0;
226
- border-radius: $radius-4;
227
- cursor: pointer;
228
- input[type="file"] {
229
- position: absolute;
230
- top: 0;
231
- right: 0;
232
- bottom: 0;
233
- left: 0;
234
- opacity: 0;
235
- cursor: pointer;
236
- }
237
- label {
238
- color: #0099ff;
239
- margin: 0;
240
- cursor: pointer;
241
- }
242
- i {
243
- color: #0099ff;
244
- margin-left: 8px;
245
- }
246
- }
247
-
248
- .radio-label {
249
- @include font($size: $t3-text, $color: $primary-text-clr, $weight: 600);
250
- margin-left: 8px;
251
- }
252
-
253
- .checkbox-label {
254
- @include font($size: $t3-text, $color: $primary-text-clr, $weight: 600);
255
- margin-left: 8px;
256
- }
257
- }
258
-
259
- .form-actions {
260
- input {
261
- padding: 5px 10px;
262
- color: $white;
263
- background-color: #0099ff;
264
- border: none;
265
- border-radius: $radius-4;
266
- }
267
- }
68
+ //Nested form table styles
69
+ .nested-form-table {
70
+ @extend .table, .table-light, .table-hover, .table-bordered;
71
+ .item-delete-cell {
72
+ vertical-align: middle;
73
+ text-align: center;
268
74
  }
269
75
  }
@@ -1,5 +1,5 @@
1
1
  @import "../helpers/index.scss";
2
- @import "bootstrap/scss/bootstrap";
2
+ @import "../dependency/bootstrap/scss/bootstrap";
3
3
 
4
4
  .entity-header {
5
5
  @extend .d-flex.justify-content-between.align-items-start.p-4;
@@ -9,7 +9,7 @@ body {
9
9
  width: 100%;
10
10
  margin: 0px;
11
11
  padding: 0px;
12
- font-family: 'Open Sans', sans-serif !important;
12
+ font-family: "Open Sans", sans-serif !important;
13
13
  background-color: $grey-lightest-clr !important;
14
14
  }
15
15
 
@@ -35,7 +35,6 @@ body {
35
35
  }
36
36
  }
37
37
 
38
-
39
38
  a:hover,
40
39
  a {
41
40
  text-decoration: none !important;
@@ -79,9 +78,12 @@ a {
79
78
  overflow: auto;
80
79
  }
81
80
 
81
+ // TODO: Check and remove the input-wrapper styles later
82
82
  .input-wrapper {
83
83
  margin-bottom: 24px;
84
- input, select, .select2 {
84
+ input,
85
+ select,
86
+ .select2 {
85
87
  width: 320px;
86
88
  }
87
89
  textarea {
@@ -89,6 +91,7 @@ a {
89
91
  }
90
92
  }
91
93
 
94
+ // TODO: Check and remove the input-wrapper styles later
92
95
  .input-wrapper.disabled {
93
96
  input:disabled {
94
97
  background-color: $grey-lightest-clr;
@@ -153,10 +156,10 @@ a {
153
156
  }
154
157
  .select2-results__option--highlighted.select2-results__option--selectable {
155
158
  background: $grey-lighter-clr;
156
- color: $primary-text-clr;
159
+ color: $primary-text-clr;
157
160
  }
158
161
  .select2-results__option--selected {
159
- color: $brand-color !important;
162
+ color: $brand-color !important;
160
163
  background-color: $grey-lighter-clr !important;
161
164
  }
162
165
  }
@@ -1,12 +1,15 @@
1
1
  @import "../helpers/index.scss";
2
- @import "bootstrap/scss/bootstrap";
2
+ @import "../dependency/bootstrap/scss/bootstrap";
3
3
 
4
4
  .show-page {
5
+ height: 100vh;
5
6
  overflow: auto;
6
7
 
7
8
  &__header {
9
+ @extend .position-sticky, .top-0, .bg-white;
10
+ z-index: 5;
8
11
  .tabs {
9
- @extend .nav.nav-pills.ml-2;
12
+ @extend .nav.nav-pills.ms-2;
10
13
  .nav-link {
11
14
  @include font($size: $t4-text, $color: $ink-lighter-clr);
12
15
  border-radius: 0px;
@@ -21,36 +24,26 @@
21
24
 
22
25
  &__inner {
23
26
  padding: 24px;
24
- .info-section {
25
- margin-bottom: 32px;
26
-
27
+ overflow: auto;
28
+ .section {
29
+ margin-bottom: 24px;
27
30
  .section-heading {
28
- @include font($size: $t3-text, $color: $primary-text-clr, $weight: 600);
29
- line-height: 24px;
30
- margin: 0 0 16px;
31
- }
32
- .paper {
33
- max-width: 752px;
34
- padding: 24px;
35
- background-color: $white;
36
- border: 1px solid $grey-light-clr;
37
- border-radius: $radius-4;
31
+ @extend .h6, .fw-semibold;
32
+ color: $primary-text-clr;
38
33
  }
39
- .info-split {
34
+ .card-info {
40
35
  display: grid;
41
- grid-template-columns: 140px 1fr;
36
+ grid-template-columns: 120px 1fr;
42
37
  grid-column-gap: 24px;
43
- margin-bottom: 24px;
38
+ margin-bottom: 8px;
44
39
  &:nth-last-child(1) {
45
40
  margin-bottom: 0;
46
41
  }
47
- &__lhs {
42
+ &__label {
48
43
  @include font($size: $t4-text, $color: $ink-lighter-clr);
49
- line-height: 22px;
50
44
  }
51
- &__rhs {
45
+ &__description {
52
46
  @include font($size: $t4-text, $color: $primary-text-clr);
53
- line-height: 19px;
54
47
  }
55
48
  }
56
49
  }