SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Planet Wilson Kalender 2010 Editieren

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
24 Beiträge
Dispo-Dieter erstellt 27 Apr. 2011 13:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe mir einen Urlaubsplan erstellt und dort das Skript von Planet Wilson eingefügt um die verschiedenen Urlaubsanträge einzufärben. Jetzt möchte ich gerne die Farbe im Benutzerstamm hinterlegen oder in einer extra Liste damit  man diese nicht mehr im Skript ändern muss. Ist dieses Vorhaben überhaupt möglich wenn ja wie kann ich es realisieren?

Anbei das Skript:

 

_spBodyOnLoadFunctionNames.push('WaitForCalendarToLoad');

var SEPARATOR = "|||";

function WaitForCalendarToLoad() {

    // we will slightly rewrite this existing function as defined originally in SP.UI.ApplicationPages.Calendar.debug.js

    var pwold$4a = SP.UI.ApplicationPages.CalendarNotify.$4a

 SP.UI.ApplicationPages.CalendarNotify.$4a = function () {

        pwold$4a();

        ColourCalendar();

    }

}

function ColourCalendar() {

if($('a:contains(' + SEPARATOR + ')') != null)

{

    $('a:contains(' + SEPARATOR + ')').each(

        function (i) {

            $box = $(this).parents('div[title]');

            var colour = GetColourCodeFromCategory(GetCategory(this.innerHTML));

            this.innerHTML = GetActualText(this.innerHTML);

            $($box).attr("title", GetActualText($($box).attr("title")));

            $box.css('background-color', colour);

        });

}

}

function GetActualText(originalText) {

    var parts = originalText.split(SEPARATOR);

    return parts[0] + parts[2];

}

function GetCategory(originalText) {

    var parts = originalText.split(SEPARATOR);

    return parts[1];

}

function GetColourCodeFromCategory(category) {

    var colour = null;

    switch (category.trim().toLowerCase()) {

        case '':

            colour = '#4FDB51';

            break;

        case '':

            colour = '#4FB8DB';

            break;

        case '':

            colour = "#F08616";

            break;

        case '':

            colour = "#F55875";

            break;

        case '':

            colour = "#E0F558";

            break;

        case '':

            colour = "#F558D5";

            break;

        case 'birthday':

            colour = "#6E80FA";

            break;

        case 'anniversary':

            colour = "#FF4040";

            break;

    }

    return colour;

}

 

MfG. Dispo-Dieter

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 28 Apr. 2011 08:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Gehen würde das schon, aber nicht ganz einfach. Man müßte zusätzlich die Liste abfragen, um die Farbwerte zu erhalten. Dabei kann man das Client Object Model für JavaScript verwenden. Da diese Abfragen aber immer asynchron sind, wird das nicht ganz einfach.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge
Dispo-Dieter Als Antwort am 28 Apr. 2011 08:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Gibt es dafür eine gute Dokumentation? Oder ein Tutorial?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 28 Apr. 2011 11:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ausgiebiges Suchen im Web und die offizielle Referenz: http://msdn.microsoft.com/en-us/library/ee538253.aspx

Viele Grüße
Andi
af @ evocom de
Blog