From 9b249bad5b3b7daea799d64459cc3ee478849d8f Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Sat, 18 Jul 2015 16:36:33 +1000 Subject: [PATCH] Add the ability to hide/show columns --- .../assets/css/importexport.css | 15 +++++++++++ .../assets/js/october.importexport.js | 27 +++++++++++++++---- .../assets/less/importexport.less | 20 ++++++++++++++ .../partials/_import_db_columns.htm | 2 +- .../partials/_import_file_columns.htm | 6 +++-- .../partials/_import_toolbar.htm | 9 +++++++ .../partials/fields_import.yaml | 8 ++++-- 7 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 modules/backend/behaviors/importexportcontroller/partials/_import_toolbar.htm diff --git a/modules/backend/behaviors/importexportcontroller/assets/css/importexport.css b/modules/backend/behaviors/importexportcontroller/assets/css/importexport.css index c81714469..8a072be15 100644 --- a/modules/backend/behaviors/importexportcontroller/assets/css/importexport.css +++ b/modules/backend/behaviors/importexportcontroller/assets/css/importexport.css @@ -70,6 +70,21 @@ .import-behavior .import-file-columns > ul > li:after { clear: both; } +.import-behavior .import-file-columns > ul > li.column-ignored { + display: none; +} +.import-behavior .import-file-columns > ul > li .column-success-icon { + display: none; + position: relative; + left: -2px; + width: 15px; +} +.import-behavior .import-file-columns > ul > li.column-matched .column-success-icon { + display: inline-block; +} +.import-behavior .import-file-columns > ul > li.column-matched .column-ignore { + display: none !important; +} .import-behavior .import-file-columns > ul div.import-column-name { float: left; width: 45%; diff --git a/modules/backend/behaviors/importexportcontroller/assets/js/october.importexport.js b/modules/backend/behaviors/importexportcontroller/assets/js/october.importexport.js index 0b7649a12..424bd894f 100644 --- a/modules/backend/behaviors/importexportcontroller/assets/js/october.importexport.js +++ b/modules/backend/behaviors/importexportcontroller/assets/js/october.importexport.js @@ -9,7 +9,7 @@ /* * Unbind existing */ - $('.import-db-columns > ul, .import-column-bindings > ul').each(function(){ + $('#importDbColumns > ul, .import-column-bindings > ul').each(function(){ var $this = $(this) if ($this.data('oc.sortable')) { $this.sortable('destroyGroup') @@ -23,14 +23,31 @@ nested: false } - $('.import-db-columns > ul, .import-column-bindings > ul').sortable(sortableOptions) + $('#importDbColumns > ul, .import-column-bindings > ul').sortable(sortableOptions) } - this.loadFileColumnSample = function(el, id) { - $(el).popup({ + this.ignoreFileColumn = function(el) { + var $el = $(el), + $column = $el.closest('[data-column-id]') + + $column.addClass('column-ignored') + $('#showIgnoredColumnsButton').removeClass('disabled') + } + + this.showIgnoredColumns = function(el) { + $('#importFileColumns li.column-ignored').removeClass('column-ignored') + $('#showIgnoredColumnsButton').addClass('disabled') + } + + this.loadFileColumnSample = function(el) { + var $el = $(el), + $column = $el.closest('[data-column-id]'), + columnId = $column.data('column-id') + + $el.popup({ handler: 'onImportLoadColumnSamplePopup', extraData: { - file_column_id: id + file_column_id: columnId } }) } diff --git a/modules/backend/behaviors/importexportcontroller/assets/less/importexport.less b/modules/backend/behaviors/importexportcontroller/assets/less/importexport.less index c075151df..31a3e965e 100644 --- a/modules/backend/behaviors/importexportcontroller/assets/less/importexport.less +++ b/modules/backend/behaviors/importexportcontroller/assets/less/importexport.less @@ -85,6 +85,26 @@ .import-file-columns > ul { > li { .clearfix; + + &.column-ignored { + display: none; + } + + .column-success-icon { + display: none; + position: relative; + left: -2px; + width: 15px; + } + + &.column-matched { + .column-success-icon { + display: inline-block; + } + .column-ignore { + display: none !important; + } + } } div.import-column-name { diff --git a/modules/backend/behaviors/importexportcontroller/partials/_import_db_columns.htm b/modules/backend/behaviors/importexportcontroller/partials/_import_db_columns.htm index 2f483efdf..7774259d7 100644 --- a/modules/backend/behaviors/importexportcontroller/partials/_import_db_columns.htm +++ b/modules/backend/behaviors/importexportcontroller/partials/_import_db_columns.htm @@ -1,4 +1,4 @@ -
+
    $label): ?>
  • diff --git a/modules/backend/behaviors/importexportcontroller/partials/_import_file_columns.htm b/modules/backend/behaviors/importexportcontroller/partials/_import_file_columns.htm index abe386b31..75af795c1 100644 --- a/modules/backend/behaviors/importexportcontroller/partials/_import_file_columns.htm +++ b/modules/backend/behaviors/importexportcontroller/partials/_import_file_columns.htm @@ -1,10 +1,11 @@ -
    +
      $column): ?>
    • + diff --git a/modules/backend/behaviors/importexportcontroller/partials/_import_toolbar.htm b/modules/backend/behaviors/importexportcontroller/partials/_import_toolbar.htm new file mode 100644 index 000000000..6bbc1aca8 --- /dev/null +++ b/modules/backend/behaviors/importexportcontroller/partials/_import_toolbar.htm @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/modules/backend/behaviors/importexportcontroller/partials/fields_import.yaml b/modules/backend/behaviors/importexportcontroller/partials/fields_import.yaml index bd785d6ac..908e62e1b 100644 --- a/modules/backend/behaviors/importexportcontroller/partials/fields_import.yaml +++ b/modules/backend/behaviors/importexportcontroller/partials/fields_import.yaml @@ -22,9 +22,13 @@ fields: span: left step2_section: - label: 2. Match fields to the CSV columns + label: 2. Match database fields to the CSV columns type: section + column_control_panel: + type: partial + path: ~/modules/backend/behaviors/importexportcontroller/partials/_import_toolbar.htm + import_file_columns: label: File columns type: partial @@ -33,7 +37,7 @@ fields: span: left import_db_columns: - label: Record columns + label: Database fields type: partial path: ~/modules/backend/behaviors/importexportcontroller/partials/_import_db_columns.htm span: right