TF-801 Fix overflow pixel list rule filter view

This commit is contained in:
dab246
2022-08-17 21:19:48 +07:00
committed by Dat H. Pham
parent c4d78f732d
commit 04b3b49c23
2 changed files with 37 additions and 29 deletions
@@ -21,18 +21,21 @@ class EmailRulesView extends GetWidget<EmailRulesController> with AppLoaderMixin
body: Container(
width: double.infinity,
margin: _getMarginView(context),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EmailRulesHeaderWidget(
imagePaths: _imagePaths,
responsiveUtils: _responsiveUtils,
createRule: () => controller.goToCreateNewRule(),
),
SizedBox(height: _responsiveUtils.isWebDesktop(context) ? 24 : 16),
_buildLoadingView(),
const Expanded(child: ListEmailRulesWidget())
],
child: SingleChildScrollView(
physics: const ClampingScrollPhysics(),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
EmailRulesHeaderWidget(
imagePaths: _imagePaths,
responsiveUtils: _responsiveUtils,
createRule: () => controller.goToCreateNewRule(),
),
SizedBox(height: _responsiveUtils.isWebDesktop(context) ? 24 : 16),
_buildLoadingView(),
const ListEmailRulesWidget()
],
),
),
),
);
@@ -50,26 +50,31 @@ class ListEmailRulesWidget extends GetWidget<EmailRulesController> {
height: 1,
thickness: 0.2,
),
Expanded(
child: Obx(() {
log('ListEmailRulesWidget::build(): ${controller.listEmailRule}');
return ListView.separated(
shrinkWrap: true,
itemCount: controller.listEmailRule.length,
itemBuilder: (context, index) {
final ruleWithId = controller.listEmailRule[index]
.copyWith(id: RuleId(id: Id(index.toString())));
log('ListEmailRulesWidget::build(): $ruleWithId');
return EmailRulesItemWidget(rule: ruleWithId);
},
separatorBuilder: (context, index) => const Divider(
Obx(() {
log('ListEmailRulesWidget::build(): ${controller.listEmailRule}');
return ListView.separated(
shrinkWrap: true,
itemCount: controller.listEmailRule.length,
primary: false,
itemBuilder: (context, index) {
final ruleWithId = controller.listEmailRule[index]
.copyWith(id: RuleId(id: Id(index.toString())));
log('ListEmailRulesWidget::build(): $ruleWithId');
return EmailRulesItemWidget(rule: ruleWithId);
},
separatorBuilder: (context, index) {
if (controller.listEmailRule.isNotEmpty) {
return const Divider(
color: AppColor.lineItemListColor,
height: 1,
thickness: 0.2,
),
);
}),
),
);
} else {
return const SizedBox.shrink();
}
},
);
}),
]),
),
);