From 4d232d718f05afddb6146335e3149c5cd353093d Mon Sep 17 00:00:00 2001 From: Florian Bernard Date: Thu, 6 Aug 2026 08:20:32 +0000 Subject: [PATCH] App weiterentwickelt --- datasources/MySQL Bürobuchungen.json | 6 + .../Mobiler Bildschirm.json | 4 +- .../queries/Query1/Query1.txt | 1 + .../queries/Query1/metadata.json | 31 ++ .../queries/Query2/Query2.txt | 7 + .../queries/Query2/metadata.json | 35 ++ .../widgets/Form1/Button2.json | 15 +- .../widgets/Form1/Button3.json | 8 +- .../widgets/Form1/DatePicker1.json | 6 +- .../widgets/Form1/DatePicker2.json | 2 +- .../widgets/Form1/Form1.json | 6 +- .../Form1/{Input1Copy.json => Input2.json} | 2 +- pages/Mobiler Bildschirm/widgets/Table1.json | 310 +++++++++++++++++- pages/Parkplätze/Parkplätze.json | 2 +- .../Terminplanungs_Modal/Buero_Filter.json | 70 ++++ .../widgets/Terminplanungs_Modal/Custom1.json | 64 ++++ .../Terminplanungs_Modal.json | 85 +++++ .../Terminplanungsassystent.json | 50 +++ .../Terminplanungs_Modal/schliessen.json | 41 +++ pages/Sitzplätze/Sitzplätze.json | 2 +- ...erminplanung_P.json => Terminplanung.json} | 2 +- 21 files changed, 717 insertions(+), 32 deletions(-) create mode 100644 datasources/MySQL Bürobuchungen.json create mode 100644 pages/Mobiler Bildschirm/queries/Query1/Query1.txt create mode 100644 pages/Mobiler Bildschirm/queries/Query1/metadata.json create mode 100644 pages/Mobiler Bildschirm/queries/Query2/Query2.txt create mode 100644 pages/Mobiler Bildschirm/queries/Query2/metadata.json rename pages/Mobiler Bildschirm/widgets/Form1/{Input1Copy.json => Input2.json} (97%) create mode 100644 pages/Parkplätze/widgets/Terminplanungs_Modal/Buero_Filter.json create mode 100644 pages/Parkplätze/widgets/Terminplanungs_Modal/Custom1.json create mode 100644 pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungs_Modal.json create mode 100644 pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungsassystent.json create mode 100644 pages/Parkplätze/widgets/Terminplanungs_Modal/schliessen.json rename pages/Sitzplätze/widgets/{Terminplanung_P.json => Terminplanung.json} (97%) diff --git a/datasources/MySQL Bürobuchungen.json b/datasources/MySQL Bürobuchungen.json new file mode 100644 index 0000000..61e9d7f --- /dev/null +++ b/datasources/MySQL Bürobuchungen.json @@ -0,0 +1,6 @@ +{ + "gitSyncId": "6a54b983d3076fb3cf8e67f0_0423eb63-d957-414e-bb5b-166c94a4408a", + "isAutoGenerated": false, + "name": "MySQL Bürobuchungen", + "pluginId": "mysql-plugin" +} \ No newline at end of file diff --git a/pages/Mobiler Bildschirm/Mobiler Bildschirm.json b/pages/Mobiler Bildschirm/Mobiler Bildschirm.json index 34f080e..40522a8 100644 --- a/pages/Mobiler Bildschirm/Mobiler Bildschirm.json +++ b/pages/Mobiler Bildschirm/Mobiler Bildschirm.json @@ -1,12 +1,12 @@ { "gitSyncId": "6a5602cf6665afa2c813ec43_76c6357a-3141-40f7-a4e6-c25577a89efb", "unpublishedPage": { - "isHidden": false, + "isHidden": true, "layouts": [ { "dsl": { "backgroundColor": "none", - "bottomRow": 600, + "bottomRow": 590, "canExtend": true, "containerStyle": "none", "detachFromLayout": true, diff --git a/pages/Mobiler Bildschirm/queries/Query1/Query1.txt b/pages/Mobiler Bildschirm/queries/Query1/Query1.txt new file mode 100644 index 0000000..eb0059c --- /dev/null +++ b/pages/Mobiler Bildschirm/queries/Query1/Query1.txt @@ -0,0 +1 @@ +SELECT * FROM Bildschirmbuchung; \ No newline at end of file diff --git a/pages/Mobiler Bildschirm/queries/Query1/metadata.json b/pages/Mobiler Bildschirm/queries/Query1/metadata.json new file mode 100644 index 0000000..95ad40d --- /dev/null +++ b/pages/Mobiler Bildschirm/queries/Query1/metadata.json @@ -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 + } +} \ No newline at end of file diff --git a/pages/Mobiler Bildschirm/queries/Query2/Query2.txt b/pages/Mobiler Bildschirm/queries/Query2/Query2.txt new file mode 100644 index 0000000..234644c --- /dev/null +++ b/pages/Mobiler Bildschirm/queries/Query2/Query2.txt @@ -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 }} +); \ No newline at end of file diff --git a/pages/Mobiler Bildschirm/queries/Query2/metadata.json b/pages/Mobiler Bildschirm/queries/Query2/metadata.json new file mode 100644 index 0000000..7c6e182 --- /dev/null +++ b/pages/Mobiler Bildschirm/queries/Query2/metadata.json @@ -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 + } +} \ No newline at end of file diff --git a/pages/Mobiler Bildschirm/widgets/Form1/Button2.json b/pages/Mobiler Bildschirm/widgets/Form1/Button2.json index 7ce9749..29353b2 100644 --- a/pages/Mobiler Bildschirm/widgets/Form1/Button2.json +++ b/pages/Mobiler Bildschirm/widgets/Form1/Button2.json @@ -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", diff --git a/pages/Mobiler Bildschirm/widgets/Form1/Button3.json b/pages/Mobiler Bildschirm/widgets/Form1/Button3.json index 470b6cd..9edb604 100644 --- a/pages/Mobiler Bildschirm/widgets/Form1/Button3.json +++ b/pages/Mobiler Bildschirm/widgets/Form1/Button3.json @@ -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", diff --git a/pages/Mobiler Bildschirm/widgets/Form1/DatePicker1.json b/pages/Mobiler Bildschirm/widgets/Form1/DatePicker1.json index 171f229..413230b 100644 --- a/pages/Mobiler Bildschirm/widgets/Form1/DatePicker1.json +++ b/pages/Mobiler Bildschirm/widgets/Form1/DatePicker1.json @@ -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, diff --git a/pages/Mobiler Bildschirm/widgets/Form1/DatePicker2.json b/pages/Mobiler Bildschirm/widgets/Form1/DatePicker2.json index 9e42504..4a3ab32 100644 --- a/pages/Mobiler Bildschirm/widgets/Form1/DatePicker2.json +++ b/pages/Mobiler Bildschirm/widgets/Form1/DatePicker2.json @@ -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": [ diff --git a/pages/Mobiler Bildschirm/widgets/Form1/Form1.json b/pages/Mobiler Bildschirm/widgets/Form1/Form1.json index 529825a..c428422 100644 --- a/pages/Mobiler Bildschirm/widgets/Form1/Form1.json +++ b/pages/Mobiler Bildschirm/widgets/Form1/Form1.json @@ -4,12 +4,12 @@ "borderColor": "#E0DEDE", "borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}", "borderWidth": "1", - "bottomRow": 51, + "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", @@ -81,7 +81,7 @@ "renderMode": "CANVAS", "responsiveBehavior": "fill", "rightColumn": 63, - "shouldScrollContents": true, + "shouldScrollContents": false, "topRow": 9, "type": "FORM_WIDGET", "widgetId": "umbpnh5dz1", diff --git a/pages/Mobiler Bildschirm/widgets/Form1/Input1Copy.json b/pages/Mobiler Bildschirm/widgets/Form1/Input2.json similarity index 97% rename from pages/Mobiler Bildschirm/widgets/Form1/Input1Copy.json rename to pages/Mobiler Bildschirm/widgets/Form1/Input2.json index befd17a..8210f3d 100644 --- a/pages/Mobiler Bildschirm/widgets/Form1/Input1Copy.json +++ b/pages/Mobiler Bildschirm/widgets/Form1/Input2.json @@ -52,5 +52,5 @@ "type": "INPUT_WIDGET_V2", "version": 2, "widgetId": "enr8kmqeox", - "widgetName": "Input1Copy" + "widgetName": "Input2" } \ No newline at end of file diff --git a/pages/Mobiler Bildschirm/widgets/Table1.json b/pages/Mobiler Bildschirm/widgets/Table1.json index c71a268..8e7fe79 100644 --- a/pages/Mobiler Bildschirm/widgets/Table1.json +++ b/pages/Mobiler Bildschirm/widgets/Table1.json @@ -1,10 +1,11 @@ { "accentColor": "{{appsmith.theme.colors.primaryColor}}", + "allowAddNewRow": false, "animateLoading": true, "borderColor": "#E0DEDE", "borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}", "borderWidth": "1", - "bottomRow": 60, + "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,21 +59,79 @@ }, { "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": 1, @@ -75,18 +141,242 @@ "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": 46, "searchKey": "", - "tableData": "", + "serverSidePaginationEnabled": true, + "tableData": "{{Query1.data}}", "textSize": "0.875rem", "topRow": 9, - "totalRecordsCount": 0, + "totalRecordsCount": "{{Total_record_Bildschirmbuchung1.data[0].count}}", "type": "TABLE_WIDGET_V2", "version": 2, "verticalAlignment": "CENTER", diff --git a/pages/Parkplätze/Parkplätze.json b/pages/Parkplätze/Parkplätze.json index 74e4162..f2824fa 100644 --- a/pages/Parkplätze/Parkplätze.json +++ b/pages/Parkplätze/Parkplätze.json @@ -1,7 +1,7 @@ { "gitSyncId": "6a5602cf6665afa2c813ec43_7248c84c-8c10-42a7-9f45-60c041f96f5f", "unpublishedPage": { - "isHidden": false, + "isHidden": true, "layouts": [ { "dsl": { diff --git a/pages/Parkplätze/widgets/Terminplanungs_Modal/Buero_Filter.json b/pages/Parkplätze/widgets/Terminplanungs_Modal/Buero_Filter.json new file mode 100644 index 0000000..c48cd75 --- /dev/null +++ b/pages/Parkplätze/widgets/Terminplanungs_Modal/Buero_Filter.json @@ -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" +} \ No newline at end of file diff --git a/pages/Parkplätze/widgets/Terminplanungs_Modal/Custom1.json b/pages/Parkplätze/widgets/Terminplanungs_Modal/Custom1.json new file mode 100644 index 0000000..81f039d --- /dev/null +++ b/pages/Parkplätze/widgets/Terminplanungs_Modal/Custom1.json @@ -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": "\n
\n", + "js": "import React from \"https://esm.sh/react@18.2.0\";\nimport ReactDOM from \"https://esm.sh/react-dom@18.2.0\";\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": "\n
\n", + "js": "import React from \"https://esm.sh/react@18.2.0\";\nimport ReactDOM from \"https://esm.sh/react-dom@18.2.0\";\n\nconst Button = ({ children, className, ...props }) => (\n \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
\n
\n
\n

