Add the ability to hide/show columns

This commit is contained in:
Samuel Georges 2015-07-18 16:36:33 +10:00
parent f445b9c4ce
commit 9b249bad5b
7 changed files with 77 additions and 10 deletions

View File

@ -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%;

View File

@ -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
}
})
}

View File

@ -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 {

View File

@ -1,4 +1,4 @@
<div class="import-db-columns">
<div class="import-db-columns" id="importDbColumns">
<ul>
<?php foreach ($importDbColumns as $column => $label): ?>
<li data-column-name="<?= e($column) ?>">

View File

@ -1,10 +1,11 @@
<div class="import-file-columns">
<div class="import-file-columns" id="importFileColumns">
<?php if ($importFileColumns): ?>
<ul>
<?php foreach ($importFileColumns as $index => $column): ?>
<li data-column-id="<?= $index ?>">
<div class="import-column-name">
<span>
<i class="column-success-icon text-success icon-check"></i>
<a
href="javascript:;"
class="column-ignore"
@ -12,13 +13,14 @@
data-delay="300"
data-placement="right"
title="Ignore this column"
onclick="$.oc.importExportBehavior.ignoreFileColumn(this)"
>
<i class="icon-close"></i>
</a>
<a
href="javascript:;"
class="column-label"
onclick="$.oc.importExportBehavior.loadFileColumnSample(this, '<?= $index ?>')"
onclick="$.oc.importExportBehavior.loadFileColumnSample(this)"
>
<?= $column ?>
</a>

View File

@ -0,0 +1,9 @@
<div data-control="toolbar">
<a
href="javascript:;"
id="showIgnoredColumnsButton"
class="btn btn-sm btn-default oc-icon-eye disabled"
onclick="$.oc.importExportBehavior.showIgnoredColumns()">
Show ignored columns
</a>
</div>

View File

@ -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