Skip to content

Commit 0f78f46

Browse files
committed
fix: delimiter dropdown
1 parent ba9a39a commit 0f78f46

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

src/utils/editor.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export const openEditor = function (cell, empty, e) {
7373
// Get current value
7474
let value = obj.options.data[y][x];
7575
if (obj.options.columns[x].multiple && !Array.isArray(value)) {
76-
value = value.split(';');
76+
value = value.split(obj.options.columns[x].delimiter || ';');
7777
}
7878

7979
// Create dropdown
@@ -297,7 +297,10 @@ export const closeEditor = function (cell, save) {
297297
) {
298298
// Do nothing
299299
} else if (obj.options.columns && obj.options.columns[x] && obj.options.columns[x].type == 'dropdown') {
300-
value = cell.children[0].dropdown.close(true);
300+
const dropdown = cell.children[0].dropdown;
301+
const delimiter = obj.options.columns[x].delimiter;
302+
dropdown.close(true);
303+
value = delimiter && obj.options.columns[x].multiple ? dropdown.getValue(true).join(delimiter) : dropdown.getValue();
301304
} else if (obj.options.columns && obj.options.columns[x] && obj.options.columns[x].type == 'calendar') {
302305
value = cell.children[0].calendar.close(true);
303306
} else if (obj.options.columns && obj.options.columns[x] && obj.options.columns[x].type == 'color') {

src/utils/internal.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,8 @@ const getDropDownValue = function (column, key) {
341341
}
342342

343343
// Guarantee single multiple compatibility
344-
const keys = Array.isArray(key) ? key : ('' + key).split(';');
344+
const delimiter = obj.options.columns[column].delimiter || ';';
345+
const keys = Array.isArray(key) ? key : ('' + key).split(delimiter);
345346

346347
for (let i = 0; i < keys.length; i++) {
347348
if (typeof keys[i] === 'object') {
@@ -356,7 +357,8 @@ const getDropDownValue = function (column, key) {
356357
console.error('Invalid column');
357358
}
358359

359-
return value.length > 0 ? value.join('; ') : '';
360+
const displayDelimiter = obj.options.columns[column].delimiter || '; ';
361+
return value.length > 0 ? value.join(displayDelimiter) : '';
360362
};
361363

362364
const validDate = function (date) {

0 commit comments

Comments
 (0)