@qoretechnologies/reqraft 0.10.47-pr.108.gf8e602d → 0.10.47
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/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +81 -34
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +2 -4
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +139 -112
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +5 -2
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/package.json +1 -1
- package/src/components/form/engine/CompactRow.tsx +140 -63
- package/src/components/form/engine/CompactToolbar.tsx +16 -14
- package/src/components/form/engine/FormEngine.stories.tsx +290 -69
- package/src/components/form/engine/FormEngine.tsx +226 -184
- package/src/components/form/engine/compactRowStyles.ts +32 -0
- package/src/components/form/fields/template/TemplateField.stories.tsx +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qoretechnologies/reqraft",
|
|
3
|
-
"version": "0.10.47
|
|
3
|
+
"version": "0.10.47",
|
|
4
4
|
"description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -61,6 +61,7 @@ import { SchemaDataView, canRenderWithSchema } from './_structuredData/SchemaDat
|
|
|
61
61
|
import { query } from '../../../utils/fetch';
|
|
62
62
|
import {
|
|
63
63
|
colorToCss,
|
|
64
|
+
findAllowedValueOption,
|
|
64
65
|
formatBytes,
|
|
65
66
|
formatOptionValue,
|
|
66
67
|
getAllowedValueImage,
|
|
@@ -154,9 +155,7 @@ const MAX_INLINE_OPTION_ACTIONS = 2;
|
|
|
154
155
|
*/
|
|
155
156
|
export const richtextItemText = (item: unknown): string | undefined =>
|
|
156
157
|
item && typeof item === 'object' && (item as { type?: unknown }).type === 'richtext' ?
|
|
157
|
-
richtextToString(
|
|
158
|
-
(item as { value?: Parameters<typeof richtextToString>[0] }).value
|
|
159
|
-
)
|
|
158
|
+
richtextToString((item as { value?: Parameters<typeof richtextToString>[0] }).value)
|
|
160
159
|
: undefined;
|
|
161
160
|
|
|
162
161
|
export const CompactRow = memo(
|
|
@@ -280,7 +279,11 @@ export const CompactRow = memo(
|
|
|
280
279
|
const renderReadFirstValue = (
|
|
281
280
|
field: IQorusFormField,
|
|
282
281
|
schema: TQorusFormFieldSchema | undefined,
|
|
283
|
-
formatted: string
|
|
282
|
+
formatted: string,
|
|
283
|
+
// An editable row gets one line and an ellipsis — its value line is a
|
|
284
|
+
// summary you click to open. A read-only row is the only rendering the
|
|
285
|
+
// value gets, so it wraps.
|
|
286
|
+
full = false
|
|
284
287
|
): React.ReactNode => {
|
|
285
288
|
const valueType = getValueType(field, schema);
|
|
286
289
|
const wrapStyle: React.CSSProperties = {
|
|
@@ -289,12 +292,12 @@ export const CompactRow = memo(
|
|
|
289
292
|
gap: 6,
|
|
290
293
|
minWidth: 0,
|
|
291
294
|
maxWidth: '100%',
|
|
295
|
+
...(full ? { flexWrap: 'wrap' } : {}),
|
|
292
296
|
};
|
|
293
|
-
const textStyle: React.CSSProperties =
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
whiteSpace: 'nowrap'
|
|
297
|
-
};
|
|
297
|
+
const textStyle: React.CSSProperties =
|
|
298
|
+
full ?
|
|
299
|
+
{ whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' }
|
|
300
|
+
: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' };
|
|
298
301
|
|
|
299
302
|
if (valueType === 'rgbcolor') {
|
|
300
303
|
const swatch = colorToCss(field?.value);
|
|
@@ -430,7 +433,10 @@ export const CompactRow = memo(
|
|
|
430
433
|
// reads as those strings. Without this the row fell through to the generic
|
|
431
434
|
// list summary and printed a bare count ("1 item") above the structured
|
|
432
435
|
// tree, never the address itself.
|
|
433
|
-
if (
|
|
436
|
+
if (
|
|
437
|
+
Array.isArray(field?.value) &&
|
|
438
|
+
field.value.some((item) => richtextItemText(item) !== undefined)
|
|
439
|
+
) {
|
|
434
440
|
const texts = field.value.map((item) => richtextItemText(item) ?? String(item ?? ''));
|
|
435
441
|
return <span style={textStyle}>{texts.filter((text) => text !== '').join(', ')}</span>;
|
|
436
442
|
}
|
|
@@ -465,8 +471,8 @@ export const CompactRow = memo(
|
|
|
465
471
|
?.metadata as TTemplateMeta | undefined
|
|
466
472
|
)}
|
|
467
473
|
/>
|
|
468
|
-
: <span key={index} style={{ whiteSpace: 'pre' }}>
|
|
469
|
-
{collapseSummaryBreaks(segment.text)}
|
|
474
|
+
: <span key={index} style={{ whiteSpace: full ? 'pre-wrap' : 'pre' }}>
|
|
475
|
+
{full ? segment.text : collapseSummaryBreaks(segment.text)}
|
|
470
476
|
</span>
|
|
471
477
|
)}
|
|
472
478
|
</span>
|
|
@@ -508,7 +514,7 @@ export const CompactRow = memo(
|
|
|
508
514
|
tooltip={segment.text}
|
|
509
515
|
{...getTemplateTagStyle(segment.item?.metadata as TTemplateMeta | undefined)}
|
|
510
516
|
/>
|
|
511
|
-
: <span key={index} style={{ whiteSpace: 'pre' }}>
|
|
517
|
+
: <span key={index} style={{ whiteSpace: full ? 'pre-wrap' : 'pre' }}>
|
|
512
518
|
{segment.text}
|
|
513
519
|
</span>
|
|
514
520
|
)}
|
|
@@ -517,7 +523,7 @@ export const CompactRow = memo(
|
|
|
517
523
|
}
|
|
518
524
|
}
|
|
519
525
|
|
|
520
|
-
return formatted;
|
|
526
|
+
return full ? <span style={textStyle}>{formatted}</span> : formatted;
|
|
521
527
|
};
|
|
522
528
|
|
|
523
529
|
const schema = options?.[optionName];
|
|
@@ -614,6 +620,8 @@ export const CompactRow = memo(
|
|
|
614
620
|
);
|
|
615
621
|
};
|
|
616
622
|
const required = !!(schema?.required || schema?.required_groups);
|
|
623
|
+
// The asterisk says "you have to fill this in". Read-only, nobody does.
|
|
624
|
+
const requiredMark = required && !readOnly;
|
|
617
625
|
const removable =
|
|
618
626
|
!readOnly && !schema?.preselected && !schema?.required && !schema?.required_groups;
|
|
619
627
|
const changed = !hidden && !readOnly && hasOptionChanged(optionField?.value, optionName);
|
|
@@ -785,8 +793,7 @@ export const CompactRow = memo(
|
|
|
785
793
|
// value is unset or scalar renders no inset, so fetching its schema would buy
|
|
786
794
|
// a round trip per row and show nothing. `query` caches GETs, so rows sharing
|
|
787
795
|
// an id (every row of one list) cost one request between them.
|
|
788
|
-
const valueLooksStructured =
|
|
789
|
-
!!optionField?.value && typeof optionField.value === 'object';
|
|
796
|
+
const valueLooksStructured = !!optionField?.value && typeof optionField.value === 'object';
|
|
790
797
|
|
|
791
798
|
React.useEffect(() => {
|
|
792
799
|
if (!argSchemaId || !valueLooksStructured) {
|
|
@@ -908,7 +915,7 @@ export const CompactRow = memo(
|
|
|
908
915
|
effect={{ uppercase: true, spaced: 1 }}
|
|
909
916
|
/>
|
|
910
917
|
: null;
|
|
911
|
-
const isPassiveCloseAction = fixedAllowedValueOption
|
|
918
|
+
const isPassiveCloseAction = fixedAllowedValueOption;
|
|
912
919
|
// Cancel — the counterpart to Done, and the answer to "how do I get out of
|
|
913
920
|
// here without keeping this". Done was the only way to leave an open field,
|
|
914
921
|
// so every way out committed: the check, clicking away, and Escape (which
|
|
@@ -918,8 +925,8 @@ export const CompactRow = memo(
|
|
|
918
925
|
// Cancel and Done would do exactly the same thing, and two buttons that
|
|
919
926
|
// differ in name but not in effect are worse than one.
|
|
920
927
|
//
|
|
921
|
-
// Not offered when the close action is passive (
|
|
922
|
-
//
|
|
928
|
+
// Not offered when the close action is passive (a fixed choice) —
|
|
929
|
+
// nothing can have been typed, so there is nothing to cancel.
|
|
923
930
|
const cancelEditButton =
|
|
924
931
|
!isPassiveCloseAction && editedSinceOpened ?
|
|
925
932
|
<ReqoreButton
|
|
@@ -975,8 +982,13 @@ export const CompactRow = memo(
|
|
|
975
982
|
})
|
|
976
983
|
) as TInfoMsg[])
|
|
977
984
|
: [];
|
|
985
|
+
// Validation verdicts and dependency hints are the editor's: "text value
|
|
986
|
+
// is empty", "disabled until X is set" tell someone what to do next, and
|
|
987
|
+
// a reader has no next. A read-only row states the value and leaves it.
|
|
988
|
+
// The default-value note below is different — it says what applies when
|
|
989
|
+
// nothing is set, which is a fact about the record — and stays.
|
|
978
990
|
const fieldMessages: TInfoMsg[] =
|
|
979
|
-
infoActive ?
|
|
991
|
+
infoActive && !readOnly ?
|
|
980
992
|
getOptionFieldMessages({
|
|
981
993
|
schema: options || {},
|
|
982
994
|
option: optionField || ({} as IQorusFormField),
|
|
@@ -1180,9 +1192,11 @@ export const CompactRow = memo(
|
|
|
1180
1192
|
// in the same corner of the same column, so stating one as a chip and the
|
|
1181
1193
|
// other as text made two spellings of one idea.
|
|
1182
1194
|
const codeSizeNode =
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1195
|
+
(
|
|
1196
|
+
valueType === 'code-editor' &&
|
|
1197
|
+
typeof optionField?.value === 'string' &&
|
|
1198
|
+
optionField.value !== ''
|
|
1199
|
+
) ?
|
|
1186
1200
|
(() => {
|
|
1187
1201
|
const { lines, chars } = describeCodeSize(optionField.value as string);
|
|
1188
1202
|
return (
|
|
@@ -1198,7 +1212,7 @@ export const CompactRow = memo(
|
|
|
1198
1212
|
})()
|
|
1199
1213
|
: null;
|
|
1200
1214
|
|
|
1201
|
-
if (isExpanded) {
|
|
1215
|
+
if (isExpanded && !readOnly) {
|
|
1202
1216
|
if (inlineEditable) {
|
|
1203
1217
|
const collapse = () => toggleExpandedOption(optionName);
|
|
1204
1218
|
const editingRow = (
|
|
@@ -1528,22 +1542,22 @@ export const CompactRow = memo(
|
|
|
1528
1542
|
}
|
|
1529
1543
|
}}
|
|
1530
1544
|
>
|
|
1531
|
-
|
|
1545
|
+
{/* Same fullscreen focused-editing affordance as the classic cards —
|
|
1532
1546
|
the modal mounts when this option is focused. */}
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
+
<FocusedEditing
|
|
1548
|
+
isFullscreen={focusedEditing === optionName}
|
|
1549
|
+
onClose={() => setFocusedEditing(undefined)}
|
|
1550
|
+
description={(schema?.display_name as string) || optionName}
|
|
1551
|
+
>
|
|
1552
|
+
{focusedEditing === optionName ?
|
|
1553
|
+
<Description
|
|
1554
|
+
longDescription={schema?.desc}
|
|
1555
|
+
shortDescription={schema?.short_desc}
|
|
1556
|
+
longDescriptionShownByDefault
|
|
1557
|
+
/>
|
|
1558
|
+
: null}
|
|
1559
|
+
{renderOption(optionName, optionField)}
|
|
1560
|
+
</FocusedEditing>
|
|
1547
1561
|
</div>
|
|
1548
1562
|
</StyledEditCard>
|
|
1549
1563
|
);
|
|
@@ -1653,16 +1667,48 @@ export const CompactRow = memo(
|
|
|
1653
1667
|
(schema as { ui_type?: string } | undefined)?.ui_type === 'markdown' &&
|
|
1654
1668
|
typeof optionField?.value === 'string' &&
|
|
1655
1669
|
isMultilineMarkdown(optionField.value);
|
|
1670
|
+
// Read-only: a long plain-text value is drawn in FULL under the row, in
|
|
1671
|
+
// the same inset and under the same "Show more" cap a code value gets,
|
|
1672
|
+
// instead of one line with an ellipsis and a browser tooltip holding the
|
|
1673
|
+
// rest. The editable row truncates because its value line is a summary
|
|
1674
|
+
// you click to open; a read row is the only rendering the value gets.
|
|
1675
|
+
//
|
|
1676
|
+
// "Plain" is `formatted === value`: the text was rendered verbatim — not
|
|
1677
|
+
// a template resolved to a chip, not an allowed value shown by its label,
|
|
1678
|
+
// not a sensitive value masked, not markdown summarised. Only text that
|
|
1679
|
+
// would not fit the line moves down: a break in it, or more than a short
|
|
1680
|
+
// sentence's worth of characters (a short value wraps in place).
|
|
1681
|
+
const showLongTextInset =
|
|
1682
|
+
readOnly &&
|
|
1683
|
+
!hidden &&
|
|
1684
|
+
!showCodePreview &&
|
|
1685
|
+
!showMarkdownPreview &&
|
|
1686
|
+
!showStructuredPreview &&
|
|
1687
|
+
typeof optionField?.value === 'string' &&
|
|
1688
|
+
formatted === optionField.value &&
|
|
1689
|
+
(optionField.value.includes('\n') || optionField.value.length > 120);
|
|
1690
|
+
// Read-only: a choice reads as the option AND what it means —
|
|
1691
|
+
// "Authenticated users", then "callers must present a token". The picker
|
|
1692
|
+
// showed that description while choosing; a reader has no picker.
|
|
1693
|
+
const chosenOption =
|
|
1694
|
+
readOnly && !hidden && !empty ?
|
|
1695
|
+
(findAllowedValueOption(optionField?.value, schema) as
|
|
1696
|
+
{ desc?: string; short_desc?: string } | undefined)
|
|
1697
|
+
: undefined;
|
|
1698
|
+
const readOnlyChoiceDesc = chosenOption?.desc || chosenOption?.short_desc;
|
|
1699
|
+
|
|
1656
1700
|
// "9 lines" for a multi-line markdown value, shown under the field's name
|
|
1657
1701
|
// rather than in front of its content: it describes the field, not the value,
|
|
1658
1702
|
// and the value column is for the value. Rendered whether or not a host
|
|
1659
1703
|
// renderer is present — the count is the one thing the row cannot show you by
|
|
1660
1704
|
// showing you the text, and it is what tells you there is more below.
|
|
1661
1705
|
const lineCountNote =
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1706
|
+
(
|
|
1707
|
+
!hidden &&
|
|
1708
|
+
(schema as { ui_type?: string } | undefined)?.ui_type === 'markdown' &&
|
|
1709
|
+
typeof optionField?.value === 'string' &&
|
|
1710
|
+
isMultilineMarkdown(optionField.value)
|
|
1711
|
+
) ?
|
|
1666
1712
|
`${optionField.value.trim().split('\n').length} lines`
|
|
1667
1713
|
: undefined;
|
|
1668
1714
|
const typeLabel =
|
|
@@ -1676,7 +1722,8 @@ export const CompactRow = memo(
|
|
|
1676
1722
|
// no answer of the user's can change.
|
|
1677
1723
|
const fieldReadonly = !!(schema as { readonly?: boolean } | undefined)?.readonly;
|
|
1678
1724
|
// Disabled rows (schema flag, readonly, or unmet deps) can't open — a lock +
|
|
1679
|
-
// reason renders instead.
|
|
1725
|
+
// reason renders instead. A form-level readOnly row never opens at all, and
|
|
1726
|
+
// shows no lock either: nothing on a read-only form is locked, it is read.
|
|
1680
1727
|
const fieldDisabled =
|
|
1681
1728
|
!hidden &&
|
|
1682
1729
|
!readOnly &&
|
|
@@ -1761,7 +1808,12 @@ export const CompactRow = memo(
|
|
|
1761
1808
|
</span>
|
|
1762
1809
|
: null;
|
|
1763
1810
|
const activate = (event?: { currentTarget?: Element | null }) => {
|
|
1764
|
-
|
|
1811
|
+
// A read-only row is not a control. It used to open into the editor
|
|
1812
|
+
// with `readOnly` handed down (an id in a greyed-out input, a choice
|
|
1813
|
+
// that could still be changed); then into a read view of the same
|
|
1814
|
+
// value — which showed nothing the row could not show itself once it
|
|
1815
|
+
// stopped truncating. So it shows everything, and opens nothing.
|
|
1816
|
+
if (fieldDisabled || readOnly) {
|
|
1765
1817
|
return;
|
|
1766
1818
|
}
|
|
1767
1819
|
const target = event?.currentTarget as HTMLElement | undefined;
|
|
@@ -1816,7 +1868,9 @@ export const CompactRow = memo(
|
|
|
1816
1868
|
invalid: worstIntent === 'danger',
|
|
1817
1869
|
warned: worstIntent === 'warning',
|
|
1818
1870
|
});
|
|
1819
|
-
|
|
1871
|
+
// No dot at all in a read-only form: the dot reports progress on the
|
|
1872
|
+
// form, and a read view has no progress to report.
|
|
1873
|
+
const dotStatus = hidden || fieldDisabled || readOnly ? undefined : rowStatus;
|
|
1820
1874
|
const dotColor =
|
|
1821
1875
|
dotStatus === 'invalid' ? cDanger
|
|
1822
1876
|
: dotStatus === 'todo' ? cWarning
|
|
@@ -1826,19 +1880,23 @@ export const CompactRow = memo(
|
|
|
1826
1880
|
<div
|
|
1827
1881
|
key={optionName}
|
|
1828
1882
|
data-field={optionName}
|
|
1829
|
-
role='button'
|
|
1830
|
-
tabIndex={0}
|
|
1831
|
-
aria-label={label}
|
|
1832
|
-
className={`readfirst-row options-readfirst-value${hidden ? ' readfirst-row-hidden' : ''}${fieldDisabled ? ' readfirst-row-disabled' : ''}${isHighlighted ? ' readfirst-row-group-highlight' : ''}${isFlashed ? ' readfirst-row-flash' : ''}${showLabelDesc ? ' readfirst-row-info-open' : ''}${panelMessages.length || showStructuredPreview || showCodePreview || showMarkdownPreview ? ' readfirst-row-tall' : ''}${clusterBlockClass ? ' ' + clusterBlockClass : ''}`}
|
|
1883
|
+
role={readOnly ? undefined : 'button'}
|
|
1884
|
+
tabIndex={readOnly ? undefined : 0}
|
|
1885
|
+
aria-label={readOnly ? undefined : label}
|
|
1886
|
+
className={`readfirst-row options-readfirst-value${readOnly ? ' readfirst-row-read' : ''}${hidden ? ' readfirst-row-hidden' : ''}${fieldDisabled ? ' readfirst-row-disabled' : ''}${isHighlighted ? ' readfirst-row-group-highlight' : ''}${isFlashed ? ' readfirst-row-flash' : ''}${showLabelDesc ? ' readfirst-row-info-open' : ''}${panelMessages.length || showStructuredPreview || showCodePreview || showMarkdownPreview || showLongTextInset ? ' readfirst-row-tall' : ''}${clusterBlockClass ? ' ' + clusterBlockClass : ''}`}
|
|
1833
1887
|
aria-disabled={fieldDisabled || undefined}
|
|
1834
1888
|
style={stripeStyle}
|
|
1835
|
-
onClick={activate}
|
|
1836
|
-
onKeyDown={
|
|
1837
|
-
|
|
1838
|
-
event
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1889
|
+
onClick={readOnly ? undefined : activate}
|
|
1890
|
+
onKeyDown={
|
|
1891
|
+
readOnly ? undefined : (
|
|
1892
|
+
(event) => {
|
|
1893
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
1894
|
+
event.preventDefault();
|
|
1895
|
+
activate(event);
|
|
1896
|
+
}
|
|
1897
|
+
}
|
|
1898
|
+
)
|
|
1899
|
+
}
|
|
1842
1900
|
{...clusterHoverProps}
|
|
1843
1901
|
>
|
|
1844
1902
|
{clusterNode}
|
|
@@ -1849,7 +1907,7 @@ export const CompactRow = memo(
|
|
|
1849
1907
|
stays right after the last word even when the name wraps. */}
|
|
1850
1908
|
<span className='options-readfirst-label-text' style={{ minWidth: 0 }}>
|
|
1851
1909
|
{label}
|
|
1852
|
-
{
|
|
1910
|
+
{requiredMark ?
|
|
1853
1911
|
<ReqoreIcon
|
|
1854
1912
|
icon='Asterisk'
|
|
1855
1913
|
color='danger'
|
|
@@ -1897,6 +1955,8 @@ export const CompactRow = memo(
|
|
|
1897
1955
|
(
|
|
1898
1956
|
!empty &&
|
|
1899
1957
|
!hidden &&
|
|
1958
|
+
// A read row wraps its value, so a hover has nothing to add.
|
|
1959
|
+
!readOnly &&
|
|
1900
1960
|
!showCodePreview &&
|
|
1901
1961
|
!showMarkdownPreview &&
|
|
1902
1962
|
!showsTemplateChips &&
|
|
@@ -1939,13 +1999,18 @@ export const CompactRow = memo(
|
|
|
1939
1999
|
then dropped its summary in favour of a preview that never came
|
|
1940
2000
|
and rendered nothing at all: a test with cases read as a bare
|
|
1941
2001
|
"Cases" and looked unset until it was opened. */}
|
|
1942
|
-
{
|
|
1943
|
-
|
|
2002
|
+
{(
|
|
2003
|
+
showMarkdownPreview || showLongTextInset || (previewWithSchema && showStructuredPreview)
|
|
2004
|
+
) ?
|
|
2005
|
+
null
|
|
2006
|
+
: <span className='options-readfirst-valuetext'>
|
|
1944
2007
|
{hidden || empty ?
|
|
1945
2008
|
formattedDefault || '—'
|
|
1946
|
-
: renderReadFirstValue(optionField, schema, formatted)}
|
|
1947
|
-
</span>
|
|
1948
|
-
|
|
2009
|
+
: renderReadFirstValue(optionField, schema, formatted, readOnly)}
|
|
2010
|
+
</span>}
|
|
2011
|
+
{readOnlyChoiceDesc ?
|
|
2012
|
+
<span className='options-readfirst-choice-desc'>{readOnlyChoiceDesc}</span>
|
|
2013
|
+
: null}
|
|
1949
2014
|
{valueReasons.map((m, i) => (
|
|
1950
2015
|
<span
|
|
1951
2016
|
key={`${m.content}-${i}`}
|
|
@@ -2092,6 +2157,18 @@ export const CompactRow = memo(
|
|
|
2092
2157
|
</ReqoreCollapsibleContent>
|
|
2093
2158
|
</StyledRowInset>
|
|
2094
2159
|
: null}
|
|
2160
|
+
{/* Read-only long text: see `showLongTextInset`. No click guard —
|
|
2161
|
+
the read row has no click to guard against. */}
|
|
2162
|
+
{showLongTextInset ?
|
|
2163
|
+
<StyledRowInset className='options-readfirst-inset options-readfirst-text-inset'>
|
|
2164
|
+
<ReqoreCollapsibleContent
|
|
2165
|
+
maxCollapsedHeight={96}
|
|
2166
|
+
buttonProps={{ className: 'options-readfirst-viewmore' }}
|
|
2167
|
+
>
|
|
2168
|
+
<div className='options-readfirst-text'>{optionField.value as string}</div>
|
|
2169
|
+
</ReqoreCollapsibleContent>
|
|
2170
|
+
</StyledRowInset>
|
|
2171
|
+
: null}
|
|
2095
2172
|
</StyledRowValue>
|
|
2096
2173
|
<StyledRowActions>
|
|
2097
2174
|
{/* Column discipline (table treatment): variable-width chips lead and
|
|
@@ -145,24 +145,26 @@ export const CompactToolbar = memo((reqoreProps: Partial<IReqoreControlGroupProp
|
|
|
145
145
|
|
|
146
146
|
return (
|
|
147
147
|
<ReqoreControlGroup {...reqoreProps} vertical fluid fixed={false} gapSize='big'>
|
|
148
|
-
{
|
|
148
|
+
{/* No completion in a read-only form. The meter answers "how much is
|
|
149
|
+
left to do", and a reader can do none of it: "4/6 set · 67%" over a
|
|
150
|
+
form nobody can fill in is a progress report on somebody else's
|
|
151
|
+
work. The read view lists what is set, and that is the whole
|
|
152
|
+
answer. */}
|
|
153
|
+
{parts.completion && completion.total && !readOnly ?
|
|
149
154
|
<StyledCompletion className='options-readfirst-completion'>
|
|
150
155
|
<StyledCompletionLine>
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
</StyledSummary>
|
|
159
|
-
: null}
|
|
156
|
+
<StyledSummary
|
|
157
|
+
className='options-readfirst-status'
|
|
158
|
+
$color={invalidCount ? cWarning : cSuccess}
|
|
159
|
+
style={{ fontWeight: 600 }}
|
|
160
|
+
>
|
|
161
|
+
{invalidCount ? 'Draft' : 'Ready'}
|
|
162
|
+
</StyledSummary>
|
|
160
163
|
<StyledSummary style={{ opacity: 0.5 }}>
|
|
161
|
-
|
|
162
|
-
{
|
|
163
|
-
{!readOnly && attentionCount ? ' ·' : ''}
|
|
164
|
+
· {completion.set}/{completion.total} set
|
|
165
|
+
{attentionCount ? ' ·' : ''}
|
|
164
166
|
</StyledSummary>
|
|
165
|
-
{
|
|
167
|
+
{attentionCount ?
|
|
166
168
|
<StyledAttentionLink
|
|
167
169
|
$color={cWarning}
|
|
168
170
|
className='options-readfirst-attention-link'
|