diff --git a/application/src/main/data/json/tenant/dashboards/gateways.json b/application/src/main/data/json/tenant/dashboards/gateways.json
index 13902a9158..0ddfc98705 100644
--- a/application/src/main/data/json/tenant/dashboards/gateways.json
+++ b/application/src/main/data/json/tenant/dashboards/gateways.json
@@ -185,16 +185,12 @@
"icon": "terminal",
"useShowWidgetActionFunction": null,
"showWidgetActionFunction": "return true;",
- "type": "openDashboardState",
- "targetDashboardStateId": "launch_command",
- "setEntityId": true,
- "stateEntityParamName": null,
- "openRightLayout": false,
- "dialogTitle": "Docker commands",
- "dialogHideDashboardToolbar": true,
- "dialogWidth": null,
- "dialogHeight": 55,
- "openInSeparateDialog": true,
+ "type": "customPretty",
+ "customHtml": "
\n
\n Docker commands
\n \n \n \n \n
\n
\n \n
\n
\n",
+ "customCss": ".container {\n display: grid;\n grid-template-rows: min-content minmax(auto, 1fr) min-content;\n height: 100%;\n max-height: 100vh;\n width: 600px;\n max-width: 100%;\n}",
+ "customFunction": "let $injector = widgetContext.$scope.$injector;\nlet customDialog = $injector.get(widgetContext.servicesMap.get('customDialog'));\n\nopenCommands();\n\nfunction openCommands() {\n customDialog.customDialog(htmlTemplate, CommandsDialogController, {panelClass: \"test\"}).subscribe();\n}\n\nfunction CommandsDialogController(instance) {\n let vm = instance;\n \n vm.entityId = entityId.id;\n\n vm.cancel = function() {\n vm.dialogRef.close(null);\n };\n}\n",
+ "customResources": [],
+ "openInSeparateDialog": false,
"openInPopover": false,
"id": "ae2e5995-505f-a241-5fb2-6cbaf08b1b55"
},
@@ -1889,16 +1885,12 @@
"icon": "more_horiz",
"useShowWidgetActionFunction": null,
"showWidgetActionFunction": "return true;",
- "type": "openDashboardState",
- "targetDashboardStateId": "launch_command",
- "setEntityId": true,
- "stateEntityParamName": "",
- "openRightLayout": false,
- "dialogTitle": "Launch command",
- "dialogHideDashboardToolbar": true,
- "dialogWidth": null,
- "dialogHeight": 55,
- "openInSeparateDialog": true,
+ "type": "customPretty",
+ "customHtml": "\n
\n Launch command
\n \n \n \n \n
\n
\n \n
\n
\n",
+ "customCss": ".container {\n display: grid;\n grid-template-rows: min-content minmax(auto, 1fr) min-content;\n height: 100%;\n max-height: 100vh;\n width: 600px;\n max-width: 100%;\n}",
+ "customFunction": "let $injector = widgetContext.$scope.$injector;\nlet customDialog = $injector.get(widgetContext.servicesMap.get('customDialog'));\n\nopenCommands();\n\nfunction openCommands() {\n customDialog.customDialog(htmlTemplate, CommandsDialogController, {panelClass: \"test\"}).subscribe();\n}\n\nfunction CommandsDialogController(instance) {\n let vm = instance;\n \n vm.entityId = entityId.id;\n\n vm.cancel = function() {\n vm.dialogRef.close(null);\n };\n}\n",
+ "customResources": [],
+ "openInSeparateDialog": false,
"openInPopover": false,
"id": "337c767b-3217-d3d3-b955-7b0bd0858a1d"
}
@@ -5160,96 +5152,6 @@
"col": 0,
"id": "75b6372d-4def-42b4-8774-4edf413a8b83",
"typeFullFqn": "system.cards.entities_table"
- },
- "dfda1a57-6c04-3482-2054-84954bbef626": {
- "type": "latest",
- "sizeX": 5,
- "sizeY": 3.5,
- "config": {
- "datasources": [
- {
- "type": "entity",
- "name": null,
- "entityAliasId": "a2f01c66-96cf-49c5-303f-e6f21c559ee8",
- "filterId": null,
- "dataKeys": []
- }
- ],
- "timewindow": {
- "displayValue": "",
- "selectedTab": 0,
- "realtime": {
- "realtimeType": 1,
- "interval": 1000,
- "timewindowMs": 60000,
- "quickInterval": "CURRENT_DAY"
- },
- "history": {
- "historyType": 0,
- "interval": 1000,
- "timewindowMs": 60000,
- "fixedTimewindow": {
- "startTimeMs": 1685437116892,
- "endTimeMs": 1685523516892
- },
- "quickInterval": "CURRENT_DAY"
- },
- "aggregation": {
- "type": "AVG",
- "limit": 25000
- }
- },
- "showTitle": false,
- "backgroundColor": "#fff",
- "color": "rgba(0, 0, 0, 0.87)",
- "padding": "0px",
- "settings": {
- "useMarkdownTextFunction": true,
- "markdownTextFunction": "return `\n\n
`;",
- "applyDefaultMarkdownStyle": false,
- "markdownCss": ".action-container {\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex-direction: row;\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\nbutton {\r\n flex-grow: 1;\r\n margin: 10px;\r\n min-width: 150px;\r\n height: auto;\r\n}"
- },
- "title": "Gateway commands",
- "showTitleIcon": false,
- "iconColor": "rgba(0, 0, 0, 0.87)",
- "iconSize": "24px",
- "titleTooltip": "",
- "dropShadow": false,
- "enableFullscreen": false,
- "widgetStyle": {},
- "titleStyle": {
- "fontSize": "16px",
- "fontWeight": 400
- },
- "showLegend": false,
- "useDashboardTimewindow": true,
- "actions": {
- "elementClick": [
- {
- "name": "Launch command",
- "icon": "more_horiz",
- "useShowWidgetActionFunction": null,
- "showWidgetActionFunction": "return true;",
- "type": "customPretty",
- "customHtml": "",
- "customCss": "/*=======================================================================*/\r\n/*========== There are two examples: for edit and add entity ==========*/\r\n/*=======================================================================*/\r\n/*======================== Edit entity example ========================*/\r\n/*=======================================================================*/\r\n/*\r\n.edit-entity-form .boolean-value-input {\r\n padding-left: 5px;\r\n}\r\n\r\n.edit-entity-form .boolean-value-input .checkbox-label {\r\n margin-bottom: 8px;\r\n color: rgba(0,0,0,0.54);\r\n font-size: 12px;\r\n}\r\n\r\n.relations-list .header {\r\n padding-right: 5px;\r\n padding-bottom: 5px;\r\n padding-left: 5px;\r\n}\r\n\r\n.relations-list .header .cell {\r\n padding-right: 5px;\r\n padding-left: 5px;\r\n font-size: 12px;\r\n font-weight: 700;\r\n color: rgba(0, 0, 0, .54);\r\n white-space: nowrap;\r\n}\r\n\r\n.relations-list .mat-form-field-infix {\r\n width: auto !important;\r\n}\r\n\r\n.relations-list .body {\r\n padding-right: 5px;\r\n padding-bottom: 15px;\r\n padding-left: 5px;\r\n}\r\n\r\n.relations-list .body .row {\r\n padding-top: 5px;\r\n}\r\n\r\n.relations-list .body .cell {\r\n padding-right: 5px;\r\n padding-left: 5px;\r\n}\r\n\r\n.relations-list .body .md-button {\r\n margin: 0;\r\n}\r\n*/\r\n/*========================================================================*/\r\n/*========================= Add entity example =========================*/\r\n/*========================================================================*/\r\n/*\r\n.add-entity-form .boolean-value-input {\r\n padding-left: 5px;\r\n}\r\n\r\n.add-entity-form .boolean-value-input .checkbox-label {\r\n margin-bottom: 8px;\r\n color: rgba(0,0,0,0.54);\r\n font-size: 12px;\r\n}\r\n\r\n.relations-list .header {\r\n padding-right: 5px;\r\n padding-bottom: 5px;\r\n padding-left: 5px;\r\n}\r\n\r\n.relations-list .header .cell {\r\n padding-right: 5px;\r\n padding-left: 5px;\r\n font-size: 12px;\r\n font-weight: 700;\r\n color: rgba(0, 0, 0, .54);\r\n white-space: nowrap;\r\n}\r\n\r\n.relations-list .mat-form-field-infix {\r\n width: auto !important;\r\n}\r\n\r\n.relations-list .body {\r\n padding-right: 5px;\r\n padding-bottom: 15px;\r\n padding-left: 5px;\r\n}\r\n\r\n.relations-list .body .row {\r\n padding-top: 5px;\r\n}\r\n\r\n.relations-list .body .cell {\r\n padding-right: 5px;\r\n padding-left: 5px;\r\n}\r\n\r\n.relations-list .body .md-button {\r\n margin: 0;\r\n}\r\n*/\r\n",
- "customFunction": "let $injector = widgetContext.$scope.$injector;\r\nlet customDialog = $injector.get(widgetContext.servicesMap.get('customDialog'));\r\nlet deviceService = $injector.get(widgetContext.servicesMap.get('deviceService'));\r\nlet data = {};\r\n\r\nopenEditEntityDialog();\r\n\r\nfunction openEditEntityDialog() {\r\n deviceService.getDeviceCredentials(entityId.id).subscribe(credentials => {\r\n data.credentials = credentials;\r\n customDialog.customDialog(htmlTemplate, EditEntityDialogController).subscribe();\r\n });\r\n}\r\n\r\nfunction EditEntityDialogController(instance) {\r\n let vm = instance;\r\n vm.data = data;\r\n\r\n vm.close = function() {\r\n vm.dialogRef.close(null);\r\n };\r\n\r\n\r\n}",
- "customResources": [],
- "openInSeparateDialog": false,
- "openInPopover": false,
- "id": "337c767b-3217-d3d3-b955-7b0bd0858a1d"
- }
- ]
- },
- "widgetCss": "",
- "pageSize": 1024,
- "noDataDisplayMessage": "",
- "enableDataExport": false
- },
- "row": 0,
- "col": 0,
- "id": "dfda1a57-6c04-3482-2054-84954bbef626",
- "typeFullFqn": "system.cards.markdown_card"
}
},
"states": {
@@ -6079,33 +5981,6 @@
}
}
}
- },
- "launch_command": {
- "name": "launch command",
- "root": false,
- "layouts": {
- "main": {
- "widgets": {
- "dfda1a57-6c04-3482-2054-84954bbef626": {
- "sizeX": 24,
- "sizeY": 3,
- "row": 0,
- "col": 0
- }
- },
- "gridSettings": {
- "backgroundColor": "#eeeeee",
- "columns": 24,
- "margin": 0,
- "outerMargin": true,
- "backgroundSizeMode": "100%",
- "autoFillHeight": true,
- "backgroundImageUrl": null,
- "mobileAutoFillHeight": false,
- "mobileRowHeight": 70
- }
- }
- }
}
},
"entityAliases": {
@@ -6866,4 +6741,4 @@
},
"externalId": null,
"name": "Gateway"
-}
\ No newline at end of file
+}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/device-gateway-command.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/device-gateway-command.component.html
index 084eb49245..905d33730f 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/device-gateway-command.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/device-gateway-command.component.html
@@ -15,59 +15,39 @@
limitations under the License.
-->
-
-
-
{{ 'gateway.docker-label' | translate }}
-
+