Documents

This commit is contained in:
Hillel Coren 2023-08-10 18:40:38 +03:00
parent 2306da7e3d
commit 77407f1810
6 changed files with 35 additions and 14 deletions

View File

@ -486,6 +486,9 @@ abstract class CompanyEntity extends Object
String get displayName => settings.name ?? '';
@override
bool get isActive => true;
@override
bool matchesFilter(String filter) {
for (final user in users) {
@ -753,6 +756,7 @@ abstract class CompanyEntity extends Object
// ignore: unused_element
static void _initializeBuilder(CompanyEntityBuilder builder) => builder
..entityType = EntityType.company
..calculateExpenseTaxByAmount = false
..enableProductDiscount = false
..defaultTaskIsDateBased = false

View File

@ -483,7 +483,7 @@ abstract class BaseEntity implements SelectableEntity {
ClientEntity client,
bool includeEdit = false,
bool multiselect = false}) {
if (isNew) {
if (isNew || entityType == EntityType.company) {
return [];
}

View File

@ -83,12 +83,15 @@ class _EntityListTileState extends State<EntityListTile> {
final trailing = widget.entity.createdAt == 0
? null
: IgnorePointer(
ignoring: !isHovered || widget.isFilter,
ignoring: !isHovered ||
widget.isFilter ||
widget.entity.entityType == EntityType.company,
child: IconButton(
icon: Icon(isHovered ||
widget.isFilter ||
isMobile(context) ||
state.uiState.previewStack.isNotEmpty
icon: Icon(widget.entity.entityType != EntityType.company &&
(isHovered ||
widget.isFilter ||
isMobile(context) ||
state.uiState.previewStack.isNotEmpty)
? Icons.chevron_right
: Icons.filter_list),
onPressed: () => viewEntity(

View File

@ -33,6 +33,7 @@ class EntityPresenter {
}
if ([
EntityType.company,
EntityType.client,
EntityType.vendor,
EntityType.project,

View File

@ -1,5 +1,7 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/ui/app/entities/entity_list_tile.dart';
import 'package:invoiceninja_flutter/ui/app/lists/list_divider.dart';
// Project imports:
import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart';
@ -26,17 +28,25 @@ class _DocumentViewState extends State<DocumentView> {
@override
Widget build(BuildContext context) {
final viewModel = widget.viewModel;
final state = viewModel.state;
final document = viewModel.document;
final entity = state.getEntity(document.parentType, document.parentId);
return ViewScaffold(
isFilter: widget.isFilter,
entity: document,
body: Column(children: [
document.data == null
? LoadingIndicator()
: SizedBox(
height: 600,
child: document.isImage
body: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
ListDivider(),
EntityListTile(
isFilter: widget.isFilter,
entity: entity,
),
Expanded(
child: document.data == null
? LoadingIndicator()
: document.isImage
? PinchZoom(
child: Image.memory(document.data),
)
@ -48,8 +58,9 @@ class _DocumentViewState extends State<DocumentView> {
allowSharing: false,
canDebug: false,
),
)
]),
),
],
),
);
}
}

View File

@ -195,6 +195,8 @@ IconData getEntityIcon(EntityType entityType) {
return Icons.schedule;
case EntityType.document:
return Icons.photo;
case EntityType.company:
return Icons.business;
default:
return MdiIcons.crosshairsQuestion;
}