scaBreadCrumb

Descripción del Control

El User Control scaBreadCrumb brinda la posibilidad de agregar el menu con estilo de navegación breadcrumb para mantener la pista de las paginas visitadas.

Compatibilidad

Web

Usando el control

Arrastrar y tirar scaBreadCrumb al webform del objeto que quieres mostrar el menu. Usualmente un web component especialmente creado para mostrar este menu.

Nota: si utilizas Work With Pattern, entonces puedes usar este control en RecentLinks web component. 

 

 

El resultado debajo es producido por el siguiente codigo: 

Event Start
    &LinkList = new()
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 1"
    &LinkListItem.URL = Home.Link()
    &LinkList.Add(&LinkListItem)
    
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 2"
    &LinkListItem.URL = Home.Link()
    &LinkList.Add(&LinkListItem)
    
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 3"
    &LinkListItem.URL = Home.Link()
    &LinkList.Add(&LinkListItem)
    
    scaBreadCrumb1.HomeURL = Home.Link() //this URL will be called when the user clicks on the home image.
EndEvent

La variable &LinkList asingada con la propiedad Data del User Control. Ahora solo arrastra y tira el control desde la toolbox a tu Master Page.

Como hemos mencionado previamente, si desea remplazar el menu por defecto que es generado por el Work With Pattern en RecentLinksWC, tu puedes eliminar el contenido del webform, arrastra y tira el user control y despues solo setea &RecentLinksItems de su propiedad Data. La parte de eventos del objeto debera ser modficiada para utilizar el User control en lugar del free style grid por defecto.

Event Start
    // Load current links.
    &RecentLinksItems.FromXml(&Session.Get(!"RecentLinks"))

    // Delete current from list, if present.
    &i = 1
    Do While &i <= &RecentLinksItems.Count
        &RecentLinksItem = &RecentLinksItems.Item(&i)
        If Trim(&RecentLinksItem.Caption) = Trim(&FormCaption)
            &RecentLinksItems.Remove(&i)
        Else
            &i += 1
        EndIf
    EndDo

    // Shorten list if necessary, so that at most RecentLinksOptions.Size items are left at the end.
    Do While &RecentLinksItems.Count > RecentLinksOptions.Size - 1
        &RecentLinksItems.Remove(1)
    EndDo

    // Add new link and store.
    &RecentLinksItem = new()
    &RecentLinksItem.Caption = Trim(&FormCaption)
    &RecentLinksItem.URL = &Request.ScriptName + !"?" + &Request.QueryString 
    &RecentLinksItems.Add(&RecentLinksItem)

    &Session.Set(!"RecentLinks", &RecentLinksItems.ToXml())

    // Display links.
    /*
    For &i = 1 To &RecentLinksItems.Count
        &RecentLinksItem = &RecentLinksItems.Item(&i)
        Place.Caption = &RecentLinksItem.Caption
        If (&i < &RecentLinksItems.Count)
            Place.Link = Link(&RecentLinksItem.URL)
        Else
            Place.Link = ""
        EndIf

        Load
    EndFor
    */

   scaBreadCrumb1.HomeURL = Home.Link() // this URL will be called when the user clicks on the home image.
EndEvent

 
Registro de cambios 18 mayo, 2011: se agrega soporte para nuevas propeidades TooltipText (si no se setea, la propiedad Caption se muestra como Tooltip) y LinkTarget (default _self) entonces ahora tu puedes usarlos como se muestra debajo. 
Nota: LinkList SDT no es distribuida por el User Control entonces si deseas usar las nuevas propiedades debes editar el SDT en orden de agregar nuevos campos (TooltipText Character y LinkTarget Character). 

    &LinkList = new()
    &LinkListItem = new()
    &LinkListItem.Caption = "Sample page 1"
    &LinkListItem.URL = Home.Link()
    &LinkListItem.TooltipText = "Sample page 1"
    &LinkListItem.LinkTarget = "_blank"
    &LinkList.Add(&LinkListItem)

Ejecución