marco.pms.mobile/lib/controller/apps/ecommerce/add_product_controller.dart
2025-04-02 19:11:36 +05:30

87 lines
1.7 KiB
Dart

import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:maxdash/controller/my_controller.dart';
import 'package:maxdash/helpers/widgets/my_form_validator.dart';
enum Status {
online,
offline,
draft;
const Status();
}
enum Category {
fashion,
grocery,
vegetables,
fruits,
electronics,
kids;
const Category();
}
class AddProductController extends MyController {
List<PlatformFile> files = [];
MyFormValidator basicValidator = MyFormValidator();
Status selectedGender = Status.online;
@override
void onInit() {
super.onInit();
basicValidator.addField(
'name',
label: "Product Name",
required: true,
controller: TextEditingController(),
);
basicValidator.addField(
'shop_name',
label: "shop_name",
required: true,
controller: TextEditingController(),
);
basicValidator.addField(
'description',
label: "description",
required: true,
controller: TextEditingController(),
);
basicValidator.addField(
'tags',
label: "Tags",
required: true,
controller: TextEditingController(),
);
}
bool showOnline = true;
void setOnlineType(bool value) {
showOnline = value;
update();
}
final List<String> categories = [];
void onChangeGender(Status? value) {
selectedGender = value ?? selectedGender;
update();
}
Future<void> pickFile() async {
var result = await FilePicker.platform.pickFiles();
if (result?.files[0] != null) {
files.add(result!.files[0]);
}
update();
}
void removeFile(PlatformFile file) {
files.remove(file);
update();
}
}