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.Tag;
009import org.nasdanika.html.model.bootstrap.Alert;
010
011public class AlertSupplierFactoryAdapter extends DivSupplierFactoryAdapter<Alert> {
012        
013        public AlertSupplierFactoryAdapter(Alert alert, AdapterFactory adapterFactory) {
014                super(alert, adapterFactory);
015        }
016        
017        @Override
018        protected Function<org.nasdanika.html.Tag, org.nasdanika.html.Tag> createConfigureFunction(Context context) throws Exception {
019                
020                @SuppressWarnings("resource")
021                Consumer<org.nasdanika.html.Tag> alertConsumer = new Consumer<Tag>() {
022                        
023                        @Override
024                        public double size() {
025                                return 1;
026                        }
027                        
028                        @Override
029                        public String name() {
030                                return "Alert";
031                        }
032                        
033                        @Override
034                        public void execute(Tag tag, ProgressMonitor progressMonitor) throws Exception {
035                                tag.addClass("alert");
036                                tag.addClass("alert-" + getTarget().getColor().code);
037                                tag.attribute("role", "alert");
038                        }
039                };
040                                
041                return super.createConfigureFunction(context).then(alertConsumer.asFunction());
042        }
043
044}