Add feature to remove URL params

This commit is contained in:
Ankit Mahato
2023-03-09 16:23:02 +05:30
parent d89f13fb3f
commit b11f7b72d0

View File

@ -64,11 +64,9 @@ class EditRequestURLParamsState extends ConsumerState<EditRequestURLParams> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final activeId = ref.watch(activeItemIdStateProvider); final activeId = ref.watch(activeItemIdStateProvider);
rows = ref final collection = ref.watch(collectionStateNotifierProvider);
.read(collectionStateNotifierProvider.notifier) final idIdx = collection.indexWhere((m) => m.id == activeId);
.getRequestModel(activeId!) rows = collection[idIdx].requestParams ?? [const KVRow("", "")];
.requestParams ??
[];
DaviModel<KVRow> model = DaviModel<KVRow>( DaviModel<KVRow> model = DaviModel<KVRow>(
rows: rows, rows: rows,
columns: [ columns: [
@ -76,11 +74,25 @@ class EditRequestURLParamsState extends ConsumerState<EditRequestURLParams> {
name: 'URL Parameter', name: 'URL Parameter',
grow: 1, grow: 1,
cellBuilder: _buildParamField, cellBuilder: _buildParamField,
sortable: false,
), ),
DaviColumn( DaviColumn(
name: 'Value', name: 'Value',
grow: 1, grow: 1,
cellBuilder: _buildValueField, cellBuilder: _buildValueField,
sortable: false,
),
DaviColumn(
pinStatus: PinStatus.none,
width: 30,
cellBuilder: (BuildContext context, DaviRow<KVRow> row) {
return InkWell(
child: const Icon(Icons.remove_circle, size: 16),
onTap: () {
rows.removeAt(row.index);
_onFieldChange(activeId!);
});
},
), ),
], ],
); );
@ -107,7 +119,7 @@ class EditRequestURLParamsState extends ConsumerState<EditRequestURLParams> {
child: ElevatedButton.icon( child: ElevatedButton.icon(
onPressed: () { onPressed: () {
rows.add(const KVRow("", "")); rows.add(const KVRow("", ""));
model.addRow(const KVRow("", "")); _onFieldChange(activeId!);
}, },
icon: const Icon(Icons.add), icon: const Icon(Icons.add),
label: const Text( label: const Text(
@ -192,11 +204,13 @@ class EditRequestHeadersState extends ConsumerState<EditRequestHeaders> {
name: 'Header Name', name: 'Header Name',
grow: 1, grow: 1,
cellBuilder: _buildHeaderField, cellBuilder: _buildHeaderField,
sortable: false,
), ),
DaviColumn( DaviColumn(
name: 'Header Value', name: 'Header Value',
grow: 1, grow: 1,
cellBuilder: _buildValueField, cellBuilder: _buildValueField,
sortable: false,
), ),
], ],
); );