build_app
This commit is contained in:
parent
4dd18386ac
commit
6cb6b41383
@ -69,6 +69,9 @@ public class BuilderService {
|
|||||||
executeDump(true);
|
executeDump(true);
|
||||||
|
|
||||||
// ADD OTHER SERVICE
|
// ADD OTHER SERVICE
|
||||||
|
addCustomMenu( "Testm", "Transcations");
|
||||||
|
|
||||||
|
|
||||||
addCustomMenu( "Child", "Transcations");
|
addCustomMenu( "Child", "Transcations");
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -23,20 +23,6 @@ import com.realnet.forma.Services.TestmService ;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -61,20 +47,6 @@ public class TestmController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -91,20 +63,6 @@ public class TestmController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -163,20 +121,6 @@ public class TestmController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -18,20 +18,6 @@ import com.realnet.WhoColumn.Entity.Extension;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
import com.realnet.forma.Entity.Child;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Data
|
@Data
|
||||||
public class Testm extends Extension {
|
public class Testm extends Extension {
|
||||||
@ -60,31 +46,5 @@ private String selectautotypename;
|
|||||||
|
|
||||||
private String selectautomul;
|
private String selectautomul;
|
||||||
|
|
||||||
@OneToOne( cascade=CascadeType.ALL)
|
|
||||||
private Child child;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String bar_code;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String qr_code;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private int numbera;
|
|
||||||
|
|
||||||
private int numberb;
|
|
||||||
|
|
||||||
private String calculatedadd;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,20 +18,6 @@ import java.util.*;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -32,20 +32,6 @@ import com.realnet.forma.Services.TestmService;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -71,20 +57,6 @@ private TestmRepository Repository;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Testm Savedata(Testm data) {
|
public Testm Savedata(Testm data) {
|
||||||
|
|
||||||
|
|
||||||
@ -118,20 +90,6 @@ if (data.getSelectauto() != null) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
data.setUpdatedBy(getUser().getUserId());
|
data.setUpdatedBy(getUser().getUserId());
|
||||||
data.setCreatedBy(getUser().getUserId());
|
data.setCreatedBy(getUser().getUserId());
|
||||||
data.setAccountId(getUser().getAccount().getAccount_id());
|
data.setAccountId(getUser().getAccount().getAccount_id());
|
||||||
@ -177,29 +135,6 @@ old.setSelectauto(data.getSelectauto());
|
|||||||
|
|
||||||
old.setSelectautomul(data.getSelectautomul());
|
old.setSelectautomul(data.getSelectautomul());
|
||||||
|
|
||||||
old.setChild(data.getChild());
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
old.setBar_code(data.getBar_code());
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
old.setQr_code(data.getQr_code());
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
old.setNumbera(data.getNumbera());
|
|
||||||
|
|
||||||
old.setNumberb(data.getNumberb());
|
|
||||||
|
|
||||||
old.setCalculatedadd(data.getCalculatedadd());
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
final Testm test = Repository.save(old);
|
final Testm test = Repository.save(old);
|
||||||
data.setUpdatedBy(getUser().getUserId());
|
data.setUpdatedBy(getUser().getUserId());
|
||||||
return test;}
|
return test;}
|
||||||
@ -210,20 +145,6 @@ final Testm test = Repository.save(old);
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,2 @@
|
|||||||
CREATE TABLE db.Testm(id BIGINT NOT NULL AUTO_INCREMENT, numberb int, numbera int, calculatedadd VARCHAR(400), selecdya int, selectdyamul VARCHAR(400), onetoone VARCHAR(400), selectmulsta VARCHAR(400), valuell VARCHAR(400), bar_code VARCHAR(400), dataggg VARCHAR(400), selectauto int, selectautomul VARCHAR(400), qr_code VARCHAR(400), namem VARCHAR(400), selectsta VARCHAR(400), PRIMARY KEY (id));
|
CREATE TABLE db.Testm(id BIGINT NOT NULL AUTO_INCREMENT, selecdya int, selectdyamul VARCHAR(400), selectmulsta VARCHAR(400), selectauto int, selectautomul VARCHAR(400), namem VARCHAR(400), selectsta VARCHAR(400), PRIMARY KEY (id));
|
||||||
|
|
||||||
CREATE TABLE db.Child(id BIGINT NOT NULL AUTO_INCREMENT, namemmm VARCHAR(400), PRIMARY KEY (id));
|
|
||||||
|
|
||||||
|
|||||||
@ -59,20 +59,6 @@ Future<List<Map<String, dynamic>>> getAllWithPagination(
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -104,20 +90,6 @@ Future<List<Map<String, dynamic>>> getAllWithPagination(
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -42,20 +42,6 @@ import '../../../../Reuseable/reusable_dropdown_field.dart';
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -259,254 +245,6 @@ if (element['namem'] != null)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget buildFormField(String fieldOption) {
|
|
||||||
return Padding(
|
|
||||||
padding: const EdgeInsets.only(bottom: 16.0),
|
|
||||||
child: Card(
|
|
||||||
elevation: 4,
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(8),
|
|
||||||
),
|
|
||||||
child: Padding(
|
|
||||||
padding: const EdgeInsets.all(12.0),
|
|
||||||
child: TextFormField(
|
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText: fieldOption,
|
|
||||||
border: OutlineInputBorder(
|
|
||||||
borderRadius: BorderRadius.circular(8),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onSaved: (value) {
|
|
||||||
if (formData['child'] == null) {
|
|
||||||
formData['child'] = {};
|
|
||||||
}
|
|
||||||
formData['child'][fieldOption] = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
late Future<List<Map<String, dynamic>>> _valuelldataFuture; // Data from fetchData
|
|
||||||
|
|
||||||
Future<List<Map<String, dynamic>>> valuellfetchData() async {
|
|
||||||
|
|
||||||
final resp = await apiService.getEntities();
|
|
||||||
|
|
||||||
if (resp != null) {
|
|
||||||
return resp;
|
|
||||||
} else {
|
|
||||||
throw Exception('Failed to load data: ');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void showvaluellDialog(BuildContext context) {
|
|
||||||
showDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (BuildContext context) {
|
|
||||||
return SingleChildScrollView(
|
|
||||||
child: AlertDialog(
|
|
||||||
title: const Text('Select a record'),
|
|
||||||
content: FutureBuilder<List<Map<String, dynamic>>>(
|
|
||||||
future: _valuelldataFuture,
|
|
||||||
builder: (context, snapshot) {
|
|
||||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
|
||||||
return const Center(child: CircularProgressIndicator());
|
|
||||||
} else if (snapshot.hasError) {
|
|
||||||
return Center(child: Text('Error: ${snapshot.error}'));
|
|
||||||
} else if (!snapshot.hasData || snapshot.data!.isEmpty) {
|
|
||||||
return const Center(child: Text('No data available..'));
|
|
||||||
} else {
|
|
||||||
final List<String> columnsToShow = [
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'namem',
|
|
||||||
|
|
||||||
|
|
||||||
];
|
|
||||||
return SingleChildScrollView(
|
|
||||||
scrollDirection: Axis.horizontal,
|
|
||||||
child: DataTable(
|
|
||||||
columnSpacing: 30,
|
|
||||||
headingRowColor: MaterialStateColor.resolveWith(
|
|
||||||
(states) => Colors.blue.shade100),
|
|
||||||
dataRowColor: MaterialStateColor.resolveWith(
|
|
||||||
(states) => Colors.white),
|
|
||||||
dividerThickness: 0.5,
|
|
||||||
columns: columnsToShow
|
|
||||||
.map(
|
|
||||||
(key) => DataColumn(
|
|
||||||
label: Text(
|
|
||||||
key,
|
|
||||||
style: const TextStyle(
|
|
||||||
fontWeight: FontWeight.bold, fontSize: 16),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
rows: snapshot.data!.map((item) {
|
|
||||||
return DataRow(
|
|
||||||
cells: columnsToShow.map((key) {
|
|
||||||
return DataCell(
|
|
||||||
Text(
|
|
||||||
item[key].toString(),
|
|
||||||
style: const TextStyle(fontSize: 14),
|
|
||||||
),
|
|
||||||
onTap: () {
|
|
||||||
setState(() {
|
|
||||||
|
|
||||||
|
|
||||||
namemController.text = item['namem'] ?? '';
|
|
||||||
|
|
||||||
|
|
||||||
// Add more fields as needed
|
|
||||||
});
|
|
||||||
Navigator.pop(context);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}).toList());
|
|
||||||
}).toList(),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
actions: [
|
|
||||||
TextButton(
|
|
||||||
child: const Text('Close'),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
final TextEditingController fieldggController = TextEditingController();
|
|
||||||
|
|
||||||
|
|
||||||
final TextEditingController numberaController = TextEditingController();
|
|
||||||
|
|
||||||
|
|
||||||
final TextEditingController numberbController = TextEditingController();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String calculatedaddOperator = '+';
|
|
||||||
String calculatedaddresult = '';
|
|
||||||
|
|
||||||
final List<String> calculatedaddoperators = ['+', '-', '*', '/'];
|
|
||||||
|
|
||||||
void calculatecalculatedaddResult() {
|
|
||||||
int calculation;
|
|
||||||
switch (calculatedaddOperator) {
|
|
||||||
case '+':
|
|
||||||
calculation =
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberaController.text) +
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberbController.text) +
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
0;
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
case '-':
|
|
||||||
calculation =
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberaController.text) -
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberbController.text) -
|
|
||||||
|
|
||||||
|
|
||||||
0;
|
|
||||||
break;
|
|
||||||
case '*':
|
|
||||||
calculation =
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberaController.text) *
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberbController.text) *
|
|
||||||
|
|
||||||
|
|
||||||
1;
|
|
||||||
break;
|
|
||||||
case '/':
|
|
||||||
if (
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberaController.text)== 0 ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberbController.text)== 0 ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1 != 1) {
|
|
||||||
calculatedaddresult = 'Division by zero error';
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
calculation = (
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberaController.text) /
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int.parse(numberbController.text) /
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1).toInt();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
calculation = 0;
|
|
||||||
}
|
|
||||||
setState(() {
|
|
||||||
calculatedaddresult = 'Result: $calculation';
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
late Future<List<Map<String, dynamic>>> _datagggdataFuture; // Data from fetchData
|
|
||||||
|
|
||||||
Future<List<Map<String, dynamic>>> datagggfetchData() async {
|
|
||||||
|
|
||||||
final provider =
|
|
||||||
Provider.of<TestmViewModelScreen>(context, listen: false);
|
|
||||||
final resp = await provider.getdatagggGrid();
|
|
||||||
|
|
||||||
if (resp != null) {
|
|
||||||
return resp;
|
|
||||||
} else {
|
|
||||||
throw Exception('Failed to load data: ');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@ -534,22 +272,6 @@ final provider =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_valuelldataFuture = valuellfetchData(); // Initialize _dataFuture with the function
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_datagggdataFuture = datagggfetchData(); // Initialize _dataFuture with the function
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -584,27 +306,6 @@ final provider =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
actions: [
|
|
||||||
IconButton(
|
|
||||||
icon: const Icon(Icons.grid_on),
|
|
||||||
onPressed: () {
|
|
||||||
showvaluellDialog(context);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
),
|
),
|
||||||
body: SingleChildScrollView(
|
body: SingleChildScrollView(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@ -932,154 +633,6 @@ final provider =
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.all(16.0),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
const SizedBox(
|
|
||||||
height: 20,
|
|
||||||
child: Text(
|
|
||||||
'Child',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 18,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
color: Colors.black,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 16), // Add space between elements
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
buildFormField('namemmm'),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Container(
|
|
||||||
padding: EdgeInsets.all(16.0),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.grey[200],
|
|
||||||
borderRadius: BorderRadius.circular(8.0),
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: Colors.black.withOpacity(0.2),
|
|
||||||
spreadRadius: 2,
|
|
||||||
blurRadius: 4,
|
|
||||||
offset: Offset(0, 2),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Fieldgg",
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 18,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
ReusableTextField(
|
|
||||||
onSaved:(value) => formData['bar_code'] = value ,
|
|
||||||
label:"Enter Bar_code",
|
|
||||||
// ValidationProperties
|
|
||||||
),
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ReusableTextField(
|
|
||||||
onSaved:(value) => formData['qr_code'] = value ,
|
|
||||||
label:"Enter Qr_code",
|
|
||||||
// ValidationProperties
|
|
||||||
),
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
ReusableTextField(
|
|
||||||
controller: numberaController,
|
|
||||||
|
|
||||||
onSaved:(value) => formData['numbera'] = value ,
|
|
||||||
label: "Enter Numbera",
|
|
||||||
keyboardType: TextInputType.number,
|
|
||||||
inputFormatters: [
|
|
||||||
FilteringTextInputFormatter.allow((RegExp(r'[0-9]'))),
|
|
||||||
],
|
|
||||||
// ValidationProperties
|
|
||||||
),
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
ReusableTextField(
|
|
||||||
controller: numberbController,
|
|
||||||
|
|
||||||
onSaved:(value) => formData['numberb'] = value ,
|
|
||||||
label: "Enter Numberb",
|
|
||||||
keyboardType: TextInputType.number,
|
|
||||||
inputFormatters: [
|
|
||||||
FilteringTextInputFormatter.allow((RegExp(r'[0-9]'))),
|
|
||||||
],
|
|
||||||
// ValidationProperties
|
|
||||||
),
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
const SizedBox(height: 8.0),
|
|
||||||
DropdownButtonFormField<String>(
|
|
||||||
value: calculatedaddOperator,
|
|
||||||
items: calculatedaddoperators.map((String operator) {
|
|
||||||
return DropdownMenuItem(
|
|
||||||
value: operator,
|
|
||||||
child: Text(operator),
|
|
||||||
);
|
|
||||||
}).toList(),
|
|
||||||
onChanged: (value) {
|
|
||||||
setState(() {
|
|
||||||
calculatedaddOperator = value!;
|
|
||||||
print(calculatedaddOperator.toString());
|
|
||||||
print("value-- $value");
|
|
||||||
});
|
|
||||||
},
|
|
||||||
decoration: const InputDecoration(labelText: 'Operator'),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 20.0),
|
|
||||||
ElevatedButton(
|
|
||||||
onPressed: () {
|
|
||||||
if (_formKey.currentState!.validate()) {
|
|
||||||
_formKey.currentState?.save(); // Save the form fields
|
|
||||||
|
|
||||||
}
|
|
||||||
calculatecalculatedaddResult();
|
|
||||||
setState(() {
|
|
||||||
|
|
||||||
});
|
|
||||||
},
|
|
||||||
child: const Text('Calculate'),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 20.0),
|
|
||||||
Text(calculatedaddresult,style: TextStyle(color: Colors.black),),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
CustomButton(
|
CustomButton(
|
||||||
height: getVerticalSize(50),
|
height: getVerticalSize(50),
|
||||||
@ -1096,20 +649,6 @@ SizedBox(height: 16),
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1129,20 +668,6 @@ SizedBox(height: 16),
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1188,66 +713,6 @@ SizedBox(height: 16),
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
FutureBuilder<List<Map<String, dynamic>>>(
|
|
||||||
future: _datagggdataFuture,
|
|
||||||
builder: (context, snapshot) {
|
|
||||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
|
||||||
return const Center(child: CircularProgressIndicator());
|
|
||||||
} else if (snapshot.hasError) {
|
|
||||||
return Center(child: Text('Error: ${snapshot.error}'));
|
|
||||||
} else if (!snapshot.hasData || snapshot.data!.isEmpty) {
|
|
||||||
return const Center(child: Text('No data available..'));
|
|
||||||
} else {
|
|
||||||
final keys = snapshot.data!.first.keys.toList();
|
|
||||||
|
|
||||||
return SingleChildScrollView(
|
|
||||||
scrollDirection: Axis.horizontal,
|
|
||||||
child: DataTable(
|
|
||||||
columnSpacing: 30,
|
|
||||||
headingRowColor: MaterialStateColor.resolveWith((states) => Colors.blue.shade100),
|
|
||||||
dataRowColor: MaterialStateColor.resolveWith((states) => Colors.white),
|
|
||||||
dividerThickness: 0.5,
|
|
||||||
columns: keys.map(
|
|
||||||
(key) => DataColumn(
|
|
||||||
label: Text(
|
|
||||||
key,
|
|
||||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
rows: snapshot.data!.map((item) {
|
|
||||||
return DataRow(cells: keys.map((key) {
|
|
||||||
return DataCell(
|
|
||||||
Text(
|
|
||||||
item[key].toString(),
|
|
||||||
style: const TextStyle(fontSize: 14),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}).toList());
|
|
||||||
}).toList(),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -56,20 +56,6 @@ class _testm_entity_list_screenState extends State<testm_entity_list_screen> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -232,55 +218,7 @@ Future<void> fetchEntities() async {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['selectautomul'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
entity['selectautomul'].toString().toLowerCase().contains(keyword.toLowerCase())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['child'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['bar_code'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['qr_code'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['numbera'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['numberb'].toString().toLowerCase().contains(keyword.toLowerCase()) ||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
entity['dataggg'].toString().toLowerCase().contains(keyword.toLowerCase())
|
|
||||||
|
|
||||||
|
|
||||||
).toList();
|
).toList();
|
||||||
@ -364,20 +302,6 @@ onTapArrowleft1(BuildContext context) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -786,117 +710,6 @@ onTapArrowleft1(BuildContext context) {
|
|||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: getPadding(
|
|
||||||
top: 10,
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Bar_code : ",
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
entity['bar_code'].toString() ?? 'No Bar_code Available',
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: getPadding(
|
|
||||||
top: 10,
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Qr_code : ",
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
entity['qr_code'].toString() ?? 'No Qr_code Available',
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: getPadding(
|
|
||||||
top: 10,
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Numbera : ",
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
entity['numbera'].toString() ?? 'No Numbera Available',
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: getPadding(
|
|
||||||
top: 10,
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Numberb : ",
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
entity['numberb'].toString() ?? 'No Numberb Available',
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: AppStyle.txtGilroyMedium16Bluegray900,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -229,52 +229,6 @@ if (element['namem'] != null)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget buildFormField(String fieldOption) {
|
|
||||||
return Padding(
|
|
||||||
padding: const EdgeInsets.only(bottom: 16.0),
|
|
||||||
child: Card(
|
|
||||||
elevation: 4,
|
|
||||||
shape: RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.circular(8),
|
|
||||||
),
|
|
||||||
child: Padding(
|
|
||||||
padding: const EdgeInsets.all(12.0),
|
|
||||||
child: TextFormField(
|
|
||||||
initialValue: widget.entity['child'] != null &&
|
|
||||||
widget.entity['child'][fieldOption] != null
|
|
||||||
? widget.entity['child'][fieldOption]
|
|
||||||
: '',
|
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText: fieldOption,
|
|
||||||
border: OutlineInputBorder(
|
|
||||||
borderRadius: BorderRadius.circular(8),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onSaved: (value) {
|
|
||||||
if (widget.entity['child'] == null) {
|
|
||||||
widget.entity['child'] = {};
|
|
||||||
}
|
|
||||||
widget.entity['child'][fieldOption] = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
@ -326,20 +280,6 @@ if (selectautomulString != null) {
|
|||||||
selectedselectautomulValue = selectautomulString.split(', ');
|
selectedselectautomulValue = selectautomulString.split(', ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -367,20 +307,6 @@ selectedselectautomulValue = selectautomulString.split(', ');
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -657,154 +583,6 @@ FutureBuilder<List<String>>(
|
|||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.all(16.0),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
const SizedBox(
|
|
||||||
height: 20,
|
|
||||||
child: Text(
|
|
||||||
'Child',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 18,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
color: Colors.black,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 16), // Add space between elements
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
buildFormField('namemmm'),
|
|
||||||
|
|
||||||
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
Padding(
|
|
||||||
padding: EdgeInsets.all(16),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: <Widget>[
|
|
||||||
|
|
||||||
|
|
||||||
ElevatedButton(
|
|
||||||
onPressed: () {
|
|
||||||
// Save changes logic here
|
|
||||||
|
|
||||||
|
|
||||||
Navigator.pop(context);
|
|
||||||
// Implement API call to update data
|
|
||||||
},
|
|
||||||
child: Text('Save'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
Container(
|
|
||||||
padding: EdgeInsets.all(16.0),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.grey[200],
|
|
||||||
borderRadius: BorderRadius.circular(8.0),
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: Colors.black.withOpacity(0.2),
|
|
||||||
spreadRadius: 2,
|
|
||||||
blurRadius: 4,
|
|
||||||
offset: Offset(0, 2),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Fieldgg",
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 18,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
TextFormField(
|
|
||||||
initialValue: widget.entity['bar_code'],
|
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText: 'fieldgg bar_code',
|
|
||||||
),
|
|
||||||
onChanged: (value) {
|
|
||||||
setState(() {
|
|
||||||
widget.entity['bar_code'] = value;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
TextFormField(
|
|
||||||
initialValue: widget.entity['qr_code'],
|
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText: 'fieldgg qr_code',
|
|
||||||
),
|
|
||||||
onChanged: (value) {
|
|
||||||
setState(() {
|
|
||||||
widget.entity['qr_code'] = value;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
SizedBox(height: 16),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 16),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ReusableTextField(
|
|
||||||
initialValue: widget.entity['numbera'].toString(),
|
|
||||||
onSaved: (value) => widget.entity['numbera']= value,
|
|
||||||
label: "Enter Numbera",
|
|
||||||
keyboardType: TextInputType.number,
|
|
||||||
inputFormatters: [
|
|
||||||
FilteringTextInputFormatter.allow((RegExp(r'[0-9]'))),
|
|
||||||
],
|
|
||||||
validator: (value) {
|
|
||||||
if (value == null || value.isEmpty) {
|
|
||||||
return 'Please enter a number';
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
|
|
||||||
ReusableTextField(
|
|
||||||
initialValue: widget.entity['numberb'].toString(),
|
|
||||||
onSaved: (value) => widget.entity['numberb']= value,
|
|
||||||
label: "Enter Numberb",
|
|
||||||
keyboardType: TextInputType.number,
|
|
||||||
inputFormatters: [
|
|
||||||
FilteringTextInputFormatter.allow((RegExp(r'[0-9]'))),
|
|
||||||
],
|
|
||||||
validator: (value) {
|
|
||||||
if (value == null || value.isEmpty) {
|
|
||||||
return 'Please enter a number';
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CustomButton(
|
CustomButton(
|
||||||
height: getVerticalSize(50),
|
height: getVerticalSize(50),
|
||||||
@ -821,20 +599,6 @@ const SizedBox(height: 16),
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -855,20 +619,6 @@ const SizedBox(height: 16),
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -105,26 +105,4 @@ class TestmRepoScreen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Future<dynamic> getdatagggGrid() async {
|
|
||||||
try {
|
|
||||||
String apiUrl = "$baseUrl/Testm";
|
|
||||||
final response = await _helper.getGetApiResponse(apiUrl);
|
|
||||||
return response;
|
|
||||||
} catch (e) {
|
|
||||||
throw Exception('Failed to Upload dataggg: $e');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -168,33 +168,4 @@ List<Map<String, dynamic>> selectautomulItems = [];
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
late List<Map<String, dynamic>> datagggdataFuture =
|
|
||||||
[]; // Data from fetchData
|
|
||||||
|
|
||||||
Future<List<Map<String, dynamic>>> getdatagggGrid() async {
|
|
||||||
|
|
||||||
try {
|
|
||||||
final value = await repo.getdatagggGrid();
|
|
||||||
datagggdataFuture = (value as List)
|
|
||||||
.map((item) => item as Map<String, dynamic>)
|
|
||||||
.toList();
|
|
||||||
|
|
||||||
return datagggdataFuture;
|
|
||||||
} catch (e) {
|
|
||||||
throw Exception('Failed to get all: $e');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
import '../../Entity/forma/Testm/TestmView/Testm_entity_list_screen.dart';
|
import '../../Entity/forma/Testm/TestmView/Testm_entity_list_screen.dart';
|
||||||
import '../../Entity/forma/Testm/Testm_viewModel/Testm_view_model_screen.dart';
|
import '../../Entity/forma/Testm/Testm_viewModel/Testm_view_model_screen.dart';
|
||||||
|
|
||||||
@ -73,22 +74,24 @@ Navigator.pushNamed(context, RouteNames.changePasswordView);
|
|||||||
),
|
),
|
||||||
|
|
||||||
// NEW MENU
|
// NEW MENU
|
||||||
|
|
||||||
|
|
||||||
DrawerItem(
|
DrawerItem(
|
||||||
color: AppColors.primary,
|
color: AppColors.primary,
|
||||||
icon: Icons.chat_bubble,
|
icon: Icons.chat_bubble,
|
||||||
title: 'Testm',
|
title: 'Testm',
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => ChangeNotifierProvider(
|
builder: (context) => ChangeNotifierProvider(
|
||||||
create: (context) => TestmViewModelScreen(),
|
create: (context) => TestmViewModelScreen(),
|
||||||
child: testm_entity_list_screen(),
|
child: testm_entity_list_screen(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
DrawerItem(
|
DrawerItem(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user