You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
5.1 KiB
Dart
113 lines
5.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:test_sa/extensions/context_extension.dart';
|
|
import 'package:test_sa/extensions/int_extensions.dart';
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
import 'package:test_sa/models/enums/translation_keys.dart';
|
|
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
|
|
import 'package:test_sa/views/widgets/equipment/single_device_picker.dart';
|
|
|
|
import '../../../models/asset/asset.dart';
|
|
|
|
class PickAsset extends StatelessWidget {
|
|
final Function(Asset) onPickAsset;
|
|
final Asset asset;
|
|
|
|
const PickAsset({Key key, this.asset, this.onPickAsset}) : super(key: key);
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Column(
|
|
children: [
|
|
AppTextFormField(
|
|
enable: false,
|
|
labelText: TranslationKeys.submitRequest,
|
|
initialValue: context.translate(TranslationKeys.site),
|
|
suffixIcon: "qr".toSvgAsset(height: 24, fit: BoxFit.fitHeight).paddingOnly(end: 16),
|
|
).onPress(() async {
|
|
Asset device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Asset;
|
|
onPickAsset(device);
|
|
}),
|
|
if (asset != null) 8.height,
|
|
if (asset != null)
|
|
Card(
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
children: [
|
|
context.translate(TranslationKeys.myAssets).heading5(context),
|
|
8.height,
|
|
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
|
|
"${context.translate(TranslationKeys.myAssets)}: ${asset.id}".bodyText(context),
|
|
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
|
|
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
|
|
const Divider().defaultStyle(context),
|
|
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
|
|
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
|
|
],
|
|
).paddingAll(16),
|
|
),
|
|
],
|
|
);
|
|
// return ElevatedButton(
|
|
// style: ElevatedButton.styleFrom(
|
|
// elevation: 0,
|
|
// padding: EdgeInsets.symmetric(horizontal: 16, vertical: device == null ? 12 : 8),
|
|
// shape: RoundedRectangleBorder(
|
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
|
// ),
|
|
// foregroundColor: AColors.primaryColor,
|
|
// backgroundColor: AColors.inputFieldBackgroundColor,
|
|
// ),
|
|
// child: Row(
|
|
// children: [
|
|
// Expanded(
|
|
// child: ListTile(
|
|
// contentPadding: const EdgeInsets.all(0),
|
|
// title: Text(
|
|
// "${"context"} : ${device.serialNumber}",
|
|
// style: Theme.of(context).textTheme.subtitle1,
|
|
// ),
|
|
// subtitle: Column(
|
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
// children: [
|
|
// Divider(
|
|
// color: Theme.of(context).textTheme.subtitle1.color,
|
|
// ),
|
|
// Text(
|
|
// "${_subtitle.assetNumber} : ${device.number}",
|
|
// style: Theme.of(context).textTheme.subtitle2,
|
|
// ),
|
|
// Divider(
|
|
// color: Theme.of(context).textTheme.subtitle1.color,
|
|
// ),
|
|
// Text(
|
|
// "${_subtitle.assetName} : ${device.modelDefinition.assetName}",
|
|
// style: Theme.of(context).textTheme.subtitle2,
|
|
// ),
|
|
// Divider(
|
|
// color: Theme.of(context).textTheme.subtitle1.color,
|
|
// ),
|
|
// Text(
|
|
// "${_subtitle.brand} : ${device.modelDefinition.manufacturerName}",
|
|
// style: Theme.of(context).textTheme.subtitle2,
|
|
// ),
|
|
// Divider(
|
|
// color: Theme.of(context).textTheme.subtitle1.color,
|
|
// ),
|
|
// Text(
|
|
// "${_subtitle.model} : ${device.modelDefinition.modelName}",
|
|
// style: Theme.of(context).textTheme.subtitle2,
|
|
// ),
|
|
// ],
|
|
// ),
|
|
// )),
|
|
// const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A),
|
|
// ],
|
|
// ),
|
|
// onPressed: () async {
|
|
// Device _device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Device;
|
|
// onDevicePick(_device);
|
|
// });
|
|
}
|
|
}
|