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.Slide; 009 010public class SlideSupplierFactoryAdapter extends DivSupplierFactoryAdapter<Slide> { 011 012 public SlideSupplierFactoryAdapter(Slide slide) { 013 super(slide); 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> slideConsumer = new Consumer<Tag>() { 021 022 @Override 023 public double size() { 024 return 1; 025 } 026 027 @Override 028 public String name() { 029 return "Slide"; 030 } 031 032 @Override 033 public void execute(Tag tag, ProgressMonitor progressMonitor) throws Exception { 034 tag.addClass("carousel-item"); 035 Integer interval = getTarget().getInterval(); 036 if (interval != null) { 037 tag.attribute("data-interval", interval); 038 } 039 040 // TODO - Captions. 041 } 042 }; 043 044 // TODO - Captions list factory, slide function. 045 046 return super.createConfigureFunction(context).then(slideConsumer.asFunction()); 047 } 048 049}