@guiexpert/demo-table-models 1.0.15 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -3
- package/.eslintrc.json +0 -33
- package/dist/README.md +0 -106
- package/dist/package.json +0 -41
- package/patch.js +0 -16
- package/src/demodata/header-groups.ts +0 -152
- package/src/demodata/many-types.ts +0 -1508
- package/src/demodata/orders.ts +0 -1962
- package/src/demodata/persons1000.ts +0 -8006
- package/src/demodata/tree-persons.ts +0 -161880
- package/src/index.ts +0 -26
- package/src/lib/createLargeModel.ts +0 -94
- package/src/lib/createManyTypesModel.ts +0 -210
- package/src/lib/createOrderModel.ts +0 -130
- package/src/lib/createSimplePersonModel.ts +0 -265
- package/src/lib/createTimeTableModel.ts +0 -353
- package/src/lib/crypto/crypto-data.ts +0 -2739
- package/src/lib/crypto/crypto-top.if.ts +0 -19
- package/src/lib/crypto/generateCryptoModel.ts +0 -102
- package/src/lib/crypto/renderer/change-percentage-renderer.ts +0 -30
- package/src/lib/crypto/renderer/circulating-supply-renderer.ts +0 -46
- package/src/lib/crypto/renderer/coin-icon-renderer.ts +0 -25
- package/src/lib/crypto/renderer/name-and-symbol-renderer.ts +0 -31
- package/src/lib/crypto/renderer/usd-renderer.ts +0 -26
- package/src/lib/crypto/renderer/volumn-24h-renderer.ts +0 -35
- package/src/lib/generateHeatMapTableModel.ts +0 -86
- package/src/lib/generateHeatmapSeattle.ts +0 -170
- package/src/lib/generateHeatmapSeattleData.ts +0 -52565
- package/src/lib/generateSimpleModel.ts +0 -31
- package/src/lib/generateTreeCheckboxModel.ts +0 -54
- package/src/lib/headergroup/generateBigHeadergroupModel.ts +0 -62
- package/src/lib/headergroup/generateTeamHeadergroupModel.ts +0 -66
- package/src/lib/treepeople/address.if.ts +0 -7
- package/src/lib/treepeople/address.ts +0 -14
- package/src/lib/treepeople/generateTreePeopleModel.ts +0 -130
- package/src/lib/treepeople/person.if.ts +0 -12
- package/src/lib/treepeople/person.ts +0 -18
- package/src/lib/treepeople/treePeopleData.ts +0 -161878
- package/src/model/address.if.ts +0 -7
- package/src/model/many-types.if.ts +0 -22
- package/src/model/order.if.ts +0 -12
- package/src/model/person.if.ts +0 -12
- package/src/model/simple-person.if.ts +0 -8
- package/tsconfig.json +0 -22
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -25
- package/vite.config.ts +0 -62
- /package/{dist/demodata → demodata}/header-groups.d.ts +0 -0
- /package/{dist/demodata → demodata}/many-types.d.ts +0 -0
- /package/{dist/demodata → demodata}/orders.d.ts +0 -0
- /package/{dist/demodata → demodata}/persons1000.d.ts +0 -0
- /package/{dist/demodata → demodata}/tree-persons.d.ts +0 -0
- /package/{dist/index.cjs → index.cjs} +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/lib → lib}/createLargeModel.d.ts +0 -0
- /package/{dist/lib → lib}/createManyTypesModel.d.ts +0 -0
- /package/{dist/lib → lib}/createOrderModel.d.ts +0 -0
- /package/{dist/lib → lib}/createSimplePersonModel.d.ts +0 -0
- /package/{dist/lib → lib}/createTimeTableModel.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/crypto-data.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/crypto-top.if.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/generateCryptoModel.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/renderer/change-percentage-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/renderer/circulating-supply-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/renderer/coin-icon-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/renderer/name-and-symbol-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/renderer/usd-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/crypto/renderer/volumn-24h-renderer.d.ts +0 -0
- /package/{dist/lib → lib}/generateHeatMapTableModel.d.ts +0 -0
- /package/{dist/lib → lib}/generateHeatmapSeattle.d.ts +0 -0
- /package/{dist/lib → lib}/generateHeatmapSeattleData.d.ts +0 -0
- /package/{dist/lib → lib}/generateSimpleModel.d.ts +0 -0
- /package/{dist/lib → lib}/generateTreeCheckboxModel.d.ts +0 -0
- /package/{dist/lib → lib}/headergroup/generateBigHeadergroupModel.d.ts +0 -0
- /package/{dist/lib → lib}/headergroup/generateTeamHeadergroupModel.d.ts +0 -0
- /package/{dist/lib → lib}/treepeople/address.d.ts +0 -0
- /package/{dist/lib → lib}/treepeople/address.if.d.ts +0 -0
- /package/{dist/lib → lib}/treepeople/generateTreePeopleModel.d.ts +0 -0
- /package/{dist/lib → lib}/treepeople/person.d.ts +0 -0
- /package/{dist/lib → lib}/treepeople/person.if.d.ts +0 -0
- /package/{dist/lib → lib}/treepeople/treePeopleData.d.ts +0 -0
- /package/{dist/model → model}/address.if.d.ts +0 -0
- /package/{dist/model → model}/many-types.if.d.ts +0 -0
- /package/{dist/model → model}/order.if.d.ts +0 -0
- /package/{dist/model → model}/person.if.d.ts +0 -0
- /package/{dist/model → model}/simple-person.if.d.ts +0 -0
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { TableFactory, TableModelIf } from "@guiexpert/table";
|
|
2
|
-
|
|
3
|
-
export function generateSimpleModel(
|
|
4
|
-
rowCount: number = 1000,
|
|
5
|
-
columnCount: number = 1000
|
|
6
|
-
): TableModelIf {
|
|
7
|
-
|
|
8
|
-
const bodyData: string[][] =
|
|
9
|
-
Array.from(Array(rowCount).keys()).map((r) =>
|
|
10
|
-
Array.from(Array(columnCount).keys()).map((c) => `${r}/${c}`)
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
const headerData: string[][] =
|
|
14
|
-
Array.from(Array(2).keys()).map((r) =>
|
|
15
|
-
Array.from(Array(columnCount).keys()).map((c) => `H${r}/${c}`)
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
const footerData: string[][] =
|
|
19
|
-
Array.from(Array(2).keys()).map((r) =>
|
|
20
|
-
Array.from(Array(columnCount).keys()).map((c) => `F${r}/${c}`)
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
return TableFactory.createTableModel({
|
|
24
|
-
headerData,
|
|
25
|
-
bodyData,
|
|
26
|
-
footerData,
|
|
27
|
-
overridingColumnWidth: 110,
|
|
28
|
-
fixedLeftColumnCount: 2,
|
|
29
|
-
fixedRightColumnCount: 2
|
|
30
|
-
});
|
|
31
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AreaObjectMap,
|
|
3
|
-
CellRendererIf,
|
|
4
|
-
ColumnDef,
|
|
5
|
-
ColumnDefIf,
|
|
6
|
-
DateToIntlDDMMYYYYCellRenderer,
|
|
7
|
-
MaleFemaleToIconCellRenderer,
|
|
8
|
-
Size,
|
|
9
|
-
TableFactory,
|
|
10
|
-
TableModelIf,
|
|
11
|
-
TableOptions,
|
|
12
|
-
TableOptionsIf,
|
|
13
|
-
TreeFactory
|
|
14
|
-
} from "@guiexpert/table";
|
|
15
|
-
import { PersonIf } from "../model/person.if";
|
|
16
|
-
import data from "../demodata/tree-persons";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export function generateTreeCheckboxModel(): TableModelIf {
|
|
20
|
-
|
|
21
|
-
const tableOptions: TableOptionsIf = {
|
|
22
|
-
...new TableOptions(),
|
|
23
|
-
hoverColumnVisible: false,
|
|
24
|
-
defaultRowHeights: {
|
|
25
|
-
header: 50,
|
|
26
|
-
body: 34,
|
|
27
|
-
footer: 0
|
|
28
|
-
},
|
|
29
|
-
showCheckboxWihoutExtraColumn: true // <-- true: we will see the checkbox IN the first column after the arrow
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const columnDefs: ColumnDefIf[] = [
|
|
33
|
-
// new CheckboxColumn(), // <--- not needed, because we have 'showCheckboxWihoutExtraColumn:true'
|
|
34
|
-
new ColumnDef("lastName", "Last Name", new Size(250, "px")),
|
|
35
|
-
new ColumnDef("preName", "Pre Name", new Size(120, "px")),
|
|
36
|
-
new ColumnDef("birth", "Birthday", new Size(100, "px"), new AreaObjectMap<string[]>(), new AreaObjectMap<CellRendererIf>(undefined, new DateToIntlDDMMYYYYCellRenderer(), undefined), undefined, undefined),
|
|
37
|
-
new ColumnDef("gender", " ", new Size(50, "px"), new AreaObjectMap<string[]>(), new AreaObjectMap<CellRendererIf>(undefined, new MaleFemaleToIconCellRenderer(), undefined), undefined, undefined),
|
|
38
|
-
new ColumnDef("address.street", "Strasse", new Size(150, "px")),
|
|
39
|
-
new ColumnDef("address.number", "Nr", new Size(70, "px")),
|
|
40
|
-
new ColumnDef("address.zip", "Zip", new Size(60, "px")),
|
|
41
|
-
new ColumnDef("address.city", "City", new Size(120, "px")),
|
|
42
|
-
new ColumnDef("id", "ID", new Size(60, "px"))
|
|
43
|
-
];
|
|
44
|
-
|
|
45
|
-
const tree = TreeFactory.buildTreeRows<PersonIf>(data, "friends");
|
|
46
|
-
return TableFactory.createTableModel({
|
|
47
|
-
rows: tree,
|
|
48
|
-
columnDefs,
|
|
49
|
-
tableOptions,
|
|
50
|
-
fixedLeftColumnCount: 2,
|
|
51
|
-
fixedRightColumnCount: 0
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AreaModelCellGroups,
|
|
3
|
-
AreaModelObjectArrayWithColumndefs,
|
|
4
|
-
CellgroupFactory,
|
|
5
|
-
TableFactory,
|
|
6
|
-
TableModelIf
|
|
7
|
-
} from "@guiexpert/table";
|
|
8
|
-
import { headerGroups } from "../../demodata/header-groups";
|
|
9
|
-
|
|
10
|
-
export interface FalconIf {
|
|
11
|
-
"GOLD": number;
|
|
12
|
-
"GOLD_AB": number;
|
|
13
|
-
"GOLD_A": number;
|
|
14
|
-
"GOLD_B": number;
|
|
15
|
-
"GOLD_C": number;
|
|
16
|
-
"GOLD_D": number;
|
|
17
|
-
"GOLD_SUM_CD": number;
|
|
18
|
-
"HOH_AB": number;
|
|
19
|
-
"HOH_LOC": number;
|
|
20
|
-
"HOH_A": number;
|
|
21
|
-
"HOH_B": number;
|
|
22
|
-
"HOH_C": number;
|
|
23
|
-
"HOH_D": number;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export function createHeadergroupModel(): TableModelIf {
|
|
28
|
-
const defaultRowHeight = 34;
|
|
29
|
-
const groupExts = CellgroupFactory.buildGroupExts(headerGroups);
|
|
30
|
-
const columnDefs = CellgroupFactory.buildColumnDefs(groupExts); // TODO fix
|
|
31
|
-
const headerAreaModel = new AreaModelCellGroups("header", headerGroups, columnDefs, defaultRowHeight);
|
|
32
|
-
|
|
33
|
-
console.info("headerGroups", headerGroups);
|
|
34
|
-
console.info("columnDefs", columnDefs.map(cd => cd.property));
|
|
35
|
-
//console.info(CellgroupFactory.buildDeepMap(headerGroups));
|
|
36
|
-
|
|
37
|
-
const arrs = [
|
|
38
|
-
{
|
|
39
|
-
"GOLD": 146,
|
|
40
|
-
"GOLD_AB": 63,
|
|
41
|
-
"GOLD_A": 31,
|
|
42
|
-
"GOLD_B": 32,
|
|
43
|
-
"GOLD_C": 41,
|
|
44
|
-
"GOLD_D": 42,
|
|
45
|
-
"GOLD_SUM_CD": 83,
|
|
46
|
-
"HOH_SUM": 210,
|
|
47
|
-
"HOH_AB": 103,
|
|
48
|
-
"HOH_LOC": 22,
|
|
49
|
-
"HOH_A": 51,
|
|
50
|
-
"HOH_B": 52,
|
|
51
|
-
"HOH_C": 53,
|
|
52
|
-
"HOH_D": 54
|
|
53
|
-
}
|
|
54
|
-
];
|
|
55
|
-
const bodyAreaModel = new AreaModelObjectArrayWithColumndefs<FalconIf>("body", arrs, columnDefs, 34);
|
|
56
|
-
|
|
57
|
-
return TableFactory.createTableModel({
|
|
58
|
-
headerAreaModel,
|
|
59
|
-
bodyAreaModel,
|
|
60
|
-
columnDefs
|
|
61
|
-
});
|
|
62
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AreaModelCellGroups,
|
|
3
|
-
AreaModelObjectArrayWithColumndefs,
|
|
4
|
-
CellgroupFactory, CellGroupIf,
|
|
5
|
-
TableFactory,
|
|
6
|
-
TableModelIf
|
|
7
|
-
} from '@guiexpert/table';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export interface HeaderTeamIf {
|
|
11
|
-
"team_a": number;
|
|
12
|
-
"sum_a": number;
|
|
13
|
-
"peter": number;
|
|
14
|
-
"paul": number;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const teamHeaderGroups: CellGroupIf[] = [
|
|
18
|
-
{
|
|
19
|
-
data: "Team A",
|
|
20
|
-
toggle: true,
|
|
21
|
-
property:'team_a',
|
|
22
|
-
children: [
|
|
23
|
-
{
|
|
24
|
-
data: "Sum",
|
|
25
|
-
property: "sum_a"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
data: "Peter",
|
|
29
|
-
property: "peter"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
data: "Paul",
|
|
33
|
-
property: "paul"
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export function createTeamHeadergroupModel(cellGroups: CellGroupIf[] = teamHeaderGroups): TableModelIf {
|
|
42
|
-
const defaultRowHeight = 34;
|
|
43
|
-
const groupExts = CellgroupFactory.buildGroupExts(cellGroups);
|
|
44
|
-
const columnDefs = CellgroupFactory.buildColumnDefs(groupExts);
|
|
45
|
-
const headerAreaModel = new AreaModelCellGroups("header", cellGroups, columnDefs, defaultRowHeight);
|
|
46
|
-
|
|
47
|
-
console.info("headerGroups", cellGroups);
|
|
48
|
-
console.info("columnDefs", columnDefs.map(cd => cd.property));
|
|
49
|
-
console.info("columnDefs", columnDefs);
|
|
50
|
-
|
|
51
|
-
const arrs = [
|
|
52
|
-
{
|
|
53
|
-
"team_a": 0,
|
|
54
|
-
"sum_a": 9,
|
|
55
|
-
"peter": 5,
|
|
56
|
-
"paul": 4,
|
|
57
|
-
}
|
|
58
|
-
];
|
|
59
|
-
const bodyAreaModel = new AreaModelObjectArrayWithColumndefs<HeaderTeamIf>("body", arrs, columnDefs, 34);
|
|
60
|
-
|
|
61
|
-
return TableFactory.createTableModel({
|
|
62
|
-
headerAreaModel,
|
|
63
|
-
bodyAreaModel,
|
|
64
|
-
columnDefs
|
|
65
|
-
});
|
|
66
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AutoRestoreOptions, CellRange,
|
|
3
|
-
ColumnDef,
|
|
4
|
-
ColumnDefIf,
|
|
5
|
-
DateToIntlDDMMYYYYCellRenderer,
|
|
6
|
-
editInputPipeForNumber, FalseFn,
|
|
7
|
-
MaleFemaleToIconCellRenderer,
|
|
8
|
-
NumberCellRenderer,
|
|
9
|
-
px100,
|
|
10
|
-
px120,
|
|
11
|
-
px150,
|
|
12
|
-
px220,
|
|
13
|
-
px50,
|
|
14
|
-
px60,
|
|
15
|
-
px70,
|
|
16
|
-
px80,
|
|
17
|
-
Renderer,
|
|
18
|
-
SelectCellRenderer,
|
|
19
|
-
SelectionModel,
|
|
20
|
-
TableFactory,
|
|
21
|
-
TableModelAndOptions,
|
|
22
|
-
TableModelAndOptionsIf,
|
|
23
|
-
TableOptions,
|
|
24
|
-
TreeFactory,
|
|
25
|
-
TreeRow,
|
|
26
|
-
TrueFn,
|
|
27
|
-
ValueLabel
|
|
28
|
-
} from "@guiexpert/table";
|
|
29
|
-
import {PersonIf} from "./person.if";
|
|
30
|
-
import {TREE_PEOPLE_DATA} from "./treePeopleData";
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
export function createTreePeopleTableOptions(addDemoSelection: boolean = false) {
|
|
36
|
-
const selectionModel = new SelectionModel("range", "multi");
|
|
37
|
-
|
|
38
|
-
if (addDemoSelection) {
|
|
39
|
-
selectionModel.addSelection(new CellRange(0, 0, 0, 2));
|
|
40
|
-
selectionModel.addSelection(new CellRange(2, 1, 2, 2));
|
|
41
|
-
selectionModel.addSelection(new CellRange(1, 5, 6, 7));
|
|
42
|
-
selectionModel.addSelection(new CellRange(0, 8, 0, 8));
|
|
43
|
-
selectionModel.addSelection(new CellRange(5, 6, 10, 10));
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
...new TableOptions(),
|
|
47
|
-
hoverColumnVisible: false,
|
|
48
|
-
defaultRowHeights: {
|
|
49
|
-
header: 50,
|
|
50
|
-
body: 34,
|
|
51
|
-
footer: 0
|
|
52
|
-
},
|
|
53
|
-
autoRestoreOptions: {
|
|
54
|
-
...new AutoRestoreOptions<PersonIf>(),
|
|
55
|
-
getStorageKeyFn: () => "TreetablePeopleComponent",
|
|
56
|
-
autoRestoreCollapsedExpandedState: true,
|
|
57
|
-
autoRestoreScrollPosition: true,
|
|
58
|
-
autoRestoreSortingState: true
|
|
59
|
-
},
|
|
60
|
-
externalFilterFunction: (_value: TreeRow<PersonIf>, _index: number, _array: PersonIf[]) => true,
|
|
61
|
-
getSelectionModel: () => selectionModel
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export function createTreePeopleColumnDefs(): ColumnDefIf[] {
|
|
66
|
-
return [
|
|
67
|
-
new ColumnDef("lastName", "Last Name", px220),
|
|
68
|
-
new ColumnDef("preName", "Pre Name", px120),
|
|
69
|
-
ColumnDef.create({
|
|
70
|
-
property: "age",
|
|
71
|
-
headerLabel: "Age",
|
|
72
|
-
width: px80,
|
|
73
|
-
bodyRenderer: new NumberCellRenderer(),
|
|
74
|
-
editable: TrueFn,
|
|
75
|
-
// editInputPipe: (value: any) => value ? Number(value) : ""
|
|
76
|
-
editInputPipe: editInputPipeForNumber
|
|
77
|
-
}),
|
|
78
|
-
new ColumnDef("birth", "Birthday", px100,
|
|
79
|
-
undefined,
|
|
80
|
-
Renderer.bodyRenderer(new DateToIntlDDMMYYYYCellRenderer())),
|
|
81
|
-
|
|
82
|
-
ColumnDef.create({
|
|
83
|
-
property: "gender",
|
|
84
|
-
headerLabel: " ",
|
|
85
|
-
width: px50,
|
|
86
|
-
bodyRenderer: new MaleFemaleToIconCellRenderer(),
|
|
87
|
-
editable: TrueFn,
|
|
88
|
-
getEditRenderer: () => new SelectCellRenderer([
|
|
89
|
-
new ValueLabel("female", "♀"),
|
|
90
|
-
new ValueLabel("male", "♂")
|
|
91
|
-
])
|
|
92
|
-
}),
|
|
93
|
-
|
|
94
|
-
new ColumnDef("address.street", "Strasse", px150),
|
|
95
|
-
new ColumnDef("address.number", "Nr", px70),
|
|
96
|
-
new ColumnDef("address.zip", "Zip", px60),
|
|
97
|
-
new ColumnDef("address.city", "City", px120),
|
|
98
|
-
new ColumnDef("address.country", "Country", px120),
|
|
99
|
-
new ColumnDef("id", "ID", px60)
|
|
100
|
-
];
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
export function createTreePeopleModelAndOptions(
|
|
105
|
-
addDemoSelection: boolean = false
|
|
106
|
-
): TableModelAndOptionsIf {
|
|
107
|
-
const tableOptions = createTreePeopleTableOptions(addDemoSelection);
|
|
108
|
-
const columnDefs = createTreePeopleColumnDefs();
|
|
109
|
-
for (const columnDef of columnDefs) {
|
|
110
|
-
columnDef.sortable = TrueFn;
|
|
111
|
-
columnDef.editable = TrueFn;
|
|
112
|
-
}
|
|
113
|
-
columnDefs[0].editable = FalseFn;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const tree = TreeFactory.buildTreeRows<PersonIf>(TREE_PEOPLE_DATA, "friends");
|
|
117
|
-
const tableModel = TableFactory.createTableModel({
|
|
118
|
-
rows: tree,
|
|
119
|
-
columnDefs,
|
|
120
|
-
tableOptions,
|
|
121
|
-
fixedLeftColumnCount: 1,
|
|
122
|
-
fixedRightColumnCount: 1
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return new TableModelAndOptions(
|
|
128
|
-
tableModel, tableOptions
|
|
129
|
-
);
|
|
130
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { PersonIf } from "./person.if";
|
|
2
|
-
import { AddressIf } from "./address.if";
|
|
3
|
-
|
|
4
|
-
export class Person implements PersonIf {
|
|
5
|
-
|
|
6
|
-
constructor(
|
|
7
|
-
public id: number,
|
|
8
|
-
public preName: string,
|
|
9
|
-
public lastName: string,
|
|
10
|
-
public birth: Date | string,
|
|
11
|
-
public age: number,
|
|
12
|
-
public gender: string,
|
|
13
|
-
public address: AddressIf,
|
|
14
|
-
public friends?: Person[]
|
|
15
|
-
) {
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
}
|