Skip to content

Commit 78cf0ab

Browse files
committed
fixed
1 parent bbb4b31 commit 78cf0ab

File tree

5 files changed

+19
-18
lines changed

5 files changed

+19
-18
lines changed

src/common/utilities/SPHelper.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,14 @@ export class SPHelper {
372372
});
373373
}
374374

375+
public static isTextFieldType(fieldType?: string): boolean {
376+
if (!fieldType) {
377+
return true;
378+
}
379+
const lowercasedFieldType = fieldType.toLowerCase();
380+
return lowercasedFieldType === 'text' || lowercasedFieldType === 'note';
381+
}
382+
375383

376384
private static _updateFieldInSessionStorage(field: ISPField, context: IContext): void {
377385
let loadedViewFields: { [viewId: string]: IFields } = SPHelper._getLoadedViewFieldsFromStorage();

src/controls/listItemPicker/ListItemPicker.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { IListItemPickerProps, IListItemPickerState } from ".";
88
import * as telemetry from '../../common/telemetry';
99
import isEqual from 'lodash/isEqual';
1010
import { ITag } from 'office-ui-fabric-react/lib/components/pickers/TagPicker/TagPicker.types';
11+
import { SPHelper } from '../../common/utilities/SPHelper';
1112

1213

1314
export class ListItemPicker extends React.Component<IListItemPickerProps, IListItemPickerState> {
@@ -168,7 +169,7 @@ export class ListItemPicker extends React.Component<IListItemPickerProps, IListI
168169
// Check if the list had items
169170
if (listItems.length > 0) {
170171
for (const item of listItems) {
171-
arrayItems.push({ key: item[keyColumn], name: item[columnInternalName] });
172+
arrayItems.push({ key: item[keyColumn], name: SPHelper.isTextFieldType(field.TypeAsString === 'Calculated' ? field.ResultType : field.TypeAsString) ? item[columnInternalName] : item.FieldValuesAsText[columnInternalName] });
172173
}
173174
}
174175
return arrayItems;

src/services/SPService.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ISPService, ILibsOptions, LibsOrderBy, IFieldsOptions, FieldsOrderBy }
22
import { ISPField, ISPList, ISPLists, IUploadImageResult } from "../common/SPEntities";
33
import { BaseComponentContext } from '@microsoft/sp-component-base';
44
import { SPHttpClient, ISPHttpClientOptions } from "@microsoft/sp-http";
5-
import { urlCombine } from "../common/utilities";
5+
import { SPHelper, urlCombine } from "../common/utilities";
66
import filter from 'lodash/filter';
77
import find from 'lodash/find';
88

@@ -170,7 +170,7 @@ export default class SPService implements ISPService {
170170
let isPost = false;
171171
let processItems: ((items: any[]) => any[]) | undefined;
172172

173-
if (field && field.TypeAsString === 'Calculated' && this._isTextFieldType(field.ResultType)) { // for calculated fields we need to use CAML query
173+
if (field && field.TypeAsString === 'Calculated' && SPHelper.isTextFieldType(field.ResultType)) { // for calculated fields we need to use CAML query
174174
let orderByStr = '';
175175

176176
if (orderBy) {
@@ -187,7 +187,7 @@ export default class SPService implements ISPService {
187187
apiUrl = `${webAbsoluteUrl}/_api/web/lists('${listId}')/GetItems(query=@v1)?$select=${keyInternalColumnName || 'Id'},${internalColumnName}&@v1=${JSON.stringify({ ViewXml: camlQuery })}`;
188188
isPost = true;
189189
}
190-
else if (this._isTextFieldType(field.TypeAsString)) {
190+
else if (SPHelper.isTextFieldType(field.TypeAsString)) {
191191
const filterStr = substringSearch ? // JJ - 20200613 - find by substring as an option
192192
`${filterText ? `substringof('${encodeURIComponent(filterText.replace("'", "''"))}',${internalColumnName})` : ''}${filterString ? (filterText ? ' and ' : '') + filterString : ''}`
193193
: `${filterText ? `startswith(${internalColumnName},'${encodeURIComponent(filterText.replace("'", "''"))}')` : ''}${filterString ? (filterText ? ' and ' : '') + filterString : ''}`; //string = filterList ? `and ${filterList}` : '';
@@ -201,8 +201,8 @@ export default class SPService implements ISPService {
201201
return this._filterListItemsFieldValuesAsText(cachedItems.items, internalColumnName, filterText, substringSearch);
202202
}
203203

204-
apiUrl = `${webAbsoluteUrl}/_api/web/lists('${listId}')/GetItems?$select=${keyInternalColumnName || 'Id'},FieldValuesAsText/${internalColumnName}&$expand=FieldValuesAsText&$orderby=${orderBy}${filterString ? '&$filter=' + filterString : ''}`;
205-
isPost = true;
204+
apiUrl = `${webAbsoluteUrl}/_api/web/lists('${listId}')/items?$select=${keyInternalColumnName || 'Id'},${internalColumnName},FieldValuesAsText/${internalColumnName}&$expand=FieldValuesAsText&$orderby=${orderBy}${filterString ? '&$filter=' + filterString : ''}`;
205+
isPost = false;
206206

207207
processItems = (items: any[]) => {
208208

@@ -638,14 +638,6 @@ export default class SPService implements ISPService {
638638
return result;
639639
}
640640

641-
private _isTextFieldType(fieldType?: string): boolean {
642-
if (!fieldType) {
643-
return true;
644-
}
645-
const lowercasedFieldType = fieldType.toLowerCase();
646-
return lowercasedFieldType === 'text' || lowercasedFieldType === 'note';
647-
}
648-
649641
private _filterListItemsFieldValuesAsText(items: any[], internalColumnName: string, filterText: string | undefined, substringSearch: boolean): any[] {
650642
const lowercasedFilterText = filterText.toLowerCase();
651643

src/webparts/controlsTest/ControlsTestWebPart.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
} from "@microsoft/sp-property-pane";
1616
import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base";
1717

18-
import ControlsTest from "./components/ControlsTest_SingleComponent";
18+
import ControlsTest from "./components/ControlsTest";
1919
import { IControlsTestProps } from "./components/IControlsTestProps";
2020
import { IControlsTestWebPartProps } from "./IControlsTestWebPartProps";
2121

src/webparts/controlsTest/components/ControlsTest.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1466,10 +1466,10 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
14661466

14671467
<div className="ms-font-m">List Item picker list data tester:
14681468

1469-
<ListItemPicker listId={'76a8231b-35b6-4703-b1f4-5d03d3dfb1ca'}
1470-
columnInternalName="Title"
1469+
<ListItemPicker listId={'b1416fca-dc77-4198-a082-62a7657dcfa9'}
1470+
columnInternalName="DateAndTime"
14711471
keyColumnInternalName="Id"
1472-
filter={"Title eq 'SPFx'"}
1472+
// filter={"Title eq 'SPFx'"}
14731473
orderBy={'Title desc'}
14741474
itemLimit={5}
14751475
context={this.props.context}

0 commit comments

Comments
 (0)