2025-04-07 16:49:15 +03:30
|
|
|
|
import 'package:flutter/material.dart';
|
2025-04-26 09:25:49 +03:30
|
|
|
|
import 'package:rasadyar_core/core.dart';
|
|
|
|
|
|
|
2025-04-07 16:49:15 +03:30
|
|
|
|
|
|
|
|
|
|
class SystemDesignPage extends StatefulWidget {
|
|
|
|
|
|
const SystemDesignPage({super.key});
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
State<SystemDesignPage> createState() => _SystemDesignPageState();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class _SystemDesignPageState extends State<SystemDesignPage> {
|
2025-12-01 09:42:26 +03:30
|
|
|
|
final List<bool> _isOpen = [false, false, false, false, false, false];
|
2025-04-07 16:49:15 +03:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
|
return Scaffold(
|
|
|
|
|
|
appBar: AppBar(title: Text("System design"), centerTitle: true),
|
|
|
|
|
|
body: SingleChildScrollView(
|
|
|
|
|
|
child: Padding(
|
|
|
|
|
|
padding: const EdgeInsets.all(8.0),
|
|
|
|
|
|
child: ExpansionPanelList(
|
|
|
|
|
|
expansionCallback: (panelIndex, isExpanded) {
|
|
|
|
|
|
setState(() {
|
|
|
|
|
|
_isOpen[panelIndex] = isExpanded;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
children: [
|
|
|
|
|
|
buttonWidget(),
|
|
|
|
|
|
fabWidget(),
|
|
|
|
|
|
outlinedFabWidget(),
|
|
|
|
|
|
paginationWidget(),
|
|
|
|
|
|
tabWidget(),
|
|
|
|
|
|
inputsWidget(),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ExpansionPanel inputsWidget() {
|
|
|
|
|
|
return ExpansionPanel(
|
|
|
|
|
|
isExpanded: _isOpen[5],
|
|
|
|
|
|
headerBuilder: (context, isExpanded) {
|
|
|
|
|
|
return ListTile(
|
|
|
|
|
|
title: Text(
|
|
|
|
|
|
"inputs",
|
2025-04-09 17:05:38 +03:30
|
|
|
|
style: AppFonts.yekan20.copyWith(color: Colors.red),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
body: Padding(
|
|
|
|
|
|
padding: const EdgeInsets.all(8.0),
|
|
|
|
|
|
child: Column(
|
|
|
|
|
|
spacing: 14,
|
|
|
|
|
|
children: [
|
2025-05-17 15:24:06 +03:30
|
|
|
|
RTextField(
|
|
|
|
|
|
controller: TextEditingController(),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
hintText: 'حجم کشتار را در روز به قطعه وارد کنید',
|
2025-04-09 17:05:38 +03:30
|
|
|
|
hintStyle: AppFonts.yekan13,
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
2025-05-17 15:24:06 +03:30
|
|
|
|
RTextField(
|
|
|
|
|
|
controller: TextEditingController(),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
label: 'تلفن مرغداری',
|
2025-04-09 17:05:38 +03:30
|
|
|
|
labelStyle: AppFonts.yekan10,
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ExpansionPanel tabWidget() {
|
|
|
|
|
|
return ExpansionPanel(
|
|
|
|
|
|
isExpanded: _isOpen[4],
|
|
|
|
|
|
headerBuilder: (context, isExpanded) {
|
|
|
|
|
|
return ListTile(
|
|
|
|
|
|
title: Text(
|
|
|
|
|
|
"tab",
|
2025-04-09 17:05:38 +03:30
|
|
|
|
style: AppFonts.yekan20.copyWith(color: Colors.red),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
body: Column(
|
|
|
|
|
|
spacing: 14,
|
|
|
|
|
|
children: [
|
|
|
|
|
|
CupertinoSegmentedControlDemo(),
|
|
|
|
|
|
CupertinoSegmentedControlDemo2(),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ExpansionPanel paginationWidget() {
|
|
|
|
|
|
return ExpansionPanel(
|
|
|
|
|
|
isExpanded: _isOpen[3],
|
|
|
|
|
|
headerBuilder: (context, isExpanded) {
|
|
|
|
|
|
return ListTile(
|
|
|
|
|
|
title: Text(
|
|
|
|
|
|
"پیجینیشن",
|
2025-04-09 17:05:38 +03:30
|
|
|
|
style: AppFonts.yekan20.copyWith(color: Colors.red),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
body: Column(spacing: 14, children: [RShowMore(), PaginationFromUntil()]),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ExpansionPanel outlinedFabWidget() {
|
|
|
|
|
|
return ExpansionPanel(
|
|
|
|
|
|
isExpanded: _isOpen[2],
|
|
|
|
|
|
headerBuilder: (context, isExpanded) {
|
|
|
|
|
|
return ListTile(
|
|
|
|
|
|
title: Text(
|
|
|
|
|
|
"Outlined Fab ",
|
2025-04-09 17:05:38 +03:30
|
|
|
|
style: AppFonts.yekan20.copyWith(color: Colors.green),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
body: Column(
|
|
|
|
|
|
spacing: 14,
|
|
|
|
|
|
children: [
|
|
|
|
|
|
Row(),
|
2025-04-21 15:45:15 +03:30
|
|
|
|
/*
|
2025-04-07 16:49:15 +03:30
|
|
|
|
RFabOutlined.smallAdd(onPressed: () {}),
|
|
|
|
|
|
RFabOutlined.smallAdd(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFabOutlined.smallAddNoBorder(onPressed: () {}),
|
|
|
|
|
|
RFabOutlined.smallAddNoBorder(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFabOutlined.add(onPressed: () {}),
|
|
|
|
|
|
RFabOutlined.add(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFabOutlined.addNoBorder(onPressed: () {}),
|
2025-04-21 15:45:15 +03:30
|
|
|
|
RFabOutlined.addNoBorder(onPressed: null),*/
|
2025-04-07 16:49:15 +03:30
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ExpansionPanel fabWidget() {
|
|
|
|
|
|
return ExpansionPanel(
|
|
|
|
|
|
isExpanded: _isOpen[1],
|
|
|
|
|
|
headerBuilder: (context, isExpanded) {
|
|
|
|
|
|
return ListTile(
|
|
|
|
|
|
title: Text(
|
|
|
|
|
|
"Fab",
|
2025-04-09 17:05:38 +03:30
|
|
|
|
style: AppFonts.yekan20.copyWith(color: Colors.green),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
body: Column(
|
|
|
|
|
|
spacing: 14,
|
|
|
|
|
|
children: [
|
|
|
|
|
|
Row(),
|
|
|
|
|
|
|
2025-04-21 15:45:15 +03:30
|
|
|
|
/* RFab.smallAdd(onPressed: () {}),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
RFab.smallAdd(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.add(onPressed: () {}),
|
|
|
|
|
|
RFab.add(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallEdit(onPressed: null),
|
|
|
|
|
|
RFab.smallEdit(onPressed: () {}),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.edit(onPressed: () {}),
|
|
|
|
|
|
RFab.edit(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallDelete(onPressed: () {}),
|
|
|
|
|
|
RFab.smallDelete(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.delete(onPressed: () {}),
|
|
|
|
|
|
RFab.delete(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallAction(onPressed: () {}),
|
|
|
|
|
|
RFab.smallAction(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.action(onPressed: () {}),
|
|
|
|
|
|
RFab.action(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallFilter(onPressed: () {}),
|
|
|
|
|
|
RFab.smallFilter(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.filter(onPressed: () {}),
|
|
|
|
|
|
RFab.filter(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallDownload(onPressed: () {}),
|
|
|
|
|
|
RFab.smallDownload(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.download(onPressed: () {}),
|
|
|
|
|
|
RFab.download(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallExcel(onPressed: () {}),
|
|
|
|
|
|
RFab.smallExcel(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.excel(onPressed: () {}),
|
|
|
|
|
|
RFab.excel(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.smallBack(onPressed: () {}),
|
|
|
|
|
|
RFab.smallBack(onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RFab.back(onPressed: () {}),
|
2025-04-21 15:45:15 +03:30
|
|
|
|
RFab.back(onPressed: null),*/
|
2025-04-07 16:49:15 +03:30
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ExpansionPanel buttonWidget() {
|
|
|
|
|
|
return ExpansionPanel(
|
|
|
|
|
|
isExpanded: _isOpen[0],
|
|
|
|
|
|
headerBuilder: (context, isExpanded) {
|
|
|
|
|
|
return ListTile(
|
|
|
|
|
|
title: Text(
|
|
|
|
|
|
"دکمه ها",
|
2025-04-09 17:05:38 +03:30
|
|
|
|
style: AppFonts.yekan20.copyWith(color: Colors.green),
|
2025-04-07 16:49:15 +03:30
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
},
|
|
|
|
|
|
body: Column(
|
|
|
|
|
|
spacing: 14,
|
|
|
|
|
|
children: [
|
|
|
|
|
|
Row(),
|
|
|
|
|
|
|
|
|
|
|
|
RElevated(text: 'ثبت', onPressed: () {}),
|
|
|
|
|
|
|
|
|
|
|
|
RElevated(text: 'ثبت', onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
ROutlinedElevated(text: 'ثبت', onPressed: () {}),
|
|
|
|
|
|
ROutlinedElevated(
|
|
|
|
|
|
text: 'ثبتwwww',
|
|
|
|
|
|
onPressed: () {},
|
|
|
|
|
|
backgroundColor: AppColor.blueNormal.disabledColor,
|
|
|
|
|
|
pressedBackgroundColor: AppColor.blueNormal,
|
|
|
|
|
|
),
|
|
|
|
|
|
ROutlinedElevated(text: 'ثبت', onPressed: null),
|
|
|
|
|
|
|
|
|
|
|
|
RTextButton(text: 'ثبت', onPressed: () {}),
|
|
|
|
|
|
RTextButton(text: 'ثبت', onPressed: null),
|
|
|
|
|
|
],
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|