%h3.page-title New file
%hr
.file-editor
  = form_tag(project_new_tree_path(@project, @id), method: :put, class: 'form-horizontal form-new-file') do
    .form-group.commit_message-group
      = label_tag 'file_name', class: 'control-label' do
        File name
      .col-sm-10
        .input-group
          %span.input-group-addon
            = @path[-1] == "/" ? @path : @path + "/"
          = text_field_tag 'file_name', params[:file_name], placeholder: "sample.rb", required: true, class: 'form-control'
          %span.input-group-addon
            on
            %span= @ref

    .form-group.commit_message-group
      = label_tag :encoding, class: "control-label" do
        Encoding
      .col-sm-10
        = select_tag :encoding, options_for_select([ "base64", "text" ], "text"), class: 'form-control'

    .form-group.commit_message-group
      = label_tag 'commit_message', class: "control-label" do
        Commit message
      .col-sm-10
        = render 'shared/commit_message_container', {textarea: text_area_tag('commit_message form-control',
            params[:commit_message], placeholder: "Added new file", required: true, rows: 3, class: 'form-control')}

    .file-holder
      .file-title
        %i.icon-file
      .file-content.code
        %pre#editor= params[:content]

    .form-actions
      = hidden_field_tag 'content', '', id: "file-content"
      .commit-button-annotation
        = button_tag "Commit changes", class: 'btn commit-btn js-commit-button btn-create'
        .message
          to branch
          %strong= @ref
      = link_to "Cancel", project_tree_path(@project, @id), class: "btn btn-cancel", data: { confirm: leave_edit_message}

:javascript
  ace.config.set("modePath", gon.relative_url_root + "#{Gitlab::Application.config.assets.prefix}/ace-src-noconflict")
  var editor = ace.edit("editor");

  disableButtonIfAnyEmptyField($('.form-new-file'), '.form-control', '.btn-create')

  $(".js-commit-button").click(function(){
    $("#file-content").val(editor.getValue());
    $(".file-editor form").submit();
  });
