db diff object counts

This commit is contained in:
Jan Prochazka
2021-11-07 20:20:04 +01:00
parent dcfc695678
commit e3ef332881

View File

@@ -80,15 +80,26 @@
return { sql: dmp.s }; return { sql: dmp.s };
} }
function filterDiffRows(rows, values, filter) { function filterDiffRowsByFlag(rows, values, skip = null) {
let res = rows let res = rows;
.filter(row => filterName(filter, row.sourcePureName, row.targetPureName))
.filter(row => !values?.hideAdded || row.state != 'added') if (skip != 'added') {
.filter(row => !values?.hideRemoved || row.state != 'removed') res = res.filter(row => !values?.hideAdded || row.state != 'added');
.filter(row => !values?.hideChanged || row.state != 'changed') }
.filter(row => !values?.hideEqual || row.state != 'equal'); if (skip != 'removed') {
res = res.filter(row => !values?.hideRemoved || row.state != 'removed');
}
if (skip != 'changed') {
res = res.filter(row => !values?.hideChanged || row.state != 'changed');
}
if (skip != 'equal') {
res = res.filter(row => !values?.hideEqual || row.state != 'equal');
}
for (const objectTypeField of _.keys(DbDiffCompareDefs)) { for (const objectTypeField of _.keys(DbDiffCompareDefs)) {
if (skip == objectTypeField) {
continue;
}
if (values && values[`hide_${objectTypeField}`]) { if (values && values[`hide_${objectTypeField}`]) {
res = res.filter(row => row.objectTypeField != objectTypeField); res = res.filter(row => row.objectTypeField != objectTypeField);
} }
@@ -96,6 +107,14 @@
return res; return res;
} }
function filterDiffRows(rows, values, filter) {
let res = rows.filter(row => filterName(filter, row.sourcePureName, row.targetPureName));
res = filterDiffRowsByFlag(rows, values);
return res;
}
</script> </script>
<script lang="ts"> <script lang="ts">
@@ -365,28 +384,44 @@
label="Added" label="Added"
{values} {values}
field="hideAdded" field="hideAdded"
count={diffRowsAll.filter(x => x.state == 'added').length} count={filterDiffRowsByFlag(
diffRowsAll.filter(x => x.state == 'added'),
$values,
'added'
).length}
/> />
<RowsFilterSwitcher <RowsFilterSwitcher
icon="img minus" icon="img minus"
label="Removed" label="Removed"
{values} {values}
field="hideRemoved" field="hideRemoved"
count={diffRowsAll.filter(x => x.state == 'removed').length} count={filterDiffRowsByFlag(
diffRowsAll.filter(x => x.state == 'removed'),
$values,
'removed'
).length}
/> />
<RowsFilterSwitcher <RowsFilterSwitcher
icon="img changed" icon="img changed"
label="Changed" label="Changed"
{values} {values}
field="hideChanged" field="hideChanged"
count={diffRowsAll.filter(x => x.state == 'changed').length} count={filterDiffRowsByFlag(
diffRowsAll.filter(x => x.state == 'changed'),
$values,
'changed'
).length}
/> />
<RowsFilterSwitcher <RowsFilterSwitcher
icon="img equal" icon="img equal"
label="Equal" label="Equal"
{values} {values}
field="hideEqual" field="hideEqual"
count={diffRowsAll.filter(x => x.state == 'equal').length} count={filterDiffRowsByFlag(
diffRowsAll.filter(x => x.state == 'equal'),
$values,
'equal'
).length}
/> />
{#each _.keys(DbDiffCompareDefs) as objectTypeField} {#each _.keys(DbDiffCompareDefs) as objectTypeField}
@@ -395,7 +430,11 @@
label={DbDiffCompareDefs[objectTypeField].plural} label={DbDiffCompareDefs[objectTypeField].plural}
{values} {values}
field={'hide_' + objectTypeField} field={'hide_' + objectTypeField}
count={diffRowsAll.filter(x => x.objectTypeField == objectTypeField).length} count={filterDiffRowsByFlag(
diffRowsAll.filter(x => x.objectTypeField == objectTypeField),
$values,
objectTypeField
).length}
/> />
{/each} {/each}
</div> </div>