54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
export const getDataRowGroup = (data: any): any => {
|
|
if (Array.isArray(data)) {
|
|
if (data[0].items) {
|
|
if (Array.isArray(data[0].items)) {
|
|
return getDataRowGroup(data[0].items[0])
|
|
} else {
|
|
return getDataRowGroup(data[0].items)
|
|
}
|
|
} else if (data[0].collapsedItems) {
|
|
if (Array.isArray(data[0].collapsedItems)) {
|
|
return getDataRowGroup(data[0].collapsedItems[0])
|
|
} else {
|
|
return getDataRowGroup(data[0].collapsedItems)
|
|
}
|
|
} else {
|
|
if (Array.isArray(data[0])) {
|
|
return getDataRowGroup(data[0])
|
|
} else {
|
|
return getDataRowGroup(data)
|
|
}
|
|
}
|
|
} else {
|
|
if (data.items) {
|
|
if (Array.isArray(data.items)) {
|
|
return getDataRowGroup(data.items[0])
|
|
} else {
|
|
return getDataRowGroup(data.items)
|
|
}
|
|
} else if (data.collapsedItems) {
|
|
if (Array.isArray(data.collapsedItems)) {
|
|
return getDataRowGroup(data.collapsedItems[0])
|
|
} else {
|
|
return getDataRowGroup(data.collapsedItems)
|
|
}
|
|
} else {
|
|
return data
|
|
}
|
|
}
|
|
}
|
|
|
|
export const detectOS = () => {
|
|
const platform = navigator.userAgent.toLowerCase()
|
|
|
|
if (platform.includes('mac')) {
|
|
return 'macOS'
|
|
} else if (platform.includes('win')) {
|
|
return 'Windows'
|
|
} else if (platform.includes('linux')) {
|
|
return 'Linux'
|
|
} else {
|
|
return 'Unknown'
|
|
}
|
|
}
|