From 807d599910f22831b0632fe632d3b99c9c0ce1d0 Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Thu, 15 May 2025 17:20:34 +0200 Subject: [PATCH] Web, video, pdf, agenda, puzzle, weather + MISC --- ...nslation_input_and_resource_container.dart | 3 +- .../SubSection/Agenda/agenda_config.dart | 6 +- .../SubSection/Menu/showEditSubSection.dart | 2 +- .../Section/SubSection/PDF/PDF_config.dart | 4 +- .../SubSection/Puzzle/puzzle_config.dart | 30 +- .../SubSection/Quizz/quizz_config.dart | 22 +- .../Slider/new_update_image_slider.dart | 5 +- .../SubSection/Slider/slider_config.dart | 8 +- .../SubSection/Video/video_config.dart | 46 ++++ .../SubSection/Weather/weather_config.dart | 4 +- ...{web_video_config.dart => web_config.dart} | 12 +- .../Section/section_detail_screen.dart | 257 ++++++++++++++++-- lib/constants.dart | 2 +- 13 files changed, 329 insertions(+), 72 deletions(-) create mode 100644 lib/Screens/Configurations/Section/SubSection/Video/video_config.dart rename lib/Screens/Configurations/Section/SubSection/WebOrVideo/{web_video_config.dart => web_config.dart} (73%) diff --git a/lib/Components/translation_input_and_resource_container.dart b/lib/Components/translation_input_and_resource_container.dart index 1b1dd0d..14f4476 100644 --- a/lib/Components/translation_input_and_resource_container.dart +++ b/lib/Components/translation_input_and_resource_container.dart @@ -184,8 +184,7 @@ class _TranslationInputAndResourceContainerState extends State element.language! == value).first.resourceId = null; - newValues.where((element) => element.language! == value).first.resource?.url = null; - newValues.where((element) => element.language! == value).first.resource?.type = null; + newValues.where((element) => element.language! == value).first.resource = null; } else { newValues.where((element) => element.language! == value).first.resourceId = resource.id; newValues.where((element) => element.language! == value).first.resource = resource; diff --git a/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart b/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart index 390ec5b..90a3e86 100644 --- a/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart @@ -12,7 +12,7 @@ class AgendaConfig extends StatefulWidget { final String? color; final String? label; final AgendaDTO initialValue; - final ValueChanged onChanged; + final ValueChanged onChanged; const AgendaConfig({ Key? key, this.color, @@ -74,7 +74,7 @@ class _AgendaConfigState extends State { agendaDTO.agendaMapProvider = MapProvider.MapBox; break; } - widget.onChanged(jsonEncode(agendaDTO).toString()); + widget.onChanged(agendaDTO); } ), MultiStringInputContainer( @@ -89,7 +89,7 @@ class _AgendaConfigState extends State { if (agendaDTO.resourceIds != value) { agendaDTO.resourceIds = value; //save(true, articleDTO, appContext); - widget.onChanged(jsonEncode(agendaDTO).toString()); + widget.onChanged(agendaDTO); } }); }, diff --git a/lib/Screens/Configurations/Section/SubSection/Menu/showEditSubSection.dart b/lib/Screens/Configurations/Section/SubSection/Menu/showEditSubSection.dart index 4062e58..fb14e74 100644 --- a/lib/Screens/Configurations/Section/SubSection/Menu/showEditSubSection.dart +++ b/lib/Screens/Configurations/Section/SubSection/Menu/showEditSubSection.dart @@ -9,7 +9,7 @@ import 'package:manager_app/Screens/Configurations/Section/SubSection/Puzzle/puz import 'package:manager_app/Screens/Configurations/Section/SubSection/Quizz/quizz_config.dart'; import 'package:manager_app/Screens/Configurations/Section/SubSection/Slider/slider_config.dart'; import 'package:manager_app/Screens/Configurations/Section/SubSection/Weather/weather_config.dart'; -import 'package:manager_app/Screens/Configurations/Section/SubSection/WebOrVideo/web_video_config.dart'; +import 'package:manager_app/Screens/Configurations/Section/SubSection/WebOrVideo/web_config.dart'; import 'package:manager_app/app_context.dart'; import 'package:manager_app/constants.dart'; import 'package:manager_api_new/api.dart'; diff --git a/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart b/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart index 6f170c6..5b41e9b 100644 --- a/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart @@ -11,7 +11,7 @@ class PDFConfig extends StatefulWidget { final String? color; final String? label; final PdfDTO initialValue; - final ValueChanged onChanged; + final ValueChanged onChanged; const PDFConfig({ Key? key, this.color, @@ -47,7 +47,7 @@ class _PDFConfigState extends State { onChanged: (List? value) { if(value != null) { pdfDTO.pdfs = value; - widget.onChanged(jsonEncode(pdfDTO).toString()); + widget.onChanged(pdfDTO); } }, ), diff --git a/lib/Screens/Configurations/Section/SubSection/Puzzle/puzzle_config.dart b/lib/Screens/Configurations/Section/SubSection/Puzzle/puzzle_config.dart index 78d854e..a69bed3 100644 --- a/lib/Screens/Configurations/Section/SubSection/Puzzle/puzzle_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Puzzle/puzzle_config.dart @@ -12,7 +12,7 @@ class PuzzleConfig extends StatefulWidget { final String? color; final String? label; final PuzzleDTO initialValue; - final ValueChanged onChanged; + final ValueChanged onChanged; const PuzzleConfig({ Key? key, this.color, @@ -31,9 +31,9 @@ class _PuzzleConfigState extends State { @override void initState() { PuzzleDTO test = widget.initialValue; - if(test.puzzleImage == null) { + /*if(test.puzzleImage == null) { test.puzzleImage = ResourceDTO(); - } + }*/ puzzleDTO = test; puzzleDTO.rows = puzzleDTO.rows == null ? 3 : puzzleDTO.rows; puzzleDTO.cols = puzzleDTO.cols == null ? 3 : puzzleDTO.cols; @@ -52,14 +52,18 @@ class _PuzzleConfigState extends State { children: [ ResourceInputContainer( label: "Image du puzzle :", - initialValue: puzzleDTO.puzzleImage!.id == null ? '': puzzleDTO.puzzleImage!.id, + initialValue: puzzleDTO.puzzleImageId == null ? '': puzzleDTO.puzzleImageId, onChanged: (ResourceDTO resourceDTO) { setState(() { - puzzleDTO.puzzleImage!.id = resourceDTO.id; - puzzleDTO.puzzleImage!.type = resourceDTO.type; - puzzleDTO.puzzleImage!.url = resourceDTO.url; - print(puzzleDTO.puzzleImage); - widget.onChanged(jsonEncode(puzzleDTO).toString()); + if(resourceDTO.id == null) + { + puzzleDTO.puzzleImageId = null; + puzzleDTO.puzzleImage = null; + } else { + puzzleDTO.puzzleImageId = resourceDTO.id; + puzzleDTO.puzzleImage = resourceDTO; + } + widget.onChanged(puzzleDTO); }); } ), @@ -79,7 +83,7 @@ class _PuzzleConfigState extends State { setState(() { print(puzzleDTO.messageDebut); puzzleDTO.messageDebut = value; - widget.onChanged(jsonEncode(puzzleDTO).toString()); + widget.onChanged(puzzleDTO); }); } }, @@ -100,7 +104,7 @@ class _PuzzleConfigState extends State { if (puzzleDTO.messageFin != value) { setState(() { puzzleDTO.messageFin = value; - widget.onChanged(jsonEncode(puzzleDTO).toString()); + widget.onChanged(puzzleDTO); }); } }, @@ -124,7 +128,7 @@ class _PuzzleConfigState extends State { try { puzzleDTO.rows = int.parse(value); setState(() { - widget.onChanged(jsonEncode(puzzleDTO).toString()); + widget.onChanged(puzzleDTO); }); } catch (e) { print('Puzzle rows not a number'); @@ -144,7 +148,7 @@ class _PuzzleConfigState extends State { try { puzzleDTO.cols = int.parse(value); setState(() { - widget.onChanged(jsonEncode(puzzleDTO).toString()); + widget.onChanged(puzzleDTO); }); } catch (e) { print('Puzzle rows not a number'); diff --git a/lib/Screens/Configurations/Section/SubSection/Quizz/quizz_config.dart b/lib/Screens/Configurations/Section/SubSection/Quizz/quizz_config.dart index e6fe042..bbb20ed 100644 --- a/lib/Screens/Configurations/Section/SubSection/Quizz/quizz_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Quizz/quizz_config.dart @@ -16,7 +16,7 @@ class QuizzConfig extends StatefulWidget { final String? color; final String? label; final QuizDTO initialValue; - final ValueChanged onChanged; + final ValueChanged onChanged; const QuizzConfig({ Key? key, this.color, @@ -36,9 +36,9 @@ class _QuizzConfigState extends State { void initState() { super.initState(); quizzDTO = widget.initialValue; - List test = new List.from(quizzDTO.questions!); - quizzDTO.questions = test; - quizzDTO.questions!.sort((a, b) => a.order!.compareTo(b.order!)); + //List test = new List.from(quizzDTO.questions!); + //quizzDTO.questions = test; + //quizzDTO.questions!.sort((a, b) => a.order!.compareTo(b.order!)); } @override @@ -61,7 +61,7 @@ class _QuizzConfigState extends State { i++; }); - widget.onChanged(jsonEncode(quizzDTO).toString()); + widget.onChanged(quizzDTO); }, ); } @@ -190,9 +190,9 @@ class _QuizzConfigState extends State { setState(() { result.order = quizzDTO.questions!.length; quizzDTO.questions!.add(result); - widget.onChanged(jsonEncode(quizzDTO).toString()); + widget.onChanged(quizzDTO); }); - }, + }, child: Container( height: MediaQuery.of(context).size.width * 0.04, width: MediaQuery.of(context).size.width * 0.04, @@ -269,7 +269,7 @@ class _QuizzConfigState extends State { setState(() { quizzDTO.questions![question.order!] = result; - widget.onChanged(jsonEncode(quizzDTO).toString()); + widget.onChanged(quizzDTO); }); }, child: Padding( @@ -288,7 +288,7 @@ class _QuizzConfigState extends State { onTap: () { setState(() { quizzDTO.questions!.removeAt(question.order!); - widget.onChanged(jsonEncode(quizzDTO).toString()); + widget.onChanged(quizzDTO); }); }, child: Padding( @@ -361,10 +361,10 @@ class _QuizzConfigState extends State { quizzDTO.greatLevel = levelDTO; break; } - widget.onChanged(jsonEncode(quizzDTO).toString()); + widget.onChanged(quizzDTO); }); } - }, 1, [], context); + }, 1, [ResourceType.Image, ResourceType.ImageUrl, ResourceType.Video, ResourceType.VideoUrl, ResourceType.Audio], context); } } diff --git a/lib/Screens/Configurations/Section/SubSection/Slider/new_update_image_slider.dart b/lib/Screens/Configurations/Section/SubSection/Slider/new_update_image_slider.dart index 2ea5e83..3947ec5 100644 --- a/lib/Screens/Configurations/Section/SubSection/Slider/new_update_image_slider.dart +++ b/lib/Screens/Configurations/Section/SubSection/Slider/new_update_image_slider.dart @@ -61,10 +61,7 @@ Future showNewOrUpdateContentSlider(ContentDTO? inputContentDTO, Ap contentDTO.resource = null; } else { contentDTO.resourceId = resource.id; - contentDTO.resource = ResourceDTO(); - contentDTO.resource!.url = resource.url; - contentDTO.resource!.type = resource.type; - contentDTO.resource!.label = resource.label; + contentDTO.resource = resource; } }, isSmall: true diff --git a/lib/Screens/Configurations/Section/SubSection/Slider/slider_config.dart b/lib/Screens/Configurations/Section/SubSection/Slider/slider_config.dart index 6aa8fd8..ba1e611 100644 --- a/lib/Screens/Configurations/Section/SubSection/Slider/slider_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Slider/slider_config.dart @@ -12,7 +12,7 @@ class SliderConfig extends StatefulWidget { final String? color; final String? label; final SliderDTO initialValue; - final ValueChanged onChanged; + final ValueChanged onChanged; const SliderConfig({ Key? key, this.color, @@ -59,7 +59,7 @@ class _SliderConfigState extends State { i++; }); - widget.onChanged(jsonEncode(sliderDTO).toString()); + widget.onChanged(sliderDTO); }, ); } @@ -88,7 +88,7 @@ class _SliderConfigState extends State { testToSend = testToSend.where((element) => element.resource != null && element.resource?.url != null).toList(); var sliderToSend = new SliderDTO(); sliderToSend.contents = testToSend; - widget.onChanged(jsonEncode(sliderToSend).toString()); + widget.onChanged(sliderToSend); }); }, true, // show titles @@ -108,7 +108,7 @@ class _SliderConfigState extends State { setState(() { result.order = sliderDTO.contents!.length; sliderDTO.contents!.add(result); - widget.onChanged(jsonEncode(sliderDTO).toString()); + widget.onChanged(sliderDTO); }); } }, diff --git a/lib/Screens/Configurations/Section/SubSection/Video/video_config.dart b/lib/Screens/Configurations/Section/SubSection/Video/video_config.dart new file mode 100644 index 0000000..8c2186f --- /dev/null +++ b/lib/Screens/Configurations/Section/SubSection/Video/video_config.dart @@ -0,0 +1,46 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:manager_app/Components/string_input_container.dart'; +import 'package:manager_api_new/api.dart'; +import 'dart:convert'; + +class VideoConfig extends StatefulWidget { + final String? color; + final String? label; + final VideoDTO initialValue; + final ValueChanged onChanged; + const VideoConfig({ + Key? key, + this.color, + this.label, + required this.initialValue, + required this.onChanged, + }) : super(key: key); + + @override + _VideoConfigState createState() => _VideoConfigState(); +} + +class _VideoConfigState extends State { + late VideoDTO resourceSource; + + @override + void initState() { + VideoDTO test = widget.initialValue; + resourceSource = test; + super.initState(); + } + + @override + Widget build(BuildContext context) { + return StringInputContainer( + label: widget.label!, + initialValue: resourceSource.source_ == null ? '': resourceSource.source_, + onChanged: (String url) { + resourceSource.source_ = url; + widget.onChanged(resourceSource); + }, + isUrl: true, + ); + } +} diff --git a/lib/Screens/Configurations/Section/SubSection/Weather/weather_config.dart b/lib/Screens/Configurations/Section/SubSection/Weather/weather_config.dart index da2d139..03dc642 100644 --- a/lib/Screens/Configurations/Section/SubSection/Weather/weather_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Weather/weather_config.dart @@ -7,7 +7,7 @@ import 'dart:convert'; class WeatherConfig extends StatefulWidget { final String? color; final WeatherDTO initialValue; - final ValueChanged onChanged; // To return video or web url + final ValueChanged onChanged; // To return video or web url const WeatherConfig({ Key? key, this.color, @@ -36,7 +36,7 @@ class _WeatherConfigState extends State { initialValue: resourceSource.city == null ? '': resourceSource.city, onChanged: (String city) { resourceSource.city = city; - widget.onChanged(jsonEncode(resourceSource).toString()); + widget.onChanged(resourceSource); }, isUrl: true, ); diff --git a/lib/Screens/Configurations/Section/SubSection/WebOrVideo/web_video_config.dart b/lib/Screens/Configurations/Section/SubSection/WebOrVideo/web_config.dart similarity index 73% rename from lib/Screens/Configurations/Section/SubSection/WebOrVideo/web_video_config.dart rename to lib/Screens/Configurations/Section/SubSection/WebOrVideo/web_config.dart index ecd50db..ab94e88 100644 --- a/lib/Screens/Configurations/Section/SubSection/WebOrVideo/web_video_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/WebOrVideo/web_config.dart @@ -4,12 +4,12 @@ import 'package:manager_app/Components/string_input_container.dart'; import 'package:manager_api_new/api.dart'; import 'dart:convert'; -class WebOrVideoConfig extends StatefulWidget { +class WebConfig extends StatefulWidget { final String? color; final String? label; final WebDTO initialValue; - final ValueChanged onChanged; // To return video or web url - const WebOrVideoConfig({ + final ValueChanged onChanged; + const WebConfig({ Key? key, this.color, this.label, @@ -18,10 +18,10 @@ class WebOrVideoConfig extends StatefulWidget { }) : super(key: key); @override - _WebOrVideoConfigState createState() => _WebOrVideoConfigState(); + _WebConfigState createState() => _WebConfigState(); } -class _WebOrVideoConfigState extends State { +class _WebConfigState extends State { late WebDTO resourceSource; // WebDTO == VideoDTO @override @@ -38,7 +38,7 @@ class _WebOrVideoConfigState extends State { initialValue: resourceSource.source_ == null ? '': resourceSource.source_, onChanged: (String url) { resourceSource.source_ = url; - widget.onChanged(jsonEncode(resourceSource).toString()); + widget.onChanged(resourceSource); }, isUrl: true, ); diff --git a/lib/Screens/Configurations/Section/section_detail_screen.dart b/lib/Screens/Configurations/Section/section_detail_screen.dart index b0ee108..97ec6df 100644 --- a/lib/Screens/Configurations/Section/section_detail_screen.dart +++ b/lib/Screens/Configurations/Section/section_detail_screen.dart @@ -15,7 +15,8 @@ import 'package:manager_app/Components/number_input_container.dart'; import 'package:manager_app/Components/rounded_button.dart'; import 'package:manager_app/Components/string_input_container.dart'; import 'package:manager_app/Models/managerContext.dart'; -import 'package:manager_app/Screens/Configurations/Section/SubSection/WebOrVideo/web_video_config.dart'; +import 'package:manager_app/Screens/Configurations/Section/SubSection/Video/video_config.dart'; +import 'package:manager_app/Screens/Configurations/Section/SubSection/WebOrVideo/web_config.dart'; import 'package:manager_app/app_context.dart'; import 'package:manager_app/client.dart'; import 'package:manager_app/constants.dart'; @@ -407,6 +408,7 @@ class _SectionDetailScreenState extends State { } Future save(bool isTraduction, AppContext appContext) async { + updateSectionDetail(); SectionDTO? section = await (appContext.getContext() as ManagerAppContext).clientAPI!.sectionApi!.sectionUpdate(sectionDetailDTO); ManagerAppContext managerAppContext = appContext.getContext(); managerAppContext.selectedSection = section; @@ -435,22 +437,28 @@ class _SectionDetailScreenState extends State { sectionDetailDTO = sliderDTO; return SliderConfig( initialValue: sliderDTO, - onChanged: (String data) { - // TODO DO something - /*sectionDTO.data = data; - save(false, sectionDTO, appContext);*/ + onChanged: (SliderDTO changedSlider) { + sectionDetailDTO = changedSlider; }, ); case SectionType.Video: + VideoDTO videoDTO = VideoDTO.fromJson(rawSectionData)!; + sectionDetailDTO = videoDTO; + return VideoConfig( + label: "Url de la vidéo:", + initialValue: videoDTO, + onChanged: (VideoDTO updatedWebDTO) { + sectionDetailDTO = updatedWebDTO; + }, + ); case SectionType.Web: WebDTO webDTO = WebDTO.fromJson(rawSectionData)!; sectionDetailDTO = webDTO; - return WebOrVideoConfig( - label: sectionDTO.type == SectionType.Video ? "Url de la vidéo:": "Url du site web:", + return WebConfig( + label: "Url du site web:", initialValue: webDTO, - onChanged: (String data) { - // TODO DO something - //sectionDTO.data = data; + onChanged: (WebDTO updatedWebDTO) { + sectionDetailDTO = updatedWebDTO; }, ); case SectionType.Menu: @@ -467,8 +475,8 @@ class _SectionDetailScreenState extends State { sectionDetailDTO = quizDTO; return QuizzConfig( initialValue: quizDTO, - onChanged: (String data) { - //sectionDTO.data = data; + onChanged: (QuizDTO updatedQuiz) { + sectionDetailDTO = updatedQuiz; }, ); case SectionType.Article: @@ -486,9 +494,8 @@ class _SectionDetailScreenState extends State { sectionDetailDTO = pdfDTO; return PDFConfig( initialValue: pdfDTO, - onChanged: (String data) { - //sectionDTO.data = data; - //save(false, sectionDTO, appContext); + onChanged: (PdfDTO changedPDF) { + sectionDetailDTO = changedPDF; }, ); case SectionType.Puzzle: @@ -496,8 +503,8 @@ class _SectionDetailScreenState extends State { sectionDetailDTO = puzzleDTO; return PuzzleConfig( initialValue: puzzleDTO, - onChanged: (String data) { - //sectionDTO.data = data; + onChanged: (PuzzleDTO updatedPuzzle) { + sectionDetailDTO = updatedPuzzle; }, ); case SectionType.Agenda: @@ -505,9 +512,8 @@ class _SectionDetailScreenState extends State { sectionDetailDTO = agendaDTO; return AgendaConfig( initialValue: agendaDTO, - onChanged: (String data) { - /*sectionDTO.data = data; - save(false, sectionDTO, appContext);*/ + onChanged: (AgendaDTO updatedAgenda) { + sectionDetailDTO = updatedAgenda; }, ); case SectionType.Weather: @@ -515,13 +521,218 @@ class _SectionDetailScreenState extends State { sectionDetailDTO = weatherDTO; return WeatherConfig( initialValue: weatherDTO, - onChanged: (String data) { - //sectionDTO.data = data; - //save(false, sectionDTO, appContext); + onChanged: (WeatherDTO updatedWeather) { + sectionDetailDTO = updatedWeather; }, ); } } + + updateSectionDetail() { + switch(sectionDTO.type) + { + case SectionType.Map: + (sectionDetailDTO as MapDTO).id = sectionDTO.id; + (sectionDetailDTO as MapDTO).order = sectionDTO.order; + (sectionDetailDTO as MapDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as MapDTO).type = sectionDTO.type; + (sectionDetailDTO as MapDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as MapDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as MapDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as MapDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as MapDTO).label = sectionDTO.label; + (sectionDetailDTO as MapDTO).title = sectionDTO.title; + (sectionDetailDTO as MapDTO).description = sectionDTO.description; + (sectionDetailDTO as MapDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as MapDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as MapDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as MapDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as MapDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as MapDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as MapDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Slider: + (sectionDetailDTO as SliderDTO).id = sectionDTO.id; + (sectionDetailDTO as SliderDTO).order = sectionDTO.order; + (sectionDetailDTO as SliderDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as SliderDTO).type = sectionDTO.type; + (sectionDetailDTO as SliderDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as SliderDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as SliderDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as SliderDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as SliderDTO).label = sectionDTO.label; + (sectionDetailDTO as SliderDTO).title = sectionDTO.title; + (sectionDetailDTO as SliderDTO).description = sectionDTO.description; + (sectionDetailDTO as SliderDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as SliderDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as SliderDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as SliderDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as SliderDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as SliderDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as SliderDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Video: + (sectionDetailDTO as VideoDTO).id = sectionDTO.id; + (sectionDetailDTO as VideoDTO).order = sectionDTO.order; + (sectionDetailDTO as VideoDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as VideoDTO).type = sectionDTO.type; + (sectionDetailDTO as VideoDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as VideoDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as VideoDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as VideoDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as VideoDTO).label = sectionDTO.label; + (sectionDetailDTO as VideoDTO).title = sectionDTO.title; + (sectionDetailDTO as VideoDTO).description = sectionDTO.description; + (sectionDetailDTO as VideoDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as VideoDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as VideoDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as VideoDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as VideoDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as VideoDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as VideoDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Web: + (sectionDetailDTO as WebDTO).id = sectionDTO.id; + (sectionDetailDTO as WebDTO).order = sectionDTO.order; + (sectionDetailDTO as WebDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as WebDTO).type = sectionDTO.type; + (sectionDetailDTO as WebDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as WebDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as WebDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as WebDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as WebDTO).label = sectionDTO.label; + (sectionDetailDTO as WebDTO).title = sectionDTO.title; + (sectionDetailDTO as WebDTO).description = sectionDTO.description; + (sectionDetailDTO as WebDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as WebDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as WebDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as WebDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as WebDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as WebDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as WebDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Menu: + (sectionDetailDTO as MenuDTO).id = sectionDTO.id; + (sectionDetailDTO as MenuDTO).order = sectionDTO.order; + (sectionDetailDTO as MenuDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as MenuDTO).type = sectionDTO.type; + (sectionDetailDTO as MenuDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as MenuDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as MenuDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as MenuDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as MenuDTO).label = sectionDTO.label; + (sectionDetailDTO as MenuDTO).title = sectionDTO.title; + (sectionDetailDTO as MenuDTO).description = sectionDTO.description; + (sectionDetailDTO as MenuDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as MenuDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as MenuDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as MenuDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as MenuDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as MenuDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as MenuDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Quiz: + (sectionDetailDTO as QuizDTO).id = sectionDTO.id; + (sectionDetailDTO as QuizDTO).order = sectionDTO.order; + (sectionDetailDTO as QuizDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as QuizDTO).type = sectionDTO.type; + (sectionDetailDTO as QuizDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as QuizDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as QuizDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as QuizDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as QuizDTO).label = sectionDTO.label; + (sectionDetailDTO as QuizDTO).title = sectionDTO.title; + (sectionDetailDTO as QuizDTO).description = sectionDTO.description; + (sectionDetailDTO as QuizDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as QuizDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as QuizDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as QuizDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as QuizDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as QuizDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as QuizDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Pdf: + (sectionDetailDTO as PdfDTO).id = sectionDTO.id; + (sectionDetailDTO as PdfDTO).order = sectionDTO.order; + (sectionDetailDTO as PdfDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as PdfDTO).type = sectionDTO.type; + (sectionDetailDTO as PdfDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as PdfDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as PdfDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as PdfDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as PdfDTO).label = sectionDTO.label; + (sectionDetailDTO as PdfDTO).title = sectionDTO.title; + (sectionDetailDTO as PdfDTO).description = sectionDTO.description; + (sectionDetailDTO as PdfDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as PdfDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as PdfDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as PdfDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as PdfDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as PdfDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as PdfDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Puzzle: + (sectionDetailDTO as PuzzleDTO).id = sectionDTO.id; + (sectionDetailDTO as PuzzleDTO).order = sectionDTO.order; + (sectionDetailDTO as PuzzleDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as PuzzleDTO).type = sectionDTO.type; + (sectionDetailDTO as PuzzleDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as PuzzleDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as PuzzleDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as PuzzleDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as PuzzleDTO).label = sectionDTO.label; + (sectionDetailDTO as PuzzleDTO).title = sectionDTO.title; + (sectionDetailDTO as PuzzleDTO).description = sectionDTO.description; + (sectionDetailDTO as PuzzleDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as PuzzleDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as PuzzleDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as PuzzleDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as PuzzleDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as PuzzleDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as PuzzleDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Agenda: + (sectionDetailDTO as AgendaDTO).id = sectionDTO.id; + (sectionDetailDTO as AgendaDTO).order = sectionDTO.order; + (sectionDetailDTO as AgendaDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as AgendaDTO).type = sectionDTO.type; + (sectionDetailDTO as AgendaDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as AgendaDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as AgendaDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as AgendaDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as AgendaDTO).label = sectionDTO.label; + (sectionDetailDTO as AgendaDTO).title = sectionDTO.title; + (sectionDetailDTO as AgendaDTO).description = sectionDTO.description; + (sectionDetailDTO as AgendaDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as AgendaDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as AgendaDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as AgendaDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as AgendaDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as AgendaDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as AgendaDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + case SectionType.Weather: + (sectionDetailDTO as WeatherDTO).id = sectionDTO.id; + (sectionDetailDTO as WeatherDTO).order = sectionDTO.order; + (sectionDetailDTO as WeatherDTO).dateCreation = sectionDTO.dateCreation; + (sectionDetailDTO as WeatherDTO).type = sectionDTO.type; + (sectionDetailDTO as WeatherDTO).instanceId = sectionDTO.instanceId; + (sectionDetailDTO as WeatherDTO).configurationId = sectionDTO.configurationId; + (sectionDetailDTO as WeatherDTO).isSubSection = sectionDTO.isSubSection; + (sectionDetailDTO as WeatherDTO).parentId = sectionDTO.parentId; + (sectionDetailDTO as WeatherDTO).label = sectionDTO.label; + (sectionDetailDTO as WeatherDTO).title = sectionDTO.title; + (sectionDetailDTO as WeatherDTO).description = sectionDTO.description; + (sectionDetailDTO as WeatherDTO).imageId = sectionDTO.imageId; + (sectionDetailDTO as WeatherDTO).imageSource = sectionDTO.imageSource; + (sectionDetailDTO as WeatherDTO).isBeacon = sectionDTO.isBeacon; + (sectionDetailDTO as WeatherDTO).beaconId = sectionDTO.beaconId; + (sectionDetailDTO as WeatherDTO).latitude = sectionDTO.latitude; + (sectionDetailDTO as WeatherDTO).longitude = sectionDTO.longitude; + (sectionDetailDTO as WeatherDTO).meterZoneGPS = sectionDTO.meterZoneGPS; + break; + } + } } Future getSection(String sectionId, Client client) async { diff --git a/lib/constants.dart b/lib/constants.dart index 87529a1..2953017 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -16,7 +16,7 @@ const kWhite = Color(0xFFFFFFFF); const kBlack = Color(0xFF000000); const kSuccess = Color(0xFF8bc34a); -const List section_types = ["Map", "Slider", "Video", "Web", "Menu", "Quizz", "Article", "PDF", "Puzzle", "Agenda", "Weather"]; +const List section_types = ["Map", "Slider", "Video", "Web", "Menu", "Quiz", "Article", "PDF", "Puzzle", "Agenda", "Weather"]; const List map_types = ["none", "normal", "satellite", "terrain", "hybrid"]; const List languages = ["FR", "NL", "EN", "DE", "IT", "ES", "CN", "PL", "AR", "UK"]; const List map_types_mapBox = ["standard", "streets", "outdoors", "light", "dark", "satellite", "satellite_streets"];