Fix translation and ressource not update + PDF fileS + Agenda map provider + Map handling mapBox
This commit is contained in:
parent
5fc16ffd0c
commit
15a11b9eb7
147
lib/Components/pdf_file_input_container.dart
Normal file
147
lib/Components/pdf_file_input_container.dart
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
import 'package:auto_size_text/auto_size_text.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:manager_app/Components/rounded_button.dart';
|
||||||
|
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/category_list.dart';
|
||||||
|
import 'package:manager_app/Screens/Configurations/Section/SubSection/PDF/pdf_list.dart';
|
||||||
|
import 'package:manager_app/constants.dart';
|
||||||
|
|
||||||
|
class PDFFileInputContainer extends StatefulWidget {
|
||||||
|
final Color color;
|
||||||
|
final String label;
|
||||||
|
List<PDFFileDTO> initialValue;
|
||||||
|
final ValueChanged<List<PDFFileDTO>> onChanged;
|
||||||
|
PDFFileInputContainer({
|
||||||
|
Key? key,
|
||||||
|
this.color = kSecond,
|
||||||
|
required this.label,
|
||||||
|
required this.initialValue,
|
||||||
|
required this.onChanged,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
_PDFFileInputContainerState createState() => _PDFFileInputContainerState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _PDFFileInputContainerState extends State<PDFFileInputContainer> {
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Align(
|
||||||
|
alignment: AlignmentDirectional.centerStart,
|
||||||
|
child: Text(widget.label, style: TextStyle(fontSize: 25, fontWeight: FontWeight.w300))
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Container(
|
||||||
|
width: size.width *0.15,
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () {
|
||||||
|
List<PDFFileDTO> newValues = <PDFFileDTO>[];
|
||||||
|
List<PDFFileDTO> initials = widget.initialValue;
|
||||||
|
showCreateOrUpdatePdfFiles("Fichiers PDF", initials, newValues, (value) {
|
||||||
|
widget.onChanged(value);
|
||||||
|
widget.initialValue = value;
|
||||||
|
}, context);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: kPrimaryColor,
|
||||||
|
borderRadius: BorderRadius.circular(50),
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.only(left: 5, right: 5, top: 15, bottom: 15),
|
||||||
|
child: Center(
|
||||||
|
child: AutoSizeText(
|
||||||
|
"Changer",
|
||||||
|
style: TextStyle(color: kWhite),
|
||||||
|
maxLines: 2,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
showCreateOrUpdatePdfFiles(String modalLabel, List<PDFFileDTO> values, List<PDFFileDTO> newValues, Function onGetResult, BuildContext context) {
|
||||||
|
showDialog(
|
||||||
|
builder: (BuildContext context) {
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
return AlertDialog(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.all(Radius.circular(20.0))
|
||||||
|
),
|
||||||
|
title: Center(child: Text(modalLabel)),
|
||||||
|
content: SingleChildScrollView(
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.circular(20),
|
||||||
|
border: Border.all(width: 0.75, color: kSecond)
|
||||||
|
),
|
||||||
|
height: size.height * 0.7,
|
||||||
|
width: size.width * 0.65,
|
||||||
|
child: PDFList(pdfs: values, onChanged: (result) {
|
||||||
|
newValues = result;
|
||||||
|
onGetResult(result);
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
actions: <Widget>[
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: 180,
|
||||||
|
height: 70,
|
||||||
|
child: RoundedButton(
|
||||||
|
text: "Annuler",
|
||||||
|
icon: Icons.undo,
|
||||||
|
color: kSecond,
|
||||||
|
press: () {
|
||||||
|
onGetResult(values);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
fontSize: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
width: 180,
|
||||||
|
height: 70,
|
||||||
|
child: RoundedButton(
|
||||||
|
text: "Valider",
|
||||||
|
icon: Icons.check,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
textColor: kWhite,
|
||||||
|
press: () {
|
||||||
|
/*Function deepEq = const DeepCollectionEquality().equals;
|
||||||
|
if (!deepEq(values, newValues)) {
|
||||||
|
onGetResult(newValues);
|
||||||
|
}*/
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
fontSize: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}, context: context
|
||||||
|
);
|
||||||
|
}
|
||||||
89
lib/Components/single_select_container.dart
Normal file
89
lib/Components/single_select_container.dart
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
import 'package:auto_size_text/auto_size_text.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:manager_app/constants.dart';
|
||||||
|
|
||||||
|
class SingleSelectContainer extends StatefulWidget {
|
||||||
|
final Color? color;
|
||||||
|
final String label;
|
||||||
|
final String? initialValue;
|
||||||
|
final List<String> inputValues;
|
||||||
|
final ValueChanged<String>? onChanged;
|
||||||
|
final double fontSize;
|
||||||
|
final double fontSizeText;
|
||||||
|
const SingleSelectContainer({
|
||||||
|
Key? key,
|
||||||
|
this.color = kSecond,
|
||||||
|
required this.label,
|
||||||
|
this.initialValue = "",
|
||||||
|
required this.inputValues,
|
||||||
|
this.onChanged,
|
||||||
|
this.fontSize = 25,
|
||||||
|
this.fontSizeText = 20,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
_SingleSelectContainerState createState() => _SingleSelectContainerState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SingleSelectContainerState extends State<SingleSelectContainer> {
|
||||||
|
String? selectedValue;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
selectedValue = widget.initialValue;
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Align(
|
||||||
|
alignment: AlignmentDirectional.centerStart,
|
||||||
|
child: AutoSizeText(
|
||||||
|
widget.label,
|
||||||
|
style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300),
|
||||||
|
maxLines: 2,
|
||||||
|
maxFontSize: widget.fontSize,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Container(
|
||||||
|
width: size.width *0.15,
|
||||||
|
constraints: BoxConstraints(maxWidth: 175),
|
||||||
|
child: DropdownButton<String>(
|
||||||
|
value: selectedValue,
|
||||||
|
icon: const Icon(Icons.arrow_downward),
|
||||||
|
iconSize: 24,
|
||||||
|
elevation: 16,
|
||||||
|
style: TextStyle(color: widget.color!),
|
||||||
|
underline: Container(
|
||||||
|
height: 2,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
),
|
||||||
|
onChanged: (String? newValue) {
|
||||||
|
setState(() {
|
||||||
|
selectedValue = newValue!;
|
||||||
|
widget.onChanged!(selectedValue!);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
items: widget.inputValues.map<DropdownMenuItem<String>>((String value) {
|
||||||
|
return DropdownMenuItem<String>(
|
||||||
|
value: value,
|
||||||
|
child: Text(value, style: TextStyle(fontSize: 20, fontWeight: FontWeight.w400, color: widget.color)),
|
||||||
|
);
|
||||||
|
}).toList(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -37,12 +37,12 @@ class _TranslationInputAndResourceContainerState extends State<TranslationInputA
|
|||||||
controllerQuill.onTextChanged((p0) async {
|
controllerQuill.onTextChanged((p0) async {
|
||||||
var plainText = await controllerQuill.getPlainText();
|
var plainText = await controllerQuill.getPlainText();
|
||||||
if(widget.isTitle) {
|
if(widget.isTitle) {
|
||||||
if(plainText.length > 110) {
|
if(plainText.length > kTitleMaxLength) {
|
||||||
print("to much text au dessus");
|
print("to much text au dessus");
|
||||||
controllerQuill.undo();
|
controllerQuill.undo();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(plainText.length > 2500) {
|
if(plainText.length > kDescriptionMaxLength) {
|
||||||
print("to much text description au dessus");
|
print("to much text description au dessus");
|
||||||
controllerQuill.undo();
|
controllerQuill.undo();
|
||||||
}
|
}
|
||||||
@ -53,12 +53,12 @@ class _TranslationInputAndResourceContainerState extends State<TranslationInputA
|
|||||||
if (!_tabController!.indexIsChanging) {
|
if (!_tabController!.indexIsChanging) {
|
||||||
setState(() {
|
setState(() {
|
||||||
currentLanguage!.value = widget.newValues[_tabController!.index].language;
|
currentLanguage!.value = widget.newValues[_tabController!.index].language;
|
||||||
if(widget.resourceTypes == null) {
|
//if(widget.resourceTypes == null) {
|
||||||
print("insert try without ress");
|
print("insert try without ress");
|
||||||
print(widget.newValues[_tabController!.index].value!);
|
print(widget.newValues[_tabController!.index].value!);
|
||||||
controllerQuill.clear();
|
controllerQuill.clear();
|
||||||
controllerQuill.insertText(widget.newValues[_tabController!.index].value!);
|
controllerQuill.insertText(widget.newValues[_tabController!.index].value!);
|
||||||
}
|
//}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -126,7 +126,7 @@ class _TranslationInputAndResourceContainerState extends State<TranslationInputA
|
|||||||
child: Container(
|
child: Container(
|
||||||
width: MediaQuery.of(context).size.width *0.7,
|
width: MediaQuery.of(context).size.width *0.7,
|
||||||
//color: Colors.blueAccent,
|
//color: Colors.blueAccent,
|
||||||
height: widget.isTitle ? MediaQuery.of(context).size.height *0.32 : MediaQuery.of(context).size.height *0.37,
|
height: widget.isTitle ? MediaQuery.of(context).size.height *0.34 : MediaQuery.of(context).size.height *0.37,
|
||||||
child: resourceTypes != null ?
|
child: resourceTypes != null ?
|
||||||
Column(
|
Column(
|
||||||
children: [
|
children: [
|
||||||
@ -178,7 +178,7 @@ class _TranslationInputAndResourceContainerState extends State<TranslationInputA
|
|||||||
label: "Ressource à afficher :",
|
label: "Ressource à afficher :",
|
||||||
initialValue: newValues.where((element) => element.language! == value).first.resourceId,
|
initialValue: newValues.where((element) => element.language! == value).first.resourceId,
|
||||||
color: kPrimaryColor,
|
color: kPrimaryColor,
|
||||||
inResourceTypes: [ResourceType.Image, ResourceType.ImageUrl, ResourceType.Video, ResourceType.VideoUrl, ResourceType.Audio],
|
inResourceTypes: resourceTypes,
|
||||||
isLanguageTab: true,
|
isLanguageTab: true,
|
||||||
onChanged: (ResourceDTO resource) {
|
onChanged: (ResourceDTO resource) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
|||||||
@ -36,12 +36,12 @@ class _TranslationInputContainerState extends State<TranslationInputContainer> w
|
|||||||
controllerQuill.onTextChanged((p0) async {
|
controllerQuill.onTextChanged((p0) async {
|
||||||
var plainText = await controllerQuill.getPlainText();
|
var plainText = await controllerQuill.getPlainText();
|
||||||
if(widget.isTitle) {
|
if(widget.isTitle) {
|
||||||
if(plainText.length > 110) {
|
if(plainText.length > kTitleMaxLength) {
|
||||||
print("to much text au dessus");
|
print("to much text au dessus");
|
||||||
controllerQuill.undo();
|
controllerQuill.undo();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(plainText.length > 2500) {
|
if(plainText.length > kDescriptionMaxLength) {
|
||||||
print("to much text description au dessus");
|
print("to much text description au dessus");
|
||||||
controllerQuill.undo();
|
controllerQuill.undo();
|
||||||
}
|
}
|
||||||
@ -223,16 +223,6 @@ class _TranslationInputContainerState extends State<TranslationInputContainer> w
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
getTranslation(context, Provider.of<AppContext>(context), controllerQuill, customToolBarList, widget.isTitle, widget.resourceTypes, widget.newValues, currentLanguage!)
|
getTranslation(context, Provider.of<AppContext>(context), controllerQuill, customToolBarList, widget.isTitle, widget.resourceTypes, widget.newValues, currentLanguage!)
|
||||||
/*TabContainer(
|
|
||||||
radius: 0,
|
|
||||||
tabs: values.map((v) => v.language!.toUpperCase()).toList(),
|
|
||||||
children: getTranslations(context, Provider.of<AppContext>(context), controllerQuill, customToolBarList, label, isTitle, isAudio, newValues),
|
|
||||||
|
|
||||||
/*child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
|
||||||
children: getTranslations(context, Provider.of<AppContext>(context), controllerQuill, label, isTitle, isAudio, newValues),
|
|
||||||
),*/
|
|
||||||
),*/
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:manager_app/Components/multi_string_input_container.dart';
|
import 'package:manager_app/Components/multi_string_input_container.dart';
|
||||||
import 'package:manager_app/Components/resource_input_container.dart';
|
import 'package:manager_app/Components/resource_input_container.dart';
|
||||||
import 'package:manager_api_new/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:manager_app/Components/single_select_container.dart';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:manager_app/constants.dart';
|
import 'package:manager_app/constants.dart';
|
||||||
@ -36,23 +37,68 @@ class _AgendaConfigState extends State<AgendaConfig> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return MultiStringInputContainer(
|
Size size = MediaQuery.of(context).size;
|
||||||
label: "Fichiers json :",
|
|
||||||
resourceTypes: [ResourceType.Json, ResourceType.JsonUrl],
|
var mapProviderIn = "";
|
||||||
modalLabel: "JSON",
|
switch(agendaDTO.mapProvider) {
|
||||||
color: kPrimaryColor,
|
case MapProvider.Google :
|
||||||
initialValue: agendaDTO.resourceIds!,
|
mapProviderIn = "Google";
|
||||||
isTitle: false,
|
break;
|
||||||
onGetResult: (value) {
|
case MapProvider.MapBox :
|
||||||
setState(() {
|
mapProviderIn = "MapBox";
|
||||||
if (agendaDTO.resourceIds != value) {
|
break;
|
||||||
agendaDTO.resourceIds = value;
|
default:
|
||||||
//save(true, articleDTO, appContext);
|
mapProviderIn = "Google";
|
||||||
widget.onChanged(jsonEncode(agendaDTO).toString());
|
break;
|
||||||
}
|
}
|
||||||
});
|
|
||||||
},
|
return SingleChildScrollView(
|
||||||
maxLines: 1,
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Container(
|
||||||
|
height: size.height * 0.3,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
SingleSelectContainer(
|
||||||
|
label: "Service carte :",
|
||||||
|
color: Colors.black,
|
||||||
|
initialValue: mapProviderIn,
|
||||||
|
inputValues: map_providers,
|
||||||
|
onChanged: (String value) {
|
||||||
|
switch(value) {
|
||||||
|
case "Google":
|
||||||
|
agendaDTO.mapProvider = MapProvider.Google;
|
||||||
|
break;
|
||||||
|
case "MapBox":
|
||||||
|
agendaDTO.mapProvider = MapProvider.MapBox;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
widget.onChanged(jsonEncode(agendaDTO).toString());
|
||||||
|
}
|
||||||
|
),
|
||||||
|
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(
|
/*return ResourceInputContainer(
|
||||||
label: "Fichier JSON :",
|
label: "Fichier JSON :",
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import 'package:manager_app/Components/category_input_container.dart';
|
|||||||
import 'package:manager_app/Components/fetch_section_icon.dart';
|
import 'package:manager_app/Components/fetch_section_icon.dart';
|
||||||
import 'package:manager_app/Components/resource_input_container.dart';
|
import 'package:manager_app/Components/resource_input_container.dart';
|
||||||
import 'package:manager_app/Components/multi_select_container.dart';
|
import 'package:manager_app/Components/multi_select_container.dart';
|
||||||
|
import 'package:manager_app/Components/single_select_container.dart';
|
||||||
import 'package:manager_app/Components/slider_input_container.dart';
|
import 'package:manager_app/Components/slider_input_container.dart';
|
||||||
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/showNewOrUpdateGeoPoint.dart';
|
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/showNewOrUpdateGeoPoint.dart';
|
||||||
import 'package:manager_app/app_context.dart';
|
import 'package:manager_app/app_context.dart';
|
||||||
@ -34,6 +35,7 @@ class _MapConfigState extends State<MapConfig> {
|
|||||||
late MapDTO mapDTO;
|
late MapDTO mapDTO;
|
||||||
|
|
||||||
String mapType= "hybrid";
|
String mapType= "hybrid";
|
||||||
|
String mapTypeMapBox= "standard";
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
@ -62,6 +64,32 @@ class _MapConfigState extends State<MapConfig> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(mapDTO.mapTypeMapbox != null) {
|
||||||
|
switch(mapDTO.mapTypeMapbox!.value) {
|
||||||
|
case 0:
|
||||||
|
mapTypeMapBox = "standard";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
mapTypeMapBox = "streets";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
mapTypeMapBox = "outdoors";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
mapTypeMapBox = "light";
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
mapTypeMapBox = "dark";
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
mapTypeMapBox = "satellite";
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
mapTypeMapBox = "satellite_streets";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*print("MAPDTO");
|
/*print("MAPDTO");
|
||||||
print(mapDTO);
|
print(mapDTO);
|
||||||
print(mapDTO.mapType.toString());
|
print(mapDTO.mapType.toString());
|
||||||
@ -75,74 +103,127 @@ class _MapConfigState extends State<MapConfig> {
|
|||||||
final appContext = Provider.of<AppContext>(context);
|
final appContext = Provider.of<AppContext>(context);
|
||||||
Size size = MediaQuery.of(context).size;
|
Size size = MediaQuery.of(context).size;
|
||||||
|
|
||||||
|
var mapProviderIn = "";
|
||||||
|
switch(mapDTO.mapProvider) {
|
||||||
|
case MapProvider.Google :
|
||||||
|
mapProviderIn = "Google";
|
||||||
|
break;
|
||||||
|
case MapProvider.MapBox :
|
||||||
|
mapProviderIn = "MapBox";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
mapProviderIn = "Google";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
SingleChildScrollView(
|
SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
height: size.height * 0.15,
|
height: size.height * 0.3,
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
child: Row(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
|
||||||
children: [
|
children: [
|
||||||
// Icon
|
Row(
|
||||||
ResourceInputContainer(
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
label: "Icône:",
|
children: [
|
||||||
initialValue: mapDTO.iconResourceId,
|
SingleSelectContainer(
|
||||||
color: kPrimaryColor,
|
label: "Service :",
|
||||||
imageFit: BoxFit.contain,
|
color: Colors.black,
|
||||||
onChanged: (ResourceDTO resource) {
|
initialValue: mapProviderIn,
|
||||||
if(resource.id == null) {
|
inputValues: map_providers,
|
||||||
mapDTO.iconSource = null;
|
onChanged: (String value) {
|
||||||
mapDTO.iconResourceId = null;
|
switch(value) {
|
||||||
} else {
|
case "Google":
|
||||||
mapDTO.iconResourceId = resource.id;
|
mapDTO.mapProvider = MapProvider.Google;
|
||||||
mapDTO.iconSource = resource.url;
|
break;
|
||||||
}
|
case "MapBox":
|
||||||
widget.onChanged(jsonEncode(mapDTO).toString());
|
mapDTO.mapProvider = MapProvider.MapBox;
|
||||||
},
|
break;
|
||||||
isSmall: true
|
}
|
||||||
),
|
|
||||||
// Map Type
|
|
||||||
MultiSelectContainer(
|
|
||||||
label: "Type:",
|
|
||||||
initialValue: [mapType], //mapDTO.mapType.toString()
|
|
||||||
isMultiple: false,
|
|
||||||
values: map_types,
|
|
||||||
onChanged: (value) {
|
|
||||||
var tempOutput = new List<String>.from(value);
|
|
||||||
print("Type MAP");
|
|
||||||
print(value);
|
|
||||||
mapDTO.mapType = MapTypeApp.fromJson(tempOutput[0]);
|
|
||||||
widget.onChanged(jsonEncode(mapDTO).toString());
|
|
||||||
},
|
|
||||||
),
|
|
||||||
// Zoom
|
|
||||||
SliderInputContainer(
|
|
||||||
label: "Zoom:",
|
|
||||||
initialValue: mapDTO.zoom != null ? mapDTO.zoom!.toDouble() : 18,
|
|
||||||
color: kPrimaryColor,
|
|
||||||
min: 0,
|
|
||||||
max: 30,
|
|
||||||
onChanged: (double value) {
|
|
||||||
mapDTO.zoom = value.toInt();
|
|
||||||
widget.onChanged(jsonEncode(mapDTO).toString());
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
height: 70,
|
|
||||||
child: CategoryInputContainer(
|
|
||||||
label: "Catégories :",
|
|
||||||
initialValue: mapDTO.categories != null ? mapDTO.categories! : [],
|
|
||||||
color: kPrimaryColor,
|
|
||||||
onChanged: (List<CategorieDTO>? value) {
|
|
||||||
if(value != null) {
|
|
||||||
mapDTO.categories = value;
|
|
||||||
widget.onChanged(jsonEncode(mapDTO).toString());
|
widget.onChanged(jsonEncode(mapDTO).toString());
|
||||||
}
|
}
|
||||||
},
|
),
|
||||||
),
|
// Icon
|
||||||
)
|
ResourceInputContainer(
|
||||||
|
label: "Icône:",
|
||||||
|
initialValue: mapDTO.iconResourceId,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
imageFit: BoxFit.contain,
|
||||||
|
onChanged: (ResourceDTO resource) {
|
||||||
|
if(resource.id == null) {
|
||||||
|
mapDTO.iconSource = null;
|
||||||
|
mapDTO.iconResourceId = null;
|
||||||
|
} else {
|
||||||
|
mapDTO.iconResourceId = resource.id;
|
||||||
|
mapDTO.iconSource = resource.url;
|
||||||
|
}
|
||||||
|
widget.onChanged(jsonEncode(mapDTO).toString());
|
||||||
|
},
|
||||||
|
isSmall: true
|
||||||
|
),
|
||||||
|
]
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
if(mapDTO.mapProvider == MapProvider.Google)
|
||||||
|
// Map Type
|
||||||
|
MultiSelectContainer(
|
||||||
|
label: "Type:",
|
||||||
|
initialValue: [mapType], //mapDTO.mapType.toString()
|
||||||
|
isMultiple: false,
|
||||||
|
values: map_types,
|
||||||
|
onChanged: (value) {
|
||||||
|
var tempOutput = new List<String>.from(value);
|
||||||
|
print("Type MAP");
|
||||||
|
print(value);
|
||||||
|
mapDTO.mapType = MapTypeApp.fromJson(tempOutput[0]);
|
||||||
|
widget.onChanged(jsonEncode(mapDTO).toString());
|
||||||
|
},
|
||||||
|
),
|
||||||
|
if(mapDTO.mapProvider == MapProvider.MapBox)
|
||||||
|
MultiSelectContainer(
|
||||||
|
label: "Type:",
|
||||||
|
initialValue: [mapTypeMapBox], //mapDTO.mapType.toString()
|
||||||
|
isMultiple: false,
|
||||||
|
values: map_types_mapBox,
|
||||||
|
onChanged: (value) {
|
||||||
|
var tempOutput = new List<String>.from(value);
|
||||||
|
print(value);
|
||||||
|
mapDTO.mapTypeMapbox = MapTypeMapBox.fromJson(tempOutput[0]);
|
||||||
|
widget.onChanged(jsonEncode(mapDTO).toString());
|
||||||
|
},
|
||||||
|
),
|
||||||
|
// Zoom
|
||||||
|
SliderInputContainer(
|
||||||
|
label: "Zoom:",
|
||||||
|
initialValue: mapDTO.zoom != null ? mapDTO.zoom!.toDouble() : 18,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
min: 0,
|
||||||
|
max: 30,
|
||||||
|
onChanged: (double value) {
|
||||||
|
mapDTO.zoom = value.toInt();
|
||||||
|
widget.onChanged(jsonEncode(mapDTO).toString());
|
||||||
|
},
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: 70,
|
||||||
|
child: CategoryInputContainer(
|
||||||
|
label: "Catégories :",
|
||||||
|
initialValue: mapDTO.categories != null ? mapDTO.categories! : [],
|
||||||
|
color: kPrimaryColor,
|
||||||
|
onChanged: (List<CategorieDTO>? value) {
|
||||||
|
if(value != null) {
|
||||||
|
mapDTO.categories = value;
|
||||||
|
widget.onChanged(jsonEncode(mapDTO).toString());
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -1,9 +1,12 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:manager_app/Components/pdf_file_input_container.dart';
|
||||||
import 'package:manager_app/Components/resource_input_container.dart';
|
import 'package:manager_app/Components/resource_input_container.dart';
|
||||||
import 'package:manager_api_new/api.dart';
|
import 'package:manager_api_new/api.dart';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:manager_app/constants.dart';
|
||||||
|
|
||||||
class PDFConfig extends StatefulWidget {
|
class PDFConfig extends StatefulWidget {
|
||||||
final String? color;
|
final String? color;
|
||||||
final String? label;
|
final String? label;
|
||||||
@ -34,15 +37,20 @@ class _PDFConfigState extends State<PDFConfig> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Center(
|
return Center(
|
||||||
child: ResourceInputContainer(
|
child: Container(
|
||||||
label: "Fichier PDF :",
|
height: 70,
|
||||||
inResourceTypes: [ResourceType.Pdf],
|
width: 425,
|
||||||
initialValue: pdfDTO.resourceId == null ? '': pdfDTO.resourceId,
|
child: PDFFileInputContainer(
|
||||||
onChanged: (ResourceDTO resourceDTO) {
|
label: "Fichiers PDF :",
|
||||||
pdfDTO.resourceUrl = resourceDTO.url;
|
initialValue: pdfDTO.pdfs != null ? pdfDTO.pdfs! : [],
|
||||||
pdfDTO.resourceId = resourceDTO.id;
|
color: kPrimaryColor,
|
||||||
widget.onChanged(jsonEncode(pdfDTO).toString());
|
onChanged: (List<PDFFileDTO>? value) {
|
||||||
}
|
if(value != null) {
|
||||||
|
pdfDTO.pdfs = value;
|
||||||
|
widget.onChanged(jsonEncode(pdfDTO).toString());
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,155 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:manager_app/Components/multi_string_input_and_resource_container.dart';
|
||||||
|
import 'package:manager_app/Components/resource_input_container.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:manager_app/Components/multi_string_input_container.dart';
|
||||||
|
import 'package:manager_app/Components/rounded_button.dart';
|
||||||
|
import 'package:manager_app/Models/managerContext.dart';
|
||||||
|
import 'package:manager_app/app_context.dart';
|
||||||
|
import 'package:manager_app/constants.dart';
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
|
||||||
|
Future<PDFFileDTO?> showNewOrUpdatePDFFile(PDFFileDTO? inputPdfFile, AppContext appContext, BuildContext context, String text) async {
|
||||||
|
PDFFileDTO pdfFileDTO = new PDFFileDTO();
|
||||||
|
|
||||||
|
if (inputPdfFile != null) {
|
||||||
|
pdfFileDTO = inputPdfFile;
|
||||||
|
} else {
|
||||||
|
pdfFileDTO.pdfFilesAndTitles = <TranslationAndResourceDTO>[];
|
||||||
|
|
||||||
|
ManagerAppContext managerAppContext = appContext.getContext();
|
||||||
|
managerAppContext.selectedConfiguration!.languages!.forEach((element) {
|
||||||
|
var translationMessageDTO = new TranslationAndResourceDTO();
|
||||||
|
translationMessageDTO.language = element;
|
||||||
|
translationMessageDTO.value = "";
|
||||||
|
translationMessageDTO.resourceId = null;
|
||||||
|
|
||||||
|
pdfFileDTO.pdfFilesAndTitles!.add(translationMessageDTO);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
List<TranslationDTO> newValues = <TranslationDTO>[];
|
||||||
|
|
||||||
|
List<TranslationDTO> initials = [];
|
||||||
|
|
||||||
|
languages.forEach((value) {
|
||||||
|
if(initials.map((iv) => iv.language).contains(value)) {
|
||||||
|
newValues.add(TranslationDTO.fromJson(jsonDecode(jsonEncode(initials.firstWhere((element) => element.language == value)))!)!);
|
||||||
|
} else {
|
||||||
|
// New language
|
||||||
|
newValues.add(TranslationDTO(language: value, value: ""));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
var result = await showDialog(
|
||||||
|
builder: (BuildContext dialogContext) => AlertDialog(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.all(Radius.circular(20.0))
|
||||||
|
),
|
||||||
|
content: Container(
|
||||||
|
width: size.width *0.5,
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(text, style: new TextStyle(fontSize: 25, fontWeight: FontWeight.w400)),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: size.height * 0.2,
|
||||||
|
constraints: BoxConstraints(minHeight: 50, maxHeight: 80),
|
||||||
|
child: MultiStringInputAndResourceContainer(
|
||||||
|
label: "Fichier et titre pdf :",
|
||||||
|
modalLabel: "Fichier et titre pdf",
|
||||||
|
fontSize: 20,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
initialValue: pdfFileDTO.pdfFilesAndTitles != null ? pdfFileDTO.pdfFilesAndTitles! : [],
|
||||||
|
resourceTypes: [ResourceType.Pdf],
|
||||||
|
onGetResult: (value) {
|
||||||
|
if (pdfFileDTO.pdfFilesAndTitles != value) {
|
||||||
|
print("get resut hereeee");
|
||||||
|
print(value);
|
||||||
|
pdfFileDTO.pdfFilesAndTitles = value;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
maxLines: 1,
|
||||||
|
isTitle: true
|
||||||
|
),
|
||||||
|
),
|
||||||
|
/*Container(
|
||||||
|
height: size.height * 0.2,
|
||||||
|
constraints: BoxConstraints(minHeight: 50, maxHeight: 80),
|
||||||
|
child: ResourceInputContainer(
|
||||||
|
label: "Icône catégorie :",
|
||||||
|
initialValue: categorieDTO.iconResourceId,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
onChanged: (ResourceDTO resource) {
|
||||||
|
if(resource.id == null) {
|
||||||
|
categorieDTO.iconResourceId = null;
|
||||||
|
categorieDTO.iconUrl = null;
|
||||||
|
} else {
|
||||||
|
categorieDTO.iconResourceId = resource.id;
|
||||||
|
categorieDTO.iconUrl = resource.url;
|
||||||
|
print("Icône catégorieIcône catégorie");
|
||||||
|
print(categorieDTO);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
isSmall: true
|
||||||
|
),
|
||||||
|
),*/
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
actions: <Widget>[
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: [
|
||||||
|
Align(
|
||||||
|
alignment: AlignmentDirectional.bottomEnd,
|
||||||
|
child: Container(
|
||||||
|
width: 175,
|
||||||
|
height: 70,
|
||||||
|
child: RoundedButton(
|
||||||
|
text: "Annuler",
|
||||||
|
icon: Icons.undo,
|
||||||
|
color: kSecond,
|
||||||
|
press: () {
|
||||||
|
Navigator.pop(dialogContext);
|
||||||
|
},
|
||||||
|
fontSize: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Align(
|
||||||
|
alignment: AlignmentDirectional.bottomEnd,
|
||||||
|
child: Container(
|
||||||
|
width: inputPdfFile != null ? 220: 150,
|
||||||
|
height: 70,
|
||||||
|
child: RoundedButton(
|
||||||
|
text: inputPdfFile != null ? "Sauvegarder" : "Créer",
|
||||||
|
icon: Icons.check,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
textColor: kWhite,
|
||||||
|
press: () {
|
||||||
|
if(pdfFileDTO.pdfFilesAndTitles != null && pdfFileDTO.pdfFilesAndTitles!.isNotEmpty)
|
||||||
|
{
|
||||||
|
Navigator.pop(dialogContext, pdfFileDTO);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fontSize: 20,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
), context: context
|
||||||
|
);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
230
lib/Screens/Configurations/Section/SubSection/PDF/pdf_list.dart
Normal file
230
lib/Screens/Configurations/Section/SubSection/PDF/pdf_list.dart
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
|
||||||
|
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/new_update_categorie.dart';
|
||||||
|
import 'package:manager_app/Screens/Configurations/Section/SubSection/PDF/new_update_pdfFile.dart';
|
||||||
|
import 'package:manager_app/app_context.dart';
|
||||||
|
import 'package:manager_app/constants.dart';
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
class PDFList extends StatefulWidget {
|
||||||
|
final List<PDFFileDTO> pdfs;
|
||||||
|
final ValueChanged<List<PDFFileDTO>> onChanged;
|
||||||
|
const PDFList({
|
||||||
|
Key? key,
|
||||||
|
required this.pdfs,
|
||||||
|
required this.onChanged,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
_PDFListState createState() => _PDFListState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _PDFListState extends State<PDFList> {
|
||||||
|
late List<PDFFileDTO> pdfsMiddle;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
pdfsMiddle = new List<PDFFileDTO>.from(widget.pdfs);
|
||||||
|
pdfsMiddle.sort((a, b) => a.order!.compareTo(b.order!));
|
||||||
|
}
|
||||||
|
|
||||||
|
void _resetOrder() {
|
||||||
|
setState(
|
||||||
|
() {
|
||||||
|
var i = 0;
|
||||||
|
pdfsMiddle.forEach((pdfMiddle) {
|
||||||
|
pdfMiddle.order = i;
|
||||||
|
i++;
|
||||||
|
});
|
||||||
|
widget.onChanged(pdfsMiddle);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _onReorder(int oldIndex, int newIndex) {
|
||||||
|
setState(
|
||||||
|
() {
|
||||||
|
if (newIndex > oldIndex) {
|
||||||
|
newIndex -= 1;
|
||||||
|
}
|
||||||
|
final PDFFileDTO item = pdfsMiddle.removeAt(oldIndex);
|
||||||
|
pdfsMiddle.insert(newIndex, item);
|
||||||
|
|
||||||
|
var i = 0;
|
||||||
|
pdfsMiddle.forEach((category) {
|
||||||
|
category.order = i;
|
||||||
|
i++;
|
||||||
|
});
|
||||||
|
widget.onChanged(pdfsMiddle);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final appContext = Provider.of<AppContext>(context);
|
||||||
|
Size size = MediaQuery.of(context).size;
|
||||||
|
|
||||||
|
return Stack(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(left: 15.0, right: 15.0, bottom: 15.0, top: 32.5),
|
||||||
|
child: ReorderableListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
padding: const EdgeInsets.only(right: 125),
|
||||||
|
itemBuilder: (BuildContext context, int index) {
|
||||||
|
return Container(
|
||||||
|
key: ValueKey(index),
|
||||||
|
decoration: boxDecoration(),
|
||||||
|
padding: const EdgeInsets.all(2),
|
||||||
|
margin: EdgeInsets.symmetric(vertical: 3, horizontal: 3),
|
||||||
|
child: getElement(index, pdfsMiddle[index], size, appContext),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: pdfsMiddle.length,
|
||||||
|
onReorder: _onReorder
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned(
|
||||||
|
top: 10,
|
||||||
|
right: 10,
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () async {
|
||||||
|
PDFFileDTO newPdfFile = PDFFileDTO(order: null);
|
||||||
|
|
||||||
|
var result = await showNewOrUpdatePDFFile(newPdfFile, appContext, context, "Création PDF");
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
setState(() {
|
||||||
|
result.order = pdfsMiddle.length;
|
||||||
|
pdfsMiddle.add(result);
|
||||||
|
widget.onChanged(pdfsMiddle);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
height: MediaQuery.of(context).size.width * 0.04,
|
||||||
|
width: MediaQuery.of(context).size.width * 0.04,
|
||||||
|
child: Icon(
|
||||||
|
Icons.add,
|
||||||
|
color: kTextLightColor,
|
||||||
|
size: 30.0,
|
||||||
|
),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: kSuccess,
|
||||||
|
shape: BoxShape.rectangle,
|
||||||
|
borderRadius: BorderRadius.circular(20.0),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: kSecond,
|
||||||
|
spreadRadius: 0.5,
|
||||||
|
blurRadius: 5,
|
||||||
|
offset: Offset(0, 1.5), // changes position of shadow
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
getElement(int index, PDFFileDTO pdfFileDTO, Size size, AppContext appContext) {
|
||||||
|
return Stack(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: size.width *0.8,
|
||||||
|
height: 50,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Center(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(2.0),
|
||||||
|
child: HtmlWidget(
|
||||||
|
pdfFileDTO.pdfFilesAndTitles == null ? "" : pdfFileDTO.pdfFilesAndTitles![0].value!,
|
||||||
|
//textAlign: TextAlign.left,
|
||||||
|
textStyle: TextStyle(fontSize: 15)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned(
|
||||||
|
right: 35,
|
||||||
|
bottom: 3,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Tooltip(
|
||||||
|
message: "Modifier",
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () async {
|
||||||
|
var result = await showNewOrUpdatePDFFile(pdfFileDTO, appContext, context, "Modification pdf");
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
setState(() {
|
||||||
|
print("RESUUULT MODIFYY ");
|
||||||
|
pdfFileDTO = result;
|
||||||
|
pdfsMiddle[pdfFileDTO.order!] = pdfFileDTO;
|
||||||
|
widget.onChanged(pdfsMiddle);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.edit,
|
||||||
|
color: kPrimaryColor,
|
||||||
|
size: 25.0,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Tooltip(
|
||||||
|
message: "Supprimer",
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
pdfsMiddle.removeAt(pdfFileDTO.order!);
|
||||||
|
_resetOrder();
|
||||||
|
widget.onChanged(pdfsMiddle);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.delete,
|
||||||
|
color: kError,
|
||||||
|
size: 25.0,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
boxDecoration() {
|
||||||
|
return BoxDecoration(
|
||||||
|
color: kBackgroundColor,
|
||||||
|
shape: BoxShape.rectangle,
|
||||||
|
border: Border.all(width: 1.5, color: kSecond),
|
||||||
|
borderRadius: BorderRadius.circular(10.0),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: kSecond,
|
||||||
|
spreadRadius: 0.5,
|
||||||
|
blurRadius: 5,
|
||||||
|
offset: Offset(0, 1.5), // changes position of shadow
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -454,7 +454,7 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
|
|||||||
initialValue: sectionDTO.data!,
|
initialValue: sectionDTO.data!,
|
||||||
onChanged: (String data) {
|
onChanged: (String data) {
|
||||||
sectionDTO.data = data;
|
sectionDTO.data = data;
|
||||||
save(false, sectionDTO, appContext);
|
//save(false, sectionDTO, appContext);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
case SectionType.Puzzle:
|
case SectionType.Puzzle:
|
||||||
|
|||||||
@ -2099,7 +2099,17 @@ components:
|
|||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
mapType:
|
mapType:
|
||||||
$ref: '#/components/schemas/MapTypeApp'
|
nullable: true
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/MapTypeApp'
|
||||||
|
mapTypeMapbox:
|
||||||
|
nullable: true
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/MapTypeMapBox'
|
||||||
|
mapProvider:
|
||||||
|
nullable: true
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/MapProvider'
|
||||||
points:
|
points:
|
||||||
type: array
|
type: array
|
||||||
nullable: true
|
nullable: true
|
||||||
@ -2136,6 +2146,43 @@ components:
|
|||||||
- 2
|
- 2
|
||||||
- 3
|
- 3
|
||||||
- 4
|
- 4
|
||||||
|
MapTypeMapBox:
|
||||||
|
type: integer
|
||||||
|
description: |-
|
||||||
|
0 = standard
|
||||||
|
1 = streets
|
||||||
|
2 = outdoors
|
||||||
|
3 = light
|
||||||
|
4 = dark
|
||||||
|
5 = satellite
|
||||||
|
6 = satellite_streets
|
||||||
|
x-enumNames:
|
||||||
|
- standard
|
||||||
|
- streets
|
||||||
|
- outdoors
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- satellite
|
||||||
|
- satellite_streets
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
- 3
|
||||||
|
- 4
|
||||||
|
- 5
|
||||||
|
- 6
|
||||||
|
MapProvider:
|
||||||
|
type: integer
|
||||||
|
description: |-
|
||||||
|
0 = Google
|
||||||
|
1 = MapBox
|
||||||
|
x-enumNames:
|
||||||
|
- Google
|
||||||
|
- MapBox
|
||||||
|
enum:
|
||||||
|
- 0
|
||||||
|
- 1
|
||||||
GeoPointDTO:
|
GeoPointDTO:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
@ -2143,6 +2190,7 @@ components:
|
|||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
|
nullable: true
|
||||||
title:
|
title:
|
||||||
type: array
|
type: array
|
||||||
nullable: true
|
nullable: true
|
||||||
@ -2313,7 +2361,9 @@ components:
|
|||||||
type: string
|
type: string
|
||||||
nullable: true
|
nullable: true
|
||||||
imageBackgroundResourceType:
|
imageBackgroundResourceType:
|
||||||
$ref: '#/components/schemas/ResourceType'
|
nullable: true
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/ResourceType'
|
||||||
imageBackgroundResourceUrl:
|
imageBackgroundResourceUrl:
|
||||||
type: string
|
type: string
|
||||||
nullable: true
|
nullable: true
|
||||||
@ -2390,11 +2440,23 @@ components:
|
|||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
properties:
|
properties:
|
||||||
resourceId:
|
pdfs:
|
||||||
type: string
|
type: array
|
||||||
nullable: true
|
nullable: true
|
||||||
resourceUrl:
|
items:
|
||||||
type: string
|
$ref: '#/components/schemas/PDFFileDTO'
|
||||||
|
PDFFileDTO:
|
||||||
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
|
properties:
|
||||||
|
pdfFilesAndTitles:
|
||||||
|
type: array
|
||||||
|
nullable: true
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/TranslationAndResourceDTO'
|
||||||
|
order:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
nullable: true
|
nullable: true
|
||||||
PuzzleDTO:
|
PuzzleDTO:
|
||||||
type: object
|
type: object
|
||||||
@ -2429,6 +2491,10 @@ components:
|
|||||||
nullable: true
|
nullable: true
|
||||||
items:
|
items:
|
||||||
$ref: '#/components/schemas/TranslationDTO'
|
$ref: '#/components/schemas/TranslationDTO'
|
||||||
|
mapProvider:
|
||||||
|
nullable: true
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/MapProvider'
|
||||||
User:
|
User:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,12 @@ const kSuccess = Color(0xFF8bc34a);
|
|||||||
const List<String> section_types = ["Map", "Slider", "Video", "Web", "Menu", "Quizz", "Article", "PDF", "Puzzle", "Agenda"];
|
const List<String> section_types = ["Map", "Slider", "Video", "Web", "Menu", "Quizz", "Article", "PDF", "Puzzle", "Agenda"];
|
||||||
const List<String> map_types = ["none", "normal", "satellite", "terrain", "hybrid"];
|
const List<String> map_types = ["none", "normal", "satellite", "terrain", "hybrid"];
|
||||||
const List<String> languages = ["FR", "NL", "EN", "DE", "IT", "ES", "CN", "PL", "AR", "UK"];
|
const List<String> languages = ["FR", "NL", "EN", "DE", "IT", "ES", "CN", "PL", "AR", "UK"];
|
||||||
|
const List<String> map_types_mapBox = ["standard", "streets", "outdoors", "light", "dark", "satellite", "satellite_streets"];
|
||||||
|
const List<String> map_providers = ["Google", "MapBox"];
|
||||||
|
|
||||||
|
const kTitleMaxLength = 110;
|
||||||
|
const kDescriptionMaxLength = 2500;
|
||||||
|
|
||||||
List<ResourceTypeModel> resource_types = [
|
List<ResourceTypeModel> resource_types = [
|
||||||
ResourceTypeModel(label: "Image", type: ResourceType.Image),
|
ResourceTypeModel(label: "Image", type: ResourceType.Image),
|
||||||
ResourceTypeModel(label: "Image url", type: ResourceType.ImageUrl),
|
ResourceTypeModel(label: "Image url", type: ResourceType.ImageUrl),
|
||||||
|
|||||||
@ -24,8 +24,14 @@ doc/InstanceDTO.md
|
|||||||
doc/LevelDTO.md
|
doc/LevelDTO.md
|
||||||
doc/LoginDTO.md
|
doc/LoginDTO.md
|
||||||
doc/MapDTO.md
|
doc/MapDTO.md
|
||||||
|
doc/MapDTOMapProvider.md
|
||||||
|
doc/MapDTOMapType.md
|
||||||
|
doc/MapDTOMapTypeMapbox.md
|
||||||
|
doc/MapProvider.md
|
||||||
doc/MapTypeApp.md
|
doc/MapTypeApp.md
|
||||||
|
doc/MapTypeMapBox.md
|
||||||
doc/MenuDTO.md
|
doc/MenuDTO.md
|
||||||
|
doc/PDFFileDTO.md
|
||||||
doc/PdfDTO.md
|
doc/PdfDTO.md
|
||||||
doc/PlayerMessageDTO.md
|
doc/PlayerMessageDTO.md
|
||||||
doc/PuzzleDTO.md
|
doc/PuzzleDTO.md
|
||||||
@ -84,9 +90,15 @@ lib/model/instance_dto.dart
|
|||||||
lib/model/level_dto.dart
|
lib/model/level_dto.dart
|
||||||
lib/model/login_dto.dart
|
lib/model/login_dto.dart
|
||||||
lib/model/map_dto.dart
|
lib/model/map_dto.dart
|
||||||
|
lib/model/map_dto_map_provider.dart
|
||||||
|
lib/model/map_dto_map_type.dart
|
||||||
|
lib/model/map_dto_map_type_mapbox.dart
|
||||||
|
lib/model/map_provider.dart
|
||||||
lib/model/map_type_app.dart
|
lib/model/map_type_app.dart
|
||||||
|
lib/model/map_type_map_box.dart
|
||||||
lib/model/menu_dto.dart
|
lib/model/menu_dto.dart
|
||||||
lib/model/pdf_dto.dart
|
lib/model/pdf_dto.dart
|
||||||
|
lib/model/pdf_file_dto.dart
|
||||||
lib/model/player_message_dto.dart
|
lib/model/player_message_dto.dart
|
||||||
lib/model/puzzle_dto.dart
|
lib/model/puzzle_dto.dart
|
||||||
lib/model/puzzle_dto_image.dart
|
lib/model/puzzle_dto_image.dart
|
||||||
@ -107,3 +119,4 @@ lib/model/user_detail_dto.dart
|
|||||||
lib/model/video_dto.dart
|
lib/model/video_dto.dart
|
||||||
lib/model/web_dto.dart
|
lib/model/web_dto.dart
|
||||||
pubspec.yaml
|
pubspec.yaml
|
||||||
|
test/pdf_file_dto_test.dart
|
||||||
|
|||||||
@ -141,8 +141,14 @@ Class | Method | HTTP request | Description
|
|||||||
- [LevelDTO](doc\/LevelDTO.md)
|
- [LevelDTO](doc\/LevelDTO.md)
|
||||||
- [LoginDTO](doc\/LoginDTO.md)
|
- [LoginDTO](doc\/LoginDTO.md)
|
||||||
- [MapDTO](doc\/MapDTO.md)
|
- [MapDTO](doc\/MapDTO.md)
|
||||||
|
- [MapDTOMapProvider](doc\/MapDTOMapProvider.md)
|
||||||
|
- [MapDTOMapType](doc\/MapDTOMapType.md)
|
||||||
|
- [MapDTOMapTypeMapbox](doc\/MapDTOMapTypeMapbox.md)
|
||||||
|
- [MapProvider](doc\/MapProvider.md)
|
||||||
- [MapTypeApp](doc\/MapTypeApp.md)
|
- [MapTypeApp](doc\/MapTypeApp.md)
|
||||||
|
- [MapTypeMapBox](doc\/MapTypeMapBox.md)
|
||||||
- [MenuDTO](doc\/MenuDTO.md)
|
- [MenuDTO](doc\/MenuDTO.md)
|
||||||
|
- [PDFFileDTO](doc\/PDFFileDTO.md)
|
||||||
- [PdfDTO](doc\/PdfDTO.md)
|
- [PdfDTO](doc\/PdfDTO.md)
|
||||||
- [PlayerMessageDTO](doc\/PlayerMessageDTO.md)
|
- [PlayerMessageDTO](doc\/PlayerMessageDTO.md)
|
||||||
- [PuzzleDTO](doc\/PuzzleDTO.md)
|
- [PuzzleDTO](doc\/PuzzleDTO.md)
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import 'package:manager_api_new/api.dart';
|
|||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**resourceIds** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
**resourceIds** | [**List<TranslationDTO>**](TranslationDTO.md) | | [optional] [default to const []]
|
||||||
|
**mapProvider** | [**MapDTOMapProvider**](MapDTOMapProvider.md) | | [optional]
|
||||||
|
|
||||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,9 @@ import 'package:manager_api_new/api.dart';
|
|||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**zoom** | **int** | | [optional]
|
**zoom** | **int** | | [optional]
|
||||||
**mapType** | [**MapTypeApp**](MapTypeApp.md) | | [optional]
|
**mapType** | [**MapDTOMapType**](MapDTOMapType.md) | | [optional]
|
||||||
|
**mapTypeMapbox** | [**MapDTOMapTypeMapbox**](MapDTOMapTypeMapbox.md) | | [optional]
|
||||||
|
**mapProvider** | [**MapDTOMapProvider**](MapDTOMapProvider.md) | | [optional]
|
||||||
**points** | [**List<GeoPointDTO>**](GeoPointDTO.md) | | [optional] [default to const []]
|
**points** | [**List<GeoPointDTO>**](GeoPointDTO.md) | | [optional] [default to const []]
|
||||||
**iconResourceId** | **String** | | [optional]
|
**iconResourceId** | **String** | | [optional]
|
||||||
**iconSource** | **String** | | [optional]
|
**iconSource** | **String** | | [optional]
|
||||||
|
|||||||
14
manager_api_new/doc/MapDTOMapProvider.md
Normal file
14
manager_api_new/doc/MapDTOMapProvider.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# manager_api_new.model.MapDTOMapProvider
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
14
manager_api_new/doc/MapDTOMapType.md
Normal file
14
manager_api_new/doc/MapDTOMapType.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# manager_api_new.model.MapDTOMapType
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
14
manager_api_new/doc/MapDTOMapTypeMapbox.md
Normal file
14
manager_api_new/doc/MapDTOMapTypeMapbox.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# manager_api_new.model.MapDTOMapTypeMapbox
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
14
manager_api_new/doc/MapProvider.md
Normal file
14
manager_api_new/doc/MapProvider.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# manager_api_new.model.MapProvider
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
14
manager_api_new/doc/MapTypeMapBox.md
Normal file
14
manager_api_new/doc/MapTypeMapBox.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# manager_api_new.model.MapTypeMapBox
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
16
manager_api_new/doc/PDFFileDTO.md
Normal file
16
manager_api_new/doc/PDFFileDTO.md
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# manager_api_new.model.PDFFileDTO
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**pdfFilesAndTitles** | [**List<TranslationAndResourceDTO>**](TranslationAndResourceDTO.md) | | [optional] [default to const []]
|
||||||
|
**order** | **int** | | [optional]
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
@ -8,8 +8,7 @@ import 'package:manager_api_new/api.dart';
|
|||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**resourceId** | **String** | | [optional]
|
**pdfs** | [**List<PDFFileDTO>**](PDFFileDTO.md) | | [optional] [default to const []]
|
||||||
**resourceUrl** | **String** | | [optional]
|
|
||||||
|
|
||||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
# manager_api_new.model.QuestionDTOImageBackgroundResourceType
|
||||||
|
|
||||||
|
## Load the model package
|
||||||
|
```dart
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
@ -53,8 +53,14 @@ part 'model/instance_dto.dart';
|
|||||||
part 'model/level_dto.dart';
|
part 'model/level_dto.dart';
|
||||||
part 'model/login_dto.dart';
|
part 'model/login_dto.dart';
|
||||||
part 'model/map_dto.dart';
|
part 'model/map_dto.dart';
|
||||||
|
part 'model/map_dto_map_provider.dart';
|
||||||
|
part 'model/map_dto_map_type.dart';
|
||||||
|
part 'model/map_dto_map_type_mapbox.dart';
|
||||||
|
part 'model/map_provider.dart';
|
||||||
part 'model/map_type_app.dart';
|
part 'model/map_type_app.dart';
|
||||||
|
part 'model/map_type_map_box.dart';
|
||||||
part 'model/menu_dto.dart';
|
part 'model/menu_dto.dart';
|
||||||
|
part 'model/pdf_file_dto.dart';
|
||||||
part 'model/pdf_dto.dart';
|
part 'model/pdf_dto.dart';
|
||||||
part 'model/player_message_dto.dart';
|
part 'model/player_message_dto.dart';
|
||||||
part 'model/puzzle_dto.dart';
|
part 'model/puzzle_dto.dart';
|
||||||
|
|||||||
@ -217,10 +217,22 @@ class ApiClient {
|
|||||||
return LoginDTO.fromJson(value);
|
return LoginDTO.fromJson(value);
|
||||||
case 'MapDTO':
|
case 'MapDTO':
|
||||||
return MapDTO.fromJson(value);
|
return MapDTO.fromJson(value);
|
||||||
|
case 'MapDTOMapProvider':
|
||||||
|
return MapDTOMapProvider.fromJson(value);
|
||||||
|
case 'MapDTOMapType':
|
||||||
|
return MapDTOMapType.fromJson(value);
|
||||||
|
case 'MapDTOMapTypeMapbox':
|
||||||
|
return MapDTOMapTypeMapbox.fromJson(value);
|
||||||
|
case 'MapProvider':
|
||||||
|
return MapProviderTypeTransformer().decode(value);
|
||||||
case 'MapTypeApp':
|
case 'MapTypeApp':
|
||||||
return MapTypeAppTypeTransformer().decode(value);
|
return MapTypeAppTypeTransformer().decode(value);
|
||||||
|
case 'MapTypeMapBox':
|
||||||
|
return MapTypeMapBoxTypeTransformer().decode(value);
|
||||||
case 'MenuDTO':
|
case 'MenuDTO':
|
||||||
return MenuDTO.fromJson(value);
|
return MenuDTO.fromJson(value);
|
||||||
|
case 'PDFFileDTO':
|
||||||
|
return PDFFileDTO.fromJson(value);
|
||||||
case 'PdfDTO':
|
case 'PdfDTO':
|
||||||
return PdfDTO.fromJson(value);
|
return PdfDTO.fromJson(value);
|
||||||
case 'PlayerMessageDTO':
|
case 'PlayerMessageDTO':
|
||||||
|
|||||||
@ -55,9 +55,15 @@ String parameterToString(dynamic value) {
|
|||||||
if (value is DateTime) {
|
if (value is DateTime) {
|
||||||
return value.toUtc().toIso8601String();
|
return value.toUtc().toIso8601String();
|
||||||
}
|
}
|
||||||
|
if (value is MapProvider) {
|
||||||
|
return MapProviderTypeTransformer().encode(value).toString();
|
||||||
|
}
|
||||||
if (value is MapTypeApp) {
|
if (value is MapTypeApp) {
|
||||||
return MapTypeAppTypeTransformer().encode(value).toString();
|
return MapTypeAppTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
if (value is MapTypeMapBox) {
|
||||||
|
return MapTypeMapBoxTypeTransformer().encode(value).toString();
|
||||||
|
}
|
||||||
if (value is ResourceType) {
|
if (value is ResourceType) {
|
||||||
return ResourceTypeTypeTransformer().encode(value).toString();
|
return ResourceTypeTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,21 +14,26 @@ class AgendaDTO {
|
|||||||
/// Returns a new [AgendaDTO] instance.
|
/// Returns a new [AgendaDTO] instance.
|
||||||
AgendaDTO({
|
AgendaDTO({
|
||||||
this.resourceIds = const [],
|
this.resourceIds = const [],
|
||||||
|
this.mapProvider,
|
||||||
});
|
});
|
||||||
|
|
||||||
List<TranslationDTO>? resourceIds;
|
List<TranslationDTO>? resourceIds;
|
||||||
|
|
||||||
|
MapProvider? mapProvider;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is AgendaDTO &&
|
bool operator ==(Object other) => identical(this, other) || other is AgendaDTO &&
|
||||||
other.resourceIds == resourceIds;
|
other.resourceIds == resourceIds &&
|
||||||
|
other.mapProvider == mapProvider;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
// ignore: unnecessary_parenthesis
|
// ignore: unnecessary_parenthesis
|
||||||
(resourceIds == null ? 0 : resourceIds!.hashCode);
|
(resourceIds == null ? 0 : resourceIds!.hashCode) +
|
||||||
|
(mapProvider == null ? 0 : mapProvider!.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'AgendaDTO[resourceIds=$resourceIds]';
|
String toString() => 'AgendaDTO[resourceIds=$resourceIds, mapProvider=$mapProvider]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
@ -37,6 +42,11 @@ class AgendaDTO {
|
|||||||
} else {
|
} else {
|
||||||
json[r'resourceIds'] = null;
|
json[r'resourceIds'] = null;
|
||||||
}
|
}
|
||||||
|
if (this.mapProvider != null) {
|
||||||
|
json[r'mapProvider'] = this.mapProvider;
|
||||||
|
} else {
|
||||||
|
json[r'mapProvider'] = null;
|
||||||
|
}
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,6 +70,7 @@ class AgendaDTO {
|
|||||||
|
|
||||||
return AgendaDTO(
|
return AgendaDTO(
|
||||||
resourceIds: TranslationDTO.listFromJson(json[r'resourceIds']),
|
resourceIds: TranslationDTO.listFromJson(json[r'resourceIds']),
|
||||||
|
mapProvider: MapProvider.fromJson(json[r'mapProvider']),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -15,6 +15,8 @@ class MapDTO {
|
|||||||
MapDTO({
|
MapDTO({
|
||||||
this.zoom,
|
this.zoom,
|
||||||
this.mapType,
|
this.mapType,
|
||||||
|
this.mapTypeMapbox,
|
||||||
|
this.mapProvider,
|
||||||
this.points = const [],
|
this.points = const [],
|
||||||
this.iconResourceId,
|
this.iconResourceId,
|
||||||
this.iconSource,
|
this.iconSource,
|
||||||
@ -29,14 +31,12 @@ class MapDTO {
|
|||||||
///
|
///
|
||||||
int? zoom;
|
int? zoom;
|
||||||
|
|
||||||
///
|
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
|
||||||
/// source code must fall back to having a nullable type.
|
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
|
||||||
///
|
|
||||||
MapTypeApp? mapType;
|
MapTypeApp? mapType;
|
||||||
|
|
||||||
|
MapTypeMapBox? mapTypeMapbox;
|
||||||
|
|
||||||
|
MapProvider? mapProvider;
|
||||||
|
|
||||||
List<GeoPointDTO>? points;
|
List<GeoPointDTO>? points;
|
||||||
|
|
||||||
String? iconResourceId;
|
String? iconResourceId;
|
||||||
@ -47,25 +47,29 @@ class MapDTO {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is MapDTO &&
|
bool operator ==(Object other) => identical(this, other) || other is MapDTO &&
|
||||||
other.zoom == zoom &&
|
other.zoom == zoom &&
|
||||||
other.mapType == mapType &&
|
other.mapType == mapType &&
|
||||||
other.points == points &&
|
other.mapTypeMapbox == mapTypeMapbox &&
|
||||||
other.iconResourceId == iconResourceId &&
|
other.mapProvider == mapProvider &&
|
||||||
other.iconSource == iconSource &&
|
other.points == points &&
|
||||||
other.categories == categories;
|
other.iconResourceId == iconResourceId &&
|
||||||
|
other.iconSource == iconSource &&
|
||||||
|
other.categories == categories;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
// ignore: unnecessary_parenthesis
|
// ignore: unnecessary_parenthesis
|
||||||
(zoom == null ? 0 : zoom!.hashCode) +
|
(zoom == null ? 0 : zoom!.hashCode) +
|
||||||
(mapType == null ? 0 : mapType!.hashCode) +
|
(mapType == null ? 0 : mapType!.hashCode) +
|
||||||
(points == null ? 0 : points!.hashCode) +
|
(mapTypeMapbox == null ? 0 : mapTypeMapbox!.hashCode) +
|
||||||
(iconResourceId == null ? 0 : iconResourceId!.hashCode) +
|
(mapProvider == null ? 0 : mapProvider!.hashCode) +
|
||||||
(iconSource == null ? 0 : iconSource!.hashCode) +
|
(points == null ? 0 : points!.hashCode) +
|
||||||
(categories == null ? 0 : categories!.hashCode);
|
(iconResourceId == null ? 0 : iconResourceId!.hashCode) +
|
||||||
|
(iconSource == null ? 0 : iconSource!.hashCode) +
|
||||||
|
(categories == null ? 0 : categories!.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'MapDTO[zoom=$zoom, mapType=$mapType, points=$points, iconResourceId=$iconResourceId, iconSource=$iconSource, categories=$categories]';
|
String toString() => 'MapDTO[zoom=$zoom, mapType=$mapType, mapTypeMapbox=$mapTypeMapbox, mapProvider=$mapProvider, points=$points, iconResourceId=$iconResourceId, iconSource=$iconSource, categories=$categories]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
@ -79,6 +83,16 @@ class MapDTO {
|
|||||||
} else {
|
} else {
|
||||||
json[r'mapType'] = null;
|
json[r'mapType'] = null;
|
||||||
}
|
}
|
||||||
|
if (this.mapTypeMapbox != null) {
|
||||||
|
json[r'mapTypeMapbox'] = this.mapTypeMapbox;
|
||||||
|
} else {
|
||||||
|
json[r'mapTypeMapbox'] = null;
|
||||||
|
}
|
||||||
|
if (this.mapProvider != null) {
|
||||||
|
json[r'mapProvider'] = this.mapProvider;
|
||||||
|
} else {
|
||||||
|
json[r'mapProvider'] = null;
|
||||||
|
}
|
||||||
if (this.points != null) {
|
if (this.points != null) {
|
||||||
json[r'points'] = this.points;
|
json[r'points'] = this.points;
|
||||||
} else {
|
} else {
|
||||||
@ -123,6 +137,8 @@ class MapDTO {
|
|||||||
return MapDTO(
|
return MapDTO(
|
||||||
zoom: mapValueOfType<int>(json, r'zoom'),
|
zoom: mapValueOfType<int>(json, r'zoom'),
|
||||||
mapType: MapTypeApp.fromJson(json[r'mapType']),
|
mapType: MapTypeApp.fromJson(json[r'mapType']),
|
||||||
|
mapTypeMapbox: MapTypeMapBox.fromJson(json[r'mapTypeMapbox']),
|
||||||
|
mapProvider: MapProvider.fromJson(json[r'mapProvider']),
|
||||||
points: GeoPointDTO.listFromJson(json[r'points']),
|
points: GeoPointDTO.listFromJson(json[r'points']),
|
||||||
iconResourceId: mapValueOfType<String>(json, r'iconResourceId'),
|
iconResourceId: mapValueOfType<String>(json, r'iconResourceId'),
|
||||||
iconSource: mapValueOfType<String>(json, r'iconSource'),
|
iconSource: mapValueOfType<String>(json, r'iconSource'),
|
||||||
|
|||||||
96
manager_api_new/lib/model/map_dto_map_provider.dart
Normal file
96
manager_api_new/lib/model/map_dto_map_provider.dart
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
class MapDTOMapProvider {
|
||||||
|
/// Returns a new [MapDTOMapProvider] instance.
|
||||||
|
MapDTOMapProvider();
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) => identical(this, other) || other is MapDTOMapProvider;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => 'MapDTOMapProvider[]';
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final json = <String, dynamic>{};
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns a new [MapDTOMapProvider] instance and imports its values from
|
||||||
|
/// [value] if it's a [Map], null otherwise.
|
||||||
|
// ignore: prefer_constructors_over_static_methods
|
||||||
|
static MapDTOMapProvider? fromJson(dynamic value) {
|
||||||
|
if (value is Map) {
|
||||||
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
|
// Ensure that the map contains the required keys.
|
||||||
|
// Note 1: the values aren't checked for validity beyond being non-null.
|
||||||
|
// Note 2: this code is stripped in release mode!
|
||||||
|
assert(() {
|
||||||
|
requiredKeys.forEach((key) {
|
||||||
|
assert(json.containsKey(key), 'Required key "MapDTOMapProvider[$key]" is missing from JSON.');
|
||||||
|
assert(json[key] != null, 'Required key "MapDTOMapProvider[$key]" has a null value in JSON.');
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}());
|
||||||
|
|
||||||
|
return MapDTOMapProvider(
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<MapDTOMapProvider> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <MapDTOMapProvider>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = MapDTOMapProvider.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Map<String, MapDTOMapProvider> mapFromJson(dynamic json) {
|
||||||
|
final map = <String, MapDTOMapProvider>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
final value = MapDTOMapProvider.fromJson(entry.value);
|
||||||
|
if (value != null) {
|
||||||
|
map[entry.key] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// maps a json object with a list of MapDTOMapProvider-objects as value to a dart map
|
||||||
|
static Map<String, List<MapDTOMapProvider>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final map = <String, List<MapDTOMapProvider>>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
// ignore: parameter_assignments
|
||||||
|
json = json.cast<String, dynamic>();
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
map[entry.key] = MapDTOMapProvider.listFromJson(entry.value, growable: growable,);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The list of required keys that must be present in a JSON.
|
||||||
|
static const requiredKeys = <String>{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
96
manager_api_new/lib/model/map_dto_map_type.dart
Normal file
96
manager_api_new/lib/model/map_dto_map_type.dart
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
class MapDTOMapType {
|
||||||
|
/// Returns a new [MapDTOMapType] instance.
|
||||||
|
MapDTOMapType();
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) => identical(this, other) || other is MapDTOMapType;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => 'MapDTOMapType[]';
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final json = <String, dynamic>{};
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns a new [MapDTOMapType] instance and imports its values from
|
||||||
|
/// [value] if it's a [Map], null otherwise.
|
||||||
|
// ignore: prefer_constructors_over_static_methods
|
||||||
|
static MapDTOMapType? fromJson(dynamic value) {
|
||||||
|
if (value is Map) {
|
||||||
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
|
// Ensure that the map contains the required keys.
|
||||||
|
// Note 1: the values aren't checked for validity beyond being non-null.
|
||||||
|
// Note 2: this code is stripped in release mode!
|
||||||
|
assert(() {
|
||||||
|
requiredKeys.forEach((key) {
|
||||||
|
assert(json.containsKey(key), 'Required key "MapDTOMapType[$key]" is missing from JSON.');
|
||||||
|
assert(json[key] != null, 'Required key "MapDTOMapType[$key]" has a null value in JSON.');
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}());
|
||||||
|
|
||||||
|
return MapDTOMapType(
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<MapDTOMapType> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <MapDTOMapType>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = MapDTOMapType.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Map<String, MapDTOMapType> mapFromJson(dynamic json) {
|
||||||
|
final map = <String, MapDTOMapType>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
final value = MapDTOMapType.fromJson(entry.value);
|
||||||
|
if (value != null) {
|
||||||
|
map[entry.key] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// maps a json object with a list of MapDTOMapType-objects as value to a dart map
|
||||||
|
static Map<String, List<MapDTOMapType>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final map = <String, List<MapDTOMapType>>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
// ignore: parameter_assignments
|
||||||
|
json = json.cast<String, dynamic>();
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
map[entry.key] = MapDTOMapType.listFromJson(entry.value, growable: growable,);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The list of required keys that must be present in a JSON.
|
||||||
|
static const requiredKeys = <String>{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
96
manager_api_new/lib/model/map_dto_map_type_mapbox.dart
Normal file
96
manager_api_new/lib/model/map_dto_map_type_mapbox.dart
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
class MapDTOMapTypeMapbox {
|
||||||
|
/// Returns a new [MapDTOMapTypeMapbox] instance.
|
||||||
|
MapDTOMapTypeMapbox();
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) => identical(this, other) || other is MapDTOMapTypeMapbox;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => 'MapDTOMapTypeMapbox[]';
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final json = <String, dynamic>{};
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns a new [MapDTOMapTypeMapbox] instance and imports its values from
|
||||||
|
/// [value] if it's a [Map], null otherwise.
|
||||||
|
// ignore: prefer_constructors_over_static_methods
|
||||||
|
static MapDTOMapTypeMapbox? fromJson(dynamic value) {
|
||||||
|
if (value is Map) {
|
||||||
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
|
// Ensure that the map contains the required keys.
|
||||||
|
// Note 1: the values aren't checked for validity beyond being non-null.
|
||||||
|
// Note 2: this code is stripped in release mode!
|
||||||
|
assert(() {
|
||||||
|
requiredKeys.forEach((key) {
|
||||||
|
assert(json.containsKey(key), 'Required key "MapDTOMapTypeMapbox[$key]" is missing from JSON.');
|
||||||
|
assert(json[key] != null, 'Required key "MapDTOMapTypeMapbox[$key]" has a null value in JSON.');
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}());
|
||||||
|
|
||||||
|
return MapDTOMapTypeMapbox(
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<MapDTOMapTypeMapbox> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <MapDTOMapTypeMapbox>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = MapDTOMapTypeMapbox.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Map<String, MapDTOMapTypeMapbox> mapFromJson(dynamic json) {
|
||||||
|
final map = <String, MapDTOMapTypeMapbox>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
final value = MapDTOMapTypeMapbox.fromJson(entry.value);
|
||||||
|
if (value != null) {
|
||||||
|
map[entry.key] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// maps a json object with a list of MapDTOMapTypeMapbox-objects as value to a dart map
|
||||||
|
static Map<String, List<MapDTOMapTypeMapbox>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final map = <String, List<MapDTOMapTypeMapbox>>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
// ignore: parameter_assignments
|
||||||
|
json = json.cast<String, dynamic>();
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
map[entry.key] = MapDTOMapTypeMapbox.listFromJson(entry.value, growable: growable,);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The list of required keys that must be present in a JSON.
|
||||||
|
static const requiredKeys = <String>{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
98
manager_api_new/lib/model/map_provider.dart
Normal file
98
manager_api_new/lib/model/map_provider.dart
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// 0 = Google 1 = MapBox
|
||||||
|
class MapProvider {
|
||||||
|
/// Instantiate a new enum with the provided [value].
|
||||||
|
const MapProvider._(this.value);
|
||||||
|
|
||||||
|
/// The underlying value of this enum member.
|
||||||
|
final int value;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => value.toString();
|
||||||
|
|
||||||
|
int toJson() => value;
|
||||||
|
|
||||||
|
static const Google = MapProvider._(0);
|
||||||
|
static const MapBox = MapProvider._(1);
|
||||||
|
|
||||||
|
/// List of all possible values in this [enum][MapProvider].
|
||||||
|
static const values = <MapProvider>[
|
||||||
|
Google,
|
||||||
|
MapBox,
|
||||||
|
];
|
||||||
|
|
||||||
|
static MapProvider? fromJson(dynamic value) => MapProviderTypeTransformer().decode(value);
|
||||||
|
|
||||||
|
static List<MapProvider> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <MapProvider>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = MapProvider.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Transformation class that can [encode] an instance of [MapProvider] to int,
|
||||||
|
/// and [decode] dynamic data back to [MapProvider].
|
||||||
|
class MapProviderTypeTransformer {
|
||||||
|
factory MapProviderTypeTransformer() => _instance ??= const MapProviderTypeTransformer._();
|
||||||
|
|
||||||
|
const MapProviderTypeTransformer._();
|
||||||
|
|
||||||
|
int encode(MapProvider data) => data.value;
|
||||||
|
|
||||||
|
/// Decodes a [dynamic value][data] to a MapProvider.
|
||||||
|
///
|
||||||
|
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
||||||
|
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
||||||
|
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
||||||
|
///
|
||||||
|
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
||||||
|
/// and users are still using an old app with the old code.
|
||||||
|
MapProvider? decode(dynamic data, {bool allowNull = true}) {
|
||||||
|
if (data != null) {
|
||||||
|
if(data.runtimeType == String) {
|
||||||
|
switch (data.toString().toLowerCase()) {
|
||||||
|
case r'google': return MapProvider.Google;
|
||||||
|
case r'mapbox': return MapProvider.MapBox;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(data.runtimeType == int) {
|
||||||
|
switch (data) {
|
||||||
|
case 0: return MapProvider.Google;
|
||||||
|
case 1: return MapProvider.MapBox;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Singleton [MapProviderTypeTransformer] instance.
|
||||||
|
static MapProviderTypeTransformer? _instance;
|
||||||
|
}
|
||||||
|
|
||||||
119
manager_api_new/lib/model/map_type_map_box.dart
Normal file
119
manager_api_new/lib/model/map_type_map_box.dart
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// 0 = standard 1 = streets 2 = outdoors 3 = light 4 = dark 5 = satellite 6 = satellite_streets
|
||||||
|
class MapTypeMapBox {
|
||||||
|
/// Instantiate a new enum with the provided [value].
|
||||||
|
const MapTypeMapBox._(this.value);
|
||||||
|
|
||||||
|
/// The underlying value of this enum member.
|
||||||
|
final int value;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => value.toString();
|
||||||
|
|
||||||
|
int toJson() => value;
|
||||||
|
|
||||||
|
static const standard = MapTypeMapBox._(0);
|
||||||
|
static const streets = MapTypeMapBox._(1);
|
||||||
|
static const outdoors = MapTypeMapBox._(2);
|
||||||
|
static const light = MapTypeMapBox._(3);
|
||||||
|
static const dark = MapTypeMapBox._(4);
|
||||||
|
static const satellite = MapTypeMapBox._(5);
|
||||||
|
static const satellite_streets = MapTypeMapBox._(6);
|
||||||
|
|
||||||
|
/// List of all possible values in this [enum][MapTypeMapBox].
|
||||||
|
static const values = <MapTypeMapBox>[
|
||||||
|
standard,
|
||||||
|
streets,
|
||||||
|
outdoors,
|
||||||
|
light,
|
||||||
|
dark,
|
||||||
|
satellite,
|
||||||
|
satellite_streets,
|
||||||
|
];
|
||||||
|
|
||||||
|
static MapTypeMapBox? fromJson(dynamic value) => MapTypeMapBoxTypeTransformer().decode(value);
|
||||||
|
|
||||||
|
static List<MapTypeMapBox> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <MapTypeMapBox>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = MapTypeMapBox.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Transformation class that can [encode] an instance of [MapTypeMapBox] to int,
|
||||||
|
/// and [decode] dynamic data back to [MapTypeMapBox].
|
||||||
|
class MapTypeMapBoxTypeTransformer {
|
||||||
|
factory MapTypeMapBoxTypeTransformer() => _instance ??= const MapTypeMapBoxTypeTransformer._();
|
||||||
|
|
||||||
|
const MapTypeMapBoxTypeTransformer._();
|
||||||
|
|
||||||
|
int encode(MapTypeMapBox data) => data.value;
|
||||||
|
|
||||||
|
/// Decodes a [dynamic value][data] to a MapTypeMapBox.
|
||||||
|
///
|
||||||
|
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
||||||
|
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
||||||
|
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
||||||
|
///
|
||||||
|
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
||||||
|
/// and users are still using an old app with the old code.
|
||||||
|
MapTypeMapBox? decode(dynamic data, {bool allowNull = true}) {
|
||||||
|
if (data != null) {
|
||||||
|
if(data.runtimeType == String) {
|
||||||
|
switch (data.toString().toLowerCase()) {
|
||||||
|
case r'standard': return MapTypeMapBox.standard;
|
||||||
|
case r'streets': return MapTypeMapBox.streets;
|
||||||
|
case r'outdoors': return MapTypeMapBox.outdoors;
|
||||||
|
case r'light': return MapTypeMapBox.light;
|
||||||
|
case r'dark': return MapTypeMapBox.dark;
|
||||||
|
case r'satellite': return MapTypeMapBox.satellite;
|
||||||
|
case r'satellite_streets': return MapTypeMapBox.satellite_streets;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(data.runtimeType == int) {
|
||||||
|
switch (data) {
|
||||||
|
case 0: return MapTypeMapBox.standard;
|
||||||
|
case 1: return MapTypeMapBox.streets;
|
||||||
|
case 2: return MapTypeMapBox.outdoors;
|
||||||
|
case 3: return MapTypeMapBox.light;
|
||||||
|
case 4: return MapTypeMapBox.dark;
|
||||||
|
case 5: return MapTypeMapBox.satellite;
|
||||||
|
case 6: return MapTypeMapBox.satellite_streets;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Singleton [MapTypeMapBoxTypeTransformer] instance.
|
||||||
|
static MapTypeMapBoxTypeTransformer? _instance;
|
||||||
|
}
|
||||||
|
|
||||||
@ -13,39 +13,29 @@ part of openapi.api;
|
|||||||
class PdfDTO {
|
class PdfDTO {
|
||||||
/// Returns a new [PdfDTO] instance.
|
/// Returns a new [PdfDTO] instance.
|
||||||
PdfDTO({
|
PdfDTO({
|
||||||
this.resourceId,
|
this.pdfs = const [],
|
||||||
this.resourceUrl,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
String? resourceId;
|
List<PDFFileDTO>? pdfs;
|
||||||
|
|
||||||
String? resourceUrl;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is PdfDTO &&
|
bool operator ==(Object other) => identical(this, other) || other is PdfDTO &&
|
||||||
other.resourceId == resourceId &&
|
other.pdfs == pdfs;
|
||||||
other.resourceUrl == resourceUrl;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
// ignore: unnecessary_parenthesis
|
// ignore: unnecessary_parenthesis
|
||||||
(resourceId == null ? 0 : resourceId!.hashCode) +
|
(pdfs == null ? 0 : pdfs!.hashCode);
|
||||||
(resourceUrl == null ? 0 : resourceUrl!.hashCode);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'PdfDTO[resourceId=$resourceId, resourceUrl=$resourceUrl]';
|
String toString() => 'PdfDTO[pdfs=$pdfs]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
if (this.resourceId != null) {
|
if (this.pdfs != null) {
|
||||||
json[r'resourceId'] = this.resourceId;
|
json[r'pdfs'] = this.pdfs;
|
||||||
} else {
|
} else {
|
||||||
json[r'resourceId'] = null;
|
json[r'pdfs'] = null;
|
||||||
}
|
|
||||||
if (this.resourceUrl != null) {
|
|
||||||
json[r'resourceUrl'] = this.resourceUrl;
|
|
||||||
} else {
|
|
||||||
json[r'resourceUrl'] = null;
|
|
||||||
}
|
}
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
@ -69,8 +59,7 @@ class PdfDTO {
|
|||||||
}());
|
}());
|
||||||
|
|
||||||
return PdfDTO(
|
return PdfDTO(
|
||||||
resourceId: mapValueOfType<String>(json, r'resourceId'),
|
pdfs: PDFFileDTO.listFromJson(json[r'pdfs']),
|
||||||
resourceUrl: mapValueOfType<String>(json, r'resourceUrl'),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
123
manager_api_new/lib/model/pdf_file_dto.dart
Normal file
123
manager_api_new/lib/model/pdf_file_dto.dart
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
class PDFFileDTO {
|
||||||
|
/// Returns a new [PDFFileDTO] instance.
|
||||||
|
PDFFileDTO({
|
||||||
|
this.pdfFilesAndTitles = const [],
|
||||||
|
this.order,
|
||||||
|
});
|
||||||
|
|
||||||
|
List<TranslationAndResourceDTO>? pdfFilesAndTitles;
|
||||||
|
|
||||||
|
int? order;
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool operator ==(Object other) => identical(this, other) || other is PDFFileDTO &&
|
||||||
|
other.pdfFilesAndTitles == pdfFilesAndTitles &&
|
||||||
|
other.order == order;
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get hashCode =>
|
||||||
|
// ignore: unnecessary_parenthesis
|
||||||
|
(pdfFilesAndTitles == null ? 0 : pdfFilesAndTitles!.hashCode) +
|
||||||
|
(order == null ? 0 : order!.hashCode);
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => 'PDFFileDTO[pdfFilesAndTitles=$pdfFilesAndTitles, order=$order]';
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final json = <String, dynamic>{};
|
||||||
|
if (this.pdfFilesAndTitles != null) {
|
||||||
|
json[r'pdfFilesAndTitles'] = this.pdfFilesAndTitles;
|
||||||
|
} else {
|
||||||
|
json[r'pdfFilesAndTitles'] = null;
|
||||||
|
}
|
||||||
|
if (this.order != null) {
|
||||||
|
json[r'order'] = this.order;
|
||||||
|
} else {
|
||||||
|
json[r'order'] = null;
|
||||||
|
}
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Returns a new [PDFFileDTO] instance and imports its values from
|
||||||
|
/// [value] if it's a [Map], null otherwise.
|
||||||
|
// ignore: prefer_constructors_over_static_methods
|
||||||
|
static PDFFileDTO? fromJson(dynamic value) {
|
||||||
|
if (value is Map) {
|
||||||
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
|
// Ensure that the map contains the required keys.
|
||||||
|
// Note 1: the values aren't checked for validity beyond being non-null.
|
||||||
|
// Note 2: this code is stripped in release mode!
|
||||||
|
assert(() {
|
||||||
|
requiredKeys.forEach((key) {
|
||||||
|
assert(json.containsKey(key), 'Required key "PDFFileDTO[$key]" is missing from JSON.');
|
||||||
|
assert(json[key] != null, 'Required key "PDFFileDTO[$key]" has a null value in JSON.');
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}());
|
||||||
|
|
||||||
|
return PDFFileDTO(
|
||||||
|
pdfFilesAndTitles: TranslationAndResourceDTO.listFromJson(json[r'pdfFilesAndTitles']),
|
||||||
|
order: mapValueOfType<int>(json, r'order'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<PDFFileDTO> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <PDFFileDTO>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = PDFFileDTO.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Map<String, PDFFileDTO> mapFromJson(dynamic json) {
|
||||||
|
final map = <String, PDFFileDTO>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
final value = PDFFileDTO.fromJson(entry.value);
|
||||||
|
if (value != null) {
|
||||||
|
map[entry.key] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// maps a json object with a list of PDFFileDTO-objects as value to a dart map
|
||||||
|
static Map<String, List<PDFFileDTO>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final map = <String, List<PDFFileDTO>>{};
|
||||||
|
if (json is Map && json.isNotEmpty) {
|
||||||
|
// ignore: parameter_assignments
|
||||||
|
json = json.cast<String, dynamic>();
|
||||||
|
for (final entry in json.entries) {
|
||||||
|
map[entry.key] = PDFFileDTO.listFromJson(entry.value, growable: growable,);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The list of required keys that must be present in a JSON.
|
||||||
|
static const requiredKeys = <String>{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
22
manager_api_new/test/map_dto_map_provider_test.dart
Normal file
22
manager_api_new/test/map_dto_map_provider_test.dart
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
// tests for MapDTOMapProvider
|
||||||
|
void main() {
|
||||||
|
// final instance = MapDTOMapProvider();
|
||||||
|
|
||||||
|
group('test MapDTOMapProvider', () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
22
manager_api_new/test/map_dto_map_type_mapbox_test.dart
Normal file
22
manager_api_new/test/map_dto_map_type_mapbox_test.dart
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
// tests for MapDTOMapTypeMapbox
|
||||||
|
void main() {
|
||||||
|
// final instance = MapDTOMapTypeMapbox();
|
||||||
|
|
||||||
|
group('test MapDTOMapTypeMapbox', () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
22
manager_api_new/test/map_dto_map_type_test.dart
Normal file
22
manager_api_new/test/map_dto_map_type_test.dart
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
// tests for MapDTOMapType
|
||||||
|
void main() {
|
||||||
|
// final instance = MapDTOMapType();
|
||||||
|
|
||||||
|
group('test MapDTOMapType', () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
21
manager_api_new/test/map_provider_test.dart
Normal file
21
manager_api_new/test/map_provider_test.dart
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
// tests for MapProvider
|
||||||
|
void main() {
|
||||||
|
|
||||||
|
group('test MapProvider', () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
21
manager_api_new/test/map_type_map_box_test.dart
Normal file
21
manager_api_new/test/map_type_map_box_test.dart
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
// tests for MapTypeMapBox
|
||||||
|
void main() {
|
||||||
|
|
||||||
|
group('test MapTypeMapBox', () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
27
manager_api_new/test/pdf_file_dto_test.dart
Normal file
27
manager_api_new/test/pdf_file_dto_test.dart
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.12
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
import 'package:manager_api_new/api.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
// tests for PDFFileDTO
|
||||||
|
void main() {
|
||||||
|
// final instance = PDFFileDTO();
|
||||||
|
|
||||||
|
group('test PDFFileDTO', () {
|
||||||
|
// List<TranslationAndResourceDTO> pdfFilesAndTitles (default value: const [])
|
||||||
|
test('to test the property `pdfFilesAndTitles`', () async {
|
||||||
|
// TODO
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user