Skip to content

Commit e13cff8

Browse files
author
Tom German
committed
Fixes and cleanup following merge from 'dev'
1 parent 8cbac7d commit e13cff8

File tree

7 files changed

+53
-44
lines changed

7 files changed

+53
-44
lines changed

src/controls/dynamicForm/DynamicForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,8 @@ export class DynamicForm extends React.Component<
511511
// We are adding a new list item
512512
try {
513513
const contentTypeIdField = "ContentTypeId";
514-
//check if item contenttype is passed, then update the object with content type id, else, pass the object
515-
contentTypeId !== undefined && contentTypeId.startsWith("0x01") ? objects[contentTypeIdField] = contentTypeId : objects;
514+
// check if item contenttype is passed, then update the object with content type id, else, pass the object
515+
if (contentTypeId !== undefined && contentTypeId.startsWith("0x01")) objects[contentTypeIdField] = contentTypeId;
516516
const iar = await sp.web.lists.getById(listId).items.add(objects);
517517
if (onSubmitted) {
518518
onSubmitted(

src/controls/dynamicForm/dynamicField/DynamicField.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ import { IPickerTerms, TaxonomyPicker } from '../../taxonomyPicker';
2222
import styles from '../DynamicForm.module.scss';
2323
import { IDynamicFieldProps } from './IDynamicFieldProps';
2424
import { IDynamicFieldState } from './IDynamicFieldState';
25-
import { isArray } from 'lodash';
26-
2725

2826
export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFieldState> {
2927

src/controls/fieldCollectionData/collectionDataItem/CollectionDataItem.tsx

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
5757
* Update the item value on the field change
5858
*/
5959
private onValueChanged = (fieldId: string, value: any): void => { // eslint-disable-line @typescript-eslint/no-explicit-any
60-
60+
6161
this.setState((prevState: ICollectionDataItemState): ICollectionDataItemState => {
6262
const { crntItem } = prevState;
6363
// Update the changed field
@@ -78,7 +78,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
7878
_selectedOption = {
7979
key: value,
8080
text: value
81-
};
81+
};
8282
} else {
8383
_selectedOption = option;
8484
}
@@ -92,8 +92,8 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
9292
this.doAllFieldChecks();
9393

9494
// Store this in the current state
95-
96-
return {crntItem};
95+
96+
return { crntItem };
9797
});
9898

9999
}
@@ -123,7 +123,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
123123
};
124124
}
125125

126-
if (_selected === null ) {
126+
if (_selected === null) {
127127
_selected = [];
128128
}
129129

@@ -144,7 +144,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
144144

145145
this.doAllFieldChecks();
146146

147-
return { crntItem};
147+
return { crntItem };
148148
});
149149
}
150150

@@ -351,7 +351,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
351351
validation = await field.onGetErrorMessage(value, this.props.index, item);
352352
isValid = validation === "";
353353
} else if (typeof field.minimumUsers === "number" && value.length < field.minimumUsers) {
354-
validation = typeof field.minimumUsersMessage === "string" ? field.minimumUsersMessage : strings.CollectionDataMinimumUsersDefaultMessage.replace("{0}", field.minimumUsers.toString());
354+
validation = typeof field.minimumUsersMessage === "string" ? field.minimumUsersMessage : strings.CollectionDataMinimumUsersDefaultMessage.replace("{0}", field.minimumUsers.toString());
355355
}
356356

357357
// Store the field validation
@@ -361,14 +361,14 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
361361
this.doAllFieldChecks();
362362
// Return empty the error message if needed
363363

364-
return "";
364+
return "";
365365
}
366366

