Создание Document Set в SPFx используя REST API + Angular JS

Привет всем.

Сегодня хочу поделиться информацией как можно создать Document Set в вашей  клиентской веб части, используя REST API + Angular JS.

Screen Shot 2016-10-19 at 12.11.38 PM

Для начала хочу отменить, что не существует прямого доступа к обращению к элементам Document Set через стандартный вызов _api/web/lists. Для того, чтобы обратиться к Document Set по REST, можно использовать /_vti_bin/listdata.svc.

Итак, для начала создадим разметку для кнопки и функцию при нажатии кнопки, которая будет выполнять действия по созданию Document Set.

<div>
<section layout="row" layout-sm="column" layout-align="center center" layout-wrap>
<md-button class="md-raised" ng-click="ctrl.CreateNewDoc()">Зареєструвати</md-button>
</section>
</div>

Далее пишем обработку нажатия кнопки в нашем controller Angular JS.

$scope.CreateNewDoc = function CreateNewDoc(){
const postBody: IList = {
Title: "Developer workbench",
Path : "path_to_your_library_destination"
};

//Explicitly add the odata v3 header to work with the SharePoint REST API
const reqHeaders: Headers = new Headers();
reqHeaders.append('odata-version', '3.0');
reqHeaders.append('Slug', 'URL_to_new_document_set|content_type_id')

ctx.httpClient.post(
`${ctx.pageContext.web.absoluteUrl}/_vti_bin/listdata.svc/name_of_library`,
{
body: JSON.stringify(postBody),
headers: reqHeaders
});

}

Вот и все. Запускаем код и видим результат.

Удачи.