import * as React from 'react';
import { PrimaryButton } from '@fluentui/react/lib/Button';
import { IPersona } from '@fluentui/react/lib/Persona';
import { people } from '@fluentui/example-data';
import { SelectedPeopleList } from '@fluentui/react-experiments/lib/SelectedItemsList';
export interface IPeopleSelectedItemsListExampleState {
currentSelectedItems: IPersona[];
}
export class SelectedPeopleListBasicExample extends React.Component<{}, IPeopleSelectedItemsListExampleState> {
private index: number;
private addMultipleKey = 50;
constructor(props: {}) {
super(props);
this.state = {
currentSelectedItems: [people[40]],
};
}
public render(): JSX.Element {
return (
{this._renderExtendedPicker()}
);
}
private _renderExtendedPicker(): JSX.Element {
return (
);
}
private _onAddItemButtonClicked = (): void => {
if (!this.index) {
this.index = 0;
}
this.setState({ currentSelectedItems: [...this.state.currentSelectedItems, people[this.index]] });
this.index++;
};
private _addMoreItems = (): void => {
const moreItems = people.map(obj => {
return { ...obj, key: ++this.addMultipleKey };
});
this.setState({ currentSelectedItems: [...this.state.currentSelectedItems, ...moreItems] });
};
private _onItemsRemoved = (items: IPersona[]): void => {
const currentSelectedItemsCopy = [...this.state.currentSelectedItems];
items.forEach(item => {
const indexToRemove = currentSelectedItemsCopy.indexOf(item);
currentSelectedItemsCopy.splice(indexToRemove, 1);
this.setState({ currentSelectedItems: [...currentSelectedItemsCopy] });
});
};
}