diff --git a/core/src/main/java/com/themecleanflex/models/DatalistModel.java b/core/src/main/java/com/themecleanflex/models/DatalistModel.java new file mode 100644 index 000000000..93a57437e --- /dev/null +++ b/core/src/main/java/com/themecleanflex/models/DatalistModel.java @@ -0,0 +1,545 @@ +package com.themecleanflex.models; + +import com.peregrine.nodetypes.models.AbstractComponent; +import com.peregrine.nodetypes.models.IComponent; +import com.peregrine.nodetypes.models.Container; +import org.apache.sling.api.resource.Resource; +import org.apache.sling.models.annotations.Default; +import org.apache.sling.models.annotations.DefaultInjectionStrategy; +import org.apache.sling.models.annotations.Exporter; +import org.apache.sling.models.annotations.Model; +import java.util.List; + +import javax.inject.Inject; +import javax.inject.Named; + +/* + //GEN[:DATA + { + "definitions": { + "Datalist": { + "type": "object", + "x-type": "component", + "properties": { + "endpointurl": { + "type": "string", + "x-source": "inject", + "x-form-label": "Form submit endpoint URL", + "x-form-type": "text", + "x-default": "" + }, + "loadFunction": { + "type": "string", + "x-source": "inject", + "x-form-label": "Javascript function to call to load data", + "x-form-hint": "Function must accept (name)", + "x-form-type": "text" + }, + "bgref": { + "x-form-type": "reference", + "type": "object", + "x-type": "component", + "properties": { + "anchorname": { + "type": "string", + "x-source": "inject", + "x-form-label": "Anchor Name", + "x-form-type": "text" + }, + "extraclasses": { + "type": "string", + "x-source": "inject", + "x-form-label": "Additonal Classes", + "x-form-type": "text" + }, + "htmlelement": { + "type": "string", + "x-source": "inject", + "x-form-label": "Semantic Element", + "x-form-type": "materialselect", + "x-default": "section", + "properties": { + "section": { + "x-form-name": "section", + "x-form-value": "section" + }, + "article": { + "x-form-name": "article", + "x-form-value": "article" + }, + "main": { + "x-form-name": "main", + "x-form-value": "main" + }, + "div": { + "x-form-name": "div", + "x-form-value": "div" + }, + "header": { + "x-form-name": "header", + "x-form-value": "header" + }, + "nav": { + "x-form-name": "nav", + "x-form-value": "nav" + }, + "footer": { + "x-form-name": "footer", + "x-form-value": "footer" + } + } + }, + "colorscheme": { + "type": "string", + "x-source": "inject", + "x-form-label": "Block Color Scheme", + "x-form-type": "materialradio", + "x-default": "", + "properties": { + "none": { + "x-form-name": "None", + "x-form-value": "" + }, + "light": { + "x-form-name": "Light", + "x-form-value": "light" + }, + "dark": { + "x-form-name": "Dark", + "x-form-value": "dark" + } + } + }, + "custombackground": { + "type": "string", + "x-source": "inject", + "x-form-label": "Custom Background", + "x-form-type": "materialswitch", + "x-default": "false" + }, + "backgroundtype": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Type", + "x-form-type": "materialradio", + "x-form-visible": "model.custombackground == 'true'", + "properties": { + "color": { + "x-form-name": "Color", + "x-form-value": "color" + }, + "gradient": { + "x-form-name": "Gradient", + "x-form-value": "gradient" + }, + "image": { + "x-form-name": "Image", + "x-form-value": "image" + }, + "video": { + "x-form-name": "Video", + "x-form-value": "video" + } + } + }, + "bgvideo": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Video", + "x-form-type": "pathbrowser", + "x-form-visible": "model.backgroundtype == 'video' and model.custombackground == 'true'", + "x-default": "https://www.youtube.com/embed/Ju86mknumYM", + "x-form-browserRoot": "/content/themecleanflex/assets" + }, + "bgimage": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Image", + "x-form-type": "pathbrowser", + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-form-browserRoot": "/content/themecleanflex/assets" + }, + "bgxposition": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background X Position", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 100, + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "50" + }, + "bgyposition": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Y Position", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 100, + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "50" + }, + "bgsize": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Size Style", + "x-form-type": "text", + "x-default": "cover" + }, + "overlay": { + "type": "string", + "x-source": "inject", + "x-form-label": "Overlay", + "x-form-type": "materialswitch", + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'" + }, + "overlaycolor": { + "type": "string", + "x-source": "inject", + "x-form-label": "Overlay Color", + "x-form-type": "color", + "x-form-visible": "model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "#ffffff" + }, + "overlayopacity": { + "type": "string", + "x-source": "inject", + "x-form-label": "Overlay opacity", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 100, + "x-form-visible": "model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "50" + }, + "bgcolor": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Color", + "x-form-type": "color", + "x-form-visible": "(model.backgroundtype == 'color' or model.backgroundtype == 'gradient') and model.custombackground == 'true'", + "x-default": "#ffffff" + }, + "color2": { + "type": "string", + "x-source": "inject", + "x-form-label": "Color 2", + "x-form-type": "color", + "x-form-visible": "model.backgroundtype == 'gradient' and model.custombackground == 'true'", + "x-default": "#c0c0c0" + }, + "blockwidth": { + "type": "string", + "x-source": "inject", + "x-form-label": "Block Width", + "x-form-type": "materialradio", + "x-default": "default", + "properties": { + "default": { + "x-form-name": "Default", + "x-form-value": "default" + }, + "full": { + "x-form-name": "Full Width", + "x-form-value": "full" + }, + "article": { + "x-form-name": "Article Width", + "x-form-value": "article" + } + } + }, + "fullheight": { + "type": "string", + "x-source": "inject", + "x-form-label": "Full Height", + "x-form-type": "materialswitch", + "x-default": "false" + }, + "toppadding": { + "type": "string", + "x-source": "inject", + "x-form-label": "Top Padding", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 300, + "x-form-visible": "model.fullheight != 'true'" + }, + "bottompadding": { + "type": "string", + "x-source": "inject", + "x-form-label": "Bottom Padding", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 300, + "x-form-visible": "model.fullheight != 'true'" + }, + "contentname": { + "type": "string", + "x-source": "inject", + "x-form-label": "Content Name", + "x-form-type": "text" + } + } + } + } + } + }, + "name": "Datalist", + "componentPath": "themecleanflex/components/datalist", + "package": "com.themecleanflex.models", + "modelName": "Datalist", + "classNameParent": "AbstractComponent" +} +//GEN] +*/ + +//GEN[:DEF +@Model( + adaptables = Resource.class, + resourceType = "themecleanflex/components/datalist", + defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL, + adapters = IComponent.class +) +@Exporter( + name = "jackson", + extensions = "json" +) + +//GEN] +public class DatalistModel extends AbstractComponent { + + public DatalistModel(Resource r) { super(r); } + + //GEN[:INJECT + /* {"type":"string","x-source":"inject","x-form-label":"Form submit endpoint URL","x-form-type":"text","x-default":""} */ + @Inject + @Default(values ="") + private String endpointurl; + + /* {"type":"string","x-source":"inject","x-form-label":"Javascript function to call to load data","x-form-hint":"Function must accept (name)","x-form-type":"text"} */ + @Inject + private String loadFunction; + + /* {"type":"string","x-source":"inject","x-form-label":"Anchor Name","x-form-type":"text"} */ + @Inject + private String anchorname; + + /* {"type":"string","x-source":"inject","x-form-label":"Additonal Classes","x-form-type":"text"} */ + @Inject + private String extraclasses; + + /* {"type":"string","x-source":"inject","x-form-label":"Semantic Element","x-form-type":"materialselect","x-default":"section","properties":{"section":{"x-form-name":"section","x-form-value":"section"},"article":{"x-form-name":"article","x-form-value":"article"},"main":{"x-form-name":"main","x-form-value":"main"},"div":{"x-form-name":"div","x-form-value":"div"},"header":{"x-form-name":"header","x-form-value":"header"},"nav":{"x-form-name":"nav","x-form-value":"nav"},"footer":{"x-form-name":"footer","x-form-value":"footer"}}} */ + @Inject + @Default(values ="section") + private String htmlelement; + + /* {"type":"string","x-source":"inject","x-form-label":"Block Color Scheme","x-form-type":"materialradio","x-default":"","properties":{"none":{"x-form-name":"None","x-form-value":""},"light":{"x-form-name":"Light","x-form-value":"light"},"dark":{"x-form-name":"Dark","x-form-value":"dark"}}} */ + @Inject + @Default(values ="") + private String colorscheme; + + /* {"type":"string","x-source":"inject","x-form-label":"Custom Background","x-form-type":"materialswitch","x-default":"false"} */ + @Inject + @Default(values ="false") + private String custombackground; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Type","x-form-type":"materialradio","x-form-visible":"model.custombackground == 'true'","properties":{"color":{"x-form-name":"Color","x-form-value":"color"},"gradient":{"x-form-name":"Gradient","x-form-value":"gradient"},"image":{"x-form-name":"Image","x-form-value":"image"},"video":{"x-form-name":"Video","x-form-value":"video"}}} */ + @Inject + private String backgroundtype; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Video","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'video' and model.custombackground == 'true'","x-default":"https://www.youtube.com/embed/Ju86mknumYM","x-form-browserRoot":"/content/themecleanflex/assets"} */ + @Inject + @Default(values ="https://www.youtube.com/embed/Ju86mknumYM") + private String bgvideo; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Image","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-form-browserRoot":"/content/themecleanflex/assets"} */ + @Inject + private String bgimage; + + /* {"type":"string","x-source":"inject","x-form-label":"Background X Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + @Inject + @Default(values ="50") + private String bgxposition; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Y Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + @Inject + @Default(values ="50") + private String bgyposition; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Size Style","x-form-type":"text","x-default":"cover"} */ + @Inject + @Default(values ="cover") + private String bgsize; + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay","x-form-type":"materialswitch","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'"} */ + @Inject + private String overlay; + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay Color","x-form-type":"color","x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"#ffffff"} */ + @Inject + @Default(values ="#ffffff") + private String overlaycolor; + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay opacity","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + @Inject + @Default(values ="50") + private String overlayopacity; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Color","x-form-type":"color","x-form-visible":"(model.backgroundtype == 'color' or model.backgroundtype == 'gradient') and model.custombackground == 'true'","x-default":"#ffffff"} */ + @Inject + @Default(values ="#ffffff") + private String bgcolor; + + /* {"type":"string","x-source":"inject","x-form-label":"Color 2","x-form-type":"color","x-form-visible":"model.backgroundtype == 'gradient' and model.custombackground == 'true'","x-default":"#c0c0c0"} */ + @Inject + @Default(values ="#c0c0c0") + private String color2; + + /* {"type":"string","x-source":"inject","x-form-label":"Block Width","x-form-type":"materialradio","x-default":"default","properties":{"default":{"x-form-name":"Default","x-form-value":"default"},"full":{"x-form-name":"Full Width","x-form-value":"full"},"article":{"x-form-name":"Article Width","x-form-value":"article"}}} */ + @Inject + @Default(values ="default") + private String blockwidth; + + /* {"type":"string","x-source":"inject","x-form-label":"Full Height","x-form-type":"materialswitch","x-default":"false"} */ + @Inject + @Default(values ="false") + private String fullheight; + + /* {"type":"string","x-source":"inject","x-form-label":"Top Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + @Inject + private String toppadding; + + /* {"type":"string","x-source":"inject","x-form-label":"Bottom Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + @Inject + private String bottompadding; + + /* {"type":"string","x-source":"inject","x-form-label":"Content Name","x-form-type":"text"} */ + @Inject + private String contentname; + + +//GEN] + + //GEN[:GETTERS + /* {"type":"string","x-source":"inject","x-form-label":"Form submit endpoint URL","x-form-type":"text","x-default":""} */ + public String getEndpointurl() { + return endpointurl; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Javascript function to call to load data","x-form-hint":"Function must accept (name)","x-form-type":"text"} */ + public String getLoadFunction() { + return loadFunction; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Anchor Name","x-form-type":"text"} */ + public String getAnchorname() { + return anchorname; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Additonal Classes","x-form-type":"text"} */ + public String getExtraclasses() { + return extraclasses; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Semantic Element","x-form-type":"materialselect","x-default":"section","properties":{"section":{"x-form-name":"section","x-form-value":"section"},"article":{"x-form-name":"article","x-form-value":"article"},"main":{"x-form-name":"main","x-form-value":"main"},"div":{"x-form-name":"div","x-form-value":"div"},"header":{"x-form-name":"header","x-form-value":"header"},"nav":{"x-form-name":"nav","x-form-value":"nav"},"footer":{"x-form-name":"footer","x-form-value":"footer"}}} */ + public String getHtmlelement() { + return htmlelement; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Block Color Scheme","x-form-type":"materialradio","x-default":"","properties":{"none":{"x-form-name":"None","x-form-value":""},"light":{"x-form-name":"Light","x-form-value":"light"},"dark":{"x-form-name":"Dark","x-form-value":"dark"}}} */ + public String getColorscheme() { + return colorscheme; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Custom Background","x-form-type":"materialswitch","x-default":"false"} */ + public String getCustombackground() { + return custombackground; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Type","x-form-type":"materialradio","x-form-visible":"model.custombackground == 'true'","properties":{"color":{"x-form-name":"Color","x-form-value":"color"},"gradient":{"x-form-name":"Gradient","x-form-value":"gradient"},"image":{"x-form-name":"Image","x-form-value":"image"},"video":{"x-form-name":"Video","x-form-value":"video"}}} */ + public String getBackgroundtype() { + return backgroundtype; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Video","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'video' and model.custombackground == 'true'","x-default":"https://www.youtube.com/embed/Ju86mknumYM","x-form-browserRoot":"/content/themecleanflex/assets"} */ + public String getBgvideo() { + return bgvideo; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Image","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-form-browserRoot":"/content/themecleanflex/assets"} */ + public String getBgimage() { + return bgimage; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background X Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + public String getBgxposition() { + return bgxposition; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Y Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + public String getBgyposition() { + return bgyposition; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Size Style","x-form-type":"text","x-default":"cover"} */ + public String getBgsize() { + return bgsize; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay","x-form-type":"materialswitch","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'"} */ + public String getOverlay() { + return overlay; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay Color","x-form-type":"color","x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"#ffffff"} */ + public String getOverlaycolor() { + return overlaycolor; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay opacity","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + public String getOverlayopacity() { + return overlayopacity; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Color","x-form-type":"color","x-form-visible":"(model.backgroundtype == 'color' or model.backgroundtype == 'gradient') and model.custombackground == 'true'","x-default":"#ffffff"} */ + public String getBgcolor() { + return bgcolor; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Color 2","x-form-type":"color","x-form-visible":"model.backgroundtype == 'gradient' and model.custombackground == 'true'","x-default":"#c0c0c0"} */ + public String getColor2() { + return color2; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Block Width","x-form-type":"materialradio","x-default":"default","properties":{"default":{"x-form-name":"Default","x-form-value":"default"},"full":{"x-form-name":"Full Width","x-form-value":"full"},"article":{"x-form-name":"Article Width","x-form-value":"article"}}} */ + public String getBlockwidth() { + return blockwidth; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Full Height","x-form-type":"materialswitch","x-default":"false"} */ + public String getFullheight() { + return fullheight; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Top Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + public String getToppadding() { + return toppadding; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Bottom Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + public String getBottompadding() { + return bottompadding; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Content Name","x-form-type":"text"} */ + public String getContentname() { + return contentname; + } + + +//GEN] + + //GEN[:CUSTOMGETTERS + //GEN] + +} diff --git a/core/src/main/java/com/themecleanflex/models/FormModel.java b/core/src/main/java/com/themecleanflex/models/FormModel.java new file mode 100644 index 000000000..49d2e4843 --- /dev/null +++ b/core/src/main/java/com/themecleanflex/models/FormModel.java @@ -0,0 +1,680 @@ +package com.themecleanflex.models; + +import com.peregrine.nodetypes.models.AbstractComponent; +import com.peregrine.nodetypes.models.IComponent; +import com.peregrine.nodetypes.models.Container; +import org.apache.sling.api.resource.Resource; +import org.apache.sling.models.annotations.Default; +import org.apache.sling.models.annotations.DefaultInjectionStrategy; +import org.apache.sling.models.annotations.Exporter; +import org.apache.sling.models.annotations.Model; +import java.util.List; + +import javax.inject.Inject; +import javax.inject.Named; + +/* + //GEN[:DATA + { + "definitions": { + "Form": { + "type": "object", + "x-type": "component", + "properties": { + "schema": { + "type": "string", + "x-source": "inject", + "x-form-label": "Form Model", + "x-form-type": "textarea", + "x-form-hint": "JSON description passed to vue-form-generator, see vue form generator fields documentation", + "x-form-max": "16000" + }, + "endpointurl": { + "type": "string", + "x-source": "inject", + "x-form-label": "Form submit endpoint URL", + "x-form-type": "text", + "x-default": "" + }, + "submitfunction": { + "type": "string", + "x-source": "inject", + "x-form-label": "Javascript function to call on submit", + "x-form-hint": "Function must accept (model, formdata)", + "x-form-type": "text", + "x-default": "" + }, + "submittext": { + "type": "string", + "x-source": "inject", + "x-form-label": "Submit Button Text", + "x-form-type": "text", + "x-default": "Submit" + }, + "submitsize": { + "type": "string", + "x-source": "inject", + "x-form-label": "Submit button size", + "x-form-type": "materialselect", + "x-default": "normal", + "properties": { + "section": { + "x-form-name": "normal", + "x-form-value": "normal" + }, + "small": { + "x-form-name": "small", + "x-form-value": "small" + }, + "large": { + "x-form-name": "large", + "x-form-value": "large" + }, + "full": { + "x-form-name": "full width", + "x-form-value": "full" + } + } + }, + "submitalignment": { + "type": "string", + "x-source": "inject", + "x-form-label": "Submit button alignment", + "x-form-type": "materialselect", + "x-default": "start", + "properties": { + "start": { + "x-form-name": "start", + "x-form-value": "start" + }, + "center": { + "x-form-name": "center", + "x-form-value": "center" + }, + "end": { + "x-form-name": "end", + "x-form-value": "end" + } + } + }, + "failmessage": { + "type": "string", + "x-source": "inject", + "x-form-label": "Failure Message", + "x-form-type": "text", + "x-default": "Error processing form" + }, + "successpage": { + "type": "string", + "x-source": "inject", + "x-form-type": "pathbrowser", + "x-form-label": "Submit Success Page", + "x-form-browserRoot": "/content/themecleanflex/pages" + }, + "bgref": { + "x-form-type": "reference", + "type": "object", + "x-type": "component", + "properties": { + "anchorname": { + "type": "string", + "x-source": "inject", + "x-form-label": "Anchor Name", + "x-form-type": "text" + }, + "extraclasses": { + "type": "string", + "x-source": "inject", + "x-form-label": "Additonal Classes", + "x-form-type": "text" + }, + "htmlelement": { + "type": "string", + "x-source": "inject", + "x-form-label": "Semantic Element", + "x-form-type": "materialselect", + "x-default": "section", + "properties": { + "section": { + "x-form-name": "section", + "x-form-value": "section" + }, + "article": { + "x-form-name": "article", + "x-form-value": "article" + }, + "main": { + "x-form-name": "main", + "x-form-value": "main" + }, + "div": { + "x-form-name": "div", + "x-form-value": "div" + }, + "header": { + "x-form-name": "header", + "x-form-value": "header" + }, + "nav": { + "x-form-name": "nav", + "x-form-value": "nav" + }, + "footer": { + "x-form-name": "footer", + "x-form-value": "footer" + } + } + }, + "colorscheme": { + "type": "string", + "x-source": "inject", + "x-form-label": "Block Color Scheme", + "x-form-type": "materialradio", + "x-default": "", + "properties": { + "none": { + "x-form-name": "None", + "x-form-value": "" + }, + "light": { + "x-form-name": "Light", + "x-form-value": "light" + }, + "dark": { + "x-form-name": "Dark", + "x-form-value": "dark" + } + } + }, + "custombackground": { + "type": "string", + "x-source": "inject", + "x-form-label": "Custom Background", + "x-form-type": "materialswitch", + "x-default": "false" + }, + "backgroundtype": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Type", + "x-form-type": "materialradio", + "x-form-visible": "model.custombackground == 'true'", + "properties": { + "color": { + "x-form-name": "Color", + "x-form-value": "color" + }, + "gradient": { + "x-form-name": "Gradient", + "x-form-value": "gradient" + }, + "image": { + "x-form-name": "Image", + "x-form-value": "image" + }, + "video": { + "x-form-name": "Video", + "x-form-value": "video" + } + } + }, + "bgvideo": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Video", + "x-form-type": "pathbrowser", + "x-form-visible": "model.backgroundtype == 'video' and model.custombackground == 'true'", + "x-default": "https://www.youtube.com/embed/Ju86mknumYM", + "x-form-browserRoot": "/content/themecleanflex/assets" + }, + "bgimage": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Image", + "x-form-type": "pathbrowser", + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-form-browserRoot": "/content/themecleanflex/assets" + }, + "bgxposition": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background X Position", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 100, + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "50" + }, + "bgyposition": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Y Position", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 100, + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "50" + }, + "bgsize": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Size Style", + "x-form-type": "text", + "x-default": "cover" + }, + "overlay": { + "type": "string", + "x-source": "inject", + "x-form-label": "Overlay", + "x-form-type": "materialswitch", + "x-form-visible": "model.backgroundtype == 'image' and model.custombackground == 'true'" + }, + "overlaycolor": { + "type": "string", + "x-source": "inject", + "x-form-label": "Overlay Color", + "x-form-type": "color", + "x-form-visible": "model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "#ffffff" + }, + "overlayopacity": { + "type": "string", + "x-source": "inject", + "x-form-label": "Overlay opacity", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 100, + "x-form-visible": "model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'", + "x-default": "50" + }, + "bgcolor": { + "type": "string", + "x-source": "inject", + "x-form-label": "Background Color", + "x-form-type": "color", + "x-form-visible": "(model.backgroundtype == 'color' or model.backgroundtype == 'gradient') and model.custombackground == 'true'", + "x-default": "#ffffff" + }, + "color2": { + "type": "string", + "x-source": "inject", + "x-form-label": "Color 2", + "x-form-type": "color", + "x-form-visible": "model.backgroundtype == 'gradient' and model.custombackground == 'true'", + "x-default": "#c0c0c0" + }, + "blockwidth": { + "type": "string", + "x-source": "inject", + "x-form-label": "Block Width", + "x-form-type": "materialradio", + "x-default": "default", + "properties": { + "default": { + "x-form-name": "Default", + "x-form-value": "default" + }, + "full": { + "x-form-name": "Full Width", + "x-form-value": "full" + }, + "article": { + "x-form-name": "Article Width", + "x-form-value": "article" + } + } + }, + "fullheight": { + "type": "string", + "x-source": "inject", + "x-form-label": "Full Height", + "x-form-type": "materialswitch", + "x-default": "false" + }, + "toppadding": { + "type": "string", + "x-source": "inject", + "x-form-label": "Top Padding", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 300, + "x-form-visible": "model.fullheight != 'true'" + }, + "bottompadding": { + "type": "string", + "x-source": "inject", + "x-form-label": "Bottom Padding", + "x-form-type": "materialrange", + "x-form-min": 0, + "x-form-max": 300, + "x-form-visible": "model.fullheight != 'true'" + }, + "contentname": { + "type": "string", + "x-source": "inject", + "x-form-label": "Content Name", + "x-form-type": "text" + } + } + } + } + } + }, + "name": "Form", + "componentPath": "themecleanflex/components/form", + "package": "com.themecleanflex.models", + "modelName": "Form", + "classNameParent": "AbstractComponent" +} +//GEN] +*/ + +//GEN[:DEF +@Model( + adaptables = Resource.class, + resourceType = "themecleanflex/components/form", + defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL, + adapters = IComponent.class +) +@Exporter( + name = "jackson", + extensions = "json" +) + +//GEN] +public class FormModel extends AbstractComponent { + + public FormModel(Resource r) { super(r); } + + //GEN[:INJECT + /* {"type":"string","x-source":"inject","x-form-label":"Form Model","x-form-type":"textarea","x-form-hint":"JSON description passed to vue-form-generator, see vue form generator fields documentation","x-form-max":"16000"} */ + @Inject + private String schema; + + /* {"type":"string","x-source":"inject","x-form-label":"Form submit endpoint URL","x-form-type":"text","x-default":""} */ + @Inject + @Default(values ="") + private String endpointurl; + + /* {"type":"string","x-source":"inject","x-form-label":"Javascript function to call on submit","x-form-hint":"Function must accept (model, formdata)","x-form-type":"text","x-default":""} */ + @Inject + @Default(values ="") + private String submitfunction; + + /* {"type":"string","x-source":"inject","x-form-label":"Submit Button Text","x-form-type":"text","x-default":"Submit"} */ + @Inject + @Default(values ="Submit") + private String submittext; + + /* {"type":"string","x-source":"inject","x-form-label":"Submit button size","x-form-type":"materialselect","x-default":"normal","properties":{"section":{"x-form-name":"normal","x-form-value":"normal"},"small":{"x-form-name":"small","x-form-value":"small"},"large":{"x-form-name":"large","x-form-value":"large"},"full":{"x-form-name":"full width","x-form-value":"full"}}} */ + @Inject + @Default(values ="normal") + private String submitsize; + + /* {"type":"string","x-source":"inject","x-form-label":"Submit button alignment","x-form-type":"materialselect","x-default":"start","properties":{"start":{"x-form-name":"start","x-form-value":"start"},"center":{"x-form-name":"center","x-form-value":"center"},"end":{"x-form-name":"end","x-form-value":"end"}}} */ + @Inject + @Default(values ="start") + private String submitalignment; + + /* {"type":"string","x-source":"inject","x-form-label":"Failure Message","x-form-type":"text","x-default":"Error processing form"} */ + @Inject + @Default(values ="Error processing form") + private String failmessage; + + /* {"type":"string","x-source":"inject","x-form-type":"pathbrowser","x-form-label":"Submit Success Page","x-form-browserRoot":"/content/themecleanflex/pages"} */ + @Inject + private String successpage; + + /* {"type":"string","x-source":"inject","x-form-label":"Anchor Name","x-form-type":"text"} */ + @Inject + private String anchorname; + + /* {"type":"string","x-source":"inject","x-form-label":"Additonal Classes","x-form-type":"text"} */ + @Inject + private String extraclasses; + + /* {"type":"string","x-source":"inject","x-form-label":"Semantic Element","x-form-type":"materialselect","x-default":"section","properties":{"section":{"x-form-name":"section","x-form-value":"section"},"article":{"x-form-name":"article","x-form-value":"article"},"main":{"x-form-name":"main","x-form-value":"main"},"div":{"x-form-name":"div","x-form-value":"div"},"header":{"x-form-name":"header","x-form-value":"header"},"nav":{"x-form-name":"nav","x-form-value":"nav"},"footer":{"x-form-name":"footer","x-form-value":"footer"}}} */ + @Inject + @Default(values ="section") + private String htmlelement; + + /* {"type":"string","x-source":"inject","x-form-label":"Block Color Scheme","x-form-type":"materialradio","x-default":"","properties":{"none":{"x-form-name":"None","x-form-value":""},"light":{"x-form-name":"Light","x-form-value":"light"},"dark":{"x-form-name":"Dark","x-form-value":"dark"}}} */ + @Inject + @Default(values ="") + private String colorscheme; + + /* {"type":"string","x-source":"inject","x-form-label":"Custom Background","x-form-type":"materialswitch","x-default":"false"} */ + @Inject + @Default(values ="false") + private String custombackground; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Type","x-form-type":"materialradio","x-form-visible":"model.custombackground == 'true'","properties":{"color":{"x-form-name":"Color","x-form-value":"color"},"gradient":{"x-form-name":"Gradient","x-form-value":"gradient"},"image":{"x-form-name":"Image","x-form-value":"image"},"video":{"x-form-name":"Video","x-form-value":"video"}}} */ + @Inject + private String backgroundtype; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Video","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'video' and model.custombackground == 'true'","x-default":"https://www.youtube.com/embed/Ju86mknumYM","x-form-browserRoot":"/content/themecleanflex/assets"} */ + @Inject + @Default(values ="https://www.youtube.com/embed/Ju86mknumYM") + private String bgvideo; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Image","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-form-browserRoot":"/content/themecleanflex/assets"} */ + @Inject + private String bgimage; + + /* {"type":"string","x-source":"inject","x-form-label":"Background X Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + @Inject + @Default(values ="50") + private String bgxposition; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Y Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + @Inject + @Default(values ="50") + private String bgyposition; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Size Style","x-form-type":"text","x-default":"cover"} */ + @Inject + @Default(values ="cover") + private String bgsize; + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay","x-form-type":"materialswitch","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'"} */ + @Inject + private String overlay; + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay Color","x-form-type":"color","x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"#ffffff"} */ + @Inject + @Default(values ="#ffffff") + private String overlaycolor; + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay opacity","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + @Inject + @Default(values ="50") + private String overlayopacity; + + /* {"type":"string","x-source":"inject","x-form-label":"Background Color","x-form-type":"color","x-form-visible":"(model.backgroundtype == 'color' or model.backgroundtype == 'gradient') and model.custombackground == 'true'","x-default":"#ffffff"} */ + @Inject + @Default(values ="#ffffff") + private String bgcolor; + + /* {"type":"string","x-source":"inject","x-form-label":"Color 2","x-form-type":"color","x-form-visible":"model.backgroundtype == 'gradient' and model.custombackground == 'true'","x-default":"#c0c0c0"} */ + @Inject + @Default(values ="#c0c0c0") + private String color2; + + /* {"type":"string","x-source":"inject","x-form-label":"Block Width","x-form-type":"materialradio","x-default":"default","properties":{"default":{"x-form-name":"Default","x-form-value":"default"},"full":{"x-form-name":"Full Width","x-form-value":"full"},"article":{"x-form-name":"Article Width","x-form-value":"article"}}} */ + @Inject + @Default(values ="default") + private String blockwidth; + + /* {"type":"string","x-source":"inject","x-form-label":"Full Height","x-form-type":"materialswitch","x-default":"false"} */ + @Inject + @Default(values ="false") + private String fullheight; + + /* {"type":"string","x-source":"inject","x-form-label":"Top Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + @Inject + private String toppadding; + + /* {"type":"string","x-source":"inject","x-form-label":"Bottom Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + @Inject + private String bottompadding; + + /* {"type":"string","x-source":"inject","x-form-label":"Content Name","x-form-type":"text"} */ + @Inject + private String contentname; + + +//GEN] + + //GEN[:GETTERS + /* {"type":"string","x-source":"inject","x-form-label":"Form Model","x-form-type":"textarea","x-form-hint":"JSON description passed to vue-form-generator, see vue form generator fields documentation","x-form-max":"16000"} */ + public String getSchema() { + return schema; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Form submit endpoint URL","x-form-type":"text","x-default":""} */ + public String getEndpointurl() { + return endpointurl; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Javascript function to call on submit","x-form-hint":"Function must accept (model, formdata)","x-form-type":"text","x-default":""} */ + public String getSubmitfunction() { + return submitfunction; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Submit Button Text","x-form-type":"text","x-default":"Submit"} */ + public String getSubmittext() { + return submittext; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Submit button size","x-form-type":"materialselect","x-default":"normal","properties":{"section":{"x-form-name":"normal","x-form-value":"normal"},"small":{"x-form-name":"small","x-form-value":"small"},"large":{"x-form-name":"large","x-form-value":"large"},"full":{"x-form-name":"full width","x-form-value":"full"}}} */ + public String getSubmitsize() { + return submitsize; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Submit button alignment","x-form-type":"materialselect","x-default":"start","properties":{"start":{"x-form-name":"start","x-form-value":"start"},"center":{"x-form-name":"center","x-form-value":"center"},"end":{"x-form-name":"end","x-form-value":"end"}}} */ + public String getSubmitalignment() { + return submitalignment; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Failure Message","x-form-type":"text","x-default":"Error processing form"} */ + public String getFailmessage() { + return failmessage; + } + + /* {"type":"string","x-source":"inject","x-form-type":"pathbrowser","x-form-label":"Submit Success Page","x-form-browserRoot":"/content/themecleanflex/pages"} */ + public String getSuccesspage() { + return successpage; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Anchor Name","x-form-type":"text"} */ + public String getAnchorname() { + return anchorname; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Additonal Classes","x-form-type":"text"} */ + public String getExtraclasses() { + return extraclasses; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Semantic Element","x-form-type":"materialselect","x-default":"section","properties":{"section":{"x-form-name":"section","x-form-value":"section"},"article":{"x-form-name":"article","x-form-value":"article"},"main":{"x-form-name":"main","x-form-value":"main"},"div":{"x-form-name":"div","x-form-value":"div"},"header":{"x-form-name":"header","x-form-value":"header"},"nav":{"x-form-name":"nav","x-form-value":"nav"},"footer":{"x-form-name":"footer","x-form-value":"footer"}}} */ + public String getHtmlelement() { + return htmlelement; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Block Color Scheme","x-form-type":"materialradio","x-default":"","properties":{"none":{"x-form-name":"None","x-form-value":""},"light":{"x-form-name":"Light","x-form-value":"light"},"dark":{"x-form-name":"Dark","x-form-value":"dark"}}} */ + public String getColorscheme() { + return colorscheme; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Custom Background","x-form-type":"materialswitch","x-default":"false"} */ + public String getCustombackground() { + return custombackground; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Type","x-form-type":"materialradio","x-form-visible":"model.custombackground == 'true'","properties":{"color":{"x-form-name":"Color","x-form-value":"color"},"gradient":{"x-form-name":"Gradient","x-form-value":"gradient"},"image":{"x-form-name":"Image","x-form-value":"image"},"video":{"x-form-name":"Video","x-form-value":"video"}}} */ + public String getBackgroundtype() { + return backgroundtype; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Video","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'video' and model.custombackground == 'true'","x-default":"https://www.youtube.com/embed/Ju86mknumYM","x-form-browserRoot":"/content/themecleanflex/assets"} */ + public String getBgvideo() { + return bgvideo; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Image","x-form-type":"pathbrowser","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-form-browserRoot":"/content/themecleanflex/assets"} */ + public String getBgimage() { + return bgimage; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background X Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + public String getBgxposition() { + return bgxposition; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Y Position","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + public String getBgyposition() { + return bgyposition; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Size Style","x-form-type":"text","x-default":"cover"} */ + public String getBgsize() { + return bgsize; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay","x-form-type":"materialswitch","x-form-visible":"model.backgroundtype == 'image' and model.custombackground == 'true'"} */ + public String getOverlay() { + return overlay; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay Color","x-form-type":"color","x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"#ffffff"} */ + public String getOverlaycolor() { + return overlaycolor; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Overlay opacity","x-form-type":"materialrange","x-form-min":0,"x-form-max":100,"x-form-visible":"model.overlay == 'true' and model.backgroundtype == 'image' and model.custombackground == 'true'","x-default":"50"} */ + public String getOverlayopacity() { + return overlayopacity; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Background Color","x-form-type":"color","x-form-visible":"(model.backgroundtype == 'color' or model.backgroundtype == 'gradient') and model.custombackground == 'true'","x-default":"#ffffff"} */ + public String getBgcolor() { + return bgcolor; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Color 2","x-form-type":"color","x-form-visible":"model.backgroundtype == 'gradient' and model.custombackground == 'true'","x-default":"#c0c0c0"} */ + public String getColor2() { + return color2; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Block Width","x-form-type":"materialradio","x-default":"default","properties":{"default":{"x-form-name":"Default","x-form-value":"default"},"full":{"x-form-name":"Full Width","x-form-value":"full"},"article":{"x-form-name":"Article Width","x-form-value":"article"}}} */ + public String getBlockwidth() { + return blockwidth; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Full Height","x-form-type":"materialswitch","x-default":"false"} */ + public String getFullheight() { + return fullheight; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Top Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + public String getToppadding() { + return toppadding; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Bottom Padding","x-form-type":"materialrange","x-form-min":0,"x-form-max":300,"x-form-visible":"model.fullheight != 'true'"} */ + public String getBottompadding() { + return bottompadding; + } + + /* {"type":"string","x-source":"inject","x-form-label":"Content Name","x-form-type":"text"} */ + public String getContentname() { + return contentname; + } + + +//GEN] + + //GEN[:CUSTOMGETTERS + //GEN] + +} diff --git a/fragments/datalist/hatch.js b/fragments/datalist/hatch.js new file mode 100644 index 000000000..203a31262 --- /dev/null +++ b/fragments/datalist/hatch.js @@ -0,0 +1,7 @@ +module.exports = { + convert: function($, f) { + f.wrap($, 'themecleanflex-components-block') + f.bindAttribute($.parent(),'model','model') + f.mapField($, 'storageData') + } +} \ No newline at end of file diff --git a/fragments/datalist/model.json b/fragments/datalist/model.json new file mode 100644 index 000000000..8583a0020 --- /dev/null +++ b/fragments/datalist/model.json @@ -0,0 +1,28 @@ +{ + "definitions": { + "Datalist": { + "type": "object", + "x-type": "component", + "properties": { + "endpointurl": { + "type": "string", + "x-source": "inject", + "x-form-label": "Form submit endpoint URL", + "x-form-type": "text", + "x-default": "" + }, + "loadFunction": { + "type": "string", + "x-source": "inject", + "x-form-label": "Javascript function to call to load data", + "x-form-hint": "Function must accept (name)", + "x-form-type": "text" + }, + "bgref": { + "$ref": "fragments/block/model.json#/definitions/Block", + "x-form-type": "reference" + } + } + } + } +} diff --git a/fragments/datalist/sample.json b/fragments/datalist/sample.json new file mode 100644 index 000000000..010210861 --- /dev/null +++ b/fragments/datalist/sample.json @@ -0,0 +1,7 @@ +{ + "title": "Datalist", + "group": "", + "model": { + "text": "example" + } +} \ No newline at end of file diff --git a/fragments/datalist/template.html b/fragments/datalist/template.html new file mode 100644 index 000000000..0253c4f07 --- /dev/null +++ b/fragments/datalist/template.html @@ -0,0 +1 @@ +
{{failureText}}
+{{schemaError}}
+{{failureText}}
+{{schemaError}}
+