mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2026-01-05 18:47:41 +00:00
67 lines
1.5 KiB
TypeScript
67 lines
1.5 KiB
TypeScript
import {
|
|
Label,
|
|
Min,
|
|
Max,
|
|
Step,
|
|
DefaultKey,
|
|
NumberInputType,
|
|
Choices,
|
|
ParentOf,
|
|
PropertyInfo,
|
|
OnChange,
|
|
TrueLabel,
|
|
FalseLabel,
|
|
Placeholder,
|
|
DefaultNumberValue,
|
|
DefaultBooleanValue,
|
|
CustomElement
|
|
} from "../PropertyDescriptors";
|
|
import { SmartUi, ClassInfo, OnSubmit } from "../ClassDescriptors";
|
|
import {
|
|
getPromise,
|
|
instanceSizeInfo,
|
|
instanceSizeOptions,
|
|
onInstanceCountChange,
|
|
onSubmit,
|
|
renderTextInput,
|
|
Sizes,
|
|
sqlXInfo
|
|
} from "./SqlXApis";
|
|
import { SelfServeBase } from "../SelfServeUtils";
|
|
import { ChoiceItem } from "../../Explorer/Controls/SmartUi/SmartUiComponent";
|
|
|
|
@SmartUi()
|
|
@ClassInfo(getPromise(sqlXInfo))
|
|
@OnSubmit(onSubmit)
|
|
export class SqlX extends SelfServeBase {
|
|
@Label(getPromise("About"))
|
|
@CustomElement(renderTextInput)
|
|
static about: string;
|
|
|
|
@PropertyInfo(getPromise(instanceSizeInfo))
|
|
@Label(getPromise("Instance Size"))
|
|
@Choices(getPromise(instanceSizeOptions))
|
|
@DefaultKey(getPromise(Sizes.OneCore4Gb))
|
|
static instanceSize: ChoiceItem;
|
|
|
|
@OnChange(onInstanceCountChange)
|
|
@Label(getPromise("Instance Count"))
|
|
@Min(getPromise(0))
|
|
@Max(getPromise(5))
|
|
@Step(getPromise(1))
|
|
@DefaultNumberValue(getPromise(1))
|
|
@NumberInputType("slider")
|
|
@ParentOf(["instanceSize", "instanceName", "isAllowed"])
|
|
static instanceCount: number;
|
|
|
|
@Label("Feature Allowed")
|
|
@DefaultBooleanValue(false)
|
|
@TrueLabel("allowed")
|
|
@FalseLabel("not allowed")
|
|
static isAllowed: boolean;
|
|
|
|
@Label("Instance Name")
|
|
@Placeholder("instance name")
|
|
static instanceName: string;
|
|
}
|