can open the item menu on the right click for variables

This commit is contained in:
Clement
2024-10-05 23:10:29 -03:00
parent 4c3002c20b
commit f280e2c95a

View File

@ -48,76 +48,83 @@ class SidebarEnvironmentCard extends StatelessWidget {
bool isSelected = selectedId == id; bool isSelected = selectedId == id;
bool inEditMode = editRequestId == id; bool inEditMode = editRequestId == id;
String nm = getEnvironmentTitle(name); String nm = getEnvironmentTitle(name);
return Tooltip( return GestureDetector(
message: nm, onSecondaryTapUp: (isGlobal)
triggerMode: TooltipTriggerMode.manual, ? null
waitDuration: const Duration(seconds: 1), : (TapUpDetails details) {
child: Card( showItemCardMenu(context, details, onMenuSelected);
shape: const RoundedRectangleBorder( },
borderRadius: kBorderRadius8, child: Tooltip(
), message: nm,
elevation: isSelected ? 1 : 0, triggerMode: TooltipTriggerMode.manual,
surfaceTintColor: isSelected ? surfaceTint : null, waitDuration: const Duration(seconds: 1),
color: isSelected && !isGlobal child: Card(
? colorScheme.brightness == Brightness.dark shape: const RoundedRectangleBorder(
? colorVariant borderRadius: kBorderRadius8,
: color ),
: color, elevation: isSelected ? 1 : 0,
margin: EdgeInsets.zero, surfaceTintColor: isSelected ? surfaceTint : null,
child: InkWell( color: isSelected && !isGlobal
borderRadius: kBorderRadius8, ? colorScheme.brightness == Brightness.dark
hoverColor: colorVariant, ? colorVariant
focusColor: colorVariant.withOpacity(0.5), : color
onTap: inEditMode ? null : onTap, : color,
onSecondaryTap: onSecondaryTap, margin: EdgeInsets.zero,
child: Padding( child: InkWell(
padding: EdgeInsets.only( borderRadius: kBorderRadius8,
left: 6, hoverColor: colorVariant,
right: isSelected ? 6 : 10, focusColor: colorVariant.withOpacity(0.5),
top: 5, onTap: inEditMode ? null : onTap,
bottom: 5, onSecondaryTap: onSecondaryTap,
), child: Padding(
child: SizedBox( padding: EdgeInsets.only(
height: 20, left: 6,
child: Row( right: isSelected ? 6 : 10,
children: [ top: 5,
kHSpacer4, bottom: 5,
Expanded( ),
child: inEditMode child: SizedBox(
? TextFormField( height: 20,
key: ValueKey("$id-name"), child: Row(
initialValue: name, children: [
focusNode: focusNode, kHSpacer4,
style: Theme.of(context).textTheme.bodyMedium, Expanded(
onTapOutside: (_) { child: inEditMode
onTapOutsideNameEditor?.call(); ? TextFormField(
}, key: ValueKey("$id-name"),
onFieldSubmitted: (value) { initialValue: name,
onTapOutsideNameEditor?.call(); focusNode: focusNode,
}, style: Theme.of(context).textTheme.bodyMedium,
onChanged: onChangedNameEditor, onTapOutside: (_) {
decoration: const InputDecoration( onTapOutsideNameEditor?.call();
isCollapsed: true, },
contentPadding: EdgeInsets.zero, onFieldSubmitted: (value) {
border: InputBorder.none, onTapOutsideNameEditor?.call();
},
onChanged: onChangedNameEditor,
decoration: const InputDecoration(
isCollapsed: true,
contentPadding: EdgeInsets.zero,
border: InputBorder.none,
),
)
: Text(
nm,
softWrap: false,
overflow: TextOverflow.fade,
), ),
) ),
: Text( Visibility(
nm, visible: isSelected && !inEditMode && !isGlobal,
softWrap: false, child: SizedBox(
overflow: TextOverflow.fade, width: 28,
), child: ItemCardMenu(
), onSelected: onMenuSelected,
Visibility( ),
visible: isSelected && !inEditMode && !isGlobal,
child: SizedBox(
width: 28,
child: ItemCardMenu(
onSelected: onMenuSelected,
), ),
), ),
), ],
], ),
), ),
), ),
), ),