adjustments in file form

This commit is contained in:
yqbk
2016-08-15 14:59:04 +02:00
parent 2c23d96fae
commit aa254366db
3 changed files with 57 additions and 45 deletions

View File

@ -4,7 +4,8 @@ button i.fa-spin {
.editor {
height: 100%;
width: 100%;
width: auto;
margin: 12px;
}
.frame {

View File

@ -1,40 +1,46 @@
- id = f.object.id
li.panel.panel-default
.panel-heading role="tab" id="heading"
a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{id}"
div.clearfix role="button"
span = f.object.name
.panel-collapse.collapse-in id="collapse#{id}" role="tabpanel"
.panel-body
.clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right')
.form-group
= f.label(:name, t('activerecord.attributes.file.name'))
= f.text_field(:name, class: 'form-control')
.form-group
= f.label(:path, t('activerecord.attributes.file.path'))
= f.text_field(:path, class: 'form-control')
.help-block = t('.hints.path')
.form-group
= f.label(:file_type_id, t('activerecord.attributes.file.file_type_id'))
= f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control')
.form-group
= f.label(:role, t('activerecord.attributes.file.role'))
= f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map { |role| [t("files.roles.#{role}"), role] }, {include_blank: true}, class: 'form-control')
.checkbox
label
= f.check_box(:hidden)
= t('activerecord.attributes.file.hidden')
.checkbox
label
= f.check_box(:read_only)
= t('activerecord.attributes.file.read_only')
.test-related-fields style="display: #{f.object.teacher_defined_test? ? 'initial' : 'none'};"
//- id = f.object.id
= form_for(file) do |f|
li.panel.panel-default
.panel-heading role="tab" id="heading"
a.file-heading data-toggle="collapse" data-parent="#files" href="#collapse#{file.id}"
div.clearfix role="button"
span = file.name
/.panel-collapse.collapse id="collapse#{file.id}" role="tabpanel"
.panel-body
.clearfix = link_to(t('shared.destroy'), '#', class:'btn btn-warning btn-sm discard-file pull-right')
.form-group
= f.label(:name, t('activerecord.attributes.file.feedback_message'))
= f.text_area(:feedback_message, class: 'form-control', maxlength: 255)
.help-block = t('.hints.feedback_message')
= f.label(:name, t('activerecord.attributes.file.name'))
= f.text_field(:name, class: 'form-control')
.form-group
= f.label(:role, t('activerecord.attributes.file.weight'))
= f.number_field(:weight, class: 'form-control', min: 1, step: 'any')
/= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content'))
= render('ace', exercise: @exercise, file: @files.first)
= f.label(:path, t('activerecord.attributes.file.path'))
= f.text_field(:path, class: 'form-control')
.help-block = t('.hints.path')
.form-group
= f.label(:file_type_id, t('activerecord.attributes.file.file_type_id'))
= f.collection_select(:file_type_id, @file_types, :id, :name, {}, class: 'form-control')
.form-group
= f.label(:role, t('activerecord.attributes.file.role'))
= f.select(:role, CodeOcean::File::TEACHER_DEFINED_ROLES.map { |role| [t("files.roles.#{role}"), role] }, {include_blank: true}, class: 'form-control')
.checkbox
label
= f.check_box(:hidden)
= t('activerecord.attributes.file.hidden')
.checkbox
label
= f.check_box(:read_only)
= t('activerecord.attributes.file.read_only')
.test-related-fields style="display: #{file.teacher_defined_test? ? 'initial' : 'none'};"
.form-group
= f.label(:name, t('activerecord.attributes.file.feedback_message'))
= f.text_area(:feedback_message, class: 'form-control', maxlength: 255)
.help-block = t('.hints.feedback_message')
.form-group
= f.label(:role, t('activerecord.attributes.file.weight'))
= f.number_field(:weight, class: 'form-control', min: 1, step: 'any')
/render ace editor
- unless file.new_record?
= render partial: 'ace', locals: { exercise: @exercise, file: file }
/Disabled blank text editor field
/= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content'))

View File

@ -30,15 +30,20 @@
= f.check_box(:allow_file_creation)
= t('activerecord.attributes.exercise.allow_file_creation')
h2 = t('activerecord.attributes.exercise.files')
/render ace editor for not hidden files
= render('ace', exercise: @exercise, file: @files.first)
/hidden editor -> to be deleted
.hidden = render('ace', exercise: @exercise, file: @files.first)
/after use $('.frame').show() in js console everything works fine, probably editors are hidden somewhere in editor.js because we get "display:none" on frames
ul#files.list-unstyled.panel-group
= f.fields_for :files do |files_form|
= render('file_form', f: files_form, file: files_form.object, code: @files)
= @exercise.files.each do |file|
= render partial: 'file_form', locals: { file: file }
/= f.fields_for :files do |files_form|
/ = render('file_form', f: files_form, file: files_form.object, code: @files)
a#add-file.btn.btn-default.btn-sm.pull-right href='#' = t('.add_file')
ul#dummies.hidden = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form|
= render('file_form', f: files_form, file: nil)
ul#dummies.hidden
// = f.fields_for(:files, CodeOcean::File.new, child_index: 'index') do |files_form|
= render partial: 'file_form', locals: { file: CodeOcean::File.new }
//= render('file_form', f: files_form, file: nil)
.actions = render('shared/submit_button', f: f, object: @exercise)