From 8aa8eda6cef5dfe9b9a9f98d1fcf5f5623ef0dcd Mon Sep 17 00:00:00 2001 From: Eden Kirin Date: Thu, 23 May 2024 06:54:48 +0200 Subject: [PATCH] Tweaks --- media/introduction.excalidraw | 6987 +++++++++++++++++++++++++++++ project/main/views/filter_list.py | 12 +- 2 files changed, 6994 insertions(+), 5 deletions(-) create mode 100644 media/introduction.excalidraw diff --git a/media/introduction.excalidraw b/media/introduction.excalidraw new file mode 100644 index 0000000..ceced9f --- /dev/null +++ b/media/introduction.excalidraw @@ -0,0 +1,6987 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "Svy1dhMI8gJp6YGeHXLgI", + "type": "rectangle", + "x": 3377.9897129699075, + "y": 1920.8008136791755, + "width": 767.0643521053653, + "height": 250.41433367130549, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1h", + "roundness": { + "type": 3 + }, + "seed": 243800790, + "version": 99, + "versionNonce": 847375434, + "isDeleted": false, + "boundElements": null, + "updated": 1716394570441, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 88, + "versionNonce": 624645770, + "index": "b1h2", + "isDeleted": false, + "id": "a7-FRrLTfvKDFakIOmFOt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 997.7600708007812, + "y": 255.98453156904657, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 213.7599487304687, + "height": 73.59999084472656, + "seed": 380576607, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "YI8CBnnkVnHGhuLr54HiL" + }, + { + "id": "i5AQQ7ZarV4YFxCs0Kz63", + "type": "arrow" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 111, + "versionNonce": 1605545750, + "index": "b1h4", + "isDeleted": false, + "id": "YI8CBnnkVnHGhuLr54HiL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1040.1001281738281, + "y": 280.28452699140985, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.079833984375, + "height": 25, + "seed": 851375569, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "request page", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a7-FRrLTfvKDFakIOmFOt", + "originalText": "request page", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 357, + "versionNonce": 761525578, + "index": "b1h8", + "isDeleted": false, + "id": "uCMBt5oM1sE7EOgYsPHG-", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1575.991055774188, + "y": 252.37568958102065, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 239.6038316051197, + "height": 607.8309679284574, + "seed": 584943313, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "i5AQQ7ZarV4YFxCs0Kz63", + "type": "arrow" + }, + { + "id": "IYzBTAdohAxlwpo8Y72wB", + "type": "arrow" + }, + { + "id": "n6dVtqQpvOEO7a7jF9qNy", + "type": "arrow" + }, + { + "id": "I22ctEXqAdiI5u384DBGf", + "type": "arrow" + }, + { + "type": "text", + "id": "AgL2xpRbjmfMB-G0iBRuT" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 95, + "versionNonce": 1123572822, + "index": "b1hA", + "isDeleted": false, + "id": "AgL2xpRbjmfMB-G0iBRuT", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1643.3347501412009, + "y": 503.79117354524936, + "strokeColor": "#2f9e44", + "backgroundColor": "#a5d8ff", + "width": 104.91644287109375, + "height": 105, + "seed": 1223908305, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "server\n/\nbackend", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "uCMBt5oM1sE7EOgYsPHG-", + "originalText": "server\n/\nbackend", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 614, + "versionNonce": 1284160522, + "index": "b1hC", + "isDeleted": false, + "id": "i5AQQ7ZarV4YFxCs0Kz63", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1216.3007369286256, + "y": 292.46429527699854, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 358.69031884556216, + "height": 0.7026239865926982, + "seed": 749599089, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "a7-FRrLTfvKDFakIOmFOt", + "focus": -0.002742660163125879, + "gap": 4.780717397375611 + }, + "endBinding": { + "elementId": "uCMBt5oM1sE7EOgYsPHG-", + "focus": 0.8705112535000997, + "gap": 1.0000000000001137 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 358.69031884556216, + -0.7026239865926982 + ] + ] + }, + { + "type": "rectangle", + "version": 177, + "versionNonce": 597057942, + "index": "b1hG", + "isDeleted": false, + "id": "yL-wOPtAga4DCzsEPDyvu", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 992.6326344626895, + "y": 403.7642751182562, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "width": 342.6161954019434, + "height": 421.15620254939023, + "seed": 427245055, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "IYzBTAdohAxlwpo8Y72wB", + "type": "arrow" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 274, + "versionNonce": 1353362122, + "index": "b1hI", + "isDeleted": false, + "id": "Mms1c8Uskpv5ibTkF0bp7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1015.9670581574725, + "y": 679.7921652433489, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "width": 296.516653717499, + "height": 110.41130259645774, + "seed": 833500561, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "371rht64A9WrmIZHxvpEy", + "type": "text" + }, + { + "id": "gzYURN1hf13ks-A-rggyn", + "type": "arrow" + }, + { + "id": "yNipGcIxCQ_Aep575_A6T", + "type": "arrow" + }, + { + "id": "RNQ-gT6rmYIs56NDOJgx9", + "type": "arrow" + }, + { + "id": "GQ-dv4QvGlq3agdhviQs5", + "type": "arrow" + }, + { + "id": "6TXXjYtDCwXj0NI3U-KUB", + "type": "arrow" + }, + { + "id": "q-XjWw1WGShiGr0ZqQyPL", + "type": "arrow" + }, + { + "id": "n6dVtqQpvOEO7a7jF9qNy", + "type": "arrow" + }, + { + "id": "I22ctEXqAdiI5u384DBGf", + "type": "arrow" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 292, + "versionNonce": 1690418902, + "index": "b1hK", + "isDeleted": false, + "id": "371rht64A9WrmIZHxvpEy", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1078.925481146593, + "y": 697.4978165415778, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 170.5998077392578, + "height": 75, + "seed": 669209585, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "JS\n- handle elements\n- validation", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Mms1c8Uskpv5ibTkF0bp7", + "originalText": "JS\n- handle elements\n- validation", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 135, + "versionNonce": 274645386, + "index": "b1hO", + "isDeleted": false, + "id": "lvxXYJQK1FVaHqRfzioCp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1019.3818068591635, + "y": 434.4972848157351, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "width": 286.2724076124258, + "height": 167.32412470883668, + "seed": 1081568369, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "eMgXesWkkLhNuv-lS7kcL" + }, + { + "id": "gzYURN1hf13ks-A-rggyn", + "type": "arrow" + }, + { + "id": "yNipGcIxCQ_Aep575_A6T", + "type": "arrow" + }, + { + "id": "RNQ-gT6rmYIs56NDOJgx9", + "type": "arrow" + }, + { + "id": "GQ-dv4QvGlq3agdhviQs5", + "type": "arrow" + }, + { + "id": "6TXXjYtDCwXj0NI3U-KUB", + "type": "arrow" + }, + { + "id": "q-XjWw1WGShiGr0ZqQyPL", + "type": "arrow" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 107, + "versionNonce": 990868502, + "index": "b1hQ", + "isDeleted": false, + "id": "eMgXesWkkLhNuv-lS7kcL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1139.7980247034625, + "y": 505.6593471701534, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 45.439971923828125, + "height": 25, + "seed": 292205247, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "DOM", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "lvxXYJQK1FVaHqRfzioCp", + "originalText": "DOM", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 214, + "versionNonce": 1457651786, + "index": "b1hS", + "isDeleted": false, + "id": "gzYURN1hf13ks-A-rggyn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1046.7000678549516, + "y": 674.6700150525865, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 0.5691428757656922, + "height": 68.86465967410572, + "seed": 2147433361, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": -0.793626984523875, + "gap": 5.122150190762454 + }, + "endBinding": { + "elementId": "lvxXYJQK1FVaHqRfzioCp", + "focus": 0.796261649806803, + "gap": 3.9839458539089776 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0.5691428757656922, + -68.86465967410572 + ] + ] + }, + { + "type": "arrow", + "version": 214, + "versionNonce": 7635286, + "index": "b1hV", + "isDeleted": false, + "id": "yNipGcIxCQ_Aep575_A6T", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1083.124343480733, + "y": 605.2362125027149, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 1.7073743508456118, + "height": 73.41774840378037, + "seed": 458660319, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "lvxXYJQK1FVaHqRfzioCp", + "focus": 0.5332759401189757, + "gap": 3.4148029781431717 + }, + "endBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": -0.5625084062208102, + "gap": 1.1382043368536188 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -1.7073743508456118, + 73.41774840378037 + ] + ] + }, + { + "type": "arrow", + "version": 216, + "versionNonce": 1343186698, + "index": "b1hX", + "isDeleted": false, + "id": "RNQ-gT6rmYIs56NDOJgx9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1139.4682398231544, + "y": 675.2391579283523, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 0, + "height": 66.58819672394645, + "seed": 998927807, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": -0.16698654111114108, + "gap": 4.553007314996648 + }, + "endBinding": { + "elementId": "lvxXYJQK1FVaHqRfzioCp", + "focus": 0.16103382812519074, + "gap": 6.829551679834054 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + -66.58819672394645 + ] + ] + }, + { + "type": "arrow", + "version": 218, + "versionNonce": 138798742, + "index": "b1hZ", + "isDeleted": false, + "id": "GQ-dv4QvGlq3agdhviQs5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1173.6159982223242, + "y": 606.3744439777945, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 1.1382314750796922, + "height": 68.29557107479195, + "seed": 969023967, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "lvxXYJQK1FVaHqRfzioCp", + "focus": -0.08695880604483207, + "gap": 4.55303445322275 + }, + "endBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": 0.04857903840505609, + "gap": 5.122150190762454 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -1.1382314750796922, + 68.29557107479195 + ] + ] + }, + { + "type": "arrow", + "version": 217, + "versionNonce": 1952576970, + "index": "b1hd", + "isDeleted": false, + "id": "6TXXjYtDCwXj0NI3U-KUB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1231.6672689155912, + "y": 674.1009264532727, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 0.5691428757659196, + "height": 66.01905384818065, + "seed": 1703583295, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": 0.45696851810366934, + "gap": 5.691238790076227 + }, + "endBinding": { + "elementId": "lvxXYJQK1FVaHqRfzioCp", + "focus": -0.47133398834712303, + "gap": 6.260463080520282 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -0.5691428757659196, + -66.01905384818065 + ] + ] + }, + { + "type": "arrow", + "version": 211, + "versionNonce": 1933091798, + "index": "b1hf", + "isDeleted": false, + "id": "q-XjWw1WGShiGr0ZqQyPL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1264.1077072403677, + "y": 607.5127297293262, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 1.707320074393465, + "height": 70.57208830140326, + "seed": 841784959, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "lvxXYJQK1FVaHqRfzioCp", + "focus": -0.6849536307661266, + "gap": 5.691320204754476 + }, + "endBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": 0.6883069328544181, + "gap": 1.7073472126194247 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 1.707320074393465, + 70.57208830140326 + ] + ] + }, + { + "type": "arrow", + "version": 774, + "versionNonce": 737730390, + "index": "b1hh", + "isDeleted": false, + "id": "IYzBTAdohAxlwpo8Y72wB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1573.1765507448736, + "y": 446.18214843593796, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 232.2364006754865, + "height": 0.4320579395687787, + "seed": 1329881407, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Cd4t9aU3n4x0S1SxLN9c_" + } + ], + "updated": 1716395543254, + "link": null, + "locked": false, + "startBinding": { + "elementId": "uCMBt5oM1sE7EOgYsPHG-", + "focus": 0.3627860072223939, + "gap": 2.8145050293143186 + }, + "endBinding": { + "elementId": "yL-wOPtAga4DCzsEPDyvu", + "focus": -0.7937477990864492, + "gap": 5.691320204754277 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -232.2364006754865, + 0.4320579395687787 + ] + ] + }, + { + "type": "text", + "version": 55, + "versionNonce": 1999618954, + "index": "b1hl", + "isDeleted": false, + "id": "Cd4t9aU3n4x0S1SxLN9c_", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1429.8583687176772, + "y": 433.8981774057223, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 54.39996337890625, + "height": 25, + "seed": 590200305, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395542147, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTML", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IYzBTAdohAxlwpo8Y72wB", + "originalText": "HTML", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 87, + "versionNonce": 662866762, + "index": "b1hn", + "isDeleted": false, + "id": "NF5Y2ybZ8gmfVtycmAAJD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1019.9509497349295, + "y": 366.2017137409431, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 54.39996337890625, + "height": 25, + "seed": 1975575153, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTML", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "HTML", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 353, + "versionNonce": 1882596950, + "index": "b1hp", + "isDeleted": false, + "id": "n6dVtqQpvOEO7a7jF9qNy", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1316.4675491759763, + "y": 701.1702998178124, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 257.2470436480521, + "height": 3.1352636524960644, + "seed": 49184337, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "LrMpybzskayC_MPIRIeau" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": -0.5607889102131149, + "gap": 3.983837301004826 + }, + "endBinding": { + "elementId": "uCMBt5oM1sE7EOgYsPHG-", + "focus": -0.45929013739845265, + "gap": 2.276462950159498 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 257.2470436480521, + -3.1352636524960644 + ] + ] + }, + { + "type": "text", + "version": 52, + "versionNonce": 1919324682, + "index": "b1ht", + "isDeleted": false, + "id": "LrMpybzskayC_MPIRIeau", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1365.8619096346933, + "y": 706.5622095244114, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 104.95986938476562, + "height": 25, + "seed": 1057108753, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "save data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "n6dVtqQpvOEO7a7jF9qNy", + "originalText": "save data", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 363, + "versionNonce": 982182806, + "index": "b1hv", + "isDeleted": false, + "id": "I22ctEXqAdiI5u384DBGf", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1570.2996270165295, + "y": 761.3499758351714, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 254.97025503918098, + "height": 3.129462158180786, + "seed": 107013809, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "aAjOLk-Al962DYBk6u8_T" + } + ], + "updated": 1716395062846, + "link": null, + "locked": false, + "startBinding": { + "elementId": "uCMBt5oM1sE7EOgYsPHG-", + "focus": -0.6664306034754155, + "gap": 5.6914287576584 + }, + "endBinding": { + "elementId": "Mms1c8Uskpv5ibTkF0bp7", + "focus": 0.5495143286690237, + "gap": 2.845660102377053 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -254.97025503918098, + 3.129462158180786 + ] + ] + }, + { + "type": "text", + "version": 60, + "versionNonce": 949731530, + "index": "b1hx", + "isDeleted": false, + "id": "aAjOLk-Al962DYBk6u8_T", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1340.0608459946134, + "y": 760.3450443405645, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 151.4398193359375, + "height": 25, + "seed": 1927991633, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "response ok/err", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "I22ctEXqAdiI5u384DBGf", + "originalText": "response ok/err", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 526, + "versionNonce": 9767126, + "index": "b1i", + "isDeleted": false, + "id": "MU-CjorcPXKwMatrnSNcG", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1845.035662077982, + "y": 695.7922090080433, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 462.6395263671875, + "height": 125, + "seed": 1283843679, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "- events attached to DOM elements\n- JS event handlers\n- client side validation\n- (sometimes) backend validation\n- clunky error handling and controls invalidating", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "- events attached to DOM elements\n- JS event handlers\n- client side validation\n- (sometimes) backend validation\n- clunky error handling and controls invalidating", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 85, + "versionNonce": 1170020234, + "index": "b1j", + "isDeleted": false, + "id": "PgZeQLhSY28wyL5bWgjNq", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 992.5393176842113, + "y": 136.3745437254057, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 452.6219482421875, + "height": 35, + "seed": 1085748049, + "groupIds": [ + "5ibx8z4tiATJIqHtHOmgu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716395062846, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Standard HTML+JS architecture", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Standard HTML+JS architecture", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 231, + "versionNonce": 476653578, + "index": "b1j4", + "isDeleted": false, + "id": "_zP4_EOXRz0xslyBswNMY", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 882.4266153971357, + "y": 1868.206787699689, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 213.7599487304687, + "height": 73.59999084472656, + "seed": 973444682, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "Y-dgA6ClocVNiAUDX68wN", + "type": "arrow" + }, + { + "type": "text", + "id": "74aPz6yMtgcwYr_82HNO5" + } + ], + "updated": 1716395079599, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 253, + "versionNonce": 405058966, + "index": "b1j8", + "isDeleted": false, + "id": "74aPz6yMtgcwYr_82HNO5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 924.7666727701826, + "y": 1892.5067831220522, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.079833984375, + "height": 25, + "seed": 58542934, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395079599, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "request page", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_zP4_EOXRz0xslyBswNMY", + "originalText": "request page", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 501, + "versionNonce": 294947222, + "index": "b1jC", + "isDeleted": false, + "id": "EPFsrU5NRHP6hfFfXk5hY", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1460.6576003705425, + "y": 1864.5979457116632, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 239.6038316051197, + "height": 607.8309679284574, + "seed": 1984969994, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "Y-dgA6ClocVNiAUDX68wN", + "type": "arrow" + }, + { + "id": "PzCGZHgnJvjw7O2v7mfh5", + "type": "arrow" + }, + { + "id": "TKrKTzBlVIGbRuSzTRHcS", + "type": "arrow" + }, + { + "id": "HVuej59TnwPd1VxHTuGIS", + "type": "arrow" + } + ], + "updated": 1716395555407, + "link": null, + "locked": false + }, + { + "type": "arrow", + "version": 1048, + "versionNonce": 881995146, + "index": "b1jK", + "isDeleted": false, + "id": "Y-dgA6ClocVNiAUDX68wN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1100.96728152498, + "y": 1904.6865514076408, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 358.69031884556216, + "height": 0.7026239865926982, + "seed": 135793610, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": null, + "updated": 1716395079599, + "link": null, + "locked": false, + "startBinding": { + "elementId": "_zP4_EOXRz0xslyBswNMY", + "focus": -0.0027426601631289505, + "gap": 4.780717397375611 + }, + "endBinding": { + "elementId": "EPFsrU5NRHP6hfFfXk5hY", + "focus": 0.8705112535001008, + "gap": 1.0000000000001137 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 358.69031884556216, + -0.7026239865926982 + ] + ] + }, + { + "type": "rectangle", + "version": 319, + "versionNonce": 924370966, + "index": "b1jO", + "isDeleted": false, + "id": "i1dxAhiAuCuOwl3bTx7xD", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 877.2991790590438, + "y": 2015.9865312488987, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "width": 342.6161954019434, + "height": 421.15620254939023, + "seed": 773254614, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "PzCGZHgnJvjw7O2v7mfh5", + "type": "arrow" + } + ], + "updated": 1716395079599, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 285, + "versionNonce": 1116512138, + "index": "b1jd", + "isDeleted": false, + "id": "vxq0AnmvxeQQRKZK-qZzr", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 904.0483514555181, + "y": 2046.7195409463775, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "width": 286.2724076124258, + "height": 167.32412470883668, + "seed": 1227563338, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1716395193633, + "link": null, + "locked": false + }, + { + "type": "arrow", + "version": 1174, + "versionNonce": 1623463254, + "index": "b1kV", + "isDeleted": false, + "id": "PzCGZHgnJvjw7O2v7mfh5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1457.843095341228, + "y": 2058.4044045665805, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 232.2364006754865, + "height": 0.4320579395687787, + "seed": 800271434, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "TSosOMhe5e4EeuXxIJasd" + } + ], + "updated": 1716395537547, + "link": null, + "locked": false, + "startBinding": { + "elementId": "EPFsrU5NRHP6hfFfXk5hY", + "focus": 0.3627860072223941, + "gap": 2.8145050293143186 + }, + "endBinding": { + "elementId": "i1dxAhiAuCuOwl3bTx7xD", + "focus": -0.7937477990864473, + "gap": 5.691320204754561 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -232.2364006754865, + 0.4320579395687787 + ] + ] + }, + { + "type": "text", + "version": 205, + "versionNonce": 1279094154, + "index": "b1kd", + "isDeleted": false, + "id": "TSosOMhe5e4EeuXxIJasd", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1283.3349566489926, + "y": 2046.120433536365, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 116.77987670898438, + "height": 25, + "seed": 966530390, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395536403, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "initial HTML", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "PzCGZHgnJvjw7O2v7mfh5", + "originalText": "initial HTML", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 228, + "versionNonce": 690007242, + "index": "b1kl", + "isDeleted": false, + "id": "JwsR3sItGoqAU49RWUT0k", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 904.617494331284, + "y": 1978.4239698715855, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 54.39996337890625, + "height": 25, + "seed": 1306202890, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395079599, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTML", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "HTML", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 975, + "versionNonce": 1573803978, + "index": "b1l", + "isDeleted": false, + "id": "TKrKTzBlVIGbRuSzTRHcS", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1188.8943541329566, + "y": 2322.7804350546066, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 278.9018184367699, + "height": 85.12086215676982, + "seed": 1599797910, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "o9Icg7DITorS3M98zA1da" + } + ], + "updated": 1716395576445, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4Ok-2QqbGyROToxUVCmPd", + "focus": 0.06035186825348761, + "gap": 5.1229709914144905 + }, + "endBinding": { + "elementId": "1vxEUeboFuCFdcL8MuKXL", + "focus": 0.34114828310033424, + "gap": 5.034156380233526 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 278.9018184367699, + -85.12086215676982 + ] + ] + }, + { + "type": "text", + "version": 204, + "versionNonce": 1904748694, + "index": "b1lG", + "isDeleted": false, + "id": "o9Icg7DITorS3M98zA1da", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1278.8176741901068, + "y": 2299.3249241222065, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 101.8798828125, + "height": 25, + "seed": 332931530, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395427591, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "send data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TKrKTzBlVIGbRuSzTRHcS", + "originalText": "send data", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 877, + "versionNonce": 1207691542, + "index": "b1lV", + "isDeleted": false, + "id": "HVuej59TnwPd1VxHTuGIS", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1471.9133929111472, + "y": 2411.2326598894515, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 281.8032955684596, + "height": 35.472498013017685, + "seed": 1317746646, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "KlOILedPZr5bRK28O173D" + } + ], + "updated": 1716395583052, + "link": null, + "locked": false, + "startBinding": { + "elementId": "nUcCmIuy_nygWiTzlRQXi", + "focus": -0.22551940399450812, + "gap": 4.326389884802438 + }, + "endBinding": { + "elementId": "4Ok-2QqbGyROToxUVCmPd", + "focus": -0.058536860504632526, + "gap": 6.338714201145535 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -281.8032955684596, + -35.472498013017685 + ] + ] + }, + { + "type": "text", + "version": 217, + "versionNonce": 99204822, + "index": "b1m", + "isDeleted": false, + "id": "KlOILedPZr5bRK28O173D", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1249.278201006106, + "y": 2362.1661969211236, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 146.51986694335938, + "height": 25, + "seed": 482695306, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395527167, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "rendered HTML", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "HVuej59TnwPd1VxHTuGIS", + "originalText": "rendered HTML", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 738, + "versionNonce": 1769316810, + "index": "b1mV", + "isDeleted": false, + "id": "wtziE1bqUjGmqAHC84axG", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 1729.7022066743364, + "y": 2375.3324944185006, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 452.69952392578125, + "height": 50, + "seed": 2135018774, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395717414, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "- DOM elements connected with hx attributes\n- backend only validation", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "- DOM elements connected with hx attributes\n- backend only validation", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 237, + "versionNonce": 415815882, + "index": "b1n", + "isDeleted": false, + "id": "rndaJ3j3K_Y7evAYPHiD8", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 877.2058622805657, + "y": 1748.5967998560482, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "width": 367.7815856933594, + "height": 35, + "seed": 1750972234, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716395089479, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "HTML + htmx architecture", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "HTML + htmx architecture", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 715, + "versionNonce": 220377814, + "index": "b23xG", + "isDeleted": false, + "id": "MSDhOoqcfwMkPZ9snvyaw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3416.490399659714, + "y": 412.97960559522704, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "width": 729.9362908913769, + "height": 213.93684780007993, + "seed": 144183761, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "vvTlZnX_KMLI6wUrCpSce", + "type": "arrow" + } + ], + "updated": 1716394658376, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 273, + "versionNonce": 338195798, + "index": "b23xV", + "isDeleted": false, + "id": "v7l6EZbzk7vK2BXDxx9Rb", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3405.9325054437013, + "y": 208.9280768482518, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 399.5336608886719, + "height": 35, + "seed": 563075249, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Form validation example - JS", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Form validation example - JS", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 296, + "versionNonce": 1767594646, + "index": "b23xl", + "isDeleted": false, + "id": "L3nxdOdgsVIetnPyttsie", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3533.3160454429762, + "y": 462.196459146209, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 231.20074555044675, + "height": 35.602354509036786, + "seed": 1077361169, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "7cCGCK19isJ-_WCcwI7wa", + "type": "arrow" + } + ], + "updated": 1716394658376, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 358, + "versionNonce": 212479254, + "index": "b23y", + "isDeleted": false, + "id": "GnpZH4CbZXR-nJIdL5nG0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3867.6634291532105, + "y": 462.196459146209, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 231.20074555044675, + "height": 35.602354509036786, + "seed": 1471005695, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "pkdiWw5eIfv7WIZdvaJWC", + "type": "arrow" + } + ], + "updated": 1716394658376, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 238, + "versionNonce": 994467734, + "index": "b23yG", + "isDeleted": false, + "id": "Eoiue-r5ttuU_KbTF7rSq", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3452.540665662406, + "y": 467.4976364007274, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 49.8199462890625, + "height": 25, + "seed": 558276319, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Name", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Name", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 347, + "versionNonce": 1103232214, + "index": "b23yV", + "isDeleted": false, + "id": "BpXowdAumVvXa8TP0qEIk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3816.2507874965854, + "y": 467.4976364007274, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 34.07997131347656, + "height": 25, + "seed": 369082225, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Age", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Age", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 354, + "versionNonce": 1230500374, + "index": "b23yl", + "isDeleted": false, + "id": "L99mYrEfDdb4zFXxRRni_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3971.6031161544374, + "y": 554.0364710837498, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 120.53326066583486, + "height": 38.60494990630923, + "seed": 1169057471, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "OqZ7CUl953dZQR2dSKReQ" + }, + { + "id": "ttHl6XtQTGZpbgzKKLYfa", + "type": "arrow" + } + ], + "updated": 1716394658376, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 361, + "versionNonce": 1828536150, + "index": "b23z", + "isDeleted": false, + "id": "OqZ7CUl953dZQR2dSKReQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4000.859782498097, + "y": 560.8389460369044, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 62.019927978515625, + "height": 25, + "seed": 345941713, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Submit", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "L99mYrEfDdb4zFXxRRni_", + "originalText": "Submit", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 707, + "versionNonce": 120185302, + "index": "b23zO", + "isDeleted": false, + "id": "CtuGNZPba8NyPZk88J7s8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3558.542542031762, + "y": 275.3652237370153, + "strokeColor": "#f08c00", + "backgroundColor": "#1e1e1e", + "width": 470.59942626953125, + "height": 100, + "seed": 1524551249, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "7cCGCK19isJ-_WCcwI7wa", + "type": "arrow" + }, + { + "id": "pkdiWw5eIfv7WIZdvaJWC", + "type": "arrow" + }, + { + "id": "7y2HUqKk04ey7T2IvFH-g", + "type": "arrow" + } + ], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "JS:\n- validate first name - required, min/max length\n- validate age - integer type, range\n- validate if checkbox is checked", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "JS:\n- validate first name - required, min/max length\n- validate age - integer type, range\n- validate if checkbox is checked", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 1393, + "versionNonce": 364668298, + "index": "b23zV", + "isDeleted": false, + "id": "7cCGCK19isJ-_WCcwI7wa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "angle": 0, + "x": 3625.6631072649648, + "y": 386.16581341753096, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 58.61334765742504, + "height": 72.14246999161776, + "seed": 1242998257, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394658839, + "link": null, + "locked": false, + "startBinding": { + "elementId": "CtuGNZPba8NyPZk88J7s8", + "focus": 0.4304848836819017, + "gap": 10.800589680515657 + }, + "endBinding": { + "elementId": "L3nxdOdgsVIetnPyttsie", + "focus": -0.7649243364844155, + "gap": 3.888175737060294 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -58.61334765742504, + 72.14246999161776 + ] + ] + }, + { + "type": "arrow", + "version": 1446, + "versionNonce": 1297353482, + "index": "b23zd", + "isDeleted": false, + "id": "7y2HUqKk04ey7T2IvFH-g", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "angle": 0, + "x": 3811.9720402833973, + "y": 387.58294502634686, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 228.36471801682046, + "height": 166.42714549005422, + "seed": 1002592686, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394658839, + "link": null, + "locked": false, + "startBinding": { + "elementId": "CtuGNZPba8NyPZk88J7s8", + "focus": -0.34057202760794203, + "gap": 12.217721289331564 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -228.36471801682046, + 166.42714549005422 + ] + ] + }, + { + "type": "arrow", + "version": 1398, + "versionNonce": 1775873866, + "index": "b23zl", + "isDeleted": false, + "id": "pkdiWw5eIfv7WIZdvaJWC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "angle": 0, + "x": 3890.4108399551537, + "y": 382.6573580083747, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 26.609776560115733, + "height": 68.3428715260128, + "seed": 1105105841, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394658839, + "link": null, + "locked": false, + "startBinding": { + "elementId": "CtuGNZPba8NyPZk88J7s8", + "focus": -0.29148722530331406, + "gap": 7.292134271359373 + }, + "endBinding": { + "elementId": "GnpZH4CbZXR-nJIdL5nG0", + "focus": -0.44847971905707773, + "gap": 11.196229611821536 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 26.609776560115733, + 68.3428715260128 + ] + ] + }, + { + "type": "arrow", + "version": 1051, + "versionNonce": 578413770, + "index": "b24", + "isDeleted": false, + "id": "ttHl6XtQTGZpbgzKKLYfa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4053.9395096381722, + "y": 599.4249507084958, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 72.10899021038495, + "height": 86.6101780771794, + "seed": 1268643487, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "ToVp45eDcAtA8o3pnNl6P" + } + ], + "updated": 1716394658839, + "link": null, + "locked": false, + "startBinding": { + "elementId": "L99mYrEfDdb4zFXxRRni_", + "focus": -0.004602626833327882, + "gap": 6.783529718436739 + }, + "endBinding": { + "elementId": "9CpmyoXeNo-Sf5N1SL-mm", + "focus": 0.16492447921100303, + "gap": 3.5885894880179308 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 72.10899021038495, + 86.6101780771794 + ] + ] + }, + { + "type": "text", + "version": 132, + "versionNonce": 1852451798, + "index": "b24V", + "isDeleted": false, + "id": "ToVp45eDcAtA8o3pnNl6P", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3908.0328035065663, + "y": 597.7670061160884, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 60.71992492675781, + "height": 25, + "seed": 1745236145, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "submit", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ttHl6XtQTGZpbgzKKLYfa", + "originalText": "submit", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 415, + "versionNonce": 790774038, + "index": "b25", + "isDeleted": false, + "id": "9CpmyoXeNo-Sf5N1SL-mm", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4057.974343314024, + "y": 689.6237182736932, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 266.8682232345332, + "height": 242.7263250314551, + "seed": 1507169247, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "ttHl6XtQTGZpbgzKKLYfa", + "type": "arrow" + }, + { + "type": "text", + "id": "--6Le4Lkq9IaR6IvBXjtS" + }, + { + "id": "vvTlZnX_KMLI6wUrCpSce", + "type": "arrow" + } + ], + "updated": 1716394658376, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 368, + "versionNonce": 1655025238, + "index": "b26", + "isDeleted": false, + "id": "--6Le4Lkq9IaR6IvBXjtS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4108.638557470354, + "y": 785.9868807894208, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 165.539794921875, + "height": 50, + "seed": 299896849, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "... and do all\nvalidations again", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "9CpmyoXeNo-Sf5N1SL-mm", + "originalText": "... and do all\nvalidations again", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 318, + "versionNonce": 1271642326, + "index": "b27", + "isDeleted": false, + "id": "Amzy3XcAdCK8HIuwhZTRB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4078.5858709706545, + "y": 708.8177563992256, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 74.93992614746094, + "height": 25, + "seed": 679329119, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394668993, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "backend", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "backend", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 1232, + "versionNonce": 1437252170, + "index": "b28", + "isDeleted": false, + "id": "vvTlZnX_KMLI6wUrCpSce", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4052.3009673997567, + "y": 857.476362091317, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 279.005327332437, + "height": 225.96294368949498, + "seed": 1419035985, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Hny75F23tR3Vu7CQZzYAk" + } + ], + "updated": 1716394658839, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9CpmyoXeNo-Sf5N1SL-mm", + "focus": -0.6936802113748598, + "gap": 5.673375914266671 + }, + "endBinding": { + "elementId": "MSDhOoqcfwMkPZ9snvyaw", + "focus": 0.2935683988742826, + "gap": 4.596965006515148 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -279.005327332437, + -225.96294368949498 + ] + ] + }, + { + "type": "text", + "version": 162, + "versionNonce": 1465907350, + "index": "b29", + "isDeleted": false, + "id": "Hny75F23tR3Vu7CQZzYAk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3871.6180583839846, + "y": 798.21797033888, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 176.73980712890625, + "height": 50, + "seed": 345091537, + "groupIds": [ + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "return errors\nand show somehow", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vvTlZnX_KMLI6wUrCpSce", + "originalText": "return errors\nand show somehow", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 227, + "versionNonce": 960525782, + "index": "b292", + "isDeleted": false, + "id": "UpPuNNuRww6hdTMQp1IkE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3453.5767763719596, + "y": 564.7222355343586, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 19.73138793326916, + "height": 18.015654198222705, + "seed": 864303231, + "groupIds": [ + "WQPO56Mzwd7vMick1-NVu", + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1716394658376, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 283, + "versionNonce": 695343562, + "index": "b294", + "isDeleted": false, + "id": "E6Obx5yiwW8rvQp00zZdL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3493.468506125906, + "y": 560.8389460369044, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 74.73991394042969, + "height": 25, + "seed": 895510271, + "groupIds": [ + "WQPO56Mzwd7vMick1-NVu", + "1gYdf5mwbNPqrb-a6HTBZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394658839, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "I agree", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "I agree", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 792, + "versionNonce": 436261910, + "index": "b298", + "isDeleted": false, + "id": "Bhx_mN_T2BbdYljDqNbOJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3394.8889725559566, + "y": 1938.638515712742, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "width": 729.9362908913769, + "height": 213.93684780007993, + "seed": 1681341358, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "fLf0te78v3WtxoAYkHx5s", + "type": "arrow" + }, + { + "id": "aXNBUMvq4Fwfts3jg_-W2", + "type": "arrow" + } + ], + "updated": 1716394784152, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 1179, + "versionNonce": 492814742, + "index": "b299", + "isDeleted": false, + "id": "IM6UFGCuy3loiBad98_IQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3407.6167974508, + "y": 2349.0831769771426, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "width": 729.9362908913769, + "height": 213.93684780007993, + "seed": 1302504726, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "fLf0te78v3WtxoAYkHx5s", + "type": "arrow" + }, + { + "id": "aXNBUMvq4Fwfts3jg_-W2", + "type": "arrow" + } + ], + "updated": 1716394784152, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 350, + "versionNonce": 805914442, + "index": "b29A", + "isDeleted": false, + "id": "tBXOX-AFm6zizYQJjRBAg", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3384.331078339944, + "y": 1734.5869869657668, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 427.8697814941406, + "height": 35, + "seed": 179183154, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394315418, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Form validation example - htmx", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Form validation example - htmx", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 370, + "versionNonce": 2061999666, + "index": "b29C", + "isDeleted": false, + "id": "AOQ7i8UGQ2RgvQoVUUfcC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3511.7146183392188, + "y": 1987.855369263724, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 231.20074555044675, + "height": 35.602354509036786, + "seed": 1433376238, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "8H8tqgVVM5LcqugJJ5-Fv", + "type": "arrow" + } + ], + "updated": 1716224800929, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 755, + "versionNonce": 722376138, + "index": "b29E", + "isDeleted": false, + "id": "Gzlnt3O0zDWGTBgd2cBYz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3524.442443234062, + "y": 2398.300030528125, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 231.20074555044675, + "height": 35.602354509036786, + "seed": 1326866250, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": null, + "updated": 1716394793822, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 432, + "versionNonce": 1066276334, + "index": "b29G", + "isDeleted": false, + "id": "U35ZEduuESHtOlIjzmPzG", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3846.0620020494534, + "y": 1987.855369263724, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 231.20074555044675, + "height": 35.602354509036786, + "seed": 728729586, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "dchVt5Urd32vgjAJBKrMi", + "type": "arrow" + } + ], + "updated": 1716224800929, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 817, + "versionNonce": 782440726, + "index": "b29H", + "isDeleted": false, + "id": "gFLCG5Nb1pV7lcpNMPeKw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3858.7898269442967, + "y": 2398.300030528125, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 231.20074555044675, + "height": 35.602354509036786, + "seed": 460952150, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": null, + "updated": 1716394797872, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 311, + "versionNonce": 629746262, + "index": "b29I", + "isDeleted": false, + "id": "PqiLgRwfCOhTB3IIzSRWP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3430.939238558649, + "y": 1993.1565465182425, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 49.8199462890625, + "height": 25, + "seed": 723691566, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394315418, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Name", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Name", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 695, + "versionNonce": 2055351562, + "index": "b29J", + "isDeleted": false, + "id": "lVZz9I5cC-vt4O2kwrn8B", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3443.667063453492, + "y": 2403.601207782643, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 49.8199462890625, + "height": 25, + "seed": 543155722, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716394763929, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Name", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Name", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 420, + "versionNonce": 850775562, + "index": "b29K", + "isDeleted": false, + "id": "yFIdF_0A6P9ZGD8QTL1Ls", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3794.6493603928284, + "y": 1993.1565465182425, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 34.07997131347656, + "height": 25, + "seed": 199080370, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394315418, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Age", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Age", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 804, + "versionNonce": 277609418, + "index": "b29M", + "isDeleted": false, + "id": "m_MUzzGVo4o4UuDK9Ee-H", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3807.3771852876716, + "y": 2403.601207782643, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 34.07997131347656, + "height": 25, + "seed": 41998230, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716394763929, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Age", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Age", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 429, + "versionNonce": 1538734514, + "index": "b29O", + "isDeleted": false, + "id": "ItVkHfcgRrpXW_77a9LT1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3950.0016890506795, + "y": 2079.695381201265, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 120.53326066583486, + "height": 38.60494990630923, + "seed": 1966699118, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "mvXrTqaKz6wOo_iQ4YEVw", + "type": "arrow" + }, + { + "type": "text", + "id": "DlEnHwSXKlyQnH19ePrvh" + } + ], + "updated": 1716224800929, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 435, + "versionNonce": 1457352598, + "index": "b29Q", + "isDeleted": false, + "id": "DlEnHwSXKlyQnH19ePrvh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3979.2583553943396, + "y": 2086.4978561544194, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 62.019927978515625, + "height": 25, + "seed": 723497842, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394315418, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Submit", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ItVkHfcgRrpXW_77a9LT1", + "originalText": "Submit", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 815, + "versionNonce": 1240330890, + "index": "b29QV", + "isDeleted": false, + "id": "c9GC-I4q8ZDtnpRlmHCfF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3962.7295139455227, + "y": 2490.1400424656654, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 120.53326066583486, + "height": 38.60494990630923, + "seed": 71996618, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "mvXrTqaKz6wOo_iQ4YEVw", + "type": "arrow" + }, + { + "type": "text", + "id": "jhZkXfbxa3iT_TK6qvYl8" + } + ], + "updated": 1716394763929, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 820, + "versionNonce": 1499664714, + "index": "b29R", + "isDeleted": false, + "id": "jhZkXfbxa3iT_TK6qvYl8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3991.986180289183, + "y": 2496.94251741882, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 62.019927978515625, + "height": 25, + "seed": 720205014, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716394763929, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Submit", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "c9GC-I4q8ZDtnpRlmHCfF", + "originalText": "Submit", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 827, + "versionNonce": 67556170, + "index": "b29S", + "isDeleted": false, + "id": "v4geU8IJh7Rl2AgkGYZFe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3536.941114928004, + "y": 1801.0241338545302, + "strokeColor": "#f08c00", + "backgroundColor": "#1e1e1e", + "width": 338.359619140625, + "height": 50, + "seed": 1585247406, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "8H8tqgVVM5LcqugJJ5-Fv", + "type": "arrow" + }, + { + "id": "G4qDApb3GJQRp8DqtZMgs", + "type": "arrow" + }, + { + "id": "dchVt5Urd32vgjAJBKrMi", + "type": "arrow" + } + ], + "updated": 1716394516292, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "JS:\n- define HTML 5 input constraints", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "JS:\n- define HTML 5 input constraints", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 1661, + "versionNonce": 1722681546, + "index": "b29V", + "isDeleted": false, + "id": "8H8tqgVVM5LcqugJJ5-Fv", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "angle": 0, + "x": 3608.5975880248334, + "y": 1861.824723535046, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 65.38652400273531, + "height": 122.14246999161787, + "seed": 192705842, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394516293, + "link": null, + "locked": false, + "startBinding": { + "elementId": "v4geU8IJh7Rl2AgkGYZFe", + "focus": 0.43048488368190196, + "gap": 10.800589680515714 + }, + "endBinding": { + "elementId": "AOQ7i8UGQ2RgvQoVUUfcC", + "focus": -0.7649243364844192, + "gap": 3.888175737060351 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -65.38652400273531, + 122.14246999161787 + ] + ] + }, + { + "type": "arrow", + "version": 1603, + "versionNonce": 172384138, + "index": "b29X", + "isDeleted": false, + "id": "G4qDApb3GJQRp8DqtZMgs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "angle": 0, + "x": 3740.117034365649, + "y": 1863.2418551438618, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 178.1111392028297, + "height": 216.42714549005422, + "seed": 1352019694, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394516293, + "link": null, + "locked": false, + "startBinding": { + "elementId": "v4geU8IJh7Rl2AgkGYZFe", + "focus": -0.3405720276079439, + "gap": 12.217721289331621 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -178.1111392028297, + 216.42714549005422 + ] + ] + }, + { + "type": "arrow", + "version": 1666, + "versionNonce": 254248202, + "index": "b29Z", + "isDeleted": false, + "id": "dchVt5Urd32vgjAJBKrMi", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "angle": 0, + "x": 3786.6313010578024, + "y": 1858.3162681258896, + "strokeColor": "#e03131", + "backgroundColor": "#1e1e1e", + "width": 93.85726558380611, + "height": 118.34287152601314, + "seed": 1314586354, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394516293, + "link": null, + "locked": false, + "startBinding": { + "elementId": "v4geU8IJh7Rl2AgkGYZFe", + "focus": -0.29148722530331783, + "gap": 7.292134271359373 + }, + "endBinding": { + "elementId": "U35ZEduuESHtOlIjzmPzG", + "focus": -0.44847971905707384, + "gap": 11.19622961182165 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 93.85726558380611, + 118.34287152601314 + ] + ] + }, + { + "type": "arrow", + "version": 1613, + "versionNonce": 822662102, + "index": "b29d", + "isDeleted": false, + "id": "mvXrTqaKz6wOo_iQ4YEVw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4077.3184794349518, + "y": 2099.157194283581, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 226.06611015442923, + "height": 0.8389355618965055, + "seed": 403579182, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "fEwCn8bhULXVQ42wiQ_yu" + } + ], + "updated": 1716394757828, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ItVkHfcgRrpXW_77a9LT1", + "focus": -0.00460262683333117, + "gap": 6.7835297184369665 + }, + "endBinding": { + "elementId": "ZvJBizNCIvZ7iWy2OkGIV", + "focus": 0.1649244792109974, + "gap": 3.5885894880177602 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 226.06611015442923, + 0.8389355618965055 + ] + ] + }, + { + "type": "text", + "version": 206, + "versionNonce": 2012679382, + "index": "b29f", + "isDeleted": false, + "id": "fEwCn8bhULXVQ42wiQ_yu", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3886.4313764028084, + "y": 2123.4259162336034, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 60.71992492675781, + "height": 25, + "seed": 1346523314, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394315418, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "submit", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "mvXrTqaKz6wOo_iQ4YEVw", + "originalText": "submit", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 647, + "versionNonce": 166831126, + "index": "b29h", + "isDeleted": false, + "id": "ZvJBizNCIvZ7iWy2OkGIV", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4306.9731790773985, + "y": 1999.2388842326022, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 266.8682232345332, + "height": 242.7263250314551, + "seed": 139316078, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "mvXrTqaKz6wOo_iQ4YEVw", + "type": "arrow" + }, + { + "id": "fLf0te78v3WtxoAYkHx5s", + "type": "arrow" + }, + { + "type": "text", + "id": "CHtynK6clcAYQATcRk3R_" + } + ], + "updated": 1716394757827, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 681, + "versionNonce": 328249686, + "index": "b29l", + "isDeleted": false, + "id": "CHtynK6clcAYQATcRk3R_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4316.0374405359735, + "y": 2070.60204674833, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 248.7397003173828, + "height": 100, + "seed": 1155099250, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394757827, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "validate form values and\nrender back the whole \nform with invalidated \nfields", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ZvJBizNCIvZ7iWy2OkGIV", + "originalText": "validate form values and render back the whole form with invalidated fields", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 504, + "versionNonce": 1711872918, + "index": "b29n", + "isDeleted": false, + "id": "0l0CuNA4To3zLg_BO99_y", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4323.021996682229, + "y": 2016.213338674234, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 74.93992614746094, + "height": 25, + "seed": 530460078, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394757828, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "backend", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "backend", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 2435, + "versionNonce": 499527178, + "index": "b29p", + "isDeleted": false, + "id": "fLf0te78v3WtxoAYkHx5s", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4301.299803163131, + "y": 2212.8328482919514, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 157.92058050429387, + "height": 209.18985012543817, + "seed": 1390890034, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "S8LHrwzSt7jGo3PF2scsd" + } + ], + "updated": 1716394778955, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ZvJBizNCIvZ7iWy2OkGIV", + "focus": 0.3087545737623115, + "gap": 5.673375914267581 + }, + "endBinding": { + "elementId": "IM6UFGCuy3loiBad98_IQ", + "focus": 0.7742644977957197, + "gap": 5.826134316660273 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -157.92058050429387, + 209.18985012543817 + ] + ] + }, + { + "type": "text", + "version": 298, + "versionNonce": 2147189898, + "index": "b29t", + "isDeleted": false, + "id": "S8LHrwzSt7jGo3PF2scsd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3793.7443293073047, + "y": 2277.641336798979, + "strokeColor": "#e03131", + "backgroundColor": "#b2f2bb", + "width": 216.6597900390625, + "height": 75, + "seed": 724060142, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394761015, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "return rendered HTML\nand replace form with\nit", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fLf0te78v3WtxoAYkHx5s", + "originalText": "return rendered HTML and replace form with it", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 299, + "versionNonce": 784779246, + "index": "b29v", + "isDeleted": false, + "id": "inikI6pq1-LlOZllpxwDs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3431.975349268202, + "y": 2090.3811456518733, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 19.73138793326916, + "height": 18.015654198222705, + "seed": 810743282, + "groupIds": [ + "y7LH2lnybQAZKoYYVOefk" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1716224800929, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 354, + "versionNonce": 1160662870, + "index": "b29x", + "isDeleted": false, + "id": "irdmSeeUOK_GbMdITFiWA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3471.8670790221486, + "y": 2086.4978561544194, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 74.73991394042969, + "height": 25, + "seed": 1794447918, + "groupIds": [ + "y7LH2lnybQAZKoYYVOefk" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394315418, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "I agree", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "I agree", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 683, + "versionNonce": 1648777226, + "index": "b29z", + "isDeleted": false, + "id": "ZCCEm6B5MShvIJWwk5vNG", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3444.7031741630453, + "y": 2500.825806916274, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 19.73138793326916, + "height": 18.015654198222705, + "seed": 1550936970, + "groupIds": [ + "nBuTrnkUsdaITknO2oRB8" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": null, + "updated": 1716394763929, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 738, + "versionNonce": 1687340746, + "index": "b2A", + "isDeleted": false, + "id": "9EiexOTHUvgssK_8IV_nu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 3484.594903916992, + "y": 2496.94251741882, + "strokeColor": "#1e1e1e", + "backgroundColor": "#1e1e1e", + "width": 74.73991394042969, + "height": 25, + "seed": 1851025942, + "groupIds": [ + "nBuTrnkUsdaITknO2oRB8" + ], + "frameId": null, + "roundness": null, + "boundElements": null, + "updated": 1716394763929, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "I agree", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "I agree", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 234, + "versionNonce": 698928202, + "index": "b2o", + "isDeleted": false, + "id": "uCPs1GYyztTBS_JD7zqfG", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4469.147404439492, + "y": 226.41084096057773, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 965575218, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "-_ywksZNWJUstza5vSfTy" + }, + { + "id": "pgbEgMuCm_V2Zpy7scvJe", + "type": "arrow" + }, + { + "id": "9l0YkIPvDAM9l9fSJGXMo", + "type": "arrow" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 238, + "versionNonce": 941404938, + "index": "b2p", + "isDeleted": false, + "id": "-_ywksZNWJUstza5vSfTy", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4507.557592381703, + "y": 252.53393181313788, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 97.9998779296875, + "height": 25, + "seed": 1662931374, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "user input", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "uCPs1GYyztTBS_JD7zqfG", + "originalText": "user input", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 308, + "versionNonce": 1786992458, + "index": "b2q", + "isDeleted": false, + "id": "najA6H3ThhuBgmGRvzVp-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4469.147404439492, + "y": 353.68814642024694, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 1514609010, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "wbT9fyWnAMF5o8ruwgjiL" + }, + { + "id": "9l0YkIPvDAM9l9fSJGXMo", + "type": "arrow" + }, + { + "id": "d6wyQQxY3xGpKrb7p46Xu", + "type": "arrow" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 313, + "versionNonce": 862838282, + "index": "b2r", + "isDeleted": false, + "id": "wbT9fyWnAMF5o8ruwgjiL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4501.467596043813, + "y": 379.8112372728071, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 110.17987060546875, + "height": 25, + "seed": 610725550, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "submit click", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "najA6H3ThhuBgmGRvzVp-", + "originalText": "submit click", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 391, + "versionNonce": 4219466, + "index": "b2s", + "isDeleted": false, + "id": "bJu5yiMUB64fS8gmJw2ck", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4468.60180616188, + "y": 480.5824332422907, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 248258674, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "djH_N9spJoJo3oAOvXklU" + }, + { + "id": "d6wyQQxY3xGpKrb7p46Xu", + "type": "arrow" + }, + { + "id": "jOAS3-UiUAaHoGsAtfm7_", + "type": "arrow" + }, + { + "id": "4ZCpnRR-alerFjXwB9n3O", + "type": "arrow" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 397, + "versionNonce": 1129416970, + "index": "b2t", + "isDeleted": false, + "id": "djH_N9spJoJo3oAOvXklU", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4491.462006311122, + "y": 506.7055240948509, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 129.099853515625, + "height": 25, + "seed": 735696814, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "JS validation", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "bJu5yiMUB64fS8gmJw2ck", + "originalText": "JS validation", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 438, + "versionNonce": 1250407434, + "index": "b2u", + "isDeleted": false, + "id": "BbdZDzGtZVsxl8a-Z9Qwa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4469.147404439492, + "y": 607.250173716737, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 2129503858, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "-8wy_K0FIpSbvYt6C4-f7" + }, + { + "id": "jOAS3-UiUAaHoGsAtfm7_", + "type": "arrow" + }, + { + "id": "uSonGejbMCrOXS8khtYii", + "type": "arrow" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 466, + "versionNonce": 1950917322, + "index": "b2v", + "isDeleted": false, + "id": "-8wy_K0FIpSbvYt6C4-f7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4505.00759695934, + "y": 620.8732645692971, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 103.09986877441406, + "height": 50, + "seed": 1828434350, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "submit to \nbackend", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "BbdZDzGtZVsxl8a-Z9Qwa", + "originalText": "submit to backend", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 476, + "versionNonce": 1271947018, + "index": "b2w", + "isDeleted": false, + "id": "Z-EWgNEZlnWAAYpj8iW7m", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4469.147404439492, + "y": 732.9887349740484, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 1001791854, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "_eohwPEZIfHyjGApjBmsF" + }, + { + "id": "TB6ah1OuanyL7ebc5Bky0", + "type": "arrow" + }, + { + "id": "uSonGejbMCrOXS8khtYii", + "type": "arrow" + }, + { + "id": "qQQpaXAEBR2XX_IYGMKmV", + "type": "arrow" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 528, + "versionNonce": 1027861962, + "index": "b2x", + "isDeleted": false, + "id": "_eohwPEZIfHyjGApjBmsF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4509.427587498891, + "y": 746.6118258266085, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 94.2598876953125, + "height": 50, + "seed": 457798770, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "backend \nvalidation", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Z-EWgNEZlnWAAYpj8iW7m", + "originalText": "backend validation", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 541, + "versionNonce": 1690417354, + "index": "b2xG", + "isDeleted": false, + "id": "d9r3u6HtS7gducwgyhP_1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4471.4678700384775, + "y": 859.1452501037463, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 1798666414, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "TB6ah1OuanyL7ebc5Bky0", + "type": "arrow" + }, + { + "id": "uSonGejbMCrOXS8khtYii", + "type": "arrow" + }, + { + "id": "qQQpaXAEBR2XX_IYGMKmV", + "type": "arrow" + }, + { + "type": "text", + "id": "Fsk_pqHt1R4mg5XGiiF7E" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 599, + "versionNonce": 1784942474, + "index": "b2xV", + "isDeleted": false, + "id": "Fsk_pqHt1R4mg5XGiiF7E", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4537.508017087134, + "y": 885.2683409563065, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 42.739959716796875, + "height": 25, + "seed": 662581554, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "done", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "d9r3u6HtS7gducwgyhP_1", + "originalText": "done", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 617, + "versionNonce": 520982090, + "index": "b2y", + "isDeleted": false, + "id": "MI8orVnYniUilV3AVDwpP", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4684.680016411455, + "y": 353.65710882674864, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 1030744174, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "J428_jwXpIczlA77CO5Bp" + }, + { + "id": "pgbEgMuCm_V2Zpy7scvJe", + "type": "arrow" + }, + { + "id": "TB6ah1OuanyL7ebc5Bky0", + "type": "arrow" + }, + { + "id": "4ZCpnRR-alerFjXwB9n3O", + "type": "arrow" + } + ], + "updated": 1716394869748, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 688, + "versionNonce": 1738093834, + "index": "b2z", + "isDeleted": false, + "id": "J428_jwXpIczlA77CO5Bp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4720.030206795072, + "y": 367.2801996793088, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 104.119873046875, + "height": 50, + "seed": 3382642, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "invalidate \ncontrols", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "MI8orVnYniUilV3AVDwpP", + "originalText": "invalidate controls", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 644, + "versionNonce": 441739094, + "index": "b30", + "isDeleted": false, + "id": "pgbEgMuCm_V2Zpy7scvJe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4767.903340466848, + "y": 351.08887464270686, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 115.02481571687895, + "height": 86.01507226422996, + "seed": 1451601330, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "MI8orVnYniUilV3AVDwpP", + "focus": 0.08571539388873507, + "gap": 2.568234184041785 + }, + "endBinding": { + "elementId": "uCPs1GYyztTBS_JD7zqfG", + "focus": -0.34609499627221507, + "gap": 8.910866496366907 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -20.612811068340307, + -66.85634376992101 + ], + [ + -115.02481571687895, + -86.01507226422996 + ] + ] + }, + { + "type": "arrow", + "version": 639, + "versionNonce": 1456933334, + "index": "b31", + "isDeleted": false, + "id": "TB6ah1OuanyL7ebc5Bky0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4647.00613221507, + "y": 773.3016983684811, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 130.93793667239424, + "height": 335.932031243466, + "seed": 252312750, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "1d32VooHkT-mEceMP1Yg6" + } + ], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Z-EWgNEZlnWAAYpj8iW7m", + "focus": 0.5378436345312664, + "gap": 3.038473961467389 + }, + "endBinding": { + "elementId": "MI8orVnYniUilV3AVDwpP", + "focus": -0.06999752882082236, + "gap": 6.466376593146151 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 129.1953929213796, + -56.761612610833595 + ], + [ + 130.93793667239424, + -335.932031243466 + ] + ] + }, + { + "type": "text", + "version": 209, + "versionNonce": 1796498826, + "index": "b31V", + "isDeleted": false, + "id": "1d32VooHkT-mEceMP1Yg6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4752.291551991918, + "y": 704.0400857576475, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 47.8199462890625, + "height": 25, + "seed": 580456690, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "error", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TB6ah1OuanyL7ebc5Bky0", + "originalText": "error", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 588, + "versionNonce": 536022102, + "index": "b32", + "isDeleted": false, + "id": "9l0YkIPvDAM9l9fSJGXMo", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4551.238814247469, + "y": 306.3674123609332, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 0, + "height": 43.532041085028084, + "seed": 1094227122, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "uCPs1GYyztTBS_JD7zqfG", + "focus": 0.060847836369500086, + "gap": 2.7103896952351647 + }, + "endBinding": { + "elementId": "najA6H3ThhuBgmGRvzVp-", + "focus": -0.06084783636950007, + "gap": 3.7886929742856523 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 43.532041085028084 + ] + ] + }, + { + "type": "arrow", + "version": 585, + "versionNonce": 1724935894, + "index": "b33", + "isDeleted": false, + "id": "d6wyQQxY3xGpKrb7p46Xu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4556.657594927644, + "y": 433.0181353872931, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 0.7353782825011876, + "height": 44.955948910892744, + "seed": 812050034, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "najA6H3ThhuBgmGRvzVp-", + "focus": -0.008699685286076503, + "gap": 2.0838072619258696 + }, + "endBinding": { + "elementId": "bJu5yiMUB64fS8gmJw2ck", + "focus": -0.008679617181564268, + "gap": 2.6083489441048187 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -0.7353782825011876, + 44.955948910892744 + ] + ] + }, + { + "type": "arrow", + "version": 592, + "versionNonce": 1922511190, + "index": "b34", + "isDeleted": false, + "id": "jOAS3-UiUAaHoGsAtfm7_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4557.273944030272, + "y": 562.8997142432703, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 1.2006116676247984, + "height": 42.018991327797494, + "seed": 1070840818, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "bJu5yiMUB64fS8gmJw2ck", + "focus": -0.02836270542894453, + "gap": 5.071099295859312 + }, + "endBinding": { + "elementId": "BbdZDzGtZVsxl8a-Z9Qwa", + "focus": -0.01869085140553585, + "gap": 2.3314681456691915 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -1.2006116676247984, + 42.018991327797494 + ] + ] + }, + { + "type": "arrow", + "version": 596, + "versionNonce": 1617908694, + "index": "b35", + "isDeleted": false, + "id": "uSonGejbMCrOXS8khtYii", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4556.6637881433035, + "y": 686.6822680557009, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 0.4418431533886178, + "height": 39.73458495265129, + "seed": 344860082, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "BbdZDzGtZVsxl8a-Z9Qwa", + "focus": 0.003956458166100109, + "gap": 2.1859126338436 + }, + "endBinding": { + "elementId": "Z-EWgNEZlnWAAYpj8iW7m", + "focus": 0.01196113991698547, + "gap": 6.571881965696207 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0.4418431533886178, + 39.73458495265129 + ] + ] + }, + { + "type": "arrow", + "version": 634, + "versionNonce": 595646038, + "index": "b36", + "isDeleted": false, + "id": "4ZCpnRR-alerFjXwB9n3O", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4646.912190162411, + "y": 522.5401619309159, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 103.82192975369617, + "height": 87.42912057486961, + "seed": 326815922, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "a_1Q0rm0JFmBuo-D-VGFM" + } + ], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "bJu5yiMUB64fS8gmJw2ck", + "focus": 0.2776606065195226, + "gap": 3.4901301864210836 + }, + "endBinding": { + "elementId": "MI8orVnYniUilV3AVDwpP", + "focus": 0.08212923348043606, + "gap": 4.207750824177367 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 79.59870644622333, + -8.827754792262908 + ], + [ + 103.82192975369617, + -87.42912057486961 + ] + ] + }, + { + "type": "text", + "version": 209, + "versionNonce": 428946954, + "index": "b37", + "isDeleted": false, + "id": "a_1Q0rm0JFmBuo-D-VGFM", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4702.600923464103, + "y": 501.212407138653, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 47.8199462890625, + "height": 25, + "seed": 1684802030, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394869748, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "error", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4ZCpnRR-alerFjXwB9n3O", + "originalText": "error", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 424, + "versionNonce": 285186966, + "index": "b38", + "isDeleted": false, + "id": "qQQpaXAEBR2XX_IYGMKmV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4553.929166354616, + "y": 811.2349166791687, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 0.923586980883556, + "height": 43.94717798273109, + "seed": 1778899630, + "groupIds": [ + "fDmVuJgENTROQzRMId0e1" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394869952, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Z-EWgNEZlnWAAYpj8iW7m", + "focus": 0.03923153582848548, + "gap": 1 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0.923586980883556, + 43.94717798273109 + ] + ] + }, + { + "type": "rectangle", + "version": 325, + "versionNonce": 246453898, + "index": "b3UtV", + "isDeleted": false, + "id": "y-_3eRxK-URPpA2LexcVb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4676.726368523989, + "y": 1861.5399156750977, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 951574894, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "U1f21hvDNE8HlhOgo3M9r", + "type": "arrow" + }, + { + "type": "text", + "id": "M2KSw0bSNlnAxrim2KWiP" + }, + { + "id": "W7OPlp2d-AvM5rpac8zAv", + "type": "arrow" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 327, + "versionNonce": 1664184086, + "index": "b3Uu", + "isDeleted": false, + "id": "M2KSw0bSNlnAxrim2KWiP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4715.1365564662, + "y": 1887.663006527658, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 97.9998779296875, + "height": 25, + "seed": 943961202, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "user input", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "y-_3eRxK-URPpA2LexcVb", + "originalText": "user input", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 398, + "versionNonce": 909194570, + "index": "b3UuV", + "isDeleted": false, + "id": "FTRxwYUiseH8eFzO7c79n", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4676.726368523989, + "y": 1984.7675346499236, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 643138478, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "U1f21hvDNE8HlhOgo3M9r", + "type": "arrow" + }, + { + "id": "oyIwK1BYTCe_aehPUBP8D", + "type": "arrow" + }, + { + "type": "text", + "id": "pFR6AqMmQUbTKW2OnOcnC" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 402, + "versionNonce": 1755257942, + "index": "b3Uv", + "isDeleted": false, + "id": "pFR6AqMmQUbTKW2OnOcnC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4709.0465601283095, + "y": 2010.8906255024838, + "strokeColor": "#1971c2", + "backgroundColor": "transparent", + "width": 110.17987060546875, + "height": 25, + "seed": 913856050, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "submit click", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "FTRxwYUiseH8eFzO7c79n", + "originalText": "submit click", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 821, + "versionNonce": 1236270090, + "index": "b3UvV", + "isDeleted": false, + "id": "wDLgtE69XRevXG4LfbMUJ", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4680.296735777479, + "y": 2177.718306377225, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 228375150, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "TBsUieizlMC-hE76-ugEJ" + }, + { + "id": "XmPJCuD1TpC5ZIQeBl1WS", + "type": "arrow" + }, + { + "id": "83MBUKRVQOyNqGUw7n3Xr", + "type": "arrow" + }, + { + "id": "oyIwK1BYTCe_aehPUBP8D", + "type": "arrow" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 864, + "versionNonce": 1717903766, + "index": "b3Uw", + "isDeleted": false, + "id": "TBsUieizlMC-hE76-ugEJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4720.576918836878, + "y": 2191.3413972297853, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 94.2598876953125, + "height": 50, + "seed": 863300466, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "backend \nvalidation", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "wDLgtE69XRevXG4LfbMUJ", + "originalText": "backend validation", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 876, + "versionNonce": 1999104714, + "index": "b3Ux", + "isDeleted": false, + "id": "bIvAkQZ-ZnebJl8aG4IRV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4683.5098144709045, + "y": 2341.5558459174517, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 174.8202538141104, + "height": 77.2461817051203, + "seed": 456604846, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "Hl7BvNPztwxuSiNF8zQqz", + "type": "arrow" + }, + { + "type": "text", + "id": "6xLGhcuY5tlLtCw5-7Osp" + }, + { + "id": "XmPJCuD1TpC5ZIQeBl1WS", + "type": "arrow" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 931, + "versionNonce": 1605926614, + "index": "b3UxV", + "isDeleted": false, + "id": "6xLGhcuY5tlLtCw5-7Osp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4749.549961519561, + "y": 2367.6789367700117, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 42.739959716796875, + "height": 25, + "seed": 1147841842, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "done", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "bIvAkQZ-ZnebJl8aG4IRV", + "originalText": "done", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 1054, + "versionNonce": 1966342538, + "index": "b3Uy", + "isDeleted": false, + "id": "4evz3r3Ql1pjaefLCfI9n", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4977.501658281037, + "y": 2173.4677080302204, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 174.8202538141104, + "height": 85, + "seed": 247953134, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "9qhl-GcIYwsWqR__RZxd0" + }, + { + "id": "W7OPlp2d-AvM5rpac8zAv", + "type": "arrow" + }, + { + "id": "83MBUKRVQOyNqGUw7n3Xr", + "type": "arrow" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1154, + "versionNonce": 690893846, + "index": "b3Uz", + "isDeleted": false, + "id": "9qhl-GcIYwsWqR__RZxd0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4986.131877961529, + "y": 2190.9677080302204, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 157.559814453125, + "height": 50, + "seed": 1019361010, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "render \ninvalidated form", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4evz3r3Ql1pjaefLCfI9n", + "originalText": "render invalidated form", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 1848, + "versionNonce": 1863270474, + "index": "b3UzG", + "isDeleted": false, + "id": "W7OPlp2d-AvM5rpac8zAv", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 5054.4812784461055, + "y": 2170.8994738461774, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 194.0237896116396, + "height": 273.71127601045623, + "seed": 282487086, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "RP73FkJpn-4ZiPDvtssUw" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4evz3r3Ql1pjaefLCfI9n", + "focus": 0.06010320448976081, + "gap": 2.5682341840429217 + }, + "endBinding": { + "elementId": "y-_3eRxK-URPpA2LexcVb", + "focus": -0.6594610686017963, + "gap": 8.910866496366907 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -75.55773819252136, + -204.8088784723136 + ], + [ + -194.0237896116396, + -273.71127601045623 + ] + ] + }, + { + "id": "RP73FkJpn-4ZiPDvtssUw", + "type": "text", + "x": 4896.581013116319, + "y": 1931.2224187491547, + "width": 121.03985595703125, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "index": "b3UzV", + "roundness": null, + "seed": 753552266, + "version": 21, + "versionNonce": 1018904918, + "isDeleted": false, + "boundElements": null, + "updated": 1716394939184, + "link": null, + "locked": false, + "text": "replace form", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "W7OPlp2d-AvM5rpac8zAv", + "originalText": "replace form", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 854, + "versionNonce": 2041948746, + "index": "b3V", + "isDeleted": false, + "id": "U1f21hvDNE8HlhOgo3M9r", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4758.817778331966, + "y": 1941.4964870754532, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 0, + "height": 39.48235460018486, + "seed": 1020437106, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "startBinding": { + "elementId": "y-_3eRxK-URPpA2LexcVb", + "focus": 0.060847836369500086, + "gap": 2.710389695235108 + }, + "endBinding": { + "elementId": "FTRxwYUiseH8eFzO7c79n", + "focus": -0.06084783636950007, + "gap": 3.7886929742855955 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 39.48235460018486 + ] + ] + }, + { + "type": "arrow", + "version": 926, + "versionNonce": 1703442262, + "index": "b3VG", + "isDeleted": false, + "id": "oyIwK1BYTCe_aehPUBP8D", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4764.237906558734, + "y": 2064.216885300866, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 3.4869114656676174, + "height": 105.92635953409035, + "seed": 687109550, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "iGOvdxQTxUm56VxkoY3sG" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false, + "startBinding": { + "elementId": "FTRxwYUiseH8eFzO7c79n", + "focus": 0.014011015478077883, + "gap": 2.203168945822199 + }, + "endBinding": { + "elementId": "wDLgtE69XRevXG4LfbMUJ", + "focus": 0.017351055051373635, + "gap": 7.575061542268259 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 3.4869114656676174, + 105.92635953409035 + ] + ] + }, + { + "id": "iGOvdxQTxUm56VxkoY3sG", + "type": "text", + "x": 4704.0714272940095, + "y": 2104.6800650679115, + "width": 123.81986999511719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "index": "b3VV", + "roundness": null, + "seed": 1763248970, + "version": 117, + "versionNonce": 1860030730, + "isDeleted": false, + "boundElements": null, + "updated": 1716394939184, + "link": null, + "locked": false, + "text": "htmx handler", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "oyIwK1BYTCe_aehPUBP8D", + "originalText": "htmx handler", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 1504, + "versionNonce": 1399528598, + "index": "b3W", + "isDeleted": false, + "id": "XmPJCuD1TpC5ZIQeBl1WS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4770.643175499358, + "y": 2255.9644880823453, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "width": 0.7813465895760601, + "height": 83.85965000508986, + "seed": 755474354, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "startBinding": { + "elementId": "wDLgtE69XRevXG4LfbMUJ", + "focus": -0.037660862599576135, + "gap": 1.0000000000002274 + }, + "endBinding": { + "elementId": "bIvAkQZ-ZnebJl8aG4IRV", + "focus": -0.016339420168236304, + "gap": 1.7317078300168305 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -0.7813465895760601, + 83.85965000508986 + ] + ] + }, + { + "type": "arrow", + "version": 1054, + "versionNonce": 1104355274, + "index": "b3X", + "isDeleted": false, + "id": "83MBUKRVQOyNqGUw7n3Xr", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4856.116989591589, + "y": 2214.681412844045, + "strokeColor": "#e03131", + "backgroundColor": "#a5d8ff", + "width": 116.57894672803377, + "height": 0.3253708969054969, + "seed": 2037657006, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "nc_-Rg7v4BZ_5PbDNoSCT" + } + ], + "updated": 1716394939184, + "link": null, + "locked": false, + "startBinding": { + "elementId": "wDLgtE69XRevXG4LfbMUJ", + "focus": -0.03636068009299256, + "gap": 1 + }, + "endBinding": { + "elementId": "4evz3r3Ql1pjaefLCfI9n", + "focus": 0.043726405536107314, + "gap": 4.805721961413838 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 116.57894672803377, + -0.3253708969054969 + ] + ] + }, + { + "type": "text", + "version": 127, + "versionNonce": 1346836950, + "index": "b3Y", + "isDeleted": false, + "id": "nc_-Rg7v4BZ_5PbDNoSCT", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "angle": 0, + "x": 4890.496489811075, + "y": 2287.2479592949803, + "strokeColor": "#e03131", + "backgroundColor": "#a5d8ff", + "width": 47.8199462890625, + "height": 25, + "seed": 1014279854, + "groupIds": [ + "BfyTELS-T85yDfGYdkPWe" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1716394939184, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "error", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "83MBUKRVQOyNqGUw7n3Xr", + "originalText": "error", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "aXNBUMvq4Fwfts3jg_-W2", + "type": "arrow", + "x": 3768.0687145558504, + "y": 2344.1592373589056, + "width": 3.273339925846358, + "height": 172.9441024954158, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3Z", + "roundness": { + "type": 2 + }, + "seed": 1726524630, + "version": 42, + "versionNonce": 976871766, + "isDeleted": false, + "boundElements": null, + "updated": 1716394786162, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 3.273339925846358, + -172.9441024954158 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "IM6UFGCuy3loiBad98_IQ", + "focus": -0.018076739786556485, + "gap": 4.9239396182372275 + }, + "endBinding": { + "elementId": "Bhx_mN_T2BbdYljDqNbOJ", + "focus": -0.037772795776884346, + "gap": 18.639771350667615 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "-_-XnhdaF6mehw1Y9k2tH", + "type": "text", + "x": 3526.3833706000787, + "y": 2445.634356745732, + "width": 194.27976989746094, + "height": 25, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3a", + "roundness": null, + "seed": 1816888918, + "version": 46, + "versionNonce": 775377034, + "isDeleted": false, + "boundElements": null, + "updated": 1716394819612, + "link": null, + "locked": false, + "text": "Some error message", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Some error message", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "ruW70J7obzj009i06sFW0", + "type": "text", + "x": 3862.085646395086, + "y": 2443.0863455801295, + "width": 194.27976989746094, + "height": 25, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3b", + "roundness": null, + "seed": 1296843350, + "version": 107, + "versionNonce": 1894437526, + "isDeleted": false, + "boundElements": null, + "updated": 1716394824146, + "link": null, + "locked": false, + "text": "Some error message", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Some error message", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "4Ok-2QqbGyROToxUVCmPd", + "type": "rectangle", + "x": 908.3988313430973, + "y": 2320.7459949315084, + "width": 275.3725517984447, + "height": 80.5114764117925, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3d", + "roundness": { + "type": 3 + }, + "seed": 1078559754, + "version": 182, + "versionNonce": 180953174, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "14I5A2_qEXO6wv3f9gjfE" + }, + { + "id": "63cUQS44cgcSk5YVJzBf5", + "type": "arrow" + }, + { + "id": "Swve9XYJEHh4VtxL-u24y", + "type": "arrow" + }, + { + "id": "oxCuQjGCeDgwra8NZ68As", + "type": "arrow" + }, + { + "id": "m3dXywUzKAuYu3X2KvsER", + "type": "arrow" + }, + { + "id": "TKrKTzBlVIGbRuSzTRHcS", + "type": "arrow" + }, + { + "id": "HVuej59TnwPd1VxHTuGIS", + "type": "arrow" + } + ], + "updated": 1716395451948, + "link": null, + "locked": false + }, + { + "id": "14I5A2_qEXO6wv3f9gjfE", + "type": "text", + "x": 1023.5451292149759, + "y": 2348.5017331374047, + "width": 45.0799560546875, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3dV", + "roundness": null, + "seed": 1648118922, + "version": 24, + "versionNonce": 40843210, + "isDeleted": false, + "boundElements": null, + "updated": 1716395312708, + "link": null, + "locked": false, + "text": "htmx", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4Ok-2QqbGyROToxUVCmPd", + "originalText": "htmx", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "bQMGoWkTfAx0PMrVZMImJ", + "type": "rectangle", + "x": 922.4007885354642, + "y": 2087.9627933924753, + "width": 75.26072020908624, + "height": 95.6803375554169, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3e", + "roundness": { + "type": 3 + }, + "seed": 1518790410, + "version": 105, + "versionNonce": 1075747670, + "isDeleted": false, + "boundElements": [ + { + "id": "63cUQS44cgcSk5YVJzBf5", + "type": "arrow" + }, + { + "id": "Swve9XYJEHh4VtxL-u24y", + "type": "arrow" + } + ], + "updated": 1716395320225, + "link": null, + "locked": false + }, + { + "id": "1rlN1uXZkBzKNoXU4aWN6", + "type": "rectangle", + "x": 1022.1649783423293, + "y": 2086.79597846349, + "width": 71.76027542213069, + "height": 93.9300706508034, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3f", + "roundness": { + "type": 3 + }, + "seed": 1368797206, + "version": 127, + "versionNonce": 1738882262, + "isDeleted": false, + "boundElements": [ + { + "id": "oxCuQjGCeDgwra8NZ68As", + "type": "arrow" + } + ], + "updated": 1716395348218, + "link": null, + "locked": false + }, + { + "id": "PFPY-P_eNdsMLP-FNnjJv", + "type": "rectangle", + "x": 1107.4256985514155, + "y": 2086.2945105692147, + "width": 71.76027542213069, + "height": 48.42357624220131, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3fV", + "roundness": { + "type": 3 + }, + "seed": 1833619722, + "version": 186, + "versionNonce": 1512469654, + "isDeleted": false, + "boundElements": [ + { + "id": "m3dXywUzKAuYu3X2KvsER", + "type": "arrow" + } + ], + "updated": 1716395358019, + "link": null, + "locked": false + }, + { + "id": "mlH1m8bpSE4LuJyUkUjQk", + "type": "text", + "x": 920.6505661419866, + "y": 2053.5412188537775, + "width": 45.439971923828125, + "height": 25, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3g", + "roundness": null, + "seed": 450741514, + "version": 45, + "versionNonce": 807707530, + "isDeleted": false, + "boundElements": null, + "updated": 1716395202487, + "link": null, + "locked": false, + "text": "DOM", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "DOM", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "63cUQS44cgcSk5YVJzBf5", + "type": "arrow", + "x": 929.8830621622104, + "y": 2190.2859758587806, + "width": 4.213651770211754, + "height": 127.5428660213106, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3h", + "roundness": { + "type": 2 + }, + "seed": 601871766, + "version": 158, + "versionNonce": 961493654, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "FgnflL4Uh7-m2R5rQJLg6" + } + ], + "updated": 1716395389349, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -4.213651770211754, + 127.5428660213106 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "bQMGoWkTfAx0PMrVZMImJ", + "focus": 0.7229660756133709, + "gap": 6.642844910888698 + }, + "endBinding": { + "elementId": "4Ok-2QqbGyROToxUVCmPd", + "focus": -0.8764589784496143, + "gap": 2.9171530514172446 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "FgnflL4Uh7-m2R5rQJLg6", + "type": "text", + "x": 922.5587488024204, + "y": 2225.400817443928, + "width": 63.85992431640625, + "height": 25, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3i", + "roundness": null, + "seed": 383908694, + "version": 10, + "versionNonce": 1251631958, + "isDeleted": false, + "boundElements": null, + "updated": 1716395368168, + "link": null, + "locked": false, + "text": "trigger", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "63cUQS44cgcSk5YVJzBf5", + "originalText": "trigger", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Swve9XYJEHh4VtxL-u24y", + "type": "arrow", + "x": 1010.4966955190689, + "y": 2316.6620269511063, + "width": 33.54042984641842, + "height": 130.00931066049543, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3j", + "roundness": { + "type": 2 + }, + "seed": 1301665558, + "version": 82, + "versionNonce": 2010325590, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "W8IMt6_VWChk-CXOQsU4G" + } + ], + "updated": 1716395396932, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -33.54042984641842, + -130.00931066049543 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "4Ok-2QqbGyROToxUVCmPd", + "focus": -0.16309294108751654, + "gap": 4.083967980402122 + }, + "endBinding": { + "elementId": "bQMGoWkTfAx0PMrVZMImJ", + "focus": -0.07617508956058715, + "gap": 3.0095853427189923 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "W8IMt6_VWChk-CXOQsU4G", + "type": "text", + "x": 962.2964378310149, + "y": 2240.569634076417, + "width": 68.97991943359375, + "height": 25, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3k", + "roundness": null, + "seed": 245644758, + "version": 12, + "versionNonce": 1845156630, + "isDeleted": false, + "boundElements": null, + "updated": 1716395373775, + "link": null, + "locked": false, + "text": "replace", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Swve9XYJEHh4VtxL-u24y", + "originalText": "replace", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "oxCuQjGCeDgwra8NZ68As", + "type": "arrow", + "x": 1060.2198124491963, + "y": 2187.1435668326203, + "width": 30.969325377887117, + "height": 127.09222882689619, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3l", + "roundness": { + "type": 2 + }, + "seed": 501040406, + "version": 79, + "versionNonce": 785193366, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "nqloejGXK9jDuItAEqIny" + } + ], + "updated": 1716395403152, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 30.969325377887117, + 127.09222882689619 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "1rlN1uXZkBzKNoXU4aWN6", + "focus": 0.22891685419054006, + "gap": 6.41751771832719 + }, + "endBinding": { + "elementId": "4Ok-2QqbGyROToxUVCmPd", + "focus": 0.383060608729735, + "gap": 6.510199271991951 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "nqloejGXK9jDuItAEqIny", + "type": "text", + "x": 1032.241021294636, + "y": 2236.7774187905106, + "width": 63.85992431640625, + "height": 25, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3m", + "roundness": null, + "seed": 23929302, + "version": 10, + "versionNonce": 794495062, + "isDeleted": false, + "boundElements": null, + "updated": 1716395373775, + "link": null, + "locked": false, + "text": "trigger", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "oxCuQjGCeDgwra8NZ68As", + "originalText": "trigger", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "m3dXywUzKAuYu3X2KvsER", + "type": "arrow", + "x": 1119.5955382912236, + "y": 2316.0786194866137, + "width": 24.503469597778803, + "height": 175.02491001595126, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3n", + "roundness": { + "type": 2 + }, + "seed": 412398486, + "version": 55, + "versionNonce": 1308151818, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "C_LAWtwtUaBNPP84grvC2" + } + ], + "updated": 1716395373775, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 24.503469597778803, + -175.02491001595126 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "4Ok-2QqbGyROToxUVCmPd", + "focus": 0.4690219537767485, + "gap": 4.6673754448947875 + }, + "endBinding": { + "elementId": "PFPY-P_eNdsMLP-FNnjJv", + "focus": -0.12910195339224154, + "gap": 6.335622659246383 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "C_LAWtwtUaBNPP84grvC2", + "type": "text", + "x": 1097.3573133733162, + "y": 2216.066164478638, + "width": 68.97991943359375, + "height": 25, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffec99", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3o", + "roundness": null, + "seed": 1157023510, + "version": 10, + "versionNonce": 1187220886, + "isDeleted": false, + "boundElements": null, + "updated": 1716395373775, + "link": null, + "locked": false, + "text": "replace", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "m3dXywUzKAuYu3X2KvsER", + "originalText": "replace", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "1vxEUeboFuCFdcL8MuKXL", + "type": "rectangle", + "x": 1472.83032894996, + "y": 2182.830991735306, + "width": 212.31069115213222, + "height": 96.97559472020976, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3p", + "roundness": { + "type": 3 + }, + "seed": 18623126, + "version": 176, + "versionNonce": 479191946, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ZxPLaEHDvQMiN_SWaMJVG" + }, + { + "id": "TKrKTzBlVIGbRuSzTRHcS", + "type": "arrow" + }, + { + "id": "aNgiHQnqoGW8IJmBj4otB", + "type": "arrow" + } + ], + "updated": 1716395576445, + "link": null, + "locked": false + }, + { + "id": "ZxPLaEHDvQMiN_SWaMJVG", + "type": "text", + "x": 1505.1057535665534, + "y": 2193.8187890954105, + "width": 147.7598419189453, + "height": 75, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3q", + "roundness": null, + "seed": 2026973526, + "version": 127, + "versionNonce": 1151263306, + "isDeleted": false, + "boundElements": null, + "updated": 1716395576445, + "link": null, + "locked": false, + "text": "handle \nGET/POST/... \nrequests", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1vxEUeboFuCFdcL8MuKXL", + "originalText": "handle GET/POST/... requests", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "nUcCmIuy_nygWiTzlRQXi", + "type": "rectangle", + "x": 1476.2397827959496, + "y": 2370.0416708715347, + "width": 212.31069115213222, + "height": 85, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3r", + "roundness": { + "type": 3 + }, + "seed": 710069770, + "version": 265, + "versionNonce": 31502678, + "isDeleted": false, + "boundElements": [ + { + "id": "TKrKTzBlVIGbRuSzTRHcS", + "type": "arrow" + }, + { + "type": "text", + "id": "8BzXZMEZHIo1w7w52talO" + }, + { + "id": "aNgiHQnqoGW8IJmBj4otB", + "type": "arrow" + }, + { + "id": "HVuej59TnwPd1VxHTuGIS", + "type": "arrow" + } + ], + "updated": 1716395581721, + "link": null, + "locked": false + }, + { + "id": "8BzXZMEZHIo1w7w52talO", + "type": "text", + "x": 1498.1952153471134, + "y": 2387.5416708715347, + "width": 168.3998260498047, + "height": 50, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3s", + "roundness": null, + "seed": 1938845590, + "version": 199, + "versionNonce": 1927494858, + "isDeleted": false, + "boundElements": null, + "updated": 1716395512014, + "link": null, + "locked": false, + "text": "render HTML as \nresponse", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nUcCmIuy_nygWiTzlRQXi", + "originalText": "render HTML as response", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "aNgiHQnqoGW8IJmBj4otB", + "type": "arrow", + "x": 1578.4899574101837, + "y": 2281.218866868965, + "width": 0.8518779316223117, + "height": 87.82280400256968, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3t", + "roundness": { + "type": 2 + }, + "seed": 780091926, + "version": 135, + "versionNonce": 113143114, + "isDeleted": false, + "boundElements": null, + "updated": 1716395576445, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -0.8518779316223117, + 87.82280400256968 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "1vxEUeboFuCFdcL8MuKXL", + "focus": 0.00012173736972586099, + "gap": 1.4122804134497073 + }, + "endBinding": { + "elementId": "nUcCmIuy_nygWiTzlRQXi", + "focus": -0.048598237803905556, + "gap": 1 + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "JzHM7MuY5SQTdAS1xXwSa", + "type": "text", + "x": 1531.2798619402975, + "y": 1898.5589284897192, + "width": 104.91644287109375, + "height": 105, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b3u", + "roundness": null, + "seed": 228826134, + "version": 90, + "versionNonce": 1273821654, + "isDeleted": false, + "boundElements": null, + "updated": 1716395571210, + "link": null, + "locked": false, + "text": "server\n/\nbackend", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "server\n/\nbackend", + "autoResize": true, + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/project/main/views/filter_list.py b/project/main/views/filter_list.py index afdd519..04e8d3a 100644 --- a/project/main/views/filter_list.py +++ b/project/main/views/filter_list.py @@ -1,4 +1,4 @@ -from typing import Any, Optional +from typing import Any, Optional, Iterator from django.db.models import Count, Q @@ -6,18 +6,19 @@ from project.main.models import CatBreed from project.main.views.demo_view_base import DemoViewBase -def get_countries() -> list[str]: +def get_countries() -> Iterator[str]: ann = ( CatBreed.objects.values("country") .annotate(Count("country")) .order_by("country") ) - return [a["country"] for a in ann] + for a in ann: + yield a["country"] def filter_cat_breeds( breed_filter: Optional[str] = None, country_filter: Optional[str] = None -) -> list[CatBreed]: +) -> Iterator[CatBreed]: q = Q() if breed_filter: @@ -25,7 +26,8 @@ def filter_cat_breeds( if country_filter: q &= Q(country=country_filter) - return CatBreed.objects.filter(q).order_by("name") + for c in CatBreed.objects.filter(q).order_by("name"): + yield c class FilterListView(DemoViewBase):