debug
This commit is contained in:
parent
e1968e14b0
commit
058633742e
@ -8,17 +8,28 @@ import 'package:oc_front/widgets/dialog/alert.dart';
|
||||
import 'package:json_string/json_string.dart';
|
||||
import 'package:oc_front/core/services/specialized_services/logs_service.dart';
|
||||
|
||||
bool isLoading = true;
|
||||
Map<String, bool> valid = {};
|
||||
class LogsWidget extends StatefulWidget {
|
||||
String? level;
|
||||
String search = "";
|
||||
|
||||
WorkflowExecution? exec;
|
||||
List<Log> logs = [];
|
||||
LogsWidget ({ Key? key, this.search = "", this.level, this.exec }): super(key: key);
|
||||
@override LogsWidgetState createState() => LogsWidgetState();
|
||||
}
|
||||
|
||||
class LogsWidgetState extends State<LogsWidget> {
|
||||
@override Widget build(BuildContext context) {
|
||||
if (!isLoading) {
|
||||
isLoading = true;
|
||||
Future.delayed(const Duration(milliseconds: 100), () {
|
||||
try { setState(() { });
|
||||
} catch (e) { /**/ }
|
||||
});
|
||||
return Container( height: getMainHeight(context) - 100,
|
||||
child: Center( child: CircularProgressIndicator()) );
|
||||
}
|
||||
if (widget.exec == null) {
|
||||
return Container();
|
||||
} else {
|
||||
@ -42,18 +53,18 @@ class LogsWidgetState extends State<LogsWidget> {
|
||||
end = (DateTime.parse(widget.exec!.startDate!).add( const Duration(days: 14)).microsecondsSinceEpoch).toString();
|
||||
}
|
||||
} catch(e) { /* */ }
|
||||
Future.delayed(const Duration(minutes: 1), () {
|
||||
try { setState(() {});
|
||||
} catch (e) { /**/ }
|
||||
});
|
||||
return FutureBuilder(future: LogsService().search(context, [], {
|
||||
"workflow_execution_id": widget.exec!.id,
|
||||
"start": start,
|
||||
"end": end
|
||||
}), builder: (a, b) {
|
||||
Future.delayed(const Duration(minutes: 1), () {
|
||||
try {
|
||||
setState(() {});
|
||||
} catch (e) {}
|
||||
});
|
||||
List<Log> logs = [];
|
||||
if (b.data != null && b.data!.data != null) {
|
||||
isLoading = false;
|
||||
var d = b.data!.data!;
|
||||
for( var r in d.result) {
|
||||
for (var element in r.logs) {
|
||||
@ -65,6 +76,10 @@ class LogsWidgetState extends State<LogsWidget> {
|
||||
}
|
||||
List<LogWidget> itemRows = logs.where((element) => (element.message?.toLowerCase().contains(widget.search.toLowerCase()) ?? true)
|
||||
&& (widget.level?.contains(element.level ?? "") ?? true) ).map((e) => LogWidget(item: e)).toList();
|
||||
if (isLoading) {
|
||||
return Container( height: getMainHeight(context) - 100,
|
||||
child: Center( child: CircularProgressIndicator()) );
|
||||
}
|
||||
return Stack( children: [
|
||||
SingleChildScrollView( child: itemRows.isEmpty ?
|
||||
Container( height: getMainHeight(context) - 100,
|
||||
|
@ -2,7 +2,6 @@ import 'package:oc_front/main.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:oc_front/widgets/logs.dart';
|
||||
import 'package:oc_front/models/workflow.dart';
|
||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||
import 'package:flutter_box_transform/flutter_box_transform.dart';
|
||||
import 'package:oc_front/widgets/lib/tranformablebox.dart' as fork;
|
||||
import 'package:oc_front/widgets/sheduler_items/scheduler_item.dart';
|
||||
@ -19,6 +18,7 @@ class ScheduleWidget extends StatefulWidget {
|
||||
bool loading = true;
|
||||
bool isList = true;
|
||||
bool isBox = true;
|
||||
String? selectedID;
|
||||
AbstractService<WorkflowExecutions> service = WorkflowExecutionService();
|
||||
ScheduleWidget ({ super.key, required this.start, required this.end,
|
||||
this.isBox =true, this.isList = true, this.loading = false});
|
||||
@ -62,7 +62,9 @@ class ScheduleWidgetState extends State<ScheduleWidget> {
|
||||
for (var wf in data[selected!] ?? (<WorkflowExecution>[])) {
|
||||
DateTime d2 = DateTime.parse(wf.startDate!).toLocal();
|
||||
children.add( InkWell(
|
||||
onTap: () => setState(() { selectedReal = wf.startDate; }),
|
||||
onTap: () => setState(() {
|
||||
selectedReal = wf.startDate;
|
||||
}),
|
||||
child: Container( margin: const EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(color: selectedReal != null && selectedReal == wf.startDate ? lightColor : Colors.transparent, width: 2),
|
||||
@ -94,12 +96,12 @@ class ScheduleWidgetState extends State<ScheduleWidget> {
|
||||
));
|
||||
}
|
||||
}
|
||||
String? selectedID;
|
||||
|
||||
WorkflowExecution? sel;
|
||||
if (selectedReal != null) {
|
||||
try {
|
||||
sel = data[selected!]!.firstWhere((element) => element.startDate == selectedReal);
|
||||
selectedID = sel.id;
|
||||
widget.selectedID = sel.id;
|
||||
} catch(e) { /* */ }
|
||||
}
|
||||
menuSize = isInfo ? getMainWidth(context) : (menuSize > getMainWidth(context) / 2 ? getMainWidth(context) / 2 : menuSize);
|
||||
@ -129,7 +131,9 @@ class ScheduleWidgetState extends State<ScheduleWidget> {
|
||||
child: Column(
|
||||
children: [
|
||||
Row( children: [
|
||||
InkWell( onTap: () => setState(() { widget.isDayPlanner = true; }),
|
||||
InkWell( onTap: () => setState(() {
|
||||
widget.isDayPlanner = true;
|
||||
}),
|
||||
child: Tooltip( message: "day planning", child:
|
||||
Container( height: 50, width: (isInfo ? getMainWidth(context) : (selected != null ? menuSize : 0)) / (selectedReal != null ? 2 : 1 ),
|
||||
alignment: Alignment.center,
|
||||
@ -139,7 +143,10 @@ class ScheduleWidgetState extends State<ScheduleWidget> {
|
||||
child: Icon(Icons.calendar_today_outlined, color: widget.isDayPlanner ? Colors.white : Colors.grey),
|
||||
)
|
||||
)),
|
||||
InkWell( onTap: () => setState(() { widget.isDayPlanner = false; }),
|
||||
InkWell( onTap: () => setState(() {
|
||||
widget.isDayPlanner = false;
|
||||
|
||||
}),
|
||||
child: Tooltip( message: "monitor task", child:
|
||||
Container( height: 50, width: selectedReal == null ? 0 : (
|
||||
(isInfo ? getMainWidth(context) : (selected != null ? menuSize : 0)) / 2),
|
||||
@ -158,8 +165,8 @@ class ScheduleWidgetState extends State<ScheduleWidget> {
|
||||
SingleChildScrollView( child: Column(
|
||||
mainAxisAlignment: children.isEmpty || widget.loading ? MainAxisAlignment.center : MainAxisAlignment.start,
|
||||
children: [
|
||||
...( widget.isDayPlanner ? children : ( selectedID != null ? [
|
||||
widget.loading ? const SpinKitCircle(color: Colors.white,) : LogsWidget(exec: sel, search: search, level: level)
|
||||
...( widget.isDayPlanner ? children : ( widget.selectedID != null ? [
|
||||
LogsWidget(exec: sel, search: search, level: level)
|
||||
] : [])),
|
||||
children.isEmpty ? Container( height: 100, alignment: Alignment.center, child: const Text("No event found", style: TextStyle(color: Colors.grey, fontSize: 20))) : Container()
|
||||
]),
|
||||
|
@ -1,6 +1,4 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_box_transform/flutter_box_transform.dart';
|
||||
import 'package:oc_front/core/sections/header/header.dart';
|
||||
import 'package:oc_front/main.dart';
|
||||
import 'package:oc_front/models/workflow.dart';
|
||||
import 'package:oc_front/widgets/sheduler_items/schedule.dart';
|
||||
@ -34,7 +32,9 @@ class SchedulerItemWidgetState extends State<SchedulerItemWidget> {
|
||||
widgets.add(InkWell(
|
||||
onTap: () => widget.parent?.setState(() {
|
||||
selected = selected != element || ev.startDate != selectedReal ? element : null;
|
||||
widget.parent!.widget.selectedID = selected;
|
||||
selectedReal = selected == null ? null : ev.startDate;
|
||||
print("there");
|
||||
if (selectedReal == null) {
|
||||
widget.parent!.widget.isDayPlanner = true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user