@devtron-labs/devtron-fe-common-lib 0.0.41-beta-5 → 0.0.41-beta-7
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.
- package/dist/Common/Helper.d.ts +0 -7
- package/dist/Common/Types.d.ts +135 -0
- package/dist/Common/index.d.ts +0 -1
- package/dist/index.js +160 -2887
- package/package.json +1 -4
- package/src/Common/Helper.tsx +0 -17
- package/src/Common/Types.ts +148 -0
- package/src/Common/index.ts +0 -1
- package/dist/Common/RJSF/Form.d.ts +0 -4
- package/dist/Common/RJSF/common/FieldRow.d.ts +0 -6
- package/dist/Common/RJSF/common/types.d.ts +0 -8
- package/dist/Common/RJSF/config.d.ts +0 -4
- package/dist/Common/RJSF/constants.d.ts +0 -7
- package/dist/Common/RJSF/index.d.ts +0 -3
- package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +0 -3
- package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +0 -3
- package/dist/Common/RJSF/templates/BaseInput.d.ts +0 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +0 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +0 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +0 -3
- package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +0 -3
- package/dist/Common/RJSF/templates/Description.d.ts +0 -3
- package/dist/Common/RJSF/templates/Field.d.ts +0 -3
- package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +0 -3
- package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +0 -3
- package/dist/Common/RJSF/templates/TitleField.d.ts +0 -3
- package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +0 -3
- package/dist/Common/RJSF/templates/index.d.ts +0 -10
- package/dist/Common/RJSF/types.d.ts +0 -3
- package/dist/Common/RJSF/utils.d.ts +0 -25
- package/dist/Common/RJSF/widgets/Checkbox.d.ts +0 -3
- package/dist/Common/RJSF/widgets/Select.d.ts +0 -3
- package/dist/Common/RJSF/widgets/index.d.ts +0 -2
- package/src/Assets/Icon/ic-chevron-down.svg +0 -5
- package/src/Common/RJSF/Form.tsx +0 -29
- package/src/Common/RJSF/common/FieldRow.tsx +0 -35
- package/src/Common/RJSF/common/types.ts +0 -9
- package/src/Common/RJSF/config.ts +0 -37
- package/src/Common/RJSF/constants.ts +0 -10
- package/src/Common/RJSF/index.ts +0 -3
- package/src/Common/RJSF/rjsfForm.scss +0 -18
- package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +0 -31
- package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +0 -78
- package/src/Common/RJSF/templates/BaseInput.tsx +0 -16
- package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +0 -18
- package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +0 -10
- package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +0 -18
- package/src/Common/RJSF/templates/ButtonTemplates/index.ts +0 -3
- package/src/Common/RJSF/templates/Description.tsx +0 -12
- package/src/Common/RJSF/templates/Field.tsx +0 -30
- package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +0 -25
- package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +0 -105
- package/src/Common/RJSF/templates/TitleField.tsx +0 -9
- package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +0 -51
- package/src/Common/RJSF/templates/index.ts +0 -10
- package/src/Common/RJSF/types.ts +0 -4
- package/src/Common/RJSF/utils.ts +0 -109
- package/src/Common/RJSF/widgets/Checkbox.tsx +0 -44
- package/src/Common/RJSF/widgets/Select.tsx +0 -77
- package/src/Common/RJSF/widgets/index.ts +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devtron-labs/devtron-fe-common-lib",
|
|
3
|
-
"version": "0.0.41-beta-
|
|
3
|
+
"version": "0.0.41-beta-7",
|
|
4
4
|
"description": "Supporting common component library",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -41,9 +41,6 @@
|
|
|
41
41
|
"@sentry/browser": "^7.31.1"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@rjsf/core": "^5.13.3",
|
|
45
|
-
"@rjsf/utils": "^5.13.3",
|
|
46
|
-
"@rjsf/validator-ajv8": "^5.13.3",
|
|
47
44
|
"react": "^17.0.2",
|
|
48
45
|
"react-dom": "^17.0.2",
|
|
49
46
|
"react-router": "^5.3.0",
|
package/src/Common/Helper.tsx
CHANGED
|
@@ -495,20 +495,3 @@ export const processDeployedTime = (lastDeployed, isArgoInstalled) => {
|
|
|
495
495
|
return isArgoInstalled ? '' : 'Not deployed'
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
|
-
|
|
499
|
-
/**
|
|
500
|
-
* Appends search parameters to the url as a query string
|
|
501
|
-
*
|
|
502
|
-
* @param url URL to which the search params needs to be added
|
|
503
|
-
* @param params Object for the search parameters
|
|
504
|
-
*/
|
|
505
|
-
export const getUrlWithSearchParams = (url: string, params: Record<string | number, any>) => {
|
|
506
|
-
const searchParams = new URLSearchParams()
|
|
507
|
-
Object.keys(params).forEach((key) => {
|
|
508
|
-
if (params[key]) {
|
|
509
|
-
searchParams.append(key, params[key])
|
|
510
|
-
}
|
|
511
|
-
})
|
|
512
|
-
const queryString = searchParams.toString()
|
|
513
|
-
return url + (queryString ? `?${queryString}` : '')
|
|
514
|
-
}
|
package/src/Common/Types.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { ReactNode, CSSProperties } from 'react'
|
|
2
2
|
import { Placement } from 'tippy.js'
|
|
3
3
|
import { ImageComment, ReleaseTag } from './ImageTags.Types'
|
|
4
|
+
import { DockerConfigOverrideType, TaskErrorObj } from '.'
|
|
5
|
+
|
|
4
6
|
export interface ResponseType {
|
|
5
7
|
code: number
|
|
6
8
|
status: string
|
|
@@ -474,3 +476,149 @@ export interface AsyncState<T> {
|
|
|
474
476
|
export interface AsyncOptions {
|
|
475
477
|
resetOnChange: boolean
|
|
476
478
|
}
|
|
479
|
+
|
|
480
|
+
export interface AppEnvironment {
|
|
481
|
+
environmentId: number
|
|
482
|
+
environmentName: string
|
|
483
|
+
appMetrics: boolean
|
|
484
|
+
infraMetrics: boolean
|
|
485
|
+
prod: boolean
|
|
486
|
+
chartRefId?: number
|
|
487
|
+
lastDeployed?: string
|
|
488
|
+
lastDeployedBy?: string
|
|
489
|
+
lastDeployedImage?: string
|
|
490
|
+
appStatus?: string
|
|
491
|
+
deploymentAppDeleteRequest?: boolean
|
|
492
|
+
isVirtualEnvironment?: boolean
|
|
493
|
+
isProtected?: boolean
|
|
494
|
+
pipelineId?: number
|
|
495
|
+
latestCdWorkflowRunnerId?: number
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
export interface Strategy {
|
|
499
|
+
deploymentTemplate: string
|
|
500
|
+
config: any
|
|
501
|
+
default?: boolean
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
export interface CDStage {
|
|
505
|
+
status: string
|
|
506
|
+
name: string
|
|
507
|
+
triggerType: 'AUTOMATIC' | 'MANUAL'
|
|
508
|
+
config: string
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
export interface CDStageConfigMapSecretNames {
|
|
512
|
+
configMaps: any[]
|
|
513
|
+
secrets: any[]
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
export interface PrePostDeployStageType {
|
|
517
|
+
isValid: boolean
|
|
518
|
+
steps: TaskErrorObj[]
|
|
519
|
+
triggerType: string
|
|
520
|
+
name: string
|
|
521
|
+
status: string
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
export interface CdPipeline {
|
|
525
|
+
id: number
|
|
526
|
+
environmentId: number
|
|
527
|
+
environmentName?: string
|
|
528
|
+
description?: string
|
|
529
|
+
ciPipelineId: number
|
|
530
|
+
triggerType: 'AUTOMATIC' | 'MANUAL'
|
|
531
|
+
name: string
|
|
532
|
+
strategies?: Strategy[]
|
|
533
|
+
namespace?: string
|
|
534
|
+
appWorkflowId?: number
|
|
535
|
+
deploymentTemplate?: string
|
|
536
|
+
preStage?: CDStage
|
|
537
|
+
postStage?: CDStage
|
|
538
|
+
preStageConfigMapSecretNames?: CDStageConfigMapSecretNames
|
|
539
|
+
postStageConfigMapSecretNames?: CDStageConfigMapSecretNames
|
|
540
|
+
runPreStageInEnv?: boolean
|
|
541
|
+
runPostStageInEnv?: boolean
|
|
542
|
+
isClusterCdActive?: boolean
|
|
543
|
+
parentPipelineId?: number
|
|
544
|
+
parentPipelineType?: string
|
|
545
|
+
deploymentAppDeleteRequest?: boolean
|
|
546
|
+
deploymentAppCreated?: boolean
|
|
547
|
+
userApprovalConfig?: UserApprovalConfigType
|
|
548
|
+
isVirtualEnvironment?: boolean
|
|
549
|
+
deploymentAppType: DeploymentAppTypes
|
|
550
|
+
helmPackageName?: string
|
|
551
|
+
preDeployStage?: PrePostDeployStageType
|
|
552
|
+
postDeployStage?: PrePostDeployStageType
|
|
553
|
+
isProdEnv?: boolean
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
export interface ExternalCiConfig {
|
|
557
|
+
id: number
|
|
558
|
+
webhookUrl: string
|
|
559
|
+
payload: string
|
|
560
|
+
accessKey: string
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
export interface Source {
|
|
564
|
+
type: string
|
|
565
|
+
value?: string
|
|
566
|
+
regex?: string
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
export interface CiMaterial {
|
|
570
|
+
source: Source
|
|
571
|
+
gitMaterialId: number
|
|
572
|
+
id: number
|
|
573
|
+
gitMaterialName: string
|
|
574
|
+
isRegex?: boolean
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export interface Task {
|
|
578
|
+
name?: string
|
|
579
|
+
type?: string
|
|
580
|
+
cmd?: string
|
|
581
|
+
args?: Array<string>
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
export interface CiScript {
|
|
585
|
+
id: number
|
|
586
|
+
index: number
|
|
587
|
+
name: string
|
|
588
|
+
script: string
|
|
589
|
+
outputLocation?: string
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
export interface CiPipeline {
|
|
593
|
+
isManual: boolean
|
|
594
|
+
dockerArgs?: Map<string, string>
|
|
595
|
+
isExternal: boolean
|
|
596
|
+
parentCiPipeline: number
|
|
597
|
+
parentAppId: number
|
|
598
|
+
externalCiConfig: ExternalCiConfig
|
|
599
|
+
ciMaterial?: CiMaterial[]
|
|
600
|
+
name?: string
|
|
601
|
+
id?: number
|
|
602
|
+
active?: boolean
|
|
603
|
+
linkedCount: number
|
|
604
|
+
scanEnabled: boolean
|
|
605
|
+
deleted?: boolean
|
|
606
|
+
version?: string
|
|
607
|
+
beforeDockerBuild?: Array<Task>
|
|
608
|
+
afterDockerBuild?: Array<Task>
|
|
609
|
+
appWorkflowId?: number
|
|
610
|
+
beforeDockerBuildScripts?: Array<CiScript>
|
|
611
|
+
afterDockerBuildScripts?: Array<CiScript>
|
|
612
|
+
isDockerConfigOverridden?: boolean
|
|
613
|
+
dockerConfigOverride?: DockerConfigOverrideType
|
|
614
|
+
appName?: string
|
|
615
|
+
appId?: string
|
|
616
|
+
componentId?: number
|
|
617
|
+
isCITriggerBlocked?: boolean
|
|
618
|
+
ciBlockState?: {
|
|
619
|
+
action: any
|
|
620
|
+
metadataField: string
|
|
621
|
+
}
|
|
622
|
+
isOffendingMandatoryPlugin?: boolean
|
|
623
|
+
pipelineType?: string
|
|
624
|
+
}
|
package/src/Common/index.ts
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { FieldRowProps } from './types';
|
|
3
|
-
import { DO_NOT_SHOW_LABEL } from '../constants';
|
|
4
|
-
export declare const FieldRowWithLabel: ({ showLabel, label, required, children, id, shouldAlignCenter, }: Omit<FieldRowProps, "label"> & {
|
|
5
|
-
label: FieldRowProps['label'] | typeof DO_NOT_SHOW_LABEL;
|
|
6
|
-
}) => JSX.Element;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ArrayFieldTemplateItemType } from '@rjsf/utils';
|
|
3
|
-
export declare const ArrayFieldItemTemplate: ({ children, className, disabled, hasToolbar, hasRemove, index, onDropIndexClick, readonly, registry, uiSchema, }: ArrayFieldTemplateItemType) => JSX.Element;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ArrayFieldTemplateProps } from '@rjsf/utils';
|
|
3
|
-
export declare const ArrayFieldTemplate: ({ canAdd, className, disabled, idSchema, uiSchema, items, onAddClick, readonly, registry, required, title, }: ArrayFieldTemplateProps) => JSX.Element;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { WrapIfAdditionalTemplateProps } from '@rjsf/utils';
|
|
3
|
-
export declare const WrapIfAdditionalTemplate: ({ id, disabled, label, onKeyChange, onDropPropertyClick, readonly, schema, children, uiSchema, registry, }: WrapIfAdditionalTemplateProps) => JSX.Element;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { ArrayFieldTemplate } from './ArrayFieldTemplate';
|
|
2
|
-
export { ArrayFieldItemTemplate } from './ArrayFieldItemTemplate';
|
|
3
|
-
export { BaseInput as BaseInputTemplate } from './BaseInput';
|
|
4
|
-
export * from './ButtonTemplates';
|
|
5
|
-
export { Description as DescriptionFieldTemplate } from './Description';
|
|
6
|
-
export { Field as FieldTemplate } from './Field';
|
|
7
|
-
export { FieldErrorTemplate } from './FieldErrorTemplate';
|
|
8
|
-
export { ObjectFieldTemplate } from './ObjectFieldTemplate';
|
|
9
|
-
export { TitleField as TitleFieldTemplate } from './TitleField';
|
|
10
|
-
export { WrapIfAdditionalTemplate } from './WrapIfAdditionalTemplate';
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { TranslatableString } from '@rjsf/utils';
|
|
3
|
-
/**
|
|
4
|
-
* Override for the TranslatableString from RJSF
|
|
5
|
-
*/
|
|
6
|
-
export declare const translateString: (stringToTranslate: TranslatableString, params?: string[]) => string;
|
|
7
|
-
export declare const getCommonSelectStyle: (styleOverrides?: {}) => {
|
|
8
|
-
menuList: (base: any) => any;
|
|
9
|
-
control: (base: any, state: any) => any;
|
|
10
|
-
option: (base: any, state: any) => any;
|
|
11
|
-
dropdownIndicator: (base: any, state: any) => any;
|
|
12
|
-
valueContainer: (base: any) => any;
|
|
13
|
-
loadingMessage: (base: any) => any;
|
|
14
|
-
noOptionsMessage: (base: any) => any;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Returns the redirection props for a url
|
|
18
|
-
*/
|
|
19
|
-
export declare const getRedirectionProps: (url: string) => import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
20
|
-
url: string;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Infers the type for json schema from value type
|
|
24
|
-
*/
|
|
25
|
-
export declare const getInferredTypeFromValueType: (value: any) => "string" | "number" | "boolean" | "object" | "array" | "null";
|
package/src/Common/RJSF/Form.tsx
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import RJSF from '@rjsf/core'
|
|
3
|
-
import RJSFValidator from '@rjsf/validator-ajv8'
|
|
4
|
-
|
|
5
|
-
import { templates, widgets } from './config'
|
|
6
|
-
import { FormProps } from './types'
|
|
7
|
-
import { translateString } from './utils'
|
|
8
|
-
import './rjsfForm.scss'
|
|
9
|
-
|
|
10
|
-
// Need to use this way because the default import was not working as expected
|
|
11
|
-
// The default import resolves to an object intead of a function
|
|
12
|
-
const Form = (RJSF as any).default as typeof RJSF
|
|
13
|
-
const validator = (RJSFValidator as any).default as typeof RJSFValidator
|
|
14
|
-
|
|
15
|
-
export const RJSFForm = (props: FormProps) => (
|
|
16
|
-
<Form
|
|
17
|
-
noHtml5Validate
|
|
18
|
-
showErrorList={false}
|
|
19
|
-
autoComplete="off"
|
|
20
|
-
{...props}
|
|
21
|
-
validator={validator}
|
|
22
|
-
templates={{
|
|
23
|
-
...templates,
|
|
24
|
-
...props.templates,
|
|
25
|
-
}}
|
|
26
|
-
widgets={{ ...widgets, ...props.widgets }}
|
|
27
|
-
translateString={translateString}
|
|
28
|
-
/>
|
|
29
|
-
)
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { FieldRowProps } from './types'
|
|
3
|
-
import { DEFAULT_FIELD_TITLE, DO_NOT_SHOW_LABEL } from '../constants'
|
|
4
|
-
|
|
5
|
-
export const FieldRowWithLabel = ({
|
|
6
|
-
showLabel,
|
|
7
|
-
label,
|
|
8
|
-
required,
|
|
9
|
-
children,
|
|
10
|
-
id,
|
|
11
|
-
shouldAlignCenter = true,
|
|
12
|
-
}: Omit<FieldRowProps, 'label'> & {
|
|
13
|
-
label: FieldRowProps['label'] | typeof DO_NOT_SHOW_LABEL
|
|
14
|
-
}) => (
|
|
15
|
-
<div
|
|
16
|
-
className={
|
|
17
|
-
showLabel
|
|
18
|
-
? `display-grid dc__gap-12 rjsf-form-template__field ${shouldAlignCenter ? 'flex-align-center' : ''}`
|
|
19
|
-
: ''
|
|
20
|
-
}
|
|
21
|
-
>
|
|
22
|
-
{showLabel && (
|
|
23
|
-
<label className="cn-7 fs-13 lh-32 fw-4 flexbox mb-0" htmlFor={id}>
|
|
24
|
-
{/* The check is added here intentionally for proper layout for array type field */}
|
|
25
|
-
{label !== DO_NOT_SHOW_LABEL && (
|
|
26
|
-
<>
|
|
27
|
-
<span className="dc__ellipsis-right">{label || DEFAULT_FIELD_TITLE}</span>
|
|
28
|
-
{required && <span className="cr-5"> *</span>}
|
|
29
|
-
</>
|
|
30
|
-
)}
|
|
31
|
-
</label>
|
|
32
|
-
)}
|
|
33
|
-
{children}
|
|
34
|
-
</div>
|
|
35
|
-
)
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { RegistryWidgetsType } from '@rjsf/utils'
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
AddButton,
|
|
6
|
-
ArrayFieldItemTemplate,
|
|
7
|
-
ArrayFieldTemplate,
|
|
8
|
-
BaseInputTemplate,
|
|
9
|
-
DescriptionFieldTemplate,
|
|
10
|
-
FieldTemplate,
|
|
11
|
-
FieldErrorTemplate,
|
|
12
|
-
ObjectFieldTemplate,
|
|
13
|
-
RemoveButton,
|
|
14
|
-
SubmitButton,
|
|
15
|
-
TitleFieldTemplate,
|
|
16
|
-
WrapIfAdditionalTemplate,
|
|
17
|
-
} from './templates'
|
|
18
|
-
import { CheckboxWidget, SelectWidget } from './widgets'
|
|
19
|
-
import { FormProps } from './types'
|
|
20
|
-
|
|
21
|
-
export const widgets: RegistryWidgetsType = {
|
|
22
|
-
CheckboxWidget,
|
|
23
|
-
SelectWidget,
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const templates: FormProps['templates'] = {
|
|
27
|
-
ArrayFieldItemTemplate,
|
|
28
|
-
ArrayFieldTemplate,
|
|
29
|
-
BaseInputTemplate,
|
|
30
|
-
ButtonTemplates: { AddButton, RemoveButton, SubmitButton },
|
|
31
|
-
DescriptionFieldTemplate,
|
|
32
|
-
FieldTemplate,
|
|
33
|
-
FieldErrorTemplate,
|
|
34
|
-
ObjectFieldTemplate,
|
|
35
|
-
TitleFieldTemplate,
|
|
36
|
-
WrapIfAdditionalTemplate,
|
|
37
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const PLACEHOLDERS = {
|
|
2
|
-
SELECT: 'Please select an option',
|
|
3
|
-
INPUT: 'Please enter an input',
|
|
4
|
-
OBJECT_KEY: 'Please enter a value for the key',
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export const DEFAULT_FIELD_TITLE = 'Key not available'
|
|
8
|
-
|
|
9
|
-
// Using symbol to ensure uniqueness across the fields
|
|
10
|
-
export const DO_NOT_SHOW_LABEL = Symbol('Do not show label')
|
package/src/Common/RJSF/index.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
.rjsf-form-template {
|
|
2
|
-
&__field {
|
|
3
|
-
grid-template-columns: 250px 1fr;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
&__additional-fields {
|
|
7
|
-
grid-template-columns: 1fr 1fr minmax(20px, auto);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
&__array-field-item {
|
|
11
|
-
grid-template-columns: 1fr auto;
|
|
12
|
-
|
|
13
|
-
& > :first-child {
|
|
14
|
-
// This is added as the array field itself has a margin bottom
|
|
15
|
-
margin: 0;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import React, { CSSProperties } from 'react'
|
|
2
|
-
import { ArrayFieldTemplateItemType } from '@rjsf/utils'
|
|
3
|
-
|
|
4
|
-
export const ArrayFieldItemTemplate = ({
|
|
5
|
-
children,
|
|
6
|
-
className,
|
|
7
|
-
disabled,
|
|
8
|
-
hasToolbar,
|
|
9
|
-
hasRemove,
|
|
10
|
-
index,
|
|
11
|
-
onDropIndexClick,
|
|
12
|
-
readonly,
|
|
13
|
-
registry,
|
|
14
|
-
uiSchema,
|
|
15
|
-
}: ArrayFieldTemplateItemType) => {
|
|
16
|
-
const { RemoveButton } = registry.templates.ButtonTemplates
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<div className="display-grid rjsf-form-template__array-field-item flex-align-center dc__gap-8 mb-12">
|
|
20
|
-
{children}
|
|
21
|
-
{hasToolbar && hasRemove && (
|
|
22
|
-
<RemoveButton
|
|
23
|
-
disabled={disabled || readonly}
|
|
24
|
-
onClick={onDropIndexClick(index)}
|
|
25
|
-
uiSchema={uiSchema}
|
|
26
|
-
registry={registry}
|
|
27
|
-
/>
|
|
28
|
-
)}
|
|
29
|
-
</div>
|
|
30
|
-
)
|
|
31
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { getTemplate, getUiOptions, ArrayFieldTemplateProps, ArrayFieldTemplateItemType } from '@rjsf/utils'
|
|
3
|
-
import { FieldRowWithLabel } from '../common/FieldRow'
|
|
4
|
-
import { DO_NOT_SHOW_LABEL } from '../constants'
|
|
5
|
-
|
|
6
|
-
const ActionButton = ({ canAdd, onAddClick, disabled, readonly, uiSchema, registry }) => {
|
|
7
|
-
const {
|
|
8
|
-
ButtonTemplates: { AddButton },
|
|
9
|
-
} = registry.templates
|
|
10
|
-
|
|
11
|
-
return (
|
|
12
|
-
canAdd && (
|
|
13
|
-
<AddButton onClick={onAddClick} disabled={disabled || readonly} uiSchema={uiSchema} registry={registry} />
|
|
14
|
-
)
|
|
15
|
-
)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const ArrayFieldTemplate = ({
|
|
19
|
-
canAdd,
|
|
20
|
-
className,
|
|
21
|
-
disabled,
|
|
22
|
-
idSchema,
|
|
23
|
-
uiSchema,
|
|
24
|
-
items,
|
|
25
|
-
onAddClick,
|
|
26
|
-
readonly,
|
|
27
|
-
registry,
|
|
28
|
-
required,
|
|
29
|
-
title,
|
|
30
|
-
}: ArrayFieldTemplateProps) => {
|
|
31
|
-
const uiOptions = getUiOptions(uiSchema)
|
|
32
|
-
const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate'>('ArrayFieldItemTemplate', registry, uiOptions)
|
|
33
|
-
const label = uiOptions.title || title
|
|
34
|
-
|
|
35
|
-
return (
|
|
36
|
-
<fieldset className={className} id={idSchema.$id}>
|
|
37
|
-
{/* Show the label here in case there are no items, otherwise handled by Field Template */}
|
|
38
|
-
{items.length ? (
|
|
39
|
-
<>
|
|
40
|
-
{items.map(({ key, ...itemProps }: ArrayFieldTemplateItemType, index) => {
|
|
41
|
-
// Show the title as the label for the first field
|
|
42
|
-
const children = {
|
|
43
|
-
...itemProps.children,
|
|
44
|
-
props: {
|
|
45
|
-
...itemProps.children.props,
|
|
46
|
-
name: index === 0 ? label : DO_NOT_SHOW_LABEL,
|
|
47
|
-
},
|
|
48
|
-
}
|
|
49
|
-
return (
|
|
50
|
-
<ArrayFieldItemTemplate key={key} {...itemProps}>
|
|
51
|
-
{children}
|
|
52
|
-
</ArrayFieldItemTemplate>
|
|
53
|
-
)
|
|
54
|
-
})}
|
|
55
|
-
<ActionButton
|
|
56
|
-
canAdd={canAdd}
|
|
57
|
-
onAddClick={onAddClick}
|
|
58
|
-
disabled={disabled}
|
|
59
|
-
readonly={readonly}
|
|
60
|
-
uiSchema={uiSchema}
|
|
61
|
-
registry={registry}
|
|
62
|
-
/>
|
|
63
|
-
</>
|
|
64
|
-
) : (
|
|
65
|
-
<FieldRowWithLabel label={label} required={required} showLabel id={idSchema.$id}>
|
|
66
|
-
<ActionButton
|
|
67
|
-
canAdd={canAdd}
|
|
68
|
-
onAddClick={onAddClick}
|
|
69
|
-
disabled={disabled}
|
|
70
|
-
readonly={readonly}
|
|
71
|
-
uiSchema={uiSchema}
|
|
72
|
-
registry={registry}
|
|
73
|
-
/>
|
|
74
|
-
</FieldRowWithLabel>
|
|
75
|
-
)}
|
|
76
|
-
</fieldset>
|
|
77
|
-
)
|
|
78
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { getDefaultRegistry } from '@rjsf/core'
|
|
3
|
-
import { BaseInputTemplateProps } from '@rjsf/utils'
|
|
4
|
-
import { PLACEHOLDERS } from '../constants'
|
|
5
|
-
|
|
6
|
-
const {
|
|
7
|
-
templates: { BaseInputTemplate },
|
|
8
|
-
} = getDefaultRegistry()
|
|
9
|
-
|
|
10
|
-
export const BaseInput = ({ placeholder, ...props }: BaseInputTemplateProps) => (
|
|
11
|
-
<BaseInputTemplate
|
|
12
|
-
placeholder={placeholder || PLACEHOLDERS.INPUT}
|
|
13
|
-
{...props}
|
|
14
|
-
className="form__input cn-9 fs-13 lh-20 fw-4"
|
|
15
|
-
/>
|
|
16
|
-
)
|