import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:inventree/inventree/stock.dart'; import 'package:inventree/widget/refreshable_state.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:inventree/l10.dart'; import '../api.dart'; import '../api_form.dart'; class StockNotesWidget extends StatefulWidget { final InvenTreeStockItem item; StockNotesWidget(this.item, {Key? key}) : super(key: key); @override _StockNotesState createState() => _StockNotesState(item); } class _StockNotesState extends RefreshableState { final InvenTreeStockItem item; _StockNotesState(this.item); @override String getAppBarTitle(BuildContext context) => L10().stockItemNotes; @override Future request() async { await item.reload(); } @override List getAppBarActions(BuildContext context) { List actions = []; if (InvenTreeAPI().checkPermission('stock', 'change')) { actions.add( IconButton( icon: FaIcon(FontAwesomeIcons.edit), tooltip: L10().edit, onPressed: () { launchApiForm( context, L10().editNotes, item.url, { "notes": { "multiline": true, } }, modelData: item.jsondata, onSuccess: (data) async { refresh(); } ); } ) ); } return actions; } @override Widget getBody(BuildContext context) { return Markdown( selectable: false, data: item.notes, ); } }