Skip to content

Commit

Permalink
logic updated
Browse files Browse the repository at this point in the history
  • Loading branch information
rajatkhurana-adobe committed Nov 8, 2023
1 parent 4ee6e25 commit 0fd4439
Show file tree
Hide file tree
Showing 31 changed files with 1,909 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ private FormConstants() {
/** The resource type for file input v1 */
public static final String RT_FD_FORM_FILE_INPUT_V1 = RT_FD_FORM_PREFIX + "fileinput/v1/fileinput";

/** The resource type for file input v2 */
public static final String RT_FD_FORM_FILE_INPUT_V2 = RT_FD_FORM_PREFIX + "fileinput/v2/fileinput";

/** The resource type for check box group v1 */
public static final String RT_FD_FORM_CHECKBOX_GROUP_V1 = RT_FD_FORM_PREFIX + "checkboxgroup/v1/checkboxgroup";

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ~ Copyright 2023 Adobe
* ~
* ~ Licensed under the Apache License, Version 2.0 (the "License");
* ~ you may not use this file except in compliance with the License.
* ~ You may obtain a copy of the License at
* ~
* ~ http://www.apache.org/licenses/LICENSE-2.0
* ~
* ~ Unless required by applicable law or agreed to in writing, software
* ~ distributed under the License is distributed on an "AS IS" BASIS,
* ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* ~ See the License for the specific language governing permissions and
* ~ limitations under the License.
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/

package com.adobe.cq.forms.core.components.internal.models.v2.form;

import java.util.Map;

import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Default;
import org.apache.sling.models.annotations.Exporter;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.injectorspecific.InjectionStrategy;
import org.apache.sling.models.annotations.injectorspecific.ValueMapValue;
import org.jetbrains.annotations.NotNull;

import com.adobe.cq.export.json.ComponentExporter;
import com.adobe.cq.export.json.ExporterConstants;
import com.adobe.cq.forms.core.components.internal.form.FormConstants;
import com.adobe.cq.forms.core.components.internal.models.v1.form.FileInputImpl;
import com.adobe.cq.forms.core.components.models.form.FileInput;
import com.fasterxml.jackson.annotation.JsonIgnore;

@Model(
adaptables = { SlingHttpServletRequest.class, Resource.class },
adapters = { FileInput.class,
ComponentExporter.class },
resourceType = { FormConstants.RT_FD_FORM_FILE_INPUT_V2 })
@Exporter(name = ExporterConstants.SLING_MODEL_EXPORTER_NAME, extensions = ExporterConstants.SLING_MODEL_EXTENSION)
public class FileInputImplV2 extends FileInputImpl {

private static final String FILE_INPUT_DRAG_DROP_TEXT = "fileInputDragDropText";

@ValueMapValue(injectionStrategy = InjectionStrategy.OPTIONAL, name = "fileInputDragDropText")
@Default(values = FileInput.DEFAULT_FILE_DRAGDROP_TEXT)
protected String fileInputDragDropText;

@JsonIgnore
public String getFileInputDragDropText() {
return fileInputDragDropText;
}

@Override
public @NotNull Map<String, Object> getProperties() {
Map<String, Object> customProperties = super.getProperties();
customProperties.put(FILE_INPUT_DRAG_DROP_TEXT, getFileInputDragDropText());
return customProperties;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
public interface FileInput extends Field, FileConstraint, ContainerConstraint {
String DEFAULT_BUTTON_TEXT = "Attach";

String DEFAULT_FILE_DRAGDROP_TEXT = "Drag and Drop To Upload";

/**
* Returns {@code true} if multiple files can be selected, {@code false} otherwise
*
Expand Down
Loading

0 comments on commit 0fd4439

Please sign in to comment.