001 package org.gwtbootstrap3.extras.fullcalendar.client.ui;
002
003 /*
004 * #%L
005 * GwtBootstrap3
006 * %%
007 * Copyright (C) 2013 - 2014 GwtBootstrap3
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 *
013 * http://www.apache.org/licenses/LICENSE-2.0
014 *
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023 import com.google.gwt.core.client.JavaScriptObject;
024
025 /**
026 * @author Jeff Iesnhart
027 * @see http://arshaw.com/fullcalendar/docs/event_ui/
028 */
029 public class DragAndResizeConfig implements IsJavaScriptObject {
030 private JavaScriptObject script;
031
032 public DragAndResizeConfig(final DragAndResizeCallback handler) {
033 if (handler != null) {
034 newInstance(handler);
035 }
036 }
037
038 private native void newInstance(DragAndResizeCallback handler) /*-{
039 var theInstance = this;
040 var dragResizeHandler = handler;
041 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script = {};
042 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script.eventDragStart = function (event, jsEvent, ui, view) {
043 if (event && jsEvent) {
044 var originalEvent = null;
045 if (jsEvent.originalEvent) {
046 originalEvent = jsEvent.originalEvent;
047 }
048 dragResizeHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeCallback::eventDragStart(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(event, originalEvent);
049 }
050 };
051 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script.eventDragStop = function (event, jsEvent, ui, view) {
052 if (event && jsEvent) {
053 var originalEvent = null;
054 if (jsEvent.originalEvent) {
055 originalEvent = jsEvent.originalEvent;
056 }
057 dragResizeHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeCallback::eventDragStop(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(event, originalEvent);
058 }
059 };
060 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script.eventDrop = function (event, revertFunc, jsEvent, ui, view) {
061 var originalEvent = null;
062 if (jsEvent && jsEvent.originalEvent) {
063 originalEvent = jsEvent.originalEvent;
064 }
065 dragResizeHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeCallback::eventDrop(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(event, revertFunc, originalEvent);
066 };
067
068 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script.eventResizeStart = function (event, jsEvent, ui, view) {
069 if (event && jsEvent) {
070 var originalEvent = null;
071 if (jsEvent.originalEvent) {
072 originalEvent = jsEvent.originalEvent;
073 }
074 dragResizeHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeCallback::eventResizeStart(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(event, originalEvent);
075 }
076 };
077 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script.eventResizeStop = function (event, jsEvent, ui, view) {
078 if (event && jsEvent) {
079 var originalEvent = null;
080 if (jsEvent.originalEvent) {
081 originalEvent = jsEvent.originalEvent;
082 }
083 dragResizeHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeCallback::eventResizeStop(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(event, originalEvent);
084 }
085 };
086 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeConfig::script.eventResize = function (event, revertFunc, jsEvent, ui, view) {
087 var originalEvent = null;
088 if (jsEvent && jsEvent.originalEvent) {
089 originalEvent = jsEvent.originalEvent;
090 }
091 dragResizeHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.DragAndResizeCallback::eventResize(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(event, revertFunc, originalEvent);
092 };
093 }-*/;
094
095 @Override
096 public JavaScriptObject toJavaScript() {
097 return script;
098 }
099 }