@@ -88,7 +88,12 @@ private function initializeTestData(): void {
8888 ['test_ident ' => 'age ' , 'title ' => 'Age ' , 'type ' => 'number ' ],
8989 ['test_ident ' => 'birthday ' , 'title ' => 'Birthday ' , 'type ' => 'datetime ' ],
9090 ['test_ident ' => 'department ' , 'title ' => 'Department ' , 'type ' => 'text ' ],
91- ['test_ident ' => 'score ' , 'title ' => 'Score ' , 'type ' => 'number ' ]
91+ ['test_ident ' => 'score ' , 'title ' => 'Score ' , 'type ' => 'number ' ],
92+ ['test_ident ' => 'surname ' , 'title ' => 'Surname ' , 'type ' => 'text ' ],
93+ ['test_ident ' => 'status ' , 'title ' => 'Status ' , 'type ' => 'selection ' , 'subtype ' => '' , 'selection_options ' => json_encode ([['id ' => 0 , 'label ' => 'Active ' ], ['id ' => 1 , 'label ' => 'Inactive ' ], ['id ' => 2 , 'label ' => 'Pending ' ]])],
94+ ['test_ident ' => 'skills ' , 'title ' => 'Skills ' , 'type ' => 'selection ' , 'subtype ' => 'multi ' , 'selection_options ' => json_encode ([['id ' => 0 , 'label ' => 'PHP ' ], ['id ' => 1 , 'label ' => 'JavaScript ' ], ['id ' => 2 , 'label ' => 'SQL ' ], ['id ' => 3 , 'label ' => 'Python ' ], ['id ' => 4 , 'label ' => 'Java ' ], ['id ' => 5 , 'label ' => 'React ' ], ['id ' => 6 , 'label ' => 'Node.js ' ], ['id ' => 7 , 'label ' => 'MongoDB ' ], ['id ' => 8 , 'label ' => 'Docker ' ], ['id ' => 9 , 'label ' => 'Management ' ], ['id ' => 10 , 'label ' => 'Communication ' ], ['id ' => 11 , 'label ' => 'Excel ' ], ['id ' => 12 , 'label ' => 'Accounting ' ], ['id ' => 13 , 'label ' => 'Analysis ' ]])],
95+ ['test_ident ' => 'is_available ' , 'title ' => 'Available ' , 'type ' => 'selection ' , 'subtype ' => 'check ' , 'selection_options ' => '' ],
96+ ['test_ident ' => 'experience_years ' , 'title ' => 'Experience (Years) ' , 'type ' => 'number ' ]
9297 ],
9398 [
9499 [
@@ -100,7 +105,12 @@ private function initializeTestData(): void {
100105 'age ' => 28 ,
101106 'birthday ' => '1995-05-15 10:30:00 ' ,
102107 'department ' => 'IT ' ,
103- 'score ' => 85.5
108+ 'score ' => 85.5 ,
109+ 'surname ' => 'Thompson-Jones ' ,
110+ 'status ' => 'Active ' ,
111+ 'skills ' => ['PHP ' , 'JavaScript ' , 'SQL ' , 'Python ' ],
112+ 'is_available ' => '"true" ' ,
113+ 'experience_years ' => 5
104114 ]
105115 ],
106116 [
@@ -112,7 +122,11 @@ private function initializeTestData(): void {
112122 'age ' => 32 ,
113123 'birthday ' => '1991-12-03 14:20:00 ' ,
114124 'department ' => 'HR ' ,
115- 'score ' => 92.0
125+ 'score ' => 92.0 ,
126+ 'surname ' => 'Thompson ' ,
127+ 'status ' => 'Inactive ' ,
128+ 'skills ' => ['Management ' , 'Communication ' ],
129+ 'is_available ' => '"false" '
116130 ]
117131 ],
118132 [
@@ -124,7 +138,12 @@ private function initializeTestData(): void {
124138 'age ' => 25 ,
125139 'birthday ' => '1998-01-20 08:45:00 ' ,
126140 'department ' => 'IT ' ,
127- 'score ' => 78.3
141+ 'score ' => 78.3 ,
142+ 'surname ' => 'Wilson ' ,
143+ 'status ' => 'Active ' ,
144+ 'skills ' => ['Python ' ],
145+ 'is_available ' => '"true" ' ,
146+ 'experience_years ' => 2
128147 ]
129148 ],
130149 [
@@ -136,7 +155,11 @@ private function initializeTestData(): void {
136155 'age ' => 25 ,
137156 'birthday ' => '1998-08-10 16:00:00 ' ,
138157 'department ' => 'Finance ' ,
139- 'score ' => 88.7
158+ 'score ' => 88.7 ,
159+ 'status ' => 'Pending ' ,
160+ 'skills ' => ['Excel ' , 'Accounting ' , 'Analysis ' ],
161+ 'is_available ' => '"false" ' ,
162+ 'experience_years ' => 3
140163 ]
141164 ],
142165 [
@@ -148,7 +171,11 @@ private function initializeTestData(): void {
148171 'age ' => 30 ,
149172 'birthday ' => '1993-03-25 12:15:00 ' ,
150173 'department ' => 'IT ' ,
151- 'score ' => 95.2
174+ 'score ' => 95.2 ,
175+ 'surname ' => 'Davis ' ,
176+ 'status ' => 'Active ' ,
177+ 'skills ' => ['React ' , 'Node.js ' , 'MongoDB ' , 'Docker ' ],
178+ 'experience_years ' => 7
152179 ]
153180 ]
154181 ]
@@ -170,7 +197,7 @@ private function initializeTestData(): void {
170197 */
171198 protected function setupRealColumnMapper (int $ tableId ): void {
172199 $ qb = $ this ->connection ->getQueryBuilder ();
173- $ result = $ qb ->select ('id ' , 'title ' , 'type ' , 'table_id ' )
200+ $ result = $ qb ->select ('id ' , 'title ' , 'type ' , 'subtype ' , ' table_id ' )
174201 ->from ('tables_columns ' )
175202 ->where ($ qb ->expr ()->eq ('table_id ' , $ qb ->createNamedParameter ($ tableId )))
176203 ->executeQuery ();
@@ -182,6 +209,7 @@ protected function setupRealColumnMapper(int $tableId): void {
182209 $ column ->setId ($ row ['id ' ]);
183210 $ column ->setTitle ($ row ['title ' ]);
184211 $ column ->setType ($ row ['type ' ]);
212+ $ column ->setSubtype ($ row ['subtype ' ]);
185213 $ column ->setTableId ($ row ['table_id ' ]);
186214 $ columns [$ row ['id ' ]] = $ column ;
187215 $ columnTypes [$ row ['id ' ]] = $ row ['type ' ];
0 commit comments