mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-16 16:07:33 +08:00
list sheet, tree view sheet and two column select components support hidden field
This commit is contained in:
+28
-8
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user