From 470f6ff541af23da3cba547dc2dd9a97fc2f4f19 Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Wed, 15 Jan 2020 12:16:17 +0100 Subject: [PATCH 01/12] Unifify view and edit modes for number cells [SCI-4233] --- .../javascripts/repositories/renderers/edit_renderers.js | 2 +- .../javascripts/repositories/renderers/new_renderers.js | 2 -- .../javascripts/repositories/renderers/view_renderers.js | 8 ++++---- .../repository_number_value_serializer.rb | 6 ------ 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/app/assets/javascripts/repositories/renderers/edit_renderers.js b/app/assets/javascripts/repositories/renderers/edit_renderers.js index a76104108..dc26af015 100644 --- a/app/assets/javascripts/repositories/renderers/edit_renderers.js +++ b/app/assets/javascripts/repositories/renderers/edit_renderers.js @@ -143,7 +143,7 @@ $.fn.dataTable.render.editRepositoryNumberValue = function(formId, columnId, cel type="number" name="repository_cells[${columnId}]" placeholder="${I18n.t('repositories.table.number.enter_number')}" - value="${$cell.find('.number-value').data('full-value')}" + value="${$cell.find('.number-value').data('value')}" data-type="RepositoryNumberValue"> `); }; diff --git a/app/assets/javascripts/repositories/renderers/new_renderers.js b/app/assets/javascripts/repositories/renderers/new_renderers.js index c270d1761..d9ab17b4f 100644 --- a/app/assets/javascripts/repositories/renderers/new_renderers.js +++ b/app/assets/javascripts/repositories/renderers/new_renderers.js @@ -75,8 +75,6 @@ $.fn.dataTable.render.newRepositoryNumberValue = function(formId, columnId, $cel placeholder="${I18n.t('repositories.table.number.enter_number')}" data-type="RepositoryNumberValue"> `); - - SmartAnnotation.init($cell.find('input')); }; $.fn.dataTable.render.newRepositoryDateTimeValue = function(formId, columnId, $cell) { diff --git a/app/assets/javascripts/repositories/renderers/view_renderers.js b/app/assets/javascripts/repositories/renderers/view_renderers.js index 9c6147c4f..596b68c8f 100644 --- a/app/assets/javascripts/repositories/renderers/view_renderers.js +++ b/app/assets/javascripts/repositories/renderers/view_renderers.js @@ -63,8 +63,8 @@ $.fn.dataTable.render.defaultRepositoryDateTimeValue = function() { }; $.fn.dataTable.render.RepositoryDateTimeValue = function(data) { - return `${data.value.formatted}`; }; @@ -73,7 +73,7 @@ $.fn.dataTable.render.defaultRepositoryTimeValue = function() { }; $.fn.dataTable.render.RepositoryTimeValue = function(data) { - return `${data.value.formatted}`; }; @@ -146,7 +146,7 @@ $.fn.dataTable.render.defaultRepositoryNumberValue = function() { }; $.fn.dataTable.render.RepositoryNumberValue = function(data) { - return ` + return ` ${data.value} `; }; diff --git a/app/serializers/repository_datatable/repository_number_value_serializer.rb b/app/serializers/repository_datatable/repository_number_value_serializer.rb index 8c6986bf9..25aff993c 100644 --- a/app/serializers/repository_datatable/repository_number_value_serializer.rb +++ b/app/serializers/repository_datatable/repository_number_value_serializer.rb @@ -2,15 +2,9 @@ module RepositoryDatatable class RepositoryNumberValueSerializer < RepositoryBaseValueSerializer - attributes :full_value - def value decimal_number = scope[:column].metadata.fetch('decimals') { Constants::REPOSITORY_NUMBER_TYPE_DEFAULT_DECIMALS } BigDecimal(object.data).round(decimal_number.to_i) end - - def full_value - object.data - end end end From dd48a2902d91c596871bf5e1b0ff3bb8b3b85219 Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Wed, 15 Jan 2020 12:44:57 +0100 Subject: [PATCH 02/12] Disable repository filtering in edit mode [SCI-4226] --- app/assets/javascripts/repositories/repository_datatable.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/assets/javascripts/repositories/repository_datatable.js b/app/assets/javascripts/repositories/repository_datatable.js index c1b399e85..70ba91214 100644 --- a/app/assets/javascripts/repositories/repository_datatable.js +++ b/app/assets/javascripts/repositories/repository_datatable.js @@ -57,6 +57,7 @@ var RepositoryDatatable = (function(global) { $('#repository-columns-dropdown').find('.dropdown-toggle').prop('disabled', false); $('th').removeClass('disable-click'); $('.repository-row-selector').prop('disabled', false); + $('.dataTables_filter input').prop('disabled', false); if (rowsSelected.length === 0) { $('#exportRepositoriesButton').addClass('disabled'); $('#copyRepositoryRecords').prop('disabled', true); @@ -90,6 +91,7 @@ var RepositoryDatatable = (function(global) { $('#repository-columns-dropdown').find('.dropdown-toggle').prop('disabled', true); $('th').addClass('disable-click'); $('.repository-row-selector').prop('disabled', true); + $('.dataTables_filter input').prop('disabled', true); } } From 5bfa5c7939ea4d82a47c60b167d772361e57476a Mon Sep 17 00:00:00 2001 From: Miha Mencin Date: Wed, 15 Jan 2020 13:59:28 +0100 Subject: [PATCH 03/12] SCI-4199 disabling delimiter, adding warning --- .../checklist_column_type.js | 1 + .../columns_initializers/list_column_type.js | 1 + .../checklist_columns_controller.rb | 8 ++++++- .../list_columns_controller.rb | 8 ++++++- .../_checklist.html.erb | 7 ++++++- .../manage_column_partials/_list.html.erb | 21 ++++++++++++------- config/locales/en.yml | 1 + 7 files changed, 37 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/repository_columns/columns_initializers/checklist_column_type.js b/app/assets/javascripts/repository_columns/columns_initializers/checklist_column_type.js index 24eef0884..646d5fc38 100644 --- a/app/assets/javascripts/repository_columns/columns_initializers/checklist_column_type.js +++ b/app/assets/javascripts/repository_columns/columns_initializers/checklist_column_type.js @@ -31,6 +31,7 @@ var RepositoryChecklistColumnType = (function() { delimiterDropdown, dropdownOptions ); + $('.changing-existing-list-items-warning').removeClass('hidden'); initChecklistDropdown(); }) .on('change', delimiterDropdown, function() { diff --git a/app/assets/javascripts/repository_columns/columns_initializers/list_column_type.js b/app/assets/javascripts/repository_columns/columns_initializers/list_column_type.js index 8aff9e318..4d1496fe5 100644 --- a/app/assets/javascripts/repository_columns/columns_initializers/list_column_type.js +++ b/app/assets/javascripts/repository_columns/columns_initializers/list_column_type.js @@ -110,6 +110,7 @@ var RepositoryListColumnType = (function() { delimiterDropdown, dropdownOptions ); + $('.changing-existing-list-items-warning').removeClass('hidden'); }) .on('change', delimiterDropdown, function() { refreshPreviewDropdownList( diff --git a/app/controllers/repository_columns/checklist_columns_controller.rb b/app/controllers/repository_columns/checklist_columns_controller.rb index c5e82cf62..c3adf3cd6 100644 --- a/app/controllers/repository_columns/checklist_columns_controller.rb +++ b/app/controllers/repository_columns/checklist_columns_controller.rb @@ -25,7 +25,7 @@ module RepositoryColumns .call(user: current_user, team: current_team, column: @repository_column, - params: repository_column_params) + params: repository_column_update_params) if service.succeed? render json: service.column, status: :ok, editing: true @@ -67,6 +67,12 @@ module RepositoryColumns .permit(:name, metadata: [:delimiter], repository_checklist_items_attributes: %i(data)) end + def repository_column_update_params + params + .require(:repository_column) + .permit(:name, repository_checklist_items_attributes: %i(data)) + end + def delimiters Constants::REPOSITORY_LIST_ITEMS_DELIMITERS .split(',') diff --git a/app/controllers/repository_columns/list_columns_controller.rb b/app/controllers/repository_columns/list_columns_controller.rb index 699d98952..88be0397e 100644 --- a/app/controllers/repository_columns/list_columns_controller.rb +++ b/app/controllers/repository_columns/list_columns_controller.rb @@ -25,7 +25,7 @@ module RepositoryColumns .call(user: current_user, team: current_team, column: @repository_column, - params: repository_column_params) + params: repository_column_update_params) if service.succeed? render json: service.column, status: :ok, editing: true @@ -67,6 +67,12 @@ module RepositoryColumns .permit(:name, metadata: [:delimiter], repository_list_items_attributes: %i(data)) end + def repository_column_update_params + params + .require(:repository_column) + .permit(:name, repository_list_items_attributes: %i(data)) + end + def delimiters Constants::REPOSITORY_LIST_ITEMS_DELIMITERS .split(',') diff --git a/app/views/repository_columns/manage_column_partials/_checklist.html.erb b/app/views/repository_columns/manage_column_partials/_checklist.html.erb index 10cf96183..483ec2e2c 100644 --- a/app/views/repository_columns/manage_column_partials/_checklist.html.erb +++ b/app/views/repository_columns/manage_column_partials/_checklist.html.erb @@ -10,7 +10,7 @@ <%= t('libraries.manange_modal_column.list_type.delimiter_label') %>
- <%= select_tag('delimiter', options_for_select(delimiters, selected_delimiter), class: 'form-control delimiter') %> + <%= select_tag('delimiter', options_for_select(delimiters, selected_delimiter), class: 'form-control delimiter',disabled: !column.new_record?) %>
@@ -19,6 +19,11 @@
<%= text_area_tag 'items-textarea', column.repository_checklist_items.pluck(:data).join(selected_delimiter_char), rows: 10, class: 'form-control items-textarea' %> + <% unless column.new_record? %> + + <% end %>