Skip to content

Commit 392fc20

Browse files
Merge pull request #1050 from Xiyitifu/master
Add multi numbers support for baseTemplate option in ListPicker
2 parents 6449285 + 0cbffdd commit 392fc20

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

src/controls/listPicker/IListPicker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export interface IListPickerProps {
1818
/**
1919
* The SharePoint BaseTemplate to filter the list options by
2020
*/
21-
baseTemplate?: number;
21+
baseTemplate?: number | number[];
2222
/**
2323
* Whether or not to include hidden lists. Default is true
2424
*/

src/services/ISPService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export enum LibsOrderBy {
1010
*/
1111
export interface ILibsOptions {
1212
orderBy?: LibsOrderBy;
13-
baseTemplate?: number;
13+
baseTemplate?: number | number[];
1414
includeHidden?: boolean;
1515
filter?: string;
1616
contentTypeId?: string;

src/services/SPService.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,21 @@ export default class SPService implements ISPService {
5858
queryUrl += `&$filter=${encodeURIComponent(options.filter)}`;
5959
} else {
6060
if (options.baseTemplate) {
61-
queryUrl += `&$filter=BaseTemplate eq ${options.baseTemplate}`;
62-
filtered = true;
61+
if (Array.isArray(options.baseTemplate)) {
62+
const numbers: number[] = options.baseTemplate;
63+
const mapNumbers = numbers.map((i) => {
64+
if (i == numbers[0]) {
65+
return `BaseTemplate eq ${i}`;
66+
} else {
67+
return `or BaseTemplate eq ${i}`;
68+
}
69+
});
70+
queryUrl += `&$filter=${mapNumbers.join(" ")}`;
71+
filtered = true;
72+
} else {
73+
queryUrl += `&$filter=BaseTemplate eq ${options.baseTemplate}`;
74+
filtered = true;
75+
}
6376
}
6477

6578
if (options.includeHidden === false) {

0 commit comments

Comments
 (0)