<commit_before><%inherit file="project.view.mako" />
<% import Site.Settings %>

<form id="fileupload" action="${node_to_use.url() + '/files/upload'}" method="POST" enctype="multipart/form-data">
        <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
        <div class="row fileupload-buttonbar">
            <div class="span7">
                <!-- The fileinput-button span is used to style the file input field as button -->
                <span class="btn btn-success fileinput-button">
                    <i class="icon-plus icon-white"></i>
                    <span>Add files...</span>
                    <input type="file" name="files[]" multiple>
                </span>
                <button type="submit" class="btn btn-primary start">
                    <i class="icon-upload icon-white"></i>
                    <span>Start upload</span>
                </button>
                <button type="reset" class="btn btn-warning cancel">
                    <i class="icon-ban-circle icon-white"></i>
                    <span>Cancel upload</span>
                </button>
                <button type="button" class="btn btn-danger delete">
                    <i class="icon-trash icon-white"></i>
                    <span>Delete</span>
                </button>
                <input type="checkbox" class="toggle">
            </div>
            <!-- The global progress information -->
            <div class="span5 fileupload-progress fade">
                <!-- The global progress bar -->
                <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
                    <div class="bar" style="width:0%;"></div>
                </div>
                <!-- The extended global progress information -->
                <div class="progress-extended">&nbsp;</div>
            </div>
        </div>
        <!-- The loading indicator is shown during file processing -->
        <div class="fileupload-loading"></div>
        <br>
        <!-- The table listing the files available for upload/download -->
        <table role="presentation" class="table table-striped">
            <thead>
                <tr>
                    <th>Filename</th>
                    <th>Date Modified</th>
                    <th>File Size</th>
                    <th colspan=2>Downloads</th>
                </tr>
            </thead>
            <tbody class="files">
            </tbody>
        </table>
