Skip to content

Commit 7b7ba6f

Browse files
committed
[TGA-88] fix: Add item back to IPreviewComponentProps interface
`item` is passed into Editor component but not Preview component, keep similar interfaces between those two allows common functionality between preview and edit. `item` is also used by preview components in extensions from both Belga and 360info
1 parent d78a027 commit 7b7ba6f

File tree

10 files changed

+25
-0
lines changed

10 files changed

+25
-0
lines changed

scripts/apps/authoring-react/article-widgets/versions-and-item-history/versions-tab.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ export class VersionsTab extends React.PureComponent<IProps, IState> {
255255
text={gettext('Preview')}
256256
onClick={() => {
257257
previewAuthoringEntity(
258+
item,
258259
contentProfile,
259260
fieldsData,
260261
gettext('version {{n}}', {n: item._current_version}),

scripts/apps/authoring-react/authoring-react.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1257,6 +1257,7 @@ export class AuthoringReact<T extends IBaseRestApiResponse> extends React.PureCo
12571257
const printPreviewAction = (() => {
12581258
const execute = () => {
12591259
previewAuthoringEntity(
1260+
state.itemWithChanges,
12601261
state.profile,
12611262
state.fieldsDataWithChanges,
12621263
);

scripts/apps/authoring-react/compare-articles/compare-articles.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ export class CompareAuthoringEntities<T> extends React.PureComponent<IProps<T>,
169169
primaryColumnShown && (
170170
<div style={scrollableColumnCss}>
171171
<PreviewAuthoringItem
172+
item={entity1}
172173
profile={profile1}
173174
fieldsData={fieldsData1}
174175
fieldPadding={fieldPadding}
@@ -181,6 +182,7 @@ export class CompareAuthoringEntities<T> extends React.PureComponent<IProps<T>,
181182
secondaryColumnShown && (
182183
<div style={scrollableColumnCss}>
183184
<PreviewAuthoringItem
185+
item={entity2}
184186
profile={profile2}
185187
fieldsData={fieldsData2}
186188
fieldPadding={fieldPadding}
@@ -197,6 +199,8 @@ export class CompareAuthoringEntities<T> extends React.PureComponent<IProps<T>,
197199
profile2={profile2}
198200
fieldsData1={fieldsData1}
199201
fieldsData2={fieldsData2}
202+
item1={entity1}
203+
item2={entity2}
200204
fieldPadding={fieldPadding}
201205
/>
202206
</div>

scripts/apps/authoring-react/compare-articles/view-difference.tsx

+5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ interface IProps {
1111
profile2: IContentProfileV2;
1212
fieldsData1: Map<string, any>;
1313
fieldsData2: Map<string, any>;
14+
item1: any;
15+
item2: any;
1416
fieldPadding: number;
1517
gapBetweenFields?: IPropsSpacer['gap'];
1618
}
@@ -82,6 +84,7 @@ export class ViewDifference extends React.PureComponent<IProps> {
8284

8385
<div>
8486
<FieldEditorConfig.previewComponent
87+
item={this.props.item2}
8588
value={fieldsData2.get(field.id)}
8689
config={field.fieldConfig}
8790
/>
@@ -104,6 +107,7 @@ export class ViewDifference extends React.PureComponent<IProps> {
104107

105108
<div>
106109
<FieldEditorConfig.previewComponent
110+
item={this.props.item2}
107111
value={fieldsData2.get(field.id)}
108112
config={field.fieldConfig}
109113
/>
@@ -131,6 +135,7 @@ export class ViewDifference extends React.PureComponent<IProps> {
131135

132136
<div>
133137
<FieldEditorConfig.previewComponent
138+
item={this.props.item1}
134139
value={fieldsData1.get(field.id)}
135140
config={field.fieldConfig}
136141
/>

scripts/apps/authoring-react/fields/dropdown/preview.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,31 @@ export class Preview extends React.PureComponent<IProps> {
1717
case 'manual-entry':
1818
return (
1919
<PreviewManualEntry
20+
item={this.props.item}
2021
value={value}
2122
config={config}
2223
/>
2324
);
2425
case 'vocabulary':
2526
return (
2627
<PreviewVocabulary
28+
item={this.props.item}
2729
value={value}
2830
config={config}
2931
/>
3032
);
3133
case 'remote-source':
3234
return (
3335
<PreviewRemoteSource
36+
item={this.props.item}
3437
value={value}
3538
config={config}
3639
/>
3740
);
3841
case 'dropdown-tree':
3942
return (
4043
<PreviewDropdownTree
44+
item={this.props.item}
4145
value={value}
4246
config={config}
4347
/>

scripts/apps/authoring-react/preview-article-modal.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {Button} from 'superdesk-ui-framework/react';
66
import {gettext} from 'core/utils';
77

88
export function previewAuthoringEntity(
9+
item: any,
910
profile: IContentProfileV2,
1011
fieldsData: Immutable.Map<string, any>,
1112
label?: string,
@@ -44,6 +45,7 @@ export function previewAuthoringEntity(
4445
contentSections={[
4546
<PreviewAuthoringItem
4647
key="0"
48+
item={item}
4749
profile={profile}
4850
fieldsData={fieldsData}
4951
/>,

scripts/apps/authoring-react/preview-authoring-item.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {Spacer} from 'core/ui/components/Spacer';
55
import {getField} from 'apps/fields';
66

77
interface IProps {
8+
item: any;
89
profile: IContentProfileV2;
910
fieldsData: Map<string, any>;
1011
fieldPadding?: number;
@@ -32,6 +33,7 @@ export class PreviewAuthoringItem extends React.PureComponent<IProps> {
3233

3334
<div>
3435
<FieldEditorConfig.previewComponent
36+
item={this.props.item}
3537
value={fieldsData.get(field.id)}
3638
config={field.fieldConfig}
3739
/>

scripts/apps/authoring-react/toolbar/compare-article-versions.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,15 @@ export class CompareArticleVersionsModal extends React.PureComponent<IProps, ISt
182182
>
183183
<td style={cellStyle}>
184184
<PreviewAuthoringItem
185+
item={entity2}
185186
fieldsData={fieldsData2}
186187
profile={profile2}
187188
fieldPadding={ITEM_PADDING}
188189
/>
189190
</td>
190191
<td style={cellStyle}>
191192
<PreviewAuthoringItem
193+
item={entity1}
192194
fieldsData={fieldsData1}
193195
profile={profile1}
194196
fieldPadding={ITEM_PADDING}
@@ -201,6 +203,8 @@ export class CompareArticleVersionsModal extends React.PureComponent<IProps, ISt
201203
profile2={profile1}
202204
fieldsData1={fieldsData2}
203205
fieldsData2={fieldsData1}
206+
item1={entity2}
207+
item2={entity1}
204208
fieldPadding={ITEM_PADDING}
205209
/>
206210
</td>

scripts/apps/authoring/authoring/preview-custom-field.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export class PreviewCustomField extends React.PureComponent<IProps> {
2929
<FormLabel text={label} />
3030
)}
3131
<FieldType.previewComponent
32+
item={item}
3233
value={value}
3334
config={field.custom_field_config}
3435
/>

scripts/core/superdesk-api.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -3374,6 +3374,7 @@ declare module 'superdesk-api' {
33743374
}
33753375

33763376
export interface IPreviewComponentProps<IValue, IConfig> {
3377+
item: any;
33773378
value: IValue;
33783379
config: IConfig;
33793380
}

0 commit comments

Comments
 (0)