mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-28 05:26:47 +00:00
Add API form support for date fields
This commit is contained in:
parent
61a9557df5
commit
68d542cb6b
@ -3,6 +3,7 @@ import 'dart:io';
|
|||||||
|
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:dropdown_search/dropdown_search.dart';
|
import 'package:dropdown_search/dropdown_search.dart';
|
||||||
|
import 'package:date_field/date_field.dart';
|
||||||
|
|
||||||
import 'package:inventree/api.dart';
|
import 'package:inventree/api.dart';
|
||||||
import 'package:inventree/app_colors.dart';
|
import 'package:inventree/app_colors.dart';
|
||||||
@ -167,6 +168,8 @@ class APIFormField {
|
|||||||
case "file upload":
|
case "file upload":
|
||||||
case "image upload":
|
case "image upload":
|
||||||
return _constructFileField();
|
return _constructFileField();
|
||||||
|
case "date":
|
||||||
|
return _constructDateField();
|
||||||
default:
|
default:
|
||||||
return ListTile(
|
return ListTile(
|
||||||
title: Text(
|
title: Text(
|
||||||
@ -179,6 +182,30 @@ class APIFormField {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Field for displaying and selecting dates
|
||||||
|
Widget _constructDateField() {
|
||||||
|
|
||||||
|
return DateTimeFormField(
|
||||||
|
mode: DateTimeFieldPickerMode.date,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
helperText: helpText,
|
||||||
|
helperStyle: _helperStyle(),
|
||||||
|
labelText: label,
|
||||||
|
labelStyle: _labelStyle(),
|
||||||
|
),
|
||||||
|
initialValue: DateTime.tryParse(value ?? ""),
|
||||||
|
autovalidateMode: AutovalidateMode.always,
|
||||||
|
validator: (e) {
|
||||||
|
// TODO
|
||||||
|
},
|
||||||
|
onDateSelected: (DateTime dt) {
|
||||||
|
data['value'] = dt.toString().split(" ").first;
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Field for selecting and uploading files
|
// Field for selecting and uploading files
|
||||||
Widget _constructFileField() {
|
Widget _constructFileField() {
|
||||||
|
|
||||||
@ -418,6 +445,13 @@ class APIFormField {
|
|||||||
style: TextStyle(fontWeight: selected ? FontWeight.bold : FontWeight.normal),
|
style: TextStyle(fontWeight: selected ? FontWeight.bold : FontWeight.normal),
|
||||||
) : null,
|
) : null,
|
||||||
);
|
);
|
||||||
|
case "owner":
|
||||||
|
String name = item["name"] ?? "";
|
||||||
|
bool isGroup = (item["label"] ?? "") == "group";
|
||||||
|
return ListTile(
|
||||||
|
title: Text(name),
|
||||||
|
leading: FaIcon(isGroup ? FontAwesomeIcons.users : FontAwesomeIcons.user),
|
||||||
|
);
|
||||||
default:
|
default:
|
||||||
return ListTile(
|
return ListTile(
|
||||||
title: Text(
|
title: Text(
|
||||||
|
@ -223,6 +223,8 @@ class InvenTreeStockItem extends InvenTreeModel {
|
|||||||
return pp.isNotEmpty && pp.trim() != "-";
|
return pp.isNotEmpty && pp.trim() != "-";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int get purchaseOrderId => jsondata['purchase_order'] ?? -1;
|
||||||
|
|
||||||
int get trackingItemCount => (jsondata['tracking_items'] ?? 0) as int;
|
int get trackingItemCount => (jsondata['tracking_items'] ?? 0) as int;
|
||||||
|
|
||||||
// Date of last update
|
// Date of last update
|
||||||
|
@ -127,6 +127,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.3"
|
version: "1.0.3"
|
||||||
|
date_field:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: date_field
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.2"
|
||||||
device_info_plus:
|
device_info_plus:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -31,6 +31,7 @@ dependencies:
|
|||||||
sentry_flutter: 5.0.0 # Error reporting
|
sentry_flutter: 5.0.0 # Error reporting
|
||||||
image_picker: ^0.8.3 # Select or take photos
|
image_picker: ^0.8.3 # Select or take photos
|
||||||
file_picker: ^4.0.0 # Select files from the device
|
file_picker: ^4.0.0 # Select files from the device
|
||||||
|
date_field: ^2.1.2 # Date / time picker
|
||||||
url_launcher: 6.0.9 # Open link in system browser
|
url_launcher: 6.0.9 # Open link in system browser
|
||||||
open_file: 3.2.1 # Open local files
|
open_file: 3.2.1 # Open local files
|
||||||
flutter_markdown: ^0.6.2 # Rendering markdown
|
flutter_markdown: ^0.6.2 # Rendering markdown
|
||||||
|
Loading…
x
Reference in New Issue
Block a user