|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
import { ColumnType, UITypes } from 'nocodb-sdk'; |
|
|
|
|
|
|
|
|
|
const rowMixedValue = (column: ColumnType, index: number) => { |
|
|
|
|
const rowMixedValue = (column: ColumnType, index: number, db?: string) => { |
|
|
|
|
// Array of country names
|
|
|
|
|
const countries = [ |
|
|
|
|
'Afghanistan', |
|
|
|
@ -36,11 +36,33 @@ const rowMixedValue = (column: ColumnType, index: number) => {
|
|
|
|
|
null, |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
// compute timezone offset
|
|
|
|
|
const offset = new Date().getTimezoneOffset(); |
|
|
|
|
const timezoneOffset = |
|
|
|
|
(db === 'mysql' ? (offset < 0 ? '+' : '-') : offset <= 0 ? '+' : '-') + |
|
|
|
|
String(Math.abs(Math.round(offset / 60))).padStart(2, '0') + |
|
|
|
|
':' + |
|
|
|
|
String(Math.abs(offset % 60)).padStart(2, '0'); |
|
|
|
|
|
|
|
|
|
// Array of random integers, not more than 10000
|
|
|
|
|
const numbers = [33, null, 456, 333, 267, 34, 8754, 3234, 44, 33, null]; |
|
|
|
|
const decimals = [33.3, 456.34, 333.3, null, 267.5674, 34.0, 8754.0, 3234.547, 44.2647, 33.98, null]; |
|
|
|
|
const duration = [60, 120, 180, 3600, 3660, 3720, null, 3780, 60, 120, null]; |
|
|
|
|
const time = [ |
|
|
|
|
`1999-01-01 02:02:00${timezoneOffset}`, |
|
|
|
|
`1999-01-01 20:20:20${timezoneOffset}`, |
|
|
|
|
`1999-01-01 04:04:00${timezoneOffset}`, |
|
|
|
|
`1999-01-01 02:02:00${timezoneOffset}`, |
|
|
|
|
`1999-01-01 20:20:20${timezoneOffset}`, |
|
|
|
|
`1999-01-01 18:18:18${timezoneOffset}`, |
|
|
|
|
null, |
|
|
|
|
`1999-01-01 02:02:00${timezoneOffset}`, |
|
|
|
|
`1999-01-01 20:20:20${timezoneOffset}`, |
|
|
|
|
`1999-01-01 18:18:18${timezoneOffset}`, |
|
|
|
|
null, |
|
|
|
|
]; |
|
|
|
|
const rating = [0, 1, 2, 3, null, 0, 4, 5, 0, 1, null]; |
|
|
|
|
const years = [2023, null, 1956, 2023, 1967, 2024, 1954, 1924, 2044, 1923, null]; |
|
|
|
|
|
|
|
|
|
// Array of random sample email strings (not more than 100 characters)
|
|
|
|
|
const emails = [ |
|
|
|
@ -131,6 +153,10 @@ const rowMixedValue = (column: ColumnType, index: number) => {
|
|
|
|
|
return singleSelect[index % singleSelect.length]; |
|
|
|
|
case UITypes.MultiSelect: |
|
|
|
|
return multiSelect[index % multiSelect.length]; |
|
|
|
|
case UITypes.Year: |
|
|
|
|
return years[index % years.length]; |
|
|
|
|
case UITypes.Time: |
|
|
|
|
return time[index % time.length]; |
|
|
|
|
default: |
|
|
|
|
return `test-${index}`; |
|
|
|
|
} |
|
|
|
|