Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
3 Schweinehunde
Encrateia
Commits
33c7586e
Commit
33c7586e
authored
May 14, 2020
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
system generated tagGroups can only be inspected, not edited
parent
ed3ba5c9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
107 additions
and
6 deletions
+107
-6
lib/models/tag_group.dart
lib/models/tag_group.dart
+6
-2
lib/screens/show_tag_group_screen.dart
lib/screens/show_tag_group_screen.dart
+94
-0
lib/widgets/athlete_widgets/athlete_tag_group_widget.dart
lib/widgets/athlete_widgets/athlete_tag_group_widget.dart
+7
-4
No files found.
lib/models/tag_group.dart
View file @
33c7586e
import
'package:encrateia/models/tag.dart'
;
import
'package:encrateia/models/tag.dart'
;
import
'package:encrateia/utils/my_color.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:encrateia/model/model.dart'
;
import
'package:encrateia/model/model.dart'
;
import
'package:encrateia/models/athlete.dart'
;
import
'package:encrateia/models/athlete.dart'
;
...
@@ -20,10 +21,11 @@ class TagGroup extends ChangeNotifier {
...
@@ -20,10 +21,11 @@ class TagGroup extends ChangeNotifier {
TagGroup
.
by
(
TagGroup
.
by
(
{
@required
Athlete
athlete
,
{
@required
Athlete
athlete
,
@required
String
name
,
@required
String
name
,
@required
bool
system
})
{
@required
bool
system
,
@required
int
color
})
{
db
=
DbTagGroup
()
db
=
DbTagGroup
()
..
athletesId
=
athlete
.
db
.
id
..
athletesId
=
athlete
.
db
.
id
..
color
=
C
olor
s
.
lightGreen
.
value
..
color
=
c
olor
..
system
=
system
..
system
=
system
..
name
=
name
;
..
name
=
name
;
}
}
...
@@ -39,6 +41,7 @@ class TagGroup extends ChangeNotifier {
...
@@ -39,6 +41,7 @@ class TagGroup extends ChangeNotifier {
name:
"Auto Heart Rate Zones"
,
name:
"Auto Heart Rate Zones"
,
athlete:
athlete
,
athlete:
athlete
,
system:
true
,
system:
true
,
color:
MyColor
.
grapeFruit
.
value
,
);
);
await
autoHeartRateZones
.
db
.
save
();
await
autoHeartRateZones
.
db
.
save
();
...
@@ -46,6 +49,7 @@ class TagGroup extends ChangeNotifier {
...
@@ -46,6 +49,7 @@ class TagGroup extends ChangeNotifier {
name:
"Auto Power Zones"
,
name:
"Auto Power Zones"
,
athlete:
athlete
,
athlete:
athlete
,
system:
true
,
system:
true
,
color:
MyColor
.
bitterSweet
.
value
,
);
);
await
autoPowerZonesTagGroup
.
db
.
save
();
await
autoPowerZonesTagGroup
.
db
.
save
();
}
}
...
...
lib/screens/show_tag_group_screen.dart
0 → 100644
View file @
33c7586e
import
'package:encrateia/utils/my_button.dart'
;
import
'package:encrateia/utils/my_color.dart'
;
import
'package:flutter/material.dart'
;
import
'package:encrateia/models/tag_group.dart'
;
import
'package:encrateia/models/tag.dart'
;
import
'package:flutter_material_color_picker/flutter_material_color_picker.dart'
;
class
ShowTagGroupScreen
extends
StatefulWidget
{
final
TagGroup
tagGroup
;
const
ShowTagGroupScreen
({
Key
key
,
this
.
tagGroup
})
:
super
(
key:
key
);
@override
_AddTagGroupScreenState
createState
()
=>
_AddTagGroupScreenState
();
}
class
_AddTagGroupScreenState
extends
State
<
ShowTagGroupScreen
>
{
List
<
Tag
>
tags
=
[];
int
offset
=
0
;
int
rows
;
@override
void
initState
()
{
getData
();
super
.
initState
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
appBar:
AppBar
(
backgroundColor:
MyColor
.
settings
,
title:
Text
(
'Show Tag Group'
),
),
body:
ListView
(
padding:
EdgeInsets
.
only
(
left:
20
,
right:
20
),
children:
<
Widget
>[
TextFormField
(
decoration:
InputDecoration
(
labelText:
"Name"
),
initialValue:
widget
.
tagGroup
.
db
.
name
,
readOnly:
true
,
),
SizedBox
(
height:
20
),
Row
(
children:
[
Text
(
"Color"
),
Spacer
(),
CircleAvatar
(
backgroundColor:
Color
(
widget
.
tagGroup
.
db
.
color
),
radius:
20.0
,
),
Spacer
(),
]),
SizedBox
(
height:
20
),
DataTable
(
headingRowHeight:
kMinInteractiveDimension
*
0.80
,
dataRowHeight:
kMinInteractiveDimension
*
0.75
,
columnSpacing:
20
,
horizontalMargin:
10
,
columns:
<
DataColumn
>[
DataColumn
(
label:
Text
(
"Tag"
)),
DataColumn
(
label:
Text
(
"Color"
)),
],
rows:
tags
.
map
((
Tag
tag
)
{
return
DataRow
(
key:
Key
(
tag
.
db
.
id
.
toString
()),
cells:
[
DataCell
(
Text
(
tag
.
db
.
name
)),
DataCell
(
CircleColor
(
circleSize:
20
,
elevation:
0
,
color:
Color
(
tag
.
db
.
color
),
)),
],
);
}).
toList
(),
),
SizedBox
(
height:
10
),
Row
(
mainAxisAlignment:
MainAxisAlignment
.
end
,
children:
<
Widget
>[
SizedBox
(
width:
5
),
MyButton
.
cancel
(
onPressed:
()
=>
Navigator
.
of
(
context
).
pop
()),
],
),
],
),
);
}
getData
()
async
{
tags
=
await
widget
.
tagGroup
.
tags
;
setState
(()
{});
}
}
lib/widgets/athlete_widgets/athlete_tag_group_widget.dart
View file @
33c7586e
import
'package:encrateia/screens/add_tag_group_screen.dart'
;
import
'package:encrateia/screens/add_tag_group_screen.dart'
;
import
'package:encrateia/screens/show_tag_group_screen.dart'
;
import
'package:encrateia/utils/my_button.dart'
;
import
'package:encrateia/utils/my_button.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:encrateia/models/athlete.dart'
;
import
'package:encrateia/models/athlete.dart'
;
...
@@ -62,14 +63,16 @@ class _AthleteTagGroupWidgetState extends State<AthleteTagGroupWidget> {
...
@@ -62,14 +63,16 @@ class _AthleteTagGroupWidgetState extends State<AthleteTagGroupWidget> {
color:
Color
(
tagGroup
.
db
.
color
),
color:
Color
(
tagGroup
.
db
.
color
),
)),
)),
DataCell
(
DataCell
(
MyIcon
.
edit
,
tagGroup
.
db
.
system
?
MyIcon
.
show
:
MyIcon
.
edit
,
onTap:
()
async
{
onTap:
()
async
{
await
Navigator
.
push
(
await
Navigator
.
push
(
context
,
context
,
MaterialPageRoute
(
MaterialPageRoute
(
builder:
(
context
)
=>
AddTagGroupScreen
(
builder:
(
context
)
{
tagGroup:
tagGroup
,
if
(
tagGroup
.
db
.
system
)
),
return
ShowTagGroupScreen
(
tagGroup:
tagGroup
);
else
return
AddTagGroupScreen
(
tagGroup:
tagGroup
);
},
),
),
);
);
getData
();
getData
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment