2024-02-28 12:01:25 +01:00

69 lines
2.0 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:manager_api_new/api.dart';
import 'dart:convert';
import 'package:manager_app/constants.dart';
class AgendaConfig extends StatefulWidget {
final String? color;
final String? label;
final String initialValue;
final ValueChanged<String> onChanged;
const AgendaConfig({
Key? key,
this.color,
this.label,
required this.initialValue,
required this.onChanged,
}) : super(key: key);
@override
_AgendaConfigState createState() => _AgendaConfigState();
}
class _AgendaConfigState extends State<AgendaConfig> {
late AgendaDTO agendaDTO;
@override
void initState() {
AgendaDTO test = AgendaDTO.fromJson(json.decode(widget.initialValue))!;
agendaDTO = test;
super.initState();
}
@override
Widget build(BuildContext context) {
return MultiStringInputContainer(
label: "Fichiers json :",
resourceTypes: [ResourceType.Json, ResourceType.JsonUrl],
modalLabel: "JSON",
color: kPrimaryColor,
initialValue: agendaDTO.resourceIds!,
isTitle: false,
onGetResult: (value) {
setState(() {
if (agendaDTO.resourceIds != value) {
agendaDTO.resourceIds = value;
//save(true, articleDTO, appContext);
widget.onChanged(jsonEncode(agendaDTO).toString());
}
});
},
maxLines: 1,
);
/*return ResourceInputContainer(
label: "Fichier JSON :",
initialValue: agendaDTO.resourceId == null ? '': agendaDTO.resourceId,
inResourceTypes: [ResourceType.Json, ResourceType.JsonUrl],
onChanged: (ResourceDTO resourceDTO) {
agendaDTO.resourceUrl = resourceDTO.url;
agendaDTO.resourceId = resourceDTO.id;
widget.onChanged(jsonEncode(agendaDTO).toString());
}
);*/
}
}