當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript sp-http.SPHttpClient類代碼示例

本文整理匯總了TypeScript中@microsoft/sp-http.SPHttpClient的典型用法代碼示例。如果您正苦於以下問題:TypeScript SPHttpClient類的具體用法?TypeScript SPHttpClient怎麽用?TypeScript SPHttpClient使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了SPHttpClient類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: reject

		return new Promise<string>((resolve,reject) => {
			let endpoint = Text.format("{0}/_api/web/lists(guid'{1}')/Fields?$select=IsTermSetValid,TermSetId&$filter=InternalName eq '{2}'", webUrl, listId, fieldInternalName);
			this.spHttpClient.get(endpoint, SPHttpClient.configurations.v1).then((response: SPHttpClientResponse) => {
				if(response.ok) {
					response.json().then((data:any) => {
						let fields:any[] = data.value;
						let fieldTermSetId = null;

						if(fields.length > 0) {
							let field = fields[0];

							if(field.IsTermSetValid && !isEmpty(field.TermSetId)) {
								fieldTermSetId = field.TermSetId;
							}
						}
						resolve(fieldTermSetId);
					})
					.catch((error) => { reject(error); });
				}
				else {
					reject(response);
				}
			})
			.catch((error) => { reject(error); }); 
        });
開發者ID:,項目名稱:,代碼行數:25,代碼來源:

示例2:

		return new Promise<any>((resolve,reject) => {
			let endpoint = Text.format("{0}/_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser", webUrl);
			let data:any = {
                queryParams:{
                    __metadata:{
                        'type':'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters'
                    },
					QueryString: query,
                    PrincipalSource: principalSource,
					PrincipalType: principalType,
					MaximumEntitySuggestions: maximumEntitySuggestion || 50
                }
            };
			let options: ISPHttpClientOptions = { headers: { 'odata-version': '3.0' }, body: JSON.stringify(data) };

			this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, options)
				.then((response: SPHttpClientResponse) => {
					if(response.ok) {
						resolve(response.json());
					}
					else {
						reject(response.statusText);
					}
				})
				.catch((error) => {
					reject(error);
				}
			); 
        });
開發者ID:,項目名稱:,代碼行數:29,代碼來源:

示例3: encodeURIComponent

 return new Promise<any>((resolve, reject) => {
     const httpClientOptions: ISPHttpClientOptions = {
         headers: {
         'Accept': 'application/json;odata=verbose',
         'Content-type': 'application/json;odata=verbose',
         'X-SP-REQUESTRESOURCES': 'listUrl=' + encodeURIComponent(listUrl),
         'odata-version': '',
         },
     };
     const endpoint = `${webUrl}/_api/web/GetList(@listUrl)/RenderExtendedListFormData`
                      + `(itemId=${itemId},formId='editform',mode='2',options=7)`
                      + `?@listUrl=${encodeURIComponent('\'' + listUrl + '\'')}`;
     this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, httpClientOptions)
         .then((response: SPHttpClientResponse) => {
             if (response.ok) {
                 return response.json();
             } else {
                 reject( this.getErrorMessage(webUrl, response) );
             }
         })
         .then((data) => {
             const extendedData = JSON.parse(data.d.RenderExtendedListFormData);
             if (formType !== ControlMode.Display) {
                 resolve(extendedData.ListData);
             } else {
                 resolve(extendedData.Data.Row[0]);
             }
         })
         .catch((error) => {
             reject( this.getErrorMessage(webUrl, error) );
         });
 });
開發者ID:,項目名稱:,代碼行數:32,代碼來源:

示例4: and

		return new Promise<IListTitle[]>((resolve,reject) => {
			let endpoint = Text.format("{0}/_api/web/lists?$select=Id,Title&$filter=(IsPrivate eq false) and (IsCatalog eq false) and (Hidden eq false)", webUrl);
			this.spHttpClient.get(endpoint, SPHttpClient.configurations.v1).then((response: SPHttpClientResponse) => {
				if(response.ok) {
					response.json().then((data: any) => {
						let listTitles:IListTitle[] = data.value.map((list) => { return { id: list.Id, title: list.Title }; });
						resolve(listTitles.sort((a,b) => { return Number(a.title > b.title); }));
					})
					.catch((error) => { reject(error); });
				}
				else {
					reject(response);
				}
			})
			.catch((error) => { reject(error); }); 
        });
開發者ID:,項目名稱:,代碼行數:16,代碼來源:

示例5: getChildTermsAsync

  /**
   * @function
   * Gets the child terms of another term of the Term Store in the current SharePoint env
   */
  private async getChildTermsAsync(term: any): Promise<ISPTermObject[]> {

    // Check if there are child terms to search for
    if (Number(term['TermsCount']) > 0) {

      //Build the Client Service Request
      let clientServiceUrl = this.siteAbsoluteUrl + '/_vti_bin/client.svc/ProcessQuery';
      let data = '<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="20" ObjectPathId="19" /><Query Id="21" ObjectPathId="19"><Query SelectAllProperties="false"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties><Property Name="CustomSortOrder" ScalarProperty="true" /><Property Name="CustomProperties" ScalarProperty="true" /><Property Name="LocalCustomProperties" ScalarProperty="true" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><Property Id="19" ParentId="16" Name="Terms" /><Identity Id="16" Name="' + term['_ObjectIdentity_'] + '" /></ObjectPaths></Request>';
      let httpPostOptions: ISPHttpClientOptions = {
        headers: {
          'accept': 'application/json',
          'content-type': 'application/json',
          "X-RequestDigest": this.formDigest
        },
        body: data
      };
      let serviceResponse: SPHttpClientResponse = await this.spHttpClient.post(clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions);
      let serviceJSONResponse: Array<any> = await serviceResponse.json();

      // Extract the object of type SP.Taxonomy.TermCollection from the array
      let termsCollections = serviceJSONResponse.filter(
        (child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === "SP.Taxonomy.TermCollection")
      );

      // And if any, get the first and unique Terms collection object
      if (termsCollections != null && termsCollections.length > 0) {
        let termsCollection = termsCollections[0];

        let childItems = termsCollection['_Child_Items_'];
        
        return(await Promise.all<ISPTermObject>(childItems.map(async (t: any) : Promise<ISPTermObject> => {
          return await this.projectTermAsync(t, term);
        })));
      }
    }

    // Default empty array in case of any missing data
    return (new Promise<Array<ISPTermObject>>((resolve, reject) => {
      resolve(new Array<ISPTermObject>());
    }));
  }
開發者ID:AdrianDiaz81,項目名稱:sp-dev-fx-extensions,代碼行數:45,代碼來源:SPTermStoreService.ts


注:本文中的@microsoft/sp-http.SPHttpClient類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。