@devtron-labs/devtron-fe-common-lib 0.0.6-beta-24 → 0.0.6-beta-25

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.
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { TagDetailType } from '../Types';
3
- export default function TagDetails({ index, tagData, setTagData, removeTag, tabIndex }: TagDetailType): JSX.Element;
3
+ export default function TagDetails({ index, tagData, setTagData, removeTag, tabIndex, suggestedTagsOptions, }: TagDetailType): JSX.Element;
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { TagLabelSelectType } from '../Types';
3
- export declare const TagLabelSelect: ({ isCreateApp, labelTags, setLabelTags, tabIndex }: TagLabelSelectType) => JSX.Element;
3
+ export declare const TagLabelSelect: ({ isCreateApp, labelTags, setLabelTags, tabIndex, suggestedTagsOptions, }: TagLabelSelectType) => JSX.Element;
@@ -38,13 +38,16 @@ export interface TagLabelSelectType {
38
38
  labelTags: TagType[];
39
39
  setLabelTags: (tagList: TagType[]) => void;
40
40
  tabIndex?: number;
41
+ selectedProjectId?: number;
42
+ suggestedTagsOptions?: OptionType[];
41
43
  }
42
44
  export interface TagDetailType {
43
45
  index: number;
44
46
  tagData: TagType;
45
47
  setTagData: (index: number, tagData: TagType) => void;
46
- removeTag: (index: number) => void;
48
+ removeTag?: (index: number) => void;
47
49
  tabIndex?: number;
50
+ suggestedTagsOptions?: OptionType[];
48
51
  }
49
52
  export interface TagLabelValueSelectorType {
50
53
  selectedTagIndex: number;
package/dist/index.js CHANGED
@@ -8625,10 +8625,10 @@ var TagLabelValueSelector = function (_a) {
8625
8625
  }, 300);
8626
8626
  };
8627
8627
  var handleOnBlur = function (e) {
8628
- setActiveElement('');
8629
8628
  if (!e.relatedTarget ||
8630
8629
  !e.relatedTarget.classList.value ||
8631
8630
  !e.relatedTarget.classList.value.includes("tag-".concat(selectedTagIndex, "-class"))) {
8631
+ setActiveElement('');
8632
8632
  var _tagData = __assign({}, tagData);
8633
8633
  _tagData[tagInputType] = selectedValue;
8634
8634
  if (tagInputType === exports.KEY_VALUE.KEY) {
@@ -8675,9 +8675,7 @@ var TagLabelValueSelector = function (_a) {
8675
8675
  if (tagOptions === null || tagOptions === void 0 ? void 0 : tagOptions.length) {
8676
8676
  var filteredTags = tagOptions.filter(function (tag) { return tag.value.indexOf(selectedValue) >= 0; });
8677
8677
  if (filteredTags.length) {
8678
- return (jsxRuntime.jsx("div", __assign({ className: "p-8" }, { children: tagOptions
8679
- .filter(function (tag) { return tag.value.indexOf(selectedValue) >= 0; })
8680
- .map(function (tag, index) { return (jsxRuntime.jsx("div", __assign({ "data-key": "".concat(tag.value, "-").concat(index), className: "cursor", onClick: onSelectValue }, { children: tag.label }))); }) })));
8678
+ return (jsxRuntime.jsx("div", __assign({ className: "p-8" }, { children: filteredTags.map(function (tag, index) { return (jsxRuntime.jsx("div", __assign({ "data-key": tag.label, className: "cursor", onClick: onSelectValue }, { children: tag.label }), "".concat(tag.value, "-").concat(index))); }) })));
8681
8679
  }
8682
8680
  }
8683
8681
  return renderValidationsSuggestions();
@@ -8690,7 +8688,7 @@ var TagLabelValueSelector = function (_a) {
8690
8688
  };
8691
8689
 
8692
8690
  function TagDetails(_a) {
8693
- var index = _a.index, tagData = _a.tagData, setTagData = _a.setTagData, removeTag = _a.removeTag, _b = _a.tabIndex, tabIndex = _b === void 0 ? 1 : _b;
8691
+ var index = _a.index, tagData = _a.tagData, setTagData = _a.setTagData, removeTag = _a.removeTag, _b = _a.tabIndex, tabIndex = _b === void 0 ? 1 : _b, suggestedTagsOptions = _a.suggestedTagsOptions;
8694
8692
  var keyRef = React.useRef(null);
8695
8693
  var valueRef = React.useRef(null);
8696
8694
  var deleteTag = function (e) {
@@ -8702,11 +8700,11 @@ function TagDetails(_a) {
8702
8700
  _tagData.propagate = !_tagData.propagate;
8703
8701
  setTagData(index, _tagData);
8704
8702
  };
8705
- return (jsxRuntime.jsxs("div", __assign({ className: "flexbox mb-8" }, { children: [jsxRuntime.jsx("div", __assign({ className: "dc__border h-30 pl-4 pr-4 br-4 mr-8 pointer ".concat(tagData.propagate ? 'bcn-7' : ''), onClick: propagateTagToResource }, { children: jsxRuntime.jsx(SvgInjectTag, { className: "icon-dim-20 mt-4 ".concat(tagData.propagate ? 'scn-0' : '') }) })), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.KEY, placeholder: "Enter key", tabIndex: tabIndex - 1, refVar: keyRef, dependentRef: valueRef }), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.VALUE, placeholder: "Enter value", tabIndex: tabIndex, refVar: valueRef, dependentRef: keyRef }), jsxRuntime.jsx("div", __assign({ className: "dc__border pl-4 pr-4 dc__right-radius-4 pointer flex top", onClick: deleteTag }, { children: jsxRuntime.jsx(SvgIcClose, { className: "icon-dim-20 mt-4" }) }))] })));
8703
+ return (jsxRuntime.jsxs("div", __assign({ className: "flexbox mb-8" }, { children: [jsxRuntime.jsx("div", __assign({ className: "dc__border h-30 pl-4 pr-4 br-4 mr-8 pointer ".concat(tagData.propagate ? 'bcn-7' : ''), onClick: propagateTagToResource }, { children: jsxRuntime.jsx(SvgInjectTag, { className: "icon-dim-20 mt-4 ".concat(tagData.propagate ? 'scn-0' : '') }) })), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.KEY, placeholder: "Enter key", tabIndex: tabIndex - 1, refVar: keyRef, dependentRef: valueRef, tagOptions: suggestedTagsOptions }), jsxRuntime.jsx(TagLabelValueSelector, { selectedTagIndex: index, tagData: tagData, setTagData: setTagData, tagInputType: exports.KEY_VALUE.VALUE, placeholder: "Enter value", tabIndex: tabIndex, refVar: valueRef, dependentRef: keyRef }), jsxRuntime.jsx("div", __assign({ className: "dc__border pl-4 pr-4 dc__right-radius-4 pointer flex top", onClick: deleteTag }, { children: jsxRuntime.jsx(SvgIcClose, { className: "icon-dim-20 mt-4" }) }))] })));
8706
8704
  }
