PlanetWilson SharePoint Blogにあるカレンダーのカラー化スクリプト
(http://planetwilson.blogspot.com/2011/07/sharepoint-2010-colour-calendar-post.html)
をちょこっと改造して、文字も変更できるようにしました。
(http://planetwilson.blogspot.com/2011/07/sharepoint-2010-colour-calendar-post.html)
をちょこっと改造して、文字も変更できるようにしました。
背景と文字はセットで変えないと表現の範囲が狭くなりますからね。
ってことで、変更点を・・・
の前に言っておきますが、私はプログラミングは素人なので、
効率が悪かったり、間違った記述かもしれません。その辺は許してください。
---オリジナル---
function ColourCalendar() {
if(jQuery('a:contains(' + SEPARATOR + ')') != null)
{
jQuery('a:contains(' + SEPARATOR + ')').each(function (i) {
$box = jQuery(this).parents('div[title]');
var colour = GetColourCodeFromCategory(GetCategory(this.innerHTML));
this.innerHTML = GetActualText(this.innerHTML);
jQuery($box).attr("title", GetActualText(jQuery($box).attr("title")));
$box.css('background-color', colour);
});
}
}
---変更後---
function ColourCalendar() {
if(jQuery('a:contains(' + SEPARATOR + ')') != null) {
jQuery('a:contains(' + SEPARATOR + ')').each(function (i) {
$box = jQuery(this).parents('div[title]');
var colour = GetColourCodeFromCategory(GetCategory(this.innerHTML);
this.innerHTML = GetActualText(this.innerHTML);
jQuery($box).attr("title", GetActualText(jQuery($box).attr("title")));
$box.css('background-color', colour[0]);
jQuery(this).css('cssText','color: ' + colour[1] + ' !important');
});
}
}
------------
まず、ColourCalendar()ですが、$box.css('background-color'で変数colourを代入しますが、これを配列にしています。
次に、文字の色を指定する行を追加します。
ここでのポイントは「!important」を指定すること。
jQuery(this).css('cssText','color: ' + colour[1] + ' !important');
あとは、カテゴリーの条件を指定します。
---オリジナル---
function GetColourCodeFromCategory(category) {
var colour = null;
switch (category.trim().toLowerCase()) {
case 'meeting':
colour = '#4FDB51';
break;
}
return colour;
}
---変更後---
function GetColourCodeFromCategory(category) {
var colour = null;
var textc = null;
switch (category.trim().toLowerCase()) {
case 'meeting':
colour = '#4FDB51';
textc = '#000000';
break;
}
return [colour,textc];
}
------------
ただ単に、戻り値を配列に変更しただけです。
こんな感じかなぁ~
最近SharePoint2010のバージョンアップを手掛けているのですが、2016では改造が必要ですけど、リンク切れで対応版が入手できません。
返信削除標準のカレンダーを重ねる機能の色が2010の時は微妙だったけど、2016ははっきりした色になったので標準機能に戻したほうがよいです。たぶん・・・