Custom Widget

This commit is contained in:
Admin committed 2026-08-11 13:44:46 +00:00
1 parent 992ea2508a
commit 8bdf482e2a
6 files changed
+65 -245

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@
{
"dsl": {
"backgroundColor": "none",
"bottomRow": 1560,
"bottomRow": 880,
"canExtend": true,
"containerStyle": "none",
"detachFromLayout": true,
@@ -1,44 +0,0 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 35,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "8ew4ej3zx2",
"leftColumn": 50,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 43,
"mobileRightColumn": 57,
"mobileTopRow": 48,
"needsErrorInfo": false,
"parentColumnSpace": 19.546875,
"parentId": "fbjdkzsgug",
"parentRowSpace": 10,
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Submit",
"topRow": 31,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "2vvgwxhzyp",
"widgetName": "Button2"
}
@@ -1,92 +0,0 @@
{
"animateLoading": true,
"backgroundColor": "#FFFFFF",
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 75,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 560,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": false,
"containerStyle": "none",
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
"isLoading": false,
"isVisible": true,
"key": "1jvj63l10y",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 100,
"minWidth": 450,
"mobileBottomRow": 100,
"mobileLeftColumn": 0,
"mobileRightColumn": 469.125,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "r7pg5v82g9",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 469.125,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "fbjdkzsgug",
"widgetName": "Canvas6"
}
],
"containerStyle": "card",
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"flexVerticalAlignment": "stretch",
"isCanvas": true,
"isLoading": false,
"isVisible": true,
"key": "bfi3cj4l3r",
"leftColumn": 2,
"maxDynamicHeight": 9000,
"minDynamicHeight": 10,
"minWidth": 450,
"mobileBottomRow": 39,
"mobileLeftColumn": 7,
"mobileRightColumn": 31,
"mobileTopRow": 29,
"needsErrorInfo": false,
"originalBottomRow": 75,
"originalTopRow": 19,
"parentColumnSpace": 19.546875,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 59,
"shouldScrollContents": true,
"topRow": 19,
"type": "CONTAINER_WIDGET",
"version": 1,
"widgetId": "r7pg5v82g9",
"widgetName": "Container1"
}
@@ -1,39 +0,0 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 54,
"boxShadow": "none",
"defaultImage": "",
"dynamicBindingPathList": [
{
"key": "borderRadius"
}
],
"dynamicTriggerPathList": [],
"enableDownload": false,
"enableRotation": false,
"flexVerticalAlignment": "start",
"image": "data:image/jpeg;base64,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 truncated
"imageShape": "RECTANGLE",
"isLoading": false,
"isVisible": true,
"key": "l5xartlc37",
"leftColumn": 0,
"maxZoomLevel": 1,
"mobileBottomRow": 39,
"mobileLeftColumn": 35,
"mobileRightColumn": 47,
"mobileTopRow": 27,
"needsErrorInfo": false,
"objectFit": "cover",
"parentColumnSpace": 19.546875,
"parentId": "fbjdkzsgug",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 50,
"topRow": 0,
"type": "IMAGE_WIDGET",
"version": 1,
"widgetId": "jmhfepxevl",
"widgetName": "Image1"
}
-69
View File
@@ -1,69 +0,0 @@
{
"backgroundColor": "{{appsmith.theme.colors.backgroundColor}}",
"borderColor": "{{appsmith.theme.colors.backgroundColor}}",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 156,
"boxShadow": "none",
"defaultModel": "",
"dynamicBindingPathList": [
{
"key": "theme"
},
{
"key": "borderRadius"
},
{
"key": "borderColor"
},
{
"key": "backgroundColor"
}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{
"key": "onResetClick"
}
],
"events": [
"onResetClick"
],
"isCanvas": false,
"isLoading": false,
"isSearchWildcard": true,
"isVisible": true,
"key": "saqp6nhsbp",
"leftColumn": 31,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"mobileBottomRow": 44,
"mobileLeftColumn": 0,
"mobileRightColumn": 23,
"mobileTopRow": 14,
"needsErrorInfo": false,
"onResetClick": "{{showAlert('Successfully reset!!', '');}}",
"originalBottomRow": 156,
"originalTopRow": 98,
"parentColumnSpace": 25.390625,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 64,
"srcDoc": {
"css": "",
"html": "<!-- no need to write html, head, body tags, it is handled by the widget -->\n<div id=\"root\"></div>\n",
"js": ""
},
"theme": "{{appsmith.theme}}",
"topRow": 98,
"type": "CUSTOM_WIDGET",
"uncompiledSrcDoc": {
"css": "",
"html": "<!-- no need to write html, head, body tags, it is handled by the widget -->\n<div id=\"root\"></div>\n",
"js": ""
},
"version": 1,
"widgetId": "jdodbd03v8",
"widgetName": "Custom2"
}
+64
View File
@@ -0,0 +1,64 @@
{
"backgroundColor": "#FFFFFF",
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 88,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"defaultModel": "{\n \"seats\": [\n {\n \"id\": \"A01\",\n \"name\": \"Arbeitsplatz A01\",\n \"x\": 20,\n \"y\": 30,\n \"status\": \"frei\"\n },\n {\n \"id\": \"A02\",\n \"name\": \"Arbeitsplatz A02\",\n \"x\": 35,\n \"y\": 30,\n \"status\": \"belegt\"\n },\n {\n \"id\": \"A03\",\n \"name\": \"Arbeitsplatz A03\",\n \"x\": 50,\n \"y\": 30,\n \"status\": \"frei\"\n },\n {\n \"id\": \"B01\",\n \"name\": \"Arbeitsplatz B01\",\n \"x\": 20,\n \"y\": 55,\n \"status\": \"reserviert\"\n },\n {\n \"id\": \"B02\",\n \"name\": \"Arbeitsplatz B02\",\n \"x\": 35,\n \"y\": 55,\n \"status\": \"frei\"\n }\n ]\n}",
"dynamicBindingPathList": [
{
"key": "theme"
},
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{
"key": "onResetClick"
}
],
"events": [
"onResetClick"
],
"isCanvas": false,
"isLoading": false,
"isSearchWildcard": true,
"isVisible": true,
"key": "fztl1t0wyo",
"leftColumn": 2,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"mobileBottomRow": 49,
"mobileLeftColumn": 2,
"mobileRightColumn": 25,
"mobileTopRow": 19,
"needsErrorInfo": false,
"onResetClick": "{{showAlert('Successfully reset!!', '');}}",
"parentColumnSpace": 19.546875,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 62,
"srcDoc": {
"css": "html,\nbody {\n margin: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n font-family: Arial, sans-serif;\n}\n\n#seatPlan {\n width: 100%;\n min-height: 100%;\n box-sizing: border-box;\n padding: 8px;\n background: #ffffff;\n}\n\n#toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n min-height: 38px;\n margin-bottom: 8px;\n padding: 6px 10px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n background: #f9fafb;\n color: #374151;\n font-size: 14px;\n}\n\n#selectedSeatText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n#clearSelectionButton {\n padding: 6px 10px;\n border: 1px solid #9ca3af;\n border-radius: 5px;\n background: #ffffff;\n color: #374151;\n cursor: pointer;\n}\n\n#clearSelectionButton:hover {\n background: #f3f4f6;\n}\n\n#imgHolder {\n position: relative;\n width: 100%;\n aspect-ratio: 1920/1080;\n overflow: hidden;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n background: #f3f4f6;\n}\n\n#floorplanImage {\n position: absolute;\n inset: 0;\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n#seatLayer {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\n.seat {\n position: absolute;\n z-index: 2;\n transform: translate(-50%, -50%);\n min-width: 42px;\n min-height: 30px;\n padding: 4px 7px;\n border: 2px solid #ffffff;\n border-radius: 6px;\n color: #ffffff;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n cursor: pointer;\n pointer-events: auto;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);\n transition: transform 0.12s ease, box-shadow 0.12s ease;\n}\n\n.seat:hover {\n z-index: 10;\n transform: translate(-50%, -50%) scale(1.12);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);\n}\n\n.seat.frei {\n background: #16a34a;\n}\n\n.seat.reserviert {\n background: #f59e0b;\n color: #111827;\n}\n\n.seat.belegt {\n background: #dc2626;\n}\n\n.seat.selected {\n outline: 4px solid #2563eb;\n outline-offset: 2px;\n}\n\n.seat.disabled {\n cursor: not-allowed;\n opacity: 0.75;\n}\n\n#legend {\n display: flex;\n flex-wrap: wrap;\n gap: 14px;\n margin-top: 8px;\n color: #374151;\n font-size: 13px;\n}\n\n.legendItem {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.legendColor {\n display: inline-block;\n width: 14px;\n height: 14px;\n border-radius: 3px;\n}\n\n.legendColor.frei {\n background: #16a34a;\n}\n\n.legendColor.reserviert {\n background: #f59e0b;\n}\n\n.legendColor.belegt {\n background: #dc2626;\n}",
"html": "<div id=\"seatPlan\">\n <div id=\"toolbar\">\n <span id=\"selectedSeatText\">Kein Platz ausgewählt</span>\n <button id=\"clearSelectionButton\" type=\"button\">\n Auswahl löschen\n </button>\n </div>\n\n <div id=\"imgHolder\">\n <img id=\"floorplanImage\" alt=\"Büroplan\">\n <div id=\"seatLayer\"></div>\n </div>\n\n <div id=\"legend\">\n <span class=\"legendItem\">\n <span class=\"legendColor frei\"></span>\n Frei\n </span>\n\n <span class=\"legendItem\">\n <span class=\"legendColor reserviert\"></span>\n Reserviert\n </span>\n\n <span class=\"legendItem\">\n <span class=\"legendColor belegt\"></span>\n Belegt\n </span>\n </div>\n</div>",
"js": "const FLOORPLAN_IMAGE = \"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAADo08FDAAAAAXNSR0IB2cksfwAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+oHDgsXHUMkPskAACAASURBVHja7N15nFTVnf//9zm3uptFZFMEFaJBEOOKmLgHQdEIbomOOyY4LoCKQKOIGjXtoEZi4jIxGqKE+FMneeg4JI7EMZlx+So2rnE0qNGfCwraISbyZRGru+73j9ruVtVd3fc23dWvZ1KpvW7fe4qqm3rfz+cY13VdAQAAAAAAAAAAAAC6PcsmAAAAAAAAAAAAAIDqQAAMAAAAAAAAAAAAAFWCABgAAAAAAAAAAAAAqgQBMAAAAAAAAAAAAABUCQJgAAAAAAAAAAAAAKgSBMAAAAAAAAAAAAAAUCUIgAEAAAAAAAAAAACgShAAAwAAAAAAAAAAAECVIAAGAAAAAAAAAAAAgCpBAAwAAAAAAAAAAAAAVYIAGAAAAAAAAAAAAACqBAEwAAAAAAAAAAAAAFQJAmAAAAAAAAAAAAAAqBIEwAAAAAAAAAAAAABQJQiAAQAAAAAAAAAAAKBKEAADAAAAAAAAAAAAQJUgAAYAAAAAAAAAAACAKkEADAAAAAAAAAAAAABVggAYAAAAAAAAAAAAAKoEATAAAAAAAAAAAAAAVAkCYAAAAAAAAAAAAACoEgTAAAAAAAAAAAAAAFAlCIABAAAAAAAAAAAAoEoQAAMAAAAAAAAAAABAlSAABgAAAAAAAAAAAIAqQQAMAAAAAAAAAAAAAFWCABgAAAAAAAAAAAAAqgQBMAAAAAAAAAAAAABUCQJgAAAAAAAAAAAAAKgSBMAAAAAAAAAAAAAAUCUIgAEAAAAAAAAAAACgSqTYBAAAAAAAAIiyadMm/fWvf9Vf/vIXvfXWW/r444+1adMmZTIZua4b+RxjTOG+jlwuh2V03WW4rlt4f7Tlueg8xhgZY2StlbWW924nLyP/2JaWli7/b8MYo169emnkyJE6+OCDNXr0aPXr149/RADQnb73XfbEAAAAAAAA4OG6rlavXq0HHnhA77//PhsEAHqwgQMH6rzzztPIkSPZGADQTRAAAwAAAAAAoODzzz/Xf/3Xf+mPf/wjGwMAUHDOOefokEMOYUMAQDdAAAwAAAAAAABJ0ptvvqm7775bmzdvZmMAAELOOussHX744WwIAOjimAMYAAAAAAAAevTRR/Xoo4+yIQAAJd1///3q3bu3DjjgADYGAHRhBMAAAAAAAAA93G233aZVq1axIQAArfrFL36hgQMHMicwAHRhtIAGAAAAAADooTZv3qwFCxboiy++YGMAANrMGKPrr79e2223HRsDALri5zQBMAAAAAAAQM+STqf16quv6p577mFjAADapaamRj/84Q/Vp08fNgYAdDEEwAAAAAAAAD3I+vXrde+99+rNN99kYwAAOmTQoEG6/vrr5TgOGwMAuhACYAAAAAAAgB7iz3/+s372s58pnU6zMQAAsRg9erTmzJkjYwwbAwC6CAJgAAAAAACAHmDZsmVavnw5GwIAELtDDz1UU6dOZUMAQBeRYhMAAAAAAABUr3Q6rR/96Ef64IMP2BgAgEQ8++yzGjRokKZMmcLGAIAuwLIJAAAAAAAAqtPq1atVX19P+AsASNzvfvc7vfLKK2wIAOgCaAENAAAAAABQhZYvX65ly5axIQAAnaqhoUFDhgxhQwDAVkQADAAAAAAAUEU2bdqkH/7wh/r000/ZGACATpdKpfSTn/xENTU1bAwA2EoIgAEAAAAAAKpAOp3WG2+8obvvvlud8XOP4ziRtxtjCsvvyOVyWEbXWEZLSwv/8KqI4zj8++DfR2yGDBmihoYG/mEBwFZCAAwAAAAAANDNNTU16f7779dbb72V+LL22Wc/feuYyTLGyphsCCKZ/H9zipfyF02bXt0wmF2G/ydD13XlutnzTCajlpYWNbc0qzmd1qpVb5U8ICCopaVFe+yxu1I1NUo5KTmOI2utjDHKvpVM4F3AeyI4Hm52QDplPLL/vhmPLvPvQ/nzVv4yt8R7xy3e5rr58+xp/f9dr7vu+tdYt9LYsWN14YUX8nYBgK0gxSYAAAAAAADovl555RUtXrxYmUwm0eVYa3X8cSfpa1/bUyYfSCgqlPCHv4R53V02MXJdyZUrN5MNuLLjnb/ceihVeAcYI+s4SjmOUilHjpPKBlzW+37ivcJ4MB7lxyNqXIIHCSj6vkLwWzx33YwG9B+oM8+YqgcevC/W76fHHntMkydP5q0CAJ2MABgAAAAAAKCb+o//+A/9/ve/T3w5Q4cO04knfEfbbbe9rDW5QMMUq3+lQhCcFx14tDUFYWy7BE+A5LpuNuAybm5sHWUyrhzbEhr7skNrJMdaWevIcRw5TvZyMeAyvA8YD8YjOB6Fz9zWXitYmRy+L3+bK9dTSW5lbUa77LKrjj32OC1f/mhsm+m3v/2thg8frr333pv3DAB0IgJgAAAAAACAbuhf//Vf9frrrye+nCOOOFLf+MZBqq2plbW2EAArVwEs+cPfshWDJbMkkqWuy18pmFG20tx13dz7wUrBoLAsU3iezQVd+cv+anLeE4wH41EcD/8BN5HD4arkjeHWz8G/3VUmk13G2P3GqampSS+9tDK2rfTTn/5UN9xwgwYNGsRbBgA6CQEwAAAAAABAN3P55Zdr/fr1iS6jtrZWU8+epqHDhsmxVsZaWW/lb2GuVtNK9W/bK9+SQXDVPvngyBTa2bquK8lKkjKujagGb8s4Zx9rrcm+pwqnqIpyxo/x6I7j4SqTCY6HKh8Pk30NfwtoU8FHnSvX9Y6fK8kUQ18Zmdy8xTKurHHlZrKPP+boY7X+88/1l3fim1f+yiuv1B133KGamhrePgDQCQiAAQAAAAAAuoF0Oq2//e1vuu666xJf1tChw3TWmeeoT58+uUpAf5jhrWhrc/WvRCVht5If03yVoJHkytqMXNfkDgawuVMFr2pUeJ4NhF1R7ykwHt1vPLLtlP3jYSofD08I3Pp4BCt9peLBOd6/Mf83G5lsE2gZY4otrG3xBf7pn07XzxffqXXr/hrbVps7d67uuOMO3j4A0AkIgAEAAAAAALq4pqYm/f73v9dzzz2X+LLGj5+oww79phwnH0L4qwG981D6gghTiBd8r0flYHdnPCGXPO+B6AMC2vZ65U68VxgPxqPUKfs5ayKfV/y8dSOC4OBt4duNkTKuZHNV5ZLRBefP0I9uuUlffvllLFsrnU7rmmuuUUNDA28dAEgYATAAAAAAAEAX1tjYqPvuu0/Nzc2JLieVSmnq2dO00047++agjAqDCmFGIIyICjkIgKtBtroxf9mYYkVitmKx0pbDCrxG5a2LGQ/Go/rGw/U8R+0I5N0OftYaWblybUYqhMCOZl86TzcvuiG2rdXU1KQ777xTM2fO5K0DAEnu27MJAAAAAAAAuqalS5dqxYoViS9n6A7D9N3vnqva2rrAHKC2EEQUgl9P6Bs99y8hcLXJzRZaGMNwSNX21/I+JyrkKl3hCMaj2sfDlAl+vW33y7+g6wbnVHdLfvbm7zEmNxewjCQr62kFXVdXp5kzL9Wdd94W2zZ77bXX9PDDD+vkk0/mDQQACSEABgAAAAAA6GI2b96shQsXat26dYkv6/DDxmv8+Amy1ilR9RsOHrwBRFtDYHluJlDqTlzJLfT3zs4dGnOLW+9trb6HGA/Go4ePR9SYuPkoNxT+ytfiOdse2hNK55/m5j/Xi8GvtbZwefCgQTrl5NP10MP/FtuWe+KJJ7TTTjvpoIMO4m0EAAkgAAYAAAAAAOhC3nnnHf3oRz9KfDmDB2+nE074tnYutHx2ZIzxVP6GWz5HBUIVBcC+x7T+OGxtgbBI8oVS+VMlbYKjnhvVbpjQkfFgPAKtn8tUYxvPXOyV/P3+J4Qrhb0h8Jgxe+iww8br//yfp2Lbgr/85S+1/fbba+TIkbydACBmBMAAAAAAAABdwObNm/Xv//7veuaZZxJf1pTJJ2ivvfZWXV2dp+rXlpxvMjr4bcvcv21MIyppWUsIlRjXdcNb2xTv87cLNr72tpWFXP7nt/V1etp8tIwH41F8rsn+p6Jt7noqe/N/pzx/c7H1szHGd5/JVQVnMt4Q2NUR4yfo008+0V/eeSu27bpo0SLdfPPN2nbbbfkQBoAYWTYBAAAAAADA1rVmzRp9//vfTzz8TaVSmjP7Mo0dO051db3kOI6v9XPpFtAqe5sUnj/U0++57JyWxhhV8h8kp/QYeSoTCwcFhIOqypbhOUjAc6BBuTlQGQ/Go6eNhzcEDl4uOS6eDgtRQXT0uCqy7XS2I4QpdImwjqNTTz1DAwYMjHXbzp8/X+l0mg9hAIhzv59NAAAAAAAAsHWk02k99dRTeuihhxJf1vDhX9HUs78nx7Ge0Ne0UvmbPZfaNv9vuRalXv48hFC3K3Nzc5wak20Pa1zv+8IoqiK8dd4WtypUNnoDSMJ+xoPxKF2Rna/QDV7OfXL7PlaLf2PuuusWXjtf/Vt4rOd6/iWtzVcCG0lWcqQLL5ipH91yk1paWuLZjq6refPm6bbbbuNNBQAxoQIYAAAAAABgK1i/fr1uv/32Tgl/v/GNg3TO1GlKpVJynFSu8tdb9Wsiq79KzQkarHjzVvLmla8c9Icj6LqM/BXdxfeFfKc2v17oed4KyfD7CIxH1x8PKTgnenvGImpMvAfiBKuNg5/X4YN4/O+ZctXEwWrhQmcGY3xzw1trZR2ruro6XXzR7Fi35ZYtW9TQ0MCbCgBiQgUwAAAAAABAJ3v33Xd16623Jt7y0hijE0/Line truncated
},
"theme": "{{appsmith.theme}}",
"topRow": 19,
"type": "CUSTOM_WIDGET",
"uncompiledSrcDoc": {
"css": "html,\nbody {\n margin: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n font-family: Arial, sans-serif;\n}\n\n#seatPlan {\n width: 100%;\n min-height: 100%;\n box-sizing: border-box;\n padding: 8px;\n background: #ffffff;\n}\n\n#toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n min-height: 38px;\n margin-bottom: 8px;\n padding: 6px 10px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n background: #f9fafb;\n color: #374151;\n font-size: 14px;\n}\n\n#selectedSeatText {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n#clearSelectionButton {\n padding: 6px 10px;\n border: 1px solid #9ca3af;\n border-radius: 5px;\n background: #ffffff;\n color: #374151;\n cursor: pointer;\n}\n\n#clearSelectionButton:hover {\n background: #f3f4f6;\n}\n\n#imgHolder {\n position: relative;\n width: 100%;\n aspect-ratio: 1920 / 1080;\n overflow: hidden;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n background: #f3f4f6;\n}\n\n#floorplanImage {\n position: absolute;\n inset: 0;\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n#seatLayer {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\n.seat {\n position: absolute;\n z-index: 2;\n transform: translate(-50%, -50%);\n min-width: 42px;\n min-height: 30px;\n padding: 4px 7px;\n border: 2px solid #ffffff;\n border-radius: 6px;\n color: #ffffff;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n cursor: pointer;\n pointer-events: auto;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);\n transition: transform 0.12s ease, box-shadow 0.12s ease;\n}\n\n.seat:hover {\n z-index: 10;\n transform: translate(-50%, -50%) scale(1.12);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);\n}\n\n.seat.frei {\n background: #16a34a;\n}\n\n.seat.reserviert {\n background: #f59e0b;\n color: #111827;\n}\n\n.seat.belegt {\n background: #dc2626;\n}\n\n.seat.selected {\n outline: 4px solid #2563eb;\n outline-offset: 2px;\n}\n\n.seat.disabled {\n cursor: not-allowed;\n opacity: 0.75;\n}\n\n#legend {\n display: flex;\n flex-wrap: wrap;\n gap: 14px;\n margin-top: 8px;\n color: #374151;\n font-size: 13px;\n}\n\n.legendItem {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.legendColor {\n display: inline-block;\n width: 14px;\n height: 14px;\n border-radius: 3px;\n}\n\n.legendColor.frei {\n background: #16a34a;\n}\n\n.legendColor.reserviert {\n background: #f59e0b;\n}\n\n.legendColor.belegt {\n background: #dc2626;\n}",
"html": "<div id=\"seatPlan\">\n <div id=\"toolbar\">\n <span id=\"selectedSeatText\">Kein Platz ausgewählt</span>\n <button id=\"clearSelectionButton\" type=\"button\">\n Auswahl löschen\n </button>\n </div>\n\n <div id=\"imgHolder\">\n <img id=\"floorplanImage\" alt=\"Büroplan\">\n <div id=\"seatLayer\"></div>\n </div>\n\n <div id=\"legend\">\n <span class=\"legendItem\">\n <span class=\"legendColor frei\"></span>\n Frei\n </span>\n\n <span class=\"legendItem\">\n <span class=\"legendColor reserviert\"></span>\n Reserviert\n </span>\n\n <span class=\"legendItem\">\n <span class=\"legendColor belegt\"></span>\n Belegt\n </span>\n </div>\n</div>",
"js": "\nconst FLOORPLAN_IMAGE =\n \"data:image/jpeg;base64,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 truncated
},
"version": 1,
"widgetId": "9tlkh1l3xk",
"widgetName": "Custom4"
}