mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-08 14:15:35 +08:00
DateTime HTML and JS simplified
This commit is contained in:
parent
d9178f4617
commit
65d8d0e35b
11 changed files with 72 additions and 25 deletions
|
@ -0,0 +1,17 @@
|
|||
/* eslint-disable no-unused-vars */
|
||||
var RepositoryDateColumnType = (function() {
|
||||
return {
|
||||
init: () => {},
|
||||
checkValidation: () => {
|
||||
return true;
|
||||
},
|
||||
loadParams: () => {
|
||||
var isRange = $('#date-range').is(':checked');
|
||||
var columnType = $('#repository-column-data-type').val();
|
||||
if (isRange) {
|
||||
columnType = columnType.replace('Value', 'RangeValue');
|
||||
}
|
||||
return { column_type: columnType };
|
||||
}
|
||||
};
|
||||
}());
|
|
@ -8,7 +8,10 @@ var RepositoryDateTimeColumnType = (function() {
|
|||
loadParams: () => {
|
||||
var isRange = $('#datetime-range').is(':checked');
|
||||
var columnType = $('#repository-column-data-type').val();
|
||||
return { range: isRange, column_type: columnType };
|
||||
if (isRange) {
|
||||
columnType = columnType.replace('Value', 'RangeValue');
|
||||
}
|
||||
return { column_type: columnType };
|
||||
}
|
||||
};
|
||||
}());
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
/* eslint-disable no-unused-vars */
|
||||
var RepositoryTimeColumnType = (function() {
|
||||
return {
|
||||
init: () => {},
|
||||
checkValidation: () => {
|
||||
return true;
|
||||
},
|
||||
loadParams: () => {
|
||||
var isRange = $('#time-range').is(':checked');
|
||||
var columnType = $('#repository-column-data-type').val();
|
||||
if (isRange) {
|
||||
columnType = columnType.replace('Value', 'RangeValue');
|
||||
}
|
||||
return { column_type: columnType };
|
||||
}
|
||||
};
|
||||
}());
|
|
@ -1,12 +1,11 @@
|
|||
/* global I18n HelperModule animateSpinner RepositoryListColumnType RepositoryStatusColumnType
|
||||
RepositoryDateTimeColumnType*/
|
||||
/* global I18n HelperModule animateSpinner RepositoryListColumnType RepositoryStatusColumnType */
|
||||
/* eslint-disable no-restricted-globals */
|
||||
var RepositoryColumns = (function() {
|
||||
var manageModal = '#manage-repository-column';
|
||||
var columnTypeClassNames = {
|
||||
RepositoryListValue: 'RepositoryListColumnType',
|
||||
RepositoryStatusValue: 'RepositoryStatusColumnType',
|
||||
RepositoryDateValue: 'RepositoryDateTimeColumnType',
|
||||
RepositoryDateValue: 'RepositoryDateColumnType',
|
||||
RepositoryDateTimeValue: 'RepositoryDateTimeColumnType',
|
||||
RepositoryTimeValue: 'RepositoryDateTimeColumnType'
|
||||
};
|
||||
|
@ -204,7 +203,6 @@ var RepositoryColumns = (function() {
|
|||
initManageColumnModal();
|
||||
RepositoryListColumnType.init();
|
||||
RepositoryStatusColumnType.init();
|
||||
RepositoryDateTimeColumnType.init();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -6,12 +6,11 @@ module RepositoryColumns
|
|||
before_action :load_column, only: %i(update destroy)
|
||||
before_action :check_create_permissions, only: :create
|
||||
before_action :check_manage_permissions, only: %i(update destroy)
|
||||
before_action :set_data_type, only: :create
|
||||
|
||||
def create
|
||||
service = RepositoryColumns::CreateColumnService
|
||||
.call(user: current_user, repository: @repository, team: current_team,
|
||||
column_type: @column_type,
|
||||
column_type: column_type_param,
|
||||
params: repository_column_params)
|
||||
|
||||
if service.succeed?
|
||||
|
@ -52,12 +51,8 @@ module RepositoryColumns
|
|||
params.require(:repository_column).permit(:name)
|
||||
end
|
||||
|
||||
def set_data_type
|
||||
def column_type_param
|
||||
params.require(:repository_column).require(:column_type)
|
||||
|
||||
@column_type = params.dig(:repository_column, :column_type)
|
||||
@column_type.remove!('Value').concat('RangeValue') if params.dig(:repository_column, :range)
|
||||
@column_type
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -91,13 +91,13 @@
|
|||
<span style="display: none" class="column-type status-column-type" data-column-type="RepositoryStatusValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/status.html.erb", locals: { column: @repository_column } %>
|
||||
</span>
|
||||
<span style="display: none" class="column-type status-column-type" data-column-type="RepositoryDateValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/datetime.html.erb", locals: { column: @repository_column } %>
|
||||
<span style="display: none" class="column-type date-column-type" data-column-type="RepositoryDateValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/date.html.erb", locals: { column: @repository_column } %>
|
||||
</span>
|
||||
<span style="display: none" class="column-type status-column-type" data-column-type="RepositoryTimeValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/datetime.html.erb", locals: { column: @repository_column } %>
|
||||
<span style="display: none" class="column-type time-column-type" data-column-type="RepositoryTimeValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/time.html.erb", locals: { column: @repository_column } %>
|
||||
</span>
|
||||
<span style="display: none" class="column-type status-column-type" data-column-type="RepositoryDateTimeValue">
|
||||
<span style="display: none" class="column-type datetime-column-type" data-column-type="RepositoryDateTimeValue">
|
||||
<%= render partial: "repository_columns/manage_column_partials/datetime.html.erb", locals: { column: @repository_column } %>
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<div class="form-group">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9">
|
||||
<div class="permission-selector">
|
||||
<%= check_box_tag 'range', '', column&.repository_date_range_value?, { id: 'date-range', class: column.new_record? ? 'simple-checkbox' : 'simple-checkbox disabled' } %>
|
||||
<span class="checkbox-label"></span>
|
||||
<span class="range-label"><%= t('libraries.manange_modal_column.datetime_type.range_label') %></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,14 +1,10 @@
|
|||
<% range_type = column&.repository_date_time_range_value? ||
|
||||
column&.repository_date_range_value? ||
|
||||
column&.repository_time_range_value? %>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9">
|
||||
<div class="permission-selector">
|
||||
<%= check_box_tag 'range', '', range_type, { id: 'datetime-range', class: column.new_record? ? 'simple-checkbox' : 'simple-checkbox disabled' } %>
|
||||
<%= check_box_tag 'range', '', column&.repository_date_time_range_value?, { id: 'datetime-range', class: column.new_record? ? 'simple-checkbox' : 'simple-checkbox disabled' } %>
|
||||
<span class="checkbox-label"></span>
|
||||
<span class="range-label">Range</span>
|
||||
<span class="range-label"><%= t('libraries.manange_modal_column.datetime_type.range_label') %></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<div class="form-group">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9">
|
||||
<div class="permission-selector">
|
||||
<%= check_box_tag 'range', '', column&.repository_time_range_value?, { id: 'time-range', class: column.new_record? ? 'simple-checkbox' : 'simple-checkbox disabled' } %>
|
||||
<span class="checkbox-label"></span>
|
||||
<span class="range-label"><%= t('libraries.manange_modal_column.datetime_type.range_label') %></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1159,6 +1159,8 @@ en:
|
|||
status_type:
|
||||
status_options_label: "Status options"
|
||||
add_status_label: "Add status option"
|
||||
datetime_type:
|
||||
range_label: 'Range'
|
||||
|
||||
repository_columns:
|
||||
head_title: '%{repository} | Manage Columns'
|
||||
|
|
|
@ -18,8 +18,7 @@ RSpec.describe RepositoryColumns::DateTimeColumnsController, type: :controller d
|
|||
repository_id: repository.id,
|
||||
repository_column: {
|
||||
name: 'name',
|
||||
column_type: 'RepositoryDateTimeValue',
|
||||
range: true
|
||||
column_type: 'RepositoryDateTimeValue'
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue