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