diff --git a/app/assets/javascripts/repositories/forms/repository_item_edit.js b/app/assets/javascripts/repositories/forms/repository_item_edit.js deleted file mode 100644 index a398437f8..000000000 --- a/app/assets/javascripts/repositories/forms/repository_item_edit.js +++ /dev/null @@ -1,260 +0,0 @@ -// /* global Promise _ ActiveStorage RepositoryItemEditForm */ -// -// //= require sugar.min -// //= require jquerymy-1.2.14.min -// -// (function(global) { -// 'use strict'; -// -// /** -// * Creates a FormData object with the repository row data ready to be -// * sended on the server -// * -// * @param {Object} tableID -// * @param {Object} selectedRecord -// * -// * @returns (Object) -// */ -// RepositoryItemEditForm.prototype.parseToFormObject = function(tableID, selectedRecord) { -// var formData = this.formData; -// var formDataObj = new FormData(); -// var removeFileColumns = []; -// var filesToUploadCntr = 0; -// var filesUploadedCntr = 0; -// const directUploadUrl = $(tableID).data('directUploadUrl'); -// -// formDataObj.append('request_url', $(tableID).data('current-uri')); -// formDataObj.append('repository_row_id', $(selectedRecord).attr('id')); -// -// return new Promise((resolve, reject) => { -// $(_.keys(this.formData)).each(function(_, element) { -// var value = formData[element]; -// if (element === 'rowName') { -// formDataObj.append('repository_row_name', value); -// } else { -// let colId = element.replace('colId-', ''); -// let $el = $('#' + element); -// // don't save anything if element is not visible -// if ($el.length === 0) { -// return; -// } -// if ($el.attr('type') === 'file') { -// // handle deleting of element -// if ($el.attr('remove') === 'true') { -// removeFileColumns.push(colId); -// formDataObj.append('repository_cells[' + colId + ']', null); -// } else if ($el[0].files.length > 0) { -// filesToUploadCntr += 1; -// } -// } else if (value.length >= 0) { -// formDataObj.append('repository_cells[' + colId + ']', value); -// } -// } -// }); -// -// formDataObj.append('remove_file_columns', JSON.stringify(removeFileColumns)); -// -// // No files for upload, so return earlier -// if (filesToUploadCntr === 0) { -// resolve(formDataObj); -// return; -// } -// -// // Second run, just for files -// $(_.keys(this.formData)).each(function(_, element) { -// let $el = $('#' + element); -// let colId = element.replace('colId-', ''); -// -// if ($el.attr('type') === 'file' && $el.attr('remove') !== 'true') { -// let upload = new ActiveStorage.DirectUpload($el[0].files[0], directUploadUrl); -// -// upload.create(function(error, blob) { -// if (error) { -// reject(error); -// } else { -// formDataObj.append('repository_cells[' + colId + ']', blob.signed_id); -// filesUploadedCntr += 1; -// -// if (filesUploadedCntr === filesToUploadCntr) { -// resolve(formDataObj); -// } -// } -// }); -// } -// }); -// }); -// }; -// -// /** -// * Takes object and creates an input file field, contains a hidden -// * input field which is triggered on button click and we get the uploaded -// * file from there. -// * -// * @param {Object} object -// * @param {String} name -// * @param {String} value -// * @param {String} id -// * -// * @returns (String) -// */ -// function changeToInputFileField(object, name, value, id) { -// var fileName = (value.file_name) ? value.file_name : I18n.t('general.file.no_file_chosen'); -// var buttonLabel = I18n.t('general.file.choose'); -// var html = "
" + -// "

" + truncateLongString(fileName, 20) + -// "

