@next-libs/cmdb-instances 7.27.2 → 7.28.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.
- package/dist/cjs/i18n/constants.js +4 -0
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +5 -1
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +5 -1
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +2 -1
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-drawer/InstanceListDrawer.js +1 -4
- package/dist/cjs/instance-list-drawer/InstanceListDrawer.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +50 -10
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +5 -13
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js +1 -0
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/cjs/instance-list-table/SortSettings.js +145 -0
- package/dist/cjs/instance-list-table/SortSettings.js.map +1 -0
- package/dist/cjs/instance-list-table/TableTooltip.js +39 -0
- package/dist/cjs/instance-list-table/TableTooltip.js.map +1 -0
- package/dist/esm/i18n/constants.js +4 -0
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/locales/en.js +5 -1
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js +5 -1
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +2 -1
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-drawer/InstanceListDrawer.js +1 -4
- package/dist/esm/instance-list-drawer/InstanceListDrawer.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +51 -10
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +5 -13
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.module.css +0 -11
- package/dist/esm/instance-list-table/MoreButtonsContainer.js +1 -0
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/instance-list-table/SortSettings.js +141 -0
- package/dist/esm/instance-list-table/SortSettings.js.map +1 -0
- package/dist/esm/instance-list-table/SortSettings.module.css +15 -0
- package/dist/esm/instance-list-table/TableTooltip.js +30 -0
- package/dist/esm/instance-list-table/TableTooltip.js.map +1 -0
- package/dist/esm/instance-list-table/TableTooltip.module.css +4 -0
- package/dist/types/i18n/constants.d.ts +5 -1
- package/dist/types/instance-list-table/DisplaySettingsModal.d.ts +4 -0
- package/dist/types/instance-list-table/MoreButtonsContainer.d.ts +4 -0
- package/dist/types/instance-list-table/SortSettings.d.ts +13 -0
- package/dist/types/instance-list-table/SortSettings.spec.d.ts +1 -0
- package/dist/types/instance-list-table/TableTooltip.d.ts +6 -0
- package/dist/types/instance-list-table/TableTooltip.spec.d.ts +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["index", "moveRow", "acceptType", "className", "style"];
|
|
5
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
6
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
7
|
+
import React, { useCallback, useState } from "react";
|
|
8
|
+
import { useTranslation } from "react-i18next";
|
|
9
|
+
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
10
|
+
import { Table } from "antd";
|
|
11
|
+
import { UnorderedListOutlined } from "@ant-design/icons";
|
|
12
|
+
import { DndProvider, useDrag, useDrop } from "react-dnd";
|
|
13
|
+
import { HTML5Backend } from "react-dnd-html5-backend";
|
|
14
|
+
import update from "immutability-helper";
|
|
15
|
+
import classNames from "classnames";
|
|
16
|
+
import { getBatchEditableFields } from "@next-libs/cmdb-utils";
|
|
17
|
+
import styles from "./SortSettings.module.css";
|
|
18
|
+
import { includes } from "lodash";
|
|
19
|
+
var type = "DraggableBodyRow";
|
|
20
|
+
var sortField = function () {
|
|
21
|
+
var dataSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
22
|
+
var order = arguments.length > 1 ? arguments[1] : undefined;
|
|
23
|
+
return dataSource === null || dataSource === void 0 ? void 0 : dataSource.sort((a, b) => {
|
|
24
|
+
var indexA = order.indexOf(a.id);
|
|
25
|
+
var indexB = order.indexOf(b.id);
|
|
26
|
+
return indexA - indexB;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
export function SortSettings(props) {
|
|
30
|
+
var {
|
|
31
|
+
modelData,
|
|
32
|
+
currentFields,
|
|
33
|
+
rowKey,
|
|
34
|
+
onSortEnd
|
|
35
|
+
} = props;
|
|
36
|
+
var attrAndRelationList = getBatchEditableFields(modelData);
|
|
37
|
+
var sortAttrList = attrAndRelationList.filter(item => includes(currentFields, item.id));
|
|
38
|
+
var {
|
|
39
|
+
t
|
|
40
|
+
} = useTranslation(NS_LIBS_CMDB_INSTANCES);
|
|
41
|
+
var [data, setData] = useState(sortField(sortAttrList, currentFields));
|
|
42
|
+
var columns = [{
|
|
43
|
+
title: t(K.ID),
|
|
44
|
+
dataIndex: "id",
|
|
45
|
+
key: "id"
|
|
46
|
+
}, {
|
|
47
|
+
title: t(K.NAME),
|
|
48
|
+
dataIndex: "name",
|
|
49
|
+
key: "name"
|
|
50
|
+
}, {
|
|
51
|
+
title: t(K.SORT),
|
|
52
|
+
width: 80,
|
|
53
|
+
render: () => {
|
|
54
|
+
return /*#__PURE__*/React.createElement(UnorderedListOutlined, null);
|
|
55
|
+
}
|
|
56
|
+
}];
|
|
57
|
+
var DraggableBodyRow = _ref => {
|
|
58
|
+
var {
|
|
59
|
+
index,
|
|
60
|
+
moveRow,
|
|
61
|
+
acceptType,
|
|
62
|
+
className,
|
|
63
|
+
style
|
|
64
|
+
} = _ref,
|
|
65
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
66
|
+
var ref = React.useRef();
|
|
67
|
+
var [{
|
|
68
|
+
isOver,
|
|
69
|
+
dropClassName
|
|
70
|
+
}, drop] = useDrop({
|
|
71
|
+
accept: acceptType || type,
|
|
72
|
+
collect: monitor => {
|
|
73
|
+
var {
|
|
74
|
+
index: dragIndex
|
|
75
|
+
} = monitor.getItem() || {};
|
|
76
|
+
if (dragIndex === index) {
|
|
77
|
+
return {};
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
isOver: monitor.isOver(),
|
|
81
|
+
dropClassName: dragIndex < index ? "".concat(styles.dropOverDownward) : "".concat(styles.dropOverUpward)
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
drop: item => {
|
|
85
|
+
moveRow(item.index, index);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
var [, drag] = useDrag({
|
|
89
|
+
item: {
|
|
90
|
+
type: acceptType || type,
|
|
91
|
+
index
|
|
92
|
+
},
|
|
93
|
+
collect: monitor => ({
|
|
94
|
+
isDragging: monitor.isDragging()
|
|
95
|
+
})
|
|
96
|
+
});
|
|
97
|
+
drop(drag(ref));
|
|
98
|
+
return /*#__PURE__*/React.createElement("tr", _extends({
|
|
99
|
+
ref: ref,
|
|
100
|
+
className: classNames(className, {
|
|
101
|
+
[dropClassName]: isOver
|
|
102
|
+
}),
|
|
103
|
+
style: _objectSpread({
|
|
104
|
+
cursor: "move"
|
|
105
|
+
}, style)
|
|
106
|
+
}, restProps));
|
|
107
|
+
};
|
|
108
|
+
var components = {
|
|
109
|
+
body: {
|
|
110
|
+
row: DraggableBodyRow
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
var moveRow = useCallback((dragIndex, hoverIndex) => {
|
|
114
|
+
var dragRow = data[dragIndex];
|
|
115
|
+
var newData = update(data, {
|
|
116
|
+
$splice: [[dragIndex, 1], [hoverIndex, 0, dragRow]]
|
|
117
|
+
});
|
|
118
|
+
setData(newData);
|
|
119
|
+
var sortFields = newData.map(item => item.id);
|
|
120
|
+
onSortEnd === null || onSortEnd === void 0 ? void 0 : onSortEnd(sortFields);
|
|
121
|
+
}, [data]);
|
|
122
|
+
return /*#__PURE__*/React.createElement(DndProvider, {
|
|
123
|
+
backend: HTML5Backend,
|
|
124
|
+
context: window
|
|
125
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
126
|
+
className: styles.customDropTable,
|
|
127
|
+
columns: columns,
|
|
128
|
+
dataSource: data,
|
|
129
|
+
rowKey: rowKey,
|
|
130
|
+
components: components,
|
|
131
|
+
onRow: (_, index) => ({
|
|
132
|
+
index,
|
|
133
|
+
moveRow
|
|
134
|
+
}),
|
|
135
|
+
pagination: false,
|
|
136
|
+
scroll: {
|
|
137
|
+
y: 400
|
|
138
|
+
}
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=SortSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortSettings.js","names":["React","useCallback","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","Table","UnorderedListOutlined","DndProvider","useDrag","useDrop","HTML5Backend","update","classNames","getBatchEditableFields","styles","includes","type","sortField","dataSource","arguments","length","undefined","order","sort","a","b","indexA","indexOf","id","indexB","SortSettings","props","modelData","currentFields","rowKey","onSortEnd","attrAndRelationList","sortAttrList","filter","item","t","data","setData","columns","title","ID","dataIndex","key","NAME","SORT","width","render","createElement","DraggableBodyRow","_ref","index","moveRow","acceptType","className","style","restProps","_objectWithoutProperties","_excluded","ref","useRef","isOver","dropClassName","drop","accept","collect","monitor","dragIndex","getItem","concat","dropOverDownward","dropOverUpward","drag","isDragging","_extends","_objectSpread","cursor","components","body","row","hoverIndex","dragRow","newData","$splice","sortFields","map","backend","context","window","customDropTable","onRow","_","pagination","scroll","y"],"sources":["../../../src/instance-list-table/SortSettings.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useCallback, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { Table } from \"antd\";\nimport { UnorderedListOutlined } from \"@ant-design/icons\";\nimport { DndProvider, useDrag, useDrop } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport update from \"immutability-helper\";\nimport classNames from \"classnames\";\nimport { getBatchEditableFields } from \"@next-libs/cmdb-utils\";\nimport styles from \"./SortSettings.module.css\";\nimport { includes } from \"lodash\";\n\nexport interface SortSettingsProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n currentFields: string[];\n sortFields?: { field: string; order: number }[];\n rowKey?: string;\n onSortEnd?: (data: any[]) => void;\n}\n\ninterface DraggableBodyRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n index: number;\n acceptType: string;\n moveRow: (dragIndex: number, hoverIndex: number) => void;\n}\n\nconst type = \"DraggableBodyRow\";\n\nconst sortField = (dataSource: any[] = [], order: string[]) => {\n return dataSource?.sort((a: any, b: any) => {\n const indexA = order.indexOf(a.id);\n const indexB = order.indexOf(b.id);\n return indexA - indexB;\n });\n};\n\nexport function SortSettings(props: SortSettingsProps): React.ReactElement {\n const { modelData, currentFields, rowKey, onSortEnd } = props;\n\n const attrAndRelationList = getBatchEditableFields(modelData);\n const sortAttrList = attrAndRelationList.filter((item: any) =>\n includes(currentFields, item.id)\n );\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n\n const [data, setData] = useState(sortField(sortAttrList, currentFields));\n const columns = [\n {\n title: t(K.ID),\n dataIndex: \"id\",\n key: \"id\",\n },\n {\n title: t(K.NAME),\n dataIndex: \"name\",\n key: \"name\",\n },\n {\n title: t(K.SORT),\n width: 80,\n render: () => {\n return <UnorderedListOutlined />;\n },\n },\n ];\n\n const DraggableBodyRow = ({\n index,\n moveRow,\n acceptType,\n className,\n style,\n ...restProps\n }: DraggableBodyRowProps): React.ReactElement => {\n const ref = React.useRef();\n const [{ isOver, dropClassName }, drop] = useDrop({\n accept: acceptType || type,\n collect: (monitor) => {\n const { index: dragIndex } = monitor.getItem() || {};\n if (dragIndex === index) {\n return {};\n }\n return {\n isOver: monitor.isOver(),\n dropClassName:\n dragIndex < index\n ? `${styles.dropOverDownward}`\n : `${styles.dropOverUpward}`,\n };\n },\n drop: (item: any) => {\n moveRow(item.index, index);\n },\n });\n const [, drag] = useDrag({\n item: {\n type: acceptType || type,\n index,\n },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n drop(drag(ref));\n return (\n <tr\n ref={ref}\n className={classNames(className, {\n [dropClassName]: isOver,\n })}\n style={{ cursor: \"move\", ...style }}\n {...restProps}\n />\n );\n };\n\n const components = {\n body: {\n row: DraggableBodyRow,\n },\n };\n\n const moveRow = useCallback(\n (dragIndex: number, hoverIndex: number) => {\n const dragRow = data[dragIndex];\n const newData = update(data, {\n $splice: [\n [dragIndex, 1],\n [hoverIndex, 0, dragRow],\n ],\n });\n setData(newData);\n const sortFields = newData.map((item: any) => item.id);\n onSortEnd?.(sortFields);\n },\n [data]\n );\n\n return (\n <DndProvider backend={HTML5Backend} context={window}>\n <Table\n className={styles.customDropTable}\n columns={columns}\n dataSource={data}\n rowKey={rowKey}\n components={components}\n onRow={(_, index) =>\n ({\n index,\n moveRow,\n } as React.HTMLAttributes<any>)\n }\n pagination={false}\n scroll={{ y: 400 }}\n />\n </DndProvider>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.customDropTable {
|
|
2
|
+
:global(.ant-table-tbody) {
|
|
3
|
+
tr.dropOverDownward {
|
|
4
|
+
td {
|
|
5
|
+
border-bottom: 2px dashed var(--antd-table-drop-hover-border-color);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
tr.dropOverUpward {
|
|
10
|
+
td {
|
|
11
|
+
border-top: 2px dashed var(--antd-table-drop-hover-border-color);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Tooltip } from "antd";
|
|
3
|
+
import { NS_LIBS_CMDB_INSTANCES, K } from "../i18n/constants";
|
|
4
|
+
import i18n from "i18next";
|
|
5
|
+
import { GeneralIcon } from "@next-libs/basic-components";
|
|
6
|
+
import styles from "./TableTooltip.module.css";
|
|
7
|
+
export var TableTooltip = props => {
|
|
8
|
+
var [visible, setVisible] = useState(false);
|
|
9
|
+
var handleClick = () => {
|
|
10
|
+
var _props$onClick;
|
|
11
|
+
setVisible(false);
|
|
12
|
+
props === null || props === void 0 ? void 0 : (_props$onClick = props.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props);
|
|
13
|
+
};
|
|
14
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
15
|
+
title: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.RELATION_INSTANCE_TOOLTIP)),
|
|
16
|
+
placement: "top",
|
|
17
|
+
visible: visible
|
|
18
|
+
}, /*#__PURE__*/React.createElement(GeneralIcon, {
|
|
19
|
+
icon: {
|
|
20
|
+
lib: "easyops",
|
|
21
|
+
category: "patch-manager",
|
|
22
|
+
icon: "patch-list"
|
|
23
|
+
},
|
|
24
|
+
onMouseEnter: () => setVisible(true),
|
|
25
|
+
onMouseLeave: () => setVisible(false),
|
|
26
|
+
iconClassName: styles.relationMoreIcon,
|
|
27
|
+
onClick: handleClick
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=TableTooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableTooltip.js","names":["React","useState","Tooltip","NS_LIBS_CMDB_INSTANCES","K","i18n","GeneralIcon","styles","TableTooltip","props","visible","setVisible","handleClick","_props$onClick","onClick","call","createElement","title","t","concat","RELATION_INSTANCE_TOOLTIP","placement","icon","lib","category","onMouseEnter","onMouseLeave","iconClassName","relationMoreIcon"],"sources":["../../../src/instance-list-table/TableTooltip.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Tooltip } from \"antd\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport i18n from \"i18next\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport styles from \"./TableTooltip.module.css\";\n\ninterface TableTooltipProps {\n onClick?: () => void;\n}\nexport const TableTooltip = (props: TableTooltipProps): React.ReactElement => {\n const [visible, setVisible] = useState(false);\n const handleClick = (): void => {\n setVisible(false);\n props?.onClick?.();\n };\n return (\n <Tooltip\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RELATION_INSTANCE_TOOLTIP}`)}\n placement=\"top\"\n visible={visible}\n >\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"patch-manager\",\n icon: \"patch-list\",\n }}\n onMouseEnter={() => setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n iconClassName={styles.relationMoreIcon}\n onClick={handleClick}\n />\n </Tooltip>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,sBAAsB,EAAEC,CAAC,QAAQ,mBAAmB;AAC7D,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,WAAW,QAAQ,6BAA6B;AACzD,OAAOC,MAAM,MAAM,2BAA2B;AAK9C,OAAO,IAAMC,YAAY,GAAIC,KAAwB,IAAyB;EAC5E,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAC7C,IAAMW,WAAW,GAAGA,CAAA,KAAY;IAAA,IAAAC,cAAA;IAC9BF,UAAU,CAAC,KAAK,CAAC;IACjBF,KAAK,aAALA,KAAK,wBAAAI,cAAA,GAALJ,KAAK,CAAEK,OAAO,cAAAD,cAAA,uBAAdA,cAAA,CAAAE,IAAA,CAAAN,KAAiB,CAAC;EACpB,CAAC;EACD,oBACET,KAAA,CAAAgB,aAAA,CAACd,OAAO;IACNe,KAAK,EAAEZ,IAAI,CAACa,CAAC,IAAAC,MAAA,CAAIhB,sBAAsB,OAAAgB,MAAA,CAAIf,CAAC,CAACgB,yBAAyB,CAAE,CAAE;IAC1EC,SAAS,EAAC,KAAK;IACfX,OAAO,EAAEA;EAAQ,gBAEjBV,KAAA,CAAAgB,aAAA,CAACV,WAAW;IACVgB,IAAI,EAAE;MACJC,GAAG,EAAE,SAAS;MACdC,QAAQ,EAAE,eAAe;MACzBF,IAAI,EAAE;IACR,CAAE;IACFG,YAAY,EAAEA,CAAA,KAAMd,UAAU,CAAC,IAAI,CAAE;IACrCe,YAAY,EAAEA,CAAA,KAAMf,UAAU,CAAC,KAAK,CAAE;IACtCgB,aAAa,EAAEpB,MAAM,CAACqB,gBAAiB;IACvCd,OAAO,EAAEF;EAAY,CACtB,CACM,CAAC;AAEd,CAAC","ignoreList":[]}
|
|
@@ -46,6 +46,7 @@ export declare enum K {
|
|
|
46
46
|
SET_DEFAULT_DISPLAY_SUCCESS = "SET_DEFAULT_DISPLAY_SUCCESS",
|
|
47
47
|
DEFAULT_DISPLAY = "DEFAULT_DISPLAY",
|
|
48
48
|
CONFIRM = "CONFIRM",
|
|
49
|
+
SORT_SETTINGS = "SORT_SETTINGS",
|
|
49
50
|
ONLY_ONE_INSTANCE_TO_ALLOWED = "ONLY_ONE_INSTANCE_TO_ALLOWED",
|
|
50
51
|
OPERATOR_CONTAIN_DEFINE = "OPERATOR_CONTAIN_DEFINE",
|
|
51
52
|
OPERATOR_NOT_CONTAIN_DEFINE = "OPERATOR_NOT_CONTAIN_DEFINE",
|
|
@@ -119,7 +120,10 @@ export declare enum K {
|
|
|
119
120
|
UPLOAD = "UPLOAD",
|
|
120
121
|
BACKGROUND_SEARCH = "BACKGROUND_SEARCH",
|
|
121
122
|
BACK = "BACK",
|
|
122
|
-
RELATION_INSTANCE_TOOLTIP = "RELATION_INSTANCE_TOOLTIP"
|
|
123
|
+
RELATION_INSTANCE_TOOLTIP = "RELATION_INSTANCE_TOOLTIP",
|
|
124
|
+
NAME = "NAME",
|
|
125
|
+
ID = "ID",
|
|
126
|
+
SORT = "SORT"
|
|
123
127
|
}
|
|
124
128
|
export declare type Locale = {
|
|
125
129
|
[key in K]: string;
|
|
@@ -10,6 +10,10 @@ export interface DisplaySettingsModalProps extends DisplaySettingsProps {
|
|
|
10
10
|
defaultFields?: string[];
|
|
11
11
|
saveFieldsBackend?: boolean;
|
|
12
12
|
useExternalCmdbApi?: boolean;
|
|
13
|
+
sortFields?: {
|
|
14
|
+
field: string;
|
|
15
|
+
order: number;
|
|
16
|
+
}[];
|
|
13
17
|
onOk?(data: DisplaySettingsModalData): void;
|
|
14
18
|
onCancel?(): void;
|
|
15
19
|
}
|
|
@@ -14,6 +14,10 @@ interface MoreButtonsContainerProps {
|
|
|
14
14
|
handleToggleFixHeader?: () => void;
|
|
15
15
|
fixedHeader?: boolean;
|
|
16
16
|
showFixedHeader?: boolean;
|
|
17
|
+
sortFields?: {
|
|
18
|
+
field: string;
|
|
19
|
+
order: number;
|
|
20
|
+
}[];
|
|
17
21
|
}
|
|
18
22
|
interface MoreButtonsContainerState {
|
|
19
23
|
visible?: boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CmdbModels } from "@next-sdk/cmdb-sdk";
|
|
3
|
+
export interface SortSettingsProps {
|
|
4
|
+
modelData: Partial<CmdbModels.ModelCmdbObject>;
|
|
5
|
+
currentFields: string[];
|
|
6
|
+
sortFields?: {
|
|
7
|
+
field: string;
|
|
8
|
+
order: number;
|
|
9
|
+
}[];
|
|
10
|
+
rowKey?: string;
|
|
11
|
+
onSortEnd?: (data: any[]) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function SortSettings(props: SortSettingsProps): React.ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/cmdb-instances",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.28.0",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"js-base64": "^3.7.7",
|
|
53
53
|
"marked": "^2.1.3"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "61f905fea64357009141432fed318b33929efc20"
|
|
56
56
|
}
|