@devtron-labs/devtron-fe-common-lib 0.0.40 → 0.0.41-beta-1
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/DebouncedSearch/DebouncedSearch.d.ts +1 -1
- package/dist/Common/DebouncedSearch/Types.d.ts +1 -0
- package/dist/Common/Dialogs/Types.d.ts +1 -0
- package/dist/Common/Types.d.ts +4 -0
- package/dist/index.js +21 -6
- package/package.json +1 -1
- package/src/Common/Common.service.ts +3 -0
- package/src/Common/DebouncedSearch/DebouncedSearch.tsx +3 -2
- package/src/Common/DebouncedSearch/Types.ts +1 -0
- package/src/Common/Dialogs/DeleteDialog.tsx +18 -2
- package/src/Common/Dialogs/Types.ts +1 -0
- package/src/Common/Types.ts +4 -0
|
@@ -12,4 +12,4 @@ import { DebouncedSearchProps } from './Types';
|
|
|
12
12
|
* @param clearSearch - (Optional) To clear the search text
|
|
13
13
|
* @param showClearIcon - (Optional) To show the clear icon default value is true
|
|
14
14
|
*/
|
|
15
|
-
export default function DebouncedSearch({ onSearch, Icon, children, placeholder, containerClass, iconClass, inputClass, debounceTimeout, clearSearch, showClearIcon, }: DebouncedSearchProps): JSX.Element;
|
|
15
|
+
export default function DebouncedSearch({ onSearch, Icon, children, placeholder, containerClass, iconClass, inputClass, debounceTimeout, clearSearch, showClearIcon, autoFocus, }: DebouncedSearchProps): JSX.Element;
|
package/dist/Common/Types.d.ts
CHANGED
|
@@ -231,6 +231,9 @@ export interface CDMaterialType {
|
|
|
231
231
|
imageReleaseTags?: ReleaseTag[];
|
|
232
232
|
artifactStatus?: string;
|
|
233
233
|
filterState: FilterStates;
|
|
234
|
+
registryType?: string;
|
|
235
|
+
imagePath?: string;
|
|
236
|
+
registryName?: string;
|
|
234
237
|
scanToolId?: number;
|
|
235
238
|
appliedFiltersTimestamp?: string;
|
|
236
239
|
appliedFilters?: FilterConditionsListType[];
|
|
@@ -281,6 +284,7 @@ export interface CommonNodeAttr {
|
|
|
281
284
|
colorCode?: string;
|
|
282
285
|
isExternalCI?: boolean;
|
|
283
286
|
isLinkedCI?: boolean;
|
|
287
|
+
isLinkedCD?: boolean;
|
|
284
288
|
isJobCI?: boolean;
|
|
285
289
|
environmentName?: string;
|
|
286
290
|
environmentId?: number;
|
package/dist/index.js
CHANGED
|
@@ -15098,7 +15098,19 @@ ConfirmationDialog.ButtonGroup = ButtonGroup;
|
|
|
15098
15098
|
var warn = "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%20%20%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M0%200h48v48H0z%22%2F%3E%20%20%20%20%20%20%20%20%3Cg%20fill%3D%22%23FFEBEB%22%20stroke%3D%22%23F33E3E%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M7%2024h24v17a4%204%200%200%201-4%204H11a4%204%200%200%201-4-4V24z%22%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20stroke-linecap%3D%22round%22%20d%3D%22M19%2029.5v10M24%2029.5v10M14%2029.5v10%22%2F%3E%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%3Cpath%20stroke%3D%22%23F33E3E%22%20stroke-dasharray%3D%2217%2C3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M42%2010a3%203%200%200%201%200%206H31M38%2023a3%203%200%200%200-3-3h-8%22%2F%3E%20%20%20%20%20%20%20%20%3Cg%20stroke%3D%22%23F33E3E%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20transform%3D%22rotate%28-10%2036.29%20-8.86%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Crect%20width%3D%2230%22%20height%3D%225%22%20y%3D%226%22%20fill%3D%22%23FFEBEB%22%20rx%3D%221%22%2F%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M11%200h8a2%202%200%200%201%202%202v4H9V2a2%202%200%200%201%202-2z%22%2F%3E%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%3C%2Fg%3E%3C%2Fsvg%3E";
|
|
15099
15099
|
|
|
15100
15100
|
var DeleteDialog = function (props) {
|
|
15101
|
-
|
|
15101
|
+
var handleDelete = function (e) {
|
|
15102
|
+
if (props.shouldStopPropagation) {
|
|
15103
|
+
e.stopPropagation();
|
|
15104
|
+
}
|
|
15105
|
+
props.delete();
|
|
15106
|
+
};
|
|
15107
|
+
var handleModalClose = function (e) {
|
|
15108
|
+
if (props.shouldStopPropagation) {
|
|
15109
|
+
e.stopPropagation();
|
|
15110
|
+
}
|
|
15111
|
+
props.closeDelete();
|
|
15112
|
+
};
|
|
15113
|
+
return (jsxRuntime.jsxs(ConfirmationDialog, __assign({ className: "confirmation-dialog__body--w-400" }, { children: [jsxRuntime.jsx(ConfirmationDialog.Icon, { src: warn }), jsxRuntime.jsx(ConfirmationDialog.Body, __assign({ title: props.title }, { children: jsxRuntime.jsxs("div", __assign({ className: "fs-13 cn-7 lh-1-54 w-100" }, { children: [props.description ? props.description : null, props.children] })) })), jsxRuntime.jsx(ConfirmationDialog.ButtonGroup, { children: jsxRuntime.jsxs("div", __assign({ className: "flex right" }, { children: [jsxRuntime.jsx("button", __assign({ type: "button", className: "cta cancel cta-cd-delete-modal ml-16", onClick: handleModalClose, disabled: props.apiCallInProgress, "data-testid": "dialog-cancel" }, { children: "Cancel" })), jsxRuntime.jsx("button", __assign({ type: "button", className: "cta delete cta-cd-delete-modal ml-16", onClick: handleDelete, disabled: props.apiCallInProgress, "data-testid": "dialog-delete" }, { children: props.apiCallInProgress ? (jsxRuntime.jsx(Progressing, {})) : ("".concat(props.deletePrefix || '').concat(props.buttonPrimaryText ? props.buttonPrimaryText : 'Delete').concat(props.deletePostfix || '')) }))] })) })] })));
|
|
15102
15114
|
};
|
|
15103
15115
|
function DeleteDialogDescription(props) {
|
|
15104
15116
|
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: props.children });
|
|
@@ -22740,7 +22752,7 @@ var cdMaterialListModal = function (artifacts, offset, artifactId, artifactStatu
|
|
|
22740
22752
|
var startIndex = offset;
|
|
22741
22753
|
var isImageMarked = false;
|
|
22742
22754
|
var materials = artifacts.map(function (material, index) {
|
|
22743
|
-
var _a, _b, _c, _d, _e, _f;
|
|
22755
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
22744
22756
|
var artifactStatusValue = '';
|
|
22745
22757
|
var filterState = (_a = material.filterState) !== null && _a !== void 0 ? _a : exports.FilterStates.ALLOWED;
|
|
22746
22758
|
if (artifactId && artifactStatus && material.id === artifactId) {
|
|
@@ -22806,6 +22818,9 @@ var cdMaterialListModal = function (artifacts, offset, artifactId, artifactStatu
|
|
|
22806
22818
|
appliedFiltersState: (_d = material.appliedFiltersState) !== null && _d !== void 0 ? _d : exports.FilterStates.ALLOWED,
|
|
22807
22819
|
createdTime: (_e = material.createdTime) !== null && _e !== void 0 ? _e : '',
|
|
22808
22820
|
dataSource: (_f = material.data_source) !== null && _f !== void 0 ? _f : '',
|
|
22821
|
+
registryType: (_g = material.registryType) !== null && _g !== void 0 ? _g : '',
|
|
22822
|
+
imagePath: (_h = material.image) !== null && _h !== void 0 ? _h : '',
|
|
22823
|
+
registryName: (_j = material.registryName) !== null && _j !== void 0 ? _j : '',
|
|
22809
22824
|
};
|
|
22810
22825
|
});
|
|
22811
22826
|
return materials;
|
|
@@ -23635,8 +23650,8 @@ var SvgIcErrorCross = function SvgIcErrorCross(props) {
|
|
|
23635
23650
|
* @param showClearIcon - (Optional) To show the clear icon default value is true
|
|
23636
23651
|
*/
|
|
23637
23652
|
function DebouncedSearch(_a) {
|
|
23638
|
-
var onSearch = _a.onSearch, Icon = _a.Icon, children = _a.children, placeholder = _a.placeholder, _b = _a.containerClass, containerClass = _b === void 0 ? '' : _b, _c = _a.iconClass, iconClass = _c === void 0 ? '' : _c, _d = _a.inputClass, inputClass = _d === void 0 ? '' : _d, _e = _a.debounceTimeout, debounceTimeout = _e === void 0 ? 500 : _e, clearSearch = _a.clearSearch, _f = _a.showClearIcon, showClearIcon = _f === void 0 ? true : _f;
|
|
23639
|
-
var
|
|
23653
|
+
var onSearch = _a.onSearch, Icon = _a.Icon, children = _a.children, placeholder = _a.placeholder, _b = _a.containerClass, containerClass = _b === void 0 ? '' : _b, _c = _a.iconClass, iconClass = _c === void 0 ? '' : _c, _d = _a.inputClass, inputClass = _d === void 0 ? '' : _d, _e = _a.debounceTimeout, debounceTimeout = _e === void 0 ? 500 : _e, clearSearch = _a.clearSearch, _f = _a.showClearIcon, showClearIcon = _f === void 0 ? true : _f, _g = _a.autoFocus, autoFocus = _g === void 0 ? true : _g;
|
|
23654
|
+
var _h = __read(React.useState(''), 2), searchText = _h[0], setSearchText = _h[1];
|
|
23640
23655
|
React.useEffect(function () {
|
|
23641
23656
|
setSearchText('');
|
|
23642
23657
|
}, [clearSearch]);
|
|
@@ -23646,8 +23661,8 @@ function DebouncedSearch(_a) {
|
|
|
23646
23661
|
var handleClearSearch = function () {
|
|
23647
23662
|
setSearchText('');
|
|
23648
23663
|
};
|
|
23649
|
-
useDebouncedEffect(function () { return onSearch(searchText); }, debounceTimeout, [searchText
|
|
23650
|
-
return (jsxRuntime.jsxs("div", __assign({ className: containerClass }, { children: [Icon && jsxRuntime.jsx(Icon, { className: iconClass }), jsxRuntime.jsx("input", { type: "text", className: inputClass, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : 'Search', value: searchText, onChange: handleSearchTextChange, autoFocus:
|
|
23664
|
+
useDebouncedEffect(function () { return onSearch(searchText); }, debounceTimeout, [searchText]);
|
|
23665
|
+
return (jsxRuntime.jsxs("div", __assign({ className: containerClass }, { children: [Icon && jsxRuntime.jsx(Icon, { className: iconClass }), jsxRuntime.jsx("input", { type: "text", className: inputClass, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : 'Search', value: searchText, onChange: handleSearchTextChange, autoFocus: autoFocus, "data-testid": "debounced-search" }), showClearIcon && !!searchText && (jsxRuntime.jsx("button", __assign({ type: "button", className: "dc__outline-none-imp dc__no-border p-0 bc-n50 flex", onClick: handleClearSearch, "data-testid": "clear-search" }, { children: jsxRuntime.jsx(SvgIcErrorCross, { className: "icon-dim-20 icon-n6" }) }))), children] })));
|
|
23651
23666
|
}
|
|
23652
23667
|
|
|
23653
23668
|
// This is meant to be a reusable component that will provide a grid like dynamic layout where xs is the number of columns out of 12 that the item will take up
|
package/package.json
CHANGED
|
@@ -162,6 +162,9 @@ const cdMaterialListModal = (artifacts: any[], offset: number, artifactId?: numb
|
|
|
162
162
|
appliedFiltersState: material.appliedFiltersState ?? FilterStates.ALLOWED,
|
|
163
163
|
createdTime: material.createdTime ?? '',
|
|
164
164
|
dataSource: material.data_source ?? '',
|
|
165
|
+
registryType: material.registryType ?? '',
|
|
166
|
+
imagePath: material.image ?? '',
|
|
167
|
+
registryName: material.registryName ?? '',
|
|
165
168
|
}
|
|
166
169
|
})
|
|
167
170
|
return materials
|
|
@@ -26,6 +26,7 @@ export default function DebouncedSearch({
|
|
|
26
26
|
debounceTimeout = 500,
|
|
27
27
|
clearSearch,
|
|
28
28
|
showClearIcon = true,
|
|
29
|
+
autoFocus = true,
|
|
29
30
|
}: DebouncedSearchProps) {
|
|
30
31
|
const [searchText, setSearchText] = useState<string>('')
|
|
31
32
|
|
|
@@ -41,7 +42,7 @@ export default function DebouncedSearch({
|
|
|
41
42
|
setSearchText('')
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
useDebouncedEffect(() => onSearch(searchText), debounceTimeout, [searchText
|
|
45
|
+
useDebouncedEffect(() => onSearch(searchText), debounceTimeout, [searchText])
|
|
45
46
|
|
|
46
47
|
return (
|
|
47
48
|
<div className={containerClass}>
|
|
@@ -53,7 +54,7 @@ export default function DebouncedSearch({
|
|
|
53
54
|
placeholder={placeholder ?? 'Search'}
|
|
54
55
|
value={searchText}
|
|
55
56
|
onChange={handleSearchTextChange}
|
|
56
|
-
autoFocus
|
|
57
|
+
autoFocus={autoFocus}
|
|
57
58
|
data-testid="debounced-search"
|
|
58
59
|
/>
|
|
59
60
|
|
|
@@ -5,6 +5,22 @@ import ConfirmationDialog from './ConfirmationDialog'
|
|
|
5
5
|
import { DeleteDialogProps } from './Types'
|
|
6
6
|
|
|
7
7
|
export const DeleteDialog: React.FC<DeleteDialogProps> & { Description?: React.FC<any> } = function (props) {
|
|
8
|
+
const handleDelete = (e: React.MouseEvent) => {
|
|
9
|
+
if (props.shouldStopPropagation) {
|
|
10
|
+
e.stopPropagation()
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
props.delete()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const handleModalClose = (e: React.MouseEvent) => {
|
|
17
|
+
if (props.shouldStopPropagation) {
|
|
18
|
+
e.stopPropagation()
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
props.closeDelete()
|
|
22
|
+
}
|
|
23
|
+
|
|
8
24
|
return (
|
|
9
25
|
<ConfirmationDialog className="confirmation-dialog__body--w-400">
|
|
10
26
|
<ConfirmationDialog.Icon src={warn} />
|
|
@@ -19,7 +35,7 @@ export const DeleteDialog: React.FC<DeleteDialogProps> & { Description?: React.F
|
|
|
19
35
|
<button
|
|
20
36
|
type="button"
|
|
21
37
|
className="cta cancel cta-cd-delete-modal ml-16"
|
|
22
|
-
onClick={
|
|
38
|
+
onClick={handleModalClose}
|
|
23
39
|
disabled={props.apiCallInProgress}
|
|
24
40
|
data-testid="dialog-cancel"
|
|
25
41
|
>
|
|
@@ -28,7 +44,7 @@ export const DeleteDialog: React.FC<DeleteDialogProps> & { Description?: React.F
|
|
|
28
44
|
<button
|
|
29
45
|
type="button"
|
|
30
46
|
className="cta delete cta-cd-delete-modal ml-16"
|
|
31
|
-
onClick={
|
|
47
|
+
onClick={handleDelete}
|
|
32
48
|
disabled={props.apiCallInProgress}
|
|
33
49
|
data-testid="dialog-delete"
|
|
34
50
|
>
|
package/src/Common/Types.ts
CHANGED
|
@@ -256,6 +256,9 @@ export interface CDMaterialType {
|
|
|
256
256
|
imageReleaseTags?: ReleaseTag[]
|
|
257
257
|
artifactStatus?: string
|
|
258
258
|
filterState: FilterStates
|
|
259
|
+
registryType?: string;
|
|
260
|
+
imagePath?: string
|
|
261
|
+
registryName?: string
|
|
259
262
|
// Not even coming from API but required in CDMaterials for Security which makes its own api call but stores data in CDMaterials
|
|
260
263
|
scanToolId?: number
|
|
261
264
|
appliedFiltersTimestamp?: string
|
|
@@ -312,6 +315,7 @@ export interface CommonNodeAttr {
|
|
|
312
315
|
colorCode?: string
|
|
313
316
|
isExternalCI?: boolean
|
|
314
317
|
isLinkedCI?: boolean
|
|
318
|
+
isLinkedCD?: boolean
|
|
315
319
|
isJobCI?: boolean // used for Job type CI in Devtron Apps
|
|
316
320
|
environmentName?: string //used for CDs
|
|
317
321
|
environmentId?: number
|