"; -// if(value.file_name) { -// html += "
'; -// html += ''; -// $.each(options, function(index, value) { -// var selected = ''; -// if (current_value === value[1]) { -// selected = 'selected'; -// val = value[0]; -// } -// html += ''; -// }); -// html += ''; -// return (val) ? $(html).attr('data-selected-value', val)[0] : html; -// } -// -// /** -// * Takes an object and creates custom html element -// * -// * @param {String} object -// * @param {String} name -// * @param {String} column_type -// * @param {Object} cell -// * @param {Object} listColumns -// * -// * @returns (String) -// */ -// function changeToFormField(object, name, column_type, cell, listColumns) { -// var cellId = generateInputFieldReference(name); -// var value = cell.value || ''; -// if (column_type === 'RepositoryListValue') { -// var column = _.findWhere(listColumns, -// { column_id: parseInt(name, 10) }); -// var list_items = column.list_items || cell.list_items; -// return _listItemDropdown(list_items, value, parseInt(name, 10), cellId); -// } else if (column_type === 'RepositoryAssetValue') { -// return changeToInputFileField('repository_cell_file', name, value, cellId); -// } else { -// return changeToInputField(object, name, value, cellId); -// } -// } -// -// /** -// * Append the change listener to file field -// * -// * @param {String} type -// * @param {String} name -// * -// * @returns {undefined} -// */ -// function addSelectedFile(type, name) { -// var button = $('button[data-id="' + -// generateInputFieldReference(name) + -// '"]'); -// if (type === 'RepositoryAssetValue') { -// var fileInput = $(button.parent().find('input[type="file"]')[0]); -// button.on('click', function(ev) { -// ev.preventDefault(); -// ev.stopPropagation(); -// fileInput.trigger('click'); -// initFileHandler(fileInput); -// }); -// } -// } -// -// /** -// * Handle extraction of file from the input field -// * -// * @param {Object} $inputField -// * -// * @returns {undefined} -// */ -// function initFileHandler($inputField) { -// $inputField.on('change', function() { -// var input = $(this); -// var $label = $($(this).closest('.repository-input-file-field') -// .find('.file-name-label')[0]); -// var file = this.files[0]; -// if (file) { -// $label.text(truncateLongString(file.name, 20)); -// input.attr('remove', false); -// $($label.closest('.repository-input-file-field') -// .find('[data-action="removeAsset"]')[0]).show(); -// } -// }) -// } -// -// /** -// * Generates the input tag id that will be used in the formData object -// * -// * @param {String} columnId -// * -// * @returns {String} -// */ -// function generateInputFieldReference(columnId) { -// return 'colId-' + columnId; -// } -// -// /** -// * Appends aditional fields to form data object -// * @param {Object} cell -// * @param {String} columnId -// * @param {Object} formData -// * -// * @returns {undefined} -// */ -// function appendNewElementToFormData(cell, columnId, formData) { -// if (!cell.repository_cell_id) { -// formData[generateInputFieldReference(columnId)] = undefined; -// } -// } -// }(window)); diff --git a/app/assets/javascripts/repositories/repository_datatable.js b/app/assets/javascripts/repositories/repository_datatable.js index a097d22d4..bb389380a 100644 --- a/app/assets/javascripts/repositories/repository_datatable.js +++ b/app/assets/javascripts/repositories/repository_datatable.js @@ -144,21 +144,6 @@ var RepositoryDatatable = (function(global) { } } - // Helper functions - // function listItemDropdown(options, currentValue, columnId) { - // var html = `'; - // return html; - // } - function initRowSelection() { // Handle clicks on checkbox $('.dt-body-center .repository-row-selector').change(function(ev) { @@ -279,23 +264,6 @@ var RepositoryDatatable = (function(global) { ); } - // Takes object and surrounds it with input - // function changeToInputField(object, name, value) { - // return "
"; - // } - - // Takes object and surrounds it with input - function changeToInputFileField(object, name, value) { - return "
'; - } - function initHeaderTooltip() { // Fix compatibility of fixed table header and column names modal-tooltip $('.modal-tooltip').off(); @@ -402,75 +370,6 @@ var RepositoryDatatable = (function(global) { }); } - // function initialListItemsRequest(columnId) { - // var massageResponse = []; - // $.ajax({ - // url: $(TABLE_ID).data('list-items-path'), - // type: 'POST', - // dataType: 'json', - // async: false, - // data: { - // q: '', - // column_id: columnId - // } - // }).done(function(data) { - // $.each(data.list_items, function(index, el) { - // massageResponse.push([el.id, el.data]); - // }); - // }); - // return listItemDropdown(massageResponse, '-1', columnId); - // } - - function initSelectPicker() { - $('.selectpicker') - .selectpicker({ liveSearch: true }) - .ajaxSelectPicker({ - ajax: { - url: $(TABLE_ID).data('list-items-path'), - type: 'POST', - dataType: 'json', - data: function() { - var params = { - q: '{{{q}}}', - column_id: $(this.valueOf().plugin.$element).attr('column_id') - }; - - return params; - } - }, - locale: { - emptyTitle: 'Nothing selected' - }, - preprocessData: function(data) { - var items = []; - if (Object.prototype.hasOwnProperty.call(data, 'list_items')) { - items.push({ - value: '-1', - text: '', - disabled: false - }); - $.each(data.list_items, function(index, el) { - items.push( - { - value: el.id, - text: el.data, - disabled: false - } - ); - }); - } - return items; - }, - emptyRequest: true, - clearOnEmpty: false, - preserveSelected: false - }).on('change.bs.select', function(el) { - $(this).closest('td').attr('list_item_id', el.target.value); - $(this).closest('td').attr('column_id', $(this).attr('column_id')); - }) - .trigger('change.bs.select'); - } - // Adjust columns width in table header function adjustTableHeader() { TABLE.columns.adjust(); @@ -480,18 +379,6 @@ var RepositoryDatatable = (function(global) { }); } - // Clear all has-error tags - // function clearAllErrors() { - // // Remove any validation errors - // $(selectedRecord) - // .find('.has-error') - // .removeClass('has-error') - // .find('span') - // .remove(); - // // Remove any alerts - // $('#alert-container').find('div').remove(); - // } - function dataTableInit() { viewAssigned = 'assigned'; TABLE = $(TABLE_ID).DataTable({ @@ -852,82 +739,6 @@ var RepositoryDatatable = (function(global) { adjustTableHeader(); }; - // function submitForm(url, formData) { - // var type; - // if (saveAction === 'update') { - // type = 'PUT'; - // } else { - // type = 'POST'; - // } - // $.ajax({ - // url: url, - // type: type, - // dataType: 'json', - // data: formData, - // processData: false, - // contentType: false, - // success: function(data) { - // HelperModule.flashAlertMsg(data.flash, 'success'); - // SmartAnnotation.closePopup(); - // SCINOTE_REPOSITORY_EDITED_ROWS = []; - // onClickCancel(); - // animateSpinner(null, false); - // }, - // error: function(ev) { - // var data = ev.responseJSON; - // animateSpinner(null, false); - // SmartAnnotation.closePopup(); - // clearAllErrors(); - // - // if (ev.status === 404) { - // HelperModule.flashAlertMsg( - // I18n.t('repositories.js.not_found_error'), 'danger' - // ); - // changeToViewMode(); - // } else if (ev.status === 403) { - // HelperModule.flashAlertMsg( - // I18n.t('repositories.js.permission_error'), 'danger' - // ); - // changeToViewMode(); - // } else if (ev.status === 400) { - // if (data.default_fields) { - // let defaultFields = data.default_fields; - // - // // Validate record name - // if (defaultFields.name) { - // let input = $(selectedRecord).find('input[name = name]'); - // - // if (input) { - // input.closest('.form-group').addClass('has-error'); - // input.parent().append("" + defaultFields.name + '
'); - // } - // } - // } - // - // // Validate custom cells - // $.each(data.repository_cells || [], function(_, val) { - // $.each(val, function(key, val2) { - // let input = $(selectedRecord).find('input[name=' + key + ']'); - // if (input) { - // let message = Array.isArray(val2.data) ? val2.data[0] : val2.data; - // // handle custom input field - // if (input.attr('type') === 'file') { - // let container = input.closest('.repository-input-file-field'); - // $(container.find('.form-group')[0]).addClass('has-error'); - // container.addClass('has-error'); - // container.append("" + message + '
'); - // } else { - // input.closest('.form-group').addClass('has-error'); - // input.parent().append("" + message + '
'); - // } - // } - // }); - // }); - // } - // } - // }); - // } - // Delete record global.onClickDelete = function() { $('#deleteRepositoryRecord').modal('show'); diff --git a/app/services/repository_table_state_column_update_service.rb b/app/services/repository_table_state_column_update_service.rb index 18a4e2ae7..380775404 100644 --- a/app/services/repository_table_state_column_update_service.rb +++ b/app/services/repository_table_state_column_update_service.rb @@ -19,7 +19,7 @@ class RepositoryTableStateColumnUpdateService state['columns'][index] = Constants::REPOSITORY_TABLE_STATE_CUSTOM_COLUMN_TEMPLATE state['ColReorder'] << index state['length'] = (index + 1) - state['time'] = Time.new.to_i + state['time'] = (Time.now.to_f * 1_000).to_i table_state.save end end @@ -53,7 +53,7 @@ class RepositoryTableStateColumnUpdateService end state['length'] = (state['length'] - 1) - state['time'] = Time.new.to_i + state['time'] = (Time.now.to_f * 1_000).to_i table_state.save end end