367367
private comboboxValidation = (field: ICustomCollectionField, selected: string[] | string): void => {
368368
let isValid = true;
369-
let validation = "";
369+
const validation = "";
370370

371-
if (field.required && (selected === null || selected.length === 0) ) {
371+
if (field.required && (selected === null || selected.length === 0)) {
372372
isValid = false;
373373
}
374374

@@ -520,7 +520,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
520520
value={item[field.id] ? new Date(item[field.id]) : undefined}
521521
onSelectDate={(date) => { this.onValueChanged(field.id, date) }}
522522
formatDate={(date) => { return date ? date?.toLocaleDateString() : ""; }}
523-
/>;
523+
/>;
524524
case CustomCollectionFieldType.custom:
525525
if (field.onCustomRender) {
526526
return field.onCustomRender(field, item[field.id], this.onValueChanged, item, item.uniqueId, this.onCustomFieldValidation);
@@ -535,9 +535,9 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
535535
if (item[field.id] !== null) {
536536
for (let i: number = 0; i < item[field.id].length; i++) {
537537
_selectedComboBoxKeys.push(item[field.id][i].key);
538-
538+
539539
// if selected option is not in list (anymore), add it to choices
540-
if (typeof _comboBoxOptions.find(value => value.key === item[field.id][i].key) === "undefined" ) {
540+
if (typeof _comboBoxOptions.find(value => value.key === item[field.id][i].key) === "undefined") {
541541
_comboBoxOptions.push(item[field.id][i]);
542542
}
543543
}
@@ -548,44 +548,48 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
548548
if (item[field.id] !== null) {
549549
_selectedComboBoxKey = item[field.id].key;
550550

551-
if (typeof _comboBoxOptions.find(value => value.key === item[field.id].key) === "undefined" ) {
551+
if (typeof _comboBoxOptions.find(value => value.key === item[field.id].key) === "undefined") {
552552
_comboBoxOptions.push(item[field.id]);
553553
}
554554

555555
}
556-
556+
557557
}
558558

559-
return <ComboBox
559+
return <ComboBox
560560
onFocus={() => this.comboboxValidation(field, field.multiSelect ? _selectedComboBoxKeys : _selectedComboBoxKey)}
561561
onBlur={() => this.comboboxValidation(field, field.multiSelect ? _selectedComboBoxKeys : _selectedComboBoxKey)}
562562
multiSelect={field.multiSelect}
563-
allowFreeform={field.allowFreeform}
563+
allowFreeform={field.allowFreeform}
564564
placeholder={field.placeholder}
565565
options={_comboBoxOptions}
566-
selectedKey= { field.multiSelect ? _selectedComboBoxKeys : _selectedComboBoxKey}
566+
selectedKey={field.multiSelect ? _selectedComboBoxKeys : _selectedComboBoxKey}
567567
required={field.required}
568568
disabled={disableFieldOnEdit}
569-
onChange={async (event, option, index, value) =>{
570-
field.multiSelect ? this.onValueChangedComboBoxMulti(field.id, option, value) : this.onValueChangedComboBoxSingle(field.id, option, value)
571-
} }
572-
569+
onChange={async (event, option, index, value) => {
570+
if (field.multiSelect) {
571+
this.onValueChangedComboBoxMulti(field.id, option, value)
572+
} else {
573+
this.onValueChangedComboBoxSingle(field.id, option, value)
574+
}
575+
}}
573576
/>;
574-
case CustomCollectionFieldType.peoplepicker:
575-
_selectedUsers = item[field.id] !== null ? item[field.id]: [] ;
577+
578+
case CustomCollectionFieldType.peoplepicker:
579+
_selectedUsers = item[field.id] !== null ? item[field.id] : [];
576580

577-
return <PeoplePicker
578-
peoplePickerCntrlclassName = {styles.peoplePicker}
579-
context = {this.props.context}
581+
return <PeoplePicker
582+
peoplePickerCntrlclassName={styles.peoplePicker}
583+
context={this.props.context}
580584
personSelectionLimit={typeof field.maximumUsers === "number" ? field.maximumUsers : typeof field.multiSelect === "boolean" && field.multiSelect === false ? 1 : 99}
581585
principalTypes={[PrincipalType.User]}
582586
ensureUser={true}
583587
placeholder={field.placeholder || field.title}
584588
required={field.required}
585589
onChange={(items: IPersonaProps[]) => {
586-
const _selected: string[] = items.length === 0 ? null : items.map(({secondaryText}) => secondaryText);
587-
this.onValueChanged(field.id, _selected)
588-
}
590+
const _selected: string[] = items.length === 0 ? null : items.map(({ secondaryText }) => secondaryText);
591+
this.onValueChanged(field.id, _selected)
592+
}
589593
}
590594
onGetErrorMessage={async (items: IPersonaProps[]) => await this.peoplepickerValidation(field, items, item)}
591595

@@ -600,7 +604,7 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
600604
disabled={disableFieldOnEdit}
601605
onChange={(e, value) => this.onValueChanged(field.id, value)}
602606
deferredValidationTime={field.deferredValidationTime || field.deferredValidationTime >= 0 ? field.deferredValidationTime : 200}
603-
onGetErrorMessage={async (value: string) => await this.fieldValidation(field, value) }
607+
onGetErrorMessage={async (value: string) => await this.fieldValidation(field, value)}
604608
inputClassName="PropertyFieldCollectionData__panel__string-field" />;
605609
}
606610
}
@@ -712,10 +716,10 @@ export class CollectionDataItem extends React.Component<ICollectionDataItemProps
712716
<Icon iconName="Clear" />
713717
</Link>
714718
) : (
715-
<Link title={strings.CollectionAddRowButtonLabel} className={`${this.disableAdd(crntItem) ? "" : styles.addBtn}`} disabled={this.disableAdd(crntItem)} onClick={this.addRow}>
716-
<Icon iconName="Add" />
717-
</Link>
718-
)
719+
<Link title={strings.CollectionAddRowButtonLabel} className={`${this.disableAdd(crntItem) ? "" : styles.addBtn}`} disabled={this.disableAdd(crntItem)} onClick={this.addRow}>
720+
<Icon iconName="Add" />
721+
</Link>
722+
)
719723
}
720724
</span>
721725
</div>

