@devtron-labs/devtron-fe-common-lib 0.1.19 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/Common/Constants.d.ts +2 -0
  2. package/dist/Shared/Components/FilterChips/FilterChips.component.d.ts +1 -1
  3. package/dist/Shared/Components/FilterChips/types.d.ts +18 -6
  4. package/dist/Shared/Hooks/index.d.ts +1 -0
  5. package/dist/Shared/Hooks/useGetResourceKindsOptions/index.d.ts +2 -0
  6. package/dist/Shared/Hooks/useGetResourceKindsOptions/service.d.ts +9 -0
  7. package/dist/Shared/Hooks/useGetResourceKindsOptions/types.d.ts +31 -0
  8. package/dist/Shared/Hooks/useGetResourceKindsOptions/useGetResourceKindsOptions.d.ts +16 -0
  9. package/dist/Shared/Hooks/useGetResourceKindsOptions/utils.d.ts +4 -0
  10. package/dist/Shared/Services/common.service.d.ts +3 -2
  11. package/dist/Shared/Services/types.d.ts +15 -4
  12. package/dist/Shared/constants.d.ts +9 -0
  13. package/dist/Shared/types.d.ts +7 -1
  14. package/dist/{cssMode-3b8730e0.js → cssMode-dbee7387.js} +1 -1
  15. package/dist/{freemarker2-3d674165.js → freemarker2-fb697141.js} +1 -1
  16. package/dist/{handlebars-778549d5.js → handlebars-6ec06359.js} +1 -1
  17. package/dist/{html-b63a30b8.js → html-6ae050e1.js} +1 -1
  18. package/dist/{htmlMode-71ffb01f.js → htmlMode-702558fa.js} +1 -1
  19. package/dist/{index-7ab4ff11.js → index-6ebd2fed.js} +18918 -18838
  20. package/dist/index.js +274 -270
  21. package/dist/{javascript-d699b3d7.js → javascript-8679ff0b.js} +1 -1
  22. package/dist/{jsonMode-d3fbc4fe.js → jsonMode-91fb45a0.js} +1 -1
  23. package/dist/{liquid-fd3ed14a.js → liquid-f14dacac.js} +1 -1
  24. package/dist/{mdx-f058f4dd.js → mdx-b6b90a55.js} +1 -1
  25. package/dist/{python-07b5b6a2.js → python-2727f363.js} +1 -1
  26. package/dist/{razor-c25a9f7c.js → razor-a39b435a.js} +1 -1
  27. package/dist/{tsMode-ab463e44.js → tsMode-a672c6cb.js} +1 -1
  28. package/dist/{typescript-b6036ce0.js → typescript-7552adf0.js} +1 -1
  29. package/dist/{xml-a48a96c1.js → xml-bd5dc492.js} +1 -1
  30. package/dist/{yaml-9d0856b9.js → yaml-02909a35.js} +1 -1
  31. package/package.json +1 -1
@@ -75,6 +75,8 @@ export declare const ROUTES: {
75
75
  CONFIG_CD_PIPELINE: string;
76
76
  MODULE_CONFIGURED: string;
77
77
  RESOURCE_HISTORY_DEPLOYMENT: string;
78
+ APP_LIST_MIN: string;
79
+ CLUSTER_LIST_MIN: string;
78
80
  PLUGIN_GLOBAL_LIST_DETAIL_V2: string;
79
81
  PLUGIN_GLOBAL_LIST_V2: string;
80
82
  PLUGIN_GLOBAL_LIST_TAGS: string;
@@ -3,5 +3,5 @@ import { FilterChipsProps } from './types';
3
3
  /**
4
4
  * Component for rendering the applied filter chips
5
5
  */
6
- declare const FilterChips: <T = Record<string, unknown>>({ filterConfig, clearFilters, onRemoveFilter, getFormattedLabel, getFormattedValue, className, clearButtonClassName, shouldHideLabel, }: FilterChipsProps<T>) => JSX.Element;
6
+ declare const FilterChips: <T = Record<string, unknown>>({ filterConfig, clearFilters, onRemoveFilter, getFormattedLabel, getFormattedValue, className, clearButtonClassName, showClearAndRemove, shouldHideLabel, }: FilterChipsProps<T>) => JSX.Element;
7
7
  export default FilterChips;
@@ -21,17 +21,33 @@ export interface FilterChipProps {
21
21
  * If passed, the label will be formatted accordingly
22
22
  */
23
23
  getFormattedValue?: (filterKey: string, filterValue: unknown) => ReactNode;
24
+ showRemoveIcon: boolean;
24
25
  /**
25
26
  * If true, would hide the label
26
27
  * @default false
27
28
  */
28
29
  shouldHideLabel?: boolean;
29
30
  }
30
- export interface FilterChipsProps<T = Record<string, unknown>> extends Pick<FilterChipProps, 'getFormattedLabel' | 'getFormattedValue' | 'shouldHideLabel'> {
31
+ export type FilterChipsProps<T = Record<string, unknown>> = Pick<FilterChipProps, 'getFormattedLabel' | 'getFormattedValue' | 'shouldHideLabel'> & {
31
32
  /**
32
33
  * Current filter configuration
33
34
  */
34
35
  filterConfig: T;
36
+ /**
37
+ * Class name for the container
38
+ */
39
+ className?: string;
40
+ } & ({
41
+ /**
42
+ * If false, anything related to removing filters is not shown
43
+ * @default 'true'
44
+ */
45
+ showClearAndRemove: false;
46
+ clearFilters?: never;
47
+ onRemoveFilter?: never;
48
+ clearButtonClassName?: never;
49
+ } | {
50
+ showClearAndRemove?: true;
35
51
  /**
36
52
  * Callback handler for removing the filters
37
53
  */
@@ -40,12 +56,8 @@ export interface FilterChipsProps<T = Record<string, unknown>> extends Pick<Filt
40
56
  * Handler for removing a applied filter
41
57
  */
42
58
  onRemoveFilter: (filterConfig: T) => void;
43
- /**
44
- * Class name for the container
45
- */
46
- className?: string;
47
59
  /**
48
60
  * Class name for the clear filter button
49
61
  */
50
62
  clearButtonClassName?: string;
51
- }
63
+ });
@@ -1,2 +1,3 @@
1
1
  export * from './UsePrompt';
2
+ export * from './useGetResourceKindsOptions';
2
3
  export * from './UseDownload';
@@ -0,0 +1,2 @@
1
+ export { default as useGetResourceKindsOptions } from './useGetResourceKindsOptions';
2
+ export type { UseGetResourceKindsOptionsProps, UseGetResourceKindOptionsReturnType } from './types';
@@ -0,0 +1,9 @@
1
+ import { Teams } from '../../../Common/Types';
2
+ import { ClusterType } from '../../Services';
3
+ import { EnvironmentType } from '../../types';
4
+ import { AppsGroupedByProjectsType } from './types';
5
+
6
+ export declare const getAppOptionsGroupedByProjects: () => Promise<AppsGroupedByProjectsType>;
7
+ export declare const getProjectOptions: () => Promise<Pick<Teams, 'id' | 'name'>[]>;
8
+ export declare const getClusterOptions: () => Promise<ClusterType[]>;
9
+ export declare const getEnvironmentOptions: () => Promise<EnvironmentType[]>;
@@ -0,0 +1,31 @@
1
+ import { ResourceKindType } from '../../types';
2
+ import { ServerErrors } from '../../../Common/ServerError';
3
+ import { getAppOptionsGroupedByProjects, getClusterOptions, getEnvironmentOptions, getProjectOptions } from './service';
4
+
5
+ export interface AppType {
6
+ name: string;
7
+ }
8
+ export type AppsGroupedByProjectsType = {
9
+ projectId: number;
10
+ projectName: string;
11
+ appList: AppType[];
12
+ }[];
13
+ export interface ClusterDTO {
14
+ id: number;
15
+ cluster_name: string;
16
+ isVirtualCluster: boolean;
17
+ }
18
+ export interface UseGetResourceKindsOptionsProps {
19
+ resourcesToFetch: Extract<ResourceKindType, ResourceKindType.devtronApplication | ResourceKindType.project | ResourceKindType.cluster | ResourceKindType.environment>[];
20
+ }
21
+ export interface UseGetResourceKindOptionsReturnType {
22
+ isResourcesOptionsLoading: boolean;
23
+ resourcesOptionsMap: {
24
+ [ResourceKindType.devtronApplication]: Awaited<ReturnType<typeof getAppOptionsGroupedByProjects>>;
25
+ [ResourceKindType.project]: Awaited<ReturnType<typeof getProjectOptions>>;
26
+ [ResourceKindType.cluster]: Awaited<ReturnType<typeof getClusterOptions>>;
27
+ [ResourceKindType.environment]: Awaited<ReturnType<typeof getEnvironmentOptions>>;
28
+ };
29
+ resourcesOptionsError: ServerErrors;
30
+ refetchResourcesOptions: () => void;
31
+ }
@@ -0,0 +1,16 @@
1
+ import { UseGetResourceKindOptionsReturnType, UseGetResourceKindsOptionsProps } from './types';
2
+
3
+ /**
4
+ * Generic hook to fetch the options list for the supported resource kinds.
5
+ *
6
+ * Note: no call would be made for empty resource kind list
7
+ *
8
+ * @example Usage
9
+ * ```tsx
10
+ * const data = useGetResourceKindsOptions({
11
+ * resourcesToFetch: [ResourceKindType.devtronApplication, ResourceKindType.environment]
12
+ * })
13
+ * ```
14
+ */
15
+ declare const useGetResourceKindsOptions: ({ resourcesToFetch, }: UseGetResourceKindsOptionsProps) => UseGetResourceKindOptionsReturnType;
16
+ export default useGetResourceKindsOptions;
@@ -0,0 +1,4 @@
1
+ import { ResourceKindType } from '../../types';
2
+ import { UseGetResourceKindsOptionsProps } from './types';
3
+
4
+ export declare const getResourcesToFetchMap: (resourcesToFetch: UseGetResourceKindsOptionsProps['resourcesToFetch']) => Record<ResourceKindType.devtronApplication | ResourceKindType.cluster | ResourceKindType.environment | ResourceKindType.project, boolean>;
@@ -1,3 +1,4 @@
1
- import { GetResourceApiUrlProps } from './types';
1
+ import { GetPolicyApiUrlProps, GetResourceApiUrlProps } from './types';
2
2
 
3
- export declare const getResourceApiUrl: <T>({ baseUrl, kind, version, queryParams }: GetResourceApiUrlProps<T>) => string;
3
+ export declare const getResourceApiUrl: <T>({ baseUrl, kind, version, suffix, queryParams }: GetResourceApiUrlProps<T>) => string;
4
+ export declare const getPolicyApiUrl: <T>({ kind, version, queryParams, suffix }: GetPolicyApiUrlProps<T>) => string;
@@ -1,5 +1,5 @@
1
1
  import { getUrlWithSearchParams } from '../../Common';
2
- import { ResourceKindType, ResourceVersionType } from '../types';
2
+ import { PolicyKindType, ResourceKindType, ResourceVersionType } from '../types';
3
3
 
4
4
  export interface ClusterType {
5
5
  id: number;
@@ -9,9 +9,20 @@ export interface ClusterType {
9
9
  */
10
10
  isVirtual: boolean;
11
11
  }
12
- export interface GetResourceApiUrlProps<T> {
12
+ /**
13
+ * T => Type of query params
14
+ * K => Type of kind
15
+ * P => Type of version
16
+ */
17
+ interface BaseGetApiUrlProps<T, K extends ResourceKindType | PolicyKindType, P extends ResourceVersionType> {
13
18
  baseUrl: string;
14
- kind: ResourceKindType;
15
- version: ResourceVersionType;
19
+ kind: K;
20
+ version: P;
21
+ suffix?: string;
16
22
  queryParams?: T extends Parameters<typeof getUrlWithSearchParams>[1] ? T : never;
17
23
  }
24
+ export interface GetResourceApiUrlProps<T> extends BaseGetApiUrlProps<T, ResourceKindType, ResourceVersionType> {
25
+ }
26
+ export interface GetPolicyApiUrlProps<T> extends Omit<BaseGetApiUrlProps<T, PolicyKindType, ResourceVersionType>, 'baseUrl'> {
27
+ }
28
+ export {};
@@ -388,3 +388,12 @@ export declare enum ComponentSizeType {
388
388
  medium = "medium",
389
389
  large = "large"
390
390
  }
391
+ /**
392
+ * Identifiers for grouped / all resources
393
+ */
394
+ export declare enum SelectAllGroupedResourceIdentifiers {
395
+ allProjects = "-1",
396
+ allExistingAndFutureNonProdEnvironments = "-1",
397
+ allExistingAndFutureProdEnvironments = "-2",
398
+ allExistingAndFutureEnvironments = "-3"
399
+ }
@@ -368,15 +368,21 @@ export declare enum ResourceKindType {
368
368
  tenant = "tenant",
369
369
  installation = "installation",
370
370
  environment = "environment",
371
- cdPipeline = "cd-pipeline"
371
+ cdPipeline = "cd-pipeline",
372
+ project = "project"
372
373
  }
373
374
  /**
374
375
  * Versions support for the resources on BE
376
+ *
377
+ * TODO: Rename to ApiVersionType
375
378
  */
376
379
  export declare enum ResourceVersionType {
377
380
  v1 = "v1",
378
381
  alpha1 = "alpha1"
379
382
  }
383
+ export declare enum PolicyKindType {
384
+ lockConfiguration = "lock-configuration"
385
+ }
380
386
  export interface LastExecutionResultType {
381
387
  lastExecution: string;
382
388
  severityCount: {
@@ -1,7 +1,7 @@
1
1
  var Le = Object.defineProperty;
2
2
  var je = (e, n, i) => n in e ? Le(e, n, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[n] = i;
3
3
  var k = (e, n, i) => (je(e, typeof n != "symbol" ? n + "" : n, i), i);
4
- import { m as Ne } from "./index-7ab4ff11.js";
4
+ import { m as Ne } from "./index-6ebd2fed.js";
5
5
  /*!-----------------------------------------------------------------------------
6
6
  * Copyright (c) Microsoft Corporation. All rights reserved.
7
7
  * Version: 0.44.0(3e047efd345ff102c8c61b5398fb30845aaac166)
@@ -1,4 +1,4 @@
1
- import { m as F } from "./index-7ab4ff11.js";
1
+ import { m as F } from "./index-6ebd2fed.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.44.0(3e047efd345ff102c8c61b5398fb30845aaac166)
@@ -1,4 +1,4 @@
1
- import { m as i } from "./index-7ab4ff11.js";
1
+ import { m as i } from "./index-6ebd2fed.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.44.0(3e047efd345ff102c8c61b5398fb30845aaac166)
@@ -1,4 +1,4 @@
1
- import { m as d } from "./index-7ab4ff11.js";
1
+ import { m as d } from "./index-6ebd2fed.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.44.0(3e047efd345ff102c8c61b5398fb30845aaac166)
@@ -1,7 +1,7 @@
1
1
  var $e = Object.defineProperty;
2
2
  var qe = (e, n, i) => n in e ? $e(e, n, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[n] = i;
3
3
  var k = (e, n, i) => (qe(e, typeof n != "symbol" ? n + "" : n, i), i);
4
- import { m as Qe } from "./index-7ab4ff11.js";
4
+ import { m as Qe } from "./index-6ebd2fed.js";
5
5
  /*!-----------------------------------------------------------------------------
6
6
  * Copyright (c) Microsoft Corporation. All rights reserved.
7
7
  * Version: 0.44.0(3e047efd345ff102c8c61b5398fb30845aaac166)