Custom Widget

\n
{currentIndex + 1} / {appsmith.model.tips.length}
\n
\n
{appsmith.model.tips[currentIndex]}
\n
\n
\n \n \n
\n
\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(, document.getElementById(\"root\"));\n});" + }, + "version": 1, + "widgetId": "oghaatehlp", + "widgetName": "Custom1" +} \ No newline at end of file diff --git a/pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungs_Modal.json b/pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungs_Modal.json new file mode 100644 index 0000000..5a6896c --- /dev/null +++ b/pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungs_Modal.json @@ -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 +} \ No newline at end of file diff --git a/pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungsassystent.json b/pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungsassystent.json new file mode 100644 index 0000000..6c00df7 --- /dev/null +++ b/pages/Parkplätze/widgets/Terminplanungs_Modal/Terminplanungsassystent.json @@ -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" +} \ No newline at end of file diff --git a/pages/Parkplätze/widgets/Terminplanungs_Modal/schliessen.json b/pages/Parkplätze/widgets/Terminplanungs_Modal/schliessen.json new file mode 100644 index 0000000..5a214f6 --- /dev/null +++ b/pages/Parkplätze/widgets/Terminplanungs_Modal/schliessen.json @@ -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" +} \ No newline at end of file diff --git a/pages/Sitzplätze/Sitzplätze.json b/pages/Sitzplätze/Sitzplätze.json index f888c82..66bb220 100644 --- a/pages/Sitzplätze/Sitzplätze.json +++ b/pages/Sitzplätze/Sitzplätze.json @@ -1,7 +1,7 @@ { "gitSyncId": "6a5602cf6665afa2c813ec43_1571c38f-ffb0-4e8d-8ddb-156029f508de", "unpublishedPage": { - "isHidden": false, + "isHidden": true, "layouts": [ { "dsl": { diff --git a/pages/Sitzplätze/widgets/Terminplanung_P.json b/pages/Sitzplätze/widgets/Terminplanung.json similarity index 97% rename from pages/Sitzplätze/widgets/Terminplanung_P.json rename to pages/Sitzplätze/widgets/Terminplanung.json index c19dd25..72f90a5 100644 --- a/pages/Sitzplätze/widgets/Terminplanung_P.json +++ b/pages/Sitzplätze/widgets/Terminplanung.json @@ -46,5 +46,5 @@ "type": "BUTTON_WIDGET", "version": 1, "widgetId": "7gr15gklej", - "widgetName": "Terminplanung_P" + "widgetName": "Terminplanung" } \ No newline at end of file