Skip to content

Computed Tab Title

november 5, 2009

Computed Tab Title

Voorbeeld van een Computed Tab Title

In onze applicatie is het lastiger met computed tab-titels te werken dan normaal, omdat de tabs in een Custom Control staat. Dit betekent dat je de omschrijving moet doorgeven aan de Custom Control voordat die geladen wordt. Het werken met tabs wordt in de D8L55 cursus behandeld.

Kijk eerst in onze presentatie XPages Advanced op sheet 22. Hier staat aangegeven hoe je een waarde doorgeeft aan een Custom Control.

In de Custom Control pak je deze waarde weer op met het customData-object, om vervolgens als titel op de tab te plaatsen.

Dit betekent dat je de waarde van de “title” al moet weten voordat de Custom Control geladen wordt. Dat regel je op de XPage via het afterPageLoad-event.

We laten het proces in 3 stappen zien:

  1. Property voor de Custom Control definiëren;
  2. Titel oppakken in de Custom Control en weergeven door gebruik te maken van het customData object;
  3. De titel in de XPage doorgeven aan de Custom Control .

Stap 1 en 2 hoef je natuurlijk maar eenmalig te doen.

Stap 1: Property voor de Custom Control definieren

  1. Selecteer de Properties tab (1);
  2. Selecteer Custom Control in de Outline View (2);
  3. Selecteer de Property Definition tab (3);
  4. Klik op de New Property Button (4). Een nieuwe Property wordt gecreëerd;
  5. Vul in het veld Name (rechts) de naam van de Property in (5), bijvoorbeeld:
    selectedTabTitle

     

    Property voor de Custom Control definieren

    Figuur 1: Property definieren

Stap 2: Titel oppakken en weergeven

  1. Selecteer de Properties tab (1);
  2. Selecteer de tab in de Outline View (2), in ons voorbeeld tabPanel4;
  3. Klik op het ruitje achter Label (3);

     

    Dynamisch titel voor een tab definieren

    Figuur 2: Tab selecteren

  4. Breng de volgende formule in en klik op OK:
    compositeData.selectedTabTitle

     

    Met het CompositeData object kun je een gobal property lezen

    Figuur 3: Formule inbrengen

Stap 3: In de XPage de titel aan de Custom Control doorgeven

  1. Open de XPage die de Custom Control met tabs bevat;
  2. Selecteer de Properties tab (1);
  3. Selecteer in de Outline View je Custom Control, in dit voorbeeld ccMenu (2);
  4. Selecteer All Properties (3) in de Properties tab;
  5. Selecteer onder de sectie custom de property van de Custom Control, in dit voorbeeld selectedTabTitle (4);
  6. Klik op het ruitje in het veld ernaast en kies voor Computed Value;
  7. Breng de  formule in (waarin pseudo LotusScript wordt gebruikt!):
    var name = "";
    if (@IsNewDoc()) {
    name = "?";
    } else {
    name = dominoDocument1.getItemValue("name")[0];
    }
    name;

     

    Custom Control configureren in de XPage

    Figuur 4: formule om de title aan de Custom Control door te geven

One Comment leave one →
  1. Danny Mo permalink
    maart 11, 2010 14.38

    Zie heel erg goed uit en met jou simpel intrustructies goed te volgen , maar ik krijg toch een foutmelding >?

    500 Exception
    com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
    Error while executing JavaScript computed expression
    Script interpreter error, line=5, col=24: Reference error: ‘dominoDocument1’ not found

    ► ▼ Stack Trace

    com.ibm.xsp.FacesExceptionEx: com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
    com.ibm.xsp.util.DataUtil.putData(Unknown Source)

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

%d bloggers op de volgende wijze: