list sheet, tree view sheet and two column select components support hidden field

This commit is contained in:
MaysWind
2024-07-22 23:00:44 +08:00
parent 9f438dd648
commit 7662e0eb02
5 changed files with 51 additions and 13 deletions
+28 -8
View File
@@ -214,10 +214,14 @@ export function stringToArrayBuffer(str){
return Uint8Array.from(str, c => c.charCodeAt(0)).buffer;
}
export function getFirstItem(items) {
if (isArray(items)) {
if (items.length > 0) {
return items[0];
export function getFirstVisibleItem(items, hiddenField) {
if (isArray(items) && items.length > 0) {
for (let i = 0; i < items.length; i++) {
if (hiddenField && items[i][hiddenField]) {
continue;
}
return items[i];
}
} else {
for (let field in items) {
@@ -225,6 +229,10 @@ export function getFirstItem(items) {
continue;
}
if (hiddenField && items[field][hiddenField]) {
continue;
}
return items[field];
}
}
@@ -467,10 +475,14 @@ export function selectInvert(filterItemIds, allItemsMap) {
}
}
export function isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField, secondaryValueField, secondaryValue) {
export function isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField, secondaryValueField, secondaryHiddenField, secondaryValue) {
for (let i = 0; i < primaryItem[primarySubItemsField].length; i++) {
const secondaryItem = primaryItem[primarySubItemsField][i];
if (secondaryHiddenField && secondaryItem[secondaryHiddenField]) {
continue;
}
if (secondaryValueField && secondaryItem[secondaryValueField] === secondaryValue) {
return true;
} else if (!secondaryValueField && secondaryItem === secondaryValue) {
@@ -481,13 +493,17 @@ export function isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField
return false;
}
export function getPrimaryValueBySecondaryValue(items, primarySubItemsField, primaryValueField, secondaryValueField, secondaryValue) {
export function getPrimaryValueBySecondaryValue(items, primarySubItemsField, primaryValueField, primaryHiddenField, secondaryValueField, secondaryHiddenField, secondaryValue) {
if (primarySubItemsField) {
if (isArray(items)) {
for (let i = 0; i < items.length; i++) {
const primaryItem = items[i];
if (isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField, secondaryValueField, secondaryValue)) {
if (primaryHiddenField && primaryItem[primaryHiddenField]) {
continue;
}
if (isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField, secondaryValueField, secondaryHiddenField, secondaryValue)) {
if (primaryValueField) {
return primaryItem[primaryValueField];
} else {
@@ -503,7 +519,11 @@ export function getPrimaryValueBySecondaryValue(items, primarySubItemsField, pri
const primaryItem = items[field];
if (isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField, secondaryValueField, secondaryValue)) {
if (primaryHiddenField && primaryItem[primaryHiddenField]) {
continue;
}
if (isPrimaryItemHasSecondaryValue(primaryItem, primarySubItemsField, secondaryValueField, secondaryHiddenField, secondaryValue)) {
if (primaryValueField) {
return primaryItem[primaryValueField];
} else {