Код: Выделить всё
async function handleDeselectElement()
{
console.assert(g.parentNode.tagName=='svg');
const idbox = parseInt(g.id.substring('g_'.length));
const selectedContextIndex = parseInt(g.parentElement.id);
const xForms = g.transform.baseVal;// an SVGTransformList
const firstXForm = xForms.getItem(0); //an SVGTransform
console.assert (firstXForm.type == SVGTransform.SVG_TRANSFORM_TRANSLATE);
const translateX = firstXForm.matrix.e;
const translateY = firstXForm.matrix.f;
const ret = await db.query(`
UPDATE translation t
SET x=${translateX}, y=${translateY}
FROM rectangle r
WHERE t.idrectangle=r.idrectangle
AND r.idbox=${idbox}
RETURNING *
`);
console.log(ret);
await enforce_bounding_rectangle(selectedContextIndex);
const links = await compute_links(selectedContextIndex);
// mycontexts.contexts[selectedContextIndex].links = await links;
document.getElementById(`links_${selectedContextIndex}`).innerHTML = drawLinks(links);
}
Код: Выделить всё
upload.addEventListener("click", async (evt)=>{
const ret = await db.query(`
SELECT json_build_object(
'diagram', (SELECT json_agg(row_to_json(diagram))::json FROM diagram),
'box', (SELECT json_agg(row_to_json(box))::json FROM box),
'field', (SELECT coalesce(json_agg(row_to_json(field))::json, '[]'::json) FROM field),
'value', (SELECT coalesce(json_agg(row_to_json(value))::json, '[]'::json) FROM value),
'link', (SELECT coalesce(json_agg(row_to_json(link))::json, '[]'::json) FROM link),
'tag', (SELECT json_agg(row_to_json(tag))::json FROM tag),
'message_tag', (SELECT coalesce(json_agg(row_to_json(message_tag))::json, '[]'::json) FROM message_tag),
'graph', (SELECT coalesce(json_agg(row_to_json(graph))::json, '[]'::json) FROM graph),
'rectangle', (SELECT json_agg(row_to_json(rectangle))::json FROM rectangle),
'translation', (SELECT json_agg(row_to_json(translation))::json FROM translation),
'polyline', (SELECT coalesce(json_agg(row_to_json(polyline))::json, '[]'::json) FROM polyline)
);
`);
const doc = ret.rows[0].json_build_object;
const json_doc = JSON.stringify(doc);
console.log(json_doc);
const response = await fetch(
//"https://www.diskloud.fr:3000/linkedboxdraw/post",
"https://109.11.33.79:8443/linkedboxdraw/post",
{
method: "POST",
body: json_doc,
headers: {"Content-Type": "application/json"}
}
);
console.log(response.status);
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... -of-select