Implemented by

For changes to NavigationLink creation see https://encodo.atlassian.net/wiki/spaces/EB/pages/614498331/Release+Notes+Januar+2024#Navigation-Links

Class Breakdown

PropertyLinkBuilder

// String URL
row.Add.Link(metadata.Person.AbsoluteLink, "public")
  .SetAbsoluteNavigationLink("https://www.encodo.com");

// ExpressionText URL
row.Add.Link(metadata.Person.AbsoluteLink, "public")
  .SetAbsoluteNavigationLink("[expression]If(Name == 'test', 'https://www.test.com', 'https://www.encodo.com')");

Manual Instantiation

// String
var aspect = new AbsoluteNavigationLinkAspect(){
  URL = https://www.encodo.com"
};

// Expression
var url = parser.CreateExpression("If(Name == 'test', 'https://www.test.com', 'https://www.encodo.com')");
var aspect = new AbsoluteNavigationLinkAspect(){
  URL = url
};

XML Layout

On XML layouts the same MetaValue.String properties can accept a String or ExpressionText

<absoluteNavigationLinkAspect target="https://www.encodo.com"></absoluteNavigationLinkAspect>

<absoluteNavigationLinkAspect target="[expression]If(Name == 'test', 'https://www.test.com', 'https://www.encodo.com')"></absoluteNavigationLinkAspect>