001package org.nasdanika.html.model.bootstrap.gen;
002
003import org.nasdanika.common.Consumer;
004import org.nasdanika.common.Context;
005import org.nasdanika.common.Function;
006import org.nasdanika.common.ProgressMonitor;
007import org.nasdanika.html.HTMLElement;
008
009/**
010 * Creates a respective section in the table based on the containment reference - header, body, footer.
011 * @author Pavel
012 *
013 */
014public class TableHeaderConsumerFactoryAdapter extends TableSectionConsumerFactoryAdapter<org.nasdanika.html.model.bootstrap.TableHeader, org.nasdanika.html.bootstrap.Table.TableHeader> {
015
016        public TableHeaderConsumerFactoryAdapter(org.nasdanika.html.model.bootstrap.TableHeader tableHeader) {
017                super(tableHeader);
018        }
019        
020        @Override
021        protected Function<HTMLElement<?>, HTMLElement<?>> createConfigureFunction(Context context) throws Exception {
022                @SuppressWarnings("resource")
023                Consumer<org.nasdanika.html.bootstrap.Table.TableHeader> configurator = new Consumer<org.nasdanika.html.bootstrap.Table.TableHeader>() {
024                        
025                        @Override
026                        public double size() {
027                                return 1;
028                        }
029                        
030                        @Override
031                        public String name() {
032                                return "Table header dark, light";
033                        }
034                        
035                        @Override
036                        public void execute(org.nasdanika.html.bootstrap.Table.TableHeader header, ProgressMonitor progressMonitor) throws Exception {
037                                org.nasdanika.html.model.bootstrap.TableHeader semanticElement = getTarget();
038                                header.light(semanticElement.isLight());
039                                header.dark(semanticElement.isDark());
040                        }
041                };
042                        
043                Function<HTMLElement<?>, HTMLElement<?>> headerConfigureFunction = getWrapper(context).then(configurator.asFunction()).then(toHTMLElement(context));
044                return super.createConfigureFunction(context).then(headerConfigureFunction);
045        }
046        
047        
048        
049        // TODO - dark, light
050        
051        
052        
053}