improvements for togglable form inputs
This commit is contained in:
@ -7,16 +7,21 @@ $(function() {
|
||||
|
||||
$('form').on('click', '.toggle-input', function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
if (!$(this).hasClass('disabled')) {
|
||||
$(this).hide();
|
||||
var parent = $(this).parents('.form-group');
|
||||
var original_input = parent.find('input:not(disabled), select:not(disabled), textarea:not(disabled), .chosen-container');
|
||||
original_input.attr('disabled', true);
|
||||
original_input.hide();
|
||||
var original_input = parent.find('.original-input');
|
||||
var alternative_input = parent.find('.alternative-input');
|
||||
alternative_input.attr('disabled', false);
|
||||
alternative_input.show();
|
||||
alternative_input.trigger('click');
|
||||
|
||||
if (alternative_input.attr('disabled')) {
|
||||
$(this).text($(this).data('text-toggled'));
|
||||
original_input.attr('disabled', true).hide();
|
||||
alternative_input.attr('disabled', false).show();
|
||||
} else {
|
||||
$(this).text($(this).data('text-initial'));
|
||||
alternative_input.attr('disabled', true).hide();
|
||||
original_input.attr('disabled', false).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -9,8 +9,8 @@
|
||||
.form-group
|
||||
= f.label(:docker_image)
|
||||
|
|
||||
a.toggle-input href='#' = t('shared.new')
|
||||
= f.select(:docker_image, @docker_images, {}, class: 'form-control')
|
||||
a.toggle-input data={text_initial: t('shared.new'), text_toggled: t('shared.back')} href='#' = t('shared.new')
|
||||
.original-input = f.select(:docker_image, @docker_images, {}, class: 'form-control')
|
||||
= f.text_field(:docker_image, class: 'alternative-input form-control', disabled: true)
|
||||
.help-block == t('.hints.docker_image')
|
||||
.form-group
|
||||
|
@ -1,6 +1,6 @@
|
||||
.form-group class="form-group-#{attribute.to_s.gsub('_', '-')}"
|
||||
= form.label(attribute, label)
|
||||
|
|
||||
a.toggle-input href='#' = t('shared.upload_file')
|
||||
= form.text_area(attribute, class: 'code-field form-control', rows: 16)
|
||||
a.toggle-input data={text_initial: t('shared.upload_file'), text_toggled: t('shared.back')} href='#' = t('shared.upload_file')
|
||||
= form.text_area(attribute, class: 'code-field form-control original-input', rows: 16)
|
||||
= form.file_field(attribute, class: 'alternative-input form-control', disabled: true)
|
||||
|
Reference in New Issue
Block a user