Author SHA1 Message Date
Florian Bernard 3005079690 123 2026-08-28 14:37:50 +00:00
Florian Bernard 3168c4ac01 test 2026-08-28 14:36:49 +00:00
Florian Bernard d6e186a7ed 123 2026-08-28 14:34:46 +00:00
Florian Bernard 76ebf3b364 test123 2026-08-28 14:31:41 +00:00
Florian Bernard cb41745f0d test 2026-08-28 14:26:22 +00:00
Florian Bernard 5b51fd3c24 Test 2026-08-28 14:23:10 +00:00
Florian Bernard d32cbfda38 Test 2026-08-28 14:18:30 +00:00
Florian Bernard 1241eba57d Userdata Catch test 2026-08-28 14:15:56 +00:00
Florian Bernard e39fba9ebc 123 2026-08-28 14:12:13 +00:00
Florian Bernard 037669567e Bas 64 Part ans ende der Source verschoben 2026-08-28 11:38:12 +00:00
Admin ef72744776 Neueste 2026-08-21 06:47:26 +00:00
Admin 9c6b92b1a9 Navbar angepasst 2026-08-20 12:09:56 +00:00
Admin 6f93035fa5 123 2026-08-20 11:06:08 +00:00
Admin f6115aadb9 123 2026-08-20 08:27:39 +00:00
Admin 456393ba2e 123 2026-08-20 08:24:24 +00:00
Admin 45730c4c57 Neueste Version 2026-08-19 14:19:28 +00:00
Admin 1410ceb441 Neueste 2026-08-19 13:28:52 +00:00
Admin 1cbb64474b Neueste Version 2026-08-19 10:07:31 +00:00
Admin 5cc0d238c5 Neueste Version 2026-08-18 13:35:19 +00:00
Admin 179347a45b Neuste Version 2026-08-17 14:59:39 +00:00
Admin 1a4173edf6 Neueste Version 2026-08-17 14:17:43 +00:00
Admin 80faac623d Neueste Version 2026-08-17 13:23:28 +00:00
Admin 4e852a81d7 Neueste Version 2026-08-17 13:03:04 +00:00
Admin 01d8e6d9c2 Buchungsmodal eingefügt 2026-08-17 10:29:27 +00:00
Admin 86d310a0b4 Neueste 2026-08-17 09:58:57 +00:00
Admin 070cde692b Neuste Version 2026-08-17 09:27:50 +00:00
Admin 1927e5b41f Newest 2026-08-14 12:41:55 +00:00
Admin 0f558de295 neueste Version 2026-08-14 10:11:13 +00:00
Admin 38880d565e Newest 2026-08-14 08:53:03 +00:00
Admin 9d5cddcbf8 Aktuellste Version 2026-08-14 07:59:25 +00:00
Admin dac15b9209 new 2026-08-13 15:02:31 +00:00
Admin c39e4ad581 Newest 2026-08-13 14:31:23 +00:00
Admin a6489b53a6 Läuft 2026-08-13 12:46:00 +00:00
Admin 1d54b9fa86 Klappt 2026-08-13 12:40:38 +00:00
Admin e3cd33975a Aktuelle Version (alles läuft soweit) 2026-08-13 12:30:40 +00:00
Admin df3fcc6899 Grundriss sauber, Punkte Datenbankbasiert 2026-08-12 14:32:24 +00:00
Admin 9aa468080b d 2026-08-12 14:20:54 +00:00
Admin a3af4434e1 Kurz vor Feddich 2026-08-12 14:19:56 +00:00
Admin 3da20a0df4 Navbar Fix 2026-08-12 13:52:39 +00:00
Admin 5452d1cb0c Changes 2026-08-12 12:56:50 +00:00
Admin a4c1fd764e Grundgriss 2026-08-11 14:13:24 +00:00
Admin 64a8e4ce2c Backgrund Color 2026-08-11 14:02:26 +00:00
Admin 8bdf482e2a Custom Widget 2026-08-11 13:44:46 +00:00
Admin 992ea2508a Bild hinzugefügt 2026-08-11 12:05:55 +00:00
Admin 405dc2ff55 Räume in Timeline Eingefügt 2026-08-06 11:58:51 +00:00
Admin 5f31b04f5b Opencalender Timeline eingefügt. 2026-08-06 11:50:08 +00:00
Admin 229967ec5f Kalender Layout 2026-08-06 10:59:12 +00:00
Admin 3a64c21cca Gui Anpassung 2026-08-06 10:57:46 +00:00
Admin d88048ae01 Kalender eingefügt. 2026-08-06 10:56:06 +00:00
Admin 4d232d718f App weiterentwickelt 2026-08-06 08:20:32 +00:00
Admin 94fae5ebfe Navbar eingefügt. 2026-07-30 14:11:30 +00:00
102 changed files with 4046 additions and 157 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
{
"appIsExample": false,
"appLayout": {
"type": "FLUID"
"type": "DESKTOP"
},
"applicationDetail": {
"appPositioning": {
@@ -52,7 +52,7 @@
"uniqueSlug": "sitzplatzbuchungstool"
},
"unpublishedAppLayout": {
"type": "FLUID"
"type": "DESKTOP"
},
"unpublishedApplicationDetail": {
"appPositioning": {
+6
View File
@@ -0,0 +1,6 @@
{
"gitSyncId": "6a54b983d3076fb3cf8e67f0_0423eb63-d957-414e-bb5b-166c94a4408a",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
}
@@ -1,12 +1,12 @@
{
"gitSyncId": "6a5602cf6665afa2c813ec43_76c6357a-3141-40f7-a4e6-c25577a89efb",
"unpublishedPage": {
"isHidden": false,
"isHidden": true,
"layouts": [
{
"dsl": {
"backgroundColor": "none",
"bottomRow": 650,
"bottomRow": 590,
"canExtend": true,
"containerStyle": "none",
"detachFromLayout": true,
@@ -0,0 +1 @@
SELECT * FROM Bildschirmbuchung;
@@ -0,0 +1,31 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_0b0f7f14-55be-4541-ac6f-a7d8ed29fbe4",
"id": "Mobiler Bildschirm_Query1",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "SELECT * FROM Bildschirmbuchung;",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"dynamicBindingPathList": [],
"name": "Query1",
"pageId": "Mobiler Bildschirm",
"runBehaviour": "AUTOMATIC",
"userSetOnLoad": false
}
}
@@ -0,0 +1,7 @@
INSERT INTO Bildschirmbuchung (Name, Von, Bis, Wo)
VALUES (
{{ Input1.text }},
{{ moment(DatePicker2.formattedDate, "DD/MM/YYYY").format("YYYY-MM-DD") }},
{{ moment(Datepicker1.formattedDate, "DD/MM/YYYY").format("YYYY-MM-DD") }},
{{ Input2.text }}
);
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_111fe4c2-ada2-4d2c-8fb7-fdaed3b8de8a",
"id": "Mobiler Bildschirm_Query2",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "INSERT INTO Bildschirmbuchung (Name, Von, Bis, Wo)\nVALUES (\n {{ Input1.text }},\n {{ moment(DatePicker2.formattedDate, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\") }},\n {{ moment(Datepicker1.formattedDate, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\") }},\n {{ Input2.text }}\n);",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"name": "Query2",
"pageId": "Mobiler Bildschirm",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -1,53 +0,0 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 12,
"boxShadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
"closeOnSelection": false,
"dateFormat": "DD/MM/YYYY HH:mm",
"datePickerType": "DATE_PICKER",
"defaultDate": "2026-07-14T17:04:02.022+02:00",
"dynamicBindingPathList": [
{
"key": "accentColor"
}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],
"firstDayOfWeek": 0,
"isDisabled": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "29643854bh",
"label": "Datum",
"labelAlignment": "left",
"labelPosition": "Left",
"labelTextSize": "0.875rem",
"labelWidth": "3",
"leftColumn": 2,
"maxDate": "2121-12-31T18:29:00.000Z",
"maxDynamicHeight": 9000,
"minDate": "1920-12-31T18:30:00.000Z",
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 8,
"mobileLeftColumn": 0,
"mobileRightColumn": 6,
"mobileTopRow": 1,
"needsErrorInfo": false,
"parentColumnSpace": 21.90625,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 15,
"shortcuts": false,
"timePrecision": "minute",
"topRow": 8,
"type": "DATE_PICKER_WIDGET2",
"version": 2,
"widgetId": "zv6rqktgl2",
"widgetName": "Datum_B"
}
@@ -1,7 +1,7 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 36,
"bottomRow": 47,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "PRIMARY",
@@ -14,19 +14,24 @@
"key": "borderRadius"
}
],
"dynamicTriggerPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "6r0rws2j8m",
"leftColumn": 32,
"leftColumn": 33,
"minWidth": 120,
"mobileBottomRow": 37,
"mobileLeftColumn": 46,
"mobileRightColumn": 62,
"mobileTopRow": 33,
"needsErrorInfo": false,
"onClick": "{{storeValue(\"\", \"\")}}",
"originalBottomRow": 37,
"originalTopRow": 33,
"parentId": "8sfhwbqixh",
@@ -35,10 +40,10 @@
"renderMode": "CANVAS",
"resetFormOnClick": true,
"responsiveBehavior": "hug",
"rightColumn": 61,
"rightColumn": 62,
"text": "Speichern",
"tooltip": "",
"topRow": 32,
"topRow": 43,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "et3nyyoger",
@@ -1,7 +1,7 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 36,
"bottomRow": 47,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "SECONDARY",
@@ -20,7 +20,7 @@
"isLoading": false,
"isVisible": true,
"key": "6r0rws2j8m",
"leftColumn": 2,
"leftColumn": 3,
"minWidth": 120,
"mobileBottomRow": 37,
"mobileLeftColumn": 30,
@@ -35,9 +35,9 @@
"renderMode": "CANVAS",
"resetFormOnClick": true,
"responsiveBehavior": "hug",
"rightColumn": 31,
"rightColumn": 32,
"text": "Abbrechen",
"topRow": 32,
"topRow": 43,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ewhatlmjfw",
@@ -5,7 +5,7 @@
"bottomRow": 25,
"boxShadow": "none",
"closeOnSelection": true,
"dateFormat": "YYYY-MM-DD HH:mm",
"dateFormat": "DD-MM-YYYY",
"datePickerType": "DATE_PICKER",
"defaultDate": "2026-07-24T08:17:03.283Z",
"dynamicBindingPathList": [
@@ -32,7 +32,7 @@
"leftColumn": 2,
"maxDate": "2121-12-31T18:29:00.000Z",
"maxDynamicHeight": 9000,
"minDate": "1920-12-31T18:30:00.000Z",
"minDate": "2022-12-22T19:30:00.000+01:00",
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 19,
@@ -49,7 +49,7 @@
"responsiveBehavior": "fill",
"rightColumn": 54,
"shortcuts": false,
"timePrecision": "minute",
"timePrecision": "None",
"topRow": 18,
"type": "DATE_PICKER_WIDGET2",
"version": 2,
@@ -5,7 +5,7 @@
"bottomRow": 18,
"boxShadow": "none",
"closeOnSelection": true,
"dateFormat": "YYYY-MM-DD HH:mm",
"dateFormat": "DD/MM/YYYY",
"datePickerType": "DATE_PICKER",
"defaultDate": "2026-07-24T08:17:03.283Z",
"dynamicBindingPathList": [
@@ -4,12 +4,12 @@
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 56,
"bottomRow": 59,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 420,
"bottomRow": 500,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": false,
"containerStyle": "none",
@@ -65,7 +65,7 @@
"isLoading": false,
"isVisible": true,
"key": "0r43rq98rg",
"leftColumn": 48,
"leftColumn": 47,
"maxDynamicHeight": 9000,
"minDynamicHeight": 10,
"minWidth": 450,
@@ -81,8 +81,8 @@
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 63,
"shouldScrollContents": true,
"topRow": 14,
"shouldScrollContents": false,
"topRow": 9,
"type": "FORM_WIDGET",
"widgetId": "umbpnh5dz1",
"widgetName": "Form1"
@@ -52,5 +52,5 @@
"type": "INPUT_WIDGET_V2",
"version": 2,
"widgetId": "enr8kmqeox",
"widgetName": "Input1Copy"
"widgetName": "Input2"
}
+303 -13
View File
@@ -1,10 +1,11 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"allowAddNewRow": false,
"animateLoading": true,
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 65,
"bottomRow": 59,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"cachedTableData": {},
"canFreezeColumn": true,
@@ -31,8 +32,15 @@
"menuColor": "{{appsmith.theme.colors.primaryColor}}"
}
},
"columnOrder": [],
"columnUpdatedAt": 1785406305811,
"columnOrder": [
"ID",
"Name",
"Von",
"Bis",
"Wo",
"EditActions1"
],
"columnUpdatedAt": 1785841525712,
"columnWidthMap": {},
"customIsLoading": false,
"customIsLoadingValue": "",
@@ -51,42 +59,324 @@
},
{
"key": "boxShadow"
},
{
"key": "totalRecordsCount"
},
{
"key": "primaryColumns.EditActions1.saveButtonColor"
},
{
"key": "primaryColumns.EditActions1.saveBorderRadius"
},
{
"key": "primaryColumns.EditActions1.discardBorderRadius"
},
{
"key": "primaryColumns.EditActions1.isSaveDisabled"
},
{
"key": "primaryColumns.EditActions1.isDiscardDisabled"
},
{
"key": "primaryColumns.ID.computedValue"
},
{
"key": "primaryColumns.Name.computedValue"
},
{
"key": "primaryColumns.Von.computedValue"
},
{
"key": "primaryColumns.Bis.computedValue"
},
{
"key": "primaryColumns.Wo.computedValue"
},
{
"key": "tableData"
}
],
"dynamicPropertyPathList": [
{
"key": "primaryColumns.EditActions1.isSaveDisabled"
},
{
"key": "primaryColumns.EditActions1.isDiscardDisabled"
}
],
"dynamicTriggerPathList": [
{
"key": "onPageChange"
},
{
"key": "onSort"
},
{
"key": "onAddNewRowSave"
},
{
"key": "primaryColumns.EditActions1.onSave"
}
],
"dynamicPropertyPathList": [],
"enableClientSideSearch": true,
"endOfData": false,
"flexVerticalAlignment": "start",
"horizontalAlignment": "LEFT",
"infiniteScrollEnabled": true,
"inlineEditingSaveOption": "ROW_LEVEL",
"isLoading": false,
"isSortable": true,
"isSortable": false,
"isVisible": true,
"isVisibleDownload": true,
"isVisibleDownload": false,
"isVisibleFilters": false,
"isVisiblePagination": true,
"isVisibleSearch": true,
"isVisibleSearch": false,
"key": "fsh5fgc5ew",
"label": "Data",
"leftColumn": 2,
"leftColumn": 1,
"minWidth": 450,
"mobileBottomRow": 38,
"mobileLeftColumn": 5,
"mobileRightColumn": 39,
"mobileTopRow": 10,
"needsErrorInfo": false,
"onAddNewRowSave": "{{Insert_Bildschirmbuchung1.run(() => {\n showAlert(\"Successfully created!\");\n Select_Bildschirmbuchung1.run()\n }, () => {\n showAlert(\"Unable to create!\");\n })}}",
"onPageChange": "{{\n Select_Bildschirmbuchung1.run();\n Total_record_Bildschirmbuchung1.run()\n }}",
"onSort": "{{\n Select_Bildschirmbuchung1.run();\n Total_record_Bildschirmbuchung1.run()\n }}",
"parentColumnSpace": 25.390625,
"parentId": "0",
"parentRowSpace": 10,
"primaryColumns": {},
"primaryColumnId": "ID",
"primaryColumns": {
"Bis": {
"alias": "Bis",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"cellBackground": "",
"columnType": "date",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Bis\"])) : Bis })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"fontStyle": "",
"horizontalAlignment": "LEFT",
"id": "Bis",
"index": 3,
"inputFormat": "YYYY-MM-DD HH:mm",
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Bis",
"notation": "standard",
"originalId": "Bis",
"outputFormat": "DD/MM/YYYY",
"sticky": "",
"textColor": "",
"textSize": "0.875rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"EditActions1": {
"alias": "EditActions1",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"buttonStyle": "rgb(3, 179, 101)",
"columnType": "editActions",
"computedValue": "",
"currencyCode": "USD",
"decimals": 0,
"discardActionLabel": "Discard",
"discardBorderRadius": "{{Table1.processedTableData.map((currentRow, currentIndex) => ( (appsmith.theme.borderRadius.appBorderRadius)))}}",
"discardButtonColor": "#F22B2B",
"discardButtonVariant": "TERTIARY",
"discardIconAlign": "left",
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "EditActions1",
"index": 0,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": true,
"isDisabled": false,
"isDiscardDisabled": "{{Table1.processedTableData.map((currentRow, currentIndex) => ( !Table1.updatedRowIndices.includes(currentIndex)))}}",
"isDiscardVisible": true,
"isEditable": false,
"isSaveDisabled": "{{Table1.processedTableData.map((currentRow, currentIndex) => ( !Table1.updatedRowIndices.includes(currentIndex)))}}",
"isSaveVisible": true,
"isVisible": false,
"label": "Save / Discard",
"notation": "standard",
"onSave": "{{Update_Bildschirmbuchung1.run(() => {\n showAlert(\"Successfully saved!\");\n Select_Bildschirmbuchung1.run()\n }, () => {\n showAlert(\"Unable to save!\");\n })}}",
"originalId": "EditActions1",
"saveActionLabel": "Save",
"saveBorderRadius": "{{Table1.processedTableData.map((currentRow, currentIndex) => ( (appsmith.theme.borderRadius.appBorderRadius)))}}",
"saveButtonColor": "{{Table1.processedTableData.map((currentRow, currentIndex) => ( (appsmith.theme.colors.primaryColor)))}}",
"saveIconAlign": "left",
"sticky": "right",
"textSize": "0.875rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"ID": {
"alias": "ID",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"cellBackground": "",
"columnType": "number",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"ID\"])) : ID })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"fontStyle": "",
"horizontalAlignment": "LEFT",
"id": "ID",
"index": 0,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": false,
"label": "ID",
"notation": "standard",
"originalId": "ID",
"sticky": "",
"textColor": "",
"textSize": "0.875rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Name": {
"alias": "Name",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"cellBackground": "",
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Name\"])) : Name })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"fontStyle": "",
"horizontalAlignment": "LEFT",
"id": "Name",
"index": 1,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Name",
"notation": "standard",
"originalId": "Name",
"sticky": "",
"textColor": "",
"textSize": "0.875rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Von": {
"alias": "Von",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"cellBackground": "",
"columnType": "date",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Von\"])) : Von })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"fontStyle": "",
"horizontalAlignment": "LEFT",
"id": "Von",
"index": 2,
"inputFormat": "YYYY-MM-DDTHH:mm:ss",
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Von",
"notation": "standard",
"originalId": "Von",
"outputFormat": "DD/MM/YYYY",
"sticky": "",
"textColor": "",
"textSize": "0.875rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Wo": {
"alias": "Wo",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"cellBackground": "",
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Wo\"])) : Wo })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"fontStyle": "",
"horizontalAlignment": "LEFT",
"id": "Wo",
"index": 4,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Wo",
"notation": "standard",
"originalId": "Wo",
"sticky": "",
"textColor": "",
"textSize": "0.875rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
}
},
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 47,
"rightColumn": 46,
"searchKey": "",
"tableData": "",
"serverSidePaginationEnabled": true,
"tableData": "{{Query1.data}}",
"textSize": "0.875rem",
"topRow": 14,
"totalRecordsCount": 0,
"topRow": 9,
"totalRecordsCount": "{{Total_record_Bildschirmbuchung1.data[0].count}}",
"type": "TABLE_WIDGET_V2",
"version": 2,
"verticalAlignment": "CENTER",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"gitSyncId": "6a5602cf6665afa2c813ec43_7248c84c-8c10-42a7-9f45-60c041f96f5f",
"unpublishedPage": {
"isHidden": false,
"isHidden": true,
"layouts": [
{
"dsl": {
@@ -0,0 +1,70 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 9,
"boxShadow": "none",
"defaultOptionValue": "[\n \"GREEN\",\n \"RED\"\n]",
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [],
"dynamicTriggerPathList": [],
"isDisabled": false,
"isFilterable": true,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "vrep3jc9l1",
"labelAlignment": "left",
"labelPosition": "Left",
"labelText": "Büro",
"labelTextSize": "0.875rem",
"labelWidth": "3",
"leftColumn": 3,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 11,
"mobileLeftColumn": 0,
"mobileRightColumn": 12,
"mobileTopRow": 4,
"needsErrorInfo": false,
"optionLabel": "name",
"optionValue": "code",
"originalBottomRow": 18,
"originalTopRow": 13,
"parentColumnSpace": 20.4375,
"parentId": "8ed8sr6z3y",
"parentRowSpace": 10,
"placeholderText": "Select option(s)",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 18,
"serverSideFiltering": false,
"sourceData": [
{
"code": "BLUE",
"name": "Blue"
},
{
"code": "GREEN",
"name": "Green"
},
{
"code": "RED",
"name": "Red"
}
],
"topRow": 4,
"type": "MULTI_SELECT_WIDGET_V2",
"version": 1,
"widgetId": "ao620trzgd",
"widgetName": "Buero_Filter"
}
@@ -0,0 +1,64 @@
{
"backgroundColor": "#FFFFFF",
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 52,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"defaultModel": "{\n \"tips\": [\n \"Pass data to this widget in the default model field\",\n \"Access data in the javascript file using the appsmith.model variable\",\n \"Create events in the widget and trigger them in the javascript file using appsmith.triggerEvent('eventName')\",\n \"Access data in CSS as var(--appsmith-model-{property-name})\"\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": "15menc7fc7",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"mobileBottomRow": 41,
"mobileLeftColumn": 6,
"mobileRightColumn": 29,
"mobileTopRow": 11,
"needsErrorInfo": false,
"onResetClick": "{{showAlert('Successfully reset!!', '');}}",
"parentColumnSpace": 16.479687499999997,
"parentId": "8ed8sr6z3y",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 64,
"srcDoc": {
"css": ".app {\n height: calc(var(--appsmith-ui-height) * 1px);\n width: calc(var(--appsmith-ui-width) * 1px);\n justify-content: center;\n border-radius: var(--appsmith-theme-borderRadius);\n box-shadow: var(--appsmith-theme-boxShadow);\n padding: 29px 25px;\n box-sizing: border-box;\n font-family: system-ui;\n background: #fff;\n}\n\n.tip-container {\n margin-bottom: 20px;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.tip-container h2 {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 700;\n}\n\n.tip-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 9px;\n}\n\n.tip-header div {\n color: #999;\n}\n\n.content {\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.button-container {\n text-align: right;\n padding-top: 4px;\n}\n\n.button-container button {\n margin: 0 10px;\n cursor: pointer;\n border-radius: var(--appsmith-theme-borderRadius);\n padding: 6px 16px;\n background: none;\n height: auto;\n transition: all 0.3s ease;\n}\n\n.button-container button.primary {\n background: var(--appsmith-theme-primaryColor) !important;\n color: #fff;\n border: 1px solid var(--appsmith-theme-primaryColor) !important;\n}\n\n.button-container button.reset {\n border: 1px solid #999;\n color: #999;\n outline: none;\n box-shadow: none;\n}\n\n.button-container button.reset:hover:not(:disabled) {\n color: var(--appsmith-theme-primaryColor);\n border-color: var(--appsmith-theme-primaryColor);\n}\n\n.button-container button.reset:disabled {\n cursor: default;\n}",
"html": "<!-- no need to write html, head, body tags, it is handled by the widget -->\n<div id=\"root\"></div>\n",
"js": "import React from \"https://esm.sh/[email protected]\";\nimport ReactDOM from \"https://esm.sh/[email protected]\";\n\nconst Button = ({\n children,\n className,\n ...props\n}) => /*#__PURE__*/React.createElement(\"button\", {\n className: className,\n ...props\n}, children);\n\nfunction App() {\n const [currentIndex, setCurrentIndex] = React.useState(0);\n const handleNext = () => {\n setCurrentIndex(prevIndex => (prevIndex + 1) % appsmith.model.tips.length);\n };\n const handleReset = () => {\n setCurrentIndex(0);\n appsmith.triggerEvent(\"onResetClick\");\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"app\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"tip-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"tip-header\"\n }, /*#__PURE__*/React.createElement(\"h2\", null, \"Custom Widget\"), /*#__PURE__*/React.createElement(\"div\", null, currentIndex + 1, \" / \", appsmith.model.tips.length)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, appsmith.model.tips[currentIndex])), /*#__PURE__*/React.createElement(\"div\", {\n className: \"button-container\"\n }, /*#__PURE__*/React.createElement(Button, {\n className: \"primary\",\n onClick: handleNext\n }, \"Next Tip\"), /*#__PURE__*/React.createElement(Button, {\n className: \"reset\",\n disabled: currentIndex === 0,\n onClick: handleReset\n }, \"Reset\")));\n}\n\nappsmith.onReady(() => {\n ReactDOM.render( /*#__PURE__*/React.createElement(App, null), document.getElementById(\"root\"));\n});"
},
"theme": "{{appsmith.theme}}",
"topRow": 9,
"type": "CUSTOM_WIDGET",
"uncompiledSrcDoc": {
"css": ".app {\n height: calc(var(--appsmith-ui-height) * 1px);\n width: calc(var(--appsmith-ui-width) * 1px);\n justify-content: center;\n border-radius: var(--appsmith-theme-borderRadius);\n box-shadow: var(--appsmith-theme-boxShadow);\n padding: 29px 25px;\n box-sizing: border-box;\n font-family: system-ui;\n background: #fff;\n}\n\n.tip-container {\n margin-bottom: 20px;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.tip-container h2 {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 700;\n}\n\n.tip-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 9px;\n}\n\n.tip-header div {\n color: #999;\n}\n\n.content {\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.button-container {\n text-align: right;\n padding-top: 4px;\n}\n\n.button-container button {\n margin: 0 10px;\n cursor: pointer;\n border-radius: var(--appsmith-theme-borderRadius);\n padding: 6px 16px;\n background: none;\n height: auto;\n transition: all 0.3s ease;\n}\n\n.button-container button.primary {\n background: var(--appsmith-theme-primaryColor) !important;\n color: #fff;\n border: 1px solid var(--appsmith-theme-primaryColor) !important;\n}\n\n.button-container button.reset {\n border: 1px solid #999;\n color: #999;\n outline: none;\n box-shadow: none;\n}\n\n.button-container button.reset:hover:not(:disabled) {\n color: var(--appsmith-theme-primaryColor);\n border-color: var(--appsmith-theme-primaryColor);\n}\n\n.button-container button.reset:disabled {\n cursor: default;\n}",
"html": "<!-- no need to write html, head, body tags, it is handled by the widget -->\n<div id=\"root\"></div>\n",
"js": "import React from \"https://esm.sh/[email protected]\";\nimport ReactDOM from \"https://esm.sh/[email protected]\";\n\nconst Button = ({ children, className, ...props }) => (\n <button className={className} {...props}>\n {children}\n </button>\n);\n\nfunction App() {\n const [currentIndex, setCurrentIndex] = React.useState(0);\n\n const handleNext = () => {\n setCurrentIndex((prevIndex) => (prevIndex + 1) % appsmith.model.tips.length);\n };\n\n const handleReset = () => {\n setCurrentIndex(0);\n appsmith.triggerEvent(\"onResetClick\");\n };\n\n return (\n <div className=\"app\">\n <div className=\"tip-container\">\n <div className=\"tip-header\">\n <h2>Custom Widget</h2>\n <div>{currentIndex + 1} / {appsmith.model.tips.length}</div>\n </div>\n <div className=\"content\">{appsmith.model.tips[currentIndex]}</div>\n </div>\n <div className=\"button-container\">\n <Button className=\"primary\" onClick={handleNext}>Next Tip</Button>\n <Button className=\"reset\" disabled={currentIndex === 0} onClick={handleReset}>Reset</Button>\n </div>\n </div>\n );\n}\n\nappsmith.onReady(() => {\n/*\n\t * This handler function will get called when parent application is ready.\n\t * Initialize your component here\n\t * more info - https://docs.appsmith.com/reference/widgets/custom#onready\n\t */\n ReactDOM.render(<App />, document.getElementById(\"root\"));\n});"
},
"version": 1,
"widgetId": "oghaatehlp",
"widgetName": "Custom1"
}
@@ -0,0 +1,85 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 253,
"boxShadow": "none",
"canEscapeKeyClose": true,
"canOutsideClickClose": true,
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 530,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": true,
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "fx3r7t0x77",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 534,
"minWidth": 450,
"mobileBottomRow": 240,
"mobileLeftColumn": 0,
"mobileRightColumn": 506.484375,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "ofdgdqeurf",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 506.484375,
"shouldScrollContents": false,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "8ed8sr6z3y",
"widgetName": "Canvas4"
}
],
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],
"height": 534,
"isCanvas": true,
"isLoading": false,
"key": "gyh5izjls1",
"leftColumn": 9,
"maxDynamicHeight": 9000,
"minDynamicHeight": 24,
"mobileBottomRow": 33,
"mobileLeftColumn": 9,
"mobileRightColumn": 33,
"mobileTopRow": 9,
"needsErrorInfo": false,
"parentColumnSpace": 21.103515625,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 33,
"shouldScrollContents": true,
"topRow": 13,
"type": "MODAL_WIDGET",
"version": 2,
"widgetId": "ofdgdqeurf",
"widgetName": "Terminplanungs_Modal",
"width": 1128.6999999999998
}
@@ -0,0 +1,50 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 4,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1.25rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "hbscomvq1i",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 5,
"mobileLeftColumn": 1,
"mobileRightColumn": 41,
"mobileTopRow": 1,
"needsErrorInfo": false,
"originalBottomRow": 13,
"originalTopRow": 0,
"overflow": "NONE",
"parentId": "8ed8sr6z3y",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 31,
"shouldTruncate": false,
"text": "Terminplanungs Assistent",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 0,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "181bcnlo3k",
"widgetName": "Terminplanungsassystent"
}
@@ -0,0 +1,41 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 4,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "TERTIARY",
"dynamicBindingPathList": [
{
"key": "buttonColor"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"iconName": "cross",
"iconSize": 24,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "zthex9c4vq",
"leftColumn": 60,
"minWidth": 50,
"mobileBottomRow": 4,
"mobileLeftColumn": 58,
"mobileRightColumn": 64,
"mobileTopRow": 0,
"needsErrorInfo": false,
"onClick": "{{closeModal(Terminplanungs_Modal.name);}}",
"parentId": "8ed8sr6z3y",
"renderMode": "CANVAS",
"responsiveBehavior": "hug",
"rightColumn": 64,
"topRow": 0,
"type": "ICON_BUTTON_WIDGET",
"version": 1,
"widgetId": "u7p1gv82jy",
"widgetName": "schliessen"
}
+2 -2
View File
@@ -1,12 +1,12 @@
{
"gitSyncId": "6a5602cf6665afa2c813ec43_1571c38f-ffb0-4e8d-8ddb-156029f508de",
"unpublishedPage": {
"isHidden": false,
"isHidden": true,
"layouts": [
{
"dsl": {
"backgroundColor": "none",
"bottomRow": 380,
"bottomRow": 790,
"canExtend": true,
"containerStyle": "none",
"detachFromLayout": true,
@@ -0,0 +1,14 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_0058b22e-bf9c-4341-b180-8a805ee21d6f",
"id": "Sitzplätze__$Bff$_Bff",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedCollection": {
"contextType": "PAGE",
"name": "_$Bff$_Bff",
"pageId": "Sitzplätze",
"pluginId": "js-plugin",
"pluginType": "JS"
}
}
@@ -0,0 +1,187 @@
export default {
async openBookingWidget() {
const calendarModel = Custom5.model || {};
const selection = calendarModel.calendarSelection || null;
if (!selection) {
showAlert("Bitte zuerst einen Tag oder Zeitraum auswählen.", "warning");
return;
}
const pad = (value) => String(value).padStart(2, "0");
const parseLocalDateTime = (value) => {
if (!value) return null;
const text = String(value).trim();
const match = text.match(
/^(\d{4})-(\d{2})-(\d{2})(?:T|\s)?(\d{2})?:?(\d{2})?:?(\d{2})?$/
);
if (!match) return null;
const date = new Date(
Number(match[1]),
Number(match[2]) - 1,
Number(match[3]),
Number(match[4] || 0),
Number(match[5] || 0),
Number(match[6] || 0)
);
return Number.isNaN(date.getTime()) ? null : date;
};
const formatDate = (date) => [
date.getFullYear(),
pad(date.getMonth() + 1),
pad(date.getDate())
].join("-");
const formatTime = (date) => [
pad(date.getHours()),
pad(date.getMinutes())
].join(":");
const formatDateTimeForSql = (date) =>
`${formatDate(date)} ${formatTime(date)}:00`;
const start = parseLocalDateTime(selection.start);
const end = parseLocalDateTime(selection.end);
if (!start || !end || end <= start) {
showAlert(
"Die Kalenderauswahl enthält kein gültiges Datum oder Zeitintervall.",
"error"
);
return;
}
const seatModel = Custom4.model || {};
const seatId = String(
seatModel.seatId ||
seatModel.selectedSeat?.id ||
appsmith.store.selectedSeatId ||
""
).trim();
const seatName = String(
seatModel.seatName ||
seatModel.selectedSeat?.name ||
appsmith.store.selectedSeatName ||
""
).trim();
if (!seatId) {
showAlert("Es wurde kein Sitzplatz ausgewählt.", "error");
return;
}
const bookedBy =
appsmith.user?.email ||
appsmith.user?.username ||
null;
if (!bookedBy) {
showAlert(
"Der angemeldete Benutzer konnte nicht ermittelt werden.",
"error"
);
return;
}
const isTimeSelection =
selection.type === "time" &&
selection.allDay !== true;
const isAllDay = !isTimeSelection;
let startDate;
let endDate;
let startTime = null;
let endTime = null;
let startDateTime;
let endDateTime;
if (isAllDay) {
const startOfDay = new Date(start);
startOfDay.setHours(0, 0, 0, 0);
const lastSelectedDay = new Date(end);
// FullCalendar liefert bei Ganztagsauswahl ein exklusives Ende.
// Nur wenn end tatsächlich 00:00 Uhr ist, wird ein Tag abgezogen.
const endIsMidnight =
lastSelectedDay.getHours() === 0 &&
lastSelectedDay.getMinutes() === 0 &&
lastSelectedDay.getSeconds() === 0;
if (endIsMidnight) {
lastSelectedDay.setDate(
lastSelectedDay.getDate() - 1
);
}
lastSelectedDay.setHours(0, 0, 0, 0);
startDate = formatDate(startOfDay);
endDate = formatDate(lastSelectedDay);
startDateTime = `${startDate} 00:00:00`;
endDateTime = `${endDate} 23:59:59`;
} else {
// Bei einem Timeslot bleiben Start- und Enddatum gleich.
startDate = formatDate(start);
endDate = formatDate(start);
startTime = formatTime(start);
endTime = formatTime(end);
startDateTime = formatDateTimeForSql(start);
endDateTime = formatDateTimeForSql(end);
}
const recurring =
typeof RecurringCheckbox !== "undefined" &&
RecurringCheckbox.isChecked === true;
const recurringWeeks =
typeof RecurringWeeksSelect !== "undefined"
? Number(RecurringWeeksSelect.selectedOptionValue || 1)
: 1;
const recurringDays = appsmith.store.recurringDays || {};
const bookingFormData = {
...(appsmith.store.bookingFormData || {}),
seatId,
seatName,
bookedBy,
title: "Platzbuchung",
type: selection.type || null,
startDate,
endDate,
startTime,
endTime,
startDateTime,
endDateTime,
allDay: isAllDay,
recurring,
recurringWeeks,
recurringDays
};
try {
await storeValue("bookingFormData", bookingFormData, false);
await showModal("Platzbuchung");
} catch (error) {
console.error(
"Buchungsdaten konnten nicht gespeichert werden:",
error
);
showAlert(
"Die Buchungsdaten konnten nicht gespeichert werden.",
"error"
);
}
}
};
@@ -0,0 +1,11 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_7feb3701-9036-42b6-bda5-53267d59b24e",
"id": "Sitzplätze_BookingSelect",
"unpublishedCollection": {
"name": "BookingSelect",
"pageId": "Sitzplätze",
"pluginId": "js-plugin",
"pluginType": "JS",
"variables": []
}
}
@@ -0,0 +1,326 @@
export default {
async toggleDay(day) {
const validDays = [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
];
if (!validDays.includes(day)) {
showAlert(
"Ungültiger Wochentag.",
"error"
);
return;
}
const currentDays =
appsmith.store.recurringDays || {};
const nextDays = {
monday: Boolean(
currentDays.monday
),
tuesday: Boolean(
currentDays.tuesday
),
wednesday: Boolean(
currentDays.wednesday
),
thursday: Boolean(
currentDays.thursday
),
friday: Boolean(
currentDays.friday
)
};
nextDays[day] =
!nextDays[day];
await storeValue(
"recurringDays",
nextDays,
false
);
return nextDays;
},
getSelectedWeekdays() {
const days =
appsmith.store.recurringDays || {};
const weekdayMap = {
monday: 1,
tuesday: 2,
wednesday: 3,
thursday: 4,
friday: 5
};
return Object.entries(
weekdayMap
)
.filter(
([day]) =>
days[day] === true
)
.map(
([, weekday]) =>
weekday
);
},
parseDate(value) {
if (!value) {
return null;
}
const text =
String(value).slice(0, 10);
const parts =
text.split("-").map(Number);
if (parts.length !== 3) {
return null;
}
const date =
new Date(
parts[0],
parts[1] - 1,
parts[2]
);
return Number.isNaN(
date.getTime()
)
? null
: date;
},
formatDate(date) {
const pad =
value =>
String(value).padStart(
2,
"0"
);
return [
date.getFullYear(),
pad(date.getMonth() + 1),
pad(date.getDate())
].join("-");
},
formatDateTime(
date,
time,
allDay
) {
const dateText =
this.formatDate(date);
if (allDay) {
return `${dateText} 00:00:00`;
}
return `${dateText} ${time}:00`;
},
createRecurringDates(
startDate,
endDate,
selectedWeekdays
) {
const dates = [];
const cursor =
new Date(startDate);
while (
cursor <= endDate
) {
if (
selectedWeekdays.includes(
cursor.getDay()
)
) {
dates.push(
new Date(cursor)
);
}
cursor.setDate(
cursor.getDate() + 1
);
}
return dates;
},
async prepareRecurringBooking() {
const form =
appsmith.store.bookingFormData ||
{};
const recurring =
RecurringCheckbox.isChecked === true;
if (!recurring) {
return CreateBooking.run()
.then(() => {
return GetSeatBookings.run();
})
.then(() => {
return GetSeats.run();
})
.then(() => {
closeModal(
"Platzbuchung"
);
showAlert(
"Der Platz wurde erfolgreich gebucht.",
"success"
);
})
.catch((error) => {
console.error(
"Einzelbuchung fehlgeschlagen:",
error
);
showAlert(
"Die Buchung konnte nicht gespeichert werden.",
"error"
);
});
}
const startDate =
this.parseDate(
form.startDate
);
const endDate =
this.parseDate(
form.endDate
);
if (!startDate || !endDate) {
showAlert(
"Start- oder Enddatum ist ungültig.",
"error"
);
return;
}
const selectedWeekdays =
this.getSelectedWeekdays();
if (
selectedWeekdays.length === 0
) {
showAlert(
"Bitte mindestens einen Wochentag auswählen.",
"warning"
);
return;
}
const weeks =
Number(
RecurringWeeksSelect
.selectedOptionValue || 1
);
if (
!Number.isInteger(weeks) ||
weeks < 1 ||
weeks > 52
) {
showAlert(
"Bitte eine gültige Wochenanzahl auswählen.",
"warning"
);
return;
}
const dates =
this.createRecurringDates(
startDate,
endDate,
selectedWeekdays
);
if (dates.length === 0) {
showAlert(
"Im gewählten Zeitraum wurden keine passenden Wochentage gefunden.",
"warning"
);
return;
}
const startTime =
form.startTime || "00:00";
const endTime =
form.endTime || "23:59";
const allDay =
AllDayCheckbox.isChecked === true ||
form.allDay === true;
const candidates =
dates.map(
date => ({
date:
this.formatDate(date),
weekday:
date.toLocaleDateString(
"de-DE",
{
weekday: "long"
}
),
startDateTime:
this.formatDateTime(
date,
startTime,
allDay
),
endDateTime:
allDay
? `${this.formatDate(date)} 23:59:59`
: this.formatDateTime(
date,
endTime,
false
)
})
);
await storeValue(
"recurringCheck",
{
candidates,
freeBookings: [],
conflicts: [],
bookingFormData: form,
weeks,
selectedWeekdays
},
false
);
return candidates;
}
};
@@ -0,0 +1,11 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_0b8b6251-5d40-4248-bd41-d87899c2849f",
"id": "Sitzplätze_RecurringBooking",
"unpublishedCollection": {
"name": "RecurringBooking",
"pageId": "Sitzplätze",
"pluginId": "js-plugin",
"pluginType": "JS",
"variables": []
}
}
@@ -0,0 +1,10 @@
export default {
async listStorageKeys() {
const keys = [];
for (let i = 0; i < window.localStorage.length; i++) {
keys.push(window.localStorage.key(i));
}
await storeValue("storage_keys", keys, true);
return keys;
}
}
@@ -0,0 +1,11 @@
{
"gitSyncId": "6a919708c45e81bd1f22f312_02056aaf-5729-490a-a58a-7996aea07ced",
"id": "Sitzplätze_Userdata_catch",
"unpublishedCollection": {
"name": "Userdata_catch",
"pageId": "Sitzplätze",
"pluginId": "js-plugin",
"pluginType": "JS",
"variables": []
}
}
@@ -0,0 +1,64 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_59995a0e-1676-4d89-a2aa-cdb55c2ba464",
"id": "Sitzplätze_Bff",
"moduleUUID": "b0d6dbe1-9ee5-486f-9f93-4baa17986ccf",
"packageUUID": "35174735-e12c-426f-9f2f-fe12a068c3ba",
"type": "JS_MODULE",
"unpublishedModuleInstance": {
"contextType": "PAGE",
"inputs": {
"checkReturningFromLogin": "[\"\"]",
"clearSession": "[]",
"guardPage": "[\"Login\"]",
"isLoggedIn": "[]",
"login": "[\"\"]",
"logout": "[]"
},
"moduleInputs": {
"fkpwwxqbyo": {
"controlType": "INPUT_TEXT",
"defaultValue": "[]",
"id": "fkpwwxqbyo",
"label": "clearSession",
"propertyName": "inputs.clearSession"
},
"igfxnkxgzx": {
"controlType": "INPUT_TEXT",
"defaultValue": "[]",
"id": "igfxnkxgzx",
"label": "isLoggedIn",
"propertyName": "inputs.isLoggedIn"
},
"narkupnajw": {
"controlType": "INPUT_TEXT",
"defaultValue": "[]",
"id": "narkupnajw",
"label": "guardPage",
"propertyName": "inputs.guardPage"
},
"qqzhfbnjmf": {
"controlType": "INPUT_TEXT",
"defaultValue": "[]",
"id": "qqzhfbnjmf",
"label": "checkReturningFromLogin",
"propertyName": "inputs.checkReturningFromLogin"
},
"tlfzzixvrw": {
"controlType": "INPUT_TEXT",
"defaultValue": "[]",
"id": "tlfzzixvrw",
"label": "login",
"propertyName": "inputs.login"
},
"yjtnrwqqzm": {
"controlType": "INPUT_TEXT",
"defaultValue": "[]",
"id": "yjtnrwqqzm",
"label": "logout",
"propertyName": "inputs.logout"
}
},
"name": "Bff",
"pageId": "Sitzplätze"
}
}
@@ -0,0 +1,14 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_304a61c8-9fde-47e4-85a7-2056cd88ae28",
"id": "Sitzplätze_Bff_Logout",
"moduleUUID": "68741899-715d-4e34-a614-51281446403a",
"packageUUID": "35174735-e12c-426f-9f2f-fe12a068c3ba",
"type": "QUERY_MODULE",
"unpublishedModuleInstance": {
"contextType": "PAGE",
"inputs": {},
"moduleInputs": {},
"name": "Bff_Logout",
"pageId": "Sitzplätze"
}
}
@@ -0,0 +1,14 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_9e11ced6-24d2-4acb-9bfd-1969c6062191",
"id": "Sitzplätze_Bff_Me",
"moduleUUID": "809cd1d6-7b41-4561-bea0-2ac0794e1ac4",
"packageUUID": "35174735-e12c-426f-9f2f-fe12a068c3ba",
"type": "QUERY_MODULE",
"unpublishedModuleInstance": {
"contextType": "PAGE",
"inputs": {},
"moduleInputs": {},
"name": "Bff_Me",
"pageId": "Sitzplätze"
}
}
@@ -0,0 +1,14 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_060325a4-606f-44b7-817f-5d7e47cc8528",
"id": "Sitzplätze_Bff_Verify",
"moduleUUID": "83e73170-c955-4fa2-9414-3dec1f07d47c",
"packageUUID": "35174735-e12c-426f-9f2f-fe12a068c3ba",
"type": "QUERY_MODULE",
"unpublishedModuleInstance": {
"contextType": "PAGE",
"inputs": {},
"moduleInputs": {},
"name": "Bff_Verify",
"pageId": "Sitzplätze"
}
}
@@ -1,5 +1,5 @@
{
"gitSyncId": "6a5602cf6665afa2c813ec43_6ffdeda0-1a8c-4cea-bcd8-bb081116188e",
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_eee37584-124f-4f81-aee1-f120f8cb7f04",
"id": "Sitzplätze_Home1",
"moduleUUID": "df3b5e28-9a87-4e91-ba97-6016b27b93b9",
"packageUUID": "c5a661ed-b0b3-4d8f-8efe-c1b824869705",
@@ -26,6 +26,6 @@
"name": "Home1",
"pageId": "Sitzplätze",
"version": "v0.0.1",
"widgetId": "ecwwf2qvbk"
"widgetId": "v4k1x5ogpa"
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_74de03ae-1d33-4e5c-8a1f-e27cbfc9b2a7",
"id": "Sitzplätze__$Bff$_Bff.checkReturningFromLogin",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"pluginId": "js-plugin",
"pluginType": "JS",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedAction": {
"collectionId": "Sitzplätze__$Bff$_Bff",
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"fullyQualifiedName": "_$Bff$_Bff.checkReturningFromLogin",
"name": "checkReturningFromLogin",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_0062be59-1821-4fd7-8cfe-c862f5883fa6",
"id": "Sitzplätze__$Bff$_Bff.clearSession",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"pluginId": "js-plugin",
"pluginType": "JS",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedAction": {
"collectionId": "Sitzplätze__$Bff$_Bff",
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"fullyQualifiedName": "_$Bff$_Bff.clearSession",
"name": "clearSession",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_bd00bbf2-3f8b-4cf2-9e75-b279493bc9ee",
"id": "Sitzplätze__$Bff$_Bff.guardPage",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"pluginId": "js-plugin",
"pluginType": "JS",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedAction": {
"collectionId": "Sitzplätze__$Bff$_Bff",
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"fullyQualifiedName": "_$Bff$_Bff.guardPage",
"name": "guardPage",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_01d53c11-6aca-429b-92b2-8e32e561f69a",
"id": "Sitzplätze__$Bff$_Bff.isLoggedIn",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"pluginId": "js-plugin",
"pluginType": "JS",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedAction": {
"collectionId": "Sitzplätze__$Bff$_Bff",
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"fullyQualifiedName": "_$Bff$_Bff.isLoggedIn",
"name": "isLoggedIn",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_cdad9604-64d3-4e80-9421-bab54d7453e5",
"id": "Sitzplätze__$Bff$_Bff.login",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"pluginId": "js-plugin",
"pluginType": "JS",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedAction": {
"collectionId": "Sitzplätze__$Bff$_Bff",
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"fullyQualifiedName": "_$Bff$_Bff.login",
"name": "login",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_6c21e962-214e-40cc-8f51-c5921ccbad10",
"id": "Sitzplätze__$Bff$_Bff.logout",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff",
"pluginId": "js-plugin",
"pluginType": "JS",
"rootModuleInstanceId": "Sitzplätze_Bff",
"unpublishedAction": {
"collectionId": "Sitzplätze__$Bff$_Bff",
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"fullyQualifiedName": "_$Bff$_Bff.logout",
"name": "logout",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_df303cec-969d-4d02-bd28-9dd94884c95d",
"id": "Sitzplätze__$Bff_Logout$_Bff_Logout",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff_Logout",
"pluginId": "restapi-plugin",
"pluginType": "API",
"rootModuleInstanceId": "Sitzplätze_Bff_Logout",
"unpublishedAction": {
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"datasourceConfiguration": {
"url": "https://bff.ep-reisen.net"
},
"isAutoGenerated": false,
"name": "DEFAULT_REST_DATASOURCE",
"pluginId": "restapi-plugin"
},
"name": "_$Bff_Logout$_Bff_Logout",
"pageId": "Sitzplätze",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_bf1c83a9-9049-4779-abc2-393f2db249ca",
"id": "Sitzplätze__$Bff_Me$_Bff_Me",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff_Me",
"pluginId": "restapi-plugin",
"pluginType": "API",
"rootModuleInstanceId": "Sitzplätze_Bff_Me",
"unpublishedAction": {
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"datasourceConfiguration": {
"url": "https://bff.ep-reisen.net"
},
"isAutoGenerated": false,
"name": "DEFAULT_REST_DATASOURCE",
"pluginId": "restapi-plugin"
},
"name": "_$Bff_Me$_Bff_Me",
"pageId": "Sitzplätze",
"userSetOnLoad": false
}
}
@@ -0,0 +1,24 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_0eaeb4b0-2fed-4629-8648-b369b6d5f223",
"id": "Sitzplätze__$Bff_Verify$_Bff_Verify",
"isPublic": true,
"moduleInstanceId": "Sitzplätze_Bff_Verify",
"pluginId": "restapi-plugin",
"pluginType": "API",
"rootModuleInstanceId": "Sitzplätze_Bff_Verify",
"unpublishedAction": {
"confirmBeforeExecute": false,
"contextType": "PAGE",
"datasource": {
"datasourceConfiguration": {
"url": "https://bff.ep-reisen.net"
},
"isAutoGenerated": false,
"name": "DEFAULT_REST_DATASOURCE",
"pluginId": "restapi-plugin"
},
"name": "_$Bff_Verify$_Bff_Verify",
"pageId": "Sitzplätze",
"userSetOnLoad": false
}
}
@@ -0,0 +1,31 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_d245a9e2-35c3-40b1-88d9-d9af14910175",
"id": "Sitzplätze_BookingSelect.openBookingWidget",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_BookingSelect",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "BookingSelect.openBookingWidget",
"name": "openBookingWidget",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,36 @@
INSERT INTO `buchungen`
(
`platz_id`,
`titel`,
`startzeit`,
`endzeit`,
`gebucht_von`
)
VALUES
(
{{
appsmith.store.bookingFormData?.seatId ||
appsmith.store.selectedSeatId
}},
{{
appsmith.store.bookingFormData?.title ||
"Platzbuchung"
}},
{{
appsmith.store.bookingFormData?.allDay === true
? appsmith.store.bookingFormData.startDate + " 00:00:00"
: appsmith.store.bookingFormData.startDateTime
}},
{{
appsmith.store.bookingFormData?.allDay === true
? appsmith.store.bookingFormData.endDate + " 23:59:59"
: appsmith.store.bookingFormData.endDateTime
}},
{{
appsmith.store.bookingFormData?.bookedBy
}}
);
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_e0fcb986-9f0b-4eab-bcee-5d1449214ffa",
"id": "Sitzplätze_CreateBooking",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "INSERT INTO `buchungen`\n(\n `platz_id`,\n `titel`,\n `startzeit`,\n `endzeit`,\n `gebucht_von`\n)\nVALUES\n(\n {{\n appsmith.store.bookingFormData?.seatId ||\n appsmith.store.selectedSeatId\n }},\n\n {{\n appsmith.store.bookingFormData?.title ||\n \"Platzbuchung\"\n }},\n\n {{\n appsmith.store.bookingFormData?.allDay === true\n ? appsmith.store.bookingFormData.startDate + \" 00:00:00\"\n : appsmith.store.bookingFormData.startDateTime\n }},\n\n {{\n appsmith.store.bookingFormData?.allDay === true\n ? appsmith.store.bookingFormData.endDate + \" 23:59:59\"\n : appsmith.store.bookingFormData.endDateTime\n }},\n\n {{\n appsmith.store.bookingFormData?.bookedBy\n }}\n);",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"name": "CreateBooking",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,5 @@
DELETE FROM `buchungen`
WHERE `id` =
{{ appsmith.store.selectedBooking.id }}
AND `gebucht_von` =
{{ appsmith.user.email }};
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_766cb29a-c15e-4c36-a828-dda8c3fb28eb",
"id": "Sitzplätze_DeleteBooking",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "DELETE FROM `buchungen`\nWHERE `id` =\n {{ appsmith.store.selectedBooking.id }}\n AND `gebucht_von` =\n {{ appsmith.user.email }};",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"name": "DeleteBooking",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,12 @@
SELECT
BID,
SPID,
DATE_FORMAT(Start,'%Y-%m-%d %H:%i:%s') AS start,
DATE_FORMAT(Ende,'%Y-%m-%d %H:%i:%s')
AS end,
PSID,
erstellt_am
FROM Buchungen
WHERE PSID =
'{{ appsmith.store.selectedSeatId }}'
ORDER BY Start;
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_a4b30cc2-55bd-48f3-a541-3934d1b76d01",
"id": "Sitzplätze_GetSeatBookings",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "SELECT\n BID,\n SPID,\n DATE_FORMAT(Start,'%Y-%m-%d %H:%i:%s') \t AS start,\n DATE_FORMAT(Ende,'%Y-%m-%d %H:%i:%s') \n\tAS end,\n PSID,\n erstellt_am\nFROM Buchungen\nWHERE PSID =\n '{{ appsmith.store.selectedSeatId }}'\nORDER BY Start;",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"name": "GetSeatBookings",
"pageId": "Sitzplätze",
"runBehaviour": "AUTOMATIC",
"userSetOnLoad": false
}
}
@@ -0,0 +1,9 @@
SELECT
SPID,
name,
x,
y,
active
FROM Sitzplätze
WHERE active = 1
ORDER BY SPID;
@@ -0,0 +1,31 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_f265940c-0c70-481a-b898-eb6387ee3efa",
"id": "Sitzplätze_GetSeats",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "SELECT\n SPID,\n name,\n x,\n y,\n active\nFROM Sitzplätze\nWHERE active = 1\nORDER BY SPID;",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"dynamicBindingPathList": [],
"name": "GetSeats",
"pageId": "Sitzplätze",
"runBehaviour": "ON_PAGE_LOAD",
"userSetOnLoad": true
}
}
@@ -0,0 +1 @@
SELECT * FROM Bildschirmbuchung LIMIT 10;
@@ -0,0 +1,30 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_cdc0389e-ec18-4013-bdb2-a8cefae53fda",
"id": "Sitzplätze_Query2",
"pluginId": "mysql-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "SELECT * FROM Bildschirmbuchung LIMIT 10;",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 10000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "MySQL Bürobuchungen",
"isAutoGenerated": false,
"name": "MySQL Bürobuchungen",
"pluginId": "mysql-plugin"
},
"name": "Query2",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,41 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_d0c04046-bd8b-42a5-a7f8-58272d3d0169",
"id": "Sitzplätze_RecurringBooking.createRecurringDates",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [
{
"name": "startDate"
},
{
"name": "endDate"
},
{
"name": "selectedWeekdays"
}
],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.createRecurringDates",
"name": "createRecurringDates",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_4bf3cfa5-fce3-493e-a566-383c18c49aa7",
"id": "Sitzplätze_RecurringBooking.formatDate",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [
{
"name": "date"
}
],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.formatDate",
"name": "formatDate",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,41 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_3d7d19eb-b12b-4d4f-bf3f-75bc8b6fda90",
"id": "Sitzplätze_RecurringBooking.formatDateTime",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [
{
"name": "date"
},
{
"name": "time"
},
{
"name": "allDay"
}
],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.formatDateTime",
"name": "formatDateTime",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,31 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_86b8bc08-a533-42e0-b9ae-c17500c697a2",
"id": "Sitzplätze_RecurringBooking.getSelectedWeekdays",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.getSelectedWeekdays",
"name": "getSelectedWeekdays",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_bd1cc297-4ea6-42f9-872c-c5abdec196cc",
"id": "Sitzplätze_RecurringBooking.parseDate",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [
{
"name": "value"
}
],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.parseDate",
"name": "parseDate",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,31 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_cff2140b-e5d4-42c8-9188-874a94c2cc05",
"id": "Sitzplätze_RecurringBooking.prepareRecurringBooking",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.prepareRecurringBooking",
"name": "prepareRecurringBooking",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,35 @@
{
"gitSyncId": "6a6b5b477ebc9edeca96e2f8_282d76c6-d648-4ec1-a85d-77a19cc9a758",
"id": "Sitzplätze_RecurringBooking.toggleDay",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [
{
"name": "day"
}
],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_RecurringBooking",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "RecurringBooking.toggleDay",
"name": "toggleDay",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -0,0 +1,31 @@
{
"gitSyncId": "6a919708c45e81bd1f22f312_09b8040f-0006-45bf-b6d0-b505240f4484",
"id": "Sitzplätze_Userdata_catch.listStorageKeys",
"pluginId": "js-plugin",
"pluginType": "JS",
"unpublishedAction": {
"actionConfiguration": {
"encodeParamsToggle": true,
"jsArguments": [],
"paginationType": "NONE",
"timeoutInMillisecond": 10000
},
"collectionId": "Sitzplätze_Userdata_catch",
"confirmBeforeExecute": false,
"datasource": {
"isAutoGenerated": false,
"name": "UNUSED_DATASOURCE",
"pluginId": "js-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"fullyQualifiedName": "Userdata_catch.listStorageKeys",
"name": "listStorageKeys",
"pageId": "Sitzplätze",
"runBehaviour": "MANUAL",
"userSetOnLoad": false
}
}
@@ -1,7 +1,7 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 12,
"bottomRow": 27,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "PRIMARY",
@@ -23,16 +23,16 @@
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "6x3r0two5o",
"leftColumn": 15,
"key": "ik7gdrvmlq",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 18,
"mobileLeftColumn": 10,
"mobileRightColumn": 26,
"mobileTopRow": 14,
"mobileBottomRow": 27,
"mobileLeftColumn": 0,
"mobileRightColumn": 13,
"mobileTopRow": 23,
"needsErrorInfo": false,
"onClick": "{{showModal(Terminplanungs_Modal.name);}}",
"parentColumnSpace": 20.517578125,
"onClick": "{{Userdata_catch.importLocalStoreCode();}}",
"parentColumnSpace": 17.9375,
"parentId": "0",
"parentRowSpace": 10,
"placement": "CENTER",
@@ -40,11 +40,11 @@
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 22,
"text": "Terminplanung",
"topRow": 8,
"rightColumn": 13,
"text": "Userdata",
"topRow": 23,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "i71ba6t3lc",
"widgetName": "Terminplanung_P"
"widgetId": "kinyfy3kbu",
"widgetName": "Button1"
}
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -2,7 +2,7 @@
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 13,
"bottomRow": 12,
"boxShadow": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
"closeOnSelection": false,
"dateFormat": "DD/MM/YYYY HH:mm",
@@ -26,7 +26,7 @@
"labelPosition": "Left",
"labelTextSize": "0.875rem",
"labelWidth": "3",
"leftColumn": 2,
"leftColumn": 0,
"maxDate": "2121-12-31T18:29:00.000Z",
"maxDynamicHeight": 9000,
"minDate": "1920-12-31T18:30:00.000Z",
@@ -42,10 +42,10 @@
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 15,
"rightColumn": 13,
"shortcuts": false,
"timePrecision": "minute",
"topRow": 9,
"topRow": 8,
"type": "DATE_PICKER_WIDGET2",
"version": 2,
"widgetId": "qg7xepx4i2",
+4 -4
View File
@@ -16,18 +16,18 @@
"isLoading": false,
"isModuleWidget": true,
"isVisible": true,
"key": "nobusc5t1u",
"key": "s7v0mdm3gh",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 10,
"minWidth": 450,
"mobileBottomRow": 8,
"mobileLeftColumn": 0,
"mobileLeftColumn": 1,
"mobileRightColumn": 64,
"mobileTopRow": 0,
"moduleUUID": "df3b5e28-9a87-4e91-ba97-6016b27b93b9",
"needsErrorInfo": false,
"parentColumnSpace": 25.390625,
"parentColumnSpace": 19.546875,
"parentId": "0",
"parentRowSpace": 10,
"positioning": "fixed",
@@ -38,6 +38,6 @@
"topRow": 0,
"type": "MODULE_WIDGET_df3b5e28-9a87-4e91-ba97-6016b27b93b9",
"version": 1,
"widgetId": "ecwwf2qvbk",
"widgetId": "v4k1x5ogpa",
"widgetName": "Home1"
}
@@ -0,0 +1,56 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 24,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonStyle": "PRIMARY_BUTTON",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicPropertyPathList": [
{
"key": "onClick"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "zb1cmuhe3l",
"leftColumn": 41,
"minWidth": 120,
"mobileBottomRow": 22,
"mobileLeftColumn": 47,
"mobileRightColumn": 63,
"mobileTopRow": 18,
"needsErrorInfo": false,
"onClick": "{{\n DeleteBooking\n .run({\n bookingId:\n appsmith.store.selectedBooking?.id,\n\n bookedBy:\n appsmith.user.email ||\n appsmith.user.username\n })\n .then((result) => {\n console.log(\n \"DeleteBooking Ergebnis:\",\n result\n );\n\n return GetSeatBookings.run();\n })\n .then(() => {\n return GetSeats.run();\n })\n .then(() => {\n return closeModal(\n MyBookingDetailsModal.name\n );\n })\n .then(() => {\n return showAlert(\n \"Die Buchung wurde gelöscht.\",\n \"success\"\n );\n })\n .catch((error) => {\n console.error(\n \"Löschen fehlgeschlagen:\",\n error\n );\n\n showAlert(\n \"Die Buchung konnte nicht gelöscht werden.\",\n \"error\"\n );\n });\n}}",
"originalBottomRow": 24,
"originalTopRow": 20,
"parentId": "7731jpp9wk",
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 63,
"text": "Buchung löschen",
"topRow": 20,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "zf6zh6z0sk",
"widgetName": "DeleteBookingButton"
}
@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 4,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "TERTIARY",
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"iconName": "cross",
"iconSize": 24,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "zaccq9na42",
"leftColumn": 58,
"minWidth": 50,
"mobileBottomRow": 4,
"mobileLeftColumn": 58,
"mobileRightColumn": 64,
"mobileTopRow": 0,
"needsErrorInfo": false,
"onClick": "{{closeModal(MyBookingDetailsModal.name);}}",
"parentId": "7731jpp9wk",
"renderMode": "CANVAS",
"responsiveBehavior": "hug",
"rightColumn": 64,
"topRow": 0,
"type": "ICON_BUTTON_WIDGET",
"version": 1,
"widgetId": "pcmtvkn5jw",
"widgetName": "IconButton2"
}
@@ -0,0 +1,85 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 289,
"boxShadow": "none",
"canEscapeKeyClose": true,
"canOutsideClickClose": true,
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 260,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": true,
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "iy86p0btqs",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 260,
"minWidth": 450,
"mobileBottomRow": 240,
"mobileLeftColumn": 0,
"mobileRightColumn": 435.75,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "m9c4kqrhxt",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 435.75,
"shouldScrollContents": false,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "7731jpp9wk",
"widgetName": "Canvas9"
}
],
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"height": 260,
"isCanvas": true,
"isLoading": false,
"key": "jc8yhgzuwd",
"leftColumn": 20,
"maxDynamicHeight": 9000,
"minDynamicHeight": 24,
"minHeight": 260,
"mobileBottomRow": 53,
"mobileLeftColumn": 20,
"mobileRightColumn": 44,
"mobileTopRow": 29,
"needsErrorInfo": false,
"parentColumnSpace": 18.15625,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 44,
"shouldScrollContents": true,
"topRow": 29,
"type": "MODAL_WIDGET",
"version": 2,
"widgetId": "m9c4kqrhxt",
"widgetName": "MyBookingDetailsModal",
"width": 732
}
@@ -0,0 +1,53 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
},
{
"key": "text"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1.25rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "wnu3ozrv06",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 5,
"mobileLeftColumn": 1,
"mobileRightColumn": 41,
"mobileTopRow": 1,
"needsErrorInfo": false,
"originalBottomRow": 26,
"originalTopRow": 1,
"overflow": "NONE",
"parentId": "7731jpp9wk",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 41,
"shouldTruncate": false,
"text": "{{\n JSON.stringify(\n appsmith.store.selectedBooking || {},\n null,\n 2\n )\n}}",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 1,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "uby200a2fb",
"widgetName": "Text6"
}
@@ -0,0 +1,53 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"alignWidget": "LEFT",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 18,
"defaultCheckedState": true,
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicPropertyPathList": [],
"dynamicTriggerPathList": [
{
"key": "onCheckChange"
}
],
"isDisabled": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "qvkdps07r4",
"label": "Ganztägig",
"labelPosition": "Right",
"leftColumn": 24,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 19,
"mobileLeftColumn": 1,
"mobileRightColumn": 13,
"mobileTopRow": 15,
"needsErrorInfo": false,
"onCheckChange": "",
"originalBottomRow": 20,
"originalTopRow": 15,
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 63,
"topRow": 14,
"type": "CHECKBOX_WIDGET",
"version": 1,
"widgetId": "ahhin3wdnq",
"widgetName": "AllDayCheckbox"
}
@@ -0,0 +1,74 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 27,
"boxShadow": "none",
"closeOnSelection": true,
"dateFormat": "D MMMM, YYYY",
"datePickerType": "DATE_PICKER",
"defaultDate": "{{\n appsmith.store.bookingFormData?.endDate ||\n appsmith.store.bookingFormData?.startDate ||\n appsmith.store.calendarSelection?.start?.slice(0, 10) ||\n \"\"\n}}",
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
},
{
"key": "defaultDate"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [
{
"key": "defaultDate"
},
{
"key": "onDateSelected"
}
],
"dynamicTriggerPathList": [
{
"key": "onDateSelected"
}
],
"firstDayOfWeek": 0,
"isDisabled": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "vo3jwhx7du",
"label": "Buchung bis",
"labelAlignment": "left",
"labelPosition": "Top",
"labelTextSize": "0.875rem",
"labelWidth": 5,
"leftColumn": 1,
"maxDate": "2121-12-31T18:29:00.000Z",
"maxDynamicHeight": 9000,
"minDate": "1920-12-31T18:30:00.000Z",
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 18,
"mobileLeftColumn": 1,
"mobileRightColumn": 21,
"mobileTopRow": 11,
"needsErrorInfo": false,
"onDateSelected": "{{\n storeValue(\n \"bookingFormData\",\n {\n ...(appsmith.store.bookingFormData || {}),\n\n endDate:\n BookingEndDate.selectedDate\n },\n false\n )\n}}",
"originalBottomRow": 28,
"originalTopRow": 21,
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 22,
"shortcuts": false,
"timePrecision": "None",
"topRow": 20,
"type": "DATE_PICKER_WIDGET2",
"version": 2,
"widgetId": "k0y272smyy",
"widgetName": "BookingEndDate"
}
@@ -0,0 +1,74 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 20,
"boxShadow": "none",
"closeOnSelection": true,
"dateFormat": "D MMMM, YYYY",
"datePickerType": "DATE_PICKER",
"defaultDate": "{{\n appsmith.store.bookingFormData?.startDate ||\n appsmith.store.calendarSelection?.start?.slice(0, 10) ||\n \"\"\n}}",
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
},
{
"key": "defaultDate"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [
{
"key": "defaultDate"
},
{
"key": "onDateSelected"
}
],
"dynamicTriggerPathList": [
{
"key": "onDateSelected"
}
],
"firstDayOfWeek": 0,
"isDisabled": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "vo3jwhx7du",
"label": "Buchung von",
"labelAlignment": "left",
"labelPosition": "Top",
"labelTextSize": "0.875rem",
"labelWidth": 5,
"leftColumn": 1,
"maxDate": "2121-12-31T18:29:00.000Z",
"maxDynamicHeight": 9000,
"minDate": "1920-12-31T18:30:00.000Z",
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 18,
"mobileLeftColumn": 1,
"mobileRightColumn": 21,
"mobileTopRow": 11,
"needsErrorInfo": false,
"onDateSelected": "{{\n storeValue(\n \"bookingFormData\",\n {\n ...(appsmith.store.bookingFormData || {}),\n\n startDate:\n BookingStartDate.selectedDate,\n\n endDate:\n BookingStartDate.selectedDate\n },\n false\n )\n}}",
"originalBottomRow": 21,
"originalTopRow": 13,
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 22,
"shortcuts": false,
"timePrecision": "None",
"topRow": 12,
"type": "DATE_PICKER_WIDGET2",
"version": 2,
"widgetId": "7g7p1jdnt1",
"widgetName": "BookingStartDate"
}
@@ -0,0 +1,52 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 64,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonStyle": "PRIMARY_BUTTON",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicPropertyPathList": [],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "on7g9pelq6",
"leftColumn": 50,
"minWidth": 120,
"mobileBottomRow": 22,
"mobileLeftColumn": 47,
"mobileRightColumn": 63,
"mobileTopRow": 18,
"needsErrorInfo": false,
"onClick": "{{RecurringBooking.prepareRecurringBooking();}}",
"originalBottomRow": 65,
"originalTopRow": 61,
"parentId": "q44lz1f0e4",
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 62,
"text": "Buchen",
"topRow": 60,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "iutdgcd629",
"widgetName": "ConfirmBookingButton"
}
@@ -0,0 +1,35 @@
{
"animateLoading": true,
"bottomRow": 42,
"capSide": 0,
"capType": "nc",
"dividerColor": "#d4d4d8",
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [],
"isLoading": false,
"isVisible": true,
"key": "vu807r2su6",
"leftColumn": 0,
"minWidth": 450,
"mobileBottomRow": 19,
"mobileLeftColumn": 0,
"mobileRightColumn": 20,
"mobileTopRow": 15,
"needsErrorInfo": false,
"orientation": "horizontal",
"originalBottomRow": 43,
"originalTopRow": 39,
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 63,
"strokeStyle": "solid",
"thickness": 2,
"topRow": 38,
"type": "DIVIDER_WIDGET",
"version": 1,
"widgetId": "7wun775rq0",
"widgetName": "Divider1"
}
@@ -0,0 +1,68 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 27,
"boxShadow": "none",
"defaultOptionValue": "GREEN",
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
},
{
"key": "sourceData"
},
{
"key": "isDisabled"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [
{
"key": "sourceData"
},
{
"key": "isDisabled"
}
],
"dynamicTriggerPathList": [],
"isDisabled": "{{ AllDayCheckbox.isChecked }}",
"isFilterable": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "f8k90o33yd",
"labelAlignment": "left",
"labelPosition": "Top",
"labelText": "Endzeit",
"labelTextSize": "0.875rem",
"labelWidth": 5,
"leftColumn": 39,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 15,
"mobileLeftColumn": 22,
"mobileRightColumn": 42,
"mobileTopRow": 8,
"needsErrorInfo": false,
"optionLabel": "value",
"optionValue": "value",
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"placeholderText": "Select option",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 53,
"serverSideFiltering": false,
"sourceData": "{{\n [\n { label: \"07:30\", value: \"07:30\" },\n { label: \"08:00\", value: \"08:00\" },\n { label: \"08:30\", value: \"08:30\" },\n { label: \"09:00\", value: \"09:00\" },\n { label: \"09:30\", value: \"09:30\" },\n { label: \"10:00\", value: \"10:00\" },\n { label: \"10:30\", value: \"10:30\" },\n { label: \"11:00\", value: \"11:00\" },\n { label: \"11:30\", value: \"11:30\" },\n { label: \"12:00\", value: \"12:00\" },\n { label: \"12:30\", value: \"12:30\" },\n { label: \"13:00\", value: \"13:00\" },\n { label: \"13:30\", value: \"13:30\" },\n { label: \"14:00\", value: \"14:00\" },\n { label: \"14:30\", value: \"14:30\" },\n { label: \"15:00\", value: \"15:00\" },\n { label: \"15:30\", value: \"15:30\" },\n { label: \"16:00\", value: \"16:00\" },\n { label: \"16:30\", value: \"16:30\" },\n { label: \"17:00\", value: \"17:00\" },\n { label: \"17:30\", value: \"17:30\" },\n { label: \"18:00\", value: \"18:00\" }\n ].filter(option => {\n const start =\n StartTimeSelect.selectedOptionValue ||\n \"07:00\";\n\n return option.value > start;\n })\n}}",
"topRow": 20,
"type": "SELECT_WIDGET",
"version": 1,
"widgetId": "ffcw6h9yvt",
"widgetName": "EndTimeSelect"
}
@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 4,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "TERTIARY",
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"iconName": "cross",
"iconSize": 24,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "bemm00fmhz",
"leftColumn": 58,
"minWidth": 50,
"mobileBottomRow": 4,
"mobileLeftColumn": 58,
"mobileRightColumn": 64,
"mobileTopRow": 0,
"needsErrorInfo": false,
"onClick": "{{closeModal(Platzbuchung.name);\nshowModal(SeatCalendar.name);}}",
"parentId": "q44lz1f0e4",
"renderMode": "CANVAS",
"responsiveBehavior": "hug",
"rightColumn": 64,
"topRow": 0,
"type": "ICON_BUTTON_WIDGET",
"version": 1,
"widgetId": "17mupb6pt0",
"widgetName": "IconButton1"
}
@@ -0,0 +1,88 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 66,
"boxShadow": "none",
"canEscapeKeyClose": true,
"canOutsideClickClose": true,
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 660,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": true,
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "b24ao80vxr",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 720,
"minWidth": 450,
"mobileBottomRow": 240,
"mobileLeftColumn": 0,
"mobileRightColumn": 308.64374999999995,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "lywapf93mj",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 308.64374999999995,
"shouldScrollContents": false,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "q44lz1f0e4",
"widgetName": "Canvas7"
}
],
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"height": 660,
"isCanvas": true,
"isLoading": false,
"key": "tfld9k9m85",
"leftColumn": 19,
"maxDynamicHeight": 9000,
"minDynamicHeight": 10,
"minHeight": 660,
"mobileBottomRow": 39,
"mobileLeftColumn": 19,
"mobileRightColumn": 43,
"mobileTopRow": 15,
"needsErrorInfo": false,
"originalBottomRow": 255,
"originalTopRow": 15,
"parentColumnSpace": 12.86015625,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 43,
"shouldScrollContents": true,
"topRow": 15,
"type": "MODAL_WIDGET",
"version": 2,
"widgetId": "lywapf93mj",
"widgetName": "Platzbuchung",
"width": 1199.85
}
@@ -0,0 +1,47 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"alignWidget": "LEFT",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 46,
"defaultCheckedState": false,
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"isDisabled": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "qvkdps07r4",
"label": "Wiederkehrend",
"labelPosition": "Right",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 22,
"mobileLeftColumn": 1,
"mobileRightColumn": 13,
"mobileTopRow": 18,
"needsErrorInfo": false,
"originalBottomRow": 47,
"originalTopRow": 43,
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 39,
"topRow": 42,
"type": "CHECKBOX_WIDGET",
"version": 1,
"widgetId": "s2wg7tlv6m",
"widgetName": "RecurringCheckbox"
}
@@ -0,0 +1,57 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 14,
"boxShadow": "none",
"buttonColor": "{{\n appsmith.store.recurringDays?.friday === true\n ? \"#1f5d85\"\n : \"#b8c5ce\"\n}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicPropertyPathList": [
{
"key": "buttonColor"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "on7g9pelq6",
"leftColumn": 49,
"minWidth": 120,
"mobileBottomRow": 38,
"mobileLeftColumn": 2,
"mobileRightColumn": 18,
"mobileTopRow": 34,
"needsErrorInfo": false,
"onClick": "{{RecurringBooking.toggleDay('friday');}}",
"originalBottomRow": 14,
"originalTopRow": 10,
"parentColumnSpace": 8.875,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 61,
"text": "Fr",
"topRow": 10,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "nb3yusumzy",
"widgetName": "FridayButton"
}
@@ -0,0 +1,57 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 14,
"boxShadow": "none",
"buttonColor": "{{\n appsmith.store.recurringDays?.monday === true\n ? \"#1f5d85\"\n : \"#b8c5ce\"\n}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicPropertyPathList": [
{
"key": "buttonColor"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "on7g9pelq6",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 38,
"mobileLeftColumn": 2,
"mobileRightColumn": 18,
"mobileTopRow": 34,
"needsErrorInfo": false,
"onClick": "{{RecurringBooking.toggleDay('monday');}}",
"originalBottomRow": 17,
"originalTopRow": 13,
"parentColumnSpace": 8.875,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 12,
"text": "Mo",
"topRow": 10,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "94tiejotz5",
"widgetName": "MondayButton"
}
@@ -0,0 +1,100 @@
{
"animateLoading": true,
"backgroundColor": "#FFFFFF",
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"borderWidth": "1",
"bottomRow": 64,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 160,
"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": "y8l6muyhfx",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 100,
"minWidth": 450,
"mobileBottomRow": 100,
"mobileLeftColumn": 0,
"mobileRightColumn": 445.44374999999997,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "iky8iz4l6e",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 445.44374999999997,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "nxgzciev9f",
"widgetName": "Canvas8"
}
],
"containerStyle": "card",
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
},
{
"key": "isVisible"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicPropertyPathList": [
{
"key": "isVisible"
}
],
"dynamicTriggerPathList": [],
"flexVerticalAlignment": "stretch",
"isCanvas": true,
"isLoading": false,
"isVisible": "{{ RecurringCheckbox.isChecked }}",
"key": "tlqlxo30ex",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 10,
"minWidth": 450,
"mobileBottomRow": 68,
"mobileLeftColumn": 2,
"mobileRightColumn": 26,
"mobileTopRow": 58,
"needsErrorInfo": false,
"originalBottomRow": 64,
"originalTopRow": 48,
"parentColumnSpace": 18.56015625,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 38,
"shouldScrollContents": true,
"topRow": 48,
"type": "CONTAINER_WIDGET",
"version": 1,
"widgetId": "iky8iz4l6e",
"widgetName": "RecurringContainer"
}
@@ -0,0 +1,65 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"boxShadow": "none",
"defaultOptionValue": "{{ ((options, serverSideFiltering) => ( \"1\" ))(RecurringWeeksSelect.options, RecurringWeeksSelect.serverSideFiltering) }}",
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
},
{
"key": "sourceData"
},
{
"key": "defaultOptionValue"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [
{
"key": "sourceData"
}
],
"dynamicTriggerPathList": [],
"isDisabled": false,
"isFilterable": true,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "h9bwm3lkaw",
"labelAlignment": "left",
"labelPosition": "Top",
"labelText": "",
"labelTextSize": "0.875rem",
"labelWidth": 5,
"leftColumn": 5,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 6,
"mobileLeftColumn": 16,
"mobileRightColumn": 36,
"mobileTopRow": 0,
"needsErrorInfo": false,
"optionLabel": "value",
"optionValue": "value",
"parentColumnSpace": 10.41759033203125,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"placeholderText": "Select option",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 15,
"serverSideFiltering": false,
"sourceData": "{{\n Array.from(\n { length: 10 },\n (_, index) => ({\n label:\n String(index + 1) +\n (\n index === 0\n ? \" Woche\"\n : \" Wochen\"\n ),\n value:\n String(index + 1)\n })\n )\n}}",
"topRow": 1,
"type": "SELECT_WIDGET",
"version": 1,
"widgetId": "6knfmofwsh",
"widgetName": "RecurringWeeksSelect"
}
@@ -0,0 +1,55 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
},
{
"key": "text"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "wb75ugacfs",
"leftColumn": 15,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 52,
"mobileLeftColumn": 39,
"mobileRightColumn": 55,
"mobileTopRow": 48,
"needsErrorInfo": false,
"originalBottomRow": 6,
"originalTopRow": 1,
"overflow": "NONE",
"parentColumnSpace": 18.56015625,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 34,
"shouldTruncate": false,
"text": "{{\n (() => {\n const weeks = Number(\n RecurringWeeksSelect.selectedOptionValue || 1\n );\n\n return weeks === 1\n ? \"Woche buchen\"\n : `Wochen buchen`;\n })()\n}}",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 1,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "8ry3cxgy91",
"widgetName": "RecurringWeeksText"
}
@@ -0,0 +1,52 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "wb75ugacfs",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 5,
"mobileLeftColumn": 1,
"mobileRightColumn": 17,
"mobileTopRow": 1,
"needsErrorInfo": false,
"originalBottomRow": 8,
"originalTopRow": 1,
"overflow": "NONE",
"parentColumnSpace": 10.41759033203125,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 5,
"shouldTruncate": false,
"text": "Für",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 1,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "er2hrgk010",
"widgetName": "Text3"
}
@@ -0,0 +1,57 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 14,
"boxShadow": "none",
"buttonColor": "{{\n appsmith.store.recurringDays?.thursday === true\n ? \"#1f5d85\"\n : \"#b8c5ce\"\n}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "buttonColor"
}
],
"dynamicPropertyPathList": [
{
"key": "buttonColor"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "on7g9pelq6",
"leftColumn": 36,
"minWidth": 120,
"mobileBottomRow": 38,
"mobileLeftColumn": 2,
"mobileRightColumn": 18,
"mobileTopRow": 34,
"needsErrorInfo": false,
"onClick": "{{RecurringBooking.toggleDay('thursday');}}",
"originalBottomRow": 14,
"originalTopRow": 10,
"parentColumnSpace": 8.875,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 49,
"text": "Do",
"topRow": 10,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "chvxisz1qb",
"widgetName": "ThursdayButton"
}
@@ -0,0 +1,57 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 14,
"boxShadow": "none",
"buttonColor": "{{\n appsmith.store.recurringDays?.tuesday === true\n ? \"#1f5d85\"\n : \"#b8c5ce\"\n}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicPropertyPathList": [
{
"key": "buttonColor"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "on7g9pelq6",
"leftColumn": 12,
"minWidth": 120,
"mobileBottomRow": 38,
"mobileLeftColumn": 2,
"mobileRightColumn": 18,
"mobileTopRow": 34,
"needsErrorInfo": false,
"onClick": "{{RecurringBooking.toggleDay('tuesday');}}",
"originalBottomRow": 15,
"originalTopRow": 11,
"parentColumnSpace": 8.875,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 24,
"text": "Di",
"topRow": 10,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ghkjz9swkj",
"widgetName": "TuesdayButton"
}
@@ -0,0 +1,57 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 14,
"boxShadow": "none",
"buttonColor": "{{\n appsmith.store.recurringDays?.wednesday === true\n ? \"#1f5d85\"\n : \"#b8c5ce\"\n}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{
"key": "buttonColor"
},
{
"key": "borderRadius"
}
],
"dynamicPropertyPathList": [
{
"key": "buttonColor"
}
],
"dynamicTriggerPathList": [
{
"key": "onClick"
}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "on7g9pelq6",
"leftColumn": 24,
"minWidth": 120,
"mobileBottomRow": 38,
"mobileLeftColumn": 2,
"mobileRightColumn": 18,
"mobileTopRow": 34,
"needsErrorInfo": false,
"onClick": "{{RecurringBooking.toggleDay('wednesday');}}",
"originalBottomRow": 15,
"originalTopRow": 11,
"parentColumnSpace": 8.875,
"parentId": "nxgzciev9f",
"parentRowSpace": 10,
"placement": "CENTER",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 36,
"text": "Mi",
"topRow": 10,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "26qk30tfsj",
"widgetName": "WednesdayButton"
}
@@ -0,0 +1,68 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 27,
"boxShadow": "none",
"defaultOptionValue": "GREEN",
"dynamicBindingPathList": [
{
"key": "accentColor"
},
{
"key": "borderRadius"
},
{
"key": "sourceData"
},
{
"key": "isDisabled"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [
{
"key": "sourceData"
},
{
"key": "isDisabled"
}
],
"dynamicTriggerPathList": [],
"isDisabled": "{{ AllDayCheckbox.isChecked }}",
"isFilterable": false,
"isLoading": false,
"isRequired": false,
"isVisible": true,
"key": "f8k90o33yd",
"labelAlignment": "left",
"labelPosition": "Top",
"labelText": "Startzeit",
"labelTextSize": "0.875rem",
"labelWidth": 5,
"leftColumn": 24,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 15,
"mobileLeftColumn": 22,
"mobileRightColumn": 42,
"mobileTopRow": 8,
"needsErrorInfo": false,
"optionLabel": "label",
"optionValue": "value",
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"placeholderText": "Select option",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 38,
"serverSideFiltering": false,
"sourceData": "{{\n [\n { label: \"07:00\", value: \"07:00\" },\n { label: \"07:30\", value: \"07:30\" },\n { label: \"08:00\", value: \"08:00\" },\n { label: \"08:30\", value: \"08:30\" },\n { label: \"09:00\", value: \"09:00\" },\n { label: \"09:30\", value: \"09:30\" },\n { label: \"10:00\", value: \"10:00\" },\n { label: \"10:30\", value: \"10:30\" },\n { label: \"11:00\", value: \"11:00\" },\n { label: \"11:30\", value: \"11:30\" },\n { label: \"12:00\", value: \"12:00\" },\n { label: \"12:30\", value: \"12:30\" },\n { label: \"13:00\", value: \"13:00\" },\n { label: \"13:30\", value: \"13:30\" },\n { label: \"14:00\", value: \"14:00\" },\n { label: \"14:30\", value: \"14:30\" },\n { label: \"15:00\", value: \"15:00\" },\n { label: \"15:30\", value: \"15:30\" },\n { label: \"16:00\", value: \"16:00\" },\n { label: \"16:30\", value: \"16:30\" },\n { label: \"17:00\", value: \"17:00\" },\n { label: \"17:30\", value: \"17:30\" }\n ]\n}}",
"topRow": 20,
"type": "SELECT_WIDGET",
"version": 1,
"widgetId": "u53n2l4s54",
"widgetName": "StartTimeSelect"
}
@@ -0,0 +1,48 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1.25rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "85a0f84b99",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 5,
"mobileLeftColumn": 1,
"mobileRightColumn": 41,
"mobileTopRow": 1,
"needsErrorInfo": false,
"overflow": "NONE",
"parentId": "q44lz1f0e4",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 41,
"shouldTruncate": false,
"text": "Neue Terminbuchung",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 1,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "qbxh4zk7og",
"widgetName": "Text1"
}
@@ -0,0 +1,55 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 10,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
},
{
"key": "text"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "85a0f84b99",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 10,
"mobileLeftColumn": 1,
"mobileRightColumn": 17,
"mobileTopRow": 6,
"needsErrorInfo": false,
"originalBottomRow": 11,
"originalTopRow": 6,
"overflow": "NONE",
"parentColumnSpace": 8.875,
"parentId": "q44lz1f0e4",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 17,
"shouldTruncate": false,
"text": "{{\n appsmith.store.bookingFormData?.seatName ||\n \"Kein Platz ausgewählt\"\n}}",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 6,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "ro1ojhgu5m",
"widgetName": "Text2"
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,86 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 735,
"boxShadow": "none",
"canEscapeKeyClose": true,
"canOutsideClickClose": true,
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 710,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": true,
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "evumr7v2vl",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 710,
"minWidth": 450,
"mobileBottomRow": 240,
"mobileLeftColumn": 0,
"mobileRightColumn": 254.109375,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "dvuv5jdjrt",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 254.109375,
"shouldScrollContents": false,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "ekq4ry46pv",
"widgetName": "Canvas6"
}
],
"detachFromLayout": true,
"dynamicBindingPathList": [
{
"key": "borderRadius"
}
],
"dynamicHeight": "FIXED",
"dynamicPropertyPathList": [],
"dynamicTriggerPathList": [],
"height": 710,
"isCanvas": true,
"isLoading": false,
"key": "u2wwvtyano",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 24,
"mobileBottomRow": 49,
"mobileLeftColumn": 0,
"mobileRightColumn": 13,
"mobileTopRow": 25,
"needsErrorInfo": false,
"parentColumnSpace": 19.546875,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 13,
"shouldScrollContents": false,
"topRow": 25,
"type": "MODAL_WIDGET",
"version": 2,
"widgetId": "dvuv5jdjrt",
"widgetName": "SeatCalendar",
"width": 1174
}
@@ -1,7 +1,7 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 13,
"bottomRow": 16,
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}",
"buttonVariant": "PRIMARY",
@@ -24,7 +24,7 @@
"isLoading": false,
"isVisible": true,
"key": "6x3r0two5o",
"leftColumn": 15,
"leftColumn": 3,
"minWidth": 120,
"mobileBottomRow": 18,
"mobileLeftColumn": 10,
@@ -40,11 +40,11 @@
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 22,
"rightColumn": 13,
"text": "Terminplanung",
"topRow": 9,
"topRow": 12,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "7gr15gklej",
"widgetName": "Terminplanung_P"
"widgetName": "Terminplanung"
}
@@ -26,8 +26,8 @@
"labelPosition": "Left",
"labelText": "Büro",
"labelTextSize": "0.875rem",
"labelWidth": "3",
"leftColumn": 3,
"labelWidth": "2",
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
@@ -46,7 +46,7 @@
"placeholderText": "Select option(s)",
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 18,
"rightColumn": 12,
"serverSideFiltering": false,
"sourceData": [
{
@@ -1,37 +1,26 @@
{
"backgroundColor": "#FFFFFF",
"borderColor": "#E0DEDE",
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"backgroundColor": "#ffffff",
"borderColor": "#ffffff",
"borderRadius": "0.375rem",
"borderWidth": "1",
"bottomRow": 52,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"defaultModel": "{\n \"tips\": [\n \"Pass data to this widget in the default model field\",\n \"Access data in the javascript file using the appsmith.model variable\",\n \"Create events in the widget and trigger them in the javascript file using appsmith.triggerEvent('eventName')\",\n \"Access data in CSS as var(--appsmith-model-{property-name})\"\n ]\n}",
"bottomRow": 60,
"boxShadow": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",
"defaultModel": "",
"dynamicBindingPathList": [
{
"key": "theme"
},
{
"key": "borderRadius"
},
{
"key": "boxShadow"
}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{
"key": "onResetClick"
}
],
"events": [
"onResetClick"
],
"dynamicPropertyPathList": [],
"dynamicTriggerPathList": [],
"events": [],
"isCanvas": false,
"isLoading": false,
"isSearchWildcard": true,
"isVisible": true,
"key": "15menc7fc7",
"leftColumn": 0,
"leftColumn": 1,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"mobileBottomRow": 41,
@@ -39,24 +28,23 @@
"mobileRightColumn": 29,
"mobileTopRow": 11,
"needsErrorInfo": false,
"onResetClick": "{{showAlert('Successfully reset!!', '');}}",
"parentColumnSpace": 16.479687499999997,
"parentId": "2lnzb8fq0d",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 64,
"srcDoc": {
"css": ".app {\n height: calc(var(--appsmith-ui-height) * 1px);\n width: calc(var(--appsmith-ui-width) * 1px);\n justify-content: center;\n border-radius: var(--appsmith-theme-borderRadius);\n box-shadow: var(--appsmith-theme-boxShadow);\n padding: 29px 25px;\n box-sizing: border-box;\n font-family: system-ui;\n background: #fff;\n}\n\n.tip-container {\n margin-bottom: 20px;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.tip-container h2 {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 700;\n}\n\n.tip-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 9px;\n}\n\n.tip-header div {\n color: #999;\n}\n\n.content {\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.button-container {\n text-align: right;\n padding-top: 4px;\n}\n\n.button-container button {\n margin: 0 10px;\n cursor: pointer;\n border-radius: var(--appsmith-theme-borderRadius);\n padding: 6px 16px;\n background: none;\n height: auto;\n transition: all 0.3s ease;\n}\n\n.button-container button.primary {\n background: var(--appsmith-theme-primaryColor) !important;\n color: #fff;\n border: 1px solid var(--appsmith-theme-primaryColor) !important;\n}\n\n.button-container button.reset {\n border: 1px solid #999;\n color: #999;\n outline: none;\n box-shadow: none;\n}\n\n.button-container button.reset:hover:not(:disabled) {\n color: var(--appsmith-theme-primaryColor);\n border-color: var(--appsmith-theme-primaryColor);\n}\n\n.button-container button.reset:disabled {\n cursor: default;\n}",
"html": "<!-- no need to write html, head, body tags, it is handled by the widget -->\n<div id=\"root\"></div>\n",
"js": "import React from \"https://esm.sh/[email protected]\";\nimport ReactDOM from \"https://esm.sh/[email protected]\";\n\nconst Button = ({\n children,\n className,\n ...props\n}) => /*#__PURE__*/React.createElement(\"button\", {\n className: className,\n ...props\n}, children);\n\nfunction App() {\n const [currentIndex, setCurrentIndex] = React.useState(0);\n const handleNext = () => {\n setCurrentIndex(prevIndex => (prevIndex + 1) % appsmith.model.tips.length);\n };\n const handleReset = () => {\n setCurrentIndex(0);\n appsmith.triggerEvent(\"onResetClick\");\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"app\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"tip-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"tip-header\"\n }, /*#__PURE__*/React.createElement(\"h2\", null, \"Custom Widget\"), /*#__PURE__*/React.createElement(\"div\", null, currentIndex + 1, \" / \", appsmith.model.tips.length)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, appsmith.model.tips[currentIndex])), /*#__PURE__*/React.createElement(\"div\", {\n className: \"button-container\"\n }, /*#__PURE__*/React.createElement(Button, {\n className: \"primary\",\n onClick: handleNext\n }, \"Next Tip\"), /*#__PURE__*/React.createElement(Button, {\n className: \"reset\",\n disabled: currentIndex === 0,\n onClick: handleReset\n }, \"Reset\")));\n}\n\nappsmith.onReady(() => {\n ReactDOM.render( /*#__PURE__*/React.createElement(App, null), document.getElementById(\"root\"));\n});"
"css": "#calendar {\n width: 100%;\n min-height: 700px;\n}",
"html": "<div id=\"calendar\"></div>",
"js": "let calendar;\nfunction loadCalendar() {\n const calendarEl = document.getElementById(\"calendar\");\n if (!calendarEl || typeof FullCalendar === \"undefined\") return;\n const resources = [{\n id: \"a\",\n title: \"Raum A\"\n }, {\n id: \"b\",\n title: \"Raum B\"\n }, {\n id: \"c\",\n title: \"Raum C\"\n }, {\n id: \"d\",\n title: \"Raum D\"\n }, {\n id: \"e\",\n title: \"Raum E\"\n }, {\n id: \"f\",\n title: \"Raum F\"\n }, {\n id: \"g\",\n title: \"Raum G\"\n }, {\n id: \"h\",\n title: \"Raum H\"\n }, {\n id: \"i\",\n title: \"Raum I\"\n }, {\n id: \"j\",\n title: \"Raum J\"\n }, {\n id: \"k\",\n title: \"Raum K\"\n }, {\n id: \"l\",\n title: \"Raum L\"\n }, {\n id: \"m\",\n title: \"Raum M\"\n }, {\n id: \"n\",\n title: \"Raum N\"\n }, {\n id: \"o\",\n title: \"Raum O\"\n }, {\n id: \"p\",\n title: \"Raum P\"\n }, {\n id: \"q\",\n title: \"Raum Q\"\n }, {\n id: \"r\",\n title: \"Raum R\"\n }, {\n id: \"s\",\n title: \"Raum S\"\n }, {\n id: \"t\",\n title: \"Raum T\"\n }, {\n id: \"u\",\n title: \"Raum U\"\n }];\n const events = [{\n id: \"1\",\n resourceId: \"a\",\n title: \"Termin A1\",\n start: \"2026-08-06T09:00:00\",\n end: \"2026-08-06T11:00:00\"\n }, {\n id: \"2\",\n resourceId: \"b\",\n title: \"Termin B1\",\n start: \"2026-08-06T10:00:00\",\n end: \"2026-08-06T12:00:00\"\n }, {\n id: \"3\",\n resourceId: \"c\",\n title: \"Termin C1\",\n start: \"2026-08-07T13:00:00\",\n end: \"2026-08-07T15:00:00\"\n }];\n calendar = new FullCalendar.Calendar(calendarEl, {\n initialView: \"resourceTimelineWeek\",\n height: \"100%\",\n nowIndicator: true,\n slotMinWidth: 80,\n resourceAreaWidth: 220,\n headerToolbar: {\n left: \"prev,next today\",\n center: \"title\",\n right: \"resourceTimelineDay,resourceTimelineWeek,resourceTimelineMonth\"\n },\n resources,\n events\n });\n calendar.render();\n}\nappsmith.onReady(() => {\n const script = document.createElement(\"script\");\n script.src = \"https://cdn.jsdelivr.net/npm/[email protected]/index.global.min.js\";\n script.onload = loadCalendar;\n document.head.appendChild(script);\n});"
},
"theme": "{{appsmith.theme}}",
"topRow": 9,
"type": "CUSTOM_WIDGET",
"uncompiledSrcDoc": {
"css": ".app {\n height: calc(var(--appsmith-ui-height) * 1px);\n width: calc(var(--appsmith-ui-width) * 1px);\n justify-content: center;\n border-radius: var(--appsmith-theme-borderRadius);\n box-shadow: var(--appsmith-theme-boxShadow);\n padding: 29px 25px;\n box-sizing: border-box;\n font-family: system-ui;\n background: #fff;\n}\n\n.tip-container {\n margin-bottom: 20px;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.tip-container h2 {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 700;\n}\n\n.tip-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 9px;\n}\n\n.tip-header div {\n color: #999;\n}\n\n.content {\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 14px;\n line-height: 1.571429;\n}\n\n.button-container {\n text-align: right;\n padding-top: 4px;\n}\n\n.button-container button {\n margin: 0 10px;\n cursor: pointer;\n border-radius: var(--appsmith-theme-borderRadius);\n padding: 6px 16px;\n background: none;\n height: auto;\n transition: all 0.3s ease;\n}\n\n.button-container button.primary {\n background: var(--appsmith-theme-primaryColor) !important;\n color: #fff;\n border: 1px solid var(--appsmith-theme-primaryColor) !important;\n}\n\n.button-container button.reset {\n border: 1px solid #999;\n color: #999;\n outline: none;\n box-shadow: none;\n}\n\n.button-container button.reset:hover:not(:disabled) {\n color: var(--appsmith-theme-primaryColor);\n border-color: var(--appsmith-theme-primaryColor);\n}\n\n.button-container button.reset:disabled {\n cursor: default;\n}",
"html": "<!-- no need to write html, head, body tags, it is handled by the widget -->\n<div id=\"root\"></div>\n",
"js": "import React from \"https://esm.sh/[email protected]\";\nimport ReactDOM from \"https://esm.sh/[email protected]\";\n\nconst Button = ({ children, className, ...props }) => (\n <button className={className} {...props}>\n {children}\n </button>\n);\n\nfunction App() {\n const [currentIndex, setCurrentIndex] = React.useState(0);\n\n const handleNext = () => {\n setCurrentIndex((prevIndex) => (prevIndex + 1) % appsmith.model.tips.length);\n };\n\n const handleReset = () => {\n setCurrentIndex(0);\n appsmith.triggerEvent(\"onResetClick\");\n };\n\n return (\n <div className=\"app\">\n <div className=\"tip-container\">\n <div className=\"tip-header\">\n <h2>Custom Widget</h2>\n <div>{currentIndex + 1} / {appsmith.model.tips.length}</div>\n </div>\n <div className=\"content\">{appsmith.model.tips[currentIndex]}</div>\n </div>\n <div className=\"button-container\">\n <Button className=\"primary\" onClick={handleNext}>Next Tip</Button>\n <Button className=\"reset\" disabled={currentIndex === 0} onClick={handleReset}>Reset</Button>\n </div>\n </div>\n );\n}\n\nappsmith.onReady(() => {\n/*\n\t * This handler function will get called when parent application is ready.\n\t * Initialize your component here\n\t * more info - https://docs.appsmith.com/reference/widgets/custom#onready\n\t */\n ReactDOM.render(<App />, document.getElementById(\"root\"));\n});"
"css": "#calendar {\n width: 100%;\n min-height: 700px;\n}",
"html": "<div id=\"calendar\"></div>",
"js": "let calendar;\n\nfunction loadCalendar() {\n const calendarEl = document.getElementById(\"calendar\");\n if (!calendarEl || typeof FullCalendar === \"undefined\") return;\n\n const resources = [\n { id: \"a\", title: \"Raum A\" },\n { id: \"b\", title: \"Raum B\" },\n { id: \"c\", title: \"Raum C\" },\n { id: \"d\", title: \"Raum D\" },\n { id: \"e\", title: \"Raum E\" },\n { id: \"f\", title: \"Raum F\" },\n { id: \"g\", title: \"Raum G\" },\n { id: \"h\", title: \"Raum H\" },\n { id: \"i\", title: \"Raum I\" },\n { id: \"j\", title: \"Raum J\" },\n { id: \"k\", title: \"Raum K\" },\n { id: \"l\", title: \"Raum L\" },\n { id: \"m\", title: \"Raum M\" },\n { id: \"n\", title: \"Raum N\" },\n { id: \"o\", title: \"Raum O\" },\n { id: \"p\", title: \"Raum P\" },\n { id: \"q\", title: \"Raum Q\" },\n { id: \"r\", title: \"Raum R\" },\n { id: \"s\", title: \"Raum S\" },\n { id: \"t\", title: \"Raum T\" },\n { id: \"u\", title: \"Raum U\" }\n ];\n\n const events = [\n {\n id: \"1\",\n resourceId: \"a\",\n title: \"Termin A1\",\n start: \"2026-08-06T09:00:00\",\n end: \"2026-08-06T11:00:00\"\n },\n {\n id: \"2\",\n resourceId: \"b\",\n title: \"Termin B1\",\n start: \"2026-08-06T10:00:00\",\n end: \"2026-08-06T12:00:00\"\n },\n {\n id: \"3\",\n resourceId: \"c\",\n title: \"Termin C1\",\n start: \"2026-08-07T13:00:00\",\n end: \"2026-08-07T15:00:00\"\n }\n ];\n\n calendar = new FullCalendar.Calendar(calendarEl, {\n initialView: \"resourceTimelineWeek\",\n height: \"100%\",\n nowIndicator: true,\n slotMinWidth: 80,\n resourceAreaWidth: 220,\n headerToolbar: {\n left: \"prev,next today\",\n center: \"title\",\n right: \"resourceTimelineDay,resourceTimelineWeek,resourceTimelineMonth\"\n },\n resources,\n events\n });\n\n calendar.render();\n}\n\nappsmith.onReady(() => {\n const script = document.createElement(\"script\");\n script.src = \"https://cdn.jsdelivr.net/npm/[email protected]/index.global.min.js\";\n script.onload = loadCalendar;\n document.head.appendChild(script);\n});"
},
"version": 1,
"widgetId": "opnoz7bq3u",
@@ -8,7 +8,7 @@
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 530,
"bottomRow": 630,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": true,
"detachFromLayout": true,
@@ -29,7 +29,7 @@
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 534,
"minHeight": 630,
"minWidth": 450,
"mobileBottomRow": 240,
"mobileLeftColumn": 0,
@@ -58,7 +58,7 @@
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],
"height": 534,
"height": 630,
"isCanvas": true,
"isLoading": false,
"key": "gyh5izjls1",
@@ -75,11 +75,11 @@
"parentRowSpace": 10,
"renderMode": "CANVAS",
"rightColumn": 33,
"shouldScrollContents": true,
"shouldScrollContents": false,
"topRow": 9,
"type": "MODAL_WIDGET",
"version": 2,
"widgetId": "r108hlnkmr",
"widgetName": "Terminplanungs_Modal",
"width": 1128.6999999999998
"width": 1516.6999999999998
}
+55
View File
@@ -0,0 +1,55 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 31,
"dynamicBindingPathList": [
{
"key": "truncateButtonColor"
},
{
"key": "fontFamily"
},
{
"key": "borderRadius"
},
{
"key": "text"
}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "u9yq2qfrlw",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 27,
"mobileLeftColumn": 0,
"mobileRightColumn": 13,
"mobileTopRow": 23,
"needsErrorInfo": false,
"originalBottomRow": 27,
"originalTopRow": 23,
"overflow": "NONE",
"parentColumnSpace": 25.390625,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 13,
"shouldTruncate": false,
"text": "{{ appsmith.store.storage_keys }}",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 27,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "m3zjevyiib",
"widgetName": "Text7"
}
+6
View File
@@ -0,0 +1,6 @@
{
"moduleName": "Bff",
"moduleUUID": "b0d6dbe1-9ee5-486f-9f93-4baa17986ccf",
"packageName": "Bff",
"packageUUID": "35174735-e12c-426f-9f2f-fe12a068c3ba"
}
+6
View File
@@ -0,0 +1,6 @@
{
"moduleName": "Bff_Logout",
"moduleUUID": "68741899-715d-4e34-a614-51281446403a",
"packageName": "Bff",
"packageUUID": "35174735-e12c-426f-9f2f-fe12a068c3ba"
}

Some files were not shown because too many files have changed in this diff Show More