selected cells published refactor

This commit is contained in:
Jan Prochazka
2024-07-24 10:01:51 +02:00
parent 3e44fd823c
commit c2a01e4822

View File

@@ -1078,18 +1078,22 @@
} }
const lastPublishledSelectedCellsRef = createRef(''); const lastPublishledSelectedCellsRef = createRef('');
const changeSetValueRef = createRef(null);
$: { $: {
const stringified = stableStringify(selectedCells); const stringified = stableStringify(selectedCells);
console.log('GRID CORE SELECTED CELLS', selectedCells); if (
console.log('grider', grider); (lastPublishledSelectedCellsRef.get() != stringified || changeSetValueRef.get() != $changeSetStore.value) &&
if (lastPublishledSelectedCellsRef.get() != stringified && realColumnUniqueNames?.length > 0) { realColumnUniqueNames?.length > 0
) {
const rowIndexes = _.uniq(selectedCells.map(x => x[0]));
if (rowIndexes.every(x => grider.getRowData(x))) {
tick().then(() => {
lastPublishledSelectedCellsRef.set(stringified); lastPublishledSelectedCellsRef.set(stringified);
const cellsValue = () => getCellsPublished(selectedCells); const cellsValue = () => getCellsPublished(selectedCells);
changeSetValueRef.set($changeSetStore.value);
// selectedCellsPublished = cellsValue; // selectedCellsPublished = cellsValue;
$selectedCellsCallback = cellsValue; $selectedCellsCallback = cellsValue;
console.log('PUBLISH GRID CORE', selectedCells, cellsValue());
if (onChangeSelectedColumns) { if (onChangeSelectedColumns) {
onChangeSelectedColumns(getSelectedColumns().map(x => x.columnName)); onChangeSelectedColumns(getSelectedColumns().map(x => x.columnName));
} }
@@ -1097,7 +1101,8 @@
if (onPublishedCellsChanged) { if (onPublishedCellsChanged) {
onPublishedCellsChanged(getCellsPublished(selectedCells)); onPublishedCellsChanged(getCellsPublished(selectedCells));
} }
});
}
// if (onSelectedCellsPublishedChanged) onSelectedCellsPublishedChanged(getCellsPublished(selectedCells)); // if (onSelectedCellsPublishedChanged) onSelectedCellsPublishedChanged(getCellsPublished(selectedCells));
} }
} }
@@ -1121,12 +1126,10 @@
function getCellsPublished(cells) { function getCellsPublished(cells) {
const regular = cellsToRegularCells(cells); const regular = cellsToRegularCells(cells);
console.log('REGULAR CELLS', cells);
const res = regular const res = regular
.map(cell => { .map(cell => {
const row = cell[0]; const row = cell[0];
const rowData = grider.getRowData(row); const rowData = grider.getRowData(row);
console.log('REAL COLUMN UNIQUE NAMES', realColumnUniqueNames);
const column = realColumnUniqueNames[cell[1]]; const column = realColumnUniqueNames[cell[1]];
return { return {
row, row,