@bigbinary/neeto-fields-frontend 2.3.5 → 2.3.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/README.md +28 -23
- package/dist/FieldsDashboard.js +18 -26
- package/dist/FieldsDashboard.js.map +1 -1
- package/dist/InlineFieldValueInput.js +7 -4
- package/dist/InlineFieldValueInput.js.map +1 -1
- package/dist/cjs/FieldsDashboard.js +18 -26
- package/dist/cjs/FieldsDashboard.js.map +1 -1
- package/dist/cjs/InlineFieldValueInput.js +7 -4
- package/dist/cjs/InlineFieldValueInput.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
- package/types.d.ts +1 -0
|
@@ -94,7 +94,9 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref2) {
|
|
|
94
94
|
_ref2$onMutate = _ref2.onMutate,
|
|
95
95
|
_onMutate = _ref2$onMutate === void 0 ? noop : _ref2$onMutate,
|
|
96
96
|
_ref2$customDisplayCo = _ref2.customDisplayComponents,
|
|
97
|
-
customDisplayComponents = _ref2$customDisplayCo === void 0 ? {} : _ref2$customDisplayCo
|
|
97
|
+
customDisplayComponents = _ref2$customDisplayCo === void 0 ? {} : _ref2$customDisplayCo,
|
|
98
|
+
_ref2$canManageFieldV = _ref2.canManageFieldValues,
|
|
99
|
+
canManageFieldValues = _ref2$canManageFieldV === void 0 ? true : _ref2$canManageFieldV;
|
|
98
100
|
var _useState = useState(false),
|
|
99
101
|
_useState2 = _slicedToArray(_useState, 2),
|
|
100
102
|
editMode = _useState2[0],
|
|
@@ -119,7 +121,8 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref2) {
|
|
|
119
121
|
field: field
|
|
120
122
|
});
|
|
121
123
|
var fieldKind = field.kind;
|
|
122
|
-
var
|
|
124
|
+
var isManageable = !field.isSystem && canManageFieldValues;
|
|
125
|
+
var isEditable = isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));
|
|
123
126
|
var displayValue = renderDataAsText(field, fieldValues) || "-";
|
|
124
127
|
var _ref3 = customDisplayComponents[fieldKind] || {},
|
|
125
128
|
_ref3$props = _ref3.props,
|
|
@@ -145,10 +148,10 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref2) {
|
|
|
145
148
|
})
|
|
146
149
|
}) : /*#__PURE__*/jsx("div", {
|
|
147
150
|
className: classnames({
|
|
148
|
-
"cursor-pointer":
|
|
151
|
+
"cursor-pointer": isManageable
|
|
149
152
|
}),
|
|
150
153
|
onClick: function onClick() {
|
|
151
|
-
return setEditMode(true);
|
|
154
|
+
return isManageable && setEditMode(true);
|
|
152
155
|
},
|
|
153
156
|
children: /*#__PURE__*/jsx(DisplayComponent, _objectSpread({
|
|
154
157
|
resourceId: resourceId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineFieldValueInput.js","sources":["../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx"],"sourcesContent":["import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst DefaultDisplayComponent = ({ value }) => (\n <Typography className=\"text-wrap\">{value}</Typography>\n);\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isEditable =\n !field.isSystem &&\n (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue = renderDataAsText(field, fieldValues) || \"-\";\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": !field.isSystem })}\n onClick={() => setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n"],"names":["renderDataAsText","field","fieldValues","_findBy","_findBy2","_findBy3","fieldValueData","findBy","fieldId","id","data","value","kind","KINDS","date","dateFormat","time","datetime","dateTime","dateRange","isNotEmpty","concat","timeRange","singleOption","label","multiOption","values","map","optionId","_findBy4","join","checkbox","getValueFromBool","DefaultDisplayComponent","_ref","_jsx","Typography","className","children","InlineFieldValueInput","_ref2","resourceType","resourceId","_ref2$ownerId","ownerId","_ref2$onMutationSucce","onMutationSuccess","noop","_ref2$onMutate","onMutate","_ref2$customDisplayCo","customDisplayComponents","_useState","useState","_useState2","_slicedToArray","editMode","setEditMode","queryOptions","variables","payload","onSuccess","apply","arguments","_useFieldValues","useFieldValues","handleSubmit","Field","getFieldInput","fieldKind","isEditable","isSystem","DIRECT_EDIT_INPUT_FIELDS","includes","displayValue","_ref3","_ref3$props","props","customDisplayComponentProps","_ref3$component","component","CustomDisplayComponent","DisplayComponent","hyphenize","name","FieldValueInputWrapper","onSubmit","_objectSpread","individualSubmit","isInline","onBlur","classnames","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineFieldValueInput.js","sources":["../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx"],"sourcesContent":["import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport { DIRECT_EDIT_INPUT_FIELDS } from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst DefaultDisplayComponent = ({ value }) => (\n <Typography className=\"text-wrap\">{value}</Typography>\n);\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n canManageFieldValues = true,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isManageable = !field.isSystem && canManageFieldValues;\n const isEditable =\n isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue = renderDataAsText(field, fieldValues) || \"-\";\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": isManageable })}\n onClick={() => isManageable && setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n"],"names":["renderDataAsText","field","fieldValues","_findBy","_findBy2","_findBy3","fieldValueData","findBy","fieldId","id","data","value","kind","KINDS","date","dateFormat","time","datetime","dateTime","dateRange","isNotEmpty","concat","timeRange","singleOption","label","multiOption","values","map","optionId","_findBy4","join","checkbox","getValueFromBool","DefaultDisplayComponent","_ref","_jsx","Typography","className","children","InlineFieldValueInput","_ref2","resourceType","resourceId","_ref2$ownerId","ownerId","_ref2$onMutationSucce","onMutationSuccess","noop","_ref2$onMutate","onMutate","_ref2$customDisplayCo","customDisplayComponents","_ref2$canManageFieldV","canManageFieldValues","_useState","useState","_useState2","_slicedToArray","editMode","setEditMode","queryOptions","variables","payload","onSuccess","apply","arguments","_useFieldValues","useFieldValues","handleSubmit","Field","getFieldInput","fieldKind","isManageable","isSystem","isEditable","DIRECT_EDIT_INPUT_FIELDS","includes","displayValue","_ref3","_ref3$props","props","customDisplayComponentProps","_ref3$component","component","CustomDisplayComponent","DisplayComponent","hyphenize","name","FieldValueInputWrapper","onSubmit","_objectSpread","individualSubmit","isInline","onBlur","classnames","onClick"],"mappings":"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"}
|
|
@@ -26,7 +26,6 @@ var NoData = require('@bigbinary/neetoui/NoData');
|
|
|
26
26
|
var Table = require('@bigbinary/neetoui/Table');
|
|
27
27
|
var jsxRuntime = require('react/jsx-runtime');
|
|
28
28
|
var NeetoUIHeader = require('@bigbinary/neeto-molecules/Header');
|
|
29
|
-
var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
|
|
30
29
|
var Button = require('@bigbinary/neetoui/Button');
|
|
31
30
|
var MenuBar = require('@bigbinary/neeto-molecules/MenuBar');
|
|
32
31
|
var reactDom = require('react-dom');
|
|
@@ -59,18 +58,18 @@ var configsApi = {
|
|
|
59
58
|
fetchConfigs: fetchConfigs
|
|
60
59
|
};
|
|
61
60
|
|
|
62
|
-
function ownKeys$
|
|
63
|
-
function _objectSpread$
|
|
61
|
+
function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
62
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
64
63
|
var useFetchConfigs = function useFetchConfigs(options) {
|
|
65
|
-
return reactQuery.useQuery(_objectSpread$
|
|
64
|
+
return reactQuery.useQuery(_objectSpread$4({
|
|
66
65
|
queryKey: [query.QUERY_KEYS.CONFIGS],
|
|
67
66
|
queryFn: configsApi.fetchConfigs,
|
|
68
67
|
staleTime: query.DEFAULT_STALE_TIME
|
|
69
68
|
}, options));
|
|
70
69
|
};
|
|
71
70
|
|
|
72
|
-
function ownKeys$
|
|
73
|
-
function _objectSpread$
|
|
71
|
+
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
72
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
74
73
|
var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
75
74
|
var buildColumnData = _ref.buildColumnData,
|
|
76
75
|
isOwnerBased = _ref.isOwnerBased,
|
|
@@ -193,7 +192,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
193
192
|
defaultColumns: defaultColumns
|
|
194
193
|
});
|
|
195
194
|
var handleBlockClick = function handleBlockClick(params) {
|
|
196
|
-
return reactUtils.handleMetaClick(history, utils$1.buildUrl("", _objectSpread$
|
|
195
|
+
return reactUtils.handleMetaClick(history, utils$1.buildUrl("", _objectSpread$3({
|
|
197
196
|
resource: resource,
|
|
198
197
|
state: state
|
|
199
198
|
}, params)));
|
|
@@ -301,8 +300,8 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
301
300
|
};
|
|
302
301
|
};
|
|
303
302
|
|
|
304
|
-
function ownKeys$
|
|
305
|
-
function _objectSpread$
|
|
303
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
304
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
306
305
|
var FieldsTable = function FieldsTable(_ref) {
|
|
307
306
|
var totalCount = _ref.totalCount,
|
|
308
307
|
isFetched = _ref.isFetched,
|
|
@@ -345,7 +344,7 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
345
344
|
hasPagination: totalCount > constants.DEFAULT_PAGE_SIZE,
|
|
346
345
|
children: showNoDataScreen ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
347
346
|
className: "flex h-full w-full items-center justify-center",
|
|
348
|
-
children: /*#__PURE__*/jsxRuntime.jsx(NoData, _objectSpread$
|
|
347
|
+
children: /*#__PURE__*/jsxRuntime.jsx(NoData, _objectSpread$2({
|
|
349
348
|
title: showStateFilter ? t("neetoFields.messages.noFieldsWithState", {
|
|
350
349
|
title: title,
|
|
351
350
|
state: state
|
|
@@ -362,7 +361,7 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
362
361
|
currentPageNumber: page,
|
|
363
362
|
defaultPageSize: pageSize,
|
|
364
363
|
handlePageChange: function handlePageChange(page) {
|
|
365
|
-
return setPageProps(_objectSpread$
|
|
364
|
+
return setPageProps(_objectSpread$2(_objectSpread$2({}, pageProps), {}, {
|
|
366
365
|
page: page
|
|
367
366
|
}));
|
|
368
367
|
},
|
|
@@ -371,8 +370,6 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
371
370
|
});
|
|
372
371
|
};
|
|
373
372
|
|
|
374
|
-
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
375
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
376
373
|
var Header = reactUtils.withT(function (_ref) {
|
|
377
374
|
var searchInputProps = _ref.searchInputProps,
|
|
378
375
|
breadcrumbs = _ref.breadcrumbs,
|
|
@@ -385,6 +382,7 @@ var Header = reactUtils.withT(function (_ref) {
|
|
|
385
382
|
return /*#__PURE__*/jsxRuntime.jsx(NeetoUIHeader, {
|
|
386
383
|
breadcrumbs: breadcrumbs,
|
|
387
384
|
size: size,
|
|
385
|
+
title: title,
|
|
388
386
|
searchProps: searchInputProps,
|
|
389
387
|
actionBlock: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
390
388
|
"data-cy": "neeto-fields-add-button",
|
|
@@ -393,19 +391,13 @@ var Header = reactUtils.withT(function (_ref) {
|
|
|
393
391
|
return setIsPaneOpen(true);
|
|
394
392
|
}
|
|
395
393
|
}),
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
}), helpDocUrl && {
|
|
404
|
-
helpLinkProps: {
|
|
405
|
-
href: helpDocUrl
|
|
406
|
-
}
|
|
407
|
-
}))]
|
|
408
|
-
})
|
|
394
|
+
titleHelpPopoverProps: (helpDocUrl || helpDescription) && {
|
|
395
|
+
title: title,
|
|
396
|
+
description: helpDescription,
|
|
397
|
+
helpLinkProps: helpDocUrl && {
|
|
398
|
+
href: helpDocUrl
|
|
399
|
+
}
|
|
400
|
+
}
|
|
409
401
|
});
|
|
410
402
|
});
|
|
411
403
|
|