S H A R E P O I N T C E N T E R

BPC PowerForms Script (Properties AND methods)

یک متغیرعمومی جهانی به نام "form" در هر جایی که بتوانید از اسکریپت استفاده کنید موجود است:

- event های فرم (Load, Validation و...)
- Inside Enabled و Visibility formulas
- در control Value-Change events
- در رویدادهای سفارشی ارائه شده توسط کنترل های خاص (مانندgrids)

DataItem

Type : Object

اطلاعات رکورد را نشان می دهد. هر ویژگی شی نشان دهنده یک ستون لیست است.

از نام های داخلی ستون ها برای ساخت این شی استفاده شده است.

MaintainTabSelection

Type : Bool

در صورتی که فرم دارای بیش از یک برگه انتخابی باشد، پس از عمل ذخیره، آخرین برگه انتخاب شده در صورت تنظیم صحیح باقی می ماند.

Loaded

Type : Bool

این ویژگی در هنگام بارگیری فرم درست است و به محض اینکه کاربر شروع به ویرایش داده ها در فرم کند، false می شود.

زمانی مفید است که می‌خواهید مقدار کنترل‌ها را در طول رویداد Value-Change کنترل دیگری تغییر دهید.

از آنجایی که رویدادهای Value-Change حتی زمانی که فرم اولیه می شود، افزایش می یابد، ممکن است نتایج ناخواسته ای داشته باشد.

مثلا :

شما می خواهید هر بار که کاربر مشتری خاصی را از یک جعبه ترکیبی انتخاب می کند، به طور خودکار ترکیب اولویت را روی "بالا" تنظیم کند. این باید به عنوان یک مقدار پیش فرض برای آن کنترل عمل کند، اما کاربر ممکن است آن را پس از آن تغییر دهد. بنابراین ما این قانون را فقط زمانی اعمال می کنیم که مقدار ترکیب با یک اقدام کاربر تغییر کند.

مثال:

کد
// کد داخل رویداد Value-Change ترکیب مشتری

var customer = form.GetControl(“c_Customer”).GetValue_Name();

if (customer == “BPC”) form.GetControl(“c_Priority”).SetValue(“High”);

// کد بالا نادرست است، زیرا در هنگام اولیه سازی فرم نیز اجرا می شود

// هنگامی که فرم مقادیر مورد فهرست را به کنترل ها اعمال می کند.

// راه صحیح به صورت زیر خواهد بود:

var customer = form.GetControl(“c_Customer”).GetValue_Name();

if (form.Loaded) {

  if (customer == “BPC”) form.GetControl(“c_Priority”).SetValue(“High”);

}

FieldValue(controlName)

Return type : string

برای بازیابی مقدار فعلی یک کنترل در فرم استفاده می شود.

مقدار همیشه به عنوان یک رشته بازیابی می شود.

برای مقادیر تاریخ، از فرمت ANSI استفاده می شود.

برای مقادیر عددی، از محلی ایالات متحده استفاده می شود.

برای مقادیر جستجو، از قالب ID;#TITLE استفاده می شود.

برای مقادیر بولی، 1 یا 0 برگردانده می شود.

مثال :

Code

form.FieldValue(“c_Title”);

مثال فرمول فعال شده:

Code

form.FieldValue(“c_Status”) != “Open”

FieldValue_Name(controlName)

Return type : string

