001package org.nasdanika.html.bootstrap;
002
003import org.nasdanika.html.NamedItemsContainer;
004import org.nasdanika.html.Tag;
005
006/**
007 * Interface for building <a href="https://getbootstrap.com/docs/4.1/components/list-group/">List groups</a> with actions - div container, link elements.
008 * @author Pavel Vlasov
009 *
010 */
011public interface ActionGroup extends BootstrapElement<Tag, ActionGroup>, NamedItemsContainer {
012        
013        Tag action(boolean active, boolean disabled, Color color, Object href, Object... name);
014        
015        /**
016         * Creates a content action, similar to navs.
017         * @param name
018         * @param active
019         * @param disabled
020         * @param color
021         * @param contentId
022         * @param content
023         * @return
024         */
025        Tag contentAction(Object name, boolean active, boolean disabled, Color color, Object contentId, Object... content);
026        
027        /**
028         * ActionGroup toHTMLElement() returns the div containing action links. 
029         * Content div shall be output either using this method or asContainer(). 
030         * @return
031         */
032        Tag getContentDiv();
033        
034        /**
035         * Creates a container with a single row and two columns - one with the action group div and the other with the content div. 
036         * @return
037         */
038        Container asContainer(boolean fluid);
039        
040}