001/*
002 * #%L
003 * GwtMaterial
004 * %%
005 * Copyright (C) 2015 - 2017 GwtMaterialDesign
006 * %%
007 * Licensed under the Apache License, Version 2.0 (the "License");
008 * you may not use this file except in compliance with the License.
009 * You may obtain a copy of the License at
010 * 
011 *      http://www.apache.org/licenses/LICENSE-2.0
012 * 
013 * Unless required by applicable law or agreed to in writing, software
014 * distributed under the License is distributed on an "AS IS" BASIS,
015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016 * See the License for the specific language governing permissions and
017 * limitations under the License.
018 * #L%
019 */
020package gwt.material.design.addins.client.fileuploader.js;
021
022import com.google.gwt.dom.client.Element;
023import gwt.material.design.jquery.client.api.Functions;
024import gwt.material.design.jquery.client.api.JQueryElement;
025import jsinterop.annotations.JsPackage;
026import jsinterop.annotations.JsType;
027
028/**
029 * Dropzone JSInterop object and utils
030 */
031@JsType(isNative = true, namespace = JsPackage.GLOBAL)
032public class Dropzone extends JQueryElement {
033
034    public Dropzone(Element e, JsFileUploaderOptions options) {
035    }
036
037    public native Dropzone on(String events, Functions.Func1<File> callback);
038
039    public native Dropzone on(String events, Functions.Func3<Double, File, String> callback);
040
041    public native Dropzone on(String events, Functions.Func2<File, String> callback);
042
043    public native void removeEventListeners();
044
045    public native void setupEventListeners();
046
047    public native void removeAllFiles();
048
049    public native void processQueue();
050
051    public native void enqueueFile(File file);
052
053    public native void destroy();
054}