{% if data.comment %}

{{ __("Comment") + " (" + data.comment_type }})

{{ data.comment }}

{% endif %} {% const getEscapedValue = (v) => v === null ? "null" : frappe.utils.escape_html(v) %} {% const htmlDiffs = (doc.__onload && doc.__onload.html_diffs) || {} %} {% if data.changed && data.changed.length %}

{{ __("Values Changed") }}

{% for item in data.changed %} {% if htmlDiffs[item[0]] %}
{{ frappe.meta.get_label(doc.ref_doctype, item[0]) }}
{{ htmlDiffs[item[0]] }}
{% endif %} {% endfor %} {% var hasSimpleChanges = data.changed.some(item => !htmlDiffs[item[0]]) %} {% if hasSimpleChanges %} {% for item in data.changed %} {% if !htmlDiffs[item[0]] %} {% endif %} {% endfor %}
{{ __("Property") }} {{ __("Original Value") }} {{ __("New Value") }}
{{ frappe.meta.get_label(doc.ref_doctype, item[0]) }} {{ getEscapedValue(item[1]) }} {{ getEscapedValue(item[2]) }}
{% endif %} {% endif %} {% var _keys = ["added", "removed"]; %} {% for key in _keys %} {% if data[key] && data[key].length %} {% var title = key==="added" ? __("Rows Added") : __("Rows Removed"); %}

{{ title }}

{% var values = data[key]; %} {% for item in values %} {% endfor %}
{{ __("Property") }} {{ title }}
{{ frappe.meta.get_label(doc.ref_doctype, item[0]) }} {% var item_keys = Object.keys(item[1]).sort(); %} {% for row_key in item_keys %} {% endfor %}
{{ row_key }} {{ getEscapedValue(item[1][row_key]) }}
{% endif %} {% endfor %} {% if data.row_changed && data.row_changed.length %}

{{ __("Row Values Changed") }}

{% var values = data.row_changed; %} {% for table_info in values %} {% var _changed = table_info[3]; %} {% for item in _changed %} {% endfor %} {% endfor %} {% endif %}
{{ __("Table Field") }} {{ __("Row #") }} {{ __("Property") }} {{ __("Original Value") }} {{ __("New Value") }}
{{ frappe.meta.get_label(doc.ref_doctype, table_info[0]) }} {{ table_info[1] }} {{ item[0] }} {{ getEscapedValue(item[1]) }} {{ getEscapedValue(item[2]) }}