8707
8705
 
8708
8706
  var TagLabelSelect = function (_a) {
8709
- var isCreateApp = _a.isCreateApp, labelTags = _a.labelTags, setLabelTags = _a.setLabelTags, _b = _a.tabIndex, tabIndex = _b === void 0 ? 0 : _b;
8707
+ var isCreateApp = _a.isCreateApp, labelTags = _a.labelTags, setLabelTags = _a.setLabelTags, _b = _a.tabIndex, tabIndex = _b === void 0 ? 0 : _b, suggestedTagsOptions = _a.suggestedTagsOptions;
8710
8708
  var setTagData = function (index, tagValue) {
8711
8709
  var _tags = __spreadArray([], __read(labelTags), false);
8712
8710
  _tags[index] = tagValue;
@@ -8722,7 +8720,7 @@ var TagLabelSelect = function (_a) {
8722
8720
  _tags.splice(index, 1);
8723
8721
  setLabelTags(_tags);
8724
8722
  };
8725
- return (jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs("div", __assign({ className: "flexbox dc__content-space mb-8" }, { children: [jsxRuntime.jsx("span", { children: "Tags" }), jsxRuntime.jsx(PropagateTagInfo, { isCreateApp: isCreateApp })] })), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs("div", __assign({ className: "dc_width-max-content cb-5 fw-6 fs-13 flexbox mr-20 mb-8 cursor", onClick: addNewTag }, { children: [jsxRuntime.jsx(SvgIcAdd, { className: "icon-dim-20 fcb-5" }), " Add tag"] })), jsxRuntime.jsx("div", __assign({ className: "mb-8" }, { children: labelTags === null || labelTags === void 0 ? void 0 : labelTags.map(function (tagData, index) { return (jsxRuntime.jsx(TagDetails, { index: index, tagData: tagData, setTagData: setTagData, removeTag: removeTag, tabIndex: tabIndex + (index + 2) }, "tag-".concat(index))); }) }))] })] }));
8723
+ return (jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs("div", __assign({ className: "flexbox dc__content-space mb-8" }, { children: [jsxRuntime.jsx("span", { children: "Tags" }), jsxRuntime.jsx(PropagateTagInfo, { isCreateApp: isCreateApp })] })), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs("div", __assign({ className: "dc_width-max-content cb-5 fw-6 fs-13 flexbox mr-20 mb-8 cursor", onClick: addNewTag }, { children: [jsxRuntime.jsx(SvgIcAdd, { className: "icon-dim-20 fcb-5" }), " Add tag"] })), jsxRuntime.jsx("div", __assign({ className: "mb-8" }, { children: labelTags === null || labelTags === void 0 ? void 0 : labelTags.map(function (tagData, index) { return (jsxRuntime.jsx(TagDetails, { index: index, tagData: tagData, setTagData: setTagData, removeTag: removeTag, tabIndex: tabIndex + (index + 2), suggestedTagsOptions: suggestedTagsOptions }, "tag-".concat(index))); }) }))] })] }));
8726
8724
  };
