58 lines
1.8 KiB
TypeScript
58 lines
1.8 KiB
TypeScript
import type { HAFormExpandableSchema } from '../../../../ha/types';
|
|
import { localize } from '../../../../localize/localize';
|
|
import { createNumberSelector, createSelectSelector } from './selectors';
|
|
|
|
/**
|
|
* Get the schema for the view display controls (single vs grid layout).
|
|
* @returns The form schema.
|
|
*/
|
|
export const getDisplaySchema = (): HAFormExpandableSchema => ({
|
|
name: 'display',
|
|
type: 'expandable',
|
|
title: localize('config.common.display.editor_label'),
|
|
icon: 'mdi:palette-swatch',
|
|
schema: [
|
|
{
|
|
name: 'mode',
|
|
label: localize('config.common.display.mode'),
|
|
selector: createSelectSelector([
|
|
{ value: 'single', label: localize('display_modes.single') },
|
|
{ value: 'grid', label: localize('display_modes.grid') },
|
|
]),
|
|
},
|
|
{
|
|
name: 'grid_selected_position',
|
|
label: localize('config.common.display.grid_selected_position'),
|
|
selector: createSelectSelector([
|
|
{
|
|
value: 'default',
|
|
label: localize('config.common.display.grid_selected_positions.default'),
|
|
},
|
|
{
|
|
value: 'first',
|
|
label: localize('config.common.display.grid_selected_positions.first'),
|
|
},
|
|
{
|
|
value: 'last',
|
|
label: localize('config.common.display.grid_selected_positions.last'),
|
|
},
|
|
]),
|
|
},
|
|
{
|
|
name: 'grid_selected_width_factor',
|
|
label: localize('config.common.display.grid_selected_width_factor'),
|
|
selector: createNumberSelector({ min: 0 }),
|
|
},
|
|
{
|
|
name: 'grid_columns',
|
|
label: localize('config.common.display.grid_columns'),
|
|
selector: createNumberSelector({ min: 0 }),
|
|
},
|
|
{
|
|
name: 'grid_max_columns',
|
|
label: localize('config.common.display.grid_max_columns'),
|
|
selector: createNumberSelector({ min: 0 }),
|
|
},
|
|
],
|
|
});
|