12 changed files with 1216 additions and 73 deletions
@ -0,0 +1,20 @@ |
|||
<!-- |
|||
|
|||
Copyright © 2016-2023 The Thingsboard Authors |
|||
|
|||
Licensed under the Apache License, Version 2.0 (the "License"); |
|||
you may not use this file except in compliance with the License. |
|||
You may obtain a copy of the License at |
|||
|
|||
http://www.apache.org/licenses/LICENSE-2.0 |
|||
|
|||
Unless required by applicable law or agreed to in writing, software |
|||
distributed under the License is distributed on an "AS IS" BASIS, |
|||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
See the License for the specific language governing permissions and |
|||
limitations under the License. |
|||
|
|||
--> |
|||
<mat-button-toggle-group class="tb-toggle-header" #toggleGroup="matButtonToggleGroup" [name]="name"> |
|||
<ng-content></ng-content> |
|||
</mat-button-toggle-group> |
|||
@ -0,0 +1,87 @@ |
|||
/** |
|||
* Copyright © 2016-2023 The Thingsboard Authors |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0 |
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
|
|||
@import "../../../../../../../scss/constants"; |
|||
|
|||
:host ::ng-deep { |
|||
.mat-button-toggle-group.mat-button-toggle-group-appearance-standard.tb-toggle-header { |
|||
width: 100%; |
|||
border-radius: 100px; |
|||
height: 32px; |
|||
padding: 2px; |
|||
border: none; |
|||
background: rgba(0, 0, 0, 0.06); |
|||
margin-bottom: 8px; |
|||
.mat-button-toggle + .mat-button-toggle { |
|||
border-left: none; |
|||
} |
|||
.mat-button-toggle.mat-button-toggle-appearance-standard { |
|||
flex: 1; |
|||
color: rgba(0, 0, 0, 0.38); |
|||
background: transparent; |
|||
|
|||
.mat-button-toggle-focus-overlay, .mat-button-toggle-ripple { |
|||
border-radius: 20px; |
|||
} |
|||
.mat-button-toggle-button { |
|||
height: 28px; |
|||
.mat-button-toggle-label-content { |
|||
line-height: 26px; |
|||
font-weight: 400; |
|||
font-size: 14px; |
|||
letter-spacing: 0.2px; |
|||
} |
|||
} |
|||
&.mat-button-toggle-checked { |
|||
.mat-button-toggle-button { |
|||
background: #F3F6FA; |
|||
color: #305680; |
|||
border: 1px solid #305680; |
|||
border-radius: 20px; |
|||
|
|||
.mat-button-toggle-label-content { |
|||
font-weight: 500; |
|||
line-height: 24px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@media #{$mat-md-lg} { |
|||
.mat-button-toggle-group.mat-button-toggle-group-appearance-standard.tb-toggle-header { |
|||
height: 24px; |
|||
margin-bottom: 0; |
|||
.mat-button-toggle.mat-button-toggle-appearance-standard { |
|||
.mat-button-toggle-button { |
|||
height: 20px; |
|||
display: grid; |
|||
.mat-button-toggle-label-content { |
|||
line-height: 20px; |
|||
font-size: 10px; |
|||
padding: 0 2px; |
|||
} |
|||
} |
|||
&.mat-button-toggle-checked { |
|||
.mat-button-toggle-button { |
|||
.mat-button-toggle-label-content { |
|||
line-height: 18px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,82 @@ |
|||
///
|
|||
/// Copyright © 2016-2023 The Thingsboard Authors
|
|||
///
|
|||
/// Licensed under the Apache License, Version 2.0 (the "License");
|
|||
/// you may not use this file except in compliance with the License.
|
|||
/// You may obtain a copy of the License at
|
|||
///
|
|||
/// http://www.apache.org/licenses/LICENSE-2.0
|
|||
///
|
|||
/// Unless required by applicable law or agreed to in writing, software
|
|||
/// distributed under the License is distributed on an "AS IS" BASIS,
|
|||
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
/// See the License for the specific language governing permissions and
|
|||
/// limitations under the License.
|
|||
///
|
|||
|
|||
import { |
|||
AfterContentInit, |
|||
AfterViewInit, |
|||
ChangeDetectorRef, |
|||
Component, |
|||
ContentChildren, |
|||
Input, |
|||
OnInit, |
|||
QueryList, |
|||
ViewChild |
|||
} from '@angular/core'; |
|||
import { PageComponent } from '@shared/components/page.component'; |
|||
import { Store } from '@ngrx/store'; |
|||
import { AppState } from '@core/core.state'; |
|||
import { AdminService } from '@core/http/admin.service'; |
|||
import { UpdateMessage } from '@shared/models/settings.models'; |
|||
import { getCurrentAuthUser } from '@core/auth/auth.selectors'; |
|||
import { Authority } from '@shared/models/authority.enum'; |
|||
import { of } from 'rxjs'; |
|||
import { MatStepper } from '@angular/material/stepper'; |
|||
import { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle'; |
|||
|
|||
@Component({ |
|||
selector: 'tb-toggle-header', |
|||
templateUrl: './toggle-header.component.html', |
|||
styleUrls: ['./toggle-header.component.scss'] |
|||
}) |
|||
export class ToggleHeaderComponent extends PageComponent implements OnInit, AfterViewInit { |
|||
|
|||
@ViewChild('toggleGroup') |
|||
toggleGroup: MatButtonToggleGroup; |
|||
|
|||
@ContentChildren(MatButtonToggle) |
|||
_buttonToggles: QueryList<MatButtonToggle>; |
|||
|
|||
innerValue: any; |
|||
|
|||
@Input() |
|||
set value(value: any) { |
|||
this.innerValue = value; |
|||
} |
|||
|
|||
get value(): any { |
|||
return this.toggleGroup?.value; |
|||
} |
|||
|
|||
@Input() |
|||
name: string; |
|||
|
|||
constructor(protected store: Store<AppState>) { |
|||
super(store); |
|||
} |
|||
|
|||
ngOnInit() { |
|||
} |
|||
|
|||
ngAfterViewInit() { |
|||
for (const toggle of this._buttonToggles) { |
|||
toggle.buttonToggleGroup = this.toggleGroup; |
|||
if (this.innerValue === toggle.value) { |
|||
toggle.checked = true; |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,667 @@ |
|||
{ |
|||
"title": "Tenant Administrator Home Page", |
|||
"image": null, |
|||
"mobileHide": false, |
|||
"mobileOrder": null, |
|||
"configuration": { |
|||
"description": "", |
|||
"widgets": { |
|||
"d70cc256-4c7b-ee06-9905-b8c5e546605f": { |
|||
"isSystemType": true, |
|||
"bundleAlias": "cards", |
|||
"typeAlias": "markdown_card", |
|||
"type": "latest", |
|||
"title": "New widget", |
|||
"image": null, |
|||
"description": null, |
|||
"sizeX": 5, |
|||
"sizeY": 3.5, |
|||
"config": { |
|||
"datasources": [], |
|||
"timewindow": { |
|||
"displayValue": "", |
|||
"selectedTab": 0, |
|||
"realtime": { |
|||
"realtimeType": 1, |
|||
"interval": 1000, |
|||
"timewindowMs": 60000, |
|||
"quickInterval": "CURRENT_DAY" |
|||
}, |
|||
"history": { |
|||
"historyType": 0, |
|||
"interval": 1000, |
|||
"timewindowMs": 60000, |
|||
"fixedTimewindow": { |
|||
"startTimeMs": 1680168340431, |
|||
"endTimeMs": 1680254740431 |
|||
}, |
|||
"quickInterval": "CURRENT_DAY" |
|||
}, |
|||
"aggregation": { |
|||
"type": "AVG", |
|||
"limit": 25000 |
|||
} |
|||
}, |
|||
"showTitle": false, |
|||
"backgroundColor": "#fff", |
|||
"color": "rgba(0, 0, 0, 0.87)", |
|||
"padding": "16px", |
|||
"settings": { |
|||
"useMarkdownTextFunction": false, |
|||
"markdownTextPattern": "<div class=\"tb-card-content\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between start\">\n <div class=\"tb-home-widget-title\">{{ 'widgets.activity.title' | translate }}</div>\n <tb-toggle-header #activityStates value=\"devices\" name=\"activityStates\">\n <mat-button-toggle value=\"devices\">{{ 'device.devices' | translate }}</mat-button-toggle>\n <mat-button-toggle value=\"transportMessages\">{{ 'widgets.transport-messages.title' | translate }}</mat-button-toggle>\n </tb-toggle-header>\n </div>\n <ng-container [ngSwitch]=\"activityStates.value\">\n <ng-template [ngSwitchCase]=\"'devices'\">\n <tb-dashboard-state fxFlex stateId=\"devices_activity\" [ctx]=\"ctx\"></tb-dashboard-state>\n </ng-template>\n <ng-template [ngSwitchCase]=\"'transportMessages'\">\n <tb-dashboard-state fxFlex stateId=\"transport_messages\" [ctx]=\"ctx\"></tb-dashboard-state>\n </ng-template>\n </ng-container>\n</div>", |
|||
"applyDefaultMarkdownStyle": false, |
|||
"markdownCss": ".tb-card-content {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n" |
|||
}, |
|||
"title": "Transport messages", |
|||
"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, |
|||
"widgetCss": "", |
|||
"pageSize": 1024, |
|||
"noDataDisplayMessage": "" |
|||
}, |
|||
"row": 0, |
|||
"col": 0, |
|||
"id": "d70cc256-4c7b-ee06-9905-b8c5e546605f" |
|||
}, |
|||
"8ee72d43-678c-4e25-e9a8-7d4cfd7a5f8e": { |
|||
"isSystemType": true, |
|||
"bundleAlias": "charts", |
|||
"typeAlias": "timeseries_bars_flot", |
|||
"type": "timeseries", |
|||
"title": "New widget", |
|||
"image": null, |
|||
"description": null, |
|||
"sizeX": 8, |
|||
"sizeY": 5, |
|||
"config": { |
|||
"datasources": [ |
|||
{ |
|||
"type": "entity", |
|||
"name": null, |
|||
"entityAliasId": "d9229b29-3f46-de8d-7fe8-eb0c43c75079", |
|||
"filterId": null, |
|||
"dataKeys": [ |
|||
{ |
|||
"name": "transportMsgCountHourly", |
|||
"type": "timeseries", |
|||
"label": "{i18n:widgets.transport-messages.title}", |
|||
"color": "#305680", |
|||
"settings": {}, |
|||
"_hash": 0.2880464219129071, |
|||
"aggregationType": null, |
|||
"units": null, |
|||
"decimals": null, |
|||
"funcBody": null, |
|||
"usePostProcessing": null, |
|||
"postFuncBody": null |
|||
} |
|||
], |
|||
"latestDataKeys": [] |
|||
} |
|||
], |
|||
"timewindow": { |
|||
"hideInterval": false, |
|||
"hideLastInterval": false, |
|||
"hideQuickInterval": false, |
|||
"hideAggregation": true, |
|||
"hideAggInterval": false, |
|||
"hideTimezone": false, |
|||
"selectedTab": 1, |
|||
"history": { |
|||
"historyType": 0, |
|||
"timewindowMs": 2592000000, |
|||
"interval": 86400000, |
|||
"fixedTimewindow": { |
|||
"startTimeMs": 1680443065451, |
|||
"endTimeMs": 1680529465451 |
|||
}, |
|||
"quickInterval": "CURRENT_DAY" |
|||
}, |
|||
"aggregation": { |
|||
"type": "SUM", |
|||
"limit": 50000 |
|||
} |
|||
}, |
|||
"showTitle": false, |
|||
"backgroundColor": "#fff", |
|||
"color": "rgba(0, 0, 0, 0.87)", |
|||
"padding": "0px", |
|||
"settings": { |
|||
"stack": true, |
|||
"fontSize": 10, |
|||
"fontColor": "#545454", |
|||
"showTooltip": true, |
|||
"tooltipIndividual": false, |
|||
"tooltipCumulative": false, |
|||
"hideZeros": false, |
|||
"grid": { |
|||
"verticalLines": false, |
|||
"horizontalLines": false, |
|||
"outlineWidth": 0, |
|||
"color": "#545454", |
|||
"backgroundColor": null, |
|||
"tickColor": "#DDDDDD" |
|||
}, |
|||
"xaxis": { |
|||
"title": null, |
|||
"showLabels": true, |
|||
"color": "#545454" |
|||
}, |
|||
"yaxis": { |
|||
"min": 0, |
|||
"max": null, |
|||
"title": null, |
|||
"showLabels": true, |
|||
"color": "#545454", |
|||
"tickSize": null, |
|||
"tickDecimals": 0, |
|||
"ticksFormatter": "return value % 1000 === 0 ? ((value / 1000) + 'k') : '';" |
|||
}, |
|||
"defaultBarWidth": 1800000, |
|||
"barAlignment": "left", |
|||
"comparisonEnabled": false, |
|||
"timeForComparison": "previousInterval", |
|||
"comparisonCustomIntervalValue": 7200000, |
|||
"xaxisSecond": { |
|||
"axisPosition": "top", |
|||
"title": null, |
|||
"showLabels": true |
|||
}, |
|||
"customLegendEnabled": false, |
|||
"dataKeysListForLabels": [] |
|||
}, |
|||
"title": "Transport messages", |
|||
"dropShadow": false, |
|||
"enableFullscreen": false, |
|||
"titleStyle": { |
|||
"fontSize": "16px", |
|||
"fontWeight": 400 |
|||
}, |
|||
"widgetStyle": { |
|||
"padding": "0" |
|||
}, |
|||
"useDashboardTimewindow": false, |
|||
"showLegend": false, |
|||
"actions": {}, |
|||
"displayTimewindow": true, |
|||
"showTitleIcon": false, |
|||
"titleTooltip": "", |
|||
"widgetCss": ".tb-widget-container > .tb-widget {\n border: none !important;\n border-radius: 0 !important;\n box-shadow: none !important;\n}\n\n.tb-widget-container > .tb-widget .flot-base {\n opacity: 0.48;\n}\n", |
|||
"pageSize": 1024, |
|||
"noDataDisplayMessage": "", |
|||
"legendConfig": { |
|||
"direction": "column", |
|||
"position": "bottom", |
|||
"sortDataKeys": false, |
|||
"showMin": false, |
|||
"showMax": false, |
|||
"showAvg": true, |
|||
"showTotal": false, |
|||
"showLatest": false |
|||
} |
|||
}, |
|||
"row": 0, |
|||
"col": 0, |
|||
"id": "8ee72d43-678c-4e25-e9a8-7d4cfd7a5f8e" |
|||
}, |
|||
"867f82cf-ecf2-2d5c-35cb-08c6f2edc3a4": { |
|||
"isSystemType": true, |
|||
"bundleAlias": "home_page_widgets", |
|||
"typeAlias": "documentation_links", |
|||
"type": "static", |
|||
"title": "New widget", |
|||
"image": null, |
|||
"description": null, |
|||
"sizeX": 7.5, |
|||
"sizeY": 3, |
|||
"config": { |
|||
"datasources": [], |
|||
"timewindow": { |
|||
"realtime": { |
|||
"timewindowMs": 60000 |
|||
} |
|||
}, |
|||
"showTitle": false, |
|||
"backgroundColor": "rgb(255, 255, 255)", |
|||
"color": "rgba(0, 0, 0, 0.87)", |
|||
"padding": "16px", |
|||
"settings": { |
|||
"columns": 2 |
|||
}, |
|||
"title": "Documentation", |
|||
"dropShadow": false, |
|||
"enableFullscreen": false, |
|||
"widgetStyle": {}, |
|||
"widgetCss": "", |
|||
"pageSize": 1024, |
|||
"noDataDisplayMessage": "", |
|||
"showLegend": false |
|||
}, |
|||
"row": 0, |
|||
"col": 0, |
|||
"id": "867f82cf-ecf2-2d5c-35cb-08c6f2edc3a4" |
|||
}, |
|||
"a23185ad-dc46-806c-0e50-5b21fb080ace": { |
|||
"isSystemType": true, |
|||
"bundleAlias": "home_page_widgets", |
|||
"typeAlias": "getting_started", |
|||
"type": "static", |
|||
"title": "New widget", |
|||
"image": null, |
|||
"description": null, |
|||
"sizeX": 7.5, |
|||
"sizeY": 6.5, |
|||
"config": { |
|||
"datasources": [], |
|||
"timewindow": { |
|||
"realtime": { |
|||
"timewindowMs": 60000 |
|||
} |
|||
}, |
|||
"showTitle": false, |
|||
"backgroundColor": "rgb(255, 255, 255)", |
|||
"color": "rgba(0, 0, 0, 0.87)", |
|||
"padding": "16px", |
|||
"settings": { |
|||
"columns": 3 |
|||
}, |
|||
"title": "Getting started", |
|||
"dropShadow": false, |
|||
"enableFullscreen": false, |
|||
"widgetStyle": {}, |
|||
"widgetCss": "", |
|||
"pageSize": 1024, |
|||
"noDataDisplayMessage": "", |
|||
"showLegend": false |
|||
}, |
|||
"row": 0, |
|||
"col": 0, |
|||
"id": "a23185ad-dc46-806c-0e50-5b21fb080ace" |
|||
}, |
|||
"d26e5cd7-75ef-d475-00c7-1a2d1114efe8": { |
|||
"isSystemType": true, |
|||
"bundleAlias": "charts", |
|||
"typeAlias": "basic_timeseries", |
|||
"type": "timeseries", |
|||
"title": "New widget", |
|||
"image": null, |
|||
"description": null, |
|||
"sizeX": 8, |
|||
"sizeY": 5, |
|||
"config": { |
|||
"datasources": [ |
|||
{ |
|||
"type": "entity", |
|||
"name": null, |
|||
"entityAliasId": "d9229b29-3f46-de8d-7fe8-eb0c43c75079", |
|||
"filterId": null, |
|||
"dataKeys": [ |
|||
{ |
|||
"name": "activeDevicesCount", |
|||
"type": "timeseries", |
|||
"label": "{i18n:device.devices}", |
|||
"color": "#305680", |
|||
"settings": { |
|||
"hideDataByDefault": false, |
|||
"disableDataHiding": false, |
|||
"removeFromLegend": false, |
|||
"excludeFromStacking": false, |
|||
"showLines": true, |
|||
"lineWidth": 3, |
|||
"fillLines": true, |
|||
"showPoints": false, |
|||
"showPointsLineWidth": 5, |
|||
"showPointsRadius": 3, |
|||
"showPointShape": "circle", |
|||
"pointShapeFormatter": "var size = radius * Math.sqrt(Math.PI) / 2;\nctx.moveTo(x - size, y - size);\nctx.lineTo(x + size, y + size);\nctx.moveTo(x - size, y + size);\nctx.lineTo(x + size, y - size);", |
|||
"showSeparateAxis": false, |
|||
"axisPosition": "left", |
|||
"comparisonSettings": { |
|||
"showValuesForComparison": true, |
|||
"comparisonValuesLabel": "", |
|||
"color": "" |
|||
}, |
|||
"thresholds": [] |
|||
}, |
|||
"_hash": 0.9688095820365725, |
|||
"aggregationType": null, |
|||
"units": null, |
|||
"decimals": null, |
|||
"funcBody": null, |
|||
"usePostProcessing": null, |
|||
"postFuncBody": null |
|||
} |
|||
], |
|||
"latestDataKeys": [] |
|||
} |
|||
], |
|||
"timewindow": { |
|||
"hideInterval": false, |
|||
"hideLastInterval": false, |
|||
"hideQuickInterval": false, |
|||
"hideAggregation": true, |
|||
"hideAggInterval": true, |
|||
"hideTimezone": false, |
|||
"selectedTab": 1, |
|||
"history": { |
|||
"historyType": 0, |
|||
"timewindowMs": 2592000000, |
|||
"interval": 7200000, |
|||
"fixedTimewindow": { |
|||
"startTimeMs": 1681400576338, |
|||
"endTimeMs": 1681486976338 |
|||
}, |
|||
"quickInterval": "CURRENT_DAY" |
|||
}, |
|||
"aggregation": { |
|||
"type": "NONE", |
|||
"limit": 25000 |
|||
} |
|||
}, |
|||
"showTitle": false, |
|||
"backgroundColor": "#fff", |
|||
"color": "rgba(0, 0, 0, 0.87)", |
|||
"padding": "0px", |
|||
"settings": { |
|||
"stack": false, |
|||
"fontSize": 10, |
|||
"fontColor": "#545454", |
|||
"showTooltip": true, |
|||
"tooltipIndividual": false, |
|||
"tooltipCumulative": false, |
|||
"hideZeros": false, |
|||
"grid": { |
|||
"verticalLines": false, |
|||
"horizontalLines": false, |
|||
"outlineWidth": 0, |
|||
"color": "#545454", |
|||
"backgroundColor": null, |
|||
"tickColor": "#DDDDDD" |
|||
}, |
|||
"xaxis": { |
|||
"title": null, |
|||
"showLabels": true, |
|||
"color": "#545454" |
|||
}, |
|||
"yaxis": { |
|||
"min": null, |
|||
"max": null, |
|||
"title": null, |
|||
"showLabels": true, |
|||
"color": "#545454", |
|||
"tickSize": null, |
|||
"tickDecimals": 0, |
|||
"ticksFormatter": "" |
|||
}, |
|||
"shadowSize": 0, |
|||
"smoothLines": true, |
|||
"comparisonEnabled": false, |
|||
"timeForComparison": "previousInterval", |
|||
"comparisonCustomIntervalValue": 7200000, |
|||
"xaxisSecond": { |
|||
"axisPosition": "top", |
|||
"title": null, |
|||
"showLabels": true |
|||
}, |
|||
"customLegendEnabled": false, |
|||
"dataKeysListForLabels": [] |
|||
}, |
|||
"title": "Devices activity", |
|||
"dropShadow": false, |
|||
"enableFullscreen": false, |
|||
"titleStyle": { |
|||
"fontSize": "16px", |
|||
"fontWeight": 400 |
|||
}, |
|||
"useDashboardTimewindow": false, |
|||
"displayTimewindow": true, |
|||
"showTitleIcon": false, |
|||
"titleTooltip": "", |
|||
"widgetStyle": { |
|||
"padding": "0" |
|||
}, |
|||
"widgetCss": ".tb-widget-container > .tb-widget {\n border: none !important;\n border-radius: 0 !important;\n box-shadow: none !important;\n}", |
|||
"pageSize": 1024, |
|||
"noDataDisplayMessage": "", |
|||
"showLegend": false, |
|||
"legendConfig": { |
|||
"direction": "column", |
|||
"position": "bottom", |
|||
"sortDataKeys": false, |
|||
"showMin": false, |
|||
"showMax": false, |
|||
"showAvg": true, |
|||
"showTotal": false, |
|||
"showLatest": false |
|||
} |
|||
}, |
|||
"row": 0, |
|||
"col": 0, |
|||
"id": "d26e5cd7-75ef-d475-00c7-1a2d1114efe8" |
|||
} |
|||
}, |
|||
"states": { |
|||
"default": { |
|||
"name": "Tenant Administrator Home Page", |
|||
"root": true, |
|||
"layouts": { |
|||
"main": { |
|||
"widgets": { |
|||
"d70cc256-4c7b-ee06-9905-b8c5e546605f": { |
|||
"sizeX": 41, |
|||
"sizeY": 16, |
|||
"row": 26, |
|||
"col": 44, |
|||
"mobileOrder": 7, |
|||
"mobileHeight": 8 |
|||
}, |
|||
"867f82cf-ecf2-2d5c-35cb-08c6f2edc3a4": { |
|||
"sizeX": 31, |
|||
"sizeY": 16, |
|||
"row": 42, |
|||
"col": 26, |
|||
"mobileHide": true |
|||
}, |
|||
"a23185ad-dc46-806c-0e50-5b21fb080ace": { |
|||
"sizeX": 35, |
|||
"sizeY": 58, |
|||
"row": 0, |
|||
"col": 85, |
|||
"mobileHide": true |
|||
} |
|||
}, |
|||
"gridSettings": { |
|||
"backgroundColor": "#eeeeee", |
|||
"columns": 120, |
|||
"margin": 12, |
|||
"backgroundSizeMode": "100%", |
|||
"autoFillHeight": true, |
|||
"backgroundImageUrl": null, |
|||
"mobileAutoFillHeight": false, |
|||
"mobileRowHeight": 20, |
|||
"outerMargin": true |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
"transport_messages": { |
|||
"name": "Transport messages", |
|||
"root": false, |
|||
"layouts": { |
|||
"main": { |
|||
"widgets": { |
|||
"8ee72d43-678c-4e25-e9a8-7d4cfd7a5f8e": { |
|||
"sizeX": 24, |
|||
"sizeY": 11, |
|||
"row": 0, |
|||
"col": 0 |
|||
} |
|||
}, |
|||
"gridSettings": { |
|||
"backgroundColor": "#ffffff", |
|||
"columns": 24, |
|||
"margin": 0, |
|||
"backgroundSizeMode": "100%", |
|||
"autoFillHeight": true, |
|||
"backgroundImageUrl": null, |
|||
"mobileAutoFillHeight": true, |
|||
"mobileRowHeight": 70, |
|||
"outerMargin": true |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
"devices_activity": { |
|||
"name": "Devices activity", |
|||
"root": false, |
|||
"layouts": { |
|||
"main": { |
|||
"widgets": { |
|||
"d26e5cd7-75ef-d475-00c7-1a2d1114efe8": { |
|||
"sizeX": 24, |
|||
"sizeY": 11, |
|||
"row": 0, |
|||
"col": 0 |
|||
} |
|||
}, |
|||
"gridSettings": { |
|||
"backgroundColor": "#ffffff", |
|||
"columns": 24, |
|||
"margin": 0, |
|||
"outerMargin": true, |
|||
"backgroundSizeMode": "100%", |
|||
"autoFillHeight": true, |
|||
"backgroundImageUrl": null, |
|||
"mobileAutoFillHeight": true, |
|||
"mobileRowHeight": 70 |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
"entityAliases": { |
|||
"ae870700-071f-b3bc-406c-16ba554c5a55": { |
|||
"id": "ae870700-071f-b3bc-406c-16ba554c5a55", |
|||
"alias": "Tenants", |
|||
"filter": { |
|||
"type": "entityType", |
|||
"resolveMultiple": true, |
|||
"entityType": "TENANT" |
|||
} |
|||
}, |
|||
"ca4d90e4-f9ae-6fca-6b09-85815a48d52b": { |
|||
"id": "ca4d90e4-f9ae-6fca-6b09-85815a48d52b", |
|||
"alias": "TenantProfiles", |
|||
"filter": { |
|||
"type": "entityType", |
|||
"resolveMultiple": true, |
|||
"entityType": "TENANT" |
|||
} |
|||
}, |
|||
"a1ddb8fa-90ff-5598-e7f2-e254194d055d": { |
|||
"id": "a1ddb8fa-90ff-5598-e7f2-e254194d055d", |
|||
"alias": "Devices", |
|||
"filter": { |
|||
"type": "entityType", |
|||
"resolveMultiple": true, |
|||
"entityType": "DEVICE" |
|||
} |
|||
}, |
|||
"619cdf00-a042-3b55-124e-194c1b28c236": { |
|||
"id": "619cdf00-a042-3b55-124e-194c1b28c236", |
|||
"alias": "Assets", |
|||
"filter": { |
|||
"type": "entityType", |
|||
"resolveMultiple": true, |
|||
"entityType": "ASSET" |
|||
} |
|||
}, |
|||
"1d97ff7f-8b42-5882-f87b-16f3d0dee4f2": { |
|||
"id": "1d97ff7f-8b42-5882-f87b-16f3d0dee4f2", |
|||
"alias": "Users", |
|||
"filter": { |
|||
"type": "entityType", |
|||
"resolveMultiple": true, |
|||
"entityType": "USER" |
|||
} |
|||
}, |
|||
"0dd2b154-59f4-0f97-da1a-d85f5b5cfe31": { |
|||
"id": "0dd2b154-59f4-0f97-da1a-d85f5b5cfe31", |
|||
"alias": "Customers", |
|||
"filter": { |
|||
"type": "entityType", |
|||
"resolveMultiple": true, |
|||
"entityType": "CUSTOMER" |
|||
} |
|||
}, |
|||
"d9229b29-3f46-de8d-7fe8-eb0c43c75079": { |
|||
"id": "d9229b29-3f46-de8d-7fe8-eb0c43c75079", |
|||
"alias": "Api Usage State", |
|||
"filter": { |
|||
"type": "apiUsageState", |
|||
"resolveMultiple": true |
|||
} |
|||
} |
|||
}, |
|||
"filters": {}, |
|||
"timewindow": { |
|||
"displayValue": "", |
|||
"hideInterval": false, |
|||
"hideLastInterval": false, |
|||
"hideQuickInterval": false, |
|||
"hideAggregation": false, |
|||
"hideAggInterval": false, |
|||
"hideTimezone": false, |
|||
"selectedTab": 0, |
|||
"realtime": { |
|||
"realtimeType": 0, |
|||
"interval": 1000, |
|||
"timewindowMs": 60000, |
|||
"quickInterval": "CURRENT_DAY" |
|||
}, |
|||
"history": { |
|||
"historyType": 0, |
|||
"interval": 1000, |
|||
"timewindowMs": 60000, |
|||
"fixedTimewindow": { |
|||
"startTimeMs": 1680168326072, |
|||
"endTimeMs": 1680254726072 |
|||
}, |
|||
"quickInterval": "CURRENT_DAY" |
|||
}, |
|||
"aggregation": { |
|||
"type": "AVG", |
|||
"limit": 25000 |
|||
} |
|||
}, |
|||
"settings": { |
|||
"stateControllerId": "entity", |
|||
"showTitle": false, |
|||
"showDashboardsSelect": true, |
|||
"showEntitiesSelect": true, |
|||
"showDashboardTimewindow": true, |
|||
"showDashboardExport": true, |
|||
"toolbarAlwaysOpen": true, |
|||
"titleColor": "rgba(0,0,0,0.870588)", |
|||
"showDashboardLogo": false, |
|||
"dashboardLogoUrl": null, |
|||
"hideToolbar": true, |
|||
"showFilters": true, |
|||
"showUpdateDashboardImage": true, |
|||
"dashboardCss": ".tb-widget-container > .tb-widget {\n border: 1px solid rgba(0, 0, 0, 0.05);\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.04);\n border-radius: 12px;\n}\n\n.tb-widget-container > .tb-widget:not([style*=\"padding: 0\"]) {\n padding: 16px !important;\n}\n\n.tb-card-title {\n display: grid;\n}\n\n.tb-home-widget-title {\n font-style: normal;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0.25px;\n color: rgba(0, 0, 0, 0.54);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.tb-home-widget-link {\n position: relative;\n border-bottom: none;\n}\n\n.tb-home-widget-link:hover {\n border-bottom: none;\n}\n\n.tb-home-widget-link:focus {\n border-bottom: none;\n}\n\n.tb-home-widget-link::after {\n content: 'arrow_forward';\n display: inline-block;\n transform: rotate(315deg);\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 18px;\n color: rgba(0, 0, 0, 0.12);\n vertical-align: bottom;\n margin-left: 6px; \n}\n\n.tb-home-widget-link:hover::after {\n color: inherit;\n}\n\n.tb-home-widget-info-icon {\n color: rgba(0, 0, 0, 0.12);\n font-size: 16px;\n width: 16px;\n height: 16px;\n line-height: 15px;\n vertical-align: middle;\n}\n\n.tb-widget-container > .tb-widget .tb-timewindow {\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0.25px;\n color: rgba(0, 0, 0, 0.54);\n padding: 0;\n}\n\n.tb-widget-container > .tb-widget .tb-legend-keys .tb-legend-label {\n cursor: pointer;\n user-select: none;\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0.2px;\n color: rgba(0, 0, 0, 0.54);\n}\n\n@media screen and (min-width: 960px) and (max-width: 1279px) {\n .tb-widget-container > .tb-widget {\n border-radius: 4px;\n }\n .tb-widget-container > .tb-widget:not([style*=\"padding: 0\"]) {\n padding: 2px !important;\n }\n .tb-hide-md {\n display: none;\n }\n}\n\n@media screen and (min-width: 1280px) and (max-width: 1819px) {\n .tb-widget-container > .tb-widget:not([style*=\"padding: 0\"]) {\n padding: 8px !important;\n }\n .tb-hide-lg {\n display: none;\n }\n}\n\n@media screen and (min-width: 960px) and (max-width: 1819px) {\n .tb-hide-md-lg {\n display: none;\n }\n\n .tb-home-widget-title {\n font-size: 12px;\n line-height: 16px;\n }\n \n .tb-widget-container > .tb-widget .tb-widget-title {\n padding: 0;\n }\n\n .tb-widget-container > .tb-widget .tb-timewindow {\n font-size: 12px;\n line-height: 16px;\n min-height: 24px;\n padding: 0;\n }\n\n .tb-widget-container > .tb-widget .tb-timewindow .mat-mdc-icon-button.tb-mat-32 {\n width: 24px;\n height: 24px;\n line-height: 24px;\n }\n\n .tb-widget-container > .tb-widget .tb-timewindow .mat-mdc-icon-button.tb-mat-32 .mat-icon {\n width: 18px;\n height: 18px;\n font-size: 18px;\n }\n \n .tb-widget-container > .tb-widget tb-legend {\n padding-bottom: 0 !important;\n }\n \n .tb-widget-container > .tb-widget .tb-legend-keys .tb-legend-label {\n font-size: 11px;\n line-height: 16px;\n letter-spacing: 0.25px;\n }\n}\n\n@media screen and (max-width: 959px), screen and (min-width: 1820px) {\n .tb-hide-not-md-lg {\n display: none;\n }\n}\n" |
|||
} |
|||
}, |
|||
"externalId": null, |
|||
"name": "Tenant Administrator Home Page" |
|||
} |
|||
Loading…
Reference in new issue