8727
8725
 
8728
8726
  function ConfirmationDialog(_a) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtron-labs/devtron-fe-common-lib",
3
- "version": "0.0.6-beta-24",
3
+ "version": "0.0.6-beta-25",
4
4
  "description": "Supporting common component library",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -6,7 +6,14 @@ import { TagLabelValueSelector } from './TagLabelValueSelector'
6
6
  import { KEY_VALUE } from '../Constants'
7
7
  import { stopPropagation } from '../Helper'
8
8
 
9
- export default function TagDetails({ index, tagData, setTagData, removeTag, tabIndex = 1 }: TagDetailType) {
9
+ export default function TagDetails({
10
+ index,
11
+ tagData,
12
+ setTagData,
13
+ removeTag,
14
+ tabIndex = 1,
15
+ suggestedTagsOptions,
16
+ }: TagDetailType) {
10
17
  const keyRef = useRef(null)
11
18
  const valueRef = useRef(null)
12
19
 
@@ -36,6 +43,7 @@ export default function TagDetails({ index, tagData, setTagData, removeTag, tabI
36
43
  tabIndex={tabIndex - 1}
37
44
  refVar={keyRef}
38
45
  dependentRef={valueRef}
46
+ tagOptions={suggestedTagsOptions}
39
47
  />
40
48
  <TagLabelValueSelector
41
49
  selectedTagIndex={index}
@@ -5,7 +5,13 @@ import TagDetails from './TagDetails'
5
5
  import { TagLabelSelectType } from '../Types'
6
6
  import { DEFAULT_TAG_DATA } from '../Constants'
7
7
 
8
- export const TagLabelSelect = ({ isCreateApp, labelTags, setLabelTags, tabIndex = 0 }: TagLabelSelectType) => {
8
+ export const TagLabelSelect = ({
9
+ isCreateApp,
10
+ labelTags,
11
+ setLabelTags,
12
+ tabIndex = 0,
13
+ suggestedTagsOptions,
14
+ }: TagLabelSelectType) => {
9
15
  const setTagData = (index, tagValue): void => {
10
16
  const _tags = [...labelTags]
11
17
  _tags[index] = tagValue
@@ -43,6 +49,7 @@ export const TagLabelSelect = ({ isCreateApp, labelTags, setLabelTags, tabIndex
43
49
  setTagData={setTagData}
44
50
  removeTag={removeTag}
45
51
  tabIndex={tabIndex + (index + 2)}
52
+ suggestedTagsOptions={suggestedTagsOptions}
46
53
  />
47
54
  ))}
48
55
  </div>
@@ -34,12 +34,12 @@ export const TagLabelValueSelector = ({
34
34
  }, 300)
35
35
  }
36
36
  const handleOnBlur = (e) => {
37
- setActiveElement('')
38
37
  if (
39
38
  !e.relatedTarget ||
40
39
  !e.relatedTarget.classList.value ||
41
40
  !e.relatedTarget.classList.value.includes(`tag-${selectedTagIndex}-class`)
42
41
  ) {
42
+ setActiveElement('')
43
43
  const _tagData = { ...tagData }
44
44
  _tagData[tagInputType] = selectedValue
45
45
  if (tagInputType === KEY_VALUE.KEY) {
@@ -108,13 +108,16 @@ export const TagLabelValueSelector = ({
108
108
  if (filteredTags.length) {
109
109
  return (
110
110
  <div className="p-8">
111
- {tagOptions
112
- .filter((tag) => tag.value.indexOf(selectedValue) >= 0)
113
- .map((tag, index) => (
114
- <div data-key={`${tag.value}-${index}`} className="cursor" onClick={onSelectValue}>
115
- {tag.label}
116
- </div>
117
- ))}
111
+ {filteredTags.map((tag, index) => (
112
+ <div
113
+ key={`${tag.value}-${index}`}
114
+ data-key={tag.label}
115
+ className="cursor"
116
+ onClick={onSelectValue}
117
+ >
118
+ {tag.label}
119
+ </div>
120
+ ))}
118
121
  </div>
119
122
  )
120
123
  }
@@ -43,14 +43,17 @@ export interface TagLabelSelectType {
43
43
  labelTags: TagType[]
44
44
  setLabelTags: (tagList: TagType[]) => void
45
45
  tabIndex?: number
46
+ selectedProjectId?: number
47
+ suggestedTagsOptions?: OptionType[]
46
48
  }
47
49
 
48
50
  export interface TagDetailType {
49
51
  index: number
50
52
  tagData: TagType
51
53
  setTagData: (index: number, tagData: TagType) => void
52
- removeTag: (index: number) => void
54
+ removeTag?: (index: number) => void
53
55
  tabIndex?: number
56
+ suggestedTagsOptions?: OptionType[]
54
57
  }
55
58
 
56
59
  export interface TagLabelValueSelectorType {