Ribbon Customization – Part 3

در دو قسمت قبل از سری پست های Ribbon Customization به بیان ویژگی های تگ های XML برای توسعه Ribbon پرداختم و نمونه هایی نیز بیان گردید . حال در این قسمت (قسمت سوم) به بیان دیگر ویژگی ها و اموزش آنها پرداخته خواهد شد.

با شیرپوینت 2010 در UI ، ویژگی های جدید status bar وnotification messages وجود دارد. status bar بیشتر برای پیغام های ثابت استفاده می شود وnotification messages بیشتر برای پیغام های موقت و سپس حذف می شود . status bar در فضای نام SP.UI.Status وجود دارد . برای آغاز با یک مثال ساده شروع می کنم :

CommandAction مثال بیان شده در پست قبل را به صورت زیر تغییر دهید :

 

 

[code lang="xml"]

[/code]

تا چنین نتیجه ای ببینید :

و اگر به صورت زیر تغییر دهید ، آنچه خواهید دید به صورت زیر است :

 

[code lang="xml"]

[/code]

 

خروجی :
نکته مهم این است که ، هر پیغامی که در Status نمایش داده میشود یعنی هر AddStatus که انجام می شود یک شناسه به ازای ان برگردانده می شود که میتوان آن را در اختیار گرفت :

[code lang="xml"]

[/code]

اگر این شناسه را نمایش دهید ، اینچنین خواهد بود : Status_1 و برای بعدی Status_2 و ....
در مثال زیر می خواهم به کمک این شناسه ، رنگ Status را تغییر دهم :

[code lang="xml"]

[/code]

و اما خروجی :
ولی اگر چندین بار روی همان دکمه کلیک کنید چه رخ خواهد داد ؟
پیشنهاد می شود اگر چندین پیام باید به کاربر نمایش داده شود ، آنها را با رنگهای مختلف نشان داد .
در اینجا می خواهم قبل از نمایش هر پیغام ، قبلی ها را پاک کنم :

[code lang="xml"]

[/code]

همچنین توسط دستور زیر می توان پیغام که از قبل شناسه آن را داریم ، حذف کنیم :
SP.UI.Status.removeStatus(statusId);
حال نگاهی به notification messages می اندازیم :
این نوع پیغام برای نمایش وضعیت کارهای انجام شده ا در شرف انجام می باشد ، مثلا بعد از ذخیره ، به کاربر برای 3-4 ثانیه این مطلب اعلام میگردد و سپس حذف می شود .
حال می خواهیم در CommandAction ها تغییر کوچکی برای نمایش notification بدهیم :

[code lang="xml"]

[/code]

خروجی این دستور :
مزیت notification در کد نویسی آن ، این است که می توان از دستورات HTML در آن استفاده کرد مثل تگ Bold به صورت </b>Content<b> اما باید توجه داست که باید تگ ها Encode شوند

[code lang="xml"]

[/code]

پارامتر true که در تابع بالا به عنوان یکی از Overload های تابع استفاده شده ، بیان می کند که notification همیشه روی صفحه بماند .
همچنین شما می توانید با استفاده از دستور زیر ، آن را حذف نمایید :
SP.UI.Notify.removeNotification = function(NID) {
// Some Code
}
ادامه مطلب در پست بعد....