mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-08 04:47:22 +08:00
Merge pull request #2653 from aignatov-bio/ai-sci-4692-add-archiving-columns-to-datable-helper
Add archiving column to datatable helper [SCI-4692]
This commit is contained in:
commit
a6ff5b1ed8
11 changed files with 73 additions and 59 deletions
|
@ -200,6 +200,8 @@ var MyModuleRepositories = (function() {
|
||||||
if (!options.assign_mode) {
|
if (!options.assign_mode) {
|
||||||
json.state.columns[0].visible = false;
|
json.state.columns[0].visible = false;
|
||||||
}
|
}
|
||||||
|
json.state.columns[6].visible = false;
|
||||||
|
json.state.columns[7].visible = false;
|
||||||
json.state.search.search = null;
|
json.state.search.search = null;
|
||||||
callback(json.state);
|
callback(json.state);
|
||||||
});
|
});
|
||||||
|
|
|
@ -551,6 +551,8 @@ var RepositoryDatatable = (function(global) {
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
|
json.state.columns[6].visible = false; // Here must be switcher depend on active/archive view
|
||||||
|
json.state.columns[7].visible = false;
|
||||||
callback(json.state);
|
callback(json.state);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -279,7 +279,7 @@ var RepositoryColumns = (function() {
|
||||||
// Clear the list
|
// Clear the list
|
||||||
$columnsList.find('li[data-position]').remove();
|
$columnsList.find('li[data-position]').remove();
|
||||||
_.each(TABLE.columns().header(), function(el, index) {
|
_.each(TABLE.columns().header(), function(el, index) {
|
||||||
if (index > 1) {
|
if (!el.dataset.unmanageable) {
|
||||||
let colId = $(el).attr('id');
|
let colId = $(el).attr('id');
|
||||||
let colIndex = $(el).attr('data-column-index');
|
let colIndex = $(el).attr('data-column-index');
|
||||||
let visible = TABLE.column(colIndex).visible();
|
let visible = TABLE.column(colIndex).visible();
|
||||||
|
|
|
@ -12,6 +12,8 @@ module RepositoryDatatableHelper
|
||||||
'3': escape_input(record.name),
|
'3': escape_input(record.name),
|
||||||
'4': I18n.l(record.created_at, format: :full),
|
'4': I18n.l(record.created_at, format: :full),
|
||||||
'5': escape_input(record.created_by.full_name),
|
'5': escape_input(record.created_by.full_name),
|
||||||
|
'6': (record.archived_on ? I18n.l(record.archived_on, format: :full) : ''),
|
||||||
|
'7': escape_input(record.archived_by&.full_name),
|
||||||
'recordInfoUrl': Rails.application.routes.url_helpers.repository_repository_row_path(repository, record)
|
'recordInfoUrl': Rails.application.routes.url_helpers.repository_repository_row_path(repository, record)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ class RepositoryDatatableService
|
||||||
repository_rows = results
|
repository_rows = results
|
||||||
end
|
end
|
||||||
|
|
||||||
repository_rows.left_outer_joins(:created_by)
|
repository_rows.left_outer_joins(:created_by, :archived_by)
|
||||||
.select('repository_rows.*')
|
.select('repository_rows.*')
|
||||||
.select('COUNT("repository_rows"."id") OVER() AS filtered_count')
|
.select('COUNT("repository_rows"."id") OVER() AS filtered_count')
|
||||||
.group('repository_rows.id')
|
.group('repository_rows.id')
|
||||||
|
@ -105,7 +105,9 @@ class RepositoryDatatableService
|
||||||
'repository_rows.id',
|
'repository_rows.id',
|
||||||
'repository_rows.name',
|
'repository_rows.name',
|
||||||
'repository_rows.created_at',
|
'repository_rows.created_at',
|
||||||
'users.full_name'
|
'users.full_name',
|
||||||
|
'repository_rows.archived_on',
|
||||||
|
'archived_bies_repository_rows.full_name',
|
||||||
]
|
]
|
||||||
@repository.repository_columns.count.times do
|
@repository.repository_columns.count.times do
|
||||||
array << 'repository_cell.value'
|
array << 'repository_cell.value'
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
<th id="row-name"><%= t("repositories.table.row_name") %></th>
|
<th id="row-name"><%= t("repositories.table.row_name") %></th>
|
||||||
<th id="added-on"><%= t("repositories.table.added_on") %></th>
|
<th id="added-on"><%= t("repositories.table.added_on") %></th>
|
||||||
<th id="added-by"><%= t("repositories.table.added_by") %></th>
|
<th id="added-by"><%= t("repositories.table.added_by") %></th>
|
||||||
|
<th id="archived-on"><%= t("repositories.table.archived_on") %></th>
|
||||||
|
<th id="archived-by"><%= t("repositories.table.archived_by") %></th>
|
||||||
<% @repository.repository_columns.order(:id).each do |column| %>
|
<% @repository.repository_columns.order(:id).each do |column| %>
|
||||||
<th
|
<th
|
||||||
class="repository-column"
|
class="repository-column"
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
data-repository-id="<%= repository.id %>"
|
data-repository-id="<%= repository.id %>"
|
||||||
data-source="<%= repository_index_link %>"
|
data-source="<%= repository_index_link %>"
|
||||||
data-toolbar-url="<%= repository_table_toolbar_path(@repository) %>"
|
data-toolbar-url="<%= repository_table_toolbar_path(@repository) %>"
|
||||||
data-num-columns="<%= 6 + repository.repository_columns.count %>"
|
data-num-columns="<%= repository.default_columns_count + repository.repository_columns.count %>"
|
||||||
data-create-record="<%= repository_repository_rows_path(repository) %>"
|
data-create-record="<%= repository_repository_rows_path(repository) %>"
|
||||||
data-delete-record="<%= repository_delete_records_path(repository) %>"
|
data-delete-record="<%= repository_delete_records_path(repository) %>"
|
||||||
data-copy-records="<%= repository_copy_records_path(repository) %>"
|
data-copy-records="<%= repository_copy_records_path(repository) %>"
|
||||||
|
@ -27,15 +27,17 @@
|
||||||
data-status-url="<%= repository_status_path(@repository) %>">
|
data-status-url="<%= repository_status_path(@repository) %>">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th id="checkbox">
|
<th id="checkbox" data-unmanageable="true">
|
||||||
<input name="select_all" value="1" type="checkbox" class="sci-checkbox">
|
<input name="select_all" value="1" type="checkbox" class="sci-checkbox">
|
||||||
<span class="sci-checkbox-label"></span>
|
<span class="sci-checkbox-label"></span>
|
||||||
</th>
|
</th>
|
||||||
<th id="assigned"><%= t("repositories.table.assigned") %></th>
|
<th id="assigned" data-unmanageable="true"><%= t("repositories.table.assigned") %></th>
|
||||||
<th id="row-id"><%= t("repositories.table.id") %></th>
|
<th id="row-id"><%= t("repositories.table.id") %></th>
|
||||||
<th id="row-name"><%= t("repositories.table.row_name") %></th>
|
<th id="row-name"><%= t("repositories.table.row_name") %></th>
|
||||||
<th id="added-on"><%= t("repositories.table.added_on") %></th>
|
<th id="added-on" ><%= t("repositories.table.added_on") %></th>
|
||||||
<th id="added-by"><%= t("repositories.table.added_by") %></th>
|
<th id="added-by" ><%= t("repositories.table.added_by") %></th>
|
||||||
|
<th id="archived-on" data-unmanageable="true"><%= t("repositories.table.archived_on") %></th>
|
||||||
|
<th id="archived-by" data-unmanageable="true"><%= t("repositories.table.archived_by") %></th>
|
||||||
<% repository.repository_columns.order(:id).each do |column| %>
|
<% repository.repository_columns.order(:id).each do |column| %>
|
||||||
<th
|
<th
|
||||||
class="repository-column"
|
class="repository-column"
|
||||||
|
|
|
@ -940,7 +940,7 @@ class Constants
|
||||||
REPOSITORY_TABLE_DEFAULT_STATE = {
|
REPOSITORY_TABLE_DEFAULT_STATE = {
|
||||||
'time' => 0,
|
'time' => 0,
|
||||||
'start' => 0,
|
'start' => 0,
|
||||||
'length' => 6,
|
'length' => 8,
|
||||||
'order' => [[2, 'asc']], # Default sorting by 'ID' column
|
'order' => [[2, 'asc']], # Default sorting by 'ID' column
|
||||||
'search' => { 'search' => '',
|
'search' => { 'search' => '',
|
||||||
'smart' => true,
|
'smart' => true,
|
||||||
|
@ -948,11 +948,11 @@ class Constants
|
||||||
'caseInsensitive' => true },
|
'caseInsensitive' => true },
|
||||||
'columns' => [],
|
'columns' => [],
|
||||||
'assigned' => 'assigned',
|
'assigned' => 'assigned',
|
||||||
'ColReorder' => [*0..5]
|
'ColReorder' => [*0..7]
|
||||||
}
|
}
|
||||||
6.times do |i|
|
8.times do |i|
|
||||||
REPOSITORY_TABLE_DEFAULT_STATE['columns'] << {
|
REPOSITORY_TABLE_DEFAULT_STATE['columns'] << {
|
||||||
'visible' => true,
|
'visible' => (i < 6),
|
||||||
'searchable' => (i >= 1), # Checkboxes column is not searchable
|
'searchable' => (i >= 1), # Checkboxes column is not searchable
|
||||||
'search' => { 'search' => '',
|
'search' => { 'search' => '',
|
||||||
'smart' => true,
|
'smart' => true,
|
||||||
|
|
|
@ -1127,6 +1127,8 @@ en:
|
||||||
row_name: "Name"
|
row_name: "Name"
|
||||||
added_on: "Added on"
|
added_on: "Added on"
|
||||||
added_by: "Added by"
|
added_by: "Added by"
|
||||||
|
archived_on: "Archived on"
|
||||||
|
archived_by: "Archived by"
|
||||||
enter_row_name: "Enter name"
|
enter_row_name: "Enter name"
|
||||||
locked_item: "This is read-only item."
|
locked_item: "This is read-only item."
|
||||||
assets:
|
assets:
|
||||||
|
|
|
@ -70,15 +70,15 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should calculate correct length' do
|
it 'should calculate correct length' do
|
||||||
expect(initial_state_1.state['length']).to eq 8
|
expect(initial_state_1.state['length']).to eq 10
|
||||||
expect(initial_state_2.state['length']).to eq 8
|
expect(initial_state_2.state['length']).to eq 10
|
||||||
|
|
||||||
service.update_states_with_new_column(repository)
|
service.update_states_with_new_column(repository)
|
||||||
service.update_states_with_new_column(repository)
|
service.update_states_with_new_column(repository)
|
||||||
|
|
||||||
[user_1, user_2].each do |user|
|
[user_1, user_2].each do |user|
|
||||||
state = RepositoryTableStateService.new(user, repository).load_state
|
state = RepositoryTableStateService.new(user, repository).load_state
|
||||||
expect(state.state['length']).to eq 10
|
expect(state.state['length']).to eq 12
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -142,11 +142,11 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should keep column order as it was' do
|
it 'should keep column order as it was' do
|
||||||
initial_state_1.state['ColReorder'] = [5, 3, 2, 0, 1, 4, 6, 7]
|
initial_state_1.state['ColReorder'] = [5, 3, 2, 0, 1, 4, 6, 7, 8, 9]
|
||||||
RepositoryTableStateService.new(user_1, repository).update_state(
|
RepositoryTableStateService.new(user_1, repository).update_state(
|
||||||
initial_state_1.state
|
initial_state_1.state
|
||||||
)
|
)
|
||||||
initial_state_2.state['ColReorder'] = [0, 6, 1, 4, 5, 7, 2, 3]
|
initial_state_2.state['ColReorder'] = [0, 6, 1, 4, 5, 7, 2, 3, 8, 9]
|
||||||
RepositoryTableStateService.new(user_2, repository).update_state(
|
RepositoryTableStateService.new(user_2, repository).update_state(
|
||||||
initial_state_2.state
|
initial_state_2.state
|
||||||
)
|
)
|
||||||
|
@ -155,9 +155,9 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
service.update_states_with_new_column(repository)
|
service.update_states_with_new_column(repository)
|
||||||
|
|
||||||
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state_1.state['ColReorder']).to eq([5, 3, 2, 0, 1, 4, 6, 7, 8, 9])
|
expect(state_1.state['ColReorder']).to eq([5, 3, 2, 0, 1, 4, 6, 7, 8, 9, 10, 11])
|
||||||
state_2 = RepositoryTableStateService.new(user_2, repository).load_state
|
state_2 = RepositoryTableStateService.new(user_2, repository).load_state
|
||||||
expect(state_2.state['ColReorder']).to eq([0, 6, 1, 4, 5, 7, 2, 3, 8, 9])
|
expect(state_2.state['ColReorder']).to eq([0, 6, 1, 4, 5, 7, 2, 3, 8, 9, 10, 11])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -177,8 +177,8 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
expect(initial_state_1).to be_valid_default_repository_table_state(2)
|
expect(initial_state_1).to be_valid_default_repository_table_state(2)
|
||||||
expect(initial_state_2).to be_valid_default_repository_table_state(2)
|
expect(initial_state_2).to be_valid_default_repository_table_state(2)
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
|
|
||||||
[user_1, user_2].each do |user|
|
[user_1, user_2].each do |user|
|
||||||
state = RepositoryTableStateService.new(user, repository).load_state
|
state = RepositoryTableStateService.new(user, repository).load_state
|
||||||
|
@ -187,15 +187,15 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should calculate correct length' do
|
it 'should calculate correct length' do
|
||||||
expect(initial_state_1.state['length']).to eq 8
|
expect(initial_state_1.state['length']).to eq 10
|
||||||
expect(initial_state_2.state['length']).to eq 8
|
expect(initial_state_2.state['length']).to eq 10
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
|
|
||||||
[user_1, user_2].each do |user|
|
[user_1, user_2].each do |user|
|
||||||
state = RepositoryTableStateService.new(user, repository).load_state
|
state = RepositoryTableStateService.new(user, repository).load_state
|
||||||
expect(state.state['length']).to eq 6
|
expect(state.state['length']).to eq 8
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -204,13 +204,13 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
RepositoryTableStateService.new(user_1, repository).update_state(
|
RepositoryTableStateService.new(user_1, repository).update_state(
|
||||||
initial_state_1.state
|
initial_state_1.state
|
||||||
)
|
)
|
||||||
initial_state_2.state['order'] = [[7, 'asc']]
|
initial_state_2.state['order'] = [[9, 'asc']]
|
||||||
RepositoryTableStateService.new(user_2, repository).update_state(
|
RepositoryTableStateService.new(user_2, repository).update_state(
|
||||||
initial_state_2.state
|
initial_state_2.state
|
||||||
)
|
)
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
|
|
||||||
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state_1.state['order']).to eq([[3, 'desc']])
|
expect(state_1.state['order']).to eq([[3, 'desc']])
|
||||||
|
@ -232,8 +232,8 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
initial_state_2.state
|
initial_state_2.state
|
||||||
)
|
)
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
|
|
||||||
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state_1.state['search']).to eq search_1
|
expect(state_1.state['search']).to eq search_1
|
||||||
|
@ -247,19 +247,19 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
RepositoryTableStateService.new(user_1, repository).update_state(
|
RepositoryTableStateService.new(user_1, repository).update_state(
|
||||||
initial_state_1.state.merge('columns' => cols_1)
|
initial_state_1.state.merge('columns' => cols_1)
|
||||||
)
|
)
|
||||||
cols_1.delete_at(6)
|
cols_1.delete_at(8)
|
||||||
cols_1.delete_at(6)
|
cols_1.delete_at(8)
|
||||||
|
|
||||||
cols_2 = initial_state_2.state['columns'].deep_dup
|
cols_2 = initial_state_2.state['columns'].deep_dup
|
||||||
cols_2[4]['searchable'] = false
|
cols_2[4]['searchable'] = false
|
||||||
RepositoryTableStateService.new(user_2, repository).update_state(
|
RepositoryTableStateService.new(user_2, repository).update_state(
|
||||||
initial_state_2.state.merge('columns' => cols_2)
|
initial_state_2.state.merge('columns' => cols_2)
|
||||||
)
|
)
|
||||||
cols_2.delete_at(6)
|
cols_2.delete_at(8)
|
||||||
cols_2.delete_at(6)
|
cols_2.delete_at(8)
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
|
|
||||||
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state_1.state['columns']).to eq cols_1
|
expect(state_1.state['columns']).to eq cols_1
|
||||||
|
@ -269,26 +269,26 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
|
|
||||||
it 'should keep column order as it was' do
|
it 'should keep column order as it was' do
|
||||||
initial_state_1.state['ColReorder'] =
|
initial_state_1.state['ColReorder'] =
|
||||||
[5, 3, 2, 0, 1, 4, 6, 7]
|
[5, 3, 2, 0, 1, 4, 6, 7, 8, 9]
|
||||||
RepositoryTableStateService.new(user_1, repository).update_state(
|
RepositoryTableStateService.new(user_1, repository).update_state(
|
||||||
initial_state_1.state
|
initial_state_1.state
|
||||||
)
|
)
|
||||||
initial_state_2.state['ColReorder'] =
|
initial_state_2.state['ColReorder'] =
|
||||||
[0, 6, 1, 4, 5, 7, 2, 3]
|
[0, 6, 1, 4, 5, 7, 2, 3, 8, 9]
|
||||||
RepositoryTableStateService.new(user_2, repository).update_state(
|
RepositoryTableStateService.new(user_2, repository).update_state(
|
||||||
initial_state_2.state
|
initial_state_2.state
|
||||||
)
|
)
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
service.update_states_with_removed_column(repository, 6)
|
service.update_states_with_removed_column(repository, 8)
|
||||||
|
|
||||||
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
state_1 = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state_1.state['ColReorder']).to eq(
|
expect(state_1.state['ColReorder']).to eq(
|
||||||
[5, 3, 2, 0, 1, 4]
|
[5, 3, 2, 0, 1, 4, 6, 7]
|
||||||
)
|
)
|
||||||
state_2 = RepositoryTableStateService.new(user_2, repository).load_state
|
state_2 = RepositoryTableStateService.new(user_2, repository).load_state
|
||||||
expect(state_2.state['ColReorder']).to eq(
|
expect(state_2.state['ColReorder']).to eq(
|
||||||
[0, 1, 4, 5, 2, 3]
|
[0, 6, 1, 4, 5, 7, 2, 3]
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -307,12 +307,12 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
let!(:initial_state) do
|
let!(:initial_state) do
|
||||||
state = RepositoryTableStateService.new(user_1, repository)
|
state = RepositoryTableStateService.new(user_1, repository)
|
||||||
.create_default_state
|
.create_default_state
|
||||||
state.state['order'] = [[8, 'desc']]
|
state.state['order'] = [[10, 'desc']]
|
||||||
(0..9).each do |idx|
|
(0..9).each do |idx|
|
||||||
state.state['columns'][idx]['search']['search'] = "search_#{idx}"
|
state.state['columns'][idx]['search']['search'] = "search_#{idx}"
|
||||||
end
|
end
|
||||||
state.state['ColReorder'] =
|
state.state['ColReorder'] =
|
||||||
[0, 1, 2, 9, 8, 4, 7, 3, 5, 6]
|
[0, 1, 2, 9, 8, 4, 7, 3, 5, 6, 10, 11]
|
||||||
RepositoryTableStateService.new(user_1, repository).update_state(
|
RepositoryTableStateService.new(user_1, repository).update_state(
|
||||||
state.state
|
state.state
|
||||||
)
|
)
|
||||||
|
@ -327,33 +327,33 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
state = RepositoryTableStateService.new(user_1, repository).load_state
|
state = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state).to be_valid_repository_table_state(5)
|
expect(state).to be_valid_repository_table_state(5)
|
||||||
expect(state.state['ColReorder']).to eq(
|
expect(state.state['ColReorder']).to eq(
|
||||||
[0, 1, 2, 9, 8, 4, 7, 3, 5, 6, 10]
|
[0, 1, 2, 9, 8, 4, 7, 3, 5, 6, 10, 11, 12]
|
||||||
)
|
)
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 7)
|
service.update_states_with_removed_column(repository, 9)
|
||||||
|
|
||||||
state = RepositoryTableStateService.new(user_1, repository).load_state
|
state = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state).to be_valid_repository_table_state(4)
|
expect(state).to be_valid_repository_table_state(4)
|
||||||
expect(state.state['ColReorder']).to eq(
|
expect(state.state['ColReorder']).to eq(
|
||||||
[0, 1, 2, 8, 7, 4, 3, 5, 6, 9]
|
[0, 1, 2, 8, 4, 7, 3, 5, 6, 9, 10, 11]
|
||||||
)
|
)
|
||||||
expect(state.state['order']).to eq([[7, 'desc']])
|
expect(state.state['order']).to eq([[9, 'desc']])
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 7)
|
service.update_states_with_removed_column(repository, 9)
|
||||||
|
|
||||||
state = RepositoryTableStateService.new(user_1, repository).load_state
|
state = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state).to be_valid_repository_table_state(3)
|
expect(state).to be_valid_repository_table_state(3)
|
||||||
expect(state.state['ColReorder']).to eq(
|
expect(state.state['ColReorder']).to eq(
|
||||||
[0, 1, 2, 7, 4, 3, 5, 6, 8]
|
[0, 1, 2, 8, 4, 7, 3, 5, 6, 9, 10]
|
||||||
)
|
)
|
||||||
expect(state.state['order']).to eq([[2, 'asc']])
|
expect(state.state['order']).to eq([[2, 'asc']])
|
||||||
|
|
||||||
service.update_states_with_removed_column(repository, 7)
|
service.update_states_with_removed_column(repository, 9)
|
||||||
|
|
||||||
state = RepositoryTableStateService.new(user_1, repository).load_state
|
state = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state).to be_valid_repository_table_state(2)
|
expect(state).to be_valid_repository_table_state(2)
|
||||||
expect(state.state['ColReorder']).to eq(
|
expect(state.state['ColReorder']).to eq(
|
||||||
[0, 1, 2, 4, 3, 5, 6, 7]
|
[0, 1, 2, 8, 4, 7, 3, 5, 6, 9]
|
||||||
)
|
)
|
||||||
|
|
||||||
service.update_states_with_new_column(repository)
|
service.update_states_with_new_column(repository)
|
||||||
|
@ -362,7 +362,7 @@ describe RepositoryTableStateColumnUpdateService do
|
||||||
state = RepositoryTableStateService.new(user_1, repository).load_state
|
state = RepositoryTableStateService.new(user_1, repository).load_state
|
||||||
expect(state).to be_valid_repository_table_state(4)
|
expect(state).to be_valid_repository_table_state(4)
|
||||||
expect(state.state['ColReorder']).to eq(
|
expect(state.state['ColReorder']).to eq(
|
||||||
[0, 1, 2, 4, 3, 5, 6, 7, 8, 9]
|
[0, 1, 2, 8, 4, 7, 3, 5, 6, 9, 10, 11]
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,15 +7,15 @@ RSpec::Matchers.define :be_valid_default_repository_table_state do |nr_of_cols|
|
||||||
|
|
||||||
state = subject.state
|
state = subject.state
|
||||||
|
|
||||||
cols_length = 6 + nr_of_cols
|
cols_length = 8 + nr_of_cols
|
||||||
cols_array = [*0..(5 + nr_of_cols)]
|
cols_array = [*0..(7 + nr_of_cols)]
|
||||||
|
|
||||||
expect(state).to be_an_instance_of Hash
|
expect(state).to be_an_instance_of Hash
|
||||||
expect(state).to include(
|
expect(state).to include(
|
||||||
'time',
|
'time',
|
||||||
'columns',
|
'columns',
|
||||||
'start' => 0,
|
'start' => 0,
|
||||||
'length' => cols_length, # 6 default columns + parameter
|
'length' => cols_length, # 8 default columns + parameter
|
||||||
'order' => [[2, 'asc']],
|
'order' => [[2, 'asc']],
|
||||||
'search' => {
|
'search' => {
|
||||||
'search' => '',
|
'search' => '',
|
||||||
|
@ -28,10 +28,10 @@ RSpec::Matchers.define :be_valid_default_repository_table_state do |nr_of_cols|
|
||||||
)
|
)
|
||||||
|
|
||||||
expect(state['columns']).to be_an_instance_of Array
|
expect(state['columns']).to be_an_instance_of Array
|
||||||
expect(state['columns'].length).to eq(6 + nr_of_cols)
|
expect(state['columns'].length).to eq(cols_length)
|
||||||
state['columns'].each_with_index do |val, i|
|
state['columns'].each_with_index do |val, i|
|
||||||
expect(val).to include(
|
expect(val).to include(
|
||||||
'visible' => true,
|
'visible' => !([6, 7].include? i),
|
||||||
'searchable' => (i != 0),
|
'searchable' => (i != 0),
|
||||||
'search' => {
|
'search' => {
|
||||||
'search' => '', 'smart' => true, 'regex' => false, 'caseInsensitive' => true
|
'search' => '', 'smart' => true, 'regex' => false, 'caseInsensitive' => true
|
||||||
|
|
Loading…
Add table
Reference in a new issue