active_scaffold 4.2.2 → 4.3.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.rdoc +22 -0
- data/README.md +108 -7
- data/app/assets/javascripts/{jquery → active_scaffold}/active_scaffold.js +759 -762
- data/app/assets/javascripts/{jquery/date_picker_bridge.js.erb → active_scaffold/date_picker_bridge.js} +0 -3
- data/app/assets/javascripts/active_scaffold/load.js +102 -0
- data/app/assets/javascripts/active_scaffold.js.erb +3 -27
- data/app/assets/stylesheets/active_scaffold/_colours.scss +330 -0
- data/app/assets/stylesheets/active_scaffold/_images.scss +65 -0
- data/app/assets/stylesheets/{active_scaffold_layout.scss → active_scaffold/_layout.scss} +21 -1
- data/app/assets/stylesheets/active_scaffold/_variables.scss +194 -0
- data/app/assets/stylesheets/active_scaffold/core.scss +15 -0
- data/app/assets/stylesheets/active_scaffold.scss.erb +16 -0
- data/app/views/active_scaffold_overrides/_field_search_columns.html.erb +8 -0
- data/app/views/active_scaffold_overrides/_form.html.erb +8 -0
- data/app/views/active_scaffold_overrides/_form_association.html.erb +3 -1
- data/app/views/active_scaffold_overrides/_form_association_record.html.erb +4 -2
- data/app/views/active_scaffold_overrides/_show_association.html.erb +2 -1
- data/app/views/active_scaffold_overrides/_show_association_horizontal.html.erb +2 -2
- data/app/views/active_scaffold_overrides/_show_association_vertical.html.erb +1 -1
- data/app/views/active_scaffold_overrides/edit_associated.js.erb +10 -8
- data/lib/active_scaffold/actions/core.rb +34 -3
- data/lib/active_scaffold/assets/css_deps_generator.rb +42 -0
- data/lib/active_scaffold/assets/jquery_ui_manifest.rb +77 -0
- data/lib/active_scaffold/assets/jquery_ui_theme_generator.rb +102 -0
- data/lib/active_scaffold/assets.rb +109 -0
- data/lib/active_scaffold/attribute_params.rb +11 -2
- data/lib/active_scaffold/bridges/active_storage/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/carrierwave/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/chosen.rb +1 -1
- data/lib/active_scaffold/bridges/dragonfly/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/file_column/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/logical_query_parser/keyword_query_parser.rb +23 -0
- data/lib/active_scaffold/bridges/logical_query_parser.rb +3 -2
- data/lib/active_scaffold/bridges/paperclip/form_ui.rb +1 -1
- data/lib/active_scaffold/bridges/record_select/helpers.rb +1 -1
- data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +1 -0
- data/lib/active_scaffold/bridges/tiny_mce.rb +6 -1
- data/lib/active_scaffold/bridges.rb +7 -0
- data/lib/active_scaffold/config/core.rb +7 -3
- data/lib/active_scaffold/constraints.rb +37 -32
- data/lib/active_scaffold/data_structures/action_columns.rb +66 -0
- data/lib/active_scaffold/data_structures/bridge.rb +2 -0
- data/lib/active_scaffold/data_structures/column.rb +4 -1
- data/lib/active_scaffold/engine.rb +40 -0
- data/lib/active_scaffold/finder.rb +10 -7
- data/lib/active_scaffold/helpers/assets_helpers.rb +39 -0
- data/lib/active_scaffold/helpers/controller_helpers.rb +1 -1
- data/lib/active_scaffold/helpers/form_column_helpers.rb +57 -532
- data/lib/active_scaffold/helpers/form_ui_helpers.rb +530 -0
- data/lib/active_scaffold/helpers/human_condition_helpers.rb +1 -0
- data/lib/active_scaffold/helpers/list_column_helpers.rb +31 -11
- data/lib/active_scaffold/helpers/search_column_helpers.rb +7 -14
- data/lib/active_scaffold/helpers/show_column_helpers.rb +4 -2
- data/lib/active_scaffold/helpers/view_helpers.rb +12 -0
- data/lib/active_scaffold/railties/tasks.rake +10 -0
- data/lib/active_scaffold/testing/assert_embedded_load.rb +33 -0
- data/lib/active_scaffold/version.rb +2 -2
- data/lib/active_scaffold.rb +7 -2
- data/lib/tasks/active_scaffold/assets.rake +42 -0
- data/lib/tasks/bundle.rake +25 -0
- data/vendor/assets/stylesheets/{jquery-ui-theme.css.erb → jquery-ui-theme.css} +17 -17
- metadata +33 -20
- data/app/assets/stylesheets/active_scaffold.scss +0 -424
- data/app/assets/stylesheets/active_scaffold_extensions.css.erb +0 -2
- data/app/assets/stylesheets/active_scaffold_images.scss +0 -65
- data/app/assets/stylesheets/active_scaffold_jquery_ui.css.erb +0 -13
- /data/app/assets/javascripts/{jquery → active_scaffold}/active_scaffold_chosen.js +0 -0
- /data/app/assets/javascripts/{jquery → active_scaffold}/draggable_lists.js +0 -0
- /data/app/assets/javascripts/{jquery → active_scaffold}/jquery.editinplace.js +0 -0
- /data/app/assets/javascripts/{jquery → active_scaffold}/tiny_mce_bridge.js +0 -0
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
<%# encoding: utf-8 %>
|
|
2
|
-
<% I18n.available_locales.each { |locale| Rails.root.glob("config/locales/#{locale}.*").each { |path| depend_on path.to_s } } %>
|
|
3
|
-
<%= ActiveScaffold::Bridges[:date_picker].localization %>
|
|
4
1
|
Object.getPrototypeOf(jQuery.datepicker)._attachDatepicker_without_inlineSettings = Object.getPrototypeOf(jQuery.datepicker)._attachDatepicker;
|
|
5
2
|
jQuery.extend(Object.getPrototypeOf(jQuery.datepicker), {
|
|
6
3
|
_attachDatepicker: function(target, settings) {
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// ActiveScaffold main entry point
|
|
2
|
+
(function() {
|
|
3
|
+
const config = window.ActiveScaffold?.config || {};
|
|
4
|
+
|
|
5
|
+
// Load dependencies based on configuration
|
|
6
|
+
const loadDependencies = async () => {
|
|
7
|
+
// Always load these
|
|
8
|
+
await loadScript(RAILS_ASSET_URL('/jquery.ba-throttle-debounce.js'));
|
|
9
|
+
await loadScript(RAILS_ASSET_URL('/jquery.visible.min.js'));
|
|
10
|
+
|
|
11
|
+
// Check if jQuery UI should be loaded
|
|
12
|
+
if (config.jqueryUiIncluded) {
|
|
13
|
+
await loadJQueryUI();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Load core ActiveScaffold
|
|
17
|
+
await loadScript(RAILS_ASSET_URL('/active_scaffold/active_scaffold.js'));
|
|
18
|
+
await loadScript(RAILS_ASSET_URL('/active_scaffold/jquery.editinplace.js'));
|
|
19
|
+
|
|
20
|
+
// Load plugins
|
|
21
|
+
if (config.plugins) {
|
|
22
|
+
for (const plugin of config.plugins) {
|
|
23
|
+
await loadScript(plugin);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Load bridges
|
|
28
|
+
if (config.bridges) {
|
|
29
|
+
for (const bridge of config.bridges) {
|
|
30
|
+
await loadScript(bridge);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// ALL DEPENDENCIES ARE LOADED NOW
|
|
35
|
+
// Initialize everything
|
|
36
|
+
initializeActiveScaffold();
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const loadJQueryUI = async () => {
|
|
40
|
+
// Check if jQuery UI is already loaded via importmap or script tag
|
|
41
|
+
if (typeof window.jQuery?.ui === 'undefined') {
|
|
42
|
+
// If using jquery-ui-rails gem with Sprockets/Propshaft
|
|
43
|
+
// We need to load individual components
|
|
44
|
+
if (config.jqueryUi) {
|
|
45
|
+
for (const file of config.jqueryUi) {
|
|
46
|
+
await loadScript(file);
|
|
47
|
+
}
|
|
48
|
+
} else return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Load jQuery UI addons
|
|
52
|
+
await loadScript(RAILS_ASSET_URL('/jquery-ui-timepicker-addon.js'));
|
|
53
|
+
await loadScript(RAILS_ASSET_URL('/active_scaffold/date_picker_bridge.js'));
|
|
54
|
+
await loadScript(RAILS_ASSET_URL('/active_scaffold/draggable_lists.js'));
|
|
55
|
+
|
|
56
|
+
// Initialize jQuery UI components
|
|
57
|
+
initializeJQueryUI();
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const loadScript = (path) => {
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
// Check if already loaded
|
|
63
|
+
if (document.querySelector(`script[src*="${path}"]`)) {
|
|
64
|
+
resolve();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const script = document.createElement('script');
|
|
69
|
+
script.src = path;
|
|
70
|
+
script.async = false;
|
|
71
|
+
script.onload = resolve;
|
|
72
|
+
script.onerror = reject;
|
|
73
|
+
document.head.appendChild(script);
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const initializeJQueryUI = function() {
|
|
78
|
+
if (config.jqueryUiIncluded && window.jQuery) {
|
|
79
|
+
// Check if datepicker exists
|
|
80
|
+
if (jQuery.datepicker) {
|
|
81
|
+
// Execute the datepicker localization
|
|
82
|
+
// This will be replaced by actual generated code
|
|
83
|
+
eval(config.datepickerLocalization);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// NEW: Initialize everything after all scripts are loaded
|
|
89
|
+
const initializeActiveScaffold = () => {
|
|
90
|
+
// Run any post-load initialization
|
|
91
|
+
if (window.jQuery) {
|
|
92
|
+
jQuery(document).trigger('active-scaffold:loaded');
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
// Start loading when DOM is ready
|
|
97
|
+
if (document.readyState === 'loading') {
|
|
98
|
+
document.addEventListener('DOMContentLoaded', loadDependencies);
|
|
99
|
+
} else {
|
|
100
|
+
loadDependencies();
|
|
101
|
+
}
|
|
102
|
+
})();
|
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
<%
|
|
2
|
-
require_asset
|
|
3
|
-
if Object.const_defined?(:Jquery)
|
|
4
|
-
if Jquery.const_defined?(:Rails) && Jquery::Rails.const_defined?(:JQUERY_UI_VERSION)
|
|
5
|
-
require_asset 'jquery-ui'
|
|
6
|
-
elsif Jquery.const_defined? :Ui
|
|
7
|
-
jquery_ui_prefix = Jquery::Ui::Rails::VERSION < '5.0.0' ? 'jquery.ui.' : 'jquery-ui/'
|
|
8
|
-
jquery_ui_widgets_prefix = Jquery::Ui::Rails::VERSION >= '6.0.0' ? 'widgets/' : ''
|
|
9
|
-
require_asset "#{jquery_ui_prefix}core" unless Jquery::Ui::Rails::VERSION >= '8.0.0'
|
|
10
|
-
require_asset "#{jquery_ui_prefix}effect"
|
|
11
|
-
require_asset "#{jquery_ui_prefix}effects/effect-highlight" if Jquery::Ui::Rails::VERSION >= '6.0.0'
|
|
12
|
-
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}sortable"
|
|
13
|
-
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}draggable"
|
|
14
|
-
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}droppable"
|
|
15
|
-
require_asset "#{jquery_ui_prefix}#{jquery_ui_widgets_prefix}datepicker"
|
|
16
|
-
end
|
|
17
|
-
end
|
|
2
|
+
ActiveScaffold::Assets.active_scaffold_javascripts.each { |asset| require_asset asset }
|
|
18
3
|
if ActiveScaffold.jquery_ui_included?
|
|
19
|
-
|
|
20
|
-
require_asset 'jquery/date_picker_bridge'
|
|
21
|
-
require_asset 'jquery/draggable_lists'
|
|
4
|
+
I18n.available_locales.each { |locale| Rails.root.glob("config/locales/#{locale}.*").each { |path| depend_on path.to_s } }
|
|
22
5
|
end
|
|
23
|
-
require_asset 'jquery.visible.min'
|
|
24
|
-
require_asset 'jquery/active_scaffold'
|
|
25
|
-
require_asset 'jquery/jquery.editinplace'
|
|
26
|
-
%>
|
|
27
|
-
ActiveScaffold.config = <%= ActiveScaffold.js_config.to_json %>;
|
|
28
|
-
<%
|
|
29
|
-
ActiveScaffold.javascripts.each { |js| require_asset js }
|
|
30
|
-
ActiveScaffold::Bridges.all_javascripts.each { |js| require_asset js }
|
|
31
6
|
%>
|
|
7
|
+
<%= ActiveScaffold::Assets.active_scaffold_js_code %>
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
.active-scaffold a, .active-scaffold a:visited {
|
|
2
|
+
color: var(--as-link-color);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.active-scaffold a.disabled {
|
|
6
|
+
color: var(--as-disabled-color);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.active-scaffold a:hover, .active-scaffold div.hover, .active-scaffold td span.hover {
|
|
10
|
+
background-color: var(--as-hover-bg);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
noscript.active-scaffold {
|
|
14
|
+
border-color: var(--as-msg-error-border-color);
|
|
15
|
+
background-color: var(--as-msg-error-bg);
|
|
16
|
+
color: var(--as-column-color);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Header
|
|
20
|
+
======================== */
|
|
21
|
+
|
|
22
|
+
.active-scaffold-header h2 {
|
|
23
|
+
color: var(--as-header-color);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.active-scaffold div.actions a.separator {
|
|
27
|
+
border-color: var(--as-action-group-border-color);
|
|
28
|
+
}
|
|
29
|
+
.active-scaffold-header div.actions a.disabled {
|
|
30
|
+
color: var(--as-actions-disabled-color);
|
|
31
|
+
}
|
|
32
|
+
.active-scaffold .actions .filters .active {
|
|
33
|
+
color: var(--as-active-filter);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* Table :: Column Headers
|
|
37
|
+
============================= */
|
|
38
|
+
|
|
39
|
+
.active-scaffold th {
|
|
40
|
+
background-color: var(--as-column-header-bg);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.active-scaffold th a,
|
|
44
|
+
.active-scaffold th p {
|
|
45
|
+
background-color: var(--as-column-header-bg);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.active-scaffold th a, .active-scaffold th a:visited {
|
|
49
|
+
color: var(--as-column-header-link-color);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.active-scaffold th p,
|
|
53
|
+
.active-scaffold .show-view th {
|
|
54
|
+
color: var(--as-column-header-color);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.active-scaffold th a:hover {
|
|
58
|
+
background-color: var(--as-column-header-link-hover-bg);
|
|
59
|
+
color: var(--as-column-header-link-hover-color);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.active-scaffold th.sorted {
|
|
63
|
+
background-color: var(--as-column-header-sorted-bg);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.active-scaffold th.asc a,
|
|
67
|
+
.active-scaffold th.asc a:hover,
|
|
68
|
+
.active-scaffold th.desc a,
|
|
69
|
+
.active-scaffold th.desc a:hover,
|
|
70
|
+
.active-scaffold th.loading a,
|
|
71
|
+
.active-scaffold th.loading a:hover {
|
|
72
|
+
background-color: var(--as-column-header-sorted-bg);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Table :: Record Rows
|
|
76
|
+
============================= */
|
|
77
|
+
|
|
78
|
+
.active-scaffold tr.record {
|
|
79
|
+
background-color: var(--as-column-bg);
|
|
80
|
+
}
|
|
81
|
+
.active-scaffold tr.record td {
|
|
82
|
+
color: var(--as-column-color);
|
|
83
|
+
border-color: var(--as-column-border-color);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.active-scaffold tr.even-record {
|
|
87
|
+
background-color: var(--as-column-even-bg);
|
|
88
|
+
}
|
|
89
|
+
.active-scaffold tr.even-record td {
|
|
90
|
+
border-left-color: var(--as-column-even-border-color);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.active-scaffold tr.record td.sorted {
|
|
94
|
+
background-color: var(--as-column-sorted-bg);
|
|
95
|
+
border-bottom-color: var(--as-column-sorted-border-color);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.active-scaffold tr.even-record td.sorted {
|
|
99
|
+
background-color: var(--as-column-even-sorted-bg);
|
|
100
|
+
border-bottom-color: var(--as-column-even-sorted-border-color);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.active-scaffold tbody.records td.empty {
|
|
104
|
+
color: var(--as-column-empty-color);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Table :: Actions (Edit, Delete)
|
|
108
|
+
============================= */
|
|
109
|
+
.active-scaffold tr.record td.actions {
|
|
110
|
+
border-color: var(--as-column-actions-border-color);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.active-scaffold tr.record td.actions table td.separator {
|
|
114
|
+
border-color: var(--as-column-actions-border-color);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.active-scaffold tr.record td.actions a.disabled {
|
|
118
|
+
color: var(--as-actions-disabled-color);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.active-scaffold .actions .action_group div:hover {
|
|
122
|
+
background-color: var(--as-action-group-hover-bg);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.active-scaffold .actions .action_group {
|
|
126
|
+
color: var(--as-action-group-color);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.active-scaffold .actions .action_group ul {
|
|
130
|
+
border-color: var(--as-action-group-border-color);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.active-scaffold .actions .action_group ul li {
|
|
134
|
+
background-color: var(--as-action-group-items-bg);
|
|
135
|
+
border-color: var(--as-action-group-items-border-color);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.active-scaffold .actions .action_group ul li a {
|
|
139
|
+
color: var(--as-action-group-link-color);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* Table :: Inline Adapter
|
|
143
|
+
============================= */
|
|
144
|
+
|
|
145
|
+
.active-scaffold .view {
|
|
146
|
+
background-color: var(--as-nested-bg);
|
|
147
|
+
border-color: var(--as-nested-border-color);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* Nested
|
|
151
|
+
======================== */
|
|
152
|
+
|
|
153
|
+
.active-scaffold .active-scaffold .active-scaffold-footer {
|
|
154
|
+
color: var(--as-nested-footer-color);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.active-scaffold .active-scaffold tr.record {
|
|
158
|
+
background-color: var(--as-nested-column-bg);
|
|
159
|
+
border-color: var(--as-nested-column-border-color);
|
|
160
|
+
}
|
|
161
|
+
.active-scaffold .active-scaffold tr.even-record {
|
|
162
|
+
background-color: var(--as-nested-column-even-bg);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.active-scaffold .active-scaffold td.inline-adapter-cell {
|
|
166
|
+
background-color: var(--as-second-nested-bg);
|
|
167
|
+
border-color: var(--as-second-nested-border-color);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.active-scaffold .active-scaffold .active-scaffold td.inline-adapter-cell {
|
|
171
|
+
background-color: var(--as-third-nested-bg);
|
|
172
|
+
border-color: var(--as-third-nested-border-color);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* Footer
|
|
176
|
+
========================== */
|
|
177
|
+
|
|
178
|
+
.active-scaffold-calculations td {
|
|
179
|
+
background-color: var(--as-calculations-bg);
|
|
180
|
+
border-color: var(--as-calculations-border-color);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.active-scaffold-footer .next {
|
|
184
|
+
border-color: var(--as-pagination-border-color);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.active-scaffold-footer .previous {
|
|
188
|
+
border-color: var(--as-pagination-border-color);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/* Messages
|
|
192
|
+
========================= */
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
.active-scaffold .empty-message, .active-scaffold .filtered-message {
|
|
196
|
+
background-color: var(--as-msg-filtered-bg);
|
|
197
|
+
color: var(--as-msg-filtered-color);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.active-scaffold .message {
|
|
201
|
+
color: var(--as-msg-color);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.active-scaffold .error-message, .active-scaffold-component .error-message {
|
|
205
|
+
border-color: var(--as-msg-error-border-color);
|
|
206
|
+
background-color: var(--as-msg-error-bg);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.active-scaffold .warning-message {
|
|
210
|
+
border-color: var(--as-msg-warning-border-color);
|
|
211
|
+
background-color: var(--as-msg-warning-bg);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.active-scaffold .info-message {
|
|
215
|
+
border-color: var(--as-msg-info-border-color);
|
|
216
|
+
background-color: var(--as-msg-info-bg);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/* Error Styling
|
|
220
|
+
========================== */
|
|
221
|
+
|
|
222
|
+
.active-scaffold .errorExplanation {
|
|
223
|
+
background-color: var(--as-msg-error-bg);
|
|
224
|
+
border-color: var(--as-msg-error-border-color);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.active-scaffold .errorExplanation h2 {
|
|
228
|
+
color: var(--as-msg-color);
|
|
229
|
+
background-color: var(--as-msg-error-border-color);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* Show
|
|
233
|
+
============================= */
|
|
234
|
+
|
|
235
|
+
.active-scaffold .show-view dt {
|
|
236
|
+
color: var(--as-label-color);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/* Form
|
|
240
|
+
============================== */
|
|
241
|
+
|
|
242
|
+
.active-scaffold h4,
|
|
243
|
+
.active-scaffold h5 {
|
|
244
|
+
color: var(--as-form-title-color);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/* Form :: Fields
|
|
248
|
+
============================== */
|
|
249
|
+
|
|
250
|
+
.active-scaffold label {
|
|
251
|
+
color: var(--as-label-color);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.active-scaffold .description {
|
|
255
|
+
color: var(--as-description-color);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.active-scaffold label.example {
|
|
259
|
+
color: var(--as-placeholder-color);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.active-scaffold input.text-input,
|
|
263
|
+
.active-scaffold select {
|
|
264
|
+
border-color: var(--as-input-border-color);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.active-scaffold input:invalid,
|
|
268
|
+
.active-scaffold textarea:invalid,
|
|
269
|
+
.active-scaffold select:invalid,
|
|
270
|
+
.active-scaffold .fieldWithErrors input,
|
|
271
|
+
.active-scaffold .field_with_errors input,
|
|
272
|
+
.active-scaffold .fieldWithErrors textarea,
|
|
273
|
+
.active-scaffold .field_with_errors textarea,
|
|
274
|
+
.active-scaffold .fieldWithErrors select,
|
|
275
|
+
.active-scaffold .field_with_errors select {
|
|
276
|
+
border-color: var(--as-input-error-border-color);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.active-scaffold input.example {
|
|
280
|
+
color: var(--as-placeholder-color);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.active-scaffold select:focus,
|
|
284
|
+
.active-scaffold input.text-input:focus {
|
|
285
|
+
background-color: var(--as-input-focus-bg);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.active-scaffold textarea {
|
|
289
|
+
border-color: var(--as-input-border-color);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.active-scaffold form .checkbox-list.draggable-list {
|
|
293
|
+
background-color: var(--as-draggable-list-bg);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.active-scaffold form .checkbox-list.draggable-list.selected {
|
|
297
|
+
background-color: var(--as-draggable-list-selected-bg);
|
|
298
|
+
}
|
|
299
|
+
.active-scaffold .ui-droppable-disabled, .active-scaffold .ui-droppable-disabled.selected {
|
|
300
|
+
background-color: var(--as-draggable-list-disabled-bg);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
/* Form :: Association Sub-Forms
|
|
305
|
+
============================== */
|
|
306
|
+
|
|
307
|
+
.active-scaffold .sub-form table th {
|
|
308
|
+
color: var(--as-subform-header-color);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.active-scaffold .sub-form .checkbox-list {
|
|
312
|
+
background-color: var(--as-checkbox-list-bg);
|
|
313
|
+
border-color: var(--as-input-border-color);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.active-scaffold .vertical-sub-form .sub-form-record + .sub-form-record {
|
|
317
|
+
border-color: var(--as-vertical-sub-form-border-color);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.active-scaffold .sub-form table td {
|
|
321
|
+
color: var(--as-subform-color);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.active-scaffold .sub-form .footer {
|
|
325
|
+
color: var(--as-subform-footer-color);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.as_touch th a, .as_touch th a:visited {
|
|
329
|
+
color: var(--as-column-header-link-color);
|
|
330
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
.active-scaffold-header div.actions div.action_group div {
|
|
2
|
+
background-image: url("active_scaffold/gears.png"); /* default icon for actions or override with css */
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.active-scaffold-header div.actions a.show_config_list {
|
|
6
|
+
background-image: url("active_scaffold/config.png");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.active-scaffold-header div.actions a.new,
|
|
10
|
+
.active-scaffold-header div.actions a.new_existing {
|
|
11
|
+
background-image: url("active_scaffold/add.png");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.active-scaffold-header div.actions a.show_search {
|
|
15
|
+
background-image: url("active_scaffold/magnifier.png");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.active-scaffold th.asc a {
|
|
19
|
+
background-image: url("active_scaffold/arrow_up.png");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.active-scaffold th.desc a {
|
|
23
|
+
background-image: url("active_scaffold/arrow_down.png");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
.active-scaffold .draggable-lists-container .check-buttons {
|
|
28
|
+
.check-all, .uncheck-all {
|
|
29
|
+
background-image: url("active_scaffold/fast-arrow-right.svg");
|
|
30
|
+
background-repeat: no-repeat;
|
|
31
|
+
background-size: contain;
|
|
32
|
+
width: 16px;
|
|
33
|
+
text-indent: 20px;
|
|
34
|
+
overflow: hidden;
|
|
35
|
+
white-space: nowrap;
|
|
36
|
+
}
|
|
37
|
+
.uncheck-all {
|
|
38
|
+
background-image: url("active_scaffold/fast-arrow-left.svg");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.active-scaffold th.loading a {
|
|
43
|
+
background-image: url("active_scaffold/indicator-small.gif");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.active-scaffold a.inline-adapter-close {
|
|
47
|
+
background-image: url("active_scaffold/close.png");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.active-scaffold .sub-form .association-record a.destroy {
|
|
51
|
+
background-image: url("active_scaffold/cross.png");
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.as_touch a.inline-adapter-close {
|
|
55
|
+
background-image: url("active_scaffold/close_touch.png");
|
|
56
|
+
}
|
|
57
|
+
.active-scaffold .refresh-link {
|
|
58
|
+
background-image: url("active_scaffold/refresh.png");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.ui-dialog .loading::after {
|
|
62
|
+
background: url("active_scaffold/indicator.gif") no-repeat;
|
|
63
|
+
content: 'Loading...';
|
|
64
|
+
padding-left: 20px;
|
|
65
|
+
}
|
|
@@ -380,6 +380,7 @@ text-indent: -4000px;
|
|
|
380
380
|
width: 16px;
|
|
381
381
|
height: 17px;
|
|
382
382
|
background: 0 0 no-repeat;
|
|
383
|
+
overflow: hidden;
|
|
383
384
|
}
|
|
384
385
|
|
|
385
386
|
/* Nested
|
|
@@ -750,6 +751,12 @@ float: left;
|
|
|
750
751
|
.active-scaffold li.form-element dd input[type="checkbox"] {
|
|
751
752
|
margin-top: 6px;
|
|
752
753
|
}
|
|
754
|
+
.active-scaffold form input[type=radio] {
|
|
755
|
+
margin-right: 5px;
|
|
756
|
+
}
|
|
757
|
+
.active-scaffold form label:has(input[type=radio]) {
|
|
758
|
+
margin-right: 10px;
|
|
759
|
+
}
|
|
753
760
|
|
|
754
761
|
.active-scaffold li.form-element dd .select-field:not(.draggable-lists-container) {
|
|
755
762
|
display: inline-block;
|
|
@@ -983,6 +990,19 @@ clear: left;
|
|
|
983
990
|
padding: 5px 0;
|
|
984
991
|
}
|
|
985
992
|
|
|
993
|
+
/* Form :: Multiple Columns Layout
|
|
994
|
+
============================== */
|
|
995
|
+
|
|
996
|
+
.active-scaffold .form-columns {
|
|
997
|
+
display: flex;
|
|
998
|
+
gap: 10px;
|
|
999
|
+
|
|
1000
|
+
> ol.form {
|
|
1001
|
+
flex: 1;
|
|
1002
|
+
min-width: 0;
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
|
|
986
1006
|
/* Form :: Association Sub-Forms
|
|
987
1007
|
============================== */
|
|
988
1008
|
|
|
@@ -1039,7 +1059,7 @@ padding: 0 2px 2px 2px;
|
|
|
1039
1059
|
border: solid 1px;
|
|
1040
1060
|
}
|
|
1041
1061
|
|
|
1042
|
-
.active-scaffold .sub-form .checkbox-list
|
|
1062
|
+
.active-scaffold .sub-form .checkbox-list li {
|
|
1043
1063
|
display: block;
|
|
1044
1064
|
}
|
|
1045
1065
|
|