mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-10 06:07:57 -06:00
Some visual updates, bugfixes, finished major refactoring!
This commit is contained in:
@@ -54,8 +54,9 @@ class _TagFormFieldState extends State<TagFormField> {
|
||||
.isEmpty ||
|
||||
_textEditingController.text.isEmpty;
|
||||
});
|
||||
setState(() =>
|
||||
_showClearSuffixIcon = _textEditingController.text.isNotEmpty);
|
||||
setState(
|
||||
() => _showClearSuffixIcon = _textEditingController.text.isNotEmpty,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -86,6 +87,15 @@ class _TagFormFieldState extends State<TagFormField> {
|
||||
),
|
||||
controller: _textEditingController,
|
||||
),
|
||||
suggestionsBoxDecoration: SuggestionsBoxDecoration(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
side: BorderSide(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
width: 2.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
suggestionsCallback: (query) {
|
||||
final suggestions = widget.selectableOptions.entries
|
||||
.where(
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_form_builder/flutter_form_builder.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
import 'package:form_builder_extra_fields/form_builder_extra_fields.dart';
|
||||
import 'package:paperless_api/paperless_api.dart';
|
||||
import 'package:paperless_mobile/generated/l10n.dart';
|
||||
import 'package:form_builder_extra_fields/form_builder_extra_fields.dart';
|
||||
|
||||
///
|
||||
/// Form field allowing to select labels (i.e. correspondent, documentType)
|
||||
@@ -83,7 +82,7 @@ class _LabelFormFieldState<T extends Label, R extends IdQueryParameter>
|
||||
return FormBuilderTypeAhead<IdQueryParameter>(
|
||||
enabled: isEnabled,
|
||||
noItemsFoundBuilder: (context) => Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 8.0),
|
||||
padding: const EdgeInsets.symmetric(vertical: 8),
|
||||
child: Text(
|
||||
S.of(context).labelFormFieldNoItemsFoundText,
|
||||
textAlign: TextAlign.center,
|
||||
@@ -93,9 +92,24 @@ class _LabelFormFieldState<T extends Label, R extends IdQueryParameter>
|
||||
),
|
||||
initialValue: widget.initialValue ?? widget.queryParameterIdBuilder(null),
|
||||
name: widget.name,
|
||||
suggestionsBoxDecoration: SuggestionsBoxDecoration(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
side: BorderSide(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
width: 2.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
itemBuilder: (context, suggestion) => ListTile(
|
||||
title: Text(widget.state[suggestion.id]?.name ??
|
||||
S.of(context).labelNotAssignedText),
|
||||
title: Text(
|
||||
widget.state[suggestion.id]?.name ??
|
||||
S.of(context).labelNotAssignedText,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
dense: true,
|
||||
style: ListTileStyle.list,
|
||||
),
|
||||
suggestionsCallback: (pattern) {
|
||||
final List<IdQueryParameter> suggestions = widget.state.entries
|
||||
|
||||
@@ -66,15 +66,17 @@ class LabelTabView<T extends Label> extends StatelessWidget {
|
||||
onRefresh: BlocProvider.of<LabelCubit<T>>(context).reload,
|
||||
child: ListView(
|
||||
children: labels
|
||||
.map((l) => LabelItem<T>(
|
||||
name: l.name,
|
||||
content:
|
||||
contentBuilder?.call(l) ?? Text(l.match ?? '-'),
|
||||
onOpenEditPage: onEdit,
|
||||
filterBuilder: filterBuilder,
|
||||
leading: leadingBuilder?.call(l),
|
||||
label: l,
|
||||
))
|
||||
.map(
|
||||
(l) => LabelItem<T>(
|
||||
name: l.name,
|
||||
content:
|
||||
contentBuilder?.call(l) ?? Text(l.match ?? '-'),
|
||||
onOpenEditPage: onEdit,
|
||||
filterBuilder: filterBuilder,
|
||||
leading: leadingBuilder?.call(l),
|
||||
label: l,
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user