mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 23:16:15 +08:00
Fix edit mode for File and Text
This commit is contained in:
parent
9e0d0d74ea
commit
24acf1f84b
|
@ -5,7 +5,7 @@ var RepositoryColumns = (function() {
|
|||
|
||||
function initColumnTypeSelector() {
|
||||
var $manageModal = $(manageModal);
|
||||
$manageModal.off('click', '#repository-column-data-type').on('click', '#repository-column-data-type', function() {
|
||||
$manageModal.off('change', '#repository-column-data-type').on('change', '#repository-column-data-type', function() {
|
||||
$('.column-type').hide();
|
||||
$('[data-column-type="' + $(this).val() + '"]').show();
|
||||
});
|
||||
|
@ -75,6 +75,11 @@ var RepositoryColumns = (function() {
|
|||
$('[data-attr="no-columns"]').remove();
|
||||
}
|
||||
|
||||
function updateListItem(column) {
|
||||
var name = column.attributes.name;
|
||||
$('li[data-id=' + column.id + ']').find('span').first().text(name);
|
||||
}
|
||||
|
||||
function initCreateSubmitAction() {
|
||||
var $manageModal = $(manageModal);
|
||||
$manageModal.off('click', '#new-repo-column-submit').on('click', '#new-repo-column-submit', function() {
|
||||
|
@ -93,8 +98,23 @@ var RepositoryColumns = (function() {
|
|||
|
||||
function initEditSubmitAction() {
|
||||
var $manageModal = $(manageModal);
|
||||
$manageModal.off('click', '#new-repo-column-submit').on('click', '#new-repo-column-submit', function() {
|
||||
// TODO
|
||||
$manageModal.off('click', '#update-repo-column-submit').on('click', '#update-repo-column-submit', function() {
|
||||
var url = $('#repository-column-data-type').find(':selected').data('edit-url');
|
||||
var params = { repository_column: { name: $('#repository-column-name').val() } };
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'PUT',
|
||||
data: params,
|
||||
success: function(result) {
|
||||
var data = result.data;
|
||||
updateListItem(data);
|
||||
HelperModule.flashAlertMsg(data.attributes.message, 'success');
|
||||
$manageModal.modal('hide');
|
||||
},
|
||||
error: function(error) {
|
||||
$('#new-repository-column').renderFormErrors('repository_column', error.responseJSON.repository_column, true);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -110,6 +130,9 @@ var RepositoryColumns = (function() {
|
|||
|
||||
if (button.data('action') === 'new') {
|
||||
$('[data-column-type="RepositoryTextValue"]').show();
|
||||
$('#new-repo-column-submit').show();
|
||||
} else {
|
||||
$('#update-repo-column-submit').show();
|
||||
}
|
||||
}).fail(function() {
|
||||
HelperModule.flashAlertMsg(I18n.t('libraries.repository_columns.no_permissions'), 'danger');
|
||||
|
|
|
@ -14,7 +14,7 @@ module RepositoryColumns
|
|||
params: repository_column_params)
|
||||
|
||||
if service.succeed?
|
||||
render json: service.column, status: :created
|
||||
render json: service.column, status: :created, creating: true
|
||||
else
|
||||
render json: service.errors, status: :unprocessable_entity
|
||||
end
|
||||
|
@ -28,7 +28,7 @@ module RepositoryColumns
|
|||
params: repository_column_params)
|
||||
|
||||
if service.succeed?
|
||||
render json: service.column, status: :ok
|
||||
render json: service.column, status: :ok, updating: true
|
||||
else
|
||||
render json: service.errors, status: :unprocessable_entity
|
||||
end
|
||||
|
|
|
@ -14,9 +14,7 @@ module RepositoryColumns
|
|||
params: repository_column_params)
|
||||
|
||||
if service.succeed?
|
||||
render json: service.column,
|
||||
serializer: RepositoryColumnSerializer,
|
||||
status: :created
|
||||
render json: service.column, status: :created, creating: true
|
||||
else
|
||||
render json: service.errors, status: :unprocessable_entity
|
||||
end
|
||||
|
@ -30,7 +28,7 @@ module RepositoryColumns
|
|||
params: repository_column_params)
|
||||
|
||||
if service.succeed?
|
||||
render json: service.column, status: :ok
|
||||
render json: service.column, status: :ok, editing: true
|
||||
else
|
||||
render json: service.errors, status: :unprocessable_entity
|
||||
end
|
||||
|
|
|
@ -6,7 +6,11 @@ class RepositoryColumnSerializer < ActiveModel::Serializer
|
|||
attributes :id, :name, :message, :edit_html_url, :update_url, :destroy_html_url
|
||||
|
||||
def message
|
||||
I18n.t('libraries.repository_columns.create.success_flash', name: object.name)
|
||||
if instance_options[:creating]
|
||||
I18n.t('libraries.repository_columns.create.success_flash', name: object.name)
|
||||
elsif instance_options[:editing]
|
||||
I18n.t('libraries.repository_columns.update.success_flash', name: object.name)
|
||||
end
|
||||
end
|
||||
|
||||
def edit_html_url
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
class="form-control"
|
||||
type="text"
|
||||
name="repository_column[name]"
|
||||
id="repository-column-name">
|
||||
id="repository-column-name" value="<%= @repository_column.name unless @repository_column.new_record? %>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -29,17 +29,30 @@
|
|||
<%= t('libraries.manange_modal_column.colum_type') %>
|
||||
</label>
|
||||
<div class="col-sm-9">
|
||||
<select class="form-control" name="repository_column[data_type]" id="repository-column-data-type">
|
||||
<option data-create-url="<%= repository_repository_columns_text_columns_path(@repository) %>" value="RepositoryTextValue">
|
||||
<select class="form-control" name="repository_column[data_type]" id="repository-column-data-type"
|
||||
<%= 'disabled' unless @repository_column.new_record? %>>
|
||||
<option data-create-url="<%= repository_repository_columns_text_columns_path(@repository) %>"
|
||||
data-edit-url="<%= repository_repository_columns_text_column_path(@repository, @repository_column) unless @repository_column.new_record? %>"
|
||||
value="RepositoryTextValue"
|
||||
<%= 'selected' if @repository_column.RepositoryTextValue? %> >
|
||||
<%= t('libraries.manange_modal_column.select.repository_text_value') %>
|
||||
</option>
|
||||
<option data-create-url="<%= repository_repository_columns_date_columns_path(@repository) %>" value="RepositoryDateValue">
|
||||
<%= t('libraries.manange_modal_column.select.repository_date_value') %>
|
||||
<option data-create-url="<%= repository_repository_columns_status_columns_path(@repository) %>"
|
||||
data-edit-url="<%= repository_repository_columns_status_column_path(@repository, @repository_column) unless @repository_column.new_record? %>"
|
||||
value="RepositoryStatusValue"
|
||||
<%= 'selected' if @repository_column.RepositoryStatusValue? %> >
|
||||
<%= t('libraries.manange_modal_column.select.repository_status_value') %>
|
||||
</option>
|
||||
<option data-create-url="<%= repository_repository_columns_list_columns_path(@repository) %>" value="RepositoryListValue">
|
||||
<option data-create-url="<%= repository_repository_columns_list_columns_path(@repository) %>"
|
||||
data-edit-url="<%= repository_repository_columns_list_column_path(@repository, @repository_column) unless @repository_column.new_record? %>"
|
||||
value="RepositoryListValue"
|
||||
<%= 'selected' if @repository_column.RepositoryListValue? %> >
|
||||
<%= t('libraries.manange_modal_column.select.repository_list_value') %>
|
||||
</option>
|
||||
<option data-create-url="<%= repository_repository_columns_asset_columns_path(@repository) %>" value="RepositoryAssetValue">
|
||||
<option data-create-url="<%= repository_repository_columns_asset_columns_path(@repository) %>"
|
||||
data-edit-url="<%= repository_repository_columns_asset_column_path(@repository, @repository_column) unless @repository_column.new_record? %>"
|
||||
value="RepositoryAssetValue"
|
||||
<%= 'selected' if @repository_column.RepositoryAssetValue? %> >
|
||||
<%= t('libraries.manange_modal_column.select.repository_asset_value') %>
|
||||
</option>
|
||||
</select>
|
||||
|
@ -56,13 +69,16 @@
|
|||
<span style="display: none" class="column-type" data-column-type="RepositoryListValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/list.html.erb" %>
|
||||
</span>
|
||||
<span style="display: none" class="column-type" data-column-type="RepositoryDateValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/date.html.erb" %>
|
||||
<span style="display: none" class="column-type" data-column-type="RepositoryStatusValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/status.html.erb" %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button id="new-repo-column-submit" class="btn btn-success" data-action="save">
|
||||
<button id="new-repo-column-submit" class="btn btn-success" data-action="save" style="display: none;">
|
||||
<%= t("libraries.manange_modal_column.new.button") %>
|
||||
</button>
|
||||
<button id="update-repo-column-submit" class="btn btn-success" data-action="save" style="display: none;">
|
||||
<%= t("libraries.manange_modal_column.edit.button") %>
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -1 +1 @@
|
|||
<%= 'asset-test' %>
|
||||
<%# TO DO: add mandatory checkbox %>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
status
|
|
@ -1135,6 +1135,7 @@ en:
|
|||
select:
|
||||
repository_text_value: "Text"
|
||||
repository_date_value: "Date"
|
||||
repository_status_value: "Status"
|
||||
repository_list_value: "Dropdown"
|
||||
repository_asset_value: "File"
|
||||
new:
|
||||
|
@ -1142,6 +1143,7 @@ en:
|
|||
button: "Save column"
|
||||
edit:
|
||||
title: "Edit %{name} Column"
|
||||
button: "Update column"
|
||||
|
||||
repository_columns:
|
||||
head_title: '%{repository} | Manage Columns'
|
||||
|
|
|
@ -182,8 +182,8 @@ ALTER SEQUENCE public.activities_id_seq OWNED BY public.activities.id;
|
|||
CREATE TABLE public.ar_internal_metadata (
|
||||
key character varying NOT NULL,
|
||||
value character varying,
|
||||
created_at timestamp(6) without time zone NOT NULL,
|
||||
updated_at timestamp(6) without time zone NOT NULL
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue