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