Files
react-native-devtools-frontend/front_end/elements/LayoutPaneUtils.ts
T
Alex Rudenko 6755031e1b Use common setting types in Layout panel
Bug: none
Change-Id: Id164a7fba185d16816ceb52e3cac81f6609b83ec
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2696665
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
2021-02-16 13:01:06 +00:00

42 lines
1.1 KiB
TypeScript

// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import * as Common from '../common/common.js';
export interface BaseSettingOption {
title: string;
}
export interface BooleanSettingOption extends BaseSettingOption {
value: boolean;
}
export interface EnumSettingOption extends BaseSettingOption {
value: string;
}
export interface BaseSetting {
name: string;
type: Common.Settings.SettingType.BOOLEAN|Common.Settings.SettingType.ENUM;
title: string;
}
export type BooleanSetting = BaseSetting&{options: BooleanSettingOption[], value: boolean};
export type EnumSetting = BaseSetting&{options: EnumSettingOption[], value: string};
export type Setting = EnumSetting|BooleanSetting;
export interface LayoutElement {
id: number;
color: string;
name: string;
domId?: string;
domClasses?: string[];
enabled: boolean;
reveal: () => void;
toggle: (value: boolean) => void;
setColor: (value: string) => void;
highlight: () => void;
hideHighlight: () => void;
}