src/webparts/controlsTest/ControlsTestWebPart.manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@
5353
"IconPicker": false,
5454
"IFrameDialog": false,
5555
"IFramePanel": false,
56+
"ListItemComments": false,
57+
"ListItemPicker": false,
5658
"ListPicker": false,
5759
"ListView": false,
5860
"LocationPicker": false,
@@ -75,6 +77,7 @@
7577
"TreeView": false,
7678
"UploadFiles": false,
7779
"VariantThemeProvider": false,
80+
"ViewPicker": false,
7881
"WebPartTitle": false
7982
}
8083
}

src/webparts/controlsTest/IControlsTestWebPartProps.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ export type ValidControls = "all" |
66
"FieldCollectionData" | "FieldPicker" | "FilePicker" |
77
"FileTypeIcon" | "FolderExplorer" | "FolderPicker" |
88
"GridLayout" | "IconPicker" | "IFrameDialog" |
9-
"IFramePanel" | "ListPicker" | "ListView" |
9+
"IFramePanel" | "ListPicker" | "ListItemPicker" |
10+
"ListItemComments" | "ViewPicker" | "ListView" |
1011
"LocationPicker" | "Map" | "ModernAudio" |
1112
"ModernTaxonomyPicker" | "Pagination" | "PeoplePicker" |
1213
"Placeholder" | "Progress" | "RichText" |

src/webparts/controlsTest/components/ControlsTest.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ import {
146146
import {
147147
PeoplePicker,
148148
PrincipalType
149-
} from "../../../PeoplePicker";
149+
} from "../../../controls/peoplepicker";
150150
import { Placeholder } from "../../../Placeholder";
151151
import {
152152
IProgressAction,
@@ -1544,6 +1544,8 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
15441544
// filter="Title eq 'Test List'"
15451545
onSelectionChanged={this.onListPickerChange} />
15461546
</div>
1547+
</div>
1548+
<div id="ListItemPickerDiv" className={styles.container} hidden={!controlVisibility.ListItemPicker}>
15471549
<div className="ms-font-m">List Item picker list data tester:
15481550

15491551
<ListItemPicker listId={'b1416fca-dc77-4198-a082-62a7657dcfa9'}
@@ -1559,7 +1561,7 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
15591561
</div>
15601562
</div>
15611563

1562-
<div id="ListItemCommentsDiv" className={styles.container} hidden={!isListItemCommentsDivVisible}>
1564+
<div id="ListItemCommentsDiv" className={styles.container} hidden={!controlVisibility.ListItemComments}>
15631565
<div className="ms-font-m">List Item Comments Tester
15641566
<ListItemComments webUrl='https://contoso.sharepoint.com/sites/ThePerspective'
15651567
listId='6f151a33-a7af-4fae-b8c4-f2f04cbc690f'
@@ -1571,7 +1573,7 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
15711573
</div>
15721574
</div>
15731575

1574-
<div id="ViewPickerDiv" className={styles.container} hidden={!isViewPickerDivVisible}>
1576+
<div id="ViewPickerDiv" className={styles.container} hidden={!controlVisibility.ViewPicker}>
15751577
<div className="ms-font-m">View picker tester:
15761578
<ViewPicker context={this.props.context}
15771579
label="Select view(s)"

src/webparts/controlsTest/propertyPane/controls/ControlToggles.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ export class ControlToggles extends React.Component<IControlTogglesProps, IContr
5656
"FieldCollectionData", "FieldPicker", "FilePicker",
5757
"FileTypeIcon", "FolderExplorer", "FolderPicker",
5858
"GridLayout", "IconPicker", "IFrameDialog",
59-
"IFramePanel", "ListPicker", "ListView",
59+
"IFramePanel", "ListPicker", "ListItemPicker",
60+
"ListItemComments", "ViewPicker", "ListView",
6061
"LocationPicker", "Map", "ModernAudio",
6162
"ModernTaxonomyPicker", "Pagination", "PeoplePicker",
6263
"Placeholder", "Progress", "RichText",

0 commit comments

Comments
 (0)