widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.ts
| providers |
MeasurementRealtimeService
|
| selector | c8y-info-gauge-widget-config |
| standalone | true |
| imports |
CollapseModule
|
| templateUrl | ./info-gauge-widget-config.component.html |
| viewProviders |
|
No results matching.
FormGroupComponent
MessagesComponent
CommonModule
FormsModule
CollapseModule
ReactiveFormsModule
EditorComponent
MonacoEditorMarkerValidatorDirective
DatapointSelectorModule
PresetPreviewComponent
InfoGaugeWidgetViewComponent
GuideDocsComponent
MeasurementRealtimeService
NgForm
OnInit
OnBeforeSave
OnDestroy
<form [formGroup]="formGroup">
@if (isInfoGauge) {
<fieldset class="c8y-fieldset">
<legend>{{ 'Decimal places' | translate }}</legend>
<c8y-form-group>
<input
class="form-control"
name="fractionSize"
type="number"
formControlName="fractionSize"
step="1"
/>
</c8y-form-group>
</fieldset>
@if (formGroup.errors?.noActiveDatapoint) {
<div
class="alert alert-info"
role="alert"
translate
>
At least one data point for the labels or the gauge needs to be selected.
</div>
}
} @else {
<fieldset class="c8y-fieldset">
<legend>{{ 'Decimal places' | translate }}</legend>
<c8y-form-group>
<input
class="form-control"
name="fractionSize"
type="number"
formControlName="fractionSize"
step="1"
/>
</c8y-form-group>
</fieldset>
<fieldset class="c8y-fieldset">
<legend>{{ 'Presets' | translate }}</legend>
<c8y-preset-preview
formControlName="gaugePresetId"
[ALL_GAUGE_PRESETS]="ALL_GAUGE_PRESETS"
(onPresetChange)="onRadioPresetChange($event)"
></c8y-preset-preview>
</fieldset>
<div class="p-16">
<button
class="btn btn-default"
aria-controls="advancedCollapse"
[attr.aria-expanded]="showAdvancedOptions"
type="button"
(click)="showAdvancedOptions = !showAdvancedOptions"
>
{{ showAdvancedOptions ? hideAdvancedOptionsLabel : showAdvancedOptionsLabel }}
</button>
</div>
<div
class="collapse"
id="advancedCollapse"
[collapse]="!showAdvancedOptions"
[isAnimated]="true"
>
<div
class="fit-h"
style="min-height: 400px"
>
<c8y-editor
[ngModel]="gaugeOptionsString"
(ngModelChange)="gaugeJSONChange($event)"
(editorInit)="assignSchema()"
[ngModelOptions]="{ standalone: true }"
monacoEditorMarkerValidator
></c8y-editor>
</div>
</div>
}
</form>
<ng-template #gaugePreview>
@if (
(datapointsGauge?.length > 0 && activeDatapointGauge) ||
(datapointsLabels?.length > 0 && activeDatapointLabel)
) {
<div>
<c8y-info-gauge-widget-view [config]="previewConfig"></c8y-info-gauge-widget-view>
</div>
} @else {
<div class="d-col a-i-start j-c-center">
<c8y-ui-empty-state
[icon]="'c8y-data-points'"
[title]="'No data points selected' | translate"
[subtitle]="'Select data point to render content' | translate"
[horizontal]="false"
data-cy="info-gauge--empty-state-no-data-point-selected"
>
<p c8y-guide-docs>
<small
translate
ngNonBindable
>
Find out more in the
<a c8y-guide-href="/docs/cockpit/widgets-collection/#info-gauge">user documentation</a>.
</small>
</p>
</c8y-ui-empty-state>
</div>
}
</ng-template>