@@ -52,8 +52,10 @@ import {
52
52
import {
53
53
DisplayMode ,
54
54
Environment ,
55
- EnvironmentType
55
+ EnvironmentType ,
56
+ Guid
56
57
} from "@microsoft/sp-core-library" ;
58
+
57
59
import { SPHttpClient } from "@microsoft/sp-http" ;
58
60
import { SPPermission } from "@microsoft/sp-page-context" ;
59
61
@@ -187,6 +189,7 @@ import { EnhancedThemeProvider } from "../../../EnhancedThemeProvider";
187
189
import { ControlsTestEnhancedThemeProvider , ControlsTestEnhancedThemeProviderFunctionComponent } from "./ControlsTestEnhancedThemeProvider" ;
188
190
import { AdaptiveCardDesignerHost } from "../../../AdaptiveCardDesignerHost" ;
189
191
import { ModernAudio , ModernAudioLabelPosition } from "../../../ModernAudio" ;
192
+ import { SPTaxonomyService , TaxonomyTree } from "../../../ModernTaxonomyPicker" ;
190
193
191
194
192
195
// Used to render document card
@@ -277,6 +280,8 @@ const toolbarFilters = [{
277
280
*/
278
281
export default class ControlsTest extends React . Component < IControlsTestProps , IControlsTestState > {
279
282
private taxService : SPTermStorePickerService = null ;
283
+ private spTaxonomyService = new SPTaxonomyService ( this . props . context ) ;
284
+
280
285
private richTextValue : string = null ;
281
286
private theme = window [ "__themeState__" ] . theme ;
282
287
private pickerStylesSingle : Partial < IBasePickerStyles > = {
@@ -495,7 +500,10 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
495
500
selectedTeam : [ ] ,
496
501
selectedTeamChannels : [ ] ,
497
502
errorMessage : "This field is required" ,
498
- selectedFilters : [ "filter1" ]
503
+ selectedFilters : [ "filter1" ] ,
504
+ termStoreInfo : null ,
505
+ termSetInfo : null ,
506
+ testTerms : [ ] ,
499
507
} ;
500
508
501
509
this . _onIconSizeChange = this . _onIconSizeChange . bind ( this ) ;
@@ -507,15 +515,16 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
507
515
/**
508
516
* React componentDidMount lifecycle hook
509
517
*/
510
- public componentDidMount ( ) {
518
+ public async componentDidMount ( ) {
511
519
const restApi = `${ this . props . context . pageContext . web . absoluteUrl } /_api/web/GetFolderByServerRelativeUrl('Shared%20Documents')/files?$expand=ListItemAllFields` ;
512
- this . props . context . spHttpClient . get ( restApi , SPHttpClient . configurations . v1 )
513
- . then ( resp => { return resp . json ( ) ; } )
514
- . then ( items => {
515
- this . setState ( {
516
- items : items . value ? items . value : [ ]
517
- } ) ;
518
- } ) ;
520
+ const response = await this . props . context . spHttpClient . get ( restApi , SPHttpClient . configurations . v1 ) ;
521
+ const items = await response . json ( ) ;
522
+
523
+ this . setState ( {
524
+ items : items . value ? items . value : [ ] ,
525
+ termStoreInfo : await this . spTaxonomyService . getTermStoreInfo ( ) ,
526
+ termSetInfo : await this . spTaxonomyService . getTermSetInfo ( Guid . parse ( "4bc86596-7caf-4e70-80c9-d9769e448988" ) ) ,
527
+ } ) ;
519
528
520
529
// // Get Authors in the SharePoint Document library -- For People Picker Testing
521
530
// const restAuthorApi = `${this.props.context.pageContext.web.absoluteUrl}/_api/web/lists/GetByTitle('Documents')/Items?$select=Id, Author/EMail&$expand=Author/EMail`;
@@ -2379,6 +2388,24 @@ export default class ControlsTest extends React.Component<IControlsTestProps, IC
2379
2388
/>
2380
2389
</ div >
2381
2390
2391
+ < div >
2392
+ < h3 > Modern Taxonomy Tree</ h3 >
2393
+ { this . state . termStoreInfo && (
2394
+ < TaxonomyTree
2395
+ languageTag = { this . state . termStoreInfo . defaultLanguageTag }
2396
+ onLoadMoreData = { this . spTaxonomyService . getTerms }
2397
+ pageSize = { 50 }
2398
+ setTerms = { ( value ) => this . setState ( { testTerms : value as any } ) }
2399
+ termStoreInfo = { this . state . termStoreInfo }
2400
+ termSetInfo = { this . state . termSetInfo }
2401
+ terms = { this . state . testTerms as any [ ] }
2402
+ onRenderActionButton = { ( ) => < button > test button</ button > }
2403
+ hideDeprecatedTerms = { false }
2404
+ showIcons = { true }
2405
+ />
2406
+ ) }
2407
+ </ div >
2408
+
2382
2409
</ div >
2383
2410
) ;
2384
2411
}
0 commit comments