این روش فقط برای کنترل های جستجو استفاده می شود و قسمت TITLE از مقدار کنترل (ID;#TITLE) را برمی گرداند.

به عنوان مثال، یک کنترل جستجوی ترکیبی دارای مقدار : 2;#Open است

Code

var a = form.FieldValue(“c_Status”);

// returns “2;#Open”

var b = form.FieldValue_Name(“c_Status”);

// returns “Open”

FieldValue_Value(controlName)

Return type : string

این روش فقط برای کنترل‌های جستجو استفاده می‌شود و قسمت ID مقدار کنترل را برمی‌گرداند (ID;#TITLE)

به عنوان مثال، یک کنترل جستجوی ترکیبی دارای مقدار : 2;#Open است

Code

var a = form.FieldValue(“c_Status”);

// returns “2;#Open”

var b = form.FieldValue_Value(“c_Status”);

// returns “2”

 

FieldValues(controlName, separator)

Return type : string

این روش فقط برای کنترل های چند جستجویی استفاده می شود.

روش FieldValue(controlName) برای کنترل‌های چند جستجو، مقدار را در قالب ID1;TITLE1;#ID2;#TITLE2;#… برمی‌گرداند.

این متد تمام قسمت های ID داخل مقدار را که توسط جداکننده ارائه شده به عنوان پارامتر به هم پیوسته اند، برمی گرداند.

مثلا:

Code

var value = form.FieldValue(“c_Multi”);

// returns “1;#Open;#2;#Closed”

var value2 = form.FieldValues(“c_Multi”, “,”);

// returns “1,2”

 

FieldNames(controlName, separator)

Return type : string

این روش فقط برای کنترل های چند جستجویی استفاده می شود.

روش FieldValue(controlName) برای کنترل‌های چند جستجو، مقدار را در قالب ID1;TITLE1;#ID2;#TITLE2;#… برمی‌گرداند.

این روش تمام قسمت‌های TITLE را در داخل مقدار برمی‌گرداند که توسط جداکننده ارائه‌شده به‌عنوان پارامتر به هم متصل شده‌اند.

مثلا:

Code

var value = form.FieldValue(“c_Multi”);

// returns “1;#Open;#2;#Closed”

var value2 = form.FieldNames(“c_Multi”, “,”);

// returns “Open,Closed”

 

UserID()

Return type : string

این روش شناسه کاربر فعلی شیرپوینت را برمی گرداند.

مثال :

Code

var id = form.UserID();

 

UserFullName()

Retutn type : string

نام کاربر فعلی را برمی گرداند

مثال :

Code

var name = form.UserFullName();

 

LoginName()

Retutn type : string

نام ورود کاربر فعلی را برمی گرداند

مثال :

Code

var name = form.LoginName();

 

UserInGroup(idOrName)

Return type : bool

اگر کاربر فعلی متعلق به گروهی باشد که شناسه یا نام ارائه شده را دارد، درست است.

مثال :

Code

var granted = (form.UserInGroup(“Administrators”) || form.UserInGroup(“2”));

 

CurrentUser()

Return type : object

ساختاری حاوی اطلاعات کاربر فعلی را برمی‌گرداند.

User Properties :

ID, FullName, LoginName, Email, Groups (array of groups)

Group Properties

ID, Name

مثلا:

Code

var user = form.CurrentUser();

var userId = user.ID;

for (var i=0;i<user.Groups.length;i++) {

var group = user.Groups[i];

var groupName = group.Name;

}

 

IsNewRecord()

Return type : bool

اگر در حال حاضر در یک رکورد جدید باشیم true برمی گرداند، در غیر این صورت false دوباره تنظیم می شود.

مثال :

Code

if (form.IsNewRecord() && form.FieldValue(“c_Title”) == “”)

alert(“Title must be provided for new records”);

 

ViewMode()

Return type : bool

اگر فرم در حالت مشاهده باشد، true را برمی‌گرداند. این مهم است که به خصوص هنگام برخورد با اسکریپتی که کنترل ها را فعال می کند، بدانید.

مثال :

یک اسکریپت مانند زیر که در داخل اسکریپت LoadCompleted فرم نوشته شده است، به این نتیجه می رسد که کنترل خاص حتی زمانی که فرم در حالت ViewMode باشد فعال می شود.

Code

var status = form.DataItem.Status;

var control = form.GetControl(“c_Title”);

// Wrong

if (status == “Open”) control.SetEnable(true);

else control.SetEnable(true)

// Correct

if (form.ViewMode() == false) {

if (status == “Open”) control.SetEnable(true);

else control.SetEnable(false);

}

 

ShowMessage(message)

Return type : None

یک پیام کوتاه را در یک مکان نگهدار بین نوار ابزار و فرم نمایش می دهد.

ممکن است برای ارائه هشدارها و دستورالعمل ها به کاربر نهایی استفاده شود.

مثال :

Code

form.ShowMessage(“Password must be at least 6 characters long”);

 

MessageForm(message, title, callback)

Return type : None

یک فرم پیام پنجره بازشو به کاربر نشان می دهد.

از پارامترهای پیام و عنوان برای تنظیم متن و عنوان گفتگو استفاده می شود.

اگر یک روش پاسخ به تماس مشخص شده باشد، زمانی که کاربران فرم را ببندند، تماس برگشتی اجرا می شود.

مثال :

Code

form.MessageForm(“There has been an error saving data”, “Error”, function(e) {

form.CancelRecord();

});

 

CloseMessageForm()

Return type : None

فرم پیام بالا را بصورت برنامه نویسی می بندد.

مثال :

Code

form.CloseMessageForm();

 

ShowButton(buttonName)

Return type : None

یک دکمه نوار ابزار را نشان می دهد.

برای اینکه این روش کار کند، ابتدا کاربر باید حقوق مناسب فشار دادن آن دکمه را داشته باشد و طراح فرم باید اجازه داده باشد که این دکمه روی فرم موجود باشد.

مثال :

Code

form.ShowButton(“delete”);

Available button names (Case Insensitive) : “New”, “Save”, “SaveAndExit”, “Delete”, “Cancel”, “Edit”, “Help”, “Design”, “Print”

 

HideButton(buttonName)

Return type : None

یک دکمه را از نوار ابزار پنهان می کند.

Available button names (Case Insensitive) : “New”, “Save”, “SaveAndExit”, “Delete”, “Cancel”, “Edit”, “Help”, “Design”, “Print”

مثلا:

Code

form.HideButton(“Save”);

form.HideButton(“SaveAndExit”);

 

RequestValue(key)

Return type : string

در داخل querystring پنجره جستجو می کند تا کلیدی مطابق با پارامتر مشخص شده پیدا کند.

مقدار پارامتر querystring را برمی گرداند.

به عنوان مثال (با فرض یک صفحه با آدرس: "http://servername/Lists/EditPage.aspx?IsDlg=1")

Code

var value = form.RequestValue(“IsDlg”);

// returns “1”

 

SendEmail(to, subject, body, callback)

Return type : None

از زیرساخت شیرپوینت برای ارسال ایمیل استفاده می کند. پاسخ تماس (اختیاری) به محض اتمام عملیات اجرا خواهد شد.

مثال :

Code

var sub = form.GetControl(“c_EmailSubject”).GetValue();

var to = form.GetControl(“c_EmailTo”).GetValue();

var body = form.GetControl(“c_EmailBody”).GetValue();

form.SendEmail(to, sub, body, function(e) {

var ok = e.Success;

if (!ok) alert(“Error sending email : ” + e.ErrorMessage);

});

متغیری که به callback ارسال می شود دارای ویژگی های زیر خواهد بود:

Success : Type = bool
ErrorMessage : Type = string

CallWebService(wsName, callback)

Return type : None

برای اجرای دستی یک وب سرویس از پیش تعریف شده استفاده می شود.

مثال :

در مثال زیر ما یک وب سرویس از پیش تعریف شده را فراخوانی می کنیم که سرویس پیش فرض _vti_bin/Lists.asmx شیرپوینت را هدف قرار می دهد. در داخل callback، خطاها را بررسی می‌کند و سپس همه نتایج را حلقه می‌کند تا برای هر فهرست بازیابی شده یک لینک <a> ایجاد کند.

Code

function callback(e) {

var c = form.GetControl(“c_WSResult”);

var s = “”;

if (pf.IsEmpty(e.ErrorMessage)) {

for (var i=0;i<e.ListItems.length;i++) {

if (i>0) s+=”, “;

s += “<a href=\”#\” onclick=\”w = window.open(‘http://wssdev1/Lists/” + e.ListItems[i].Title + “‘,”,’width=800,  height=600, resizable=yes, scrollbars=yes’);\” style=\”color:#cc6600\”>” + e.ListItems[i].Title + “</a>”;

}

c.SetValue(s);

}

else { c.SetValue(e.ErrorMessage); }

form.GetControl(“c_WSButton”).SetEnable(true);

}

form.GetControl(“c_WSButton”).SetEnable(false);

form.CallWebService(“All Lists”, callback);

 

ExecuteSQLQuery(queryName, callback)

Return type : None

برای اجرای دستی یک پرس و جو از پیش تعریف شده SQL استفاده می شود.

مثال :

Code

function callback(e) {

var c = form.GetControl(“c_SQLResult”);

var s = “”;

if (pf.IsEmpty(e.ErrorMessage)) {

for (var i=0;i<e.ListItems.length;i++) {

if (i>0) s+=”, “;

s += e.ListItems[i].NAME;

}

c.SetValue(“<strong>” + s + “</strong>”);

}

else {

c.SetValue(e.ErrorMessage);

}

}

form.ExecuteSQLQuery(“Products”, callback);

 

LoadListQuery(listQueryName,callback)

Return type: None

برای اجرای دستی یک پرس و جو لیست از پیش تعریف شده استفاده می شود.

مثال:

Code
function callback(e) {
  var s = “”;
  if (pf.IsEmpty(e.ErrorMessage)) {
    for (var i=0;i<e.ListItems.length;i++) {
      if (i>0) s+=”, “;
      s += e.ListItems[i].Title;
    }
  }
  else {
      s = e.ErrorMessage;
  }
  alert(s);
}
form.LoadListQuery(“Products”, callback);

LoadRecords(listUrl, listIdOrName, viewIdOrName, criteria, fieldsToRetrieve, sortField, sortAscending, rowLimit, callback)

Return type : None

برای بارگیری دستی آرایه ای از موارد لیست بر اساس معیارهای مشخص شده استفاده می شود. معیار آرایه ای از اشیاء pf.SearchSpec است. پارامتر "fieldsToRetrieve" یک آرایه رشته ای از نام فیلدها است. اگر null باشد، تمام فیلدها برگردانده می شوند. اگر ردیف بزرگتر از صفر باشد، تمام سطرها برگردانده می شوند.

مثال:

Code
function callback(e)
{
  if (e.ErrorMessage)
  {
     alert(e.ErrorMessage);
  }
  else
  {
    if (e.ListItems.length > 0)
    {
     alert(“ID:” + e.ListItems[0].ID + ”   Title:” + e.ListItems[0].Title);
   }
    else
    {
       alert(“no items found”);
    }
  }
}

criteria = [];

var ss = new pf.SearchSpec();
ss.FieldName = “Title”;
ss.FieldValue = “Test”;
ss.Operator = “Contains”;  //Equals,NotEquals,Greater,GreaterOrEqual,Less,LessOrEqual,IsNull,IsNotNull,BeginsWith,Contains,In, DateRangesOverlap
ss.Type = “Text”;
criteria.push(ss);
form.LoadRecords(“http://bpcspdev”, “TestList”, “”, criteria, null, null, false, 0, callback);

LoadRecord(listUrl, listIdOrName, itemId, callback)

Return type : None

برای بارگیری دستی یک آیتم لیست از طریق اسکریپت بر اساس شناسه آن استفاده می شود.

مثال:

Code

function callback(e)

{
  if (e.ErrorMessage)
  {
    alert(e.ErrorMessage);
    return;
  }
  if (e.ListItem)
  {
    alert(“Item ID:” + e.ListItem.ID + “, Title:” + e.ListItem.Title);
  }
}
form.LoadRecord(“http://bpcspdev”, “TestList”, 7, callback);
 

DeleteRecords(listUrl, listIdOrName, viewIdOrName, specs, sortField, sortAscending, rowLimit, callback)

Return type : None

برای حذف آرایه ای از آیتم های لیست بر اساس معیارهای مشخص شده استفاده می شود.

url لیست، عنوان لیست یا شناسه نمایش رکوردها باید به عنوان پارامتر ارسال شوند. معیار (مشخصات) آرایه ای از اشیاء pf.SearchSpec است.

مثال:

Code
function callback(e)
{
  if (e.ErrorMessage)
  {
     alert(e.ErrorMessage);
  }
  else
  {
    if (e.ListItems.length > 0)
    {
     alert(“all items have been deleted!”);
   }
    else
    {
       alert(“no items found!”);
    }
  }
}

criteria = [];

var ss = new pf.SearchSpec();
ss.FieldName = “Title”;
ss.FieldValue = “Test”;
ss.Operator = “Contains”;  //Equals,NotEquals,Greater,GreaterOrEqual,Less,LessOrEqual,IsNull,IsNotNull,BeginsWith,Contains,In, DateRangesOverlap
ss.Type = “Text”;
criteria.push(ss);
form.DeleteRecords(“http://bpcspdev”, “TestList”, “”, criteria, null, null, false, 0, callback);
 

DeleteRecord(listUrl, listIdOrName, itemId, callback)

Return type : None

برای حذف یک رکورد در یک لیست استفاده می شود.

url لیست، عنوان لیست و شناسه رکورد باید به عنوان پارامتر ارسال شوند.

مثال :

Code

form.DeleteRecord(“http://servername”, “Customers”, “2”, function(e) {

if (!pf.IsEmpty(e.ErrorMesage)) alert(“Error occurred : ” + e.ErrorMessage);

});

 

DeleteCurrentRecord(confirm)

ReturnType : None

برای حذف رکورد فعلی استفاده می شود. برای اجبار یا حذف پیام تأیید ارائه شده به کاربر نهایی، یک پارامتر لازم است.

مثال :

Code

form.DeleteCurrentRecord(false);

 

CancelRecord()

Return type : None

هنگامی که کاربر دکمه Cancel را در نوار ابزار فشار می دهد، تأثیر مشابهی دارد.

مثال :

Code

form.CancelRecord();

 

SaveRecord() or SaveCurrentRecord()

Return type : None

رکورد فعلی را ذخیره می کند. این روش با فشار دادن دکمه "ذخیره" توسط کاربران، همان اثر را دارد.

اعتبارسنجی‌ها روی داده‌های فرم اعمال می‌شوند (یا فیلدهای الزامی یا کد اعتبارسنجی سفارشی از اسکریپت)

مثال :

Code

form.SaveRecord();

 

SaveRecord(url, listIdOrName, listItem, callback)

مورد لیست ارائه شده را ذخیره می کند. مورد باید یک شی جاوا اسکریپت باشد که دارای خصوصیات نامگذاری شده به نام ستون هایی است که می خواهیم به روز کنیم.

مثال :

Code

var item = new Object();

item.Title = “New Item”;

item.Status = “Open”;

item.Category = “1;#Category A”;

form.SaveRecord(“http://servername”, “listA”, item, function (e) {

var error = e.ErrorMessage;

var newItem = e.ListItem;

});

 

SaveAndExit()

Return type : None

همان عملی را انجام می دهد که توسط دکمه Save-and-Close نوار ابزار انجام می شود.

مثال :

Code

form.SaveAndExit();

 

GetSectionByKey(key)

Return type : FormSection object

یک شی بخش را برمی‌گرداند که با کلید ارائه شده مطابقت دارد.

هر بخش در یک فرم ممکن است یک کلید شناسه داشته باشد (شما می توانید آن را با استفاده از فرم مربوط به خصوصیات بخش در طراح زمان اجرا تنظیم کنید)

مثال

Code

var section = form.GetSectionByKey(“Main”);

if (section != null) section.Collapse();

 

ExpandSection(sectionKey)

Return type : None

یک بخش فرم را گسترش می دهد.

مثال : 

Code

form.ExpandSection(“SectionA”);

 

CollapseSection(sectionKey)

Return type : None

یک بخش فرم را جمع می کند

مثال :

Code

form.CollapseSection(“SectionA”);

 

HideSection(sectionKey)

Return type : None

یک بخش فرم را پنهان می کند

مثال :

Code

if (!form.UserInGroup(“Administrators”))

form.HideSection(“SectionA”);

 

ShowSection(sectionKey)

Return type : None

یک بخش فرم را نشان می دهد که پنهان است

مثال :

Code

if (form.UserID() == “1”) form.ShowSection(“SectionA”);

else form.HideSection(“SectionA”);

 

GetControl(controlName)

Return type : FormControl object

فرم را برای کنترلی که نام آن به عنوان پارامتر ارسال شده است جستجو می کند.

در صورتی که هیچ کنترلی با نام مشخص شده مطابقت نداشته باشد، شی کنترلی یافت شده یا تهی را برمی گرداند.

مثال:

Code

var c = form.GetControl(“c_Status”);

var value = c.GetValue();

if (value == “Closed”) form.GetControl(“c_Priority”).SetValue(“Low”)

 

GetControlByTargetFieldName(columnName)

ReturnType : FormControl object

در داخل کنترل‌های فرم جستجو می‌کند تا یکی را پیدا کند که به نام ستون فهرست مشخص شده محدود شده است.

مثال :

Code

var c = form.GetControlByTargetFieldName(“Title”);

if (c != null) c.SetValue(“”);

 

HideTab(index)

ReturnType : None

یک مورد برگه را با نمایه آن پنهان می کند (ایندکس بر اساس صفر است).

مثال :

Code

form.HideTab(1);

 

ShowTab(index)

ReturnType : None

یک مورد برگه را با نمایه آن نشان می دهد (شاخص بر اساس صفر است).

مثال :

Code

form.ShowTab(1);

 

SetSectionBorderThickness(key, thickness)

Return Type : None

ضخامت حاشیه یک بخش را تغییر می دهد.

Parameters :

key : The section key

thickness : The border thickness

مثال:

Code

form.SetSectionBorderThickness(“main”, “3px”);

 

SetSectionBorderColor(key, color)

Return Type : None

رنگ حاشیه بخش را تغییر می دهد.

مثال :

Code

form.SetSectionBorderColor(“main”, “#336699”);

 

SetSectionBackColor(key, color)

Return Type : None

رنگ پس زمینه یک بخش را تغییر می دهد.

مثال :

Code

form.SetSectionBackColor(“main”, “#F5F5A5”);

 

SetSectionCellSpacing(key, spacing)

Return Type : None

فاصله سلول های جدول را در داخل یک بخش تغییر می دهد.

مثال :

Code

form.SetSectionCellSpacing(“main”, 3);

 

SetSectionCellPadding(key, padding)

Return Type : None

لایه سلولی جدول را در داخل یک بخش تغییر می دهد.

مثال :

Code

form.SetSectionCellPadding(“main”, 3);

 

SetSectionHeader(key,content)

Return Type : None

محتوای هدر یک بخش را تغییر می دهد.

مثال :

Code

form.SetSectionHeader(“A0”, “<span class=’title’>Companies</span>”);

 

Attachments() and AttachmentsLoaded event

متد Attachments آرایه ای از اشیاء پیوست بارگذاری شده را برمی گرداند.

هر پیوست شامل مشخصات Filename و FullPath است.

نمونه اسکریپت نوشته شده در رخداد LoadCompleted فرم که تصاویر کوچکی را برای تمام پیوست های تصویر مورد فهرست فعلی تولید می کند:

Code
form.AttachmentsLoaded.AddHandler(function(files) {

var s = “”;

var c = form.GetControl(“c_Attachments”);

for (var i=0;i<files.length;i++) {

var name = files[i].FullPath;

var suf = name.substring(name.length – 3, name.length).toLowerCase();

  if (suf == “png” || suf == “gif” || suf == “jpg” || suf == “bmp”)

s = s + “<span style=’padding:10px’><a href='” + files[i].FullPath + “‘ target=’_blank’ style=”><img src='” + files[i].FullPath + “‘ width=’32’ height=’32’ style=’border:0px’ /></a></span>”

}

c.SetValue(s);

});
 

SetTabHeader(Tab Ident Number, an HTML span containing the text which also sets the visual properties)

Return Type : None

ویژگی های سربرگ یک برگه را تغییر می دهد.

مثال :

Code

form.SetTabHeader(0, “<span style=’font-size:19px;padding:5px;cursor:pointer;color:#3399FF;’>My Best Form</span”);

 

Url()

Return Type : String

آدرس فهرست فرم را برمی گرداند. قابل استفاده در اسکریپت و فرمول.

مثال :

Code

var mySiteUrl = form.Url();

 

 LoadCurrentUser(Web site Url, callback function)

Return Type : Object

اطلاعات کاربر فعلی را در یک شی User برمی‌گرداند.

User Object:

– LoginName (string)

– ID (string)

– FullName (string)

– IsSiteAdmin (boolean)

– Email (string)

– Groups (object)

مثال:

Code
function callback(e)
{
 var i = e.User.LoginName + “,” + e.User.ID + “,” + e.User.FullName + “,” + e.User.Email;
 alert(i);
}
form.LoadCurrentUser(“http://bpcspdev/DimThen”,callback);
 

CopyFile(sourceUrl, sourceList, docID, targetUrl, targetList, targetFolder, targetFileName, attributes, overwrite, callback)

Return Type : None

یک سند را از یک کتابخانه اسناد به کتابخانه دیگر کپی می کند.

مثال :

Code
form.CopyFile(“http://devserver”, “Shared Documents”, “13”, “http://devserver/site”, “Reports”, “Folder1”, “Test.doc”, {Title: “My Title”, Category: “Drafts”}, true, function(e) {

alert(“Document Copied”);

});

 

 SetAttachmentGridHeight(height)

Return Type : None

 

ارتفاع شبکه حاوی پیوست های مورد را تنظیم می کند.

مثال :

Code

form.SetAttachmentGridHeight(“400px”);

 

GetTab(Tab Number)

Return Type: Object

شیء برگه انتخاب شده را برمی گرداند. پارامتر Number مبتنی بر صفر است، به این معنی که اگر می خواهید اولین تب ظاهر شده در فرم را انتخاب کنید، باید موارد زیر را انجام دهید:

Code

 form.GetTab(0);

 

SetDisplayMode(mode)

Return Type: None

دو پارامتر را می پذیرد: Flat و Normal

حالت مسطح فرم را به یک صفحه تبدیل می‌کند و هر کنترلی در زیر هم فهرست شده است و برای چاپ آسان‌تر صفحه استفاده می‌شود.

Code

form.SetDisplayMode(“Flat”);

 

ToggleDisplayMode()

Return Type: None

بین حالت صفحه مسطح و عادی جابجا می شود.

Code

form.ToggleDisplayMode();

 

Log(string message)

Return Type: None

این دستور برای استفاده با فرم دیباگ (_log=1) به شما امکان می دهد پیامی را در کادر دیباگ چاپ کنید.

Code

form.Log(“Test message!”);

 

OpenUrl(url, caption, width, height, x, y, callback)

Return Type: None

می توانید از این دستور برای باز کردن یک پنجره پاپ آپ جدید استفاده کنید که به مسیر URL تعیین شده هدایت می شود. شما همچنین می توانید یک تابع تماس را اضافه کنید که پس از بارگیری فرم فعال می شود.

Code
form.OpenUrl(“http://www.google.com”, “Caption”, 1000, 1000, “10”, “10”, callback);
function callback(e){
 alert(“Done”);
}
 

SelectedTabIndex()

Return Type: Integer

می توانید از این دستور برای پیدا کردن شماره فهرست برگه انتخابی فعلی استفاده کنید. فهرست برگه انتخاب شده بر اساس صفر است، به این معنی که تب اول 0، تب دوم 1 و غیره را برمی گرداند.

Code
form.SelectedTabIndex();
 

HideInnerTab(key, index)

Return Type: None

می توانید از این دستور برای مخفی کردن یک Inner Tab خاص استفاده کنید. ایندکس زبانه داخلی بر پایه صفر است، به این معنی که اولین تب 0 خواهد بود و کلید نام آن است.

Code
form.HideInnerTab(“c_InnerTabKey”, 0);

ShowInnerTab(key, index)

Return Type: None

می توانید از این دستور برای نمایش یک Inner Tab خاص استفاده کنید. ایندکس زبانه داخلی بر پایه صفر است، به این معنی که اولین تب 0 خواهد بود و key نام آن است.

Code
form.ShowInnerTab(“c_InnerTabKey”, 0);
 

SelectInnerTab(key, index)

Return Type: None

می توانید از این دستور برای انتخاب یک Inner Tab خاص استفاده کنید. ایندکس زبانه داخلی بر پایه صفر است، به این معنی که اولین تب 0 خواهد بود و کلید نام آن است.

Code
form.SelectInnerTab(“c_InnerTabKey”, 0);
 

SelectedInnerTabIndex(key)

Return Type: Integer

می توانید از این دستور برای پیدا کردن شماره فهرست Inner Tab انتخاب شده فعلی استفاده کنید. شاخص برگه داخلی انتخاب شده بر اساس صفر است، به این معنی که تب اول 0، تب دوم 1 و غیره را برمی گرداند.

Code
form.SelectedInnerTabIndex(“c_InnerTabKey”);
 

DisableInnerTab(key, index)

Return Type: None

می توانید از این دستور برای غیرفعال کردن یک Inner Tab خاص استفاده کنید. ایندکس زبانه داخلی بر پایه صفر است، به این معنی که اولین تب 0 خواهد بود و کلید نام آن است.

Code
form.DisableInnerTab(“c_InnerTabKey”, 0);

EnableInnerTab(key, index)

Return Type: None

می توانید از این دستور برای فعال کردن یک Inner Tab خاص استفاده کنید. ایندکس زبانه داخلی بر پایه صفر است، به این معنی که اولین تب 0 خواهد بود و کلید نام آن است.

Code
form.EnableInnerTab(“c_InnerTabKey”, 0);

 

SetInnerTabHeader(key, index, text)

Return Type: None

شما می توانید از این دستور برای تنظیم یک متن سرصفحه جدید به یک تب داخلی خاص استفاده کنید. ایندکس برگه داخلی بر پایه صفر است، به این معنی که اولین تب 0، کلید نام آن و متن سربرگ جدید است.

Code
form.SetInnerTabHeader(“c_InnerTabKey”, 0, “NewHeader”);
 

LoadGroupsInSite(url, callback)

Return Type: Array of Objects

می توانید از این دستور برای بارگذاری گروه های شیرپوینت سایت استفاده کنید. این دستور دو پارامتر را می پذیرد، آدرس سایت و یک تابع callback که می توانید از آنها برای بازیابی اطلاعات مورد نیاز خود استفاده کنید.

اشیاء برگشتی حاوی اطلاعات گروه زیر هستند:

–  ID [number]

–  IsGroup [boolean]

–  Name [string]

– LoginName [object]

– Email [object]

– IsSiteAdmin [boolean]

– Type [object]

– uid [string]

 

از آنجایی که این یک تابع پیچیده است، از یک مثال برای توضیح کاربرد آن استفاده خواهیم کرد. مثال ما شامل یک کنترل Combobox است که از آن برای بارگذاری نام گروه ها به نام c_Groups و یک دکمه استفاده می کنیم که از اسکریپت زیر برای بارگیری هر گروه در سایت استفاده می کند.

از اسکریپت زیر در ویژگی Action دکمه استفاده کنید تا c_Groups Combobox را با نام گروه بارگیری کنید:

Code
if(!pf.IsEmpty(form.Url()))
{
    var theSiteURL = form.Url();
    function loadGroupsCallback(e)
    {
        var cmb = form.GetControl(“c_Groups”).InputControl;
        var groups = [];
        for (var i=0; i < e.PeopleAndGroups.length; i++)
        {
           groups.push(e.PeopleAndGroups[i].Name);
        }
        cmb.SetDataSource(groups);
    }
    form.LoadGroupsInSite(theSiteURL, loadGroupsCallback);
}
 

LoadUsersInGroup(url, groupName, callback)

Return Type: Array of Objects

می توانید از این دستور برای بارگیری کاربران گروه شیرپوینت استفاده کنید. این فرمان سه پارامتر، آدرس سایت، نام گروه و یک تابع callback را می‌پذیرد که می‌توانید برای بازیابی اطلاعات مورد نیاز از آن استفاده کنید.

اشیاء برگشتی حاوی اطلاعات گروه زیر هستند:

– LoginName [string]

–  ID [string]

–  FullName [string]

– IsSiteAdmin [boolean]

– Email [string]

– Groups [object]

– uid [string]

باز هم، از آنجایی که این یک تابع پیچیده است، ما به استفاده از مثال بالا برای توضیح کاربرد آن ادامه خواهیم داد. مثال بالا حاوی یک کنترل Combobox بود که از آن برای بارگذاری نام هر گروه در سایت استفاده کردیم. پس از این، ما یک DataGrid به نام c_UsersInGroup اضافه می کنیم که از آن برای نشان دادن نام ورود و نام کامل هر کاربر در گروه انتخاب شده استفاده می کنیم. همچنین دکمه دیگری اضافه می کنیم که تابع LoadUsersInGroup را فراخوانی می کند.

از اسکریپت زیر در ویژگی Action دکمه برای پر کردن دیتاگرید استفاده کنید:

Code
var theSiteURL = form.Url();
form.LoadUsersInGroup(theSiteURL, form.GetControl(“c_Groups”).GetValue(), callback);
function callback(e) {
    var grid = form.GetControl(“c_UsersInGroup”).InputControl;
    var users = [];
    if (pf.IsEmpty(e.ErrorMessage)) {
        for (var i = 0; i < e.Users.length; i++) {
            users.push({ LoginName: e.Users[i].LoginName, FullName: e.Users[i].FullName });
        }
        grid.SetDataSource(users);
    }
    else
        alert(e.ErrorMessage);
}

AddUserInGroup(url, groupName, username, callback)

Return Type: none

می توانید از این دستور برای افزودن کاربر به گروه شیرپوینت استفاده کنید. این دستور چهار پارامتر را می پذیرد، آدرس سایت، نام گروه، نام کاربر و یک تابع callback که می توانید از آن برای بازیابی موفقیت یا شکست عملیات استفاده کنید.

Code
var theSiteURL = form.Url();
form.AddUserInGroup(theSiteURL, “example site Members”, “ExampleSiteDomain\\ExampleUser”, callback);
function callback(e) {
    if (pf.IsEmpty(e.ErrorMessage)) {
        alert(“Success”);
    }
    else
        alert(e.ErrorMessage);
}

DeleteUserFromGroup(url, groupName, username, callback)

Return Type: none

می توانید از این دستور برای حذف یک کاربر از گروه شیرپوینت استفاده کنید. این دستور چهار پارامتر را می پذیرد، آدرس سایت، نام گروه، نام کاربر و یک تابع callback که می توانید از آن برای بازیابی موفقیت یا شکست عملیات استفاده کنید.

Code
  
var theSiteURL = form.Url();
form.DeleteUserFromGroup(theSiteURL, “example site Members”, “ExampleSiteDomain\\ExampleUser”, callback);
function callback(e) {
    if (pf.IsEmpty(e.ErrorMessage)) {
        alert(“Success”);
    }
    else
        alert(e.ErrorMessage);
} 

SetAttachmentTabHeader(theHeaderText)

Return Type: none

می توانید از این دستور برای تغییر هدر در تب Attachments استفاده کنید. دستور یک پارامتر، یک مقدار رشته را می پذیرد.

می توانید از کد زیر در اسکریپت Load Completed فرم استفاده کنید:

Code 

form.SetAttachmentTabHeader(“My Attchments”);

 

AddToolbarButton(icon, text, style, position)

Return Type: none

می توانید از این دستور برای ایجاد یک دکمه سفارشی در قسمت نوار ابزار فرم استفاده کنید. همچنین می توانید دکمه را به گونه ای تنظیم کنید که اقدامات مختلفی را انجام دهد. دستور چهار پارامتر را می پذیرد:

– icon:  The icon’s path, as a string value.

– text: The text to appear beneath the icon.

– style: Defines the button’s style. Possible values can be:

– An empty string, which will create a default button, with an icon and a text underneath.

– “tiny” will create a button with a small icon.

– “tinynotext” will create a button with a small icon and no text underneath.

– “notext” will create a button with a normal-sized icon and no text underneath.

– position: Use form.TOOLBAR to place it next to the other form toolbar buttons.

 

به عنوان مثال، یک دکمه سفارشی ایجاد می کنیم، آن را در انتهای بخش نوار ابزار قرار می دهیم و مطمئن می شویم که هر بار که آن را فشار می دهید، فرم تمام داده ها را ذخیره می کند.

می توانید از کد زیر در اسکریپت Load Completed فرم استفاده کنید:

Code 
if (form.BUTTON_TEMPSAVE == null) {
    // adding toolbar buttons
    var imgName = form.Url() + “/Form%20Pictures/saveimg.png”;
    var txt = “Temp Save”;
    var style = “”;
    form.BUTTON_TEMPSAVE = form.AddToolbarButton(imgName, txt, style, form.TOOLBAR);
    form.BUTTON_TEMPSAVE.onclick = function (e) {
        form.SaveRecord();
    };
}
 

GetTabHeader(index)

Return Type: string

می توانید از این دستور برای بازیابی متن سربرگ از یک برگه استفاده کنید. این فرمان یک پارامتر را می پذیرد، یک عدد شاخص که ترتیب ظاهر برگه را نشان می دهد. شاخص بر اساس صفر است، به این معنی که تب اول 0، دومی 1 و غیره است.

می توانید از کد زیر در اسکریپت Load Completed فرم استفاده کنید:

Code 
var rr = form.GetTabHeader(0);
alert(rr);

SetTranslation(key, value)

Return Type: none

می توانید از این دستور برای تغییر نمایش متنی هر کنترل استاندارد روی فرم استفاده کنید. شما معمولاً این کار را با استفاده از بخش Localization در فرم طراح انجام می دهید، اما می توانید با استفاده از این تابع به صورت برنامه نویسی نیز همین کار را انجام دهید.

تابع دو پارامتر را می پذیرد، بخش Key بخش کلیدی از بخش Localization خواهد بود و مقدار آن نمایش متنی است که می خواهید استفاده کنید.

برای مثال، قسمت متنی دکمه New Record فرم را تغییر می دهیم.

می توانید از کد زیر در اسکریپت فرم طراحی بارگذاری شده استفاده کنید:

Code 

form.SetTranslation(“Form_NewRecord”, “Something irrelevant”); 

 

DisableAttachments()

Return Type: none

می توانید از این دستور برای غیرفعال کردن استفاده از تب Attachments استفاده کنید.

Code 

form.DisableAttachments();

 

EnableAttachments()

Return Type: none

می توانید از این دستور برای فعال کردن استفاده از تب Attachments استفاده کنید.

Code

form.EnableAttachments();

 

اسکریپت های پاورفرم

مطالب مرتبط

ارسال دیدگاه

آخرین نوشته ها