All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nasdanika.html.app.viewparts.ViewPartsUtil Maven / Gradle / Ivy

package org.nasdanika.html.app.viewparts;

import org.nasdanika.html.Tag;
import org.nasdanika.html.TagName;
import org.nasdanika.html.app.Action;
import org.nasdanika.html.app.ActionActivator;
import org.nasdanika.html.app.NavigationActionActivator;

public class ViewPartsUtil {
	
	private ViewPartsUtil() {
		// Utility class
	}
		
	/**
	 * Creates a section action anchor. If action activator is {@link NavigationActionActivator} and its url has a fragment then anchor is that fragment.
	 * Otherwise it is an action ID, if ID is not null.
	 * @param section
	 * @return
	 */
	public static Tag sectionAnchor(Action section) {
		Object anchor = section.getId();
		ActionActivator activator = section.getActivator();
		if (activator instanceof NavigationActionActivator) {
			NavigationActionActivator nac = (NavigationActionActivator) activator;
			String url = nac.getUrl(null);
			int idx = url.indexOf("#");
			if (idx != -1 && idx != url.length() - 1) {
				anchor = url.substring(idx + 1);
			}
		}
		return anchor == null ? null : TagName.a.create().attribute("name", anchor);				
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy