Files
komodo/frontend/src/types.d.ts
T
Maxwell Beckerandkv 00968b6ea1 1.16.12 (#209)
* inc version

* Komodo interp in ui compose file

* fix auto update when image doesn't specify tag by defaulting to latest

* Pull image buttons don't need safety dialog

* WIP crosscompile

* rename

* entrypoint

* fix copy

* remove example/* from workspace

* add targets

* multiarch pkg config

* use specific COPY

* update deps

* multiarch build command

* pre compile deps

* cross compile

* enable-linger

* remove spammed log when server doesn't have docker

* add multiarch.Dockerfile

* fix casing

* fix tag

* try not let COPY fail

* try

* ARG TARGETPLATFORM

* use /app for consistency

* try

* delete cross-compile approach

* add multiarch core build

* multiarch Deno

* single arch multi arch

* typeshare cli note

* new typeshare

* remove note about aarch64 image

* test configs

* fix config file headers

* binaries dockerfile

* update cargo build

* docs

* simple

* just simple

* use -p

* add configurable binaries tag

* add multi-arch

* allow copy to fail

* fix binary paths

* frontend Dockerfiel

* use dedicated static frontend build

* auto retry getting instance state from aws

* retry 5 times

* cleanup

* simplify binary build

* try alpine and musl

* install alpine deps

* back to debian, try rustls

* move fully to rustls

* single arch builds using single binary image

* default IMAGE_TAG

* cleanup

* try caching deps

* single arch add frontend build

* rustls::crypto::ring::default_provider()

* back to simple

* comment dockerfile

* add select options prop, render checkboxes if present

* add allowSelectedIf to enable / disable rows where necessary

* rename allowSelectIf to isSelectable, allow false as global disable, disable checkboxes when not allowed

* rename isSelectable to disableRow (it works the oppsite way lol)

* selected resources hook, start deployment batch execute component

* add deployment group actions

* add deployment group actions

* add default (empty) group actions for other resources

* fix checkbox header styles

* explicitly check if disableRow is passed (this prop is cursed)

* don't disable row selection for deployments table

* don't need id for groupactions

* add group actions to resources page

* fix row checkbox (prop not cursed, i dumb)

* re-implement group action list using dropdown menu

* only make group actions clickable when at least one row selected

* add loading indicator

* gap betwen new resource and group actions

* refactor group actions

* remove "Batch" from action labels

* add group actions for relevant resources

* fix hardcode

* add selectOptions to relevant tables

* select by name not id

* expect selected to be names

* add note re selection state init for future reference

* multi select working nicely for all resources

* configure server health check timeout

* config message

* refresh processes remove dead processes

* simplify the build args

* default timeout seconds 3

---------

Co-authored-by: kv <karamvir.singh98@gmail.com>
2024-12-01 23:34:07 -08:00

58 lines
1.6 KiB
TypeScript

import { Types } from "komodo_client";
export type UsableResource = Exclude<Types.ResourceTarget["type"], "System">;
type IdComponent = React.FC<{ id: string }>;
type OptionalIdComponent = React.FC<{ id?: string }>;
export interface RequiredResourceComponents {
list_item: (id: string) => Types.ResourceListItem<unknown> | undefined;
resource_links: (
resource: Types.Resource<unknown, unknown>
) => Array<string> | undefined;
Description: React.FC;
/** Header for individual resource pages */
ResourcePageHeader: IdComponent;
/** Summary card for use in dashboard */
Dashboard: React.FC;
/** New resource button / dialog */
New: React.FC<{ server_id?: string; build_id?: string }>;
/** A table component to view resource list */
Table: React.FC<{ resources: Types.ResourceListItem<unknown>[] }>;
/** Dropdown menu to trigger group actions for selected resources */
GroupActions: React.FC;
/** Icon for the component */
Icon: OptionalIdComponent;
BigIcon: OptionalIdComponent;
State: IdComponent;
/** status metrics, like deployment state / status */
Status: { [status: string]: IdComponent };
/**
* Some config items shown in header, like deployment server /image
* or build repo / branch
*/
Info: { [info: string]: IdComponent };
/** Action buttons */
Actions: { [action: string]: IdComponent };
/** Resource specific sections */
Page: { [section: string]: IdComponent };
/** Config component for resource */
Config: IdComponent;
/** Danger zone for resource, containing eg rename, delete */
DangerZone: IdComponent;
}