diff --git a/.travis.yml b/.travis.yml index 1dc2a0c7..aea9c4cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,26 @@ +sudo: false + language: java jdk: - oraclejdk8 - oraclejdk7 -branches: - only: - - master - cache: directories: - $HOME/.m2 +before_install: + # install the gwtbootstrap3 library before we build the extras + - git clone https://github.com/gwtbootstrap3/gwtbootstrap3.git + - cd gwtbootstrap3 + - mvn install -DskipTests=true -DdryRun=true + - cd .. + +install: true + script: - mvn clean install -DdryRun=true -Dlicense.failOnMissingHeader=true -Dlicense.failOnNotUptodateHeader=true + +after_success: + - ./deploy.sh \ No newline at end of file diff --git a/README.md b/README.md index 31dcdac0..96f6a4d6 100644 --- a/README.md +++ b/README.md @@ -14,5 +14,7 @@ To use the widgets defined here, you will need to add this dependency. ``` -If you have any questions, please ask them on our [Google Group](https://groups.google.com/forum/?fromgroups#!forum/gwtbootstrap3) +* Want to see the demo as the v1.0-SNAPSHOT is worked on? Visit the 1.0-SNAPSHOT demo [here](http://gwtbootstrap3.github.io/gwtbootstrap3-demo/snapshot). +* The API docs for the v1.0-SNAPSHOT can be found [here](http://gwtbootstrap3.github.io/gwtbootstrap3-demo/snapshot/apidocs) as well. +If you have any questions, please ask them on our [Google Group](https://groups.google.com/forum/?fromgroups#!forum/gwtbootstrap3) diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 00000000..267b0677 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then + echo "ossrh\${env.OSSRH_USER}\${env.OSSRH_PASS}" > ~/settings.xml + mvn deploy --settings ~/settings.xml +fi diff --git a/pom.xml b/pom.xml index bf4035fd..c75e7715 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,12 @@ - + 4.0.0 org.gwtbootstrap3 gwtbootstrap3-parent - 0.9-SNAPSHOT + 1.0-SNAPSHOT gwtbootstrap3-extras diff --git a/src/main/java/org/gwtbootstrap3/extras/bootbox/client/Bootbox.java b/src/main/java/org/gwtbootstrap3/extras/bootbox/client/Bootbox.java index a2e09496..c4e7efd6 100644 --- a/src/main/java/org/gwtbootstrap3/extras/bootbox/client/Bootbox.java +++ b/src/main/java/org/gwtbootstrap3/extras/bootbox/client/Bootbox.java @@ -20,9 +20,11 @@ * #L% */ +import com.google.gwt.core.client.JavaScriptObject; import org.gwtbootstrap3.extras.bootbox.client.callback.AlertCallback; import org.gwtbootstrap3.extras.bootbox.client.callback.ConfirmCallback; import org.gwtbootstrap3.extras.bootbox.client.callback.PromptCallback; +import org.gwtbootstrap3.extras.bootbox.client.constants.BootboxSize; /** * Created by kyle on 2013/12/11. @@ -75,4 +77,179 @@ public static native void prompt(String msg, PromptCallback callback) /*-{ callback.@org.gwtbootstrap3.extras.bootbox.client.callback.PromptCallback::callback(Ljava/lang/String;)(result); }); }-*/; + + /** + * Displays a completely customisable dialog in a modal dialog box. + * + * @param dialog the dialog configuration. + */ + public static native void dialog(Dialog dialog) /*-{ + $wnd.bootbox.dialog(dialog); + }-*/; + + /** + * Hide all currently active bootbox dialogs. + *

Individual dialogs can be closed as per normal Bootstrap dialogs: dialog.modal('hide'). + */ + public static native void hideAll() /*-{ + $wnd.bootbox.hideAll(); + }-*/; + + /** + * Creates a Defaults object. + */ + public static Defaults createDefaults() { + return Defaults.create(); + } + + /** + * Used to provide defaults configurations to Bootbox. + * + * @author Tercio Gaudencio Filho (terciofilho [at] gmail.com) + */ + public static class Defaults extends JavaScriptObject { + + protected Defaults() { + } + + public static final Defaults create() { + return JavaScriptObject.createObject().cast(); + } + + public final native Defaults setLocale(final String locale) /*-{ + this.locale = locale; + return this; + }-*/; + + public final native Defaults setShow(final boolean show) /*-{ + this.show = show; + return this; + }-*/; + + public final native Defaults setBackdrop(final boolean backdrop) /*-{ + this.backdrop = backdrop; + return this; + }-*/; + + public final native Defaults setCloseButton(final boolean closeButton) /*-{ + this.closeButton = closeButton; + return this; + }-*/; + + public final native Defaults setAnimate(final boolean animate) /*-{ + this.animate = animate; + return this; + }-*/; + + public final native Defaults setClassName(final String className) /*-{ + this.className = className; + return this; + }-*/; + + /** + * Define Bootbox defaults. Call this method to set the defaults in Bootbox. + */ + public final native void setDefaults() /*-{ + $wnd.bootbox.setDefaults(this); + }-*/; + + } + + /** + * Used to provide a Dialog configuration. + * + * @author Tercio Gaudencio Filho (terciofilho [at] gmail.com) + */ + public static class Dialog extends JavaScriptObject { + + protected Dialog() { + } + + public static final Dialog create() { + return JavaScriptObject.createObject().cast(); + } + + public final native Dialog setMessage(final String message) /*-{ + this.message = message; + return this; + }-*/; + + public final native Dialog setTitle(final String title) /*-{ + this.title = title; + return this; + }-*/; + + public final native Dialog setOnEscape(final AlertCallback callback) /*-{ + this.onEscape = function() { + callback.@org.gwtbootstrap3.extras.bootbox.client.callback.AlertCallback::callback()(); + }; + return this; + }-*/; + + public final native Dialog setBackdrop(final boolean backdrop) /*-{ + this.backdrop = backdrop; + return this; + }-*/; + + public final native Dialog setCloseButton(final boolean closeButton) /*-{ + this.closeButton = closeButton; + return this; + }-*/; + + public final native Dialog setAnimate(final boolean animate) /*-{ + this.animate = animate; + return this; + }-*/; + + public final native Dialog setClassName(final String className) /*-{ + this.className = className; + return this; + }-*/; + + public final native Dialog setSize(final BootboxSize size) /*-{ + this.size = size.@org.gwtbootstrap3.extras.bootbox.client.constants.BootboxSize::getSize()(); + return this; + }-*/; + + public final native Dialog addButton(String label , String className, AlertCallback callback) /*-{ + this.buttons = this.buttons || {}; + this.buttons[label] = { + className: className, + callback: function() { + callback.@org.gwtbootstrap3.extras.bootbox.client.callback.AlertCallback::callback()(); + } + }; + return this; + }-*/; + + public final native Dialog addButton(String label , String className) /*-{ + this.buttons = this.buttons || {}; + this.buttons[label] = { + className: className + }; + return this; + }-*/; + + public final native Dialog addButton(String label , AlertCallback callback) /*-{ + this.buttons = this.buttons || {}; + this.buttons[label] = { + callback: function() { + callback.@org.gwtbootstrap3.extras.bootbox.client.callback.AlertCallback::callback()(); + } + }; + return this; + }-*/; + + public final native Dialog addButton(String label) /*-{ + this.buttons = this.buttons || {}; + this.buttons[label] = {}; + return this; + }-*/; + + public final void show() { + Bootbox.dialog(this); + } + + } + } diff --git a/src/main/java/org/gwtbootstrap3/extras/bootbox/client/BootboxClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/bootbox/client/BootboxClientBundle.java index 484ad3d5..4e570a66 100644 --- a/src/main/java/org/gwtbootstrap3/extras/bootbox/client/BootboxClientBundle.java +++ b/src/main/java/org/gwtbootstrap3/extras/bootbox/client/BootboxClientBundle.java @@ -31,6 +31,6 @@ interface BootboxClientBundle extends ClientBundle { static final BootboxClientBundle INSTANCE = GWT.create(BootboxClientBundle.class); - @Source("resource/js/bootbox-4.1.0.min.cache.js") + @Source("resource/js/bootbox-4.4.0.min.cache.js") TextResource bootbox(); } diff --git a/src/main/java/org/gwtbootstrap3/extras/bootbox/client/constants/BootboxSize.java b/src/main/java/org/gwtbootstrap3/extras/bootbox/client/constants/BootboxSize.java new file mode 100644 index 00000000..fe921e9f --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/bootbox/client/constants/BootboxSize.java @@ -0,0 +1,42 @@ +package org.gwtbootstrap3.extras.bootbox.client.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Bootbox window size. + * + * @author Tercio Gaudencio Filho (terciofilho [at] gmail.com) + */ +public enum BootboxSize { + + LARGE("large"), SMALL("small"); + + private String size; + + private BootboxSize(String size) { + this.size=size; + } + + public String getSize() { + return size; + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/DatePickerClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/DatePickerClientBundle.java new file mode 100644 index 00000000..0bf58477 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/DatePickerClientBundle.java @@ -0,0 +1,213 @@ +package org.gwtbootstrap3.extras.datepicker.client; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.GWT; +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.TextResource; + +/** + * @author Sven Jacobs + */ +public interface DatePickerClientBundle extends ClientBundle { + + static final DatePickerClientBundle INSTANCE = GWT.create(DatePickerClientBundle.class); + + @Source("resource/js/bootstrap-datepicker-1.4.0.min.cache.js") + TextResource datePicker(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ar.min.js") + TextResource ar(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.bg.min.js") + TextResource bg(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ca.min.js") + TextResource ca(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.cs.min.js") + TextResource cs(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.da.min.js") + TextResource da(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.de.min.js") + TextResource de(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.el.min.js") + TextResource el(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.en-GB.min.js") + TextResource en_GB(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.es.min.js") + TextResource es(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.et.min.js") + TextResource et(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.eu.min.js") + TextResource eu(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.fa.min.js") + TextResource fa(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.fi.min.js") + TextResource fi(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.fo.min.js") + TextResource fo(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr.min.js") + TextResource fr(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr-CH.min.js") + TextResource fr_CH(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.gl.min.js") + TextResource gl(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.he.min.js") + TextResource he(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.hr.min.js") + TextResource hr(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.hu.min.js") + TextResource hu(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.hy.min.js") + TextResource hy(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.id.min.js") + TextResource id(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.is.min.js") + TextResource is(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.it.min.js") + TextResource it(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.it-CH.min.js") + TextResource it_CH(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ja.min.js") + TextResource ja(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ka.min.js") + TextResource ka(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.kh.min.js") + TextResource kh(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.kk.min.js") + TextResource kk(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.kr.min.js") + TextResource kr(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.lt.min.js") + TextResource lt(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.lv.min.js") + TextResource lv(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.me.min.js") + TextResource me(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.mk.min.js") + TextResource mk(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ms.min.js") + TextResource ms(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.nb.min.js") + TextResource nb(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl.min.js") + TextResource nl(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl-BE.min.js") + TextResource nl_BE(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.no.min.js") + TextResource no(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.pl.min.js") + TextResource pl(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt.min.js") + TextResource pt(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt-BR.min.js") + TextResource pt_BR(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ro.min.js") + TextResource ro(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs.min.js") + TextResource rs(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs-latin.min.js") + TextResource rs_latin(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.ru.min.js") + TextResource ru(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sk.min.js") + TextResource sk(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sl.min.js") + TextResource sl(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sq.min.js") + TextResource sq(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr.min.js") + TextResource sr(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr-latin.min.js") + TextResource sr_latin(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sv.min.js") + TextResource sv(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.sw.min.js") + TextResource sw(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.th.min.js") + TextResource th(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.tr.min.js") + TextResource tr(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.uk.min.js") + TextResource uk(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.vi.min.js") + TextResource vi(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-CN.min.js") + TextResource zh_CN(); + + @Source("resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-TW.min.js") + TextResource zh_TW(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/DatePickerEntryPoint.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/DatePickerEntryPoint.java new file mode 100644 index 00000000..265cf363 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/DatePickerEntryPoint.java @@ -0,0 +1,35 @@ +package org.gwtbootstrap3.extras.datepicker.client; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.EntryPoint; +import com.google.gwt.core.client.ScriptInjector; + +/** + * @author Sven Jacobs + */ +public class DatePickerEntryPoint implements EntryPoint { + + @Override + public void onModuleLoad() { + ScriptInjector.fromString(DatePickerClientBundle.INSTANCE.datePicker().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/DatePicker.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/DatePicker.java new file mode 100644 index 00000000..0be3dbaf --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/DatePicker.java @@ -0,0 +1,29 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase; + +/** + * @author Joshua Godi + */ +public class DatePicker extends DatePickerBase { +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/DatePickerBase.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/DatePickerBase.java new file mode 100644 index 00000000..956f3df9 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/DatePickerBase.java @@ -0,0 +1,593 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.ScriptInjector; +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.Style; +import com.google.gwt.editor.client.IsEditor; +import com.google.gwt.editor.client.LeafValueEditor; +import com.google.gwt.editor.client.adapters.TakesValueEditor; +import com.google.gwt.event.logical.shared.ValueChangeEvent; +import com.google.gwt.event.logical.shared.ValueChangeHandler; +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.i18n.client.DateTimeFormat; +import com.google.gwt.user.client.Event; +import com.google.gwt.user.client.ui.*; +import org.gwtbootstrap3.client.shared.event.HideEvent; +import org.gwtbootstrap3.client.shared.event.HideHandler; +import org.gwtbootstrap3.client.shared.event.ShowEvent; +import org.gwtbootstrap3.client.shared.event.ShowHandler; +import org.gwtbootstrap3.client.ui.TextBox; +import org.gwtbootstrap3.client.ui.base.HasId; +import org.gwtbootstrap3.client.ui.base.HasPlaceholder; +import org.gwtbootstrap3.client.ui.base.HasResponsiveness; +import org.gwtbootstrap3.client.ui.base.ValueBoxBase; +import org.gwtbootstrap3.client.ui.base.helper.StyleHelper; +import org.gwtbootstrap3.client.ui.constants.DeviceSize; +import org.gwtbootstrap3.extras.datepicker.client.ui.base.constants.*; +import org.gwtbootstrap3.extras.datepicker.client.ui.base.events.*; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Joshua Godi + */ +public class DatePickerBase extends Widget + implements HasEnabled, HasId, HasResponsiveness, HasVisibility, HasPlaceholder, HasAutoClose, HasDaysOfWeekDisabled, HasEndDate, HasForceParse, + HasFormat, HasHighlightToday, HasKeyboardNavigation, HasMinView, HasShowTodayButton, HasStartDate, HasStartView, HasViewSelect, HasWeekStart, + HasDateTimePickerHandlers, HasLanguage, HasName, HasValue, HasPosition, IsEditor> { + + // Check http://www.gwtproject.org/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.html + // for more information on syntax + private static final Map DATE_TIME_FORMAT_MAP = new HashMap(); + + static { + DATE_TIME_FORMAT_MAP.put('m', 'M'); // months + } + + private final TextBox textBox; + private DateTimeFormat dateTimeFormat; + private final DateTimeFormat startEndDateFormat = DateTimeFormat.getFormat("MM-dd-yyyy"); + private LeafValueEditor editor; + + /** + * DEFAULT values + */ + private String format = "mm/dd/yyyy"; + private DatePickerDayOfWeek weekStart = DatePickerDayOfWeek.SUNDAY; + private DatePickerDayOfWeek[] daysOfWeekDisabled = {}; + private boolean autoClose = false; + private DatePickerMinView startView = DatePickerMinView.DAY; + private DatePickerMinView minView = DatePickerMinView.DAY; + + private boolean showTodayButton = false; + private boolean highlightToday = false; + private boolean keyboardNavigation = true; + private boolean forceParse = true; + + private DatePickerMinView viewSelect = DatePickerMinView.DAY; + + private Widget container = null; + private DatePickerLanguage language = DatePickerLanguage.EN; + private DatePickerPosition position = DatePickerPosition.TOP_LEFT; + + public DatePickerBase() { + textBox = new TextBox(); + setElement((Element) textBox.getElement()); + setFormat(format); + } + + public void setContainer(final Widget container) { + this.container = container; + } + + public Widget getContainer() { + return container; + } + + public TextBox getTextBox() { + return textBox; + } + + public void setAlignment(final ValueBoxBase.TextAlignment align) { + textBox.setAlignment(align); + } + + @Override + public void setPlaceholder(final String placeHolder) { + textBox.setPlaceholder(placeHolder); + } + + @Override + public String getPlaceholder() { + return textBox.getPlaceholder(); + } + + public void setReadOnly(final boolean readOnly) { + textBox.setReadOnly(readOnly); + } + + public boolean isReadOnly() { + return textBox.isReadOnly(); + } + + @Override + public boolean isEnabled() { + return textBox.isEnabled(); + } + + @Override + public void setEnabled(final boolean enabled) { + textBox.setEnabled(enabled); + } + + @Override + public void setId(final String id) { + textBox.setId(id); + } + + @Override + public String getId() { + return textBox.getId(); + } + + @Override + public void setName(final String name) { + textBox.setName(name); + } + + @Override + public String getName() { + return textBox.getName(); + } + + @Override + public void setVisibleOn(final DeviceSize deviceSize) { + StyleHelper.setVisibleOn(this, deviceSize); + } + + @Override + public void setHiddenOn(final DeviceSize deviceSize) { + StyleHelper.setHiddenOn(this, deviceSize); + } + + @Override + public void setLanguage(final DatePickerLanguage language) { + this.language = language; + + // Inject the JS for the language + if (language.getJs() != null) { + ScriptInjector.fromString(language.getJs().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); + } + } + + @Override + public DatePickerLanguage getLanguage() { + return language; + } + + @Override + public void setPosition(final DatePickerPosition position) { + this.position = position; + } + + @Override + public DatePickerPosition getPosition() { + return position; + } + + /** + * Call this whenever changing any settings: minView, startView, format, etc. If you are changing + * format and date value, the updates must take in such order: + *

+ * locales.cache.1.4.0. DateTimePicker.reload() + * 2. DateTimePicker.setValue(newDate); // Date newDate. + *

+ * Otherwise date value is not updated. + */ + public void reload() { + configure(); + } + + public void show() { + show(getElement()); + } + + public void hide() { + hide(getElement()); + } + + @Override + public void setAutoClose(final boolean autoClose) { + this.autoClose = autoClose; + } + + @Override + public void onShow(final Event e) { + // On show we put focus on the textbox + textBox.setFocus(true); + + fireEvent(new ShowEvent(e)); + } + + @Override + public HandlerRegistration addShowHandler(final ShowHandler showHandler) { + return addHandler(showHandler, ShowEvent.getType()); + } + + @Override + public void onHide(final Event e) { + // On hide we remove focus from the textbox + textBox.setFocus(false); + + fireEvent(new HideEvent(e)); + } + + @Override + public HandlerRegistration addHideHandler(final HideHandler hideHandler) { + return addHandler(hideHandler, HideEvent.getType()); + } + + @Override + public void onChangeDate(final Event e) { + fireEvent(new ChangeDateEvent(e)); + } + + @Override + public HandlerRegistration addChangeDateHandler(final ChangeDateHandler changeDateHandler) { + return addHandler(changeDateHandler, ChangeDateEvent.getType()); + } + + @Override + public void onChangeYear(final Event e) { + fireEvent(new ChangeYearEvent(e)); + } + + @Override + public HandlerRegistration addChangeYearHandler(final ChangeYearHandler changeYearHandler) { + return addHandler(changeYearHandler, ChangeYearEvent.getType()); + } + + @Override + public void onChangeMonth(final Event e) { + fireEvent(new ChangeMonthEvent(e)); + } + + @Override + public HandlerRegistration addChangeMonthHandler(final ChangeMonthHandler changeMonthHandler) { + return addHandler(changeMonthHandler, ChangeMonthEvent.getType()); + } + + @Override + public void onClearDate(final Event e) { + fireEvent(new ClearDateEvent(e)); + } + + @Override + public HandlerRegistration addClearDateHandler(final ClearDateHandler clearDateHandler) { + return addHandler(clearDateHandler, ClearDateEvent.getType()); + } + + @Override + public void setDaysOfWeekDisabled(final DatePickerDayOfWeek... daysOfWeekDisabled) { + setDaysOfWeekDisabled(getElement(), toDaysOfWeekDisabledString(daysOfWeekDisabled)); + } + + @Override + public void setEndDate(final Date endDate) { + // Has to be in the format YYYY-MM-DD + setEndDate(startEndDateFormat.format(endDate)); + } + + @Override + public void setEndDate(final String endDate) { + // Has to be in the format YYYY-MM-DD + setEndDate(getElement(), endDate); + } + + @Override + public void clearEndDate() { + setStartDate(getElement(), null); + } + + @Override + public void setForceParse(final boolean forceParse) { + this.forceParse = forceParse; + } + + @Override + public void setHighlightToday(final boolean highlightToday) { + this.highlightToday = highlightToday; + } + + @Override + public void setHasKeyboardNavigation(final boolean hasKeyboardNavigation) { + this.keyboardNavigation = hasKeyboardNavigation; + } + + @Override + public void setMinView(final DatePickerMinView datePickerMinView) { + this.minView = datePickerMinView; + + // We keep the view select the same as the min view + if (viewSelect != minView) { + setViewSelect(datePickerMinView); + } + } + + @Override + public void setShowTodayButton(final boolean showTodayButton) { + this.showTodayButton = showTodayButton; + } + + @Override + public void setStartDate(final Date startDate) { + // Has to be in the format DD-MM-YYYY + setStartDate(startEndDateFormat.format(startDate)); + } + + @Override + public void setStartDate(final String startDate) { + // Has to be in the format DD-MM-YYYY + setStartDate(getElement(), startDate); + } + + @Override + public void clearStartDate() { + setStartDate(getElement(), null); + } + + @Override + public void setStartView(final DatePickerMinView datePickerMinView) { + this.startView = datePickerMinView; + } + + @Override + public void setViewSelect(final DatePickerMinView datePickerMinView) { + this.viewSelect = datePickerMinView; + + // We keep the min view the same as the view select + if (viewSelect != minView) { + setMinView(datePickerMinView); + } + } + + @Override + public void setWeekStart(final DatePickerDayOfWeek weekStart) { + this.weekStart = weekStart; + } + + @Override + public void setFormat(final String format) { + this.format = format; + + // Get the old value + final Date oldValue = getValue(); + + // Make the new DateTimeFormat + setDateTimeFormat(format); + + if (oldValue != null) { + setValue(oldValue); + } + } + + private void setDateTimeFormat(final String format) { + final StringBuilder fb = new StringBuilder(format); + for (int i = 0; i < fb.length(); i++) { + if (DATE_TIME_FORMAT_MAP.containsKey(fb.charAt(i))) { + fb.setCharAt(i, DATE_TIME_FORMAT_MAP.get(fb.charAt(i))); + } + } + + this.dateTimeFormat = DateTimeFormat.getFormat(fb.toString()); + } + + @Override + public Date getValue() { + try { + return dateTimeFormat != null && textBox.getValue() != null ? dateTimeFormat.parse(textBox.getValue()) : null; + } catch (final Exception e) { + return null; + } + } + + public String getBaseValue() { + return textBox.getValue(); + } + + @Override + public HandlerRegistration addValueChangeHandler(final ValueChangeHandler dateValueChangeHandler) { + return addHandler(dateValueChangeHandler, ValueChangeEvent.getType()); + } + + @Override + public void setValue(final Date value) { + setValue(value, false); + } + + @Override + public void setValue(final Date value, final boolean fireEvents) { + textBox.setValue(value != null ? dateTimeFormat.format(value) : null); + update(textBox.getElement()); + + if (fireEvents) { + ValueChangeEvent.fire(DatePickerBase.this, value); + } + } + + @Override + public LeafValueEditor asEditor() { + if (editor == null) { + editor = TakesValueEditor.of(this); + } + return editor; + } + + /** + * {@inheritDoc} + */ + @Override + protected void onLoad() { + super.onLoad(); + configure(); + + // With the new update the parent must have position: relative for positioning to work + if (getElement().getParentElement() != null) { + getElement().getParentElement().getStyle().setPosition(Style.Position.RELATIVE); + } + } + + @Override + protected void onUnload() { + super.onUnload(); + remove(getElement()); + } + + protected void configure() { + // If the user hasn't specified the container, default to the widget's parent + // This makes sure the modal scroll with the content correctly + if (container == null) { + configure(this, this.getParent()); + } else { + configure(this, container); + } + } + + protected void configure(final Widget w, final Widget container) { + w.getElement().setAttribute("data-date-format", format); + + // If configuring not for the first time, datepicker must be removed first. + this.remove(w.getElement()); + + configure(w.getElement(), container.getElement(), format, weekStart.getValue(), toDaysOfWeekDisabledString(daysOfWeekDisabled), autoClose, + startView.getValue(), minView.getValue(), showTodayButton, highlightToday, keyboardNavigation, forceParse, viewSelect.getValue(), + language.getCode(), position.getPosition()); + } + + protected void execute(final String cmd) { + execute(getElement(), cmd); + } + + private native void execute(Element e, String cmd) /*-{ + $wnd.jQuery(e).datepicker(cmd); + }-*/; + + private native void remove(Element e) /*-{ + $wnd.jQuery(e).datepicker('remove'); + $wnd.jQuery(e).off('show'); + $wnd.jQuery(e).off('hide'); + $wnd.jQuery(e).off('changeDate'); + $wnd.jQuery(e).off('changeYear'); + $wnd.jQuery(e).off('changeMonth'); + $wnd.jQuery(e).off('clearDate'); + }-*/; + + private native void show(Element e) /*-{ + $wnd.jQuery(e).datepicker('show'); + }-*/; + + private native void hide(Element e) /*-{ + $wnd.jQuery(e).datepicker('hide'); + }-*/; + + private native void update(Element e) /*-{ + $wnd.jQuery(e).datepicker('update'); + }-*/; + + private native void setStartDate(Element e, String startDate) /*-{ + $wnd.jQuery(e).datepicker('setStartDate', startDate); + }-*/; + + private native void setEndDate(Element e, String endDate) /*-{ + $wnd.jQuery(e).datepicker('setEndDate', endDate); + }-*/; + + private native void setDaysOfWeekDisabled(Element e, String daysOfWeekDisabled) /*-{ + $wnd.jQuery(e).datepicker('setDaysOfWeekDisabled', daysOfWeekDisabled); + }-*/; + + protected native void configure(Element e, Element p, String format, int weekStart, String daysOfWeekDisabled, boolean autoClose, int startView, + int minViewMode, boolean todayBtn, boolean highlightToday, boolean keyboardNavigation, boolean forceParse, int viewSelect, String language, + String orientation) /*-{ + + if (todayBtn) { + todayBtn = "linked"; + } + + var that = this; + $wnd.jQuery(e).datepicker({ + format: format, + language: language, + weekStart: weekStart, + daysOfWeekDisabled: daysOfWeekDisabled, + autoclose: autoClose, + startView: startView, + minViewMode: minViewMode, + todayBtn: todayBtn, + todayHighlight: highlightToday, + keyboardNavigation: keyboardNavigation, + forceParse: forceParse, + orientation: orientation, + container: p + }) + .on('show', function (e) { + that.@org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase::onShow(Lcom/google/gwt/user/client/Event;)(e); + }) + .on("hide", function (e) { + that.@org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase::onHide(Lcom/google/gwt/user/client/Event;)(e); + }) + .on("changeDate", function (e) { + that.@org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase::onChangeDate(Lcom/google/gwt/user/client/Event;)(e); + }) + .on("changeYear", function (e) { + that.@org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase::onChangeYear(Lcom/google/gwt/user/client/Event;)(e); + }) + .on("changeMonth", function (e) { + that.@org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase::onChangeMonth(Lcom/google/gwt/user/client/Event;)(e); + }) + .on("clearDate", function (e) { + that.@org.gwtbootstrap3.extras.datepicker.client.ui.base.DatePickerBase::onClearDate(Lcom/google/gwt/user/client/Event;)(e); + }); + }-*/; + + protected String toDaysOfWeekDisabledString(final DatePickerDayOfWeek... datePickerDayOfWeeks) { + this.daysOfWeekDisabled = datePickerDayOfWeeks; + + final StringBuilder builder = new StringBuilder(); + + if (datePickerDayOfWeeks != null) { + int i = 0; + for (final DatePickerDayOfWeek dayOfWeek : datePickerDayOfWeeks) { + builder.append(dayOfWeek.getValue()); + + i++; + if (i < datePickerDayOfWeeks.length) { + builder.append(","); + } + } + } + return builder.toString(); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerDayOfWeek.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerDayOfWeek.java new file mode 100644 index 00000000..ba123928 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerDayOfWeek.java @@ -0,0 +1,46 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Day of the week enum for easy access + * + * @author Joshua Godi + */ +public enum DatePickerDayOfWeek { + SUNDAY(0), + MONDAY(1), + TUESDAY(2), + WEDNESDAY(3), + THURSDAY(4), + FRIDAY(5), + SATURDAY(6); + + private final int value; + + DatePickerDayOfWeek(final int value) { + this.value = value; + } + + public int getValue() { + return value; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerLanguage.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerLanguage.java new file mode 100644 index 00000000..c735e4db --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerLanguage.java @@ -0,0 +1,105 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.resources.client.TextResource; +import org.gwtbootstrap3.extras.datepicker.client.DatePickerClientBundle; + +/** + * @author Joshua Godi + */ +public enum DatePickerLanguage { + AR("ar", DatePickerClientBundle.INSTANCE.ar()), + BG("bg", DatePickerClientBundle.INSTANCE.bg()), + CA("ca", DatePickerClientBundle.INSTANCE.ca()), + CS("cs", DatePickerClientBundle.INSTANCE.cs()), + DA("da", DatePickerClientBundle.INSTANCE.da()), + DE("de", DatePickerClientBundle.INSTANCE.de()), + EL("el", DatePickerClientBundle.INSTANCE.el()), + EN_GB("en-GB", DatePickerClientBundle.INSTANCE.en_GB()), + ES("es", DatePickerClientBundle.INSTANCE.es()), + ET("et", DatePickerClientBundle.INSTANCE.et()), + EU("eu", DatePickerClientBundle.INSTANCE.eu()), + FA("fa", DatePickerClientBundle.INSTANCE.fa()), + FO("fo", DatePickerClientBundle.INSTANCE.fo()), + FI("fi", DatePickerClientBundle.INSTANCE.fi()), + FR("fr", DatePickerClientBundle.INSTANCE.fr()), + FR_CH("fr-CH", DatePickerClientBundle.INSTANCE.fr_CH()), + GL("gl", DatePickerClientBundle.INSTANCE.gl()), + HE("he", DatePickerClientBundle.INSTANCE.he()), + HR("hr", DatePickerClientBundle.INSTANCE.hr()), + HU("hu", DatePickerClientBundle.INSTANCE.hu()), + HY("hy", DatePickerClientBundle.INSTANCE.hy()), + ID("id", DatePickerClientBundle.INSTANCE.id()), + IS("is", DatePickerClientBundle.INSTANCE.is()), + IT("it", DatePickerClientBundle.INSTANCE.it()), + IT_CH("it-CH", DatePickerClientBundle.INSTANCE.it_CH()), + JA("ja", DatePickerClientBundle.INSTANCE.ja()), + KA("ka", DatePickerClientBundle.INSTANCE.ka()), + KH("kh", DatePickerClientBundle.INSTANCE.kh()), + KK("kk", DatePickerClientBundle.INSTANCE.kk()), + KR("kr", DatePickerClientBundle.INSTANCE.kr()), + LT("lt", DatePickerClientBundle.INSTANCE.lt()), + LV("lv", DatePickerClientBundle.INSTANCE.lv()), + MK("mk", DatePickerClientBundle.INSTANCE.mk()), + MS("ms", DatePickerClientBundle.INSTANCE.ms()), + NB("nb", DatePickerClientBundle.INSTANCE.nb()), + NL("nl", DatePickerClientBundle.INSTANCE.nl()), + NL_BE("nl-BE", DatePickerClientBundle.INSTANCE.nl_BE()), + NO("no", DatePickerClientBundle.INSTANCE.no()), + PL("pl", DatePickerClientBundle.INSTANCE.pl()), + PT("pt", DatePickerClientBundle.INSTANCE.pt()), + PT_BR("pt-BR", DatePickerClientBundle.INSTANCE.pt_BR()), + RO("ro", DatePickerClientBundle.INSTANCE.ro()), + RS("rs", DatePickerClientBundle.INSTANCE.rs()), + RS_LATIN("rs-latin", DatePickerClientBundle.INSTANCE.rs_latin()), + RU("ru", DatePickerClientBundle.INSTANCE.ru()), + SK("sk", DatePickerClientBundle.INSTANCE.sk()), + SL("sl", DatePickerClientBundle.INSTANCE.sl()), + SQ("sq", DatePickerClientBundle.INSTANCE.sq()), + SR("sr", DatePickerClientBundle.INSTANCE.sr()), + SR_LATIN("sr-latin", DatePickerClientBundle.INSTANCE.sr_latin()), + SV("sv", DatePickerClientBundle.INSTANCE.sv()), + SW("sw", DatePickerClientBundle.INSTANCE.sw()), + TH("th", DatePickerClientBundle.INSTANCE.th()), + TR("tr", DatePickerClientBundle.INSTANCE.tr()), + VI("vi", DatePickerClientBundle.INSTANCE.vi()), + UK("uk", DatePickerClientBundle.INSTANCE.uk()), + ZH_CN("zh-CN", DatePickerClientBundle.INSTANCE.zh_CN()), + ZH_TW("zh-TW", DatePickerClientBundle.INSTANCE.zh_TW()), + EN("en", null); // Base language, don't need another file + + private final String code; + private final TextResource js; + + private DatePickerLanguage(final String code, final TextResource js) { + this.js = js; + this.code = code; + } + + public String getCode() { + return code; + } + + public TextResource getJs() { + return js; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerMinView.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerMinView.java new file mode 100644 index 00000000..243cc058 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerMinView.java @@ -0,0 +1,40 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * @author Matt Davis + */ +public enum DatePickerMinView { + DAY(0), + MONTH(1), + YEAR(2); + + private final int value; + + DatePickerMinView(final int value) { + this.value = value; + } + + public int getValue() { + return value; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerPosition.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerPosition.java new file mode 100644 index 00000000..f20a3c21 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerPosition.java @@ -0,0 +1,48 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Position to display the DateTimePicker popup + * + * @author Joshua Godi + */ +public enum DatePickerPosition { + AUTO("auto"), + TOP_AUTO("top auto"), + BOTTOM_AUTO("bottom auto"), + AUTO_RIGHT("auto right"), + AUTO_LEFT("auto left"), + TOP_LEFT("top left"), + TOP_RIGHT("top right"), + BOTTOM_LEFT("bottom left"), + BOTTOM_RIGHT("bottom right"); + + private final String position; + + DatePickerPosition(final String position) { + this.position = position; + } + + public String getPosition() { + return position; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerStartView.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerStartView.java new file mode 100644 index 00000000..791aa8fc --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/DatePickerStartView.java @@ -0,0 +1,40 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * @author Matt Davis + */ +public enum DatePickerStartView { + MONTH(0), + YEAR(1), + DECADE(2); + + private final int value; + + DatePickerStartView(final int value) { + this.value = value; + } + + public int getValue() { + return value; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasAutoClose.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasAutoClose.java new file mode 100644 index 00000000..52c87df9 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasAutoClose.java @@ -0,0 +1,32 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boolean. Default: false + *

+ * Whether or not to close the datetimepicker immediately when a date is selected. + * + * @author Joshua Godi + */ +public interface HasAutoClose { + void setAutoClose(boolean autoClose); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasDateTimePickerHandlers.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasDateTimePickerHandlers.java new file mode 100644 index 00000000..c37ac918 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasDateTimePickerHandlers.java @@ -0,0 +1,61 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.user.client.Event; +import com.google.web.bindery.event.shared.HandlerRegistration; +import org.gwtbootstrap3.client.shared.event.HideHandler; +import org.gwtbootstrap3.client.shared.event.ShowHandler; +import org.gwtbootstrap3.extras.datepicker.client.ui.base.events.ChangeDateHandler; +import org.gwtbootstrap3.extras.datepicker.client.ui.base.events.ChangeMonthHandler; +import org.gwtbootstrap3.extras.datepicker.client.ui.base.events.ChangeYearHandler; +import org.gwtbootstrap3.extras.datepicker.client.ui.base.events.ClearDateHandler; + +/** + * All handlers for the DateTimePicker + * + * @author Joshua Godi + */ +public interface HasDateTimePickerHandlers { + void onShow(Event e); + + HandlerRegistration addShowHandler(ShowHandler showHandler); + + void onHide(Event e); + + HandlerRegistration addHideHandler(HideHandler hideHandler); + + void onChangeDate(Event e); + + HandlerRegistration addChangeDateHandler(ChangeDateHandler changeDateHandler); + + void onChangeYear(Event e); + + HandlerRegistration addChangeYearHandler(ChangeYearHandler changeYearHandler); + + void onChangeMonth(Event e); + + HandlerRegistration addChangeMonthHandler(ChangeMonthHandler changeMonthHandler); + + void onClearDate(Event e); + + HandlerRegistration addClearDateHandler(ClearDateHandler outOfRangeHandler); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasDaysOfWeekDisabled.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasDaysOfWeekDisabled.java new file mode 100644 index 00000000..51234312 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasDaysOfWeekDisabled.java @@ -0,0 +1,34 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Enum, Array enums. Default: none + *

+ * Days of the week that should be disabled. Values are enum of DateTimePickerDayOfWeek. + * Multiple values should be comma-separated. Example: disable weekends: SUNDAY, MONDAY. + * + * @author Joshua Godi + * @see org.gwtbootstrap3.extras.datepicker.client.ui.base.constants.DatePickerDayOfWeek + */ +public interface HasDaysOfWeekDisabled { + void setDaysOfWeekDisabled(DatePickerDayOfWeek... daysOfWeekDisabled); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasEndDate.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasEndDate.java new file mode 100644 index 00000000..5de86069 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasEndDate.java @@ -0,0 +1,38 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import java.util.Date; + +/** + * Date. Default: End of time + *

+ * The latest date that may be selected; all later dates will be disabled. + * + * @author Joshua Godi + */ +public interface HasEndDate { + void setEndDate(Date endDate); + + void setEndDate(String endDate); + + void clearEndDate(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasForceParse.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasForceParse.java new file mode 100644 index 00000000..9b85bed5 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasForceParse.java @@ -0,0 +1,34 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boolean. Default: true + *

+ * Whether or not to force parsing of the input value when the picker is closed. + * That is, when an invalid date is left in the input field by the user, the picker will forcibly parse + * that value, and set the input's value to the new, valid date, conforming to the given format. + * + * @author Joshua Godi + */ +public interface HasForceParse { + void setForceParse(boolean forceParse); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasFormat.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasFormat.java new file mode 100644 index 00000000..278c41a6 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasFormat.java @@ -0,0 +1,50 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * String. Default: 'mm/dd/yyyy' + *

+ * The date format, combination of p, P, h, hh, i, ii, s, ss, d, dd, m, mm, M, MM, yy, yyyy. + * p : meridian in lower case ('am' or 'pm') - according to locale file + * P : meridian in upper case ('AM' or 'PM') - according to locale file + * s : seconds without leading zeros + * ss : seconds, 2 digits with leading zeros + * i : minutes without leading zeros + * ii : minutes, 2 digits with leading zeros + * h : hour without leading zeros - 24-hour format + * hh : hour, 2 digits with leading zeros - 24-hour format + * H : hour without leading zeros - 12-hour format + * HH : hour, 2 digits with leading zeros - 12-hour format + * d : day of the month without leading zeros + * dd : day of the month, 2 digits with leading zeros + * m : numeric representation of month without leading zeros + * mm : numeric representation of the month, 2 digits with leading zeros + * M : short textual representation of a month, three letters + * MM : full textual representation of a month, such as January or March + * yy : two digit representation of a year + * yyyy : full numeric representation of a year, 4 digits + * + * @author Joshua Godi + */ +public interface HasFormat { + void setFormat(String format); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasHighlightToday.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasHighlightToday.java new file mode 100644 index 00000000..eaf15fb2 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasHighlightToday.java @@ -0,0 +1,32 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boolean. Default: false + *

+ * If true, highlights the current date. + * + * @author Joshua Godi + */ +public interface HasHighlightToday { + void setHighlightToday(boolean highlightToday); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasKeyboardNavigation.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasKeyboardNavigation.java new file mode 100644 index 00000000..c3c29f40 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasKeyboardNavigation.java @@ -0,0 +1,32 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boolean. Default: true + *

+ * Whether or not to allow date navigation by arrow keys. + * + * @author Joshua Godi + */ +public interface HasKeyboardNavigation { + void setHasKeyboardNavigation(boolean hasKeyboardNavigation); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasLanguage.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasLanguage.java new file mode 100644 index 00000000..e2ee827a --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasLanguage.java @@ -0,0 +1,35 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Setter and getter for the language of the date time picker + *

+ * Be sure to load one language, it will use whatever is loaded last + * + * @author Joshua Godi + * @see DatePickerLanguage + */ +public interface HasLanguage { + void setLanguage(DatePickerLanguage language); + + DatePickerLanguage getLanguage(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasMinView.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasMinView.java new file mode 100644 index 00000000..325639fa --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasMinView.java @@ -0,0 +1,33 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Enum. Default: HOUR + *

+ * The lowest view that the datetimepicker should show. + * + * @author Joshua Godi + * @see DatePickerMinView + */ +public interface HasMinView { + void setMinView(DatePickerMinView datePickerMinView); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasPosition.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasPosition.java new file mode 100644 index 00000000..9b685266 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasPosition.java @@ -0,0 +1,42 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Default: BOTTOM_RIGHT + * + * @author Joshua Godi + */ +public interface HasPosition { + /** + * Set the position of the date time picker + * + * @param position position + */ + void setPosition(DatePickerPosition position); + + /** + * Gets the position of the date time picker + * + * @return position + */ + DatePickerPosition getPosition(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasShowTodayButton.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasShowTodayButton.java new file mode 100644 index 00000000..c744aa3a --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasShowTodayButton.java @@ -0,0 +1,34 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boolean, "linked". Default: false + *

+ * If true or "linked", displays a "Today" button at the bottom of the datetimepicker to select the current date. + * If true, the "Today" button will only move the current date into view; if "linked", + * the current date will also be selected. + * + * @author Joshua Godi + */ +public interface HasShowTodayButton { + void setShowTodayButton(boolean showTodayButton); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasStartDate.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasStartDate.java new file mode 100644 index 00000000..4a63b6a5 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasStartDate.java @@ -0,0 +1,38 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import java.util.Date; + +/** + * Date. Default: Beginning of time + *

+ * The earliest date that may be selected; all earlier dates will be disabled. + * + * @author Joshua Godi + */ +public interface HasStartDate { + void setStartDate(Date startDate); + + void setStartDate(String startDate); + + void clearStartDate(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasStartView.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasStartView.java new file mode 100644 index 00000000..6c4ffa27 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasStartView.java @@ -0,0 +1,39 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * ENUM. Default: 2, 'month' + *

+ * The view that the datetimepicker should show when it is opened. Accepts values of : + *

+ * 'hour' for the hour view + * 'day' for the day view + * 'month' for month view (the default) + * 'year' for the 12-month overview + * 'decade' for the 10-year overview. Useful for date-of-birth datetimepickers. + * + * @author Joshua Godi + * @see DatePickerMinView + */ +public interface HasStartView { + void setStartView(DatePickerMinView datePickerMinView); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasViewSelect.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasViewSelect.java new file mode 100644 index 00000000..284f0b11 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasViewSelect.java @@ -0,0 +1,34 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Default: same as minView + *

+ * With this option you can select the view from which the date will be selected. By default it's the last one, + * however you can choose the first one, so at each click the date will be updated. + * + * @author Joshua Godi + * @see DatePickerMinView + */ +public interface HasViewSelect { + void setViewSelect(DatePickerMinView datePickerMinView); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasWeekStart.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasWeekStart.java new file mode 100644 index 00000000..dd483944 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/constants/HasWeekStart.java @@ -0,0 +1,33 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Enum. Default: SUNDAY + *

+ * Day of the week start. SUNDAY - SATURDAY + * + * @author Joshua Godi + * @see DatePickerDayOfWeek + */ +public interface HasWeekStart { + void setWeekStart(DatePickerDayOfWeek weekStart); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeDateEvent.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeDateEvent.java new file mode 100644 index 00000000..46e95597 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeDateEvent.java @@ -0,0 +1,56 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; + +/** + * @author Joshua Godi + */ +public class ChangeDateEvent extends GwtEvent { + + private static final Type TYPE = new Type(); + + private final Event nativeEvent; + + public static Type getType() { + return TYPE; + } + + public ChangeDateEvent(final Event nativeEvent) { + this.nativeEvent = nativeEvent; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final ChangeDateHandler handler) { + handler.onChangeDate(this); + } +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeDateHandler.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeDateHandler.java new file mode 100644 index 00000000..bd728ba8 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeDateHandler.java @@ -0,0 +1,30 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Joshua Godi + */ +public interface ChangeDateHandler extends EventHandler { + void onChangeDate(final ChangeDateEvent evt); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeMonthEvent.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeMonthEvent.java new file mode 100644 index 00000000..c6ce1aff --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeMonthEvent.java @@ -0,0 +1,56 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; + +/** + * @author Joshua Godi + */ +public class ChangeMonthEvent extends GwtEvent { + + private static final Type TYPE = new Type(); + + private final Event nativeEvent; + + public static Type getType() { + return TYPE; + } + + public ChangeMonthEvent(final Event nativeEvent) { + this.nativeEvent = nativeEvent; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final ChangeMonthHandler handler) { + handler.onChangeMonth(this); + } +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeMonthHandler.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeMonthHandler.java new file mode 100644 index 00000000..b6542e60 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeMonthHandler.java @@ -0,0 +1,30 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Joshua Godi + */ +public interface ChangeMonthHandler extends EventHandler { + void onChangeMonth(final ChangeMonthEvent evt); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeYearEvent.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeYearEvent.java new file mode 100644 index 00000000..21207d78 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeYearEvent.java @@ -0,0 +1,56 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; + +/** + * @author Joshua Godi + */ +public class ChangeYearEvent extends GwtEvent { + + private static final Type TYPE = new Type(); + + private final Event nativeEvent; + + public static Type getType() { + return TYPE; + } + + public ChangeYearEvent(final Event nativeEvent) { + this.nativeEvent = nativeEvent; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final ChangeYearHandler handler) { + handler.onChangeYear(this); + } +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeYearHandler.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeYearHandler.java new file mode 100644 index 00000000..03a38da1 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ChangeYearHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Joshua Godi + */ +public interface ChangeYearHandler extends EventHandler { + void onChangeYear(final ChangeYearEvent evt); +} + diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ClearDateEvent.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ClearDateEvent.java new file mode 100644 index 00000000..081408f8 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ClearDateEvent.java @@ -0,0 +1,56 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; + +/** + * @author Matt Davis + */ +public class ClearDateEvent extends GwtEvent { + + private static final Type TYPE = new Type(); + + private final Event nativeEvent; + + public static Type getType() { + return TYPE; + } + + public ClearDateEvent(final Event nativeEvent) { + this.nativeEvent = nativeEvent; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final ClearDateHandler handler) { + handler.onClearDate(this); + } +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ClearDateHandler.java b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ClearDateHandler.java new file mode 100644 index 00000000..e660320f --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/datepicker/client/ui/base/events/ClearDateHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.datepicker.client.ui.base.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Matt Davis + */ +public interface ClearDateHandler extends EventHandler { + void onClearDate(final ClearDateEvent evt); +} + diff --git a/src/main/java/org/gwtbootstrap3/extras/datetimepicker/client/ui/base/DateTimePickerBase.java b/src/main/java/org/gwtbootstrap3/extras/datetimepicker/client/ui/base/DateTimePickerBase.java index 9a93dcbb..23f18d1e 100644 --- a/src/main/java/org/gwtbootstrap3/extras/datetimepicker/client/ui/base/DateTimePickerBase.java +++ b/src/main/java/org/gwtbootstrap3/extras/datetimepicker/client/ui/base/DateTimePickerBase.java @@ -92,6 +92,18 @@ public class DateTimePickerBase extends Widget implements HasEnabled, HasId, Has HasShowMeridian, HasShowTodayButton, HasStartDate, HasStartView, HasViewSelect, HasWeekStart, HasDateTimePickerHandlers, HasLanguage, HasName, HasValue, HasPosition, IsEditor> { + // Check http://www.gwtproject.org/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.html + // for more information on syntax + private static final Map DATE_TIME_FORMAT_MAP = new HashMap(); + static { + DATE_TIME_FORMAT_MAP.put('h', 'H'); // 12/24 hours + DATE_TIME_FORMAT_MAP.put('H', 'h'); // 12/24 hours + DATE_TIME_FORMAT_MAP.put('m', 'M'); // months + DATE_TIME_FORMAT_MAP.put('i', 'm'); // minutes + DATE_TIME_FORMAT_MAP.put('p', 'a'); // meridian + DATE_TIME_FORMAT_MAP.put('P', 'a'); // meridian + } + private final TextBox textBox; private DateTimeFormat dateTimeFormat; private final DateTimeFormat startEndDateFormat = DateTimeFormat.getFormat("yyyy-MM-dd"); @@ -436,21 +448,10 @@ public void setFormat(final String format) { } private void setDateTimeFormat(final String format) { - // Check http://www.gwtproject.org/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.html - // for more information on syntax - final Map map = new HashMap() {{ - put('h', 'H'); // 12/24 hours - put('H', 'h'); // 12/24 hours - put('m', 'M'); // months - put('i', 'm'); // minutes - put('p', 'a'); // meridian - put('P', 'a'); // meridian - }}; - final StringBuilder fb = new StringBuilder(format); for (int i = 0; i < fb.length(); i++) { - if (map.containsKey(fb.charAt(i))) { - fb.setCharAt(i, map.get(fb.charAt(i))); + if (DATE_TIME_FORMAT_MAP.containsKey(fb.charAt(i))) { + fb.setCharAt(i, DATE_TIME_FORMAT_MAP.get(fb.charAt(i))); } } diff --git a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/CalendarConfig.java b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/CalendarConfig.java index 87b1807e..0ed92e18 100644 --- a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/CalendarConfig.java +++ b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/CalendarConfig.java @@ -33,6 +33,7 @@ public class CalendarConfig { private Language langauge;//http://arshaw.com/fullcalendar/docs/text/lang/ private ClickAndHoverConfig clickHoverConfig;//http://arshaw.com/fullcalendar/docs/mouse/ + private SelectConfig selectConfig;//http://arshaw.com/fullcalendar/docs/selection/ private DragAndResizeConfig dragResizeConfig;//http://arshaw.com/fullcalendar/docs/event_ui/; private EventDataConfig eventConfig;//http://arshaw.com/fullcalendar/docs/event_data/ private GeneralDisplay generalDisplay;//http://arshaw.com/fullcalendar/docs/display/ @@ -171,6 +172,14 @@ public ClickAndHoverConfig getClickHoverConfig() { public void setClickHoverConfig(final ClickAndHoverConfig clickHoverConfig) { this.clickHoverConfig = clickHoverConfig; } + + public SelectConfig getSelectConfig() { + return selectConfig; + } + + public void setSelectConfig(final SelectConfig selectConfig) { + this.selectConfig = selectConfig; + } public DragAndResizeConfig getDragResizeConfig() { return dragResizeConfig; @@ -209,6 +218,7 @@ public JsArray getJavaScriptParameters() { setParameter(params, getDayNames()); setParameter(params, getDragResizeConfig()); setParameter(params, getClickHoverConfig()); + setParameter(params, getSelectConfig()); setParameter(params, getEventConfig()); setParameter(params, getColumnFormat()); setParameter(params, getTimeFormat()); diff --git a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/Event.java b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/Event.java index f61386b2..68331821 100644 --- a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/Event.java +++ b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/Event.java @@ -97,6 +97,11 @@ private native void setStart(String start) /*-{ theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.Event::event.start = start; }-*/; + public native void setStart(final JavaScriptObject start) /*-{ + var theInstance = this; + theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.Event::event.start = start; + }-*/; + public native JsDate getStart() /*-{ var theInstance = this; if (theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.Event::event.start) { @@ -135,6 +140,11 @@ private native void setEnd(String end) /*-{ theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.Event::event.end = end; }-*/; + public native void setEnd(final JavaScriptObject end) /*-{ + var theInstance = this; + theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.Event::event.end = end; + }-*/; + public native JsDate getEnd() /*-{ var theInstance = this; if (theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.Event::event.end) { diff --git a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/FullCalendar.java b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/FullCalendar.java index 0aaa1902..794e2f16 100644 --- a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/FullCalendar.java +++ b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/FullCalendar.java @@ -373,4 +373,12 @@ private native void setAspectRatio(String id, double ratio) /*-{ public native void excecuteFunction(JavaScriptObject revertFunction)/*-{ revertFunction(); }-*/; + + public void unselect() { + unselect(getElement().getId()); + } + + private native void unselect(String id) /*-{ + $wnd.jQuery('#' + id).fullCalendar('unselect'); + }-*/; } diff --git a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/SelectConfig.java b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/SelectConfig.java new file mode 100644 index 00000000..59607d3a --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/SelectConfig.java @@ -0,0 +1,55 @@ +package org.gwtbootstrap3.extras.fullcalendar.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * Wraps selection events inside a JavaScriptObject + * + * @see http://fullcalendar.io/docs/selection/ + */ +public class SelectConfig implements IsJavaScriptObject { + private JavaScriptObject script; + + public SelectConfig(final SelectEventCallback handler) { + if (handler != null) { + newInstance(handler); + } + } + + private native void newInstance(SelectEventCallback handler) /*-{ + var theInstance = this; + var mouseHandler = handler; + theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.SelectConfig::script = {}; + theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.SelectConfig::script.select = function (start, end, jsEvent, view) { + mouseHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.SelectEventCallback::select(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;Lcom/google/gwt/core/client/JavaScriptObject;)(start, end, jsEvent, view); + }; + theInstance.@org.gwtbootstrap3.extras.fullcalendar.client.ui.SelectConfig::script.unselect = function (view, jsEvent) { + mouseHandler.@org.gwtbootstrap3.extras.fullcalendar.client.ui.SelectEventCallback::unselect(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/dom/client/NativeEvent;)(view, jsEvent); + }; + }-*/; + + @Override + public JavaScriptObject toJavaScript() { + return script; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/SelectEventCallback.java b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/SelectEventCallback.java new file mode 100644 index 00000000..55c46dd5 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/fullcalendar/client/ui/SelectEventCallback.java @@ -0,0 +1,34 @@ +package org.gwtbootstrap3.extras.fullcalendar.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.dom.client.NativeEvent; + +/** + * Selection callback interface + * + */ +public interface SelectEventCallback { + public void select(JavaScriptObject start, JavaScriptObject end, NativeEvent event, JavaScriptObject viewObject); + + public void unselect(JavaScriptObject viewObject, NativeEvent event); +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/growl/client/ui/Growl.java b/src/main/java/org/gwtbootstrap3/extras/growl/client/ui/Growl.java index b45e1a74..ba97374e 100644 --- a/src/main/java/org/gwtbootstrap3/extras/growl/client/ui/Growl.java +++ b/src/main/java/org/gwtbootstrap3/extras/growl/client/ui/Growl.java @@ -20,10 +20,11 @@ * #L% */ -import com.google.gwt.core.client.JavaScriptObject; import org.gwtbootstrap3.client.ui.constants.IconType; import org.gwtbootstrap3.client.ui.constants.Styles; +import com.google.gwt.core.client.JavaScriptObject; + /** * This class represent instance of displayed Growl. *

@@ -219,7 +220,6 @@ public static final Growl growl(final String title, final String message, final * @see org.gwtbootstrap3.extras.growl.client.ui.GrowlOptions */ public static final native Growl growl(final String message, final GrowlOptions options) /*-{ - console.log(options); return $wnd.jQuery.growl({ message: message }, options); }-*/; diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/NotifyClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/NotifyClientBundle.java new file mode 100644 index 00000000..42ca407e --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/NotifyClientBundle.java @@ -0,0 +1,33 @@ +package org.gwtbootstrap3.extras.notify.client; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.GWT; +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.TextResource; + +public interface NotifyClientBundle extends ClientBundle { + + static final NotifyClientBundle INSTANCE = GWT.create(NotifyClientBundle.class); + + @Source("resource/js/bootstrap-notify-3.0.0.min.cache.js") + TextResource notifyJS(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/NotifyEntryPoint.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/NotifyEntryPoint.java new file mode 100644 index 00000000..64fc256b --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/NotifyEntryPoint.java @@ -0,0 +1,43 @@ +package org.gwtbootstrap3.extras.notify.client; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.EntryPoint; +import com.google.gwt.core.client.ScriptInjector; + +public class NotifyEntryPoint implements EntryPoint { + + @Override + public void onModuleLoad() { + if (!isNotifyLoaded()) { + ScriptInjector.fromString(NotifyClientBundle.INSTANCE.notifyJS().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); + } + } + + /** + * Check if notify is already loaded. + * + * @return true if notify is loaded, false otherwise + */ + private native boolean isNotifyLoaded() /*-{ + return ($wnd.jQuery && $wnd.jQuery.notify); + }-*/; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyIconType.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyIconType.java new file mode 100644 index 00000000..291bcb84 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyIconType.java @@ -0,0 +1,51 @@ +package org.gwtbootstrap3.extras.notify.client.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.client.ui.constants.Type; + +/** + * Enumeration of Notify's icon types. + * + * @author Xiaodong SUN + */ +public enum NotifyIconType implements Type { + + CLASS("class"), + IMAGE("img"), + ; + + private final String type; + + private NotifyIconType(final String type) { + this.type = type; + } + + /** + * Returns the string representation of icon type. + * + * @return the string representation of icon type + */ + public String getType() { + return type; + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyPlacement.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyPlacement.java new file mode 100644 index 00000000..4994003b --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyPlacement.java @@ -0,0 +1,74 @@ +package org.gwtbootstrap3.extras.notify.client.constants; + +import org.gwtbootstrap3.client.ui.constants.Type; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Enumeration of possible Notify's screen locations. + * + * @author Xiaodong SUN + */ +public enum NotifyPlacement implements Type { + + TOP_LEFT("top", "left"), + TOP_CENTER("top", "center"), + TOP_RIGHT("top", "right"), + BOTTOM_LEFT("bottom", "left"), + BOTTOM_CENTER("bottom", "center"), + BOTTOM_RIGHT("bottom", "right"); + + private final String from; + private final String align; + + private NotifyPlacement(final String from, final String align) { + this.from = from; + this.align = align; + } + + /** + * Returns the vertical placement : top or bottom. + * + * @return the vertical placement + */ + public String getFrom() { + return from; + } + + /** + * Returns the horizontal placement : left, center, or right. + * + * @return the horizontal placement + */ + public String getAlign() { + return align; + } + + /** + * Returns the string representation of placement. + * + * @return String representation of placement + */ + public String getPlacement() { + return getFrom() + "-" + getAlign(); + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyPosition.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyPosition.java new file mode 100644 index 00000000..e33465c0 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyPosition.java @@ -0,0 +1,53 @@ +package org.gwtbootstrap3.extras.notify.client.constants; + +import org.gwtbootstrap3.client.ui.constants.Type; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Enumeration of possible Notify's position to the container element. + * + * @author Xiaodong SUN + */ +public enum NotifyPosition implements Type { + + STATIC("static"), + FIXED("fixed"), + RELATIVE("relative"), + ABSOLUTE("absolute"), + ; + + private final String position; + + private NotifyPosition(final String position) { + this.position = position; + } + + /** + * Returns the string representation of position. + * + * @return the string representation of position + */ + public String getPosition() { + return position; + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyType.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyType.java new file mode 100644 index 00000000..b0bd7513 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyType.java @@ -0,0 +1,57 @@ +package org.gwtbootstrap3.extras.notify.client.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.client.ui.base.helper.EnumHelper; +import org.gwtbootstrap3.client.ui.constants.Type; + +import com.google.gwt.dom.client.Style.HasCssName; + +/** + * Enumeration of Notify's types (CSS class names). + *

+ * Style name is appended after "alert-", so resulting CSS class name is "alert-[type]". + * + * @author Pavel Zlámal + */ +public enum NotifyType implements Type, HasCssName { + + DANGER("danger"), + INFO("info"), + SUCCESS("success"), + WARNING("warning"); + + private final String cssClass; + + private NotifyType(final String cssClass) { + this.cssClass = cssClass; + } + + public static NotifyType fromStyleName(final String styleName) { + return EnumHelper.fromStyleName(styleName, NotifyType.class, INFO); + } + + @Override + public String getCssName() { + return cssClass; + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyUrlTarget.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyUrlTarget.java new file mode 100644 index 00000000..abf7b9d7 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/constants/NotifyUrlTarget.java @@ -0,0 +1,53 @@ +package org.gwtbootstrap3.extras.notify.client.constants; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.client.ui.constants.Type; + +/** + * Enumeration of Notify's URL target types. + * + * @author Xiaodong SUN + */ +public enum NotifyUrlTarget implements Type { + + BLANK("_blank"), + SELF("_self"), + PARENT("_parent"), + TOP("_top"), + ; + + private final String target; + + private NotifyUrlTarget(final String target) { + this.target = target; + } + + /** + * Returns the string representation of URL target. + * + * @return the string representation of URL target + */ + public String getTarget() { + return target; + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyCloseHandler.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyCloseHandler.java new file mode 100644 index 00000000..4d63e083 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyCloseHandler.java @@ -0,0 +1,40 @@ +package org.gwtbootstrap3.extras.notify.client.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Handler interface for Notify close events. + */ +public interface NotifyCloseHandler { + + /** + * Called when Notify close event is fired. + */ + void onClose(); + + /** + * Default Notify's close handler + */ + static NotifyCloseHandler DEFAULT_CLOSE_HANDLER = new NotifyCloseHandler() { + @Override + public void onClose() {} + }; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyClosedHandler.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyClosedHandler.java new file mode 100644 index 00000000..88a56aa5 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyClosedHandler.java @@ -0,0 +1,40 @@ +package org.gwtbootstrap3.extras.notify.client.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Handler interface for Notify closed events. + */ +public interface NotifyClosedHandler { + + /** + * Called when Notify closed event is fired. + */ + void onClosed(); + + /** + * Default Notify's closed handler + */ + static NotifyClosedHandler DEFAULT_CLOSED_HANDLER = new NotifyClosedHandler() { + @Override + public void onClosed() {} + }; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyShowHandler.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyShowHandler.java new file mode 100644 index 00000000..9b227523 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyShowHandler.java @@ -0,0 +1,40 @@ +package org.gwtbootstrap3.extras.notify.client.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Handler interface for Notify show events. + */ +public interface NotifyShowHandler { + + /** + * Called when Notify show event is fired. + */ + void onShow(); + + /** + * Default Notify's show handler + */ + static NotifyShowHandler DEFAULT_SHOW_HANDLER = new NotifyShowHandler() { + @Override + public void onShow() {} + }; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyShownHandler.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyShownHandler.java new file mode 100644 index 00000000..efed8833 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/event/NotifyShownHandler.java @@ -0,0 +1,40 @@ +package org.gwtbootstrap3.extras.notify.client.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Handler interface for Notify shown events. + */ +public interface NotifyShownHandler { + + /** + * Called when Notify shown event is fired. + */ + void onShown(); + + /** + * Default Notify's shown handler + */ + static NotifyShownHandler DEFAULT_SHOWN_HANDLER = new NotifyShownHandler() { + @Override + public void onShown() {} + }; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/ui/Notify.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/ui/Notify.java new file mode 100644 index 00000000..d1229360 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/ui/Notify.java @@ -0,0 +1,393 @@ +package org.gwtbootstrap3.extras.notify.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.client.ui.constants.IconType; +import org.gwtbootstrap3.client.ui.constants.Styles; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyPlacement; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyType; + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * This class represent instance of displayed Notify. + *

+ * You can display new Notify using static methods, e.g.: + * {@link #notify(String)}, + * {@link #notify(String, NotifyType)}, + * {@link #notify(String, NotifySettings)} and others + *

+ * To further configure Notify before displaying see: + * {@see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings} + *

+ * You can update displayed Notify by: + * {@link #updateTitle(String)}, + * {@link #updateMessage(String)}, + * {@link #updateIcon(String)}, + * {@link #updateType(NotifyType)}, + *

+ * You can hide displayed Notify: + * {@link #hide()}, + * {@link #hideAll()}, + * {@link #hideAll(NotifyPlacement)} + * + * @author jeffisenhart + * @author Sven Jacobs + * @author Joshua Godi + * @author Pavel Zlámal + */ +public class Notify extends JavaScriptObject { + + protected Notify() { + } + + /** + * Display Notify with custom message, and default settings. + * + * @param message Message to set + * @return Displayed Notify for update or hiding. + */ + public static final native Notify notify(final String message) /*-{ + return $wnd.jQuery.notify({ message: message }, null); + }-*/; + + /** + * Display Notify with custom title, message, and default settings. + * + * @param title Title to set + * @param message Message to set + * @return Displayed Notify for update or hiding. + */ + public static final native Notify notify(final String title, final String message) /*-{ + return $wnd.jQuery.notify({ title: title, message: message }, null); + }-*/; + + /** + * Display Notify with custom title, message, icon, and default settings. + * + * @param title Title to set + * @param message Message to set + * @param icon Icon to set + * @return Displayed Notify for update or hiding. + */ + public static final native Notify notify(final String title, final String message, final String icon) /*-{ + return $wnd.jQuery.notify({ title: title, message: message, icon: icon }, null); + }-*/; + + /** + * Display Notify with custom title, message, icon, and default settings. + * + * @param title Title to set + * @param message Message to set + * @param iconType IconType to set + * @return Displayed Notify for update or hiding. + */ + public static final Notify notify(final String title, final String message, final IconType iconType) { + return Notify.notify(title, message, Styles.FONT_AWESOME_BASE + " " + iconType.getCssName()); + } + + /** + * Display Notify with custom title, message, icon, URL, and default settings. + * + * @param title Title to set + * @param message Message to set + * @param icon IconType to set + * @param url Url to set + * @return Displayed Notify for update or hiding. + */ + public static final native Notify notify(final String title, final String message, final String icon, final String url) /*-{ + return $wnd.jQuery.notify({ title: title, message: message, icon: icon, url: url }, null); + }-*/; + + /** + * Display Notify with custom title, message, icon, url and default settings. + * + * @param title Title to set + * @param message Message to set + * @param iconType IconType to set + * @param url Url to set + * @return Displayed Notify for update or hiding. + */ + public static final Notify notify(final String title, final String message, final IconType iconType, final String url) { + return Notify.notify(title, message, Styles.FONT_AWESOME_BASE + " " + iconType.getCssName(), url); + } + + /** + * Display Notify with custom message, type and default settings. + * + * @param message Message to set + * @param type NotifyType + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public static final native Notify notify(final String message, final NotifyType type) /*-{ + return $wnd.jQuery.notify({ message: message }, { type: type.@org.gwtbootstrap3.extras.notify.client.constants.NotifyType::getCssName()() }); + }-*/; + + /** + * Display Notify with custom title, message, type and default settings. + * + * @param title Title to set + * @param message Message to set + * @param type NotifyType + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public static final native Notify notify(final String title, final String message, final NotifyType type) /*-{ + return $wnd.jQuery.notify({ title: title, message: message }, { type: type.@org.gwtbootstrap3.extras.notify.client.constants.NotifyType::getCssName()() }); + }-*/; + + /** + * Display Notify with custom title, message, icon, type and default settings. + * + * @param title Title to set + * @param message Message to set + * @param icon Icon to set + * @param type NotifyType + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public static final native Notify notify(final String title, final String message, final String icon, final NotifyType type) /*-{ + return $wnd.jQuery.notify({ title: title, message: message, icon: icon }, { type: type.@org.gwtbootstrap3.extras.notify.client.constants.NotifyType::getCssName()() }); + }-*/; + + /** + * Display Notify with custom title, message, icon, type and default settings. + * + * @param title Title to set + * @param message Message to set + * @param iconType IconType to set (css name of icon form FONT AWESOME) + * @param type NotifyType + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public static final Notify notify(final String title, final String message, final IconType iconType, final NotifyType type) { + return Notify.notify(title, message, Styles.FONT_AWESOME_BASE + " " + iconType.getCssName(), type); + } + + /** + * Display Notify with custom title, message, icon, url, type and default settings. + * + * @param title Title to set + * @param message Message to set + * @param icon Icon to set + * @param url Url to set + * @param type NotifyType + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public static final native Notify notify(final String title, final String message, final String icon, final String url, final NotifyType type) /*-{ + return $wnd.jQuery.notify({ title: title, message: message, icon: icon, url: url }, { type: type.@org.gwtbootstrap3.extras.notify.client.constants.NotifyType::getCssName()() }); + }-*/; + + /** + * Display Notify with custom title, message, icon, url, type and default settings. + * + * @param title Title to set + * @param message Message to set + * @param iconType IconType to set (css name of icon form FONT AWESOME) + * @param url Url to set + * @param type NotifyType + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public static final Notify notify(final String title, final String message, final IconType iconType, final String url, final NotifyType type) { + return Notify.notify(title, message, Styles.FONT_AWESOME_BASE + " " + iconType.getCssName(), url, type); + } + + /** + * Display Notify with custom message and custom settings. + * + * @param message Message to set + * @param settings custom settings + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings + */ + public static final native Notify notify(final String message, final NotifySettings settings) /*-{ + return $wnd.jQuery.notify({ message: message }, settings); + }-*/; + + /** + * Display Notify with custom title, message and custom settings. + * + * @param title Title to set + * @param message Message to set + * @param settings custom settings + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings + */ + public static final native Notify notify(final String title, final String message, final NotifySettings settings) /*-{ + return $wnd.jQuery.notify({ title: title, message: message }, settings); + }-*/; + + /** + * Display Notify with custom title, message, icon and custom settings. + * + * @param title Title to set + * @param message Message to set + * @param icon Icon to set + * @param settings custom settings + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings + */ + public static final native Notify notify(final String title, final String message, final String icon, final NotifySettings settings) /*-{ + return $wnd.jQuery.notify({ title: title, message: message, icon: icon }, settings); + }-*/; + + /** + * Display Notify with custom title, message, icon and custom settings. + * + * @param title Title to set + * @param message Message to set + * @param iconType IconType to set (css name of icon form FONT AWESOME) + * @param settings custom settings + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings + */ + public static final Notify notify(final String title, final String message, final IconType iconType, final NotifySettings settings) { + return Notify.notify(title, message, Styles.FONT_AWESOME_BASE + " " + iconType.getCssName(), settings); + } + + /** + * Display Notify with custom title, message, icon, URL and custom settings. + * + * @param title Title to set + * @param message Message to set + * @param icon Icon to set + * @param url Url to set + * @param settings custom settings + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings + */ + public static final native Notify notify(final String title, final String message, final String icon, final String url, final NotifySettings settings) /*-{ + return $wnd.jQuery.notify({ title: title, message: message, icon: icon, url: url}, settings); + }-*/; + + /** + * Display Notify with custom title, message, icon, URL and custom settings. + * + * @param title Title to set + * @param message Message to set + * @param iconType IconType to set + * @param url Url to set + * @param settings custom settings + * @return Displayed Notify for update or hiding. + * @see org.gwtbootstrap3.extras.notify.client.ui.NotifySettings + */ + public static final Notify notify(final String title, final String message, final IconType iconType, final String url, final NotifySettings settings) { + return Notify.notify(title, message, Styles.FONT_AWESOME_BASE + " " + iconType.getCssName(), url, settings); + } + + /** + * Hide all displayed Notifies. + */ + public static final native void hideAll() /*-{ + $wnd.jQuery.notifyClose(); + }-*/; + + /** + * Hide all displayed Notifies on specific screen location. + * + * @param placement Notify's placement on screen. + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyPlacement + */ + public static final native void hideAll(NotifyPlacement placement) /*-{ + if (plamenet !== null) { + $wnd.jQuery.notifyClose(placement.@org.gwtbootstrap3.extras.notify.client.constants.NotifyPlacement::getPlacement()()); + } + }-*/; + + /** + * Updates title parameter of once displayed Notify. + * + * @param title Title to set + */ + public final native void updateTitle(String title) /*-{ + this.update('title', title); + }-*/; + + /** + * Updates message parameter of once displayed Notify. + * + * @param message Message to set + */ + public final native void updateMessage(String message) /*-{ + this.update('message', message); + }-*/; + + /** + * Updates Icon parameter of once displayed Notify. + * + * @param icon Icon to set + */ + public final native void updateIcon(String icon) /*-{ + this.update('icon', icon); + }-*/; + + /** + * Updates Icon parameter of once displayed Notify. + * This method is shortcut when using FONT AWESOME iconic font. + * + * @param type IconType to get CSS class name to set + */ + public final void updateIcon(final IconType type) { + if (type != null) updateIcon(Styles.FONT_AWESOME_BASE + " " + type.getCssName()); + } + + /** + * Update type of once displayed Notify (CSS style class name). + * + * @param type one of INFO, WARNING, DANGER, SUCCESS + * @see org.gwtbootstrap3.extras.notify.client.constants.NotifyType + */ + public final void updateType(final NotifyType type) { + if (type != null) { + updateType(type.getCssName()); + } + } + + /** + * Update type of once displayed Notify (CSS style class name). + * Resulting class name to use is "alert-[type]". + * + * @param type CSS class name to set + */ + private final native void updateType(String type) /*-{ + this.update('type', type); + }-*/; + + /** + * Update URL target of once displayed Notify. + * + * @param target URL target to set + */ + private final native void updateTarget(String target) /*-{ + this.update('target', target); + }-*/; + + /** + * Hide this Notify. + */ + public final native void hide() /*-{ + this.close(); + }-*/; + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/notify/client/ui/NotifySettings.java b/src/main/java/org/gwtbootstrap3/extras/notify/client/ui/NotifySettings.java new file mode 100644 index 00000000..21bd6452 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/notify/client/ui/NotifySettings.java @@ -0,0 +1,396 @@ +package org.gwtbootstrap3.extras.notify.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.extras.animate.client.ui.constants.Animation; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyIconType; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyPlacement; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyPosition; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyType; +import org.gwtbootstrap3.extras.notify.client.constants.NotifyUrlTarget; +import org.gwtbootstrap3.extras.notify.client.event.NotifyCloseHandler; +import org.gwtbootstrap3.extras.notify.client.event.NotifyClosedHandler; +import org.gwtbootstrap3.extras.notify.client.event.NotifyShowHandler; +import org.gwtbootstrap3.extras.notify.client.event.NotifyShownHandler; + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * This class represent basic Notify's settings, that you can use to customize display of each Notify. + *

+ * You can also set current state as default for all new Notifies. + * + * @author jeffisenhart + * @author Sven Jacobs + * @author Joshua Godi + * @author Pavel Zlámal + * @author Xiaodong SUN + * @see #makeDefault() + */ +public class NotifySettings extends JavaScriptObject { + + /** + * Default constructor + */ + protected NotifySettings() {} + + /** + * Creates a new instance of {@link NotifySettings}. + * + * @return a new instance of {@link NotifySettings}. + */ + public static NotifySettings newSettings() { + return JavaScriptObject.createObject().cast(); + } + + /** + * Set element name or class or ID to append Notify to. Default is 'body'. + * + * @param element Name, class or ID + */ + public final native void setElement(String element) /*-{ + this.element = element; + }-*/; + + /** + * Set custom position to the Notify container element. Default is null. + * + * @param position one of STATIC, FIXED, RELATIVE, ABSOLUTE, or null + */ + public final void setPosition(final NotifyPosition position) { + setPosition((position != null) ? position.getPosition() : null); + } + + /** + * Set native property of Notify's position. + * + * @param position Notify's position to the container element + */ + private final native void setPosition(String position) /*-{ + this.position = position; + }-*/; + + /** + * Set type of Notify (CSS style class name). Default is INFO. + * + * @param type one of INFO, WARNING, DANGER, SUCCESS + * @see NotifyType + */ + public final void setType(final NotifyType type) { + setType((type != null) ? type.getCssName() : NotifyType.INFO.getCssName()); + } + + /** + * Set custom style name to Notify. Resulting class name is "alert-[customType]". + * + * @param customType Style name to set + */ + public final native void setType(String customType) /*-{ + this.type = customType; + }-*/; + + /** + * Set placement of Notify on screen. Default placement is {@link NotifyPlacement#TOP_RIGHT}. + * + * @param placement Notify's placement on screen + * @see NotifyPlacement + */ + public final void setPlacement(final NotifyPlacement placement) { + setNotifyPlacement((placement != null) ? placement : NotifyPlacement.TOP_RIGHT); + } + + /** + * If false, the data-notify="dismiss" element in + * the template will be hidden. Default is true. + * + * @param allowDismiss if false, the close icon will be hidden + */ + public final native void setAllowDismiss(boolean allowDismiss) /*-{ + this.allow_dismiss = allowDismiss; + }-*/; + + /** + * If true, newer notifications push down older ones. Default + * is false.
+ *
+ * WARNING: Be careful when setting + * newestOnTop to true when a placement that + * already contains a notification has newest_on_top to + * false. It may cause issues with the plug-ins ability to + * place the notification in the correct location. + * + * @param newestOnTop if true, newer notifications push down older ones + * @since 3.0.0 + */ + public final native void setNewestOnTop(boolean newestOnTop) /*-{ + this.newest_on_top = newestOnTop; + }-*/; + + /** + * Set native property of Notify's placement. + * + * @param placement Notify's placement on screen + */ + private final native void setNotifyPlacement(final NotifyPlacement placement) /*-{ + var from = placement.@org.gwtbootstrap3.extras.notify.client.constants.NotifyPlacement::getFrom()(); + var align = placement.@org.gwtbootstrap3.extras.notify.client.constants.NotifyPlacement::getAlign()(); + this.placement = { from: from, align: align }; + }-*/; + + /** + * Set offset (space between Notify and screen/browser edges) for each axis. Default is 20 PX for both. + * + * @param offX Offset for X axis in PX + * @param offY Offset for Y axis in PX + */ + public final native void setOffset(int offX, int offY) /*-{ + this.offset = { x: offX, y: offY }; + }-*/; + + /** + * Set custom spacing between two Notifies. Default is 10 PX. + * + * @param space Spacing in PX + */ + public final native void setSpacing(int space) /*-{ + this.spacing = space; + }-*/; + + /** + * Set custom Z-index. Default is 1031. + * + * @param zIndex Z-index + */ + public final native void setZIndex(int zIndex) /*-{ + this.z_index = zIndex; + }-*/; + + /** + * Set delay, how long Notify stays on screen. Default is 5000 ms. + * Set to zero for unlimited time. + * + * @param mDelay Delay in milliseconds or zero for unlimited + */ + public final native void setDelay(int mDelay) /*-{ + this.delay = mDelay; + }-*/; + + /** + * Set timer. It's value is removed from remaining 'delay' on each 'timer' period. + * This way you can speed up hiding of Notify. If timer > remaining delay, Notify is + * hidden after delay runs out (ignoring timer). + * + * @param timer Time in milliseconds + * @see #setDelay(int) + */ + public final native void setTimer(int timer) /*-{ + this.timer = timer; + }-*/; + + /** + * Set custom URL target.
+ *
+ * Defaults to {@link NotifyUrlTarget#BLANK}. + * + * @param urlTarget URL target + */ + public final void setUrlTarget(NotifyUrlTarget urlTarget) { + setUrlTarget((urlTarget != null) ? urlTarget.getTarget() : NotifyUrlTarget.BLANK.getTarget()); + } + + /** + * Set custom URL target. Default is "_blank". + *

+ * See http://www.w3schools.com/tags/att_a_target.asp for possible values. + * + * @param customUrlTarget URL target + */ + public final native void setUrlTarget(String customUrlTarget) /*-{ + this.url_target = customUrlTarget; + }-*/; + + /** + * Pause countdown of display timeout when mouse is hovering above the Notify. + * Countdown continues (not restarted) if mouse leaves the Notify. + * + * @param pauseOnMouseOver TRUE = pause / FALSE = not pause + */ + public final native void setPauseOnMouseOver(boolean pauseOnMouseOver) /*-{ + this.mouse_over = pauseOnMouseOver ? 'pause' : null; + }-*/; + + /** + * Set Animation to Notify when it enters and exit the screen. + * + * Default is enter = Animation.FADE_IN_DOWN, exit = Animation.FADE_OUT_UP + * + * @see org.gwtbootstrap3.extras.animate.client.ui.constants.Animation + * + * @param enter animation style when Notify enters the screen + * @param exit animation style when Notify exists the screen + */ + public final void setAnimation(Animation enter, Animation exit) { + setAnimation((enter != null) ? enter.getCssName() : Animation.NO_ANIMATION.getCssName(), + (exit != null) ? exit.getCssName() : Animation.NO_ANIMATION.getCssName()); + } + + /** + * Set custom CSS style for animations of Notify when it enters and exits the screen. + * You must write your own CSS animation definition. + * + * @param enter animation style when Notify enters the screen + * @param exit animation style when Notify exists the screen + */ + public final native void setAnimation(String enter, String exit) /*-{ + this.animate = { enter: enter, exit: exit }; + }-*/; + + /** + * Set the Notify's show event handler. The show event fires immediately when + * the show instance method is called. + * + * @param handler + */ + public final void setShowHandler(final NotifyShowHandler handler) { + onShow((handler != null) ? handler : NotifyShowHandler.DEFAULT_SHOW_HANDLER); + } + + private final native void onShow(NotifyShowHandler handler) /*-{ + this.onShow = function() { + handler.@org.gwtbootstrap3.extras.notify.client.event.NotifyShowHandler::onShow()(); + }; + }-*/; + + /** + * Set the Notify's shown event handler. This event is fired when the modal has + * been made visible to the user (will wait for CSS transitions to complete). + * + * @param handler + */ + public final void setShownHandler(final NotifyShownHandler handler) { + onShown((handler != null) ? handler : NotifyShownHandler.DEFAULT_SHOWN_HANDLER); + } + + private final native void onShown(NotifyShownHandler handler) /*-{ + this.onShow = function() { + handler.@org.gwtbootstrap3.extras.notify.client.event.NotifyShownHandler::onShown()(); + }; + }-*/; + + /** + * Set the Notify's close event handler. This event is fired immediately when + * the notification is closing. + * + * @param handler + */ + public final void setCloseHandler(final NotifyCloseHandler handler) { + onClose((handler != null) ? handler : NotifyCloseHandler.DEFAULT_CLOSE_HANDLER); + } + + private final native void onClose(NotifyCloseHandler handler) /*-{ + this.onClose = function() { + handler.@org.gwtbootstrap3.extras.notify.client.event.NotifyCloseHandler::onClose()(); + }; + }-*/; + + /** + * Set the Notify's closed event handler. This event is fired when the modal + * has finished closing and is removed from the document (will wait for CSS + * transitions to complete). + * + * @param handler + */ + public final void setClosedHandler(final NotifyClosedHandler handler) { + onClosed((handler != null) ? handler : NotifyClosedHandler.DEFAULT_CLOSED_HANDLER); + } + + private final native void onClosed(NotifyClosedHandler handler) /*-{ + this.onClosed = function() { + handler.@org.gwtbootstrap3.extras.notify.client.event.NotifyClosedHandler::onClosed()(); + }; + }-*/; + + /** + * Set icon type you will use for Notify. Default is 'class', which + * allows to use iconic fonts like FontAwesome. + * If you want to use images instead of class, set value to "image".
+ *
+ * Defaults to {@link NotifyIconType#CLASS}. + * + * @param iconType the icon type + * @see NotifyIconType + */ + public final void setIconType(NotifyIconType iconType) { + setIconType((iconType != null) ? iconType.getType() : NotifyIconType.CLASS.getType()); + } + + /** + * Set native property of Notify's icon type. + * + * @param iconType Notify's icon type. + */ + private final native void setIconType(String iconType) /*-{ + this.icon_type = iconType; + }-*/; + + /** + * Set custom HTML Template of Notify. Default value is: + *

+ * + * <div data-notify="container" class="col-xs-11 col-sm-3 alert alert-{0}" role="alert">
+ *   <button type="button" aria-hidden="true" class="close" data-notify="dismiss">x</button>
+ *   <span data-notify="icon"></span>
+ *   <span data-notify="title">{1}</span>
+ *   <span data-notify="message">{2}</span>
+ *   <div class="progress" data-notify="progressbar">
+ *     <div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>
+ *   </div>
+ *   <a href="{3}" target="{4}" data-notify="url"></a>
+ * </div> + * + *

+ * Where: + *

+ * + * @param html Custom HTML template + * @see documentation at: http://bootstrap-notify.remabledesigns.com/ + */ + public final native void setTemplate(String html) /*-{ + this.template = html; + }-*/; + + /** + * Make this NotifySettings as default for all new Notifies. + *

+ * Values set to this NotifySettings overrides original default values. + * If value for some property is not set, original default value is kept. + */ + public final native void makeDefault() /*-{ + $wnd.jQuery.notifyDefaults(); + }-*/; + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/select/client/SelectClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/select/client/SelectClientBundle.java index 745dcb8a..03d6e6cc 100644 --- a/src/main/java/org/gwtbootstrap3/extras/select/client/SelectClientBundle.java +++ b/src/main/java/org/gwtbootstrap3/extras/select/client/SelectClientBundle.java @@ -31,48 +31,63 @@ public interface SelectClientBundle extends ClientBundle { static final SelectClientBundle INSTANCE = GWT.create(SelectClientBundle.class); - @Source("resource/js/bootstrap-select-1.6.3.min.cache.js") + @Source("resource/js/bootstrap-select-1.6.4.min.cache.js") TextResource selectJs(); - @Source("resource/js/locales.cache.1.6.3/defaults-cs_CZ.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-cs_CZ.min.js") TextResource cs(); - @Source("resource/js/locales.cache.1.6.3/defaults-de_DE.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-de_DE.min.js") TextResource de(); - @Source("resource/js/locales.cache.1.6.3/defaults-en_US.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-en_US.min.js") TextResource en(); - @Source("resource/js/locales.cache.1.6.3/defaults-es_CL.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-es_CL.min.js") TextResource es(); - @Source("resource/js/locales.cache.1.6.3/defaults-eu.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-eu.min.js") TextResource eu(); - @Source("resource/js/locales.cache.1.6.3/defaults-fr_FR.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-fr_FR.min.js") TextResource fr(); - @Source("resource/js/locales.cache.1.6.3/defaults-it_IT.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-hu_HU.min.js") + TextResource hu(); + + @Source("resource/js/locales.cache.1.6.4/defaults-it_IT.min.js") TextResource it(); - @Source("resource/js/locales.cache.1.6.3/defaults-nl_NL.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-nl_NL.min.js") TextResource nl(); - @Source("resource/js/locales.cache.1.6.3/defaults-pl_PL.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-pl_PL.min.js") TextResource pl(); - @Source("resource/js/locales.cache.1.6.3/defaults-pt_BR.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-pt_BR.min.js") TextResource pt_BR(); - @Source("resource/js/locales.cache.1.6.3/defaults-ro_RO.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-ro_RO.min.js") TextResource ro(); - @Source("resource/js/locales.cache.1.6.3/defaults-ua_UA.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-ru_RU.min.js") + TextResource ru(); + + @Source("resource/js/locales.cache.1.6.4/defaults-sl_SI.min.js") + TextResource sl(); + + @Source("resource/js/locales.cache.1.6.4/defaults-sv_SE.min.js") + TextResource sv(); + + @Source("resource/js/locales.cache.1.6.4/defaults-tr_TR.min.js") + TextResource tr(); + + @Source("resource/js/locales.cache.1.6.4/defaults-ua_UA.min.js") TextResource ua(); - @Source("resource/js/locales.cache.1.6.3/defaults-zh_CN.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-zh_CN.min.js") TextResource zh_CN(); - @Source("resource/js/locales.cache.1.6.3/defaults-zh_TW.min.js") + @Source("resource/js/locales.cache.1.6.4/defaults-zh_TW.min.js") TextResource zh_TW(); } diff --git a/src/main/java/org/gwtbootstrap3/extras/select/client/SelectEntryPoint.java b/src/main/java/org/gwtbootstrap3/extras/select/client/SelectEntryPoint.java index b68bc23b..f22773b0 100644 --- a/src/main/java/org/gwtbootstrap3/extras/select/client/SelectEntryPoint.java +++ b/src/main/java/org/gwtbootstrap3/extras/select/client/SelectEntryPoint.java @@ -30,7 +30,6 @@ public class SelectEntryPoint implements EntryPoint { @Override public void onModuleLoad() { - ScriptInjector.fromString(SelectClientBundle.INSTANCE.selectJs().getText()).setWindow(ScriptInjector.TOP_WINDOW) - .inject(); + ScriptInjector.fromString(SelectClientBundle.INSTANCE.selectJs().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); } } diff --git a/src/main/java/org/gwtbootstrap3/extras/select/client/constants/SelectLanguage.java b/src/main/java/org/gwtbootstrap3/extras/select/client/constants/SelectLanguage.java index 8ce1b585..c8f448e3 100644 --- a/src/main/java/org/gwtbootstrap3/extras/select/client/constants/SelectLanguage.java +++ b/src/main/java/org/gwtbootstrap3/extras/select/client/constants/SelectLanguage.java @@ -30,11 +30,16 @@ public enum SelectLanguage { ES("es", SelectClientBundle.INSTANCE.es()), EU("eu", SelectClientBundle.INSTANCE.eu()), FR("fr", SelectClientBundle.INSTANCE.fr()), + HU("hu", SelectClientBundle.INSTANCE.hu()), IT("it", SelectClientBundle.INSTANCE.it()), NL("nl", SelectClientBundle.INSTANCE.nl()), PL("pl", SelectClientBundle.INSTANCE.pl()), PT_BR("pt-BR", SelectClientBundle.INSTANCE.pt_BR()), RO("ro", SelectClientBundle.INSTANCE.ro()), + RU("ru", SelectClientBundle.INSTANCE.ru()), + SL("sl", SelectClientBundle.INSTANCE.sl()), + SV("sv", SelectClientBundle.INSTANCE.sv()), + TR("tr", SelectClientBundle.INSTANCE.tr()), UA("ua", SelectClientBundle.INSTANCE.ua()), ZH_CN("zh-CN", SelectClientBundle.INSTANCE.zh_CN()), ZH_TW("zh-TW", SelectClientBundle.INSTANCE.zh_TW()), diff --git a/src/main/java/org/gwtbootstrap3/extras/select/client/ui/Select.java b/src/main/java/org/gwtbootstrap3/extras/select/client/ui/Select.java index 8d0048e1..1cf9dc98 100644 --- a/src/main/java/org/gwtbootstrap3/extras/select/client/ui/Select.java +++ b/src/main/java/org/gwtbootstrap3/extras/select/client/ui/Select.java @@ -327,7 +327,8 @@ public void setValues(final Option... opts) { * and {@link #getValue(int)} for getting all the values selected or {@link #getAllSelectedValues()} */ public String getValue() { - return getSelectElement().getOptions().getItem(getSelectElement().getSelectedIndex()).getValue(); + int selectedIndex = getSelectElement().getSelectedIndex(); + return selectedIndex == -1 ? null : getSelectElement().getOptions().getItem(selectedIndex).getValue(); } public List getAllSelectedValues() { diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderClientBundle.java index 4b66588e..e8217ba4 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderClientBundle.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderClientBundle.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,15 +25,12 @@ import com.google.gwt.resources.client.TextResource; /** - * @author Sven Jacobs + * @author Xiaodong SUN */ interface SliderClientBundle extends ClientBundle { static final SliderClientBundle INSTANCE = GWT.create(SliderClientBundle.class); - @Source("resource/js/bootstrap-slider-1.4.3.min.cache.js") + @Source("resource/js/bootstrap-slider-4.5.6.min.cache.js") TextResource slider(); - - @Source("resource/js/modernizr-touch-2.7.1.cache.js") - TextResource modernizr(); } diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderEntryPoint.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderEntryPoint.java index e0de3e82..06e840e3 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderEntryPoint.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/SliderEntryPoint.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,14 +24,23 @@ import com.google.gwt.core.client.ScriptInjector; /** - * @author Sven Jacobs + * @author Xiaodong SUN */ public class SliderEntryPoint implements EntryPoint { @Override public void onModuleLoad() { - ScriptInjector.fromString(SliderClientBundle.INSTANCE.slider().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); - ScriptInjector.fromString(SliderClientBundle.INSTANCE.modernizr().getText()).setWindow(ScriptInjector.TOP_WINDOW) - .inject(); + if (!isSliderLoaded()) { + ScriptInjector.fromString(SliderClientBundle.INSTANCE.slider().getText()).setWindow(ScriptInjector.TOP_WINDOW).inject(); + } } + + /** + * Check if slider is already loaded. + * + * @return true if slider is loaded, false otherwise + */ + private native boolean isSliderLoaded() /*-{ + return (typeof $wnd['Slider'] !== 'undefined'); + }-*/; } diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Range.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Range.java new file mode 100644 index 00000000..84fc278d --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Range.java @@ -0,0 +1,113 @@ +package org.gwtbootstrap3.extras.slider.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.core.client.JsArrayNumber; +import com.google.gwt.core.client.JsonUtils; + +/** + * Slider range with a min value and a max value. + */ +public class Range { + + private double minValue; + private double maxValue; + + protected Range() { + } + + /** + * Create a slider range with a min value and a max value. + * + * @param minValue + * @param maxValue + */ + public Range(final double minValue, final double maxValue) { + this.minValue = minValue; + this.maxValue = maxValue; + } + + /** + * Creates a slider range with a JavaScritp number array.
+ *
+ * This constructor is useful in JSNI calls. + * + * @param array + */ + public Range(final JsArrayNumber array) { + this(array.get(0), array.get(1)); + } + + /** + * Returns the min value. + * + * @return the min value + */ + public double getMinValue() { + return minValue; + } + + /** + * Returns the max value. + * + * @return the max value + */ + public double getMaxValue() { + return maxValue; + } + + /** + * Converts the range to a JavaScript number array. + * + * @return a JavaScript number array + */ + public JsArrayNumber toJsArray() { + JsArrayNumber array = JavaScriptObject.createArray().cast(); + array.push(minValue); + array.push(maxValue); + return array; + } + + /** + * Converts the given string to a range instance.
+ *
+ * Useful when using UiBinder. + * + * @param value + * @return + */ + public static Range fromString(String value) { + if (value == null || value.isEmpty()) + return null; + JsArrayNumber array = JsonUtils.safeEval(value); + return new Range(array); + } + + @Override + public String toString() { + return new StringBuilder("[") + .append(getMinValue()).append(", ") + .append(getMaxValue()) + .append("]").toString(); + } + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/RangeSlider.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/RangeSlider.java new file mode 100644 index 00000000..0f3b25e3 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/RangeSlider.java @@ -0,0 +1,112 @@ +package org.gwtbootstrap3.extras.slider.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase; + +import com.google.gwt.dom.client.Element; +import com.google.gwt.uibinder.client.UiConstructor; +import com.google.gwt.user.client.Event; + +/** + * This slider takes as value a range with a min value and a max value. + * + * @author Xiaodong SUN + */ +public class RangeSlider extends SliderBase { + + /** + * Creates a range slider. + */ + public RangeSlider() { + setRange(true); + } + + /** + * Creates a range slider with min, max, and range value. + * + * @param min + * @param max + * @param range + */ + public RangeSlider(final double min, final double max, final Range range) { + this(); + setMin(min); + setMax(max); + setValue(range); + } + + /** + * Creates a range slider with min, max, and range value.
+ *
+ * Useful for UiBinder. + * + * @param min + * @param max + * @param value + */ + @UiConstructor + public RangeSlider(final double min, final double max, final String value) { + this(min, max, Range.fromString(value)); + } + + @Override + protected native void setValue(Element e, Range value) /*-{ + var range = value.@org.gwtbootstrap3.extras.slider.client.ui.Range::toJsArray()(); + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_VALUE, range); + }-*/; + + @Override + protected native Range getValue(Element e) /*-{ + var range = $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_VALUE); + return @org.gwtbootstrap3.extras.slider.client.ui.Range::new(Lcom/google/gwt/core/client/JsArrayNumber;)(range); + }-*/; + + @Override + protected Range convertValue(String value) { + return Range.fromString(value); + } + + @Override + protected native void onSlide(Event event) /*-{ + var range = @org.gwtbootstrap3.extras.slider.client.ui.Range::new(Lcom/google/gwt/core/client/JsArrayNumber;)(event.value); + this.@org.gwtbootstrap3.extras.slider.client.ui.RangeSlider::fireSlideEvent(Lorg/gwtbootstrap3/extras/slider/client/ui/Range;)(range); + }-*/; + + @Override + protected native void onSlideStart(Event event) /*-{ + var range = @org.gwtbootstrap3.extras.slider.client.ui.Range::new(Lcom/google/gwt/core/client/JsArrayNumber;)(event.value); + this.@org.gwtbootstrap3.extras.slider.client.ui.RangeSlider::fireSlideStartEvent(Lorg/gwtbootstrap3/extras/slider/client/ui/Range;)(range); + }-*/; + + @Override + protected native void onSlideStop(Event event) /*-{ + var range = @org.gwtbootstrap3.extras.slider.client.ui.Range::new(Lcom/google/gwt/core/client/JsArrayNumber;)(event.value); + this.@org.gwtbootstrap3.extras.slider.client.ui.RangeSlider::fireSlideStopEvent(Lorg/gwtbootstrap3/extras/slider/client/ui/Range;)(range); + }-*/; + + @Override + protected native void onSlideChange(Event event) /*-{ + var range = @org.gwtbootstrap3.extras.slider.client.ui.Range::new(Lcom/google/gwt/core/client/JsArrayNumber;)(event.value.newValue); + this.@org.gwtbootstrap3.extras.slider.client.ui.RangeSlider::fireChangeEvent(Lorg/gwtbootstrap3/extras/slider/client/ui/Range;)(range); + }-*/; + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Slider.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Slider.java index 122c862e..cafbcf33 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Slider.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/Slider.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,23 +22,80 @@ import org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase; +import com.google.gwt.dom.client.Element; +import com.google.gwt.uibinder.client.UiConstructor; +import com.google.gwt.user.client.Event; + /** - * @author Grant Slender + * This slider simply takes a numeric value. + * + * @author Xiaodong SUN */ -public class Slider extends SliderBase { +public class Slider extends SliderBase { + /** + * Creates a numerical slider. + */ public Slider() { - super(); + setRange(false); } + /** + * Creates a numerical slider with min, max, and value. + * + * @param min + * @param max + * @param value + */ + @UiConstructor public Slider(final double min, final double max, final double value) { - super(); + this(); setMin(min); setMax(max); setValue(value); } - public Slider(final int min, final int max, final int value) { - this((double) min, (double) max, (double) value); + @Override + protected native void setValue(Element e, Double value) /*-{ + var doubleValue = value.@java.lang.Double::doubleValue()(); + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_VALUE, doubleValue); + }-*/; + + @Override + protected native Double getValue(Element e) /*-{ + var value = $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_VALUE); + return @java.lang.Double::new(D)(value); + }-*/; + + @Override + protected Double convertValue(String value) { + if (value == null || value.isEmpty()) + return null; + return Double.valueOf(value); } + + @Override + protected native void onSlide(Event event) /*-{ + var value = @java.lang.Double::new(D)(event.value); + this.@org.gwtbootstrap3.extras.slider.client.ui.Slider::fireSlideEvent(Ljava/lang/Double;)(value); + }-*/; + + @Override + protected native void onSlideStart(Event event) /*-{ + var value = @java.lang.Double::new(D)(event.value); + this.@org.gwtbootstrap3.extras.slider.client.ui.Slider::fireSlideStartEvent(Ljava/lang/Double;)(value); + }-*/; + + @Override + protected native void onSlideStop(Event event) /*-{ + var value = @java.lang.Double::new(D)(event.value); + this.@org.gwtbootstrap3.extras.slider.client.ui.Slider::fireSlideStopEvent(Ljava/lang/Double;)(value); + }-*/; + + @Override + protected native void onSlideChange(Event event) /*-{ + var value = @java.lang.Double::new(D)(event.value.newValue); + this.@org.gwtbootstrap3.extras.slider.client.ui.Slider::fireChangeEvent(Ljava/lang/Double;)(value); + }-*/; + } diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/FormatterCallback.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/FormatterCallback.java index 5c714a33..9c9fc6d2 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/FormatterCallback.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/FormatterCallback.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,19 @@ * #L% */ +/** + * Formatter callback to display the tool-tip text. Defaults to the slider + * numeric value. + * + * @author Xiaodong SUN + */ public interface FormatterCallback { - public String toolTipMsg(double value); + + /** + * Returns the formatted tool-tip text to be displayed. + * + * @param value the slider numeric value + * @return the formatted tool-tip text to be displayed. + */ + String formatTooltip(double value); } diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderBase.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderBase.java index e66a6bb9..422850cf 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderBase.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderBase.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,281 +20,873 @@ * #L% */ -import com.google.gwt.core.client.JavaScriptObject; -import com.google.gwt.core.client.Scheduler; -import com.google.gwt.dom.client.Element; -import com.google.gwt.editor.client.IsEditor; -import com.google.gwt.editor.client.LeafValueEditor; -import com.google.gwt.editor.client.adapters.TakesValueEditor; -import com.google.gwt.event.logical.shared.HasValueChangeHandlers; -import com.google.gwt.event.logical.shared.ValueChangeEvent; -import com.google.gwt.event.logical.shared.ValueChangeHandler; -import com.google.gwt.event.shared.HandlerRegistration; -import com.google.gwt.user.client.ui.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import org.gwtbootstrap3.client.ui.TextBox; import org.gwtbootstrap3.client.ui.base.HasId; import org.gwtbootstrap3.client.ui.base.HasResponsiveness; import org.gwtbootstrap3.client.ui.base.helper.StyleHelper; +import org.gwtbootstrap3.client.ui.base.mixin.AttributeMixin; import org.gwtbootstrap3.client.ui.constants.DeviceSize; import org.gwtbootstrap3.extras.slider.client.ui.base.constants.HandleType; import org.gwtbootstrap3.extras.slider.client.ui.base.constants.OrientationType; +import org.gwtbootstrap3.extras.slider.client.ui.base.constants.ScaleType; import org.gwtbootstrap3.extras.slider.client.ui.base.constants.SelectionType; import org.gwtbootstrap3.extras.slider.client.ui.base.constants.TooltipType; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideDisabledEvent; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideDisabledHandler; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideEnabledEvent; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideEnabledHandler; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideEvent; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideHandler; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideStartEvent; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideStartHandler; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideStopEvent; +import org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideStopHandler; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.core.client.JsArrayNumber; +import com.google.gwt.core.client.JsArrayString; +import com.google.gwt.core.client.JsonUtils; +import com.google.gwt.dom.client.Element; +import com.google.gwt.editor.client.IsEditor; +import com.google.gwt.editor.client.LeafValueEditor; +import com.google.gwt.editor.client.adapters.TakesValueEditor; +import com.google.gwt.event.logical.shared.ValueChangeEvent; +import com.google.gwt.event.logical.shared.ValueChangeHandler; +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.user.client.Event; +import com.google.gwt.user.client.ui.HasEnabled; +import com.google.gwt.user.client.ui.HasValue; +import com.google.gwt.user.client.ui.UIObject; +import com.google.gwt.user.client.ui.Widget; /** - * @author Grant Slender + * + * + * @param slider value type + * + * @see https://github.com/seiyria/bootstrap-slider + * @author Xiaodong Sun */ -public class SliderBase extends Widget implements HasValue, HasEnabled, HasValueChangeHandlers, HasVisibility, - HasId, HasResponsiveness, IsEditor> { +public abstract class SliderBase extends Widget implements + HasValue, IsEditor>, HasEnabled, HasId, + HasResponsiveness, HasAllSlideHandlers { - /** - * Orig source from https://github.com/seiyria/bootstrap-slider - */ private final TextBox textBox; - private double min = 0; - private double max = 10; - private double step = 1; - OrientationType orient = OrientationType.HORIZONTAL; - SelectionType selection = SelectionType.BEFORE; - TooltipType tooltip = TooltipType.SHOW; - HandleType handle = HandleType.ROUND; - boolean reversed = false; private FormatterCallback formatterCallback; - private LeafValueEditor editor; + private LeafValueEditor editor; - public SliderBase() { + private final AttributeMixin> attributeMixin = new AttributeMixin>(this); + + protected SliderBase() { textBox = new TextBox(); // now remove the bootstrap styles textBox.removeStyleName(UIObject.getStyleName(textBox.getElement())); setElement((Element) textBox.getElement()); - setValue(5.0); } @Override protected void onLoad() { super.onLoad(); - final JavaScriptObject options = getOptions(getId(), getMin(), getMax(), getStep(), getOrientation().getType(), getValue(), - getSelection().getType(), getTooltip().getType(), getHandle().getType(), isReversed(), isEnabled()); - sliderInit(getElement(), options); + final JavaScriptObject options = JavaScriptObject.createObject(); + if (formatterCallback != null) { + setFormatterOption(options); + } + initSlider(getElement(), options); + bindSliderEvents(getElement()); } @Override protected void onUnload() { super.onUnload(); - sliderCommand(getElement(), "destroy"); - unbindHandlers(getElement()); + unbindSliderEvents(getElement()); + sliderCommand(getElement(), SliderCommand.DESTROY); } - public void onChange(final double value) { - ValueChangeEvent.fire(this, value); + /** + * Sets the id of the slider element when it's created. + */ + @Override + public void setId(final String id) { + updateSlider(SliderOption.ID, id); } @Override - public void setVisibleOn(final DeviceSize deviceSize) { - StyleHelper.setVisibleOn(this, deviceSize); + public String getId() { + return getStringAttribute(SliderOption.ID); } - @Override - public void setHiddenOn(final DeviceSize deviceSize) { - StyleHelper.setHiddenOn(this, deviceSize); + public double getMin() { + return getDoubleAttribute(SliderOption.MIN, 0); } - @Override - public void setId(final String id) { - textBox.setId(id); + /** + * Sets the minimum possible value. + * + * @param min + */ + public void setMin(final double min) { + updateSlider(SliderOption.MIN, min); } - @Override - public String getId() { - return textBox.getId(); + public double getMax() { + return getDoubleAttribute(SliderOption.MAX, 10); } - @Override - public HandlerRegistration addValueChangeHandler(final ValueChangeHandler handler) { - return addHandler(handler, ValueChangeEvent.getType()); + /** + * Sets the maximum possible value. + * + * @param max + */ + public void setMax(final double max) { + updateSlider(SliderOption.MAX, max); + } + + public double getStep() { + return getDoubleAttribute(SliderOption.STEP, 1); + } + + /** + * Sets the increment step. + * + * @param step + */ + public void setStep(final double step) { + updateSlider(SliderOption.STEP, step); + } + + public double getPrecision() { + return getDoubleAttribute(SliderOption.PRECISION, 0); + } + + /** + * Sets the number of digits shown after the decimal.
+ *
+ * Defaults to the number of digits after the decimal of step value. + * + * @param precision + */ + public void setPrecision(final double precision) { + updateSlider(SliderOption.PRECISION, precision); + } + + public OrientationType getOrientation() { + return getEnumAttribute(SliderOption.ORIENTATION, OrientationType.class, OrientationType.HORIZONTAL); + } + + /** + * Sets the orientation. + * + * @param orientation + * @see OrientationType + */ + public void setOrientation(final OrientationType orientation) { + updateSlider(SliderOption.ORIENTATION, orientation.getType()); + } + + protected boolean isRange() { + return getBooleanAttribute(SliderOption.RANGE, false); + } + + /** + * Make range slider if set to true. If initial value is scalar, + * max will be used for second value. + * + * @param range + */ + protected void setRange(final boolean range) { + updateSlider(SliderOption.RANGE, range); + } + + public SelectionType getSelection() { + return getEnumAttribute(SliderOption.SELECTION, SelectionType.class, SelectionType.BEFORE); + } + + /** + * Sets the selection type. + * + * @param selection + * @see SelectionType + */ + public void setSelection(final SelectionType selection) { + updateSlider(SliderOption.SELECTION, selection.getType()); + } + + public TooltipType getTooltip() { + return getEnumAttribute(SliderOption.TOOLTIP, TooltipType.class, TooltipType.SHOW); + } + + /** + * Sets the tool-tip type. + * + * @param tooltip + * @see TooltipType + */ + public void setTooltip(final TooltipType tooltip) { + updateSlider(SliderOption.TOOLTIP, tooltip.getType()); + } + + public boolean isTooltipSplit() { + return getBooleanAttribute(SliderOption.TOOLTIP_SPLIT, false); + } + + /** + * Show one too-tip if set to false, otherwise + * show two tool-tips one for each handler. + * + * @param tooltipSplit + */ + public void setTooltipSplit(final boolean tooltipSplit) { + updateSlider(SliderOption.TOOLTIP_SPLIT, tooltipSplit); + } + + public HandleType getHandle() { + return getEnumAttribute(SliderOption.HANDLE, HandleType.class, HandleType.ROUND); + } + + /** + * Sets the handle shape. + * + * @param handle + * @see HandleType + */ + public void setHandle(final HandleType handle) { + updateSlider(SliderOption.HANDLE, handle.getType()); + } + + public boolean isReversed() { + return getBooleanAttribute(SliderOption.REVERSED, false); + } + + /** + * Sets whether or not the slider should be reversed. + * + * @param reversed + */ + public void setReversed(final boolean reversed) { + updateSlider(SliderOption.REVERSED, reversed); } @Override public boolean isEnabled() { - return textBox.isEnabled(); - // return isEnabled(getElement()); + if (isAttached()) { + return isEnabled(getElement()); + } + return getBooleanAttribute(SliderOption.ENABLED, true); } @Override public void setEnabled(final boolean enabled) { - textBox.setEnabled(enabled); - if (SliderBase.this.isAttached()) { + if (isAttached()) { if (enabled) { - sliderCommand(getElement(), "enable"); + sliderCommand(getElement(), SliderCommand.ENABLE); } else { - sliderCommand(getElement(), "disable"); + sliderCommand(getElement(), SliderCommand.DISABLE); } + } else { + updateSlider(SliderOption.ENABLED, enabled); } } - public double getMin() { - return min; + /** + * Sets the formatter callback. + * + * @param formatterCallback + */ + public void setFormatter(final FormatterCallback formatterCallback) { + this.formatterCallback = formatterCallback; + if (isAttached()) { + setFormatter(getElement()); + refresh(); + } } - public void setMin(final double min) { - this.min = min; + private String formatter(final double value) { + if (formatterCallback != null) + return formatterCallback.formatTooltip(value); + return Double.toString(value); } - public double getMax() { - return max; + public boolean isNaturalArrowKeys() { + return getBooleanAttribute(SliderOption.NATURAL_ARROW_KEYS, false); } - public void setMax(final double max) { - this.max = max; + /** + * The natural order is used for the arrow keys. Arrow up select the + * upper slider value for vertical sliders, arrow right the righter + * slider value for a horizontal slider ; no matter if the slider + * was reversed or not.
+ *
+ * By default the arrow keys are oriented by arrow up/right to the + * higher slider value, arrow down/left to the lower slider value. + * + * @param naturalArrowKeys + */ + public void setNaturalArrowKeys(final boolean naturalArrowKeys) { + updateSlider(SliderOption.NATURAL_ARROW_KEYS, naturalArrowKeys); } - public double getStep() { - return step; + public List getTicks() { + return getNumberArrayAttribute(SliderOption.TICKS, Collections.emptyList()); } - public void setStep(final double step) { - this.step = step; + /** + * Sets the values of ticks. Tick marks are indicators to denote + * special values in the range.
+ *
+ * This option overwrites min and max options. + * + * @param ticks + */ + public void setTicks(final List ticks) { + updateSliderForNumberArray(SliderOption.TICKS, ticks); } - public OrientationType getOrientation() { - return orient; + public List getTicksLabels() { + return getStringArrayAttribute(SliderOption.TICKS_LABELS, Collections.emptyList()); } - public void setOrientation(final OrientationType orient) { - this.orient = orient; + /** + * Sets the labels below the tick marks.
+ *
+ * Accepts HTML input. + * + * @param ticksLabels + */ + public void setTicksLabels(final List ticksLabels) { + updateSliderForStringArray(SliderOption.TICKS_LABELS, ticksLabels); } - public SelectionType getSelection() { - return selection; + public double getTicksSnapBounds() { + return getDoubleAttribute(SliderOption.TICKS_SNAP_BOUNDS, 0); } - public void setSelection(final SelectionType selection) { - this.selection = selection; + /** + * Sets the snap bounds of a tick. Snaps to the tick if value + * is within these bounds. + * + * @param ticksSnapBounds + */ + public void setTicksSnapBounds(final double ticksSnapBounds) { + updateSlider(SliderOption.TICKS_SNAP_BOUNDS, ticksSnapBounds); } - public TooltipType getTooltip() { - return tooltip; + public ScaleType getScale() { + return getEnumAttribute(SliderOption.SCALE, ScaleType.class, ScaleType.LINEAR); } - public void setTooltip(final TooltipType tooltip) { - this.tooltip = tooltip; + /** + * Sets the slider scale type. + * + * @param scale + * @see ScaleType + */ + public void setScale(final ScaleType scale) { + updateSlider(SliderOption.SCALE, scale.getType()); } - public HandleType getHandle() { - return handle; + @Override + public void setVisible(final boolean visible) { + if (isAttached()) { + Element elem = getElement().getPreviousSiblingElement(); + if (elem != null) { + setVisible(elem, visible); + return; + } + } + super.setVisible(visible); } - public void setHandle(final HandleType handle) { - this.handle = handle; + @Override + public boolean isVisible() { + if (isAttached()) { + Element elem = getElement().getPreviousSiblingElement(); + if (elem != null) { + return isVisible(elem); + } + } + return isVisible(); } - public boolean isReversed() { - return reversed; + @Override + public void setVisibleOn(final DeviceSize deviceSize) { + StyleHelper.setVisibleOn(this, deviceSize); } - public void setReversed(final boolean reversed) { - this.reversed = reversed; + @Override + public void setHiddenOn(final DeviceSize deviceSize) { + StyleHelper.setHiddenOn(this, deviceSize); } @Override - public Double getValue() { - return Double.valueOf(textBox.getValue()); + public void setValue(final T value) { + setValue(value, false); } @Override - public void setValue(final Double value) { - textBox.setValue(value.toString()); - if (SliderBase.this.isAttached()) { - setValue(value, false); + public void setValue(final T value, final boolean fireEvents) { + + T oldValue = fireEvents ? getValue() : null; + + if (isAttached()) { + setValue(getElement(), value); + } else { + String attrVal = (value == null) ? null : value.toString(); + attributeMixin.setAttribute(SliderOption.VALUE.getDataAttribute(), attrVal); + } + + if (fireEvents) { + T newValue = getValue(); + ValueChangeEvent.fireIfNotEqual(this, oldValue, newValue); } } + /** + * Sets the given value to the slider. This method is only relevant if the + * slider has been initialized and it will NOT fire the slide event. + * + * @param e + * @param value + */ + protected abstract void setValue(Element e, T value); + @Override - public void setValue(final Double value, final boolean fireEvents) { - - Scheduler.get().scheduleFixedDelay(new Scheduler.RepeatingCommand() { - @Override - public boolean execute() { - if (SliderBase.this.isAttached()) { - setValue(getElement(), value); - - if (fireEvents) { - ValueChangeEvent.fire(SliderBase.this, value); - } - return false; - } else { - return true; - } - } - }, 100); + public T getValue() { + if (isAttached()) { + return getValue(getElement()); + } + String attrVal = attributeMixin.getAttribute(SliderOption.VALUE.getDataAttribute()); + return convertValue(attrVal); + } + + /** + * Returns the value by invoking the JSNI getValue command. + * + * @param e + * @return + */ + protected abstract T getValue(Element e); + + /** + * Converts the value of the {@link SliderOption.VALUE} attribute to the + * slider value. + * + * @param value + * @return + */ + protected abstract T convertValue(String value); + + /** + * Toggles the slider between enabled and disabled. + */ + public void toggle() { + if (isAttached()) { + sliderCommand(getElement(), SliderCommand.TOGGLE); + } else { + setEnabled(!isEnabled()); + } + } + + /** + * Refreshes the current slider. This method does nothing if the slider has + * not been initialized. + */ + public void refresh() { + if (isAttached()) { + refreshWorkaround(getElement()); + sliderCommand(getElement(), SliderCommand.REFEESH); + } + } + + /** + * Renders the tool-tip again, after initialization. Useful in situations + * when the slider and tool-tip are initially hidden. + */ + public void relayout() { + if (isAttached()) { + sliderCommand(getElement(), SliderCommand.RELAYOUT); + } } @Override - public LeafValueEditor asEditor() { + public LeafValueEditor asEditor() { if (editor == null) { editor = TakesValueEditor.of(this); } return editor; } - public void setFormatter(final FormatterCallback formatterCallback) { - this.formatterCallback = formatterCallback; + @Override + public HandlerRegistration addValueChangeHandler(final ValueChangeHandler handler) { + return addHandler(handler, ValueChangeEvent.getType()); } - private String formatter(final double value) { - if (formatterCallback != null) - return formatterCallback.toolTipMsg(value); - return Double.toString(value); + @Override + public HandlerRegistration addSlideHandler(final SlideHandler handler) { + return addHandler(handler, SlideEvent.getType()); + } + + @Override + public HandlerRegistration addSlideStartHandler(final SlideStartHandler handler) { + return addHandler(handler, SlideStartEvent.getType()); } -// @formatter:off + @Override + public HandlerRegistration addSlideStopHandler(final SlideStopHandler handler) { + return addHandler(handler, SlideStopEvent.getType()); + } + + @Override + public HandlerRegistration addSlideEnabledHandler(final SlideEnabledHandler handler) { + return addHandler(handler, SlideEnabledEvent.getType()); + } + + @Override + public HandlerRegistration addSlideDisabledHandler(final SlideDisabledHandler handler) { + return addHandler(handler, SlideDisabledEvent.getType()); + } + + private void updateSlider(SliderOption option, String value) { + if (isAttached()) { + setAttribute(getElement(), option.getName(), value); + refresh(); + } else { + attributeMixin.setAttribute(option.getDataAttribute(), value); + } + } + + private void updateSlider(SliderOption option, boolean value) { + if (isAttached()) { + setAttribute(getElement(), option.getName(), value); + refresh(); + } else { + attributeMixin.setAttribute(option.getDataAttribute(), Boolean.toString(value)); + } + } + + private void updateSlider(SliderOption option, double value) { + if (isAttached()) { + setAttribute(getElement(), option.getName(), value); + refresh(); + } else { + attributeMixin.setAttribute(option.getDataAttribute(), Double.toString(value)); + } + } + + private void updateSliderForNumberArray(SliderOption option, List value) { + JsArrayNumber array = JavaScriptObject.createArray().cast(); + for (Double val : value) { + array.push(val); + } + if (isAttached()) { + setAttribute(getElement(), option.getName(), array); + refresh(); + } else { + String arrayStr = JsonUtils.stringify(array); + attributeMixin.setAttribute(option.getDataAttribute(), arrayStr); + } + } + + private void updateSliderForStringArray(SliderOption option, List value) { + JsArrayString array = JavaScriptObject.createArray().cast(); + for (String val : value) { + array.push(val); + } + if (isAttached()) { + setAttribute(getElement(), option.getName(), array); + refresh(); + } else { + String arrayStr = JsonUtils.stringify(array); + attributeMixin.setAttribute(option.getDataAttribute(), arrayStr); + } + } + + private String getStringAttribute(SliderOption option) { + if (isAttached()) { + return getStringAttribute(getElement(), option.getName()); + } + return attributeMixin.getAttribute(option.getDataAttribute()); + } + + private boolean getBooleanAttribute(SliderOption option, boolean defaultValue) { + if (isAttached()) { + return getBooleanAttribute(getElement(), option.getName()); + } + String value = attributeMixin.getAttribute(option.getDataAttribute()); + if (value != null && !value.isEmpty()) { + return Boolean.valueOf(value); + } + return defaultValue; + } + + private double getDoubleAttribute(SliderOption option, double defaultValue) { + if (isAttached()) { + return getDoubleAttribute(getElement(), option.getName()); + } + String value = attributeMixin.getAttribute(option.getDataAttribute()); + if (value != null && !value.isEmpty()) { + return Double.valueOf(value); + } + return defaultValue; + } + + private > E getEnumAttribute(SliderOption option, Class clazz, E defaultValue) { + String value; + if (isAttached()) { + value = getStringAttribute(getElement(), option.getName()); + } else { + value = attributeMixin.getAttribute(option.getDataAttribute()); + } + try { + return Enum.valueOf(clazz, value); + } catch (Throwable e) { + return defaultValue; + } + } - private native double getValue(Element e) /*-{ - return $wnd.jQuery(e).slider('getValue'); + private List getNumberArrayAttribute(SliderOption option, List defaultValue) { + + // Get array attribute + JsArrayNumber array = null; + if (isAttached()) { + array = getNumberArrayAttribute(getElement(), option.getName()); + } else { + String value = attributeMixin.getAttribute(option.getDataAttribute()); + if (value != null && !value.isEmpty()) { + array = JsonUtils.safeEval(value); + } + } + + // Attribute not set + if (array == null) { + return defaultValue; + } + + // Put array to list + List list = new ArrayList(array.length()); + for (int i = 0; i < array.length(); i++) { + list.add(array.get(i)); + } + return list; + } + + private List getStringArrayAttribute(SliderOption option, List defaultValue) { + + // Get array attribute + JsArrayString array = null; + if (isAttached()) { + array = getStringArrayAttribute(getElement(), option.getName()); + } else { + String value = attributeMixin.getAttribute(option.getDataAttribute()); + if (value != null && !value.isEmpty()) { + array = JsonUtils.safeEval(value); + } + } + + // Attribute not set + if (array == null) { + return defaultValue; + } + + // Put array to list + List list = new ArrayList(array.length()); + for (int i = 0; i < array.length(); i++) { + list.add(array.get(i)); + } + return list; + } + + private native void initSlider(Element e, JavaScriptObject options) /*-{ + $wnd.jQuery(e).slider(options); }-*/; - private native boolean isEnabled(Element e) /*-{ - return $wnd.jQuery(e).slider('isEnabled'); + /** + * Called when a {@link SlideEvent} is fired. + * + * @param event the native event + */ + protected abstract void onSlide(final Event event); + + /** + * Fires a {@link SlideEvent} event. + * + * @param value the new slide value + */ + protected void fireSlideEvent(final T value) { + SlideEvent.fire(this, value); + } + + /** + * Called when a {@link SlideStartEvent} is fired. + * + * @param event the native event + */ + protected abstract void onSlideStart(final Event event); + + /** + * Fires a {@link SlideStartEvent} event. + * + * @param value the new slide value + */ + protected void fireSlideStartEvent(final T value) { + SlideStartEvent.fire(this, value); + } + + /** + * Called when a {@link SlideStopEvent} is fired. + * + * @param event the native event + */ + protected abstract void onSlideStop(final Event event); + + /** + * Fires a {@link SlideStopEvent} event. + * + * @param value the new slide value + */ + protected void fireSlideStopEvent(final T value) { + SlideStopEvent.fire(this, value); + } + + /** + * Called when a {@link ValueChangeEvent} is fired. + * + * @param event the native event + */ + protected abstract void onSlideChange(final Event event); + + /** + * Fires a {@link ValueChangeEvent} event. + * + * @param value the new slide value + */ + protected void fireChangeEvent(final T value) { + ValueChangeEvent.fire(this, value); + } + + /** + * Binds the slider events. + * + * @param e + */ + private native void bindSliderEvents(Element e) /*-{ + var slider = this; + $wnd.jQuery(e).on(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_EVENT, function(event) { + slider.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::onSlide(Lcom/google/gwt/user/client/Event;)(event); + }); + $wnd.jQuery(e).on(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_START_EVENT, function(event) { + slider.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::onSlideStart(Lcom/google/gwt/user/client/Event;)(event); + }); + $wnd.jQuery(e).on(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_STOP_EVENT, function(event) { + slider.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::onSlideStop(Lcom/google/gwt/user/client/Event;)(event); + }); + $wnd.jQuery(e).on(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_CHANGE_EVENT, function(event) { + slider.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::onSlideChange(Lcom/google/gwt/user/client/Event;)(event); + }); + $wnd.jQuery(e).on(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_ENABLED_EVENT, function(event) { + @org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideEnabledEvent::fire(Lorg/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideEnabledHandlers;)(slider); + }); + $wnd.jQuery(e).on(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_DISABLED_EVENT, function(event) { + @org.gwtbootstrap3.extras.slider.client.ui.base.event.SlideDisabledEvent::fire(Lorg/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideDisabledHandlers;)(slider); + }); }-*/; - private native void setValue(Element e, double value) /*-{ - $wnd.jQuery(e).slider('setValue', value); + /** + * Unbinds the slider events. + * + * @param e + */ + private native void unbindSliderEvents(Element e) /*-{ + $wnd.jQuery(e).off(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_EVENT); + $wnd.jQuery(e).off(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_START_EVENT); + $wnd.jQuery(e).off(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_STOP_EVENT); + $wnd.jQuery(e).off(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_CHANGE_EVENT); + $wnd.jQuery(e).off(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_ENABLED_EVENT); + $wnd.jQuery(e).off(@org.gwtbootstrap3.extras.slider.client.ui.base.event.HasAllSlideHandlers::SLIDE_DISABLED_EVENT); }-*/; - private native void sliderInit(Element e, JavaScriptObject options) /*-{ - var me = this; - $wnd.jQuery(e).slider(options) - .on('slide', function (evt) { - me.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::onChange(D)(evt.value); - }) + private native boolean isEnabled(Element e) /*-{ + return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::IS_ENABLED); }-*/; - private native JavaScriptObject getOptions(String id, double min, double max, double step, String orient, double value, String selection, String tooltip, String handle, boolean reversed, boolean enabled) /*-{ - var me = this; - var options = { - id: id, - min: min, - max: max, - step: step, - orientation: orient, - value: value, - selection: selection, - tooltip: tooltip, - handle: handle, - reversed: reversed, - enabled: enabled + private native void setFormatterOption(JavaScriptObject options) /*-{ + var slider = this; + options.formatter = function(value) { + return slider.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::formatter(D)(value); }; - options.formater = function (val) { - return me.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::formatter(D)(val); - }; - return options; + }-*/; + + private native void setFormatter(Element e) /*-{ + var slider = this; + var attr = @org.gwtbootstrap3.extras.slider.client.ui.base.SliderOption::FORMATTER; + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, function(value) { + return slider.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderBase::formatter(D)(value); + }); + }-*/; + + /** + * FIXME: This is a workaround for the refresh command, since it is buggy in + * the current version (4.5.6). After executing this command, the slider + * becomes consistently a range slider with 2 handles. This should be + * removed once the bug is fixed in a future version. + * + * @see https://github.com/seiyria/bootstrap-slider/issues/306 + * + * @param e + */ + private native void refreshWorkaround(Element e) /*-{ + var value = $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_VALUE); + var option = @org.gwtbootstrap3.extras.slider.client.ui.base.SliderOption::VALUE; + var attr = option.@org.gwtbootstrap3.extras.slider.client.ui.base.SliderOption::getName()(); + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value); }-*/; private native void sliderCommand(Element e, String cmd) /*-{ $wnd.jQuery(e).slider(cmd); }-*/; - private native void unbindHandlers(Element e) /*-{ - $wnd.jQuery(e).off('slide'); + private native void setAttribute(Element e, String attr, String value) /*-{ + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value); }-*/; + + private native void setAttribute(Element e, String attr, boolean value) /*-{ + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value); + }-*/; + + private native void setAttribute(Element e, String attr, double value) /*-{ + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value); + }-*/; + + private native void setAttribute(Element e, String attr, JsArrayNumber value) /*-{ + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value); + }-*/; + + private native void setAttribute(Element e, String attr, JsArrayString value) /*-{ + $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value); + }-*/; + + private native String getStringAttribute(Element e, String attr) /*-{ + return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr); + }-*/; + + private native boolean getBooleanAttribute(Element e, String attr) /*-{ + return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr); + }-*/; + + private native double getDoubleAttribute(Element e, String attr) /*-{ + return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr); + }-*/; + + private native JsArrayNumber getNumberArrayAttribute(Element e, String attr) /*-{ + return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr); + }-*/; + + private native JsArrayString getStringArrayAttribute(Element e, String attr) /*-{ + return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr); + }-*/; + } diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderCommand.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderCommand.java new file mode 100644 index 00000000..e589431d --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderCommand.java @@ -0,0 +1,44 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boostrap slider commands. + * + * @author Xiaodong SUN + * @see https://github.com/seiyria/bootstrap-slider#functions + */ +public interface SliderCommand { + + static final String GET_VALUE = "getValue"; + static final String SET_VALUE = "setValue"; + static final String DESTROY = "destroy"; + static final String DISABLE = "disable"; + static final String ENABLE = "enable"; + static final String TOGGLE = "toggle"; + static final String IS_ENABLED = "isEnabled"; + static final String SET_ATTRIBUTE = "setAttribute"; + static final String GET_ATTRIBUTE = "getAttribute"; + static final String REFEESH = "refresh"; + static final String ON = "on"; + static final String RELAYOUT = "relayout"; + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderOption.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderOption.java new file mode 100644 index 00000000..f4d6802d --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/SliderOption.java @@ -0,0 +1,86 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Boostrap slider options enumeration type.
+ *
+ * Options can be passed either as a data (data-slider-foo) + * attribute, or as part of an object in the slider call. The only exception + * here is the formatter option, that can not be passed as a + * data attribute. + * + * @author Xiaodong SUN + * @see https://github.com/seiyria/bootstrap-slider#options + */ +enum SliderOption { + + ID("id"), + MIN("min"), + MAX("max"), + STEP("step"), + PRECISION("precision"), + ORIENTATION("orientation"), + VALUE("value"), + RANGE("range"), + SELECTION("selection"), + TOOLTIP("tooltip"), + TOOLTIP_SPLIT("tooltip_split"), + HANDLE("handle"), + REVERSED("reversed"), + ENABLED("enabled"), + FORMATTER("formatter"), + NATURAL_ARROW_KEYS("natural_arrow_keys"), + TICKS("ticks"), + TICKS_LABELS("ticks_labels"), + TICKS_SNAP_BOUNDS("ticks_snap_bounds"), + SCALE("scale"), + ; + + private final String name; + private final static String DATA_ATTRIBUTE_PREFIX = "data-slider-"; + + /** + * @param name the option name + */ + private SliderOption(final String name) { + this.name = name; + } + + /** + * Returns the option name. + * + * @return the option name. + */ + public String getName() { + return name; + } + + /** + * Returns the data attribute name prefixed by + * {@value #DATA_ATTRIBUTE_PREFIX}. + * + * @return the data attribute name + */ + public String getDataAttribute() { + return DATA_ATTRIBUTE_PREFIX + name; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/HandleType.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/HandleType.java index 19f7df9d..4070d505 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/HandleType.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/HandleType.java @@ -1,10 +1,12 @@ package org.gwtbootstrap3.extras.slider.client.ui.base.constants; +import org.gwtbootstrap3.client.ui.constants.Type; + /* * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,10 +22,18 @@ * #L% */ -public enum HandleType { +/** + * Slider handle shape. + * + * @author Xiaodong SUN + */ +public enum HandleType implements Type { + ROUND("round"), SQUARE("square"), - TRIANGLE("triangle"); + TRIANGLE("triangle"), + CUSTOM("custom"), + ; private final String type; diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/OrientationType.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/OrientationType.java index 0723e664..bcf6e86d 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/OrientationType.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/OrientationType.java @@ -1,10 +1,12 @@ package org.gwtbootstrap3.extras.slider.client.ui.base.constants; +import org.gwtbootstrap3.client.ui.constants.Type; + /* * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,9 +22,16 @@ * #L% */ -public enum OrientationType { +/** + * Slider orientation : horizontal or vertical. + * + * @author Xiaodong SUN + */ +public enum OrientationType implements Type { + HORIZONTAL("horizontal"), - VERTICAL("vertical"); + VERTICAL("vertical"), + ; private final String type; diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/ScaleType.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/ScaleType.java new file mode 100644 index 00000000..364b155d --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/ScaleType.java @@ -0,0 +1,45 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.constants; + +import org.gwtbootstrap3.client.ui.constants.Type; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Slider scale type: linear or logarithmic. + * + * @author Xiaodong SUN + */ +public enum ScaleType implements Type { + + LINEAR("linear"), + LOGARITHMIC("logarithmic"), + ; + + private final String type; + + private ScaleType(final String type) { + this.type = type; + } + + public String getType() { + return type; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/SelectionType.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/SelectionType.java index 5103d67e..55393acb 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/SelectionType.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/SelectionType.java @@ -1,10 +1,12 @@ package org.gwtbootstrap3.extras.slider.client.ui.base.constants; +import org.gwtbootstrap3.client.ui.constants.Type; + /* * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,10 +22,19 @@ * #L% */ -public enum SelectionType { +/** + * Selection placement.
+ *
+ * In case of a range slider, the selection will be placed between the handles. + * + * @author Xiaodong SUN + */ +public enum SelectionType implements Type { + BEFORE("before"), AFTER("after"), - NONE("none"); + NONE("none"), + ; private final String type; diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/TooltipType.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/TooltipType.java index 5ce816ee..d4a61807 100644 --- a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/TooltipType.java +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/constants/TooltipType.java @@ -1,10 +1,12 @@ package org.gwtbootstrap3.extras.slider.client.ui.base.constants; +import org.gwtbootstrap3.client.ui.constants.Type; + /* * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,10 +22,18 @@ * #L% */ -public enum TooltipType { +/** + * Whether to show the tool-tip on drag, hide the tool-tip, + * or always show the tool-tip. + * + * @author Xiaodong SUN + */ +public enum TooltipType implements Type { + SHOW("show"), HIDE("hide"), - ALWAYS("always"); + ALWAYS("always"), + ; private final String type; diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasAllSlideHandlers.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasAllSlideHandlers.java new file mode 100644 index 00000000..e053b5e3 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasAllSlideHandlers.java @@ -0,0 +1,65 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +import com.google.gwt.event.logical.shared.HasValueChangeHandlers; +import com.google.gwt.event.logical.shared.ValueChangeEvent; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +/** + * Convenience interface used to implement all slide handlers at once. + * + * @param slider value type + */ +public interface HasAllSlideHandlers extends HasSlideHandlers, + HasSlideStartHandlers, HasSlideStopHandlers, HasValueChangeHandlers, + HasSlideEnabledHandlers, HasSlideDisabledHandlers { + + /** + * The {@link SlideEvent} name + */ + static final String SLIDE_EVENT = "slide"; + + /** + * The {@link SlideStartEvent} name + */ + static final String SLIDE_START_EVENT = "slideStart"; + + /** + * The {@link SlideStopEvent} name + */ + static final String SLIDE_STOP_EVENT = "slideStop"; + + /** + * The {@link ValueChangeEvent} name + */ + static final String SLIDE_CHANGE_EVENT = "change"; + + /** + * The {@link SlideEnabledEvent} name + */ + static final String SLIDE_ENABLED_EVENT = "slideEnabled"; + + /** + * The {@link SlideDisabledEvent} name + */ + static final String SLIDE_DISABLED_EVENT = "slideDisabled"; + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideDisabledHandlers.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideDisabledHandlers.java new file mode 100644 index 00000000..c012b3ce --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideDisabledHandlers.java @@ -0,0 +1,39 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.event.shared.HasHandlers; + +/** + * A widget that implements this interface is a public source of + * {@link SlideDisabledEvent} events. + */ +public interface HasSlideDisabledHandlers extends HasHandlers { + + /** + * Adds a {@link SlideDisabledEvent} handler. + * + * @param handler the handler + * @return the registration for the event + */ + HandlerRegistration addSlideDisabledHandler(SlideDisabledHandler handler); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideEnabledHandlers.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideEnabledHandlers.java new file mode 100644 index 00000000..f4b47e2f --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideEnabledHandlers.java @@ -0,0 +1,39 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.event.shared.HasHandlers; + +/** + * A widget that implements this interface is a public source of + * {@link SlideEnabledEvent} events. + */ +public interface HasSlideEnabledHandlers extends HasHandlers { + + /** + * Adds a {@link SlideEnabledEvent} handler. + * + * @param handler the handler + * @return the registration for the event + */ + HandlerRegistration addSlideEnabledHandler(SlideEnabledHandler handler); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideHandlers.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideHandlers.java new file mode 100644 index 00000000..cccd87ee --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideHandlers.java @@ -0,0 +1,41 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.event.shared.HasHandlers; + +/** + * A widget that implements this interface is a public source of + * {@link SlideEvent} events. + * + * @param slider value type + */ +public interface HasSlideHandlers extends HasHandlers { + + /** + * Adds a {@link SlideEvent} handler. + * + * @param handler the handler + * @return the registration for the event + */ + HandlerRegistration addSlideHandler(SlideHandler handler); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideStartHandlers.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideStartHandlers.java new file mode 100644 index 00000000..fa5776ee --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideStartHandlers.java @@ -0,0 +1,39 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.event.shared.HasHandlers; + +/** + * A widget that implements this interface is a public source of + * {@link SlideStartEvent} events. + */ +public interface HasSlideStartHandlers extends HasHandlers { + + /** + * Adds a {@link SlideStartEvent} handler. + * + * @param handler the handler + * @return the registration for the event + */ + HandlerRegistration addSlideStartHandler(SlideStartHandler handler); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideStopHandlers.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideStopHandlers.java new file mode 100644 index 00000000..c9da75eb --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/HasSlideStopHandlers.java @@ -0,0 +1,41 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.event.shared.HasHandlers; + +/** + * A widget that implements this interface is a public source of + * {@link SlideStopEvent} events. + * + * @param slider value type + */ +public interface HasSlideStopHandlers extends HasHandlers { + + /** + * Adds a {@link SlideStopEvent} handler. + * + * @param handler the handler + * @return the registration for the event + */ + HandlerRegistration addSlideStopHandler(SlideStopHandler handler); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideDisabledEvent.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideDisabledEvent.java new file mode 100644 index 00000000..7e26d3d5 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideDisabledEvent.java @@ -0,0 +1,72 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; + +/** + * The slide disabled event is fired when the slider is disabled. + */ +public class SlideDisabledEvent extends GwtEvent { + + private static Type TYPE; + + /** + * Fires a slide disabled event on all registered handlers in the handler + * manager. If no such handlers exist, this method will do nothing. + * + * @param source the source of the handlers + */ + public static void fire(final HasSlideDisabledHandlers source) { + if (TYPE != null) { + SlideDisabledEvent event = new SlideDisabledEvent(); + source.fireEvent(event); + } + } + + /** + * Gets the type associated with this event. + * + * @return returns the handler type + */ + public static Type getType() { + if (TYPE == null) { + TYPE = new Type(); + } + return TYPE; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final SlideDisabledHandler handler) { + handler.onSlideDisabled(this); + } + + /** + * Creates a slide disabled event. + */ + protected SlideDisabledEvent() {} + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideDisabledHandler.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideDisabledHandler.java new file mode 100644 index 00000000..b41dd37a --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideDisabledHandler.java @@ -0,0 +1,36 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * Handler interface for {@link SlideDisabledEvent} events. + */ +public interface SlideDisabledHandler extends EventHandler { + + /** + * Called when {@link SlideDisabledEvent} is fired. + * + * @param event the {@link SlideDisabledEvent} that was fired + */ + void onSlideDisabled(SlideDisabledEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEnabledEvent.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEnabledEvent.java new file mode 100644 index 00000000..f014810e --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEnabledEvent.java @@ -0,0 +1,72 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; + +/** + * The slide enabled event is fired when the slider is enabled. + */ +public class SlideEnabledEvent extends GwtEvent { + + private static Type TYPE; + + /** + * Fires a slide enabled event on all registered handlers in the handler + * manager. If no such handlers exist, this method will do nothing. + * + * @param source the source of the handlers + */ + public static void fire(final HasSlideEnabledHandlers source) { + if (TYPE != null) { + SlideEnabledEvent event = new SlideEnabledEvent(); + source.fireEvent(event); + } + } + + /** + * Gets the type associated with this event. + * + * @return returns the handler type + */ + public static Type getType() { + if (TYPE == null) { + TYPE = new Type(); + } + return TYPE; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final SlideEnabledHandler handler) { + handler.onSlideEnabled(this); + } + + /** + * Creates a slide enabled event. + */ + protected SlideEnabledEvent() {} + +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEnabledHandler.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEnabledHandler.java new file mode 100644 index 00000000..96800dc9 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEnabledHandler.java @@ -0,0 +1,36 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * Handler interface for {@link SlideEnabledEvent} events. + */ +public interface SlideEnabledHandler extends EventHandler { + + /** + * Called when {@link SlideEnabledEvent} is fired. + * + * @param event the {@link SlideEnabledEvent} that was fired + */ + void onSlideEnabled(SlideEnabledEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEvent.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEvent.java new file mode 100644 index 00000000..44132351 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideEvent.java @@ -0,0 +1,93 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; + +/** + * The slide event is fired when the slider is dragged. + * + * @param slider value type + */ +public class SlideEvent extends GwtEvent> { + + private static Type> TYPE; + + private T value; + + /** + * Fires a slide event on all registered handlers in the handler manager. If + * no such handlers exist, this method will do nothing. + * + * @param source the source of the handlers + * @param newValue the new slider value + */ + public static void fire(final HasSlideHandlers source, T newValue) { + if (TYPE != null) { + SlideEvent event = new SlideEvent(newValue); + source.fireEvent(event); + } + } + + /** + * Gets the type associated with this event. + * + * @return returns the handler type + */ + public static Type> getType() { + if (TYPE == null) { + TYPE = new Type>(); + } + return TYPE; + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final SlideHandler handler) { + handler.onSlide(this); + } + + /** + * Creates a slide event with slider value + * + * @param newValue the new slider value + */ + protected SlideEvent(final T newValue) { + this.value = newValue; + } + + /** + * @return the new slider value + */ + public T getValue() { + return value; + } + + @Override + public String toDebugString() { + return super.toDebugString() + getValue(); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideHandler.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideHandler.java new file mode 100644 index 00000000..78f84b8a --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideHandler.java @@ -0,0 +1,38 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * Handler interface for {@link SlideEvent} events. + * + * @param slider value type + */ +public interface SlideHandler extends EventHandler { + + /** + * Called when {@link SlideEvent} is fired. + * + * @param event the {@link SlideEvent} that was fired + */ + void onSlide(SlideEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStartEvent.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStartEvent.java new file mode 100644 index 00000000..40f76a33 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStartEvent.java @@ -0,0 +1,93 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; + +/** + * The slide start event is fired when dragging starts. + * + * @param slider value type + */ +public class SlideStartEvent extends GwtEvent> { + + private static Type> TYPE; + + private T value; + + /** + * Fires a slide start event on all registered handlers in the handler + * manager. If no such handlers exist, this method will do nothing. + * + * @param source the source of the handlers + * @param value the new slider value + */ + public static void fire(final HasSlideStartHandlers source, final T value) { + if (TYPE != null) { + SlideStartEvent event = new SlideStartEvent(value); + source.fireEvent(event); + } + } + + /** + * Gets the type associated with this event. + * + * @return returns the handler type + */ + public static Type> getType() { + if (TYPE == null) { + TYPE = new Type>(); + } + return TYPE; + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public Type> getAssociatedType() { + return (Type)TYPE; + } + + @Override + protected void dispatch(final SlideStartHandler handler) { + handler.onSlideStart(this); + } + + /** + * Creates a slide start event. + * + * @param value the new slider value + */ + protected SlideStartEvent(final T value) { + this.value = value; + } + + /** + * @return the new slider value + */ + public T getValue() { + return value; + } + + @Override + public String toDebugString() { + return super.toDebugString() + getValue(); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStartHandler.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStartHandler.java new file mode 100644 index 00000000..6c3ca084 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStartHandler.java @@ -0,0 +1,38 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * Handler interface for {@link SlideStartEvent} events. + * + * @param slider value type + */ +public interface SlideStartHandler extends EventHandler { + + /** + * Called when {@link SlideStartEvent} is fired. + * + * @param event the {@link SlideStartEvent} that was fired + */ + void onSlideStart(SlideStartEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStopEvent.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStopEvent.java new file mode 100644 index 00000000..21cd1e8c --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStopEvent.java @@ -0,0 +1,93 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; + +/** + * The slide stop event is fired when dragging stops or has been clicked on. + * + * @param slider value type + */ +public class SlideStopEvent extends GwtEvent> { + + private static Type> TYPE; + + private T value; + + /** + * Fires a slide stop event on all registered handlers in the handler + * manager. If no such handlers exist, this method will do nothing. + * + * @param source the source of the handlers + * @param value the new slider value + */ + public static void fire(final HasSlideStopHandlers source, final T value) { + if (TYPE != null) { + SlideStopEvent event = new SlideStopEvent(value); + source.fireEvent(event); + } + } + + /** + * Gets the type associated with this event. + * + * @return returns the handler type + */ + public static Type> getType() { + if (TYPE == null) { + TYPE = new Type>(); + } + return TYPE; + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final SlideStopHandler handler) { + handler.onSlideStop(this); + } + + /** + * Creates a slide stop event. + * + * @param value the new slider value + */ + protected SlideStopEvent(final T value) { + this.value = value; + } + + /** + * @return the new slider value + */ + public T getValue() { + return value; + } + + @Override + public String toDebugString() { + return super.toDebugString() + getValue(); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStopHandler.java b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStopHandler.java new file mode 100644 index 00000000..71d5e7a2 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/slider/client/ui/base/event/SlideStopHandler.java @@ -0,0 +1,38 @@ +package org.gwtbootstrap3.extras.slider.client.ui.base.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2015 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + +/** + * Handler interface for {@link SlideStopEvent} events. + * + * @param slider value type + */ +public interface SlideStopHandler extends EventHandler { + + /** + * Called when {@link SlideStopEvent} is fired. + * + * @param event the {@link SlideStopEvent} that was fired + */ + void onSlideStop(SlideStopEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/summernote/client/SummernoteClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/summernote/client/SummernoteClientBundle.java index 97cfe64b..f98c928c 100644 --- a/src/main/java/org/gwtbootstrap3/extras/summernote/client/SummernoteClientBundle.java +++ b/src/main/java/org/gwtbootstrap3/extras/summernote/client/SummernoteClientBundle.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 - 2014 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,6 +30,6 @@ public interface SummernoteClientBundle extends ClientBundle { public static final SummernoteClientBundle INSTANCE = GWT.create(SummernoteClientBundle.class); - @Source("resources/js/summernote-0.6.0.min.cache.js") + @Source("resources/js/summernote-0.6.2.min.cache.js") TextResource summernote(); -} \ No newline at end of file +} diff --git a/src/main/java/org/gwtbootstrap3/extras/summernote/client/event/SummernoteOnPasteEvent.java b/src/main/java/org/gwtbootstrap3/extras/summernote/client/event/SummernoteOnPasteEvent.java new file mode 100644 index 00000000..537d3395 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/summernote/client/event/SummernoteOnPasteEvent.java @@ -0,0 +1,67 @@ +package org.gwtbootstrap3.extras.summernote.client.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.extras.summernote.client.ui.base.SummernoteBase; + + + +/** + * @author martin.matthias + */ +public class SummernoteOnPasteEvent extends GwtEvent implements SummernoteEvent { + + private static final Type TYPE = new Type(); + + private final SummernoteBase summernote; + private final Event nativeEvent; + + public static Type getType() { + return TYPE; + } + + public SummernoteOnPasteEvent(final SummernoteBase summernote, final Event nativeEvent) { + this.summernote = summernote; + this.nativeEvent = nativeEvent; + } + + @Override + public SummernoteBase getSummernote() { + return summernote; + } + + @Override + public Event getNativeEvent() { + return nativeEvent; + } + + @Override + public Type getAssociatedType() { + return TYPE; + } + + @Override + protected void dispatch(final SummernoteOnPasteHandler handler) { + handler.onPaste(this); + } +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/summernote/client/event/SummernoteOnPasteHandler.java b/src/main/java/org/gwtbootstrap3/extras/summernote/client/event/SummernoteOnPasteHandler.java new file mode 100644 index 00000000..a0938fee --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/summernote/client/event/SummernoteOnPasteHandler.java @@ -0,0 +1,32 @@ +package org.gwtbootstrap3.extras.summernote.client.event; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.event.shared.EventHandler; + + + +/** + * @author martin.matthias + */ +public interface SummernoteOnPasteHandler extends EventHandler { + void onPaste(SummernoteOnPasteEvent event); +} \ No newline at end of file diff --git a/src/main/java/org/gwtbootstrap3/extras/summernote/client/ui/base/SummernoteBase.java b/src/main/java/org/gwtbootstrap3/extras/summernote/client/ui/base/SummernoteBase.java index 6c2336c5..0814ab4d 100644 --- a/src/main/java/org/gwtbootstrap3/extras/summernote/client/ui/base/SummernoteBase.java +++ b/src/main/java/org/gwtbootstrap3/extras/summernote/client/ui/base/SummernoteBase.java @@ -90,6 +90,10 @@ public HandlerRegistration addKeyUpHandler(final SummernoteOnKeyUpHandler handle return addHandler(handler, SummernoteOnKeyUpEvent.getType()); } + public HandlerRegistration addPasteHandler(final SummernoteOnPasteHandler handler) { + return addHandler(handler, SummernoteOnPasteEvent.getType()); + } + /** * Gets the HTML code generated from the editor * @@ -173,6 +177,10 @@ protected void onKeyDown(final Event evt) { fireEvent(new SummernoteOnKeyDownEvent(this, evt)); } + protected void onPaste(final Event evt) { + fireEvent(new SummernoteOnPasteEvent(this, evt)); + } + private native void initialize(Element e, int height, boolean hasFocus, JavaScriptObject toolbar) /*-{ var target = this; @@ -200,6 +208,9 @@ private native void initialize(Element e, int height, boolean hasFocus, JavaScri }, onImageUpload: function (evt) { target.@org.gwtbootstrap3.extras.summernote.client.ui.base.SummernoteBase::onImageUpload(Lcom/google/gwt/user/client/Event;)(evt); + }, + onpaste: function (evt) { + target.@org.gwtbootstrap3.extras.summernote.client.ui.base.SummernoteBase::onPaste(Lcom/google/gwt/user/client/Event;)(evt); } }); }-*/; @@ -214,6 +225,7 @@ private native void destroy(Element e) /*-{ $wnd.jQuery(e).off('onkeyup'); $wnd.jQuery(e).off('ononkeydowninit'); $wnd.jQuery(e).off('onImageUpload'); + $wnd.jQuery(e).off('onpaste'); }-*/; private native void setCode(Element e, String code) /*-{ diff --git a/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchClientBundle.java b/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchClientBundle.java index b6c63657..d968c47f 100644 --- a/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchClientBundle.java +++ b/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchClientBundle.java @@ -31,6 +31,6 @@ interface ToggleSwitchClientBundle extends ClientBundle { static final ToggleSwitchClientBundle INSTANCE = GWT.create(ToggleSwitchClientBundle.class); - @Source("resource/js/bootstrap-switch-3.2.2.min.cache.js") + @Source("resource/js/bootstrap-switch-3.3.2.min.cache.js") TextResource toggleswitch(); } diff --git a/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ui/base/ToggleSwitchBase.java b/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ui/base/ToggleSwitchBase.java index 1d261751..ca12601c 100644 --- a/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ui/base/ToggleSwitchBase.java +++ b/src/main/java/org/gwtbootstrap3/extras/toggleswitch/client/ui/base/ToggleSwitchBase.java @@ -4,7 +4,7 @@ * #%L * GwtBootstrap3 * %% - * Copyright (C) 2013 GwtBootstrap3 + * Copyright (C) 2013 - 2015 GwtBootstrap3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ * #L% */ -import com.google.gwt.core.client.Scheduler; import com.google.gwt.dom.client.Element; import com.google.gwt.editor.client.IsEditor; import com.google.gwt.editor.client.LeafValueEditor; @@ -196,36 +195,28 @@ public HandlerRegistration addValueChangeHandler(final ValueChangeHandler + */ +public interface TypeaheadClientBundle extends ClientBundle { + static final TypeaheadClientBundle INSTANCE = GWT.create(TypeaheadClientBundle.class); + + @ClientBundle.Source("resource/js/typeahead.jquery-0.10.5.min.cache.js") + TextResource typeahead(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/TypeaheadEntryPoint.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/TypeaheadEntryPoint.java new file mode 100644 index 00000000..936e81a7 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/TypeaheadEntryPoint.java @@ -0,0 +1,37 @@ +package org.gwtbootstrap3.extras.typeahead.client; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.EntryPoint; +import com.google.gwt.core.client.ScriptInjector; + +/** + * @author Florian Kremser + */ +public class TypeaheadEntryPoint implements EntryPoint { + + @Override + public void onModuleLoad() { + ScriptInjector.fromString(TypeaheadClientBundle.INSTANCE.typeahead().getText()) + .setWindow(ScriptInjector.TOP_WINDOW) + .inject(); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/CollectionDataset.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/CollectionDataset.java new file mode 100644 index 00000000..c44431e9 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/CollectionDataset.java @@ -0,0 +1,73 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import java.util.ArrayList; +import java.util.Collection; + +/** + * A Dataset operating on a collection of values. + * + * @author Florian Kremser + */ +public class CollectionDataset extends Dataset { + private Collection data; + + public CollectionDataset(final Collection data) { + setData(data); + } + + public Collection getData() { + return data; + } + + public void setData(final Collection data) { + this.data = data; + } + + /** + * Return the (display) value associated with a particular datum. If the + * given datum is selected from the suggestions, then value will be set as + * text of the input. + * + * @param datum a datum instance from this {@link Dataset} + * @return the text representing the data + */ + public String getValue(final T datum) { + return datum != null ? datum.toString() : ""; + } + + @Override + public void findMatches(final String query, final SuggestionCallback callback) { + String queryLower = query.toLowerCase(); + Collection> suggestions = new ArrayList>(); + if (data != null) { + for (T datum : data) { + String value = getValue(datum); + if (value.toLowerCase().contains(queryLower)) { + Suggestion suggestion = Suggestion.create(value, datum, this); + suggestions.add(suggestion); + } + } + } + callback.execute(suggestions); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Dataset.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Dataset.java new file mode 100644 index 00000000..231a9bbe --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Dataset.java @@ -0,0 +1,125 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +/** + * A Dataset represents a collection of suggestion objects for a Typeahead. + * A Typeahead is composed of one or more Datasets. When an end-user modifies + * the value of a Typeahead, each Dataset will attempt to render suggestions + * for the new value. + * + * @author Florian Kremser + */ +public abstract class Dataset { + private static long nextId = 0; + private String name; + private Template emptyTemplate; + private Template footerTemplate; + private Template headerTemplate; + private SuggestionTemplate suggestionTemplate; + + protected Dataset() { + this.name = "dataset" + nextId++; + } + + public String getName() { + return this.name; + } + + public void setName(final String name) { + this.name = name; + } + + /** + * Rendered when 0 suggestions are available for the given query. + * + * @return a template to render in case of 0 results + */ + public Template getEmptyTemplate() { + return emptyTemplate; + } + + public void setEmptyTemplate(final Template emptyTemplate) { + this.emptyTemplate = emptyTemplate; + } + + /** + * Rendered at the bottom of the dataset. + * + * @return a template to render at the bottom of the dataset + */ + public Template getFooterTemplate() { + return footerTemplate; + } + + public void setFooterTemplate(final Template footerTemplate) { + this.footerTemplate = footerTemplate; + } + + /** + * Rendered at the top of the dataset. + * + * @return a template to render at the top of the dataset + */ + public Template getHeaderTemplate() { + return headerTemplate; + } + + public void setHeaderTemplate(final Template headerTemplate) { + this.headerTemplate = headerTemplate; + } + + /** + * Renders a single suggestion. + * + * @return a template for rendering suggestions + */ + public SuggestionTemplate getSuggestionTemplate() { + return suggestionTemplate; + } + + public void setSuggestionTemplate(final SuggestionTemplate suggestionTemplate) { + this.suggestionTemplate = suggestionTemplate; + } + + /** + * Find all Suggestions matching a search query and pass them to the callback. + * + * @param query the user input + * @param callback callback for suggestions + */ + public abstract void findMatches(final String query, final SuggestionCallback callback); + + @Override + public boolean equals(final Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Dataset dataset = (Dataset) o; + if (name != null ? !name.equals(dataset.name) : dataset.name != null) return false; + return true; + } + + @Override + public int hashCode() { + return name != null ? name.hashCode() : 0; + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/StringDataset.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/StringDataset.java new file mode 100644 index 00000000..76456c51 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/StringDataset.java @@ -0,0 +1,34 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import java.util.Collection; + +/** + * @author Florian Kremser + */ +public class StringDataset extends CollectionDataset { + + public StringDataset(final Collection data) { + super(data); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Suggestion.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Suggestion.java new file mode 100644 index 00000000..b764f4a2 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Suggestion.java @@ -0,0 +1,58 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * @author Florian Kremser + */ +public final class Suggestion extends JavaScriptObject { + + protected Suggestion() { + } + + public native String getValue() /*-{ + return this.value; + }-*/; + + public native T getData() /*-{ + return this.data; + }-*/; + + public native Dataset getDataset() /*-{ + return this.dataset; + }-*/; + + /** + * Create a suggestion for a data instance. + * + * @param value the display value that represents the suggestion's data + * @param data the suggestions data + * @param dataset the source dataset + * @param the type of the data + * @return a Suggestion object + */ + public static native Suggestion create(String value, T data, Dataset dataset) /*-{ + return { value: value, data: data, dataset: dataset }; + }-*/; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/SuggestionCallback.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/SuggestionCallback.java new file mode 100644 index 00000000..33c1d074 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/SuggestionCallback.java @@ -0,0 +1,53 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.core.client.JsArray; +import com.google.gwt.core.client.JsArrayString; + +import java.util.Collection; + +/** + * @author Florian Kremser + */ +public class SuggestionCallback { + private final JavaScriptObject jsCallback; + + public SuggestionCallback(final JavaScriptObject jsCallback) { + this.jsCallback = jsCallback; + } + + public void execute(final Collection> suggestions) { + JsArray> jsArray = JsArrayString.createArray().cast(); + if (suggestions != null) { + for (Suggestion s : suggestions) { + jsArray.push(s); + } + } + invokeCallback(jsCallback, jsArray); + } + + private native void invokeCallback(JavaScriptObject callback, JsArray> matches) /*-{ + callback(matches); + }-*/; +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/SuggestionTemplate.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/SuggestionTemplate.java new file mode 100644 index 00000000..dca08107 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/SuggestionTemplate.java @@ -0,0 +1,29 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +/** + * @author Florian Kremser + */ +public interface SuggestionTemplate { + String render(Suggestion suggestion); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Template.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Template.java new file mode 100644 index 00000000..5e0a2bc2 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/base/Template.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.typeahead.client.base; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +/** + * A template for rendering components of a Dataset. + * + * @author Florian Kremser + */ +public interface Template { + String render(); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadAutoCompletedEvent.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadAutoCompletedEvent.java new file mode 100644 index 00000000..85dc79c0 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadAutoCompletedEvent.java @@ -0,0 +1,79 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.extras.typeahead.client.base.Suggestion; +import org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead; + +/** + * Triggered when the query is autocompleted. Autocompleted means the query was changed to the hint. + * + * @author Florian Kremser + */ +public class TypeaheadAutoCompletedEvent extends GwtEvent> { + + public static void fire(final Typeahead source, final Suggestion suggestion, final Event nativeEvent) { + TypeaheadAutoCompletedEvent event = new TypeaheadAutoCompletedEvent(source, suggestion, nativeEvent); + source.fireEvent(event); + } + + private static final Type> TYPE = new Type>(); + + private final Typeahead typeahead; + private final Suggestion suggestion; + private final Event nativeEvent; + + public static Type> getType() { + return TYPE; + } + + private TypeaheadAutoCompletedEvent(final Typeahead typeahead, final Suggestion suggestion, final Event nativeEvent) { + this.typeahead = typeahead; + this.suggestion = suggestion; + this.nativeEvent = nativeEvent; + } + + public Typeahead getTypeahead() { + return typeahead; + } + + public Suggestion getSuggestion() { + return suggestion; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @SuppressWarnings({"unchecked"}) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final TypeaheadAutoCompletedHandler handler) { + handler.onAutoCompleted(this); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadAutoCompletedHandler.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadAutoCompletedHandler.java new file mode 100644 index 00000000..d10aabb4 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadAutoCompletedHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Florian Kremser + */ +public interface TypeaheadAutoCompletedHandler extends EventHandler { + void onAutoCompleted(TypeaheadAutoCompletedEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadClosedEvent.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadClosedEvent.java new file mode 100644 index 00000000..3fcea3d9 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadClosedEvent.java @@ -0,0 +1,72 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead; + +/** + * Triggered when the dropdown menu of the typeahead is closed. + * + * @author Florian Kremser + */ +public class TypeaheadClosedEvent extends GwtEvent> { + + public static void fire(final Typeahead source, final Event nativeEvent) { + TypeaheadClosedEvent event = new TypeaheadClosedEvent(source, nativeEvent); + source.fireEvent(event); + } + + private static final Type> TYPE = new Type>(); + + private final Typeahead typeahead; + private final Event nativeEvent; + + public static Type> getType() { + return TYPE; + } + + private TypeaheadClosedEvent(final Typeahead typeahead, final Event nativeEvent) { + this.typeahead = typeahead; + this.nativeEvent = nativeEvent; + } + + public Typeahead getTypeahead() { + return typeahead; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @SuppressWarnings({"unchecked"}) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final TypeaheadClosedHandler handler) { + handler.onClosed(this); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadClosedHandler.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadClosedHandler.java new file mode 100644 index 00000000..f49c5b15 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadClosedHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Florian Kremser + */ +public interface TypeaheadClosedHandler extends EventHandler { + void onClosed(TypeaheadClosedEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadCursorChangedEvent.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadCursorChangedEvent.java new file mode 100644 index 00000000..8da09644 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadCursorChangedEvent.java @@ -0,0 +1,79 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.extras.typeahead.client.base.Suggestion; +import org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead; + +/** + * Triggered when the dropdown menu cursor is moved to a different suggestion. + * + * @author Florian Kremser + */ +public class TypeaheadCursorChangedEvent extends GwtEvent> { + + public static void fire(final Typeahead source, final Suggestion suggestion, final Event nativeEvent) { + TypeaheadCursorChangedEvent event = new TypeaheadCursorChangedEvent(source, suggestion, nativeEvent); + source.fireEvent(event); + } + + private static final Type> TYPE = new Type>(); + + private final Typeahead typeahead; + private final Suggestion suggestion; + private final Event nativeEvent; + + public static Type> getType() { + return TYPE; + } + + private TypeaheadCursorChangedEvent(final Typeahead typeahead, final Suggestion suggestion, final Event nativeEvent) { + this.typeahead = typeahead; + this.suggestion = suggestion; + this.nativeEvent = nativeEvent; + } + + public Typeahead getTypeahead() { + return typeahead; + } + + public Suggestion getSuggestion() { + return suggestion; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @SuppressWarnings({"unchecked"}) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final TypeaheadCursorChangedHandler handler) { + handler.onCursorChanged(this); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadCursorChangedHandler.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadCursorChangedHandler.java new file mode 100644 index 00000000..beb5f455 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadCursorChangedHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Florian Kremser + */ +public interface TypeaheadCursorChangedHandler extends EventHandler { + void onCursorChanged(TypeaheadCursorChangedEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadOpenedEvent.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadOpenedEvent.java new file mode 100644 index 00000000..350b55e6 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadOpenedEvent.java @@ -0,0 +1,72 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead; + +/** + * Triggered when the dropdown menu of the typeahead is opened. + * + * @author Florian Kremser + */ +public class TypeaheadOpenedEvent extends GwtEvent> { + + public static void fire(final Typeahead source, final Event nativeEvent) { + TypeaheadOpenedEvent event = new TypeaheadOpenedEvent(source, nativeEvent); + source.fireEvent(event); + } + + private static final Type> TYPE = new Type>(); + + private final Typeahead typeahead; + private final Event nativeEvent; + + public static Type> getType() { + return TYPE; + } + + private TypeaheadOpenedEvent(final Typeahead typeahead, final Event nativeEvent) { + this.typeahead = typeahead; + this.nativeEvent = nativeEvent; + } + + public Typeahead getTypeahead() { + return typeahead; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @SuppressWarnings({"unchecked"}) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final TypeaheadOpenedHandler handler) { + handler.onOpened(this); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadOpenedHandler.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadOpenedHandler.java new file mode 100644 index 00000000..daeb48bf --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadOpenedHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Florian Kremser + */ +public interface TypeaheadOpenedHandler extends EventHandler { + void onOpened(TypeaheadOpenedEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadSelectedEvent.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadSelectedEvent.java new file mode 100644 index 00000000..31f5ec09 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadSelectedEvent.java @@ -0,0 +1,79 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.GwtEvent; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.extras.typeahead.client.base.Suggestion; +import org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead; + +/** + * Triggered when a suggestion from the dropdown menu is selected. + * + * @author Florian Kremser + */ +public class TypeaheadSelectedEvent extends GwtEvent> { + + public static void fire(final Typeahead source, final Suggestion suggestion, final Event nativeEvent) { + TypeaheadSelectedEvent event = new TypeaheadSelectedEvent(source, suggestion, nativeEvent); + source.fireEvent(event); + } + + private static final Type> TYPE = new Type>(); + + private final Typeahead typeahead; + private final Suggestion suggestion; + private final Event nativeEvent; + + public static Type> getType() { + return TYPE; + } + + private TypeaheadSelectedEvent(final Typeahead typeahead, final Suggestion suggestion, final Event nativeEvent) { + this.typeahead = typeahead; + this.suggestion = suggestion; + this.nativeEvent = nativeEvent; + } + + public Typeahead getTypeahead() { + return typeahead; + } + + public Suggestion getSuggestion() { + return suggestion; + } + + public Event getNativeEvent() { + return nativeEvent; + } + + @SuppressWarnings({"unchecked"}) + @Override + public Type> getAssociatedType() { + return (Type) TYPE; + } + + @Override + protected void dispatch(final TypeaheadSelectedHandler handler) { + handler.onSelected(this); + } +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadSelectedHandler.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadSelectedHandler.java new file mode 100644 index 00000000..41d3e1a2 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/events/TypeaheadSelectedHandler.java @@ -0,0 +1,31 @@ +package org.gwtbootstrap3.extras.typeahead.client.events; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + + +import com.google.gwt.event.shared.EventHandler; + +/** + * @author Florian Kremser + */ +public interface TypeaheadSelectedHandler extends EventHandler { + void onSelected(TypeaheadSelectedEvent event); +} diff --git a/src/main/java/org/gwtbootstrap3/extras/typeahead/client/ui/Typeahead.java b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/ui/Typeahead.java new file mode 100644 index 00000000..eec3f3e9 --- /dev/null +++ b/src/main/java/org/gwtbootstrap3/extras/typeahead/client/ui/Typeahead.java @@ -0,0 +1,272 @@ +package org.gwtbootstrap3.extras.typeahead.client.ui; + +/* + * #%L + * GwtBootstrap3 + * %% + * Copyright (C) 2013 - 2014 GwtBootstrap3 + * %% + * 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. + * #L% + */ + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.core.client.JsArray; +import com.google.gwt.dom.client.Element; +import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.user.client.Event; +import org.gwtbootstrap3.client.ui.TextBox; +import org.gwtbootstrap3.extras.typeahead.client.base.Dataset; +import org.gwtbootstrap3.extras.typeahead.client.base.Suggestion; +import org.gwtbootstrap3.extras.typeahead.client.events.*; + +import java.util.Arrays; +import java.util.Collection; + +/** + * Twitter typeahead.js + * + * https://github.com/twitter/typeahead.js + * + * @author Florian Kremser + */ +public class Typeahead extends TextBox { + private Collection> datasets; + private boolean highlight = false; + private boolean hint = true; + private int minLength = 1; + + public Typeahead() { + } + + /** + * A typeahead is composed of one or more datasets. When an end-user + * modifies the value of a typeahead, each dataset will attempt to + * render suggestions for the new value. + * + * @param dataset a dataset for providing suggestions + */ + public Typeahead(final Dataset dataset) { + setDatasets(dataset); + } + + public Typeahead(final Collection> datasets) { + setDatasets(datasets); + } + + public void setDatasets(final Dataset dataset) { + this.datasets = Arrays.asList(dataset); + } + + public void setDatasets(final Collection> datasets) { + this.datasets = datasets; + } + + @Override + public void setValue(final String value, final boolean fireEvents) { + setValueNative(getElement(), value); + super.setValue(value, fireEvents); + } + + /** + * If {@code true}, when suggestions are rendered, pattern matches for the + * current query in text nodes will be wrapped in a {@code strong} element + * with the {@code tt-highlight} class. Defaults to {@code false}. + * + * @param highlight {@code true} to highlight pattern matches in suggestions + */ + public void setHighlight(final boolean highlight) { + this.highlight = highlight; + } + + /** + * If {@code false}, the typeahead will not show a hint. Defaults to {@code true}. + * + * @param hint {@code true} to show a hint + */ + public void setHint(final boolean hint) { + this.hint = hint; + } + + /** + * The minimum character length needed before suggestions start getting + * rendered. Defaults to 1. + * + * @param minLength minimum required input length for matching + */ + public void setMinLength(final int minLength) { + this.minLength = minLength; + } + + public HandlerRegistration addTypeaheadOpenedHandler(final TypeaheadOpenedHandler handler) { + return addHandler(handler, TypeaheadOpenedEvent.getType()); + } + + public HandlerRegistration addTypeaheadClosedHandler(final TypeaheadClosedHandler handler) { + return addHandler(handler, TypeaheadClosedEvent.getType()); + } + + public HandlerRegistration addTypeaheadCursorChangededHandler(final TypeaheadCursorChangedHandler handler) { + return addHandler(handler, TypeaheadCursorChangedEvent.getType()); + } + + public HandlerRegistration addTypeaheadAutoCompletedHandler(final TypeaheadAutoCompletedHandler handler) { + return addHandler(handler, TypeaheadAutoCompletedEvent.getType()); + } + + public HandlerRegistration addTypeaheadSelectedHandler(final TypeaheadSelectedHandler handler) { + return addHandler(handler, TypeaheadSelectedEvent.getType()); + } + + /** + * Triggered when the dropdown menu of the typeahead is opened. + * + * @param event the event + */ + private void onOpened(final Event event) { + TypeaheadOpenedEvent.fire(this, event); + } + + /** + * Triggered when the dropdown menu of the typeahead is closed. + * + * @param event the event + */ + private void onClosed(final Event event) { + TypeaheadClosedEvent.fire(this, event); + } + + /** + * Triggered when the dropdown menu cursor is moved to a different suggestion. + * + * @param event the event + * @param suggestion the suggestion object + */ + private void onCursorChanged(final Event event, final Suggestion suggestion) { + TypeaheadCursorChangedEvent.fire(this, suggestion, event); + } + + /** + * Triggered when the query is autocompleted. Autocompleted means the query was changed to the hint. + * + * @param event the event + * @param suggestion the suggestion object + */ + private void onAutoCompleted(final Event event, final Suggestion suggestion) { + TypeaheadAutoCompletedEvent.fire(this, suggestion, event); + } + + /** + * Triggered when a suggestion from the dropdown menu is selected. + * + * @param event the event + * @param suggestion the suggestion object + */ + private void onSelected(final Event event, final Suggestion suggestion) { + TypeaheadSelectedEvent.fire(this, suggestion, event); + } + + public void reconfigure() { + remove(getElement()); + configure(); + } + + @Override + protected void onLoad() { + super.onLoad(); + configure(); + } + + @Override + protected void onUnload() { + super.onUnload(); + remove(getElement()); + } + + protected void configure() { + JsArray datasetJSOs = JsArray.createArray().cast(); + for (Dataset dataset : datasets) { + JavaScriptObject jso = toJSO(dataset); + datasetJSOs.push(jso); + } + configure(getElement(), highlight, hint, minLength, datasetJSOs); + } + + private native JavaScriptObject toJSO(Dataset dataset) /*-{ + var emptyTemplate = dataset.@org.gwtbootstrap3.extras.typeahead.client.base.Dataset::getEmptyTemplate()(); + var headerTemplate = dataset.@org.gwtbootstrap3.extras.typeahead.client.base.Dataset::getHeaderTemplate()(); + var footerTemplate = dataset.@org.gwtbootstrap3.extras.typeahead.client.base.Dataset::getFooterTemplate()(); + var suggestionTemplate = dataset.@org.gwtbootstrap3.extras.typeahead.client.base.Dataset::getSuggestionTemplate()(); + + var findMatches = function () { + return function (query, cb) { + var scb = @org.gwtbootstrap3.extras.typeahead.client.base.SuggestionCallback::new(Lcom/google/gwt/core/client/JavaScriptObject;)(cb); + return dataset.@org.gwtbootstrap3.extras.typeahead.client.base.Dataset::findMatches(Ljava/lang/String;Lorg/gwtbootstrap3/extras/typeahead/client/base/SuggestionCallback;)(query, scb); + }; + }; + + return { + name: dataset.@org.gwtbootstrap3.extras.typeahead.client.base.Dataset::name, + source: findMatches(), + templates: { + empty: (emptyTemplate != null ? function (query) { + return emptyTemplate.@org.gwtbootstrap3.extras.typeahead.client.base.Template::render()(); + } : undefined), + header: (headerTemplate != null ? function (query) { + return headerTemplate.@org.gwtbootstrap3.extras.typeahead.client.base.Template::render()(); + } : undefined), + footer: (footerTemplate != null ? function (query) { + return footerTemplate.@org.gwtbootstrap3.extras.typeahead.client.base.Template::render()(); + } : undefined), + suggestion: (suggestionTemplate != null ? function (suggestion) { + return suggestionTemplate.@org.gwtbootstrap3.extras.typeahead.client.base.SuggestionTemplate::render(Lorg/gwtbootstrap3/extras/typeahead/client/base/Suggestion;)(suggestion); + } : undefined) + } + + }; + }-*/; + + private native void configure( + Element e, boolean highlight, boolean hint, int minLength, JsArray datasets) /*-{ + var that = this; + $wnd.jQuery(e).typeahead({ + highlight: highlight, + hint: hint, + minLength: minLength + }, + datasets) + .on('typeahead:opened', function (e) { + that.@org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead::onOpened(Lcom/google/gwt/user/client/Event;)(e); + }) + .on('typeahead:closed', function (e) { + that.@org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead::onClosed(Lcom/google/gwt/user/client/Event;)(e); + }) + .on('typeahead:cursorchanged', function (e, value, datasetName) { + that.@org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead::onCursorChanged(Lcom/google/gwt/user/client/Event;Lorg/gwtbootstrap3/extras/typeahead/client/base/Suggestion;)(e, value); + }) + .on('typeahead:autocompleted', function (e, value, datasetName) { + that.@org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead::onAutoCompleted(Lcom/google/gwt/user/client/Event;Lorg/gwtbootstrap3/extras/typeahead/client/base/Suggestion;)(e, value); + }) + .on('typeahead:selected', function (e, value, datasetName) { + that.@org.gwtbootstrap3.extras.typeahead.client.ui.Typeahead::onSelected(Lcom/google/gwt/user/client/Event;Lorg/gwtbootstrap3/extras/typeahead/client/base/Suggestion;)(e, value); + }); + }-*/; + + private native void remove(Element e) /*-{ + $wnd.jQuery(e).typeahead('destroy'); + }-*/; + + private native void setValueNative(Element e, String value) /*-{ + $wnd.jQuery(e).typeahead('val', value); + }-*/; +} diff --git a/src/main/resources/org/gwtbootstrap3/extras/animate/Animate.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/animate/Animate.gwt.xml index 804894db..be17dd75 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/animate/Animate.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/animate/Animate.gwt.xml @@ -24,5 +24,4 @@ - diff --git a/src/main/resources/org/gwtbootstrap3/extras/animate/AnimateNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/animate/AnimateNoResources.gwt.xml new file mode 100644 index 00000000..43e8a614 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/animate/AnimateNoResources.gwt.xml @@ -0,0 +1,24 @@ + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/bootbox/BootboxNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/bootbox/BootboxNoResources.gwt.xml new file mode 100644 index 00000000..0e44517c --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/bootbox/BootboxNoResources.gwt.xml @@ -0,0 +1,24 @@ + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/bootbox/client/resource/js/bootbox-4.1.0.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/bootbox/client/resource/js/bootbox-4.1.0.min.cache.js deleted file mode 100644 index 4ea792f3..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/bootbox/client/resource/js/bootbox-4.1.0.min.cache.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * bootbox.js v4.1.0 - * - * http://bootboxjs.com/license.txt - */ -window.bootbox=window.bootbox||function a(b,c){"use strict";function d(a){var b=r[p.locale];return b?b[a]:r.en[a]}function e(a,c,d){a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},p,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"

",header:"",footer:"",closeButton:"",form:"
",inputs:{text:"",email:"",select:"",checkbox:"
"}},o=b("body"),p={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0},q={};q.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},q.dialog(a)},q.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return q.dialog(a)},q.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"email":case"select":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback(c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"email":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("").attr("label",d.group)),e=o[d.group]),e.append("")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var p=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("
"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(p,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),f.append(h),f.on("submit",function(a){a.preventDefault(),e.find(".btn-primary").click()}),e=q.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},q.dialog=function(a){a=h(a);var c=b(n.dialog),d=c.find(".modal-body"),f=a.buttons,i="",j={onEscape:a.onEscape};if(g(f,function(a,b){i+="",j[a]=b.callback}),d.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),a.title&&d.before(n.header),a.closeButton){var k=b(n.closeButton);a.title?c.find(".modal-header").prepend(k):k.css("margin-top","-10px").prependTo(d)}return a.title&&c.find(".modal-title").html(a.title),i.length&&(d.after(n.footer),c.find(".modal-footer").html(i)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){j.onEscape&&e(a,c,j.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,j[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,j.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),o.append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},q.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(p,a)},q.hideAll=function(){b(".bootbox").modal("hide")};var r={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return q.init=function(c){window.bootbox=a(c||b)},q}(window.jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/bootbox/client/resource/js/bootbox-4.4.0.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/bootbox/client/resource/js/bootbox-4.4.0.min.cache.js new file mode 100644 index 00000000..0dc0cbd5 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/bootbox/client/resource/js/bootbox-4.4.0.min.cache.js @@ -0,0 +1,6 @@ +/** + * bootbox.js v4.4.0 + * + * http://bootboxjs.com/license.txt + */ +!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d.call(c,a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"",header:"",footer:"",closeButton:"",form:"
",inputs:{text:"",textarea:"",email:"",select:"",checkbox:"
",date:"",time:"",number:"",password:""}},o={locale:"en",backdrop:"static",animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback.call(this):!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,!1)},a.buttons.confirm.callback=function(){return a.callback.call(this,!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback.call(this,null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback.call(this,c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!b.isArray(k))throw new Error("Please pass an array of input options");if(!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("").attr("label",d.group)),e=o[d.group]),e.append("")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var q=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("
"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(q,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),a.maxlength&&h.attr("maxlength",a.maxlength),f.append(h),f.on("submit",function(a){a.preventDefault(),a.stopPropagation(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var d=b(n.dialog),f=d.find(".modal-dialog"),i=d.find(".modal-body"),j=a.buttons,k="",l={onEscape:a.onEscape};if(b.fn.modal===c)throw new Error("$.fn.modal is not defined; please double check you have included the Bootstrap JavaScript library. See http://getbootstrap.com/javascript/ for more details.");if(g(j,function(a,b){k+="",l[a]=b.callback}),i.find(".bootbox-body").html(a.message),a.animate===!0&&d.addClass("fade"),a.className&&d.addClass(a.className),"large"===a.size?f.addClass("modal-lg"):"small"===a.size&&f.addClass("modal-sm"),a.title&&i.before(n.header),a.closeButton){var m=b(n.closeButton);a.title?d.find(".modal-header").prepend(m):m.css("margin-top","-10px").prependTo(i)}return a.title&&d.find(".modal-title").html(a.title),k.length&&(i.after(n.footer),d.find(".modal-footer").html(k)),d.on("hidden.bs.modal",function(a){a.target===this&&d.remove()}),d.on("shown.bs.modal",function(){d.find(".btn-primary:first").focus()}),"static"!==a.backdrop&&d.on("click.dismiss.bs.modal",function(a){d.children(".modal-backdrop").length&&(a.currentTarget=d.children(".modal-backdrop").get(0)),a.target===a.currentTarget&&d.trigger("escape.close.bb")}),d.on("escape.close.bb",function(a){l.onEscape&&e(a,d,l.onEscape)}),d.on("click",".modal-footer button",function(a){var c=b(this).data("bb-handler");e(a,d,l[c])}),d.on("click",".bootbox-close-button",function(a){e(a,d,l.onEscape)}),d.on("keyup",function(a){27===a.which&&d.trigger("escape.close.bb")}),b(a.container).append(d),d.modal({backdrop:a.backdrop?"static":!1,keyboard:!1,show:!1}),a.show&&d.modal("show"),d},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){return b(".bootbox").modal("hide"),p};var q={bg_BG:{OK:"Ок",CANCEL:"Отказ",CONFIRM:"Потвърждавам"},br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"Zrušit",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"Ακύρωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fa:{OK:"قبول",CANCEL:"لغو",CONFIRM:"تایید"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},hu:{OK:"OK",CANCEL:"Mégsem",CONFIRM:"Megerősít"},hr:{OK:"OK",CANCEL:"Odustani",CONFIRM:"Potvrdi"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確認"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sq:{OK:"OK",CANCEL:"Anulo",CONFIRM:"Prano"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},th:{OK:"ตกลง",CANCEL:"ยกเลิก",CONFIRM:"ยืนยัน"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.addLocale=function(a,c){return b.each(["OK","CANCEL","CONFIRM"],function(a,b){if(!c[b])throw new Error("Please supply a translation for '"+b+"'")}),q[a]={OK:c.OK,CANCEL:c.CANCEL,CONFIRM:c.CONFIRM},p},p.removeLocale=function(a){return delete q[a],p},p.setLocale=function(a){return p.setDefaults("locale",a)},p.init=function(c){return a(c||b)},p}); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/DatePicker.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/datepicker/DatePicker.gwt.xml new file mode 100644 index 00000000..9a13aec1 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/DatePicker.gwt.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/DatePickerNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/datepicker/DatePickerNoResources.gwt.xml new file mode 100644 index 00000000..b2c61d43 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/DatePickerNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/DatePickerResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/DatePickerResources.gwt.xml new file mode 100644 index 00000000..eb6d00a5 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/DatePickerResources.gwt.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/css/bootstrap-datepicker3-1.4.0.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/css/bootstrap-datepicker3-1.4.0.min.cache.css new file mode 100644 index 00000000..83810741 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/css/bootstrap-datepicker3-1.4.0.min.cache.css @@ -0,0 +1,338 @@ +/*! + * Datepicker for Bootstrap v1.4.0 (https://github.com/eternicode/bootstrap-datepicker) + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +.datepicker { + padding: 4px; + border-radius: 4px; + direction: ltr +} + +.datepicker-inline { + width: 220px +} + +.datepicker.datepicker-rtl { + direction: rtl +} + +.datepicker.datepicker-rtl table tr td span { + float: right +} + +.datepicker-dropdown { + top: 0; + left: 0 +} + +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-top: 0; + border-bottom-color: rgba(0, 0, 0, .2); + position: absolute +} + +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #fff; + border-top: 0; + position: absolute +} + +.datepicker-dropdown.datepicker-orient-left:before { + left: 6px +} + +.datepicker-dropdown.datepicker-orient-left:after { + left: 7px +} + +.datepicker-dropdown.datepicker-orient-right:before { + right: 6px +} + +.datepicker-dropdown.datepicker-orient-right:after { + right: 7px +} + +.datepicker-dropdown.datepicker-orient-top:before { + top: -7px +} + +.datepicker-dropdown.datepicker-orient-top:after { + top: -6px +} + +.datepicker-dropdown.datepicker-orient-bottom:before { + bottom: -7px; + border-bottom: 0; + border-top: 7px solid #999 +} + +.datepicker-dropdown.datepicker-orient-bottom:after { + bottom: -6px; + border-bottom: 0; + border-top: 6px solid #fff +} + +.datepicker > div { + display: none +} + +.datepicker.days .datepicker-days, .datepicker.months .datepicker-months, .datepicker.years .datepicker-years { + display: block +} + +.datepicker table { + margin: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.datepicker table tr td, .datepicker table tr th { + text-align: center; + width: 30px; + height: 30px; + border-radius: 4px; + border: none +} + +.table-striped .datepicker table tr td, .table-striped .datepicker table tr th { + background-color: transparent +} + +.datepicker table tr td.day:hover, .datepicker table tr td.day.focused { + background: #eee; + cursor: pointer +} + +.datepicker table tr td.old, .datepicker table tr td.new { + color: #999 +} + +.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover { + background: 0 0; + color: #999; + cursor: default +} + +.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover { + color: #000; + background-color: #ffdb99; + border-color: #ffb733 +} + +.datepicker table tr td.today:hover, .datepicker table tr td.today:hover:hover, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.today.disabled:hover:hover, .datepicker table tr td.today:focus, .datepicker table tr td.today:hover:focus, .datepicker table tr td.today.disabled:focus, .datepicker table tr td.today.disabled:hover:focus, .datepicker table tr td.today:active, .datepicker table tr td.today:hover:active, .datepicker table tr td.today.disabled:active, .datepicker table tr td.today.disabled:hover:active, .datepicker table tr td.today.active, .datepicker table tr td.today:hover.active, .datepicker table tr td.today.disabled.active, .datepicker table tr td.today.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.today, .open .dropdown-toggle.datepicker table tr td.today:hover, .open .dropdown-toggle.datepicker table tr td.today.disabled, .open .dropdown-toggle.datepicker table tr td.today.disabled:hover { + color: #000; + background-color: #ffcd70; + border-color: #f59e00 +} + +.datepicker table tr td.today:active, .datepicker table tr td.today:hover:active, .datepicker table tr td.today.disabled:active, .datepicker table tr td.today.disabled:hover:active, .datepicker table tr td.today.active, .datepicker table tr td.today:hover.active, .datepicker table tr td.today.disabled.active, .datepicker table tr td.today.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.today, .open .dropdown-toggle.datepicker table tr td.today:hover, .open .dropdown-toggle.datepicker table tr td.today.disabled, .open .dropdown-toggle.datepicker table tr td.today.disabled:hover { + background-image: none +} + +.datepicker table tr td.today.disabled, .datepicker table tr td.today:hover.disabled, .datepicker table tr td.today.disabled.disabled, .datepicker table tr td.today.disabled:hover.disabled, .datepicker table tr td.today[disabled], .datepicker table tr td.today:hover[disabled], .datepicker table tr td.today.disabled[disabled], .datepicker table tr td.today.disabled:hover[disabled], fieldset[disabled] .datepicker table tr td.today, fieldset[disabled] .datepicker table tr td.today:hover, fieldset[disabled] .datepicker table tr td.today.disabled, fieldset[disabled] .datepicker table tr td.today.disabled:hover, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.today:hover.disabled:hover, .datepicker table tr td.today.disabled.disabled:hover, .datepicker table tr td.today.disabled:hover.disabled:hover, .datepicker table tr td.today[disabled]:hover, .datepicker table tr td.today:hover[disabled]:hover, .datepicker table tr td.today.disabled[disabled]:hover, .datepicker table tr td.today.disabled:hover[disabled]:hover, fieldset[disabled] .datepicker table tr td.today:hover, fieldset[disabled] .datepicker table tr td.today:hover:hover, fieldset[disabled] .datepicker table tr td.today.disabled:hover, fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover, .datepicker table tr td.today.disabled:focus, .datepicker table tr td.today:hover.disabled:focus, .datepicker table tr td.today.disabled.disabled:focus, .datepicker table tr td.today.disabled:hover.disabled:focus, .datepicker table tr td.today[disabled]:focus, .datepicker table tr td.today:hover[disabled]:focus, .datepicker table tr td.today.disabled[disabled]:focus, .datepicker table tr td.today.disabled:hover[disabled]:focus, fieldset[disabled] .datepicker table tr td.today:focus, fieldset[disabled] .datepicker table tr td.today:hover:focus, fieldset[disabled] .datepicker table tr td.today.disabled:focus, fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus, .datepicker table tr td.today.disabled:active, .datepicker table tr td.today:hover.disabled:active, .datepicker table tr td.today.disabled.disabled:active, .datepicker table tr td.today.disabled:hover.disabled:active, .datepicker table tr td.today[disabled]:active, .datepicker table tr td.today:hover[disabled]:active, .datepicker table tr td.today.disabled[disabled]:active, .datepicker table tr td.today.disabled:hover[disabled]:active, fieldset[disabled] .datepicker table tr td.today:active, fieldset[disabled] .datepicker table tr td.today:hover:active, fieldset[disabled] .datepicker table tr td.today.disabled:active, fieldset[disabled] .datepicker table tr td.today.disabled:hover:active, .datepicker table tr td.today.disabled.active, .datepicker table tr td.today:hover.disabled.active, .datepicker table tr td.today.disabled.disabled.active, .datepicker table tr td.today.disabled:hover.disabled.active, .datepicker table tr td.today[disabled].active, .datepicker table tr td.today:hover[disabled].active, .datepicker table tr td.today.disabled[disabled].active, .datepicker table tr td.today.disabled:hover[disabled].active, fieldset[disabled] .datepicker table tr td.today.active, fieldset[disabled] .datepicker table tr td.today:hover.active, fieldset[disabled] .datepicker table tr td.today.disabled.active, fieldset[disabled] .datepicker table tr td.today.disabled:hover.active { + background-color: #ffdb99; + border-color: #ffb733 +} + +.datepicker table tr td.today:hover:hover { + color: #000 +} + +.datepicker table tr td.today.active:hover { + color: #fff +} + +.datepicker table tr td.range, .datepicker table tr td.range:hover, .datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:hover { + background: #eee; + border-radius: 0 +} + +.datepicker table tr td.range.today, .datepicker table tr td.range.today:hover, .datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today.disabled:hover { + color: #000; + background-color: #f7ca77; + border-color: #f1a417; + border-radius: 0 +} + +.datepicker table tr td.range.today:hover, .datepicker table tr td.range.today:hover:hover, .datepicker table tr td.range.today.disabled:hover, .datepicker table tr td.range.today.disabled:hover:hover, .datepicker table tr td.range.today:focus, .datepicker table tr td.range.today:hover:focus, .datepicker table tr td.range.today.disabled:focus, .datepicker table tr td.range.today.disabled:hover:focus, .datepicker table tr td.range.today:active, .datepicker table tr td.range.today:hover:active, .datepicker table tr td.range.today.disabled:active, .datepicker table tr td.range.today.disabled:hover:active, .datepicker table tr td.range.today.active, .datepicker table tr td.range.today:hover.active, .datepicker table tr td.range.today.disabled.active, .datepicker table tr td.range.today.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.range.today, .open .dropdown-toggle.datepicker table tr td.range.today:hover, .open .dropdown-toggle.datepicker table tr td.range.today.disabled, .open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { + color: #000; + background-color: #f4bb51; + border-color: #bf800c +} + +.datepicker table tr td.range.today:active, .datepicker table tr td.range.today:hover:active, .datepicker table tr td.range.today.disabled:active, .datepicker table tr td.range.today.disabled:hover:active, .datepicker table tr td.range.today.active, .datepicker table tr td.range.today:hover.active, .datepicker table tr td.range.today.disabled.active, .datepicker table tr td.range.today.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.range.today, .open .dropdown-toggle.datepicker table tr td.range.today:hover, .open .dropdown-toggle.datepicker table tr td.range.today.disabled, .open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { + background-image: none +} + +.datepicker table tr td.range.today.disabled, .datepicker table tr td.range.today:hover.disabled, .datepicker table tr td.range.today.disabled.disabled, .datepicker table tr td.range.today.disabled:hover.disabled, .datepicker table tr td.range.today[disabled], .datepicker table tr td.range.today:hover[disabled], .datepicker table tr td.range.today.disabled[disabled], .datepicker table tr td.range.today.disabled:hover[disabled], fieldset[disabled] .datepicker table tr td.range.today, fieldset[disabled] .datepicker table tr td.range.today:hover, fieldset[disabled] .datepicker table tr td.range.today.disabled, fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, .datepicker table tr td.range.today.disabled:hover, .datepicker table tr td.range.today:hover.disabled:hover, .datepicker table tr td.range.today.disabled.disabled:hover, .datepicker table tr td.range.today.disabled:hover.disabled:hover, .datepicker table tr td.range.today[disabled]:hover, .datepicker table tr td.range.today:hover[disabled]:hover, .datepicker table tr td.range.today.disabled[disabled]:hover, .datepicker table tr td.range.today.disabled:hover[disabled]:hover, fieldset[disabled] .datepicker table tr td.range.today:hover, fieldset[disabled] .datepicker table tr td.range.today:hover:hover, fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover, .datepicker table tr td.range.today.disabled:focus, .datepicker table tr td.range.today:hover.disabled:focus, .datepicker table tr td.range.today.disabled.disabled:focus, .datepicker table tr td.range.today.disabled:hover.disabled:focus, .datepicker table tr td.range.today[disabled]:focus, .datepicker table tr td.range.today:hover[disabled]:focus, .datepicker table tr td.range.today.disabled[disabled]:focus, .datepicker table tr td.range.today.disabled:hover[disabled]:focus, fieldset[disabled] .datepicker table tr td.range.today:focus, fieldset[disabled] .datepicker table tr td.range.today:hover:focus, fieldset[disabled] .datepicker table tr td.range.today.disabled:focus, fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus, .datepicker table tr td.range.today.disabled:active, .datepicker table tr td.range.today:hover.disabled:active, .datepicker table tr td.range.today.disabled.disabled:active, .datepicker table tr td.range.today.disabled:hover.disabled:active, .datepicker table tr td.range.today[disabled]:active, .datepicker table tr td.range.today:hover[disabled]:active, .datepicker table tr td.range.today.disabled[disabled]:active, .datepicker table tr td.range.today.disabled:hover[disabled]:active, fieldset[disabled] .datepicker table tr td.range.today:active, fieldset[disabled] .datepicker table tr td.range.today:hover:active, fieldset[disabled] .datepicker table tr td.range.today.disabled:active, fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active, .datepicker table tr td.range.today.disabled.active, .datepicker table tr td.range.today:hover.disabled.active, .datepicker table tr td.range.today.disabled.disabled.active, .datepicker table tr td.range.today.disabled:hover.disabled.active, .datepicker table tr td.range.today[disabled].active, .datepicker table tr td.range.today:hover[disabled].active, .datepicker table tr td.range.today.disabled[disabled].active, .datepicker table tr td.range.today.disabled:hover[disabled].active, fieldset[disabled] .datepicker table tr td.range.today.active, fieldset[disabled] .datepicker table tr td.range.today:hover.active, fieldset[disabled] .datepicker table tr td.range.today.disabled.active, fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active { + background-color: #f7ca77; + border-color: #f1a417 +} + +.datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover { + color: #fff; + background-color: #999; + border-color: #555; + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25) +} + +.datepicker table tr td.selected:hover, .datepicker table tr td.selected:hover:hover, .datepicker table tr td.selected.disabled:hover, .datepicker table tr td.selected.disabled:hover:hover, .datepicker table tr td.selected:focus, .datepicker table tr td.selected:hover:focus, .datepicker table tr td.selected.disabled:focus, .datepicker table tr td.selected.disabled:hover:focus, .datepicker table tr td.selected:active, .datepicker table tr td.selected:hover:active, .datepicker table tr td.selected.disabled:active, .datepicker table tr td.selected.disabled:hover:active, .datepicker table tr td.selected.active, .datepicker table tr td.selected:hover.active, .datepicker table tr td.selected.disabled.active, .datepicker table tr td.selected.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.selected, .open .dropdown-toggle.datepicker table tr td.selected:hover, .open .dropdown-toggle.datepicker table tr td.selected.disabled, .open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { + color: #fff; + background-color: #858585; + border-color: #373737 +} + +.datepicker table tr td.selected:active, .datepicker table tr td.selected:hover:active, .datepicker table tr td.selected.disabled:active, .datepicker table tr td.selected.disabled:hover:active, .datepicker table tr td.selected.active, .datepicker table tr td.selected:hover.active, .datepicker table tr td.selected.disabled.active, .datepicker table tr td.selected.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.selected, .open .dropdown-toggle.datepicker table tr td.selected:hover, .open .dropdown-toggle.datepicker table tr td.selected.disabled, .open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { + background-image: none +} + +.datepicker table tr td.selected.disabled, .datepicker table tr td.selected:hover.disabled, .datepicker table tr td.selected.disabled.disabled, .datepicker table tr td.selected.disabled:hover.disabled, .datepicker table tr td.selected[disabled], .datepicker table tr td.selected:hover[disabled], .datepicker table tr td.selected.disabled[disabled], .datepicker table tr td.selected.disabled:hover[disabled], fieldset[disabled] .datepicker table tr td.selected, fieldset[disabled] .datepicker table tr td.selected:hover, fieldset[disabled] .datepicker table tr td.selected.disabled, fieldset[disabled] .datepicker table tr td.selected.disabled:hover, .datepicker table tr td.selected.disabled:hover, .datepicker table tr td.selected:hover.disabled:hover, .datepicker table tr td.selected.disabled.disabled:hover, .datepicker table tr td.selected.disabled:hover.disabled:hover, .datepicker table tr td.selected[disabled]:hover, .datepicker table tr td.selected:hover[disabled]:hover, .datepicker table tr td.selected.disabled[disabled]:hover, .datepicker table tr td.selected.disabled:hover[disabled]:hover, fieldset[disabled] .datepicker table tr td.selected:hover, fieldset[disabled] .datepicker table tr td.selected:hover:hover, fieldset[disabled] .datepicker table tr td.selected.disabled:hover, fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover, .datepicker table tr td.selected.disabled:focus, .datepicker table tr td.selected:hover.disabled:focus, .datepicker table tr td.selected.disabled.disabled:focus, .datepicker table tr td.selected.disabled:hover.disabled:focus, .datepicker table tr td.selected[disabled]:focus, .datepicker table tr td.selected:hover[disabled]:focus, .datepicker table tr td.selected.disabled[disabled]:focus, .datepicker table tr td.selected.disabled:hover[disabled]:focus, fieldset[disabled] .datepicker table tr td.selected:focus, fieldset[disabled] .datepicker table tr td.selected:hover:focus, fieldset[disabled] .datepicker table tr td.selected.disabled:focus, fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus, .datepicker table tr td.selected.disabled:active, .datepicker table tr td.selected:hover.disabled:active, .datepicker table tr td.selected.disabled.disabled:active, .datepicker table tr td.selected.disabled:hover.disabled:active, .datepicker table tr td.selected[disabled]:active, .datepicker table tr td.selected:hover[disabled]:active, .datepicker table tr td.selected.disabled[disabled]:active, .datepicker table tr td.selected.disabled:hover[disabled]:active, fieldset[disabled] .datepicker table tr td.selected:active, fieldset[disabled] .datepicker table tr td.selected:hover:active, fieldset[disabled] .datepicker table tr td.selected.disabled:active, fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active, .datepicker table tr td.selected.disabled.active, .datepicker table tr td.selected:hover.disabled.active, .datepicker table tr td.selected.disabled.disabled.active, .datepicker table tr td.selected.disabled:hover.disabled.active, .datepicker table tr td.selected[disabled].active, .datepicker table tr td.selected:hover[disabled].active, .datepicker table tr td.selected.disabled[disabled].active, .datepicker table tr td.selected.disabled:hover[disabled].active, fieldset[disabled] .datepicker table tr td.selected.active, fieldset[disabled] .datepicker table tr td.selected:hover.active, fieldset[disabled] .datepicker table tr td.selected.disabled.active, fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active { + background-color: #999; + border-color: #555 +} + +.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover { + color: #fff; + background-color: #428bca; + border-color: #357ebd; + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25) +} + +.datepicker table tr td.active:hover, .datepicker table tr td.active:hover:hover, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active.disabled:hover:hover, .datepicker table tr td.active:focus, .datepicker table tr td.active:hover:focus, .datepicker table tr td.active.disabled:focus, .datepicker table tr td.active.disabled:hover:focus, .datepicker table tr td.active:active, .datepicker table tr td.active:hover:active, .datepicker table tr td.active.disabled:active, .datepicker table tr td.active.disabled:hover:active, .datepicker table tr td.active.active, .datepicker table tr td.active:hover.active, .datepicker table tr td.active.disabled.active, .datepicker table tr td.active.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.active, .open .dropdown-toggle.datepicker table tr td.active:hover, .open .dropdown-toggle.datepicker table tr td.active.disabled, .open .dropdown-toggle.datepicker table tr td.active.disabled:hover { + color: #fff; + background-color: #3276b1; + border-color: #285e8e +} + +.datepicker table tr td.active:active, .datepicker table tr td.active:hover:active, .datepicker table tr td.active.disabled:active, .datepicker table tr td.active.disabled:hover:active, .datepicker table tr td.active.active, .datepicker table tr td.active:hover.active, .datepicker table tr td.active.disabled.active, .datepicker table tr td.active.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td.active, .open .dropdown-toggle.datepicker table tr td.active:hover, .open .dropdown-toggle.datepicker table tr td.active.disabled, .open .dropdown-toggle.datepicker table tr td.active.disabled:hover { + background-image: none +} + +.datepicker table tr td.active.disabled, .datepicker table tr td.active:hover.disabled, .datepicker table tr td.active.disabled.disabled, .datepicker table tr td.active.disabled:hover.disabled, .datepicker table tr td.active[disabled], .datepicker table tr td.active:hover[disabled], .datepicker table tr td.active.disabled[disabled], .datepicker table tr td.active.disabled:hover[disabled], fieldset[disabled] .datepicker table tr td.active, fieldset[disabled] .datepicker table tr td.active:hover, fieldset[disabled] .datepicker table tr td.active.disabled, fieldset[disabled] .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.active:hover.disabled:hover, .datepicker table tr td.active.disabled.disabled:hover, .datepicker table tr td.active.disabled:hover.disabled:hover, .datepicker table tr td.active[disabled]:hover, .datepicker table tr td.active:hover[disabled]:hover, .datepicker table tr td.active.disabled[disabled]:hover, .datepicker table tr td.active.disabled:hover[disabled]:hover, fieldset[disabled] .datepicker table tr td.active:hover, fieldset[disabled] .datepicker table tr td.active:hover:hover, fieldset[disabled] .datepicker table tr td.active.disabled:hover, fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover, .datepicker table tr td.active.disabled:focus, .datepicker table tr td.active:hover.disabled:focus, .datepicker table tr td.active.disabled.disabled:focus, .datepicker table tr td.active.disabled:hover.disabled:focus, .datepicker table tr td.active[disabled]:focus, .datepicker table tr td.active:hover[disabled]:focus, .datepicker table tr td.active.disabled[disabled]:focus, .datepicker table tr td.active.disabled:hover[disabled]:focus, fieldset[disabled] .datepicker table tr td.active:focus, fieldset[disabled] .datepicker table tr td.active:hover:focus, fieldset[disabled] .datepicker table tr td.active.disabled:focus, fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus, .datepicker table tr td.active.disabled:active, .datepicker table tr td.active:hover.disabled:active, .datepicker table tr td.active.disabled.disabled:active, .datepicker table tr td.active.disabled:hover.disabled:active, .datepicker table tr td.active[disabled]:active, .datepicker table tr td.active:hover[disabled]:active, .datepicker table tr td.active.disabled[disabled]:active, .datepicker table tr td.active.disabled:hover[disabled]:active, fieldset[disabled] .datepicker table tr td.active:active, fieldset[disabled] .datepicker table tr td.active:hover:active, fieldset[disabled] .datepicker table tr td.active.disabled:active, fieldset[disabled] .datepicker table tr td.active.disabled:hover:active, .datepicker table tr td.active.disabled.active, .datepicker table tr td.active:hover.disabled.active, .datepicker table tr td.active.disabled.disabled.active, .datepicker table tr td.active.disabled:hover.disabled.active, .datepicker table tr td.active[disabled].active, .datepicker table tr td.active:hover[disabled].active, .datepicker table tr td.active.disabled[disabled].active, .datepicker table tr td.active.disabled:hover[disabled].active, fieldset[disabled] .datepicker table tr td.active.active, fieldset[disabled] .datepicker table tr td.active:hover.active, fieldset[disabled] .datepicker table tr td.active.disabled.active, fieldset[disabled] .datepicker table tr td.active.disabled:hover.active { + background-color: #428bca; + border-color: #357ebd +} + +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + border-radius: 4px +} + +.datepicker table tr td span:hover { + background: #eee +} + +.datepicker table tr td span.disabled, .datepicker table tr td span.disabled:hover { + background: 0 0; + color: #999; + cursor: default +} + +.datepicker table tr td span.active, .datepicker table tr td span.active:hover, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active.disabled:hover { + color: #fff; + background-color: #428bca; + border-color: #357ebd; + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25) +} + +.datepicker table tr td span.active:hover, .datepicker table tr td span.active:hover:hover, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover:hover, .datepicker table tr td span.active:focus, .datepicker table tr td span.active:hover:focus, .datepicker table tr td span.active.disabled:focus, .datepicker table tr td span.active.disabled:hover:focus, .datepicker table tr td span.active:active, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.active, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td span.active, .open .dropdown-toggle.datepicker table tr td span.active:hover, .open .dropdown-toggle.datepicker table tr td span.active.disabled, .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { + color: #fff; + background-color: #3276b1; + border-color: #285e8e +} + +.datepicker table tr td span.active:active, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.active, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled:hover.active, .open .dropdown-toggle.datepicker table tr td span.active, .open .dropdown-toggle.datepicker table tr td span.active:hover, .open .dropdown-toggle.datepicker table tr td span.active.disabled, .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { + background-image: none +} + +.datepicker table tr td span.active.disabled, .datepicker table tr td span.active:hover.disabled, .datepicker table tr td span.active.disabled.disabled, .datepicker table tr td span.active.disabled:hover.disabled, .datepicker table tr td span.active[disabled], .datepicker table tr td span.active:hover[disabled], .datepicker table tr td span.active.disabled[disabled], .datepicker table tr td span.active.disabled:hover[disabled], fieldset[disabled] .datepicker table tr td span.active, fieldset[disabled] .datepicker table tr td span.active:hover, fieldset[disabled] .datepicker table tr td span.active.disabled, fieldset[disabled] .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active:hover.disabled:hover, .datepicker table tr td span.active.disabled.disabled:hover, .datepicker table tr td span.active.disabled:hover.disabled:hover, .datepicker table tr td span.active[disabled]:hover, .datepicker table tr td span.active:hover[disabled]:hover, .datepicker table tr td span.active.disabled[disabled]:hover, .datepicker table tr td span.active.disabled:hover[disabled]:hover, fieldset[disabled] .datepicker table tr td span.active:hover, fieldset[disabled] .datepicker table tr td span.active:hover:hover, fieldset[disabled] .datepicker table tr td span.active.disabled:hover, fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover, .datepicker table tr td span.active.disabled:focus, .datepicker table tr td span.active:hover.disabled:focus, .datepicker table tr td span.active.disabled.disabled:focus, .datepicker table tr td span.active.disabled:hover.disabled:focus, .datepicker table tr td span.active[disabled]:focus, .datepicker table tr td span.active:hover[disabled]:focus, .datepicker table tr td span.active.disabled[disabled]:focus, .datepicker table tr td span.active.disabled:hover[disabled]:focus, fieldset[disabled] .datepicker table tr td span.active:focus, fieldset[disabled] .datepicker table tr td span.active:hover:focus, fieldset[disabled] .datepicker table tr td span.active.disabled:focus, fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active:hover.disabled:active, .datepicker table tr td span.active.disabled.disabled:active, .datepicker table tr td span.active.disabled:hover.disabled:active, .datepicker table tr td span.active[disabled]:active, .datepicker table tr td span.active:hover[disabled]:active, .datepicker table tr td span.active.disabled[disabled]:active, .datepicker table tr td span.active.disabled:hover[disabled]:active, fieldset[disabled] .datepicker table tr td span.active:active, fieldset[disabled] .datepicker table tr td span.active:hover:active, fieldset[disabled] .datepicker table tr td span.active.disabled:active, fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active:hover.disabled.active, .datepicker table tr td span.active.disabled.disabled.active, .datepicker table tr td span.active.disabled:hover.disabled.active, .datepicker table tr td span.active[disabled].active, .datepicker table tr td span.active:hover[disabled].active, .datepicker table tr td span.active.disabled[disabled].active, .datepicker table tr td span.active.disabled:hover[disabled].active, fieldset[disabled] .datepicker table tr td span.active.active, fieldset[disabled] .datepicker table tr td span.active:hover.active, fieldset[disabled] .datepicker table tr td span.active.disabled.active, fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active { + background-color: #428bca; + border-color: #357ebd +} + +.datepicker table tr td span.old, .datepicker table tr td span.new { + color: #999 +} + +.datepicker .datepicker-switch { + width: 145px +} + +.datepicker thead tr:first-child th, .datepicker tfoot tr th { + cursor: pointer +} + +.datepicker thead tr:first-child th:hover, .datepicker tfoot tr th:hover { + background: #eee +} + +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle +} + +.datepicker thead tr:first-child .cw { + cursor: default; + background-color: transparent +} + +.input-group.date .input-group-addon { + cursor: pointer +} + +.input-daterange { + width: 100% +} + +.input-daterange input { + text-align: center +} + +.input-daterange input:first-child { + border-radius: 3px 0 0 3px +} + +.input-daterange input:last-child { + border-radius: 0 3px 3px 0 +} + +.input-daterange .input-group-addon { + width: auto; + min-width: 16px; + padding: 4px 5px; + font-weight: 400; + line-height: 1.42857143; + text-align: center; + text-shadow: 0 1px 0 #fff; + vertical-align: middle; + background-color: #eee; + border: solid #ccc; + border-width: 1px 0; + margin-left: -5px; + margin-right: -5px +} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/bootstrap-datepicker-1.4.0.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/bootstrap-datepicker-1.4.0.min.cache.js new file mode 100644 index 00000000..327170f2 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/bootstrap-datepicker-1.4.0.min.cache.js @@ -0,0 +1,629 @@ +/*! + * Datepicker for Bootstrap v1.4.0 (https://github.com/eternicode/bootstrap-datepicker) + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ +!function (a, b) { + function c() { + return new Date(Date.UTC.apply(Date, arguments)) + } + + function d() { + var a = new Date; + return c(a.getFullYear(), a.getMonth(), a.getDate()) + } + + function e(a, b) { + return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth() && a.getUTCDate() === b.getUTCDate() + } + + function f(a) { + return function () { + return this[a].apply(this, arguments) + } + } + + function g(b, c) { + function d(a, b) { + return b.toLowerCase() + } + + var e, f = a(b).data(), g = {}, h = new RegExp("^" + c.toLowerCase() + "([A-Z])"); + c = new RegExp("^" + c.toLowerCase()); + for (var i in f)c.test(i) && (e = i.replace(h, d), g[e] = f[i]); + return g + } + + function h(b) { + var c = {}; + if (p[b] || (b = b.split("-")[0], p[b])) { + var d = p[b]; + return a.each(o, function (a, b) { + b in d && (c[b] = d[b]) + }), c + } + } + + var i = function () { + var b = { + get: function (a) { + return this.slice(a)[0] + }, contains: function (a) { + for (var b = a && a.valueOf(), c = 0, d = this.length; d > c; c++)if (this[c].valueOf() === b)return c; + return -1 + }, remove: function (a) { + this.splice(a, 1) + }, replace: function (b) { + b && (a.isArray(b) || (b = [b]), this.clear(), this.push.apply(this, b)) + }, clear: function () { + this.length = 0 + }, copy: function () { + var a = new i; + return a.replace(this), a + } + }; + return function () { + var c = []; + return c.push.apply(c, arguments), a.extend(c, b), c + } + }(), j = function (b, c) { + this._process_options(c), this.dates = new i, this.viewDate = this.o.defaultViewDate, this.focusDate = null, this.element = a(b), this.isInline = !1, this.isInput = this.element.is("input"), this.component = this.element.hasClass("date") ? this.element.find(".add-on, .input-group-addon, .btn") : !1, this.hasInput = this.component && this.element.find("input").length, this.component && 0 === this.component.length && (this.component = !1), this.picker = a(q.template), this._buildEvents(), this._attachEvents(), this.isInline ? this.picker.addClass("datepicker-inline").appendTo(this.element) : this.picker.addClass("datepicker-dropdown dropdown-menu"), this.o.rtl && this.picker.addClass("datepicker-rtl"), this.viewMode = this.o.startView, this.o.calendarWeeks && this.picker.find("tfoot .today, tfoot .clear").attr("colspan", function (a, b) { + return parseInt(b) + 1 + }), this._allow_update = !1, this.setStartDate(this._o.startDate), this.setEndDate(this._o.endDate), this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled), this.setDatesDisabled(this.o.datesDisabled), this.fillDow(), this.fillMonths(), this._allow_update = !0, this.update(), this.showMode(), this.isInline && this.show() + }; + j.prototype = { + constructor: j, _process_options: function (e) { + this._o = a.extend({}, this._o, e); + var f = this.o = a.extend({}, this._o), g = f.language; + switch (p[g] || (g = g.split("-")[0], p[g] || (g = n.language)), f.language = g, f.startView) { + case 2: + case"decade": + f.startView = 2; + break; + case 1: + case"year": + f.startView = 1; + break; + default: + f.startView = 0 + } + switch (f.minViewMode) { + case 1: + case"months": + f.minViewMode = 1; + break; + case 2: + case"years": + f.minViewMode = 2; + break; + default: + f.minViewMode = 0 + } + f.startView = Math.max(f.startView, f.minViewMode), f.multidate !== !0 && (f.multidate = Number(f.multidate) || !1, f.multidate !== !1 && (f.multidate = Math.max(0, f.multidate))), f.multidateSeparator = String(f.multidateSeparator), f.weekStart %= 7, f.weekEnd = (f.weekStart + 6) % 7; + var h = q.parseFormat(f.format); + if (f.startDate !== -1 / 0 && (f.startDate = f.startDate ? f.startDate instanceof Date ? this._local_to_utc(this._zero_time(f.startDate)) : q.parseDate(f.startDate, h, f.language) : -1 / 0), 1 / 0 !== f.endDate && (f.endDate = f.endDate ? f.endDate instanceof Date ? this._local_to_utc(this._zero_time(f.endDate)) : q.parseDate(f.endDate, h, f.language) : 1 / 0), f.daysOfWeekDisabled = f.daysOfWeekDisabled || [], a.isArray(f.daysOfWeekDisabled) || (f.daysOfWeekDisabled = f.daysOfWeekDisabled.split(/[,\s]*/)), f.daysOfWeekDisabled = a.map(f.daysOfWeekDisabled, function (a) { + return parseInt(a, 10) + }), f.datesDisabled = f.datesDisabled || [], !a.isArray(f.datesDisabled)) { + var i = []; + i.push(q.parseDate(f.datesDisabled, h, f.language)), f.datesDisabled = i + } + f.datesDisabled = a.map(f.datesDisabled, function (a) { + return q.parseDate(a, h, f.language) + }); + var j = String(f.orientation).toLowerCase().split(/\s+/g), k = f.orientation.toLowerCase(); + if (j = a.grep(j, function (a) { + return /^auto|left|right|top|bottom$/.test(a) + }), f.orientation = {x: "auto", y: "auto"}, k && "auto" !== k)if (1 === j.length)switch (j[0]) { + case"top": + case"bottom": + f.orientation.y = j[0]; + break; + case"left": + case"right": + f.orientation.x = j[0] + } else k = a.grep(j, function (a) { + return /^left|right$/.test(a) + }), f.orientation.x = k[0] || "auto", k = a.grep(j, function (a) { + return /^top|bottom$/.test(a) + }), f.orientation.y = k[0] || "auto"; else; + if (f.defaultViewDate) { + var l = f.defaultViewDate.year || (new Date).getFullYear(), m = f.defaultViewDate.month || 0, o = f.defaultViewDate.day || 1; + f.defaultViewDate = c(l, m, o) + } else f.defaultViewDate = d(); + f.showOnFocus = f.showOnFocus !== b ? f.showOnFocus : !0 + }, _events: [], _secondaryEvents: [], _applyEvents: function (a) { + for (var c, d, e, f = 0; f < a.length; f++)c = a[f][0], 2 === a[f].length ? (d = b, e = a[f][1]) : 3 === a[f].length && (d = a[f][1], e = a[f][2]), c.on(e, d) + }, _unapplyEvents: function (a) { + for (var c, d, e, f = 0; f < a.length; f++)c = a[f][0], 2 === a[f].length ? (e = b, d = a[f][1]) : 3 === a[f].length && (e = a[f][1], d = a[f][2]), c.off(d, e) + }, _buildEvents: function () { + var b = { + keyup: a.proxy(function (b) { + -1 === a.inArray(b.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) && this.update() + }, this), keydown: a.proxy(this.keydown, this) + }; + this.o.showOnFocus === !0 && (b.focus = a.proxy(this.show, this)), this.isInput ? this._events = [[this.element, b]] : this.component && this.hasInput ? this._events = [[this.element.find("input"), b], [this.component, {click: a.proxy(this.show, this)}]] : this.element.is("div") ? this.isInline = !0 : this._events = [[this.element, {click: a.proxy(this.show, this)}]], this._events.push([this.element, "*", { + blur: a.proxy(function (a) { + this._focused_from = a.target + }, this) + }], [this.element, { + blur: a.proxy(function (a) { + this._focused_from = a.target + }, this) + }]), this._secondaryEvents = [[this.picker, {click: a.proxy(this.click, this)}], [a(window), {resize: a.proxy(this.place, this)}], [a(document), { + "mousedown touchstart": a.proxy(function (a) { + this.element.is(a.target) || this.element.find(a.target).length || this.picker.is(a.target) || this.picker.find(a.target).length || this.hide() + }, this) + }]] + }, _attachEvents: function () { + this._detachEvents(), this._applyEvents(this._events) + }, _detachEvents: function () { + this._unapplyEvents(this._events) + }, _attachSecondaryEvents: function () { + this._detachSecondaryEvents(), this._applyEvents(this._secondaryEvents) + }, _detachSecondaryEvents: function () { + this._unapplyEvents(this._secondaryEvents) + }, _trigger: function (b, c) { + var d = c || this.dates.get(-1), e = this._utc_to_local(d); + this.element.trigger({ + type: b, date: e, dates: a.map(this.dates, this._utc_to_local), format: a.proxy(function (a, b) { + 0 === arguments.length ? (a = this.dates.length - 1, b = this.o.format) : "string" == typeof a && (b = a, a = this.dates.length - 1), b = b || this.o.format; + var c = this.dates.get(a); + return q.formatDate(c, b, this.o.language) + }, this) + }) + }, show: function () { + return this.element.attr("readonly") && this.o.enableOnReadonly === !1 ? void 0 : (this.isInline || this.picker.appendTo(this.o.container), this.place(), this.picker.show(), this._attachSecondaryEvents(), this._trigger("show"), (window.navigator.msMaxTouchPoints || "ontouchstart"in document) && this.o.disableTouchKeyboard && a(this.element).blur(), this) + }, hide: function () { + return this.isInline ? this : this.picker.is(":visible") ? (this.focusDate = null, this.picker.hide().detach(), this._detachSecondaryEvents(), this.viewMode = this.o.startView, this.showMode(), this.o.forceParse && (this.isInput && this.element.val() || this.hasInput && this.element.find("input").val()) && this.setValue(), this._trigger("hide"), this) : this + }, remove: function () { + return this.hide(), this._detachEvents(), this._detachSecondaryEvents(), this.picker.remove(), delete this.element.data().datepicker, this.isInput || delete this.element.data().date, this + }, _utc_to_local: function (a) { + return a && new Date(a.getTime() + 6e4 * a.getTimezoneOffset()) + }, _local_to_utc: function (a) { + return a && new Date(a.getTime() - 6e4 * a.getTimezoneOffset()) + }, _zero_time: function (a) { + return a && new Date(a.getFullYear(), a.getMonth(), a.getDate()) + }, _zero_utc_time: function (a) { + return a && new Date(Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate())) + }, getDates: function () { + return a.map(this.dates, this._utc_to_local) + }, getUTCDates: function () { + return a.map(this.dates, function (a) { + return new Date(a) + }) + }, getDate: function () { + return this._utc_to_local(this.getUTCDate()) + }, getUTCDate: function () { + var a = this.dates.get(-1); + return "undefined" != typeof a ? new Date(a) : null + }, clearDates: function () { + var a; + this.isInput ? a = this.element : this.component && (a = this.element.find("input")), a && a.val("").change(), this.update(), this._trigger("changeDate"), this.o.autoclose && this.hide() + }, setDates: function () { + var b = a.isArray(arguments[0]) ? arguments[0] : arguments; + return this.update.apply(this, b), this._trigger("changeDate"), this.setValue(), this + }, setUTCDates: function () { + var b = a.isArray(arguments[0]) ? arguments[0] : arguments; + return this.update.apply(this, a.map(b, this._utc_to_local)), this._trigger("changeDate"), this.setValue(), this + }, setDate: f("setDates"), setUTCDate: f("setUTCDates"), setValue: function () { + var a = this.getFormattedDate(); + return this.isInput ? this.element.val(a).change() : this.component && this.element.find("input").val(a).change(), this + }, getFormattedDate: function (c) { + c === b && (c = this.o.format); + var d = this.o.language; + return a.map(this.dates, function (a) { + return q.formatDate(a, c, d) + }).join(this.o.multidateSeparator) + }, setStartDate: function (a) { + return this._process_options({startDate: a}), this.update(), this.updateNavArrows(), this + }, setEndDate: function (a) { + return this._process_options({endDate: a}), this.update(), this.updateNavArrows(), this + }, setDaysOfWeekDisabled: function (a) { + return this._process_options({daysOfWeekDisabled: a}), this.update(), this.updateNavArrows(), this + }, setDatesDisabled: function (a) { + this._process_options({datesDisabled: a}), this.update(), this.updateNavArrows() + }, place: function () { + if (this.isInline)return this; + var b = this.picker.outerWidth(), c = this.picker.outerHeight(), d = 10, e = a(this.o.container).width(), f = a(this.o.container).height(), g = a(this.o.container).scrollTop(), h = a(this.o.container).offset(), i = []; + this.element.parents().each(function () { + var b = a(this).css("z-index"); + "auto" !== b && 0 !== b && i.push(parseInt(b)) + }); + var j = Math.max.apply(Math, i) + 10, k = this.component ? this.component.parent().offset() : this.element.offset(), l = this.component ? this.component.outerHeight(!0) : this.element.outerHeight(!1), m = this.component ? this.component.outerWidth(!0) : this.element.outerWidth(!1), n = k.left - h.left, o = k.top - h.top; + this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"), "auto" !== this.o.orientation.x ? (this.picker.addClass("datepicker-orient-" + this.o.orientation.x), "right" === this.o.orientation.x && (n -= b - m)) : k.left < 0 ? (this.picker.addClass("datepicker-orient-left"), n -= k.left - d) : n + b > e ? (this.picker.addClass("datepicker-orient-right"), n = k.left + m - b) : this.picker.addClass("datepicker-orient-left"); + var p, q, r = this.o.orientation.y; + if ("auto" === r && (p = -g + o - c, q = g + f - (o + l + c), r = Math.max(p, q) === q ? "top" : "bottom"), this.picker.addClass("datepicker-orient-" + r), "top" === r ? o += l : o -= c + parseInt(this.picker.css("padding-top")), this.o.rtl) { + var s = e - (n + m); + this.picker.css({top: o, right: s, zIndex: j}) + } else this.picker.css({top: o, left: n, zIndex: j}); + return this + }, _allow_update: !0, update: function () { + if (!this._allow_update)return this; + var b = this.dates.copy(), c = [], d = !1; + return arguments.length ? (a.each(arguments, a.proxy(function (a, b) { + b instanceof Date && (b = this._local_to_utc(b)), c.push(b) + }, this)), d = !0) : (c = this.isInput ? this.element.val() : this.element.data("date") || this.element.find("input").val(), c = c && this.o.multidate ? c.split(this.o.multidateSeparator) : [c], delete this.element.data().date), c = a.map(c, a.proxy(function (a) { + return q.parseDate(a, this.o.format, this.o.language) + }, this)), c = a.grep(c, a.proxy(function (a) { + return a < this.o.startDate || a > this.o.endDate || !a + }, this), !0), this.dates.replace(c), this.dates.length ? this.viewDate = new Date(this.dates.get(-1)) : this.viewDate < this.o.startDate ? this.viewDate = new Date(this.o.startDate) : this.viewDate > this.o.endDate && (this.viewDate = new Date(this.o.endDate)), d ? this.setValue() : c.length && String(b) !== String(this.dates) && this._trigger("changeDate"), !this.dates.length && b.length && this._trigger("clearDate"), this.fill(), this + }, fillDow: function () { + var a = this.o.weekStart, b = ""; + if (this.o.calendarWeeks) { + this.picker.find(".datepicker-days thead tr:first-child .datepicker-switch").attr("colspan", function (a, b) { + return parseInt(b) + 1 + }); + var c = ' '; + b += c + } + for (; a < this.o.weekStart + 7;)b += '' + p[this.o.language].daysMin[a++ % 7] + ""; + b += "", this.picker.find(".datepicker-days thead").append(b) + }, fillMonths: function () { + for (var a = "", b = 0; 12 > b;)a += '' + p[this.o.language].monthsShort[b++] + ""; + this.picker.find(".datepicker-months td").html(a) + }, setRange: function (b) { + b && b.length ? this.range = a.map(b, function (a) { + return a.valueOf() + }) : delete this.range, this.fill() + }, getClassNames: function (b) { + var c = [], d = this.viewDate.getUTCFullYear(), f = this.viewDate.getUTCMonth(), g = new Date; + return b.getUTCFullYear() < d || b.getUTCFullYear() === d && b.getUTCMonth() < f ? c.push("old") : (b.getUTCFullYear() > d || b.getUTCFullYear() === d && b.getUTCMonth() > f) && c.push("new"), this.focusDate && b.valueOf() === this.focusDate.valueOf() && c.push("focused"), this.o.todayHighlight && b.getUTCFullYear() === g.getFullYear() && b.getUTCMonth() === g.getMonth() && b.getUTCDate() === g.getDate() && c.push("today"), -1 !== this.dates.contains(b) && c.push("active"), (b.valueOf() < this.o.startDate || b.valueOf() > this.o.endDate || -1 !== a.inArray(b.getUTCDay(), this.o.daysOfWeekDisabled)) && c.push("disabled"), this.o.datesDisabled.length > 0 && a.grep(this.o.datesDisabled, function (a) { + return e(b, a) + }).length > 0 && c.push("disabled", "disabled-date"), this.range && (b > this.range[0] && b < this.range[this.range.length - 1] && c.push("range"), -1 !== a.inArray(b.valueOf(), this.range) && c.push("selected")), c + }, fill: function () { + var d, e = new Date(this.viewDate), f = e.getUTCFullYear(), g = e.getUTCMonth(), h = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCFullYear() : -1 / 0, i = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCMonth() : -1 / 0, j = 1 / 0 !== this.o.endDate ? this.o.endDate.getUTCFullYear() : 1 / 0, k = 1 / 0 !== this.o.endDate ? this.o.endDate.getUTCMonth() : 1 / 0, l = p[this.o.language].today || p.en.today || "", m = p[this.o.language].clear || p.en.clear || ""; + if (!isNaN(f) && !isNaN(g)) { + this.picker.find(".datepicker-days thead .datepicker-switch").text(p[this.o.language].months[g] + " " + f), this.picker.find("tfoot .today").text(l).toggle(this.o.todayBtn !== !1), this.picker.find("tfoot .clear").text(m).toggle(this.o.clearBtn !== !1), this.updateNavArrows(), this.fillMonths(); + var n = c(f, g - 1, 28), o = q.getDaysInMonth(n.getUTCFullYear(), n.getUTCMonth()); + n.setUTCDate(o), n.setUTCDate(o - (n.getUTCDay() - this.o.weekStart + 7) % 7); + var r = new Date(n); + r.setUTCDate(r.getUTCDate() + 42), r = r.valueOf(); + for (var s, t = []; n.valueOf() < r;) { + if (n.getUTCDay() === this.o.weekStart && (t.push(""), this.o.calendarWeeks)) { + var u = new Date(+n + (this.o.weekStart - n.getUTCDay() - 7) % 7 * 864e5), v = new Date(Number(u) + (11 - u.getUTCDay()) % 7 * 864e5), w = new Date(Number(w = c(v.getUTCFullYear(), 0, 1)) + (11 - w.getUTCDay()) % 7 * 864e5), x = (v - w) / 864e5 / 7 + 1; + t.push('' + x + "") + } + if (s = this.getClassNames(n), s.push("day"), this.o.beforeShowDay !== a.noop) { + var y = this.o.beforeShowDay(this._utc_to_local(n)); + y === b ? y = {} : "boolean" == typeof y ? y = {enabled: y} : "string" == typeof y && (y = {classes: y}), y.enabled === !1 && s.push("disabled"), y.classes && (s = s.concat(y.classes.split(/\s+/))), y.tooltip && (d = y.tooltip) + } + s = a.unique(s), t.push('" + n.getUTCDate() + ""), d = null, n.getUTCDay() === this.o.weekEnd && t.push(""), n.setUTCDate(n.getUTCDate() + 1) + } + this.picker.find(".datepicker-days tbody").empty().append(t.join("")); + var z = this.picker.find(".datepicker-months").find("th:eq(1)").text(f).end().find("span").removeClass("active"); + if (a.each(this.dates, function (a, b) { + b.getUTCFullYear() === f && z.eq(b.getUTCMonth()).addClass("active") + }), (h > f || f > j) && z.addClass("disabled"), f === h && z.slice(0, i).addClass("disabled"), f === j && z.slice(k + 1).addClass("disabled"), this.o.beforeShowMonth !== a.noop) { + var A = this; + a.each(z, function (b, c) { + if (!a(c).hasClass("disabled")) { + var d = new Date(f, b, 1), e = A.o.beforeShowMonth(d); + e === !1 && a(c).addClass("disabled") + } + }) + } + t = "", f = 10 * parseInt(f / 10, 10); + var B = this.picker.find(".datepicker-years").find("th:eq(1)").text(f + "-" + (f + 9)).end().find("td"); + f -= 1; + for (var C, D = a.map(this.dates, function (a) { + return a.getUTCFullYear() + }), E = -1; 11 > E; E++)C = ["year"], -1 === E ? C.push("old") : 10 === E && C.push("new"), -1 !== a.inArray(f, D) && C.push("active"), (h > f || f > j) && C.push("disabled"), t += '' + f + "", f += 1; + B.html(t) + } + }, updateNavArrows: function () { + if (this._allow_update) { + var a = new Date(this.viewDate), b = a.getUTCFullYear(), c = a.getUTCMonth(); + switch (this.viewMode) { + case 0: + this.picker.find(".prev").css(this.o.startDate !== -1 / 0 && b <= this.o.startDate.getUTCFullYear() && c <= this.o.startDate.getUTCMonth() ? {visibility: "hidden"} : {visibility: "visible"}), this.picker.find(".next").css(1 / 0 !== this.o.endDate && b >= this.o.endDate.getUTCFullYear() && c >= this.o.endDate.getUTCMonth() ? {visibility: "hidden"} : {visibility: "visible"}); + break; + case 1: + case 2: + this.picker.find(".prev").css(this.o.startDate !== -1 / 0 && b <= this.o.startDate.getUTCFullYear() ? {visibility: "hidden"} : {visibility: "visible"}), this.picker.find(".next").css(1 / 0 !== this.o.endDate && b >= this.o.endDate.getUTCFullYear() ? {visibility: "hidden"} : {visibility: "visible"}) + } + } + }, click: function (b) { + b.preventDefault(); + var d, e, f, g = a(b.target).closest("span, td, th"); + if (1 === g.length)switch (g[0].nodeName.toLowerCase()) { + case"th": + switch (g[0].className) { + case"datepicker-switch": + this.showMode(1); + break; + case"prev": + case"next": + var h = q.modes[this.viewMode].navStep * ("prev" === g[0].className ? -1 : 1); + switch (this.viewMode) { + case 0: + this.viewDate = this.moveMonth(this.viewDate, h), this._trigger("changeMonth", this.viewDate); + break; + case 1: + case 2: + this.viewDate = this.moveYear(this.viewDate, h), 1 === this.viewMode && this._trigger("changeYear", this.viewDate) + } + this.fill(); + break; + case"today": + var i = new Date; + i = c(i.getFullYear(), i.getMonth(), i.getDate(), 0, 0, 0), this.showMode(-2); + var j = "linked" === this.o.todayBtn ? null : "view"; + this._setDate(i, j); + break; + case"clear": + this.clearDates() + } + break; + case"span": + g.hasClass("disabled") || (this.viewDate.setUTCDate(1), g.hasClass("month") ? (f = 1, e = g.parent().find("span").index(g), d = this.viewDate.getUTCFullYear(), this.viewDate.setUTCMonth(e), this._trigger("changeMonth", this.viewDate), 1 === this.o.minViewMode && this._setDate(c(d, e, f))) : (f = 1, e = 0, d = parseInt(g.text(), 10) || 0, this.viewDate.setUTCFullYear(d), this._trigger("changeYear", this.viewDate), 2 === this.o.minViewMode && this._setDate(c(d, e, f))), this.showMode(-1), this.fill()); + break; + case"td": + g.hasClass("day") && !g.hasClass("disabled") && (f = parseInt(g.text(), 10) || 1, d = this.viewDate.getUTCFullYear(), e = this.viewDate.getUTCMonth(), g.hasClass("old") ? 0 === e ? (e = 11, d -= 1) : e -= 1 : g.hasClass("new") && (11 === e ? (e = 0, d += 1) : e += 1), this._setDate(c(d, e, f))) + } + this.picker.is(":visible") && this._focused_from && a(this._focused_from).focus(), delete this._focused_from + }, _toggle_multidate: function (a) { + var b = this.dates.contains(a); + if (a || this.dates.clear(), -1 !== b ? (this.o.multidate === !0 || this.o.multidate > 1 || this.o.toggleActive) && this.dates.remove(b) : this.o.multidate === !1 ? (this.dates.clear(), this.dates.push(a)) : this.dates.push(a), "number" == typeof this.o.multidate)for (; this.dates.length > this.o.multidate;)this.dates.remove(0) + }, _setDate: function (a, b) { + b && "date" !== b || this._toggle_multidate(a && new Date(a)), b && "view" !== b || (this.viewDate = a && new Date(a)), this.fill(), this.setValue(), b && "view" === b || this._trigger("changeDate"); + var c; + this.isInput ? c = this.element : this.component && (c = this.element.find("input")), c && c.change(), !this.o.autoclose || b && "date" !== b || this.hide() + }, moveMonth: function (a, c) { + if (!a)return b; + if (!c)return a; + var d, e, f = new Date(a.valueOf()), g = f.getUTCDate(), h = f.getUTCMonth(), i = Math.abs(c); + if (c = c > 0 ? 1 : -1, 1 === i)e = -1 === c ? function () { + return f.getUTCMonth() === h + } : function () { + return f.getUTCMonth() !== d + }, d = h + c, f.setUTCMonth(d), (0 > d || d > 11) && (d = (d + 12) % 12); else { + for (var j = 0; i > j; j++)f = this.moveMonth(f, c); + d = f.getUTCMonth(), f.setUTCDate(g), e = function () { + return d !== f.getUTCMonth() + } + } + for (; e();)f.setUTCDate(--g), f.setUTCMonth(d); + return f + }, moveYear: function (a, b) { + return this.moveMonth(a, 12 * b) + }, dateWithinRange: function (a) { + return a >= this.o.startDate && a <= this.o.endDate + }, keydown: function (a) { + if (!this.picker.is(":visible"))return void(27 === a.keyCode && this.show()); + var b, c, e, f = !1, g = this.focusDate || this.viewDate; + switch (a.keyCode) { + case 27: + this.focusDate ? (this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill()) : this.hide(), a.preventDefault(); + break; + case 37: + case 39: + if (!this.o.keyboardNavigation)break; + b = 37 === a.keyCode ? -1 : 1, a.ctrlKey ? (c = this.moveYear(this.dates.get(-1) || d(), b), e = this.moveYear(g, b), this._trigger("changeYear", this.viewDate)) : a.shiftKey ? (c = this.moveMonth(this.dates.get(-1) || d(), b), e = this.moveMonth(g, b), this._trigger("changeMonth", this.viewDate)) : (c = new Date(this.dates.get(-1) || d()), c.setUTCDate(c.getUTCDate() + b), e = new Date(g), e.setUTCDate(g.getUTCDate() + b)), this.dateWithinRange(e) && (this.focusDate = this.viewDate = e, this.setValue(), this.fill(), a.preventDefault()); + break; + case 38: + case 40: + if (!this.o.keyboardNavigation)break; + b = 38 === a.keyCode ? -1 : 1, a.ctrlKey ? (c = this.moveYear(this.dates.get(-1) || d(), b), e = this.moveYear(g, b), this._trigger("changeYear", this.viewDate)) : a.shiftKey ? (c = this.moveMonth(this.dates.get(-1) || d(), b), e = this.moveMonth(g, b), this._trigger("changeMonth", this.viewDate)) : (c = new Date(this.dates.get(-1) || d()), c.setUTCDate(c.getUTCDate() + 7 * b), e = new Date(g), e.setUTCDate(g.getUTCDate() + 7 * b)), this.dateWithinRange(e) && (this.focusDate = this.viewDate = e, this.setValue(), this.fill(), a.preventDefault()); + break; + case 32: + break; + case 13: + g = this.focusDate || this.dates.get(-1) || this.viewDate, this.o.keyboardNavigation && (this._toggle_multidate(g), f = !0), this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.setValue(), this.fill(), this.picker.is(":visible") && (a.preventDefault(), "function" == typeof a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0, this.o.autoclose && this.hide()); + break; + case 9: + this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill(), this.hide() + } + if (f) { + this._trigger(this.dates.length ? "changeDate" : "clearDate"); + var h; + this.isInput ? h = this.element : this.component && (h = this.element.find("input")), h && h.change() + } + }, showMode: function (a) { + a && (this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + a))), this.picker.children("div").hide().filter(".datepicker-" + q.modes[this.viewMode].clsName).css("display", "block"), this.updateNavArrows() + } + }; + var k = function (b, c) { + this.element = a(b), this.inputs = a.map(c.inputs, function (a) { + return a.jquery ? a[0] : a + }), delete c.inputs, m.call(a(this.inputs), c).bind("changeDate", a.proxy(this.dateUpdated, this)), this.pickers = a.map(this.inputs, function (b) { + return a(b).data("datepicker") + }), this.updateDates() + }; + k.prototype = { + updateDates: function () { + this.dates = a.map(this.pickers, function (a) { + return a.getUTCDate() + }), this.updateRanges() + }, updateRanges: function () { + var b = a.map(this.dates, function (a) { + return a.valueOf() + }); + a.each(this.pickers, function (a, c) { + c.setRange(b) + }) + }, dateUpdated: function (b) { + if (!this.updating) { + this.updating = !0; + var c = a(b.target).data("datepicker"), d = c.getUTCDate(), e = a.inArray(b.target, this.inputs), f = e - 1, g = e + 1, h = this.inputs.length; + if (-1 !== e) { + if (a.each(this.pickers, function (a, b) { + b.getUTCDate() || b.setUTCDate(d) + }), d < this.dates[f])for (; f >= 0 && d < this.dates[f];)this.pickers[f--].setUTCDate(d); else if (d > this.dates[g])for (; h > g && d > this.dates[g];)this.pickers[g++].setUTCDate(d); + this.updateDates(), delete this.updating + } + } + }, remove: function () { + a.map(this.pickers, function (a) { + a.remove() + }), delete this.element.data().datepicker + } + }; + var l = a.fn.datepicker, m = function (c) { + var d = Array.apply(null, arguments); + d.shift(); + var e; + return this.each(function () { + var f = a(this), i = f.data("datepicker"), l = "object" == typeof c && c; + if (!i) { + var m = g(this, "date"), o = a.extend({}, n, m, l), p = h(o.language), q = a.extend({}, n, p, m, l); + if (f.hasClass("input-daterange") || q.inputs) { + var r = {inputs: q.inputs || f.find("input").toArray()}; + f.data("datepicker", i = new k(this, a.extend(q, r))) + } else f.data("datepicker", i = new j(this, q)) + } + return "string" == typeof c && "function" == typeof i[c] && (e = i[c].apply(i, d), e !== b) ? !1 : void 0 + }), e !== b ? e : this + }; + a.fn.datepicker = m; + var n = a.fn.datepicker.defaults = { + autoclose: !1, + beforeShowDay: a.noop, + beforeShowMonth: a.noop, + calendarWeeks: !1, + clearBtn: !1, + toggleActive: !1, + daysOfWeekDisabled: [], + datesDisabled: [], + endDate: 1 / 0, + forceParse: !0, + format: "mm/dd/yyyy", + keyboardNavigation: !0, + language: "en", + minViewMode: 0, + multidate: !1, + multidateSeparator: ",", + orientation: "auto", + rtl: !1, + startDate: -1 / 0, + startView: 0, + todayBtn: !1, + todayHighlight: !1, + weekStart: 0, + disableTouchKeyboard: !1, + enableOnReadonly: !0, + container: "body" + }, o = a.fn.datepicker.locale_opts = ["format", "rtl", "weekStart"]; + a.fn.datepicker.Constructor = j; + var p = a.fn.datepicker.dates = { + en: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear" + } + }, q = { + modes: [{clsName: "days", navFnc: "Month", navStep: 1}, {clsName: "months", navFnc: "FullYear", navStep: 1}, { + clsName: "years", + navFnc: "FullYear", + navStep: 10 + }], + isLeapYear: function (a) { + return a % 4 === 0 && a % 100 !== 0 || a % 400 === 0 + }, + getDaysInMonth: function (a, b) { + return [31, q.isLeapYear(a) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][b] + }, + validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, + nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, + parseFormat: function (a) { + var b = a.replace(this.validParts, "\x00").split("\x00"), c = a.match(this.validParts); + if (!b || !b.length || !c || 0 === c.length)throw new Error("Invalid date format."); + return {separators: b, parts: c} + }, + parseDate: function (d, e, f) { + function g() { + var a = this.slice(0, m[k].length), b = m[k].slice(0, a.length); + return a.toLowerCase() === b.toLowerCase() + } + + if (!d)return b; + if (d instanceof Date)return d; + "string" == typeof e && (e = q.parseFormat(e)); + var h, i, k, l = /([\-+]\d+)([dmwy])/, m = d.match(/([\-+]\d+)([dmwy])/g); + if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(d)) { + for (d = new Date, k = 0; k < m.length; k++)switch (h = l.exec(m[k]), i = parseInt(h[1]), h[2]) { + case"d": + d.setUTCDate(d.getUTCDate() + i); + break; + case"m": + d = j.prototype.moveMonth.call(j.prototype, d, i); + break; + case"w": + d.setUTCDate(d.getUTCDate() + 7 * i); + break; + case"y": + d = j.prototype.moveYear.call(j.prototype, d, i) + } + return c(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), 0, 0, 0) + } + m = d && d.match(this.nonpunctuation) || [], d = new Date; + var n, o, r = {}, s = ["yyyy", "yy", "M", "MM", "m", "mm", "d", "dd"], t = { + yyyy: function (a, b) { + return a.setUTCFullYear(b) + }, yy: function (a, b) { + return a.setUTCFullYear(2e3 + b) + }, m: function (a, b) { + if (isNaN(a))return a; + for (b -= 1; 0 > b;)b += 12; + for (b %= 12, a.setUTCMonth(b); a.getUTCMonth() !== b;)a.setUTCDate(a.getUTCDate() - 1); + return a + }, d: function (a, b) { + return a.setUTCDate(b) + } + }; + t.M = t.MM = t.mm = t.m, t.dd = t.d, d = c(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0); + var u = e.parts.slice(); + if (m.length !== u.length && (u = a(u).filter(function (b, c) { + return -1 !== a.inArray(c, s) + }).toArray()), m.length === u.length) { + var v; + for (k = 0, v = u.length; v > k; k++) { + if (n = parseInt(m[k], 10), h = u[k], isNaN(n))switch (h) { + case"MM": + o = a(p[f].months).filter(g), n = a.inArray(o[0], p[f].months) + 1; + break; + case"M": + o = a(p[f].monthsShort).filter(g), n = a.inArray(o[0], p[f].monthsShort) + 1 + } + r[h] = n + } + var w, x; + for (k = 0; k < s.length; k++)x = s[k], x in r && !isNaN(r[x]) && (w = new Date(d), t[x](w, r[x]), isNaN(w) || (d = w)) + } + return d + }, + formatDate: function (b, c, d) { + if (!b)return ""; + "string" == typeof c && (c = q.parseFormat(c)); + var e = { + d: b.getUTCDate(), + D: p[d].daysShort[b.getUTCDay()], + DD: p[d].days[b.getUTCDay()], + m: b.getUTCMonth() + 1, + M: p[d].monthsShort[b.getUTCMonth()], + MM: p[d].months[b.getUTCMonth()], + yy: b.getUTCFullYear().toString().substring(2), + yyyy: b.getUTCFullYear() + }; + e.dd = (e.d < 10 ? "0" : "") + e.d, e.mm = (e.m < 10 ? "0" : "") + e.m, b = []; + for (var f = a.extend([], c.separators), g = 0, h = c.parts.length; h >= g; g++)f.length && b.push(f.shift()), b.push(e[c.parts[g]]); + return b.join("") + }, + headTemplate: '«»', + contTemplate: '', + footTemplate: '' + }; + q.template = '
' + q.headTemplate + "" + q.footTemplate + '
' + q.headTemplate + q.contTemplate + q.footTemplate + '
' + q.headTemplate + q.contTemplate + q.footTemplate + "
", a.fn.datepicker.DPGlobal = q, a.fn.datepicker.noConflict = function () { + return a.fn.datepicker = l, this + }, a.fn.datepicker.version = "1.4.0", a(document).on("focus.datepicker.data-api click.datepicker.data-api", '[data-provide="datepicker"]', function (b) { + var c = a(this); + c.data("datepicker") || (b.preventDefault(), m.call(c, "show")) + }), a(function () { + m.call(a('[data-provide="datepicker-inline"]')) + }) +}(window.jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ar.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ar.min.js new file mode 100644 index 00000000..9211e0ee --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ar.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.ar = { + days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], + daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], + daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"], + months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], + monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], + today: "هذا اليوم", + rtl: !0 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.az.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.az.min.js new file mode 100644 index 00000000..93cda800 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.az.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.az = { + days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], + daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], + daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], + months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], + monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], + today: "Bu gün", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.bg.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.bg.min.js new file mode 100644 index 00000000..1602a592 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.bg.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.bg = { + days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], + daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], + daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], + months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], + monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], + today: "днес" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.bs.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.bs.min.js new file mode 100644 index 00000000..d9cbe55e --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.bs.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.bs = { + days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "August", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ca.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ca.min.js new file mode 100644 index 00000000..55c54707 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ca.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.ca = { + days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], + daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], + daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], + months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], + monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], + today: "Avui", + clear: "Esborrar", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.cs.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.cs.min.js new file mode 100644 index 00000000..03c97966 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.cs.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.cs = { + days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], + daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], + daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], + months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], + monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], + today: "Dnes", + clear: "Vymazat", + weekStart: 1, + format: "d.m.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.cy.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.cy.min.js new file mode 100644 index 00000000..d52e628d --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.cy.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.cy = { + days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn", "Sul"], + daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad", "Sul"], + daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa", "Su"], + months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], + monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], + today: "Heddiw" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.da.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.da.min.js new file mode 100644 index 00000000..a4f9f246 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.da.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.da = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "I Dag", + clear: "Nulstil" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.de.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.de.min.js new file mode 100644 index 00000000..c1212bc4 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.de.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.de = { + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], + daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], + daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], + today: "Heute", + clear: "Löschen", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.el.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.el.min.js new file mode 100644 index 00000000..7588cf55 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.el.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.el = { + days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], + daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], + daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], + months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], + monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], + today: "Σήμερα", + clear: "Καθαρισμός", + weekStart: 1, + format: "d/m/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.en-GB.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.en-GB.min.js new file mode 100644 index 00000000..6bf1d270 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.en-GB.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates["en-GB"] = { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.es.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.es.min.js new file mode 100644 index 00000000..ebae2674 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.es.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.es = { + days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], + daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], + months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], + monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], + today: "Hoy", + clear: "Borrar", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.et.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.et.min.js new file mode 100644 index 00000000..33b0bfd2 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.et.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.et = { + days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], + daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup", "Pühap"], + daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], + months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], + monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], + today: "Täna", + clear: "Tühjenda", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.eu.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.eu.min.js new file mode 100644 index 00000000..25ccdb43 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.eu.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.eu = { + days: ["Igandea", "Astelehena", "Asteartea", "Asteazkena", "Osteguna", "Ostirala", "Larunbata", "Igandea"], + daysShort: ["Ig", "Al", "Ar", "Az", "Og", "Ol", "Lr", "Ig"], + daysMin: ["Ig", "Al", "Ar", "Az", "Og", "Ol", "Lr", "Ig"], + months: ["Urtarrila", "Otsaila", "Martxoa", "Apirila", "Maiatza", "Ekaina", "Uztaila", "Abuztua", "Iraila", "Urria", "Azaroa", "Abendua"], + monthsShort: ["Urt", "Ots", "Mar", "Api", "Mai", "Eka", "Uzt", "Abu", "Ira", "Urr", "Aza", "Abe"], + today: "Gaur" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fa.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fa.min.js new file mode 100644 index 00000000..2e92f8cd --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fa.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.fa = { + days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"], + daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], + daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"], + months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"], + today: "امروز", + clear: "پاک کن", + weekStart: 1, + format: "yyyy/mm/dd" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fi.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fi.min.js new file mode 100644 index 00000000..56e87ee5 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fi.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.fi = { + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], + daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], + daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], + months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], + monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], + today: "tänään", + weekStart: 1, + format: "d.m.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fo.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fo.min.js new file mode 100644 index 00000000..1a240dcd --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fo.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.fo = { + days: ["Sunnudagur", "Mánadagur", "Týsdagur", "Mikudagur", "Hósdagur", "Fríggjadagur", "Leygardagur", "Sunnudagur"], + daysShort: ["Sun", "Mán", "Týs", "Mik", "Hós", "Frí", "Ley", "Sun"], + daysMin: ["Su", "Má", "Tý", "Mi", "Hó", "Fr", "Le", "Su"], + months: ["Januar", "Februar", "Marts", "Apríl", "Mei", "Juni", "Juli", "August", "Septembur", "Oktobur", "Novembur", "Desembur"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "Í Dag", + clear: "Reinsa" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr-CH.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr-CH.min.js new file mode 100644 index 00000000..007ea84d --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr-CH.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.fr = { + days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], + daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], + daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], + months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], + monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], + today: "Aujourd'hui", + clear: "Effacer", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr.min.js new file mode 100644 index 00000000..1db71b60 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.fr.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.fr = { + days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche"], + daysShort: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam.", "dim."], + daysMin: ["d", "l", "ma", "me", "j", "v", "s", "d"], + months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], + monthsShort: ["janv.", "févr.", "mars", "avril", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."], + today: "Aujourd'hui", + clear: "Effacer", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.gl.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.gl.min.js new file mode 100644 index 00000000..d46bd59d --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.gl.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.gl = { + days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Domingo"], + daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", "Do"], + months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], + monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], + today: "Hoxe", + clear: "Limpar", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.he.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.he.min.js new file mode 100644 index 00000000..5d6e2925 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.he.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.he = { + days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], + daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], + daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], + months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], + monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], + today: "היום", + rtl: !0 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hr.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hr.min.js new file mode 100644 index 00000000..92ac2767 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hr.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.hr = { + days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], + months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], + monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], + today: "Danas" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hu.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hu.min.js new file mode 100644 index 00000000..491702f6 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hu.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.hu = { + days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], + daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], + daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], + months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], + today: "Ma", + weekStart: 1, + format: "yyyy.mm.dd" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hy.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hy.min.js new file mode 100644 index 00000000..baba6260 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.hy.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.hy = { + days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ", "Կիրակի"], + daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ", "Կիր"], + daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա", "Կի"], + months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"], + monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"], + today: "Այսօր", + clear: "Ջնջել", + format: "dd.mm.yyyy", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.id.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.id.min.js new file mode 100644 index 00000000..4f1a7497 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.id.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.id = { + days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], + daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], + daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], + months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], + today: "Hari Ini", + clear: "Kosongkan" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.is.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.is.min.js new file mode 100644 index 00000000..fb2ee9e2 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.is.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.is = { + days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], + daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], + daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], + months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], + today: "Í Dag" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.it-CH.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.it-CH.min.js new file mode 100644 index 00000000..dd0bd292 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.it-CH.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.it = { + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], + today: "Oggi", + clear: "Cancella", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.it.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.it.min.js new file mode 100644 index 00000000..cb7123a7 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.it.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.it = { + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], + today: "Oggi", + clear: "Cancella", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ja.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ja.min.js new file mode 100644 index 00000000..acb1d5ca --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ja.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.ja = { + days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], + daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], + daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], + months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + today: "今日", + format: "yyyy/mm/dd", + clear: "クリア" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ka.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ka.min.js new file mode 100644 index 00000000..43aeda0e --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ka.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.ka = { + days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], + daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], + daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], + months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომები", "ნოემბერი", "დეკემბერი"], + monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], + today: "დღეს", + clear: "გასუფთავება", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kh.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kh.min.js new file mode 100644 index 00000000..2d902437 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kh.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.kh = { + days: ["អាទិត្យ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍", "អាទិត្យ"], + daysShort: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍", "អា.ទិ"], + daysMin: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍", "អា.ទិ"], + months: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"], + monthsShort: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"], + today: "ថ្ងៃនេះ", + clear: "សំអាត" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kk.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kk.min.js new file mode 100644 index 00000000..c0f546b1 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kk.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.kk = { + days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі", "Жексенбі"], + daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен", "Жек"], + daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн", "Жк"], + months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"], + monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], + today: "Бүгін", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kr.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kr.min.js new file mode 100644 index 00000000..29e3c26b --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.kr.min.js @@ -0,0 +1,9 @@ +!function (a) { + a.fn.datepicker.dates.kr = { + days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], + daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], + daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], + months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.lt.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.lt.min.js new file mode 100644 index 00000000..6fb753fe --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.lt.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.lt = { + days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], + daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], + daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], + months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], + monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], + today: "Šiandien", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.lv.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.lv.min.js new file mode 100644 index 00000000..0e09ed72 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.lv.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.lv = { + days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], + daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], + daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se", "Sv"], + months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Šodien", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.me.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.me.min.js new file mode 100644 index 00000000..e2d2dd08 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.me.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.me = { + days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + clear: "Izbriši", + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.mk.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.mk.min.js new file mode 100644 index 00000000..348f4d1e --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.mk.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.mk = { + days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота", "Недела"], + daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб", "Нед"], + daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са", "Не"], + months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"], + monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"], + today: "Денес", + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ms.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ms.min.js new file mode 100644 index 00000000..b9f1422e --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ms.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.ms = { + days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], + daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], + daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], + months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], + today: "Hari Ini" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nb.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nb.min.js new file mode 100644 index 00000000..f6d0ccd5 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nb.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.nb = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "I Dag" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl-BE.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl-BE.min.js new file mode 100644 index 00000000..9e6b4039 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl-BE.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates["nl-BE"] = { + days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag", "zondag"], + daysShort: ["zo", "ma", "di", "wo", "do", "vr", "za", "zo"], + daysMin: ["zo", "ma", "di", "wo", "do", "vr", "za", "zo"], + months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], + monthsShort: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], + today: "Vandaag", + clear: "Leegmaken", + weekStart: 1, + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl.min.js new file mode 100644 index 00000000..7f2aaa1f --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.nl.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.nl = { + days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag", "zondag"], + daysShort: ["zo", "ma", "di", "wo", "do", "vr", "za", "zo"], + daysMin: ["zo", "ma", "di", "wo", "do", "vr", "za", "zo"], + months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], + monthsShort: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], + today: "Vandaag", + clear: "Wissen", + weekStart: 1, + format: "dd-mm-yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.no.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.no.min.js new file mode 100644 index 00000000..8f5305bd --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.no.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.no = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"], + months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "I dag", + clear: "Nullstill", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pl.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pl.min.js new file mode 100644 index 00000000..c352e1ff --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pl.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.pl = { + days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], + daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], + daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], + months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], + monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], + today: "Dzisiaj", + weekStart: 1, + clear: "Wyczyść" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt-BR.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt-BR.min.js new file mode 100644 index 00000000..65cf3ada --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt-BR.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates["pt-BR"] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + clear: "Limpar" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt.min.js new file mode 100644 index 00000000..4f22bf3e --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.pt.min.js @@ -0,0 +1,11 @@ +!function (a) { + a.fn.datepicker.dates.pt = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + clear: "Limpar" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ro.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ro.min.js new file mode 100644 index 00000000..a4315b01 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ro.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.ro = { + days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], + daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], + daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], + months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], + monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Astăzi", + clear: "Șterge", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs-latin.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs-latin.min.js new file mode 100644 index 00000000..e957f486 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs-latin.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates["rs-latin"] = { + days: ["Nedelja", "Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], + daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs.min.js new file mode 100644 index 00000000..85365e48 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.rs.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.rs = { + days: ["Недеља", "Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], + daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], + daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], + months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], + monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], + today: "Данас", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ru.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ru.min.js new file mode 100644 index 00000000..7c1f392e --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.ru.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.ru = { + days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], + daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], + daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], + months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], + monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], + today: "Сегодня", + clear: "Очистить", + format: "dd.mm.yyyy", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sk.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sk.min.js new file mode 100644 index 00000000..c4e6bd17 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sk.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.sk = { + days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], + daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], + daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], + months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Dnes" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sl.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sl.min.js new file mode 100644 index 00000000..b8163b4a --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sl.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.sl = { + days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], + daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], + daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], + months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danes" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sq.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sq.min.js new file mode 100644 index 00000000..fea7cfcf --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sq.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.sq = { + days: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë", "E Diel"], + daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu", "Die"], + daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht", "Di"], + months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], + monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], + today: "Sot" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr-latin.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr-latin.min.js new file mode 100644 index 00000000..dfa63794 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr-latin.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates["sr-latin"] = { + days: ["Nedelja", "Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], + daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr.min.js new file mode 100644 index 00000000..2b55f7c8 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sr.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.sr = { + days: ["Недеља", "Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], + daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], + daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], + months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], + monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], + today: "Данас", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sv.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sv.min.js new file mode 100644 index 00000000..53463e81 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sv.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.sv = { + days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], + daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], + daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], + months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Idag", + format: "yyyy-mm-dd", + weekStart: 1, + clear: "Rensa" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sw.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sw.min.js new file mode 100644 index 00000000..6bbd48e3 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.sw.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.sw = { + days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], + daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], + daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], + months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], + monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], + today: "Leo" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.th.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.th.min.js new file mode 100644 index 00000000..8af36197 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.th.min.js @@ -0,0 +1,10 @@ +!function (a) { + a.fn.datepicker.dates.th = { + days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], + daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], + monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], + today: "วันนี้" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.tr.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.tr.min.js new file mode 100644 index 00000000..4e275cb9 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.tr.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.tr = { + days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], + daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], + daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], + months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], + monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], + today: "Bugün", + clear: "Temizle", + weekStart: 1, + format: "dd.mm.yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.uk.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.uk.min.js new file mode 100644 index 00000000..76fb08e8 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.uk.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates.uk = { + days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], + daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], + daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], + months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], + monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], + today: "Сьогодні", + clear: "Очистити", + format: "dd.mm.yyyy", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.vi.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.vi.min.js new file mode 100644 index 00000000..b85dd638 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.vi.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates.vi = { + days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chủ nhật"], + daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"], + daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7", "CN"], + months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], + monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], + today: "Hôm nay", + clear: "Xóa", + format: "dd/mm/yyyy" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-CN.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-CN.min.js new file mode 100644 index 00000000..0c2804a4 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-CN.min.js @@ -0,0 +1,13 @@ +!function (a) { + a.fn.datepicker.dates["zh-CN"] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], + daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + today: "今日", + format: "yyyy年mm月dd日", + weekStart: 1, + clear: "清空" + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-TW.min.js b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-TW.min.js new file mode 100644 index 00000000..6d399e40 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datepicker/client/resource/js/locales.cache.1.4.0/bootstrap-datepicker.zh-TW.min.js @@ -0,0 +1,12 @@ +!function (a) { + a.fn.datepicker.dates["zh-TW"] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "週日"], + daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + today: "今天", + format: "yyyy年mm月dd日", + weekStart: 1 + } +}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/datetimepicker/DateTimePickerNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/datetimepicker/DateTimePickerNoResources.gwt.xml new file mode 100644 index 00000000..4435ed91 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/datetimepicker/DateTimePickerNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/FullCalendarNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/FullCalendarNoResources.gwt.xml new file mode 100644 index 00000000..7d551dc4 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/FullCalendarNoResources.gwt.xml @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/client/resource/css/fullcalendar-2.0.0.cache.css b/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/client/resource/css/fullcalendar-2.0.0.cache.css index 54861577..be07974b 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/client/resource/css/fullcalendar-2.0.0.cache.css +++ b/src/main/resources/org/gwtbootstrap3/extras/fullcalendar/client/resource/css/fullcalendar-2.0.0.cache.css @@ -130,7 +130,7 @@ html .fc, .fc-cell-overlay { /* semi-transparent rectangle while dragging */ background: #bce8f1; opacity: .3; - filter: alpha(opacity=30); /* for IE */ + filter: literal('alpha(opacity=30)'); /* for IE */ } @@ -252,7 +252,7 @@ html .fc, cursor: default; background-image: none; opacity: 0.65; - filter: alpha(opacity=65); + filter: literal('alpha(opacity=65)'); box-shadow: none; } @@ -411,7 +411,7 @@ table.fc-border-separate { .fc-grid .fc-other-month .fc-day-number { opacity: 0.3; - filter: alpha(opacity=30); /* for IE */ + filter: literal('alpha(opacity=30)'); /* for IE */ /* opacity with small font can sometimes look too faded might want to set the 'color' property instead making day-numbers bold also fixes the problem */ @@ -529,7 +529,7 @@ table.fc-border-separate { } .fc-agenda-slots tr.fc-minor th.ui-widget-header { - *border-top-style: solid; /* doesn't work with background in IE6/7 */ + border-top-style: solid; /* doesn't work with background in IE6/7 */ } @@ -572,7 +572,7 @@ table.fc-border-separate { height: 100%; background: #fff; opacity: .25; - filter: alpha(opacity=25); + filter: literal('alpha(opacity=25)'); } .fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ diff --git a/src/main/resources/org/gwtbootstrap3/extras/growl/GrowlNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/growl/GrowlNoResources.gwt.xml new file mode 100644 index 00000000..2ceb4621 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/growl/GrowlNoResources.gwt.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/notify/Notify.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/notify/Notify.gwt.xml new file mode 100644 index 00000000..fbeecc45 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/notify/Notify.gwt.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/notify/NotifyNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/notify/NotifyNoResources.gwt.xml new file mode 100644 index 00000000..49307d3b --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/notify/NotifyNoResources.gwt.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/notify/client/NotifyResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/notify/client/NotifyResources.gwt.xml new file mode 100644 index 00000000..dcc6a274 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/notify/client/NotifyResources.gwt.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/notify/client/resource/css/bootstrap-notify-custom.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/notify/client/resource/css/bootstrap-notify-custom.min.cache.css new file mode 100755 index 00000000..7bc9d211 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/notify/client/resource/css/bootstrap-notify-custom.min.cache.css @@ -0,0 +1,2 @@ +/* Bootstrap Notify Custom CSS | Website: http://bootstrap-notify.remabledesigns.com/ */ +[data-notify="progressbar"]{margin-bottom:0;position:absolute;bottom:0;left:0;width:100%;height:5px;} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/notify/client/resource/js/bootstrap-notify-3.0.0.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/notify/client/resource/js/bootstrap-notify-3.0.0.min.cache.js new file mode 100644 index 00000000..714bb410 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/notify/client/resource/js/bootstrap-notify-3.0.0.min.cache.js @@ -0,0 +1,2 @@ +/* Project: Bootstrap Growl = v3.0.0 | Description: Turns standard Bootstrap alerts into "Growl-like" notifications. | Author: Mouse0270 aka Robert McIntosh | License: MIT License | Website: https://github.com/mouse0270/bootstrap-growl */ +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t("object"==typeof exports?require("jquery"):jQuery)}(function(t){function e(e,i,n){var i={content:{message:"object"==typeof i?i.message:i,title:i.title?i.title:"",icon:i.icon?i.icon:"",url:i.url?i.url:"#",target:i.target?i.target:"-"}};n=t.extend(!0,{},i,n),this.settings=t.extend(!0,{},s,n),this._defaults=s,"-"==this.settings.content.target&&(this.settings.content.target=this.settings.url_target),this.animations={start:"webkitAnimationStart oanimationstart MSAnimationStart animationstart",end:"webkitAnimationEnd oanimationend MSAnimationEnd animationend"},"number"==typeof this.settings.offset&&(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),this.init()}var s={element:"body",position:null,type:"info",allow_dismiss:!0,newest_on_top:!1,placement:{from:"top",align:"right"},offset:20,spacing:10,z_index:1031,delay:5e3,timer:1e3,url_target:"_blank",mouse_over:null,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onClose:null,onClosed:null,icon_type:"class",template:''};String.format=function(){for(var t=arguments[0],e=1;e .progress-bar').removeClass("progress-bar-"+t.settings.type),t.settings.type=s,this.$ele.addClass("alert-"+s).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-"+s);break;case"icon":var i=this.$ele.find('[data-notify="icon"]');"class"==t.settings.icon_type.toLowerCase()?i.removeClass(t.settings.content.icon).addClass(s):(i.is("img")||i.find("img"),i.attr("src",s));break;case"url":this.$ele.find('[data-notify="url"]').attr("href",s);break;case"target":this.$ele.find('[data-notify="url"]').attr("target",s);break;default:this.$ele.find('[data-notify="'+e+'"]').html(s)}var n=this.$ele.outerHeight()+parseInt(t.settings.spacing)+parseInt(t.settings.offset.y);t.reposition(n)},close:function(){t.close()}}},buildNotify:function(){var e=this.settings.content;this.$ele=t(String.format(this.settings.template,this.settings.type,e.title,e.message,e.url,e.target)),this.$ele.attr("data-notify-position",this.settings.placement.from+"-"+this.settings.placement.align),this.settings.allow_dismiss||this.$ele.find('[data-notify="dismiss"]').css("display","none"),this.settings.delay<=0&&this.$ele.find('[data-notify="progressbar"]').remove()},setIcon:function(){"class"==this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify="icon"]').is("img")?this.$ele.find('[data-notify="icon"]').attr("src",this.settings.content.icon):this.$ele.find('[data-notify="icon"]').append('Notify Icon')},styleURL:function(){this.$ele.find('[data-notify="url"]').css({backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)",height:"100%",left:"0px",position:"absolute",top:"0px",width:"100%",zIndex:this.settings.z_index+1}),this.$ele.find('[data-notify="dismiss"]').css({position:"absolute",right:"10px",top:"5px",zIndex:this.settings.z_index+2})},placement:function(){var e=this,s=this.settings.offset.y,i={display:"inline-block",margin:"0px auto",position:this.settings.position?this.settings.position:"body"===this.settings.element?"fixed":"absolute",transition:"all .5s ease-in-out",zIndex:this.settings.z_index},n=!1,a=this.settings;switch(t('[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])').each(function(){return s=Math.max(s,parseInt(t(this).css(a.placement.from))+parseInt(t(this).outerHeight())+parseInt(a.spacing))}),1==this.settings.newest_on_top&&(s=this.settings.offset.y),i[this.settings.placement.from]=s+"px",this.settings.placement.align){case"left":case"right":i[this.settings.placement.align]=this.settings.offset.x+"px";break;case"center":i.left=0,i.right=0}this.$ele.css(i).addClass(this.settings.animate.enter),t(this.settings.element).append(this.$ele),1==this.settings.newest_on_top&&(s=parseInt(s)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(s)),t.isFunction(e.settings.onShow)&&e.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){n=!0}).one(this.animations.end,function(){t.isFunction(e.settings.onShown)&&e.settings.onShown.call(this)}),setTimeout(function(){n||t.isFunction(e.settings.onShown)&&e.settings.onShown.call(this)},600)},bind:function(){var e=this;if(this.$ele.find('[data-notify="dismiss"]').on("click",function(){e.close()}),this.$ele.mouseover(function(){t(this).data("data-hover","true")}).mouseout(function(){t(this).data("data-hover","false")}),this.$ele.data("data-hover","false"),this.settings.delay>0){e.$ele.data("notify-delay",e.settings.delay);var s=setInterval(function(){var t=parseInt(e.$ele.data("notify-delay"))-e.settings.timer;if("false"===e.$ele.data("data-hover")&&"pause"==e.settings.mouse_over||"pause"!=e.settings.mouse_over){var i=(e.settings.delay-t)/e.settings.delay*100;e.$ele.data("notify-delay",t),e.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow",i).css("width",i+"%")}t<=-e.settings.timer&&(clearInterval(s),e.close())},e.settings.timer)}},close:function(){var e=this,s=parseInt(this.$ele.css(this.settings.placement.from)),i=!1;this.$ele.data("closing","true").addClass(this.settings.animate.exit),e.reposition(s),t.isFunction(e.settings.onClose)&&e.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){i=!0}).one(this.animations.end,function(){t(this).remove(),t.isFunction(e.settings.onClosed)&&e.settings.onClosed.call(this)}),setTimeout(function(){i||(e.$ele.remove(),e.settings.onClosed&&e.settings.onClosed(e.$ele))},600)},reposition:function(e){var s=this,i='[data-notify-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]:not([data-closing="true"])',n=this.$ele.nextAll(i);1==this.settings.newest_on_top&&(n=this.$ele.prevAll(i)),n.each(function(){t(this).css(s.settings.placement.from,e),e=parseInt(e)+parseInt(s.settings.spacing)+t(this).outerHeight()})}}),t.notify=function(t,s){var i=new e(this,t,s);return i.notify},t.notifyDefaults=function(e){return s=t.extend(!0,{},s,e)},t.notifyClose=function(e){"undefined"==typeof e||"all"==e?t("[data-notify]").find('[data-notify="dismiss"]').trigger("click"):t('[data-notify-position="'+e+'"]').find('[data-notify="dismiss"]').trigger("click")}}); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/SelectNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/select/SelectNoResources.gwt.xml new file mode 100644 index 00000000..c5950404 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/SelectNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/SelectResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/select/client/SelectResources.gwt.xml index 59bae81d..ed0690a3 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/SelectResources.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/SelectResources.gwt.xml @@ -20,11 +20,11 @@ --> - - - + + + - - + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.3.css.cache.map b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.3.css.cache.map deleted file mode 100644 index 5abff402..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.3.css.cache.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["less/bootstrap-select.less","bootstrap-select.css"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":["@import \"variables\";\n\n// Mixins\n.cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\n.bootstrap-select {\n /*width: 220px\\9; IE8 and below*/\n //noinspection CssShorthandPropertyValue\n width: 220px \\0; /*IE9 and below*/\n\n // The selectpicker button\n > .btn {\n width: 100%;\n padding-right: 25px;\n }\n\n // Error display\n .error & .btn {\n border: 1px solid @color-red-error;\n }\n\n // Error display\n .control-group.error & .dropdown-toggle {\n border-color: @color-red-error;\n }\n\n &.fit-width {\n width: auto !important;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: @width-default;\n }\n\n .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n\n &:not([class*=\"col-\"]) {\n width: 100%;\n }\n}\n\n// The selectpicker components\n.bootstrap-select.btn-group {\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row-fluid &[class*=\"col-\"] {\n &.dropdown-menu-right {\n float: right;\n }\n }\n\n .form-search &,\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n .input-append & {\n margin-left: -1px;\n }\n\n .input-prepend & {\n margin-right: -1px;\n }\n\n > .disabled {\n .cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n // The selectpicker button\n .btn {\n .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n }\n\n &[class*=\"col-\"] .btn {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n z-index: @zindex-select-dropdown;\n box-sizing: border-box;\n\n &.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &:not(.disabled) a:hover small,\n &:not(.disabled) a:focus small,\n &.active:not(.disabled) a small {\n color: @color-blue-hover;\n color: fade(@color-blue-hover, 40%);\n }\n\n &.disabled a {\n .cursor-disabled();\n }\n\n a {\n cursor: pointer;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n }\n\n &.fit-width .btn {\n .filter-option {\n position: static;\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu li {\n &.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n }\n\n a span.text {\n margin-right: 34px;\n }\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .btn {\n z-index: @zindex-select-dropdown + 1;\n }\n\n .dropdown-toggle {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom-width: 7px;\n border-bottom-style: solid;\n border-bottom-color: @color-grey-arrow;\n border-bottom-color: fade(@color-grey-arrow, 20%);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle {\n &:before {\n bottom: auto;\n top: -3px;\n border-bottom: 0;\n border-top-width: 7px;\n border-top-style: solid;\n border-top-color: @color-grey-arrow;\n border-top-color: fade(@color-grey-arrow, 20%);\n }\n\n &:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox {\n padding: 4px 8px;\n}\n\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 50%;\n }\n}\n\n.bs-searchbox {\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & input.form-control {\n margin-bottom: 0;\n width: 100%;\n }\n}\n\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n",".bootstrap-select {\n /*width: 220px\\9; IE8 and below*/\n width: 220px \\0;\n /*IE9 and below*/\n}\n.bootstrap-select > .btn {\n width: 100%;\n padding-right: 25px;\n}\n.error .bootstrap-select .btn {\n border: 1px solid #b94a48;\n}\n.control-group.error .bootstrap-select .dropdown-toggle {\n border-color: #b94a48;\n}\n.bootstrap-select.fit-width {\n width: auto !important;\n}\n.bootstrap-select:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: 220px;\n}\n.bootstrap-select .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n}\n.bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: 100%;\n}\n.bootstrap-select.btn-group:not(.input-group-btn),\n.bootstrap-select.btn-group[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.btn-group.dropdown-menu-right,\n.bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right,\n.row-fluid .bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right {\n float: right;\n}\n.form-search .bootstrap-select.btn-group,\n.form-inline .bootstrap-select.btn-group,\n.form-horizontal .bootstrap-select.btn-group,\n.form-group .bootstrap-select.btn-group {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.btn-group.form-control,\n.form-group-sm .bootstrap-select.btn-group.form-control {\n padding: 0;\n}\n.form-inline .bootstrap-select.btn-group .form-control {\n width: 100%;\n}\n.input-append .bootstrap-select.btn-group {\n margin-left: -1px;\n}\n.input-prepend .bootstrap-select.btn-group {\n margin-right: -1px;\n}\n.bootstrap-select.btn-group > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.btn-group .btn .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n}\n.bootstrap-select.btn-group .btn .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select.btn-group[class*=\"col-\"] .btn {\n width: 100%;\n}\n.bootstrap-select.btn-group .dropdown-menu {\n min-width: 100%;\n z-index: 1035;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .dropdown-menu.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,\n.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small {\n color: #64b1d8;\n color: rgba(100, 177, 216, 0.4);\n}\n.bootstrap-select.btn-group .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group .dropdown-menu li a {\n cursor: pointer;\n}\n.bootstrap-select.btn-group .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select.btn-group .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select.btn-group .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: #f5f5f5;\n border: 1px solid #e3e3e3;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n}\n.bootstrap-select.btn-group.fit-width .btn .filter-option {\n position: static;\n}\n.bootstrap-select.btn-group.fit-width .btn .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.show-menu-arrow.open > .btn {\n z-index: 1035 + 1;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom-width: 7px;\n border-bottom-style: solid;\n border-bottom-color: #cccccc;\n border-bottom-color: rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {\n bottom: auto;\n top: -3px;\n border-bottom: 0;\n border-top-width: 7px;\n border-top-style: solid;\n border-top-color: #cccccc;\n border-top-color: rgba(204, 204, 204, 0.2);\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {\n display: block;\n}\n.bs-searchbox,\n.bs-actionsbox {\n padding: 4px 8px;\n}\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox input.form-control {\n margin-bottom: 0;\n width: 100%;\n}\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n/*# sourceMappingURL=bootstrap-select.css.map */"]} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.3.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.3.min.cache.css deleted file mode 100644 index b3021ae2..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.3.min.cache.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */.bootstrap-select{width:220px \0}.bootstrap-select>.btn{width:100%;padding-right:25px}.error .bootstrap-select .btn{border:1px solid #b94a48}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .btn:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row-fluid .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-group .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group .btn .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;z-index:1035;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small{color:#64b1d8;color:rgba(100,177,216,.4)}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.btn{z-index:1035+1}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom-width:7px;border-bottom-style:solid;border-bottom-color:#ccc;border-bottom-color:rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-bottom:0;border-top-width:7px;border-top-style:solid;border-top-color:#ccc;border-top-color:rgba(204,204,204,.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bs-searchbox,.bs-actionsbox{padding:4px 8px}.bs-actionsbox{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox input.form-control{margin-bottom:0;width:100%}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.4.css.cache.map b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.4.css.cache.map new file mode 100644 index 00000000..b7191648 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.4.css.cache.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/bootstrap-select.less","bootstrap-select.css"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":["@import \"variables\";\n\n// Mixins\n.cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\n.bootstrap-select {\n width: 220px \\0; /*IE9 and below*/\n\n // The selectpicker button\n > .btn {\n width: 100%;\n padding-right: 25px;\n }\n\n // Error display\n .has-error & .dropdown-toggle,\n .error & .dropdown-toggle {\n border-color: @color-red-error;\n }\n\n &.fit-width {\n width: auto !important;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: @width-default;\n }\n\n .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n\n &:not([class*=\"col-\"]) {\n width: 100%;\n }\n}\n\n// The selectpicker components\n.bootstrap-select.btn-group {\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row-fluid &[class*=\"col-\"] {\n &.dropdown-menu-right {\n float: right;\n }\n }\n\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n > .disabled {\n .cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n // The selectpicker button\n .btn {\n .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n }\n\n &[class*=\"col-\"] .btn {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n z-index: @zindex-select-dropdown;\n box-sizing: border-box;\n\n &.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &:not(.disabled) a:hover small,\n &:not(.disabled) a:focus small,\n &.active:not(.disabled) a small {\n color: @color-blue-hover;\n }\n\n &.disabled a {\n .cursor-disabled();\n }\n\n a {\n cursor: pointer;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n }\n\n &.fit-width .btn {\n .filter-option {\n position: static;\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu li {\n &.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n }\n\n a span.text {\n margin-right: 34px;\n }\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .btn {\n z-index: (@zindex-select-dropdown + 1);\n }\n\n .dropdown-toggle {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid @color-grey-arrow;\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle {\n &:before {\n bottom: auto;\n top: -3px;\n border-top: 7px solid @color-grey-arrow;\n border-bottom: 0;\n }\n\n &:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 50%;\n }\n}\n\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 100%;\n }\n}\n\n.bs-searchbox {\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & input.form-control {\n margin-bottom: 0;\n width: 100%;\n }\n}\n\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n",".bootstrap-select {\n width: 220px \\0;\n /*IE9 and below*/\n}\n.bootstrap-select > .btn {\n width: 100%;\n padding-right: 25px;\n}\n.has-error .bootstrap-select .dropdown-toggle,\n.error .bootstrap-select .dropdown-toggle {\n border-color: #b94a48;\n}\n.bootstrap-select.fit-width {\n width: auto !important;\n}\n.bootstrap-select:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: 220px;\n}\n.bootstrap-select .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n}\n.bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: 100%;\n}\n.bootstrap-select.btn-group:not(.input-group-btn),\n.bootstrap-select.btn-group[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.btn-group.dropdown-menu-right,\n.bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right,\n.row-fluid .bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right {\n float: right;\n}\n.form-inline .bootstrap-select.btn-group,\n.form-horizontal .bootstrap-select.btn-group,\n.form-group .bootstrap-select.btn-group {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.btn-group.form-control,\n.form-group-sm .bootstrap-select.btn-group.form-control {\n padding: 0;\n}\n.form-inline .bootstrap-select.btn-group .form-control {\n width: 100%;\n}\n.bootstrap-select.btn-group > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.btn-group .btn .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n}\n.bootstrap-select.btn-group .btn .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select.btn-group[class*=\"col-\"] .btn {\n width: 100%;\n}\n.bootstrap-select.btn-group .dropdown-menu {\n min-width: 100%;\n z-index: 1035;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .dropdown-menu.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,\n.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small {\n color: rgba(100, 177, 216, 0.4);\n}\n.bootstrap-select.btn-group .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group .dropdown-menu li a {\n cursor: pointer;\n}\n.bootstrap-select.btn-group .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select.btn-group .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select.btn-group .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: #f5f5f5;\n border: 1px solid #e3e3e3;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n}\n.bootstrap-select.btn-group.fit-width .btn .filter-option {\n position: static;\n}\n.bootstrap-select.btn-group.fit-width .btn .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.show-menu-arrow.open > .btn {\n z-index: 1036;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {\n bottom: auto;\n top: -3px;\n border-top: 7px solid rgba(204, 204, 204, 0.2);\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {\n display: block;\n}\n.bs-searchbox,\n.bs-actionsbox,\n.bs-donebutton {\n padding: 4px 8px;\n}\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n.bs-donebutton {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-donebutton .btn-group button {\n width: 100%;\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox input.form-control {\n margin-bottom: 0;\n width: 100%;\n}\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n/*# sourceMappingURL=bootstrap-select.css.map */"]} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.4.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.4.min.cache.css new file mode 100755 index 00000000..b2e7ee8c --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-1.6.4.min.cache.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */.bootstrap-select{width:220px \0}.bootstrap-select>.btn{width:100%;padding-right:25px}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .btn:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row-fluid .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group .btn .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;z-index:1035;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small{color:rgba(100,177,216,.4)}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.btn{z-index:1036}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox input.form-control{margin-bottom:0;width:100%}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-fix-1.6.3.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-fix-1.6.4.min.cache.css similarity index 100% rename from src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-fix-1.6.3.min.cache.css rename to src/main/resources/org/gwtbootstrap3/extras/select/client/resource/css/bootstrap-select-fix-1.6.4.min.cache.css diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.3.js.cache.map b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.3.js.cache.map deleted file mode 100644 index b70aa0e2..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.3.js.cache.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bootstrap-select.min.js","sources":["bootstrap-select.js"],"names":["$","icontains","haystack","needle","toUpperCase","indexOf","normalizeToBase","text","rExps","re","ch","each","replace","this","htmlEscape","html","escapeMap","&","<",">","\"","'","`","source","Object","keys","join","testRegexp","RegExp","replaceRegexp","string","test","match","Plugin","option","event","args","arguments","_option","shift","apply","value","chain","$this","is","data","options","i","hasOwnProperty","config","extend","Selectpicker","DEFAULTS","fn","selectpicker","defaults","Function","expr","obj","index","meta","aicontains","element","e","stopPropagation","preventDefault","$element","$newElement","$button","$menu","$lis","title","attr","val","prototype","render","refresh","setStyle","selectAll","deselectAll","destroy","remove","show","hide","init","VERSION","noneSelectedText","noneResultsText","countSelectedText","numSelected","maxOptionsText","numAll","numGroup","arr","selectAllText","deselectAllText","multipleSeparator","style","size","selectedTextFormat","width","container","hideDisabled","showSubtext","showIcon","showContent","dropupAuto","header","liveSearch","actionsBox","iconBase","tickIcon","maxOptions","mobile","selectOnTab","dropdownAlignRight","searchAccentInsensitive","constructor","that","id","multiple","prop","autofocus","createView","after","find","$searchbox","addClass","click","focus","checkDisabled","clickListener","liveSearchListener","liHeight","setWidth","selectPosition","createDropdown","inputGroup","parent","hasClass","btnSize","parents","searchbox","actionsbox","drop","$drop","$li","createLi","append","reloadLi","destroyLi","_li","optID","generateLI","content","classes","generateA","inline","optgroup","normText","optionClass","subtext","icon","isDisabled","label","labelSubtext","labelIcon","length","push","eq","findLis","updateLi","setDisabled","setSelected","tabIndex","notDisabled","selectedItems","map","toArray","max","split","totalCount","not","tr8nText","toString","status","buttonClass","removeClass","$selectClone","clone","end","appendTo","$menuClone","filter","children","outerHeight","headerHeight","searchHeight","actionsHeight","setSize","menuHeight","selectOffsetTop","selectOffsetBot","menu","menuInner","selectHeight","divHeight","menuPadding","parseInt","css","$window","window","menuExtras","posVert","offset","top","scrollTop","height","getSize","minHeight","lisVis","toggleClass","max-height","overflow","min-height","overflow-y","Math","off","on","optIndex","slice","last","divLength","selectClone","ulWidth","btnWidth","pos","actualHeight","getPlacement","offsetHeight","left","offsetWidth","position","resize","target","closest","selected","disabled","removeAttr","setTimeout","clickedIndex","prevValue","prevIndex","$options","$option","state","$optgroup","maxOptionsGrp","blur","maxReached","maxReachedGrp","optgroupID","has","maxOptionsArr","maxTxt","maxTxtGrp","$notify","trigger","delay","fadeOut","change","no_results","keydown","$items","next","first","prev","nextPrev","isActive","$parent","keyCodeMap",32,48,49,50,51,52,53,54,55,56,57,59,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,96,97,98,99,100,101,102,103,104,105,"String","fromCharCode","keyCode","nextAll","prevAll","count","prevKey","keyIndex","trim","toLowerCase","substring","document","update","old","Constructor","noConflict","$selectpicker","call","jQuery"],"mappings":"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"} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.3.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.3.min.cache.js deleted file mode 100644 index 52571114..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.3.min.cache.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){"use strict";function b(a,b){return a.toUpperCase().indexOf(b.toUpperCase())>-1}function c(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function d(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function e(b,c){var d=arguments,e=b,b=d[0],c=d[1];[].shift.apply(d),"undefined"==typeof b&&(b=e);var g,h=this.each(function(){var e=a(this);if(e.is("select")){var h=e.data("selectpicker"),i="object"==typeof b&&b;if(h){if(i)for(var j in i)i.hasOwnProperty(j)&&(h.options[j]=i[j])}else{var k=a.extend({},f.DEFAULTS,a.fn.selectpicker.defaults||{},e.data(),i);e.data("selectpicker",h=new f(this,k,c))}"string"==typeof b&&(g=h[b]instanceof Function?h[b].apply(h,d):h.options[b])}});return"undefined"!=typeof g?g:h}a.expr[":"].icontains=function(c,d,e){return b(a(c).text(),e[3])},a.expr[":"].aicontains=function(c,d,e){return b(a(c).data("normalizedText")||a(c).text(),e[3])};var f=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=f.prototype.val,this.render=f.prototype.render,this.refresh=f.prototype.refresh,this.setStyle=f.prototype.setStyle,this.selectAll=f.prototype.selectAll,this.deselectAll=f.prototype.deselectAll,this.destroy=f.prototype.remove,this.remove=f.prototype.remove,this.show=f.prototype.show,this.hide=f.prototype.hide,this.init()};f.VERSION="1.6.3",f.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results match",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", ",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,searchAccentInsensitive:!1},f.prototype={constructor:f,init:function(){var b=this,c=this.$element.attr("id");this.$element.hide(),this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement),this.$menu=this.$newElement.find("> .dropdown-menu"),this.$button=this.$newElement.find("> button"),this.$searchbox=this.$newElement.find("input"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.liHeight(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile()},createDropdown:function(){var b=this.multiple?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",d=this.autofocus?" autofocus":"",e=this.$element.parents().hasClass("form-group-lg")?" btn-lg":this.$element.parents().hasClass("form-group-sm")?" btn-sm":"",f=this.options.header?'
'+this.options.header+"
":"",g=this.options.liveSearch?'':"",h=this.options.actionsBox?'
":"",i='
';return a(i)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul").append(b),a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menu.find("ul").append(a)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var b=this,e=[],f=0,g=function(a,b,c){return""+a+""},h=function(a,e,f,g){var h=c(d(a));return''+a+''};return this.$element.find("option").each(function(){var c=a(this),d=c.attr("class")||"",i=c.attr("style"),j=c.data("content")?c.data("content"):c.html(),k="undefined"!=typeof c.data("subtext")?''+c.data("subtext")+"":"",l="undefined"!=typeof c.data("icon")?' ':"",m=c.is(":disabled")||c.parent().is(":disabled"),n=c[0].index;if(""!==l&&m&&(l=""+l+""),c.data("content")||(j=l+''+j+k+""),!b.options.hideDisabled||!m)if(c.parent().is("optgroup")&&c.data("divider")!==!0){if(0===c.index()){f+=1;var o=c.parent().attr("label"),p="undefined"!=typeof c.parent().data("subtext")?''+c.parent().data("subtext")+"":"",q=c.parent().data("icon")?' ':"";o=q+''+o+p+"",0!==n&&e.length>0&&e.push(g("",null,"divider")),e.push(g(o,null,"dropdown-header"))}e.push(g(h(j,"opt "+d,i,f),n))}else e.push(c.data("divider")===!0?g("",n,"divider"):c.data("hidden")===!0?g(h(j,d,i),n,"hide is-hidden"):g(h(j,d,i),n))}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),a(e.join(""))},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c=this;b!==!1&&this.$element.find("option").each(function(b){c.setDisabled(b,a(this).is(":disabled")||a(this).parent().is(":disabled")),c.setSelected(b,a(this).is(":selected"))}),this.tabIndex();var e=this.options.hideDisabled?":not([disabled])":"",f=this.$element.find("option:selected"+e).map(function(){var b,d=a(this),e=d.data("icon")&&c.options.showIcon?' ':"";return b=c.options.showSubtext&&d.attr("data-subtext")&&!c.multiple?' '+d.data("subtext")+"":"",d.data("content")&&c.options.showContent?d.data("content"):"undefined"!=typeof d.attr("title")?d.attr("title"):e+d.html()+b}).toArray(),g=this.multiple?f.join(this.options.multipleSeparator):f[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var h=this.options.selectedTextFormat.split(">");if(h.length>1&&f.length>h[1]||1==h.length&&f.length>=2){e=this.options.hideDisabled?", [disabled]":"";var i=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+e).length,j="function"==typeof this.options.countSelectedText?this.options.countSelectedText(f.length,i):this.options.countSelectedText;g=j.replace("{0}",f.length.toString()).replace("{1}",i.toString())}}this.options.title=this.$element.attr("title"),"static"==this.options.selectedTextFormat&&(g=this.options.title),g||(g="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",d(g)),this.$newElement.find(".filter-option").html(g)},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(){if(this.options.size!==!1){var a=this.$menu.parent().clone().find("> .dropdown-toggle").prop("autofocus",!1).end().appendTo("body"),b=a.addClass("open").find("> .dropdown-menu"),c=b.find("li").not(".divider").not(".dropdown-header").filter(":visible").children("a").outerHeight(),d=this.options.header?b.find(".popover-title").outerHeight():0,e=this.options.liveSearch?b.find(".bs-searchbox").outerHeight():0,f=this.options.actionsBox?b.find(".bs-actionsbox").outerHeight():0;a.remove(),this.$newElement.data("liHeight",c).data("headerHeight",d).data("searchHeight",e).data("actionsHeight",f)}},setSize:function(){this.findLis();var b,c,d,e=this,f=this.$menu,g=f.find(".inner"),h=this.$newElement.outerHeight(),i=this.$newElement.data("liHeight"),j=this.$newElement.data("headerHeight"),k=this.$newElement.data("searchHeight"),l=this.$newElement.data("actionsHeight"),m=this.$lis.filter(".divider").outerHeight(!0),n=parseInt(f.css("padding-top"))+parseInt(f.css("padding-bottom"))+parseInt(f.css("border-top-width"))+parseInt(f.css("border-bottom-width")),o=this.options.hideDisabled?", .disabled":"",p=a(window),q=n+parseInt(f.css("margin-top"))+parseInt(f.css("margin-bottom"))+2,r=function(){c=e.$newElement.offset().top-p.scrollTop(),d=p.height()-c-h};if(r(),this.options.header&&f.css("padding-top",0),"auto"==this.options.size){var s=function(){var a,h=e.$lis.not(".hide");r(),b=d-q,e.options.dropupAuto&&e.$newElement.toggleClass("dropup",c>d&&b-q3?3*i+q-2:0,f.css({"max-height":b+"px",overflow:"hidden","min-height":a+j+k+l+"px"}),g.css({"max-height":b-j-k-l-n+"px","overflow-y":"auto","min-height":Math.max(a-n,0)+"px"})};s(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",s),a(window).off("resize.getSize").on("resize.getSize",s),a(window).off("scroll.getSize").on("scroll.getSize",s)}else if(this.options.size&&"auto"!=this.options.size&&f.find("li"+o).length>this.options.size){var t=this.$lis.not(".divider"+o).find(" > *").slice(0,this.options.size).last().parent().index(),u=this.$lis.slice(0,t+1).filter(".divider").length;b=i*this.options.size+u*m+n,e.options.dropupAuto&&this.$newElement.toggleClass("dropup",c>d&&b .dropdown-menu").css("width"),c=a.css("width","auto").find("> button").css("width");a.remove(),this.$newElement.css("width",Math.max(parseInt(b),parseInt(c))+"px")}else"fit"==this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){var b,c,d=this,e="
",f=a(e),g=function(a){f.addClass(a.attr("class").replace(/form-control/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,f.css({top:b.top+c,left:b.left,width:a[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){d.isDisabled()||(g(a(this)),f.appendTo(d.options.container),f.toggleClass("open",!a(this).hasClass("open")),f.append(d.$menu))}),a(window).resize(function(){g(d.$newElement)}),a(window).on("scroll",function(){g(d.$newElement)}),a("html").on("click",function(b){a(b.target).closest(d.$newElement).length<1&&f.removeClass("open")})},setSelected:function(a,b){this.findLis(),this.$lis.filter('[data-original-index="'+a+'"]').toggleClass("selected",b)},setDisabled:function(a,b){this.findLis(),b?this.$lis.filter('[data-original-index="'+a+'"]').addClass("disabled").find("a").attr("href","#").attr("tabindex",-1):this.$lis.filter('[data-original-index="'+a+'"]').removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var a=this;this.isDisabled()?this.$button.addClass("disabled").attr("tabindex",-1):(this.$button.hasClass("disabled")&&this.$button.removeClass("disabled"),-1==this.$button.attr("tabindex")&&(this.$element.data("tabindex")||this.$button.removeAttr("tabindex"))),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this;this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),this.$newElement.on("click",function(){b.setSize(),b.options.liveSearch||b.multiple||setTimeout(function(){b.$menu.find(".selected a").focus()},10)}),this.$menu.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
"+r+"
")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
"+s+"
")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menu.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.change()}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(a){a.target==this&&(a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus())}),this.$menu.on("click","li.divider, li.dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.focus()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).is(".bs-select-all")?b.selectAll():b.deselectAll(),b.$element.change()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var b=this,e=a('
  • ');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){b.$menu.find(".active").removeClass("active"),b.$searchbox.val()&&(b.$searchbox.val(""),b.$lis.not(".is-hidden").removeClass("hide"),e.parent().length&&e.remove()),b.multiple||b.$menu.find(".selected").addClass("active"),setTimeout(function(){b.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){b.$searchbox.val()?(b.options.searchAccentInsensitive?b.$lis.not(".is-hidden").removeClass("hide").find("a").not(":aicontains("+c(b.$searchbox.val())+")").parent().addClass("hide"):b.$lis.not(".is-hidden").removeClass("hide").find("a").not(":icontains("+b.$searchbox.val()+")").parent().addClass("hide"),b.$menu.find("li").filter(":visible:not(.no-results)").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(b.options.noneResultsText+' "'+d(b.$searchbox.val())+'"').show(),b.$menu.find("li").last().after(e))):(b.$lis.not(".is-hidden").removeClass("hide"),e.parent().length&&e.remove()),b.$menu.find("li.active").removeClass("active"),b.$menu.find("li").filter(":visible:not(.divider)").eq(0).addClass("active").find("a").focus(),a(this).focus()})},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},selectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").not(".selected").filter(":visible").find("a").click()},deselectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").filter(".selected").filter(":visible").find("a").click()},keydown:function(b){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li a",n),l=o.$menu.parent().hasClass("open"),!l&&/([0-9]|[A-z])/.test(String.fromCharCode(b.keyCode))&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(b.preventDefault(),o.$menu.parent().removeClass("open"),o.$button.focus()),d=a("[role=menu] li:not(.divider):not(.dropdown-header):visible",n),m.val()||/(38|40)/.test(b.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$newElement.find("li").filter(o.options.searchAccentInsensitive?":aicontains("+c(p[b.keyCode])+")":":icontains("+p[b.keyCode]+")"))),d.length){if(/(38|40)/.test(b.keyCode.toString(10)))e=d.index(d.filter(":focus")),g=d.parent(":not(.disabled):visible").first().index(),h=d.parent(":not(.disabled):visible").last().index(),f=d.eq(e).parent().nextAll(":not(.disabled):visible").eq(0).index(),i=d.eq(e).parent().prevAll(":not(.disabled):visible").eq(0).index(),j=d.eq(f).parent().prevAll(":not(.disabled):visible").eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).is(":not(.disabled)")&&a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.filter(":not(.disabled):visible").first().data("index"),h=d.filter(":not(.disabled):visible").last().data("index"),f=d.eq(e).nextAll(":not(.disabled):visible").eq(0).data("index"),i=d.eq(e).prevAll(":not(.disabled):visible").eq(0).data("index"),j=d.eq(f).prevAll(":not(.disabled):visible").eq(0).data("index")),k=m.data("prevIndex"),38==b.keyCode&&(o.options.liveSearch&&(e-=1),e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)),40==b.keyCode&&(o.options.liveSearch&&(e+=1),-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(b.preventDefault(),m.is(".dropdown-toggle")||(d.removeClass("active"),d.eq(e).addClass("active").find("a").focus(),m.focus())):d.eq(e).focus();else if(!m.is("input")){var q,r,s=[];d.each(function(){a(this).parent().is(":not(.disabled)")&&a.trim(a(this).text().toLowerCase()).substring(0,1)==p[b.keyCode]&&s.push(a(this).parent().index())}),q=a(document).data("keycount"),q++,a(document).data("keycount",q),r=a.trim(a(":focus").text().toLowerCase()).substring(0,1),r!=p[b.keyCode]?(q=1,a(document).data("keycount",q)):q>=s.length&&(a(document).data("keycount",0),q>s.length&&(q=1)),d.eq(s[q-1]).focus()}(/(13|32)/.test(b.keyCode.toString(10))||/(^9$)/.test(b.keyCode.toString(10))&&o.options.selectOnTab)&&l&&(/(32)/.test(b.keyCode.toString(10))||b.preventDefault(),o.options.liveSearch?/(32)/.test(b.keyCode.toString(10))||(o.$menu.find(".active a").click(),m.focus()):a(":focus").click(),a(document).data("keycount",0)),(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(b.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.reloadLi(),this.render(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},update:function(){this.reloadLi(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var g=a.fn.selectpicker;a.fn.selectpicker=e,a.fn.selectpicker.Constructor=f,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=g,this},a(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",f.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);e.call(b,b.data())})})}(jQuery); -//# sourceMappingURL=bootstrap-select-1.6.3.js.map \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.4.js.cache.map b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.4.js.cache.map new file mode 100755 index 00000000..9b542410 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.4.js.cache.map @@ -0,0 +1 @@ +{"version":3,"file":"bootstrap-select.min.js","sources":["bootstrap-select.js"],"names":["$","normalizeToBase","text","rExps","re","ch","each","replace","this","htmlEscape","html","escapeMap","&","<",">","\"","'","`","source","Object","keys","join","testRegexp","RegExp","replaceRegexp","string","test","match","Plugin","option","event","args","arguments","_option","_event","shift","apply","value","chain","$this","is","data","options","i","hasOwnProperty","config","extend","Selectpicker","DEFAULTS","fn","selectpicker","defaults","Function","String","prototype","includes","toString","defineProperty","object","$defineProperty","result","error","indexOf","search","TypeError","call","stringLength","length","searchString","searchLength","position","undefined","pos","Number","start","Math","min","max","configurable","writable","startsWith","index","charCodeAt","expr","icontains","obj","meta","$obj","haystack","toUpperCase","ibegins","aicontains","aibegins","element","e","stopPropagation","preventDefault","$element","$newElement","$button","$menu","$lis","title","attr","val","render","refresh","setStyle","selectAll","deselectAll","destroy","remove","show","hide","init","VERSION","noneSelectedText","noneResultsText","countSelectedText","numSelected","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","doneButton","doneButtonText","multipleSeparator","style","size","selectedTextFormat","width","container","hideDisabled","showSubtext","showIcon","showContent","dropupAuto","header","liveSearch","liveSearchPlaceholder","liveSearchNormalize","liveSearchStyle","actionsBox","iconBase","tickIcon","maxOptions","mobile","selectOnTab","dropdownAlignRight","constructor","that","id","multiple","prop","autofocus","createView","after","children","$searchbox","find","addClass","click","focus","checkDisabled","clickListener","liveSearchListener","liHeight","setWidth","selectPosition","createDropdown","inputGroup","parent","hasClass","searchbox","actionsbox","donebutton","drop","$drop","$li","createLi","append","reloadLi","destroyLi","_li","optID","generateLI","content","classes","optgroup","generateA","inline","tokens","optionClass","subtext","icon","isDisabled","label","labelSubtext","labelIcon","push","prev","eq","findLis","updateLi","setDisabled","setSelected","tabIndex","notDisabled","selectedItems","map","toArray","split","totalCount","not","tr8nText","trim","status","buttonClass","removeClass","$selectClone","clone","end","appendTo","$menuClone","filter","outerHeight","headerHeight","searchHeight","actionsHeight","doneButtonHeight","setSize","menuHeight","selectOffsetTop","selectOffsetBot","menu","menuInner","selectHeight","divHeight","menuPadding","parseInt","css","$window","window","menuExtras","posVert","offset","top","scrollTop","height","getSize","minHeight","lisVis","toggleClass","max-height","overflow","min-height","overflow-y","off","on","optIndex","slice","last","divLength","selectClone","ulWidth","btnWidth","actualHeight","getPlacement","offsetHeight","left","offsetWidth","resize","target","closest","selected","disabled","removeAttr","setTimeout","clickedIndex","prevValue","prevIndex","$options","$option","state","$optgroup","maxOptionsGrp","blur","maxReached","maxReachedGrp","optgroupID","has","maxOptionsArr","maxTxt","maxTxtGrp","$notify","trigger","delay","fadeOut","change","currentTarget","no_results","$searchBase","_searchStyle","$lisVisible","keydown","$items","next","first","nextPrev","isActive","$parent","keyCodeMap",32,48,49,50,51,52,53,54,55,56,57,59,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,96,97,98,99,100,101,102,103,104,105,"fromCharCode","keyCode","nextAll","prevAll","count","prevKey","keyIndex","toLowerCase","substring","document","elem","old","Constructor","noConflict","$selectpicker","jQuery"],"mappings":"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"} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.4.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.4.min.cache.js new file mode 100755 index 00000000..61533221 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/bootstrap-select-1.6.4.min.cache.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw TypeError();var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw TypeError();var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw TypeError();var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw TypeError();var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j'+this.options.header+"
    ":"",g=this.options.liveSearch?'":"",h=this.multiple&&this.options.actionsBox?'
    ":"",i=this.multiple&&this.options.doneButton?'
    ":"",j='
    ";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul").append(b),a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menu.find("ul").append(a)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=function(a,b,c,d){return""+a+""},h=function(a,e,f,g){return'"+a+''};return this.$element.find("option").each(function(b){var c=a(this),i=c.attr("class")||"",j=c.attr("style"),k=c.data("content")?c.data("content"):c.html(),l=c.data("tokens")?c.data("tokens"):null,m="undefined"!=typeof c.data("subtext")?''+c.data("subtext")+"":"",n="undefined"!=typeof c.data("icon")?' ':"",o=c.is(":disabled")||c.parent().is(":disabled");if(""!==n&&o&&(n=""+n+""),c.data("content")||(k=n+''+k+m+""),!d.options.hideDisabled||!o)if(c.parent().is("optgroup")&&c.data("divider")!==!0){if(0===c.index()){f+=1;var p=c.parent().attr("label"),q="undefined"!=typeof c.parent().data("subtext")?''+c.parent().data("subtext")+"":"",r=c.parent().data("icon")?' ':"";p=r+''+p+q+"",0!==b&&e.length>0&&e.push(g("",null,"divider",f+"div")),e.push(g(p,null,"dropdown-header",f))}e.push(g(h(k,"opt "+i,j,l),b,"",f))}else c.data("divider")===!0?e.push(g("",b,"divider")):c.data("hidden")===!0?e.push(g(h(k,i,j,l),b,"hidden is-hidden")):(c.prev().is("optgroup")&&e.push(g("",null,"divider",f+"div")),e.push(g(h(k,i,j,l),b)))}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),a(e.join(""))},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c=this;b!==!1&&this.$element.find("option").each(function(b){c.setDisabled(b,a(this).is(":disabled")||a(this).parent().is(":disabled")),c.setSelected(b,a(this).is(":selected"))}),this.tabIndex();var d=this.options.hideDisabled?":not([disabled])":"",e=this.$element.find("option:selected"+d).map(function(){var b,d=a(this),e=d.data("icon")&&c.options.showIcon?' ':"";return b=c.options.showSubtext&&d.attr("data-subtext")&&!c.multiple?' '+d.data("subtext")+"":"","undefined"!=typeof d.attr("title")?d.attr("title"):d.data("content")&&c.options.showContent?d.data("content"):e+d.html()+b}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){d=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+d).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$newElement.find(".filter-option").html(f)},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(){if(this.options.size!==!1){var a=this.$menu.parent().clone().children(".dropdown-toggle").prop("autofocus",!1).end().appendTo("body"),b=a.addClass("open").children(".dropdown-menu"),c=b.find("li").not(".divider").not(".dropdown-header").filter(":visible").children("a").outerHeight(),d=this.options.header?b.find(".popover-title").outerHeight():0,e=this.options.liveSearch?b.find(".bs-searchbox").outerHeight():0,f=this.options.actionsBox?b.find(".bs-actionsbox").outerHeight():0,g=this.multiple?b.find(".bs-donebutton").outerHeight():0;a.remove(),this.$newElement.data("liHeight",c).data("headerHeight",d).data("searchHeight",e).data("actionsHeight",f).data("doneButtonHeight",g)}},setSize:function(){this.findLis();var b,c,d,e=this,f=this.$menu,g=f.find(".inner"),h=this.$newElement.outerHeight(),i=this.$newElement.data("liHeight"),j=this.$newElement.data("headerHeight"),k=this.$newElement.data("searchHeight"),l=this.$newElement.data("actionsHeight"),m=this.$newElement.data("doneButtonHeight"),n=this.$lis.filter(".divider").outerHeight(!0),o=parseInt(f.css("padding-top"))+parseInt(f.css("padding-bottom"))+parseInt(f.css("border-top-width"))+parseInt(f.css("border-bottom-width")),p=this.options.hideDisabled?", .disabled":"",q=a(window),r=o+parseInt(f.css("margin-top"))+parseInt(f.css("margin-bottom"))+2,s=function(){c=e.$newElement.offset().top-q.scrollTop(),d=q.height()-c-h};if(s(),this.options.header&&f.css("padding-top",0),"auto"==this.options.size){var t=function(){var a,h=e.$lis.not(".hidden");s(),b=d-r,e.options.dropupAuto&&e.$newElement.toggleClass("dropup",c>d&&b-r3?3*i+r-2:0,f.css({"max-height":b+"px",overflow:"hidden","min-height":a+j+k+l+m+"px"}),g.css({"max-height":b-j-k-l-m-o+"px","overflow-y":"auto","min-height":Math.max(a-o,0)+"px"})};t(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",t),q.off("resize.getSize").on("resize.getSize",t),q.off("scroll.getSize").on("scroll.getSize",t)}else if(this.options.size&&"auto"!=this.options.size&&f.find("li"+p).length>this.options.size){var u=this.$lis.not(".divider"+p).children().slice(0,this.options.size).last().parent().index(),v=this.$lis.slice(0,u+1).filter(".divider").length;b=i*this.options.size+v*n+o,e.options.dropupAuto&&this.$newElement.toggleClass("dropup",c>d&&b",f=a(e),g=function(a){f.addClass(a.attr("class").replace(/form-control/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,f.css({top:b.top+c,left:b.left,width:a[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){d.isDisabled()||(g(a(this)),f.appendTo(d.options.container),f.toggleClass("open",!a(this).hasClass("open")),f.append(d.$menu))}),a(window).resize(function(){g(d.$newElement)}),a(window).on("scroll",function(){g(d.$newElement)}),a("html").on("click",function(b){a(b.target).closest(d.$newElement).length<1&&f.removeClass("open")})},setSelected:function(a,b){this.findLis(),this.$lis.filter('[data-original-index="'+a+'"]').toggleClass("selected",b)},setDisabled:function(a,b){this.findLis(),b?this.$lis.filter('[data-original-index="'+a+'"]').addClass("disabled").find("a").attr("href","#").attr("tabindex",-1):this.$lis.filter('[data-original-index="'+a+'"]').removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var a=this;this.isDisabled()?this.$button.addClass("disabled").attr("tabindex",-1):(this.$button.hasClass("disabled")&&this.$button.removeClass("disabled"),-1==this.$button.attr("tabindex")&&(this.$element.data("tabindex")||this.$button.removeAttr("tabindex"))),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this;this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),this.$newElement.on("click",function(){b.setSize(),b.options.liveSearch||b.multiple||setTimeout(function(){b.$menu.find(".selected a").focus()},10)}),this.$menu.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
    ');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
    "+r+"
    ")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
    "+s+"
    ")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menu.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.change()}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(a){a.currentTarget==this&&(a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus())}),this.$menu.on("click","li.divider, li.dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.focus()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).is(".bs-select-all")?b.selectAll():b.deselectAll(),b.$element.change()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('
  • ');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menu.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menu.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").find("a");f=f.not(d.options.liveSearchNormalize?":a"+d._searchStyle()+"("+b(d.$searchbox.val())+")":":"+d._searchStyle()+"("+d.$searchbox.val()+")"),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.is(".divider")&&(c.index()===g.eq(0).index()||c.index()===g.last().index()||g.eq(b+1).is(".divider"))&&c.addClass("hidden")}),d.$lis.filter(":not(.hidden):not(.no-results)").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menu.find("li").last().after(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$lis.filter(":not(.hidden):not(.divider):not(.dropdown-header)").eq(0).addClass("active").find("a").focus(),a(this).focus()})},_searchStyle:function(){var a="icontains";switch(this.options.liveSearchStyle){case"begins":case"startsWith":a="ibegins";break;case"contains":}return a},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},selectAll:function(){this.findLis(),this.$element.find("option:enabled").not("[data-divider]").not("[data-hidden]").prop("selected",!0),this.$lis.not(".divider").not(".dropdown-header").not(".disabled").not(".hidden").addClass("selected"),this.render(!1)},deselectAll:function(){this.findLis(),this.$element.find("option:enabled").not("[data-divider]").not("[data-hidden]").prop("selected",!1),this.$lis.not(".divider").not(".dropdown-header").not(".disabled").not(".hidden").removeClass("selected"),this.render(!1)},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li a",n),l=o.$menu.parent().hasClass("open"),!l&&/([0-9]|[A-z])/.test(String.fromCharCode(c.keyCode))&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.$button.focus()),d=a("[role=menu] li:not(.divider):not(.dropdown-header):visible a",n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$newElement.find("li a"),d=d.filter(o.options.liveSearchNormalize?":a"+o._searchStyle()+"("+b(p[c.keyCode])+")":":"+o._searchStyle()+"("+p[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.filter(":focus")),g=d.parent(":not(.disabled):visible").first().index(),h=d.parent(":not(.disabled):visible").last().index(),f=d.eq(e).parent().nextAll(":not(.disabled):visible").eq(0).index(),i=d.eq(e).parent().prevAll(":not(.disabled):visible").eq(0).index(),j=d.eq(f).parent().prevAll(":not(.disabled):visible").eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).is(":not(.disabled)")&&a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.filter(":not(.disabled):visible").first().data("index"),h=d.filter(":not(.disabled):visible").last().data("index"),f=d.eq(e).nextAll(":not(.disabled):visible").eq(0).data("index"),i=d.eq(e).prevAll(":not(.disabled):visible").eq(0).data("index"),j=d.eq(f).prevAll(":not(.disabled):visible").eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode&&(o.options.liveSearch&&(e-=1),e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)),40==c.keyCode&&(o.options.liveSearch&&(e+=1),-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.is(".dropdown-toggle")||(d.removeClass("active"),d.eq(e).addClass("active").find("a").focus(),m.focus())):d.eq(e).focus();else if(!m.is("input")){var q,r,s=[];d.each(function(){a(this).parent().is(":not(.disabled)")&&a.trim(a(this).text().toLowerCase()).substring(0,1)==p[c.keyCode]&&s.push(a(this).parent().index())}),q=a(document).data("keycount"),q++,a(document).data("keycount",q),r=a.trim(a(":focus").text().toLowerCase()).substring(0,1),r!=p[c.keyCode]?(q=1,a(document).data("keycount",q)):q>=s.length&&(a(document).data("keycount",0),q>s.length&&(q=1)),d.eq(s[q-1]).focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menu.find(".active a").click(),m.focus());else{var t=a(":focus");t.click(),t.focus(),c.preventDefault()}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.reloadLi(),this.render(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",e.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data())})})}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-cs_CZ.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-cs_CZ.min.js deleted file mode 100644 index a69b9658..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-cs_CZ.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-de_DE.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-de_DE.min.js deleted file mode 100644 index 9466a822..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-de_DE.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-en_US.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-en_US.min.js deleted file mode 100644 index 29714619..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-en_US.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-es_CL.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-es_CL.min.js deleted file mode 100644 index ab8dfbdc..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-es_CL.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-eu.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-eu.min.js deleted file mode 100644 index 0e85a2b5..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-eu.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-fr_FR.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-fr_FR.min.js deleted file mode 100644 index 2a7c4106..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-fr_FR.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat",countSelectedText:function(a){return a>1?"{0} éléments sélectionés":"{0} élément sélectioné"},maxOptionsText:function(a,b){var c=[];return c[0]=a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",c[1]=b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)",c},multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-it_IT.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-it_IT.min.js deleted file mode 100644 index 7900a0af..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-it_IT.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-nl_NL.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-nl_NL.min.js deleted file mode 100644 index 921d79a2..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-nl_NL.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-pl_PL.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-pl_PL.min.js deleted file mode 100644 index 10870904..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-pl_PL.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-pt_BR.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-pt_BR.min.js deleted file mode 100644 index 1eb5812c..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-pt_BR.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ro_RO.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ro_RO.min.js deleted file mode 100644 index fdcdbf69..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ro_RO.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ru_RU.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ru_RU.min.js deleted file mode 100644 index 3976edb1..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ru_RU.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ua_UA.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ua_UA.min.js deleted file mode 100644 index f367f21b..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-ua_UA.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) - * - * Copyright 2013-2014 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */ -!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-cs_CZ.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-cs_CZ.min.js new file mode 100755 index 00000000..8d5d5aeb --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-cs_CZ.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-de_DE.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-de_DE.min.js new file mode 100755 index 00000000..14fe6633 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-de_DE.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-en_US.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-en_US.min.js new file mode 100755 index 00000000..63230c8c --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-en_US.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-es_CL.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-es_CL.min.js new file mode 100755 index 00000000..6bfd20aa --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-es_CL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-eu.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-eu.min.js new file mode 100755 index 00000000..7e1b7ec0 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-eu.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-fr_FR.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-fr_FR.min.js new file mode 100755 index 00000000..c7b12336 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-fr_FR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a){return a>1?"{0} éléments sélectionnés":"{0} élément sélectionné"},maxOptionsText:function(a,b){return[a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)"]},multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-hu_HU.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-hu_HU.min.js new file mode 100755 index 00000000..8879e857 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-hu_HU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(){return"{n} elem kiválasztva"},maxOptionsText:function(){return["Legfeljebb {n} elem választható","A csoportban legfeljebb {n} elem választható"]},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-it_IT.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-it_IT.min.js new file mode 100755 index 00000000..fcb26458 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-it_IT.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-nl_NL.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-nl_NL.min.js new file mode 100755 index 00000000..54f517b5 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-nl_NL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-pl_PL.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-pl_PL.min.js new file mode 100755 index 00000000..49a55d73 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-pl_PL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-pt_BR.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-pt_BR.min.js new file mode 100755 index 00000000..528244e2 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-pt_BR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ro_RO.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ro_RO.min.js new file mode 100755 index 00000000..f8591049 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ro_RO.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ru_RU.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ru_RU.min.js new file mode 100755 index 00000000..aa103b27 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ru_RU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-sl_SI.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-sl_SI.min.js new file mode 100755 index 00000000..ae7fdf86 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-sl_SI.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nič izbranega",noneResultsText:"Ni zadetkov za {0}",countSelectedText:function(){"Število izbranih: {0}"},maxOptionsText:function(){return["Omejitev dosežena (max. izbranih: {n})","Omejitev skupine dosežena (max. izbranih: {n})"]},selectAllText:"Izberi vse",deselectAllText:"Počisti izbor",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-sv_SE.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-sv_SE.min.js new file mode 100755 index 00000000..d223c787 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-sv_SE.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Inget valt",noneResultsText:"Inget sökresultat matchar {0}",countSelectedText:function(a){return 1===a?"{0} alternativ valt":"{0} alternativ valda"},maxOptionsText:function(){return["Gräns uppnåd (max {n} alternativ)","Gräns uppnåd (max {n} gruppalternativ)"]},selectAllText:"Markera alla",deselectAllText:"Avmarkera alla",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-tr_TR.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-tr_TR.min.js new file mode 100755 index 00000000..cf13f6a9 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-tr_TR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a){return"{0} öğe seçildi"},maxOptionsText:function(a,b){return[1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)","Grup limiti aşıldı (maksimum {n} sayıda öğe)"]},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ua_UA.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ua_UA.min.js new file mode 100755 index 00000000..98f35d44 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-ua_UA.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2015 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-zh_CN.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-zh_CN.min.js old mode 100644 new mode 100755 similarity index 77% rename from src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-zh_CN.min.js rename to src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-zh_CN.min.js index 86d18771..cbde3d99 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-zh_CN.min.js +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-zh_CN.min.js @@ -1,7 +1,7 @@ /*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) * - * Copyright 2013-2014 bootstrap-select + * Copyright 2013-2015 bootstrap-select * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) */ !function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-zh_TW.min.js b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-zh_TW.min.js old mode 100644 new mode 100755 similarity index 79% rename from src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-zh_TW.min.js rename to src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-zh_TW.min.js index 78d90dc8..4f02b5e0 --- a/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.3/defaults-zh_TW.min.js +++ b/src/main/resources/org/gwtbootstrap3/extras/select/client/resource/js/locales.cache.1.6.4/defaults-zh_TW.min.js @@ -1,7 +1,7 @@ /*! - * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/) + * Bootstrap-select v1.6.4 (http://silviomoreto.github.io/bootstrap-select) * - * Copyright 2013-2014 bootstrap-select + * Copyright 2013-2015 bootstrap-select * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) */ !function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/Slider.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/slider/Slider.gwt.xml index 6e31a7c6..bb2cb1c0 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/slider/Slider.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/slider/Slider.gwt.xml @@ -3,7 +3,7 @@ #%L GwtBootstrap3 %% - Copyright (C) 2013 GwtBootstrap3 + Copyright (C) 2013 - 2015 GwtBootstrap3 %% Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/SliderNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/slider/SliderNoResources.gwt.xml new file mode 100644 index 00000000..e0091e5b --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/slider/SliderNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/client/SliderResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/slider/client/SliderResources.gwt.xml index ce9aa75b..727c09e5 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/slider/client/SliderResources.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/slider/client/SliderResources.gwt.xml @@ -3,7 +3,7 @@ #%L GwtBootstrap3 %% - Copyright (C) 2013 GwtBootstrap3 + Copyright (C) 2013 - 2015 GwtBootstrap3 %% Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,8 +20,8 @@ --> - + - + diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/css/bootstrap-slider-1.4.3.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/css/bootstrap-slider-1.4.3.min.cache.css deleted file mode 100644 index eea56290..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/css/bootstrap-slider-1.4.3.min.cache.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Slider for Bootstrap - * - * Copyright 2012 Stefan Petre - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */.slider{display:inline-block;vertical-align:middle;position:relative}.slider.slider-horizontal{width:210px;height:20px}.slider.slider-horizontal .slider-track{height:10px;width:100%;margin-top:-5px;top:50%;left:0}.slider.slider-horizontal .slider-selection{height:100%;top:0;bottom:0}.slider.slider-horizontal .slider-handle{margin-left:-10px;margin-top:-5px}.slider.slider-horizontal .slider-handle.triangle{border-width:0 10px 10px 10px;width:0;height:0;border-bottom-color:#0480be;margin-top:0}.slider.slider-vertical{height:210px;width:20px}.slider.slider-vertical .slider-track{width:10px;height:100%;margin-left:-5px;left:50%;top:0}.slider.slider-vertical .slider-selection{width:100%;left:0;top:0;bottom:0}.slider.slider-vertical .slider-handle{margin-left:-5px;margin-top:-10px}.slider.slider-vertical .slider-handle.triangle{border-width:10px 0 10px 10px;width:1px;height:1px;border-left-color:#0480be;margin-left:0}.slider.slider-disabled .slider-handle{background-image:-webkit-linear-gradient(top,#dfdfdf 0,#bebebe 100%);background-image:linear-gradient(to bottom,#dfdfdf 0,#bebebe 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdfdfdf',endColorstr='#ffbebebe',GradientType=0)}.slider.slider-disabled .slider-track{background-image:-webkit-linear-gradient(top,#e5e5e5 0,#e9e9e9 100%);background-image:linear-gradient(to bottom,#e5e5e5 0,#e9e9e9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe5e5e5',endColorstr='#ffe9e9e9',GradientType=0);cursor:not-allowed}.slider input{display:none}.slider .tooltip-inner{white-space:nowrap}.slider-track{position:absolute;cursor:pointer;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#f9f9f9 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#f9f9f9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);border-radius:4px}.slider-selection{position:absolute;background-image:-webkit-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#f9f9f9 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:4px}.slider-handle{position:absolute;width:20px;height:20px;background-image:-webkit-linear-gradient(top,#149bdf 0,#0480be 100%);background-image:linear-gradient(to bottom,#149bdf 0,#0480be 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);opacity:.8;border:0 solid transparent}.slider-handle.round{border-radius:50%}.slider-handle.triangle{background:transparent none} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/css/bootstrap-slider-4.5.6.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/css/bootstrap-slider-4.5.6.min.cache.css new file mode 100644 index 00000000..f9e71805 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/css/bootstrap-slider-4.5.6.min.cache.css @@ -0,0 +1,28 @@ +/*! ======================================================= + VERSION 4.5.6 +========================================================= */ +/*! ========================================================= + * bootstrap-slider.js + * + * Maintainers: + * Kyle Kemp + * - Twitter: @seiyria + * - Github: seiyria + * Rohit Kalkur + * - Twitter: @Rovolutionary + * - Github: rovolution + * + * ========================================================= + * + * 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. + * ========================================================= */.slider{display:inline-block;vertical-align:middle;position:relative}.slider.slider-horizontal{width:210px;height:20px}.slider.slider-horizontal .slider-track{height:10px;width:100%;margin-top:-5px;top:50%;left:0}.slider.slider-horizontal .slider-selection,.slider.slider-horizontal .slider-track-low,.slider.slider-horizontal .slider-track-high{height:100%;top:0;bottom:0}.slider.slider-horizontal .slider-tick,.slider.slider-horizontal .slider-handle{margin-left:-10px;margin-top:-5px}.slider.slider-horizontal .slider-tick.triangle,.slider.slider-horizontal .slider-handle.triangle{border-width:0 10px 10px 10px;width:0;height:0;border-bottom-color:#0480be;margin-top:0}.slider.slider-horizontal .slider-tick-label-container{white-space:nowrap}.slider.slider-horizontal .slider-tick-label-container .slider-tick-label{margin-top:24px;display:inline-block;text-align:center}.slider.slider-vertical{height:210px;width:20px}.slider.slider-vertical .slider-track{width:10px;height:100%;margin-left:-5px;left:50%;top:0}.slider.slider-vertical .slider-selection{width:100%;left:0;top:0;bottom:0}.slider.slider-vertical .slider-track-low,.slider.slider-vertical .slider-track-high{width:100%;left:0;right:0}.slider.slider-vertical .slider-tick,.slider.slider-vertical .slider-handle{margin-left:-5px;margin-top:-10px}.slider.slider-vertical .slider-tick.triangle,.slider.slider-vertical .slider-handle.triangle{border-width:10px 0 10px 10px;width:1px;height:1px;border-left-color:#0480be;margin-left:0}.slider.slider-disabled .slider-handle{background-image:-webkit-linear-gradient(top,#dfdfdf 0,#bebebe 100%);background-image:-o-linear-gradient(top,#dfdfdf 0,#bebebe 100%);background-image:linear-gradient(to bottom,#dfdfdf 0,#bebebe 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdfdfdf',endColorstr='#ffbebebe',GradientType=0)}.slider.slider-disabled .slider-track{background-image:-webkit-linear-gradient(top,#e5e5e5 0,#e9e9e9 100%);background-image:-o-linear-gradient(top,#e5e5e5 0,#e9e9e9 100%);background-image:linear-gradient(to bottom,#e5e5e5 0,#e9e9e9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe5e5e5',endColorstr='#ffe9e9e9',GradientType=0);cursor:not-allowed}.slider input{display:none}.slider .tooltip.top{margin-top:-36px}.slider .tooltip-inner{white-space:nowrap}.slider .hide{display:none}.slider-track{position:absolute;cursor:pointer;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#f9f9f9 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#f9f9f9 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#f9f9f9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);border-radius:4px}.slider-selection{position:absolute;background-image:-webkit-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#f9f9f9 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:4px}.slider-selection.tick-slider-selection{background-image:-webkit-linear-gradient(top,#89cdef 0,#81bfde 100%);background-image:-o-linear-gradient(top,#89cdef 0,#81bfde 100%);background-image:linear-gradient(to bottom,#89cdef 0,#81bfde 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef',endColorstr='#ff81bfde',GradientType=0)}.slider-track-low,.slider-track-high{position:absolute;background:transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:4px}.slider-handle{position:absolute;width:20px;height:20px;background-color:#337ab7;background-image:-webkit-linear-gradient(top,#149bdf 0,#0480be 100%);background-image:-o-linear-gradient(top,#149bdf 0,#0480be 100%);background-image:linear-gradient(to bottom,#149bdf 0,#0480be 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);filter:none;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);border:0 solid transparent}.slider-handle.round{border-radius:50%}.slider-handle.triangle{background:transparent none}.slider-handle.custom{background:transparent none}.slider-handle.custom::before{line-height:20px;font-size:20px;content:'\2605';color:#726204}.slider-tick{position:absolute;width:20px;height:20px;background-image:-webkit-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#f9f9f9 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#f9f9f9 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;filter:none;opacity:.8;border:0 solid transparent}.slider-tick.round{border-radius:50%}.slider-tick.triangle{background:transparent none}.slider-tick.custom{background:transparent none}.slider-tick.custom::before{line-height:20px;font-size:20px;content:'\2605';color:#726204}.slider-tick.in-selection{background-image:-webkit-linear-gradient(top,#89cdef 0,#81bfde 100%);background-image:-o-linear-gradient(top,#89cdef 0,#81bfde 100%);background-image:linear-gradient(to bottom,#89cdef 0,#81bfde 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef',endColorstr='#ff81bfde',GradientType=0);opacity:1} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/js/bootstrap-slider-1.4.3.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/js/bootstrap-slider-1.4.3.min.cache.js deleted file mode 100644 index 24418189..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/js/bootstrap-slider-1.4.3.min.cache.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){function b(a,b){if(g[a]){var d=c(this);return g[a].apply(d,b)}throw new Error("method '"+a+"()' does not exist for slider.")}function c(b){var c=a(b).data("slider");if(c&&c instanceof f)return c;throw new Error(e.callingContextNotSliderInstance)}function d(b){var c=a(this),d=c.data("slider"),e="object"==typeof b&&b;return d||c.data("slider",d=new f(this,a.extend({},a.fn.slider.defaults,e))),c}var e={formatInvalidInputErrorMsg:function(a){return"Invalid input value '"+a+"' passed in"},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},f=function(b,c){var d=this.element=a(b).hide(),e=a(b)[0].style.width,f=!1,g=this.element.parent();g.hasClass("slider")===!0?(f=!0,this.picker=g):this.picker=a('
    ').insertBefore(this.element).append(this.element),this.id=this.element.data("slider-id")||c.id,this.id&&(this.picker[0].id=this.id),"undefined"!=typeof Modernizr&&Modernizr.touch&&(this.touchCapable=!0);var h=this.element.data("slider-tooltip")||c.tooltip;switch(this.tooltip=this.picker.find(".tooltip"),this.tooltipInner=this.tooltip.find("div.tooltip-inner"),this.orientation=this.element.data("slider-orientation")||c.orientation,this.orientation){case"vertical":this.picker.addClass("slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight",this.tooltip.addClass("right")[0].style.left="100%";break;default:this.picker.addClass("slider-horizontal").css("width",e),this.orientation="horizontal",this.stylePos="left",this.mousePos="pageX",this.sizePos="offsetWidth",this.tooltip.addClass("top")[0].style.top=-this.tooltip.outerHeight()-14+"px"}["min","max","step","value"].forEach(function(a){this[a]="undefined"!=typeof d.data("slider-"+a)?d.data("slider-"+a):"undefined"!=typeof c[a]?c[a]:"undefined"!=typeof d.prop(a)?d.prop(a):0},this),this.value instanceof Array&&(this.range=!0),this.selection=this.element.data("slider-selection")||c.selection,this.selectionEl=this.picker.find(".slider-selection"),"none"===this.selection&&this.selectionEl.addClass("hide"),this.selectionElStyle=this.selectionEl[0].style,this.handle1=this.picker.find(".slider-handle:first"),this.handle1Stype=this.handle1[0].style,this.handle1.attr("tabindex",0),this.handle2=this.picker.find(".slider-handle:last"),this.handle2Stype=this.handle2[0].style,this.handle2.attr("tabindex",0);var i=this.element.data("slider-handle")||c.handle;switch(i){case"round":this.handle1.addClass("round"),this.handle2.addClass("round");break;case"triangle":this.handle1.addClass("triangle"),this.handle2.addClass("triangle")}if(this.range?(this.value[0]=Math.max(this.min,Math.min(this.max,this.value[0])),this.value[1]=Math.max(this.min,Math.min(this.max,this.value[1]))):(this.value=[Math.max(this.min,Math.min(this.max,this.value))],this.handle2.addClass("hide"),this.value[1]="after"===this.selection?this.max:this.min),this.diff=this.max-this.min,this.percentage=[100*(this.value[0]-this.min)/this.diff,100*(this.value[1]-this.min)/this.diff,100*this.step/this.diff],this.offset=this.picker.offset(),this.size=this.picker[0][this.sizePos],this.formater=c.formater,this.reversed=this.element.data("slider-reversed")||c.reversed,this.layout(),this.picker.on(this.touchCapable?{touchstart:a.proxy(this.mousedown,this)}:{mousedown:a.proxy(this.mousedown,this)}),"hide"===h?this.tooltip.addClass("hide"):"always"===h?(this.showTooltip(),this.alwaysShowTooltip=!0):this.picker.on({mouseenter:a.proxy(this.showTooltip,this),mouseleave:a.proxy(this.hideTooltip,this)}),f===!0){var j=this.getValue(),k=this.calculateValue();this.element.trigger({type:"slide",value:k}).data("value",k).prop("value",k),j!==k&&this.element.trigger({type:"slideChange","new":k,old:j}).data("value",k).prop("value",k)}this.enabled=c.enabled&&(void 0===this.element.data("slider-enabled")||this.element.data("slider-enabled")===!0),this.enabled||this.disable()};f.prototype={constructor:f,over:!1,inDrag:!1,showTooltip:function(){this.tooltip.addClass("in"),this.over=!0},hideTooltip:function(){this.inDrag===!1&&this.alwaysShowTooltip!==!0&&this.tooltip.removeClass("in"),this.over=!1},layout:function(){var a;a=this.reversed?[100-this.percentage[0],this.percentage[1]]:[this.percentage[0],this.percentage[1]],this.handle1Stype[this.stylePos]=a[0]+"%",this.handle2Stype[this.stylePos]=a[1]+"%","vertical"===this.orientation?(this.selectionElStyle.top=Math.min(a[0],a[1])+"%",this.selectionElStyle.height=Math.abs(a[0]-a[1])+"%"):(this.selectionElStyle.left=Math.min(a[0],a[1])+"%",this.selectionElStyle.width=Math.abs(a[0]-a[1])+"%"),this.range?(this.tooltipInner.text(this.formater(this.value[0])+" : "+this.formater(this.value[1])),this.tooltip[0].style[this.stylePos]=this.size*(a[0]+(a[1]-a[0])/2)/100-("vertical"===this.orientation?this.tooltip.outerHeight()/2:this.tooltip.outerWidth()/2)+"px"):(this.tooltipInner.text(this.formater(this.value[0])),this.tooltip[0].style[this.stylePos]=this.size*a[0]/100-("vertical"===this.orientation?this.tooltip.outerHeight()/2:this.tooltip.outerWidth()/2)+"px")},mousedown:function(b){if(!this.isEnabled())return!1;this.touchCapable&&"touchstart"===b.type&&(b=b.originalEvent),this.offset=this.picker.offset(),this.size=this.picker[0][this.sizePos];var c=this.getPercentage(b);if(this.range){var d=Math.abs(this.percentage[0]-c),e=Math.abs(this.percentage[1]-c);this.dragged=e>d?0:1}else this.dragged=0;this.percentage[this.dragged]=this.reversed?100-c:c,this.layout(),a(document).on(this.touchCapable?{touchmove:a.proxy(this.mousemove,this),touchend:a.proxy(this.mouseup,this)}:{mousemove:a.proxy(this.mousemove,this),mouseup:a.proxy(this.mouseup,this)}),this.inDrag=!0;var f=this.calculateValue();return this.setValue(f),this.element.trigger({type:"slideStart",value:f}).trigger({type:"slide",value:f}),!1},mousemove:function(a){if(!this.isEnabled())return!1;this.touchCapable&&"touchmove"===a.type&&(a=a.originalEvent);var b=this.getPercentage(a);this.range&&(0===this.dragged&&this.percentage[1]b&&(this.percentage[1]=this.percentage[0],this.dragged=0)),this.percentage[this.dragged]=this.reversed?100-b:b,this.layout();var c=this.calculateValue();return this.setValue(c),this.element.trigger({type:"slide",value:c}).data("value",c).prop("value",c),!1},mouseup:function(){if(!this.isEnabled())return!1;a(document).off(this.touchCapable?{touchmove:this.mousemove,touchend:this.mouseup}:{mousemove:this.mousemove,mouseup:this.mouseup}),this.inDrag=!1,this.over===!1&&this.hideTooltip();var b=this.calculateValue();return this.layout(),this.element.data("value",b).prop("value",b).trigger({type:"slideStop",value:b}),!1},calculateValue:function(){var a;return this.range?(a=[this.min,this.max],0!==this.percentage[0]&&(a[0]=Math.max(this.min,this.min+Math.round(this.diff*this.percentage[0]/100/this.step)*this.step)),100!==this.percentage[1]&&(a[1]=Math.min(this.max,this.min+Math.round(this.diff*this.percentage[1]/100/this.step)*this.step)),this.value=a):(a=this.min+Math.round(this.diff*this.percentage[0]/100/this.step)*this.step,athis.max&&(a=this.max),a=parseFloat(a),this.value=[a,this.value[1]]),a},getPercentage:function(a){this.touchCapable&&(a=a.touches[0]);var b=100*(a[this.mousePos]-this.offset[this.stylePos])/this.size;return b=Math.round(b/this.percentage[2])*this.percentage[2],Math.max(0,Math.min(100,b))},getValue:function(){return this.range?this.value:this.value[0]},setValue:function(a){this.value=this.validateInputValue(a),this.range?(this.value[0]=Math.max(this.min,Math.min(this.max,this.value[0])),this.value[1]=Math.max(this.min,Math.min(this.max,this.value[1]))):(this.value=[Math.max(this.min,Math.min(this.max,this.value))],this.handle2.addClass("hide"),this.value[1]="after"===this.selection?this.max:this.min),this.diff=this.max-this.min,this.percentage=[100*(this.value[0]-this.min)/this.diff,100*(this.value[1]-this.min)/this.diff,100*this.step/this.diff],this.layout()},validateInputValue:function(a){if("number"==typeof a)return a;if(a instanceof Array)return a.forEach(function(a){if("number"!=typeof a)throw new Error(e.formatInvalidInputErrorMsg(a))}),a;throw new Error(e.formatInvalidInputErrorMsg(a))},destroy:function(){this.element.show().insertBefore(this.picker),this.picker.remove(),a(this.element).removeData("slider"),a(this.element).off()},disable:function(){this.enabled=!1,this.picker.addClass("slider-disabled"),this.element.trigger("slideDisabled")},enable:function(){this.enabled=!0,this.picker.removeClass("slider-disabled"),this.element.trigger("slideEnabled")},toggle:function(){this.enabled?this.disable():this.enable()},isEnabled:function(){return this.enabled}};var g={getValue:f.prototype.getValue,setValue:f.prototype.setValue,destroy:f.prototype.destroy,disable:f.prototype.disable,enable:f.prototype.enable,toggle:f.prototype.toggle,isEnabled:f.prototype.isEnabled};a.fn.slider=function(a){if("string"==typeof a){var c=Array.prototype.slice.call(arguments,1);return b.call(this,a,c)}return d.call(this,a)},a.fn.slider.defaults={min:0,max:10,step:1,orientation:"horizontal",value:5,selection:"before",tooltip:"show",handle:"round",reversed:!1,enabled:!0,formater:function(a){return a}},a.fn.slider.Constructor=f}(window.jQuery); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/js/bootstrap-slider-4.5.6.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/js/bootstrap-slider-4.5.6.min.cache.js new file mode 100644 index 00000000..adfaf0a2 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/slider/client/resource/js/bootstrap-slider-4.5.6.min.cache.js @@ -0,0 +1,29 @@ +/*! ======================================================= + VERSION 4.5.6 +========================================================= */ +/*! ========================================================= + * bootstrap-slider.js + * + * Maintainers: + * Kyle Kemp + * - Twitter: @seiyria + * - Github: seiyria + * Rohit Kalkur + * - Twitter: @Rovolutionary + * - Github: rovolution + * + * ========================================================= + * + * 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. + * ========================================================= */ +!function(a,b){if("function"==typeof define&&define.amd)define(["jquery"],b);else if("object"==typeof module&&module.exports){var c;try{c=require("jquery")}catch(d){c=null}module.exports=b(c)}else a.Slider=b(a.jQuery)}(this,function(a){var b;return function(a){"use strict";function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l&&l!==k)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}var m=this.map(function(){var d=a.data(this,b);return d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d)),a(this)});return!m||m.length>1?m:m[0]}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;c(a)}(a),function(a){function c(b,c){function d(a,b){var c="data-slider-"+b.replace(/_/g,"-"),d=a.getAttribute(c);try{return JSON.parse(d)}catch(e){return d}}"string"==typeof b?this.element=document.querySelector(b):b instanceof HTMLElement&&(this.element=b),c=c?c:{};for(var f=Object.keys(this.defaultOptions),g=0;g0){for(g=0;g0)for(this.tickLabelContainer=document.createElement("div"),this.tickLabelContainer.className="slider-tick-label-container",g=0;g0&&(this.options.max=Math.max.apply(Math,this.options.ticks),this.options.min=Math.min.apply(Math,this.options.ticks)),Array.isArray(this.options.value)?this.options.range=!0:this.options.range&&(this.options.value=[this.options.value,this.options.max]),this.trackLow=k||this.trackLow,this.trackSelection=j||this.trackSelection,this.trackHigh=l||this.trackHigh,"none"===this.options.selection&&(this._addClass(this.trackLow,"hide"),this._addClass(this.trackSelection,"hide"),this._addClass(this.trackHigh,"hide")),this.handle1=m||this.handle1,this.handle2=n||this.handle2,p===!0)for(this._removeClass(this.handle1,"round triangle"),this._removeClass(this.handle2,"round triangle hide"),g=0;gthis.options.max?this.options.max:c},toPercentage:function(a){return this.options.max===this.options.min?0:100*(a-this.options.min)/(this.options.max-this.options.min)}},logarithmic:{toValue:function(a){var b=0===this.options.min?0:Math.log(this.options.min),c=Math.log(this.options.max);return Math.exp(b+(c-b)*a/100)},toPercentage:function(a){if(this.options.max===this.options.min)return 0;var b=Math.log(this.options.max),c=0===this.options.min?0:Math.log(this.options.min),d=0===a?0:Math.log(a);return 100*(d-c)/(b-c)}}};if(b=function(a,b){return c.call(this,a,b),this},b.prototype={_init:function(){},constructor:b,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:"horizontal",value:5,range:!1,selection:"before",tooltip:"show",tooltip_split:!1,handle:"round",reversed:!1,enabled:!0,formatter:function(a){return Array.isArray(a)?a[0]+" : "+a[1]:a},natural_arrow_keys:!1,ticks:[],ticks_labels:[],ticks_snap_bounds:0,scale:"linear"},over:!1,inDrag:!1,getValue:function(){return this.options.range?this.options.value:this.options.value[0]},setValue:function(a,b){a||(a=0);var c=this.getValue();this.options.value=this._validateInputValue(a);var d=this._applyPrecision.bind(this);this.options.range?(this.options.value[0]=d(this.options.value[0]),this.options.value[1]=d(this.options.value[1]),this.options.value[0]=Math.max(this.options.min,Math.min(this.options.max,this.options.value[0])),this.options.value[1]=Math.max(this.options.min,Math.min(this.options.max,this.options.value[1]))):(this.options.value=d(this.options.value),this.options.value=[Math.max(this.options.min,Math.min(this.options.max,this.options.value))],this._addClass(this.handle2,"hide"),this.options.value[1]="after"===this.options.selection?this.options.max:this.options.min),this.percentage=this.options.max>this.options.min?[this._toPercentage(this.options.value[0]),this._toPercentage(this.options.value[1]),100*this.options.step/(this.options.max-this.options.min)]:[0,0,100],this._layout();var e=this.options.range?this.options.value:this.options.value[0];return b===!0&&this._trigger("slide",e),c!==e&&this._trigger("change",{oldValue:c,newValue:e}),this._setDataVal(e),this},destroy:function(){this._removeSliderEventHandlers(),this.sliderElem.parentNode.removeChild(this.sliderElem),this.element.style.display="",this._cleanUpEventCallbacksMap(),this.element.removeAttribute("data"),a&&(this._unbindJQueryEventHandlers(),this.$element.removeData("slider"))},disable:function(){return this.options.enabled=!1,this.handle1.removeAttribute("tabindex"),this.handle2.removeAttribute("tabindex"),this._addClass(this.sliderElem,"slider-disabled"),this._trigger("slideDisabled"),this},enable:function(){return this.options.enabled=!0,this.handle1.setAttribute("tabindex",0),this.handle2.setAttribute("tabindex",0),this._removeClass(this.sliderElem,"slider-disabled"),this._trigger("slideEnabled"),this},toggle:function(){return this.options.enabled?this.disable():this.enable(),this},isEnabled:function(){return this.options.enabled},on:function(a,b){return this._bindNonQueryEventHandler(a,b),this},getAttribute:function(a){return a?this.options[a]:this.options},setAttribute:function(a,b){return this.options[a]=b,this},refresh:function(){return this._removeSliderEventHandlers(),c.call(this,this.element,this.options),a&&a.data(this.element,"slider",this),this},relayout:function(){return this._layout(),this},_removeSliderEventHandlers:function(){this.handle1.removeEventListener("keydown",this.handle1Keydown,!1),this.handle1.removeEventListener("focus",this.showTooltip,!1),this.handle1.removeEventListener("blur",this.hideTooltip,!1),this.handle2.removeEventListener("keydown",this.handle2Keydown,!1),this.handle2.removeEventListener("focus",this.handle2Keydown,!1),this.handle2.removeEventListener("blur",this.handle2Keydown,!1),this.sliderElem.removeEventListener("mouseenter",this.showTooltip,!1),this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,!1),this.sliderElem.removeEventListener("touchstart",this.mousedown,!1),this.sliderElem.removeEventListener("mousedown",this.mousedown,!1)},_bindNonQueryEventHandler:function(a,b){void 0===this.eventToCallbackMap[a]&&(this.eventToCallbackMap[a]=[]),this.eventToCallbackMap[a].push(b)},_cleanUpEventCallbacksMap:function(){for(var a=Object.keys(this.eventToCallbackMap),b=0;b0){var b=Math.max.apply(Math,this.options.ticks),c=Math.min.apply(Math,this.options.ticks),d="vertical"===this.options.orientation?"height":"width",e="vertical"===this.options.orientation?"marginTop":"marginLeft",f=this.size/(this.options.ticks.length-1);if(this.tickLabelContainer&&(this.tickLabelContainer.style[e]=-f/2+"px","horizontal"===this.options.orientation)){var g=this.tickLabelContainer.offsetHeight-this.sliderElem.offsetHeight;this.sliderElem.style.marginBottom=g+"px"}for(var h=0;h=a[0]&&i<=a[1]&&this._addClass(this.ticks[h],"in-selection"),this.tickLabels[h]&&(this.tickLabels[h].style[d]=f+"px")}}if("vertical"===this.options.orientation)this.trackLow.style.top="0",this.trackLow.style.height=Math.min(a[0],a[1])+"%",this.trackSelection.style.top=Math.min(a[0],a[1])+"%",this.trackSelection.style.height=Math.abs(a[0]-a[1])+"%",this.trackHigh.style.bottom="0",this.trackHigh.style.height=100-Math.min(a[0],a[1])-Math.abs(a[0]-a[1])+"%";else{this.trackLow.style.left="0",this.trackLow.style.width=Math.min(a[0],a[1])+"%",this.trackSelection.style.left=Math.min(a[0],a[1])+"%",this.trackSelection.style.width=Math.abs(a[0]-a[1])+"%",this.trackHigh.style.right="0",this.trackHigh.style.width=100-Math.min(a[0],a[1])-Math.abs(a[0]-a[1])+"%";var j=this.tooltip_min.getBoundingClientRect(),k=this.tooltip_max.getBoundingClientRect();j.right>k.left?(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top="18px"):(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top=this.tooltip_min.style.top)}var l;if(this.options.range){l=this.options.formatter(this.options.value),this._setText(this.tooltipInner,l),this.tooltip.style[this.stylePos]=(a[1]+a[0])/2+"%","vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px"),"vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px");var m=this.options.formatter(this.options.value[0]);this._setText(this.tooltipInner_min,m);var n=this.options.formatter(this.options.value[1]);this._setText(this.tooltipInner_max,n),this.tooltip_min.style[this.stylePos]=a[0]+"%","vertical"===this.options.orientation?this._css(this.tooltip_min,"margin-top",-this.tooltip_min.offsetHeight/2+"px"):this._css(this.tooltip_min,"margin-left",-this.tooltip_min.offsetWidth/2+"px"),this.tooltip_max.style[this.stylePos]=a[1]+"%","vertical"===this.options.orientation?this._css(this.tooltip_max,"margin-top",-this.tooltip_max.offsetHeight/2+"px"):this._css(this.tooltip_max,"margin-left",-this.tooltip_max.offsetWidth/2+"px")}else l=this.options.formatter(this.options.value[0]),this._setText(this.tooltipInner,l),this.tooltip.style[this.stylePos]=a[0]+"%","vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px")},_removeProperty:function(a,b){a.style.removeProperty?a.style.removeProperty(b):a.style.removeAttribute(b)},_mousedown:function(a){if(!this.options.enabled)return!1;this._triggerFocusOnHandle(),this.offset=this._offset(this.sliderElem),this.size=this.sliderElem[this.sizePos];var b=this._getPercentage(a);if(this.options.range){var c=Math.abs(this.percentage[0]-b),d=Math.abs(this.percentage[1]-b);this.dragged=d>c?0:1}else this.dragged=0;this.percentage[this.dragged]=this.options.reversed?100-b:b,this._layout(),this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),this.mousemove&&document.removeEventListener("mousemove",this.mousemove,!1),this.mouseup&&document.removeEventListener("mouseup",this.mouseup,!1),this.mousemove=this._mousemove.bind(this),this.mouseup=this._mouseup.bind(this),this.touchCapable&&(document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)),document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),this.inDrag=!0;var e=this._calculateValue();return this._trigger("slideStart",e),this._setDataVal(e),this.setValue(e),this._pauseEvent(a),!0},_triggerFocusOnHandle:function(a){0===a&&this.handle1.focus(),1===a&&this.handle2.focus()},_keydown:function(a,b){if(!this.options.enabled)return!1;var c;switch(b.keyCode){case 37:case 40:c=-1;break;case 39:case 38:c=1}if(c){if(this.options.natural_arrow_keys){var d="vertical"===this.options.orientation&&!this.options.reversed,e="horizontal"===this.options.orientation&&this.options.reversed;(d||e)&&(c=-c)}var f=this.options.value[a]+c*this.options.step;return this.options.range&&(f=[a?this.options.value[0]:f,a?f:this.options.value[1]]),this._trigger("slideStart",f),this._setDataVal(f),this.setValue(f,!0),this._trigger("slideStop",f),this._setDataVal(f),this._layout(),this._pauseEvent(b),!1}},_pauseEvent:function(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.cancelBubble=!0,a.returnValue=!1},_mousemove:function(a){if(!this.options.enabled)return!1;var b=this._getPercentage(a);this._adjustPercentageForRangeSliders(b),this.percentage[this.dragged]=this.options.reversed?100-b:b,this._layout();var c=this._calculateValue(!0);return this.setValue(c,!0),!1},_adjustPercentageForRangeSliders:function(a){this.options.range&&(0===this.dragged&&this.percentage[1]a&&(this.percentage[1]=this.percentage[0],this.dragged=0))},_mouseup:function(){if(!this.options.enabled)return!1;this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),document.removeEventListener("mousemove",this.mousemove,!1),document.removeEventListener("mouseup",this.mouseup,!1),this.inDrag=!1,this.over===!1&&this._hideTooltip();var a=this._calculateValue(!0);return this._layout(),this._trigger("slideStop",a),this._setDataVal(a),!1},_calculateValue:function(a){var b;if(this.options.range?(b=[this.options.min,this.options.max],0!==this.percentage[0]&&(b[0]=this._toValue(this.percentage[0]),b[0]=this._applyPrecision(b[0])),100!==this.percentage[1]&&(b[1]=this._toValue(this.percentage[1]),b[1]=this._applyPrecision(b[1]))):(b=this._toValue(this.percentage[0]),b=parseFloat(b),b=this._applyPrecision(b)),a){for(var c=[b,1/0],d=0;d',a,""].join(""),l.id=g,(m?l:n).innerHTML+=h,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=f.style.overflow,f.style.overflow="hidden",f.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),f.style.overflow=k),!!i},t={}.hasOwnProperty,u;!x(t,"undefined")&&!x(t.call,"undefined")?u=function(a,b){return t.call(a,b)}:u=function(a,b){return b in a&&x(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e}),m.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:s(["@media (",l.join("touch-enabled),("),g,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c};for(var A in m)u(m,A)&&(r=A.toLowerCase(),e[r]=m[A](),p.push((e[r]?"":"no-")+r));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)u(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},v(""),h=j=null,e._version=d,e._prefixes=l,e.testStyles=s,e}(this,this.document); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/Summernote.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/summernote/Summernote.gwt.xml index 475a7713..7796c62e 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/summernote/Summernote.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/summernote/Summernote.gwt.xml @@ -3,7 +3,7 @@ #%L GwtBootstrap3 %% - Copyright (C) 2013 GwtBootstrap3 + Copyright (C) 2013 - 2015 GwtBootstrap3 %% Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/SummernoteNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/summernote/SummernoteNoResources.gwt.xml new file mode 100644 index 00000000..2e256944 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/summernote/SummernoteNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/SummernoteResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/SummernoteResources.gwt.xml index 29d7503d..3cbd8d58 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/SummernoteResources.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/SummernoteResources.gwt.xml @@ -3,7 +3,7 @@ #%L GwtBootstrap3 %% - Copyright (C) 2013 GwtBootstrap3 + Copyright (C) 2013 - 2015 GwtBootstrap3 %% Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -20,8 +20,8 @@ --> - + - + diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/css/summernote-0.6.0.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/css/summernote-0.6.0.min.cache.css deleted file mode 100644 index 1d43fee6..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/css/summernote-0.6.0.min.cache.css +++ /dev/null @@ -1 +0,0 @@ -.note-editor{position:relative;border:1px solid #a9a9a9}.note-editor .note-dropzone{position:absolute;z-index:1;display:none;color:#87cefa;background-color:white;border:2px dashed #87cefa;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf;border:2px dashed #098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-toolbar{background-color:#f5f5f5;border-bottom:1px solid #a9a9a9}.note-editor.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%}.note-editor.fullscreen .note-editable{background-color:white}.note-editor.fullscreen .note-resizebar{display:none}.note-editor.codeview .note-editable{display:none}.note-editor.codeview .note-codable{display:block}.note-editor .note-statusbar{background-color:#f5f5f5}.note-editor .note-statusbar .note-resizebar{width:100%;height:8px;cursor:ns-resize;border-top:1px solid #a9a9a9}.note-editor .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor .note-editable[contenteditable=true]:empty:not(:focus):before{color:#a9a9a9;content:attr(data-placeholder)}.note-editor .note-editable{padding:10px;overflow:auto;outline:0}.note-editor .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-air-editor{outline:0}.note-popover .popover{max-width:none}.note-popover .popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover .popover .arrow{left:20px}.note-popover .popover .popover-content,.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover .popover-content>.btn-group,.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover .popover-content .btn-group .note-table,.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker,.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover .popover-content .note-style h1,.note-toolbar .note-style h1,.note-popover .popover .popover-content .note-style h2,.note-toolbar .note-style h2,.note-popover .popover .popover-content .note-style h3,.note-toolbar .note-style h3,.note-popover .popover .popover-content .note-style h4,.note-toolbar .note-style h4,.note-popover .popover .popover-content .note-style h5,.note-toolbar .note-style h5,.note-popover .popover .popover-content .note-style h6,.note-toolbar .note-style h6,.note-popover .popover .popover-content .note-style blockquote,.note-toolbar .note-style blockquote{margin:0}.note-popover .popover .popover-content .note-color .dropdown-toggle,.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover .popover-content .note-color .dropdown-menu,.note-toolbar .note-color .dropdown-menu{min-width:340px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group,.note-toolbar .note-color .dropdown-menu .btn-group{margin:0}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group:first-child,.note-toolbar .note-color .dropdown-menu .btn-group:first-child{margin:0 5px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-row,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-row{height:20px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset:hover,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover{background:#eee}.note-popover .popover .popover-content .note-para .dropdown-menu,.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover .popover-content .note-para .dropdown-menu>div:first-child,.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover .popover-content .dropdown-menu,.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover .popover-content .dropdown-menu.right,.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover .popover-content .dropdown-menu.right::before,.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover .popover-content .dropdown-menu.right::after,.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover .popover-content .dropdown-menu li a i,.note-toolbar .dropdown-menu li a i{color:deepskyblue;visibility:hidden}.note-popover .popover .popover-content .dropdown-menu li a.checked i,.note-toolbar .dropdown-menu li a.checked i{visibility:visible}.note-popover .popover .popover-content .note-fontsize-10,.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover .popover-content .note-color-palette,.note-toolbar .note-color-palette{line-height:1}.note-popover .popover .popover-content .note-color-palette div .note-color-btn,.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover .popover-content .note-color-palette div .note-color-btn:hover,.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}.note-dialog .note-help-dialog{font-size:12px;color:#ccc;background:transparent;background-color:#222!important;border:0;-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:alpha(opacity=90);filter:alpha(opacity=90)}.note-dialog .note-help-dialog .modal-content{background:transparent;border:1px solid white;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.note-dialog .note-help-dialog a{font-size:12px;color:white}.note-dialog .note-help-dialog .title{padding-bottom:5px;margin-bottom:10px;font-size:14px;font-weight:bold;color:white;border-bottom:white 1px solid}.note-dialog .note-help-dialog .modal-close{font-size:14px;color:#dd0;cursor:pointer}.note-dialog .note-help-dialog .text-center{margin:10px 0 0}.note-dialog .note-help-dialog .note-shortcut{padding-top:8px;padding-bottom:8px}.note-dialog .note-help-dialog .note-shortcut-row{margin-right:-5px;margin-left:-5px}.note-dialog .note-help-dialog .note-shortcut-col{padding-right:5px;padding-left:5px}.note-dialog .note-help-dialog .note-shortcut-title{font-size:13px;font-weight:bold;color:#dd0}.note-dialog .note-help-dialog .note-shortcut-key{font-family:"Courier New";color:#dd0;text-align:right}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:white;background-color:black;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/css/summernote-0.6.2.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/css/summernote-0.6.2.min.cache.css new file mode 100644 index 00000000..8cc3a976 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/css/summernote-0.6.2.min.cache.css @@ -0,0 +1 @@ +.note-editor{position:relative;border:1px solid #a9a9a9}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:white;border:2px dashed #87cefa;opacity:.95;pointer-event:none}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf;border:2px dashed #098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-toolbar{background-color:#f5f5f5;border-bottom:1px solid #a9a9a9}.note-editor.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%}.note-editor.fullscreen .note-editable{background-color:white}.note-editor.fullscreen .note-resizebar{display:none}.note-editor.codeview .note-editable{display:none}.note-editor.codeview .note-codable{display:block}.note-editor .note-statusbar{background-color:#f5f5f5}.note-editor .note-statusbar .note-resizebar{width:100%;height:8px;cursor:ns-resize;border-top:1px solid #a9a9a9}.note-editor .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor .note-editable[contenteditable=true]:empty:not(:focus):before{color:#a9a9a9;content:attr(data-placeholder)}.note-editor .note-editable{padding:10px;overflow:auto;outline:0}.note-editor .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-air-editor{outline:0}.note-popover .popover{max-width:none}.note-popover .popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover .popover .arrow{left:20px}.note-popover .popover .popover-content,.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover .popover-content>.btn-group,.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover .popover-content .btn-group .note-table,.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker,.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover .popover-content .note-style h1,.note-toolbar .note-style h1,.note-popover .popover .popover-content .note-style h2,.note-toolbar .note-style h2,.note-popover .popover .popover-content .note-style h3,.note-toolbar .note-style h3,.note-popover .popover .popover-content .note-style h4,.note-toolbar .note-style h4,.note-popover .popover .popover-content .note-style h5,.note-toolbar .note-style h5,.note-popover .popover .popover-content .note-style h6,.note-toolbar .note-style h6,.note-popover .popover .popover-content .note-style blockquote,.note-toolbar .note-style blockquote{margin:0}.note-popover .popover .popover-content .note-color .dropdown-toggle,.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover .popover-content .note-color .dropdown-menu,.note-toolbar .note-color .dropdown-menu{min-width:340px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group,.note-toolbar .note-color .dropdown-menu .btn-group{margin:0}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group:first-child,.note-toolbar .note-color .dropdown-menu .btn-group:first-child{margin:0 5px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-row,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-row{height:20px}.note-popover .popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset:hover,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover{background:#eee}.note-popover .popover .popover-content .note-para .dropdown-menu,.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover .popover-content .note-para .dropdown-menu>div:first-child,.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover .popover-content .dropdown-menu,.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover .popover-content .dropdown-menu.right,.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover .popover-content .dropdown-menu.right::before,.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover .popover-content .dropdown-menu.right::after,.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover .popover-content .dropdown-menu li a i,.note-toolbar .dropdown-menu li a i{color:deepskyblue;visibility:hidden}.note-popover .popover .popover-content .dropdown-menu li a.checked i,.note-toolbar .dropdown-menu li a.checked i{visibility:visible}.note-popover .popover .popover-content .note-fontsize-10,.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover .popover-content .note-color-palette,.note-toolbar .note-color-palette{line-height:1}.note-popover .popover .popover-content .note-color-palette div .note-color-btn,.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover .popover-content .note-color-palette div .note-color-btn:hover,.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}.note-dialog .note-help-dialog{font-size:12px;color:#ccc;background:transparent;background-color:#222!important;border:0;-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:alpha(opacity=90);filter:alpha(opacity=90)}.note-dialog .note-help-dialog .modal-content{background:transparent;border:1px solid white;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.note-dialog .note-help-dialog a{font-size:12px;color:white}.note-dialog .note-help-dialog .title{padding-bottom:5px;margin-bottom:10px;font-size:14px;font-weight:bold;color:white;border-bottom:white 1px solid}.note-dialog .note-help-dialog .modal-close{font-size:14px;color:#dd0;cursor:pointer}.note-dialog .note-help-dialog .text-center{margin:10px 0 0}.note-dialog .note-help-dialog .note-shortcut{padding-top:8px;padding-bottom:8px}.note-dialog .note-help-dialog .note-shortcut-row{margin-right:-5px;margin-left:-5px}.note-dialog .note-help-dialog .note-shortcut-col{padding-right:5px;padding-left:5px}.note-dialog .note-help-dialog .note-shortcut-title{font-size:13px;font-weight:bold;color:#dd0}.note-dialog .note-help-dialog .note-shortcut-key{font-family:"Courier New";color:#dd0;text-align:right}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:white;background-color:black;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/js/summernote-0.6.0.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/js/summernote-0.6.0.min.cache.js deleted file mode 100644 index 1e91a61e..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/js/summernote-0.6.0.min.cache.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(window.jQuery)}(function(a){"function"!=typeof Array.prototype.reduce&&(Array.prototype.reduce=function(a,b){var c,d,e=this.length>>>0,f=!1;for(1c;++c)this.hasOwnProperty(c)&&(f?d=a(d,this[c],c,this):(d=this[c],f=!0));if(!f)throw new TypeError("Reduce of empty array with no initial value");return d}),"function"!=typeof Array.prototype.filter&&(Array.prototype.filter=function(a){if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=[],e=arguments.length>=2?arguments[1]:void 0,f=0;c>f;f++)if(f in b){var g=b[f];a.call(e,g,f,b)&&d.push(g)}return d});var b,c="function"==typeof define&&define.amd,d=function(b){var c="Comic Sans MS"===b?"Courier New":"Comic Sans MS",d=a("
    ").css({position:"absolute",left:"-9999px",top:"-9999px",fontSize:"200px"}).text("mmmmmmmmmwwwwwww").appendTo(document.body),e=d.css("fontFamily",c).width(),f=d.css("fontFamily",b+","+c).width();return d.remove(),e!==f},e={isMac:navigator.appVersion.indexOf("Mac")>-1,isMSIE:navigator.userAgent.indexOf("MSIE")>-1||navigator.userAgent.indexOf("Trident")>-1,isFF:navigator.userAgent.indexOf("Firefox")>-1,jqueryVersion:parseFloat(a.fn.jquery),isSupportAmd:c,hasCodeMirror:c?require.specified("CodeMirror"):!!window.CodeMirror,isFontInstalled:d,isW3CRangeSupport:!!document.createRange},f=function(){var b=function(a){return function(b){return a===b}},c=function(a,b){return a===b},d=function(a){return function(b,c){return b[a]===c[a]}},e=function(){return!0},f=function(){return!1},g=function(a){return function(){return!a.apply(a,arguments)}},h=function(a,b){return function(c){return a(c)&&b(c)}},i=function(a){return a},j=0,k=function(a){var b=++j+"";return a?a+b:b},l=function(b){var c=a(document);return{top:b.top+c.scrollTop(),left:b.left+c.scrollLeft(),width:b.right-b.left,height:b.bottom-b.top}},m=function(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b};return{eq:b,eq2:c,peq2:d,ok:e,fail:f,self:i,not:g,and:h,uniqueId:k,rect2bnd:l,invertObject:m}}(),g=function(){var b=function(a){return a[0]},c=function(a){return a[a.length-1]},d=function(a){return a.slice(0,a.length-1)},e=function(a){return a.slice(1)},g=function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(b(e))return e}},h=function(a,b){for(var c=0,d=a.length;d>c;c++)if(!b(a[c]))return!1;return!0},i=function(b,c){return-1!==a.inArray(c,b)},j=function(a,b){return b=b||f.self,a.reduce(function(a,c){return a+b(c)},0)},k=function(a){for(var b=[],c=-1,d=a.length;++cc;c++)a[c]&&b.push(a[c]);return b},n=function(a){for(var b=[],c=0,d=a.length;d>c;c++)i(b,a[c])||b.push(a[c]);return b},o=function(a,b){var c=a.indexOf(b);return-1===c?null:a[c+1]},p=function(a,b){var c=a.indexOf(b);return-1===c?null:a[c-1]};return{head:b,last:c,initial:d,tail:e,prev:p,next:o,find:g,contains:i,all:h,sum:j,from:k,clusterBy:l,compact:m,unique:n}}(),h=String.fromCharCode(160),i="",j=function(){var b=function(b){return b&&a(b).hasClass("note-editable")},c=function(b){return b&&a(b).hasClass("note-control-sizing")},d=function(b){var c;if(b.hasClass("note-air-editor")){var d=g.last(b.attr("id").split("-"));return c=function(b){return function(){return a(b+d)}},{editor:function(){return b},editable:function(){return b},popover:c("#note-popover-"),handle:c("#note-handle-"),dialog:c("#note-dialog-")}}return c=function(a){return function(){return b.find(a)}},{editor:function(){return b},dropzone:c(".note-dropzone"),toolbar:c(".note-toolbar"),editable:c(".note-editable"),codable:c(".note-codable"),statusbar:c(".note-statusbar"),popover:c(".note-popover"),handle:c(".note-handle"),dialog:c(".note-dialog")}},k=function(a){return a=a.toUpperCase(),function(b){return b&&b.nodeName.toUpperCase()===a}},l=function(a){return a&&3===a.nodeType},m=function(a){return a&&/^BR|^IMG|^HR/.test(a.nodeName.toUpperCase())},n=function(a){return b(a)?!1:a&&/^DIV|^P|^LI|^H[1-7]/.test(a.nodeName.toUpperCase())},o=k("LI"),p=function(a){return n(a)&&!o(a)},q=function(a){return!u(a)&&!r(a)&&!n(a)},r=function(a){return a&&/^UL|^OL/.test(a.nodeName.toUpperCase())},s=function(a){return a&&/^TD|^TH/.test(a.nodeName.toUpperCase())},t=k("BLOCKQUOTE"),u=function(a){return s(a)||t(a)||b(a)},v=k("A"),w=function(a){return q(a)&&!!D(a,n)},x=function(a){return q(a)&&!D(a,n)},y=k("BODY"),z=e.isMSIE?" ":"
    ",A=function(a){return l(a)?a.nodeValue.length:a.childNodes.length},B=function(a){var b=A(a);return 0===b?!0:j.isText(a)||1!==b||a.innerHTML!==z?!1:!0},C=function(a){m(a)||A(a)||(a.innerHTML=z)},D=function(a,c){for(;a;){if(c(a))return a;if(b(a))break;a=a.parentNode}return null},E=function(a,c){c=c||f.fail;var d=[];return D(a,function(a){return b(a)||d.push(a),c(a)}),d},F=function(a,b){var c=E(a);return g.last(c.filter(b))},G=function(b,c){for(var d=E(b),e=c;e;e=e.parentNode)if(a.inArray(e,d)>-1)return e;return null},H=function(a,b){b=b||f.fail;for(var c=[];a&&!b(a);)c.push(a),a=a.previousSibling;return c},I=function(a,b){b=b||f.fail;for(var c=[];a&&!b(a);)c.push(a),a=a.nextSibling;return c},J=function(a,b){var c=[];return b=b||f.ok,function d(e){a!==e&&b(e)&&c.push(e);for(var f=0,g=e.childNodes.length;g>f;f++)d(e.childNodes[f])}(a),c},K=function(b,c){var d=b.parentNode,e=a("<"+c+">")[0];return d.insertBefore(e,b),e.appendChild(b),e},L=function(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a},M=function(b,c){return a.each(c,function(a,c){b.appendChild(c)}),b},N=function(a){return 0===a.offset},O=function(a){return a.offset===A(a.node)},P=function(a){return N(a)||O(a)},Q=function(a,b){for(;a&&a!==b;){if(0!==S(a))return!1;a=a.parentNode}return!0},R=function(a,b){for(;a&&a!==b;){if(S(a)!==A(a.parentNode)-1)return!1;a=a.parentNode}return!0},S=function(a){for(var b=0;a=a.previousSibling;)b+=1;return b},T=function(a){return!!(a&&a.childNodes&&a.childNodes.length)},U=function(a,c){var d,e;if(0===a.offset){if(b(a.node))return null;d=a.node.parentNode,e=S(a.node)}else T(a.node)?(d=a.node.childNodes[a.offset-1],e=A(d)):(d=a.node,e=c?0:a.offset-1);return{node:d,offset:e}},V=function(a,c){var d,e;if(A(a.node)===a.offset){if(b(a.node))return null;d=a.node.parentNode,e=S(a.node)+1}else T(a.node)?(d=a.node.childNodes[a.offset],e=0):(d=a.node,e=c?A(a.node):a.offset+1);return{node:d,offset:e}},W=function(a,b){return a.node===b.node&&a.offset===b.offset},X=function(a){if(l(a.node)||!T(a.node)||B(a.node))return!0;var b=a.node.childNodes[a.offset-1],c=a.node.childNodes[a.offset];return b&&!m(b)||c&&!m(c)?!1:!0},Y=function(a,b){for(;a;){if(b(a))return a;a=U(a)}return null},Z=function(a,b){for(;a;){if(b(a))return a;a=V(a)}return null},$=function(a,b,c,d){for(var e=a;e&&(c(e),!W(e,b));){var f=d&&a.node!==e.node&&b.node!==e.node;e=V(e,f)}},_=function(b,c){var d=E(c,f.eq(b));return a.map(d,S).reverse()},ab=function(a,b){for(var c=a,d=0,e=b.length;e>d;d++)c=c.childNodes.length<=b[d]?c.childNodes[c.childNodes.length-1]:c.childNodes[b[d]];return c},bb=function(a,b){if(l(a.node))return N(a)?a.node:O(a)?a.node.nextSibling:a.node.splitText(a.offset);var c=a.node.childNodes[a.offset],d=L(a.node.cloneNode(!1),a.node);return M(d,I(c)),b||(C(a.node),C(d)),d},cb=function(a,b,c){var d=E(b.node,f.eq(a));return d.length?1===d.length?bb(b,c):d.reduce(function(a,d){var e=L(d.cloneNode(!1),d);return a===b.node&&(a=bb(b,c)),M(e,I(a)),c||(C(d),C(e)),e}):null},db=function(a){return document.createElement(a)},eb=function(a){return document.createTextNode(a)},fb=function(a,b){if(a&&a.parentNode){if(a.removeNode)return a.removeNode(b);var c=a.parentNode;if(!b){var d,e,f=[];for(d=0,e=a.childNodes.length;e>d;d++)f.push(a.childNodes[d]);for(d=0,e=f.length;e>d;d++)c.insertBefore(f[d],a)}c.removeChild(a)}},gb=function(a,c){for(;a&&!b(a)&&c(a);){var d=a.parentNode;fb(a),a=d}},hb=function(a,b){if(a.nodeName.toUpperCase()===b.toUpperCase())return a;var c=db(b);return a.style.cssText&&(c.style.cssText=a.style.cssText),M(c,g.from(a.childNodes)),L(c,a),fb(a),c},ib=k("TEXTAREA"),jb=function(b,c){var d=ib(b[0])?b.val():b.html();if(c){var e=/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g;d=d.replace(e,function(a,b,c){c=c.toUpperCase();var d=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(c)&&!!b,e=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(c);return a+(d||e?"\n":"")}),d=a.trim(d)}return d},kb=function(a){var b=a.val();return b.replace(/[\n\r]/g,"")};return{NBSP_CHAR:h,ZERO_WIDTH_NBSP_CHAR:i,blank:z,emptyPara:"

    "+z+"

    ",isEditable:b,isControlSizing:c,buildLayoutInfo:d,isText:l,isPara:n,isPurePara:p,isInline:q,isBodyInline:x,isBody:y,isParaInline:w,isList:r,isTable:k("TABLE"),isCell:s,isBlockquote:t,isBodyContainer:u,isAnchor:v,isDiv:k("DIV"),isLi:o,isSpan:k("SPAN"),isB:k("B"),isU:k("U"),isS:k("S"),isI:k("I"),isImg:k("IMG"),isTextarea:ib,isEmpty:B,isEmptyAnchor:f.and(v,B),nodeLength:A,isLeftEdgePoint:N,isRightEdgePoint:O,isEdgePoint:P,isLeftEdgeOf:Q,isRightEdgeOf:R,prevPoint:U,nextPoint:V,isSamePoint:W,isVisiblePoint:X,prevPointUntil:Y,nextPointUntil:Z,walkPoint:$,ancestor:D,listAncestor:E,lastAncestor:F,listNext:I,listPrev:H,listDescendant:J,commonAncestor:G,wrap:K,insertAfter:L,appendChildNodes:M,position:S,hasChildren:T,makeOffsetPath:_,fromOffsetPath:ab,splitTree:cb,create:db,createText:eb,remove:fb,removeWhile:gb,replace:hb,html:jb,value:kb}}(),k=function(){var b=function(a,b){var c,d,e=a.parentElement(),f=document.body.createTextRange(),h=g.from(e.childNodes);for(c=0;c=0)break;d=h[c]}if(0!==c&&j.isText(h[c-1])){var i=document.body.createTextRange(),k=null;i.moveToElementText(d||e),i.collapse(!d),k=d?d.nextSibling:e.firstChild;var l=a.duplicate();l.setEndPoint("StartToStart",i);for(var m=l.text.replace(/[\r\n]/g,"").length;m>k.nodeValue.length&&k.nextSibling;)m-=k.nodeValue.length,k=k.nextSibling;{k.nodeValue}b&&k.nextSibling&&j.isText(k.nextSibling)&&m===k.nodeValue.length&&(m-=k.nodeValue.length,k=k.nextSibling),e=k,c=m}return{cont:e,offset:c}},c=function(a){var b=function(a,c){var d,e;if(j.isText(a)){var h=j.listPrev(a,f.not(j.isText)),i=g.last(h).previousSibling;d=i||a.parentNode,c+=g.sum(g.tail(h),j.nodeLength),e=!i}else{if(d=a.childNodes[c]||a,j.isText(d))return b(d,0);c=0,e=!1}return{node:d,collapseToStart:e,offset:c}},c=document.body.createTextRange(),d=b(a.node,a.offset);return c.moveToElementText(d.node),c.collapse(d.collapseToStart),c.moveStart("character",d.offset),c},d=function(b,h,i,k){this.sc=b,this.so=h,this.ec=i,this.eo=k;var l=function(){if(e.isW3CRangeSupport){var a=document.createRange();return a.setStart(b,h),a.setEnd(i,k),a}var d=c({node:b,offset:h});return d.setEndPoint("EndToEnd",c({node:i,offset:k})),d};this.getPoints=function(){return{sc:b,so:h,ec:i,eo:k}},this.getStartPoint=function(){return{node:b,offset:h}},this.getEndPoint=function(){return{node:i,offset:k}},this.select=function(){var a=l();if(e.isW3CRangeSupport){var b=document.getSelection();b.rangeCount>0&&b.removeAllRanges(),b.addRange(a)}else a.select()},this.normalize=function(){var a=function(a){return j.isVisiblePoint(a)||(j.isLeftEdgePoint(a)?a=j.nextPointUntil(a,j.isVisiblePoint):j.isRightEdgePoint(a)&&(a=j.prevPointUntil(a,j.isVisiblePoint))),a},b=a(this.getStartPoint()),c=a(this.getStartPoint());return new d(b.node,b.offset,c.node,c.offset)},this.nodes=function(a,b){a=a||f.ok;var c=b&&b.includeAncestor,d=b&&b.fullyContains,e=this.getStartPoint(),h=this.getEndPoint(),i=[],k=[];return j.walkPoint(e,h,function(b){if(!j.isEditable(b.node)){var e;d?(j.isLeftEdgePoint(b)&&k.push(b.node),j.isRightEdgePoint(b)&&g.contains(k,b.node)&&(e=b.node)):e=c?j.ancestor(b.node,a):b.node,e&&a(e)&&i.push(e)}},!0),g.unique(i)},this.commonAncestor=function(){return j.commonAncestor(b,i)},this.expand=function(a){var c=j.ancestor(b,a),e=j.ancestor(i,a);if(!c&&!e)return new d(b,h,i,k);var f=this.getPoints();return c&&(f.sc=c,f.so=0),e&&(f.ec=e,f.eo=j.nodeLength(e)),new d(f.sc,f.so,f.ec,f.eo)},this.collapse=function(a){return a?new d(b,h,b,h):new d(i,k,i,k)},this.splitText=function(){var a=b===i,c=this.getPoints();return j.isText(i)&&!j.isEdgePoint(this.getEndPoint())&&i.splitText(k),j.isText(b)&&!j.isEdgePoint(this.getStartPoint())&&(c.sc=b.splitText(h),c.so=0,a&&(c.ec=c.sc,c.eo=k-h)),new d(c.sc,c.so,c.ec,c.eo)},this.deleteContents=function(){if(this.isCollapsed())return this;var b=this.splitText(),c=b.nodes(null,{fullyContains:!0}),e=j.prevPointUntil(b.getStartPoint(),function(a){return!g.contains(c,a.node)}),f=[];return a.each(c,function(a,b){var c=b.parentNode;e.node!==c&&1===j.nodeLength(c)&&f.push(c),j.remove(b,!1)}),a.each(f,function(a,b){j.remove(b,!1)}),new d(e.node,e.offset,e.node,e.offset)};var m=function(a){return function(){var c=j.ancestor(b,a);return!!c&&c===j.ancestor(i,a)}};this.isOnEditable=m(j.isEditable),this.isOnList=m(j.isList),this.isOnAnchor=m(j.isAnchor),this.isOnCell=m(j.isCell),this.isLeftEdgeOf=function(a){if(!j.isLeftEdgePoint(this.getStartPoint()))return!1;var b=j.ancestor(this.sc,a);return b&&j.isLeftEdgeOf(this.sc,b)},this.isCollapsed=function(){return b===i&&h===k},this.wrapBodyInlineWithPara=function(){if(j.isBodyContainer(b)&&j.isEmpty(b))return b.innerHTML=j.emptyPara,new d(b.firstChild,0);if(j.isParaInline(b)||j.isPara(b))return this.normalize();var a;if(j.isInline(b)){var c=j.listAncestor(b,f.not(j.isInline));a=g.last(c),j.isInline(a)||(a=c[c.length-2]||b.childNodes[h])}else a=b.childNodes[h-1];var e=j.listPrev(a,j.isParaInline).reverse();if(e=e.concat(j.listNext(a.nextSibling,j.isParaInline)),e.length){var i=j.wrap(g.head(e),"p");j.appendChildNodes(i,g.tail(e))}return this.normalize()},this.insertNode=function(a,b){var c,d,e,f=this.wrapBodyInlineWithPara(),h=f.getStartPoint();if(b)d=j.isPara(h.node)?h.node:h.node.parentNode,e=j.isPara(h.node)?h.node.childNodes[h.offset]:j.splitTree(h.node,h);else{var i=j.listAncestor(h.node,j.isBodyContainer),k=g.last(i)||h.node;j.isBodyContainer(k)?(c=i[i.length-2],d=k):(c=k,d=c.parentNode),e=c&&j.splitTree(c,h)}return e?e.parentNode.insertBefore(a,e):d.appendChild(a),a},this.toString=function(){var a=l();return e.isW3CRangeSupport?a.toString():a.text},this.bookmark=function(a){return{s:{path:j.makeOffsetPath(a,b),offset:h},e:{path:j.makeOffsetPath(a,i),offset:k}}},this.getClientRects=function(){var a=l();return a.getClientRects()}};return{create:function(a,c,f,g){if(arguments.length)2===arguments.length&&(f=a,g=c);else if(e.isW3CRangeSupport){var h=document.getSelection();if(0===h.rangeCount)return null;if(j.isBody(h.anchorNode))return null;var i=h.getRangeAt(0);a=i.startContainer,c=i.startOffset,f=i.endContainer,g=i.endOffset}else{var k=document.selection.createRange(),l=k.duplicate();l.collapse(!1);var m=k;m.collapse(!0);var n=b(m,!0),o=b(l,!1);j.isText(n.node)&&j.isLeftEdgePoint(n)&&j.isTextNode(o.node)&&j.isRightEdgePoint(o)&&o.node.nextSibling===n.node&&(n=o),a=n.cont,c=n.offset,f=o.cont,g=o.offset}return new d(a,c,f,g)},createFromNode:function(a){return this.create(a,0,a,1)},createFromBookmark:function(a,b){var c=j.fromOffsetPath(a,b.s.path),e=b.s.offset,f=j.fromOffsetPath(a,b.e.path),g=b.e.offset;return new d(c,e,f,g)}}}(),l={version:"0.6.0",options:{width:null,height:null,minHeight:null,maxHeight:null,focus:!1,tabsize:4,styleWithSpan:!0,disableLinkTarget:!1,disableDragAndDrop:!1,disableResizeEditor:!1,shortcuts:!0,placeholder:!1,codemirror:{mode:"text/html",htmlMode:!0,lineNumbers:!0},lang:"en-US",direction:null,toolbar:[["style",["style"]],["font",["bold","italic","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["height",["height"]],["table",["table"]],["insert",["link","picture","hr"]],["view",["fullscreen","codeview"]],["help",["help"]]],airMode:!1,airPopover:[["color",["color"]],["font",["bold","underline","clear"]],["para",["ul","paragraph"]],["table",["table"]],["insert",["link","picture"]]],styleTags:["p","blockquote","pre","h1","h2","h3","h4","h5","h6"],defaultFontName:"Helvetica Neue",fontNames:["Arial","Arial Black","Comic Sans MS","Courier New","Helvetica Neue","Impact","Lucida Grande","Tahoma","Times New Roman","Verdana"],colors:[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#F7F7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],lineHeights:["1.0","1.2","1.4","1.5","1.6","1.8","2.0","3.0"],insertTableMaxSize:{col:10,row:10},maximumImageFileSize:null,oninit:null,onfocus:null,onblur:null,onenter:null,onkeyup:null,onkeydown:null,onImageUpload:null,onImageUploadError:null,onToolbarClick:null,onsubmit:null,onCreateLink:function(a){return-1!==a.indexOf("@")&&-1===a.indexOf(":")?a="mailto:"+a:-1===a.indexOf("://")&&(a="http://"+a),a},keyMap:{pc:{ENTER:"insertParagraph","CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule","CTRL+K":"showLinkDialog"},mac:{ENTER:"insertParagraph","CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule","CMD+K":"showLinkDialog"}}},lang:{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",clear:"Remove Font Style",height:"Line Height",name:"Font Family"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Drag image here",dropImage:"Drop image",selectFromFiles:"Select from files",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Image URL",remove:"Remove Image"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},table:{table:"Table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",normal:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"Background Color",foreground:"Foreground Color",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style"},history:{undo:"Undo",redo:"Redo"}}}},m=function(){var b=function(b){return a.Deferred(function(c){a.extend(new FileReader,{onload:function(a){var b=a.target.result;c.resolve(b)},onerror:function(){c.reject(this)}}).readAsDataURL(b)}).promise()},c=function(b,c){return a.Deferred(function(d){a("").one("load",function(){d.resolve(a(this))}).one("error abort",function(){d.reject(a(this).detach())}).css({display:"none"}).appendTo(document.body).attr("src",b).attr("data-filename",c)}).promise()};return{readFileAsDataURL:b,createImage:c}}(),n={isEdit:function(a){return g.contains([8,9,13,32],a)},nameFromCode:{8:"BACKSPACE",9:"TAB",13:"ENTER",32:"SPACE",48:"NUM0",49:"NUM1",50:"NUM2",51:"NUM3",52:"NUM4",53:"NUM5",54:"NUM6",55:"NUM7",56:"NUM8",66:"B",69:"E",73:"I",74:"J",75:"K",76:"L",82:"R",83:"S",85:"U",89:"Y",90:"Z",191:"SLASH",219:"LEFTBRACKET",220:"BACKSLASH",221:"RIGHTBRACKET"}},o=function(){var b=function(b,c){if(e.jqueryVersion<1.9){var d={};return a.each(c,function(a,c){d[c]=b.css(c)}),d}return b.css.call(b,c)};this.stylePara=function(b,c){a.each(b.nodes(j.isPara,{includeAncestor:!0}),function(b,d){a(d).css(c)})},this.current=function(c,d){var e=a(j.isText(c.sc)?c.sc.parentNode:c.sc),f=["font-family","font-size","text-align","list-style-type","line-height"],g=b(e,f)||{};if(g["font-size"]=parseInt(g["font-size"],10),g["font-bold"]=document.queryCommandState("bold")?"bold":"normal",g["font-italic"]=document.queryCommandState("italic")?"italic":"normal",g["font-underline"]=document.queryCommandState("underline")?"underline":"normal",g["font-strikethrough"]=document.queryCommandState("strikeThrough")?"strikethrough":"normal",g["font-superscript"]=document.queryCommandState("superscript")?"superscript":"normal",g["font-subscript"]=document.queryCommandState("subscript")?"subscript":"normal",c.isOnList()){var h=["circle","disc","disc-leading-zero","square"],i=a.inArray(g["list-style-type"],h)>-1;g["list-style"]=i?"unordered":"ordered"}else g["list-style"]="none";var k=j.ancestor(c.sc,j.isPara);if(k&&k.style["line-height"])g["line-height"]=k.style.lineHeight;else{var l=parseInt(g["line-height"],10)/parseInt(g["font-size"],10);g["line-height"]=l.toFixed(1)}return g.image=j.isImg(d)&&d,g.anchor=c.isOnAnchor()&&j.ancestor(c.sc,j.isAnchor),g.ancestors=j.listAncestor(c.sc,j.isEditable),g.range=c,g}},p=function(){this.insertTab=function(a,b,c){var d=j.createText(new Array(c+1).join(j.NBSP_CHAR));b=b.deleteContents(),b.insertNode(d,!0),b=k.create(d,c),b.select()},this.insertParagraph=function(){var b=k.create();b=b.deleteContents(),b=b.wrapBodyInlineWithPara();var c,d=j.ancestor(b.sc,j.isPara);if(d){c=j.splitTree(d,b.getStartPoint());var e=j.listDescendant(d,j.isEmptyAnchor);e=e.concat(j.listDescendant(c,j.isEmptyAnchor)),a.each(e,function(a,b){j.remove(b)})}else{var f=b.sc.childNodes[b.so];c=a(j.emptyPara)[0],f?b.sc.insertBefore(c,f):b.sc.appendChild(c)}k.create(c,0).normalize().select()}},q=function(){this.tab=function(a,b){var c=j.ancestor(a.commonAncestor(),j.isCell),d=j.ancestor(c,j.isTable),e=j.listDescendant(d,j.isCell),f=g[b?"prev":"next"](e,c);f&&k.create(f,0).select()},this.createTable=function(b,c){for(var d,e=[],f=0;b>f;f++)e.push(""+j.blank+"");d=e.join("");for(var g,h=[],i=0;c>i;i++)h.push(""+d+"");return g=h.join(""),a(''+g+"
    ")[0]}},r=function(){this.insertOrderedList=function(){this.toggleList("OL")},this.insertUnorderedList=function(){this.toggleList("UL")},this.indent=function(){var b=this,c=k.create().wrapBodyInlineWithPara(),d=c.nodes(j.isPara,{includeAncestor:!0}),e=g.clusterBy(d,f.peq2("parentNode"));a.each(e,function(c,d){var e=g.head(d);j.isLi(e)?b.wrapList(d,e.parentNode.nodeName):a.each(d,function(b,c){a(c).css("marginLeft",function(a,b){return(parseInt(b,10)||0)+25})})}),c.select()},this.outdent=function(){var b=this,c=k.create().wrapBodyInlineWithPara(),d=c.nodes(j.isPara,{includeAncestor:!0}),e=g.clusterBy(d,f.peq2("parentNode"));a.each(e,function(c,d){var e=g.head(d);j.isLi(e)?b.releaseList([d]):a.each(d,function(b,c){a(c).css("marginLeft",function(a,b){return b=parseInt(b,10)||0,b>25?b-25:""})})}),c.select()},this.toggleList=function(b){var c=this,d=k.create().wrapBodyInlineWithPara(),e=d.nodes(j.isPara,{includeAncestor:!0}),h=g.clusterBy(e,f.peq2("parentNode"));if(g.find(e,j.isPurePara))a.each(h,function(a,d){c.wrapList(d,b)});else{var i=d.nodes(j.isList,{includeAncestor:!0}).filter(function(c){return!a.nodeName(c,b)});i.length?a.each(i,function(a,c){j.replace(c,b)}):this.releaseList(h,!0)}d.select()},this.wrapList=function(b,c){var d=g.head(b),e=g.last(b),f=j.isList(d.previousSibling)&&d.previousSibling,h=j.isList(e.nextSibling)&&e.nextSibling,i=f||j.insertAfter(j.create(c||"UL"),e);b=a.map(b,function(a){return j.isPurePara(a)?j.replace(a,"LI"):a}),j.appendChildNodes(i,b),h&&(j.appendChildNodes(i,g.from(h.childNodes)),j.remove(h))},this.releaseList=function(b,c){var d=[];return a.each(b,function(b,e){var f=g.head(e),h=g.last(e),i=c?j.lastAncestor(f,j.isList):f.parentNode,k=i.childNodes.length>1?j.splitTree(i,{node:h.parentNode,offset:j.position(h)+1},!0):null,l=j.splitTree(i,{node:f.parentNode,offset:j.position(f)},!0);e=c?j.listDescendant(l,j.isLi):g.from(l.childNodes).filter(j.isLi),(c||!j.isList(i.parentNode))&&(e=a.map(e,function(a){return j.replace(a,"P")})),a.each(g.from(e).reverse(),function(a,b){j.insertAfter(b,i)});var m=g.compact([i,l,k]);a.each(m,function(b,c){var d=[c].concat(j.listDescendant(c,j.isList));a.each(d.reverse(),function(a,b){j.nodeLength(b)||j.remove(b,!0)})}),d=d.concat(e)}),d}},s=function(){var b=new o,c=new q,d=new p,f=new r;this.createRange=function(a){return a.focus(),k.create()},this.saveRange=function(a,b){a.focus(),a.data("range",k.create()),b&&k.create().collapse().select()},this.restoreRange=function(a){var b=a.data("range");b&&(b.select(),a.focus())},this.currentStyle=function(a){var c=k.create();return c?c.isOnEditable()&&b.current(c,a):!1};var h=this.triggerOnChange=function(a){var b=a.data("callbacks").onChange;b&&b(a.html(),a)};this.undo=function(a){a.data("NoteHistory").undo(),h(a)},this.redo=function(a){a.data("NoteHistory").redo(),h(a)};for(var i=this.afterCommand=function(a){a.data("NoteHistory").recordUndo(),h(a)},l=["bold","italic","underline","strikethrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","formatBlock","removeFormat","backColor","foreColor","insertHorizontalRule","fontName"],n=0,s=l.length;s>n;n++)this[l[n]]=function(a){return function(b,c){document.execCommand(a,!1,c),i(b)}}(l[n]);this.tab=function(a,b){var e=k.create();e.isCollapsed()&&e.isOnCell()?c.tab(e):(d.insertTab(a,e,b.tabsize),i(a))},this.untab=function(){var a=k.create();a.isCollapsed()&&a.isOnCell()&&c.tab(a,!0)},this.insertParagraph=function(a){d.insertParagraph(a),i(a)},this.insertOrderedList=function(a){f.insertOrderedList(a),i(a)},this.insertUnorderedList=function(a){f.insertUnorderedList(a),i(a)},this.indent=function(a){f.indent(a),i(a)},this.outdent=function(a){f.outdent(a),i(a)},this.insertImage=function(a,b,c){m.createImage(b,c).then(function(b){b.css({display:"",width:Math.min(a.width(),b.width())}),k.create().insertNode(b[0]),i(a)}).fail(function(){var b=a.data("callbacks");b.onImageUploadError&&b.onImageUploadError()})},this.insertNode=function(a,b,c){k.create().insertNode(b,c),i(a)},this.insertText=function(a,b){var c=this.createRange(a).insertNode(j.createText(b),!0);k.create(c,j.nodeLength(c)).select(),i(a)},this.formatBlock=function(a,b){b=e.isMSIE?"<"+b+">":b,document.execCommand("FormatBlock",!1,b),i(a)},this.formatPara=function(a){this.formatBlock(a,"P"),i(a)};for(var n=1;6>=n;n++)this["formatH"+n]=function(a){return function(b){this.formatBlock(b,"H"+a)}}(n);this.fontSize=function(a,b){document.execCommand("fontSize",!1,3),e.isFF?a.find("font[size=3]").removeAttr("size").css("font-size",b+"px"):a.find("span").filter(function(){return"medium"===this.style.fontSize}).css("font-size",b+"px"),i(a)},this.lineHeight=function(a,c){b.stylePara(k.create(),{lineHeight:c}),i(a)},this.unlink=function(a){var b=k.create();if(b.isOnAnchor()){var c=j.ancestor(b.sc,j.isAnchor);b=k.createFromNode(c),b.select(),document.execCommand("unlink"),i(a)}},this.createLink=function(b,c,d){var e=c.url,f=c.text,g=c.newWindow,h=c.range;d.onCreateLink&&(e=d.onCreateLink(e)),h=h.deleteContents();var j=h.insertNode(a(""+f+"")[0],!0);a(j).attr({href:e,target:g?"_blank":""}),k.createFromNode(j).select(),i(b)},this.getLinkInfo=function(b){b.focus();var c=k.create().expand(j.isAnchor),d=a(g.head(c.nodes(j.isAnchor)));return{range:c,text:c.toString(),isNewWindow:d.length?"_blank"===d.attr("target"):!0,url:d.length?d.attr("href"):""}},this.color=function(a,b){var c=JSON.parse(b),d=c.foreColor,e=c.backColor;d&&document.execCommand("foreColor",!1,d),e&&document.execCommand("backColor",!1,e),i(a)},this.insertTable=function(a,b){var d=b.split("x"),e=k.create();e=e.deleteContents(),e.insertNode(c.createTable(d[0],d[1])),i(a)},this.floatMe=function(a,b,c){c.css("float",b),i(a)},this.imageShape=function(a,b,c){c.removeClass("img-rounded img-circle img-thumbnail"),b&&c.addClass(b),i(a)},this.resize=function(a,b,c){c.css({width:100*b+"%",height:""}),i(a)},this.resizeTo=function(a,b,c){var d;if(c){var e=a.y/a.x,f=b.data("ratio");d={width:f>e?a.x:a.y/f,height:f>e?a.x*f:a.y}}else d={width:a.x,height:a.y};b.css(d)},this.removeMedia=function(a,b,c){c.detach(),i(a)}},t=function(a){var b=[],c=-1,d=a[0],e=function(){var b=k.create(),c={s:{path:[0],offset:0},e:{path:[0],offset:0}};return{contents:a.html(),bookmark:b?b.bookmark(d):c}},f=function(b){null!==b.contents&&a.html(b.contents),null!==b.bookmark&&k.createFromBookmark(d,b.bookmark).select()};this.undo=function(){c>0&&(c--,f(b[c]))},this.redo=function(){b.length-1>c&&(c++,f(b[c]))},this.recordUndo=function(){c++,b.length>c&&(b=b.slice(0,c)),b.push(e())},this.recordUndo()},u=function(){this.update=function(b,c){var d=function(b,c){b.find(".dropdown-menu li a").each(function(){var b=a(this).data("value")+""==c+"";this.className=b?"checked":""})},e=function(a,c){var d=b.find(a);d.toggleClass("active",c())},f=b.find(".note-fontname");if(f.length){var h=c["font-family"];h&&(h=g.head(h.split(",")),h=h.replace(/\'/g,""),f.find(".note-current-fontname").text(h),d(f,h))}var i=b.find(".note-fontsize");i.find(".note-current-fontsize").text(c["font-size"]),d(i,parseFloat(c["font-size"]));var j=b.find(".note-height");d(j,parseFloat(c["line-height"])),e('button[data-event="bold"]',function(){return"bold"===c["font-bold"]}),e('button[data-event="italic"]',function(){return"italic"===c["font-italic"]}),e('button[data-event="underline"]',function(){return"underline"===c["font-underline"]}),e('button[data-event="strikethrough"]',function(){return"strikethrough"===c["font-strikethrough"]}),e('button[data-event="superscript"]',function(){return"superscript"===c["font-superscript"]}),e('button[data-event="subscript"]',function(){return"subscript"===c["font-subscript"]}),e('button[data-event="justifyLeft"]',function(){return"left"===c["text-align"]||"start"===c["text-align"]}),e('button[data-event="justifyCenter"]',function(){return"center"===c["text-align"]}),e('button[data-event="justifyRight"]',function(){return"right"===c["text-align"]}),e('button[data-event="justifyFull"]',function(){return"justify"===c["text-align"]}),e('button[data-event="insertUnorderedList"]',function(){return"unordered"===c["list-style"] -}),e('button[data-event="insertOrderedList"]',function(){return"ordered"===c["list-style"]})},this.updateRecentColor=function(b,c,d){var e=a(b).closest(".note-color"),f=e.find(".note-recent-color"),g=JSON.parse(f.attr("data-value"));g[c]=d,f.attr("data-value",JSON.stringify(g));var h="backColor"===c?"background-color":"color";f.find("i").css(h,d)}},v=function(){var a=new u;this.update=function(b,c){a.update(b,c)},this.updateRecentColor=function(b,c,d){a.updateRecentColor(b,c,d)},this.activate=function(a){a.find("button").not('button[data-event="codeview"]').removeClass("disabled")},this.deactivate=function(a){a.find("button").not('button[data-event="codeview"]').addClass("disabled")},this.updateFullscreen=function(a,b){var c=a.find('button[data-event="fullscreen"]');c.toggleClass("active",b)},this.updateCodeview=function(a,b){var c=a.find('button[data-event="codeview"]');c.toggleClass("active",b)}},w=function(){var b=new u,c=function(b,c){var d=a(b),e=c?d.offset():d.position(),f=d.outerHeight(!0);return{left:e.left,top:e.top+f}},d=function(a,b){a.css({display:"block",left:b.left,top:b.top})},e=20;this.update=function(h,i,j){b.update(h,i);var k=h.find(".note-link-popover");if(i.anchor){var l=k.find("a"),m=a(i.anchor).attr("href");l.attr("href",m).html(m),d(k,c(i.anchor,j))}else k.hide();var n=h.find(".note-image-popover");i.image?d(n,c(i.image,j)):n.hide();var o=h.find(".note-air-popover");if(j&&!i.range.isCollapsed()){var p=f.rect2bnd(g.last(i.range.getClientRects()));d(o,{left:Math.max(p.left+p.width/2-e,0),top:p.top+p.height})}else o.hide()},this.updateRecentColor=function(a,b,c){a.updateRecentColor(a,b,c)},this.hide=function(a){a.children().hide()}},x=function(){this.update=function(b,c,d){var e=b.find(".note-control-selection");if(c.image){var f=a(c.image),g=d?f.offset():f.position(),h={w:f.outerWidth(!0),h:f.outerHeight(!0)};e.css({display:"block",left:g.left,top:g.top,width:h.w,height:h.h}).data("target",c.image);var i=h.w+"x"+h.h;e.find(".note-control-selection-info").text(i)}else e.hide()},this.hide=function(a){a.children().hide()}},y=function(){var b=function(a,b){a.toggleClass("disabled",!b),a.attr("disabled",!b)};this.showImageDialog=function(c,d){return a.Deferred(function(a){var c=d.find(".note-image-dialog"),e=d.find(".note-image-input"),f=d.find(".note-image-url"),g=d.find(".note-image-btn");c.one("shown.bs.modal",function(){e.replaceWith(e.clone().on("change",function(){a.resolve(this.files),c.modal("hide")}).val("")),g.click(function(b){b.preventDefault(),a.resolve(f.val()),c.modal("hide")}),f.on("keyup paste",function(a){var c;c="paste"===a.type?a.originalEvent.clipboardData.getData("text"):f.val(),b(g,c)}).val("").trigger("focus")}).one("hidden.bs.modal",function(){e.off("change"),f.off("keyup paste"),g.off("click"),"pending"===a.state()&&a.reject()}).modal("show")})},this.showLinkDialog=function(c,d,e){return a.Deferred(function(a){var c=d.find(".note-link-dialog"),f=c.find(".note-link-text"),g=c.find(".note-link-url"),h=c.find(".note-link-btn"),i=c.find("input[type=checkbox]");c.one("shown.bs.modal",function(){f.val(e.text),f.on("input",function(){e.text=f.val()}),e.url||(e.url=e.text,b(h,e.text)),g.on("input",function(){b(h,g.val()),e.text||f.val(g.val())}).val(e.url).trigger("focus").trigger("select"),i.prop("checked",e.newWindow),h.one("click",function(b){b.preventDefault(),a.resolve({range:e.range,url:g.val(),text:f.val(),newWindow:i.is(":checked")}),c.modal("hide")})}).one("hidden.bs.modal",function(){f.off("input"),g.off("input"),h.off("click"),"pending"===a.state()&&a.reject()}).modal("show")}).promise()},this.showHelpDialog=function(b,c){return a.Deferred(function(a){var b=c.find(".note-help-dialog");b.one("hidden.bs.modal",function(){a.resolve()}).modal("show")}).promise()}};e.hasCodeMirror&&(e.isSupportAmd?require(["CodeMirror"],function(a){b=a}):b=window.CodeMirror);var z=function(){var c=a(window),d=a(document),f=a("html, body"),h=new s,i=new v,k=new w,l=new x,o=new y;this.getEditor=function(){return h};var p=function(b){var c=a(b).closest(".note-editor, .note-air-editor, .note-air-layout");if(!c.length)return null;var d;return d=c.is(".note-editor, .note-air-editor")?c:a("#note-editor-"+g.last(c.attr("id").split("-"))),j.buildLayoutInfo(d)},q=function(b,c){var d=b.editor(),e=b.editable(),f=e.data("callbacks"),g=d.data("options");f.onImageUpload?f.onImageUpload(c,h,e):a.each(c,function(a,b){var c=b.name;g.maximumImageFileSize&&g.maximumImageFileSize0?Math.max(d,f.minHeight):d,d=f.maxHeight>0?Math.min(d,f.maxHeight):d,b.height(d)}).one("mouseup",function(){d.off("mousemove")})},H=18,I=function(b,c){var d,e=a(b.target.parentNode),f=e.next(),g=e.find(".note-dimension-picker-mousecatcher"),h=e.find(".note-dimension-picker-highlighted"),i=e.find(".note-dimension-picker-unhighlighted");if(void 0===b.offsetX){var j=a(b.target).offset();d={x:b.pageX-j.left,y:b.pageY-j.top}}else d={x:b.offsetX,y:b.offsetY};var k={c:Math.ceil(d.x/H)||1,r:Math.ceil(d.y/H)||1};h.css({width:k.c+"em",height:k.r+"em"}),g.attr("data-value",k.c+"x"+k.r),3'+a+(g?' ':"")+""+(g||"")},c=function(a,c){var d='';return b(d,c)},d=function(a,b){return'"},g=function(a,b,c,d){return'"},h={picture:function(a){return c("fa fa-picture-o",{event:"showImageDialog",title:a.image.image,hide:!0})},link:function(a){return c("fa fa-link",{event:"showLinkDialog",title:a.link.link,hide:!0})},table:function(a){var b='';return c("fa fa-table",{title:a.table.table,dropdown:b})},style:function(a,b){var d=b.styleTags.reduce(function(b,c){var d=a.style["p"===c?"normal":c];return b+'
  • '+("p"===c||"pre"===c?d:"<"+c+">"+d+"")+"
  • "},"");return c("fa fa-magic",{title:a.style.style,dropdown:'"})},fontname:function(a,c){var d=c.fontNames.reduce(function(a,b){return e.isFontInstalled(b)?a+'
  • '+b+"
  • ":a},""),f=''+c.defaultFontName+"";return b(f,{title:a.font.name,dropdown:'"})},color:function(a){var c='',d=b(c,{className:"note-recent-color",title:a.color.recent,event:"color",value:'{"backColor":"yellow"}'}),e='',f=b("",{title:a.color.more,dropdown:e});return d+f},bold:function(a){return c("fa fa-bold",{event:"bold",title:a.font.bold})},italic:function(a){return c("fa fa-italic",{event:"italic",title:a.font.italic})},underline:function(a){return c("fa fa-underline",{event:"underline",title:a.font.underline})},clear:function(a){return c("fa fa-eraser",{event:"removeFormat",title:a.font.clear})},ul:function(a){return c("fa fa-list-ul",{event:"insertUnorderedList",title:a.lists.unordered})},ol:function(a){return c("fa fa-list-ol",{event:"insertOrderedList",title:a.lists.ordered})},paragraph:function(a){var b=c("fa fa-align-left",{title:a.paragraph.left,event:"justifyLeft"}),d=c("fa fa-align-center",{title:a.paragraph.center,event:"justifyCenter"}),e=c("fa fa-align-right",{title:a.paragraph.right,event:"justifyRight"}),f=c("fa fa-align-justify",{title:a.paragraph.justify,event:"justifyFull"}),g=c("fa fa-outdent",{title:a.paragraph.outdent,event:"outdent"}),h=c("fa fa-indent",{title:a.paragraph.indent,event:"indent"}),i='";return c("fa fa-align-left",{title:a.paragraph.paragraph,dropdown:i})},height:function(a,b){var d=b.lineHeights.reduce(function(a,b){return a+'
  • '+b+"
  • "},"");return c("fa fa-text-height",{title:a.font.height,dropdown:'"})},help:function(a){return c("fa fa-question",{event:"showHelpDialog",title:a.options.help,hide:!0})},fullscreen:function(a){return c("fa fa-arrows-alt",{event:"fullscreen",title:a.options.fullscreen})},codeview:function(a){return c("fa fa-code",{event:"codeview",title:a.options.codeview})},undo:function(a){return c("fa fa-undo",{event:"undo",title:a.history.undo})},redo:function(a){return c("fa fa-repeat",{event:"redo",title:a.history.redo})},hr:function(a){return c("fa fa-minus",{event:"insertHorizontalRule",title:a.hr.insert})}},i=function(a,e){var f=function(){var b=c("fa fa-edit",{title:a.link.edit,event:"showLinkDialog",hide:!0}),e=c("fa fa-unlink",{title:a.link.unlink,event:"unlink"}),f='www.google.com  
    '+b+e+"
    ";return d("note-link-popover",f)},g=function(){var e=b('100%',{title:a.image.resizeFull,event:"resize",value:"1"}),f=b('50%',{title:a.image.resizeHalf,event:"resize",value:"0.5"}),g=b('25%',{title:a.image.resizeQuarter,event:"resize",value:"0.25"}),h=c("fa fa-align-left",{title:a.image.floatLeft,event:"floatMe",value:"left"}),i=c("fa fa-align-right",{title:a.image.floatRight,event:"floatMe",value:"right"}),j=c("fa fa-align-justify",{title:a.image.floatNone,event:"floatMe",value:"none"}),k=c("fa fa-square",{title:a.image.shapeRounded,event:"imageShape",value:"img-rounded"}),l=c("fa fa-circle-o",{title:a.image.shapeCircle,event:"imageShape",value:"img-circle"}),m=c("fa fa-picture-o",{title:a.image.shapeThumbnail,event:"imageShape",value:"img-thumbnail"}),n=c("fa fa-times",{title:a.image.shapeNone,event:"imageShape",value:""}),o=c("fa fa-trash-o",{title:a.image.remove,event:"removeMedia",value:"none"}),p='
    '+e+f+g+'
    '+h+i+j+'
    '+k+l+m+n+'
    '+o+"
    ";return d("note-image-popover",p)},i=function(){for(var b="",c=0,f=e.airPopover.length;f>c;c++){var g=e.airPopover[c];b+='
    ';for(var i=0,j=g[1].length;j>i;i++)b+=h[g[1][i]](a,e);b+="
    "}return d("note-air-popover",b)};return'
    '+f()+g()+(e.airMode?i():"")+"
    "},k=function(){return'
    '},l=function(a,b){var c="note-shortcut-col col-xs-6 note-shortcut-",d=[];for(var e in b)d.push('
    '+b[e].kbd+'
    '+b[e].text+"
    ");return'
    '+a+'
    '+d.join('
    ')+"
    "},m=function(a){var b=[{kbd:"⌘ + B",text:a.font.bold},{kbd:"⌘ + I",text:a.font.italic},{kbd:"⌘ + U",text:a.font.underline},{kbd:"⌘ + ⇧ + S",text:a.font.sdivikethrough},{kbd:"⌘ + \\",text:a.font.clear}];return l(a.shortcut.textFormatting,b)},n=function(a){var b=[{kbd:"⌘ + Z",text:a.history.undo},{kbd:"⌘ + ⇧ + Z",text:a.history.redo},{kbd:"⌘ + ]",text:a.paragraph.indent},{kbd:"⌘ + [",text:a.paragraph.oudivent},{kbd:"⌘ + ENTER",text:a.hr.insert}];return l(a.shortcut.action,b)},o=function(a){var b=[{kbd:"⌘ + ⇧ + L",text:a.paragraph.left},{kbd:"⌘ + ⇧ + E",text:a.paragraph.center},{kbd:"⌘ + ⇧ + R",text:a.paragraph.right},{kbd:"⌘ + ⇧ + J",text:a.paragraph.justify},{kbd:"⌘ + ⇧ + NUM7",text:a.lists.ordered},{kbd:"⌘ + ⇧ + NUM8",text:a.lists.unordered}];return l(a.shortcut.paragraphFormatting,b)},p=function(a){var b=[{kbd:"⌘ + NUM0",text:a.style.normal},{kbd:"⌘ + NUM1",text:a.style.h1},{kbd:"⌘ + NUM2",text:a.style.h2},{kbd:"⌘ + NUM3",text:a.style.h3},{kbd:"⌘ + NUM4",text:a.style.h4},{kbd:"⌘ + NUM5",text:a.style.h5},{kbd:"⌘ + NUM6",text:a.style.h6}];return l(a.shortcut.documentStyle,b)},q=function(a,b){var c=b.extraKeys,d=[];for(var e in c)c.hasOwnProperty(e)&&d.push({kbd:e,text:c[e]});return l(a.shortcut.extraKeys,d)},r=function(a,b){var c='class="note-shortcut note-shortcut-col col-sm-6 col-xs-12"',d=["
    "+n(a,b)+"
    "+m(a,b)+"
    ","
    "+p(a,b)+"
    "+o(a,b)+"
    "];return b.extraKeys&&d.push("
    "+q(a,b)+"
    "),'
    '+d.join('
    ')+"
    "},s=function(a){return a.replace(/⌘/g,"Ctrl").replace(/⇧/g,"Shift")},t={image:function(a,b){var c="";if(b.maximumImageFileSize){var d=Math.floor(Math.log(b.maximumImageFileSize)/Math.log(1024)),e=1*(b.maximumImageFileSize/Math.pow(1024,d)).toFixed(2)+" "+" KMGTP"[d]+"B";c=""+a.image.maximumFileSize+" : "+e+""}var f='
    '+c+'
    ',h='";return g("note-image-dialog",a.image.insert,f,h)},link:function(a,b){var c='
    '+(b.disableLinkTarget?"":'
    "),d='";return g("note-link-dialog",a.link.insert,c,d)},help:function(a,b){var c='
    '+a.shortcut.shortcuts+"
    "+(e.isMac?r(a,b):s(r(a,b)))+'

    Summernote 0.6.0 · Project · Issues

    ';return g("note-help-dialog","",c,"")}},u=function(b,c){var d="";return a.each(t,function(a,e){d+=e(b,c)}),'
    '+d+"
    "},v=function(){return'
    '},w=function(a){return e.isMac&&(a=a.replace("CMD","⌘").replace("SHIFT","⇧")),a.replace("BACKSLASH","\\").replace("SLASH","/").replace("LEFTBRACKET","[").replace("RIGHTBRACKET","]")},x=function(b,c,d){var e=f.invertObject(c),g=b.find("button");g.each(function(b,c){var d=a(c),f=e[d.data("event")];f&&d.attr("title",function(a,b){return b+" ("+w(f)+")"})}).tooltip({container:"body",trigger:"hover",placement:d||"top"}).on("click",function(){a(this).tooltip("hide")})},y=function(b,c){var d=c.colors;b.find(".note-color-palette").each(function(){for(var b=a(this),c=b.attr("data-target-event"),e=[],f=0,g=d.length;g>f;f++){for(var h=d[f],i=[],j=0,k=h.length;k>j;j++){var l=h[j];i.push([''].join(""))}e.push('
    '+i.join("")+"
    ")}b.html(e.join(""))})};this.createLayoutByAirMode=function(b,c){var d=c.langInfo,g=c.keyMap[e.isMac?"mac":"pc"],h=f.uniqueId();b.addClass("note-air-editor note-editable"),b.attr({id:"note-editor-"+h,contentEditable:!0});var j=document.body,l=a(i(d,c));l.addClass("note-air-layout"),l.attr("id","note-popover-"+h),l.appendTo(j),x(l,g),y(l,c);var m=a(k());m.addClass("note-air-layout"),m.attr("id","note-handle-"+h),m.appendTo(j);var n=a(u(d,c));n.addClass("note-air-layout"),n.attr("id","note-dialog-"+h),n.find("button.close, a.modal-close").click(function(){a(this).closest(".modal").modal("hide")}),n.appendTo(j)},this.createLayoutByFrame=function(b,c){var d=c.langInfo,f=a('
    ');c.width&&f.width(c.width),c.height>0&&a('
    '+(c.disableResizeEditor?"":v())+"
    ").prependTo(f);var g=!b.is(":disabled"),l=a('
    ').prependTo(f);c.height&&l.height(c.height),c.direction&&l.attr("dir",c.direction),c.placeholder&&l.attr("data-placeholder",c.placeholder),l.html(j.html(b)),a('').prependTo(f);for(var m="",n=0,o=c.toolbar.length;o>n;n++){var p=c.toolbar[n][0],q=c.toolbar[n][1];m+='
    ';for(var r=0,s=q.length;s>r;r++){var t=h[q[r]];a.isFunction(t)&&(m+=t(d,c))}m+="
    "}m='
    '+m+"
    ";var w=a(m).prependTo(f),z=c.keyMap[e.isMac?"mac":"pc"];y(w,c),x(w,z,"bottom");var A=a(i(d,c)).prependTo(f);y(A,c),x(A,z),a(k()).prependTo(f);var B=a(u(d,c)).prependTo(f);B.find("button.close, a.modal-close").click(function(){a(this).closest(".modal").modal("hide")}),a('
    ').prependTo(f),f.insertAfter(b),b.hide()},this.noteEditorFromHolder=function(b){return b.hasClass("note-air-editor")?b:b.next().hasClass("note-editor")?b.next():a()},this.createLayout=function(a,b){this.noteEditorFromHolder(a).length||(b.airMode?this.createLayoutByAirMode(a,b):this.createLayoutByFrame(a,b))},this.layoutInfoFromHolder=function(a){var b=this.noteEditorFromHolder(a);if(b.length){var c=j.buildLayoutInfo(b);for(var d in c)c.hasOwnProperty(d)&&(c[d]=c[d].call());return c}},this.removeLayout=function(a,b,c){c.airMode?(a.removeClass("note-air-editor note-editable").removeAttr("id contentEditable"),b.popover.remove(),b.handle.remove(),b.dialog.remove()):(a.html(b.editable.html()),b.editor.remove(),a.show())},this.getTemplate=function(){return{button:b,iconButton:c,dialog:g}},this.addButtonInfo=function(a,b){h[a]=b},this.addDialogInfo=function(a,b){t[a]=b}};a.summernote=a.summernote||{},a.extend(a.summernote,l);var B=new A,C=new z;a.extend(a.summernote,{renderer:B,eventHandler:C,core:{agent:e,dom:j,range:k},pluginEvents:{}}),a.summernote.addPlugin=function(b){b.buttons&&a.each(b.buttons,function(a,b){B.addButtonInfo(a,b)}),b.dialogs&&a.each(b.dialogs,function(a,b){B.addDialogInfo(a,b)}),b.events&&a.each(b.events,function(b,c){a.summernote.pluginEvents[b]=c}),b.langs&&a.each(b.langs,function(b,c){a.summernote.lang[b]&&a.extend(a.summernote.lang[b],c)}),b.options&&a.extend(a.summernote.options,b.options)},a.fn.extend({summernote:function(b){if(b=a.extend({},a.summernote.options,b),b.langInfo=a.extend(!0,{},a.summernote.lang["en-US"],a.summernote.lang[b.lang]),this.each(function(c,d){var e=a(d);B.createLayout(e,b);var f=B.layoutInfoFromHolder(e);C.attach(f,b),j.isTextarea(e[0])&&e.closest("form").submit(function(){var a=e.code();e.val(a),b.onsubmit&&b.onsubmit(a)})}),this.first().length&&b.focus){var c=B.layoutInfoFromHolder(this.first());c.editable.focus()}return this.length&&b.oninit&&b.oninit(),this},code:function(b){if(void 0===b){var c=this.first();if(!c.length)return;var d=B.layoutInfoFromHolder(c);if(d&&d.editable){var f=d.editor.hasClass("codeview");return f&&e.hasCodeMirror&&d.codable.data("cmEditor").save(),f?d.codable.val():d.editable.html()}return j.isTextarea(c[0])?c.val():c.html()}return this.each(function(c,d){var e=B.layoutInfoFromHolder(a(d));e&&e.editable&&e.editable.html(b)}),this},destroy:function(){return this.each(function(b,c){var d=a(c),e=B.layoutInfoFromHolder(d);if(e&&e.editable){var f=e.editor.data("options");C.detach(e,f),B.removeLayout(d,e,f)}}),this}})}); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/js/summernote-0.6.2.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/js/summernote-0.6.2.min.cache.js new file mode 100644 index 00000000..f7c78137 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/summernote/client/resources/js/summernote-0.6.2.min.cache.js @@ -0,0 +1,3 @@ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(window.jQuery)}(function(a){Array.prototype.reduce||(Array.prototype.reduce=function(a){var b,c=Object(this),d=c.length>>>0,e=0;if(2===arguments.length)b=arguments[1];else{for(;d>e&&!(e in c);)e++;if(e>=d)throw new TypeError("Reduce of empty array with no initial value");b=c[e++]}for(;d>e;e++)e in c&&(b=a(b,c[e],e,c));return b}),"function"!=typeof Array.prototype.filter&&(Array.prototype.filter=function(a){for(var b=Object(this),c=b.length>>>0,d=[],e=arguments.length>=2?arguments[1]:void 0,f=0;c>f;f++)if(f in b){var g=b[f];a.call(e,g,f,b)&&d.push(g)}return d});var b,c="function"==typeof define&&define.amd,d=function(b){var c="Comic Sans MS"===b?"Courier New":"Comic Sans MS",d=a("
    ").css({position:"absolute",left:"-9999px",top:"-9999px",fontSize:"200px"}).text("mmmmmmmmmwwwwwww").appendTo(document.body),e=d.css("fontFamily",c).width(),f=d.css("fontFamily",b+","+c).width();return d.remove(),e!==f},e={isMac:navigator.appVersion.indexOf("Mac")>-1,isMSIE:navigator.userAgent.indexOf("MSIE")>-1||navigator.userAgent.indexOf("Trident")>-1,isFF:navigator.userAgent.indexOf("Firefox")>-1,jqueryVersion:parseFloat(a.fn.jquery),isSupportAmd:c,hasCodeMirror:c?require.specified("CodeMirror"):!!window.CodeMirror,isFontInstalled:d,isW3CRangeSupport:!!document.createRange},f=function(){var b=function(a){return function(b){return a===b}},c=function(a,b){return a===b},d=function(a){return function(b,c){return b[a]===c[a]}},e=function(){return!0},f=function(){return!1},g=function(a){return function(){return!a.apply(a,arguments)}},h=function(a,b){return function(c){return a(c)&&b(c)}},i=function(a){return a},j=0,k=function(a){var b=++j+"";return a?a+b:b},l=function(b){var c=a(document);return{top:b.top+c.scrollTop(),left:b.left+c.scrollLeft(),width:b.right-b.left,height:b.bottom-b.top}},m=function(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b};return{eq:b,eq2:c,peq2:d,ok:e,fail:f,self:i,not:g,and:h,uniqueId:k,rect2bnd:l,invertObject:m}}(),g=function(){var b=function(a){return a[0]},c=function(a){return a[a.length-1]},d=function(a){return a.slice(0,a.length-1)},e=function(a){return a.slice(1)},g=function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(b(e))return e}},h=function(a,b){for(var c=0,d=a.length;d>c;c++)if(!b(a[c]))return!1;return!0},i=function(b,c){return-1!==a.inArray(c,b)},j=function(a,b){return b=b||f.self,a.reduce(function(a,c){return a+b(c)},0)},k=function(a){for(var b=[],c=-1,d=a.length;++cc;c++)a[c]&&b.push(a[c]);return b},n=function(a){for(var b=[],c=0,d=a.length;d>c;c++)i(b,a[c])||b.push(a[c]);return b},o=function(a,b){var c=a.indexOf(b);return-1===c?null:a[c+1]},p=function(a,b){var c=a.indexOf(b);return-1===c?null:a[c-1]};return{head:b,last:c,initial:d,tail:e,prev:p,next:o,find:g,contains:i,all:h,sum:j,from:k,clusterBy:l,compact:m,unique:n}}(),h=String.fromCharCode(160),i="",j=function(){var b=function(b){return b&&a(b).hasClass("note-editable")},c=function(b){return b&&a(b).hasClass("note-control-sizing")},d=function(b){var c;if(b.hasClass("note-air-editor")){var d=g.last(b.attr("id").split("-"));return c=function(b){return function(){return a(b+d)}},{editor:function(){return b},editable:function(){return b},popover:c("#note-popover-"),handle:c("#note-handle-"),dialog:c("#note-dialog-")}}return c=function(a){return function(){return b.find(a)}},{editor:function(){return b},dropzone:c(".note-dropzone"),toolbar:c(".note-toolbar"),editable:c(".note-editable"),codable:c(".note-codable"),statusbar:c(".note-statusbar"),popover:c(".note-popover"),handle:c(".note-handle"),dialog:c(".note-dialog")}},k=function(a){return a=a.toUpperCase(),function(b){return b&&b.nodeName.toUpperCase()===a}},l=function(a){return a&&3===a.nodeType},m=function(a){return a&&/^BR|^IMG|^HR/.test(a.nodeName.toUpperCase())},n=function(a){return b(a)?!1:a&&/^DIV|^P|^LI|^H[1-7]/.test(a.nodeName.toUpperCase())},o=k("LI"),p=function(a){return n(a)&&!o(a)},q=k("TABLE"),r=function(a){return!(v(a)||s(a)||n(a)||q(a)||u(a))},s=function(a){return a&&/^UL|^OL/.test(a.nodeName.toUpperCase())},t=function(a){return a&&/^TD|^TH/.test(a.nodeName.toUpperCase())},u=k("BLOCKQUOTE"),v=function(a){return t(a)||u(a)||b(a)},w=k("A"),x=function(a){return r(a)&&!!G(a,n)},y=function(a){return r(a)&&!G(a,n)},z=k("BODY"),A=function(a,b){return a.nextSibling===b||a.previousSibling===b},B=function(a,b){b=b||f.ok;var c=[];return a.previousSibling&&b(a.previousSibling)&&c.push(a.previousSibling),c.push(a),a.nextSibling&&b(a.nextSibling)&&c.push(a.nextSibling),c},C=e.isMSIE?" ":"
    ",D=function(a){return l(a)?a.nodeValue.length:a.childNodes.length},E=function(a){var b=D(a);return 0===b?!0:j.isText(a)||1!==b||a.innerHTML!==C?!1:!0},F=function(a){m(a)||D(a)||(a.innerHTML=C)},G=function(a,c){for(;a;){if(c(a))return a;if(b(a))break;a=a.parentNode}return null},H=function(a,c){for(a=a.parentNode;a&&1===D(a);){if(c(a))return a;if(b(a))break;a=a.parentNode}return null},I=function(a,c){c=c||f.fail;var d=[];return G(a,function(a){return b(a)||d.push(a),c(a)}),d},J=function(a,b){var c=I(a);return g.last(c.filter(b))},K=function(b,c){for(var d=I(b),e=c;e;e=e.parentNode)if(a.inArray(e,d)>-1)return e;return null},L=function(a,b){b=b||f.fail;for(var c=[];a&&!b(a);)c.push(a),a=a.previousSibling;return c},M=function(a,b){b=b||f.fail;for(var c=[];a&&!b(a);)c.push(a),a=a.nextSibling;return c},N=function(a,b){var c=[];return b=b||f.ok,function d(e){a!==e&&b(e)&&c.push(e);for(var f=0,g=e.childNodes.length;g>f;f++)d(e.childNodes[f])}(a),c},O=function(b,c){var d=b.parentNode,e=a("<"+c+">")[0];return d.insertBefore(e,b),e.appendChild(b),e},P=function(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a},Q=function(b,c){return a.each(c,function(a,c){b.appendChild(c)}),b},R=function(a){return 0===a.offset},S=function(a){return a.offset===D(a.node)},T=function(a){return R(a)||S(a)},U=function(a,b){for(;a&&a!==b;){if(0!==W(a))return!1;a=a.parentNode}return!0},V=function(a,b){for(;a&&a!==b;){if(W(a)!==D(a.parentNode)-1)return!1;a=a.parentNode}return!0},W=function(a){for(var b=0;a=a.previousSibling;)b+=1;return b},X=function(a){return!!(a&&a.childNodes&&a.childNodes.length)},Y=function(a,c){var d,e;if(0===a.offset){if(b(a.node))return null;d=a.node.parentNode,e=W(a.node)}else X(a.node)?(d=a.node.childNodes[a.offset-1],e=D(d)):(d=a.node,e=c?0:a.offset-1);return{node:d,offset:e}},Z=function(a,c){var d,e;if(D(a.node)===a.offset){if(b(a.node))return null;d=a.node.parentNode,e=W(a.node)+1}else X(a.node)?(d=a.node.childNodes[a.offset],e=0):(d=a.node,e=c?D(a.node):a.offset+1);return{node:d,offset:e}},$=function(a,b){return a.node===b.node&&a.offset===b.offset},_=function(a){if(l(a.node)||!X(a.node)||E(a.node))return!0;var b=a.node.childNodes[a.offset-1],c=a.node.childNodes[a.offset];return b&&!m(b)||c&&!m(c)?!1:!0},ab=function(a,b){for(;a;){if(b(a))return a;a=Y(a)}return null},bb=function(a,b){for(;a;){if(b(a))return a;a=Z(a)}return null},cb=function(a,b,c,d){for(var e=a;e&&(c(e),!$(e,b));){var f=d&&a.node!==e.node&&b.node!==e.node;e=Z(e,f)}},db=function(b,c){var d=I(c,f.eq(b));return a.map(d,W).reverse()},eb=function(a,b){for(var c=a,d=0,e=b.length;e>d;d++)c=c.childNodes.length<=b[d]?c.childNodes[c.childNodes.length-1]:c.childNodes[b[d]];return c},fb=function(a,b){if(l(a.node))return R(a)?a.node:S(a)?a.node.nextSibling:a.node.splitText(a.offset);var c=a.node.childNodes[a.offset],d=P(a.node.cloneNode(!1),a.node);return Q(d,M(c)),b||(F(a.node),F(d)),d},gb=function(a,b,c){var d=I(b.node,f.eq(a));return d.length?1===d.length?fb(b,c):d.reduce(function(a,d){var e=P(d.cloneNode(!1),d);return a===b.node&&(a=fb(b,c)),Q(e,M(a)),c||(F(d),F(e)),e}):null},hb=function(a,b){var c,d,e=b?n:v,f=I(a.node,e),h=g.last(f)||a.node;e(h)?(c=f[f.length-2],d=h):(c=h,d=c.parentNode);var i=c&&gb(c,a,b);return{rightNode:i,container:d}},ib=function(a){return document.createElement(a)},jb=function(a){return document.createTextNode(a)},kb=function(a,b){if(a&&a.parentNode){if(a.removeNode)return a.removeNode(b);var c=a.parentNode;if(!b){var d,e,f=[];for(d=0,e=a.childNodes.length;e>d;d++)f.push(a.childNodes[d]);for(d=0,e=f.length;e>d;d++)c.insertBefore(f[d],a)}c.removeChild(a)}},lb=function(a,c){for(;a&&!b(a)&&c(a);){var d=a.parentNode;kb(a),a=d}},mb=function(a,b){if(a.nodeName.toUpperCase()===b.toUpperCase())return a;var c=ib(b);return a.style.cssText&&(c.style.cssText=a.style.cssText),Q(c,g.from(a.childNodes)),P(c,a),kb(a),c},nb=k("TEXTAREA"),ob=function(b,c){var d=nb(b[0])?b.val():b.html();if(c){var e=/<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g;d=d.replace(e,function(a,b,c){c=c.toUpperCase();var d=/^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(c)&&!!b,e=/^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(c);return a+(d||e?"\n":"")}),d=a.trim(d)}return d},pb=function(a,b){var c=a.val();return b?c.replace(/[\n\r]/g,""):c};return{NBSP_CHAR:h,ZERO_WIDTH_NBSP_CHAR:i,blank:C,emptyPara:"

    "+C+"

    ",makePredByNodeName:k,isEditable:b,isControlSizing:c,buildLayoutInfo:d,isText:l,isVoid:m,isPara:n,isPurePara:p,isInline:r,isBodyInline:y,isBody:z,isParaInline:x,isList:s,isTable:q,isCell:t,isBlockquote:u,isBodyContainer:v,isAnchor:w,isDiv:k("DIV"),isLi:o,isBR:k("BR"),isSpan:k("SPAN"),isB:k("B"),isU:k("U"),isS:k("S"),isI:k("I"),isImg:k("IMG"),isTextarea:nb,isEmpty:E,isEmptyAnchor:f.and(w,E),isClosestSibling:A,withClosestSiblings:B,nodeLength:D,isLeftEdgePoint:R,isRightEdgePoint:S,isEdgePoint:T,isLeftEdgeOf:U,isRightEdgeOf:V,prevPoint:Y,nextPoint:Z,isSamePoint:$,isVisiblePoint:_,prevPointUntil:ab,nextPointUntil:bb,walkPoint:cb,ancestor:G,singleChildAncestor:H,listAncestor:I,lastAncestor:J,listNext:M,listPrev:L,listDescendant:N,commonAncestor:K,wrap:O,insertAfter:P,appendChildNodes:Q,position:W,hasChildren:X,makeOffsetPath:db,fromOffsetPath:eb,splitTree:gb,splitPoint:hb,create:ib,createText:jb,remove:kb,removeWhile:lb,replace:mb,html:ob,value:pb}}(),k=function(){var b=function(a,b){var c,d,e=a.parentElement(),f=document.body.createTextRange(),h=g.from(e.childNodes);for(c=0;c=0)break;d=h[c]}if(0!==c&&j.isText(h[c-1])){var i=document.body.createTextRange(),k=null;i.moveToElementText(d||e),i.collapse(!d),k=d?d.nextSibling:e.firstChild;var l=a.duplicate();l.setEndPoint("StartToStart",i);for(var m=l.text.replace(/[\r\n]/g,"").length;m>k.nodeValue.length&&k.nextSibling;)m-=k.nodeValue.length,k=k.nextSibling;{k.nodeValue}b&&k.nextSibling&&j.isText(k.nextSibling)&&m===k.nodeValue.length&&(m-=k.nodeValue.length,k=k.nextSibling),e=k,c=m}return{cont:e,offset:c}},c=function(a){var b=function(a,c){var d,e;if(j.isText(a)){var h=j.listPrev(a,f.not(j.isText)),i=g.last(h).previousSibling;d=i||a.parentNode,c+=g.sum(g.tail(h),j.nodeLength),e=!i}else{if(d=a.childNodes[c]||a,j.isText(d))return b(d,0);c=0,e=!1}return{node:d,collapseToStart:e,offset:c}},c=document.body.createTextRange(),d=b(a.node,a.offset);return c.moveToElementText(d.node),c.collapse(d.collapseToStart),c.moveStart("character",d.offset),c},d=function(b,h,i,k){this.sc=b,this.so=h,this.ec=i,this.eo=k;var l=function(){if(e.isW3CRangeSupport){var a=document.createRange();return a.setStart(b,h),a.setEnd(i,k),a}var d=c({node:b,offset:h});return d.setEndPoint("EndToEnd",c({node:i,offset:k})),d};this.getPoints=function(){return{sc:b,so:h,ec:i,eo:k}},this.getStartPoint=function(){return{node:b,offset:h}},this.getEndPoint=function(){return{node:i,offset:k}},this.select=function(){var a=l();if(e.isW3CRangeSupport){var b=document.getSelection();b.rangeCount>0&&b.removeAllRanges(),b.addRange(a)}else a.select()},this.normalize=function(){var a=function(a){return j.isVisiblePoint(a)||(a=j.isLeftEdgePoint(a)?j.nextPointUntil(a,j.isVisiblePoint):j.prevPointUntil(a,j.isVisiblePoint)),a},b=a(this.getStartPoint()),c=a(this.getEndPoint());return new d(b.node,b.offset,c.node,c.offset)},this.nodes=function(a,b){a=a||f.ok;var c=b&&b.includeAncestor,d=b&&b.fullyContains,e=this.getStartPoint(),h=this.getEndPoint(),i=[],k=[];return j.walkPoint(e,h,function(b){if(!j.isEditable(b.node)){var e;d?(j.isLeftEdgePoint(b)&&k.push(b.node),j.isRightEdgePoint(b)&&g.contains(k,b.node)&&(e=b.node)):e=c?j.ancestor(b.node,a):b.node,e&&a(e)&&i.push(e)}},!0),g.unique(i)},this.commonAncestor=function(){return j.commonAncestor(b,i)},this.expand=function(a){var c=j.ancestor(b,a),e=j.ancestor(i,a);if(!c&&!e)return new d(b,h,i,k);var f=this.getPoints();return c&&(f.sc=c,f.so=0),e&&(f.ec=e,f.eo=j.nodeLength(e)),new d(f.sc,f.so,f.ec,f.eo)},this.collapse=function(a){return a?new d(b,h,b,h):new d(i,k,i,k)},this.splitText=function(){var a=b===i,c=this.getPoints();return j.isText(i)&&!j.isEdgePoint(this.getEndPoint())&&i.splitText(k),j.isText(b)&&!j.isEdgePoint(this.getStartPoint())&&(c.sc=b.splitText(h),c.so=0,a&&(c.ec=c.sc,c.eo=k-h)),new d(c.sc,c.so,c.ec,c.eo)},this.deleteContents=function(){if(this.isCollapsed())return this;var b=this.splitText(),c=b.nodes(null,{fullyContains:!0}),e=j.prevPointUntil(b.getStartPoint(),function(a){return!g.contains(c,a.node)}),f=[];return a.each(c,function(a,b){var c=b.parentNode;e.node!==c&&1===j.nodeLength(c)&&f.push(c),j.remove(b,!1)}),a.each(f,function(a,b){j.remove(b,!1)}),new d(e.node,e.offset,e.node,e.offset).normalize()};var m=function(a){return function(){var c=j.ancestor(b,a);return!!c&&c===j.ancestor(i,a)}};this.isOnEditable=m(j.isEditable),this.isOnList=m(j.isList),this.isOnAnchor=m(j.isAnchor),this.isOnCell=m(j.isCell),this.isLeftEdgeOf=function(a){if(!j.isLeftEdgePoint(this.getStartPoint()))return!1;var b=j.ancestor(this.sc,a);return b&&j.isLeftEdgeOf(this.sc,b)},this.isCollapsed=function(){return b===i&&h===k},this.wrapBodyInlineWithPara=function(){if(j.isBodyContainer(b)&&j.isEmpty(b))return b.innerHTML=j.emptyPara,new d(b.firstChild,0,b.firstChild,0);if(j.isParaInline(b)||j.isPara(b))return this.normalize();var a;if(j.isInline(b)){var c=j.listAncestor(b,f.not(j.isInline));a=g.last(c),j.isInline(a)||(a=c[c.length-2]||b.childNodes[h])}else a=b.childNodes[h>0?h-1:0];var e=j.listPrev(a,j.isParaInline).reverse();if(e=e.concat(j.listNext(a.nextSibling,j.isParaInline)),e.length){var i=j.wrap(g.head(e),"p");j.appendChildNodes(i,g.tail(e))}return this.normalize()},this.insertNode=function(a){var b=this.wrapBodyInlineWithPara().deleteContents(),c=j.splitPoint(b.getStartPoint(),j.isInline(a));return c.rightNode?c.rightNode.parentNode.insertBefore(a,c.rightNode):c.container.appendChild(a),a},this.toString=function(){var a=l();return e.isW3CRangeSupport?a.toString():a.text},this.bookmark=function(a){return{s:{path:j.makeOffsetPath(a,b),offset:h},e:{path:j.makeOffsetPath(a,i),offset:k}}},this.paraBookmark=function(a){return{s:{path:g.tail(j.makeOffsetPath(g.head(a),b)),offset:h},e:{path:g.tail(j.makeOffsetPath(g.last(a),i)),offset:k}}},this.getClientRects=function(){var a=l();return a.getClientRects()}};return{create:function(a,c,f,g){if(arguments.length)2===arguments.length&&(f=a,g=c);else if(e.isW3CRangeSupport){var h=document.getSelection();if(0===h.rangeCount)return null;if(j.isBody(h.anchorNode))return null;var i=h.getRangeAt(0);a=i.startContainer,c=i.startOffset,f=i.endContainer,g=i.endOffset}else{var k=document.selection.createRange(),l=k.duplicate();l.collapse(!1);var m=k;m.collapse(!0);var n=b(m,!0),o=b(l,!1);j.isText(n.node)&&j.isLeftEdgePoint(n)&&j.isTextNode(o.node)&&j.isRightEdgePoint(o)&&o.node.nextSibling===n.node&&(n=o),a=n.cont,c=n.offset,f=o.cont,g=o.offset}return new d(a,c,f,g)},createFromNode:function(a){var b=a,c=0,d=a,e=j.nodeLength(d);return j.isVoid(b)&&(c=j.listPrev(b).length-1,b=b.parentNode),j.isBR(d)?(e=j.listPrev(d).length-1,d=d.parentNode):j.isVoid(d)&&(e=j.listPrev(d).length,d=d.parentNode),this.create(b,c,d,e)},createFromBookmark:function(a,b){var c=j.fromOffsetPath(a,b.s.path),e=b.s.offset,f=j.fromOffsetPath(a,b.e.path),g=b.e.offset;return new d(c,e,f,g)},createFromParaBookmark:function(a,b){var c=a.s.offset,e=a.e.offset,f=j.fromOffsetPath(g.head(b),a.s.path),h=j.fromOffsetPath(g.last(b),a.e.path);return new d(f,c,h,e)}}}(),l={version:"0.6.2",options:{width:null,height:null,minHeight:null,maxHeight:null,focus:!1,tabsize:4,styleWithSpan:!0,disableLinkTarget:!1,disableDragAndDrop:!1,disableResizeEditor:!1,shortcuts:!0,placeholder:!1,prettifyHtml:!0,codemirror:{mode:"text/html",htmlMode:!0,lineNumbers:!0},lang:"en-US",direction:null,toolbar:[["style",["style"]],["font",["bold","italic","underline","clear"]],["fontname",["fontname"]],["color",["color"]],["para",["ul","ol","paragraph"]],["height",["height"]],["table",["table"]],["insert",["link","picture","hr"]],["view",["fullscreen","codeview"]],["help",["help"]]],airMode:!1,airPopover:[["color",["color"]],["font",["bold","underline","clear"]],["para",["ul","paragraph"]],["table",["table"]],["insert",["link","picture"]]],styleTags:["p","blockquote","pre","h1","h2","h3","h4","h5","h6"],defaultFontName:"Helvetica Neue",fontNames:["Arial","Arial Black","Comic Sans MS","Courier New","Helvetica Neue","Impact","Lucida Grande","Tahoma","Times New Roman","Verdana"],fontNamesIgnoreCheck:[],colors:[["#000000","#424242","#636363","#9C9C94","#CEC6CE","#EFEFEF","#F7F7F7","#FFFFFF"],["#FF0000","#FF9C00","#FFFF00","#00FF00","#00FFFF","#0000FF","#9C00FF","#FF00FF"],["#F7C6CE","#FFE7CE","#FFEFC6","#D6EFD6","#CEDEE7","#CEE7F7","#D6D6E7","#E7D6DE"],["#E79C9C","#FFC69C","#FFE79C","#B5D6A5","#A5C6CE","#9CC6EF","#B5A5D6","#D6A5BD"],["#E76363","#F7AD6B","#FFD663","#94BD7B","#73A5AD","#6BADDE","#8C7BC6","#C67BA5"],["#CE0000","#E79439","#EFC631","#6BA54A","#4A7B8C","#3984C6","#634AA5","#A54A7B"],["#9C0000","#B56308","#BD9400","#397B21","#104A5A","#085294","#311873","#731842"],["#630000","#7B3900","#846300","#295218","#083139","#003163","#21104A","#4A1031"]],lineHeights:["1.0","1.2","1.4","1.5","1.6","1.8","2.0","3.0"],insertTableMaxSize:{col:10,row:10},maximumImageFileSize:null,oninit:null,onfocus:null,onblur:null,onenter:null,onkeyup:null,onkeydown:null,onImageUpload:null,onImageUploadError:null,onMediaDelete:null,onToolbarClick:null,onsubmit:null,onCreateLink:function(a){return-1!==a.indexOf("@")&&-1===a.indexOf(":")?a="mailto:"+a:-1===a.indexOf("://")&&(a="http://"+a),a},keyMap:{pc:{ENTER:"insertParagraph","CTRL+Z":"undo","CTRL+Y":"redo",TAB:"tab","SHIFT+TAB":"untab","CTRL+B":"bold","CTRL+I":"italic","CTRL+U":"underline","CTRL+SHIFT+S":"strikethrough","CTRL+BACKSLASH":"removeFormat","CTRL+SHIFT+L":"justifyLeft","CTRL+SHIFT+E":"justifyCenter","CTRL+SHIFT+R":"justifyRight","CTRL+SHIFT+J":"justifyFull","CTRL+SHIFT+NUM7":"insertUnorderedList","CTRL+SHIFT+NUM8":"insertOrderedList","CTRL+LEFTBRACKET":"outdent","CTRL+RIGHTBRACKET":"indent","CTRL+NUM0":"formatPara","CTRL+NUM1":"formatH1","CTRL+NUM2":"formatH2","CTRL+NUM3":"formatH3","CTRL+NUM4":"formatH4","CTRL+NUM5":"formatH5","CTRL+NUM6":"formatH6","CTRL+ENTER":"insertHorizontalRule","CTRL+K":"showLinkDialog"},mac:{ENTER:"insertParagraph","CMD+Z":"undo","CMD+SHIFT+Z":"redo",TAB:"tab","SHIFT+TAB":"untab","CMD+B":"bold","CMD+I":"italic","CMD+U":"underline","CMD+SHIFT+S":"strikethrough","CMD+BACKSLASH":"removeFormat","CMD+SHIFT+L":"justifyLeft","CMD+SHIFT+E":"justifyCenter","CMD+SHIFT+R":"justifyRight","CMD+SHIFT+J":"justifyFull","CMD+SHIFT+NUM7":"insertUnorderedList","CMD+SHIFT+NUM8":"insertOrderedList","CMD+LEFTBRACKET":"outdent","CMD+RIGHTBRACKET":"indent","CMD+NUM0":"formatPara","CMD+NUM1":"formatH1","CMD+NUM2":"formatH2","CMD+NUM3":"formatH3","CMD+NUM4":"formatH4","CMD+NUM5":"formatH5","CMD+NUM6":"formatH6","CMD+ENTER":"insertHorizontalRule","CMD+K":"showLinkDialog"}}},lang:{"en-US":{font:{bold:"Bold",italic:"Italic",underline:"Underline",clear:"Remove Font Style",height:"Line Height",name:"Font Family"},image:{image:"Picture",insert:"Insert Image",resizeFull:"Resize Full",resizeHalf:"Resize Half",resizeQuarter:"Resize Quarter",floatLeft:"Float Left",floatRight:"Float Right",floatNone:"Float None",shapeRounded:"Shape: Rounded",shapeCircle:"Shape: Circle",shapeThumbnail:"Shape: Thumbnail",shapeNone:"Shape: None",dragImageHere:"Drag image or text here",dropImage:"Drop image or Text",selectFromFiles:"Select from files",maximumFileSize:"Maximum file size",maximumFileSizeError:"Maximum file size exceeded.",url:"Image URL",remove:"Remove Image"},link:{link:"Link",insert:"Insert Link",unlink:"Unlink",edit:"Edit",textToDisplay:"Text to display",url:"To what URL should this link go?",openInNewWindow:"Open in new window"},table:{table:"Table"},hr:{insert:"Insert Horizontal Rule"},style:{style:"Style",normal:"Normal",blockquote:"Quote",pre:"Code",h1:"Header 1",h2:"Header 2",h3:"Header 3",h4:"Header 4",h5:"Header 5",h6:"Header 6"},lists:{unordered:"Unordered list",ordered:"Ordered list"},options:{help:"Help",fullscreen:"Full Screen",codeview:"Code View"},paragraph:{paragraph:"Paragraph",outdent:"Outdent",indent:"Indent",left:"Align left",center:"Align center",right:"Align right",justify:"Justify full"},color:{recent:"Recent Color",more:"More Color",background:"Background Color",foreground:"Foreground Color",transparent:"Transparent",setTransparent:"Set transparent",reset:"Reset",resetToDefault:"Reset to default"},shortcut:{shortcuts:"Keyboard shortcuts",close:"Close",textFormatting:"Text formatting",action:"Action",paragraphFormatting:"Paragraph formatting",documentStyle:"Document Style",extraKeys:"Extra keys"},history:{undo:"Undo",redo:"Redo"}}}},m=function(){var b=function(b){return a.Deferred(function(c){a.extend(new FileReader,{onload:function(a){var b=a.target.result;c.resolve(b)},onerror:function(){c.reject(this)}}).readAsDataURL(b)}).promise()},c=function(b,c){return a.Deferred(function(d){var e=a("");e.one("load",function(){e.off("error abort"),d.resolve(e)}).one("error abort",function(){e.off("load").detach(),d.reject(e)}).css({display:"none"}).appendTo(document.body).attr({src:b,"data-filename":c})}).promise()};return{readFileAsDataURL:b,createImage:c}}(),n={isEdit:function(a){return g.contains([8,9,13,32],a)},nameFromCode:{8:"BACKSPACE",9:"TAB",13:"ENTER",32:"SPACE",48:"NUM0",49:"NUM1",50:"NUM2",51:"NUM3",52:"NUM4",53:"NUM5",54:"NUM6",55:"NUM7",56:"NUM8",66:"B",69:"E",73:"I",74:"J",75:"K",76:"L",82:"R",83:"S",85:"U",89:"Y",90:"Z",191:"SLASH",219:"LEFTBRACKET",220:"BACKSLASH",221:"RIGHTBRACKET"}},o=function(){var b=function(b,c){if(e.jqueryVersion<1.9){var d={};return a.each(c,function(a,c){d[c]=b.css(c)}),d}return b.css.call(b,c)};this.stylePara=function(b,c){a.each(b.nodes(j.isPara,{includeAncestor:!0}),function(b,d){a(d).css(c)})},this.styleNodes=function(b,c){b=b.splitText();var d=c&&c.nodeName||"SPAN",e=!(!c||!c.expandClosestSibling),h=!(!c||!c.onlyPartialContains);if(b.isCollapsed())return b.insertNode(j.create(d));var i=j.makePredByNodeName(d),k=a.map(b.nodes(j.isText,{fullyContains:!0}),function(a){return j.singleChildAncestor(a,i)||j.wrap(a,d)});if(e){if(h){var l=b.nodes();i=f.and(i,function(a){return g.contains(l,a)})}return a.map(k,function(b){var c=j.withClosestSiblings(b,i),d=g.head(c),e=g.tail(c);return a.each(e,function(a,b){j.appendChildNodes(d,b.childNodes),j.remove(b)}),g.head(c)})}return k},this.current=function(c,d){var e=a(j.isText(c.sc)?c.sc.parentNode:c.sc),f=["font-family","font-size","text-align","list-style-type","line-height"],g=b(e,f)||{};if(g["font-size"]=parseInt(g["font-size"],10),g["font-bold"]=document.queryCommandState("bold")?"bold":"normal",g["font-italic"]=document.queryCommandState("italic")?"italic":"normal",g["font-underline"]=document.queryCommandState("underline")?"underline":"normal",g["font-strikethrough"]=document.queryCommandState("strikeThrough")?"strikethrough":"normal",g["font-superscript"]=document.queryCommandState("superscript")?"superscript":"normal",g["font-subscript"]=document.queryCommandState("subscript")?"subscript":"normal",c.isOnList()){var h=["circle","disc","disc-leading-zero","square"],i=a.inArray(g["list-style-type"],h)>-1;g["list-style"]=i?"unordered":"ordered"}else g["list-style"]="none";var k=j.ancestor(c.sc,j.isPara);if(k&&k.style["line-height"])g["line-height"]=k.style.lineHeight;else{var l=parseInt(g["line-height"],10)/parseInt(g["font-size"],10);g["line-height"]=l.toFixed(1)}return g.image=j.isImg(d)&&d,g.anchor=c.isOnAnchor()&&j.ancestor(c.sc,j.isAnchor),g.ancestors=j.listAncestor(c.sc,j.isEditable),g.range=c,g}},p=function(){this.insertTab=function(a,b,c){var d=j.createText(new Array(c+1).join(j.NBSP_CHAR));b=b.deleteContents(),b.insertNode(d,!0),b=k.create(d,c),b.select()},this.insertParagraph=function(){var b=k.create();b=b.deleteContents(),b=b.wrapBodyInlineWithPara();var c,d=j.ancestor(b.sc,j.isPara);if(d){c=j.splitTree(d,b.getStartPoint());var e=j.listDescendant(d,j.isEmptyAnchor);e=e.concat(j.listDescendant(c,j.isEmptyAnchor)),a.each(e,function(a,b){j.remove(b)})}else{var f=b.sc.childNodes[b.so];c=a(j.emptyPara)[0],f?b.sc.insertBefore(c,f):b.sc.appendChild(c)}k.create(c,0).normalize().select()}},q=function(){this.tab=function(a,b){var c=j.ancestor(a.commonAncestor(),j.isCell),d=j.ancestor(c,j.isTable),e=j.listDescendant(d,j.isCell),f=g[b?"prev":"next"](e,c);f&&k.create(f,0).select()},this.createTable=function(b,c){for(var d,e=[],f=0;b>f;f++)e.push(""+j.blank+"");d=e.join("");for(var g,h=[],i=0;c>i;i++)h.push(""+d+"");return g=h.join(""),a(''+g+"
    ")[0]}},r=function(){this.insertOrderedList=function(){this.toggleList("OL")},this.insertUnorderedList=function(){this.toggleList("UL")},this.indent=function(){var b=this,c=k.create().wrapBodyInlineWithPara(),d=c.nodes(j.isPara,{includeAncestor:!0}),e=g.clusterBy(d,f.peq2("parentNode"));a.each(e,function(c,d){var e=g.head(d);j.isLi(e)?b.wrapList(d,e.parentNode.nodeName):a.each(d,function(b,c){a(c).css("marginLeft",function(a,b){return(parseInt(b,10)||0)+25})})}),c.select()},this.outdent=function(){var b=this,c=k.create().wrapBodyInlineWithPara(),d=c.nodes(j.isPara,{includeAncestor:!0}),e=g.clusterBy(d,f.peq2("parentNode"));a.each(e,function(c,d){var e=g.head(d);j.isLi(e)?b.releaseList([d]):a.each(d,function(b,c){a(c).css("marginLeft",function(a,b){return b=parseInt(b,10)||0,b>25?b-25:""})})}),c.select()},this.toggleList=function(b){var c=this,d=k.create().wrapBodyInlineWithPara(),e=d.nodes(j.isPara,{includeAncestor:!0}),h=d.paraBookmark(e),i=g.clusterBy(e,f.peq2("parentNode"));if(g.find(e,j.isPurePara)){var l=[];a.each(i,function(a,d){l=l.concat(c.wrapList(d,b))}),e=l}else{var m=d.nodes(j.isList,{includeAncestor:!0}).filter(function(c){return!a.nodeName(c,b)});m.length?a.each(m,function(a,c){j.replace(c,b)}):e=this.releaseList(i,!0)}k.createFromParaBookmark(h,e).select()},this.wrapList=function(b,c){var d=g.head(b),e=g.last(b),f=j.isList(d.previousSibling)&&d.previousSibling,h=j.isList(e.nextSibling)&&e.nextSibling,i=f||j.insertAfter(j.create(c||"UL"),e);return b=a.map(b,function(a){return j.isPurePara(a)?j.replace(a,"LI"):a}),j.appendChildNodes(i,b),h&&(j.appendChildNodes(i,g.from(h.childNodes)),j.remove(h)),b},this.releaseList=function(b,c){var d=[];return a.each(b,function(b,e){var f=g.head(e),h=g.last(e),i=c?j.lastAncestor(f,j.isList):f.parentNode,k=i.childNodes.length>1?j.splitTree(i,{node:h.parentNode,offset:j.position(h)+1},!0):null,l=j.splitTree(i,{node:f.parentNode,offset:j.position(f)},!0);e=c?j.listDescendant(l,j.isLi):g.from(l.childNodes).filter(j.isLi),(c||!j.isList(i.parentNode))&&(e=a.map(e,function(a){return j.replace(a,"P")})),a.each(g.from(e).reverse(),function(a,b){j.insertAfter(b,i)});var m=g.compact([i,l,k]);a.each(m,function(b,c){var d=[c].concat(j.listDescendant(c,j.isList));a.each(d.reverse(),function(a,b){j.nodeLength(b)||j.remove(b,!0)})}),d=d.concat(e)}),d}},s=function(){var b=new o,c=new q,d=new p,f=new r;this.createRange=function(a){return a.focus(),k.create()},this.saveRange=function(a,b){a.focus(),a.data("range",k.create()),b&&k.create().collapse().select()},this.saveNode=function(a){for(var b=[],c=0,d=a[0].childNodes.length;d>c;c++)b.push(a[0].childNodes[c]);a.data("childNodes",b)},this.restoreRange=function(a){var b=a.data("range");b&&(b.select(),a.focus())},this.restoreNode=function(a){a.html("");for(var b=a.data("childNodes"),c=0,d=b.length;d>c;c++)a[0].appendChild(b[c])},this.currentStyle=function(a){var c=k.create();return c?c.isOnEditable()&&b.current(c,a):!1};var h=this.triggerOnBeforeChange=function(a){var b=a.data("callbacks").onBeforeChange;b&&b(a.html(),a)},i=this.triggerOnChange=function(a){var b=a.data("callbacks").onChange;b&&b(a.html(),a)};this.undo=function(a){h(a),a.data("NoteHistory").undo(),i(a)},this.redo=function(a){h(a),a.data("NoteHistory").redo(),i(a)};for(var l=this.beforeCommand=function(a){h(a)},n=this.afterCommand=function(a){a.data("NoteHistory").recordUndo(),i(a)},s=["bold","italic","underline","strikethrough","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","formatBlock","removeFormat","backColor","foreColor","insertHorizontalRule","fontName"],t=0,u=s.length;u>t;t++)this[s[t]]=function(a){return function(b,c){l(b),document.execCommand(a,!1,c),n(b)}}(s[t]);this.tab=function(a,b){var e=k.create();e.isCollapsed()&&e.isOnCell()?c.tab(e):(l(a),d.insertTab(a,e,b.tabsize),n(a))},this.untab=function(){var a=k.create();a.isCollapsed()&&a.isOnCell()&&c.tab(a,!0)},this.insertParagraph=function(a){l(a),d.insertParagraph(a),n(a)},this.insertOrderedList=function(a){l(a),f.insertOrderedList(a),n(a)},this.insertUnorderedList=function(a){l(a),f.insertUnorderedList(a),n(a)},this.indent=function(a){l(a),f.indent(a),n(a)},this.outdent=function(a){l(a),f.outdent(a),n(a)},this.insertImage=function(a,b,c){m.createImage(b,c).then(function(b){l(a),b.css({display:"",width:Math.min(a.width(),b.width())}),k.create().insertNode(b[0]),k.createFromNode(b[0]).collapse().select(),n(a)}).fail(function(){var b=a.data("callbacks");b.onImageUploadError&&b.onImageUploadError()})},this.insertNode=function(a,b){l(a);var c=this.createRange(a);c.insertNode(b),k.createFromNode(b).collapse().select(),n(a)},this.insertText=function(a,b){l(a);var c=this.createRange(a),d=c.insertNode(j.createText(b));k.create(d,j.nodeLength(d)).select(),n(a)},this.formatBlock=function(a,b){l(a),b=e.isMSIE?"<"+b+">":b,document.execCommand("FormatBlock",!1,b),n(a)},this.formatPara=function(a){l(a),this.formatBlock(a,"P"),n(a)};for(var t=1;6>=t;t++)this["formatH"+t]=function(a){return function(b){this.formatBlock(b,"H"+a)}}(t);this.fontSize=function(a,b){l(a),document.execCommand("fontSize",!1,3),e.isFF?a.find("font[size=3]").removeAttr("size").css("font-size",b+"px"):a.find("span").filter(function(){return"medium"===this.style.fontSize}).css("font-size",b+"px"),n(a)},this.lineHeight=function(a,c){l(a),b.stylePara(k.create(),{lineHeight:c}),n(a)},this.unlink=function(a){var b=k.create();if(b.isOnAnchor()){var c=j.ancestor(b.sc,j.isAnchor);b=k.createFromNode(c),b.select(),l(a),document.execCommand("unlink"),n(a)}},this.createLink=function(c,d,e){var f=d.url,h=d.text,i=d.newWindow,j=d.range,m=j.toString()!==h;l(c),e.onCreateLink&&(f=e.onCreateLink(f));var o;if(m){var p=j.insertNode(a(""+h+"")[0]);o=[p]}else o=b.styleNodes(j,{nodeName:"A",expandClosestSibling:!0,onlyPartialContains:!0});a.each(o,function(b,c){a(c).attr({href:f,target:i?"_blank":""})});var q=k.createFromNode(g.head(o)).collapse(!0),r=q.getStartPoint(),s=k.createFromNode(g.last(o)).collapse(),t=s.getEndPoint();k.create(r.node,r.offset,t.node,t.offset).select(),n(c)},this.getLinkInfo=function(b){b.focus();var c=k.create().expand(j.isAnchor),d=a(g.head(c.nodes(j.isAnchor)));return{range:c,text:c.toString(),isNewWindow:d.length?"_blank"===d.attr("target"):!0,url:d.length?d.attr("href"):""}},this.color=function(a,b){var c=JSON.parse(b),d=c.foreColor,e=c.backColor;l(a),d&&document.execCommand("foreColor",!1,d),e&&document.execCommand("backColor",!1,e),n(a)},this.insertTable=function(a,b){var d=b.split("x"); +l(a);var e=k.create();e=e.deleteContents(),e.insertNode(c.createTable(d[0],d[1])),n(a)},this.floatMe=function(a,b,c){l(a),c.css("float",b),n(a)},this.imageShape=function(a,b,c){l(a),c.removeClass("img-rounded img-circle img-thumbnail"),b&&c.addClass(b),n(a)},this.resize=function(a,b,c){l(a),c.css({width:100*b+"%",height:""}),n(a)},this.resizeTo=function(a,b,c){var d;if(c){var e=a.y/a.x,f=b.data("ratio");d={width:f>e?a.x:a.y/f,height:f>e?a.x*f:a.y}}else d={width:a.x,height:a.y};b.css(d)},this.removeMedia=function(a,b,c){l(a),c.detach();var d=a.data("callbacks");d&&d.onMediaDelete&&d.onMediaDelete(c,this,a),n(a)}},t=function(a){var b=[],c=-1,d=a[0],e=function(){var b=k.create(),c={s:{path:[0],offset:0},e:{path:[0],offset:0}};return{contents:a.html(),bookmark:b?b.bookmark(d):c}},f=function(b){null!==b.contents&&a.html(b.contents),null!==b.bookmark&&k.createFromBookmark(d,b.bookmark).select()};this.undo=function(){c>0&&(c--,f(b[c]))},this.redo=function(){b.length-1>c&&(c++,f(b[c]))},this.recordUndo=function(){c++,b.length>c&&(b=b.slice(0,c)),b.push(e())},this.recordUndo()},u=function(){this.update=function(b,c){var d=function(b,c){b.find(".dropdown-menu li a").each(function(){var b=a(this).data("value")+""==c+"";this.className=b?"checked":""})},e=function(a,c){var d=b.find(a);d.toggleClass("active",c())};if(c.image){var f=a(c.image);e('button[data-event="imageShape"][data-value="img-rounded"]',function(){return f.hasClass("img-rounded")}),e('button[data-event="imageShape"][data-value="img-circle"]',function(){return f.hasClass("img-circle")}),e('button[data-event="imageShape"][data-value="img-thumbnail"]',function(){return f.hasClass("img-thumbnail")}),e('button[data-event="imageShape"]:not([data-value])',function(){return!f.is(".img-rounded, .img-circle, .img-thumbnail")});var h=f.css("float");e('button[data-event="floatMe"][data-value="left"]',function(){return"left"===h}),e('button[data-event="floatMe"][data-value="right"]',function(){return"right"===h}),e('button[data-event="floatMe"][data-value="none"]',function(){return"left"!==h&&"right"!==h});var i=f.attr("style");return e('button[data-event="resize"][data-value="1"]',function(){return!!/(^|\s)(max-)?width\s*:\s*100%/.test(i)}),e('button[data-event="resize"][data-value="0.5"]',function(){return!!/(^|\s)(max-)?width\s*:\s*50%/.test(i)}),void e('button[data-event="resize"][data-value="0.25"]',function(){return!!/(^|\s)(max-)?width\s*:\s*25%/.test(i)})}var j=b.find(".note-fontname");if(j.length){var k=c["font-family"];k&&(k=g.head(k.split(",")),k=k.replace(/\'/g,""),j.find(".note-current-fontname").text(k),d(j,k))}var l=b.find(".note-fontsize");l.find(".note-current-fontsize").text(c["font-size"]),d(l,parseFloat(c["font-size"]));var m=b.find(".note-height");d(m,parseFloat(c["line-height"])),e('button[data-event="bold"]',function(){return"bold"===c["font-bold"]}),e('button[data-event="italic"]',function(){return"italic"===c["font-italic"]}),e('button[data-event="underline"]',function(){return"underline"===c["font-underline"]}),e('button[data-event="strikethrough"]',function(){return"strikethrough"===c["font-strikethrough"]}),e('button[data-event="superscript"]',function(){return"superscript"===c["font-superscript"]}),e('button[data-event="subscript"]',function(){return"subscript"===c["font-subscript"]}),e('button[data-event="justifyLeft"]',function(){return"left"===c["text-align"]||"start"===c["text-align"]}),e('button[data-event="justifyCenter"]',function(){return"center"===c["text-align"]}),e('button[data-event="justifyRight"]',function(){return"right"===c["text-align"]}),e('button[data-event="justifyFull"]',function(){return"justify"===c["text-align"]}),e('button[data-event="insertUnorderedList"]',function(){return"unordered"===c["list-style"]}),e('button[data-event="insertOrderedList"]',function(){return"ordered"===c["list-style"]})},this.updateRecentColor=function(b,c,d){var e=a(b).closest(".note-color"),f=e.find(".note-recent-color"),g=JSON.parse(f.attr("data-value"));g[c]=d,f.attr("data-value",JSON.stringify(g));var h="backColor"===c?"background-color":"color";f.find("i").css(h,d)}},v=function(){var a=new u;this.update=function(b,c){a.update(b,c)},this.updateRecentColor=function(b,c,d){a.updateRecentColor(b,c,d)},this.activate=function(a){a.find("button").not('button[data-event="codeview"]').removeClass("disabled")},this.deactivate=function(a){a.find("button").not('button[data-event="codeview"]').addClass("disabled")},this.updateFullscreen=function(a,b){var c=a.find('button[data-event="fullscreen"]');c.toggleClass("active",b)},this.updateCodeview=function(a,b){var c=a.find('button[data-event="codeview"]');c.toggleClass("active",b)}},w=function(){var b=new u,c=function(b,c){var d=a(b),e=c?d.offset():d.position(),f=d.outerHeight(!0);return{left:e.left,top:e.top+f}},d=function(a,b){a.css({display:"block",left:b.left,top:b.top})},e=20;this.update=function(h,i,j){b.update(h,i);var k=h.find(".note-link-popover");if(i.anchor){var l=k.find("a"),m=a(i.anchor).attr("href");l.attr("href",m).html(m),d(k,c(i.anchor,j))}else k.hide();var n=h.find(".note-image-popover");i.image?d(n,c(i.image,j)):n.hide();var o=h.find(".note-air-popover");if(j&&!i.range.isCollapsed()){var p=g.last(i.range.getClientRects());if(p){var q=f.rect2bnd(p);d(o,{left:Math.max(q.left+q.width/2-e,0),top:q.top+q.height})}}else o.hide()},this.updateRecentColor=function(a,b,c){a.updateRecentColor(a,b,c)},this.hide=function(a){a.children().hide()}},x=function(){this.update=function(b,c,d){var e=b.find(".note-control-selection");if(c.image){var f=a(c.image),g=d?f.offset():f.position(),h={w:f.outerWidth(!0),h:f.outerHeight(!0)};e.css({display:"block",left:g.left,top:g.top,width:h.w,height:h.h}).data("target",c.image);var i=h.w+"x"+h.h;e.find(".note-control-selection-info").text(i)}else e.hide()},this.hide=function(a){a.children().hide()}},y=function(){var b=function(a,b){a.toggleClass("disabled",!b),a.attr("disabled",!b)};this.showImageDialog=function(c,d){return a.Deferred(function(a){var c=d.find(".note-image-dialog"),e=d.find(".note-image-input"),f=d.find(".note-image-url"),g=d.find(".note-image-btn");c.one("shown.bs.modal",function(){e.replaceWith(e.clone().on("change",function(){a.resolve(this.files||this.value),c.modal("hide")}).val("")),g.click(function(b){b.preventDefault(),a.resolve(f.val()),c.modal("hide")}),f.on("keyup paste",function(a){var c;c="paste"===a.type?a.originalEvent.clipboardData.getData("text"):f.val(),b(g,c)}).val("").trigger("focus")}).one("hidden.bs.modal",function(){e.off("change"),f.off("keyup paste"),g.off("click"),"pending"===a.state()&&a.reject()}).modal("show")})},this.showLinkDialog=function(c,d,e){return a.Deferred(function(a){var c=d.find(".note-link-dialog"),f=c.find(".note-link-text"),g=c.find(".note-link-url"),h=c.find(".note-link-btn"),i=c.find("input[type=checkbox]");c.one("shown.bs.modal",function(){f.val(e.text),f.on("input",function(){e.text=f.val()}),e.url||(e.url=e.text,b(h,e.text)),g.on("input",function(){b(h,g.val()),e.text||f.val(g.val())}).val(e.url).trigger("focus").trigger("select"),i.prop("checked",e.newWindow),h.one("click",function(b){b.preventDefault(),a.resolve({range:e.range,url:g.val(),text:f.val(),newWindow:i.is(":checked")}),c.modal("hide")})}).one("hidden.bs.modal",function(){f.off("input"),g.off("input"),h.off("click"),"pending"===a.state()&&a.reject()}).modal("show")}).promise()},this.showHelpDialog=function(b,c){return a.Deferred(function(a){var b=c.find(".note-help-dialog");b.one("hidden.bs.modal",function(){a.resolve()}).modal("show")}).promise()}};e.hasCodeMirror&&(e.isSupportAmd?require(["CodeMirror"],function(a){b=a}):b=window.CodeMirror);var z=function(){var c=a(window),d=a(document),f=a("html, body"),h=new s,i=new v,k=new w,l=new x,o=new y;this.getEditor=function(){return h};var p=function(b){var c=a(b).closest(".note-editor, .note-air-editor, .note-air-layout");if(!c.length)return null;var d;return d=c.is(".note-editor, .note-air-editor")?c:a("#note-editor-"+g.last(c.attr("id").split("-"))),j.buildLayoutInfo(d)},q=function(b,c){var d=b.editor(),e=b.editable(),f=e.data("callbacks"),g=d.data("options");f.onImageUpload?f.onImageUpload(c,h,e):a.each(c,function(a,b){var c=b.name;g.maximumImageFileSize&&g.maximumImageFileSize0?Math.max(d,f.minHeight):d,d=f.maxHeight>0?Math.min(d,f.maxHeight):d,b.height(d)}).one("mouseup",function(){d.off("mousemove")})},H=18,I=function(b,c){var d,e=a(b.target.parentNode),f=e.next(),g=e.find(".note-dimension-picker-mousecatcher"),h=e.find(".note-dimension-picker-highlighted"),i=e.find(".note-dimension-picker-unhighlighted");if(void 0===b.offsetX){var j=a(b.target).offset();d={x:b.pageX-j.left,y:b.pageY-j.top}}else d={x:b.offsetX,y:b.offsetY};var k={c:Math.ceil(d.x/H)||1,r:Math.ceil(d.y/H)||1};h.css({width:k.c+"em",height:k.r+"em"}),g.attr("data-value",k.c+"x"+k.r),3'+a+(g?' ':"")+""+(g||"")},c=function(a,c){var d='';return b(d,c)},d=function(a,b){return'"},g=function(a,b,c,d){return'"},h={picture:function(a){return c("fa fa-picture-o",{event:"showImageDialog",title:a.image.image,hide:!0})},link:function(a){return c("fa fa-link",{event:"showLinkDialog",title:a.link.link,hide:!0})},table:function(a){var b='';return c("fa fa-table",{title:a.table.table,dropdown:b})},style:function(a,b){var d=b.styleTags.reduce(function(b,c){var d=a.style["p"===c?"normal":c];return b+'
  • '+("p"===c||"pre"===c?d:"<"+c+">"+d+"")+"
  • "},"");return c("fa fa-magic",{title:a.style.style,dropdown:'"})},fontname:function(a,c){var d=c.fontNames.reduce(function(a,b){return e.isFontInstalled(b)||-1!==c.fontNamesIgnoreCheck.indexOf(b)?a+'
  • '+b+"
  • ":a},""),f=''+c.defaultFontName+"";return b(f,{title:a.font.name,dropdown:'"})},color:function(a){var c='',d=b(c,{className:"note-recent-color",title:a.color.recent,event:"color",value:'{"backColor":"yellow"}'}),e='',f=b("",{title:a.color.more,dropdown:e});return d+f},bold:function(a){return c("fa fa-bold",{event:"bold",title:a.font.bold})},italic:function(a){return c("fa fa-italic",{event:"italic",title:a.font.italic})},underline:function(a){return c("fa fa-underline",{event:"underline",title:a.font.underline})},clear:function(a){return c("fa fa-eraser",{event:"removeFormat",title:a.font.clear})},ul:function(a){return c("fa fa-list-ul",{event:"insertUnorderedList",title:a.lists.unordered})},ol:function(a){return c("fa fa-list-ol",{event:"insertOrderedList",title:a.lists.ordered})},paragraph:function(a){var b=c("fa fa-align-left",{title:a.paragraph.left,event:"justifyLeft"}),d=c("fa fa-align-center",{title:a.paragraph.center,event:"justifyCenter"}),e=c("fa fa-align-right",{title:a.paragraph.right,event:"justifyRight"}),f=c("fa fa-align-justify",{title:a.paragraph.justify,event:"justifyFull"}),g=c("fa fa-outdent",{title:a.paragraph.outdent,event:"outdent"}),h=c("fa fa-indent",{title:a.paragraph.indent,event:"indent"}),i='";return c("fa fa-align-left",{title:a.paragraph.paragraph,dropdown:i})},height:function(a,b){var d=b.lineHeights.reduce(function(a,b){return a+'
  • '+b+"
  • "},"");return c("fa fa-text-height",{title:a.font.height,dropdown:'"})},help:function(a){return c("fa fa-question",{event:"showHelpDialog",title:a.options.help,hide:!0})},fullscreen:function(a){return c("fa fa-arrows-alt",{event:"fullscreen",title:a.options.fullscreen})},codeview:function(a){return c("fa fa-code",{event:"codeview",title:a.options.codeview})},undo:function(a){return c("fa fa-undo",{event:"undo",title:a.history.undo})},redo:function(a){return c("fa fa-repeat",{event:"redo",title:a.history.redo})},hr:function(a){return c("fa fa-minus",{event:"insertHorizontalRule",title:a.hr.insert})}},i=function(a,e){var f=function(){var b=c("fa fa-edit",{title:a.link.edit,event:"showLinkDialog",hide:!0}),e=c("fa fa-unlink",{title:a.link.unlink,event:"unlink"}),f='www.google.com  
    '+b+e+"
    ";return d("note-link-popover",f)},g=function(){var e=b('100%',{title:a.image.resizeFull,event:"resize",value:"1"}),f=b('50%',{title:a.image.resizeHalf,event:"resize",value:"0.5"}),g=b('25%',{title:a.image.resizeQuarter,event:"resize",value:"0.25"}),h=c("fa fa-align-left",{title:a.image.floatLeft,event:"floatMe",value:"left"}),i=c("fa fa-align-right",{title:a.image.floatRight,event:"floatMe",value:"right"}),j=c("fa fa-align-justify",{title:a.image.floatNone,event:"floatMe",value:"none"}),k=c("fa fa-square",{title:a.image.shapeRounded,event:"imageShape",value:"img-rounded"}),l=c("fa fa-circle-o",{title:a.image.shapeCircle,event:"imageShape",value:"img-circle"}),m=c("fa fa-picture-o",{title:a.image.shapeThumbnail,event:"imageShape",value:"img-thumbnail"}),n=c("fa fa-times",{title:a.image.shapeNone,event:"imageShape",value:""}),o=c("fa fa-trash-o",{title:a.image.remove,event:"removeMedia",value:"none"}),p='
    '+e+f+g+'
    '+h+i+j+'
    '+k+l+m+n+'
    '+o+"
    ";return d("note-image-popover",p)},i=function(){for(var b="",c=0,f=e.airPopover.length;f>c;c++){var g=e.airPopover[c];b+='
    ';for(var i=0,j=g[1].length;j>i;i++)b+=h[g[1][i]](a,e);b+="
    "}return d("note-air-popover",b)};return'
    '+f()+g()+(e.airMode?i():"")+"
    "},k=function(){return'
    '},l=function(a,b){var c="note-shortcut-col col-xs-6 note-shortcut-",d=[];for(var e in b)b.hasOwnProperty(e)&&d.push('
    '+b[e].kbd+'
    '+b[e].text+"
    ");return'
    '+a+'
    '+d.join('
    ')+"
    "},m=function(a){var b=[{kbd:"⌘ + B",text:a.font.bold},{kbd:"⌘ + I",text:a.font.italic},{kbd:"⌘ + U",text:a.font.underline},{kbd:"⌘ + \\",text:a.font.clear}];return l(a.shortcut.textFormatting,b)},n=function(a){var b=[{kbd:"⌘ + Z",text:a.history.undo},{kbd:"⌘ + ⇧ + Z",text:a.history.redo},{kbd:"⌘ + ]",text:a.paragraph.indent},{kbd:"⌘ + [",text:a.paragraph.outdent},{kbd:"⌘ + ENTER",text:a.hr.insert}];return l(a.shortcut.action,b)},o=function(a){var b=[{kbd:"⌘ + ⇧ + L",text:a.paragraph.left},{kbd:"⌘ + ⇧ + E",text:a.paragraph.center},{kbd:"⌘ + ⇧ + R",text:a.paragraph.right},{kbd:"⌘ + ⇧ + J",text:a.paragraph.justify},{kbd:"⌘ + ⇧ + NUM7",text:a.lists.ordered},{kbd:"⌘ + ⇧ + NUM8",text:a.lists.unordered}];return l(a.shortcut.paragraphFormatting,b)},p=function(a){var b=[{kbd:"⌘ + NUM0",text:a.style.normal},{kbd:"⌘ + NUM1",text:a.style.h1},{kbd:"⌘ + NUM2",text:a.style.h2},{kbd:"⌘ + NUM3",text:a.style.h3},{kbd:"⌘ + NUM4",text:a.style.h4},{kbd:"⌘ + NUM5",text:a.style.h5},{kbd:"⌘ + NUM6",text:a.style.h6}];return l(a.shortcut.documentStyle,b)},q=function(a,b){var c=b.extraKeys,d=[];for(var e in c)c.hasOwnProperty(e)&&d.push({kbd:e,text:c[e]});return l(a.shortcut.extraKeys,d)},r=function(a,b){var c='class="note-shortcut note-shortcut-col col-sm-6 col-xs-12"',d=["
    "+n(a,b)+"
    "+m(a,b)+"
    ","
    "+p(a,b)+"
    "+o(a,b)+"
    "];return b.extraKeys&&d.push("
    "+q(a,b)+"
    "),'
    '+d.join('
    ')+"
    "},s=function(a){return a.replace(/⌘/g,"Ctrl").replace(/⇧/g,"Shift")},t={image:function(a,b){var c="";if(b.maximumImageFileSize){var d=Math.floor(Math.log(b.maximumImageFileSize)/Math.log(1024)),e=1*(b.maximumImageFileSize/Math.pow(1024,d)).toFixed(2)+" "+" KMGTP"[d]+"B";c=""+a.image.maximumFileSize+" : "+e+""}var f='
    '+c+'
    ',h='";return g("note-image-dialog",a.image.insert,f,h)},link:function(a,b){var c='
    '+(b.disableLinkTarget?"":'
    "),d='";return g("note-link-dialog",a.link.insert,c,d)},help:function(a,b){var c='
    '+a.shortcut.shortcuts+"
    "+(e.isMac?r(a,b):s(r(a,b)))+'

    Summernote 0.6.2 · Project · Issues

    ';return g("note-help-dialog","",c,"")}},u=function(b,c){var d="";return a.each(t,function(a,e){d+=e(b,c)}),'
    '+d+"
    "},v=function(){return'
    '},w=function(a){return e.isMac&&(a=a.replace("CMD","⌘").replace("SHIFT","⇧")),a.replace("BACKSLASH","\\").replace("SLASH","/").replace("LEFTBRACKET","[").replace("RIGHTBRACKET","]")},x=function(b,c,d){var e=f.invertObject(c),g=b.find("button");g.each(function(b,c){var d=a(c),f=e[d.data("event")];f&&d.attr("title",function(a,b){return b+" ("+w(f)+")"})}).tooltip({container:"body",trigger:"hover",placement:d||"top"}).on("click",function(){a(this).tooltip("hide")})},y=function(b,c){var d=c.colors;b.find(".note-color-palette").each(function(){for(var b=a(this),c=b.attr("data-target-event"),e=[],f=0,g=d.length;g>f;f++){for(var h=d[f],i=[],j=0,k=h.length;k>j;j++){var l=h[j];i.push([''].join(""))}e.push('
    '+i.join("")+"
    ")}b.html(e.join(""))})};this.createLayoutByAirMode=function(b,c){var d=c.langInfo,g=c.keyMap[e.isMac?"mac":"pc"],h=f.uniqueId();b.addClass("note-air-editor note-editable"),b.attr({id:"note-editor-"+h,contentEditable:!0});var j=document.body,l=a(i(d,c));l.addClass("note-air-layout"),l.attr("id","note-popover-"+h),l.appendTo(j),x(l,g),y(l,c);var m=a(k());m.addClass("note-air-layout"),m.attr("id","note-handle-"+h),m.appendTo(j);var n=a(u(d,c));n.addClass("note-air-layout"),n.attr("id","note-dialog-"+h),n.find("button.close, a.modal-close").click(function(){a(this).closest(".modal").modal("hide")}),n.appendTo(j)},this.createLayoutByFrame=function(b,c){var d=c.langInfo,f=a('
    ');c.width&&f.width(c.width),c.height>0&&a('
    '+(c.disableResizeEditor?"":v())+"
    ").prependTo(f);var g=!b.is(":disabled"),l=a('
    ').prependTo(f);c.height&&l.height(c.height),c.direction&&l.attr("dir",c.direction);var m=b.attr("placeholder")||c.placeholder;m&&l.attr("data-placeholder",m),l.html(j.html(b)),a('').prependTo(f);for(var n="",o=0,p=c.toolbar.length;p>o;o++){var q=c.toolbar[o][0],r=c.toolbar[o][1];n+='
    ';for(var s=0,t=r.length;t>s;s++){var w=h[r[s]];a.isFunction(w)&&(n+=w(d,c))}n+="
    "}n='
    '+n+"
    ";var z=a(n).prependTo(f),A=c.keyMap[e.isMac?"mac":"pc"];y(z,c),x(z,A,"bottom");var B=a(i(d,c)).prependTo(f);y(B,c),x(B,A),a(k()).prependTo(f);var C=a(u(d,c)).prependTo(f);C.find("button.close, a.modal-close").click(function(){a(this).closest(".modal").modal("hide")}),a('
    ').prependTo(f),f.insertAfter(b),b.hide()},this.noteEditorFromHolder=function(b){return b.hasClass("note-air-editor")?b:b.next().hasClass("note-editor")?b.next():a()},this.createLayout=function(a,b){this.noteEditorFromHolder(a).length||(b.airMode?this.createLayoutByAirMode(a,b):this.createLayoutByFrame(a,b))},this.layoutInfoFromHolder=function(a){var b=this.noteEditorFromHolder(a); +if(b.length){var c=j.buildLayoutInfo(b);for(var d in c)c.hasOwnProperty(d)&&(c[d]=c[d].call());return c}},this.removeLayout=function(a,b,c){c.airMode?(a.removeClass("note-air-editor note-editable").removeAttr("id contentEditable"),b.popover.remove(),b.handle.remove(),b.dialog.remove()):(a.html(b.editable.html()),b.editor.remove(),a.show())},this.getTemplate=function(){return{button:b,iconButton:c,dialog:g}},this.addButtonInfo=function(a,b){h[a]=b},this.addDialogInfo=function(a,b){t[a]=b}};a.summernote=a.summernote||{},a.extend(a.summernote,l);var B=new A,C=new z;a.extend(a.summernote,{renderer:B,eventHandler:C,core:{agent:e,dom:j,range:k},pluginEvents:{}}),a.summernote.addPlugin=function(b){b.buttons&&a.each(b.buttons,function(a,b){B.addButtonInfo(a,b)}),b.dialogs&&a.each(b.dialogs,function(a,b){B.addDialogInfo(a,b)}),b.events&&a.each(b.events,function(b,c){a.summernote.pluginEvents[b]=c}),b.langs&&a.each(b.langs,function(b,c){a.summernote.lang[b]&&a.extend(a.summernote.lang[b],c)}),b.options&&a.extend(a.summernote.options,b.options)},a.fn.extend({summernote:function(b){if(b=a.extend({},a.summernote.options,b),b.langInfo=a.extend(!0,{},a.summernote.lang["en-US"],a.summernote.lang[b.lang]),this.each(function(c,d){var e=a(d);B.createLayout(e,b);var f=B.layoutInfoFromHolder(e);C.attach(f,b),j.isTextarea(e[0])&&e.closest("form").submit(function(){var a=e.code();e.val(a),b.onsubmit&&b.onsubmit(a)})}),this.first().length&&b.focus){var c=B.layoutInfoFromHolder(this.first());c.editable.focus()}return this.length&&b.oninit&&b.oninit(),this},code:function(b){if(void 0===b){var c=this.first();if(!c.length)return;var d=B.layoutInfoFromHolder(c);if(d&&d.editable){var f=d.editor.hasClass("codeview");return f&&e.hasCodeMirror&&d.codable.data("cmEditor").save(),f?d.codable.val():d.editable.html()}return j.isTextarea(c[0])?c.val():c.html()}return this.each(function(c,d){var e=B.layoutInfoFromHolder(a(d));e&&e.editable&&e.editable.html(b)}),this},destroy:function(){return this.each(function(b,c){var d=a(c),e=B.layoutInfoFromHolder(d);if(e&&e.editable){var f=e.editor.data("options");C.detach(e,f),B.removeLayout(d,e,f)}}),this}})}); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/ToggleSwitchNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/ToggleSwitchNoResources.gwt.xml new file mode 100644 index 00000000..62a7dde7 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/ToggleSwitchNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchResources.gwt.xml index f9736ffa..2954d7d1 100644 --- a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchResources.gwt.xml +++ b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/ToggleSwitchResources.gwt.xml @@ -20,8 +20,8 @@ --> - + - + diff --git a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/css/bootstrap-switch-3.2.2.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/css/bootstrap-switch-3.2.2.min.cache.css deleted file mode 100755 index 70ac4ab0..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/css/bootstrap-switch-3.2.2.min.cache.css +++ /dev/null @@ -1,22 +0,0 @@ -/* ======================================================================== - * bootstrap-switch - v3.2.2 - * http://www.bootstrap-switch.org - * ======================================================================== - * Copyright 2012-2013 Mattia Larentis - * - * ======================================================================== - * 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. - * ======================================================================== - */ - -.bootstrap-switch{display:inline-block;cursor:pointer;border-radius:4px;border:1px solid;border-color:#ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger{color:#fff;background:#d9534f}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type=radio],.bootstrap-switch input[type=checkbox]{position:absolute!important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.bootstrap-switch input[type=radio].form-control,.bootstrap-switch input[type=checkbox].form-control{height:auto}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.33}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-readonly,.bootstrap-switch.bootstrap-switch-indeterminate{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/css/bootstrap-switch-3.3.2.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/css/bootstrap-switch-3.3.2.min.cache.css new file mode 100644 index 00000000..6eb3d4d9 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/css/bootstrap-switch-3.3.2.min.cache.css @@ -0,0 +1,22 @@ +/* ======================================================================== + * bootstrap-switch - v3.3.2 + * http://www.bootstrap-switch.org + * ======================================================================== + * Copyright 2012-2013 Mattia Larentis + * + * ======================================================================== + * 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. + * ======================================================================== + */ + +.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:4px;border:1px solid;border-color:#ccc;position:relative;text-align:left;overflow:hidden;line-height:8px;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:4px;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block !important;height:100%;padding:6px 12px;font-size:14px;line-height:20px}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off{text-align:center;z-index:1}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary{color:#fff;background:#428bca}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info{color:#fff;background:#5bc0de}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success{color:#fff;background:#5cb85c}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning{background:#f0ad4e;color:#fff}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger{color:#fff;background:#d9534f}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default{color:#000;background:#eee}.bootstrap-switch .bootstrap-switch-label{text-align:center;margin-top:-1px;margin-bottom:-1px;z-index:100;color:#333;background:#fff}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch input[type='radio'],.bootstrap-switch input[type='checkbox']{position:absolute !important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.bootstrap-switch input[type='radio'].form-control,.bootstrap-switch input[type='checkbox'].form-control{height:auto}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.33}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-readonly,.bootstrap-switch.bootstrap-switch-indeterminate{cursor:default !important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default !important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch.bootstrap-switch-focused{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label{border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label{border-bottom-left-radius:3px;border-top-left-radius:3px} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/js/bootstrap-switch-3.2.2.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/js/bootstrap-switch-3.2.2.min.cache.js deleted file mode 100755 index 308e0adb..00000000 --- a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/js/bootstrap-switch-3.2.2.min.cache.js +++ /dev/null @@ -1,22 +0,0 @@ -/* ======================================================================== - * bootstrap-switch - v3.2.2 - * http://www.bootstrap-switch.org - * ======================================================================== - * Copyright 2012-2013 Mattia Larentis - * - * ======================================================================== - * 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. - * ======================================================================== - */ - -(function(){var t=[].slice;!function(e,i){"use strict";var n;return n=function(){function t(t,i){null==i&&(i={}),this.$element=e(t),this.options=e.extend({},e.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},i),this.$wrapper=e("
    ",{"class":function(t){return function(){var e;return e=[""+t.options.baseClass].concat(t._getClasses(t.options.wrapperClass)),e.push(t.options.state?""+t.options.baseClass+"-on":""+t.options.baseClass+"-off"),null!=t.options.size&&e.push(""+t.options.baseClass+"-"+t.options.size),t.options.disabled&&e.push(""+t.options.baseClass+"-disabled"),t.options.readonly&&e.push(""+t.options.baseClass+"-readonly"),t.options.indeterminate&&e.push(""+t.options.baseClass+"-indeterminate"),t.options.inverse&&e.push(""+t.options.baseClass+"-inverse"),t.$element.attr("id")&&e.push(""+t.options.baseClass+"-id-"+t.$element.attr("id")),e.join(" ")}}(this)()}),this.$container=e("
    ",{"class":""+this.options.baseClass+"-container"}),this.$on=e("",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=e("",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=e("",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(e){return function(){return e.options.onInit.apply(t,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(e){return function(){return e.options.onSwitchChange.apply(t,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._initWidth(),this._containerPosition(this.options.state,function(t){return function(){return t.options.animate?t.$wrapper.addClass(""+t.options.baseClass+"-animate"):void 0}}(this)),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch")}return t.prototype._constructor=t,t.prototype.state=function(t,e){return"undefined"==typeof t?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate?(this.indeterminate(!1),t=!0):t=!!t,this.$element.prop("checked",t).trigger("change.bootstrapSwitch",e),this.$element)},t.prototype.toggleState=function(t){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",t)},t.prototype.size=function(t){return"undefined"==typeof t?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),t&&this.$wrapper.addClass(""+this.options.baseClass+"-"+t),this._width(),this.options.size=t,this.$element)},t.prototype.animate=function(t){return"undefined"==typeof t?this.options.animate:(t=!!t,t===this.options.animate?this.$element:this.toggleAnimate())},t.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.$element},t.prototype.disabled=function(t){return"undefined"==typeof t?this.options.disabled:(t=!!t,t===this.options.disabled?this.$element:this.toggleDisabled())},t.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.$element},t.prototype.readonly=function(t){return"undefined"==typeof t?this.options.readonly:(t=!!t,t===this.options.readonly?this.$element:this.toggleReadonly())},t.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.$element},t.prototype.indeterminate=function(t){return"undefined"==typeof t?this.options.indeterminate:(t=!!t,t===this.options.indeterminate?this.$element:this.toggleIndeterminate())},t.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},t.prototype.inverse=function(t){return"undefined"==typeof t?this.options.inverse:(t=!!t,t===this.options.inverse?this.$element:this.toggleInverse())},t.prototype.toggleInverse=function(){var t,e;return this.$wrapper.toggleClass(""+this.options.baseClass+"-inverse"),e=this.$on.clone(!0),t=this.$off.clone(!0),this.$on.replaceWith(t),this.$off.replaceWith(e),this.$on=t,this.$off=e,this.options.inverse=!this.options.inverse,this.$element},t.prototype.onColor=function(t){var e;return e=this.options.onColor,"undefined"==typeof t?e:(null!=e&&this.$on.removeClass(""+this.options.baseClass+"-"+e),this.$on.addClass(""+this.options.baseClass+"-"+t),this.options.onColor=t,this.$element)},t.prototype.offColor=function(t){var e;return e=this.options.offColor,"undefined"==typeof t?e:(null!=e&&this.$off.removeClass(""+this.options.baseClass+"-"+e),this.$off.addClass(""+this.options.baseClass+"-"+t),this.options.offColor=t,this.$element)},t.prototype.onText=function(t){return"undefined"==typeof t?this.options.onText:(this.$on.html(t),this._width(),this._containerPosition(),this.options.onText=t,this.$element)},t.prototype.offText=function(t){return"undefined"==typeof t?this.options.offText:(this.$off.html(t),this._width(),this._containerPosition(),this.options.offText=t,this.$element)},t.prototype.labelText=function(t){return"undefined"==typeof t?this.options.labelText:(this.$label.html(t),this._width(),this.options.labelText=t,this.$element)},t.prototype.handleWidth=function(t){return"undefined"==typeof t?this.options.handleWidth:(this.options.handleWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.labelWidth=function(t){return"undefined"==typeof t?this.options.labelWidth:(this.options.labelWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.baseClass=function(){return this.options.baseClass},t.prototype.wrapperClass=function(t){return"undefined"==typeof t?this.options.wrapperClass:(t||(t=e.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(t).join(" ")),this.options.wrapperClass=t,this.$element)},t.prototype.radioAllOff=function(t){return"undefined"==typeof t?this.options.radioAllOff:(t=!!t,t===this.options.radioAllOff?this.$element:(this.options.radioAllOff=t,this.$element))},t.prototype.onInit=function(t){return"undefined"==typeof t?this.options.onInit:(t||(t=e.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=t,this.$element)},t.prototype.onSwitchChange=function(t){return"undefined"==typeof t?this.options.onSwitchChange:(t||(t=e.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=t,this.$element)},t.prototype.destroy=function(){var t;return t=this.$element.closest("form"),t.length&&t.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},t.prototype._width=function(){var t,e;return t=this.$on.add(this.$off),t.add(this.$label).css("width",""),e="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,t.width(e),this.$label.width(function(t){return function(i,n){return"auto"!==t.options.labelWidth?t.options.labelWidth:e>n?e:n}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},t.prototype._initWidth=function(){var t;return this.$wrapper.is(":visible")?this._width():t=i.setInterval(function(e){return function(){return e.$wrapper.is(":visible")?(e._width(),i.clearInterval(t)):void 0}}(this),50)},t.prototype._containerPosition=function(t,i){return null==t&&(t=this.options.state),this.$container.css("margin-left",function(e){return function(){var i;return i=[0,"-"+e._handleWidth+"px"],e.options.indeterminate?"-"+e._handleWidth/2+"px":t?e.options.inverse?i[1]:i[0]:e.options.inverse?i[0]:i[1]}}(this)),i?e.support.transition?this.$container.one("bsTransitionEnd",i).emulateTransitionEnd(500):i():void 0},t.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(t){return function(i,n){var s;return i.preventDefault(),i.stopImmediatePropagation(),s=t.$element.is(":checked"),t._containerPosition(s),s!==t.options.state?(t.options.state=s,t.$wrapper.toggleClass(""+t.options.baseClass+"-off").toggleClass(""+t.options.baseClass+"-on"),n?void 0:(t.$element.is(":radio")&&e("[name='"+t.$element.attr("name")+"']").not(t.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),t.$element.trigger("switchChange.bootstrapSwitch",[s]))):void 0}}(this),"focus.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.addClass(""+t.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.removeClass(""+t.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(t){return function(e){if(e.which&&!t.options.disabled&&!t.options.readonly)switch(e.which){case 37:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!1);case 39:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!0)}}}(this)})},t.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(t){return function(){return t.state(!1),t.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(t){return function(){return t.state(!0),t.$element.trigger("focus.bootstrapSwitch")}}(this))},t.prototype._labelHandlers=function(){return this.$label.on({"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(t){return function(e){return t._dragStart||t.options.disabled||t.options.readonly?void 0:(e.preventDefault(),t._dragStart=(e.pageX||e.originalEvent.touches[0].pageX)-parseInt(t.$container.css("margin-left"),10),t.options.animate&&t.$wrapper.removeClass(""+t.options.baseClass+"-animate"),t.$element.trigger("focus.bootstrapSwitch"))}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(t){return function(e){var i;if(null!=t._dragStart&&(e.preventDefault(),i=(e.pageX||e.originalEvent.touches[0].pageX)-t._dragStart,!(i<-t._handleWidth||i>0)))return t._dragEnd=i,t.$container.css("margin-left",""+t._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(t){return function(e){var i;if(t._dragStart)return e.preventDefault(),t.options.animate&&t.$wrapper.addClass(""+t.options.baseClass+"-animate"),t._dragEnd?(i=t._dragEnd>-(t._handleWidth/2),t._dragEnd=!1,t.state(t.options.inverse?!i:i)):t.state(!t.options.state),t._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(t){return function(){return t.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},t.prototype._externalLabelHandler=function(){var t;return t=this.$element.closest("label"),t.on("click",function(e){return function(i){return i.preventDefault(),i.stopImmediatePropagation(),i.target===t[0]?e.toggleState():void 0}}(this))},t.prototype._formHandler=function(){var t;return t=this.$element.closest("form"),t.data("bootstrap-switch")?void 0:t.on("reset.bootstrapSwitch",function(){return i.setTimeout(function(){return t.find("input").filter(function(){return e(this).data("bootstrap-switch")}).each(function(){return e(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},t.prototype._getClasses=function(t){var i,n,s,o;if(!e.isArray(t))return[""+this.options.baseClass+"-"+t];for(n=[],s=0,o=t.length;o>s;s++)i=t[s],n.push(""+this.options.baseClass+"-"+i);return n},t}(),e.fn.bootstrapSwitch=function(){var i,s,o;return s=arguments[0],i=2<=arguments.length?t.call(arguments,1):[],o=this,this.each(function(){var t,a;return t=e(this),a=t.data("bootstrap-switch"),a||t.data("bootstrap-switch",a=new n(this,s)),"string"==typeof s?o=a[s].apply(a,i):void 0}),o},e.fn.bootstrapSwitch.Constructor=n,e.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:" ",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}).call(this); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/js/bootstrap-switch-3.3.2.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/js/bootstrap-switch-3.3.2.min.cache.js new file mode 100644 index 00000000..232ed139 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/toggleswitch/client/resource/js/bootstrap-switch-3.3.2.min.cache.js @@ -0,0 +1,22 @@ +/* ======================================================================== + * bootstrap-switch - v3.3.2 + * http://www.bootstrap-switch.org + * ======================================================================== + * Copyright 2012-2013 Mattia Larentis + * + * ======================================================================== + * 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. + * ======================================================================== + */ + +(function(){var t=[].slice;!function(e,i){"use strict";var n;return n=function(){function t(t,i){null==i&&(i={}),this.$element=e(t),this.options=e.extend({},e.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},i),this.$wrapper=e("
    ",{"class":function(t){return function(){var e;return e=[""+t.options.baseClass].concat(t._getClasses(t.options.wrapperClass)),e.push(t.options.state?""+t.options.baseClass+"-on":""+t.options.baseClass+"-off"),null!=t.options.size&&e.push(""+t.options.baseClass+"-"+t.options.size),t.options.disabled&&e.push(""+t.options.baseClass+"-disabled"),t.options.readonly&&e.push(""+t.options.baseClass+"-readonly"),t.options.indeterminate&&e.push(""+t.options.baseClass+"-indeterminate"),t.options.inverse&&e.push(""+t.options.baseClass+"-inverse"),t.$element.attr("id")&&e.push(""+t.options.baseClass+"-id-"+t.$element.attr("id")),e.join(" ")}}(this)()}),this.$container=e("
    ",{"class":""+this.options.baseClass+"-container"}),this.$on=e("",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=e("",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=e("",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(e){return function(){return e.options.onInit.apply(t,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(e){return function(){return e.options.onSwitchChange.apply(t,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch")}return t.prototype._constructor=t,t.prototype.state=function(t,e){return"undefined"==typeof t?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate&&this.indeterminate(!1),t=!!t,this.$element.prop("checked",t).trigger("change.bootstrapSwitch",e),this.$element)},t.prototype.toggleState=function(t){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",t)},t.prototype.size=function(t){return"undefined"==typeof t?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),t&&this.$wrapper.addClass(""+this.options.baseClass+"-"+t),this._width(),this._containerPosition(),this.options.size=t,this.$element)},t.prototype.animate=function(t){return"undefined"==typeof t?this.options.animate:(t=!!t,t===this.options.animate?this.$element:this.toggleAnimate())},t.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.$element},t.prototype.disabled=function(t){return"undefined"==typeof t?this.options.disabled:(t=!!t,t===this.options.disabled?this.$element:this.toggleDisabled())},t.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.$element},t.prototype.readonly=function(t){return"undefined"==typeof t?this.options.readonly:(t=!!t,t===this.options.readonly?this.$element:this.toggleReadonly())},t.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.$element},t.prototype.indeterminate=function(t){return"undefined"==typeof t?this.options.indeterminate:(t=!!t,t===this.options.indeterminate?this.$element:this.toggleIndeterminate())},t.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},t.prototype.inverse=function(t){return"undefined"==typeof t?this.options.inverse:(t=!!t,t===this.options.inverse?this.$element:this.toggleInverse())},t.prototype.toggleInverse=function(){var t,e;return this.$wrapper.toggleClass(""+this.options.baseClass+"-inverse"),e=this.$on.clone(!0),t=this.$off.clone(!0),this.$on.replaceWith(t),this.$off.replaceWith(e),this.$on=t,this.$off=e,this.options.inverse=!this.options.inverse,this.$element},t.prototype.onColor=function(t){var e;return e=this.options.onColor,"undefined"==typeof t?e:(null!=e&&this.$on.removeClass(""+this.options.baseClass+"-"+e),this.$on.addClass(""+this.options.baseClass+"-"+t),this.options.onColor=t,this.$element)},t.prototype.offColor=function(t){var e;return e=this.options.offColor,"undefined"==typeof t?e:(null!=e&&this.$off.removeClass(""+this.options.baseClass+"-"+e),this.$off.addClass(""+this.options.baseClass+"-"+t),this.options.offColor=t,this.$element)},t.prototype.onText=function(t){return"undefined"==typeof t?this.options.onText:(this.$on.html(t),this._width(),this._containerPosition(),this.options.onText=t,this.$element)},t.prototype.offText=function(t){return"undefined"==typeof t?this.options.offText:(this.$off.html(t),this._width(),this._containerPosition(),this.options.offText=t,this.$element)},t.prototype.labelText=function(t){return"undefined"==typeof t?this.options.labelText:(this.$label.html(t),this._width(),this.options.labelText=t,this.$element)},t.prototype.handleWidth=function(t){return"undefined"==typeof t?this.options.handleWidth:(this.options.handleWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.labelWidth=function(t){return"undefined"==typeof t?this.options.labelWidth:(this.options.labelWidth=t,this._width(),this._containerPosition(),this.$element)},t.prototype.baseClass=function(){return this.options.baseClass},t.prototype.wrapperClass=function(t){return"undefined"==typeof t?this.options.wrapperClass:(t||(t=e.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(t).join(" ")),this.options.wrapperClass=t,this.$element)},t.prototype.radioAllOff=function(t){return"undefined"==typeof t?this.options.radioAllOff:(t=!!t,t===this.options.radioAllOff?this.$element:(this.options.radioAllOff=t,this.$element))},t.prototype.onInit=function(t){return"undefined"==typeof t?this.options.onInit:(t||(t=e.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=t,this.$element)},t.prototype.onSwitchChange=function(t){return"undefined"==typeof t?this.options.onSwitchChange:(t||(t=e.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=t,this.$element)},t.prototype.destroy=function(){var t;return t=this.$element.closest("form"),t.length&&t.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},t.prototype._width=function(){var t,e;return t=this.$on.add(this.$off),t.add(this.$label).css("width",""),e="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,t.width(e),this.$label.width(function(t){return function(i,n){return"auto"!==t.options.labelWidth?t.options.labelWidth:e>n?e:n}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},t.prototype._containerPosition=function(t,e){return null==t&&(t=this.options.state),this.$container.css("margin-left",function(e){return function(){var i;return i=[0,"-"+e._handleWidth+"px"],e.options.indeterminate?"-"+e._handleWidth/2+"px":t?e.options.inverse?i[1]:i[0]:e.options.inverse?i[0]:i[1]}}(this)),e?setTimeout(function(){return e()},50):void 0},t.prototype._init=function(){var t,e;return t=function(t){return function(){return t._width(),t._containerPosition(null,function(){return t.options.animate?t.$wrapper.addClass(""+t.options.baseClass+"-animate"):void 0})}}(this),this.$wrapper.is(":visible")?t():e=i.setInterval(function(n){return function(){return n.$wrapper.is(":visible")?(t(),i.clearInterval(e)):void 0}}(this),50)},t.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(t){return function(i,n){var o;return i.preventDefault(),i.stopImmediatePropagation(),o=t.$element.is(":checked"),t._containerPosition(o),o!==t.options.state?(t.options.state=o,t.$wrapper.toggleClass(""+t.options.baseClass+"-off").toggleClass(""+t.options.baseClass+"-on"),n?void 0:(t.$element.is(":radio")&&e("[name='"+t.$element.attr("name")+"']").not(t.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),t.$element.trigger("switchChange.bootstrapSwitch",[o]))):void 0}}(this),"focus.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.addClass(""+t.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(t){return function(e){return e.preventDefault(),t.$wrapper.removeClass(""+t.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(t){return function(e){if(e.which&&!t.options.disabled&&!t.options.readonly)switch(e.which){case 37:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!1);case 39:return e.preventDefault(),e.stopImmediatePropagation(),t.state(!0)}}}(this)})},t.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(t){return function(e){return e.preventDefault(),e.stopPropagation(),t.state(!1),t.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(t){return function(e){return e.preventDefault(),e.stopPropagation(),t.state(!0),t.$element.trigger("focus.bootstrapSwitch")}}(this))},t.prototype._labelHandlers=function(){return this.$label.on({"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(t){return function(e){return t._dragStart||t.options.disabled||t.options.readonly?void 0:(e.preventDefault(),e.stopPropagation(),t._dragStart=(e.pageX||e.originalEvent.touches[0].pageX)-parseInt(t.$container.css("margin-left"),10),t.options.animate&&t.$wrapper.removeClass(""+t.options.baseClass+"-animate"),t.$element.trigger("focus.bootstrapSwitch"))}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(t){return function(e){var i;if(null!=t._dragStart&&(e.preventDefault(),i=(e.pageX||e.originalEvent.touches[0].pageX)-t._dragStart,!(i<-t._handleWidth||i>0)))return t._dragEnd=i,t.$container.css("margin-left",""+t._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(t){return function(e){var i;if(t._dragStart)return e.preventDefault(),t.options.animate&&t.$wrapper.addClass(""+t.options.baseClass+"-animate"),t._dragEnd?(i=t._dragEnd>-(t._handleWidth/2),t._dragEnd=!1,t.state(t.options.inverse?!i:i)):t.state(!t.options.state),t._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(t){return function(){return t.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},t.prototype._externalLabelHandler=function(){var t;return t=this.$element.closest("label"),t.on("click",function(e){return function(i){return i.preventDefault(),i.stopImmediatePropagation(),i.target===t[0]?e.toggleState():void 0}}(this))},t.prototype._formHandler=function(){var t;return t=this.$element.closest("form"),t.data("bootstrap-switch")?void 0:t.on("reset.bootstrapSwitch",function(){return i.setTimeout(function(){return t.find("input").filter(function(){return e(this).data("bootstrap-switch")}).each(function(){return e(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},t.prototype._getClasses=function(t){var i,n,o,s;if(!e.isArray(t))return[""+this.options.baseClass+"-"+t];for(n=[],o=0,s=t.length;s>o;o++)i=t[o],n.push(""+this.options.baseClass+"-"+i);return n},t}(),e.fn.bootstrapSwitch=function(){var i,o,s;return o=arguments[0],i=2<=arguments.length?t.call(arguments,1):[],s=this,this.each(function(){var t,a;return t=e(this),a=t.data("bootstrap-switch"),a||t.data("bootstrap-switch",a=new n(this,o)),"string"==typeof o?s=a[o].apply(a,i):void 0}),s},e.fn.bootstrapSwitch.Constructor=n,e.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:" ",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}).call(this); \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/Typeahead.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/typeahead/Typeahead.gwt.xml new file mode 100644 index 00000000..e364ae70 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/Typeahead.gwt.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/TypeaheadNoResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/typeahead/TypeaheadNoResources.gwt.xml new file mode 100644 index 00000000..75258658 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/TypeaheadNoResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/TypeaheadNoTheme.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/typeahead/TypeaheadNoTheme.gwt.xml new file mode 100644 index 00000000..d44199c1 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/TypeaheadNoTheme.gwt.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/TypeaheadNoThemeResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/TypeaheadNoThemeResources.gwt.xml new file mode 100644 index 00000000..5d0d2020 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/TypeaheadNoThemeResources.gwt.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/TypeaheadResources.gwt.xml b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/TypeaheadResources.gwt.xml new file mode 100644 index 00000000..e79ef537 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/TypeaheadResources.gwt.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/resource/css/typeahead-0.10.5.min.cache.css b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/resource/css/typeahead-0.10.5.min.cache.css new file mode 100644 index 00000000..1f087ed3 --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/resource/css/typeahead-0.10.5.min.cache.css @@ -0,0 +1 @@ +.tt-dropdown-menu{text-align:left}.tt-dropdown-menu a{color:#03739c;text-decoration:none}.tt-dropdown-menu a:hover{text-decoration:underline}.typeahead,.tt-query,.tt-hint{width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:34px;border:1px solid #ccc;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;outline:0}.typeahead{background-color:#fff}.typeahead:focus{border:2px solid #0097cf}.tt-query{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.tt-hint{color:#999}.tt-dropdown-menu{font-size:14px;margin:2px 0 0;padding:5px 0;background-color:#fff;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.176);-moz-box-shadow:0 6px 12px rgba(0,0,0,.176);box-shadow:0 6px 12px rgba(0,0,0,.176);min-width:100%}.tt-suggestion{padding:3px 20px}.tt-suggestion.tt-cursor{color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.tt-suggestion p{margin:0} \ No newline at end of file diff --git a/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/resource/js/typeahead.jquery-0.10.5.min.cache.js b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/resource/js/typeahead.jquery-0.10.5.min.cache.js new file mode 100644 index 00000000..3ee29ebc --- /dev/null +++ b/src/main/resources/org/gwtbootstrap3/extras/typeahead/client/resource/js/typeahead.jquery-0.10.5.min.cache.js @@ -0,0 +1,7 @@ +/*! + * typeahead.js 0.10.5 + * https://github.com/twitter/typeahead.js + * Copyright 2013-2014 Twitter, Inc. and other contributors; Licensed MIT + */ + +!function(a){var b=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof a},isNumber:function(a){return"number"==typeof a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof a},toStr:function(a){return b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filter:a.grep,every:function(b,c){var d=!0;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 0:!1}),!!d):d},some:function(b,c){var d=!1;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 0}),!!d):d},mixin:a.extend,getUniqueId:function(){var a=0;return function(){return a++}}(),templatify:function(b){function c(){return String(b)}return a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var c,d,e,f,g,h;return g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},noop:function(){}}}(),c=function(){return{wrapper:'',dropdown:'',dataset:'
    ',suggestions:'',suggestion:'
    '}}(),d=function(){"use strict";var a={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return b.isMsie()&&b.mixin(a.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),b.isMsie()&&b.isMsie()<=7&&b.mixin(a.input,{marginTop:"-1px"}),a}(),e=function(){"use strict";function c(b){b&&b.el||a.error("EventBus initialized without el"),this.$el=a(b.el)}var d="typeahead:";return b.mixin(c.prototype,{trigger:function(a){var b=[].slice.call(arguments,1);this.$el.trigger(d+a,b)}}),c}(),f=function(){"use strict";function a(a,b,c,d){var e;if(!c)return this;for(b=b.split(i),c=d?h(c,d):c,this._callbacks=this._callbacks||{};e=b.shift();)this._callbacks[e]=this._callbacks[e]||{sync:[],async:[]},this._callbacks[e][a].push(c);return this}function b(b,c,d){return a.call(this,"async",b,c,d)}function c(b,c,d){return a.call(this,"sync",b,c,d)}function d(a){var b;if(!this._callbacks)return this;for(a=a.split(i);b=a.shift();)delete this._callbacks[b];return this}function e(a){var b,c,d,e,g;if(!this._callbacks)return this;for(a=a.split(i),d=[].slice.call(arguments,1);(b=a.shift())&&(c=this._callbacks[b]);)e=f(c.sync,this,[b].concat(d)),g=f(c.async,this,[b].concat(d)),e()&&j(g);return this}function f(a,b,c){function d(){for(var d,e=0,f=a.length;!d&&f>e;e+=1)d=a[e].apply(b,c)===!1;return!d}return d}function g(){var a;return a=window.setImmediate?function(a){setImmediate(function(){a()})}:function(a){setTimeout(function(){a()},0)}}function h(a,b){return a.bind?a.bind(b):function(){a.apply(b,[].slice.call(arguments,0))}}var i=/\s+/,j=g();return{onSync:c,onAsync:b,off:d,trigger:e}}(),g=function(a){"use strict";function c(a,c,d){for(var e,f=[],g=0,h=a.length;h>g;g++)f.push(b.escapeRegExChars(a[g]));return e=d?"\\b("+f.join("|")+")\\b":"("+f.join("|")+")",c?new RegExp(e):new RegExp(e,"i")}var d={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(e){function f(b){var c,d,f;return(c=h.exec(b.data))&&(f=a.createElement(e.tagName),e.className&&(f.className=e.className),d=b.splitText(c.index),d.splitText(c[0].length),f.appendChild(d.cloneNode(!0)),b.parentNode.replaceChild(f,d)),!!c}function g(a,b){for(var c,d=3,e=0;e