</form>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade">
        <td class="preview"><span class="fade"></span></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        {% if (file.error) { %}
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else if (o.files.valid && !i) { %}
            <td>
                <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
            </td>
            <td class="start">{% if (!o.options.autoUpload) { %}
                <button class="btn btn-primary">
                    <i class="icon-upload icon-white"></i>
                    <span>{%=locale.fileupload.start%}</span>
                </button>
            {% } %}</td>
        {% } else { %}
            <td colspan="2"></td>
        {% } %}
        ##<td class="cancel">{% if (!i) { %}
        ##    <button class="btn btn-warning">
        ##        <i class="icon-ban-circle icon-white"></i>
        ##        <span>{%=locale.fileupload.cancel%}</span>
        ##    </button>
        ##{% } %}</td>
    </tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade">
        {% if (file.error) { %}
            <td></td>
            <td class="name"><span>{%=file.name%}</span></td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else { %}
            <td class="name">
                <a href="{%=file.url%}" title="{%=file.name%}">{%=file.name%}</a>
            </td>
            <td>{%=file.date_uploaded%}</td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td>{%=file.downloads%}</td>
            <td><a href="{%=file.download_url%}" download="{%=file.name%}"><i class="icon-download-alt"></i></a></td>
            <td><form style='margin:0' method='post' action='${node_to_use.url() + '/files/delete/{%=file.name%}'}'>
                <button type="submit" class="btn btn-danger delete">
                    <i class="icon-trash icon-white"></i>
                    <span>Delete</span>
                </button>
                </form>
            </td>
        {% } %}
        ##<td class="delete">
        ##    <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
        ##        <i class="icon-trash icon-white"></i>
        ##        <span>{%=locale.fileupload.destroy%}</span>
        ##    </button>
        ##    <input type="checkbox" name="delete" value="1">
        ##</td>
    </tr>
{% } %}
</script>
<script>
$(function () {
    'use strict';

    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload();
    $('#fileupload').fileupload('option',{
    	url: '${node_to_use.url() + '/files/upload'}',
    	acceptFileTypes: /(\.|\/)(.*)$/i,
    	maxFileSize: 250000000,
	});

     // Load existing files:
     $('#fileupload').each(function () {
         var that = this;
         $.getJSON(this.action, function (result) {
             if (result && result.files.length) {
                 $(that).fileupload('option', 'done')
                     .call(that, null, {result: result.files});
             }
         });
     });<commit_msg>Cleans up UI for file deletions.<commit_after><%inherit file="project.view.mako" />
<% import Site.Settings %>

<form id="fileupload" action="${node_to_use.url() + '/files/upload'}" method="POST" enctype="multipart/form-data">
        <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
        <div class="row fileupload-buttonbar">
            <div class="span7">
                <!-- The fileinput-button span is used to style the file input field as button -->
                <span class="btn btn-success fileinput-button">
                    <i class="icon-plus icon-white"></i>
                    <span>Add files...</span>
                    <input type="file" name="files[]" multiple>
                </span>
                <button type="submit" class="btn btn-primary start">
                    <i class="icon-upload icon-white"></i>
                    <span>Start upload</span>
                </button>
                <button type="reset" class="btn btn-warning cancel">
                    <i class="icon-ban-circle icon-white"></i>
                    <span>Cancel upload</span>
                </button>
            </div>
            <!-- The global progress information -->
            <div class="span5 fileupload-progress fade">
                <!-- The global progress bar -->
                <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
                    <div class="bar" style="width:0%;"></div>
                </div>
                <!-- The extended global progress information -->
                <div class="progress-extended">&nbsp;</div>
            </div>
        </div>
        <!-- The loading indicator is shown during file processing -->
        <div class="fileupload-loading"></div>
        <br>
        <!-- The table listing the files available for upload/download -->
        <table role="presentation" class="table table-striped">
            <thead>
                <tr>
                    <th>Filename</th>
                    <th>Date Modified</th>
                    <th>File Size</th>
                    <th colspan=2>Downloads</th>
                </tr>
            </thead>
            <tbody class="files">
            </tbody>
        </table>
</form>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade">
        <td class="preview"><span class="fade"></span></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        {% if (file.error) { %}
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else if (o.files.valid && !i) { %}
            <td>
                <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
            </td>
            <td class="start">{% if (!o.options.autoUpload) { %}
                <button class="btn btn-primary">
                    <i class="icon-upload icon-white"></i>
                    <span>{%=locale.fileupload.start%}</span>
                </button>
            {% } %}</td>
        {% } else { %}
            <td colspan="2"></td>
        {% } %}
        ##<td class="cancel">{% if (!i) { %}
        ##    <button class="btn btn-warning">
        ##        <i class="icon-ban-circle icon-white"></i>
        ##        <span>{%=locale.fileupload.cancel%}</span>
        ##    </button>
        ##{% } %}</td>
    </tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade">
        {% if (file.error) { %}
            <td></td>
            <td class="name"><span>{%=file.name%}</span></td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else { %}
            <td class="name">
                <a href="{%=file.url%}" title="{%=file.name%}">{%=file.name%}</a>
            </td>
            <td>{%=file.date_uploaded%}</td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td>{%=file.downloads%}</td>
            <td><a href="{%=file.download_url%}" download="{%=file.name%}"><i class="icon-download-alt"></i></a></td>
            <td><form style='margin:0' method='post' class='fileDeleteForm' action='${node_to_use.url() + '/files/delete/{%=file.name%}'}'>
                <button type="button" class="btn btn-danger btn-delete" onclick='deleteFile(this)'>
                    <i class="icon-trash icon-white"></i>
                    <span>Delete</span>
                </button>
                </form>
            </td>
        {% } %}
        ##<td class="delete">
        ##    <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
        ##        <i class="icon-trash icon-white"></i>
        ##        <span>{%=locale.fileupload.destroy%}</span>
        ##    </button>
        ##    <input type="checkbox" name="delete" value="1">
        ##</td>
    </tr>
{% } %}
</script>
<script>
function deleteFile(button) {
   var url = $(button).parents('form.fileDeleteForm').attr('action');
    $.post(url, function(data) {
            if(!data.success) {
                alert('Error!');
            } else {
                $(button).parents('.template-download').fadeOut();
            }
    })
}

$(function () {
    'use strict';

    // Initialize the jQuery File Upload widget:
    $('#fileupload').fileupload();
    $('#fileupload').fileupload('option',{
    	url: '${node_to_use.url() + '/files/upload'}',
    	acceptFileTypes: /(\.|\/)(.*)$/i,
    	maxFileSize: 250000000,
	});

     // Load existing files:
     $('#fileupload').each(function () {
         var that = this;
         $.getJSON(this.action, function (result) {
             if (result && result.files.length) {
                 $(that).fileupload('option', 'done')
                     .call(that, null, {result: result.files});
             }
         });
     });
{'fraction_non_alphanumeric': 0.19542587949243978, 'fraction_numerical': 0.0045589240939138366, 'mean_word_length': 1.927491103202847, 'pattern_counts': {'":': 0, '<': 336, '<?xml version=': 0, '>': 336, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 19, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3518055', 'n_tokens_mistral': 3983, 'n_tokens_neox': 3730, 'n_words': 741}