مقدمه
در این مقاله، نحوه انجام عملیات لیست پایه در شیرپوینت با استفاده از TypeScript با کمک کلاس ها و متغیرها را خواهید آموخت.
در مقاله قبلی من، اصول اولیه و پیش نیازهای TypeScript را برای در دسترس بودن در ویژوال استودیو برای برنامه نویسی SharePoint TypeScript یاد گرفتید.
در مقاله دیگرم، در مورد پیاده سازی نمونه های اولیه TypeScript در شیرپوینت ویژوال استودیو پروژه شیرپوینت توضیح داده ام.
این مقاله بیشتر بر روی پیاده سازی اسکریپت ECMA با کمک TypeScript، با استفاده از مفاهیم برنامه نویسی شی گرا تمرکز دارد.
کلاس
کلاس اعضای لازم را در خود جای خواهد داد. این به این معنی است که کلاس متغیرهای لازم، سازنده ها و توابع تعریف شده را در خود نگه می دارد.
متغیرها
متغیرهای ضروری که برای همه توابع مشترک خواهند بود به عنوان متغیرهای عضو تعریف می شوند. در این مورد، متغیرها در زیر آورده شده است.
- declared.
- public context: SP.ClientContext;
- public web: SP.Web;
- public list: SP.List;
- public listCollection: SP.ListCollection;
سازنده
سازنده بدون پارامتر تعریف شده است. سازنده اشیاء لازم را تنظیم می کند. زمینه سایت را می توان با استفاده از روش مربوطه تنظیم کرد. با کمک آبجکت context می توان سایر متغیرها را با استفاده از روش های مربوطه تنظیم کرد.
- constructor() {
- this.context = SP.ClientContext.get_current();
- this.web = this.context.get_web();
- this.listCollection = this.web.get_lists();
- }
توابع
توابع مورد نیاز در داخل کلاس تعریف می شوند. در این نمونه با استفاده از توابع، عملیات لیست اصلی که در زیر ذکر شده است، تعریف شده است.
- بازیابی لیست ها
لیست های موجود در سایت بازیابی می شوند. مجموعه لیستی که قبلاً تعریف شده است به متغیر محلی اختصاص داده شده است. - بازیابی لیست
لیست با استفاده از نام لیست بازیابی می شود. با استفاده از متغیر مجموعه لیست تعریف شده در بالا، شی لیست با استفاده از روش getbytitle بازیابی می شود. - ایجاد لیست
لیست را می توان در سایت ایجاد کرد. پارامترهای ورودی لازم با استفاده از شی listcreationinformation تنظیم می شوند. با استفاده از متغیر مجموعه لیست تعریف شده در بالا، لیست را می توان با متد افزودن و شی ورودی ایجاد کرد. - حذف لیست
لیست را می توان از سایت حذف کرد. لیست با عملیات بازیابی لیست قابل دسترسی است. پس از آن، روش حذف برای شی لیست برای حذف یک لیست استفاده می شود.
مجموعه/اشیاء باید با استفاده از آبجکت متن (تعریف شده در سازنده) بارگذاری و اجرا شوند.
قطعه کد ذکر شده در زیر توابع تعریف شده در کلاس را نشان می دهد.
- class ListOperations {
- public context: SP.ClientContext;
- public web: SP.Web;
- public list: SP.List;
- public listCollection: SP.ListCollection;
- constructor() {
- this.context = SP.ClientContext.get_current();.this.web = this.context.get_web();
- this.listCollection = this.web.get_lists();
- }
- public GetLists() {
- var availableLists = this.listCollection;
- this.context.load(availableLists);.this.context.executeQueryAsync(function() {
- var lists = availableLists.getEnumerator();
- while (lists.moveNext()) {
- var list = lists.get_current();
- console.log(list.get_title()); // Prints on the console
- }
- }, function() {});
- }
- public CreateList(listName: string) {
- var listInfo = new SP.ListCreationInformation();
- listInfo.set_title(listName);
- listInfo.set_description("List created using TypeScript");
- listInfo.set_templateType(SP.ListTemplateType.genericList);
- var newList = this.listCollection.add(listInfo);
- this.context.load(newList);
- this.context.executeQueryAsync(function() {
- console.log(newList.get_title()); // Prints on the console
- }, function(sender, args) {});
- }
- public GetList(listName: string) {
- var list = this.listCollection.getByTitle(listName);
- this.context.load(list);
- this.context.executeQueryAsync(function() {
- console.log(list.get_title()); // Prints on the console
- }, function() {});
- }
- public DeleteList(listName: string) {
- var list = this.listCollection.getByTitle(listName);
- list.deleteObject();
- this.context.executeQueryAsync(function() {
- console.log("List Deleted"); // Prints on the console
- }, function() {});
- }
- }
اجرا