public function getDiffDataForEditmode($data, $object = null, $params = [])
{
$return = [];
$myname = $this->getName();
if (!$data instanceof Object\Localizedfield) {
return [];
}
foreach ($data->getItems() as $language => $values) {
foreach ($this->getFieldDefinitions() as $fd) {
$fieldname = $fd->getName();
$subdata = $fd->getDiffDataForEditmode($values[$fieldname], $object, $params);
foreach ($subdata as $item) {
$diffdata["field"] = $this->getName();
$diffdata["key"] = $this->getName() . "~" . $fieldname . "~" . $item["key"] . "~" . $language;
$diffdata["type"] = $item["type"];
$diffdata["value"] = $item["value"];
// this is not needed anymoe
unset($item["type"]);
unset($item["value"]);
$diffdata["title"] = $this->getName() . " / " . $item["title"];
$diffdata["lang"] = $language;
$diffdata["data"] = $item;
$diffdata["extData"] = ["fieldname" => $fieldname];
$diffdata["disabled"] = $item["disabled"];
$return[] = $diffdata;
}
}
}
return $return;
}