001package 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 023import com.google.gwt.core.client.JavaScriptObject; 024 025/** 026 * @author Jeff Isenhart 027 * @see http://arshaw.com/fullcalendar/docs/agenda/ 028 */ 029public class AgendaOptions implements IsJavaScriptObject { 030 private JavaScriptObject options; 031 032 public AgendaOptions() { 033 newInstance(); 034 } 035 036 /** 037 * Sets defaults 038 * 039 * @see http://arshaw.com/fullcalendar/docs/agenda/ 040 */ 041 public native void newInstance() /*-{ 042 var theInstance = this; 043 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options = { 044 allDaySlot: true, 045 allDayText: "all-day", 046 axisFormat: "h(:mm)a", 047 slotDuration: '00:30.00', 048 scrollTime: '06:00:00', 049 minTime: '00:00:00', 050 maxTime: '24:00:00', 051 slotEventOverlap: true 052 053 }; 054 }-*/; 055 056 /** 057 * @see http://arshaw.com/fullcalendar/docs/agenda/allDaySlot/ 058 */ 059 public native void setAllDaySlot(boolean allDay) /*-{ 060 var theInstance = this; 061 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.allDaySlot = allDay; 062 }-*/; 063 064 /** 065 * @see http://arshaw.com/fullcalendar/docs/agenda/allDayText/ 066 */ 067 public native void setAllDayText(String text) /*-{ 068 var theInstance = this; 069 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.allDayText = text; 070 }-*/; 071 072 /** 073 * @see http://arshaw.com/fullcalendar/docs/agenda/axisFormat/ 074 */ 075 public native void setAxisFormat(String format) /*-{ 076 var theInstance = this; 077 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.axisFormat = format; 078 }-*/; 079 080 public void setSlotDuration(final int minutes) { 081 assert minutes >= 0 && minutes <= 60; 082 if (minutes < 10) { 083 setSlotDuration("00:0" + minutes + ":00"); 084 } else { 085 setSlotDuration("00:" + minutes + ":00"); 086 } 087 } 088 089 /** 090 * @see http://arshaw.com/fullcalendar/docs/agenda/slotDuration/ 091 */ 092 public native void setSlotDuration(String timeString) /*-{ 093 var theInstance = this; 094 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.slotDuration = timeString; 095 }-*/; 096 097 public void setSnapDuration(final int minutes) { 098 assert minutes >= 0 && minutes <= 60; 099 if (minutes < 10) { 100 setSnapDuration("00:0" + minutes + ":00"); 101 } else { 102 setSnapDuration("00:" + minutes + ":00"); 103 } 104 } 105 106 /** 107 * @see http://arshaw.com/fullcalendar/docs/agenda/snapDuration/ 108 */ 109 public native void setSnapDuration(String timeString) /*-{ 110 var theInstance = this; 111 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.snapDuration = timeString; 112 }-*/; 113 114 /** 115 * @see http://arshaw.com/fullcalendar/docs/agenda/scrollTime/ 116 */ 117 public native void setScrollTime(String timeString) /*-{ 118 var theInstance = this; 119 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.scrollTime = timeString; 120 }-*/; 121 122 /** 123 * @see http://arshaw.com/fullcalendar/docs/agenda/minTime/ 124 */ 125 public native void setMinTime(String timeString) /*-{ 126 var theInstance = this; 127 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.minTime = timeString; 128 }-*/; 129 130 /** 131 * @see http://arshaw.com/fullcalendar/docs/agenda/maxTime/ 132 */ 133 public native void setMaxTime(String timeString) /*-{ 134 var theInstance = this; 135 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.maxTime = timeString; 136 }-*/; 137 138 /** 139 * @see http://arshaw.com/fullcalendar/docs/agenda/slotEventOverlap/ 140 */ 141 public native void setSlotEventOverlap(boolean overlap) /*-{ 142 var theInstance = this; 143 theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.AgendaOptions::options.slotEventOverlap = overlap; 144 }-*/; 145 146 @Override 147 public JavaScriptObject toJavaScript() { 148 return options; 149 } 150}