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