Example usage for com.google.gwt.file.client FileList size

List of usage examples for com.google.gwt.file.client FileList size

Introduction

In this page you can find the example usage for com.google.gwt.file.client FileList size.

Prototype

public final int size() 

Source Link

Usage

From source file:org.rest.client.ui.desktop.widget.RequestBodyWidget.java

License:Apache License

private void addNewFileRow(String key) {
    final HTMLPanel row = new HTMLPanel("");
    final ListPanel listPanel = new ListPanel();
    listPanel.setStyleName("selectedFilesList");

    row.setStyleName("formRow");
    TextBox keyBox = new TextBox();
    final HTML5FileUpload valueBox = new HTML5FileUpload();
    InlineLabel removeButton = new InlineLabel("x");

    fileInputs.add(valueBox);//from w  w w.j  av  a2s.c  om
    keyBox.getElement().setAttribute("placeholder", "Field name");

    String value = null;
    if (key == null) {
        value = fileFieldName;
        if (fileFieldNumber > 0) {
            value += "" + fileFieldNumber;
        }
    } else {
        value = key;
    }
    keyBox.setValue(value);
    removeButton.addStyleName("removeButton");
    removeButton.setTitle("Remove");

    valueBox.setMultiple(true);
    valueBox.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            int prevCnt = listPanel.getWidgetCount();
            allFilesCount -= prevCnt;
            listPanel.clear();
            FileList files = valueBox.getFiles();
            int cnt = files.size();
            allFilesCount += cnt;
            filesTab.setText("Files (" + allFilesCount + ")");
            for (int i = 0; i < cnt; i++) {
                File file = files.get(i);
                double sizeLong = file.getSize();
                String fileSize = Units.swithFileSize(sizeLong);

                String html = file.getName() + " ";
                html += "(" + fileSize + ")";
                ListItem li = new ListItem();
                li.setHTML(html);
                listPanel.add(li);
            }
        }
    });
    row.add(valueBox);
    row.add(keyBox);
    row.add(removeButton);
    row.add(listPanel);

    filesFormPanel.add(row);

    removeButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            int cnt = listPanel.getWidgetCount();
            allFilesCount -= cnt;
            filesTab.setText("Files (" + allFilesCount + ")");
            fileInputs.remove(valueBox);
            row.removeFromParent();
        }
    });
    fileFieldNumber++;
    keyBox.selectAll();
    keyBox.getElement().focus();
}

From source file:org.rest.client.ui.desktop.widget.RequestBodyWidget.java

License:Apache License

public ArrayList<FilesObject> getInputFiles() {
    ArrayList<FilesObject> fo = new ArrayList<FilesObject>();
    for (HTML5FileUpload file : fileInputs) {
        if (file == null)
            continue;
        FileList files = file.getFiles();
        if (files == null || files.size() == 0)
            continue;
        InputElement ie = (InputElement) file.getElement().getNextSiblingElement();
        FilesObject fileObjet = new FilesObject(ie.getValue(), files);
        fo.add(fileObjet);//from w  ww . ja va 2  s  .  co m
    }
    return fo;
}

From source file:org.rest.client.ui.html5.HTML5FileUpload.java

License:Apache License

/**
 * Get filelist javascript object.//from   w ww . j  ava 2  s.c o m
 * 
 * @return list of files OR <b>null</b> on empty or not exists
 */
public FileList getFiles() {
    FileList list = FileList.create(getElement());
    if (list.size() == 0) {
        return null;
    }
    return list;
}