igniteui-angular-sovn
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
829 lines (779 loc) • 109 kB
text/typescript
import { Calendar } from '../calendar/calendar';
import { cloneValue } from '../core/utils';
import { ValueData } from '../services/excel/test-data.service.spec';
export class SampleTestData {
public static timeGenerator: Calendar = new Calendar();
public static today: Date = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0);
// eslint-disable-next-line max-len
public static todayFullDate: Date = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 10, 15, 35);
public static stringArray = () => ([
'Terrance Orta',
'Richard Mahoney LongerName',
'Donna Price',
'Lisa Landers',
'Dorothy H. Spencer'
]);
public static numbersArray = () => ([
10,
20,
30
]);
public static dateArray = () => ([
new Date('2018'),
new Date(2018, 3, 23),
new Date(30),
new Date('2018/03/23')
]);
public static excelDateArray = () => ([
new Date(2018, 3, 23),
new Date('2018/03/23')
]);
public static emptyObjectData = () => ([
{},
{},
{}
]);
public static noHeadersObjectArray = () => ([
new ValueData('1'),
new ValueData('2'),
new ValueData('3')
]);
public static oneItemNumberData = () => ([{ index: 1, value: 1 }]);
/* Fields: index: number, value: number; 2 items. */
public static numberDataTwoFields = () => ([
{ index: 1, value: 1 },
{ index: 2, value: 2 }
]);
/* Fields: index: number, value: number, other: number, another: number; 2 items. */
public static numberDataFourFields = () => ([
{ index: 1, value: 1, other: 1, another: 1 },
{ index: 2, value: 2, other: 2, another: 2 }
]);
/* Fields: Number: number, String: string, Boolean: boolean; Date: date; 3 items. */
public static differentTypesData = () => ([
{ Number: 1, String: '1', Boolean: true, Date: new Date(2018, 3, 3) },
{ Number: 2, String: '2', Boolean: false, Date: new Date(2018, 5, 6) },
{ Number: 3, String: '3', Boolean: true, Date: new Date(2018, 9, 22) }
]);
/* Fields: Name: string, Avatar: string; 3 items. */
public static personAvatarData = () => ([
{
Name: 'Person 1',
Avatar: 'https://randomuser.me/api/portraits/men/43.jpg'
},
{
Name: 'Person 2',
Avatar: 'https://randomuser.me/api/portraits/women/66.jpg'
},
{
Name: 'Person 3',
Avatar: 'https://randomuser.me/api/portraits/men/92.jpg'
}
]);
/* Fields: name: string, phone: string; 5 items. */
public static contactsData = () => ([
{
name: 'Terrance Orta',
phone: '770-504-2217'
}, {
name: 'Richard Mahoney LongerName',
phone: ''
}, {
name: 'Donna Price',
phone: '859-496-2817'
}, {
name: '',
phone: '901-747-3428'
}, {
name: 'Dorothy H. Spencer',
phone: '573-394-9254'
}
]);
/* Fields: name: string, phone: string; 6 items. Remarks: Contains special and cyrilic characters. */
public static contactsFunkyData = () => ([
{
name: 'Terrance Mc\'Orta',
phone: '(+359)770-504-2217 | 2218'
}, {
name: 'Richard Mahoney /LongerName/',
phone: ''
}, {
name: 'Donna, \/; Price',
phone: '859 496 28**'
}, {
name: '\r\n',
phone: '901-747-3428'
}, {
name: 'Dorothy "H." Spencer',
phone: '573-394-9254[fax]'
}, {
name: 'Иван Иванов (1,2)',
phone: '№ 573-394-9254'
}
]);
/* Fields: name: string, phone: string; 3 items. Remarks: Contains records without values for one of the fields. */
public static contactsDataPartial = () => ([
{
name: 'Terrance Orta',
phone: '770-504-2217'
}, {
name: 'Richard Mahoney LongerName'
}, {
phone: '780-555-1331'
}
]);
/* Data fields: ID: number, Name: string; 3 items. */
public static personIDNameData = () => ([
{ ID: 1, IsEmployed: true, Name: 'Johny' },
{ ID: 2, IsEmployed: true, Name: 'Sally' },
{ ID: 3, IsEmployed: false, Name: 'Tim' },
]);
/* Data fields: FirstName: string, LastName: string, age:number; 3 items. */
public static personNameAgeData = () => ([
{ FirstName: 'John', LastName: 'Brown', age: 20 },
{ FirstName: 'Ben', LastName: 'Affleck', age: 30 },
{ FirstName: 'Tom', LastName: 'Riddle', age: 50 }
]);
/* Data fields: ID: number, Name: string, LastName: string, Region: string; 7 items. */
public static personIDNameRegionData = () => ([
{ ID: 2, Name: 'Jane', LastName: 'Brown', Region: 'AD' },
{ ID: 1, Name: 'Brad', LastName: 'Williams', Region: 'BD' },
{ ID: 6, Name: 'Rick', LastName: 'Jones', Region: 'ACD' },
{ ID: 7, Name: 'Rick', LastName: 'BRown', Region: 'DD' },
{ ID: 5, Name: 'ALex', LastName: 'Smith', Region: 'MlDs' },
{ ID: 4, Name: 'Alex', LastName: 'Wilson', Region: 'DC' },
{ ID: 3, Name: 'Connor', LastName: 'Walker', Region: 'OC' }
]);
/* Data fields: ID: number, Name: string, JobTitle: string, HireDate: string; 10 items, sorted by ID. */
public static personJobDataFull = () => ([
{ ID: 1, Name: 'Casey Houston', JobTitle: 'Vice President', HireDate: '2017-06-19T11:43:07.714Z' },
{ ID: 2, Name: 'Gilberto Todd', JobTitle: 'Director', HireDate: '2015-12-18T11:23:17.714Z' },
{ ID: 3, Name: 'Tanya Bennett', JobTitle: 'Director', HireDate: '2005-11-18T11:23:17.714Z' },
{ ID: 4, Name: 'Jack Simon', JobTitle: 'Software Developer', HireDate: '2008-12-18T11:23:17.714Z' },
{ ID: 5, Name: 'Celia Martinez', JobTitle: 'Senior Software Developer', HireDate: '2007-12-19T11:23:17.714Z' },
{ ID: 6, Name: 'Erma Walsh', JobTitle: 'CEO', HireDate: '2016-12-18T11:23:17.714Z' },
{ ID: 7, Name: 'Debra Morton', JobTitle: 'Associate Software Developer', HireDate: '2005-11-19T11:23:17.714Z' },
{ ID: 8, Name: 'Erika Wells', JobTitle: 'Software Development Team Lead', HireDate: '2005-10-14T11:23:17.714Z' },
{ ID: 9, Name: 'Leslie Hansen', JobTitle: 'Associate Software Developer', HireDate: '2013-10-10T11:23:17.714Z' },
{ ID: 10, Name: 'Eduardo Ramirez', JobTitle: 'Manager', HireDate: '2011-11-28T11:23:17.714Z' }
]);
/* Data fields: ID: number, Name: string, JobTitle: string, WokingHours: number, HireDate: string, Performance: array;
3 items, sorted by ID. */
public static personJobHoursDataPerformance = () => ([
{ ID: 1, Name: 'Casey Houston', JobTitle: 'Vice President', WorkingHours: 4, HireDate: '2017-06-19T11:43:07.714Z', Performance:
[
{Points: 3, Week: 1},
{Points: 6, Week: 2},
{Points: 1, Week: 3},
{Points: 12, Week: 4}
]
},
{ ID: 2, Name: 'Gilberto Todd', JobTitle: 'Director', WorkingHours: 6, HireDate: '2015-12-18T11:23:17.714Z', Performance:
[
{Points: 8, Week: 1},
{Points: 7, Week: 2},
{Points: 4, Week: 3},
{Points: 9, Week: 4}
]
},
{ ID: 3, Name: 'Tanya Bennett', JobTitle: 'Director', WorkingHours: 8, HireDate: '2005-11-18T11:23:17.714Z', Performance:
[
{Points: 1, Week: 1},
{Points: 3, Week: 2},
{Points: 14, Week: 3},
{Points: 29, Week: 4}
]
}
]);
public static hireDate = () => ([
{ ID: 1, HireDate: new Date(2008, 3, 20).toISOString() },
{ ID: 2, HireDate: new Date(2015, 11, 8) },
{ ID: 3, HireDate: new Date(2012, 6, 30).toISOString() },
{ ID: 4, HireDate: new Date(2010, 1, 5).toISOString() },
{ ID: 5, HireDate: new Date(2020, 4, 17).toISOString() },
]);
/* Data fields: Name: string, BirthDate: date, LastLogin: dateTime, MeetingTime: time, AttendanceRate: percent; 5 items. */
public static personMeetingData = () => ([
{ Name: 'Casey Houston', BirthDate: new Date(1990, 2, 14), LastLogin: new Date(2023, 3, 28).setHours(13, 12, 36), MeetingTime: new Date(2023, 6, 7).setHours(10, 30, 1), AttendanceRate: 0.78 },
{ Name: 'Gilberto Todd', BirthDate: new Date(1985, 4, 17), LastLogin: new Date(2023, 3, 14).setHours(14, 25, 23), MeetingTime: new Date(2023, 6, 7).setHours(9, 35, 31), AttendanceRate: 0.46 },
{ Name: 'Tanya Bennett', BirthDate: new Date(1987, 6, 19), LastLogin: new Date(2023, 2, 23).setHours(19, 7, 13), MeetingTime: new Date(2023, 6, 7).setHours(13, 10, 36), AttendanceRate: 0.289 },
{ Name: 'Jack Simon', BirthDate: new Date(1995, 8, 23), LastLogin: new Date(2023, 1, 27).setHours(17, 17, 41), MeetingTime: new Date(2023, 6, 7).setHours(14, 50, 47), AttendanceRate: 1 },
{ Name: 'Celia Martinez', BirthDate: new Date(1994, 10, 27), LastLogin: new Date(2023, 2, 14).setHours(1, 31, 49), MeetingTime: new Date(2023, 6, 7).setHours(7, 0, 17), AttendanceRate: 0.384}
]);
/* Data fields: ID: number, Name: string, JobTitle: string; 10 items, sorted by ID. */
public static personJobData = () => ([
{ ID: 1, Name: 'Casey Houston', JobTitle: 'Vice President' },
{ ID: 2, Name: 'Gilberto Todd', JobTitle: 'Director' },
{ ID: 3, Name: 'Tanya Bennett', JobTitle: 'Director' },
{ ID: 4, Name: 'Jack Simon', JobTitle: 'Software Developer' },
{ ID: 5, Name: 'Celia Martinez', JobTitle: 'Senior Software Developer' },
{ ID: 6, Name: 'Erma Walsh', JobTitle: 'CEO' },
{ ID: 7, Name: 'Debra Morton', JobTitle: 'Associate Software Developer' },
{ ID: 8, Name: 'Erika Wells', JobTitle: 'Software Development Team Lead' },
{ ID: 9, Name: 'Leslie Hansen', JobTitle: 'Associate Software Developer' },
{ ID: 10, Name: 'Eduardo Ramirez', JobTitle: 'Manager' }
]);
/* Data fields: ID: number, Name: string, JobTitle: string, Company: string; 10 items, sorted by ID. */
public static personIDNameJobCompany = () => ([
{ ID: 1, Name: 'Casey Houston', JobTitle: 'Vice President', Company: 'Company A' },
{ ID: 2, Name: 'Gilberto Todd', JobTitle: 'Director', Company: 'Company C' },
{ ID: 3, Name: 'Tanya Bennett', JobTitle: 'Director', Company: 'Company A' },
{ ID: 4, Name: 'Jack Simon', JobTitle: 'Software Developer', Company: 'Company D' },
{ ID: 5, Name: 'Celia Martinez', JobTitle: 'Senior Software DEVELOPER', Company: 'Company B' },
{ ID: 6, Name: 'Erma Walsh', JobTitle: 'CEO', Company: 'Company C' },
{ ID: 7, Name: 'Debra Morton', JobTitle: 'Associate Software Developer', Company: 'Company B' },
{ ID: 8, Name: 'Erika Wells', JobTitle: 'Software Development Team Lead', Company: 'Company A' },
{ ID: 9, Name: 'Leslie Hansen', JobTitle: 'Associate Software Developer', Company: 'Company D' },
{ ID: 10, Name: 'Eduardo Ramirez', JobTitle: 'Manager', Company: 'Company E' }
]);
/* Data fields: ID: number, Name: Object{FirstName: string, LastName: string },
JobTitle: string, Company: string; 10 items, sorted by ID. */
public static personNameObjectJobCompany = () => ([
{ ID: 1, Name: { FirstName: 'Casey', LastName: 'Houston' }, JobTitle: 'Vice President', Company: 'Company A' },
{ ID: 2, Name: { FirstName: 'Gilberto', LastName: 'Todd' } , JobTitle: 'Director', Company: 'Company C' },
{ ID: 3, Name: { FirstName: 'Tanya', LastName: 'Bennett' } , JobTitle: 'Director', Company: 'Company A' },
{ ID: 4, Name: { FirstName: 'Jack', LastName: 'Simon' }, JobTitle: 'Software Developer', Company: 'Company D' },
{ ID: 5, Name: { FirstName: 'Celia', LastName: 'Martinez' }, JobTitle: 'Senior Software DEVELOPER', Company: 'Company B' },
{ ID: 6, Name: { FirstName: 'Erma', LastName: 'Walsh' }, JobTitle: 'CEO', Company: 'Company C' },
{ ID: 7, Name: { FirstName: 'Debra', LastName: 'Morton' } , JobTitle: 'Associate Software Developer', Company: 'Company B' },
{ ID: 8, Name: { FirstName: 'Erika', LastName: 'Wells' } , JobTitle: 'Software Development Team Lead', Company: 'Company A' },
{ ID: 9, Name: { FirstName: 'Leslie', LastName: 'Hansen' } , JobTitle: 'Associate Software Developer', Company: 'Company D' },
{ ID: 10, Name: { FirstName: 'Eduardo', LastName: 'Ramirez' }, JobTitle: 'Manager', Company: 'Company E' }
]);
/* Data fields: ID: number, CompanyName: string, ContactName: string, ContactTitle: string, Address: string,
City: string, Region: string, PostalCode: string, Country: string, Phone: string, Fax: string;
11 items, sorted by ID. */
public static contactInfoData = () => ([
{
ID: 'ALFKI',
CompanyName: 'Alfreds Futterkiste',
ContactName: 'Maria Anders',
ContactTitle: 'Sales Representative',
Address: 'Obere Str. 57',
City: 'Berlin',
Region: null,
PostalCode: '12209',
Country: 'Germany',
Phone: '030-0074321',
Fax: '030-0076545'
},
{
ID: 'ANATR',
CompanyName: 'Ana Trujillo Emparedados y helados',
ContactName: 'Ana Trujillo',
ContactTitle: 'Owner',
Address: 'Avda. de la Constitución 2222',
City: 'México D.F.',
Region: null,
PostalCode: '05021',
Country: 'Mexico',
Phone: '(5) 555-4729',
Fax: '(5) 555-3745'
},
{
ID: 'ANTON',
CompanyName: 'Antonio Moreno Taquería',
ContactName: 'Antonio Moreno',
ContactTitle: 'Owner',
Address: 'Mataderos 2312',
City: 'México D.F.',
Region: null,
PostalCode: '05023',
Country: 'Mexico',
Phone: '(5) 555-3932',
Fax: null
},
{
ID: 'AROUT',
CompanyName: 'Around the Horn',
ContactName: 'Thomas Hardy',
ContactTitle: 'Sales Representative',
Address: '120 Hanover Sq.',
City: 'London',
Region: null,
PostalCode: 'WA1 1DP',
Country: 'UK',
Phone: '(171) 555-7788',
Fax: '(171) 555-6750'
},
{
ID: 'BERGS',
CompanyName: 'Berglunds snabbköp',
ContactName: 'Christina Berglund',
ContactTitle: 'Order Administrator',
Address: 'Berguvsvägen 8',
City: 'Luleå',
Region: null,
PostalCode: 'S-958 22',
Country: 'Sweden',
Phone: '0921-12 34 65',
Fax: '0921-12 34 67'
},
{
ID: 'BLAUS',
CompanyName: 'Blauer See Delikatessen',
ContactName: 'Hanna Moos',
ContactTitle: 'Sales Representative',
Address: 'Forsterstr. 57',
City: 'Mannheim',
Region: null,
PostalCode: '68306',
Country: 'Germany',
Phone: '0621-08460',
Fax: '0621-08924'
},
{
ID: 'BLONP',
CompanyName: 'Blondesddsl père et fils',
ContactName: 'Frédérique Citeaux',
ContactTitle: 'Marketing Manager',
Address: '24, place Kléber',
City: 'Strasbourg',
Region: null,
PostalCode: '67000',
Country: 'France',
Phone: '88.60.15.31',
Fax: '88.60.15.32'
},
{
ID: 'BOLID',
CompanyName: 'Bólido Comidas preparadas',
ContactName: 'Martín Sommer',
ContactTitle: 'Owner',
Address: 'C/ Araquil, 67',
City: 'Madrid',
Region: null,
PostalCode: '28023',
Country: 'Spain',
Phone: '(91) 555 22 82',
Fax: '(91) 555 91 99'
},
{
ID: 'BONAP',
CompanyName: 'Bon app\'',
ContactName: 'Laurence Lebihan',
ContactTitle: 'Owner',
Address: '12, rue des Bouchers',
City: 'Marseille',
Region: null,
PostalCode: '13008',
Country: 'France',
Phone: '91.24.45.40',
Fax: '91.24.45.41'
},
{
ID: 'BOTTM',
CompanyName: 'Bottom-Dollar Markets',
ContactName: 'Elizabeth Lincoln',
ContactTitle: 'Accounting Manager',
Address: '23 Tsawassen Blvd.',
City: 'Tsawassen',
Region: 'BC',
PostalCode: 'T2F 8M4',
Country: 'Canada',
Phone: '(604) 555-4729',
Fax: '(604) 555-3745'
},
{
ID: 'BSBEV',
CompanyName: 'B\'s Beverages',
ContactName: 'Victoria Ashworth',
ContactTitle: 'Sales Representative',
Address: 'Fauntleroy Circus', City: 'London',
Region: null, PostalCode: 'EC2 5NT',
Country: 'UK',
Phone: '(171) 555-1212',
Fax: null
}
]);
/* Data fields: ID: number, CompanyName: string, ContactName: string, ContactTitle: string, Address: string,
City: string, Region: string, PostalCode: string, Country: string, Phone: string, Fax: string;
27 items, sorted by ID. */
/* eslint-disable max-len */
public static contactInfoDataFull = () => ([
{ ID: 'ALFKI', CompanyName: 'Alfreds Futterkiste', ContactName: 'Maria Anders', ContactTitle: 'Sales Representative', Address: 'Obere Str. 57', City: 'Berlin', Region: null, PostalCode: '12209', Country: 'Germany', Phone: '030-0074321', Fax: '030-0076545' },
{ ID: 'ANATR', CompanyName: 'Ana Trujillo Emparedados y helados', ContactName: 'Ana Trujillo', ContactTitle: 'Owner', Address: 'Avda. de la Constitución 2222', City: 'México D.F.', Region: null, PostalCode: '05021', Country: 'Mexico', Phone: '(5) 555-4729', Fax: '(5) 555-3745' },
{ ID: 'ANTON', CompanyName: 'Antonio Moreno Taquería', ContactName: 'Antonio Moreno', ContactTitle: 'Owner', Address: 'Mataderos 2312', City: 'México D.F.', Region: null, PostalCode: '05023', Country: 'Mexico', Phone: '(5) 555-3932', Fax: null },
{ ID: 'AROUT', CompanyName: 'Around the Horn', ContactName: 'Thomas Hardy', ContactTitle: 'Sales Representative', Address: '120 Hanover Sq.', City: 'London', Region: null, PostalCode: 'WA1 1DP', Country: 'UK', Phone: '(171) 555-7788', Fax: '(171) 555-6750' },
{ ID: 'BERGS', CompanyName: 'Berglunds snabbköp', ContactName: 'Christina Berglund', ContactTitle: 'Order Administrator', Address: 'Berguvsvägen 8', City: 'Luleå', Region: null, PostalCode: 'S-958 22', Country: 'Sweden', Phone: '0921-12 34 65', Fax: '0921-12 34 67' },
{ ID: 'BLAUS', CompanyName: 'Blauer See Delikatessen', ContactName: 'Hanna Moos', ContactTitle: 'Sales Representative', Address: 'Forsterstr. 57', City: 'Mannheim', Region: null, PostalCode: '68306', Country: 'Germany', Phone: '0621-08460', Fax: '0621-08924' },
{ ID: 'BLONP', CompanyName: 'Blondesddsl père et fils', ContactName: 'Frédérique Citeaux', ContactTitle: 'Marketing Manager', Address: '24, place Kléber', City: 'Strasbourg', Region: null, PostalCode: '67000', Country: 'France', Phone: '88.60.15.31', Fax: '88.60.15.32' },
{ ID: 'BOLID', CompanyName: 'Bólido Comidas preparadas', ContactName: 'Martín Sommer', ContactTitle: 'Owner', Address: 'C/ Araquil, 67', City: 'Madrid', Region: null, PostalCode: '28023', Country: 'Spain', Phone: '(91) 555 22 82', Fax: '(91) 555 91 99' },
{ ID: 'BONAP', CompanyName: 'Bon app\'', ContactName: 'Laurence Lebihan', ContactTitle: 'Owner', Address: '12, rue des Bouchers', City: 'Marseille', Region: null, PostalCode: '13008', Country: 'France', Phone: '91.24.45.40', Fax: '91.24.45.41' },
{ ID: 'BOTTM', CompanyName: 'Bottom-Dollar Markets', ContactName: 'Elizabeth Lincoln', ContactTitle: 'Accounting Manager', Address: '23 Tsawassen Blvd.', City: 'Tsawassen', Region: 'BC', PostalCode: 'T2F 8M4', Country: 'Canada', Phone: '(604) 555-4729', Fax: '(604) 555-3745' },
{ ID: 'BSBEV', CompanyName: 'B\'s Beverages', ContactName: 'Victoria Ashworth', ContactTitle: 'Sales Representative', Address: 'Fauntleroy Circus', City: 'London', Region: null, PostalCode: 'EC2 5NT', Country: 'UK', Phone: '(171) 555-1212', Fax: null },
{ ID: 'CACTU', CompanyName: 'Cactus Comidas para llevar', ContactName: 'Patricio Simpson', ContactTitle: 'Sales Agent', Address: 'Cerrito 333', City: 'Buenos Aires', Region: null, PostalCode: '1010', Country: 'Argentina', Phone: '(1) 135-5555', Fax: '(1) 135-4892' },
{ ID: 'CENTC', CompanyName: 'Centro comercial Moctezuma', ContactName: 'Francisco Chang', ContactTitle: 'Marketing Manager', Address: 'Sierras de Granada 9993', City: 'México D.F.', Region: null, PostalCode: '05022', Country: 'Mexico', Phone: '(5) 555-3392', Fax: '(5) 555-7293' },
{ ID: 'CHOPS', CompanyName: 'Chop-suey Chinese', ContactName: 'Yang Wang', ContactTitle: 'Owner', Address: 'Hauptstr. 29', City: 'Bern', Region: null, PostalCode: '3012', Country: 'Switzerland', Phone: '0452-076545', Fax: null },
{ ID: 'COMMI', CompanyName: 'Comércio Mineiro', ContactName: 'Pedro Afonso', ContactTitle: 'Sales Associate', Address: 'Av. dos Lusíadas, 23', City: 'Sao Paulo', Region: 'SP', PostalCode: '05432-043', Country: 'Brazil', Phone: '(11) 555-7647', Fax: null },
{ ID: 'CONSH', CompanyName: 'Consolidated Holdings', ContactName: 'Elizabeth Brown', ContactTitle: 'Sales Representative', Address: 'Berkeley Gardens 12 Brewery', City: 'London', Region: null, PostalCode: 'WX1 6LT', Country: 'UK', Phone: '(171) 555-2282', Fax: '(171) 555-9199' },
{ ID: 'DRACD', CompanyName: 'Drachenblut Delikatessen', ContactName: 'Sven Ottlieb', ContactTitle: 'Order Administrator', Address: 'Walserweg 21', City: 'Aachen', Region: null, PostalCode: '52066', Country: 'Germany', Phone: '0241-039123', Fax: '0241-059428' },
{ ID: 'DUMON', CompanyName: 'Du monde entier', ContactName: 'Janine Labrune', ContactTitle: 'Owner', Address: '67, rue des Cinquante Otages', City: 'Nantes', Region: null, PostalCode: '44000', Country: 'France', Phone: '40.67.88.88', Fax: '40.67.89.89' },
{ ID: 'EASTC', CompanyName: 'Eastern Connection', ContactName: 'Ann Devon', ContactTitle: 'Sales Agent', Address: '35 King George', City: 'London', Region: null, PostalCode: 'WX3 6FW', Country: 'UK', Phone: '(171) 555-0297', Fax: '(171) 555-3373' },
{ ID: 'ERNSH', CompanyName: 'Ernst Handel', ContactName: 'Roland Mendel', ContactTitle: 'Sales Manager', Address: 'Kirchgasse 6', City: 'Graz', Region: null, PostalCode: '8010', Country: 'Austria', Phone: '7675-3425', Fax: '7675-3426' },
{ ID: 'FAMIA', CompanyName: 'Familia Arquibaldo', ContactName: 'Aria Cruz', ContactTitle: 'Marketing Assistant', Address: 'Rua Orós, 92', City: 'Sao Paulo', Region: 'SP', PostalCode: '05442-030', Country: 'Brazil', Phone: '(11) 555-9857', Fax: null },
{ ID: 'FISSA', CompanyName: 'FISSA Fabrica Inter. Salchichas S.A.', ContactName: 'Diego Roel', ContactTitle: 'Accounting Manager', Address: 'C/ Moralzarzal, 86', City: 'Madrid', Region: null, PostalCode: '28034', Country: 'Spain', Phone: '(91) 555 94 44', Fax: '(91) 555 55 93' },
{ ID: 'FOLIG', CompanyName: 'Folies gourmandes', ContactName: 'Martine Rancé', ContactTitle: 'Assistant Sales Agent', Address: '184, chaussée de Tournai', City: 'Lille', Region: null, PostalCode: '59000', Country: 'France', Phone: '20.16.10.16', Fax: '20.16.10.17' },
{ ID: 'FOLKO', CompanyName: 'Folk och fä HB', ContactName: 'Maria Larsson', ContactTitle: 'Owner', Address: 'Åkergatan 24', City: 'Bräcke', Region: null, PostalCode: 'S-844 67', Country: 'Sweden', Phone: '0695-34 67 21', Fax: null },
{ ID: 'FRANK', CompanyName: 'Frankenversand', ContactName: 'Peter Franken', ContactTitle: 'Marketing Manager', Address: 'Berliner Platz 43', City: 'München', Region: null, PostalCode: '80805', Country: 'Germany', Phone: '089-0877310', Fax: '089-0877451' },
{ ID: 'FRANR', CompanyName: 'France restauration', ContactName: 'Carine Schmitt', ContactTitle: 'Marketing Manager', Address: '54, rue Royale', City: 'Nantes', Region: null, PostalCode: '44000', Country: 'France', Phone: '40.32.21.21', Fax: '40.32.21.20' },
{ ID: 'FRANS', CompanyName: 'Franchi S.p.A.', ContactName: 'Paolo Accorti', ContactTitle: 'Sales Representative', Address: 'Via Monte Bianco 34', City: 'Torino', Region: null, PostalCode: '10100', Country: 'Italy', Phone: '011-4988260', Fax: '011-4988261' }
]);
/* eslint-enable max-len */
/* Data fields: ID: number, PTODays: number, CompanyName: string, ContactName: string, ContactTitle: string, Address: string,
City: string, Region: string, PostalCode: string, Country: string, Phone: string, Fax: string;
27 items, sorted by ID. */
/* eslint-disable max-len */
public static contactInfoWithPTODaysData = () => ([
{ ID: 'ALFKI', PTODays: 20, CompanyName: 'Alfreds Futterkiste', ContactName: 'Maria Anders', ContactTitle: 'Sales Representative', Address: 'Obere Str. 57', City: 'Berlin', Region: null, PostalCode: '12209', Country: 'Germany', Phone: '030-0074321', Fax: '030-0076545' },
{ ID: 'ANATR', PTODays: 12, CompanyName: 'Ana Trujillo Emparedados y helados', ContactName: 'Ana Trujillo', ContactTitle: 'Owner', Address: 'Avda. de la Constitución 2222', City: 'México D.F.', Region: null, PostalCode: '05021', Country: 'Mexico', Phone: '(5) 555-4729', Fax: '(5) 555-3745' },
{ ID: 'ANTON', PTODays: 32, CompanyName: 'Antonio Moreno Taquería', ContactName: 'Antonio Moreno', ContactTitle: 'Owner', Address: 'Mataderos 2312', City: 'México D.F.', Region: null, PostalCode: '05023', Country: 'Mexico', Phone: '(5) 555-3932', Fax: null },
{ ID: 'AROUT', PTODays: 23, CompanyName: 'Around the Horn', ContactName: 'Thomas Hardy', ContactTitle: 'Sales Representative', Address: '120 Hanover Sq.', City: 'London', Region: null, PostalCode: 'WA1 1DP', Country: 'UK', Phone: '(171) 555-7788', Fax: '(171) 555-6750' },
{ ID: 'BERGS', PTODays: 15, CompanyName: 'Berglunds snabbköp', ContactName: 'Christina Berglund', ContactTitle: 'Order Administrator', Address: 'Berguvsvägen 8', City: 'Luleå', Region: null, PostalCode: 'S-958 22', Country: 'Sweden', Phone: '0921-12 34 65', Fax: '0921-12 34 67' },
{ ID: 'BLAUS', PTODays: 17, CompanyName: 'Blauer See Delikatessen', ContactName: 'Hanna Moos', ContactTitle: 'Sales Representative', Address: 'Forsterstr. 57', City: 'Mannheim', Region: null, PostalCode: '68306', Country: 'Germany', Phone: '0621-08460', Fax: '0621-08924' },
{ ID: 'BLONP', PTODays: 33, CompanyName: 'Blondesddsl père et fils', ContactName: 'Frédérique Citeaux', ContactTitle: 'Marketing Manager', Address: '24, place Kléber', City: 'Strasbourg', Region: null, PostalCode: '67000', Country: 'France', Phone: '88.60.15.31', Fax: '88.60.15.32' },
{ ID: 'BOLID', PTODays: 27, CompanyName: 'Bólido Comidas preparadas', ContactName: 'Martín Sommer', ContactTitle: 'Owner', Address: 'C/ Araquil, 67', City: 'Madrid', Region: null, PostalCode: '28023', Country: 'Spain', Phone: '(91) 555 22 82', Fax: '(91) 555 91 99' },
{ ID: 'BONAP', PTODays: 11, CompanyName: 'Bon app\'', ContactName: 'Laurence Lebihan', ContactTitle: 'Owner', Address: '12, rue des Bouchers', City: 'Marseille', Region: null, PostalCode: '13008', Country: 'France', Phone: '91.24.45.40', Fax: '91.24.45.41' },
{ ID: 'BOTTM', PTODays: 6, CompanyName: 'Bottom-Dollar Markets', ContactName: 'Elizabeth Lincoln', ContactTitle: 'Accounting Manager', Address: '23 Tsawassen Blvd.', City: 'Tsawassen', Region: 'BC', PostalCode: 'T2F 8M4', Country: 'Canada', Phone: '(604) 555-4729', Fax: '(604) 555-3745' },
{ ID: 'BSBEV', PTODays: 0, CompanyName: 'B\'s Beverages', ContactName: 'Victoria Ashworth', ContactTitle: 'Sales Representative', Address: 'Fauntleroy Circus', City: 'London', Region: null, PostalCode: 'EC2 5NT', Country: 'UK', Phone: '(171) 555-1212', Fax: null },
{ ID: 'CACTU', PTODays: 0, CompanyName: 'Cactus Comidas para llevar', ContactName: 'Patricio Simpson', ContactTitle: 'Sales Agent', Address: 'Cerrito 333', City: 'Buenos Aires', Region: null, PostalCode: '1010', Country: 'Argentina', Phone: '(1) 135-5555', Fax: '(1) 135-4892' },
{ ID: 'CENTC', PTODays: 25, CompanyName: 'Centro comercial Moctezuma', ContactName: 'Francisco Chang', ContactTitle: 'Marketing Manager', Address: 'Sierras de Granada 9993', City: 'México D.F.', Region: null, PostalCode: '05022', Country: 'Mexico', Phone: '(5) 555-3392', Fax: '(5) 555-7293' },
{ ID: 'CHOPS', PTODays: 27, CompanyName: 'Chop-suey Chinese', ContactName: 'Yang Wang', ContactTitle: 'Owner', Address: 'Hauptstr. 29', City: 'Bern', Region: null, PostalCode: '3012', Country: 'Switzerland', Phone: '0452-076545', Fax: null },
{ ID: 'COMMI', PTODays: 17, CompanyName: 'Comércio Mineiro', ContactName: 'Pedro Afonso', ContactTitle: 'Sales Associate', Address: 'Av. dos Lusíadas, 23', City: 'Sao Paulo', Region: 'SP', PostalCode: '05432-043', Country: 'Brazil', Phone: '(11) 555-7647', Fax: null },
{ ID: 'CONSH', PTODays: 2, CompanyName: 'Consolidated Holdings', ContactName: 'Elizabeth Brown', ContactTitle: 'Sales Representative', Address: 'Berkeley Gardens 12 Brewery', City: 'London', Region: null, PostalCode: 'WX1 6LT', Country: 'UK', Phone: '(171) 555-2282', Fax: '(171) 555-9199' },
{ ID: 'DRACD', PTODays: 6, CompanyName: 'Drachenblut Delikatessen', ContactName: 'Sven Ottlieb', ContactTitle: 'Order Administrator', Address: 'Walserweg 21', City: 'Aachen', Region: null, PostalCode: '52066', Country: 'Germany', Phone: '0241-039123', Fax: '0241-059428' },
{ ID: 'DUMON', PTODays: 16, CompanyName: 'Du monde entier', ContactName: 'Janine Labrune', ContactTitle: 'Owner', Address: '67, rue des Cinquante Otages', City: 'Nantes', Region: null, PostalCode: '44000', Country: 'France', Phone: '40.67.88.88', Fax: '40.67.89.89' },
{ ID: 'EASTC', PTODays: 9, CompanyName: 'Eastern Connection', ContactName: 'Ann Devon', ContactTitle: 'Sales Agent', Address: '35 King George', City: 'London', Region: null, PostalCode: 'WX3 6FW', Country: 'UK', Phone: '(171) 555-0297', Fax: '(171) 555-3373' },
{ ID: 'ERNSH', PTODays: 29, CompanyName: 'Ernst Handel', ContactName: 'Roland Mendel', ContactTitle: 'Sales Manager', Address: 'Kirchgasse 6', City: 'Graz', Region: null, PostalCode: '8010', Country: 'Austria', Phone: '7675-3425', Fax: '7675-3426' },
{ ID: 'FAMIA', PTODays: 0, CompanyName: 'Familia Arquibaldo', ContactName: 'Aria Cruz', ContactTitle: 'Marketing Assistant', Address: 'Rua Orós, 92', City: 'Sao Paulo', Region: 'SP', PostalCode: '05442-030', Country: 'Brazil', Phone: '(11) 555-9857', Fax: null },
{ ID: 'FISSA', PTODays: 2, CompanyName: 'FISSA Fabrica Inter. Salchichas S.A.', ContactName: 'Diego Roel', ContactTitle: 'Accounting Manager', Address: 'C/ Moralzarzal, 86', City: 'Madrid', Region: null, PostalCode: '28034', Country: 'Spain', Phone: '(91) 555 94 44', Fax: '(91) 555 55 93' },
{ ID: 'FOLIG', PTODays: 1, CompanyName: 'Folies gourmandes', ContactName: 'Martine Rancé', ContactTitle: 'Assistant Sales Agent', Address: '184, chaussée de Tournai', City: 'Lille', Region: null, PostalCode: '59000', Country: 'France', Phone: '20.16.10.16', Fax: '20.16.10.17' },
{ ID: 'FOLKO', PTODays: 12, CompanyName: 'Folk och fä HB', ContactName: 'Maria Larsson', ContactTitle: 'Owner', Address: 'Åkergatan 24', City: 'Bräcke', Region: null, PostalCode: 'S-844 67', Country: 'Sweden', Phone: '0695-34 67 21', Fax: null },
{ ID: 'FRANK', PTODays: 24, CompanyName: 'Frankenversand', ContactName: 'Peter Franken', ContactTitle: 'Marketing Manager', Address: 'Berliner Platz 43', City: 'München', Region: null, PostalCode: '80805', Country: 'Germany', Phone: '089-0877310', Fax: '089-0877451' },
{ ID: 'FRANR', PTODays: 26, CompanyName: 'France restauration', ContactName: 'Carine Schmitt', ContactTitle: 'Marketing Manager', Address: '54, rue Royale', City: 'Nantes', Region: null, PostalCode: '44000', Country: 'France', Phone: '40.32.21.21', Fax: '40.32.21.20' },
{ ID: 'FRANS', PTODays: 18, CompanyName: 'Franchi S.p.A.', ContactName: 'Paolo Accorti', ContactTitle: 'Sales Representative', Address: 'Via Monte Bianco 34', City: 'Torino', Region: null, PostalCode: '10100', Country: 'Italy', Phone: '011-4988260', Fax: '011-4988261' }
]);
/* eslint-enable max-len */
public static contactInfoDataTwoRecords = () => ([
{ ID: 'ALFKI', CompanyName: 'Alfreds Futterkiste', ContactName: 'Maria Anders', ContactTitle: 'Sales Representative', Address: 'Obere Str. 57', City: 'Berlin', Region: null, PostalCode: '12209', Country: 'Germany', Phone: '030-0074321', Fax: '030-0076545' },
{ ID: 'ANATR', CompanyName: 'Ana Trujillo Emparedados y helados', ContactName: 'Ana Trujillo', ContactTitle: 'Owner', Address: 'Avda. de la Constitución 2222', City: 'México D.F.', Region: null, PostalCode: '05021', Country: 'Mexico', Phone: '(5) 555-4729', Fax: '(5) 555-3745' },
]);
/* Data fields: ID: number, CompanyName: string, ContactName: string, ContactTitle: string, Address: string,
City: string, Region: string, PostalCode: string, Country: string, Phone: string, Fax: string; 1 item. */
public static contactMariaAndersData = () => ([{
ID: 'ALFKI',
CompanyName: 'Alfreds Futterkiste',
ContactName: 'Maria Anders',
ContactTitle: 'Sales Representative',
Address: 'Obere Str. 57',
City: 'Berlin',
Region: null,
PostalCode: '12209',
Country: 'Germany',
Phone: '030-0074321',
Fax: '030-0076545'
}]);
/* Data fields: Downloads: number, ID: number, ProductName: string, ReleaseDate: Date, Released: boolean;
8 items, sorted by ID. */
public static productInfoData = () => ([
{
Downloads: 254,
ID: 1,
ProductName: 'Ignite UI for JavaScript',
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'day', 15),
Released: false
},
{
Downloads: 127,
ID: 2,
ProductName: 'NetAdvantage',
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'month', -1),
Released: true
},
{
Downloads: 20,
ID: 3,
ProductName: 'Ignite UI for Angular',
ReleaseDate: null,
Released: null
},
{
Downloads: null,
ID: 4,
ProductName: null,
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'day', -1),
Released: true
},
{
Downloads: 100,
ID: 5,
ProductName: '',
ReleaseDate: undefined,
Released: ''
},
{
Downloads: 702,
ID: 6,
ProductName: 'Some other item with Script',
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'day', 1),
Released: null
},
{
Downloads: 1,
ID: 7,
ProductName: null,
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'month', 1),
Released: true
},
{
Downloads: 1000,
ID: 8,
ProductName: null,
ReleaseDate: SampleTestData.today,
Released: false
}
]);
/* Data fields: Downloads: number, ID: number, ProductName: string, ReleaseDate: Date, Released: boolean,
Category: string, Items: string, Test: string;
8 items, sorted by ID. */
public static productInfoDataFull = () => ([
{
Downloads: 254,
ID: 1,
ProductName: 'Ignite UI for JavaScript',
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'day', 15),
Released: false,
Category: 'Category 1',
Items: 'Item 1',
Test: 'Test 1'
},
{
Downloads: 127,
ID: 2,
ProductName: 'NetAdvantage',
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'month', -1),
Released: true,
Category: 'Category 2',
Items: 'Item 2',
Test: 'Test 2'
},
{
Downloads: 20,
ID: 3,
ProductName: 'Ignite UI for Angular',
ReleaseDate: null,
Released: null,
Category: 'Category 3',
Items: 'Item 3',
Test: 'Test 3'
},
{
Downloads: null,
ID: 4,
ProductName: null,
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'day', -1),
Released: true,
Category: 'Category 4',
Items: 'Item 4',
Test: 'Test 4'
},
{
Downloads: 100,
ID: 5,
ProductName: '',
ReleaseDate: undefined,
Released: '',
Category: 'Category 5',
Items: 'Item 5',
Test: 'Test 5'
},
{
Downloads: 702,
ID: 6,
ProductName: 'Some other item with Script',
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'day', 1),
Released: null,
Category: 'Category 6',
Items: 'Item 6',
Test: 'Test 6'
},
{
Downloads: 0,
ID: 7,
ProductName: null,
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'month', 1),
Released: true,
Category: 'Category 7',
Items: 'Item 7',
Test: 'Test 7'
},
{
Downloads: 1000,
ID: 8,
ProductName: null,
ReleaseDate: SampleTestData.today,
Released: false,
Category: 'Category 8',
Items: 'Item 8',
Test: 'Test 8'
}
]);
/* Data fields: ProductID: number, ProductName: string, InStock: boolean, UnitsInStock: number, OrderDate: Date;
10 items, sorted by ID. */
public static foodProductData = () => ([
{ ProductID: 1, ProductName: 'Chai', InStock: true, UnitsInStock: 2760, OrderDate: new Date('2005-03-21') },
{ ProductID: 2, ProductName: 'Aniseed Syrup', InStock: false, UnitsInStock: 198, OrderDate: new Date('2008-01-15') },
{ ProductID: 3, ProductName: 'Chef Antons Cajun Seasoning', InStock: true, UnitsInStock: 52, OrderDate: new Date('2010-11-20') },
{ ProductID: 4, ProductName: 'Grandmas Boysenberry Spread', InStock: false, UnitsInStock: 0, OrderDate: new Date('2007-10-11') },
{ ProductID: 5, ProductName: 'Uncle Bobs Dried Pears', InStock: false, UnitsInStock: 0, OrderDate: new Date('2001-07-27') },
{ ProductID: 6, ProductName: 'Northwoods Cranberry Sauce', InStock: true, UnitsInStock: 1098, OrderDate: new Date('1990-05-17') },
{ ProductID: 7, ProductName: 'Queso Cabrales', InStock: false, UnitsInStock: 0, OrderDate: new Date('2005-03-03') },
{ ProductID: 8, ProductName: 'Tofu', InStock: true, UnitsInStock: 7898, OrderDate: new Date('2017-09-09') },
{ ProductID: 9, ProductName: 'Teatime Chocolate Biscuits', InStock: true, UnitsInStock: 6998, OrderDate: new Date('2025-12-25') },
{ ProductID: 10, ProductName: 'Chocolate', InStock: true, UnitsInStock: 20000, OrderDate: new Date('2018-03-01') }
]);
public static foodProductDateTimeData = () => ([
{ ProductID: 1, ProductName: 'Chai', InStock: true, UnitsInStock: 2760, OrderDate: new Date(2015, 9, 1, 11, 37, 22),
ReceiveTime: new Date(2015, 10, 1, 8, 37, 11) },
{ ProductID: 2, ProductName: 'Aniseed Syrup', InStock: false, UnitsInStock: 198, OrderDate: new Date(2016, 7, 18, 11, 17, 22),
ReceiveTime: new Date(2016, 10, 8, 12, 12, 2) },
{ ProductID: 3, ProductName: 'Antons Cajun Seasoning', InStock: true, UnitsInStock: 52, OrderDate: new Date(2021, 4, 11, 7, 47, 1),
ReceiveTime: new Date(2021, 4, 29, 14, 7, 12) },
{ ProductID: 4, ProductName: 'Boysenberry Spread', InStock: false, UnitsInStock: 0, OrderDate: new Date(2021, 4, 11, 18, 37, 2),
ReceiveTime: new Date(2021, 4, 27, 6, 40, 18) },
{ ProductID: 5, ProductName: 'Uncle Bobs Dried Pears', InStock: false, UnitsInStock: 0, OrderDate: new Date(2019, 3, 17, 5, 5, 15),
ReceiveTime: new Date(2019, 3, 31, 12, 47, 42) },
{ ProductID: 6, ProductName: 'Cranberry Sauce', InStock: true, UnitsInStock: 1098, OrderDate: new Date(2019, 9, 30, 16, 17, 27),
ReceiveTime: new Date(2019, 10, 11, 12, 47, 42) },
{ ProductID: 7, ProductName: 'Queso Cabrales', InStock: false, UnitsInStock: 0, OrderDate: new Date(2015, 2, 12, 21, 31, 22),
ReceiveTime: new Date(2015, 3, 3, 20, 20, 24) },
{ ProductID: 8, ProductName: 'Tofu', InStock: true, UnitsInStock: 7898, OrderDate: new Date(2018, 6, 14, 17, 27, 23),
ReceiveTime: new Date(2018, 6, 18, 15, 30, 30) },
{ ProductID: 9, ProductName: 'Chocolate Biscuits', InStock: true, UnitsInStock: 6998, OrderDate: new Date(2021, 7, 3, 15, 15, 0),
ReceiveTime: new Date(2021, 7, 7, 15, 30, 22) },
{ ProductID: 10, ProductName: 'Chocolate', InStock: true, UnitsInStock: 20000, OrderDate: new Date(2021, 7, 3, 15, 15, 0),
ReceiveTime: new Date(2021, 7, 11, 14, 30, 0) }
]);
public static foodPercentProductData = () => ([
{ ProductID: 1, ProductName: 'Chai', InStock: true, UnitsInStock: 2760, OrderDate: new Date('2005-03-21'), Discount: 0.27 },
{ ProductID: 2, ProductName: 'Syrup', InStock: false, UnitsInStock: 198, OrderDate: new Date('2008-01-15'), Discount: 0.83 },
{ ProductID: 3, ProductName: 'Seasoning', InStock: true, UnitsInStock: 5, OrderDate: new Date('2010-11-20'), Discount: -0.7 },
{ ProductID: 4, ProductName: 'Spread', InStock: false, UnitsInStock: 0, OrderDate: new Date('2007-10-11'), Discount: 11 },
{ ProductID: 5, ProductName: 'Bobs Pears', InStock: false, UnitsInStock: 0, OrderDate: new Date('2001-07-27'), Discount: -0.5},
{ ProductID: 6, ProductName: 'Sauce', InStock: true, UnitsInStock: 1098, OrderDate: new Date('1990-05-17'), Discount: 0.027 },
{ ProductID: 7, ProductName: 'Queso Cabrale', InStock: false, UnitsInStock: 0, OrderDate: new Date('2005-03-03'), Discount: 0.099 },
{ ProductID: 8, ProductName: 'Tofu', InStock: true, UnitsInStock: 7898, OrderDate: new Date('2017-09-09'), Discount: 10 },
{ ProductID: 9, ProductName: 'Chocolate', InStock: true, UnitsInStock: 698, OrderDate: new Date('2025-12-25'), Discount: .123},
{ ProductID: 10, ProductName: 'Biscuits', InStock: true, UnitsInStock: 20000, OrderDate: new Date('2018-03-01'), Discount: 0.39 }
]);
/* Data fields: ProductID: number, ProductName: string, InStock: boolean, UnitsInStock: number, OrderDate: Date;
19 items, sorted by ID. */
public static foodProductDataExtended = () => ([
{ ProductID: 1, ProductName: 'Chai', InStock: true, UnitsInStock: 2760, OrderDate: new Date('2005-03-21') },
{ ProductID: 2, ProductName: 'Aniseed Syrup', InStock: false, UnitsInStock: 198, OrderDate: new Date('2008-01-15') },
{ ProductID: 3, ProductName: 'Chef Antons Cajun Seasoning', InStock: true, UnitsInStock: 52, OrderDate: new Date('2010-11-20') },
{ ProductID: 4, ProductName: 'Grandmas Boysenberry Spread', InStock: false, UnitsInStock: 0, OrderDate: new Date('2007-10-11') },
{ ProductID: 5, ProductName: 'Uncle Bobs Dried Pears', InStock: false, UnitsInStock: 0, OrderDate: new Date('2001-07-27') },
{ ProductID: 6, ProductName: 'Northwoods Cranberry Sauce', InStock: true, UnitsInStock: 1098, OrderDate: new Date('1990-05-17') },
{ ProductID: 7, ProductName: 'Queso Cabrales', InStock: false, UnitsInStock: 0, OrderDate: new Date('2005-03-03') },
{ ProductID: 8, ProductName: 'Tofu', InStock: true, UnitsInStock: 7898, OrderDate: new Date('2017-09-09') },
{ ProductID: 9, ProductName: 'Teatime Chocolate Biscuits', InStock: true, UnitsInStock: 6998, OrderDate: new Date('2025-12-25') },
{ ProductID: 10, ProductName: 'Pie', InStock: true, UnitsInStock: 1000, OrderDate: new Date('2017-05-07') },
{ ProductID: 11, ProductName: 'Pasta', InStock: false, UnitsInStock: 198, OrderDate: new Date('2001-02-15') },
{ ProductID: 12, ProductName: 'Krusty krab\'s burger', InStock: true, UnitsInStock: 52, OrderDate: new Date('2012-09-25') },
{ ProductID: 13, ProductName: 'Lasagna', InStock: false, UnitsInStock: 0, OrderDate: new Date('2015-02-09') },
{ ProductID: 14, ProductName: 'Uncle Bobs Dried Pears', InStock: false, UnitsInStock: 0, OrderDate: new Date('2008-03-17') },
{ ProductID: 15, ProductName: 'Cheese', InStock: true, UnitsInStock: 1098, OrderDate: new Date('1990-11-27') },
{ ProductID: 16, ProductName: 'Devil\'s Hot Chilli Sauce', InStock: false, UnitsInStock: 0, OrderDate: new Date('2012-08-14') },
{ ProductID: 17, ProductName: 'Parmesan', InStock: true, UnitsInStock: 4898, OrderDate: new Date('2017-09-09') },
{ ProductID: 18, ProductName: 'Steaks', InStock: true, UnitsInStock: 3098, OrderDate: new Date('2025-12-25') },
{ ProductID: 19, ProductName: 'Biscuits', InStock: true, UnitsInStock: 10570, OrderDate: new Date('2018-03-01') }
]);
/* Generates data with the following data fields: index: number, value: number, other: number, another: number. */
public static generateNumberData(rowsCount: number) {
const data = [];
for (let i = 0; i < rowsCount; i++) {
data.push({ index: i, value: i, other: i, another: i });
}
return data;
}
/* Generates columns with 'field' and 'width' fields. */
public static generateNumberDataSpecial(rowsCount, colsCount, defaultColWidth = null) {
const cols = [];
for (let j = 0; j < colsCount; j++) {
cols.push({
field: j.toString(),
width: defaultColWidth !== null ? defaultColWidth : j % 8 < 2 ? 100 : (j % 6) * 125
});
}
const data = [];
for (let i = 0; i < rowsCount; i++) {
const obj = {};
for (let j = 0; j < cols.length; j++) {
const col = cols[j].field;
obj[col] = 10 * i * j;
}
data.push(obj);
}
return data;
}
/* Data fields: Downloads:number, ID: number, ProductName: string, ReleaseDate: Date,
Released: boolean, Category: string, Items: string, Test: string. */
public static generateProductData(itemsCount: number) {
const data = [];
for (let i = 0; i < itemsCount; i++) {
const item = {
Downloads: 100 + i,
ID: i,
ProductName: 'ProductName' + i,
ReleaseDate: SampleTestData.timeGenerator.timedelta(SampleTestData.today, 'month', -1),
Released: true,
Category: 'Category' + i,
Items: 'Items' + i,
Test: 'test' + i
};
data.push(item);
}
return data;
}
/* Data fields: ID: string, Column1: string, Column2: string, Column3: string. */
public static generateBigValuesData(rowsCount: number) {
const bigData = [];
for (let i = 0; i < rowsCount; i++) {
for (let j = 0; j < 5; j++) {
bigData.push({
ID: i.toString() + '_' + j.toString(),
Column1: i * j,
Column2: i * j * Math.pow(10, i),
Column3: i * j * Math.pow(100, i)
});
}
}
return bigData;
}
/* Data fields: ID: string, Column 1..N: number. */
public static generateBigDataRowsAndCols(rowsCount: number, colsCount: number) {
const bigData = [];
for (let i = 0; i < rowsCount; i++) {
const row = {};
row['ID'] = i.toString();
for (let j = 1; j < colsCount; j++) {
row['Column ' + j] = i * j;
}
bigData.push(row);
}
return bigData;
}
/* Generates columns with the following fields: key, field and header. */
public static generateColumns(count, namePrefix = 'col') {
const cols = [];
for (let i = 0; i < count; i++) {
cols.push({
key: namePrefix + i,
field: namePrefix + i,
header: namePrefix + i
});
}
return cols;
}
/* Generates columns with the following fields: key, field, header an