这是我正在使用的节点模板:
$results = [];
foreach($calendar_events as $calendar_event)
{
$ev = [];
$ev["title"] = $calendar_event->name;
$ev["color"] = $calendar_event->calendar->color ?? "f47d30";
$ev["start"] = Carbon::parse($calendar_event->start)->format("Y-m-d");
$ev["end"] = Carbon::parse($calendar_event->end)->format("Y-m-d");
if (!$calendar_event->is_allday)
{
$ev["start"] = Carbon::parse($calendar_event->start."T".$calendar_event->start_time)->format("Y-m-d\TH:i:s");
$ev["end"] = Carbon::parse($calendar_event->end."T".$calendar_event->end_time)->format("Y-m-d\TH:i:s");
$ev["allDay"] = false;
}
if (!empty($calendar_event->url))
{
$ev["url"] = $calendar_event->url;
}
$results[] = $ev;
}
return response($results);
您可以看到该节点的默认颜色是#f8da07,但实际上它是由节点自身的color属性通过“ new go.Binding(“ fill”,“ color”)“行编写的。
事实上,我无法知道哪个是所选节点的当前颜色代码。
我希望能够在选择节点时将其颜色更改为“#e1e1e1”,但是我还希望在不选择时将其颜色更改回旧颜色(而不是“#f8da07”)。
有适当的方法吗?
任何帮助将不胜感激!谢谢
答案 0 :(得分:1)
$(go.Shape,
{ fill: "#f8da07" }, // default color
new go.Binding("fill", "color"),
new go.Binding("fill", "isSelected", function(sel, shape) {
return sel ? "#e1e1e1" : shape.part.data.color || "#f8da07";
}).ofObject()),