first
commit
a3accdb0a3
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||
<attributes>
|
||||
<attribute name="owner.project.facets" value="java"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
|
||||
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
|
||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.wst.jsdt.core.javascriptValidator"/>
|
||||
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
|
||||
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
||||
</launchConfiguration>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
|
||||
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
|
||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.wst.validation.validationbuilder"/>
|
||||
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
|
||||
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
||||
</launchConfiguration>
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>I4WAY_Dash</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.springframework.ide.eclipse.core.springbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>LaunchConfigHandle</key>
|
||||
<value><project>/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator (1).launch</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>LaunchConfigHandle</key>
|
||||
<value><project>/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder (1).launch</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.babel.editor.rbeBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.springframework.ide.eclipse.core.springnature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||
<nature>com.jaspersoft.studio.babel.editor.rbeNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
eclipse.preferences.version=1
|
||||
encoding//src/main/java=UTF-8
|
||||
encoding//src/main/webapp/WEB-INF/jsp/aj/index.jsp=UTF-8
|
||||
encoding//src/main/webapp/WEB-INF/jsp/aj/wall1.jsp=UTF-8
|
||||
encoding//src/main/webapp/WEB-INF/jsp/aj/wall2.jsp=UTF-8
|
||||
encoding//src/main/webapp/WEB-INF/jsp/aj/wall3.jsp=UTF-8
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.release=disabled
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="I4WAY_Dash">
|
||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
|
||||
<property name="java-output-path" value="target/classes"/>
|
||||
<property name="context-root" value="I4WAY_Dash"/>
|
||||
</wb-module>
|
||||
</project-modules>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<faceted-project>
|
||||
<fixed facet="jst.web"/>
|
||||
<fixed facet="jst.java"/>
|
||||
<installed facet="jst.web" version="2.5"/>
|
||||
<installed facet="jst.java" version="1.8"/>
|
||||
</faceted-project>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;
|
||||
USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
|
||||
USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
|
||||
USER_PREFERENCE=overrideGlobalPreferencesfalse
|
||||
disabled=06target
|
||||
eclipse.preferences.version=1
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
#Mon Oct 18 12:37:52 EDT 2010
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.osgi.org/xmlns/blueprint/v1.0.0=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/aop=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/batch=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/beans=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/context=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/faces=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/flex=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/file=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/http=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/httpinvoker=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/ip=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jdbc=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jms=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/jmx=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/mail=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/rmi=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/security=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/stream=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/ws=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/integration/xml=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jdbc=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jee=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/jms=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/lang=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/mvc=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/osgi=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/osgi-compendium=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/oxm=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/p=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/security=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/task=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/tx=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/util=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/web-services=
|
||||
//org.springframework.ide.eclipse.beans.core.default.version.http\://www.springframework.org/schema/webflow-config=
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.osgi.org/xmlns/blueprint/v1.0.0=bp
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/aop=aop
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/batch=batch
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/beans=beans
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/context=context
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/faces=faces
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/flex=flex
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration=int
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/file=int-file
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/http=int-http
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/httpinvoker=int-httpinvoker
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/ip=int-ip
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jdbc=int-jdbc
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jms=int-jms
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/jmx=int-jmx
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/mail=int-mail
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/rmi=int-rmi
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/security=int-security
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/stream=int-stream
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/ws=int-ws
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/integration/xml=int-xml
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jdbc=jdbc
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jee=jee
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/jms=jms
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/lang=lang
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/mvc=mvc
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/osgi=osgi
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/osgi-compendium=osgix
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/oxm=oxm
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/p=p
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/security=sec
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/task=task
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/tx=tx
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/util=util
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/web-services=ws
|
||||
//org.springframework.ide.eclipse.beans.core.prefix.http\://www.springframework.org/schema/webflow-config=flow
|
||||
eclipse.preferences.version=1
|
||||
org.springframework.ide.eclipse.beans.core.default.version.check.classpath=true
|
||||
org.springframework.ide.eclipse.beans.core.enable.project.preferences=false
|
||||
org.springframework.ide.eclipse.beans.core.ignoreMissingNamespaceHandler=false
|
||||
org.springframework.ide.eclipse.beans.core.loadNamespaceHandlerFromClasspath=false
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
#Tue Apr 20 16:59:06 EDT 2010
|
||||
eclipse.preferences.version=1
|
||||
org.springframework.ide.eclipse.core.builders.enable.aopreferencemodelbuilder=true
|
||||
org.springframework.ide.eclipse.core.builders.enable.beanmetadatabuilder=true
|
||||
org.springframework.ide.eclipse.core.builders.enable.osgibundleupdater=false
|
||||
org.springframework.ide.eclipse.core.enable.project.preferences=false
|
||||
org.springframework.ide.eclipse.core.validator.enable.com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.enable.com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.enable.com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.core.springvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.applicationSymbolicNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.applicationVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleActivationPolicyRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleActivatorRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleManifestVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleSymbolicNameRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.bundleVersionRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.exportPackageRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.importRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.parsingProblemsRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.server.ide.manifest.core.requireBundleRule-com.springsource.server.ide.manifest.core.manifestvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.AvoidDriverManagerDataSource-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.ImportElementsAtTopRulee-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.ParentBeanSpecifiesAbstractClassRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.RefElementRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.TooManyBeansInFileRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.UnnecessaryValueElementRule-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.com.springsource.sts.bestpractices.UseBeanInheritance-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.bestpractices.legacyxmlusage.jndiobjectfactory-com.springsource.sts.bestpractices.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importBundleVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importLibraryVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.importPackageVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.com.springsource.sts.server.quickfix.requireBundleVersionRule-com.springsource.sts.server.quickfix.manifestvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.autowire.autowire-org.springframework.ide.eclipse.beans.core.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanAlias-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanClass-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanConstructorArgument-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinition-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinitionHolder-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanFactory-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanInitDestroyMethod-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanReference-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.methodOverride-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.parsingProblems-org.springframework.ide.eclipse.beans.core.beansvalidator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.requiredProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.toolAnnotation-org.springframework.ide.eclipse.beans.core.beansvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.core.springClasspath-org.springframework.ide.eclipse.core.springvalidator=false
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.action-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.actionstate-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attribute-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attributemapper-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.beanaction-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationaction-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationresult-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.exceptionhandler-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.import-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.inputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.mapping-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.outputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.set-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.state-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.subflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.transition-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.variable-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.webflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beansProjectDescription>
|
||||
<version>1</version>
|
||||
<pluginVersion><![CDATA[3.6.3.201411271034-RELEASE]]></pluginVersion>
|
||||
<configSuffixes>
|
||||
<configSuffix><![CDATA[xml]]></configSuffix>
|
||||
</configSuffixes>
|
||||
<enableImports><![CDATA[true]]></enableImports>
|
||||
<configs>
|
||||
</configs>
|
||||
<autoconfigs>
|
||||
</autoconfigs>
|
||||
<configSets>
|
||||
</configSets>
|
||||
</beansProjectDescription>
|
||||
|
|
@ -0,0 +1 @@
|
|||
12
|
||||
|
|
@ -0,0 +1 @@
|
|||
12
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "jquery",
|
||||
"main": "dist/jquery.js",
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"package.json"
|
||||
],
|
||||
"keywords": [
|
||||
"jquery",
|
||||
"javascript",
|
||||
"browser",
|
||||
"library"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Doughnut Chart</title>
|
||||
<script src="../dist/Chart.bundle.js"></script>
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
||||
<style>
|
||||
canvas {
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="canvas-holder" style="width:75%">
|
||||
<canvas id="chart-area" />
|
||||
</div>
|
||||
<button id="randomizeData">Randomize Data</button>
|
||||
<button id="addDataset">Add Dataset</button>
|
||||
<button id="removeDataset">Remove Dataset</button>
|
||||
<button id="addData">Add Data</button>
|
||||
<button id="removeData">Remove Data</button>
|
||||
<script>
|
||||
var randomScalingFactor = function() {
|
||||
return Math.round(Math.random() * 100);
|
||||
};
|
||||
var randomColorFactor = function() {
|
||||
return Math.round(Math.random() * 255);
|
||||
};
|
||||
var randomColor = function(opacity) {
|
||||
return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')';
|
||||
};
|
||||
|
||||
var config = {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
datasets: [{
|
||||
data: [
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
],
|
||||
backgroundColor: [
|
||||
"#F7464A",
|
||||
"#46BFBD",
|
||||
"#FDB45C",
|
||||
"#949FB1",
|
||||
"#4D5360",
|
||||
],
|
||||
label: 'Dataset 1'
|
||||
}, {
|
||||
hidden: true,
|
||||
data: [
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
],
|
||||
backgroundColor: [
|
||||
"#F7464A",
|
||||
"#46BFBD",
|
||||
"#FDB45C",
|
||||
"#949FB1",
|
||||
"#4D5360",
|
||||
],
|
||||
label: 'Dataset 2'
|
||||
}, {
|
||||
data: [
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
randomScalingFactor(),
|
||||
],
|
||||
backgroundColor: [
|
||||
"#F7464A",
|
||||
"#46BFBD",
|
||||
"#FDB45C",
|
||||
"#949FB1",
|
||||
"#4D5360",
|
||||
],
|
||||
label: 'Dataset 3'
|
||||
}],
|
||||
labels: [
|
||||
"Red",
|
||||
"Green",
|
||||
"Yellow",
|
||||
"Grey",
|
||||
"Dark Grey"
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
legend: {
|
||||
position: 'top',
|
||||
},
|
||||
title: {
|
||||
display: true,
|
||||
text: 'Chart.js Doughnut Chart'
|
||||
},
|
||||
animation: {
|
||||
animateScale: true,
|
||||
animateRotate: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
window.onload = function() {
|
||||
var ctx = document.getElementById("chart-area").getContext("2d");
|
||||
window.myDoughnut = new Chart(ctx, config);
|
||||
};
|
||||
|
||||
$('#randomizeData').click(function() {
|
||||
$.each(config.data.datasets, function(i, dataset) {
|
||||
dataset.data = dataset.data.map(function() {
|
||||
return randomScalingFactor();
|
||||
});
|
||||
|
||||
dataset.backgroundColor = dataset.backgroundColor.map(function() {
|
||||
return randomColor(0.7);
|
||||
});
|
||||
});
|
||||
|
||||
window.myDoughnut.update();
|
||||
});
|
||||
|
||||
$('#addDataset').click(function() {
|
||||
var newDataset = {
|
||||
backgroundColor: [],
|
||||
data: [],
|
||||
label: 'New dataset ' + config.data.datasets.length,
|
||||
};
|
||||
|
||||
for (var index = 0; index < config.data.labels.length; ++index) {
|
||||
newDataset.data.push(randomScalingFactor());
|
||||
newDataset.backgroundColor.push(randomColor(0.7));
|
||||
}
|
||||
|
||||
config.data.datasets.push(newDataset);
|
||||
window.myDoughnut.update();
|
||||
});
|
||||
|
||||
$('#addData').click(function() {
|
||||
if (config.data.datasets.length > 0) {
|
||||
config.data.labels.push('data #' + config.data.labels.length);
|
||||
|
||||
$.each(config.data.datasets, function(index, dataset) {
|
||||
dataset.data.push(randomScalingFactor());
|
||||
dataset.backgroundColor.push(randomColor(0.7));
|
||||
});
|
||||
|
||||
window.myDoughnut.update();
|
||||
}
|
||||
});
|
||||
|
||||
$('#removeDataset').click(function() {
|
||||
config.data.datasets.splice(0, 1);
|
||||
window.myDoughnut.update();
|
||||
});
|
||||
|
||||
$('#removeData').click(function() {
|
||||
config.data.labels.splice(-1, 1); // remove the label first
|
||||
|
||||
config.data.datasets.forEach(function(dataset, datasetIndex) {
|
||||
dataset.data.pop();
|
||||
dataset.backgroundColor.pop();
|
||||
});
|
||||
|
||||
window.myDoughnut.update();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
define(function (require) {
|
||||
|
||||
var zrUtil = require('zrender/core/util');
|
||||
var Axis = require('../../coord/Axis');
|
||||
var axisHelper = require('../../coord/axisHelper');
|
||||
|
||||
/**
|
||||
* Extend axis 2d
|
||||
* @constructor module:echarts/coord/cartesian/Axis2D
|
||||
* @extends {module:echarts/coord/cartesian/Axis}
|
||||
* @param {string} dim
|
||||
* @param {*} scale
|
||||
* @param {Array.<number>} coordExtent
|
||||
* @param {string} axisType
|
||||
* @param {string} position
|
||||
*/
|
||||
var TimelineAxis = function (dim, scale, coordExtent, axisType) {
|
||||
|
||||
Axis.call(this, dim, scale, coordExtent);
|
||||
|
||||
/**
|
||||
* Axis type
|
||||
* - 'category'
|
||||
* - 'value'
|
||||
* - 'time'
|
||||
* - 'log'
|
||||
* @type {string}
|
||||
*/
|
||||
this.type = axisType || 'value';
|
||||
|
||||
/**
|
||||
* @private
|
||||
* @type {number}
|
||||
*/
|
||||
this._autoLabelInterval;
|
||||
|
||||
/**
|
||||
* Axis model
|
||||
* @param {module:echarts/component/TimelineModel}
|
||||
*/
|
||||
this.model = null;
|
||||
};
|
||||
|
||||
TimelineAxis.prototype = {
|
||||
|
||||
constructor: TimelineAxis,
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @return {number}
|
||||
*/
|
||||
getLabelInterval: function () {
|
||||
var timelineModel = this.model;
|
||||
var labelModel = timelineModel.getModel('label.normal');
|
||||
var labelInterval = labelModel.get('interval');
|
||||
|
||||
if (labelInterval != null && labelInterval != 'auto') {
|
||||
return labelInterval;
|
||||
}
|
||||
|
||||
var labelInterval = this._autoLabelInterval;
|
||||
|
||||
if (!labelInterval) {
|
||||
labelInterval = this._autoLabelInterval = axisHelper.getAxisLabelInterval(
|
||||
zrUtil.map(this.scale.getTicks(), this.dataToCoord, this),
|
||||
axisHelper.getFormattedLabels(this, labelModel.get('formatter')),
|
||||
labelModel.getModel('textStyle').getFont(),
|
||||
timelineModel.get('orient') === 'horizontal'
|
||||
);
|
||||
}
|
||||
|
||||
return labelInterval;
|
||||
},
|
||||
|
||||
/**
|
||||
* If label is ignored.
|
||||
* Automatically used when axis is category and label can not be all shown
|
||||
* @public
|
||||
* @param {number} idx
|
||||
* @return {boolean}
|
||||
*/
|
||||
isLabelIgnored: function (idx) {
|
||||
if (this.type === 'category') {
|
||||
var labelInterval = this.getLabelInterval();
|
||||
return ((typeof labelInterval === 'function')
|
||||
&& !labelInterval(idx, this.scale.getLabel(idx)))
|
||||
|| idx % (labelInterval + 1);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
zrUtil.inherits(TimelineAxis, Axis);
|
||||
|
||||
return TimelineAxis;
|
||||
});
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
//
|
||||
// Grid system
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
// Container widths
|
||||
//
|
||||
// Set the container width, and override it for fixed navbars in media queries.
|
||||
|
||||
.container {
|
||||
.container-fixed();
|
||||
|
||||
@media (min-width: @screen-sm-min) {
|
||||
width: @container-sm;
|
||||
}
|
||||
@media (min-width: @screen-md-min) {
|
||||
width: @container-md;
|
||||
}
|
||||
@media (min-width: @screen-lg-min) {
|
||||
width: @container-lg;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Fluid container
|
||||
//
|
||||
// Utilizes the mixin meant for fixed width containers, but without any defined
|
||||
// width for fluid, full width layouts.
|
||||
|
||||
.container-fluid {
|
||||
.container-fixed();
|
||||
}
|
||||
|
||||
|
||||
// Row
|
||||
//
|
||||
// Rows contain and clear the floats of your columns.
|
||||
|
||||
.row {
|
||||
.make-row();
|
||||
}
|
||||
|
||||
|
||||
// Columns
|
||||
//
|
||||
// Common styles for small and large grid columns
|
||||
|
||||
.make-grid-columns();
|
||||
|
||||
|
||||
// Extra small grid
|
||||
//
|
||||
// Columns, offsets, pushes, and pulls for extra small devices like
|
||||
// smartphones.
|
||||
|
||||
.make-grid(xs);
|
||||
|
||||
|
||||
// Small grid
|
||||
//
|
||||
// Columns, offsets, pushes, and pulls for the small device range, from phones
|
||||
// to tablets.
|
||||
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.make-grid(sm);
|
||||
}
|
||||
|
||||
|
||||
// Medium grid
|
||||
//
|
||||
// Columns, offsets, pushes, and pulls for the desktop device range.
|
||||
|
||||
@media (min-width: @screen-md-min) {
|
||||
.make-grid(md);
|
||||
}
|
||||
|
||||
|
||||
// Large grid
|
||||
//
|
||||
// Columns, offsets, pushes, and pulls for the large desktop device range.
|
||||
|
||||
@media (min-width: @screen-lg-min) {
|
||||
.make-grid(lg);
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
"name": "fullcalendar",
|
||||
"title": "FullCalendar",
|
||||
"version": "2.7.3",
|
||||
"description": "Full-sized drag & drop event calendar",
|
||||
"keywords": [
|
||||
"calendar",
|
||||
"event",
|
||||
"full-sized",
|
||||
"jquery-plugin"
|
||||
],
|
||||
"homepage": "http://fullcalendar.io/",
|
||||
"bugs": "http://fullcalendar.io/wiki/Reporting-Bugs/",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fullcalendar/fullcalendar.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
"name": "Adam Shaw",
|
||||
"email": "arshaw@arshaw.com",
|
||||
"url": "http://arshaw.com/"
|
||||
},
|
||||
"copyright": "2016 Adam Shaw",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.7.1",
|
||||
"moment": ">=2.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"jquery-ui": ">=1.11.1",
|
||||
"jquery-simulate": "~1.0.1",
|
||||
"jasmine-jquery": "~2.0.3",
|
||||
"jasmine-fixture": "~1.2.0",
|
||||
"moment-timezone": "~0.2.1",
|
||||
"bootstrap": "~3.2.0",
|
||||
"jquery-mockjax": "~2.1.1"
|
||||
},
|
||||
"main": [
|
||||
"dist/fullcalendar.js",
|
||||
"dist/fullcalendar.css"
|
||||
],
|
||||
"ignore": [
|
||||
"*",
|
||||
"**/.*",
|
||||
"!/dist/**",
|
||||
"!/README.*",
|
||||
"!/LICENSE.*",
|
||||
"!/CHANGELOG.*",
|
||||
"!/CONTRIBUTING.*"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,83 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Boso Jowo (jv)
|
||||
//! author : Rony Lantip : https://github.com/lantip
|
||||
//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
|
||||
|
||||
;(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined'
|
||||
&& typeof require === 'function' ? factory(require('../moment')) :
|
||||
typeof define === 'function' && define.amd ? define(['moment'], factory) :
|
||||
factory(global.moment)
|
||||
}(this, function (moment) { 'use strict';
|
||||
|
||||
|
||||
var jv = moment.defineLocale('jv', {
|
||||
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
|
||||
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
|
||||
weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
|
||||
weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
|
||||
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH.mm',
|
||||
LTS : 'HH.mm.ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY [pukul] HH.mm',
|
||||
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
|
||||
},
|
||||
meridiemParse: /enjing|siyang|sonten|ndalu/,
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'enjing') {
|
||||
return hour;
|
||||
} else if (meridiem === 'siyang') {
|
||||
return hour >= 11 ? hour : hour + 12;
|
||||
} else if (meridiem === 'sonten' || meridiem === 'ndalu') {
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
if (hours < 11) {
|
||||
return 'enjing';
|
||||
} else if (hours < 15) {
|
||||
return 'siyang';
|
||||
} else if (hours < 19) {
|
||||
return 'sonten';
|
||||
} else {
|
||||
return 'ndalu';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Dinten puniko pukul] LT',
|
||||
nextDay : '[Mbenjang pukul] LT',
|
||||
nextWeek : 'dddd [pukul] LT',
|
||||
lastDay : '[Kala wingi pukul] LT',
|
||||
lastWeek : 'dddd [kepengker pukul] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'wonten ing %s',
|
||||
past : '%s ingkang kepengker',
|
||||
s : 'sawetawis detik',
|
||||
m : 'setunggal menit',
|
||||
mm : '%d menit',
|
||||
h : 'setunggal jam',
|
||||
hh : '%d jam',
|
||||
d : 'sedinten',
|
||||
dd : '%d dinten',
|
||||
M : 'sewulan',
|
||||
MM : '%d wulan',
|
||||
y : 'setaun',
|
||||
yy : '%d taun'
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
return jv;
|
||||
|
||||
}));
|
||||
|
|
@ -0,0 +1,369 @@
|
|||
<!DOCTYPE html>
|
||||
<html dir="ltr" lang="en-US">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>A date range picker for Bootstrap</title>
|
||||
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" media="all" href="daterangepicker.css" />
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
|
||||
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="moment.js"></script>
|
||||
<script type="text/javascript" src="daterangepicker.js"></script>
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body style="margin: 60px 0">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<h1 style="margin: 0 0 20px 0">Configuration Builder</h1>
|
||||
|
||||
<div class="well configurator">
|
||||
|
||||
<form>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="parentEl">parentEl</label>
|
||||
<input type="text" class="form-control" id="parentEl" value="" placeholder="body">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="startDate">startDate</label>
|
||||
<input type="text" class="form-control" id="startDate" value="07/01/2015">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="endDate">endDate</label>
|
||||
<input type="text" class="form-control" id="endDate" value="07/15/2015">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="minDate">minDate</label>
|
||||
<input type="text" class="form-control" id="minDate" value="" placeholder="MM/DD/YYYY">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="maxDate">maxDate</label>
|
||||
<input type="text" class="form-control" id="maxDate" value="" placeholder="MM/DD/YYYY">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="autoApply"> autoApply
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="singleDatePicker"> singleDatePicker
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="showDropdowns"> showDropdowns
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="showWeekNumbers"> showWeekNumbers
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="showISOWeekNumbers"> showISOWeekNumbers
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="timePicker"> timePicker
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="timePicker24Hour"> timePicker24Hour
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="timePickerIncrement">timePickerIncrement (in minutes)</label>
|
||||
<input type="text" class="form-control" id="timePickerIncrement" value="1">
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="timePickerSeconds"> timePickerSeconds
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="dateLimit"> dateLimit (with example date range span)
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="ranges"> ranges (with example predefined ranges)
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="locale"> locale (with example settings)
|
||||
</label>
|
||||
<label id="rtl-wrap">
|
||||
<input type="checkbox" id="rtl"> RTL (right-to-left)
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="alwaysShowCalendars"> alwaysShowCalendars
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="linkedCalendars" checked="checked"> linkedCalendars
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="autoUpdateInput" checked="checked"> autoUpdateInput
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="showCustomRangeLabel" checked="checked"> showCustomRangeLabel
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="opens">opens</label>
|
||||
<select id="opens" class="form-control">
|
||||
<option value="right" selected>right</option>
|
||||
<option value="left">left</option>
|
||||
<option value="center">center</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="drops">drops</label>
|
||||
<select id="drops" class="form-control">
|
||||
<option value="down" selected>down</option>
|
||||
<option value="up">up</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="buttonClasses">buttonClasses</label>
|
||||
<input type="text" class="form-control" id="buttonClasses" value="btn btn-sm">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="applyClass">applyClass</label>
|
||||
<input type="text" class="form-control" id="applyClass" value="btn-success">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="cancelClass">cancelClass</label>
|
||||
<input type="text" class="form-control" id="cancelClass" value="btn-default">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4 col-md-offset-2 demo">
|
||||
<h4>Your Date Range Picker</h4>
|
||||
<input type="text" id="config-demo" class="form-control">
|
||||
<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<h4>Configuration</h4>
|
||||
|
||||
<div class="well">
|
||||
<textarea id="config-text" style="height: 300px; width: 100%; padding: 10px"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<style type="text/css">
|
||||
.demo { position: relative; }
|
||||
.demo i {
|
||||
position: absolute; bottom: 10px; right: 24px; top: auto; cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#config-text').keyup(function() {
|
||||
eval($(this).val());
|
||||
});
|
||||
|
||||
$('.configurator input, .configurator select').change(function() {
|
||||
updateConfig();
|
||||
});
|
||||
|
||||
$('.demo i').click(function() {
|
||||
$(this).parent().find('input').click();
|
||||
});
|
||||
|
||||
$('#startDate').daterangepicker({
|
||||
singleDatePicker: true,
|
||||
startDate: moment().subtract(6, 'days')
|
||||
});
|
||||
|
||||
$('#endDate').daterangepicker({
|
||||
singleDatePicker: true,
|
||||
startDate: moment()
|
||||
});
|
||||
|
||||
updateConfig();
|
||||
|
||||
function updateConfig() {
|
||||
var options = {};
|
||||
|
||||
if ($('#singleDatePicker').is(':checked'))
|
||||
options.singleDatePicker = true;
|
||||
|
||||
if ($('#showDropdowns').is(':checked'))
|
||||
options.showDropdowns = true;
|
||||
|
||||
if ($('#showWeekNumbers').is(':checked'))
|
||||
options.showWeekNumbers = true;
|
||||
|
||||
if ($('#showISOWeekNumbers').is(':checked'))
|
||||
options.showISOWeekNumbers = true;
|
||||
|
||||
if ($('#timePicker').is(':checked'))
|
||||
options.timePicker = true;
|
||||
|
||||
if ($('#timePicker24Hour').is(':checked'))
|
||||
options.timePicker24Hour = true;
|
||||
|
||||
if ($('#timePickerIncrement').val().length && $('#timePickerIncrement').val() != 1)
|
||||
options.timePickerIncrement = parseInt($('#timePickerIncrement').val(), 10);
|
||||
|
||||
if ($('#timePickerSeconds').is(':checked'))
|
||||
options.timePickerSeconds = true;
|
||||
|
||||
if ($('#autoApply').is(':checked'))
|
||||
options.autoApply = true;
|
||||
|
||||
if ($('#dateLimit').is(':checked'))
|
||||
options.dateLimit = { days: 7 };
|
||||
|
||||
if ($('#ranges').is(':checked')) {
|
||||
options.ranges = {
|
||||
'Today': [moment(), moment()],
|
||||
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
||||
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
|
||||
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
||||
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
||||
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
||||
};
|
||||
}
|
||||
|
||||
if ($('#locale').is(':checked')) {
|
||||
$('#rtl-wrap').show();
|
||||
options.locale = {
|
||||
direction: $('#rtl').is(':checked') ? 'rtl' : 'ltr',
|
||||
format: 'MM/DD/YYYY HH:mm',
|
||||
separator: ' - ',
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
fromLabel: 'From',
|
||||
toLabel: 'To',
|
||||
customRangeLabel: 'Custom',
|
||||
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr','Sa'],
|
||||
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
||||
firstDay: 1
|
||||
};
|
||||
} else {
|
||||
$('#rtl-wrap').hide();
|
||||
}
|
||||
|
||||
if (!$('#linkedCalendars').is(':checked'))
|
||||
options.linkedCalendars = false;
|
||||
|
||||
if (!$('#autoUpdateInput').is(':checked'))
|
||||
options.autoUpdateInput = false;
|
||||
|
||||
if (!$('#showCustomRangeLabel').is(':checked'))
|
||||
options.showCustomRangeLabel = false;
|
||||
|
||||
if ($('#alwaysShowCalendars').is(':checked'))
|
||||
options.alwaysShowCalendars = true;
|
||||
|
||||
if ($('#parentEl').val().length)
|
||||
options.parentEl = $('#parentEl').val();
|
||||
|
||||
if ($('#startDate').val().length)
|
||||
options.startDate = $('#startDate').val();
|
||||
|
||||
if ($('#endDate').val().length)
|
||||
options.endDate = $('#endDate').val();
|
||||
|
||||
if ($('#minDate').val().length)
|
||||
options.minDate = $('#minDate').val();
|
||||
|
||||
if ($('#maxDate').val().length)
|
||||
options.maxDate = $('#maxDate').val();
|
||||
|
||||
if ($('#opens').val().length && $('#opens').val() != 'right')
|
||||
options.opens = $('#opens').val();
|
||||
|
||||
if ($('#drops').val().length && $('#drops').val() != 'down')
|
||||
options.drops = $('#drops').val();
|
||||
|
||||
if ($('#buttonClasses').val().length && $('#buttonClasses').val() != 'btn btn-sm')
|
||||
options.buttonClasses = $('#buttonClasses').val();
|
||||
|
||||
if ($('#applyClass').val().length && $('#applyClass').val() != 'btn-success')
|
||||
options.applyClass = $('#applyClass').val();
|
||||
|
||||
if ($('#cancelClass').val().length && $('#cancelClass').val() != 'btn-default')
|
||||
options.cancelClass = $('#cancelClass').val();
|
||||
|
||||
$('#config-text').val("$('#demo').daterangepicker(" + JSON.stringify(options, null, ' ') + ", function(start, end, label) {\n console.log(\"New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')\");\n});");
|
||||
|
||||
$('#config-demo').daterangepicker(options, function(start, end, label) { console.log('New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')'); });
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
* DateJS Culture String File
|
||||
* Country Code: quz-BO
|
||||
* Name: Quechua (Bolivia)
|
||||
* Format: "key" : "value"
|
||||
* Key is the en-US term, Value is the Key in the current language.
|
||||
*/
|
||||
Date.CultureStrings = Date.CultureStrings || {};
|
||||
Date.CultureStrings["quz-BO"] = {
|
||||
"name": "quz-BO",
|
||||
"englishName": "Quechua (Bolivia)",
|
||||
"nativeName": "runasimi (Bolivia Suyu)",
|
||||
"Sunday": "intichaw",
|
||||
"Monday": "killachaw",
|
||||
"Tuesday": "atipachaw",
|
||||
"Wednesday": "quyllurchaw",
|
||||
"Thursday": "Ch' askachaw",
|
||||
"Friday": "Illapachaw",
|
||||
"Saturday": "k'uychichaw",
|
||||
"Sun": "int",
|
||||
"Mon": "kil",
|
||||
"Tue": "ati",
|
||||
"Wed": "quy",
|
||||
"Thu": "Ch",
|
||||
"Fri": "Ill",
|
||||
"Sat": "k'u",
|
||||
"Su": "int",
|
||||
"Mo": "kil",
|
||||
"Tu": "ati",
|
||||
"We": "quy",
|
||||
"Th": "Ch",
|
||||
"Fr": "Ill",
|
||||
"Sa": "k'u",
|
||||
"S_Sun_Initial": "i",
|
||||
"M_Mon_Initial": "k",
|
||||
"T_Tue_Initial": "a",
|
||||
"W_Wed_Initial": "q",
|
||||
"T_Thu_Initial": "C",
|
||||
"F_Fri_Initial": "I",
|
||||
"S_Sat_Initial": "k",
|
||||
"January": "Qulla puquy",
|
||||
"February": "Hatun puquy",
|
||||
"March": "Pauqar waray",
|
||||
"April": "ayriwa",
|
||||
"May": "Aymuray",
|
||||
"June": "Inti raymi",
|
||||
"July": "Anta Sitwa",
|
||||
"August": "Qhapaq Sitwa",
|
||||
"September": "Uma raymi",
|
||||
"October": "Kantaray",
|
||||
"November": "Ayamarq'a",
|
||||
"December": "Kapaq Raymi",
|
||||
"Jan_Abbr": "Qul",
|
||||
"Feb_Abbr": "Hat",
|
||||
"Mar_Abbr": "Pau",
|
||||
"Apr_Abbr": "ayr",
|
||||
"May_Abbr": "Aym",
|
||||
"Jun_Abbr": "Int",
|
||||
"Jul_Abbr": "Ant",
|
||||
"Aug_Abbr": "Qha",
|
||||
"Sep_Abbr": "Uma",
|
||||
"Oct_Abbr": "Kan",
|
||||
"Nov_Abbr": "Aya",
|
||||
"Dec_Abbr": "Kap",
|
||||
"AM": "a.m.",
|
||||
"PM": "p.m.",
|
||||
"firstDayOfWeek": 0,
|
||||
"twoDigitYearMax": 2029,
|
||||
"mdy": "dmy",
|
||||
"M/d/yyyy": "dd/MM/yyyy",
|
||||
"dddd, MMMM dd, yyyy": "dddd, dd' de 'MMMM' de 'yyyy",
|
||||
"h:mm tt": "hh:mm:ss tt",
|
||||
"h:mm:ss tt": "hh:mm:ss tt",
|
||||
"dddd, MMMM dd, yyyy h:mm:ss tt": "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt",
|
||||
"yyyy-MM-ddTHH:mm:ss": "yyyy-MM-ddTHH:mm:ss",
|
||||
"yyyy-MM-dd HH:mm:ssZ": "yyyy-MM-dd HH:mm:ssZ",
|
||||
"ddd, dd MMM yyyy HH:mm:ss": "ddd, dd MMM yyyy HH:mm:ss",
|
||||
"MMMM dd": "MMMM dd",
|
||||
"MMMM, yyyy": "MMMM' de 'yyyy",
|
||||
"/jan(uary)?/": "qul(la puquy)?",
|
||||
"/feb(ruary)?/": "hat(un puquy)?",
|
||||
"/mar(ch)?/": "pau(qar waray)?",
|
||||
"/apr(il)?/": "ayr(iwa)?",
|
||||
"/may/": "aym(uray)?",
|
||||
"/jun(e)?/": "int(i raymi)?",
|
||||
"/jul(y)?/": "ant(a sitwa)?",
|
||||
"/aug(ust)?/": "qha(paq sitwa)?",
|
||||
"/sep(t(ember)?)?/": "uma( raymi)?",
|
||||
"/oct(ober)?/": "kan(taray)?",
|
||||
"/nov(ember)?/": "aya(marq'a)?",
|
||||
"/dec(ember)?/": "kap(aq raymi)?",
|
||||
"/^su(n(day)?)?/": "^intichaw",
|
||||
"/^mo(n(day)?)?/": "^killachaw",
|
||||
"/^tu(e(s(day)?)?)?/": "^atipachaw",
|
||||
"/^we(d(nesday)?)?/": "^quyllurchaw",
|
||||
"/^th(u(r(s(day)?)?)?)?/": "^ch' askachaw",
|
||||
"/^fr(i(day)?)?/": "^illapachaw",
|
||||
"/^sa(t(urday)?)?/": "^k'uychichaw",
|
||||
"/^next/": "^next",
|
||||
"/^last|past|prev(ious)?/": "^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/": "^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/": "^(\\-|bef(ore)?|ago)",
|
||||
"/^yes(terday)?/": "^yes(terday)?",
|
||||
"/^t(od(ay)?)?/": "^t(od(ay)?)?",
|
||||
"/^tom(orrow)?/": "^tom(orrow)?",
|
||||
"/^n(ow)?/": "^n(ow)?",
|
||||
"/^ms|milli(second)?s?/": "^ms|milli(second)?s?",
|
||||
"/^sec(ond)?s?/": "^sec(ond)?s?",
|
||||
"/^mn|min(ute)?s?/": "^mn|min(ute)?s?",
|
||||
"/^h(our)?s?/": "^h(our)?s?",
|
||||
"/^w(eek)?s?/": "^w(eek)?s?",
|
||||
"/^m(onth)?s?/": "^m(onth)?s?",
|
||||
"/^d(ay)?s?/": "^d(ay)?s?",
|
||||
"/^y(ear)?s?/": "^y(ear)?s?",
|
||||
"/^(a|p)/": "^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/": "^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/": "^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)",
|
||||
"/^\\s*(st|nd|rd|th)/": "^\\s*(st|nd|rd|th)",
|
||||
"/^\\s*(\\:|a(?!u|p)|p)/": "^\\s*(\\:|a(?!u|p)|p)",
|
||||
"LINT": "LINT",
|
||||
"TOT": "TOT",
|
||||
"CHAST": "CHAST",
|
||||
"NZST": "NZST",
|
||||
"NFT": "NFT",
|
||||
"SBT": "SBT",
|
||||
"AEST": "AEST",
|
||||
"ACST": "ACST",
|
||||
"JST": "JST",
|
||||
"CWST": "CWST",
|
||||
"CT": "CT",
|
||||
"ICT": "ICT",
|
||||
"MMT": "MMT",
|
||||
"BIOT": "BST",
|
||||
"NPT": "NPT",
|
||||
"IST": "IST",
|
||||
"PKT": "PKT",
|
||||
"AFT": "AFT",
|
||||
"MSK": "MSK",
|
||||
"IRST": "IRST",
|
||||
"FET": "FET",
|
||||
"EET": "EET",
|
||||
"CET": "CET",
|
||||
"UTC": "UTC",
|
||||
"GMT": "GMT",
|
||||
"CVT": "CVT",
|
||||
"GST": "GST",
|
||||
"BRT": "BRT",
|
||||
"NST": "NST",
|
||||
"AST": "AST",
|
||||
"EST": "EST",
|
||||
"CST": "CST",
|
||||
"MST": "MST",
|
||||
"PST": "PST",
|
||||
"AKST": "AKST",
|
||||
"MIT": "MIT",
|
||||
"HST": "HST",
|
||||
"SST": "SST",
|
||||
"BIT": "BIT",
|
||||
"CHADT": "CHADT",
|
||||
"NZDT": "NZDT",
|
||||
"AEDT": "AEDT",
|
||||
"ACDT": "ACDT",
|
||||
"AZST": "AZST",
|
||||
"IRDT": "IRDT",
|
||||
"EEST": "EEST",
|
||||
"CEST": "CEST",
|
||||
"BST": "BST",
|
||||
"PMDT": "PMDT",
|
||||
"ADT": "ADT",
|
||||
"NDT": "NDT",
|
||||
"EDT": "EDT",
|
||||
"CDT": "CDT",
|
||||
"MDT": "MDT",
|
||||
"PDT": "PDT",
|
||||
"AKDT": "AKDT",
|
||||
"HADT": "HADT"
|
||||
};
|
||||
Date.CultureStrings.lang = "quz-BO";
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
define(function (require) {
|
||||
|
||||
var echarts = require('../echarts');
|
||||
|
||||
require('./treemap/TreemapSeries');
|
||||
require('./treemap/TreemapView');
|
||||
require('./treemap/treemapAction');
|
||||
|
||||
echarts.registerVisualCoding('chart', require('./treemap/treemapVisual'));
|
||||
|
||||
echarts.registerLayout(require('./treemap/treemapLayout'));
|
||||
});
|
||||
|
|
@ -0,0 +1,400 @@
|
|||
// Layout helpers for each component positioning
|
||||
define(function(require) {
|
||||
'use strict';
|
||||
|
||||
var zrUtil = require('zrender/core/util');
|
||||
var BoundingRect = require('zrender/core/BoundingRect');
|
||||
var numberUtil = require('./number');
|
||||
var formatUtil = require('./format');
|
||||
var parsePercent = numberUtil.parsePercent;
|
||||
var each = zrUtil.each;
|
||||
|
||||
var layout = {};
|
||||
|
||||
var LOCATION_PARAMS = ['left', 'right', 'top', 'bottom', 'width', 'height'];
|
||||
|
||||
function boxLayout(orient, group, gap, maxWidth, maxHeight) {
|
||||
var x = 0;
|
||||
var y = 0;
|
||||
if (maxWidth == null) {
|
||||
maxWidth = Infinity;
|
||||
}
|
||||
if (maxHeight == null) {
|
||||
maxHeight = Infinity;
|
||||
}
|
||||
var currentLineMaxSize = 0;
|
||||
group.eachChild(function (child, idx) {
|
||||
var position = child.position;
|
||||
var rect = child.getBoundingRect();
|
||||
var nextChild = group.childAt(idx + 1);
|
||||
var nextChildRect = nextChild && nextChild.getBoundingRect();
|
||||
var nextX;
|
||||
var nextY;
|
||||
if (orient === 'horizontal') {
|
||||
var moveX = rect.width + (nextChildRect ? (-nextChildRect.x + rect.x) : 0);
|
||||
nextX = x + moveX;
|
||||
// Wrap when width exceeds maxWidth or meet a `newline` group
|
||||
if (nextX > maxWidth || child.newline) {
|
||||
x = 0;
|
||||
nextX = moveX;
|
||||
y += currentLineMaxSize + gap;
|
||||
currentLineMaxSize = rect.height;
|
||||
}
|
||||
else {
|
||||
currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var moveY = rect.height + (nextChildRect ? (-nextChildRect.y + rect.y) : 0);
|
||||
nextY = y + moveY;
|
||||
// Wrap when width exceeds maxHeight or meet a `newline` group
|
||||
if (nextY > maxHeight || child.newline) {
|
||||
x += currentLineMaxSize + gap;
|
||||
y = 0;
|
||||
nextY = moveY;
|
||||
currentLineMaxSize = rect.width;
|
||||
}
|
||||
else {
|
||||
currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);
|
||||
}
|
||||
}
|
||||
|
||||
if (child.newline) {
|
||||
return;
|
||||
}
|
||||
|
||||
position[0] = x;
|
||||
position[1] = y;
|
||||
|
||||
orient === 'horizontal'
|
||||
? (x = nextX + gap)
|
||||
: (y = nextY + gap);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* VBox or HBox layouting
|
||||
* @param {string} orient
|
||||
* @param {module:zrender/container/Group} group
|
||||
* @param {number} gap
|
||||
* @param {number} [width=Infinity]
|
||||
* @param {number} [height=Infinity]
|
||||
*/
|
||||
layout.box = boxLayout;
|
||||
|
||||
/**
|
||||
* VBox layouting
|
||||
* @param {module:zrender/container/Group} group
|
||||
* @param {number} gap
|
||||
* @param {number} [width=Infinity]
|
||||
* @param {number} [height=Infinity]
|
||||
*/
|
||||
layout.vbox = zrUtil.curry(boxLayout, 'vertical');
|
||||
|
||||
/**
|
||||
* HBox layouting
|
||||
* @param {module:zrender/container/Group} group
|
||||
* @param {number} gap
|
||||
* @param {number} [width=Infinity]
|
||||
* @param {number} [height=Infinity]
|
||||
*/
|
||||
layout.hbox = zrUtil.curry(boxLayout, 'horizontal');
|
||||
|
||||
/**
|
||||
* If x or x2 is not specified or 'center' 'left' 'right',
|
||||
* the width would be as long as possible.
|
||||
* If y or y2 is not specified or 'middle' 'top' 'bottom',
|
||||
* the height would be as long as possible.
|
||||
*
|
||||
* @param {Object} positionInfo
|
||||
* @param {number|string} [positionInfo.x]
|
||||
* @param {number|string} [positionInfo.y]
|
||||
* @param {number|string} [positionInfo.x2]
|
||||
* @param {number|string} [positionInfo.y2]
|
||||
* @param {Object} containerRect
|
||||
* @param {string|number} margin
|
||||
* @return {Object} {width, height}
|
||||
*/
|
||||
layout.getAvailableSize = function (positionInfo, containerRect, margin) {
|
||||
var containerWidth = containerRect.width;
|
||||
var containerHeight = containerRect.height;
|
||||
|
||||
var x = parsePercent(positionInfo.x, containerWidth);
|
||||
var y = parsePercent(positionInfo.y, containerHeight);
|
||||
var x2 = parsePercent(positionInfo.x2, containerWidth);
|
||||
var y2 = parsePercent(positionInfo.y2, containerHeight);
|
||||
|
||||
(isNaN(x) || isNaN(parseFloat(positionInfo.x))) && (x = 0);
|
||||
(isNaN(x2) || isNaN(parseFloat(positionInfo.x2))) && (x2 = containerWidth);
|
||||
(isNaN(y) || isNaN(parseFloat(positionInfo.y))) && (y = 0);
|
||||
(isNaN(y2) || isNaN(parseFloat(positionInfo.y2))) && (y2 = containerHeight);
|
||||
|
||||
margin = formatUtil.normalizeCssArray(margin || 0);
|
||||
|
||||
return {
|
||||
width: Math.max(x2 - x - margin[1] - margin[3], 0),
|
||||
height: Math.max(y2 - y - margin[0] - margin[2], 0)
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Parse position info.
|
||||
*
|
||||
* @param {Object} positionInfo
|
||||
* @param {number|string} [positionInfo.left]
|
||||
* @param {number|string} [positionInfo.top]
|
||||
* @param {number|string} [positionInfo.right]
|
||||
* @param {number|string} [positionInfo.bottom]
|
||||
* @param {number|string} [positionInfo.width]
|
||||
* @param {number|string} [positionInfo.height]
|
||||
* @param {number|string} [positionInfo.aspect] Aspect is width / height
|
||||
* @param {Object} containerRect
|
||||
* @param {string|number} [margin]
|
||||
*
|
||||
* @return {module:zrender/core/BoundingRect}
|
||||
*/
|
||||
layout.getLayoutRect = function (
|
||||
positionInfo, containerRect, margin
|
||||
) {
|
||||
margin = formatUtil.normalizeCssArray(margin || 0);
|
||||
|
||||
var containerWidth = containerRect.width;
|
||||
var containerHeight = containerRect.height;
|
||||
|
||||
var left = parsePercent(positionInfo.left, containerWidth);
|
||||
var top = parsePercent(positionInfo.top, containerHeight);
|
||||
var right = parsePercent(positionInfo.right, containerWidth);
|
||||
var bottom = parsePercent(positionInfo.bottom, containerHeight);
|
||||
var width = parsePercent(positionInfo.width, containerWidth);
|
||||
var height = parsePercent(positionInfo.height, containerHeight);
|
||||
|
||||
var verticalMargin = margin[2] + margin[0];
|
||||
var horizontalMargin = margin[1] + margin[3];
|
||||
var aspect = positionInfo.aspect;
|
||||
|
||||
// If width is not specified, calculate width from left and right
|
||||
if (isNaN(width)) {
|
||||
width = containerWidth - right - horizontalMargin - left;
|
||||
}
|
||||
if (isNaN(height)) {
|
||||
height = containerHeight - bottom - verticalMargin - top;
|
||||
}
|
||||
|
||||
// If width and height are not given
|
||||
// 1. Graph should not exceeds the container
|
||||
// 2. Aspect must be keeped
|
||||
// 3. Graph should take the space as more as possible
|
||||
if (isNaN(width) && isNaN(height)) {
|
||||
if (aspect > containerWidth / containerHeight) {
|
||||
width = containerWidth * 0.8;
|
||||
}
|
||||
else {
|
||||
height = containerHeight * 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
if (aspect != null) {
|
||||
// Calculate width or height with given aspect
|
||||
if (isNaN(width)) {
|
||||
width = aspect * height;
|
||||
}
|
||||
if (isNaN(height)) {
|
||||
height = width / aspect;
|
||||
}
|
||||
}
|
||||
|
||||
// If left is not specified, calculate left from right and width
|
||||
if (isNaN(left)) {
|
||||
left = containerWidth - right - width - horizontalMargin;
|
||||
}
|
||||
if (isNaN(top)) {
|
||||
top = containerHeight - bottom - height - verticalMargin;
|
||||
}
|
||||
|
||||
// Align left and top
|
||||
switch (positionInfo.left || positionInfo.right) {
|
||||
case 'center':
|
||||
left = containerWidth / 2 - width / 2 - margin[3];
|
||||
break;
|
||||
case 'right':
|
||||
left = containerWidth - width - horizontalMargin;
|
||||
break;
|
||||
}
|
||||
switch (positionInfo.top || positionInfo.bottom) {
|
||||
case 'middle':
|
||||
case 'center':
|
||||
top = containerHeight / 2 - height / 2 - margin[0];
|
||||
break;
|
||||
case 'bottom':
|
||||
top = containerHeight - height - verticalMargin;
|
||||
break;
|
||||
}
|
||||
// If something is wrong and left, top, width, height are calculated as NaN
|
||||
left = left || 0;
|
||||
top = top || 0;
|
||||
if (isNaN(width)) {
|
||||
// Width may be NaN if only one value is given except width
|
||||
width = containerWidth - left - (right || 0);
|
||||
}
|
||||
if (isNaN(height)) {
|
||||
// Height may be NaN if only one value is given except height
|
||||
height = containerHeight - top - (bottom || 0);
|
||||
}
|
||||
|
||||
var rect = new BoundingRect(left + margin[3], top + margin[0], width, height);
|
||||
rect.margin = margin;
|
||||
return rect;
|
||||
};
|
||||
|
||||
/**
|
||||
* Position group of component in viewport
|
||||
* Group position is specified by either
|
||||
* {left, top}, {right, bottom}
|
||||
* If all properties exists, right and bottom will be igonred.
|
||||
*
|
||||
* @param {module:zrender/container/Group} group
|
||||
* @param {Object} positionInfo
|
||||
* @param {number|string} [positionInfo.left]
|
||||
* @param {number|string} [positionInfo.top]
|
||||
* @param {number|string} [positionInfo.right]
|
||||
* @param {number|string} [positionInfo.bottom]
|
||||
* @param {Object} containerRect
|
||||
* @param {string|number} margin
|
||||
*/
|
||||
layout.positionGroup = function (
|
||||
group, positionInfo, containerRect, margin
|
||||
) {
|
||||
var groupRect = group.getBoundingRect();
|
||||
|
||||
positionInfo = zrUtil.extend(zrUtil.clone(positionInfo), {
|
||||
width: groupRect.width,
|
||||
height: groupRect.height
|
||||
});
|
||||
|
||||
positionInfo = layout.getLayoutRect(
|
||||
positionInfo, containerRect, margin
|
||||
);
|
||||
|
||||
group.position = [
|
||||
positionInfo.x - groupRect.x,
|
||||
positionInfo.y - groupRect.y
|
||||
];
|
||||
};
|
||||
|
||||
/**
|
||||
* Consider Case:
|
||||
* When defulat option has {left: 0, width: 100}, and we set {right: 0}
|
||||
* through setOption or media query, using normal zrUtil.merge will cause
|
||||
* {right: 0} does not take effect.
|
||||
*
|
||||
* @example
|
||||
* ComponentModel.extend({
|
||||
* init: function () {
|
||||
* ...
|
||||
* var inputPositionParams = layout.getLayoutParams(option);
|
||||
* this.mergeOption(inputPositionParams);
|
||||
* },
|
||||
* mergeOption: function (newOption) {
|
||||
* newOption && zrUtil.merge(thisOption, newOption, true);
|
||||
* layout.mergeLayoutParam(thisOption, newOption);
|
||||
* }
|
||||
* });
|
||||
*
|
||||
* @param {Object} targetOption
|
||||
* @param {Object} newOption
|
||||
* @param {Object|string} [opt]
|
||||
* @param {boolean} [opt.ignoreSize=false] Some component must has width and height.
|
||||
*/
|
||||
layout.mergeLayoutParam = function (targetOption, newOption, opt) {
|
||||
!zrUtil.isObject(opt) && (opt = {});
|
||||
var hNames = ['width', 'left', 'right']; // Order by priority.
|
||||
var vNames = ['height', 'top', 'bottom']; // Order by priority.
|
||||
var hResult = merge(hNames);
|
||||
var vResult = merge(vNames);
|
||||
|
||||
copy(hNames, targetOption, hResult);
|
||||
copy(vNames, targetOption, vResult);
|
||||
|
||||
function merge(names) {
|
||||
var newParams = {};
|
||||
var newValueCount = 0;
|
||||
var merged = {};
|
||||
var mergedValueCount = 0;
|
||||
var enoughParamNumber = opt.ignoreSize ? 1 : 2;
|
||||
|
||||
each(names, function (name) {
|
||||
merged[name] = targetOption[name];
|
||||
});
|
||||
each(names, function (name) {
|
||||
// Consider case: newOption.width is null, which is
|
||||
// set by user for removing width setting.
|
||||
hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);
|
||||
hasValue(newParams, name) && newValueCount++;
|
||||
hasValue(merged, name) && mergedValueCount++;
|
||||
});
|
||||
|
||||
// Case: newOption: {width: ..., right: ...},
|
||||
// or targetOption: {right: ...} and newOption: {width: ...},
|
||||
// There is no conflict when merged only has params count
|
||||
// little than enoughParamNumber.
|
||||
if (mergedValueCount === enoughParamNumber || !newValueCount) {
|
||||
return merged;
|
||||
}
|
||||
// Case: newOption: {width: ..., right: ...},
|
||||
// Than we can make sure user only want those two, and ignore
|
||||
// all origin params in targetOption.
|
||||
else if (newValueCount >= enoughParamNumber) {
|
||||
return newParams;
|
||||
}
|
||||
else {
|
||||
// Chose another param from targetOption by priority.
|
||||
// When 'ignoreSize', enoughParamNumber is 1 and those will not happen.
|
||||
for (var i = 0; i < names.length; i++) {
|
||||
var name = names[i];
|
||||
if (!hasProp(newParams, name) && hasProp(targetOption, name)) {
|
||||
newParams[name] = targetOption[name];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return newParams;
|
||||
}
|
||||
}
|
||||
|
||||
function hasProp(obj, name) {
|
||||
return obj.hasOwnProperty(name);
|
||||
}
|
||||
|
||||
function hasValue(obj, name) {
|
||||
return obj[name] != null && obj[name] !== 'auto';
|
||||
}
|
||||
|
||||
function copy(names, target, source) {
|
||||
each(names, function (name) {
|
||||
target[name] = source[name];
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.
|
||||
* @param {Object} source
|
||||
* @return {Object} Result contains those props.
|
||||
*/
|
||||
layout.getLayoutParams = function (source) {
|
||||
return layout.copyLayoutParams({}, source);
|
||||
};
|
||||
|
||||
/**
|
||||
* Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.
|
||||
* @param {Object} source
|
||||
* @return {Object} Result contains those props.
|
||||
*/
|
||||
layout.copyLayoutParams = function (target, source) {
|
||||
source && target && each(LOCATION_PARAMS, function (name) {
|
||||
source.hasOwnProperty(name) && (target[name] = source[name]);
|
||||
});
|
||||
return target;
|
||||
};
|
||||
|
||||
return layout;
|
||||
});
|
||||
|
|
@ -0,0 +1,502 @@
|
|||
define( [
|
||||
"./core",
|
||||
"./var/pnum",
|
||||
"./core/access",
|
||||
"./css/var/rmargin",
|
||||
"./var/document",
|
||||
"./var/rcssNum",
|
||||
"./css/var/rnumnonpx",
|
||||
"./css/var/cssExpand",
|
||||
"./css/var/isHidden",
|
||||
"./css/var/getStyles",
|
||||
"./css/var/swap",
|
||||
"./css/curCSS",
|
||||
"./css/adjustCSS",
|
||||
"./css/defaultDisplay",
|
||||
"./css/addGetHookIf",
|
||||
"./css/support",
|
||||
"./data/var/dataPriv",
|
||||
|
||||
"./core/init",
|
||||
"./core/ready",
|
||||
"./selector" // contains
|
||||
], function( jQuery, pnum, access, rmargin, document, rcssNum, rnumnonpx, cssExpand, isHidden,
|
||||
getStyles, swap, curCSS, adjustCSS, defaultDisplay, addGetHookIf, support, dataPriv ) {
|
||||
|
||||
var
|
||||
|
||||
// Swappable if display is none or starts with table
|
||||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
fontWeight: "400"
|
||||
},
|
||||
|
||||
cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
|
||||
emptyStyle = document.createElement( "div" ).style;
|
||||
|
||||
// Return a css property mapped to a potentially vendor prefixed property
|
||||
function vendorPropName( name ) {
|
||||
|
||||
// Shortcut for names that are not vendor prefixed
|
||||
if ( name in emptyStyle ) {
|
||||
return name;
|
||||
}
|
||||
|
||||
// Check for vendor prefixed names
|
||||
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
|
||||
i = cssPrefixes.length;
|
||||
|
||||
while ( i-- ) {
|
||||
name = cssPrefixes[ i ] + capName;
|
||||
if ( name in emptyStyle ) {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setPositiveNumber( elem, value, subtract ) {
|
||||
|
||||
// Any relative (+/-) values have already been
|
||||
// normalized at this point
|
||||
var matches = rcssNum.exec( value );
|
||||
return matches ?
|
||||
|
||||
// Guard against undefined "subtract", e.g., when used as in cssHooks
|
||||
Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
|
||||
value;
|
||||
}
|
||||
|
||||
function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
|
||||
var i = extra === ( isBorderBox ? "border" : "content" ) ?
|
||||
|
||||
// If we already have the right measurement, avoid augmentation
|
||||
4 :
|
||||
|
||||
// Otherwise initialize for horizontal or vertical properties
|
||||
name === "width" ? 1 : 0,
|
||||
|
||||
val = 0;
|
||||
|
||||
for ( ; i < 4; i += 2 ) {
|
||||
|
||||
// Both box models exclude margin, so add it if we want it
|
||||
if ( extra === "margin" ) {
|
||||
val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
|
||||
}
|
||||
|
||||
if ( isBorderBox ) {
|
||||
|
||||
// border-box includes padding, so remove it if we want content
|
||||
if ( extra === "content" ) {
|
||||
val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
|
||||
}
|
||||
|
||||
// At this point, extra isn't border nor margin, so remove border
|
||||
if ( extra !== "margin" ) {
|
||||
val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
|
||||
}
|
||||
} else {
|
||||
|
||||
// At this point, extra isn't content, so add padding
|
||||
val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
|
||||
|
||||
// At this point, extra isn't content nor padding, so add border
|
||||
if ( extra !== "padding" ) {
|
||||
val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
function getWidthOrHeight( elem, name, extra ) {
|
||||
|
||||
// Start with offset property, which is equivalent to the border-box value
|
||||
var valueIsBorderBox = true,
|
||||
val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
|
||||
styles = getStyles( elem ),
|
||||
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
|
||||
|
||||
// Some non-html elements return undefined for offsetWidth, so check for null/undefined
|
||||
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
|
||||
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
|
||||
if ( val <= 0 || val == null ) {
|
||||
|
||||
// Fall back to computed then uncomputed css if necessary
|
||||
val = curCSS( elem, name, styles );
|
||||
if ( val < 0 || val == null ) {
|
||||
val = elem.style[ name ];
|
||||
}
|
||||
|
||||
// Computed unit is not pixels. Stop here and return.
|
||||
if ( rnumnonpx.test( val ) ) {
|
||||
return val;
|
||||
}
|
||||
|
||||
// Check for style in case a browser which returns unreliable values
|
||||
// for getComputedStyle silently falls back to the reliable elem.style
|
||||
valueIsBorderBox = isBorderBox &&
|
||||
( support.boxSizingReliable() || val === elem.style[ name ] );
|
||||
|
||||
// Normalize "", auto, and prepare for extra
|
||||
val = parseFloat( val ) || 0;
|
||||
}
|
||||
|
||||
// Use the active box-sizing model to add/subtract irrelevant styles
|
||||
return ( val +
|
||||
augmentWidthOrHeight(
|
||||
elem,
|
||||
name,
|
||||
extra || ( isBorderBox ? "border" : "content" ),
|
||||
valueIsBorderBox,
|
||||
styles
|
||||
)
|
||||
) + "px";
|
||||
}
|
||||
|
||||
function showHide( elements, show ) {
|
||||
var display, elem, hidden,
|
||||
values = [],
|
||||
index = 0,
|
||||
length = elements.length;
|
||||
|
||||
for ( ; index < length; index++ ) {
|
||||
elem = elements[ index ];
|
||||
if ( !elem.style ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
values[ index ] = dataPriv.get( elem, "olddisplay" );
|
||||
display = elem.style.display;
|
||||
if ( show ) {
|
||||
|
||||
// Reset the inline display of this element to learn if it is
|
||||
// being hidden by cascaded rules or not
|
||||
if ( !values[ index ] && display === "none" ) {
|
||||
elem.style.display = "";
|
||||
}
|
||||
|
||||
// Set elements which have been overridden with display: none
|
||||
// in a stylesheet to whatever the default browser style is
|
||||
// for such an element
|
||||
if ( elem.style.display === "" && isHidden( elem ) ) {
|
||||
values[ index ] = dataPriv.access(
|
||||
elem,
|
||||
"olddisplay",
|
||||
defaultDisplay( elem.nodeName )
|
||||
);
|
||||
}
|
||||
} else {
|
||||
hidden = isHidden( elem );
|
||||
|
||||
if ( display !== "none" || !hidden ) {
|
||||
dataPriv.set(
|
||||
elem,
|
||||
"olddisplay",
|
||||
hidden ? display : jQuery.css( elem, "display" )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set the display of most of the elements in a second loop
|
||||
// to avoid the constant reflow
|
||||
for ( index = 0; index < length; index++ ) {
|
||||
elem = elements[ index ];
|
||||
if ( !elem.style ) {
|
||||
continue;
|
||||
}
|
||||
if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
|
||||
elem.style.display = show ? values[ index ] || "" : "none";
|
||||
}
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
|
||||
jQuery.extend( {
|
||||
|
||||
// Add in style property hooks for overriding the default
|
||||
// behavior of getting and setting a style property
|
||||
cssHooks: {
|
||||
opacity: {
|
||||
get: function( elem, computed ) {
|
||||
if ( computed ) {
|
||||
|
||||
// We should always get a number back from opacity
|
||||
var ret = curCSS( elem, "opacity" );
|
||||
return ret === "" ? "1" : ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// Don't automatically add "px" to these possibly-unitless properties
|
||||
cssNumber: {
|
||||
"animationIterationCount": true,
|
||||
"columnCount": true,
|
||||
"fillOpacity": true,
|
||||
"flexGrow": true,
|
||||
"flexShrink": true,
|
||||
"fontWeight": true,
|
||||
"lineHeight": true,
|
||||
"opacity": true,
|
||||
"order": true,
|
||||
"orphans": true,
|
||||
"widows": true,
|
||||
"zIndex": true,
|
||||
"zoom": true
|
||||
},
|
||||
|
||||
// Add in properties whose names you wish to fix before
|
||||
// setting or getting the value
|
||||
cssProps: {
|
||||
"float": "cssFloat"
|
||||
},
|
||||
|
||||
// Get and set the style property on a DOM Node
|
||||
style: function( elem, name, value, extra ) {
|
||||
|
||||
// Don't set styles on text and comment nodes
|
||||
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Make sure that we're working with the right name
|
||||
var ret, type, hooks,
|
||||
origName = jQuery.camelCase( name ),
|
||||
style = elem.style;
|
||||
|
||||
name = jQuery.cssProps[ origName ] ||
|
||||
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
|
||||
|
||||
// Gets hook for the prefixed version, then unprefixed version
|
||||
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
||||
|
||||
// Check if we're setting a value
|
||||
if ( value !== undefined ) {
|
||||
type = typeof value;
|
||||
|
||||
// Convert "+=" or "-=" to relative numbers (#7345)
|
||||
if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
|
||||
value = adjustCSS( elem, name, ret );
|
||||
|
||||
// Fixes bug #9237
|
||||
type = "number";
|
||||
}
|
||||
|
||||
// Make sure that null and NaN values aren't set (#7116)
|
||||
if ( value == null || value !== value ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If a number was passed in, add the unit (except for certain CSS properties)
|
||||
if ( type === "number" ) {
|
||||
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
|
||||
}
|
||||
|
||||
// Support: IE9-11+
|
||||
// background-* props affect original clone's values
|
||||
if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
|
||||
style[ name ] = "inherit";
|
||||
}
|
||||
|
||||
// If a hook was provided, use that value, otherwise just set the specified value
|
||||
if ( !hooks || !( "set" in hooks ) ||
|
||||
( value = hooks.set( elem, value, extra ) ) !== undefined ) {
|
||||
|
||||
style[ name ] = value;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
// If a hook was provided get the non-computed value from there
|
||||
if ( hooks && "get" in hooks &&
|
||||
( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Otherwise just get the value from the style object
|
||||
return style[ name ];
|
||||
}
|
||||
},
|
||||
|
||||
css: function( elem, name, extra, styles ) {
|
||||
var val, num, hooks,
|
||||
origName = jQuery.camelCase( name );
|
||||
|
||||
// Make sure that we're working with the right name
|
||||
name = jQuery.cssProps[ origName ] ||
|
||||
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
|
||||
|
||||
// Try prefixed name followed by the unprefixed name
|
||||
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
|
||||
|
||||
// If a hook was provided get the computed value from there
|
||||
if ( hooks && "get" in hooks ) {
|
||||
val = hooks.get( elem, true, extra );
|
||||
}
|
||||
|
||||
// Otherwise, if a way to get the computed value exists, use that
|
||||
if ( val === undefined ) {
|
||||
val = curCSS( elem, name, styles );
|
||||
}
|
||||
|
||||
// Convert "normal" to computed value
|
||||
if ( val === "normal" && name in cssNormalTransform ) {
|
||||
val = cssNormalTransform[ name ];
|
||||
}
|
||||
|
||||
// Make numeric if forced or a qualifier was provided and val looks numeric
|
||||
if ( extra === "" || extra ) {
|
||||
num = parseFloat( val );
|
||||
return extra === true || isFinite( num ) ? num || 0 : val;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
} );
|
||||
|
||||
jQuery.each( [ "height", "width" ], function( i, name ) {
|
||||
jQuery.cssHooks[ name ] = {
|
||||
get: function( elem, computed, extra ) {
|
||||
if ( computed ) {
|
||||
|
||||
// Certain elements can have dimension info if we invisibly show them
|
||||
// but it must have a current display style that would benefit
|
||||
return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
|
||||
elem.offsetWidth === 0 ?
|
||||
swap( elem, cssShow, function() {
|
||||
return getWidthOrHeight( elem, name, extra );
|
||||
} ) :
|
||||
getWidthOrHeight( elem, name, extra );
|
||||
}
|
||||
},
|
||||
|
||||
set: function( elem, value, extra ) {
|
||||
var matches,
|
||||
styles = extra && getStyles( elem ),
|
||||
subtract = extra && augmentWidthOrHeight(
|
||||
elem,
|
||||
name,
|
||||
extra,
|
||||
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
||||
styles
|
||||
);
|
||||
|
||||
// Convert to pixels if value adjustment is needed
|
||||
if ( subtract && ( matches = rcssNum.exec( value ) ) &&
|
||||
( matches[ 3 ] || "px" ) !== "px" ) {
|
||||
|
||||
elem.style[ name ] = value;
|
||||
value = jQuery.css( elem, name );
|
||||
}
|
||||
|
||||
return setPositiveNumber( elem, value, subtract );
|
||||
}
|
||||
};
|
||||
} );
|
||||
|
||||
jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
|
||||
function( elem, computed ) {
|
||||
if ( computed ) {
|
||||
return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
|
||||
elem.getBoundingClientRect().left -
|
||||
swap( elem, { marginLeft: 0 }, function() {
|
||||
return elem.getBoundingClientRect().left;
|
||||
} )
|
||||
) + "px";
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Support: Android 2.3
|
||||
jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
|
||||
function( elem, computed ) {
|
||||
if ( computed ) {
|
||||
return swap( elem, { "display": "inline-block" },
|
||||
curCSS, [ elem, "marginRight" ] );
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// These hooks are used by animate to expand properties
|
||||
jQuery.each( {
|
||||
margin: "",
|
||||
padding: "",
|
||||
border: "Width"
|
||||
}, function( prefix, suffix ) {
|
||||
jQuery.cssHooks[ prefix + suffix ] = {
|
||||
expand: function( value ) {
|
||||
var i = 0,
|
||||
expanded = {},
|
||||
|
||||
// Assumes a single number if not a string
|
||||
parts = typeof value === "string" ? value.split( " " ) : [ value ];
|
||||
|
||||
for ( ; i < 4; i++ ) {
|
||||
expanded[ prefix + cssExpand[ i ] + suffix ] =
|
||||
parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
|
||||
}
|
||||
|
||||
return expanded;
|
||||
}
|
||||
};
|
||||
|
||||
if ( !rmargin.test( prefix ) ) {
|
||||
jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
|
||||
}
|
||||
} );
|
||||
|
||||
jQuery.fn.extend( {
|
||||
css: function( name, value ) {
|
||||
return access( this, function( elem, name, value ) {
|
||||
var styles, len,
|
||||
map = {},
|
||||
i = 0;
|
||||
|
||||
if ( jQuery.isArray( name ) ) {
|
||||
styles = getStyles( elem );
|
||||
len = name.length;
|
||||
|
||||
for ( ; i < len; i++ ) {
|
||||
map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
return value !== undefined ?
|
||||
jQuery.style( elem, name, value ) :
|
||||
jQuery.css( elem, name );
|
||||
}, name, value, arguments.length > 1 );
|
||||
},
|
||||
show: function() {
|
||||
return showHide( this, true );
|
||||
},
|
||||
hide: function() {
|
||||
return showHide( this );
|
||||
},
|
||||
toggle: function( state ) {
|
||||
if ( typeof state === "boolean" ) {
|
||||
return state ? this.show() : this.hide();
|
||||
}
|
||||
|
||||
return this.each( function() {
|
||||
if ( isHidden( this ) ) {
|
||||
jQuery( this ).show();
|
||||
} else {
|
||||
jQuery( this ).hide();
|
||||
}
|
||||
} );
|
||||
}
|
||||
} );
|
||||
|
||||
return jQuery;
|
||||
} );
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
export default function isFunction(input) {
|
||||
return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
//
|
||||
// Popovers
|
||||
// --------------------------------------------------
|
||||
|
||||
|
||||
.popover {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: @zindex-popover;
|
||||
display: none;
|
||||
max-width: @popover-max-width;
|
||||
padding: 1px;
|
||||
// Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.
|
||||
// So reset our font and text properties to avoid inheriting weird values.
|
||||
.reset-text();
|
||||
font-size: @font-size-base;
|
||||
|
||||
background-color: @popover-bg;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid @popover-fallback-border-color;
|
||||
border: 1px solid @popover-border-color;
|
||||
border-radius: @border-radius-large;
|
||||
.box-shadow(0 5px 10px rgba(0,0,0,.2));
|
||||
|
||||
// Offset the popover to account for the popover arrow
|
||||
&.top { margin-top: -@popover-arrow-width; }
|
||||
&.right { margin-left: @popover-arrow-width; }
|
||||
&.bottom { margin-top: @popover-arrow-width; }
|
||||
&.left { margin-left: -@popover-arrow-width; }
|
||||
}
|
||||
|
||||
.popover-title {
|
||||
margin: 0; // reset heading margin
|
||||
padding: 8px 14px;
|
||||
font-size: @font-size-base;
|
||||
background-color: @popover-title-bg;
|
||||
border-bottom: 1px solid darken(@popover-title-bg, 5%);
|
||||
border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;
|
||||
}
|
||||
|
||||
.popover-content {
|
||||
padding: 9px 14px;
|
||||
}
|
||||
|
||||
// Arrows
|
||||
//
|
||||
// .arrow is outer, .arrow:after is inner
|
||||
|
||||
.popover > .arrow {
|
||||
&,
|
||||
&:after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
}
|
||||
}
|
||||
.popover > .arrow {
|
||||
border-width: @popover-arrow-outer-width;
|
||||
}
|
||||
.popover > .arrow:after {
|
||||
border-width: @popover-arrow-width;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.popover {
|
||||
&.top > .arrow {
|
||||
left: 50%;
|
||||
margin-left: -@popover-arrow-outer-width;
|
||||
border-bottom-width: 0;
|
||||
border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
|
||||
border-top-color: @popover-arrow-outer-color;
|
||||
bottom: -@popover-arrow-outer-width;
|
||||
&:after {
|
||||
content: " ";
|
||||
bottom: 1px;
|
||||
margin-left: -@popover-arrow-width;
|
||||
border-bottom-width: 0;
|
||||
border-top-color: @popover-arrow-color;
|
||||
}
|
||||
}
|
||||
&.right > .arrow {
|
||||
top: 50%;
|
||||
left: -@popover-arrow-outer-width;
|
||||
margin-top: -@popover-arrow-outer-width;
|
||||
border-left-width: 0;
|
||||
border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
|
||||
border-right-color: @popover-arrow-outer-color;
|
||||
&:after {
|
||||
content: " ";
|
||||
left: 1px;
|
||||
bottom: -@popover-arrow-width;
|
||||
border-left-width: 0;
|
||||
border-right-color: @popover-arrow-color;
|
||||
}
|
||||
}
|
||||
&.bottom > .arrow {
|
||||
left: 50%;
|
||||
margin-left: -@popover-arrow-outer-width;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
|
||||
border-bottom-color: @popover-arrow-outer-color;
|
||||
top: -@popover-arrow-outer-width;
|
||||
&:after {
|
||||
content: " ";
|
||||
top: 1px;
|
||||
margin-left: -@popover-arrow-width;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: @popover-arrow-color;
|
||||
}
|
||||
}
|
||||
|
||||
&.left > .arrow {
|
||||
top: 50%;
|
||||
right: -@popover-arrow-outer-width;
|
||||
margin-top: -@popover-arrow-outer-width;
|
||||
border-right-width: 0;
|
||||
border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
|
||||
border-left-color: @popover-arrow-outer-color;
|
||||
&:after {
|
||||
content: " ";
|
||||
right: 1px;
|
||||
border-right-width: 0;
|
||||
border-left-color: @popover-arrow-color;
|
||||
bottom: -@popover-arrow-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "font-awesome",
|
||||
"description": "Font Awesome",
|
||||
"keywords": [],
|
||||
"homepage": "http://fontawesome.io",
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"license": [
|
||||
"OFL-1.1",
|
||||
"MIT",
|
||||
"CC-BY-3.0"
|
||||
],
|
||||
"main": [
|
||||
"less/font-awesome.less",
|
||||
"scss/font-awesome.scss"
|
||||
],
|
||||
"ignore": [
|
||||
"*/.*",
|
||||
"*.json",
|
||||
"src",
|
||||
"*.yml",
|
||||
"Gemfile",
|
||||
"Gemfile.lock",
|
||||
"*.md"
|
||||
],
|
||||
"version": "4.6.3",
|
||||
"_release": "4.6.3",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v4.6.3",
|
||||
"commit": "0f618911b105195c931ec5d5bef425a2a2806cab"
|
||||
},
|
||||
"_source": "https://github.com/FortAwesome/Font-Awesome.git",
|
||||
"_target": "^4.6.1",
|
||||
"_originalSource": "fontawesome"
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
/*global Switchery:true*/ // Meteor creates a file-scope global for exporting. This comment prevents a potential JSHint warning.
|
||||
Switchery = window.Switchery;
|
||||
delete window.Switchery;
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title>JQVMap - Tunisia Map</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
|
||||
<link href="../dist/jqvmap.css" media="screen" rel="stylesheet" type="text/css"/>
|
||||
|
||||
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
|
||||
<script type="text/javascript" src="../dist/jquery.vmap.js"></script>
|
||||
<script type="text/javascript" src="../dist/maps/jquery.vmap.tunisia.js" charset="utf-8"></script>
|
||||
|
||||
<script>
|
||||
jQuery(document).ready(function () {
|
||||
jQuery('#vmap').vectorMap({
|
||||
map: 'tunisia',
|
||||
onRegionClick: function (element, code, region) {
|
||||
var message = 'You clicked "'
|
||||
+ region
|
||||
+ '" which has the code: '
|
||||
+ code.toUpperCase();
|
||||
|
||||
alert(message);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="vmap" style="width: 700px; height: 637px;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,351 @@
|
|||
/**!
|
||||
* easyPieChart
|
||||
* Lightweight plugin to render simple, animated and retina optimized pie charts
|
||||
*
|
||||
* @license
|
||||
* @author Robert Fleischmann <rendro87@gmail.com> (http://robert-fleischmann.de)
|
||||
* @version 2.1.6
|
||||
**/
|
||||
|
||||
(function(root, factory) {
|
||||
if(typeof exports === 'object') {
|
||||
module.exports = factory();
|
||||
}
|
||||
else if(typeof define === 'function' && define.amd) {
|
||||
define([], factory);
|
||||
}
|
||||
else {
|
||||
root['EasyPieChart'] = factory();
|
||||
}
|
||||
}(this, function() {
|
||||
|
||||
/**
|
||||
* Renderer to render the chart on a canvas object
|
||||
* @param {DOMElement} el DOM element to host the canvas (root of the plugin)
|
||||
* @param {object} options options object of the plugin
|
||||
*/
|
||||
var CanvasRenderer = function(el, options) {
|
||||
var cachedBackground;
|
||||
var canvas = document.createElement('canvas');
|
||||
|
||||
el.appendChild(canvas);
|
||||
|
||||
if (typeof(G_vmlCanvasManager) !== 'undefined') {
|
||||
G_vmlCanvasManager.initElement(canvas);
|
||||
}
|
||||
|
||||
var ctx = canvas.getContext('2d');
|
||||
|
||||
canvas.width = canvas.height = options.size;
|
||||
|
||||
// canvas on retina devices
|
||||
var scaleBy = 1;
|
||||
if (window.devicePixelRatio > 1) {
|
||||
scaleBy = window.devicePixelRatio;
|
||||
canvas.style.width = canvas.style.height = [options.size, 'px'].join('');
|
||||
canvas.width = canvas.height = options.size * scaleBy;
|
||||
ctx.scale(scaleBy, scaleBy);
|
||||
}
|
||||
|
||||
// move 0,0 coordinates to the center
|
||||
ctx.translate(options.size / 2, options.size / 2);
|
||||
|
||||
// rotate canvas -90deg
|
||||
ctx.rotate((-1 / 2 + options.rotate / 180) * Math.PI);
|
||||
|
||||
var radius = (options.size - options.lineWidth) / 2;
|
||||
if (options.scaleColor && options.scaleLength) {
|
||||
radius -= options.scaleLength + 2; // 2 is the distance between scale and bar
|
||||
}
|
||||
|
||||
// IE polyfill for Date
|
||||
Date.now = Date.now || function() {
|
||||
return +(new Date());
|
||||
};
|
||||
|
||||
/**
|
||||
* Draw a circle around the center of the canvas
|
||||
* @param {strong} color Valid CSS color string
|
||||
* @param {number} lineWidth Width of the line in px
|
||||
* @param {number} percent Percentage to draw (float between -1 and 1)
|
||||
*/
|
||||
var drawCircle = function(color, lineWidth, percent) {
|
||||
percent = Math.min(Math.max(-1, percent || 0), 1);
|
||||
var isNegative = percent <= 0 ? true : false;
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.arc(0, 0, radius, 0, Math.PI * 2 * percent, isNegative);
|
||||
|
||||
ctx.strokeStyle = color;
|
||||
ctx.lineWidth = lineWidth;
|
||||
|
||||
ctx.stroke();
|
||||
};
|
||||
|
||||
/**
|
||||
* Draw the scale of the chart
|
||||
*/
|
||||
var drawScale = function() {
|
||||
var offset;
|
||||
var length;
|
||||
|
||||
ctx.lineWidth = 1;
|
||||
ctx.fillStyle = options.scaleColor;
|
||||
|
||||
ctx.save();
|
||||
for (var i = 24; i > 0; --i) {
|
||||
if (i % 6 === 0) {
|
||||
length = options.scaleLength;
|
||||
offset = 0;
|
||||
} else {
|
||||
length = options.scaleLength * 0.6;
|
||||
offset = options.scaleLength - length;
|
||||
}
|
||||
ctx.fillRect(-options.size/2 + offset, 0, length, 1);
|
||||
ctx.rotate(Math.PI / 12);
|
||||
}
|
||||
ctx.restore();
|
||||
};
|
||||
|
||||
/**
|
||||
* Request animation frame wrapper with polyfill
|
||||
* @return {function} Request animation frame method or timeout fallback
|
||||
*/
|
||||
var reqAnimationFrame = (function() {
|
||||
return window.requestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame ||
|
||||
window.mozRequestAnimationFrame ||
|
||||
function(callback) {
|
||||
window.setTimeout(callback, 1000 / 60);
|
||||
};
|
||||
}());
|
||||
|
||||
/**
|
||||
* Draw the background of the plugin including the scale and the track
|
||||
*/
|
||||
var drawBackground = function() {
|
||||
if(options.scaleColor) drawScale();
|
||||
if(options.trackColor) drawCircle(options.trackColor, options.trackWidth || options.lineWidth, 1);
|
||||
};
|
||||
|
||||
/**
|
||||
* Canvas accessor
|
||||
*/
|
||||
this.getCanvas = function() {
|
||||
return canvas;
|
||||
};
|
||||
|
||||
/**
|
||||
* Canvas 2D context 'ctx' accessor
|
||||
*/
|
||||
this.getCtx = function() {
|
||||
return ctx;
|
||||
};
|
||||
|
||||
/**
|
||||
* Clear the complete canvas
|
||||
*/
|
||||
this.clear = function() {
|
||||
ctx.clearRect(options.size / -2, options.size / -2, options.size, options.size);
|
||||
};
|
||||
|
||||
/**
|
||||
* Draw the complete chart
|
||||
* @param {number} percent Percent shown by the chart between -100 and 100
|
||||
*/
|
||||
this.draw = function(percent) {
|
||||
// do we need to render a background
|
||||
if (!!options.scaleColor || !!options.trackColor) {
|
||||
// getImageData and putImageData are supported
|
||||
if (ctx.getImageData && ctx.putImageData) {
|
||||
if (!cachedBackground) {
|
||||
drawBackground();
|
||||
cachedBackground = ctx.getImageData(0, 0, options.size * scaleBy, options.size * scaleBy);
|
||||
} else {
|
||||
ctx.putImageData(cachedBackground, 0, 0);
|
||||
}
|
||||
} else {
|
||||
this.clear();
|
||||
drawBackground();
|
||||
}
|
||||
} else {
|
||||
this.clear();
|
||||
}
|
||||
|
||||
ctx.lineCap = options.lineCap;
|
||||
|
||||
// if barcolor is a function execute it and pass the percent as a value
|
||||
var color;
|
||||
if (typeof(options.barColor) === 'function') {
|
||||
color = options.barColor(percent);
|
||||
} else {
|
||||
color = options.barColor;
|
||||
}
|
||||
|
||||
// draw bar
|
||||
drawCircle(color, options.lineWidth, percent / 100);
|
||||
}.bind(this);
|
||||
|
||||
/**
|
||||
* Animate from some percent to some other percentage
|
||||
* @param {number} from Starting percentage
|
||||
* @param {number} to Final percentage
|
||||
*/
|
||||
this.animate = function(from, to) {
|
||||
var startTime = Date.now();
|
||||
options.onStart(from, to);
|
||||
var animation = function() {
|
||||
var process = Math.min(Date.now() - startTime, options.animate.duration);
|
||||
var currentValue = options.easing(this, process, from, to - from, options.animate.duration);
|
||||
this.draw(currentValue);
|
||||
options.onStep(from, to, currentValue);
|
||||
if (process >= options.animate.duration) {
|
||||
options.onStop(from, to);
|
||||
} else {
|
||||
reqAnimationFrame(animation);
|
||||
}
|
||||
}.bind(this);
|
||||
|
||||
reqAnimationFrame(animation);
|
||||
}.bind(this);
|
||||
};
|
||||
|
||||
var EasyPieChart = function(el, opts) {
|
||||
var defaultOptions = {
|
||||
barColor: '#ef1e25',
|
||||
trackColor: '#f9f9f9',
|
||||
scaleColor: '#dfe0e0',
|
||||
scaleLength: 5,
|
||||
lineCap: 'round',
|
||||
lineWidth: 3,
|
||||
trackWidth: undefined,
|
||||
size: 110,
|
||||
rotate: 0,
|
||||
animate: {
|
||||
duration: 1000,
|
||||
enabled: true
|
||||
},
|
||||
easing: function (x, t, b, c, d) { // more can be found here: http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
t = t / (d/2);
|
||||
if (t < 1) {
|
||||
return c / 2 * t * t + b;
|
||||
}
|
||||
return -c/2 * ((--t)*(t-2) - 1) + b;
|
||||
},
|
||||
onStart: function(from, to) {
|
||||
return;
|
||||
},
|
||||
onStep: function(from, to, currentValue) {
|
||||
return;
|
||||
},
|
||||
onStop: function(from, to) {
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
// detect present renderer
|
||||
if (typeof(CanvasRenderer) !== 'undefined') {
|
||||
defaultOptions.renderer = CanvasRenderer;
|
||||
} else if (typeof(SVGRenderer) !== 'undefined') {
|
||||
defaultOptions.renderer = SVGRenderer;
|
||||
} else {
|
||||
throw new Error('Please load either the SVG- or the CanvasRenderer');
|
||||
}
|
||||
|
||||
var options = {};
|
||||
var currentValue = 0;
|
||||
|
||||
/**
|
||||
* Initialize the plugin by creating the options object and initialize rendering
|
||||
*/
|
||||
var init = function() {
|
||||
this.el = el;
|
||||
this.options = options;
|
||||
|
||||
// merge user options into default options
|
||||
for (var i in defaultOptions) {
|
||||
if (defaultOptions.hasOwnProperty(i)) {
|
||||
options[i] = opts && typeof(opts[i]) !== 'undefined' ? opts[i] : defaultOptions[i];
|
||||
if (typeof(options[i]) === 'function') {
|
||||
options[i] = options[i].bind(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// check for jQuery easing
|
||||
if (typeof(options.easing) === 'string' && typeof(jQuery) !== 'undefined' && jQuery.isFunction(jQuery.easing[options.easing])) {
|
||||
options.easing = jQuery.easing[options.easing];
|
||||
} else {
|
||||
options.easing = defaultOptions.easing;
|
||||
}
|
||||
|
||||
// process earlier animate option to avoid bc breaks
|
||||
if (typeof(options.animate) === 'number') {
|
||||
options.animate = {
|
||||
duration: options.animate,
|
||||
enabled: true
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof(options.animate) === 'boolean' && !options.animate) {
|
||||
options.animate = {
|
||||
duration: 1000,
|
||||
enabled: options.animate
|
||||
};
|
||||
}
|
||||
|
||||
// create renderer
|
||||
this.renderer = new options.renderer(el, options);
|
||||
|
||||
// initial draw
|
||||
this.renderer.draw(currentValue);
|
||||
|
||||
// initial update
|
||||
if (el.dataset && el.dataset.percent) {
|
||||
this.update(parseFloat(el.dataset.percent));
|
||||
} else if (el.getAttribute && el.getAttribute('data-percent')) {
|
||||
this.update(parseFloat(el.getAttribute('data-percent')));
|
||||
}
|
||||
}.bind(this);
|
||||
|
||||
/**
|
||||
* Update the value of the chart
|
||||
* @param {number} newValue Number between 0 and 100
|
||||
* @return {object} Instance of the plugin for method chaining
|
||||
*/
|
||||
this.update = function(newValue) {
|
||||
newValue = parseFloat(newValue);
|
||||
if (options.animate.enabled) {
|
||||
this.renderer.animate(currentValue, newValue);
|
||||
} else {
|
||||
this.renderer.draw(newValue);
|
||||
}
|
||||
currentValue = newValue;
|
||||
return this;
|
||||
}.bind(this);
|
||||
|
||||
/**
|
||||
* Disable animation
|
||||
* @return {object} Instance of the plugin for method chaining
|
||||
*/
|
||||
this.disableAnimation = function() {
|
||||
options.animate.enabled = false;
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Enable animation
|
||||
* @return {object} Instance of the plugin for method chaining
|
||||
*/
|
||||
this.enableAnimation = function() {
|
||||
options.animate.enabled = true;
|
||||
return this;
|
||||
};
|
||||
|
||||
init();
|
||||
};
|
||||
|
||||
|
||||
return EasyPieChart;
|
||||
|
||||
}));
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,36 @@
|
|||
define(function () {
|
||||
// Khmer
|
||||
return {
|
||||
errorLoading: function () {
|
||||
return 'មិនអាចទាញយកទិន្នន័យ';
|
||||
},
|
||||
inputTooLong: function (args) {
|
||||
var overChars = args.input.length - args.maximum;
|
||||
|
||||
var message = 'សូមលុបចេញ ' + overChars + ' អក្សរ';
|
||||
|
||||
return message;
|
||||
},
|
||||
inputTooShort: function (args) {
|
||||
var remainingChars = args.minimum - args.input.length;
|
||||
|
||||
var message = 'សូមបញ្ចូល' + remainingChars + ' អក្សរ រឺ ច្រើនជាងនេះ';
|
||||
|
||||
return message;
|
||||
},
|
||||
loadingMore: function () {
|
||||
return 'កំពុងទាញយកទិន្នន័យបន្ថែម...';
|
||||
},
|
||||
maximumSelected: function (args) {
|
||||
var message = 'អ្នកអាចជ្រើសរើសបានតែ ' + args.maximum + ' ជម្រើសប៉ុណ្ណោះ';
|
||||
|
||||
return message;
|
||||
},
|
||||
noResults: function () {
|
||||
return 'មិនមានលទ្ធផល';
|
||||
},
|
||||
searching: function () {
|
||||
return 'កំពុងស្វែងរក...';
|
||||
}
|
||||
};
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"name": "cropper",
|
||||
"description": "A simple jQuery image cropping plugin.",
|
||||
"version": "2.3.1",
|
||||
"main": "dist/cropper.js",
|
||||
"license": "MIT",
|
||||
"repository": "fengyuanchen/cropper",
|
||||
"homepage": "https://fengyuanchen.github.io/cropper",
|
||||
"author": {
|
||||
"name": "Fengyuan Chen",
|
||||
"url": "http://chenfengyuan.com"
|
||||
},
|
||||
"keywords": [
|
||||
"image",
|
||||
"crop",
|
||||
"cropper",
|
||||
"cropping",
|
||||
"move",
|
||||
"zoom",
|
||||
"rotate",
|
||||
"scale",
|
||||
"jquery",
|
||||
"plugin",
|
||||
"jqueryplugin",
|
||||
"html",
|
||||
"css",
|
||||
"javascript",
|
||||
"front-end",
|
||||
"web",
|
||||
"development"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">= 1.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-autoprefixer": "^3.1.0",
|
||||
"gulp-concat": "^2.6.0",
|
||||
"gulp-csscomb": "^3.0.6",
|
||||
"gulp-csslint": "^0.3.0",
|
||||
"gulp-htmlcomb": "^0.1.0",
|
||||
"gulp-jscs": "^3.0.2",
|
||||
"gulp-jshint": "^1.12.0",
|
||||
"gulp-load-plugins": "^1.2.0",
|
||||
"gulp-minify-css": "^1.2.4",
|
||||
"gulp-qunit": "^1.3.0",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-replace": "^0.5.4",
|
||||
"gulp-sass": "^2.1.1",
|
||||
"gulp-sourcemaps": "^1.6.0",
|
||||
"gulp-uglify": "^1.5.3"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"name": "bootstrap-daterangepicker",
|
||||
"main": [
|
||||
"daterangepicker.js",
|
||||
"daterangepicker.css"
|
||||
],
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests",
|
||||
"moment.js",
|
||||
"moment.min.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": "1.9.1 - 3",
|
||||
"moment": ">=2.9.0"
|
||||
},
|
||||
"homepage": "https://github.com/christianesperar/bootstrap-daterangepicker",
|
||||
"_release": "fc748970e8",
|
||||
"_resolution": {
|
||||
"type": "branch",
|
||||
"branch": "master",
|
||||
"commit": "fc748970e8228ab271ba9ca799f57d8f8c6a5013"
|
||||
},
|
||||
"_source": "git@github.com:christianesperar/bootstrap-daterangepicker.git",
|
||||
"_target": "master",
|
||||
"_originalSource": "git@github.com:christianesperar/bootstrap-daterangepicker.git"
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
|
|
@ -0,0 +1,56 @@
|
|||
var webpage = require("webpage"),
|
||||
fs = require("fs");
|
||||
|
||||
var html_path = fs.absolute("test.html");
|
||||
var examples = [];
|
||||
|
||||
function run_example(example_index) {
|
||||
if (example_index >= examples.length) {
|
||||
phantom.exit(0);
|
||||
return;
|
||||
}
|
||||
|
||||
var example = examples[example_index];
|
||||
var snapshot_index = 0;
|
||||
var page = webpage.create();
|
||||
|
||||
page.viewportSize = { width: 500, height: 300 };
|
||||
page.clipRect = { width: 500, height: 300 };
|
||||
page.onAlert = function (msg) {
|
||||
var e = JSON.parse(msg);
|
||||
if (e.fn == "snapshot") {
|
||||
page.render("output/" + example.name + snapshot_index + ".png");
|
||||
snapshot_index += 1;
|
||||
} else if (e.fn == "mousemove") {
|
||||
page.sendEvent("mousemove", e.x, e.y);
|
||||
}
|
||||
};
|
||||
|
||||
page.open(html_path, function (status) {
|
||||
if (status == "fail") {
|
||||
console.log("Failed to load test page: " + example.name);
|
||||
phantom.exit(1);
|
||||
} else {
|
||||
page.evaluate(example.runner);
|
||||
}
|
||||
page.close();
|
||||
run_example(example_index + 1);
|
||||
});
|
||||
}
|
||||
|
||||
exports.def = function (name, runner) {
|
||||
examples.push({ name: name, runner: runner });
|
||||
};
|
||||
|
||||
exports.run = function () {
|
||||
if (fs.isDirectory("output")) {
|
||||
fs.list("output").forEach(function (path) {
|
||||
if (path != "." && path != "..") {
|
||||
fs.remove("output/" + path);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fs.makeDirectory("output");
|
||||
}
|
||||
run_example(0);
|
||||
};
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
// five experiments.
|
||||
// each experiments has 20 runs.
|
||||
// speed(km/s minus 299,000)
|
||||
define([
|
||||
[850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960],
|
||||
[960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800],
|
||||
[880, 880, 880, 860, 720, 720, 620, 860, 970, 950, 880, 910, 850, 870, 840, 840, 850, 840, 840, 840],
|
||||
[890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920, 890, 860, 880, 720, 840, 850, 850, 780],
|
||||
[890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870, 810, 740, 810, 940, 950, 800, 810, 870]
|
||||
]);
|
||||
|
|
@ -0,0 +1,199 @@
|
|||
import $ from 'jquery';
|
||||
import ParsleyAbstract from './abstract';
|
||||
import ParsleyUtils from './utils';
|
||||
|
||||
var ParsleyForm = function (element, domOptions, options) {
|
||||
this.__class__ = 'ParsleyForm';
|
||||
|
||||
this.$element = $(element);
|
||||
this.domOptions = domOptions;
|
||||
this.options = options;
|
||||
this.parent = window.Parsley;
|
||||
|
||||
this.fields = [];
|
||||
this.validationResult = null;
|
||||
};
|
||||
|
||||
var statusMapping = {pending: null, resolved: true, rejected: false};
|
||||
|
||||
ParsleyForm.prototype = {
|
||||
onSubmitValidate: function (event) {
|
||||
// This is a Parsley generated submit event, do not validate, do not prevent, simply exit and keep normal behavior
|
||||
if (true === event.parsley)
|
||||
return;
|
||||
|
||||
// If we didn't come here through a submit button, use the first one in the form
|
||||
var $submitSource = this._$submitSource || this.$element.find('input[type="submit"], button[type="submit"]').first();
|
||||
this._$submitSource = null;
|
||||
this.$element.find('.parsley-synthetic-submit-button').prop('disabled', true);
|
||||
if ($submitSource.is('[formnovalidate]'))
|
||||
return;
|
||||
|
||||
var promise = this.whenValidate({event});
|
||||
|
||||
if ('resolved' === promise.state() && false !== this._trigger('submit')) {
|
||||
// All good, let event go through. We make this distinction because browsers
|
||||
// differ in their handling of `submit` being called from inside a submit event [#1047]
|
||||
} else {
|
||||
// Rejected or pending: cancel this submit
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
if ('pending' === promise.state())
|
||||
promise.done(() => { this._submit($submitSource); });
|
||||
}
|
||||
},
|
||||
|
||||
onSubmitButton: function(event) {
|
||||
this._$submitSource = $(event.target);
|
||||
},
|
||||
// internal
|
||||
// _submit submits the form, this time without going through the validations.
|
||||
// Care must be taken to "fake" the actual submit button being clicked.
|
||||
_submit: function ($submitSource) {
|
||||
if (false === this._trigger('submit'))
|
||||
return;
|
||||
// Add submit button's data
|
||||
if ($submitSource) {
|
||||
var $synthetic = this.$element.find('.parsley-synthetic-submit-button').prop('disabled', false);
|
||||
if (0 === $synthetic.length)
|
||||
$synthetic = $('<input class="parsley-synthetic-submit-button" type="hidden">').appendTo(this.$element);
|
||||
$synthetic.attr({
|
||||
name: $submitSource.attr('name'),
|
||||
value: $submitSource.attr('value')
|
||||
});
|
||||
}
|
||||
|
||||
this.$element.trigger($.extend($.Event('submit'), {parsley: true}));
|
||||
},
|
||||
|
||||
// Performs validation on fields while triggering events.
|
||||
// @returns `true` if all validations succeeds, `false`
|
||||
// if a failure is immediately detected, or `null`
|
||||
// if dependant on a promise.
|
||||
// Consider using `whenValidate` instead.
|
||||
validate: function (options) {
|
||||
if (arguments.length >= 1 && !$.isPlainObject(options)) {
|
||||
ParsleyUtils.warnOnce('Calling validate on a parsley form without passing arguments as an object is deprecated.');
|
||||
var [group, force, event] = arguments;
|
||||
options = {group, force, event};
|
||||
}
|
||||
return statusMapping[ this.whenValidate(options).state() ];
|
||||
},
|
||||
|
||||
whenValidate: function ({group, force, event} = {}) {
|
||||
this.submitEvent = event;
|
||||
if (event) {
|
||||
this.submitEvent = $.extend({}, event, {preventDefault: () => {
|
||||
ParsleyUtils.warnOnce("Using `this.submitEvent.preventDefault()` is deprecated; instead, call `this.validationResult = false`");
|
||||
this.validationResult = false;
|
||||
}});
|
||||
}
|
||||
this.validationResult = true;
|
||||
|
||||
// fire validate event to eventually modify things before very validation
|
||||
this._trigger('validate');
|
||||
|
||||
// Refresh form DOM options and form's fields that could have changed
|
||||
this._refreshFields();
|
||||
|
||||
var promises = this._withoutReactualizingFormOptions(() => {
|
||||
return $.map(this.fields, field => {
|
||||
return field.whenValidate({force, group});
|
||||
});
|
||||
});
|
||||
|
||||
return $.when(...promises)
|
||||
.done( () => { this._trigger('success'); })
|
||||
.fail( () => {
|
||||
this.validationResult = false;
|
||||
this.focus();
|
||||
this._trigger('error');
|
||||
})
|
||||
.always(() => { this._trigger('validated'); })
|
||||
.pipe(...this._pipeAccordingToValidationResult());
|
||||
},
|
||||
|
||||
// Iterate over refreshed fields, and stop on first failure.
|
||||
// Returns `true` if all fields are valid, `false` if a failure is detected
|
||||
// or `null` if the result depends on an unresolved promise.
|
||||
// Prefer using `whenValid` instead.
|
||||
isValid: function (options) {
|
||||
if (arguments.length >= 1 && !$.isPlainObject(options)) {
|
||||
ParsleyUtils.warnOnce('Calling isValid on a parsley form without passing arguments as an object is deprecated.');
|
||||
var [group, force] = arguments;
|
||||
options = {group, force};
|
||||
}
|
||||
return statusMapping[ this.whenValid(options).state() ];
|
||||
},
|
||||
|
||||
// Iterate over refreshed fields and validate them.
|
||||
// Returns a promise.
|
||||
// A validation that immediately fails will interrupt the validations.
|
||||
whenValid: function ({group, force} = {}) {
|
||||
this._refreshFields();
|
||||
|
||||
var promises = this._withoutReactualizingFormOptions(() => {
|
||||
return $.map(this.fields, field => {
|
||||
return field.whenValid({group, force});
|
||||
});
|
||||
});
|
||||
return $.when(...promises);
|
||||
},
|
||||
|
||||
_refreshFields: function () {
|
||||
return this.actualizeOptions()._bindFields();
|
||||
},
|
||||
|
||||
_bindFields: function () {
|
||||
var oldFields = this.fields;
|
||||
|
||||
this.fields = [];
|
||||
this.fieldsMappedById = {};
|
||||
|
||||
this._withoutReactualizingFormOptions(() => {
|
||||
this.$element
|
||||
.find(this.options.inputs)
|
||||
.not(this.options.excluded)
|
||||
.each((_, element) => {
|
||||
var fieldInstance = new window.Parsley.Factory(element, {}, this);
|
||||
|
||||
// Only add valid and not excluded `ParsleyField` and `ParsleyFieldMultiple` children
|
||||
if (('ParsleyField' === fieldInstance.__class__ || 'ParsleyFieldMultiple' === fieldInstance.__class__) && (true !== fieldInstance.options.excluded))
|
||||
if ('undefined' === typeof this.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__]) {
|
||||
this.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__] = fieldInstance;
|
||||
this.fields.push(fieldInstance);
|
||||
}
|
||||
});
|
||||
|
||||
$(oldFields).not(this.fields).each((_, field) => {
|
||||
field._trigger('reset');
|
||||
});
|
||||
});
|
||||
return this;
|
||||
},
|
||||
|
||||
// Internal only.
|
||||
// Looping on a form's fields to do validation or similar
|
||||
// will trigger reactualizing options on all of them, which
|
||||
// in turn will reactualize the form's options.
|
||||
// To avoid calling actualizeOptions so many times on the form
|
||||
// for nothing, _withoutReactualizingFormOptions temporarily disables
|
||||
// the method actualizeOptions on this form while `fn` is called.
|
||||
_withoutReactualizingFormOptions: function (fn) {
|
||||
var oldActualizeOptions = this.actualizeOptions;
|
||||
this.actualizeOptions = function () { return this; };
|
||||
var result = fn();
|
||||
this.actualizeOptions = oldActualizeOptions;
|
||||
return result;
|
||||
},
|
||||
|
||||
// Internal only.
|
||||
// Shortcut to trigger an event
|
||||
// Returns true iff event is not interrupted and default not prevented.
|
||||
_trigger: function (eventName) {
|
||||
return this.trigger('form:' + eventName);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export default ParsleyForm;
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
flot-orderBars
|
||||
==============
|
||||
|
||||
Fork of the Flot OrderBars plugin found here: http://www.benjaminbuffet.com/public/js/jquery.flot.orderBars.js
|
||||
|
||||
Improvements
|
||||
============
|
||||
|
||||
### Compatability with Flot Stack Plugin
|
||||
The main improvement I've made is compatability with the [Flot Stack plugin](https://github.com/flot/flot/blob/master/jquery.flot.stack.js).
|
||||
|
||||
To use the 2 together:
|
||||
* Ensure that your data is well formed. Each series should contain a bars object with an order integer, like so:
|
||||
```javascript
|
||||
var series = [];
|
||||
|
||||
series.push({
|
||||
data: [], // your raw data
|
||||
bars: {
|
||||
order: 0
|
||||
}
|
||||
});
|
||||
|
||||
series.push({
|
||||
data: [], // your raw data
|
||||
bars: {
|
||||
order: 1
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
* Ensure that the order bars plugin is loaded __before__ the stack plugin.
|
||||
|
||||
See the example for more information.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
* DateJS Culture String File
|
||||
* Country Code: is-IS
|
||||
* Name: Icelandic (Iceland)
|
||||
* Format: "key" : "value"
|
||||
* Key is the en-US term, Value is the Key in the current language.
|
||||
*/
|
||||
Date.CultureStrings = Date.CultureStrings || {};
|
||||
Date.CultureStrings["is-IS"] = {
|
||||
"name": "is-IS",
|
||||
"englishName": "Icelandic (Iceland)",
|
||||
"nativeName": "íslenska (Ísland)",
|
||||
"Sunday": "sunnudagur",
|
||||
"Monday": "mánudagur",
|
||||
"Tuesday": "þriðjudagur",
|
||||
"Wednesday": "miðvikudagur",
|
||||
"Thursday": "fimmtudagur",
|
||||
"Friday": "föstudagur",
|
||||
"Saturday": "laugardagur",
|
||||
"Sun": "sun.",
|
||||
"Mon": "mán.",
|
||||
"Tue": "þri.",
|
||||
"Wed": "mið.",
|
||||
"Thu": "fim.",
|
||||
"Fri": "fös.",
|
||||
"Sat": "lau.",
|
||||
"Su": "su",
|
||||
"Mo": "má",
|
||||
"Tu": "þr",
|
||||
"We": "mi",
|
||||
"Th": "fi",
|
||||
"Fr": "fö",
|
||||
"Sa": "la",
|
||||
"S_Sun_Initial": "s",
|
||||
"M_Mon_Initial": "m",
|
||||
"T_Tue_Initial": "þ",
|
||||
"W_Wed_Initial": "m",
|
||||
"T_Thu_Initial": "f",
|
||||
"F_Fri_Initial": "f",
|
||||
"S_Sat_Initial": "l",
|
||||
"January": "janúar",
|
||||
"February": "febrúar",
|
||||
"March": "mars",
|
||||
"April": "apríl",
|
||||
"May": "maí",
|
||||
"June": "júní",
|
||||
"July": "júlí",
|
||||
"August": "ágúst",
|
||||
"September": "september",
|
||||
"October": "október",
|
||||
"November": "nóvember",
|
||||
"December": "desember",
|
||||
"Jan_Abbr": "jan.",
|
||||
"Feb_Abbr": "feb.",
|
||||
"Mar_Abbr": "mar.",
|
||||
"Apr_Abbr": "apr.",
|
||||
"May_Abbr": "maí",
|
||||
"Jun_Abbr": "jún.",
|
||||
"Jul_Abbr": "júl.",
|
||||
"Aug_Abbr": "ágú.",
|
||||
"Sep_Abbr": "sep.",
|
||||
"Oct_Abbr": "okt.",
|
||||
"Nov_Abbr": "nóv.",
|
||||
"Dec_Abbr": "des.",
|
||||
"AM": "",
|
||||
"PM": "",
|
||||
"firstDayOfWeek": 1,
|
||||
"twoDigitYearMax": 2029,
|
||||
"mdy": "dmy",
|
||||
"M/d/yyyy": "d.M.yyyy",
|
||||
"dddd, MMMM dd, yyyy": "d. MMMM yyyy",
|
||||
"h:mm tt": "HH:mm",
|
||||
"h:mm:ss tt": "HH:mm:ss",
|
||||
"dddd, MMMM dd, yyyy h:mm:ss tt": "d. MMMM yyyy HH:mm:ss",
|
||||
"yyyy-MM-ddTHH:mm:ss": "yyyy-MM-ddTHH:mm:ss",
|
||||
"yyyy-MM-dd HH:mm:ssZ": "yyyy-MM-dd HH:mm:ssZ",
|
||||
"ddd, dd MMM yyyy HH:mm:ss": "ddd, dd MMM yyyy HH:mm:ss",
|
||||
"MMMM dd": "d. MMMM",
|
||||
"MMMM, yyyy": "MMMM yyyy",
|
||||
"/jan(uary)?/": "jan(.(úar)?)?",
|
||||
"/feb(ruary)?/": "feb(.(rúar)?)?",
|
||||
"/mar(ch)?/": "mar(.(s)?)?",
|
||||
"/apr(il)?/": "apr(.(íl)?)?",
|
||||
"/may/": "maí",
|
||||
"/jun(e)?/": "jún(.(í)?)?",
|
||||
"/jul(y)?/": "júl(.(í)?)?",
|
||||
"/aug(ust)?/": "ágú(.(st)?)?",
|
||||
"/sep(t(ember)?)?/": "sep(t(ember)?)?",
|
||||
"/oct(ober)?/": "okt(.(óber)?)?",
|
||||
"/nov(ember)?/": "nóv(.(ember)?)?",
|
||||
"/dec(ember)?/": "des(.(ember)?)?",
|
||||
"/^su(n(day)?)?/": "^su(n(.(nudagur)?)?)?",
|
||||
"/^mo(n(day)?)?/": "^má(n(.(udagur)?)?)?",
|
||||
"/^tu(e(s(day)?)?)?/": "^þr(i(.(ðjudagur)?)?)?",
|
||||
"/^we(d(nesday)?)?/": "^mi(ð(.(vikudagur)?)?)?",
|
||||
"/^th(u(r(s(day)?)?)?)?/": "^fi(m(.(mtudagur)?)?)?",
|
||||
"/^fr(i(day)?)?/": "^fö(s(.(tudagur)?)?)?",
|
||||
"/^sa(t(urday)?)?/": "^la(u(.(gardagur)?)?)?",
|
||||
"/^next/": "^next",
|
||||
"/^last|past|prev(ious)?/": "^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/": "^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/": "^(\\-|bef(ore)?|ago)",
|
||||
"/^yes(terday)?/": "^yes(terday)?",
|
||||
"/^t(od(ay)?)?/": "^t(od(ay)?)?",
|
||||
"/^tom(orrow)?/": "^tom(orrow)?",
|
||||
"/^n(ow)?/": "^n(ow)?",
|
||||
"/^ms|milli(second)?s?/": "^ms|milli(second)?s?",
|
||||
"/^sec(ond)?s?/": "^sec(ond)?s?",
|
||||
"/^mn|min(ute)?s?/": "^mn|min(ute)?s?",
|
||||
"/^h(our)?s?/": "^h(our)?s?",
|
||||
"/^w(eek)?s?/": "^w(eek)?s?",
|
||||
"/^m(onth)?s?/": "^m(onth)?s?",
|
||||
"/^d(ay)?s?/": "^d(ay)?s?",
|
||||
"/^y(ear)?s?/": "^y(ear)?s?",
|
||||
"/^(a|p)/": "^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/": "^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/": "^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)",
|
||||
"/^\\s*(st|nd|rd|th)/": "^\\s*(st|nd|rd|th)",
|
||||
"/^\\s*(\\:|a(?!u|p)|p)/": "^\\s*(\\:|a(?!u|p)|p)",
|
||||
"LINT": "LINT",
|
||||
"TOT": "TOT",
|
||||
"CHAST": "CHAST",
|
||||
"NZST": "NZST",
|
||||
"NFT": "NFT",
|
||||
"SBT": "SBT",
|
||||
"AEST": "AEST",
|
||||
"ACST": "ACST",
|
||||
"JST": "JST",
|
||||
"CWST": "CWST",
|
||||
"CT": "CT",
|
||||
"ICT": "ICT",
|
||||
"MMT": "MMT",
|
||||
"BIOT": "BST",
|
||||
"NPT": "NPT",
|
||||
"IST": "IST",
|
||||
"PKT": "PKT",
|
||||
"AFT": "AFT",
|
||||
"MSK": "MSK",
|
||||
"IRST": "IRST",
|
||||
"FET": "FET",
|
||||
"EET": "EET",
|
||||
"CET": "CET",
|
||||
"UTC": "UTC",
|
||||
"GMT": "GMT",
|
||||
"CVT": "CVT",
|
||||
"GST": "GST",
|
||||
"BRT": "BRT",
|
||||
"NST": "NST",
|
||||
"AST": "AST",
|
||||
"EST": "EST",
|
||||
"CST": "CST",
|
||||
"MST": "MST",
|
||||
"PST": "PST",
|
||||
"AKST": "AKST",
|
||||
"MIT": "MIT",
|
||||
"HST": "HST",
|
||||
"SST": "SST",
|
||||
"BIT": "BIT",
|
||||
"CHADT": "CHADT",
|
||||
"NZDT": "NZDT",
|
||||
"AEDT": "AEDT",
|
||||
"ACDT": "ACDT",
|
||||
"AZST": "AZST",
|
||||
"IRDT": "IRDT",
|
||||
"EEST": "EEST",
|
||||
"CEST": "CEST",
|
||||
"BST": "BST",
|
||||
"PMDT": "PMDT",
|
||||
"ADT": "ADT",
|
||||
"NDT": "NDT",
|
||||
"EDT": "EDT",
|
||||
"CDT": "CDT",
|
||||
"MDT": "MDT",
|
||||
"PDT": "PDT",
|
||||
"AKDT": "AKDT",
|
||||
"HADT": "HADT"
|
||||
};
|
||||
Date.CultureStrings.lang = "is-IS";
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
define( function() {
|
||||
|
||||
// We have to close these tags to support XHTML (#13200)
|
||||
var wrapMap = {
|
||||
|
||||
// Support: IE9
|
||||
option: [ 1, "<select multiple='multiple'>", "</select>" ],
|
||||
|
||||
// XHTML parsers do not magically insert elements in the
|
||||
// same way that tag soup parsers do. So we cannot shorten
|
||||
// this by omitting <tbody> or other required elements.
|
||||
thead: [ 1, "<table>", "</table>" ],
|
||||
col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
|
||||
tr: [ 2, "<table><tbody>", "</tbody></table>" ],
|
||||
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
|
||||
|
||||
_default: [ 0, "", "" ]
|
||||
};
|
||||
|
||||
// Support: IE9
|
||||
wrapMap.optgroup = wrapMap.option;
|
||||
|
||||
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
|
||||
wrapMap.th = wrapMap.td;
|
||||
|
||||
return wrapMap;
|
||||
} );
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
export var defaultCalendar = {
|
||||
sameDay : '[Today at] LT',
|
||||
nextDay : '[Tomorrow at] LT',
|
||||
nextWeek : 'dddd [at] LT',
|
||||
lastDay : '[Yesterday at] LT',
|
||||
lastWeek : '[Last] dddd [at] LT',
|
||||
sameElse : 'L'
|
||||
};
|
||||
|
||||
import isFunction from '../utils/is-function';
|
||||
|
||||
export function calendar (key, mom, now) {
|
||||
var output = this._calendar[key];
|
||||
return isFunction(output) ? output.call(mom, now) : output;
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
define(function () {
|
||||
// Arabic
|
||||
return {
|
||||
errorLoading: function () {
|
||||
return 'لا يمكن تحميل النتائج';
|
||||
},
|
||||
inputTooLong: function (args) {
|
||||
var overChars = args.input.length - args.maximum;
|
||||
|
||||
var message = 'الرجاء حذف ' + overChars + ' عناصر';
|
||||
|
||||
return message;
|
||||
},
|
||||
inputTooShort: function (args) {
|
||||
var remainingChars = args.minimum - args.input.length;
|
||||
|
||||
var message = 'الرجاء إضافة ' + remainingChars + ' عناصر';
|
||||
|
||||
return message;
|
||||
},
|
||||
loadingMore: function () {
|
||||
return 'جاري تحميل نتائج إضافية...';
|
||||
},
|
||||
maximumSelected: function (args) {
|
||||
var message = 'تستطيع إختيار ' + args.maximum + ' بنود فقط';
|
||||
|
||||
return message;
|
||||
},
|
||||
noResults: function () {
|
||||
return 'لم يتم العثور على أي نتائج';
|
||||
},
|
||||
searching: function () {
|
||||
return 'جاري البحث…';
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
* DateJS Culture String File
|
||||
* Country Code: fo-FO
|
||||
* Name: Faroese (Faroe Islands)
|
||||
* Format: "key" : "value"
|
||||
* Key is the en-US term, Value is the Key in the current language.
|
||||
*/
|
||||
Date.CultureStrings = Date.CultureStrings || {};
|
||||
Date.CultureStrings["fo-FO"] = {
|
||||
"name": "fo-FO",
|
||||
"englishName": "Faroese (Faroe Islands)",
|
||||
"nativeName": "føroyskt (Føroyar)",
|
||||
"Sunday": "sunnudagur",
|
||||
"Monday": "mánadagur",
|
||||
"Tuesday": "týsdagur",
|
||||
"Wednesday": "mikudagur",
|
||||
"Thursday": "hósdagur",
|
||||
"Friday": "fríggjadagur",
|
||||
"Saturday": "leygardagur",
|
||||
"Sun": "sun",
|
||||
"Mon": "mán",
|
||||
"Tue": "týs",
|
||||
"Wed": "mik",
|
||||
"Thu": "hós",
|
||||
"Fri": "frí",
|
||||
"Sat": "leyg",
|
||||
"Su": "su",
|
||||
"Mo": "má",
|
||||
"Tu": "tý",
|
||||
"We": "mi",
|
||||
"Th": "hó",
|
||||
"Fr": "fr",
|
||||
"Sa": "ley",
|
||||
"S_Sun_Initial": "s",
|
||||
"M_Mon_Initial": "m",
|
||||
"T_Tue_Initial": "t",
|
||||
"W_Wed_Initial": "m",
|
||||
"T_Thu_Initial": "h",
|
||||
"F_Fri_Initial": "f",
|
||||
"S_Sat_Initial": "l",
|
||||
"January": "januar",
|
||||
"February": "februar",
|
||||
"March": "mars",
|
||||
"April": "apríl",
|
||||
"May": "mai",
|
||||
"June": "juni",
|
||||
"July": "juli",
|
||||
"August": "august",
|
||||
"September": "september",
|
||||
"October": "oktober",
|
||||
"November": "november",
|
||||
"December": "desember",
|
||||
"Jan_Abbr": "jan",
|
||||
"Feb_Abbr": "feb",
|
||||
"Mar_Abbr": "mar",
|
||||
"Apr_Abbr": "apr",
|
||||
"May_Abbr": "mai",
|
||||
"Jun_Abbr": "jun",
|
||||
"Jul_Abbr": "jul",
|
||||
"Aug_Abbr": "aug",
|
||||
"Sep_Abbr": "sep",
|
||||
"Oct_Abbr": "okt",
|
||||
"Nov_Abbr": "nov",
|
||||
"Dec_Abbr": "des",
|
||||
"AM": "",
|
||||
"PM": "",
|
||||
"firstDayOfWeek": 1,
|
||||
"twoDigitYearMax": 2029,
|
||||
"mdy": "dmy",
|
||||
"M/d/yyyy": "dd-MM-yyyy",
|
||||
"dddd, MMMM dd, yyyy": "d. MMMM yyyy",
|
||||
"h:mm tt": "HH.mm",
|
||||
"h:mm:ss tt": "HH.mm.ss",
|
||||
"dddd, MMMM dd, yyyy h:mm:ss tt": "d. MMMM yyyy HH.mm.ss",
|
||||
"yyyy-MM-ddTHH:mm:ss": "yyyy-MM-ddTHH:mm:ss",
|
||||
"yyyy-MM-dd HH:mm:ssZ": "yyyy-MM-dd HH:mm:ssZ",
|
||||
"ddd, dd MMM yyyy HH:mm:ss": "ddd, dd MMM yyyy HH:mm:ss",
|
||||
"MMMM dd": "d. MMMM",
|
||||
"MMMM, yyyy": "MMMM yyyy",
|
||||
"/jan(uary)?/": "jan(uar)?",
|
||||
"/feb(ruary)?/": "feb(ruar)?",
|
||||
"/mar(ch)?/": "mar(s)?",
|
||||
"/apr(il)?/": "apr(íl)?",
|
||||
"/may/": "mai",
|
||||
"/jun(e)?/": "jun(i)?",
|
||||
"/jul(y)?/": "jul(i)?",
|
||||
"/aug(ust)?/": "aug(ust)?",
|
||||
"/sep(t(ember)?)?/": "sep(t(ember)?)?",
|
||||
"/oct(ober)?/": "okt(ober)?",
|
||||
"/nov(ember)?/": "nov(ember)?",
|
||||
"/dec(ember)?/": "des(ember)?",
|
||||
"/^su(n(day)?)?/": "^su(n(nudagur)?)?",
|
||||
"/^mo(n(day)?)?/": "^má(n(adagur)?)?",
|
||||
"/^tu(e(s(day)?)?)?/": "^tý(s(dagur)?)?",
|
||||
"/^we(d(nesday)?)?/": "^mi(k(udagur)?)?",
|
||||
"/^th(u(r(s(day)?)?)?)?/": "^hó(s(dagur)?)?",
|
||||
"/^fr(i(day)?)?/": "^fr(í(ggjadagur)?)?",
|
||||
"/^sa(t(urday)?)?/": "^ley(g(ardagur)?)?",
|
||||
"/^next/": "^next",
|
||||
"/^last|past|prev(ious)?/": "^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/": "^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/": "^(\\-|bef(ore)?|ago)",
|
||||
"/^yes(terday)?/": "^yes(terday)?",
|
||||
"/^t(od(ay)?)?/": "^t(od(ay)?)?",
|
||||
"/^tom(orrow)?/": "^tom(orrow)?",
|
||||
"/^n(ow)?/": "^n(ow)?",
|
||||
"/^ms|milli(second)?s?/": "^ms|milli(second)?s?",
|
||||
"/^sec(ond)?s?/": "^sec(ond)?s?",
|
||||
"/^mn|min(ute)?s?/": "^mn|min(ute)?s?",
|
||||
"/^h(our)?s?/": "^h(our)?s?",
|
||||
"/^w(eek)?s?/": "^w(eek)?s?",
|
||||
"/^m(onth)?s?/": "^m(onth)?s?",
|
||||
"/^d(ay)?s?/": "^d(ay)?s?",
|
||||
"/^y(ear)?s?/": "^y(ear)?s?",
|
||||
"/^(a|p)/": "^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/": "^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/": "^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)",
|
||||
"/^\\s*(st|nd|rd|th)/": "^\\s*(st|nd|rd|th)",
|
||||
"/^\\s*(\\:|a(?!u|p)|p)/": "^\\s*(\\:|a(?!u|p)|p)",
|
||||
"LINT": "LINT",
|
||||
"TOT": "TOT",
|
||||
"CHAST": "CHAST",
|
||||
"NZST": "NZST",
|
||||
"NFT": "NFT",
|
||||
"SBT": "SBT",
|
||||
"AEST": "AEST",
|
||||
"ACST": "ACST",
|
||||
"JST": "JST",
|
||||
"CWST": "CWST",
|
||||
"CT": "CT",
|
||||
"ICT": "ICT",
|
||||
"MMT": "MMT",
|
||||
"BIOT": "BST",
|
||||
"NPT": "NPT",
|
||||
"IST": "IST",
|
||||
"PKT": "PKT",
|
||||
"AFT": "AFT",
|
||||
"MSK": "MSK",
|
||||
"IRST": "IRST",
|
||||
"FET": "FET",
|
||||
"EET": "EET",
|
||||
"CET": "CET",
|
||||
"UTC": "UTC",
|
||||
"GMT": "GMT",
|
||||
"CVT": "CVT",
|
||||
"GST": "GST",
|
||||
"BRT": "BRT",
|
||||
"NST": "NST",
|
||||
"AST": "AST",
|
||||
"EST": "EST",
|
||||
"CST": "CST",
|
||||
"MST": "MST",
|
||||
"PST": "PST",
|
||||
"AKST": "AKST",
|
||||
"MIT": "MIT",
|
||||
"HST": "HST",
|
||||
"SST": "SST",
|
||||
"BIT": "BIT",
|
||||
"CHADT": "CHADT",
|
||||
"NZDT": "NZDT",
|
||||
"AEDT": "AEDT",
|
||||
"ACDT": "ACDT",
|
||||
"AZST": "AZST",
|
||||
"IRDT": "IRDT",
|
||||
"EEST": "EEST",
|
||||
"CEST": "CEST",
|
||||
"BST": "BST",
|
||||
"PMDT": "PMDT",
|
||||
"ADT": "ADT",
|
||||
"NDT": "NDT",
|
||||
"EDT": "EDT",
|
||||
"CDT": "CDT",
|
||||
"MDT": "MDT",
|
||||
"PDT": "PDT",
|
||||
"AKDT": "AKDT",
|
||||
"HADT": "HADT"
|
||||
};
|
||||
Date.CultureStrings.lang = "fo-FO";
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
define(function(require) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var List = require('../../data/List');
|
||||
var zrUtil = require('zrender/core/util');
|
||||
var modelUtil = require('../../util/model');
|
||||
var completeDimensions = require('../../data/helper/completeDimensions');
|
||||
|
||||
var dataSelectableMixin = require('../../component/helper/selectableMixin');
|
||||
|
||||
var PieSeries = require('../../echarts').extendSeriesModel({
|
||||
|
||||
type: 'series.pie',
|
||||
|
||||
// Overwrite
|
||||
init: function (option) {
|
||||
PieSeries.superApply(this, 'init', arguments);
|
||||
|
||||
// Enable legend selection for each data item
|
||||
// Use a function instead of direct access because data reference may changed
|
||||
this.legendDataProvider = function () {
|
||||
return this._dataBeforeProcessed;
|
||||
};
|
||||
|
||||
this.updateSelectedMap(option.data);
|
||||
|
||||
this._defaultLabelLine(option);
|
||||
},
|
||||
|
||||
// Overwrite
|
||||
mergeOption: function (newOption) {
|
||||
PieSeries.superCall(this, 'mergeOption', newOption);
|
||||
this.updateSelectedMap(this.option.data);
|
||||
},
|
||||
|
||||
getInitialData: function (option, ecModel) {
|
||||
var dimensions = completeDimensions(['value'], option.data);
|
||||
var list = new List(dimensions, this);
|
||||
list.initData(option.data);
|
||||
return list;
|
||||
},
|
||||
|
||||
// Overwrite
|
||||
getDataParams: function (dataIndex) {
|
||||
var data = this._data;
|
||||
var params = PieSeries.superCall(this, 'getDataParams', dataIndex);
|
||||
var sum = data.getSum('value');
|
||||
// FIXME toFixed?
|
||||
//
|
||||
// Percent is 0 if sum is 0
|
||||
params.percent = !sum ? 0 : +(data.get('value', dataIndex) / sum * 100).toFixed(2);
|
||||
|
||||
params.$vars.push('percent');
|
||||
return params;
|
||||
},
|
||||
|
||||
_defaultLabelLine: function (option) {
|
||||
// Extend labelLine emphasis
|
||||
modelUtil.defaultEmphasis(option.labelLine, ['show']);
|
||||
|
||||
var labelLineNormalOpt = option.labelLine.normal;
|
||||
var labelLineEmphasisOpt = option.labelLine.emphasis;
|
||||
// Not show label line if `label.normal.show = false`
|
||||
labelLineNormalOpt.show = labelLineNormalOpt.show
|
||||
&& option.label.normal.show;
|
||||
labelLineEmphasisOpt.show = labelLineEmphasisOpt.show
|
||||
&& option.label.emphasis.show;
|
||||
},
|
||||
|
||||
defaultOption: {
|
||||
zlevel: 0,
|
||||
z: 2,
|
||||
legendHoverLink: true,
|
||||
|
||||
hoverAnimation: true,
|
||||
// 默认全局居中
|
||||
center: ['50%', '50%'],
|
||||
radius: [0, '75%'],
|
||||
// 默认顺时针
|
||||
clockwise: true,
|
||||
startAngle: 90,
|
||||
// 最小角度改为0
|
||||
minAngle: 0,
|
||||
// 选中是扇区偏移量
|
||||
selectedOffset: 10,
|
||||
|
||||
// If use strategy to avoid label overlapping
|
||||
avoidLabelOverlap: true,
|
||||
// 选择模式,默认关闭,可选single,multiple
|
||||
// selectedMode: false,
|
||||
// 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)
|
||||
// roseType: null,
|
||||
|
||||
label: {
|
||||
normal: {
|
||||
// If rotate around circle
|
||||
rotate: false,
|
||||
show: true,
|
||||
// 'outer', 'inside', 'center'
|
||||
position: 'outer'
|
||||
// formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调
|
||||
// textStyle: null // 默认使用全局文本样式,详见TEXTSTYLE
|
||||
// distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数
|
||||
},
|
||||
emphasis: {}
|
||||
},
|
||||
// Enabled when label.normal.position is 'outer'
|
||||
labelLine: {
|
||||
normal: {
|
||||
show: true,
|
||||
// 引导线两段中的第一段长度
|
||||
length: 15,
|
||||
// 引导线两段中的第二段长度
|
||||
length2: 15,
|
||||
smooth: false,
|
||||
lineStyle: {
|
||||
// color: 各异,
|
||||
width: 1,
|
||||
type: 'solid'
|
||||
}
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
// color: 各异,
|
||||
borderColor: 'rgba(0,0,0,0)',
|
||||
borderWidth: 1
|
||||
},
|
||||
emphasis: {
|
||||
// color: 各异,
|
||||
borderColor: 'rgba(0,0,0,0)',
|
||||
borderWidth: 1
|
||||
}
|
||||
},
|
||||
|
||||
animationEasing: 'cubicOut',
|
||||
|
||||
data: []
|
||||
}
|
||||
});
|
||||
|
||||
zrUtil.mixin(PieSeries, dataSelectableMixin);
|
||||
|
||||
return PieSeries;
|
||||
});
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"name": "jqvmap",
|
||||
"version": "1.5.0",
|
||||
"homepage": "http://jqvmap.com",
|
||||
"authors": [
|
||||
"JQVMap"
|
||||
],
|
||||
"license": "(MIT OR GPL-3.0)",
|
||||
"description": "jQuery Vector Map Library",
|
||||
"main": "dist/jquery.vmap.min.js",
|
||||
"keywords": [
|
||||
"jquery",
|
||||
"map",
|
||||
"svg",
|
||||
"vml",
|
||||
"vector"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/manifestinteractive/jqvmap.git"
|
||||
},
|
||||
"dependencies": {
|
||||
"jquery": ">=1.11.3"
|
||||
},
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* DataZoom component entry
|
||||
*/
|
||||
define(function (require) {
|
||||
|
||||
var echarts = require('../echarts');
|
||||
|
||||
echarts.registerPreprocessor(require('./timeline/preprocessor'));
|
||||
|
||||
require('./timeline/typeDefaulter');
|
||||
require('./timeline/timelineAction');
|
||||
require('./timeline/SliderTimelineModel');
|
||||
require('./timeline/SliderTimelineView');
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
Copyright 2012 DevBridge and other contributors
|
||||
http://www.devbridge.com/projects/autocomplete/jquery/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : Bahasa Indonesia (id)
|
||||
//! author : Mohammad Satrio Utomo : https://github.com/tyok
|
||||
//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
export default moment.defineLocale('id', {
|
||||
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
|
||||
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),
|
||||
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
|
||||
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
|
||||
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH.mm',
|
||||
LTS : 'HH.mm.ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY [pukul] HH.mm',
|
||||
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
|
||||
},
|
||||
meridiemParse: /pagi|siang|sore|malam/,
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'pagi') {
|
||||
return hour;
|
||||
} else if (meridiem === 'siang') {
|
||||
return hour >= 11 ? hour : hour + 12;
|
||||
} else if (meridiem === 'sore' || meridiem === 'malam') {
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
if (hours < 11) {
|
||||
return 'pagi';
|
||||
} else if (hours < 15) {
|
||||
return 'siang';
|
||||
} else if (hours < 19) {
|
||||
return 'sore';
|
||||
} else {
|
||||
return 'malam';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Hari ini pukul] LT',
|
||||
nextDay : '[Besok pukul] LT',
|
||||
nextWeek : 'dddd [pukul] LT',
|
||||
lastDay : '[Kemarin pukul] LT',
|
||||
lastWeek : 'dddd [lalu pukul] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'dalam %s',
|
||||
past : '%s yang lalu',
|
||||
s : 'beberapa detik',
|
||||
m : 'semenit',
|
||||
mm : '%d menit',
|
||||
h : 'sejam',
|
||||
hh : '%d jam',
|
||||
d : 'sehari',
|
||||
dd : '%d hari',
|
||||
M : 'sebulan',
|
||||
MM : '%d bulan',
|
||||
y : 'setahun',
|
||||
yy : '%d tahun'
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : bosnian (bs)
|
||||
//! author : Nedim Cholich : https://github.com/frontyard
|
||||
//! based on (hr) translation by Bojan Marković
|
||||
|
||||
;(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined'
|
||||
&& typeof require === 'function' ? factory(require('../moment')) :
|
||||
typeof define === 'function' && define.amd ? define(['moment'], factory) :
|
||||
factory(global.moment)
|
||||
}(this, function (moment) { 'use strict';
|
||||
|
||||
|
||||
function translate(number, withoutSuffix, key) {
|
||||
var result = number + ' ';
|
||||
switch (key) {
|
||||
case 'm':
|
||||
return withoutSuffix ? 'jedna minuta' : 'jedne minute';
|
||||
case 'mm':
|
||||
if (number === 1) {
|
||||
result += 'minuta';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'minute';
|
||||
} else {
|
||||
result += 'minuta';
|
||||
}
|
||||
return result;
|
||||
case 'h':
|
||||
return withoutSuffix ? 'jedan sat' : 'jednog sata';
|
||||
case 'hh':
|
||||
if (number === 1) {
|
||||
result += 'sat';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'sata';
|
||||
} else {
|
||||
result += 'sati';
|
||||
}
|
||||
return result;
|
||||
case 'dd':
|
||||
if (number === 1) {
|
||||
result += 'dan';
|
||||
} else {
|
||||
result += 'dana';
|
||||
}
|
||||
return result;
|
||||
case 'MM':
|
||||
if (number === 1) {
|
||||
result += 'mjesec';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'mjeseca';
|
||||
} else {
|
||||
result += 'mjeseci';
|
||||
}
|
||||
return result;
|
||||
case 'yy':
|
||||
if (number === 1) {
|
||||
result += 'godina';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'godine';
|
||||
} else {
|
||||
result += 'godina';
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
var bs = moment.defineLocale('bs', {
|
||||
months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
|
||||
monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
|
||||
monthsParseExact: true,
|
||||
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
|
||||
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
|
||||
weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'DD. MM. YYYY',
|
||||
LL : 'D. MMMM YYYY',
|
||||
LLL : 'D. MMMM YYYY H:mm',
|
||||
LLLL : 'dddd, D. MMMM YYYY H:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[danas u] LT',
|
||||
nextDay : '[sutra u] LT',
|
||||
nextWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[u] [nedjelju] [u] LT';
|
||||
case 3:
|
||||
return '[u] [srijedu] [u] LT';
|
||||
case 6:
|
||||
return '[u] [subotu] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[u] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
lastDay : '[jučer u] LT',
|
||||
lastWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
return '[prošlu] dddd [u] LT';
|
||||
case 6:
|
||||
return '[prošle] [subote] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[prošli] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'za %s',
|
||||
past : 'prije %s',
|
||||
s : 'par sekundi',
|
||||
m : translate,
|
||||
mm : translate,
|
||||
h : translate,
|
||||
hh : translate,
|
||||
d : 'dan',
|
||||
dd : translate,
|
||||
M : 'mjesec',
|
||||
MM : translate,
|
||||
y : 'godinu',
|
||||
yy : translate
|
||||
},
|
||||
ordinalParse: /\d{1,2}\./,
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
return bs;
|
||||
|
||||
}));
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
// HINT Markpoint can't be used too much
|
||||
define(function (require) {
|
||||
|
||||
require('./marker/MarkPointModel');
|
||||
require('./marker/MarkPointView');
|
||||
|
||||
require('../echarts').registerPreprocessor(function (opt) {
|
||||
// Make sure markPoint component is enabled
|
||||
opt.markPoint = opt.markPoint || {};
|
||||
});
|
||||
});
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script src="esl.js"></script>
|
||||
<script src="config.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
html, body, #main {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.controller {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ccc;
|
||||
line-height: 30px;
|
||||
z-index: 100;
|
||||
}
|
||||
.controller label {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.item-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.controller .item {
|
||||
margin-right: 20px;
|
||||
padding-right: 10px;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
.tooltip-title {
|
||||
color: yellow;
|
||||
font-size: 16px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
<div class="controller">
|
||||
<span class="item">
|
||||
<span class="item-title">childrenVisibleMin:</span>
|
||||
<input type="radio" id="childrenVisibleMin-0" name="childrenVisibleMin" onclick="childrenVisibleMinChange(0);" checked="checked"/>
|
||||
<label for="childrenVisibleMin-0">0</label>
|
||||
<input type="radio" id="childrenVisibleMin-1" name="childrenVisibleMin" onclick="childrenVisibleMinChange(1000000);"/>
|
||||
<label for="childrenVisibleMin-1">1000000</label>
|
||||
</span>
|
||||
<span class="item">
|
||||
<span class="item-title">colorMapping:</span>
|
||||
<input type="radio" id="colorMapping-0" name="colorMapping" onclick="colorMappingChange('index');" checked="checked"/>
|
||||
<label for="colorMapping-0">byIndex</label>
|
||||
<input type="radio" id="colorMapping-1" name="colorMapping" onclick="colorMappingChange('value');"/>
|
||||
<label for="colorMapping-1">byValue</label>
|
||||
</span>
|
||||
<span class="item">
|
||||
<span class="item-title">leafDepth:</span>
|
||||
<input type="radio" id="leafDepth-0" name="leafDepth" onclick="leafDepthChange(null);" checked="checked"/>
|
||||
<label for="leafDepth-0">Not set</label>
|
||||
<input type="radio" id="leafDepth-1" name="leafDepth" onclick="leafDepthChange(1);"/>
|
||||
<label for="leafDepth-1">Set to 1</label>
|
||||
<input type="radio" id="leafDepth-2" name="leafDepth" onclick="leafDepthChange(2);"/>
|
||||
<label for="leafDepth-1">Set to 2</label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div id="main"></div>
|
||||
|
||||
<script src="data/disk.tree.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
var chart;
|
||||
var formatUtil;
|
||||
|
||||
require([
|
||||
'echarts',
|
||||
'echarts/util/format',
|
||||
'echarts/component/tooltip',
|
||||
'echarts/component/legend',
|
||||
'echarts/chart/treemap'
|
||||
], function (echarts, format) {
|
||||
formatUtil = format;
|
||||
initEcharts(echarts);
|
||||
});
|
||||
|
||||
function childrenVisibleMinChange(value) {
|
||||
chart.setOption({
|
||||
series: [{
|
||||
childrenVisibleMin: value
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
function colorMappingChange(value) {
|
||||
var levelOption = getLevelOption(value);
|
||||
chart.setOption({
|
||||
series: [{
|
||||
levels: levelOption
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
function leafDepthChange(value) {
|
||||
chart.setOption({
|
||||
series: [{
|
||||
leafDepth: value
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
function getLevelOption(colorMapping) {
|
||||
return [
|
||||
{
|
||||
color: ['#d14a61'], // default color
|
||||
itemStyle: {
|
||||
normal: {
|
||||
borderWidth: 0,
|
||||
gapWidth: 5
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
color: [
|
||||
'#d14a61', '#fd9c35',
|
||||
'#675bba', '#fec42c', '#dd4444',
|
||||
'#d4df5a', '#cd4870'
|
||||
],
|
||||
colorMappingBy: colorMapping,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
gapWidth: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
colorSaturation: [0.35, 0.5],
|
||||
itemStyle: {
|
||||
normal: {
|
||||
gapWidth: 1,
|
||||
borderColorSaturation: 0.6
|
||||
}
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
function initEcharts(echarts) {
|
||||
chart = echarts.init(document.getElementById('main'), null, {
|
||||
renderer: 'canvas'
|
||||
});
|
||||
|
||||
chart.setOption({
|
||||
|
||||
tooltip: {
|
||||
formatter: function (info) {
|
||||
var value = info.value;
|
||||
var treePathInfo = info.treePathInfo;
|
||||
var treePath = [];
|
||||
|
||||
for (var i = 1; i < treePathInfo.length; i++) {
|
||||
treePath.push(treePathInfo[i].name);
|
||||
}
|
||||
|
||||
return [
|
||||
'<div class="tooltip-title">' + formatUtil.encodeHTML(treePath.join('/')) + '</div>',
|
||||
'Disk Usage: ' + formatUtil.addCommas(value) + ' KB',
|
||||
].join('');
|
||||
}
|
||||
},
|
||||
|
||||
series: [
|
||||
{
|
||||
name:'Disk Usage',
|
||||
type:'treemap',
|
||||
visibleMin: 300,
|
||||
// childrenVisibleMin: 500000,
|
||||
label: {
|
||||
show: true,
|
||||
formatter: '{b}'
|
||||
// normal: {
|
||||
// textStyle: {
|
||||
// color: 'black'
|
||||
// }
|
||||
// }
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
borderColor: '#fff'
|
||||
},
|
||||
emphasis: {
|
||||
}
|
||||
},
|
||||
levels: getLevelOption('index'),
|
||||
data: window.disk_usage_tree
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
chart.on('click', function (params) {
|
||||
console.log(params);
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"name": "validator",
|
||||
"title": "validator",
|
||||
"description": "The Validator is cross-browser and will give you the power to use future-proof input types such as 'tel', 'email', 'number', 'date', and 'url'. I can sum this as a 'template' for creating web forms. It uses the power of custom 'data' to achieve high flexibility",
|
||||
"keywords": ["validator", "validation", "form", "input"],
|
||||
"version": "1.0.6",
|
||||
"author": {
|
||||
"name": "Yair Even Or",
|
||||
"url": "http://dropthebit.com"
|
||||
},
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Yair Even Or",
|
||||
"email": "vsync.design@gmail.com"
|
||||
}
|
||||
],
|
||||
"licenses": [
|
||||
{
|
||||
"type": "MIT",
|
||||
"url": "http://opensource.org/licenses/MIT"
|
||||
}
|
||||
],
|
||||
"bugs": "https://github.com/yairEO/validator/issues",
|
||||
"homepage": "https://github.com/yairEO/validator",
|
||||
"docs": "https://github.com/yairEO/validator",
|
||||
"download": "https://github.com/yairEO/validator",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.5"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
* DateJS Culture String File
|
||||
* Country Code: af-ZA
|
||||
* Name: Afrikaans (South Africa)
|
||||
* Format: "key" : "value"
|
||||
* Key is the en-US term, Value is the Key in the current language.
|
||||
*/
|
||||
Date.CultureStrings = Date.CultureStrings || {};
|
||||
Date.CultureStrings["af-ZA"] = {
|
||||
"name": "af-ZA",
|
||||
"englishName": "Afrikaans (South Africa)",
|
||||
"nativeName": "Afrikaans (Suid Afrika)",
|
||||
"Sunday": "Sondag",
|
||||
"Monday": "Maandag",
|
||||
"Tuesday": "Dinsdag",
|
||||
"Wednesday": "Woensdag",
|
||||
"Thursday": "Donderdag",
|
||||
"Friday": "Vrydag",
|
||||
"Saturday": "Saterdag",
|
||||
"Sun": "Son",
|
||||
"Mon": "Maan",
|
||||
"Tue": "Dins",
|
||||
"Wed": "Woen",
|
||||
"Thu": "Dond",
|
||||
"Fri": "Vry",
|
||||
"Sat": "Sat",
|
||||
"Su": "So",
|
||||
"Mo": "Ma",
|
||||
"Tu": "Di",
|
||||
"We": "Wo",
|
||||
"Th": "Do",
|
||||
"Fr": "Vr",
|
||||
"Sa": "Sa",
|
||||
"S_Sun_Initial": "S",
|
||||
"M_Mon_Initial": "M",
|
||||
"T_Tue_Initial": "D",
|
||||
"W_Wed_Initial": "W",
|
||||
"T_Thu_Initial": "D",
|
||||
"F_Fri_Initial": "V",
|
||||
"S_Sat_Initial": "S",
|
||||
"January": "Januarie",
|
||||
"February": "Februarie",
|
||||
"March": "Maart",
|
||||
"April": "April",
|
||||
"May": "Mei",
|
||||
"June": "Junie",
|
||||
"July": "Julie",
|
||||
"August": "Augustus",
|
||||
"September": "September",
|
||||
"October": "Oktober",
|
||||
"November": "November",
|
||||
"December": "Desember",
|
||||
"Jan_Abbr": "Jan",
|
||||
"Feb_Abbr": "Feb",
|
||||
"Mar_Abbr": "Mar",
|
||||
"Apr_Abbr": "Apr",
|
||||
"May_Abbr": "Mei",
|
||||
"Jun_Abbr": "Jun",
|
||||
"Jul_Abbr": "Jul",
|
||||
"Aug_Abbr": "Aug",
|
||||
"Sep_Abbr": "Sep",
|
||||
"Oct_Abbr": "Okt",
|
||||
"Nov_Abbr": "Nov",
|
||||
"Dec_Abbr": "Des",
|
||||
"AM": "",
|
||||
"PM": "nm",
|
||||
"firstDayOfWeek": 0,
|
||||
"twoDigitYearMax": 2029,
|
||||
"mdy": "ymd",
|
||||
"M/d/yyyy": "yyyy/MM/dd",
|
||||
"dddd, MMMM dd, yyyy": "dd MMMM yyyy",
|
||||
"h:mm tt": "hh:mm tt",
|
||||
"h:mm:ss tt": "hh:mm:ss tt",
|
||||
"dddd, MMMM dd, yyyy h:mm:ss tt": "dd MMMM yyyy hh:mm:ss tt",
|
||||
"yyyy-MM-ddTHH:mm:ss": "yyyy-MM-ddTHH:mm:ss",
|
||||
"yyyy-MM-dd HH:mm:ssZ": "yyyy-MM-dd HH:mm:ssZ",
|
||||
"ddd, dd MMM yyyy HH:mm:ss": "ddd, dd MMM yyyy HH:mm:ss",
|
||||
"MMMM dd": "dd MMMM",
|
||||
"MMMM, yyyy": "MMMM yyyy",
|
||||
"/jan(uary)?/": "jan(uarie)?",
|
||||
"/feb(ruary)?/": "feb(ruarie)?",
|
||||
"/mar(ch)?/": "maart",
|
||||
"/apr(il)?/": "apr(il)?",
|
||||
"/may/": "mei",
|
||||
"/jun(e)?/": "jun(ie)?",
|
||||
"/jul(y)?/": "jul(ie)?",
|
||||
"/aug(ust)?/": "aug(ustus)?",
|
||||
"/sep(t(ember)?)?/": "sep(t(ember)?)?",
|
||||
"/oct(ober)?/": "okt(ober)?",
|
||||
"/nov(ember)?/": "nov(ember)?",
|
||||
"/dec(ember)?/": "des(ember)?",
|
||||
"/^su(n(day)?)?/": "^so(n(dag)?)?",
|
||||
"/^mo(n(day)?)?/": "^ma(an(dag)?)?",
|
||||
"/^tu(e(s(day)?)?)?/": "^di(ns(dag)?)?",
|
||||
"/^we(d(nesday)?)?/": "^wo(en(sdag)?)?",
|
||||
"/^th(u(r(s(day)?)?)?)?/": "^do(nd(erdag)?)?",
|
||||
"/^fr(i(day)?)?/": "^vr(y(dag)?)?",
|
||||
"/^sa(t(urday)?)?/": "^sa(t(erdag)?)?",
|
||||
"/^next/": "^next",
|
||||
"/^last|past|prev(ious)?/": "^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/": "^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/": "^(\\-|bef(ore)?|ago)",
|
||||
"/^yes(terday)?/": "^yes(terday)?",
|
||||
"/^t(od(ay)?)?/": "^t(od(ay)?)?",
|
||||
"/^tom(orrow)?/": "^tom(orrow)?",
|
||||
"/^n(ow)?/": "^n(ow)?",
|
||||
"/^ms|milli(second)?s?/": "^ms|milli(second)?s?",
|
||||
"/^sec(ond)?s?/": "^sec(ond)?s?",
|
||||
"/^mn|min(ute)?s?/": "^mn|min(ute)?s?",
|
||||
"/^h(our)?s?/": "^h(our)?s?",
|
||||
"/^w(eek)?s?/": "^w(eek)?s?",
|
||||
"/^m(onth)?s?/": "^m(onth)?s?",
|
||||
"/^d(ay)?s?/": "^d(ay)?s?",
|
||||
"/^y(ear)?s?/": "^y(ear)?s?",
|
||||
"/^(a|p)/": "^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/": "^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/": "^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)",
|
||||
"/^\\s*(st|nd|rd|th)/": "^\\s*(st|nd|rd|th)",
|
||||
"/^\\s*(\\:|a(?!u|p)|p)/": "^\\s*(\\:|a(?!u|p)|p)",
|
||||
"LINT": "LINT",
|
||||
"TOT": "TOT",
|
||||
"CHAST": "CHAST",
|
||||
"NZST": "NZST",
|
||||
"NFT": "NFT",
|
||||
"SBT": "SBT",
|
||||
"AEST": "AEST",
|
||||
"ACST": "ACST",
|
||||
"JST": "JST",
|
||||
"CWST": "CWST",
|
||||
"CT": "CT",
|
||||
"ICT": "ICT",
|
||||
"MMT": "MMT",
|
||||
"BIOT": "BST",
|
||||
"NPT": "NPT",
|
||||
"IST": "IST",
|
||||
"PKT": "PKT",
|
||||
"AFT": "AFT",
|
||||
"MSK": "MSK",
|
||||
"IRST": "IRST",
|
||||
"FET": "FET",
|
||||
"EET": "EET",
|
||||
"CET": "CET",
|
||||
"UTC": "UTC",
|
||||
"GMT": "GMT",
|
||||
"CVT": "CVT",
|
||||
"GST": "GST",
|
||||
"BRT": "BRT",
|
||||
"NST": "NST",
|
||||
"AST": "AST",
|
||||
"EST": "EST",
|
||||
"CST": "CST",
|
||||
"MST": "MST",
|
||||
"PST": "PST",
|
||||
"AKST": "AKST",
|
||||
"MIT": "MIT",
|
||||
"HST": "HST",
|
||||
"SST": "SST",
|
||||
"BIT": "BIT",
|
||||
"CHADT": "CHADT",
|
||||
"NZDT": "NZDT",
|
||||
"AEDT": "AEDT",
|
||||
"ACDT": "ACDT",
|
||||
"AZST": "AZST",
|
||||
"IRDT": "IRDT",
|
||||
"EEST": "EEST",
|
||||
"CEST": "CEST",
|
||||
"BST": "BST",
|
||||
"PMDT": "PMDT",
|
||||
"ADT": "ADT",
|
||||
"NDT": "NDT",
|
||||
"EDT": "EDT",
|
||||
"CDT": "CDT",
|
||||
"MDT": "MDT",
|
||||
"PDT": "PDT",
|
||||
"AKDT": "AKDT",
|
||||
"HADT": "HADT"
|
||||
};
|
||||
Date.CultureStrings.lang = "af-ZA";
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
---
|
||||
title: JSZip
|
||||
layout: default
|
||||
section: main
|
||||
---
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
|
||||
JSZip is a javascript library for creating, reading and editing .zip files, with a
|
||||
lovely and simple API.
|
||||
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
<p>
|
||||
<strong>Current version</strong> : v2.6.0
|
||||
</p>
|
||||
<p>
|
||||
<strong>License</strong> : JSZip is dual-licensed. You may use it under the
|
||||
MIT license <em>or</em> the GPLv3 license. See
|
||||
<a href="https://github.com/Stuk/jszip/blob/master/LICENSE.markdown">LICENSE.markdown</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
|
||||
<h3>Example</h3>
|
||||
|
||||
<script type="text/javascript">
|
||||
imgData = "R0lGODdhBQAFAIACAAAAAP/eACwAAAAABQAFAAACCIwPkWerClIBADs=";
|
||||
|
||||
jQuery(function($) {
|
||||
if(!JSZip.support.blob) {
|
||||
$("#demo-not-supported").removeClass("hidden");
|
||||
$("#demo").hide();
|
||||
return;
|
||||
}
|
||||
$("#demo").click(function () {
|
||||
try {
|
||||
eval($("#demo-code").val());
|
||||
$("#status")
|
||||
.removeClass()
|
||||
.addClass("text-success")
|
||||
.text("Done!");
|
||||
}
|
||||
catch (e) {
|
||||
$("#status")
|
||||
.removeClass()
|
||||
.addClass("text-danger")
|
||||
.text(e);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<textarea class="form-control" id="demo-code" rows="7" spellcheck="false">
|
||||
var zip = new JSZip();
|
||||
zip.file("Hello.txt", "Hello World\n");
|
||||
var img = zip.folder("images");
|
||||
img.file("smile.gif", imgData, {base64: true});
|
||||
var content = zip.generate({type:"blob"});
|
||||
// see FileSaver.js
|
||||
saveAs(content, "example.zip");</textarea>
|
||||
<button id="demo" class="btn btn-primary">Run!</button>
|
||||
<span id="status"></span>
|
||||
<div id="demo-not-supported" class="alert alert-danger hidden">
|
||||
This browser doesn't support blobs, this demo won't work :(
|
||||
See <a href="{{site.baseurl}}/documentation/howto/write_zip.html" class="alert-link">here for more info</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-7">
|
||||
|
||||
<h3>Installation</h3>
|
||||
|
||||
<p>
|
||||
<strong>With npm</strong> : <code>npm install jszip</code>
|
||||
</p>
|
||||
<p>
|
||||
<strong>With bower</strong> : <code>bower install Stuk/jszip</code>
|
||||
</p>
|
||||
<p>
|
||||
<strong>With component</strong> : <code>component install Stuk/jszip</code>
|
||||
</p>
|
||||
<p>
|
||||
<strong>Manually</strong> : <a href="http://github.com/Stuk/jszip/zipball/master">download JSZip</a>
|
||||
and include the file <code>dist/jszip.js</code> or <code>dist/jszip.min.js</code>
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
Installed ? Great ! You can now check our
|
||||
<a href="{{site.baseurl}}/documentation/examples.html">guides and examples !</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Support</h3>
|
||||
|
||||
<table class="browser_support">
|
||||
<tr>
|
||||
<th class="support_op">Opera</th>
|
||||
<th class="support_ff">Firefox</th>
|
||||
<th class="support_sf">Safari</th>
|
||||
<th class="support_cr">Chrome</th>
|
||||
<th class="support_ie">Internet Explorer</th>
|
||||
<th class="support_nd">Node.js</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Yes</td>
|
||||
<td>Yes</td>
|
||||
<td>Yes</td>
|
||||
<td>Yes</td>
|
||||
<td>Yes</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tested with the latest version</td>
|
||||
<td>Tested with 3.0 / 3.6 / latest version</td>
|
||||
<td>Tested with the latest version</td>
|
||||
<td>Tested with the latest version</td>
|
||||
<td>Tested with IE 6 / 7 / 8 / 9 / 10</td>
|
||||
<td>Tested with node.js 0.8 and 0.10</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Getting help</h3>
|
||||
|
||||
<p>
|
||||
Having trouble ? We'd like to help !
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Try the <a href="{{site.baseurl}}/documentation/faq.html">FAQ</a>, it has
|
||||
answers to common questions.
|
||||
</li>
|
||||
<li>
|
||||
If you're looking for informations about a specific method, try the
|
||||
<a href="{{site.baseurl}}/documentation/api_jszip.html">documentation</a>.
|
||||
</li>
|
||||
<li>
|
||||
Check the
|
||||
<a href="{{site.baseurl}}/documentation/examples.html">examples</a>.
|
||||
</li>
|
||||
<li>
|
||||
Report bugs in our
|
||||
<a href="https://github.com/Stuk/jszip/issues">Bug tracker</a>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test status</h3>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Travis build :</dt>
|
||||
<dd>
|
||||
<a href="http://travis-ci.org/Stuk/jszip">
|
||||
<img src="https://api.travis-ci.org/Stuk/jszip.svg?branch=master" alt="" />
|
||||
</a>
|
||||
</dd>
|
||||
<dt>Saucelabs build :</dt>
|
||||
<dd>
|
||||
<a href="https://saucelabs.com/u/jszip">
|
||||
<img src="https://saucelabs.com/browser-matrix/jszip.svg" alt="" />
|
||||
</a>
|
||||
</dd>
|
||||
<dt>Live tests :</dt>
|
||||
<dd>
|
||||
<a href="{{site.baseurl}}/test/">See for yourself !</a>
|
||||
</dd>
|
||||
</dl>
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"name": "eonasdan/bootstrap-datetimepicker",
|
||||
"type": "component",
|
||||
"version": "4.17.47",
|
||||
"description": "Date/time picker widget based on twitter bootstrap",
|
||||
"keywords": [
|
||||
"bootstrap",
|
||||
"datetimepicker"
|
||||
],
|
||||
"homepage": "http://eonasdan.github.io/bootstrap-datetimepicker/",
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"robloach/component-installer": "*",
|
||||
"components/jquery": ">=1.9.1",
|
||||
"moment/moment": ">=2.10.5"
|
||||
},
|
||||
"extra": {
|
||||
"component": {
|
||||
"scripts": [
|
||||
"src/js/bootstrap-datetimepicker.js"
|
||||
],
|
||||
"files": [
|
||||
"build/js/bootstrap-datetimepicker.min.js",
|
||||
"build/css/bootstrap-datetimepicker.min.css"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
* DateJS Culture String File
|
||||
* Country Code: es-BO
|
||||
* Name: Spanish (Bolivia)
|
||||
* Format: "key" : "value"
|
||||
* Key is the en-US term, Value is the Key in the current language.
|
||||
*/
|
||||
Date.CultureStrings = Date.CultureStrings || {};
|
||||
Date.CultureStrings["es-BO"] = {
|
||||
"name": "es-BO",
|
||||
"englishName": "Spanish (Bolivia)",
|
||||
"nativeName": "Español (Bolivia)",
|
||||
"Sunday": "domingo",
|
||||
"Monday": "lunes",
|
||||
"Tuesday": "martes",
|
||||
"Wednesday": "miércoles",
|
||||
"Thursday": "jueves",
|
||||
"Friday": "viernes",
|
||||
"Saturday": "sábado",
|
||||
"Sun": "dom",
|
||||
"Mon": "lun",
|
||||
"Tue": "mar",
|
||||
"Wed": "mié",
|
||||
"Thu": "jue",
|
||||
"Fri": "vie",
|
||||
"Sat": "sáb",
|
||||
"Su": "do",
|
||||
"Mo": "lu",
|
||||
"Tu": "ma",
|
||||
"We": "mi",
|
||||
"Th": "ju",
|
||||
"Fr": "vi",
|
||||
"Sa": "sá",
|
||||
"S_Sun_Initial": "d",
|
||||
"M_Mon_Initial": "l",
|
||||
"T_Tue_Initial": "m",
|
||||
"W_Wed_Initial": "m",
|
||||
"T_Thu_Initial": "j",
|
||||
"F_Fri_Initial": "v",
|
||||
"S_Sat_Initial": "s",
|
||||
"January": "enero",
|
||||
"February": "febrero",
|
||||
"March": "marzo",
|
||||
"April": "abril",
|
||||
"May": "mayo",
|
||||
"June": "junio",
|
||||
"July": "julio",
|
||||
"August": "agosto",
|
||||
"September": "septiembre",
|
||||
"October": "octubre",
|
||||
"November": "noviembre",
|
||||
"December": "diciembre",
|
||||
"Jan_Abbr": "ene",
|
||||
"Feb_Abbr": "feb",
|
||||
"Mar_Abbr": "mar",
|
||||
"Apr_Abbr": "abr",
|
||||
"May_Abbr": "may",
|
||||
"Jun_Abbr": "jun",
|
||||
"Jul_Abbr": "jul",
|
||||
"Aug_Abbr": "ago",
|
||||
"Sep_Abbr": "sep",
|
||||
"Oct_Abbr": "oct",
|
||||
"Nov_Abbr": "nov",
|
||||
"Dec_Abbr": "dic",
|
||||
"AM": "a.m.",
|
||||
"PM": "p.m.",
|
||||
"firstDayOfWeek": 0,
|
||||
"twoDigitYearMax": 2029,
|
||||
"mdy": "dmy",
|
||||
"M/d/yyyy": "dd/MM/yyyy",
|
||||
"dddd, MMMM dd, yyyy": "dddd, dd' [de] 'MMMM' [de] 'yyyy",
|
||||
"h:mm tt": "hh:mm tt",
|
||||
"h:mm:ss tt": "hh:mm:ss tt",
|
||||
"dddd, MMMM dd, yyyy h:mm:ss tt": "dddd, dd' [de] 'MMMM' [de] 'yyyy hh:mm:ss tt",
|
||||
"yyyy-MM-ddTHH:mm:ss": "yyyy-MM-ddTHH:mm:ss",
|
||||
"yyyy-MM-dd HH:mm:ssZ": "yyyy-MM-dd HH:mm:ssZ",
|
||||
"ddd, dd MMM yyyy HH:mm:ss": "ddd, dd MMM yyyy HH:mm:ss",
|
||||
"MMMM dd": "dd MMMM",
|
||||
"MMMM, yyyy": "MMMM' [de] 'yyyy",
|
||||
"/jan(uary)?/": "ene(ro)?",
|
||||
"/feb(ruary)?/": "feb(rero)?",
|
||||
"/mar(ch)?/": "mar(zo)?",
|
||||
"/apr(il)?/": "abr(il)?",
|
||||
"/may/": "may(o)?",
|
||||
"/jun(e)?/": "jun(io)?",
|
||||
"/jul(y)?/": "jul(io)?",
|
||||
"/aug(ust)?/": "ago(sto)?",
|
||||
"/sep(t(ember)?)?/": "sep(tiembre)?",
|
||||
"/oct(ober)?/": "oct(ubre)?",
|
||||
"/nov(ember)?/": "nov(iembre)?",
|
||||
"/dec(ember)?/": "dic(iembre)?",
|
||||
"/^su(n(day)?)?/": "^do(m(ingo)?)?",
|
||||
"/^mo(n(day)?)?/": "^lu(n(es)?)?",
|
||||
"/^tu(e(s(day)?)?)?/": "^ma(r(tes)?)?",
|
||||
"/^we(d(nesday)?)?/": "^mi(é(rcoles)?)?",
|
||||
"/^th(u(r(s(day)?)?)?)?/": "^ju(e(ves)?)?",
|
||||
"/^fr(i(day)?)?/": "^vi(e(rnes)?)?",
|
||||
"/^sa(t(urday)?)?/": "^sá(b(ado)?)?",
|
||||
"/^next/": "^next",
|
||||
"/^last|past|prev(ious)?/": "^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/": "^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/": "^(\\-|bef(ore)?|ago)",
|
||||
"/^yes(terday)?/": "^yes(terday)?",
|
||||
"/^t(od(ay)?)?/": "^t(od(ay)?)?",
|
||||
"/^tom(orrow)?/": "^tom(orrow)?",
|
||||
"/^n(ow)?/": "^n(ow)?",
|
||||
"/^ms|milli(second)?s?/": "^ms|milli(second)?s?",
|
||||
"/^sec(ond)?s?/": "^sec(ond)?s?",
|
||||
"/^mn|min(ute)?s?/": "^mn|min(ute)?s?",
|
||||
"/^h(our)?s?/": "^h(our)?s?",
|
||||
"/^w(eek)?s?/": "^w(eek)?s?",
|
||||
"/^m(onth)?s?/": "^m(onth)?s?",
|
||||
"/^d(ay)?s?/": "^d(ay)?s?",
|
||||
"/^y(ear)?s?/": "^y(ear)?s?",
|
||||
"/^(a|p)/": "^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/": "^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/": "^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)",
|
||||
"/^\\s*(st|nd|rd|th)/": "^\\s*(st|nd|rd|th)",
|
||||
"/^\\s*(\\:|a(?!u|p)|p)/": "^\\s*(\\:|a(?!u|p)|p)",
|
||||
"LINT": "LINT",
|
||||
"TOT": "TOT",
|
||||
"CHAST": "CHAST",
|
||||
"NZST": "NZST",
|
||||
"NFT": "NFT",
|
||||
"SBT": "SBT",
|
||||
"AEST": "AEST",
|
||||
"ACST": "ACST",
|
||||
"JST": "JST",
|
||||
"CWST": "CWST",
|
||||
"CT": "CT",
|
||||
"ICT": "ICT",
|
||||
"MMT": "MMT",
|
||||
"BIOT": "BST",
|
||||
"NPT": "NPT",
|
||||
"IST": "IST",
|
||||
"PKT": "PKT",
|
||||
"AFT": "AFT",
|
||||
"MSK": "MSK",
|
||||
"IRST": "IRST",
|
||||
"FET": "FET",
|
||||
"EET": "EET",
|
||||
"CET": "CET",
|
||||
"UTC": "UTC",
|
||||
"GMT": "GMT",
|
||||
"CVT": "CVT",
|
||||
"GST": "GST",
|
||||
"BRT": "BRT",
|
||||
"NST": "NST",
|
||||
"AST": "AST",
|
||||
"EST": "EST",
|
||||
"CST": "CST",
|
||||
"MST": "MST",
|
||||
"PST": "PST",
|
||||
"AKST": "AKST",
|
||||
"MIT": "MIT",
|
||||
"HST": "HST",
|
||||
"SST": "SST",
|
||||
"BIT": "BIT",
|
||||
"CHADT": "CHADT",
|
||||
"NZDT": "NZDT",
|
||||
"AEDT": "AEDT",
|
||||
"ACDT": "ACDT",
|
||||
"AZST": "AZST",
|
||||
"IRDT": "IRDT",
|
||||
"EEST": "EEST",
|
||||
"CEST": "CEST",
|
||||
"BST": "BST",
|
||||
"PMDT": "PMDT",
|
||||
"ADT": "ADT",
|
||||
"NDT": "NDT",
|
||||
"EDT": "EDT",
|
||||
"CDT": "CDT",
|
||||
"MDT": "MDT",
|
||||
"PDT": "PDT",
|
||||
"AKDT": "AKDT",
|
||||
"HADT": "HADT"
|
||||
};
|
||||
Date.CultureStrings.lang = "es-BO";
|
||||
|
|
@ -0,0 +1,490 @@
|
|||

|
||||
|
||||
> English description | <a href="readme.ru.md">Описание на русском</a>
|
||||
|
||||
Ion.RangeSlider. Is an easy, flexible and responsive range slider with tons of options.
|
||||
|
||||
***
|
||||
|
||||
* Version: 2.1.4
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/en.html">Project page and demos</a>
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/ion.rangeSlider-2.1.4.zip">Download ZIP</a>
|
||||
|
||||
## Description
|
||||
* Ion.RangeSlider — cool, comfortable, responsive and easily customizable range slider
|
||||
* Supports events and public methods, has flexible settings, can be completely altered with CSS
|
||||
* Cross-browser: Google Chrome, Mozilla Firefox 3.6+, Opera 12+, Safari 5+, Internet Explorer 8+
|
||||
* Ion.RangeSlider supports touch-devices (iPhone, iPad, Nexus, etc.).
|
||||
* Ion.RangeSlider freely distributed under terms of <a href="http://ionden.com/a/plugins/licence.html" target="_blank">MIT licence</a>.
|
||||
* With this plugin you will be able to build beautiful range sliders, like this:
|
||||
|
||||

|
||||
|
||||
## Key features
|
||||
* Skin support. (5 skins included and PSD for skin creation)
|
||||
* Any number of sliders at one page without conflicts and big performance problems
|
||||
* Two slider types single (1 slider) and double (2 sliders)
|
||||
* Support of negative and fractional values
|
||||
* Ability to set custom step and snap grid to step
|
||||
* Support of custom values diapason
|
||||
* Customisable grid of values
|
||||
* Ability to disable UI elements (min and max, current value, grid)
|
||||
* Postfixes and prefixes for your numbers ($20, 20 € etc.)
|
||||
* Additional postfix for maximum value (eg. $0 — $100<b>+</b>)
|
||||
* Ability to prettify large numbers (eg. 10000000 -> 10 000 000 or 10.000.000)
|
||||
* Slider writes its value right into input value field. This makes it easy to use in any html form
|
||||
* Any slider value can be set through input data-attribute (eg. data-min="10")
|
||||
* Slider supports disable param. You can set it true to make slider inactive
|
||||
* Slider supports external methods (update, reset and remove) to control it after creation
|
||||
* For advanced users slider has callbacks (onStart, onChange, onFinish, onUpdate). Slider pastes all its params to callback first argument as object
|
||||
* Slider supports date and time
|
||||
|
||||
|
||||
## Demos
|
||||
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/demo.html" class="switch__item">Basic demo</a>
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/demo_advanced.html" class="switch__item">Advanced demo</a>
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/demo_interactions.html" class="switch__item">Interactions demo</a>
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
* <a href="http://jquery.com/" target="_blank">jQuery 1.8.x+</a>
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
Add the following libraries to the page:
|
||||
* jQuery
|
||||
* ion.rangeSlider.min.js
|
||||
|
||||
Add the following stylesheets to the page:
|
||||
* <a href="http://necolas.github.io/normalize.css/" target="_blank">normalize.css</a> (optional)
|
||||
* ion.rangeSlider.css
|
||||
|
||||
Plus, a skin for the slider. 5 skins are included. Choose one:
|
||||
* ion.rangeSlider.skinFlat.css + sprite-skin-flat.png
|
||||
* ion.rangeSlider.skinHTML5.css + no images
|
||||
* ion.rangeSlider.skinModern.css + sprite-skin-modern.png
|
||||
* ion.rangeSlider.skinNice.css + sprite-skin-nice.png
|
||||
* ion.rangeSlider.skinSimple.css + sprite-skin-simple.png
|
||||
|
||||
Or use the included PSD file and design a custom skin.
|
||||
|
||||
|
||||
## Install with bower
|
||||
|
||||
* bower install ionrangeslider
|
||||
|
||||
|
||||
## Install with npm
|
||||
|
||||
* npm install ion-rangeslider
|
||||
|
||||
|
||||
## Initialisation
|
||||
|
||||
The slider overrides a native text <code>input</code> element.
|
||||
```html
|
||||
<input type="text" id="example_id" name="example_name" value="" />
|
||||
```
|
||||
|
||||
To initialise the slider, call ionRangeSlider on the element:
|
||||
```javascript
|
||||
$("#example_id").ionRangeSlider();
|
||||
```
|
||||
|
||||
|
||||
## Demo for juniors
|
||||
|
||||
If your are new in web development and you are not sure how to correctly install the plugin to your web-page, please download
|
||||
<a href="http://ionden.com/a/plugins/ion.rangeSlider/ionRangeSliderDemo.zip" class="button">this demo example</a>
|
||||
|
||||
|
||||
## Migrating from 1.x to 2.x
|
||||
* All params (except functions) are lowercase now: <b>param_name</b>, not paramName
|
||||
* Same param names was changed: hasGrid → <b>grid</b>, onLoad → <b>onStart</b>
|
||||
* Callbacks data object format was changed. Example: fromNumber → <b>from</b>
|
||||
* Slider now writes it's result to value attribute and also to data-from and data-to attributes
|
||||
|
||||
|
||||
## <a href="http://jsfiddle.net/IonDen/qv6yrjrv/" target="_blank">Experiments playground</a>
|
||||
|
||||
|
||||
## Settings
|
||||
|
||||
<table class="options">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Defaults</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="options__step">
|
||||
<td>type<div><sup>data-type</sup></div></td>
|
||||
<td>"single"</td>
|
||||
<td>string</td>
|
||||
<td>Choose slider type, could be <code>single</code> - for one handle, or <code>double</code> for two handles</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>min<div><sup>data-min</sup></div></td>
|
||||
<td>10</td>
|
||||
<td>number</td>
|
||||
<td>Set slider minimum value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max<div><sup>data-max</sup></div></td>
|
||||
<td>100</td>
|
||||
<td>number</td>
|
||||
<td>Set slider maximum value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>from<div><sup>data-from</sup></div></td>
|
||||
<td>min</td>
|
||||
<td>number</td>
|
||||
<td>Set start position for left handle (or for single handle)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>to<div><sup>data-to</sup></div></td>
|
||||
<td>max</td>
|
||||
<td>number</td>
|
||||
<td>Set start position for right handle</td>
|
||||
</tr>
|
||||
<tr class="options__step">
|
||||
<td>step<div><sup>data-step</sup></div></td>
|
||||
<td>1</td>
|
||||
<td>number</td>
|
||||
<td>Set sliders step. Always > 0. Could be fractional.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>min_interval<div><sup>data-min-interval</sup></div></td>
|
||||
<td>—</td>
|
||||
<td>number</td>
|
||||
<td>Set minimum diapason between sliders. Only in "double" type</td>
|
||||
</tr>
|
||||
<tr class="options__step">
|
||||
<td>max_interval<div><sup>data-max-interval</sup></div></td>
|
||||
<td>—</td>
|
||||
<td>number</td>
|
||||
<td>Set maximum diapason between sliders. Only in "double" type</td>
|
||||
</tr>
|
||||
<tr class="options__step">
|
||||
<td>drag_interval<div><sup>data-drag-interval</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Allow user to drag whole range. Only in "double" type (beta)</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__step">
|
||||
<td>values<div><sup>data-values</sup></div></td>
|
||||
<td>[]</td>
|
||||
<td>array</td>
|
||||
<td>Set up your own array of possible slider values. They could be numbers or strings. If the values array is set up, min, max and step param, are no longer can be changed.</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__new">
|
||||
<td>from_fixed<div><sup>data-from-fixed</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Fix position of left (or single) handle.</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>from_min<div><sup>data-from-min</sup></div></td>
|
||||
<td>min</td>
|
||||
<td>number</td>
|
||||
<td>Set minimum limit for left handle.</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>from_max<div><sup>data-from-max</sup></div></td>
|
||||
<td>max</td>
|
||||
<td>number</td>
|
||||
<td>Set the maximum limit for left handle</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>from_shadow<div><sup>data-from-shadow</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Highlight the limits for left handle</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__new">
|
||||
<td>to_fixed<div><sup>data-to-fixed</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Fix position of right handle.</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>to_min<div><sup>data-to-min</sup></div></td>
|
||||
<td>min</td>
|
||||
<td>number</td>
|
||||
<td>Set the minimum limit for right handle</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>to_max<div><sup>data-to-max</sup></div></td>
|
||||
<td>max</td>
|
||||
<td>number</td>
|
||||
<td>Set the maximum limit for right handle</td>
|
||||
</tr>
|
||||
<tr class="options__new options__step">
|
||||
<td>to_shadow<div><sup>data-to-shadow</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Highlight the limits for right handle</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>prettify_enabled<div><sup>data-prettify-enabled</sup></div></td>
|
||||
<td>true</td>
|
||||
<td>boolean</td>
|
||||
<td>Improve readability of long numbers. 10000000 → 10 000 000</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>prettify_separator<div><sup>data-prettify-separator</sup></div></td>
|
||||
<td>" "</td>
|
||||
<td>string</td>
|
||||
<td>Set up your own separator for long numbers. 10 000, 10.000, 10-000, etc.</td>
|
||||
</tr>
|
||||
<tr class="options__new options__step">
|
||||
<td>prettify<div><sup>—</sup></div></td>
|
||||
<td>null</td>
|
||||
<td>function</td>
|
||||
<td>Set up your own prettify function. Can be anything. For example, you can set up unix time as slider values and than transform them to cool looking dates.</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__new options__step">
|
||||
<td>force_edges<div><sup>data-force-edges</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Slider will be always inside it's container.</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__new">
|
||||
<td>keyboard<div><sup>data-keyboard</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Activates keyboard controls. Move left: ←, ↓, A, S. Move right: →, ↑, W, D.</td>
|
||||
</tr>
|
||||
<tr class="options__new options__step">
|
||||
<td>keyboard_step<div><sup>data-keyboard-step</sup></div></td>
|
||||
<td>5</td>
|
||||
<td>number</td>
|
||||
<td>Movement step, than controling from keyboard. In percents.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>grid<div><sup>data-grid</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Enables grid of values.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>grid_margin<div><sup>data-grid-margin</sup></div></td>
|
||||
<td>true</td>
|
||||
<td>boolean</td>
|
||||
<td>Set left and right grid borders.</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>grid_num<div><sup>data-grid-num</sup></div></td>
|
||||
<td>4</td>
|
||||
<td>number</td>
|
||||
<td>Number of grid units.</td>
|
||||
</tr>
|
||||
<tr class="options__new options__step">
|
||||
<td>grid_snap<div><sup>data-grid-snap</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Snap grid to sliders step (step param). If activated, grid_num will not be used.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>hide_min_max<div><sup>data-hide-min-max</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Hides min and max labels</td>
|
||||
</tr>
|
||||
<tr class="options__step">
|
||||
<td>hide_from_to<div><sup>data-hide-from-to</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Hide from and to lables</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>prefix<div><sup>data-prefix</sup></div></td>
|
||||
<td>—</td>
|
||||
<td>string</td>
|
||||
<td>Set prefix for values. Will be set up right before the number: $100</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>postfix<div><sup>data-postfix</sup></div></td>
|
||||
<td>—</td>
|
||||
<td>string</td>
|
||||
<td>Set postfix for values. Will be set up right after the number: 100k</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>max_postfix<div><sup>data-max-postfix</sup></div></td>
|
||||
<td>—</td>
|
||||
<td>string</td>
|
||||
<td>Special postfix, used only for maximum value. Will be showed after handle will reach maximum right position. For example 0 — 100+</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>decorate_both<div><sup>data-decorate-both</sup></div></td>
|
||||
<td>true</td>
|
||||
<td>boolean</td>
|
||||
<td>Used for "double" type and only if prefix or postfix was set up. Determine how to decorate close values. For example: $10k — $100k or $10 — 100k</td>
|
||||
</tr>
|
||||
<tr class="options__new options__step">
|
||||
<td>values_separator<div><sup>data-values-separator</sup></div></td>
|
||||
<td>" — "</td>
|
||||
<td>string</td>
|
||||
<td>Set your own separator for close values. Used for "double" type. Default: 10 — 100. Or you may set: 10 to 100, 10 + 100, 10 → 100 etc.</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__step">
|
||||
<td>input_values_separator<div><sup>data-input-values-separator</sup></div></td>
|
||||
<td>" ; "</td>
|
||||
<td>string</td>
|
||||
<td>Separator for double values in input value property.</td>
|
||||
</tr>
|
||||
|
||||
<tr class="options__step">
|
||||
<td>disable<div><sup>data-disable</sup></div></td>
|
||||
<td>false</td>
|
||||
<td>boolean</td>
|
||||
<td>Locks slider and makes it inactive.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>onStart<div><sup>—</sup></div></td>
|
||||
<td>null</td>
|
||||
<td>function</td>
|
||||
<td>Callback. Is called on slider start.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>onChange<div><sup>—</sup></div></td>
|
||||
<td>null</td>
|
||||
<td>function</td>
|
||||
<td>Callback. IS called on each values change.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>onFinish<div><sup>—</sup></div></td>
|
||||
<td>null</td>
|
||||
<td>function</td>
|
||||
<td>Callback. Is called than user releases handle.</td>
|
||||
</tr>
|
||||
<tr class="options__new">
|
||||
<td>onUpdate<div><sup>—</sup></div></td>
|
||||
<td>null</td>
|
||||
<td>function</td>
|
||||
<td>Callback. Is called than slider is modified by external methods <code>update</code> or <code>reset</code>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
## Description of data passed to callbacks (onChange and etc.)
|
||||
Result is object type and passed to callback as first argument:
|
||||
```javascript
|
||||
Obj: {
|
||||
"input": object, // jQuery-link to input
|
||||
"slider": object, // jQuery-link to sliders container
|
||||
"min": 0, // MIN value
|
||||
"max": 1000, // MAX values
|
||||
"from": 100, // FROM value (left or single handle)
|
||||
"from_percent": 10, // FROM value in percents
|
||||
"from_value": 0, // FROM index in values array (if used)
|
||||
"to": 900, // TO value (right handle in double type)
|
||||
"to_percent": 90, // TO value in percents
|
||||
"to_value": 0 // TO index in values array (if used)
|
||||
}
|
||||
```
|
||||
|
||||
## Creating slider (all params)
|
||||
An example of a customised slider:
|
||||
```javascript
|
||||
$("#example").ionRangeSlider({
|
||||
min: 0,
|
||||
max: 10000,
|
||||
from: 1000,
|
||||
to: 9000,
|
||||
type: 'double',
|
||||
prefix: "$",
|
||||
grid: true,
|
||||
grid_num: 10
|
||||
});
|
||||
```
|
||||
|
||||
You can also initialise slider with <code>data-*</code> attributes of input tag:
|
||||
```html
|
||||
data-min="0"
|
||||
data-max="10000"
|
||||
data-from="1000"
|
||||
data-to="9000"
|
||||
data-type="double"
|
||||
data-prefix="$"
|
||||
data-grid="true"
|
||||
data-grid-num="10"
|
||||
```
|
||||
|
||||
## Public methods
|
||||
|
||||
To use public methods, at first you must save slider instance to variable:
|
||||
```javascript
|
||||
// Launch plugin
|
||||
$("#range").ionRangeSlider({
|
||||
type: "double",
|
||||
min: 0,
|
||||
max: 1000,
|
||||
from: 200,
|
||||
to: 500,
|
||||
grid: true
|
||||
});
|
||||
|
||||
// Saving it's instance to var
|
||||
var slider = $("#range").data("ionRangeSlider");
|
||||
|
||||
// Fire public method
|
||||
slider.reset();
|
||||
```
|
||||
|
||||
There are 3 public methods:
|
||||
```javascript
|
||||
// UPDATE - updates slider to any new values
|
||||
slider.update({
|
||||
from: 300,
|
||||
to: 400
|
||||
});
|
||||
|
||||
// RESET - reset slider to it's first values
|
||||
slider.reset();
|
||||
|
||||
// DESTROY - destroys slider and restores original input field
|
||||
slider.destroy();
|
||||
```
|
||||
|
||||
|
||||
## One more look on demos
|
||||
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/demo.html" class="switch__item">Basic demo</a>
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/demo_advanced.html" class="switch__item">Advanced demo</a>
|
||||
* <a href="http://ionden.com/a/plugins/ion.rangeSlider/demo_interactions.html" class="switch__item">Interactions demo</a>
|
||||
|
||||
All plugins options are covered in demos.
|
||||
|
||||
|
||||
### <a href="history.md">Update history</a>
|
||||
|
||||
***
|
||||
|
||||
#### Support Ion-series plugins development:
|
||||
|
||||
* Donate through Pledgie service: [](https://pledgie.com/campaigns/25694)
|
||||
|
||||
* Donate direct to my Paypal account: https://www.paypal.me/IonDen
|
||||
|
||||
* Donate direct to my Yandex.Money account: http://yasobe.ru/na/razrabotku
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package kr.co.i4way.common.util;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
||||
public class CommonUtils {
|
||||
private static final Logger log = Logger.getLogger(CommonUtils.class);
|
||||
|
||||
public static String getRandomString(){
|
||||
return UUID.randomUUID().toString().replaceAll("-", "");
|
||||
}
|
||||
|
||||
public static void printMap(Map<String,Object> map){
|
||||
Iterator<Entry<String,Object>> iterator = map.entrySet().iterator();
|
||||
Entry<String,Object> entry = null;
|
||||
log.debug("--------------------printMap--------------------\n");
|
||||
while(iterator.hasNext()){
|
||||
entry = iterator.next();
|
||||
log.debug("key : "+entry.getKey()+",\tvalue : "+entry.getValue());
|
||||
}
|
||||
log.debug("");
|
||||
log.debug("------------------------------------------------\n");
|
||||
}
|
||||
|
||||
public static void printList(List<Map<String,Object>> list){
|
||||
Iterator<Entry<String,Object>> iterator = null;
|
||||
Entry<String,Object> entry = null;
|
||||
log.debug("--------------------printList--------------------\n");
|
||||
int listSize = list.size();
|
||||
for(int i=0; i<listSize; i++){
|
||||
log.debug("list index : "+i);
|
||||
iterator = list.get(i).entrySet().iterator();
|
||||
while(iterator.hasNext()){
|
||||
entry = iterator.next();
|
||||
log.debug("key : "+entry.getKey()+",\tvalue : "+entry.getValue());
|
||||
}
|
||||
log.debug("\n");
|
||||
}
|
||||
log.debug("------------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"extends" : "../js/.jshintrc",
|
||||
"asi" : false,
|
||||
"browser" : false,
|
||||
"es3" : false,
|
||||
"node" : true
|
||||
}
|
||||
|
|
@ -0,0 +1,181 @@
|
|||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
|
||||
cursor: default !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
|
||||
display: none !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child {
|
||||
position: relative;
|
||||
padding-left: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
|
||||
top: 9px;
|
||||
left: 4px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 2px solid white;
|
||||
border-radius: 14px;
|
||||
box-shadow: 0 0 3px #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
line-height: 14px;
|
||||
content: '+';
|
||||
background-color: #337ab7;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
|
||||
content: '-';
|
||||
background-color: #d33333;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.child td:before {
|
||||
display: none;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child {
|
||||
padding-left: 27px;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td:first-child:before,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th:first-child:before {
|
||||
top: 5px;
|
||||
left: 4px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
border-radius: 14px;
|
||||
line-height: 14px;
|
||||
text-indent: 3px;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
margin-top: -10px;
|
||||
margin-left: -10px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 2px solid white;
|
||||
border-radius: 14px;
|
||||
box-shadow: 0 0 3px #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
line-height: 14px;
|
||||
content: '+';
|
||||
background-color: #337ab7;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||
content: '-';
|
||||
background-color: #d33333;
|
||||
}
|
||||
table.dataTable > tbody > tr.child {
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
table.dataTable > tbody > tr.child:hover {
|
||||
background: transparent !important;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul {
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul li {
|
||||
border-bottom: 1px solid #efefef;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul li:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
table.dataTable > tbody > tr.child span.dtr-title {
|
||||
display: inline-block;
|
||||
min-width: 75px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.dtr-modal {
|
||||
position: fixed;
|
||||
box-sizing: border-box;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 10em 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
overflow: auto;
|
||||
margin: auto;
|
||||
z-index: 102;
|
||||
overflow: auto;
|
||||
background-color: #f5f5f7;
|
||||
border: 1px solid black;
|
||||
border-radius: 0.5em;
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-content {
|
||||
position: relative;
|
||||
padding: 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border: 1px solid #eaeaea;
|
||||
background-color: #f9f9f9;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
z-index: 12;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close:hover {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 101;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
width: 95%;
|
||||
}
|
||||
}
|
||||
div.dtr-bs-modal table.table tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,89 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : siSwati (ss)
|
||||
//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
|
||||
|
||||
;(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined'
|
||||
&& typeof require === 'function' ? factory(require('../moment')) :
|
||||
typeof define === 'function' && define.amd ? define(['moment'], factory) :
|
||||
factory(global.moment)
|
||||
}(this, function (moment) { 'use strict';
|
||||
|
||||
|
||||
|
||||
var ss = moment.defineLocale('ss', {
|
||||
months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
|
||||
monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
|
||||
weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
|
||||
weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
|
||||
weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'h:mm A',
|
||||
LTS : 'h:mm:ss A',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY h:mm A',
|
||||
LLLL : 'dddd, D MMMM YYYY h:mm A'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Namuhla nga] LT',
|
||||
nextDay : '[Kusasa nga] LT',
|
||||
nextWeek : 'dddd [nga] LT',
|
||||
lastDay : '[Itolo nga] LT',
|
||||
lastWeek : 'dddd [leliphelile] [nga] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'nga %s',
|
||||
past : 'wenteka nga %s',
|
||||
s : 'emizuzwana lomcane',
|
||||
m : 'umzuzu',
|
||||
mm : '%d emizuzu',
|
||||
h : 'lihora',
|
||||
hh : '%d emahora',
|
||||
d : 'lilanga',
|
||||
dd : '%d emalanga',
|
||||
M : 'inyanga',
|
||||
MM : '%d tinyanga',
|
||||
y : 'umnyaka',
|
||||
yy : '%d iminyaka'
|
||||
},
|
||||
meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
if (hours < 11) {
|
||||
return 'ekuseni';
|
||||
} else if (hours < 15) {
|
||||
return 'emini';
|
||||
} else if (hours < 19) {
|
||||
return 'entsambama';
|
||||
} else {
|
||||
return 'ebusuku';
|
||||
}
|
||||
},
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'ekuseni') {
|
||||
return hour;
|
||||
} else if (meridiem === 'emini') {
|
||||
return hour >= 11 ? hour : hour + 12;
|
||||
} else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
|
||||
if (hour === 0) {
|
||||
return 0;
|
||||
}
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
ordinalParse: /\d{1,2}/,
|
||||
ordinal : '%d',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
return ss;
|
||||
|
||||
}));
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
define(function (require) {
|
||||
|
||||
'use strict';
|
||||
var modelUtil = require('../../util/model');
|
||||
var ComponentModel = require('../../model/Component');
|
||||
var Model = require('../../model/Model');
|
||||
var zrUtil = require('zrender/core/util');
|
||||
|
||||
var selectableMixin = require('../../component/helper/selectableMixin');
|
||||
|
||||
var geoCreator = require('./geoCreator');
|
||||
|
||||
var GeoModel = ComponentModel.extend({
|
||||
|
||||
type: 'geo',
|
||||
|
||||
/**
|
||||
* @type {module:echarts/coord/geo/Geo}
|
||||
*/
|
||||
coordinateSystem: null,
|
||||
|
||||
init: function (option) {
|
||||
ComponentModel.prototype.init.apply(this, arguments);
|
||||
|
||||
// Default label emphasis `position` and `show`
|
||||
modelUtil.defaultEmphasis(
|
||||
option.label, ['position', 'show', 'textStyle', 'distance', 'formatter']
|
||||
);
|
||||
},
|
||||
|
||||
optionUpdated: function () {
|
||||
var option = this.option;
|
||||
var self = this;
|
||||
|
||||
option.regions = geoCreator.getFilledRegions(option.regions, option.map);
|
||||
|
||||
this._optionModelMap = zrUtil.reduce(option.regions || [], function (obj, regionOpt) {
|
||||
if (regionOpt.name) {
|
||||
obj[regionOpt.name] = new Model(regionOpt, self);
|
||||
}
|
||||
return obj;
|
||||
}, {});
|
||||
|
||||
this.updateSelectedMap(option.regions);
|
||||
},
|
||||
|
||||
defaultOption: {
|
||||
|
||||
zlevel: 0,
|
||||
|
||||
z: 0,
|
||||
|
||||
show: true,
|
||||
|
||||
left: 'center',
|
||||
|
||||
top: 'center',
|
||||
|
||||
// 自适应
|
||||
// width:,
|
||||
// height:,
|
||||
// right
|
||||
// bottom
|
||||
|
||||
// Map type
|
||||
map: '',
|
||||
|
||||
// Default on center of map
|
||||
center: null,
|
||||
|
||||
zoom: 1,
|
||||
|
||||
scaleLimit: null,
|
||||
|
||||
// selectedMode: false
|
||||
|
||||
label: {
|
||||
normal: {
|
||||
show: false,
|
||||
textStyle: {
|
||||
color: '#000'
|
||||
}
|
||||
},
|
||||
emphasis: {
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: 'rgb(100,0,0)'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
itemStyle: {
|
||||
normal: {
|
||||
// color: 各异,
|
||||
borderWidth: 0.5,
|
||||
borderColor: '#444',
|
||||
color: '#eee'
|
||||
},
|
||||
emphasis: { // 也是选中样式
|
||||
color: 'rgba(255,215,0,0.8)'
|
||||
}
|
||||
},
|
||||
|
||||
regions: []
|
||||
},
|
||||
|
||||
/**
|
||||
* Get model of region
|
||||
* @param {string} name
|
||||
* @return {module:echarts/model/Model}
|
||||
*/
|
||||
getRegionModel: function (name) {
|
||||
return this._optionModelMap[name];
|
||||
},
|
||||
|
||||
/**
|
||||
* Format label
|
||||
* @param {string} name Region name
|
||||
* @param {string} [status='normal'] 'normal' or 'emphasis'
|
||||
* @return {string}
|
||||
*/
|
||||
getFormattedLabel: function (name, status) {
|
||||
var formatter = this.get('label.' + status + '.formatter');
|
||||
var params = {
|
||||
name: name
|
||||
};
|
||||
if (typeof formatter === 'function') {
|
||||
params.status = status;
|
||||
return formatter(params);
|
||||
}
|
||||
else if (typeof formatter === 'string') {
|
||||
return formatter.replace('{a}', params.seriesName);
|
||||
}
|
||||
},
|
||||
|
||||
setZoom: function (zoom) {
|
||||
this.option.zoom = zoom;
|
||||
},
|
||||
|
||||
setCenter: function (center) {
|
||||
this.option.center = center;
|
||||
}
|
||||
});
|
||||
|
||||
zrUtil.mixin(GeoModel, selectableMixin);
|
||||
|
||||
return GeoModel;
|
||||
});
|
||||
|
|
@ -0,0 +1,514 @@
|
|||
/* ========================================================================
|
||||
* Bootstrap: tooltip.js v3.3.6
|
||||
* http://getbootstrap.com/javascript/#tooltip
|
||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||
* ========================================================================
|
||||
* Copyright 2011-2015 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
|
||||
+function ($) {
|
||||
'use strict';
|
||||
|
||||
// TOOLTIP PUBLIC CLASS DEFINITION
|
||||
// ===============================
|
||||
|
||||
var Tooltip = function (element, options) {
|
||||
this.type = null
|
||||
this.options = null
|
||||
this.enabled = null
|
||||
this.timeout = null
|
||||
this.hoverState = null
|
||||
this.$element = null
|
||||
this.inState = null
|
||||
|
||||
this.init('tooltip', element, options)
|
||||
}
|
||||
|
||||
Tooltip.VERSION = '3.3.6'
|
||||
|
||||
Tooltip.TRANSITION_DURATION = 150
|
||||
|
||||
Tooltip.DEFAULTS = {
|
||||
animation: true,
|
||||
placement: 'top',
|
||||
selector: false,
|
||||
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
||||
trigger: 'hover focus',
|
||||
title: '',
|
||||
delay: 0,
|
||||
html: false,
|
||||
container: false,
|
||||
viewport: {
|
||||
selector: 'body',
|
||||
padding: 0
|
||||
}
|
||||
}
|
||||
|
||||
Tooltip.prototype.init = function (type, element, options) {
|
||||
this.enabled = true
|
||||
this.type = type
|
||||
this.$element = $(element)
|
||||
this.options = this.getOptions(options)
|
||||
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
||||
this.inState = { click: false, hover: false, focus: false }
|
||||
|
||||
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
|
||||
throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
|
||||
}
|
||||
|
||||
var triggers = this.options.trigger.split(' ')
|
||||
|
||||
for (var i = triggers.length; i--;) {
|
||||
var trigger = triggers[i]
|
||||
|
||||
if (trigger == 'click') {
|
||||
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
||||
} else if (trigger != 'manual') {
|
||||
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
|
||||
var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
|
||||
|
||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||
}
|
||||
}
|
||||
|
||||
this.options.selector ?
|
||||
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
|
||||
this.fixTitle()
|
||||
}
|
||||
|
||||
Tooltip.prototype.getDefaults = function () {
|
||||
return Tooltip.DEFAULTS
|
||||
}
|
||||
|
||||
Tooltip.prototype.getOptions = function (options) {
|
||||
options = $.extend({}, this.getDefaults(), this.$element.data(), options)
|
||||
|
||||
if (options.delay && typeof options.delay == 'number') {
|
||||
options.delay = {
|
||||
show: options.delay,
|
||||
hide: options.delay
|
||||
}
|
||||
}
|
||||
|
||||
return options
|
||||
}
|
||||
|
||||
Tooltip.prototype.getDelegateOptions = function () {
|
||||
var options = {}
|
||||
var defaults = this.getDefaults()
|
||||
|
||||
this._options && $.each(this._options, function (key, value) {
|
||||
if (defaults[key] != value) options[key] = value
|
||||
})
|
||||
|
||||
return options
|
||||
}
|
||||
|
||||
Tooltip.prototype.enter = function (obj) {
|
||||
var self = obj instanceof this.constructor ?
|
||||
obj : $(obj.currentTarget).data('bs.' + this.type)
|
||||
|
||||
if (!self) {
|
||||
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
||||
$(obj.currentTarget).data('bs.' + this.type, self)
|
||||
}
|
||||
|
||||
if (obj instanceof $.Event) {
|
||||
self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
|
||||
}
|
||||
|
||||
if (self.tip().hasClass('in') || self.hoverState == 'in') {
|
||||
self.hoverState = 'in'
|
||||
return
|
||||
}
|
||||
|
||||
clearTimeout(self.timeout)
|
||||
|
||||
self.hoverState = 'in'
|
||||
|
||||
if (!self.options.delay || !self.options.delay.show) return self.show()
|
||||
|
||||
self.timeout = setTimeout(function () {
|
||||
if (self.hoverState == 'in') self.show()
|
||||
}, self.options.delay.show)
|
||||
}
|
||||
|
||||
Tooltip.prototype.isInStateTrue = function () {
|
||||
for (var key in this.inState) {
|
||||
if (this.inState[key]) return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
Tooltip.prototype.leave = function (obj) {
|
||||
var self = obj instanceof this.constructor ?
|
||||
obj : $(obj.currentTarget).data('bs.' + this.type)
|
||||
|
||||
if (!self) {
|
||||
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
||||
$(obj.currentTarget).data('bs.' + this.type, self)
|
||||
}
|
||||
|
||||
if (obj instanceof $.Event) {
|
||||
self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
|
||||
}
|
||||
|
||||
if (self.isInStateTrue()) return
|
||||
|
||||
clearTimeout(self.timeout)
|
||||
|
||||
self.hoverState = 'out'
|
||||
|
||||
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
||||
|
||||
self.timeout = setTimeout(function () {
|
||||
if (self.hoverState == 'out') self.hide()
|
||||
}, self.options.delay.hide)
|
||||
}
|
||||
|
||||
Tooltip.prototype.show = function () {
|
||||
var e = $.Event('show.bs.' + this.type)
|
||||
|
||||
if (this.hasContent() && this.enabled) {
|
||||
this.$element.trigger(e)
|
||||
|
||||
var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
|
||||
if (e.isDefaultPrevented() || !inDom) return
|
||||
var that = this
|
||||
|
||||
var $tip = this.tip()
|
||||
|
||||
var tipId = this.getUID(this.type)
|
||||
|
||||
this.setContent()
|
||||
$tip.attr('id', tipId)
|
||||
this.$element.attr('aria-describedby', tipId)
|
||||
|
||||
if (this.options.animation) $tip.addClass('fade')
|
||||
|
||||
var placement = typeof this.options.placement == 'function' ?
|
||||
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
||||
this.options.placement
|
||||
|
||||
var autoToken = /\s?auto?\s?/i
|
||||
var autoPlace = autoToken.test(placement)
|
||||
if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
|
||||
|
||||
$tip
|
||||
.detach()
|
||||
.css({ top: 0, left: 0, display: 'block' })
|
||||
.addClass(placement)
|
||||
.data('bs.' + this.type, this)
|
||||
|
||||
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||
this.$element.trigger('inserted.bs.' + this.type)
|
||||
|
||||
var pos = this.getPosition()
|
||||
var actualWidth = $tip[0].offsetWidth
|
||||
var actualHeight = $tip[0].offsetHeight
|
||||
|
||||
if (autoPlace) {
|
||||
var orgPlacement = placement
|
||||
var viewportDim = this.getPosition(this.$viewport)
|
||||
|
||||
placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
|
||||
placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
|
||||
placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
|
||||
placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
|
||||
placement
|
||||
|
||||
$tip
|
||||
.removeClass(orgPlacement)
|
||||
.addClass(placement)
|
||||
}
|
||||
|
||||
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
||||
|
||||
this.applyPlacement(calculatedOffset, placement)
|
||||
|
||||
var complete = function () {
|
||||
var prevHoverState = that.hoverState
|
||||
that.$element.trigger('shown.bs.' + that.type)
|
||||
that.hoverState = null
|
||||
|
||||
if (prevHoverState == 'out') that.leave(that)
|
||||
}
|
||||
|
||||
$.support.transition && this.$tip.hasClass('fade') ?
|
||||
$tip
|
||||
.one('bsTransitionEnd', complete)
|
||||
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
||||
complete()
|
||||
}
|
||||
}
|
||||
|
||||
Tooltip.prototype.applyPlacement = function (offset, placement) {
|
||||
var $tip = this.tip()
|
||||
var width = $tip[0].offsetWidth
|
||||
var height = $tip[0].offsetHeight
|
||||
|
||||
// manually read margins because getBoundingClientRect includes difference
|
||||
var marginTop = parseInt($tip.css('margin-top'), 10)
|
||||
var marginLeft = parseInt($tip.css('margin-left'), 10)
|
||||
|
||||
// we must check for NaN for ie 8/9
|
||||
if (isNaN(marginTop)) marginTop = 0
|
||||
if (isNaN(marginLeft)) marginLeft = 0
|
||||
|
||||
offset.top += marginTop
|
||||
offset.left += marginLeft
|
||||
|
||||
// $.fn.offset doesn't round pixel values
|
||||
// so we use setOffset directly with our own function B-0
|
||||
$.offset.setOffset($tip[0], $.extend({
|
||||
using: function (props) {
|
||||
$tip.css({
|
||||
top: Math.round(props.top),
|
||||
left: Math.round(props.left)
|
||||
})
|
||||
}
|
||||
}, offset), 0)
|
||||
|
||||
$tip.addClass('in')
|
||||
|
||||
// check to see if placing tip in new offset caused the tip to resize itself
|
||||
var actualWidth = $tip[0].offsetWidth
|
||||
var actualHeight = $tip[0].offsetHeight
|
||||
|
||||
if (placement == 'top' && actualHeight != height) {
|
||||
offset.top = offset.top + height - actualHeight
|
||||
}
|
||||
|
||||
var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
|
||||
|
||||
if (delta.left) offset.left += delta.left
|
||||
else offset.top += delta.top
|
||||
|
||||
var isVertical = /top|bottom/.test(placement)
|
||||
var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
|
||||
var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
|
||||
|
||||
$tip.offset(offset)
|
||||
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
|
||||
}
|
||||
|
||||
Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
|
||||
this.arrow()
|
||||
.css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
|
||||
.css(isVertical ? 'top' : 'left', '')
|
||||
}
|
||||
|
||||
Tooltip.prototype.setContent = function () {
|
||||
var $tip = this.tip()
|
||||
var title = this.getTitle()
|
||||
|
||||
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
||||
$tip.removeClass('fade in top bottom left right')
|
||||
}
|
||||
|
||||
Tooltip.prototype.hide = function (callback) {
|
||||
var that = this
|
||||
var $tip = $(this.$tip)
|
||||
var e = $.Event('hide.bs.' + this.type)
|
||||
|
||||
function complete() {
|
||||
if (that.hoverState != 'in') $tip.detach()
|
||||
that.$element
|
||||
.removeAttr('aria-describedby')
|
||||
.trigger('hidden.bs.' + that.type)
|
||||
callback && callback()
|
||||
}
|
||||
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$tip.removeClass('in')
|
||||
|
||||
$.support.transition && $tip.hasClass('fade') ?
|
||||
$tip
|
||||
.one('bsTransitionEnd', complete)
|
||||
.emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
|
||||
complete()
|
||||
|
||||
this.hoverState = null
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
Tooltip.prototype.fixTitle = function () {
|
||||
var $e = this.$element
|
||||
if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
|
||||
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
||||
}
|
||||
}
|
||||
|
||||
Tooltip.prototype.hasContent = function () {
|
||||
return this.getTitle()
|
||||
}
|
||||
|
||||
Tooltip.prototype.getPosition = function ($element) {
|
||||
$element = $element || this.$element
|
||||
|
||||
var el = $element[0]
|
||||
var isBody = el.tagName == 'BODY'
|
||||
|
||||
var elRect = el.getBoundingClientRect()
|
||||
if (elRect.width == null) {
|
||||
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
|
||||
elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
|
||||
}
|
||||
var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
|
||||
var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
|
||||
var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
|
||||
|
||||
return $.extend({}, elRect, scroll, outerDims, elOffset)
|
||||
}
|
||||
|
||||
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
||||
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
||||
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
||||
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
||||
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
|
||||
|
||||
}
|
||||
|
||||
Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
|
||||
var delta = { top: 0, left: 0 }
|
||||
if (!this.$viewport) return delta
|
||||
|
||||
var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
|
||||
var viewportDimensions = this.getPosition(this.$viewport)
|
||||
|
||||
if (/right|left/.test(placement)) {
|
||||
var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
|
||||
var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
|
||||
if (topEdgeOffset < viewportDimensions.top) { // top overflow
|
||||
delta.top = viewportDimensions.top - topEdgeOffset
|
||||
} else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
|
||||
delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
|
||||
}
|
||||
} else {
|
||||
var leftEdgeOffset = pos.left - viewportPadding
|
||||
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
||||
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
||||
delta.left = viewportDimensions.left - leftEdgeOffset
|
||||
} else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
|
||||
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
||||
}
|
||||
}
|
||||
|
||||
return delta
|
||||
}
|
||||
|
||||
Tooltip.prototype.getTitle = function () {
|
||||
var title
|
||||
var $e = this.$element
|
||||
var o = this.options
|
||||
|
||||
title = $e.attr('data-original-title')
|
||||
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
||||
|
||||
return title
|
||||
}
|
||||
|
||||
Tooltip.prototype.getUID = function (prefix) {
|
||||
do prefix += ~~(Math.random() * 1000000)
|
||||
while (document.getElementById(prefix))
|
||||
return prefix
|
||||
}
|
||||
|
||||
Tooltip.prototype.tip = function () {
|
||||
if (!this.$tip) {
|
||||
this.$tip = $(this.options.template)
|
||||
if (this.$tip.length != 1) {
|
||||
throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
|
||||
}
|
||||
}
|
||||
return this.$tip
|
||||
}
|
||||
|
||||
Tooltip.prototype.arrow = function () {
|
||||
return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
|
||||
}
|
||||
|
||||
Tooltip.prototype.enable = function () {
|
||||
this.enabled = true
|
||||
}
|
||||
|
||||
Tooltip.prototype.disable = function () {
|
||||
this.enabled = false
|
||||
}
|
||||
|
||||
Tooltip.prototype.toggleEnabled = function () {
|
||||
this.enabled = !this.enabled
|
||||
}
|
||||
|
||||
Tooltip.prototype.toggle = function (e) {
|
||||
var self = this
|
||||
if (e) {
|
||||
self = $(e.currentTarget).data('bs.' + this.type)
|
||||
if (!self) {
|
||||
self = new this.constructor(e.currentTarget, this.getDelegateOptions())
|
||||
$(e.currentTarget).data('bs.' + this.type, self)
|
||||
}
|
||||
}
|
||||
|
||||
if (e) {
|
||||
self.inState.click = !self.inState.click
|
||||
if (self.isInStateTrue()) self.enter(self)
|
||||
else self.leave(self)
|
||||
} else {
|
||||
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
||||
}
|
||||
}
|
||||
|
||||
Tooltip.prototype.destroy = function () {
|
||||
var that = this
|
||||
clearTimeout(this.timeout)
|
||||
this.hide(function () {
|
||||
that.$element.off('.' + that.type).removeData('bs.' + that.type)
|
||||
if (that.$tip) {
|
||||
that.$tip.detach()
|
||||
}
|
||||
that.$tip = null
|
||||
that.$arrow = null
|
||||
that.$viewport = null
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// TOOLTIP PLUGIN DEFINITION
|
||||
// =========================
|
||||
|
||||
function Plugin(option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data('bs.tooltip')
|
||||
var options = typeof option == 'object' && option
|
||||
|
||||
if (!data && /destroy|hide/.test(option)) return
|
||||
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
var old = $.fn.tooltip
|
||||
|
||||
$.fn.tooltip = Plugin
|
||||
$.fn.tooltip.Constructor = Tooltip
|
||||
|
||||
|
||||
// TOOLTIP NO CONFLICT
|
||||
// ===================
|
||||
|
||||
$.fn.tooltip.noConflict = function () {
|
||||
$.fn.tooltip = old
|
||||
return this
|
||||
}
|
||||
|
||||
}(jQuery);
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : hrvatski (hr)
|
||||
//! author : Bojan Marković : https://github.com/bmarkovic
|
||||
|
||||
;(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined'
|
||||
&& typeof require === 'function' ? factory(require('../moment')) :
|
||||
typeof define === 'function' && define.amd ? define(['moment'], factory) :
|
||||
factory(global.moment)
|
||||
}(this, function (moment) { 'use strict';
|
||||
|
||||
|
||||
function translate(number, withoutSuffix, key) {
|
||||
var result = number + ' ';
|
||||
switch (key) {
|
||||
case 'm':
|
||||
return withoutSuffix ? 'jedna minuta' : 'jedne minute';
|
||||
case 'mm':
|
||||
if (number === 1) {
|
||||
result += 'minuta';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'minute';
|
||||
} else {
|
||||
result += 'minuta';
|
||||
}
|
||||
return result;
|
||||
case 'h':
|
||||
return withoutSuffix ? 'jedan sat' : 'jednog sata';
|
||||
case 'hh':
|
||||
if (number === 1) {
|
||||
result += 'sat';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'sata';
|
||||
} else {
|
||||
result += 'sati';
|
||||
}
|
||||
return result;
|
||||
case 'dd':
|
||||
if (number === 1) {
|
||||
result += 'dan';
|
||||
} else {
|
||||
result += 'dana';
|
||||
}
|
||||
return result;
|
||||
case 'MM':
|
||||
if (number === 1) {
|
||||
result += 'mjesec';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'mjeseca';
|
||||
} else {
|
||||
result += 'mjeseci';
|
||||
}
|
||||
return result;
|
||||
case 'yy':
|
||||
if (number === 1) {
|
||||
result += 'godina';
|
||||
} else if (number === 2 || number === 3 || number === 4) {
|
||||
result += 'godine';
|
||||
} else {
|
||||
result += 'godina';
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
var hr = moment.defineLocale('hr', {
|
||||
months : {
|
||||
format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
|
||||
standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
|
||||
},
|
||||
monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
|
||||
monthsParseExact: true,
|
||||
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
|
||||
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
|
||||
weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
|
||||
weekdaysParseExact : true,
|
||||
longDateFormat : {
|
||||
LT : 'H:mm',
|
||||
LTS : 'H:mm:ss',
|
||||
L : 'DD. MM. YYYY',
|
||||
LL : 'D. MMMM YYYY',
|
||||
LLL : 'D. MMMM YYYY H:mm',
|
||||
LLLL : 'dddd, D. MMMM YYYY H:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[danas u] LT',
|
||||
nextDay : '[sutra u] LT',
|
||||
nextWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[u] [nedjelju] [u] LT';
|
||||
case 3:
|
||||
return '[u] [srijedu] [u] LT';
|
||||
case 6:
|
||||
return '[u] [subotu] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[u] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
lastDay : '[jučer u] LT',
|
||||
lastWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
return '[prošlu] dddd [u] LT';
|
||||
case 6:
|
||||
return '[prošle] [subote] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[prošli] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'za %s',
|
||||
past : 'prije %s',
|
||||
s : 'par sekundi',
|
||||
m : translate,
|
||||
mm : translate,
|
||||
h : translate,
|
||||
hh : translate,
|
||||
d : 'dan',
|
||||
dd : translate,
|
||||
M : 'mjesec',
|
||||
MM : translate,
|
||||
y : 'godinu',
|
||||
yy : translate
|
||||
},
|
||||
ordinalParse: /\d{1,2}\./,
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
return hr;
|
||||
|
||||
}));
|
||||
|
|
@ -0,0 +1,484 @@
|
|||
.select2-container {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
vertical-align: middle; }
|
||||
.select2-container .select2-selection--single {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 28px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||
display: block;
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-selection--single .select2-selection__clear {
|
||||
position: relative; }
|
||||
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||
padding-right: 8px;
|
||||
padding-left: 20px; }
|
||||
.select2-container .select2-selection--multiple {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
min-height: 32px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
padding-left: 8px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-search--inline {
|
||||
float: left; }
|
||||
.select2-container .select2-search--inline .select2-search__field {
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
font-size: 100%;
|
||||
margin-top: 5px;
|
||||
padding: 0; }
|
||||
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
|
||||
.select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
width: 100%;
|
||||
z-index: 1051; }
|
||||
|
||||
.select2-results {
|
||||
display: block; }
|
||||
|
||||
.select2-results__options {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
.select2-results__option {
|
||||
padding: 6px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-results__option[aria-selected] {
|
||||
cursor: pointer; }
|
||||
|
||||
.select2-container--open .select2-dropdown {
|
||||
left: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--above {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--below {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-search--dropdown {
|
||||
display: block;
|
||||
padding: 4px; }
|
||||
.select2-search--dropdown .select2-search__field {
|
||||
padding: 4px;
|
||||
width: 100%;
|
||||
box-sizing: border-box; }
|
||||
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
.select2-search--dropdown.select2-search--hide {
|
||||
display: none; }
|
||||
|
||||
.select2-close-mask {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: block;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
opacity: 0;
|
||||
z-index: 99;
|
||||
background-color: #fff;
|
||||
filter: alpha(opacity=0); }
|
||||
|
||||
.select2-hidden-accessible {
|
||||
border: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
height: 1px !important;
|
||||
margin: -1px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important; }
|
||||
|
||||
.select2-container--default .select2-selection--single {
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 28px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
height: 26px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
||||
display: none; }
|
||||
|
||||
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.select2-container--default .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: text; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||
box-sizing: border-box;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px;
|
||||
width: 100%; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
||||
list-style: none; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
||||
color: #999;
|
||||
margin-top: 5px;
|
||||
float: left; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-top: 5px;
|
||||
margin-right: 10px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #333; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
||||
float: right; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||
border: solid black 1px;
|
||||
outline: 0; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
||||
display: none; }
|
||||
|
||||
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa; }
|
||||
|
||||
.select2-container--default .select2-search--inline .select2-search__field {
|
||||
background: transparent;
|
||||
border: none;
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: textfield; }
|
||||
|
||||
.select2-container--default .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
|
||||
.select2-container--default .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
|
||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||
color: #999; }
|
||||
|
||||
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||
background-color: #ddd; }
|
||||
|
||||
.select2-container--default .select2-results__option .select2-results__option {
|
||||
padding-left: 1em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
||||
padding-left: 0; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -1em;
|
||||
padding-left: 2em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -2em;
|
||||
padding-left: 3em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -3em;
|
||||
padding-left: 4em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -4em;
|
||||
padding-left: 5em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -5em;
|
||||
padding-left: 6em; }
|
||||
|
||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #5897fb;
|
||||
color: white; }
|
||||
|
||||
.select2-container--default .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic .select2-selection--single {
|
||||
background-color: #f7f7f7;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
outline: 0;
|
||||
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 28px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-right: 10px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
||||
background-color: #ddd;
|
||||
border: none;
|
||||
border-left: 1px solid #aaa;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
height: 26px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
border: none;
|
||||
border-right: 1px solid #aaa;
|
||||
border-radius: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-selection--single {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
||||
background: transparent;
|
||||
border: none; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
|
||||
|
||||
.select2-container--classic .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: text;
|
||||
outline: 0; }
|
||||
.select2-container--classic .select2-selection--multiple:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
||||
display: none; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #888;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #555; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
float: right; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
||||
border: 1px solid #5897fb; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa;
|
||||
outline: 0; }
|
||||
|
||||
.select2-container--classic .select2-search--inline .select2-search__field {
|
||||
outline: 0;
|
||||
box-shadow: none; }
|
||||
|
||||
.select2-container--classic .select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid transparent; }
|
||||
|
||||
.select2-container--classic .select2-dropdown--above {
|
||||
border-bottom: none; }
|
||||
|
||||
.select2-container--classic .select2-dropdown--below {
|
||||
border-top: none; }
|
||||
|
||||
.select2-container--classic .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
|
||||
.select2-container--classic .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
|
||||
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
||||
color: grey; }
|
||||
|
||||
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #3875d7;
|
||||
color: white; }
|
||||
|
||||
.select2-container--classic .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-dropdown {
|
||||
border-color: #5897fb; }
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
define( [
|
||||
"../core",
|
||||
"./var/rnumnonpx",
|
||||
"./var/rmargin",
|
||||
"./var/getStyles",
|
||||
"./support",
|
||||
"../selector" // Get jQuery.contains
|
||||
], function( jQuery, rnumnonpx, rmargin, getStyles, support ) {
|
||||
|
||||
function curCSS( elem, name, computed ) {
|
||||
var width, minWidth, maxWidth, ret,
|
||||
style = elem.style;
|
||||
|
||||
computed = computed || getStyles( elem );
|
||||
ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
|
||||
|
||||
// Support: Opera 12.1x only
|
||||
// Fall back to style even without computed
|
||||
// computed is undefined for elems on document fragments
|
||||
if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {
|
||||
ret = jQuery.style( elem, name );
|
||||
}
|
||||
|
||||
// Support: IE9
|
||||
// getPropertyValue is only needed for .css('filter') (#12537)
|
||||
if ( computed ) {
|
||||
|
||||
// A tribute to the "awesome hack by Dean Edwards"
|
||||
// Android Browser returns percentage for some values,
|
||||
// but width seems to be reliably pixels.
|
||||
// This is against the CSSOM draft spec:
|
||||
// http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
||||
|
||||
// Remember the original values
|
||||
width = style.width;
|
||||
minWidth = style.minWidth;
|
||||
maxWidth = style.maxWidth;
|
||||
|
||||
// Put in the new values to get a computed value out
|
||||
style.minWidth = style.maxWidth = style.width = ret;
|
||||
ret = computed.width;
|
||||
|
||||
// Revert the changed values
|
||||
style.width = width;
|
||||
style.minWidth = minWidth;
|
||||
style.maxWidth = maxWidth;
|
||||
}
|
||||
}
|
||||
|
||||
return ret !== undefined ?
|
||||
|
||||
// Support: IE9-11+
|
||||
// IE returns zIndex value as an integer.
|
||||
ret + "" :
|
||||
ret;
|
||||
}
|
||||
|
||||
return curCSS;
|
||||
} );
|
||||
|
|
@ -0,0 +1,154 @@
|
|||
---
|
||||
layout: default
|
||||
title: Community - Select2
|
||||
slug: community
|
||||
---
|
||||
|
||||
<section class="jumbotron">
|
||||
<div class="container">
|
||||
<h1>
|
||||
Community
|
||||
</h1>
|
||||
<p class="lead">
|
||||
Select2 has an active community that enjoys helping each other out.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="container">
|
||||
<section id="support">
|
||||
<div class="page-header">
|
||||
<h1>Getting support</h1>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Having trouble getting Select2 working on your website? Is it not working
|
||||
together with another plugin, even though you think it should? Select2 has a
|
||||
few communities that you can go to for help getting it all working together.
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Try sending a message to the
|
||||
<a href="https://groups.google.com/d/forum/select2">
|
||||
Select2 discussion group
|
||||
</a>
|
||||
or searching the archives.
|
||||
</li>
|
||||
<li>
|
||||
Ask in the <code>#select2</code> channel on
|
||||
<code>chat.freenode.net</code> or use the
|
||||
<a href="https://webchat.freenode.net/?channels=select2">
|
||||
web irc client.
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
Raise a question on
|
||||
<a href="http://stackoverflow.com/">Stack Overflow</a>,
|
||||
make sure to include the
|
||||
<a href="http://stackoverflow.com/questions/tagged/jquery-select2?sort=votes">
|
||||
"jquery-select2"
|
||||
</a>
|
||||
tag.
|
||||
</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section id="reporting-bugs">
|
||||
<div class="page-header">
|
||||
<h1>Reporting bugs</h1>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Found a problem with Select2? Feel free to open a ticket on the Select2
|
||||
repository on GitHub, but you should keep a few things in mind:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Use the
|
||||
<a href="https://github.com/select2/select2/search?q=&type=Issues">
|
||||
GitHub issue search
|
||||
</a>
|
||||
to check if your issue has already been reported.
|
||||
</li>
|
||||
<li>
|
||||
Try to isolate your problem as much as possible, so we can easily test if
|
||||
the issue has been fixed.
|
||||
</li>
|
||||
<li>
|
||||
Once you are sure the issue is with Select2, and not a third party
|
||||
library,
|
||||
<a href="https://github.com/select2/select2/issues/new">
|
||||
submit a ticket
|
||||
</a>
|
||||
to the repository.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
You can find more information on reporting bugs in the
|
||||
<a href="https://github.com/select2/select2/blob/master/CONTRIBUTING.md#reporting-bugs-with-select2">
|
||||
contributing guide,
|
||||
</a>
|
||||
including tips on what information to include.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="requesting-features">
|
||||
<div class="page-header">
|
||||
<h1>Requesting new features</h1>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
New feature requests are usually requested by the
|
||||
<a href="https://github.com/select2/select2/issues">
|
||||
Select2 community on GitHub,
|
||||
</a>
|
||||
and are often fulfilled by
|
||||
<a href="#contributing">
|
||||
fellow contributors.
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Use the
|
||||
<a href="https://github.com/select2/select2/search?q=&type=Issues">
|
||||
GitHub issue search
|
||||
</a>
|
||||
to check if your feature has already been requested.
|
||||
</li>
|
||||
<li>
|
||||
Check if it hasn't already been implemented as a
|
||||
<a href="">
|
||||
third party plugin.
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
Please make sure you are only requesting a single feature, and not a
|
||||
collection of smaller features.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
You can find more information on requesting new features in the
|
||||
<a href="https://github.com/select2/select2/blob/master/CONTRIBUTING.md#requesting-features-in-select2">
|
||||
contributing guide.
|
||||
</a>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section id="contributing">
|
||||
<div class="page-header">
|
||||
<h1>Getting involved</h1>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
You can find more information on getting involved with Select2 in the
|
||||
<a href="https://github.com/select2/select2/blob/master/CONTRIBUTING.md#triaging-issues-and-pull-requests">
|
||||
contributing guide.
|
||||
</a>
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
define( function() {
|
||||
return ( /^$|\/(?:java|ecma)script/i );
|
||||
} );
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
/*
|
||||
* DateJS Culture String File
|
||||
* Country Code: bs-Latn-BA
|
||||
* Name: Bosnian (Bosnia and Herzegovina)
|
||||
* Format: "key" : "value"
|
||||
* Key is the en-US term, Value is the Key in the current language.
|
||||
*/
|
||||
Date.CultureStrings = Date.CultureStrings || {};
|
||||
Date.CultureStrings["bs-Latn-BA"] = {
|
||||
"name": "bs-Latn-BA",
|
||||
"englishName": "Bosnian (Bosnia and Herzegovina)",
|
||||
"nativeName": "bosanski (Bosna i Hercegovina)",
|
||||
"Sunday": "nedjelja",
|
||||
"Monday": "ponedjeljak",
|
||||
"Tuesday": "utorak",
|
||||
"Wednesday": "srijeda",
|
||||
"Thursday": "četvrtak",
|
||||
"Friday": "petak",
|
||||
"Saturday": "subota",
|
||||
"Sun": "ned",
|
||||
"Mon": "pon",
|
||||
"Tue": "uto",
|
||||
"Wed": "sri",
|
||||
"Thu": "čet",
|
||||
"Fri": "pet",
|
||||
"Sat": "sub",
|
||||
"Su": "ned",
|
||||
"Mo": "pon",
|
||||
"Tu": "uto",
|
||||
"We": "sri",
|
||||
"Th": "čet",
|
||||
"Fr": "pet",
|
||||
"Sa": "sub",
|
||||
"S_Sun_Initial": "n",
|
||||
"M_Mon_Initial": "p",
|
||||
"T_Tue_Initial": "u",
|
||||
"W_Wed_Initial": "s",
|
||||
"T_Thu_Initial": "č",
|
||||
"F_Fri_Initial": "p",
|
||||
"S_Sat_Initial": "s",
|
||||
"January": "januar",
|
||||
"February": "februar",
|
||||
"March": "mart",
|
||||
"April": "april",
|
||||
"May": "maj",
|
||||
"June": "jun",
|
||||
"July": "jul",
|
||||
"August": "avgust",
|
||||
"September": "septembar",
|
||||
"October": "oktobar",
|
||||
"November": "novembar",
|
||||
"December": "decembar",
|
||||
"Jan_Abbr": "jan",
|
||||
"Feb_Abbr": "feb",
|
||||
"Mar_Abbr": "mar",
|
||||
"Apr_Abbr": "apr",
|
||||
"May_Abbr": "maj",
|
||||
"Jun_Abbr": "jun",
|
||||
"Jul_Abbr": "jul",
|
||||
"Aug_Abbr": "avg",
|
||||
"Sep_Abbr": "sep",
|
||||
"Oct_Abbr": "okt",
|
||||
"Nov_Abbr": "nov",
|
||||
"Dec_Abbr": "dec",
|
||||
"AM": "",
|
||||
"PM": "",
|
||||
"firstDayOfWeek": 1,
|
||||
"twoDigitYearMax": 2029,
|
||||
"mdy": "dmy",
|
||||
"M/d/yyyy": "d.M.yyyy",
|
||||
"dddd, MMMM dd, yyyy": "d. MMMM yyyy",
|
||||
"h:mm tt": "H:mm:ss",
|
||||
"h:mm:ss tt": "H:mm:ss",
|
||||
"dddd, MMMM dd, yyyy h:mm:ss tt": "d. MMMM yyyy H:mm:ss",
|
||||
"yyyy-MM-ddTHH:mm:ss": "yyyy-MM-ddTHH:mm:ss",
|
||||
"yyyy-MM-dd HH:mm:ssZ": "yyyy-MM-dd HH:mm:ssZ",
|
||||
"ddd, dd MMM yyyy HH:mm:ss": "ddd, dd MMM yyyy HH:mm:ss",
|
||||
"MMMM dd": "MMMM dd",
|
||||
"MMMM, yyyy": "MMMM yyyy",
|
||||
"/jan(uary)?/": "jan(uar)?",
|
||||
"/feb(ruary)?/": "feb(ruar)?",
|
||||
"/mar(ch)?/": "mar(t)?",
|
||||
"/apr(il)?/": "apr(il)?",
|
||||
"/may/": "maj",
|
||||
"/jun(e)?/": "jun",
|
||||
"/jul(y)?/": "jul",
|
||||
"/aug(ust)?/": "avg(ust)?",
|
||||
"/sep(t(ember)?)?/": "sep(tembar)?",
|
||||
"/oct(ober)?/": "okt(obar)?",
|
||||
"/nov(ember)?/": "nov(embar)?",
|
||||
"/dec(ember)?/": "dec(embar)?",
|
||||
"/^su(n(day)?)?/": "^nedjelja",
|
||||
"/^mo(n(day)?)?/": "^ponedjeljak",
|
||||
"/^tu(e(s(day)?)?)?/": "^utorak",
|
||||
"/^we(d(nesday)?)?/": "^srijeda",
|
||||
"/^th(u(r(s(day)?)?)?)?/": "^četvrtak",
|
||||
"/^fr(i(day)?)?/": "^petak",
|
||||
"/^sa(t(urday)?)?/": "^subota",
|
||||
"/^next/": "^next",
|
||||
"/^last|past|prev(ious)?/": "^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/": "^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/": "^(\\-|bef(ore)?|ago)",
|
||||
"/^yes(terday)?/": "^yes(terday)?",
|
||||
"/^t(od(ay)?)?/": "^t(od(ay)?)?",
|
||||
"/^tom(orrow)?/": "^tom(orrow)?",
|
||||
"/^n(ow)?/": "^n(ow)?",
|
||||
"/^ms|milli(second)?s?/": "^ms|milli(second)?s?",
|
||||
"/^sec(ond)?s?/": "^sec(ond)?s?",
|
||||
"/^mn|min(ute)?s?/": "^mn|min(ute)?s?",
|
||||
"/^h(our)?s?/": "^h(our)?s?",
|
||||
"/^w(eek)?s?/": "^w(eek)?s?",
|
||||
"/^m(onth)?s?/": "^m(onth)?s?",
|
||||
"/^d(ay)?s?/": "^d(ay)?s?",
|
||||
"/^y(ear)?s?/": "^y(ear)?s?",
|
||||
"/^(a|p)/": "^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/": "^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/": "^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)",
|
||||
"/^\\s*(st|nd|rd|th)/": "^\\s*(st|nd|rd|th)",
|
||||
"/^\\s*(\\:|a(?!u|p)|p)/": "^\\s*(\\:|a(?!u|p)|p)",
|
||||
"LINT": "LINT",
|
||||
"TOT": "TOT",
|
||||
"CHAST": "CHAST",
|
||||
"NZST": "NZST",
|
||||
"NFT": "NFT",
|
||||
"SBT": "SBT",
|
||||
"AEST": "AEST",
|
||||
"ACST": "ACST",
|
||||
"JST": "JST",
|
||||
"CWST": "CWST",
|
||||
"CT": "CT",
|
||||
"ICT": "ICT",
|
||||
"MMT": "MMT",
|
||||
"BIOT": "BST",
|
||||
"NPT": "NPT",
|
||||
"IST": "IST",
|
||||
"PKT": "PKT",
|
||||
"AFT": "AFT",
|
||||
"MSK": "MSK",
|
||||
"IRST": "IRST",
|
||||
"FET": "FET",
|
||||
"EET": "EET",
|
||||
"CET": "CET",
|
||||
"UTC": "UTC",
|
||||
"GMT": "GMT",
|
||||
"CVT": "CVT",
|
||||
"GST": "GST",
|
||||
"BRT": "BRT",
|
||||
"NST": "NST",
|
||||
"AST": "AST",
|
||||
"EST": "EST",
|
||||
"CST": "CST",
|
||||
"MST": "MST",
|
||||
"PST": "PST",
|
||||
"AKST": "AKST",
|
||||
"MIT": "MIT",
|
||||
"HST": "HST",
|
||||
"SST": "SST",
|
||||
"BIT": "BIT",
|
||||
"CHADT": "CHADT",
|
||||
"NZDT": "NZDT",
|
||||
"AEDT": "AEDT",
|
||||
"ACDT": "ACDT",
|
||||
"AZST": "AZST",
|
||||
"IRDT": "IRDT",
|
||||
"EEST": "EEST",
|
||||
"CEST": "CEST",
|
||||
"BST": "BST",
|
||||
"PMDT": "PMDT",
|
||||
"ADT": "ADT",
|
||||
"NDT": "NDT",
|
||||
"EDT": "EDT",
|
||||
"CDT": "CDT",
|
||||
"MDT": "MDT",
|
||||
"PDT": "PDT",
|
||||
"AKDT": "AKDT",
|
||||
"HADT": "HADT"
|
||||
};
|
||||
Date.CultureStrings.lang = "bs-Latn-BA";
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script src="esl.js"></script>
|
||||
<script src="config.js"></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
html, body, #main {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<div id="main"></div>
|
||||
<script>
|
||||
|
||||
|
||||
require([
|
||||
'echarts',
|
||||
'echarts/chart/scatter',
|
||||
'echarts/component/legend',
|
||||
'echarts/component/grid',
|
||||
'echarts/component/tooltip',
|
||||
'echarts/component/toolbox',
|
||||
'echarts/component/dataZoom'
|
||||
], function (echarts) {
|
||||
|
||||
chart = echarts.init(document.getElementById('main'), null, {
|
||||
renderer: 'canvas'
|
||||
});
|
||||
|
||||
var data1 = [];
|
||||
var data2 = [];
|
||||
var data3 = [];
|
||||
|
||||
var random = function (max) {
|
||||
return (Math.random() * max).toFixed(3);
|
||||
};
|
||||
|
||||
for (var i = 0; i < 100; i++) {
|
||||
data1.push([random(15), random(10), random(1)]);
|
||||
// data1.push([i, 10, i]);
|
||||
data2.push([random(10), random(10), random(1)]);
|
||||
data3.push([random(15), random(10), random(1)]);
|
||||
}
|
||||
|
||||
// console.profile('setOption');
|
||||
|
||||
chart.setOption({
|
||||
animation: false,
|
||||
legend: {
|
||||
data: ['scatter', 'scatter2', 'scatter3']
|
||||
},
|
||||
toolbox: {
|
||||
// y: 'bottom',
|
||||
feature: {
|
||||
dataView: {},
|
||||
dataZoom: {show: true},
|
||||
restore: {show: true},
|
||||
saveAsImage: {}
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
min: 'dataMin',
|
||||
max: 'dataMax',
|
||||
splitLine: {
|
||||
show: true
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
min: 'dataMin',
|
||||
max: 'dataMax',
|
||||
splitLine: {
|
||||
show: true
|
||||
}
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
show: true,
|
||||
xAxisIndex: [0],
|
||||
start: 10,
|
||||
end: 70
|
||||
},
|
||||
{
|
||||
show: true,
|
||||
yAxisIndex: [0],
|
||||
start: 0,
|
||||
end: 20
|
||||
},
|
||||
{
|
||||
type: 'inside',
|
||||
xAxisIndex: [0],
|
||||
start: 10,
|
||||
end: 70
|
||||
},
|
||||
{
|
||||
type: 'inside',
|
||||
yAxisIndex: [0],
|
||||
start: 0,
|
||||
end: 20
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: 'scatter',
|
||||
type: 'scatter',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
opacity: 0.8,
|
||||
// shadowBlur: 10,
|
||||
// shadowOffsetX: 0,
|
||||
// shadowOffsetY: 0,
|
||||
// shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
},
|
||||
symbolSize: function (val) {
|
||||
return val[2] * 40;
|
||||
},
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: 'scatter2',
|
||||
type: 'scatter',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
opacity: 0.8
|
||||
}
|
||||
},
|
||||
symbolSize: function (val) {
|
||||
return val[2] * 40;
|
||||
},
|
||||
data: data2
|
||||
},
|
||||
{
|
||||
name: 'scatter3',
|
||||
type: 'scatter',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
opacity: 0.8,
|
||||
}
|
||||
},
|
||||
symbolSize: function (val) {
|
||||
return val[2] * 40;
|
||||
},
|
||||
data: data3
|
||||
}
|
||||
]
|
||||
});
|
||||
// console.profileEnd('setOption');
|
||||
})
|
||||
|
||||
window.onresize = function () {
|
||||
chart.resize();
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
<!-- // <script src="js/memory-stats.js"></script> -->
|
||||
<!-- // <script src="js/memory.js"></script> -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
define(function(require) {
|
||||
'use strict';
|
||||
|
||||
var history = require('../../dataZoom/history');
|
||||
|
||||
function Restore(model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
Restore.defaultOption = {
|
||||
show: true,
|
||||
icon: 'M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5',
|
||||
title: '还原'
|
||||
};
|
||||
|
||||
var proto = Restore.prototype;
|
||||
|
||||
proto.onclick = function (ecModel, api, type) {
|
||||
history.clear(ecModel);
|
||||
|
||||
api.dispatchAction({
|
||||
type: 'restore',
|
||||
from: this.uid
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
require('../featureManager').register('restore', Restore);
|
||||
|
||||
|
||||
require('../../../echarts').registerAction(
|
||||
{type: 'restore', event: 'restore', update: 'prepareAndUpdate'},
|
||||
function (payload, ecModel) {
|
||||
ecModel.resetOption('recreate');
|
||||
}
|
||||
);
|
||||
|
||||
return Restore;
|
||||
});
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
JQVMap.prototype.setScaleColors = function (colors) {
|
||||
this.colorScale.setColors(colors);
|
||||
|
||||
if (this.values) {
|
||||
this.setValues(this.values);
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
/**
|
||||
* @overview datejs
|
||||
* @version 1.0.0-rc3
|
||||
* @author Gregory Wild-Smith <gregory@wild-smith.com>
|
||||
* @copyright 2014 Gregory Wild-Smith
|
||||
* @license MIT
|
||||
* @homepage https://github.com/abritinthebay/datejs
|
||||
*/
|
||||
/*
|
||||
2014 Gregory Wild-Smith
|
||||
@license MIT
|
||||
@homepage https://github.com/abritinthebay/datejs
|
||||
2014 Gregory Wild-Smith
|
||||
@license MIT
|
||||
@homepage https://github.com/abritinthebay/datejs
|
||||
*/
|
||||
Date.CultureStrings=Date.CultureStrings||{};
|
||||
Date.CultureStrings["gl-ES"]={name:"gl-ES",englishName:"Galician (Galician)",nativeName:"galego (galego)",Sunday:"domingo",Monday:"luns",Tuesday:"martes",Wednesday:"m\u00e9rcores",Thursday:"xoves",Friday:"venres",Saturday:"s\u00e1bado",Sun:"dom",Mon:"luns",Tue:"mar",Wed:"m\u00e9r",Thu:"xov",Fri:"ven",Sat:"sab",Su:"do",Mo:"lu",Tu:"ma",We:"m\u00e9",Th:"xo",Fr:"ve",Sa:"sa",S_Sun_Initial:"d",M_Mon_Initial:"l",T_Tue_Initial:"m",W_Wed_Initial:"m",T_Thu_Initial:"x",F_Fri_Initial:"v",S_Sat_Initial:"s",January:"xaneiro",
|
||||
February:"febreiro",March:"marzo",April:"abril",May:"maio",June:"xu\u00f1o",July:"xullo",August:"agosto",September:"setembro",October:"outubro",November:"novembro",December:"decembro",Jan_Abbr:"xan",Feb_Abbr:"feb",Mar_Abbr:"mar",Apr_Abbr:"abr",May_Abbr:"maio",Jun_Abbr:"xu\u00f1",Jul_Abbr:"xull",Aug_Abbr:"ago",Sep_Abbr:"set",Oct_Abbr:"out",Nov_Abbr:"nov",Dec_Abbr:"dec",AM:"a.m.",PM:"p.m.",firstDayOfWeek:1,twoDigitYearMax:2029,mdy:"dmy","M/d/yyyy":"dd/MM/yy","dddd, MMMM dd, yyyy":"dddd, dd' de 'MMMM' de 'yyyy",
|
||||
"h:mm tt":"H:mm","h:mm:ss tt":"H:mm:ss","dddd, MMMM dd, yyyy h:mm:ss tt":"dddd, dd' de 'MMMM' de 'yyyy H:mm:ss","yyyy-MM-ddTHH:mm:ss":"yyyy-MM-ddTHH:mm:ss","yyyy-MM-dd HH:mm:ssZ":"yyyy-MM-dd HH:mm:ssZ","ddd, dd MMM yyyy HH:mm:ss":"ddd, dd MMM yyyy HH:mm:ss","MMMM dd":"dd MMMM","MMMM, yyyy":"MMMM' de 'yyyy","/jan(uary)?/":"xan(eiro)?","/feb(ruary)?/":"feb(reiro)?","/mar(ch)?/":"mar(zo)?","/apr(il)?/":"abr(il)?","/may/":"maio","/jun(e)?/":"xu\u00f1(o)?","/jul(y)?/":"xull(o)?","/aug(ust)?/":"ago(sto)?",
|
||||
"/sep(t(ember)?)?/":"set(embro)?","/oct(ober)?/":"out(ubro)?","/nov(ember)?/":"nov(embro)?","/dec(ember)?/":"dec(embro)?","/^su(n(day)?)?/":"^do(m(ingo)?)?","/^mo(n(day)?)?/":"^lu(1)?","/^tu(e(s(day)?)?)?/":"^ma(r(tes)?)?","/^we(d(nesday)?)?/":"^m\u00e9(r(cores)?)?","/^th(u(r(s(day)?)?)?)?/":"^xo(v(es)?)?","/^fr(i(day)?)?/":"^ve(n(res)?)?","/^sa(t(urday)?)?/":"^sa(b(ado)?)?","/^next/":"^next","/^last|past|prev(ious)?/":"^last|past|prev(ious)?","/^(\\+|aft(er)?|from|hence)/":"^(\\+|aft(er)?|from|hence)",
|
||||
"/^(\\-|bef(ore)?|ago)/":"^(\\-|bef(ore)?|ago)","/^yes(terday)?/":"^yes(terday)?","/^t(od(ay)?)?/":"^t(od(ay)?)?","/^tom(orrow)?/":"^tom(orrow)?","/^n(ow)?/":"^n(ow)?","/^ms|milli(second)?s?/":"^ms|milli(second)?s?","/^sec(ond)?s?/":"^sec(ond)?s?","/^mn|min(ute)?s?/":"^mn|min(ute)?s?","/^h(our)?s?/":"^h(our)?s?","/^w(eek)?s?/":"^w(eek)?s?","/^m(onth)?s?/":"^m(onth)?s?","/^d(ay)?s?/":"^d(ay)?s?","/^y(ear)?s?/":"^y(ear)?s?","/^(a|p)/":"^(a|p)","/^(a\\.?m?\\.?|p\\.?m?\\.?)/":"^(a\\.?m?\\.?|p\\.?m?\\.?)",
|
||||
"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/":"^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)","/^\\s*(st|nd|rd|th)/":"^\\s*(st|nd|rd|th)","/^\\s*(\\:|a(?!u|p)|p)/":"^\\s*(\\:|a(?!u|p)|p)",LINT:"LINT",TOT:"TOT",CHAST:"CHAST",NZST:"NZST",NFT:"NFT",SBT:"SBT",AEST:"AEST",ACST:"ACST",JST:"JST",CWST:"CWST",CT:"CT",ICT:"ICT",MMT:"MMT",BIOT:"BST",NPT:"NPT",IST:"IST",PKT:"PKT",AFT:"AFT",MSK:"MSK",IRST:"IRST",FET:"FET",EET:"EET",
|
||||
CET:"CET",UTC:"UTC",GMT:"GMT",CVT:"CVT",GST:"GST",BRT:"BRT",NST:"NST",AST:"AST",EST:"EST",CST:"CST",MST:"MST",PST:"PST",AKST:"AKST",MIT:"MIT",HST:"HST",SST:"SST",BIT:"BIT",CHADT:"CHADT",NZDT:"NZDT",AEDT:"AEDT",ACDT:"ACDT",AZST:"AZST",IRDT:"IRDT",EEST:"EEST",CEST:"CEST",BST:"BST",PMDT:"PMDT",ADT:"ADT",NDT:"NDT",EDT:"EDT",CDT:"CDT",MDT:"MDT",PDT:"PDT",AKDT:"AKDT",HADT:"HADT"};Date.CultureStrings.lang="gl-ES";
|
||||
(function(){var h=Date,f=Date.CultureStrings?Date.CultureStrings.lang:null,d={},c={getFromKey:function(a,b){var e;e=Date.CultureStrings&&Date.CultureStrings[b]&&Date.CultureStrings[b][a]?Date.CultureStrings[b][a]:c.buildFromDefault(a);"/"===a.charAt(0)&&(e=c.buildFromRegex(a,b));return e},getFromObjectValues:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[e]=c.getFromKey(a[e],b));return g},getFromObjectKeys:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[c.getFromKey(e,b)]=
|
||||
a[e]);return g},getFromArray:function(a,b){for(var e=[],g=0;g<a.length;g++)g in a&&(e[g]=c.getFromKey(a[g],b));return e},buildFromDefault:function(a){var b,e,g;switch(a){case "name":b="en-US";break;case "englishName":b="English (United States)";break;case "nativeName":b="English (United States)";break;case "twoDigitYearMax":b=2049;break;case "firstDayOfWeek":b=0;break;default:if(b=a,g=a.split("_"),e=g.length,1<e&&"/"!==a.charAt(0)&&(a=g[e-1].toLowerCase(),"initial"===a||"abbr"===a))b=g[0]}return b},
|
||||
buildFromRegex:function(a,b){return Date.CultureStrings&&Date.CultureStrings[b]&&Date.CultureStrings[b][a]?new RegExp(Date.CultureStrings[b][a],"i"):new RegExp(a.replace(RegExp("/","g"),""),"i")}},a=function(a,b){var e=b?b:f;d[a]=a;return"object"===typeof a?a instanceof Array?c.getFromArray(a,e):c.getFromObjectKeys(a,e):c.getFromKey(a,e)},b=function(a){a=Date.Config.i18n+a+".js";var b=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.src=a;var g=
|
||||
{done:function(){}};e.onload=e.onreadystatechange=function(){this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(g.done(),b.removeChild(e))};setTimeout(function(){b.insertBefore(e,b.firstChild)},0);return{done:function(a){g.done=function(){a&&setTimeout(a,0)}}}},e={buildFromMethodHash:function(a){for(var b in a)a.hasOwnProperty(b)&&(a[b]=e[a[b]]());return a},timeZoneDST:function(){return a({CHADT:"+1345",NZDT:"+1300",AEDT:"+1100",ACDT:"+1030",AZST:"+0500",IRDT:"+0430",EEST:"+0300",
|
||||
CEST:"+0200",BST:"+0100",PMDT:"-0200",ADT:"-0300",NDT:"-0230",EDT:"-0400",CDT:"-0500",MDT:"-0600",PDT:"-0700",AKDT:"-0800",HADT:"-0900"})},timeZoneStandard:function(){return a({LINT:"+1400",TOT:"+1300",CHAST:"+1245",NZST:"+1200",NFT:"+1130",SBT:"+1100",AEST:"+1000",ACST:"+0930",JST:"+0900",CWST:"+0845",CT:"+0800",ICT:"+0700",MMT:"+0630",BST:"+0600",NPT:"+0545",IST:"+0530",PKT:"+0500",AFT:"+0430",MSK:"+0400",IRST:"+0330",FET:"+0300",EET:"+0200",CET:"+0100",GMT:"+0000",UTC:"+0000",CVT:"-0100",GST:"-0200",
|
||||
BRT:"-0300",NST:"-0330",AST:"-0400",EST:"-0500",CST:"-0600",MST:"-0700",PST:"-0800",AKST:"-0900",MIT:"-0930",HST:"-1000",SST:"-1100",BIT:"-1200"})},timeZones:function(a){var b;a.timezones=[];for(b in a.abbreviatedTimeZoneStandard)a.abbreviatedTimeZoneStandard.hasOwnProperty(b)&&a.timezones.push({name:b,offset:a.abbreviatedTimeZoneStandard[b]});for(b in a.abbreviatedTimeZoneDST)a.abbreviatedTimeZoneDST.hasOwnProperty(b)&&a.timezones.push({name:b,offset:a.abbreviatedTimeZoneDST[b],dst:!0});return a.timezones},
|
||||
days:function(){return a("Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "))},dayAbbr:function(){return a("Sun Mon Tue Wed Thu Fri Sat".split(" "))},dayShortNames:function(){return a("Su Mo Tu We Th Fr Sa".split(" "))},dayFirstLetters:function(){return a("S_Sun_Initial M_Mon_Initial T_Tues_Initial W_Wed_Initial T_Thu_Initial F_Fri_Initial S_Sat_Initial".split(" "))},months:function(){return a("January February March April May June July August September October November December".split(" "))},
|
||||
monthAbbr:function(){return a("Jan_Abbr Feb_Abbr Mar_Abbr Apr_Abbr May_Abbr Jun_Abbr Jul_Abbr Aug_Abbr Sep_Abbr Oct_Abbr Nov_Abbr Dec_Abbr".split(" "))},formatPatterns:function(){return c.getFromObjectValues({shortDate:"M/d/yyyy",longDate:"dddd, MMMM dd, yyyy",shortTime:"h:mm tt",longTime:"h:mm:ss tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss",monthDay:"MMMM dd",yearMonth:"MMMM, yyyy"},
|
||||
Date.i18n.currentLanguage())},regex:function(){return c.getFromObjectValues({inTheMorning:"/( in the )(morn(ing)?)\\b/",thisMorning:"/(this )(morn(ing)?)\\b/",amThisMorning:"/(\b\\d(am)? )(this )(morn(ing)?)/",inTheEvening:"/( in the )(even(ing)?)\\b/",thisEvening:"/(this )(even(ing)?)\\b/",pmThisEvening:"/(\b\\d(pm)? )(this )(even(ing)?)/",jan:"/jan(uary)?/",feb:"/feb(ruary)?/",mar:"/mar(ch)?/",apr:"/apr(il)?/",may:"/may/",jun:"/jun(e)?/",jul:"/jul(y)?/",aug:"/aug(ust)?/",sep:"/sep(t(ember)?)?/",
|
||||
oct:"/oct(ober)?/",nov:"/nov(ember)?/",dec:"/dec(ember)?/",sun:"/^su(n(day)?)?/",mon:"/^mo(n(day)?)?/",tue:"/^tu(e(s(day)?)?)?/",wed:"/^we(d(nesday)?)?/",thu:"/^th(u(r(s(day)?)?)?)?/",fri:"/fr(i(day)?)?/",sat:"/^sa(t(urday)?)?/",future:"/^next/",past:"/^last|past|prev(ious)?/",add:"/^(\\+|aft(er)?|from|hence)/",subtract:"/^(\\-|bef(ore)?|ago)/",yesterday:"/^yes(terday)?/",today:"/^t(od(ay)?)?/",tomorrow:"/^tom(orrow)?/",now:"/^n(ow)?/",millisecond:"/^ms|milli(second)?s?/",second:"/^sec(ond)?s?/",
|
||||
minute:"/^mn|min(ute)?s?/",hour:"/^h(our)?s?/",week:"/^w(eek)?s?/",month:"/^m(onth)?s?/",day:"/^d(ay)?s?/",year:"/^y(ear)?s?/",shortMeridian:"/^(a|p)/",longMeridian:"/^(a\\.?m?\\.?|p\\.?m?\\.?)/",timezone:"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/",ordinalSuffix:"/^\\s*(st|nd|rd|th)/",timeContext:"/^\\s*(\\:|a(?!u|p)|p)/"},Date.i18n.currentLanguage())}},g=function(){var a=c.getFromObjectValues({name:"name",englishName:"englishName",nativeName:"nativeName",
|
||||
amDesignator:"AM",pmDesignator:"PM",firstDayOfWeek:"firstDayOfWeek",twoDigitYearMax:"twoDigitYearMax",dateElementOrder:"mdy"},Date.i18n.currentLanguage()),b=e.buildFromMethodHash({dayNames:"days",abbreviatedDayNames:"dayAbbr",shortestDayNames:"dayShortNames",firstLetterDayNames:"dayFirstLetters",monthNames:"months",abbreviatedMonthNames:"monthAbbr",formatPatterns:"formatPatterns",regexPatterns:"regex",abbreviatedTimeZoneDST:"timeZoneDST",abbreviatedTimeZoneStandard:"timeZoneStandard"}),g;for(g in b)b.hasOwnProperty(g)&&
|
||||
(a[g]=b[g]);e.timeZones(a);return a};h.i18n={__:function(m,b){return a(m,b)},currentLanguage:function(){return f||"en-US"},setLanguage:function(a,e,c){var d=!1;if(e||"en-US"===a||Date.CultureStrings&&Date.CultureStrings[a])f=a,Date.CultureStrings=Date.CultureStrings||{},Date.CultureStrings.lang=a,Date.CultureInfo=new g;else if(!Date.CultureStrings||!Date.CultureStrings[a])if("undefined"!==typeof exports&&this.exports!==exports)try{require("../i18n/"+a+".js"),f=a,Date.CultureStrings.lang=a,Date.CultureInfo=
|
||||
new g}catch(p){throw Error("The DateJS IETF language tag '"+a+"' could not be loaded by Node. It likely does not exist.");}else if(Date.Config&&Date.Config.i18n)d=!0,b(a).done(function(){f=a;Date.CultureStrings=Date.CultureStrings||{};Date.CultureStrings.lang=a;Date.CultureInfo=new g;h.Parsing.Normalizer.buildReplaceData();h.Grammar&&h.Grammar.buildGrammarFormats();c&&setTimeout(c,0)});else return Date.console.error("The DateJS IETF language tag '"+a+"' is not available and has not been loaded."),
|
||||
!1;h.Parsing.Normalizer.buildReplaceData();h.Grammar&&h.Grammar.buildGrammarFormats();!d&&c&&setTimeout(c,0)},getLoggedKeys:function(){return d},updateCultureInfo:function(){Date.CultureInfo=new g}};h.i18n.updateCultureInfo()})();
|
||||
(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)};h.console="undefined"!==typeof window&&"undefined"!==typeof window.console&&"undefined"!==typeof window.console.log?console:{log:function(){},error:function(){}};h.Config=h.Config||{};h.initOverloads=function(){h.now?h._now||(h._now=h.now):h._now=function(){return(new Date).getTime()};h.now=function(a){return a?h.present():h._now()};f.toISOString||(f.toISOString=function(){return this.getUTCFullYear()+"-"+d(this.getUTCMonth()+
|
||||
1)+"-"+d(this.getUTCDate())+"T"+d(this.getUTCHours())+":"+d(this.getUTCMinutes())+":"+d(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1E3).toFixed(3)).slice(2,5)+"Z"});void 0===f._toString&&(f._toString=f.toString)};h.initOverloads();h.today=function(){return(new Date).clearTime()};h.present=function(){return new Date};h.compare=function(a,b){if(isNaN(a)||isNaN(b))throw Error(a+" - "+b);if(a instanceof Date&&b instanceof Date)return a<b?-1:a>b?1:0;throw new TypeError(a+" - "+b);};h.equals=
|
||||
function(a,b){return 0===a.compareTo(b)};h.getDayName=function(a){return Date.CultureInfo.dayNames[a]};h.getDayNumberFromName=function(a){var b=Date.CultureInfo.dayNames,e=Date.CultureInfo.abbreviatedDayNames,g=Date.CultureInfo.shortestDayNames;a=a.toLowerCase();for(var m=0;m<b.length;m++)if(b[m].toLowerCase()===a||e[m].toLowerCase()===a||g[m].toLowerCase()===a)return m;return-1};h.getMonthNumberFromName=function(a){var b=Date.CultureInfo.monthNames,e=Date.CultureInfo.abbreviatedMonthNames;a=a.toLowerCase();
|
||||
for(var g=0;g<b.length;g++)if(b[g].toLowerCase()===a||e[g].toLowerCase()===a)return g;return-1};h.getMonthName=function(a){return Date.CultureInfo.monthNames[a]};h.isLeapYear=function(a){return 0===a%4&&0!==a%100||0===a%400};h.getDaysInMonth=function(a,b){!b&&h.validateMonth(a)&&(b=a,a=Date.today().getFullYear());return[31,h.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]};f.getDaysInMonth=function(){return h.getDaysInMonth(this.getFullYear(),this.getMonth())};h.getTimezoneAbbreviation=function(a,
|
||||
b){var e,g=b?Date.CultureInfo.abbreviatedTimeZoneDST:Date.CultureInfo.abbreviatedTimeZoneStandard;for(e in g)if(g.hasOwnProperty(e)&&g[e]===a)return e;return null};h.getTimezoneOffset=function(a,b){var e,g=[],m=Date.CultureInfo.timezones;a||(a=(new Date).getTimezone());for(e=0;e<m.length;e++)m[e].name===a.toUpperCase()&&g.push(e);if(!m[g[0]])return null;if(1!==g.length&&b)for(e=0;e<g.length;e++){if(m[g[e]].dst)return m[g[e]].offset}else return m[g[0]].offset};h.getQuarter=function(a){a=a||new Date;
|
||||
return[1,2,3,4][Math.floor(a.getMonth()/3)]};h.getDaysLeftInQuarter=function(a){a=a||new Date;var b=new Date(a);b.setMonth(b.getMonth()+3-b.getMonth()%3,0);return Math.floor((b-a)/864E5)};var c=function(a,b,e,g){if("undefined"===typeof a)return!1;if("number"!==typeof a)throw new TypeError(a+" is not a Number.");return a<b||a>e?!1:!0};h.validateMillisecond=function(a){return c(a,0,999,"millisecond")};h.validateSecond=function(a){return c(a,0,59,"second")};h.validateMinute=function(a){return c(a,0,
|
||||
59,"minute")};h.validateHour=function(a){return c(a,0,23,"hour")};h.validateDay=function(a,b,e){return void 0===b||null===b||void 0===e||null===e?!1:c(a,1,h.getDaysInMonth(b,e),"day")};h.validateWeek=function(a){return c(a,0,53,"week")};h.validateMonth=function(a){return c(a,0,11,"month")};h.validateYear=function(a){return c(a,-271822,275760,"year")};h.validateTimezone=function(a){return 1==={ACDT:1,ACST:1,ACT:1,ADT:1,AEDT:1,AEST:1,AFT:1,AKDT:1,AKST:1,AMST:1,AMT:1,ART:1,AST:1,AWDT:1,AWST:1,AZOST:1,
|
||||
AZT:1,BDT:1,BIOT:1,BIT:1,BOT:1,BRT:1,BST:1,BTT:1,CAT:1,CCT:1,CDT:1,CEDT:1,CEST:1,CET:1,CHADT:1,CHAST:1,CHOT:1,ChST:1,CHUT:1,CIST:1,CIT:1,CKT:1,CLST:1,CLT:1,COST:1,COT:1,CST:1,CT:1,CVT:1,CWST:1,CXT:1,DAVT:1,DDUT:1,DFT:1,EASST:1,EAST:1,EAT:1,ECT:1,EDT:1,EEDT:1,EEST:1,EET:1,EGST:1,EGT:1,EIT:1,EST:1,FET:1,FJT:1,FKST:1,FKT:1,FNT:1,GALT:1,GAMT:1,GET:1,GFT:1,GILT:1,GIT:1,GMT:1,GST:1,GYT:1,HADT:1,HAEC:1,HAST:1,HKT:1,HMT:1,HOVT:1,HST:1,ICT:1,IDT:1,IOT:1,IRDT:1,IRKT:1,IRST:1,IST:1,JST:1,KGT:1,KOST:1,KRAT:1,
|
||||
KST:1,LHST:1,LINT:1,MAGT:1,MART:1,MAWT:1,MDT:1,MET:1,MEST:1,MHT:1,MIST:1,MIT:1,MMT:1,MSK:1,MST:1,MUT:1,MVT:1,MYT:1,NCT:1,NDT:1,NFT:1,NPT:1,NST:1,NT:1,NUT:1,NZDT:1,NZST:1,OMST:1,ORAT:1,PDT:1,PET:1,PETT:1,PGT:1,PHOT:1,PHT:1,PKT:1,PMDT:1,PMST:1,PONT:1,PST:1,PYST:1,PYT:1,RET:1,ROTT:1,SAKT:1,SAMT:1,SAST:1,SBT:1,SCT:1,SGT:1,SLST:1,SRT:1,SST:1,SYOT:1,TAHT:1,THA:1,TFT:1,TJT:1,TKT:1,TLT:1,TMT:1,TOT:1,TVT:1,UCT:1,ULAT:1,UTC:1,UYST:1,UYT:1,UZT:1,VET:1,VLAT:1,VOLT:1,VOST:1,VUT:1,WAKT:1,WAST:1,WAT:1,WEDT:1,WEST:1,
|
||||
WET:1,WST:1,YAKT:1,YEKT:1,Z:1}[a]};h.validateTimezoneOffset=function(a){return-841<a&&721>a}})();
|
||||
(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)},c=function(a){var b={},e=this,g,c;c=function(b,g,c){if("day"===b){b=void 0!==a.month?a.month:e.getMonth();var d=void 0!==a.year?a.year:e.getFullYear();return h[g](c,d,b)}return h[g](c)};for(g in a)if(hasOwnProperty.call(a,g)){var d="validate"+g.charAt(0).toUpperCase()+g.slice(1);h[d]&&null!==a[g]&&c(g,d,a[g])&&(b[g]=a[g])}return b};f.clearTime=function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);
|
||||
this.setMilliseconds(0);return this};f.setTimeToNow=function(){var a=new Date;this.setHours(a.getHours());this.setMinutes(a.getMinutes());this.setSeconds(a.getSeconds());this.setMilliseconds(a.getMilliseconds());return this};f.clone=function(){return new Date(this.getTime())};f.compareTo=function(a){return Date.compare(this,a)};f.equals=function(a){return Date.equals(this,void 0!==a?a:new Date)};f.between=function(a,b){return this.getTime()>=a.getTime()&&this.getTime()<=b.getTime()};f.isAfter=function(a){return 1===
|
||||
this.compareTo(a||new Date)};f.isBefore=function(a){return-1===this.compareTo(a||new Date)};f.isToday=f.isSameDay=function(a){return this.clone().clearTime().equals((a||new Date).clone().clearTime())};f.addMilliseconds=function(a){if(!a)return this;this.setTime(this.getTime()+1*a);return this};f.addSeconds=function(a){return a?this.addMilliseconds(1E3*a):this};f.addMinutes=function(a){return a?this.addMilliseconds(6E4*a):this};f.addHours=function(a){return a?this.addMilliseconds(36E5*a):this};f.addDays=
|
||||
function(a){if(!a)return this;this.setDate(this.getDate()+1*a);return this};f.addWeekdays=function(a){if(!a)return this;var b=this.getDay(),e=Math.ceil(Math.abs(a)/7);(0===b||6===b)&&0<a&&(this.next().monday(),this.addDays(-1),b=this.getDay());if(0>a){for(;0>a;)this.addDays(-1),b=this.getDay(),0!==b&&6!==b&&a++;return this}if(5<a||6-b<=a)a+=2*e;return this.addDays(a)};f.addWeeks=function(a){return a?this.addDays(7*a):this};f.addMonths=function(a){if(!a)return this;var b=this.getDate();this.setDate(1);
|
||||
this.setMonth(this.getMonth()+1*a);this.setDate(Math.min(b,h.getDaysInMonth(this.getFullYear(),this.getMonth())));return this};f.addQuarters=function(a){return a?this.addMonths(3*a):this};f.addYears=function(a){return a?this.addMonths(12*a):this};f.add=function(a){if("number"===typeof a)return this._orient=a,this;a.day&&0!==a.day-this.getDate()&&this.setDate(a.day);a.milliseconds&&this.addMilliseconds(a.milliseconds);a.seconds&&this.addSeconds(a.seconds);a.minutes&&this.addMinutes(a.minutes);a.hours&&
|
||||
this.addHours(a.hours);a.weeks&&this.addWeeks(a.weeks);a.months&&this.addMonths(a.months);a.years&&this.addYears(a.years);a.days&&this.addDays(a.days);return this};f.getWeek=function(a){var b=new Date(this.valueOf());a?(b.addMinutes(b.getTimezoneOffset()),a=b.clone()):a=this;a=(a.getDay()+6)%7;b.setDate(b.getDate()-a+3);a=b.valueOf();b.setMonth(0,1);4!==b.getDay()&&b.setMonth(0,1+(4-b.getDay()+7)%7);return 1+Math.ceil((a-b)/6048E5)};f.getISOWeek=function(){return d(this.getWeek(!0))};f.setWeek=function(a){return 0===
|
||||
a-this.getWeek()?1!==this.getDay()?this.moveToDayOfWeek(1,1<this.getDay()?-1:1):this:this.moveToDayOfWeek(1,1<this.getDay()?-1:1).addWeeks(a-this.getWeek())};f.setQuarter=function(a){a=Math.abs(3*(a-1)+1);return this.setMonth(a,1)};f.getQuarter=function(){return Date.getQuarter(this)};f.getDaysLeftInQuarter=function(){return Date.getDaysLeftInQuarter(this)};f.moveToNthOccurrence=function(a,b){if("Weekday"===a){if(0<b)this.moveToFirstDayOfMonth(),this.is().weekday()&&--b;else if(0>b)this.moveToLastDayOfMonth(),
|
||||
this.is().weekday()&&(b+=1);else return this;return this.addWeekdays(b)}var e=0;if(0<b)e=b-1;else if(-1===b)return this.moveToLastDayOfMonth(),this.getDay()!==a&&this.moveToDayOfWeek(a,-1),this;return this.moveToFirstDayOfMonth().addDays(-1).moveToDayOfWeek(a,1).addWeeks(e)};var a=function(a,b,e){return function(g,c){var d=(g-this[a]()+e*(c||1))%e;return this[b](0===d?d+e*(c||1):d)}};f.moveToDayOfWeek=a("getDay","addDays",7);f.moveToMonth=a("getMonth","addMonths",12);f.getOrdinate=function(){var a=
|
||||
this.getDate();return b(a)};f.getOrdinalNumber=function(){return Math.ceil((this.clone().clearTime()-new Date(this.getFullYear(),0,1))/864E5)+1};f.getTimezone=function(){return h.getTimezoneAbbreviation(this.getUTCOffset(),this.isDaylightSavingTime())};f.setTimezoneOffset=function(a){var b=this.getTimezoneOffset();return(a=-6*Number(a)/10)||0===a?this.addMinutes(a-b):this};f.setTimezone=function(a){return this.setTimezoneOffset(h.getTimezoneOffset(a))};f.hasDaylightSavingTime=function(){return Date.today().set({month:0,
|
||||
day:1}).getTimezoneOffset()!==Date.today().set({month:6,day:1}).getTimezoneOffset()};f.isDaylightSavingTime=function(){return Date.today().set({month:0,day:1}).getTimezoneOffset()!==this.getTimezoneOffset()};f.getUTCOffset=function(a){a=-10*(a||this.getTimezoneOffset())/6;if(0>a)return a=(a-1E4).toString(),a.charAt(0)+a.substr(2);a=(a+1E4).toString();return"+"+a.substr(1)};f.getElapsed=function(a){return(a||new Date)-this};f.set=function(a){a=c.call(this,a);for(var b in a)if(hasOwnProperty.call(a,
|
||||
b)){var e=b.charAt(0).toUpperCase()+b.slice(1),g,d;"week"!==b&&"month"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&(e+="s");g="add"+e;d="get"+e;"month"===b?g+="s":"year"===b&&(d="getFullYear");if("day"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&"week"!==b&&"hour"!==b)this[g](a[b]-this[d]());else if("timezone"===b||"timezoneOffset"===b||"week"===b||"hour"===b)this["set"+e](a[b])}a.day&&this.addDays(a.day-this.getDate());return this};f.moveToFirstDayOfMonth=function(){return this.set({day:1})};f.moveToLastDayOfMonth=
|
||||
function(){return this.set({day:h.getDaysInMonth(this.getFullYear(),this.getMonth())})};var b=function(a){switch(1*a){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},e=function(a){var b=Date.CultureInfo.formatPatterns;switch(a){case "d":return this.toString(b.shortDate);case "D":return this.toString(b.longDate);case "F":return this.toString(b.fullDateTime);case "m":return this.toString(b.monthDay);case "r":case "R":return a=this.clone().addMinutes(this.getTimezoneOffset()),
|
||||
a.toString(b.rfc1123)+" GMT";case "s":return this.toString(b.sortableDateTime);case "t":return this.toString(b.shortTime);case "T":return this.toString(b.longTime);case "u":return a=this.clone().addMinutes(this.getTimezoneOffset()),a.toString(b.universalSortableDateTime);case "y":return this.toString(b.yearMonth);default:return!1}},g=function(a){return function(e){if("\\"===e.charAt(0))return e.replace("\\","");switch(e){case "hh":return d(13>a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-
|
||||
12);case "h":return 13>a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-12;case "HH":return d(a.getHours());case "H":return a.getHours();case "mm":return d(a.getMinutes());case "m":return a.getMinutes();case "ss":return d(a.getSeconds());case "s":return a.getSeconds();case "yyyy":return d(a.getFullYear(),4);case "yy":return d(a.getFullYear());case "y":return a.getFullYear();case "E":case "dddd":return Date.CultureInfo.dayNames[a.getDay()];case "ddd":return Date.CultureInfo.abbreviatedDayNames[a.getDay()];
|
||||
case "dd":return d(a.getDate());case "d":return a.getDate();case "MMMM":return Date.CultureInfo.monthNames[a.getMonth()];case "MMM":return Date.CultureInfo.abbreviatedMonthNames[a.getMonth()];case "MM":return d(a.getMonth()+1);case "M":return a.getMonth()+1;case "t":return 12>a.getHours()?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case "tt":return 12>a.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator;case "S":return b(a.getDate());
|
||||
case "W":return a.getWeek();case "WW":return a.getISOWeek();case "Q":return"Q"+a.getQuarter();case "q":return String(a.getQuarter());case "z":return a.getTimezone();case "Z":case "X":return Date.getTimezoneOffset(a.getTimezone());case "ZZ":return-60*a.getTimezoneOffset();case "u":return a.getDay();case "L":return h.isLeapYear(a.getFullYear())?1:0;case "B":return"@"+(a.getUTCSeconds()+60*a.getUTCMinutes()+3600*(a.getUTCHours()+1))/86.4;default:return e}}};f.toString=function(a,b){if(!b&&a&&1===a.length&&
|
||||
(output=e.call(this,a)))return output;var c=g(this);return a?a.replace(/((\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S|q|Q|WW?W?W?)(?![^\[]*\]))/g,c).replace(/\[|\]/g,""):this._toString()}})();
|
||||
(function(){var h=Date,f=h.prototype,d=Number.prototype;f._orient=1;f._nth=null;f._is=!1;f._same=!1;f._isSecond=!1;d._dateElement="days";f.next=function(){this._move=!0;this._orient=1;return this};h.next=function(){return h.today().next()};f.last=f.prev=f.previous=function(){this._move=!0;this._orient=-1;return this};h.last=h.prev=h.previous=function(){return h.today().last()};f.is=function(){this._is=!0;return this};f.same=function(){this._same=!0;this._isSecond=!1;return this};f.today=function(){return this.same().day()};
|
||||
f.weekday=function(){return this._nth?m("Weekday").call(this):this._move?this.addWeekdays(this._orient):this._is?(this._is=!1,!this.is().sat()&&!this.is().sun()):!1};f.weekend=function(){return this._is?(this._is=!1,this.is().sat()||this.is().sun()):!1};f.at=function(a){return"string"===typeof a?h.parse(this.toString("d")+" "+a):this.set(a)};d.fromNow=d.after=function(a){var b={};b[this._dateElement]=this;return(a?a.clone():new Date).add(b)};d.ago=d.before=function(a){var b={};b["s"!==this._dateElement[this._dateElement.length-
|
||||
1]?this._dateElement+"s":this._dateElement]=-1*this;return(a?a.clone():new Date).add(b)};var c="sunday monday tuesday wednesday thursday friday saturday".split(/\s/),a="january february march april may june july august september october november december".split(/\s/),b="Millisecond Second Minute Hour Day Week Month Year Quarter Weekday".split(/\s/),e="Milliseconds Seconds Minutes Hours Date Week Month FullYear Quarter".split(/\s/),g="final first second third fourth fifth".split(/\s/);f.toObject=function(){for(var a=
|
||||
{},g=0;g<b.length;g++)this["get"+e[g]]&&(a[b[g].toLowerCase()]=this["get"+e[g]]());return a};h.fromObject=function(a){a.week=null;return Date.today().set(a)};var m=function(a){return function(){if(this._is)return this._is=!1,this.getDay()===a;this._move&&(this._move=null);if(null!==this._nth){this._isSecond&&this.addSeconds(-1*this._orient);this._isSecond=!1;var b=this._nth;this._nth=null;var e=this.clone().moveToLastDayOfMonth();this.moveToNthOccurrence(a,b);if(this>e)throw new RangeError(h.getDayName(a)+
|
||||
" does not occur "+b+" times in the month of "+h.getMonthName(e.getMonth())+" "+e.getFullYear()+".");return this}return this.moveToDayOfWeek(a,this._orient)}},k=function(a,b,e){for(var g=0;g<a.length;g++)h[a[g].toUpperCase()]=h[a[g].toUpperCase().substring(0,3)]=g,h[a[g]]=h[a[g].substring(0,3)]=b(g),f[a[g]]=f[a[g].substring(0,3)]=e(g)};k(c,function(a){return function(){var b=h.today(),e=a-b.getDay();0===a&&1===Date.CultureInfo.firstDayOfWeek&&0!==b.getDay()&&(e+=7);return b.addDays(e)}},m);k(a,function(a){return function(){return h.today().set({month:a,
|
||||
day:1})}},function(a){return function(){return this._is?(this._is=!1,this.getMonth()===a):this.moveToMonth(a,this._orient)}});for(var a=function(a){return function(e){if(this._isSecond)return this._isSecond=!1,this;if(this._same){this._same=this._is=!1;var g=this.toObject();e=(e||new Date).toObject();for(var c="",d=a.toLowerCase(),d="s"===d[d.length-1]?d.substring(0,d.length-1):d,f=b.length-1;-1<f;f--){c=b[f].toLowerCase();if(g[c]!==e[c])return!1;if(d===c)break}return!0}"s"!==a.substring(a.length-
|
||||
1)&&(a+="s");this._move&&(this._move=null);return this["add"+a](this._orient)}},k=function(a){return function(){this._dateElement=a;return this}},n=0;n<b.length;n++)c=b[n].toLowerCase(),"weekday"!==c&&(f[c]=f[c+"s"]=a(b[n]),d[c]=d[c+"s"]=k(c+"s"));f._ss=a("Second");d=function(a){return function(b){if(this._same)return this._ss(b);if(b||0===b)return this.moveToNthOccurrence(b,a);this._nth=a;return 2!==a||void 0!==b&&null!==b?this:(this._isSecond=!0,this.addSeconds(this._orient))}};for(c=0;c<g.length;c++)f[g[c]]=
|
||||
0===c?d(-1):d(c)})();
|
||||
(function(){Date.Parsing={Exception:function(a){this.message="Parse error at '"+a.substring(0,10)+" ...'"}};var h=Date.Parsing,f=[0,31,59,90,120,151,181,212,243,273,304,334],d=[0,31,60,91,121,152,182,213,244,274,305,335];h.isLeapYear=function(a){return 0===a%4&&0!==a%100||0===a%400};var c={multiReplace:function(a,b){for(var e in b)if(Object.prototype.hasOwnProperty.call(b,e)){var g;"function"!==typeof b[e]&&(g=b[e]instanceof RegExp?b[e]:new RegExp(b[e],"g"));a=a.replace(g,e)}return a},getDayOfYearFromWeek:function(a){var b;
|
||||
a.weekDay=a.weekDay||0===a.weekDay?a.weekDay:1;b=new Date(a.year,0,4);b=(0===b.getDay()?7:b.getDay())+3;a.dayOfYear=7*a.week+(0===a.weekDay?7:a.weekDay)-b;return a},getDayOfYear:function(a,b){a.dayOfYear||(a=c.getDayOfYearFromWeek(a));for(var e=0;e<=b.length;e++)if(a.dayOfYear<b[e]||e===b.length){a.day=a.day?a.day:a.dayOfYear-b[e-1];break}else a.month=e;return a},adjustForTimeZone:function(a,b){var e;"Z"===a.zone.toUpperCase()||0===a.zone_hours&&0===a.zone_minutes?e=-b.getTimezoneOffset():(e=60*a.zone_hours+
|
||||
(a.zone_minutes||0),"+"===a.zone_sign&&(e*=-1),e-=b.getTimezoneOffset());b.setMinutes(b.getMinutes()+e);return b},setDefaults:function(a){a.year=a.year||Date.today().getFullYear();a.hours=a.hours||0;a.minutes=a.minutes||0;a.seconds=a.seconds||0;a.milliseconds=a.milliseconds||0;if(a.month||!a.week&&!a.dayOfYear)a.month=a.month||0,a.day=a.day||1;return a},dataNum:function(a,b,e,g){var c=1*a;return b?g?a?1*b(a):a:a?b(c):a:e?a&&"undefined"!==typeof a?c:a:a?c:a},timeDataProcess:function(a){var b={},e;
|
||||
for(e in a.data)a.data.hasOwnProperty(e)&&(b[e]=a.ignore[e]?a.data[e]:c.dataNum(a.data[e],a.mods[e],a.explict[e],a.postProcess[e]));a.data.secmins&&(a.data.secmins=60*a.data.secmins.replace(",","."),b.minutes?b.seconds||(b.seconds=a.data.secmins):b.minutes=a.data.secmins,delete a.secmins);return b},buildTimeObjectFromData:function(a){return c.timeDataProcess({data:{year:a[1],month:a[5],day:a[7],week:a[8],dayOfYear:a[10],hours:a[15],zone_hours:a[23],zone_minutes:a[24],zone:a[21],zone_sign:a[22],weekDay:a[9],
|
||||
minutes:a[16],seconds:a[19],milliseconds:a[20],secmins:a[18]},mods:{month:function(a){return a-1},weekDay:function(a){a=Math.abs(a);return 7===a?0:a},minutes:function(a){return a.replace(":","")},seconds:function(a){return Math.floor(1*a.replace(":","").replace(",","."))},milliseconds:function(a){return 1E3*a.replace(",",".")}},postProcess:{minutes:!0,seconds:!0,milliseconds:!0},explict:{zone_hours:!0,zone_minutes:!0},ignore:{zone:!0,zone_sign:!0,secmins:!0}})},addToHash:function(a,b,e){for(var g=
|
||||
b.length,c=0;c<g;c++)a[b[c]]=e[c];return a},combineRegex:function(a,b){return new RegExp("(("+a.source+")\\s("+b.source+"))")},getDateNthString:function(a,b,e){if(a)return Date.today().addDays(e).toString("d");if(b)return Date.today().last()[e]().toString("d")},buildRegexData:function(a){for(var b=[],e=a.length,g=0;g<e;g++)"[object Array]"===Object.prototype.toString.call(a[g])?b.push(this.combineRegex(a[g][0],a[g][1])):b.push(a[g]);return b}};h.processTimeObject=function(a){var b;c.setDefaults(a);
|
||||
b=h.isLeapYear(a.year)?d:f;a.month||!a.week&&!a.dayOfYear?a.dayOfYear=b[a.month]+a.day:c.getDayOfYear(a,b);b=new Date(a.year,a.month,a.day,a.hours,a.minutes,a.seconds,a.milliseconds);a.zone&&c.adjustForTimeZone(a,b);return b};h.ISO={regex:/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-4])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?\s?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,
|
||||
parse:function(a){a=a.match(this.regex);if(!a||!a.length)return null;a=c.buildTimeObjectFromData(a);return a.year&&(a.year||a.month||a.day||a.week||a.dayOfYear)?h.processTimeObject(a):null}};h.Numeric={isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},regex:/\b([0-1]?[0-9])([0-3]?[0-9])([0-2]?[0-9]?[0-9][0-9])\b/i,parse:function(a){var b,e={},g=Date.CultureInfo.dateElementOrder.split("");if(!this.isNumeric(a)||"+"===a[0]&&"-"===a[0])return null;if(5>a.length&&0>a.indexOf(".")&&0>a.indexOf("/"))return e.year=
|
||||
a,h.processTimeObject(e);a=a.match(this.regex);if(!a||!a.length)return null;for(b=0;b<g.length;b++)switch(g[b]){case "d":e.day=a[b+1];break;case "m":e.month=a[b+1]-1;break;case "y":e.year=a[b+1]}return h.processTimeObject(e)}};h.Normalizer={regexData:function(){var a=Date.CultureInfo.regexPatterns;return c.buildRegexData([a.tomorrow,a.yesterday,[a.past,a.mon],[a.past,a.tue],[a.past,a.wed],[a.past,a.thu],[a.past,a.fri],[a.past,a.sat],[a.past,a.sun]])},basicReplaceHash:function(){var a=Date.CultureInfo.regexPatterns;
|
||||
return{January:a.jan.source,February:a.feb,March:a.mar,April:a.apr,May:a.may,June:a.jun,July:a.jul,August:a.aug,September:a.sep,October:a.oct,November:a.nov,December:a.dec,"":/\bat\b/gi," ":/\s{2,}/,am:a.inTheMorning,"9am":a.thisMorning,pm:a.inTheEvening,"7pm":a.thisEvening}},keys:function(){return[c.getDateNthString(!0,!1,1),c.getDateNthString(!0,!1,-1),c.getDateNthString(!1,!0,"monday"),c.getDateNthString(!1,!0,"tuesday"),c.getDateNthString(!1,!0,"wednesday"),c.getDateNthString(!1,!0,"thursday"),
|
||||
c.getDateNthString(!1,!0,"friday"),c.getDateNthString(!1,!0,"saturday"),c.getDateNthString(!1,!0,"sunday")]},buildRegexFunctions:function(){var a=Date.CultureInfo.regexPatterns,b=Date.i18n.__,b=new RegExp("(\\b\\d\\d?("+b("AM")+"|"+b("PM")+")? )("+a.tomorrow.source.slice(1)+")","i");this.replaceFuncs=[[new RegExp(a.today.source+"(?!\\s*([+-]))\\b"),function(a){return 1<a.length?Date.today().toString("d"):a}],[b,function(a,b){return Date.today().addDays(1).toString("d")+" "+b}],[a.amThisMorning,function(a,
|
||||
b){return b}],[a.pmThisEvening,function(a,b){return b}]]},buildReplaceData:function(){this.buildRegexFunctions();this.replaceHash=c.addToHash(this.basicReplaceHash(),this.keys(),this.regexData())},stringReplaceFuncs:function(a){for(var b=0;b<this.replaceFuncs.length;b++)a=a.replace(this.replaceFuncs[b][0],this.replaceFuncs[b][1]);return a},parse:function(a){a=this.stringReplaceFuncs(a);a=c.multiReplace(a,this.replaceHash);try{var b=a.split(/([\s\-\.\,\/\x27]+)/);3===b.length&&h.Numeric.isNumeric(b[0])&&
|
||||
h.Numeric.isNumeric(b[2])&&4<=b[2].length&&"d"===Date.CultureInfo.dateElementOrder[0]&&(a="1/"+b[0]+"/"+b[2])}catch(e){}return a}};h.Normalizer.buildReplaceData()})();
|
||||
(function(){for(var h=Date.Parsing,f=h.Operators={rtoken:function(a){return function(e){var g=e.match(a);if(g)return[g[0],e.substring(g[0].length)];throw new h.Exception(e);}},token:function(){return function(a){return f.rtoken(new RegExp("^\\s*"+a+"\\s*"))(a)}},stoken:function(a){return f.rtoken(new RegExp("^"+a))},until:function(a){return function(e){for(var g=[],c=null;e.length;){try{c=a.call(this,e)}catch(d){g.push(c[0]);e=c[1];continue}break}return[g,e]}},many:function(a){return function(e){for(var g=
|
||||
[],c=null;e.length;){try{c=a.call(this,e)}catch(d){break}g.push(c[0]);e=c[1]}return[g,e]}},optional:function(a){return function(e){var g=null;try{g=a.call(this,e)}catch(c){return[null,e]}return[g[0],g[1]]}},not:function(a){return function(e){try{a.call(this,e)}catch(g){return[null,e]}throw new h.Exception(e);}},ignore:function(a){return a?function(e){var g=null,g=a.call(this,e);return[null,g[1]]}:null},product:function(){for(var a=arguments[0],e=Array.prototype.slice.call(arguments,1),g=[],c=0;c<
|
||||
a.length;c++)g.push(f.each(a[c],e));return g},cache:function(a){var e={},g=0,c=[],d=Date.Config.CACHE_MAX||1E5,f=null;return function(l){if(g===d)for(var p=0;10>p;p++){var q=c.shift();q&&(delete e[q],g--)}try{f=e[l]=e[l]||a.call(this,l)}catch(s){f=e[l]=s}g++;c.push(l);if(f instanceof h.Exception)throw f;return f}},any:function(){var a=arguments;return function(e){for(var g=null,c=0;c<a.length;c++)if(null!=a[c]){try{g=a[c].call(this,e)}catch(d){g=null}if(g)return g}throw new h.Exception(e);}},each:function(){var a=
|
||||
arguments;return function(e){for(var c=[],d=null,f=0;f<a.length;f++)if(null!=a[f]){try{d=a[f].call(this,e)}catch(n){throw new h.Exception(e);}c.push(d[0]);e=d[1]}return[c,e]}},all:function(){var a=a;return a.each(a.optional(arguments))},sequence:function(a,e,c){e=e||f.rtoken(/^\s*/);c=c||null;return 1===a.length?a[0]:function(d){for(var f=null,n=null,l=[],p=0;p<a.length;p++){try{f=a[p].call(this,d)}catch(q){break}l.push(f[0]);try{n=e.call(this,f[1])}catch(s){n=null;break}d=n[1]}if(!f)throw new h.Exception(d);
|
||||
if(n)throw new h.Exception(n[1]);if(c)try{f=c.call(this,f[1])}catch(u){throw new h.Exception(f[1]);}return[l,f?f[1]:d]}},between:function(a,e,c){c=c||a;var d=f.each(f.ignore(a),e,f.ignore(c));return function(a){a=d.call(this,a);return[[a[0][0],r[0][2]],a[1]]}},list:function(a,e,c){e=e||f.rtoken(/^\s*/);c=c||null;return a instanceof Array?f.each(f.product(a.slice(0,-1),f.ignore(e)),a.slice(-1),f.ignore(c)):f.each(f.many(f.each(a,f.ignore(e))),px,f.ignore(c))},set:function(a,e,c){e=e||f.rtoken(/^\s*/);
|
||||
c=c||null;return function(d){for(var k=null,n=k=null,l=null,p=[[],d],q=!1,s=0;s<a.length;s++){k=n=null;q=1===a.length;try{k=a[s].call(this,d)}catch(u){continue}l=[[k[0]],k[1]];if(0<k[1].length&&!q)try{n=e.call(this,k[1])}catch(v){q=!0}else q=!0;q||0!==n[1].length||(q=!0);if(!q){k=[];for(q=0;q<a.length;q++)s!==q&&k.push(a[q]);k=f.set(k,e).call(this,n[1]);0<k[0].length&&(l[0]=l[0].concat(k[0]),l[1]=k[1])}l[1].length<p[1].length&&(p=l);if(0===p[1].length)break}if(0===p[0].length)return p;if(c){try{n=
|
||||
c.call(this,p[1])}catch(w){throw new h.Exception(p[1]);}p[1]=n[1]}return p}},forward:function(a,e){return function(c){return a[e].call(this,c)}},replace:function(a,e){return function(c){c=a.call(this,c);return[e,c[1]]}},process:function(a,e){return function(c){c=a.call(this,c);return[e.call(this,c[0]),c[1]]}},min:function(a,e){return function(c){var d=e.call(this,c);if(d[0].length<a)throw new h.Exception(c);return d}}},d=function(a){return function(){var e=null,c=[],d;1<arguments.length?e=Array.prototype.slice.call(arguments):
|
||||
arguments[0]instanceof Array&&(e=arguments[0]);if(e){if(d=e.shift(),0<d.length)return e.unshift(d[void 0]),c.push(a.apply(null,e)),e.shift(),c}else return a.apply(null,arguments)}},c="optional not ignore cache".split(/\s/),a=0;a<c.length;a++)f[c[a]]=d(f[c[a]]);d=function(a){return function(){return arguments[0]instanceof Array?a.apply(null,arguments[0]):a.apply(null,arguments)}};c="each any all".split(/\s/);for(a=0;a<c.length;a++)f[c[a]]=d(f[c[a]])})();
|
||||
(function(){var h=Date,f=function(c){for(var a=[],b=0;b<c.length;b++)c[b]instanceof Array?a=a.concat(f(c[b])):c[b]&&a.push(c[b]);return a},d=function(){if(this.meridian&&(this.hour||0===this.hour)){if("a"===this.meridian&&11<this.hour&&Date.Config.strict24hr)throw"Invalid hour and meridian combination";if("p"===this.meridian&&12>this.hour&&Date.Config.strict24hr)throw"Invalid hour and meridian combination";"p"===this.meridian&&12>this.hour?this.hour+=12:"a"===this.meridian&&12===this.hour&&(this.hour=
|
||||
0)}};h.Translator={hour:function(c){return function(){this.hour=Number(c)}},minute:function(c){return function(){this.minute=Number(c)}},second:function(c){return function(){this.second=Number(c)}},secondAndMillisecond:function(c){return function(){var a=c.match(/^([0-5][0-9])\.([0-9]{1,3})/);this.second=Number(a[1]);this.millisecond=Number(a[2])}},meridian:function(c){return function(){this.meridian=c.slice(0,1).toLowerCase()}},timezone:function(c){return function(){var a=c.replace(/[^\d\+\-]/g,
|
||||
"");a.length?this.timezoneOffset=Number(a):this.timezone=c.toLowerCase()}},day:function(c){var a=c[0];return function(){this.day=Number(a.match(/\d+/)[0]);if(1>this.day)throw"invalid day";}},month:function(c){return function(){this.month=3===c.length?"jan feb mar apr may jun jul aug sep oct nov dec".indexOf(c)/4:Number(c)-1;if(0>this.month)throw"invalid month";}},year:function(c){return function(){var a=Number(c);this.year=2<c.length?a:a+(a+2E3<Date.CultureInfo.twoDigitYearMax?2E3:1900)}},rday:function(c){return function(){switch(c){case "yesterday":this.days=
|
||||
-1;break;case "tomorrow":this.days=1;break;case "today":this.days=0;break;case "now":this.days=0,this.now=!0}}},finishExact:function(c){c=c instanceof Array?c:[c];for(var a=0;a<c.length;a++)c[a]&&c[a].call(this);c=new Date;!this.hour&&!this.minute||this.month||this.year||this.day||(this.day=c.getDate());this.year||(this.year=c.getFullYear());this.month||0===this.month||(this.month=c.getMonth());this.day||(this.day=1);this.hour||(this.hour=0);this.minute||(this.minute=0);this.second||(this.second=
|
||||
0);this.millisecond||(this.millisecond=0);d.call(this);if(this.day>h.getDaysInMonth(this.year,this.month))throw new RangeError(this.day+" is not a valid value for days.");c=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);100>this.year&&c.setFullYear(this.year);this.timezone?c.set({timezone:this.timezone}):this.timezoneOffset&&c.set({timezoneOffset:this.timezoneOffset});return c},finish:function(c){var a,b,e;c=c instanceof Array?f(c):[c];if(0===c.length)return null;
|
||||
for(a=0;a<c.length;a++)"function"===typeof c[a]&&c[a].call(this);if(!this.now||this.unit||this.operator)c=this.now||-1!=="hour minute second".indexOf(this.unit)?new Date:h.today();else return new Date;a=!!(this.days&&null!==this.days||this.orient||this.operator);b="past"===this.orient||"subtract"===this.operator?-1:1;this.month&&"week"===this.unit&&(this.value=this.month+1,delete this.month,delete this.day);!this.month&&0!==this.month||-1==="year day hour minute second".indexOf(this.unit)||(this.value||
|
||||
(this.value=this.month+1),this.month=null,a=!0);a||!this.weekday||this.day||this.days||(e=Date[this.weekday](),this.day=e.getDate(),this.month||(this.month=e.getMonth()),this.year=e.getFullYear());if(a&&this.weekday&&"month"!==this.unit&&"week"!==this.unit){var g=c;e=b||1;this.unit="day";this.days=(g=h.getDayNumberFromName(this.weekday)-g.getDay())?(g+7*e)%7:7*e}!this.weekday||"week"===this.unit||this.day||this.days||(e=Date[this.weekday](),this.day=e.getDate(),e.getMonth()!==c.getMonth()&&(this.month=
|
||||
e.getMonth()));this.month&&"day"===this.unit&&this.operator&&(this.value||(this.value=this.month+1),this.month=null);null!=this.value&&null!=this.month&&null!=this.year&&(this.day=1*this.value);this.month&&!this.day&&this.value&&(c.set({day:1*this.value}),a||(this.day=1*this.value));this.month||!this.value||"month"!==this.unit||this.now||(this.month=this.value,a=!0);a&&(this.month||0===this.month)&&"year"!==this.unit&&(e=b||1,this.unit="month",this.months=(g=this.month-c.getMonth())?(g+12*e)%12:12*
|
||||
e,this.month=null);this.unit||(this.unit="day");if(!this.value&&this.operator&&null!==this.operator&&this[this.unit+"s"]&&null!==this[this.unit+"s"])this[this.unit+"s"]=this[this.unit+"s"]+("add"===this.operator?1:-1)+(this.value||0)*b;else if(null==this[this.unit+"s"]||null!=this.operator)this.value||(this.value=1),this[this.unit+"s"]=this.value*b;d.call(this);!this.month&&0!==this.month||this.day||(this.day=1);if(!this.orient&&!this.operator&&"week"===this.unit&&this.value&&!this.day&&!this.month)return Date.today().setWeek(this.value);
|
||||
if("week"===this.unit&&this.weeks&&!this.day&&!this.month)return c=Date[void 0!==this.weekday?this.weekday:"today"]().addWeeks(this.weeks),this.now&&c.setTimeToNow(),c;a&&this.timezone&&this.day&&this.days&&(this.day=this.days);a?c.add(this):c.set(this);this.timezone&&(this.timezone=this.timezone.toUpperCase(),a=h.getTimezoneOffset(this.timezone),c.hasDaylightSavingTime()&&(b=h.getTimezoneAbbreviation(a,c.isDaylightSavingTime()),b!==this.timezone&&(c.isDaylightSavingTime()?c.addHours(-1):c.addHours(1))),
|
||||
c.setTimezoneOffset(a));return c}}})();
|
||||
(function(){var h=Date;h.Grammar={};var f=h.Parsing.Operators,d=h.Grammar,c=h.Translator,a;a=function(){return f.each(f.any.apply(null,arguments),f.not(d.ctoken2("timeContext")))};d.datePartDelimiter=f.rtoken(/^([\s\-\.\,\/\x27]+)/);d.timePartDelimiter=f.stoken(":");d.whiteSpace=f.rtoken(/^\s*/);d.generalDelimiter=f.rtoken(/^(([\s\,]|at|@|on)+)/);var b={};d.ctoken=function(a){var c=b[a];if(!c){for(var c=Date.CultureInfo.regexPatterns,e=a.split(/\s+/),d=[],g=0;g<e.length;g++)d.push(f.replace(f.rtoken(c[e[g]]),
|
||||
e[g]));c=b[a]=f.any.apply(null,d)}return c};d.ctoken2=function(a){return f.rtoken(Date.CultureInfo.regexPatterns[a])};var e=function(a,b,c,e){d[a]=e?f.cache(f.process(f.each(f.rtoken(b),f.optional(d.ctoken2(e))),c)):f.cache(f.process(f.rtoken(b),c))},g=function(a,b){return f.cache(f.process(d.ctoken2(a),b))},m={},k=function(a){m[a]=m[a]||d.format(a)[0];return m[a]};d.allformats=function(a){var b=[];if(a instanceof Array)for(var c=0;c<a.length;c++)b.push(k(a[c]));else b.push(k(a));return b};d.formats=
|
||||
function(a){if(a instanceof Array){for(var b=[],c=0;c<a.length;c++)b.push(k(a[c]));return f.any.apply(null,b)}return k(a)};var n={timeFormats:function(){var a,b="h hh H HH m mm s ss ss.s z zz".split(" "),h=[/^(0[0-9]|1[0-2]|[1-9])/,/^(0[0-9]|1[0-2])/,/^([0-1][0-9]|2[0-3]|[0-9])/,/^([0-1][0-9]|2[0-3])/,/^([0-5][0-9]|[0-9])/,/^[0-5][0-9]/,/^([0-5][0-9]|[0-9])/,/^[0-5][0-9]/,/^[0-5][0-9]\.[0-9]{1,3}/,/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/,/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/],m=[c.hour,
|
||||
c.hour,c.hour,c.minute,c.minute,c.second,c.second,c.secondAndMillisecond,c.timezone,c.timezone,c.timezone];for(a=0;a<b.length;a++)e(b[a],h[a],m[a]);d.hms=f.cache(f.sequence([d.H,d.m,d.s],d.timePartDelimiter));d.t=g("shortMeridian",c.meridian);d.tt=g("longMeridian",c.meridian);d.zzz=g("timezone",c.timezone);d.timeSuffix=f.each(f.ignore(d.whiteSpace),f.set([d.tt,d.zzz]));d.time=f.each(f.optional(f.ignore(f.stoken("T"))),d.hms,d.timeSuffix)},dateFormats:function(){var b=function(){return f.set(arguments,
|
||||
d.datePartDelimiter)},g,h="d dd M MM y yy yyy yyyy".split(" "),m=[/^([0-2]\d|3[0-1]|\d)/,/^([0-2]\d|3[0-1])/,/^(1[0-2]|0\d|\d)/,/^(1[0-2]|0\d)/,/^(\d+)/,/^(\d\d)/,/^(\d\d?\d?\d?)/,/^(\d\d\d\d)/],n=[c.day,c.day,c.month,c.month,c.year,c.year,c.year,c.year],k=["ordinalSuffix","ordinalSuffix"];for(g=0;g<h.length;g++)e(h[g],m[g],n[g],k[g]);d.MMM=d.MMMM=f.cache(f.process(d.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),c.month));d.ddd=d.dddd=f.cache(f.process(d.ctoken("sun mon tue wed thu fri sat"),
|
||||
function(a){return function(){this.weekday=a}}));d.day=a(d.d,d.dd);d.month=a(d.M,d.MMM);d.year=a(d.yyyy,d.yy);d.mdy=b(d.ddd,d.month,d.day,d.year);d.ymd=b(d.ddd,d.year,d.month,d.day);d.dmy=b(d.ddd,d.day,d.month,d.year);d.date=function(a){return(d[Date.CultureInfo.dateElementOrder]||d.mdy).call(this,a)}},relative:function(){d.orientation=f.process(d.ctoken("past future"),function(a){return function(){this.orient=a}});d.operator=f.process(d.ctoken("add subtract"),function(a){return function(){this.operator=
|
||||
a}});d.rday=f.process(d.ctoken("yesterday tomorrow today now"),c.rday);d.unit=f.process(d.ctoken("second minute hour day week month year"),function(a){return function(){this.unit=a}})}};d.buildGrammarFormats=function(){b={};n.timeFormats();n.dateFormats();n.relative();d.value=f.process(f.rtoken(/^([-+]?\d+)?(st|nd|rd|th)?/),function(a){return function(){this.value=a.replace(/\D/g,"")}});d.expression=f.set([d.rday,d.operator,d.value,d.unit,d.orientation,d.ddd,d.MMM]);d.format=f.process(f.many(f.any(f.process(f.rtoken(/^(dd?d?d?(?!e)|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),
|
||||
function(a){if(d[a])return d[a];throw h.Parsing.Exception(a);}),f.process(f.rtoken(/^[^dMyhHmstz]+/),function(a){return f.ignore(f.stoken(a))}))),function(a){return f.process(f.each.apply(null,a),c.finishExact)});d._start=f.process(f.set([d.date,d.time,d.expression],d.generalDelimiter,d.whiteSpace),c.finish)};d.buildGrammarFormats();d._formats=d.formats('"yyyy-MM-ddTHH:mm:ssZ";yyyy-MM-ddTHH:mm:ss.sz;yyyy-MM-ddTHH:mm:ssZ;yyyy-MM-ddTHH:mm:ssz;yyyy-MM-ddTHH:mm:ss;yyyy-MM-ddTHH:mmZ;yyyy-MM-ddTHH:mmz;yyyy-MM-ddTHH:mm;ddd, MMM dd, yyyy H:mm:ss tt;ddd MMM d yyyy HH:mm:ss zzz;MMddyyyy;ddMMyyyy;Mddyyyy;ddMyyyy;Mdyyyy;dMyyyy;yyyy;Mdyy;dMyy;d'.split(";"));
|
||||
d.start=function(a){try{var b=d._formats.call({},a);if(0===b[1].length)return b}catch(c){}return d._start.call({},a)}})();
|
||||
(function(){var h=Date,f={removeOrds:function(d){return d=(ords=d.match(/\b(\d+)(?:st|nd|rd|th)\b/))&&2===ords.length?d.replace(ords[0],ords[1]):d},grammarParser:function(d){var c=null;try{c=h.Grammar.start.call({},d.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"))}catch(a){return null}return 0===c[1].length?c[0]:null},nativeFallback:function(d){var c;try{return(c=Date._parse(d))||0===c?new Date(c):null}catch(a){return null}}};h._parse||(h._parse=h.parse);h.parse=function(d){var c;if(!d)return null;if(d instanceof
|
||||
Date)return d.clone();4<=d.length&&"0"!==d.charAt(0)&&"+"!==d.charAt(0)&&"-"!==d.charAt(0)&&(c=h.Parsing.ISO.parse(d)||h.Parsing.Numeric.parse(d));if(c instanceof Date&&!isNaN(c.getTime()))return c;d=h.Parsing.Normalizer.parse(f.removeOrds(d));c=f.grammarParser(d);return null!==c?c:f.nativeFallback(d)};Date.getParseFunction=function(d){var c=Date.Grammar.allformats(d);return function(a){for(var b=null,e=0;e<c.length;e++){try{b=c[e].call({},a)}catch(d){continue}if(0===b[1].length)return b[0]}return null}};
|
||||
h.parseExact=function(d,c){return h.getParseFunction(c)(d)}})();
|
||||
(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)},c={d:"dd","%d":"dd",D:"ddd","%a":"ddd",j:"dddd",l:"dddd","%A":"dddd",S:"S",F:"MMMM","%B":"MMMM",m:"MM","%m":"MM",M:"MMM","%b":"MMM","%h":"MMM",n:"M",Y:"yyyy","%Y":"yyyy",y:"yy","%y":"yy",g:"h","%I":"h",G:"H",h:"hh",H:"HH","%H":"HH",i:"mm","%M":"mm",s:"ss","%S":"ss","%r":"hh:mm tt","%R":"H:mm","%T":"H:mm:ss","%X":"t","%x":"d","%e":"d","%D":"MM/dd/yy","%n":"\\n","%t":"\\t",e:"z",T:"z","%z":"z","%Z":"z",Z:"ZZ",
|
||||
N:"u",w:"u","%w":"u",W:"W","%V":"W"},a={substitutes:function(a){return c[a]},interpreted:function(a,b){var c;switch(a){case "%u":return b.getDay()+1;case "z":return b.getOrdinalNumber();case "%j":return d(b.getOrdinalNumber(),3);case "%U":c=b.clone().set({month:0,day:1}).addDays(-1).moveToDayOfWeek(0);var f=b.clone().addDays(1).moveToDayOfWeek(0,-1);return f<c?"00":d((f.getOrdinalNumber()-c.getOrdinalNumber())/7+1);case "%W":return d(b.getWeek());case "t":return h.getDaysInMonth(b.getFullYear(),b.getMonth());
|
||||
case "o":case "%G":return b.setWeek(b.getISOWeek()).toString("yyyy");case "%g":return b._format("%G").slice(-2);case "a":case "%p":return t("tt").toLowerCase();case "A":return t("tt").toUpperCase();case "u":return d(b.getMilliseconds(),3);case "I":return b.isDaylightSavingTime()?1:0;case "O":return b.getUTCOffset();case "P":return c=b.getUTCOffset(),c.substring(0,c.length-2)+":"+c.substring(c.length-2);case "B":return c=new Date,Math.floor((3600*c.getHours()+60*c.getMinutes()+c.getSeconds()+60*(c.getTimezoneOffset()+
|
||||
60))/86.4);case "c":return b.toISOString().replace(/\"/g,"");case "U":return h.strtotime("now");case "%c":return t("d")+" "+t("t");case "%C":return Math.floor(b.getFullYear()/100+1)}},shouldOverrideDefaults:function(a){switch(a){case "%e":return!0;default:return!1}},parse:function(b,c){var d,f=c||new Date;return(d=a.substitutes(b))?d:(d=a.interpreted(b,f))?d:b}};h.normalizeFormat=function(b,c){return b.replace(/(%|\\)?.|%%/g,function(b){return a.parse(b,c)})};h.strftime=function(a,b){return Date.parse(b)._format(a)};
|
||||
h.strtotime=function(a){a=h.parse(a);return Math.round(h.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())/1E3)};var b=function(b){return function(c){var d=!1;if("\\"===c.charAt(0)||"%%"===c.substring(0,2))return c.replace("\\","").replace("%%","%");d=a.shouldOverrideDefaults(c);if(c=h.normalizeFormat(c,b))return b.toString(c,d)}};f._format=function(a){var c=b(this);return a?a.replace(/(%|\\)?.|%%/g,c):this._toString()};
|
||||
f.format||(f.format=f._format)})();
|
||||
(function(){var h=function(c){return function(){return this[c]}},f=function(c){return function(a){this[c]=a;return this}},d=function(c,a,b,e,f){if(1===arguments.length&&"number"===typeof c){var h=0>c?-1:1,k=Math.abs(c);this.setDays(Math.floor(k/864E5)*h);k%=864E5;this.setHours(Math.floor(k/36E5)*h);k%=36E5;this.setMinutes(Math.floor(k/6E4)*h);k%=6E4;this.setSeconds(Math.floor(k/1E3)*h);this.setMilliseconds(k%1E3*h)}else this.set(c,a,b,e,f);this.getTotalMilliseconds=function(){return 864E5*this.getDays()+
|
||||
36E5*this.getHours()+6E4*this.getMinutes()+1E3*this.getSeconds()};this.compareTo=function(a){var b=new Date(1970,1,1,this.getHours(),this.getMinutes(),this.getSeconds());a=null===a?new Date(1970,1,1,0,0,0):new Date(1970,1,1,a.getHours(),a.getMinutes(),a.getSeconds());return b<a?-1:b>a?1:0};this.equals=function(a){return 0===this.compareTo(a)};this.add=function(a){return null===a?this:this.addSeconds(a.getTotalMilliseconds()/1E3)};this.subtract=function(a){return null===a?this:this.addSeconds(-a.getTotalMilliseconds()/
|
||||
1E3)};this.addDays=function(a){return new d(this.getTotalMilliseconds()+864E5*a)};this.addHours=function(a){return new d(this.getTotalMilliseconds()+36E5*a)};this.addMinutes=function(a){return new d(this.getTotalMilliseconds()+6E4*a)};this.addSeconds=function(a){return new d(this.getTotalMilliseconds()+1E3*a)};this.addMilliseconds=function(a){return new d(this.getTotalMilliseconds()+a)};this.get12HourHour=function(){return 12<this.getHours()?this.getHours()-12:0===this.getHours()?12:this.getHours()};
|
||||
this.getDesignator=function(){return 12>this.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator};this.toString=function(a){this._toString=function(){return null!==this.getDays()&&0<this.getDays()?this.getDays()+"."+this.getHours()+":"+this.p(this.getMinutes())+":"+this.p(this.getSeconds()):this.getHours()+":"+this.p(this.getMinutes())+":"+this.p(this.getSeconds())};this.p=function(a){return 2>a.toString().length?"0"+a:a};var b=this;return a?a.replace(/dd?|HH?|hh?|mm?|ss?|tt?/g,
|
||||
function(a){switch(a){case "d":return b.getDays();case "dd":return b.p(b.getDays());case "H":return b.getHours();case "HH":return b.p(b.getHours());case "h":return b.get12HourHour();case "hh":return b.p(b.get12HourHour());case "m":return b.getMinutes();case "mm":return b.p(b.getMinutes());case "s":return b.getSeconds();case "ss":return b.p(b.getSeconds());case "t":return(12>b.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator).substring(0,1);case "tt":return 12>b.getHours()?Date.CultureInfo.amDesignator:
|
||||
Date.CultureInfo.pmDesignator}}):this._toString()};return this};(function(c,a){for(var b=0;b<a.length;b++){var e=a[b],d=e.slice(0,1).toUpperCase()+e.slice(1);c.prototype[e]=0;c.prototype["get"+d]=h(e);c.prototype["set"+d]=f(e)}})(d,"years months days hours minutes seconds milliseconds".split(" ").slice(2));d.prototype.set=function(c,a,b,e,d){this.setDays(c||this.getDays());this.setHours(a||this.getHours());this.setMinutes(b||this.getMinutes());this.setSeconds(e||this.getSeconds());this.setMilliseconds(d||
|
||||
this.getMilliseconds())};Date.prototype.getTimeOfDay=function(){return new d(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())};Date.TimeSpan=d;"undefined"!==typeof window&&(window.TimeSpan=d)})();
|
||||
(function(){var h=function(a){return function(){return this[a]}},f=function(a){return function(b){this[a]=b;return this}},d=function(a,b,c,d){function f(){b.addMonths(-a);d.months++;12===d.months&&(d.years++,d.months=0)}if(1===a)for(;b>c;)f();else for(;b<c;)f();d.months--;d.months*=a;d.years*=a},c=function(a,b,c,f,h,k,n){if(7===arguments.length)this.set(a,b,c,f,h,k,n);else if(2===arguments.length&&arguments[0]instanceof Date&&arguments[1]instanceof Date){var l=arguments[0].clone(),p=arguments[1].clone(),
|
||||
q=l>p?1:-1;this.dates={start:arguments[0].clone(),end:arguments[1].clone()};d(q,l,p,this);var s=!1===(l.isDaylightSavingTime()===p.isDaylightSavingTime());s&&1===q?l.addHours(-1):s&&l.addHours(1);l=p-l;0!==l&&(l=new TimeSpan(l),this.set(this.years,this.months,l.getDays(),l.getHours(),l.getMinutes(),l.getSeconds(),l.getMilliseconds()))}return this};(function(a,b){for(var c=0;c<b.length;c++){var d=b[c],m=d.slice(0,1).toUpperCase()+d.slice(1);a.prototype[d]=0;a.prototype["get"+m]=h(d);a.prototype["set"+
|
||||
m]=f(d)}})(c,"years months days hours minutes seconds milliseconds".split(" "));c.prototype.set=function(a,b,c,d,f,h,n){this.setYears(a||this.getYears());this.setMonths(b||this.getMonths());this.setDays(c||this.getDays());this.setHours(d||this.getHours());this.setMinutes(f||this.getMinutes());this.setSeconds(h||this.getSeconds());this.setMilliseconds(n||this.getMilliseconds())};Date.TimePeriod=c;"undefined"!==typeof window&&(window.TimePeriod=c)})();
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
Native support
|
||||
|
||||
* Chrome
|
||||
* Safari
|
||||
* FireFox
|
||||
* Opera
|
||||
* Internet Explorer 9+
|
||||
|
||||
Support for Internet Explorer 7 and 8 with [excanvas](https://code.google.com/p/explorercanvas/wiki/Instructions) polyfill.
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/**
|
||||
* @file Data zoom model
|
||||
*/
|
||||
define(function(require) {
|
||||
|
||||
var DataZoomModel = require('./DataZoomModel');
|
||||
|
||||
var SliderZoomModel = DataZoomModel.extend({
|
||||
|
||||
type: 'dataZoom.slider',
|
||||
|
||||
layoutMode: 'box',
|
||||
|
||||
/**
|
||||
* @protected
|
||||
*/
|
||||
defaultOption: {
|
||||
show: true,
|
||||
|
||||
// ph => placeholder. Using placehoder here because
|
||||
// deault value can only be drived in view stage.
|
||||
right: 'ph', // Default align to grid rect.
|
||||
top: 'ph', // Default align to grid rect.
|
||||
width: 'ph', // Default align to grid rect.
|
||||
height: 'ph', // Default align to grid rect.
|
||||
left: null, // Default align to grid rect.
|
||||
bottom: null, // Default align to grid rect.
|
||||
|
||||
backgroundColor: 'rgba(47,69,84,0)', // Background of slider zoom component.
|
||||
dataBackgroundColor: '#ddd', // Background of data shadow.
|
||||
fillerColor: 'rgba(47,69,84,0.15)', // Color of selected area.
|
||||
handleColor: 'rgba(148,164,165,0.95)', // Color of handle.
|
||||
handleSize: 10,
|
||||
|
||||
labelPrecision: null,
|
||||
labelFormatter: null,
|
||||
showDetail: true,
|
||||
showDataShadow: 'auto', // Default auto decision.
|
||||
realtime: true,
|
||||
zoomLock: false, // Whether disable zoom.
|
||||
textStyle: {
|
||||
color: '#333'
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @override
|
||||
*/
|
||||
mergeOption: function (option) {
|
||||
SliderZoomModel.superApply(this, 'mergeOption', arguments);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return SliderZoomModel;
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
/* iCheck plugin Line skin, yellow
|
||||
----------------------------------- */
|
||||
.icheckbox_line-yellow,
|
||||
.iradio_line-yellow {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 5px 15px 5px 38px;
|
||||
font-size: 13px;
|
||||
line-height: 17px;
|
||||
color: #fff;
|
||||
background: #FFC414;
|
||||
border: none;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.icheckbox_line-yellow .icheck_line-icon,
|
||||
.iradio_line-yellow .icheck_line-icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 13px;
|
||||
width: 13px;
|
||||
height: 11px;
|
||||
margin: -5px 0 0 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
background: url(line.png) no-repeat;
|
||||
border: none;
|
||||
}
|
||||
.icheckbox_line-yellow.hover,
|
||||
.icheckbox_line-yellow.checked.hover,
|
||||
.iradio_line-yellow.hover {
|
||||
background: #FFD34F;
|
||||
}
|
||||
.icheckbox_line-yellow.checked,
|
||||
.iradio_line-yellow.checked {
|
||||
background: #FFC414;
|
||||
}
|
||||
.icheckbox_line-yellow.checked .icheck_line-icon,
|
||||
.iradio_line-yellow.checked .icheck_line-icon {
|
||||
background-position: -15px 0;
|
||||
}
|
||||
.icheckbox_line-yellow.disabled,
|
||||
.iradio_line-yellow.disabled {
|
||||
background: #FFE495;
|
||||
cursor: default;
|
||||
}
|
||||
.icheckbox_line-yellow.disabled .icheck_line-icon,
|
||||
.iradio_line-yellow.disabled .icheck_line-icon {
|
||||
background-position: -30px 0;
|
||||
}
|
||||
.icheckbox_line-yellow.checked.disabled,
|
||||
.iradio_line-yellow.checked.disabled {
|
||||
background: #FFE495;
|
||||
}
|
||||
.icheckbox_line-yellow.checked.disabled .icheck_line-icon,
|
||||
.iradio_line-yellow.checked.disabled .icheck_line-icon {
|
||||
background-position: -45px 0;
|
||||
}
|
||||
|
||||
/* HiDPI support */
|
||||
@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {
|
||||
.icheckbox_line-yellow .icheck_line-icon,
|
||||
.iradio_line-yellow .icheck_line-icon {
|
||||
background-image: url(line@2x.png);
|
||||
-webkit-background-size: 60px 13px;
|
||||
background-size: 60px 13px;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
define([
|
||||
"../core"
|
||||
], function( jQuery ) {
|
||||
|
||||
// A method for quickly swapping in/out CSS properties to get correct calculations.
|
||||
jQuery.swap = function( elem, options, callback, args ) {
|
||||
var ret, name,
|
||||
old = {};
|
||||
|
||||
// Remember the old values, and insert the new ones
|
||||
for ( name in options ) {
|
||||
old[ name ] = elem.style[ name ];
|
||||
elem.style[ name ] = options[ name ];
|
||||
}
|
||||
|
||||
ret = callback.apply( elem, args || [] );
|
||||
|
||||
// Revert the old values
|
||||
for ( name in options ) {
|
||||
elem.style[ name ] = old[ name ];
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
return jQuery.swap;
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "datatables.net",
|
||||
"description": "DataTables for jQuery ",
|
||||
"main": [
|
||||
"js/jquery.dataTables.js"
|
||||
],
|
||||
"keywords": [
|
||||
"filter",
|
||||
"sort",
|
||||
"DataTables",
|
||||
"jQuery",
|
||||
"table",
|
||||
"DataTables"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.7"
|
||||
},
|
||||
"moduleType": [
|
||||
"globals",
|
||||
"amd",
|
||||
"node"
|
||||
],
|
||||
"ignore": [
|
||||
"composer.json",
|
||||
"datatables.json",
|
||||
"package.json"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "SpryMedia Ltd",
|
||||
"homepage": "https://datatables.net"
|
||||
}
|
||||
],
|
||||
"homepage": "https://datatables.net",
|
||||
"license": "MIT"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,134 @@
|
|||
/**
|
||||
* @overview datejs
|
||||
* @version 1.0.0-rc3
|
||||
* @author Gregory Wild-Smith <gregory@wild-smith.com>
|
||||
* @copyright 2014 Gregory Wild-Smith
|
||||
* @license MIT
|
||||
* @homepage https://github.com/abritinthebay/datejs
|
||||
*/
|
||||
/*
|
||||
2014 Gregory Wild-Smith
|
||||
@license MIT
|
||||
@homepage https://github.com/abritinthebay/datejs
|
||||
2014 Gregory Wild-Smith
|
||||
@license MIT
|
||||
@homepage https://github.com/abritinthebay/datejs
|
||||
*/
|
||||
Date.CultureStrings=Date.CultureStrings||{};
|
||||
Date.CultureStrings["fr-MC"]={name:"fr-MC",englishName:"French (Principality of Monaco)",nativeName:"fran\u00e7ais (Principaut\u00e9 de Monaco)",Sunday:"dimanche",Monday:"lundi",Tuesday:"mardi",Wednesday:"mercredi",Thursday:"jeudi",Friday:"vendredi",Saturday:"samedi",Sun:"dim.",Mon:"lun.",Tue:"mar.",Wed:"mer.",Thu:"jeu.",Fri:"ven.",Sat:"sam.",Su:"di",Mo:"lu",Tu:"ma",We:"me",Th:"je",Fr:"ve",Sa:"sa",S_Sun_Initial:"d",M_Mon_Initial:"l",T_Tue_Initial:"m",W_Wed_Initial:"m",T_Thu_Initial:"j",F_Fri_Initial:"v",
|
||||
S_Sat_Initial:"s",January:"janvier",February:"f\u00e9vrier",March:"mars",April:"avril",May:"mai",June:"juin",July:"juillet",August:"ao\u00fbt",September:"septembre",October:"octobre",November:"novembre",December:"d\u00e9cembre",Jan_Abbr:"janv.",Feb_Abbr:"f\u00e9vr.",Mar_Abbr:"mars",Apr_Abbr:"avr.",May_Abbr:"mai",Jun_Abbr:"juin",Jul_Abbr:"juil.",Aug_Abbr:"ao\u00fbt",Sep_Abbr:"sept.",Oct_Abbr:"oct.",Nov_Abbr:"nov.",Dec_Abbr:"d\u00e9c.",AM:"",PM:"",firstDayOfWeek:1,twoDigitYearMax:2029,mdy:"dmy","M/d/yyyy":"dd/MM/yyyy",
|
||||
"dddd, MMMM dd, yyyy":"dddd d MMMM yyyy","h:mm tt":"HH:mm","h:mm:ss tt":"HH:mm:ss","dddd, MMMM dd, yyyy h:mm:ss tt":"dddd d MMMM yyyy HH:mm:ss","yyyy-MM-ddTHH:mm:ss":"yyyy-MM-ddTHH:mm:ss","yyyy-MM-dd HH:mm:ssZ":"yyyy-MM-dd HH:mm:ssZ","ddd, dd MMM yyyy HH:mm:ss":"ddd, dd MMM yyyy HH:mm:ss","MMMM dd":"d MMMM","MMMM, yyyy":"MMMM yyyy","/jan(uary)?/":"janv(.(ier)?)?","/feb(ruary)?/":"f\u00e9vr(.(ier)?)?","/mar(ch)?/":"mars","/apr(il)?/":"avr(.(il)?)?","/may/":"mai","/jun(e)?/":"juin","/jul(y)?/":"juil(.(let)?)?",
|
||||
"/aug(ust)?/":"ao\u00fbt","/sep(t(ember)?)?/":"sept(.(embre)?)?","/oct(ober)?/":"oct(.(obre)?)?","/nov(ember)?/":"nov(.(embre)?)?","/dec(ember)?/":"d\u00e9c(.(embre)?)?","/^su(n(day)?)?/":"^di(m(.(anche)?)?)?","/^mo(n(day)?)?/":"^lu(n(.(di)?)?)?","/^tu(e(s(day)?)?)?/":"^ma(r(.(di)?)?)?","/^we(d(nesday)?)?/":"^me(r(.(credi)?)?)?","/^th(u(r(s(day)?)?)?)?/":"^je(u(.(di)?)?)?","/^fr(i(day)?)?/":"^ve(n(.(dredi)?)?)?","/^sa(t(urday)?)?/":"^sa(m(.(edi)?)?)?","/^next/":"^next","/^last|past|prev(ious)?/":"^last|past|prev(ious)?",
|
||||
"/^(\\+|aft(er)?|from|hence)/":"^(\\+|aft(er)?|from|hence)","/^(\\-|bef(ore)?|ago)/":"^(\\-|bef(ore)?|ago)","/^yes(terday)?/":"^yes(terday)?","/^t(od(ay)?)?/":"^t(od(ay)?)?","/^tom(orrow)?/":"^tom(orrow)?","/^n(ow)?/":"^n(ow)?","/^ms|milli(second)?s?/":"^ms|milli(second)?s?","/^sec(ond)?s?/":"^sec(ond)?s?","/^mn|min(ute)?s?/":"^mn|min(ute)?s?","/^h(our)?s?/":"^h(our)?s?","/^w(eek)?s?/":"^w(eek)?s?","/^m(onth)?s?/":"^m(onth)?s?","/^d(ay)?s?/":"^d(ay)?s?","/^y(ear)?s?/":"^y(ear)?s?","/^(a|p)/":"^(a|p)",
|
||||
"/^(a\\.?m?\\.?|p\\.?m?\\.?)/":"^(a\\.?m?\\.?|p\\.?m?\\.?)","/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/":"^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)","/^\\s*(st|nd|rd|th)/":"^\\s*(st|nd|rd|th)","/^\\s*(\\:|a(?!u|p)|p)/":"^\\s*(\\:|a(?!u|p)|p)",LINT:"LINT",TOT:"TOT",CHAST:"CHAST",NZST:"NZST",NFT:"NFT",SBT:"SBT",AEST:"AEST",ACST:"ACST",JST:"JST",CWST:"CWST",CT:"CT",ICT:"ICT",MMT:"MMT",BIOT:"BST",NPT:"NPT",IST:"IST",
|
||||
PKT:"PKT",AFT:"AFT",MSK:"MSK",IRST:"IRST",FET:"FET",EET:"EET",CET:"CET",UTC:"UTC",GMT:"GMT",CVT:"CVT",GST:"GST",BRT:"BRT",NST:"NST",AST:"AST",EST:"EST",CST:"CST",MST:"MST",PST:"PST",AKST:"AKST",MIT:"MIT",HST:"HST",SST:"SST",BIT:"BIT",CHADT:"CHADT",NZDT:"NZDT",AEDT:"AEDT",ACDT:"ACDT",AZST:"AZST",IRDT:"IRDT",EEST:"EEST",CEST:"CEST",BST:"BST",PMDT:"PMDT",ADT:"ADT",NDT:"NDT",EDT:"EDT",CDT:"CDT",MDT:"MDT",PDT:"PDT",AKDT:"AKDT",HADT:"HADT"};Date.CultureStrings.lang="fr-MC";
|
||||
(function(){var h=Date,f=Date.CultureStrings?Date.CultureStrings.lang:null,d={},c={getFromKey:function(a,b){var e;e=Date.CultureStrings&&Date.CultureStrings[b]&&Date.CultureStrings[b][a]?Date.CultureStrings[b][a]:c.buildFromDefault(a);"/"===a.charAt(0)&&(e=c.buildFromRegex(a,b));return e},getFromObjectValues:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[e]=c.getFromKey(a[e],b));return g},getFromObjectKeys:function(a,b){var e,g={};for(e in a)a.hasOwnProperty(e)&&(g[c.getFromKey(e,b)]=
|
||||
a[e]);return g},getFromArray:function(a,b){for(var e=[],g=0;g<a.length;g++)g in a&&(e[g]=c.getFromKey(a[g],b));return e},buildFromDefault:function(a){var b,e,g;switch(a){case "name":b="en-US";break;case "englishName":b="English (United States)";break;case "nativeName":b="English (United States)";break;case "twoDigitYearMax":b=2049;break;case "firstDayOfWeek":b=0;break;default:if(b=a,g=a.split("_"),e=g.length,1<e&&"/"!==a.charAt(0)&&(a=g[e-1].toLowerCase(),"initial"===a||"abbr"===a))b=g[0]}return b},
|
||||
buildFromRegex:function(a,b){return Date.CultureStrings&&Date.CultureStrings[b]&&Date.CultureStrings[b][a]?new RegExp(Date.CultureStrings[b][a],"i"):new RegExp(a.replace(RegExp("/","g"),""),"i")}},a=function(a,b){var e=b?b:f;d[a]=a;return"object"===typeof a?a instanceof Array?c.getFromArray(a,e):c.getFromObjectKeys(a,e):c.getFromKey(a,e)},b=function(a){a=Date.Config.i18n+a+".js";var b=document.getElementsByTagName("head")[0]||document.documentElement,e=document.createElement("script");e.src=a;var g=
|
||||
{done:function(){}};e.onload=e.onreadystatechange=function(){this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(g.done(),b.removeChild(e))};setTimeout(function(){b.insertBefore(e,b.firstChild)},0);return{done:function(a){g.done=function(){a&&setTimeout(a,0)}}}},e={buildFromMethodHash:function(a){for(var b in a)a.hasOwnProperty(b)&&(a[b]=e[a[b]]());return a},timeZoneDST:function(){return a({CHADT:"+1345",NZDT:"+1300",AEDT:"+1100",ACDT:"+1030",AZST:"+0500",IRDT:"+0430",EEST:"+0300",
|
||||
CEST:"+0200",BST:"+0100",PMDT:"-0200",ADT:"-0300",NDT:"-0230",EDT:"-0400",CDT:"-0500",MDT:"-0600",PDT:"-0700",AKDT:"-0800",HADT:"-0900"})},timeZoneStandard:function(){return a({LINT:"+1400",TOT:"+1300",CHAST:"+1245",NZST:"+1200",NFT:"+1130",SBT:"+1100",AEST:"+1000",ACST:"+0930",JST:"+0900",CWST:"+0845",CT:"+0800",ICT:"+0700",MMT:"+0630",BST:"+0600",NPT:"+0545",IST:"+0530",PKT:"+0500",AFT:"+0430",MSK:"+0400",IRST:"+0330",FET:"+0300",EET:"+0200",CET:"+0100",GMT:"+0000",UTC:"+0000",CVT:"-0100",GST:"-0200",
|
||||
BRT:"-0300",NST:"-0330",AST:"-0400",EST:"-0500",CST:"-0600",MST:"-0700",PST:"-0800",AKST:"-0900",MIT:"-0930",HST:"-1000",SST:"-1100",BIT:"-1200"})},timeZones:function(a){var b;a.timezones=[];for(b in a.abbreviatedTimeZoneStandard)a.abbreviatedTimeZoneStandard.hasOwnProperty(b)&&a.timezones.push({name:b,offset:a.abbreviatedTimeZoneStandard[b]});for(b in a.abbreviatedTimeZoneDST)a.abbreviatedTimeZoneDST.hasOwnProperty(b)&&a.timezones.push({name:b,offset:a.abbreviatedTimeZoneDST[b],dst:!0});return a.timezones},
|
||||
days:function(){return a("Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "))},dayAbbr:function(){return a("Sun Mon Tue Wed Thu Fri Sat".split(" "))},dayShortNames:function(){return a("Su Mo Tu We Th Fr Sa".split(" "))},dayFirstLetters:function(){return a("S_Sun_Initial M_Mon_Initial T_Tues_Initial W_Wed_Initial T_Thu_Initial F_Fri_Initial S_Sat_Initial".split(" "))},months:function(){return a("January February March April May June July August September October November December".split(" "))},
|
||||
monthAbbr:function(){return a("Jan_Abbr Feb_Abbr Mar_Abbr Apr_Abbr May_Abbr Jun_Abbr Jul_Abbr Aug_Abbr Sep_Abbr Oct_Abbr Nov_Abbr Dec_Abbr".split(" "))},formatPatterns:function(){return c.getFromObjectValues({shortDate:"M/d/yyyy",longDate:"dddd, MMMM dd, yyyy",shortTime:"h:mm tt",longTime:"h:mm:ss tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss",monthDay:"MMMM dd",yearMonth:"MMMM, yyyy"},
|
||||
Date.i18n.currentLanguage())},regex:function(){return c.getFromObjectValues({inTheMorning:"/( in the )(morn(ing)?)\\b/",thisMorning:"/(this )(morn(ing)?)\\b/",amThisMorning:"/(\b\\d(am)? )(this )(morn(ing)?)/",inTheEvening:"/( in the )(even(ing)?)\\b/",thisEvening:"/(this )(even(ing)?)\\b/",pmThisEvening:"/(\b\\d(pm)? )(this )(even(ing)?)/",jan:"/jan(uary)?/",feb:"/feb(ruary)?/",mar:"/mar(ch)?/",apr:"/apr(il)?/",may:"/may/",jun:"/jun(e)?/",jul:"/jul(y)?/",aug:"/aug(ust)?/",sep:"/sep(t(ember)?)?/",
|
||||
oct:"/oct(ober)?/",nov:"/nov(ember)?/",dec:"/dec(ember)?/",sun:"/^su(n(day)?)?/",mon:"/^mo(n(day)?)?/",tue:"/^tu(e(s(day)?)?)?/",wed:"/^we(d(nesday)?)?/",thu:"/^th(u(r(s(day)?)?)?)?/",fri:"/fr(i(day)?)?/",sat:"/^sa(t(urday)?)?/",future:"/^next/",past:"/^last|past|prev(ious)?/",add:"/^(\\+|aft(er)?|from|hence)/",subtract:"/^(\\-|bef(ore)?|ago)/",yesterday:"/^yes(terday)?/",today:"/^t(od(ay)?)?/",tomorrow:"/^tom(orrow)?/",now:"/^n(ow)?/",millisecond:"/^ms|milli(second)?s?/",second:"/^sec(ond)?s?/",
|
||||
minute:"/^mn|min(ute)?s?/",hour:"/^h(our)?s?/",week:"/^w(eek)?s?/",month:"/^m(onth)?s?/",day:"/^d(ay)?s?/",year:"/^y(ear)?s?/",shortMeridian:"/^(a|p)/",longMeridian:"/^(a\\.?m?\\.?|p\\.?m?\\.?)/",timezone:"/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\\s*(\\+|\\-)\\s*\\d\\d\\d\\d?)|gmt|utc)/",ordinalSuffix:"/^\\s*(st|nd|rd|th)/",timeContext:"/^\\s*(\\:|a(?!u|p)|p)/"},Date.i18n.currentLanguage())}},g=function(){var a=c.getFromObjectValues({name:"name",englishName:"englishName",nativeName:"nativeName",
|
||||
amDesignator:"AM",pmDesignator:"PM",firstDayOfWeek:"firstDayOfWeek",twoDigitYearMax:"twoDigitYearMax",dateElementOrder:"mdy"},Date.i18n.currentLanguage()),b=e.buildFromMethodHash({dayNames:"days",abbreviatedDayNames:"dayAbbr",shortestDayNames:"dayShortNames",firstLetterDayNames:"dayFirstLetters",monthNames:"months",abbreviatedMonthNames:"monthAbbr",formatPatterns:"formatPatterns",regexPatterns:"regex",abbreviatedTimeZoneDST:"timeZoneDST",abbreviatedTimeZoneStandard:"timeZoneStandard"}),g;for(g in b)b.hasOwnProperty(g)&&
|
||||
(a[g]=b[g]);e.timeZones(a);return a};h.i18n={__:function(m,b){return a(m,b)},currentLanguage:function(){return f||"en-US"},setLanguage:function(a,e,c){var d=!1;if(e||"en-US"===a||Date.CultureStrings&&Date.CultureStrings[a])f=a,Date.CultureStrings=Date.CultureStrings||{},Date.CultureStrings.lang=a,Date.CultureInfo=new g;else if(!Date.CultureStrings||!Date.CultureStrings[a])if("undefined"!==typeof exports&&this.exports!==exports)try{require("../i18n/"+a+".js"),f=a,Date.CultureStrings.lang=a,Date.CultureInfo=
|
||||
new g}catch(p){throw Error("The DateJS IETF language tag '"+a+"' could not be loaded by Node. It likely does not exist.");}else if(Date.Config&&Date.Config.i18n)d=!0,b(a).done(function(){f=a;Date.CultureStrings=Date.CultureStrings||{};Date.CultureStrings.lang=a;Date.CultureInfo=new g;h.Parsing.Normalizer.buildReplaceData();h.Grammar&&h.Grammar.buildGrammarFormats();c&&setTimeout(c,0)});else return Date.console.error("The DateJS IETF language tag '"+a+"' is not available and has not been loaded."),
|
||||
!1;h.Parsing.Normalizer.buildReplaceData();h.Grammar&&h.Grammar.buildGrammarFormats();!d&&c&&setTimeout(c,0)},getLoggedKeys:function(){return d},updateCultureInfo:function(){Date.CultureInfo=new g}};h.i18n.updateCultureInfo()})();
|
||||
(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)};h.console="undefined"!==typeof window&&"undefined"!==typeof window.console&&"undefined"!==typeof window.console.log?console:{log:function(){},error:function(){}};h.Config=h.Config||{};h.initOverloads=function(){h.now?h._now||(h._now=h.now):h._now=function(){return(new Date).getTime()};h.now=function(a){return a?h.present():h._now()};f.toISOString||(f.toISOString=function(){return this.getUTCFullYear()+"-"+d(this.getUTCMonth()+
|
||||
1)+"-"+d(this.getUTCDate())+"T"+d(this.getUTCHours())+":"+d(this.getUTCMinutes())+":"+d(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1E3).toFixed(3)).slice(2,5)+"Z"});void 0===f._toString&&(f._toString=f.toString)};h.initOverloads();h.today=function(){return(new Date).clearTime()};h.present=function(){return new Date};h.compare=function(a,b){if(isNaN(a)||isNaN(b))throw Error(a+" - "+b);if(a instanceof Date&&b instanceof Date)return a<b?-1:a>b?1:0;throw new TypeError(a+" - "+b);};h.equals=
|
||||
function(a,b){return 0===a.compareTo(b)};h.getDayName=function(a){return Date.CultureInfo.dayNames[a]};h.getDayNumberFromName=function(a){var b=Date.CultureInfo.dayNames,e=Date.CultureInfo.abbreviatedDayNames,g=Date.CultureInfo.shortestDayNames;a=a.toLowerCase();for(var m=0;m<b.length;m++)if(b[m].toLowerCase()===a||e[m].toLowerCase()===a||g[m].toLowerCase()===a)return m;return-1};h.getMonthNumberFromName=function(a){var b=Date.CultureInfo.monthNames,e=Date.CultureInfo.abbreviatedMonthNames;a=a.toLowerCase();
|
||||
for(var g=0;g<b.length;g++)if(b[g].toLowerCase()===a||e[g].toLowerCase()===a)return g;return-1};h.getMonthName=function(a){return Date.CultureInfo.monthNames[a]};h.isLeapYear=function(a){return 0===a%4&&0!==a%100||0===a%400};h.getDaysInMonth=function(a,b){!b&&h.validateMonth(a)&&(b=a,a=Date.today().getFullYear());return[31,h.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]};f.getDaysInMonth=function(){return h.getDaysInMonth(this.getFullYear(),this.getMonth())};h.getTimezoneAbbreviation=function(a,
|
||||
b){var e,g=b?Date.CultureInfo.abbreviatedTimeZoneDST:Date.CultureInfo.abbreviatedTimeZoneStandard;for(e in g)if(g.hasOwnProperty(e)&&g[e]===a)return e;return null};h.getTimezoneOffset=function(a,b){var e,g=[],m=Date.CultureInfo.timezones;a||(a=(new Date).getTimezone());for(e=0;e<m.length;e++)m[e].name===a.toUpperCase()&&g.push(e);if(!m[g[0]])return null;if(1!==g.length&&b)for(e=0;e<g.length;e++){if(m[g[e]].dst)return m[g[e]].offset}else return m[g[0]].offset};h.getQuarter=function(a){a=a||new Date;
|
||||
return[1,2,3,4][Math.floor(a.getMonth()/3)]};h.getDaysLeftInQuarter=function(a){a=a||new Date;var b=new Date(a);b.setMonth(b.getMonth()+3-b.getMonth()%3,0);return Math.floor((b-a)/864E5)};var c=function(a,b,e,g){if("undefined"===typeof a)return!1;if("number"!==typeof a)throw new TypeError(a+" is not a Number.");return a<b||a>e?!1:!0};h.validateMillisecond=function(a){return c(a,0,999,"millisecond")};h.validateSecond=function(a){return c(a,0,59,"second")};h.validateMinute=function(a){return c(a,0,
|
||||
59,"minute")};h.validateHour=function(a){return c(a,0,23,"hour")};h.validateDay=function(a,b,e){return void 0===b||null===b||void 0===e||null===e?!1:c(a,1,h.getDaysInMonth(b,e),"day")};h.validateWeek=function(a){return c(a,0,53,"week")};h.validateMonth=function(a){return c(a,0,11,"month")};h.validateYear=function(a){return c(a,-271822,275760,"year")};h.validateTimezone=function(a){return 1==={ACDT:1,ACST:1,ACT:1,ADT:1,AEDT:1,AEST:1,AFT:1,AKDT:1,AKST:1,AMST:1,AMT:1,ART:1,AST:1,AWDT:1,AWST:1,AZOST:1,
|
||||
AZT:1,BDT:1,BIOT:1,BIT:1,BOT:1,BRT:1,BST:1,BTT:1,CAT:1,CCT:1,CDT:1,CEDT:1,CEST:1,CET:1,CHADT:1,CHAST:1,CHOT:1,ChST:1,CHUT:1,CIST:1,CIT:1,CKT:1,CLST:1,CLT:1,COST:1,COT:1,CST:1,CT:1,CVT:1,CWST:1,CXT:1,DAVT:1,DDUT:1,DFT:1,EASST:1,EAST:1,EAT:1,ECT:1,EDT:1,EEDT:1,EEST:1,EET:1,EGST:1,EGT:1,EIT:1,EST:1,FET:1,FJT:1,FKST:1,FKT:1,FNT:1,GALT:1,GAMT:1,GET:1,GFT:1,GILT:1,GIT:1,GMT:1,GST:1,GYT:1,HADT:1,HAEC:1,HAST:1,HKT:1,HMT:1,HOVT:1,HST:1,ICT:1,IDT:1,IOT:1,IRDT:1,IRKT:1,IRST:1,IST:1,JST:1,KGT:1,KOST:1,KRAT:1,
|
||||
KST:1,LHST:1,LINT:1,MAGT:1,MART:1,MAWT:1,MDT:1,MET:1,MEST:1,MHT:1,MIST:1,MIT:1,MMT:1,MSK:1,MST:1,MUT:1,MVT:1,MYT:1,NCT:1,NDT:1,NFT:1,NPT:1,NST:1,NT:1,NUT:1,NZDT:1,NZST:1,OMST:1,ORAT:1,PDT:1,PET:1,PETT:1,PGT:1,PHOT:1,PHT:1,PKT:1,PMDT:1,PMST:1,PONT:1,PST:1,PYST:1,PYT:1,RET:1,ROTT:1,SAKT:1,SAMT:1,SAST:1,SBT:1,SCT:1,SGT:1,SLST:1,SRT:1,SST:1,SYOT:1,TAHT:1,THA:1,TFT:1,TJT:1,TKT:1,TLT:1,TMT:1,TOT:1,TVT:1,UCT:1,ULAT:1,UTC:1,UYST:1,UYT:1,UZT:1,VET:1,VLAT:1,VOLT:1,VOST:1,VUT:1,WAKT:1,WAST:1,WAT:1,WEDT:1,WEST:1,
|
||||
WET:1,WST:1,YAKT:1,YEKT:1,Z:1}[a]};h.validateTimezoneOffset=function(a){return-841<a&&721>a}})();
|
||||
(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)},c=function(a){var b={},e=this,g,c;c=function(b,g,c){if("day"===b){b=void 0!==a.month?a.month:e.getMonth();var d=void 0!==a.year?a.year:e.getFullYear();return h[g](c,d,b)}return h[g](c)};for(g in a)if(hasOwnProperty.call(a,g)){var d="validate"+g.charAt(0).toUpperCase()+g.slice(1);h[d]&&null!==a[g]&&c(g,d,a[g])&&(b[g]=a[g])}return b};f.clearTime=function(){this.setHours(0);this.setMinutes(0);this.setSeconds(0);
|
||||
this.setMilliseconds(0);return this};f.setTimeToNow=function(){var a=new Date;this.setHours(a.getHours());this.setMinutes(a.getMinutes());this.setSeconds(a.getSeconds());this.setMilliseconds(a.getMilliseconds());return this};f.clone=function(){return new Date(this.getTime())};f.compareTo=function(a){return Date.compare(this,a)};f.equals=function(a){return Date.equals(this,void 0!==a?a:new Date)};f.between=function(a,b){return this.getTime()>=a.getTime()&&this.getTime()<=b.getTime()};f.isAfter=function(a){return 1===
|
||||
this.compareTo(a||new Date)};f.isBefore=function(a){return-1===this.compareTo(a||new Date)};f.isToday=f.isSameDay=function(a){return this.clone().clearTime().equals((a||new Date).clone().clearTime())};f.addMilliseconds=function(a){if(!a)return this;this.setTime(this.getTime()+1*a);return this};f.addSeconds=function(a){return a?this.addMilliseconds(1E3*a):this};f.addMinutes=function(a){return a?this.addMilliseconds(6E4*a):this};f.addHours=function(a){return a?this.addMilliseconds(36E5*a):this};f.addDays=
|
||||
function(a){if(!a)return this;this.setDate(this.getDate()+1*a);return this};f.addWeekdays=function(a){if(!a)return this;var b=this.getDay(),e=Math.ceil(Math.abs(a)/7);(0===b||6===b)&&0<a&&(this.next().monday(),this.addDays(-1),b=this.getDay());if(0>a){for(;0>a;)this.addDays(-1),b=this.getDay(),0!==b&&6!==b&&a++;return this}if(5<a||6-b<=a)a+=2*e;return this.addDays(a)};f.addWeeks=function(a){return a?this.addDays(7*a):this};f.addMonths=function(a){if(!a)return this;var b=this.getDate();this.setDate(1);
|
||||
this.setMonth(this.getMonth()+1*a);this.setDate(Math.min(b,h.getDaysInMonth(this.getFullYear(),this.getMonth())));return this};f.addQuarters=function(a){return a?this.addMonths(3*a):this};f.addYears=function(a){return a?this.addMonths(12*a):this};f.add=function(a){if("number"===typeof a)return this._orient=a,this;a.day&&0!==a.day-this.getDate()&&this.setDate(a.day);a.milliseconds&&this.addMilliseconds(a.milliseconds);a.seconds&&this.addSeconds(a.seconds);a.minutes&&this.addMinutes(a.minutes);a.hours&&
|
||||
this.addHours(a.hours);a.weeks&&this.addWeeks(a.weeks);a.months&&this.addMonths(a.months);a.years&&this.addYears(a.years);a.days&&this.addDays(a.days);return this};f.getWeek=function(a){var b=new Date(this.valueOf());a?(b.addMinutes(b.getTimezoneOffset()),a=b.clone()):a=this;a=(a.getDay()+6)%7;b.setDate(b.getDate()-a+3);a=b.valueOf();b.setMonth(0,1);4!==b.getDay()&&b.setMonth(0,1+(4-b.getDay()+7)%7);return 1+Math.ceil((a-b)/6048E5)};f.getISOWeek=function(){return d(this.getWeek(!0))};f.setWeek=function(a){return 0===
|
||||
a-this.getWeek()?1!==this.getDay()?this.moveToDayOfWeek(1,1<this.getDay()?-1:1):this:this.moveToDayOfWeek(1,1<this.getDay()?-1:1).addWeeks(a-this.getWeek())};f.setQuarter=function(a){a=Math.abs(3*(a-1)+1);return this.setMonth(a,1)};f.getQuarter=function(){return Date.getQuarter(this)};f.getDaysLeftInQuarter=function(){return Date.getDaysLeftInQuarter(this)};f.moveToNthOccurrence=function(a,b){if("Weekday"===a){if(0<b)this.moveToFirstDayOfMonth(),this.is().weekday()&&--b;else if(0>b)this.moveToLastDayOfMonth(),
|
||||
this.is().weekday()&&(b+=1);else return this;return this.addWeekdays(b)}var e=0;if(0<b)e=b-1;else if(-1===b)return this.moveToLastDayOfMonth(),this.getDay()!==a&&this.moveToDayOfWeek(a,-1),this;return this.moveToFirstDayOfMonth().addDays(-1).moveToDayOfWeek(a,1).addWeeks(e)};var a=function(a,b,e){return function(g,c){var d=(g-this[a]()+e*(c||1))%e;return this[b](0===d?d+e*(c||1):d)}};f.moveToDayOfWeek=a("getDay","addDays",7);f.moveToMonth=a("getMonth","addMonths",12);f.getOrdinate=function(){var a=
|
||||
this.getDate();return b(a)};f.getOrdinalNumber=function(){return Math.ceil((this.clone().clearTime()-new Date(this.getFullYear(),0,1))/864E5)+1};f.getTimezone=function(){return h.getTimezoneAbbreviation(this.getUTCOffset(),this.isDaylightSavingTime())};f.setTimezoneOffset=function(a){var b=this.getTimezoneOffset();return(a=-6*Number(a)/10)||0===a?this.addMinutes(a-b):this};f.setTimezone=function(a){return this.setTimezoneOffset(h.getTimezoneOffset(a))};f.hasDaylightSavingTime=function(){return Date.today().set({month:0,
|
||||
day:1}).getTimezoneOffset()!==Date.today().set({month:6,day:1}).getTimezoneOffset()};f.isDaylightSavingTime=function(){return Date.today().set({month:0,day:1}).getTimezoneOffset()!==this.getTimezoneOffset()};f.getUTCOffset=function(a){a=-10*(a||this.getTimezoneOffset())/6;if(0>a)return a=(a-1E4).toString(),a.charAt(0)+a.substr(2);a=(a+1E4).toString();return"+"+a.substr(1)};f.getElapsed=function(a){return(a||new Date)-this};f.set=function(a){a=c.call(this,a);for(var b in a)if(hasOwnProperty.call(a,
|
||||
b)){var e=b.charAt(0).toUpperCase()+b.slice(1),g,d;"week"!==b&&"month"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&(e+="s");g="add"+e;d="get"+e;"month"===b?g+="s":"year"===b&&(d="getFullYear");if("day"!==b&&"timezone"!==b&&"timezoneOffset"!==b&&"week"!==b&&"hour"!==b)this[g](a[b]-this[d]());else if("timezone"===b||"timezoneOffset"===b||"week"===b||"hour"===b)this["set"+e](a[b])}a.day&&this.addDays(a.day-this.getDate());return this};f.moveToFirstDayOfMonth=function(){return this.set({day:1})};f.moveToLastDayOfMonth=
|
||||
function(){return this.set({day:h.getDaysInMonth(this.getFullYear(),this.getMonth())})};var b=function(a){switch(1*a){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},e=function(a){var b=Date.CultureInfo.formatPatterns;switch(a){case "d":return this.toString(b.shortDate);case "D":return this.toString(b.longDate);case "F":return this.toString(b.fullDateTime);case "m":return this.toString(b.monthDay);case "r":case "R":return a=this.clone().addMinutes(this.getTimezoneOffset()),
|
||||
a.toString(b.rfc1123)+" GMT";case "s":return this.toString(b.sortableDateTime);case "t":return this.toString(b.shortTime);case "T":return this.toString(b.longTime);case "u":return a=this.clone().addMinutes(this.getTimezoneOffset()),a.toString(b.universalSortableDateTime);case "y":return this.toString(b.yearMonth);default:return!1}},g=function(a){return function(e){if("\\"===e.charAt(0))return e.replace("\\","");switch(e){case "hh":return d(13>a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-
|
||||
12);case "h":return 13>a.getHours()?0===a.getHours()?12:a.getHours():a.getHours()-12;case "HH":return d(a.getHours());case "H":return a.getHours();case "mm":return d(a.getMinutes());case "m":return a.getMinutes();case "ss":return d(a.getSeconds());case "s":return a.getSeconds();case "yyyy":return d(a.getFullYear(),4);case "yy":return d(a.getFullYear());case "y":return a.getFullYear();case "E":case "dddd":return Date.CultureInfo.dayNames[a.getDay()];case "ddd":return Date.CultureInfo.abbreviatedDayNames[a.getDay()];
|
||||
case "dd":return d(a.getDate());case "d":return a.getDate();case "MMMM":return Date.CultureInfo.monthNames[a.getMonth()];case "MMM":return Date.CultureInfo.abbreviatedMonthNames[a.getMonth()];case "MM":return d(a.getMonth()+1);case "M":return a.getMonth()+1;case "t":return 12>a.getHours()?Date.CultureInfo.amDesignator.substring(0,1):Date.CultureInfo.pmDesignator.substring(0,1);case "tt":return 12>a.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator;case "S":return b(a.getDate());
|
||||
case "W":return a.getWeek();case "WW":return a.getISOWeek();case "Q":return"Q"+a.getQuarter();case "q":return String(a.getQuarter());case "z":return a.getTimezone();case "Z":case "X":return Date.getTimezoneOffset(a.getTimezone());case "ZZ":return-60*a.getTimezoneOffset();case "u":return a.getDay();case "L":return h.isLeapYear(a.getFullYear())?1:0;case "B":return"@"+(a.getUTCSeconds()+60*a.getUTCMinutes()+3600*(a.getUTCHours()+1))/86.4;default:return e}}};f.toString=function(a,b){if(!b&&a&&1===a.length&&
|
||||
(output=e.call(this,a)))return output;var c=g(this);return a?a.replace(/((\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S|q|Q|WW?W?W?)(?![^\[]*\]))/g,c).replace(/\[|\]/g,""):this._toString()}})();
|
||||
(function(){var h=Date,f=h.prototype,d=Number.prototype;f._orient=1;f._nth=null;f._is=!1;f._same=!1;f._isSecond=!1;d._dateElement="days";f.next=function(){this._move=!0;this._orient=1;return this};h.next=function(){return h.today().next()};f.last=f.prev=f.previous=function(){this._move=!0;this._orient=-1;return this};h.last=h.prev=h.previous=function(){return h.today().last()};f.is=function(){this._is=!0;return this};f.same=function(){this._same=!0;this._isSecond=!1;return this};f.today=function(){return this.same().day()};
|
||||
f.weekday=function(){return this._nth?m("Weekday").call(this):this._move?this.addWeekdays(this._orient):this._is?(this._is=!1,!this.is().sat()&&!this.is().sun()):!1};f.weekend=function(){return this._is?(this._is=!1,this.is().sat()||this.is().sun()):!1};f.at=function(a){return"string"===typeof a?h.parse(this.toString("d")+" "+a):this.set(a)};d.fromNow=d.after=function(a){var b={};b[this._dateElement]=this;return(a?a.clone():new Date).add(b)};d.ago=d.before=function(a){var b={};b["s"!==this._dateElement[this._dateElement.length-
|
||||
1]?this._dateElement+"s":this._dateElement]=-1*this;return(a?a.clone():new Date).add(b)};var c="sunday monday tuesday wednesday thursday friday saturday".split(/\s/),a="january february march april may june july august september october november december".split(/\s/),b="Millisecond Second Minute Hour Day Week Month Year Quarter Weekday".split(/\s/),e="Milliseconds Seconds Minutes Hours Date Week Month FullYear Quarter".split(/\s/),g="final first second third fourth fifth".split(/\s/);f.toObject=function(){for(var a=
|
||||
{},g=0;g<b.length;g++)this["get"+e[g]]&&(a[b[g].toLowerCase()]=this["get"+e[g]]());return a};h.fromObject=function(a){a.week=null;return Date.today().set(a)};var m=function(a){return function(){if(this._is)return this._is=!1,this.getDay()===a;this._move&&(this._move=null);if(null!==this._nth){this._isSecond&&this.addSeconds(-1*this._orient);this._isSecond=!1;var b=this._nth;this._nth=null;var e=this.clone().moveToLastDayOfMonth();this.moveToNthOccurrence(a,b);if(this>e)throw new RangeError(h.getDayName(a)+
|
||||
" does not occur "+b+" times in the month of "+h.getMonthName(e.getMonth())+" "+e.getFullYear()+".");return this}return this.moveToDayOfWeek(a,this._orient)}},k=function(a,b,e){for(var g=0;g<a.length;g++)h[a[g].toUpperCase()]=h[a[g].toUpperCase().substring(0,3)]=g,h[a[g]]=h[a[g].substring(0,3)]=b(g),f[a[g]]=f[a[g].substring(0,3)]=e(g)};k(c,function(a){return function(){var b=h.today(),e=a-b.getDay();0===a&&1===Date.CultureInfo.firstDayOfWeek&&0!==b.getDay()&&(e+=7);return b.addDays(e)}},m);k(a,function(a){return function(){return h.today().set({month:a,
|
||||
day:1})}},function(a){return function(){return this._is?(this._is=!1,this.getMonth()===a):this.moveToMonth(a,this._orient)}});for(var a=function(a){return function(e){if(this._isSecond)return this._isSecond=!1,this;if(this._same){this._same=this._is=!1;var g=this.toObject();e=(e||new Date).toObject();for(var c="",d=a.toLowerCase(),d="s"===d[d.length-1]?d.substring(0,d.length-1):d,f=b.length-1;-1<f;f--){c=b[f].toLowerCase();if(g[c]!==e[c])return!1;if(d===c)break}return!0}"s"!==a.substring(a.length-
|
||||
1)&&(a+="s");this._move&&(this._move=null);return this["add"+a](this._orient)}},k=function(a){return function(){this._dateElement=a;return this}},n=0;n<b.length;n++)c=b[n].toLowerCase(),"weekday"!==c&&(f[c]=f[c+"s"]=a(b[n]),d[c]=d[c+"s"]=k(c+"s"));f._ss=a("Second");d=function(a){return function(b){if(this._same)return this._ss(b);if(b||0===b)return this.moveToNthOccurrence(b,a);this._nth=a;return 2!==a||void 0!==b&&null!==b?this:(this._isSecond=!0,this.addSeconds(this._orient))}};for(c=0;c<g.length;c++)f[g[c]]=
|
||||
0===c?d(-1):d(c)})();
|
||||
(function(){Date.Parsing={Exception:function(a){this.message="Parse error at '"+a.substring(0,10)+" ...'"}};var h=Date.Parsing,f=[0,31,59,90,120,151,181,212,243,273,304,334],d=[0,31,60,91,121,152,182,213,244,274,305,335];h.isLeapYear=function(a){return 0===a%4&&0!==a%100||0===a%400};var c={multiReplace:function(a,b){for(var e in b)if(Object.prototype.hasOwnProperty.call(b,e)){var g;"function"!==typeof b[e]&&(g=b[e]instanceof RegExp?b[e]:new RegExp(b[e],"g"));a=a.replace(g,e)}return a},getDayOfYearFromWeek:function(a){var b;
|
||||
a.weekDay=a.weekDay||0===a.weekDay?a.weekDay:1;b=new Date(a.year,0,4);b=(0===b.getDay()?7:b.getDay())+3;a.dayOfYear=7*a.week+(0===a.weekDay?7:a.weekDay)-b;return a},getDayOfYear:function(a,b){a.dayOfYear||(a=c.getDayOfYearFromWeek(a));for(var e=0;e<=b.length;e++)if(a.dayOfYear<b[e]||e===b.length){a.day=a.day?a.day:a.dayOfYear-b[e-1];break}else a.month=e;return a},adjustForTimeZone:function(a,b){var e;"Z"===a.zone.toUpperCase()||0===a.zone_hours&&0===a.zone_minutes?e=-b.getTimezoneOffset():(e=60*a.zone_hours+
|
||||
(a.zone_minutes||0),"+"===a.zone_sign&&(e*=-1),e-=b.getTimezoneOffset());b.setMinutes(b.getMinutes()+e);return b},setDefaults:function(a){a.year=a.year||Date.today().getFullYear();a.hours=a.hours||0;a.minutes=a.minutes||0;a.seconds=a.seconds||0;a.milliseconds=a.milliseconds||0;if(a.month||!a.week&&!a.dayOfYear)a.month=a.month||0,a.day=a.day||1;return a},dataNum:function(a,b,e,g){var c=1*a;return b?g?a?1*b(a):a:a?b(c):a:e?a&&"undefined"!==typeof a?c:a:a?c:a},timeDataProcess:function(a){var b={},e;
|
||||
for(e in a.data)a.data.hasOwnProperty(e)&&(b[e]=a.ignore[e]?a.data[e]:c.dataNum(a.data[e],a.mods[e],a.explict[e],a.postProcess[e]));a.data.secmins&&(a.data.secmins=60*a.data.secmins.replace(",","."),b.minutes?b.seconds||(b.seconds=a.data.secmins):b.minutes=a.data.secmins,delete a.secmins);return b},buildTimeObjectFromData:function(a){return c.timeDataProcess({data:{year:a[1],month:a[5],day:a[7],week:a[8],dayOfYear:a[10],hours:a[15],zone_hours:a[23],zone_minutes:a[24],zone:a[21],zone_sign:a[22],weekDay:a[9],
|
||||
minutes:a[16],seconds:a[19],milliseconds:a[20],secmins:a[18]},mods:{month:function(a){return a-1},weekDay:function(a){a=Math.abs(a);return 7===a?0:a},minutes:function(a){return a.replace(":","")},seconds:function(a){return Math.floor(1*a.replace(":","").replace(",","."))},milliseconds:function(a){return 1E3*a.replace(",",".")}},postProcess:{minutes:!0,seconds:!0,milliseconds:!0},explict:{zone_hours:!0,zone_minutes:!0},ignore:{zone:!0,zone_sign:!0,secmins:!0}})},addToHash:function(a,b,e){for(var g=
|
||||
b.length,c=0;c<g;c++)a[b[c]]=e[c];return a},combineRegex:function(a,b){return new RegExp("(("+a.source+")\\s("+b.source+"))")},getDateNthString:function(a,b,e){if(a)return Date.today().addDays(e).toString("d");if(b)return Date.today().last()[e]().toString("d")},buildRegexData:function(a){for(var b=[],e=a.length,g=0;g<e;g++)"[object Array]"===Object.prototype.toString.call(a[g])?b.push(this.combineRegex(a[g][0],a[g][1])):b.push(a[g]);return b}};h.processTimeObject=function(a){var b;c.setDefaults(a);
|
||||
b=h.isLeapYear(a.year)?d:f;a.month||!a.week&&!a.dayOfYear?a.dayOfYear=b[a.month]+a.day:c.getDayOfYear(a,b);b=new Date(a.year,a.month,a.day,a.hours,a.minutes,a.seconds,a.milliseconds);a.zone&&c.adjustForTimeZone(a,b);return b};h.ISO={regex:/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-4])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?\s?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,
|
||||
parse:function(a){a=a.match(this.regex);if(!a||!a.length)return null;a=c.buildTimeObjectFromData(a);return a.year&&(a.year||a.month||a.day||a.week||a.dayOfYear)?h.processTimeObject(a):null}};h.Numeric={isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},regex:/\b([0-1]?[0-9])([0-3]?[0-9])([0-2]?[0-9]?[0-9][0-9])\b/i,parse:function(a){var b,e={},g=Date.CultureInfo.dateElementOrder.split("");if(!this.isNumeric(a)||"+"===a[0]&&"-"===a[0])return null;if(5>a.length&&0>a.indexOf(".")&&0>a.indexOf("/"))return e.year=
|
||||
a,h.processTimeObject(e);a=a.match(this.regex);if(!a||!a.length)return null;for(b=0;b<g.length;b++)switch(g[b]){case "d":e.day=a[b+1];break;case "m":e.month=a[b+1]-1;break;case "y":e.year=a[b+1]}return h.processTimeObject(e)}};h.Normalizer={regexData:function(){var a=Date.CultureInfo.regexPatterns;return c.buildRegexData([a.tomorrow,a.yesterday,[a.past,a.mon],[a.past,a.tue],[a.past,a.wed],[a.past,a.thu],[a.past,a.fri],[a.past,a.sat],[a.past,a.sun]])},basicReplaceHash:function(){var a=Date.CultureInfo.regexPatterns;
|
||||
return{January:a.jan.source,February:a.feb,March:a.mar,April:a.apr,May:a.may,June:a.jun,July:a.jul,August:a.aug,September:a.sep,October:a.oct,November:a.nov,December:a.dec,"":/\bat\b/gi," ":/\s{2,}/,am:a.inTheMorning,"9am":a.thisMorning,pm:a.inTheEvening,"7pm":a.thisEvening}},keys:function(){return[c.getDateNthString(!0,!1,1),c.getDateNthString(!0,!1,-1),c.getDateNthString(!1,!0,"monday"),c.getDateNthString(!1,!0,"tuesday"),c.getDateNthString(!1,!0,"wednesday"),c.getDateNthString(!1,!0,"thursday"),
|
||||
c.getDateNthString(!1,!0,"friday"),c.getDateNthString(!1,!0,"saturday"),c.getDateNthString(!1,!0,"sunday")]},buildRegexFunctions:function(){var a=Date.CultureInfo.regexPatterns,b=Date.i18n.__,b=new RegExp("(\\b\\d\\d?("+b("AM")+"|"+b("PM")+")? )("+a.tomorrow.source.slice(1)+")","i");this.replaceFuncs=[[new RegExp(a.today.source+"(?!\\s*([+-]))\\b"),function(a){return 1<a.length?Date.today().toString("d"):a}],[b,function(a,b){return Date.today().addDays(1).toString("d")+" "+b}],[a.amThisMorning,function(a,
|
||||
b){return b}],[a.pmThisEvening,function(a,b){return b}]]},buildReplaceData:function(){this.buildRegexFunctions();this.replaceHash=c.addToHash(this.basicReplaceHash(),this.keys(),this.regexData())},stringReplaceFuncs:function(a){for(var b=0;b<this.replaceFuncs.length;b++)a=a.replace(this.replaceFuncs[b][0],this.replaceFuncs[b][1]);return a},parse:function(a){a=this.stringReplaceFuncs(a);a=c.multiReplace(a,this.replaceHash);try{var b=a.split(/([\s\-\.\,\/\x27]+)/);3===b.length&&h.Numeric.isNumeric(b[0])&&
|
||||
h.Numeric.isNumeric(b[2])&&4<=b[2].length&&"d"===Date.CultureInfo.dateElementOrder[0]&&(a="1/"+b[0]+"/"+b[2])}catch(e){}return a}};h.Normalizer.buildReplaceData()})();
|
||||
(function(){for(var h=Date.Parsing,f=h.Operators={rtoken:function(a){return function(e){var g=e.match(a);if(g)return[g[0],e.substring(g[0].length)];throw new h.Exception(e);}},token:function(){return function(a){return f.rtoken(new RegExp("^\\s*"+a+"\\s*"))(a)}},stoken:function(a){return f.rtoken(new RegExp("^"+a))},until:function(a){return function(e){for(var g=[],c=null;e.length;){try{c=a.call(this,e)}catch(d){g.push(c[0]);e=c[1];continue}break}return[g,e]}},many:function(a){return function(e){for(var g=
|
||||
[],c=null;e.length;){try{c=a.call(this,e)}catch(d){break}g.push(c[0]);e=c[1]}return[g,e]}},optional:function(a){return function(e){var g=null;try{g=a.call(this,e)}catch(c){return[null,e]}return[g[0],g[1]]}},not:function(a){return function(e){try{a.call(this,e)}catch(g){return[null,e]}throw new h.Exception(e);}},ignore:function(a){return a?function(e){var g=null,g=a.call(this,e);return[null,g[1]]}:null},product:function(){for(var a=arguments[0],e=Array.prototype.slice.call(arguments,1),g=[],c=0;c<
|
||||
a.length;c++)g.push(f.each(a[c],e));return g},cache:function(a){var e={},g=0,c=[],d=Date.Config.CACHE_MAX||1E5,f=null;return function(l){if(g===d)for(var p=0;10>p;p++){var q=c.shift();q&&(delete e[q],g--)}try{f=e[l]=e[l]||a.call(this,l)}catch(s){f=e[l]=s}g++;c.push(l);if(f instanceof h.Exception)throw f;return f}},any:function(){var a=arguments;return function(e){for(var g=null,c=0;c<a.length;c++)if(null!=a[c]){try{g=a[c].call(this,e)}catch(d){g=null}if(g)return g}throw new h.Exception(e);}},each:function(){var a=
|
||||
arguments;return function(e){for(var c=[],d=null,f=0;f<a.length;f++)if(null!=a[f]){try{d=a[f].call(this,e)}catch(n){throw new h.Exception(e);}c.push(d[0]);e=d[1]}return[c,e]}},all:function(){var a=a;return a.each(a.optional(arguments))},sequence:function(a,e,c){e=e||f.rtoken(/^\s*/);c=c||null;return 1===a.length?a[0]:function(d){for(var f=null,n=null,l=[],p=0;p<a.length;p++){try{f=a[p].call(this,d)}catch(q){break}l.push(f[0]);try{n=e.call(this,f[1])}catch(s){n=null;break}d=n[1]}if(!f)throw new h.Exception(d);
|
||||
if(n)throw new h.Exception(n[1]);if(c)try{f=c.call(this,f[1])}catch(u){throw new h.Exception(f[1]);}return[l,f?f[1]:d]}},between:function(a,e,c){c=c||a;var d=f.each(f.ignore(a),e,f.ignore(c));return function(a){a=d.call(this,a);return[[a[0][0],r[0][2]],a[1]]}},list:function(a,e,c){e=e||f.rtoken(/^\s*/);c=c||null;return a instanceof Array?f.each(f.product(a.slice(0,-1),f.ignore(e)),a.slice(-1),f.ignore(c)):f.each(f.many(f.each(a,f.ignore(e))),px,f.ignore(c))},set:function(a,e,c){e=e||f.rtoken(/^\s*/);
|
||||
c=c||null;return function(d){for(var k=null,n=k=null,l=null,p=[[],d],q=!1,s=0;s<a.length;s++){k=n=null;q=1===a.length;try{k=a[s].call(this,d)}catch(u){continue}l=[[k[0]],k[1]];if(0<k[1].length&&!q)try{n=e.call(this,k[1])}catch(v){q=!0}else q=!0;q||0!==n[1].length||(q=!0);if(!q){k=[];for(q=0;q<a.length;q++)s!==q&&k.push(a[q]);k=f.set(k,e).call(this,n[1]);0<k[0].length&&(l[0]=l[0].concat(k[0]),l[1]=k[1])}l[1].length<p[1].length&&(p=l);if(0===p[1].length)break}if(0===p[0].length)return p;if(c){try{n=
|
||||
c.call(this,p[1])}catch(w){throw new h.Exception(p[1]);}p[1]=n[1]}return p}},forward:function(a,e){return function(c){return a[e].call(this,c)}},replace:function(a,e){return function(c){c=a.call(this,c);return[e,c[1]]}},process:function(a,e){return function(c){c=a.call(this,c);return[e.call(this,c[0]),c[1]]}},min:function(a,e){return function(c){var d=e.call(this,c);if(d[0].length<a)throw new h.Exception(c);return d}}},d=function(a){return function(){var e=null,c=[],d;1<arguments.length?e=Array.prototype.slice.call(arguments):
|
||||
arguments[0]instanceof Array&&(e=arguments[0]);if(e){if(d=e.shift(),0<d.length)return e.unshift(d[void 0]),c.push(a.apply(null,e)),e.shift(),c}else return a.apply(null,arguments)}},c="optional not ignore cache".split(/\s/),a=0;a<c.length;a++)f[c[a]]=d(f[c[a]]);d=function(a){return function(){return arguments[0]instanceof Array?a.apply(null,arguments[0]):a.apply(null,arguments)}};c="each any all".split(/\s/);for(a=0;a<c.length;a++)f[c[a]]=d(f[c[a]])})();
|
||||
(function(){var h=Date,f=function(c){for(var a=[],b=0;b<c.length;b++)c[b]instanceof Array?a=a.concat(f(c[b])):c[b]&&a.push(c[b]);return a},d=function(){if(this.meridian&&(this.hour||0===this.hour)){if("a"===this.meridian&&11<this.hour&&Date.Config.strict24hr)throw"Invalid hour and meridian combination";if("p"===this.meridian&&12>this.hour&&Date.Config.strict24hr)throw"Invalid hour and meridian combination";"p"===this.meridian&&12>this.hour?this.hour+=12:"a"===this.meridian&&12===this.hour&&(this.hour=
|
||||
0)}};h.Translator={hour:function(c){return function(){this.hour=Number(c)}},minute:function(c){return function(){this.minute=Number(c)}},second:function(c){return function(){this.second=Number(c)}},secondAndMillisecond:function(c){return function(){var a=c.match(/^([0-5][0-9])\.([0-9]{1,3})/);this.second=Number(a[1]);this.millisecond=Number(a[2])}},meridian:function(c){return function(){this.meridian=c.slice(0,1).toLowerCase()}},timezone:function(c){return function(){var a=c.replace(/[^\d\+\-]/g,
|
||||
"");a.length?this.timezoneOffset=Number(a):this.timezone=c.toLowerCase()}},day:function(c){var a=c[0];return function(){this.day=Number(a.match(/\d+/)[0]);if(1>this.day)throw"invalid day";}},month:function(c){return function(){this.month=3===c.length?"jan feb mar apr may jun jul aug sep oct nov dec".indexOf(c)/4:Number(c)-1;if(0>this.month)throw"invalid month";}},year:function(c){return function(){var a=Number(c);this.year=2<c.length?a:a+(a+2E3<Date.CultureInfo.twoDigitYearMax?2E3:1900)}},rday:function(c){return function(){switch(c){case "yesterday":this.days=
|
||||
-1;break;case "tomorrow":this.days=1;break;case "today":this.days=0;break;case "now":this.days=0,this.now=!0}}},finishExact:function(c){c=c instanceof Array?c:[c];for(var a=0;a<c.length;a++)c[a]&&c[a].call(this);c=new Date;!this.hour&&!this.minute||this.month||this.year||this.day||(this.day=c.getDate());this.year||(this.year=c.getFullYear());this.month||0===this.month||(this.month=c.getMonth());this.day||(this.day=1);this.hour||(this.hour=0);this.minute||(this.minute=0);this.second||(this.second=
|
||||
0);this.millisecond||(this.millisecond=0);d.call(this);if(this.day>h.getDaysInMonth(this.year,this.month))throw new RangeError(this.day+" is not a valid value for days.");c=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);100>this.year&&c.setFullYear(this.year);this.timezone?c.set({timezone:this.timezone}):this.timezoneOffset&&c.set({timezoneOffset:this.timezoneOffset});return c},finish:function(c){var a,b,e;c=c instanceof Array?f(c):[c];if(0===c.length)return null;
|
||||
for(a=0;a<c.length;a++)"function"===typeof c[a]&&c[a].call(this);if(!this.now||this.unit||this.operator)c=this.now||-1!=="hour minute second".indexOf(this.unit)?new Date:h.today();else return new Date;a=!!(this.days&&null!==this.days||this.orient||this.operator);b="past"===this.orient||"subtract"===this.operator?-1:1;this.month&&"week"===this.unit&&(this.value=this.month+1,delete this.month,delete this.day);!this.month&&0!==this.month||-1==="year day hour minute second".indexOf(this.unit)||(this.value||
|
||||
(this.value=this.month+1),this.month=null,a=!0);a||!this.weekday||this.day||this.days||(e=Date[this.weekday](),this.day=e.getDate(),this.month||(this.month=e.getMonth()),this.year=e.getFullYear());if(a&&this.weekday&&"month"!==this.unit&&"week"!==this.unit){var g=c;e=b||1;this.unit="day";this.days=(g=h.getDayNumberFromName(this.weekday)-g.getDay())?(g+7*e)%7:7*e}!this.weekday||"week"===this.unit||this.day||this.days||(e=Date[this.weekday](),this.day=e.getDate(),e.getMonth()!==c.getMonth()&&(this.month=
|
||||
e.getMonth()));this.month&&"day"===this.unit&&this.operator&&(this.value||(this.value=this.month+1),this.month=null);null!=this.value&&null!=this.month&&null!=this.year&&(this.day=1*this.value);this.month&&!this.day&&this.value&&(c.set({day:1*this.value}),a||(this.day=1*this.value));this.month||!this.value||"month"!==this.unit||this.now||(this.month=this.value,a=!0);a&&(this.month||0===this.month)&&"year"!==this.unit&&(e=b||1,this.unit="month",this.months=(g=this.month-c.getMonth())?(g+12*e)%12:12*
|
||||
e,this.month=null);this.unit||(this.unit="day");if(!this.value&&this.operator&&null!==this.operator&&this[this.unit+"s"]&&null!==this[this.unit+"s"])this[this.unit+"s"]=this[this.unit+"s"]+("add"===this.operator?1:-1)+(this.value||0)*b;else if(null==this[this.unit+"s"]||null!=this.operator)this.value||(this.value=1),this[this.unit+"s"]=this.value*b;d.call(this);!this.month&&0!==this.month||this.day||(this.day=1);if(!this.orient&&!this.operator&&"week"===this.unit&&this.value&&!this.day&&!this.month)return Date.today().setWeek(this.value);
|
||||
if("week"===this.unit&&this.weeks&&!this.day&&!this.month)return c=Date[void 0!==this.weekday?this.weekday:"today"]().addWeeks(this.weeks),this.now&&c.setTimeToNow(),c;a&&this.timezone&&this.day&&this.days&&(this.day=this.days);a?c.add(this):c.set(this);this.timezone&&(this.timezone=this.timezone.toUpperCase(),a=h.getTimezoneOffset(this.timezone),c.hasDaylightSavingTime()&&(b=h.getTimezoneAbbreviation(a,c.isDaylightSavingTime()),b!==this.timezone&&(c.isDaylightSavingTime()?c.addHours(-1):c.addHours(1))),
|
||||
c.setTimezoneOffset(a));return c}}})();
|
||||
(function(){var h=Date;h.Grammar={};var f=h.Parsing.Operators,d=h.Grammar,c=h.Translator,a;a=function(){return f.each(f.any.apply(null,arguments),f.not(d.ctoken2("timeContext")))};d.datePartDelimiter=f.rtoken(/^([\s\-\.\,\/\x27]+)/);d.timePartDelimiter=f.stoken(":");d.whiteSpace=f.rtoken(/^\s*/);d.generalDelimiter=f.rtoken(/^(([\s\,]|at|@|on)+)/);var b={};d.ctoken=function(a){var c=b[a];if(!c){for(var c=Date.CultureInfo.regexPatterns,e=a.split(/\s+/),d=[],g=0;g<e.length;g++)d.push(f.replace(f.rtoken(c[e[g]]),
|
||||
e[g]));c=b[a]=f.any.apply(null,d)}return c};d.ctoken2=function(a){return f.rtoken(Date.CultureInfo.regexPatterns[a])};var e=function(a,b,c,e){d[a]=e?f.cache(f.process(f.each(f.rtoken(b),f.optional(d.ctoken2(e))),c)):f.cache(f.process(f.rtoken(b),c))},g=function(a,b){return f.cache(f.process(d.ctoken2(a),b))},m={},k=function(a){m[a]=m[a]||d.format(a)[0];return m[a]};d.allformats=function(a){var b=[];if(a instanceof Array)for(var c=0;c<a.length;c++)b.push(k(a[c]));else b.push(k(a));return b};d.formats=
|
||||
function(a){if(a instanceof Array){for(var b=[],c=0;c<a.length;c++)b.push(k(a[c]));return f.any.apply(null,b)}return k(a)};var n={timeFormats:function(){var a,b="h hh H HH m mm s ss ss.s z zz".split(" "),h=[/^(0[0-9]|1[0-2]|[1-9])/,/^(0[0-9]|1[0-2])/,/^([0-1][0-9]|2[0-3]|[0-9])/,/^([0-1][0-9]|2[0-3])/,/^([0-5][0-9]|[0-9])/,/^[0-5][0-9]/,/^([0-5][0-9]|[0-9])/,/^[0-5][0-9]/,/^[0-5][0-9]\.[0-9]{1,3}/,/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/,/^((\+|\-)\s*\d\d\d\d)|((\+|\-)\d\d\:?\d\d)/],m=[c.hour,
|
||||
c.hour,c.hour,c.minute,c.minute,c.second,c.second,c.secondAndMillisecond,c.timezone,c.timezone,c.timezone];for(a=0;a<b.length;a++)e(b[a],h[a],m[a]);d.hms=f.cache(f.sequence([d.H,d.m,d.s],d.timePartDelimiter));d.t=g("shortMeridian",c.meridian);d.tt=g("longMeridian",c.meridian);d.zzz=g("timezone",c.timezone);d.timeSuffix=f.each(f.ignore(d.whiteSpace),f.set([d.tt,d.zzz]));d.time=f.each(f.optional(f.ignore(f.stoken("T"))),d.hms,d.timeSuffix)},dateFormats:function(){var b=function(){return f.set(arguments,
|
||||
d.datePartDelimiter)},g,h="d dd M MM y yy yyy yyyy".split(" "),m=[/^([0-2]\d|3[0-1]|\d)/,/^([0-2]\d|3[0-1])/,/^(1[0-2]|0\d|\d)/,/^(1[0-2]|0\d)/,/^(\d+)/,/^(\d\d)/,/^(\d\d?\d?\d?)/,/^(\d\d\d\d)/],n=[c.day,c.day,c.month,c.month,c.year,c.year,c.year,c.year],k=["ordinalSuffix","ordinalSuffix"];for(g=0;g<h.length;g++)e(h[g],m[g],n[g],k[g]);d.MMM=d.MMMM=f.cache(f.process(d.ctoken("jan feb mar apr may jun jul aug sep oct nov dec"),c.month));d.ddd=d.dddd=f.cache(f.process(d.ctoken("sun mon tue wed thu fri sat"),
|
||||
function(a){return function(){this.weekday=a}}));d.day=a(d.d,d.dd);d.month=a(d.M,d.MMM);d.year=a(d.yyyy,d.yy);d.mdy=b(d.ddd,d.month,d.day,d.year);d.ymd=b(d.ddd,d.year,d.month,d.day);d.dmy=b(d.ddd,d.day,d.month,d.year);d.date=function(a){return(d[Date.CultureInfo.dateElementOrder]||d.mdy).call(this,a)}},relative:function(){d.orientation=f.process(d.ctoken("past future"),function(a){return function(){this.orient=a}});d.operator=f.process(d.ctoken("add subtract"),function(a){return function(){this.operator=
|
||||
a}});d.rday=f.process(d.ctoken("yesterday tomorrow today now"),c.rday);d.unit=f.process(d.ctoken("second minute hour day week month year"),function(a){return function(){this.unit=a}})}};d.buildGrammarFormats=function(){b={};n.timeFormats();n.dateFormats();n.relative();d.value=f.process(f.rtoken(/^([-+]?\d+)?(st|nd|rd|th)?/),function(a){return function(){this.value=a.replace(/\D/g,"")}});d.expression=f.set([d.rday,d.operator,d.value,d.unit,d.orientation,d.ddd,d.MMM]);d.format=f.process(f.many(f.any(f.process(f.rtoken(/^(dd?d?d?(?!e)|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?)/),
|
||||
function(a){if(d[a])return d[a];throw h.Parsing.Exception(a);}),f.process(f.rtoken(/^[^dMyhHmstz]+/),function(a){return f.ignore(f.stoken(a))}))),function(a){return f.process(f.each.apply(null,a),c.finishExact)});d._start=f.process(f.set([d.date,d.time,d.expression],d.generalDelimiter,d.whiteSpace),c.finish)};d.buildGrammarFormats();d._formats=d.formats('"yyyy-MM-ddTHH:mm:ssZ";yyyy-MM-ddTHH:mm:ss.sz;yyyy-MM-ddTHH:mm:ssZ;yyyy-MM-ddTHH:mm:ssz;yyyy-MM-ddTHH:mm:ss;yyyy-MM-ddTHH:mmZ;yyyy-MM-ddTHH:mmz;yyyy-MM-ddTHH:mm;ddd, MMM dd, yyyy H:mm:ss tt;ddd MMM d yyyy HH:mm:ss zzz;MMddyyyy;ddMMyyyy;Mddyyyy;ddMyyyy;Mdyyyy;dMyyyy;yyyy;Mdyy;dMyy;d'.split(";"));
|
||||
d.start=function(a){try{var b=d._formats.call({},a);if(0===b[1].length)return b}catch(c){}return d._start.call({},a)}})();
|
||||
(function(){var h=Date,f={removeOrds:function(d){return d=(ords=d.match(/\b(\d+)(?:st|nd|rd|th)\b/))&&2===ords.length?d.replace(ords[0],ords[1]):d},grammarParser:function(d){var c=null;try{c=h.Grammar.start.call({},d.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"))}catch(a){return null}return 0===c[1].length?c[0]:null},nativeFallback:function(d){var c;try{return(c=Date._parse(d))||0===c?new Date(c):null}catch(a){return null}}};h._parse||(h._parse=h.parse);h.parse=function(d){var c;if(!d)return null;if(d instanceof
|
||||
Date)return d.clone();4<=d.length&&"0"!==d.charAt(0)&&"+"!==d.charAt(0)&&"-"!==d.charAt(0)&&(c=h.Parsing.ISO.parse(d)||h.Parsing.Numeric.parse(d));if(c instanceof Date&&!isNaN(c.getTime()))return c;d=h.Parsing.Normalizer.parse(f.removeOrds(d));c=f.grammarParser(d);return null!==c?c:f.nativeFallback(d)};Date.getParseFunction=function(d){var c=Date.Grammar.allformats(d);return function(a){for(var b=null,e=0;e<c.length;e++){try{b=c[e].call({},a)}catch(d){continue}if(0===b[1].length)return b[0]}return null}};
|
||||
h.parseExact=function(d,c){return h.getParseFunction(c)(d)}})();
|
||||
(function(){var h=Date,f=h.prototype,d=function(a,b){b||(b=2);return("000"+a).slice(-1*b)},c={d:"dd","%d":"dd",D:"ddd","%a":"ddd",j:"dddd",l:"dddd","%A":"dddd",S:"S",F:"MMMM","%B":"MMMM",m:"MM","%m":"MM",M:"MMM","%b":"MMM","%h":"MMM",n:"M",Y:"yyyy","%Y":"yyyy",y:"yy","%y":"yy",g:"h","%I":"h",G:"H",h:"hh",H:"HH","%H":"HH",i:"mm","%M":"mm",s:"ss","%S":"ss","%r":"hh:mm tt","%R":"H:mm","%T":"H:mm:ss","%X":"t","%x":"d","%e":"d","%D":"MM/dd/yy","%n":"\\n","%t":"\\t",e:"z",T:"z","%z":"z","%Z":"z",Z:"ZZ",
|
||||
N:"u",w:"u","%w":"u",W:"W","%V":"W"},a={substitutes:function(a){return c[a]},interpreted:function(a,b){var c;switch(a){case "%u":return b.getDay()+1;case "z":return b.getOrdinalNumber();case "%j":return d(b.getOrdinalNumber(),3);case "%U":c=b.clone().set({month:0,day:1}).addDays(-1).moveToDayOfWeek(0);var f=b.clone().addDays(1).moveToDayOfWeek(0,-1);return f<c?"00":d((f.getOrdinalNumber()-c.getOrdinalNumber())/7+1);case "%W":return d(b.getWeek());case "t":return h.getDaysInMonth(b.getFullYear(),b.getMonth());
|
||||
case "o":case "%G":return b.setWeek(b.getISOWeek()).toString("yyyy");case "%g":return b._format("%G").slice(-2);case "a":case "%p":return t("tt").toLowerCase();case "A":return t("tt").toUpperCase();case "u":return d(b.getMilliseconds(),3);case "I":return b.isDaylightSavingTime()?1:0;case "O":return b.getUTCOffset();case "P":return c=b.getUTCOffset(),c.substring(0,c.length-2)+":"+c.substring(c.length-2);case "B":return c=new Date,Math.floor((3600*c.getHours()+60*c.getMinutes()+c.getSeconds()+60*(c.getTimezoneOffset()+
|
||||
60))/86.4);case "c":return b.toISOString().replace(/\"/g,"");case "U":return h.strtotime("now");case "%c":return t("d")+" "+t("t");case "%C":return Math.floor(b.getFullYear()/100+1)}},shouldOverrideDefaults:function(a){switch(a){case "%e":return!0;default:return!1}},parse:function(b,c){var d,f=c||new Date;return(d=a.substitutes(b))?d:(d=a.interpreted(b,f))?d:b}};h.normalizeFormat=function(b,c){return b.replace(/(%|\\)?.|%%/g,function(b){return a.parse(b,c)})};h.strftime=function(a,b){return Date.parse(b)._format(a)};
|
||||
h.strtotime=function(a){a=h.parse(a);return Math.round(h.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())/1E3)};var b=function(b){return function(c){var d=!1;if("\\"===c.charAt(0)||"%%"===c.substring(0,2))return c.replace("\\","").replace("%%","%");d=a.shouldOverrideDefaults(c);if(c=h.normalizeFormat(c,b))return b.toString(c,d)}};f._format=function(a){var c=b(this);return a?a.replace(/(%|\\)?.|%%/g,c):this._toString()};
|
||||
f.format||(f.format=f._format)})();
|
||||
(function(){var h=function(c){return function(){return this[c]}},f=function(c){return function(a){this[c]=a;return this}},d=function(c,a,b,e,f){if(1===arguments.length&&"number"===typeof c){var h=0>c?-1:1,k=Math.abs(c);this.setDays(Math.floor(k/864E5)*h);k%=864E5;this.setHours(Math.floor(k/36E5)*h);k%=36E5;this.setMinutes(Math.floor(k/6E4)*h);k%=6E4;this.setSeconds(Math.floor(k/1E3)*h);this.setMilliseconds(k%1E3*h)}else this.set(c,a,b,e,f);this.getTotalMilliseconds=function(){return 864E5*this.getDays()+
|
||||
36E5*this.getHours()+6E4*this.getMinutes()+1E3*this.getSeconds()};this.compareTo=function(a){var b=new Date(1970,1,1,this.getHours(),this.getMinutes(),this.getSeconds());a=null===a?new Date(1970,1,1,0,0,0):new Date(1970,1,1,a.getHours(),a.getMinutes(),a.getSeconds());return b<a?-1:b>a?1:0};this.equals=function(a){return 0===this.compareTo(a)};this.add=function(a){return null===a?this:this.addSeconds(a.getTotalMilliseconds()/1E3)};this.subtract=function(a){return null===a?this:this.addSeconds(-a.getTotalMilliseconds()/
|
||||
1E3)};this.addDays=function(a){return new d(this.getTotalMilliseconds()+864E5*a)};this.addHours=function(a){return new d(this.getTotalMilliseconds()+36E5*a)};this.addMinutes=function(a){return new d(this.getTotalMilliseconds()+6E4*a)};this.addSeconds=function(a){return new d(this.getTotalMilliseconds()+1E3*a)};this.addMilliseconds=function(a){return new d(this.getTotalMilliseconds()+a)};this.get12HourHour=function(){return 12<this.getHours()?this.getHours()-12:0===this.getHours()?12:this.getHours()};
|
||||
this.getDesignator=function(){return 12>this.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator};this.toString=function(a){this._toString=function(){return null!==this.getDays()&&0<this.getDays()?this.getDays()+"."+this.getHours()+":"+this.p(this.getMinutes())+":"+this.p(this.getSeconds()):this.getHours()+":"+this.p(this.getMinutes())+":"+this.p(this.getSeconds())};this.p=function(a){return 2>a.toString().length?"0"+a:a};var b=this;return a?a.replace(/dd?|HH?|hh?|mm?|ss?|tt?/g,
|
||||
function(a){switch(a){case "d":return b.getDays();case "dd":return b.p(b.getDays());case "H":return b.getHours();case "HH":return b.p(b.getHours());case "h":return b.get12HourHour();case "hh":return b.p(b.get12HourHour());case "m":return b.getMinutes();case "mm":return b.p(b.getMinutes());case "s":return b.getSeconds();case "ss":return b.p(b.getSeconds());case "t":return(12>b.getHours()?Date.CultureInfo.amDesignator:Date.CultureInfo.pmDesignator).substring(0,1);case "tt":return 12>b.getHours()?Date.CultureInfo.amDesignator:
|
||||
Date.CultureInfo.pmDesignator}}):this._toString()};return this};(function(c,a){for(var b=0;b<a.length;b++){var e=a[b],d=e.slice(0,1).toUpperCase()+e.slice(1);c.prototype[e]=0;c.prototype["get"+d]=h(e);c.prototype["set"+d]=f(e)}})(d,"years months days hours minutes seconds milliseconds".split(" ").slice(2));d.prototype.set=function(c,a,b,e,d){this.setDays(c||this.getDays());this.setHours(a||this.getHours());this.setMinutes(b||this.getMinutes());this.setSeconds(e||this.getSeconds());this.setMilliseconds(d||
|
||||
this.getMilliseconds())};Date.prototype.getTimeOfDay=function(){return new d(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())};Date.TimeSpan=d;"undefined"!==typeof window&&(window.TimeSpan=d)})();
|
||||
(function(){var h=function(a){return function(){return this[a]}},f=function(a){return function(b){this[a]=b;return this}},d=function(a,b,c,d){function f(){b.addMonths(-a);d.months++;12===d.months&&(d.years++,d.months=0)}if(1===a)for(;b>c;)f();else for(;b<c;)f();d.months--;d.months*=a;d.years*=a},c=function(a,b,c,f,h,k,n){if(7===arguments.length)this.set(a,b,c,f,h,k,n);else if(2===arguments.length&&arguments[0]instanceof Date&&arguments[1]instanceof Date){var l=arguments[0].clone(),p=arguments[1].clone(),
|
||||
q=l>p?1:-1;this.dates={start:arguments[0].clone(),end:arguments[1].clone()};d(q,l,p,this);var s=!1===(l.isDaylightSavingTime()===p.isDaylightSavingTime());s&&1===q?l.addHours(-1):s&&l.addHours(1);l=p-l;0!==l&&(l=new TimeSpan(l),this.set(this.years,this.months,l.getDays(),l.getHours(),l.getMinutes(),l.getSeconds(),l.getMilliseconds()))}return this};(function(a,b){for(var c=0;c<b.length;c++){var d=b[c],m=d.slice(0,1).toUpperCase()+d.slice(1);a.prototype[d]=0;a.prototype["get"+m]=h(d);a.prototype["set"+
|
||||
m]=f(d)}})(c,"years months days hours minutes seconds milliseconds".split(" "));c.prototype.set=function(a,b,c,d,f,h,n){this.setYears(a||this.getYears());this.setMonths(b||this.getMonths());this.setDays(c||this.getDays());this.setHours(d||this.getHours());this.setMinutes(f||this.getMinutes());this.setSeconds(h||this.getSeconds());this.setMilliseconds(n||this.getMilliseconds())};Date.TimePeriod=c;"undefined"!==typeof window&&(window.TimePeriod=c)})();
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/**
|
||||
* @overview NPM Module index: include all the core modules, I18n files will be loaded on the fly.
|
||||
* @author Gregory Wild-Smith <gregory@wild-smith.com>
|
||||
*/
|
||||
require("./src/core/i18n.js");
|
||||
require("./src/core/core.js");
|
||||
require("./src/core/core-prototypes.js");
|
||||
require("./src/core/sugarpak.js");
|
||||
require("./src/core/format_parser.js");
|
||||
require("./src/core/parsing_operators.js");
|
||||
require("./src/core/parsing_translator.js");
|
||||
require("./src/core/parsing_grammar.js");
|
||||
require("./src/core/parser.js");
|
||||
require("./src/core/extras.js");
|
||||
require("./src/core/time_period.js");
|
||||
require("./src/core/time_span.js");
|
||||
/*
|
||||
* Notice that there is no model.export or exports. This is not required as it modifies the Date object and it's prototypes.
|
||||
*/
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# Extras
|
||||
|
||||
Guides for making the picker work better with rails, IE, etc
|
||||
|
||||
## Rails 3
|
||||
|
||||
by [dhulihan](https://github.com/dhulihan)
|
||||
|
||||
You can easily override the default rails form helpers (`date_select` and `datetime_select`) with bootstrap-datetimepicker for a much nicer experience.
|
||||
|
||||
```rb
|
||||
# Add to config/initializers/form.rb or the end of app/helpers/application_helper.rb
|
||||
module ActionView
|
||||
module Helpers
|
||||
class FormBuilder
|
||||
def date_select(method, options = {}, html_options = {})
|
||||
existing_date = @object.send(method)
|
||||
formatted_date = existing_date.to_date.strftime("%F") if existing_date.present?
|
||||
@template.content_tag(:div, :class => "input-group") do
|
||||
text_field(method, :value => formatted_date, :class => "form-control datepicker", :"data-date-format" => "YYYY-MM-DD") +
|
||||
@template.content_tag(:span, @template.content_tag(:span, "", :class => "glyphicon glyphicon-calendar") ,:class => "input-group-addon")
|
||||
end
|
||||
end
|
||||
|
||||
def datetime_select(method, options = {}, html_options = {})
|
||||
existing_time = @object.send(method)
|
||||
formatted_time = existing_time.to_time.strftime("%F %I:%M %p") if existing_time.present?
|
||||
@template.content_tag(:div, :class => "input-group") do
|
||||
text_field(method, :value => formatted_time, :class => "form-control datetimepicker", :"data-date-format" => "YYYY-MM-DD hh:mm A") +
|
||||
@template.content_tag(:span, @template.content_tag(:span, "", :class => "glyphicon glyphicon-calendar") ,:class => "input-group-addon")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
The time format used here is ActiveRecord-friendly, which means it will be parsed correctly when passed in through `params` to your record.
|
||||
|
||||
That's all there is to it! Now all of your forms that use `datetime_select` or `date_select` will be automatically updated:
|
||||
|
||||
```erb
|
||||
<% form_for @post do |f| %>
|
||||
<div class="form-group">
|
||||
<label>Published At</label>
|
||||
<%= f.datetime_select :published_at %>
|
||||
</div>
|
||||
<% end %>
|
||||
```
|
||||
|
||||
## IE 7
|
||||
|
||||
by [EquilibriumCST](https://github.com/EquilibriumCST)
|
||||
|
||||
I succeed to run this widget under IE7.
|
||||
Here is what I did.
|
||||
|
||||
1. gliphicons are not working under IE7 so add [this css file](https://github.com/coliff/bootstrap-ie7). And this enables the icons.
|
||||
|
||||
2. Z-index problem with IE 7. I added position: relative and `z-index: 10` to the parent container. Otherwise popup is shown under the next elements.
|
||||
|
||||
3. JS events were not working well.
|
||||
|
||||
If you open the datetimepicker widget and click on some button or date inside it, widget is automatically closed.
|
||||
So I added `debug: true` as an option when initializing the widget. Why I did this? I saw on line 1121 from bootsrap-datetimepicker.js the code `'blur': options.debug ? '' : hide`.
|
||||
And now widget window is not closed on every click inside it, but now you can't close it anyway :)
|
||||
And closing should be done manually. I've added this document click handler. If you click something outside the widget, now closing works.
|
||||
|
||||
```
|
||||
$(document).click(function(e){
|
||||
var target = $(e.target);
|
||||
if(target.parents('.bootstrap-datetimepicker-widget').length < 1 && !target.hasClass('datetimepickerInput') && !target.hasClass('datepickerIcon') && !target.hasClass('clockpickerIcon')){
|
||||
if($('.bootstrap-datetimepicker-widget').length > 0){
|
||||
$('#startDate').data('DateTimePicker').hide();
|
||||
$('#startTime').data('DateTimePicker').hide();
|
||||
$('.datetimepickerInput').blur();
|
||||
}
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
But if you have more than one widget on the page like I did, clicking on one widget does'n close the other. Added below lines and now all works fine.
|
||||
|
||||
```
|
||||
$('#widget1').on("dp.show",function (e) {
|
||||
$('#widget2).data('DateTimePicker').hide();
|
||||
});
|
||||
|
||||
$('#widget2').on("dp.show",function (e) {
|
||||
$('#widget1).data('DateTimePicker').hide();
|
||||
});
|
||||
```
|
||||
|
||||
I hope this will help to the others who are fighting with the old IE versions :)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
|
|
@ -0,0 +1,13 @@
|
|||
(function () {
|
||||
// notequalto extra validators
|
||||
window.ParsleyConfig = window.ParsleyConfig || {};
|
||||
window.ParsleyConfig.validators = window.ParsleyConfig.validators || {};
|
||||
|
||||
// Greater than validator
|
||||
window.ParsleyConfig.validators.notequalto = {
|
||||
fn: function (value, requirement) {
|
||||
return value !== ($(requirement).length ? $(requirement).val() : requirement);
|
||||
},
|
||||
priority: 256
|
||||
};
|
||||
})();
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,22 @@
|
|||
define(function() {
|
||||
|
||||
function addGetHookIf( conditionFn, hookFn ) {
|
||||
// Define the hook, we'll check on the first run if it's really needed.
|
||||
return {
|
||||
get: function() {
|
||||
if ( conditionFn() ) {
|
||||
// Hook not needed (or it's not possible to use it due
|
||||
// to missing dependency), remove it.
|
||||
delete this.get;
|
||||
return;
|
||||
}
|
||||
|
||||
// Hook needed; redefine it so that the support test is not executed again.
|
||||
return (this.get = hookFn).apply( this, arguments );
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return addGetHookIf;
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
//! moment.js locale configuration
|
||||
//! locale : tamil (ta)
|
||||
//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
|
||||
|
||||
import moment from '../moment';
|
||||
|
||||
var symbolMap = {
|
||||
'1': '௧',
|
||||
'2': '௨',
|
||||
'3': '௩',
|
||||
'4': '௪',
|
||||
'5': '௫',
|
||||
'6': '௬',
|
||||
'7': '௭',
|
||||
'8': '௮',
|
||||
'9': '௯',
|
||||
'0': '௦'
|
||||
}, numberMap = {
|
||||
'௧': '1',
|
||||
'௨': '2',
|
||||
'௩': '3',
|
||||
'௪': '4',
|
||||
'௫': '5',
|
||||
'௬': '6',
|
||||
'௭': '7',
|
||||
'௮': '8',
|
||||
'௯': '9',
|
||||
'௦': '0'
|
||||
};
|
||||
|
||||
export default moment.defineLocale('ta', {
|
||||
months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
|
||||
monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
|
||||
weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
|
||||
weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
|
||||
weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH:mm',
|
||||
LTS : 'HH:mm:ss',
|
||||
L : 'DD/MM/YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY, HH:mm',
|
||||
LLLL : 'dddd, D MMMM YYYY, HH:mm'
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[இன்று] LT',
|
||||
nextDay : '[நாளை] LT',
|
||||
nextWeek : 'dddd, LT',
|
||||
lastDay : '[நேற்று] LT',
|
||||
lastWeek : '[கடந்த வாரம்] dddd, LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : '%s இல்',
|
||||
past : '%s முன்',
|
||||
s : 'ஒரு சில விநாடிகள்',
|
||||
m : 'ஒரு நிமிடம்',
|
||||
mm : '%d நிமிடங்கள்',
|
||||
h : 'ஒரு மணி நேரம்',
|
||||
hh : '%d மணி நேரம்',
|
||||
d : 'ஒரு நாள்',
|
||||
dd : '%d நாட்கள்',
|
||||
M : 'ஒரு மாதம்',
|
||||
MM : '%d மாதங்கள்',
|
||||
y : 'ஒரு வருடம்',
|
||||
yy : '%d ஆண்டுகள்'
|
||||
},
|
||||
ordinalParse: /\d{1,2}வது/,
|
||||
ordinal : function (number) {
|
||||
return number + 'வது';
|
||||
},
|
||||
preparse: function (string) {
|
||||
return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
|
||||
return numberMap[match];
|
||||
});
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/\d/g, function (match) {
|
||||
return symbolMap[match];
|
||||
});
|
||||
},
|
||||
// refer http://ta.wikipedia.org/s/1er1
|
||||
meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 2) {
|
||||
return ' யாமம்';
|
||||
} else if (hour < 6) {
|
||||
return ' வைகறை'; // வைகறை
|
||||
} else if (hour < 10) {
|
||||
return ' காலை'; // காலை
|
||||
} else if (hour < 14) {
|
||||
return ' நண்பகல்'; // நண்பகல்
|
||||
} else if (hour < 18) {
|
||||
return ' எற்பாடு'; // எற்பாடு
|
||||
} else if (hour < 22) {
|
||||
return ' மாலை'; // மாலை
|
||||
} else {
|
||||
return ' யாமம்';
|
||||
}
|
||||
},
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'யாமம்') {
|
||||
return hour < 2 ? hour : hour + 12;
|
||||
} else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
|
||||
return hour;
|
||||
} else if (meridiem === 'நண்பகல்') {
|
||||
return hour >= 10 ? hour : hour + 12;
|
||||
} else {
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 0, // Sunday is the first day of the week.
|
||||
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
module.exports = {
|
||||
title: {
|
||||
text: 'Area Chart',
|
||||
left: 'center',
|
||||
top: '3%',
|
||||
textStyle: {
|
||||
fontWeight: 'normal'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '12%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday']
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
splitNumber: 3
|
||||
},
|
||||
dataZoom: {
|
||||
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name:'Email',
|
||||
type:'line',
|
||||
stack: '总量',
|
||||
areaStyle: {normal: {}},
|
||||
data:[120, 132, 101, 134, 90, 230, 210]
|
||||
},
|
||||
{
|
||||
name:'联盟广告',
|
||||
type:'line',
|
||||
stack: '总量',
|
||||
areaStyle: {normal: {}},
|
||||
data:[220, 182, 191, 234, 290, 330, 310]
|
||||
},
|
||||
{
|
||||
name:'视频广告',
|
||||
type:'line',
|
||||
stack: '总量',
|
||||
areaStyle: {normal: {}},
|
||||
data:[150, 232, 201, 154, 190, 330, 410]
|
||||
},
|
||||
{
|
||||
name:'直接访问',
|
||||
type:'line',
|
||||
stack: '总量',
|
||||
areaStyle: {normal: {}},
|
||||
data:[320, 332, 301, 334, 390, 330, 320]
|
||||
},
|
||||
{
|
||||
name:'搜索引擎',
|
||||
type:'line',
|
||||
stack: '总量',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'top'
|
||||
}
|
||||
},
|
||||
areaStyle: {normal: {}},
|
||||
data:[820, 932, 901, 934, 1290, 1330, 1320]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
define(function(require) {
|
||||
|
||||
var zrUtil = require('zrender/core/util');
|
||||
var clazz = require('./clazz');
|
||||
|
||||
var parseClassType = clazz.parseClassType;
|
||||
|
||||
var base = 0;
|
||||
|
||||
var componentUtil = {};
|
||||
|
||||
var DELIMITER = '_';
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @param {string} type
|
||||
* @return {string}
|
||||
*/
|
||||
componentUtil.getUID = function (type) {
|
||||
// Considering the case of crossing js context,
|
||||
// use Math.random to make id as unique as possible.
|
||||
return [(type || ''), base++, Math.random()].join(DELIMITER);
|
||||
};
|
||||
|
||||
/**
|
||||
* @inner
|
||||
*/
|
||||
componentUtil.enableSubTypeDefaulter = function (entity) {
|
||||
|
||||
var subTypeDefaulters = {};
|
||||
|
||||
entity.registerSubTypeDefaulter = function (componentType, defaulter) {
|
||||
componentType = parseClassType(componentType);
|
||||
subTypeDefaulters[componentType.main] = defaulter;
|
||||
};
|
||||
|
||||
entity.determineSubType = function (componentType, option) {
|
||||
var type = option.type;
|
||||
if (!type) {
|
||||
var componentTypeMain = parseClassType(componentType).main;
|
||||
if (entity.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {
|
||||
type = subTypeDefaulters[componentTypeMain](option);
|
||||
}
|
||||
}
|
||||
return type;
|
||||
};
|
||||
|
||||
return entity;
|
||||
};
|
||||
|
||||
/**
|
||||
* Topological travel on Activity Network (Activity On Vertices).
|
||||
* Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].
|
||||
*
|
||||
* If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.
|
||||
*
|
||||
* If there is circle dependencey, Error will be thrown.
|
||||
*
|
||||
*/
|
||||
componentUtil.enableTopologicalTravel = function (entity, dependencyGetter) {
|
||||
|
||||
/**
|
||||
* @public
|
||||
* @param {Array.<string>} targetNameList Target Component type list.
|
||||
* Can be ['aa', 'bb', 'aa.xx']
|
||||
* @param {Array.<string>} fullNameList By which we can build dependency graph.
|
||||
* @param {Function} callback Params: componentType, dependencies.
|
||||
* @param {Object} context Scope of callback.
|
||||
*/
|
||||
entity.topologicalTravel = function (targetNameList, fullNameList, callback, context) {
|
||||
if (!targetNameList.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
var result = makeDepndencyGraph(fullNameList);
|
||||
var graph = result.graph;
|
||||
var stack = result.noEntryList;
|
||||
|
||||
var targetNameSet = {};
|
||||
zrUtil.each(targetNameList, function (name) {
|
||||
targetNameSet[name] = true;
|
||||
});
|
||||
|
||||
while (stack.length) {
|
||||
var currComponentType = stack.pop();
|
||||
var currVertex = graph[currComponentType];
|
||||
var isInTargetNameSet = !!targetNameSet[currComponentType];
|
||||
if (isInTargetNameSet) {
|
||||
callback.call(context, currComponentType, currVertex.originalDeps.slice());
|
||||
delete targetNameSet[currComponentType];
|
||||
}
|
||||
zrUtil.each(
|
||||
currVertex.successor,
|
||||
isInTargetNameSet ? removeEdgeAndAdd : removeEdge
|
||||
);
|
||||
}
|
||||
|
||||
zrUtil.each(targetNameSet, function () {
|
||||
throw new Error('Circle dependency may exists');
|
||||
});
|
||||
|
||||
function removeEdge(succComponentType) {
|
||||
graph[succComponentType].entryCount--;
|
||||
if (graph[succComponentType].entryCount === 0) {
|
||||
stack.push(succComponentType);
|
||||
}
|
||||
}
|
||||
|
||||
// Consider this case: legend depends on series, and we call
|
||||
// chart.setOption({series: [...]}), where only series is in option.
|
||||
// If we do not have 'removeEdgeAndAdd', legendModel.mergeOption will
|
||||
// not be called, but only sereis.mergeOption is called. Thus legend
|
||||
// have no chance to update its local record about series (like which
|
||||
// name of series is available in legend).
|
||||
function removeEdgeAndAdd(succComponentType) {
|
||||
targetNameSet[succComponentType] = true;
|
||||
removeEdge(succComponentType);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* DepndencyGraph: {Object}
|
||||
* key: conponentType,
|
||||
* value: {
|
||||
* successor: [conponentTypes...],
|
||||
* originalDeps: [conponentTypes...],
|
||||
* entryCount: {number}
|
||||
* }
|
||||
*/
|
||||
function makeDepndencyGraph(fullNameList) {
|
||||
var graph = {};
|
||||
var noEntryList = [];
|
||||
|
||||
zrUtil.each(fullNameList, function (name) {
|
||||
|
||||
var thisItem = createDependencyGraphItem(graph, name);
|
||||
var originalDeps = thisItem.originalDeps = dependencyGetter(name);
|
||||
|
||||
var availableDeps = getAvailableDependencies(originalDeps, fullNameList);
|
||||
thisItem.entryCount = availableDeps.length;
|
||||
if (thisItem.entryCount === 0) {
|
||||
noEntryList.push(name);
|
||||
}
|
||||
|
||||
zrUtil.each(availableDeps, function (dependentName) {
|
||||
if (zrUtil.indexOf(thisItem.predecessor, dependentName) < 0) {
|
||||
thisItem.predecessor.push(dependentName);
|
||||
}
|
||||
var thatItem = createDependencyGraphItem(graph, dependentName);
|
||||
if (zrUtil.indexOf(thatItem.successor, dependentName) < 0) {
|
||||
thatItem.successor.push(name);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return {graph: graph, noEntryList: noEntryList};
|
||||
}
|
||||
|
||||
function createDependencyGraphItem(graph, name) {
|
||||
if (!graph[name]) {
|
||||
graph[name] = {predecessor: [], successor: []};
|
||||
}
|
||||
return graph[name];
|
||||
}
|
||||
|
||||
function getAvailableDependencies(originalDeps, fullNameList) {
|
||||
var availableDeps = [];
|
||||
zrUtil.each(originalDeps, function (dep) {
|
||||
zrUtil.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);
|
||||
});
|
||||
return availableDeps;
|
||||
}
|
||||
};
|
||||
|
||||
return componentUtil;
|
||||
});
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
// Provide a cross-browser interface to a few simple drawing primitives
|
||||
$.fn.simpledraw = function (width, height, useExisting, interact) {
|
||||
var target, mhandler;
|
||||
if (useExisting && (target = this.data('_jqs_vcanvas'))) {
|
||||
return target;
|
||||
}
|
||||
|
||||
if ($.fn.sparkline.canvas === false) {
|
||||
// We've already determined that neither Canvas nor VML are available
|
||||
return false;
|
||||
|
||||
} else if ($.fn.sparkline.canvas === undefined) {
|
||||
// No function defined yet -- need to see if we support Canvas or VML
|
||||
var el = document.createElement('canvas');
|
||||
if (!!(el.getContext && el.getContext('2d'))) {
|
||||
// Canvas is available
|
||||
$.fn.sparkline.canvas = function(width, height, target, interact) {
|
||||
return new VCanvas_canvas(width, height, target, interact);
|
||||
};
|
||||
} else if (document.namespaces && !document.namespaces.v) {
|
||||
// VML is available
|
||||
document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', '#default#VML');
|
||||
$.fn.sparkline.canvas = function(width, height, target, interact) {
|
||||
return new VCanvas_vml(width, height, target);
|
||||
};
|
||||
} else {
|
||||
// Neither Canvas nor VML are available
|
||||
$.fn.sparkline.canvas = false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (width === undefined) {
|
||||
width = $(this).innerWidth();
|
||||
}
|
||||
if (height === undefined) {
|
||||
height = $(this).innerHeight();
|
||||
}
|
||||
|
||||
target = $.fn.sparkline.canvas(width, height, this, interact);
|
||||
|
||||
mhandler = $(this).data('_jqs_mhandler');
|
||||
if (mhandler) {
|
||||
mhandler.registerCanvas(target);
|
||||
}
|
||||
return target;
|
||||
};
|
||||
|
||||
$.fn.cleardraw = function () {
|
||||
var target = this.data('_jqs_vcanvas');
|
||||
if (target) {
|
||||
target.reset();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
/* Make the entire page show a busy cursor */
|
||||
.nprogress-busy body {
|
||||
cursor: wait;
|
||||
}
|
||||
|
|
@ -0,0 +1,515 @@
|
|||
/*!
|
||||
* inputmask.date.extensions.js
|
||||
* https://github.com/RobinHerbots/jquery.inputmask
|
||||
* Copyright (c) 2010 - 2016 Robin Herbots
|
||||
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
|
||||
* Version: 3.3.1
|
||||
*/
|
||||
!function(factory) {
|
||||
"function" == typeof define && define.amd ? define([ "inputmask.dependencyLib", "inputmask" ], factory) : "object" == typeof exports ? module.exports = factory(require("./inputmask.dependencyLib.jquery"), require("./inputmask")) : factory(window.dependencyLib || jQuery, window.Inputmask);
|
||||
}(function($, Inputmask) {
|
||||
return Inputmask.extendDefinitions({
|
||||
h: {
|
||||
validator: "[01][0-9]|2[0-3]",
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: "[0-2]",
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
s: {
|
||||
validator: "[0-5][0-9]",
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: "[0-5]",
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
d: {
|
||||
validator: "0[1-9]|[12][0-9]|3[01]",
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: "[0-3]",
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
m: {
|
||||
validator: "0[1-9]|1[012]",
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: "[01]",
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
y: {
|
||||
validator: "(19|20)\\d{2}",
|
||||
cardinality: 4,
|
||||
prevalidator: [ {
|
||||
validator: "[12]",
|
||||
cardinality: 1
|
||||
}, {
|
||||
validator: "(19|20)",
|
||||
cardinality: 2
|
||||
}, {
|
||||
validator: "(19|20)\\d",
|
||||
cardinality: 3
|
||||
} ]
|
||||
}
|
||||
}), Inputmask.extendAliases({
|
||||
"dd/mm/yyyy": {
|
||||
mask: "1/2/y",
|
||||
placeholder: "dd/mm/yyyy",
|
||||
regex: {
|
||||
val1pre: new RegExp("[0-3]"),
|
||||
val1: new RegExp("0[1-9]|[12][0-9]|3[01]"),
|
||||
val2pre: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[1-9]|[12][0-9]|3[01])" + escapedSeparator + "[01])");
|
||||
},
|
||||
val2: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[1-9]|[12][0-9])" + escapedSeparator + "(0[1-9]|1[012]))|(30" + escapedSeparator + "(0[13-9]|1[012]))|(31" + escapedSeparator + "(0[13578]|1[02]))");
|
||||
}
|
||||
},
|
||||
leapday: "29/02/",
|
||||
separator: "/",
|
||||
yearrange: {
|
||||
minyear: 1900,
|
||||
maxyear: 2099
|
||||
},
|
||||
isInYearRange: function(chrs, minyear, maxyear) {
|
||||
if (isNaN(chrs)) return !1;
|
||||
var enteredyear = parseInt(chrs.concat(minyear.toString().slice(chrs.length))), enteredyear2 = parseInt(chrs.concat(maxyear.toString().slice(chrs.length)));
|
||||
return (isNaN(enteredyear) ? !1 : enteredyear >= minyear && maxyear >= enteredyear) || (isNaN(enteredyear2) ? !1 : enteredyear2 >= minyear && maxyear >= enteredyear2);
|
||||
},
|
||||
determinebaseyear: function(minyear, maxyear, hint) {
|
||||
var currentyear = new Date().getFullYear();
|
||||
if (minyear > currentyear) return minyear;
|
||||
if (currentyear > maxyear) {
|
||||
for (var maxYearPrefix = maxyear.toString().slice(0, 2), maxYearPostfix = maxyear.toString().slice(2, 4); maxYearPrefix + hint > maxyear; ) maxYearPrefix--;
|
||||
var maxxYear = maxYearPrefix + maxYearPostfix;
|
||||
return minyear > maxxYear ? minyear : maxxYear;
|
||||
}
|
||||
if (currentyear >= minyear && maxyear >= currentyear) {
|
||||
for (var currentYearPrefix = currentyear.toString().slice(0, 2); currentYearPrefix + hint > maxyear; ) currentYearPrefix--;
|
||||
var currentYearAndHint = currentYearPrefix + hint;
|
||||
return minyear > currentYearAndHint ? minyear : currentYearAndHint;
|
||||
}
|
||||
return currentyear;
|
||||
},
|
||||
onKeyDown: function(e, buffer, caretPos, opts) {
|
||||
var $input = $(this);
|
||||
if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) {
|
||||
var today = new Date();
|
||||
$input.val(today.getDate().toString() + (today.getMonth() + 1).toString() + today.getFullYear().toString()),
|
||||
$input.trigger("setvalue");
|
||||
}
|
||||
},
|
||||
getFrontValue: function(mask, buffer, opts) {
|
||||
for (var start = 0, length = 0, i = 0; i < mask.length && "2" !== mask.charAt(i); i++) {
|
||||
var definition = opts.definitions[mask.charAt(i)];
|
||||
definition ? (start += length, length = definition.cardinality) : length++;
|
||||
}
|
||||
return buffer.join("").substr(start, length);
|
||||
},
|
||||
definitions: {
|
||||
"1": {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var isValid = opts.regex.val1.test(chrs);
|
||||
return strict || isValid || chrs.charAt(1) !== opts.separator && -1 === "-./".indexOf(chrs.charAt(1)) || !(isValid = opts.regex.val1.test("0" + chrs.charAt(0))) ? isValid : (maskset.buffer[pos - 1] = "0",
|
||||
{
|
||||
refreshFromBuffer: {
|
||||
start: pos - 1,
|
||||
end: pos
|
||||
},
|
||||
pos: pos,
|
||||
c: chrs.charAt(0)
|
||||
});
|
||||
},
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var pchrs = chrs;
|
||||
isNaN(maskset.buffer[pos + 1]) || (pchrs += maskset.buffer[pos + 1]);
|
||||
var isValid = 1 === pchrs.length ? opts.regex.val1pre.test(pchrs) : opts.regex.val1.test(pchrs);
|
||||
if (!strict && !isValid) {
|
||||
if (isValid = opts.regex.val1.test(chrs + "0")) return maskset.buffer[pos] = chrs,
|
||||
maskset.buffer[++pos] = "0", {
|
||||
pos: pos,
|
||||
c: "0"
|
||||
};
|
||||
if (isValid = opts.regex.val1.test("0" + chrs)) return maskset.buffer[pos] = "0",
|
||||
pos++, {
|
||||
pos: pos
|
||||
};
|
||||
}
|
||||
return isValid;
|
||||
},
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
"2": {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts);
|
||||
-1 !== frontValue.indexOf(opts.placeholder[0]) && (frontValue = "01" + opts.separator);
|
||||
var isValid = opts.regex.val2(opts.separator).test(frontValue + chrs);
|
||||
if (!strict && !isValid && (chrs.charAt(1) === opts.separator || -1 !== "-./".indexOf(chrs.charAt(1))) && (isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs.charAt(0)))) return maskset.buffer[pos - 1] = "0",
|
||||
{
|
||||
refreshFromBuffer: {
|
||||
start: pos - 1,
|
||||
end: pos
|
||||
},
|
||||
pos: pos,
|
||||
c: chrs.charAt(0)
|
||||
};
|
||||
if (opts.mask.indexOf("2") === opts.mask.length - 1 && isValid) {
|
||||
var dayMonthValue = maskset.buffer.join("").substr(4, 4) + chrs;
|
||||
if (dayMonthValue !== opts.leapday) return !0;
|
||||
var year = parseInt(maskset.buffer.join("").substr(0, 4), 10);
|
||||
return year % 4 === 0 ? year % 100 === 0 ? year % 400 === 0 ? !0 : !1 : !0 : !1;
|
||||
}
|
||||
return isValid;
|
||||
},
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
isNaN(maskset.buffer[pos + 1]) || (chrs += maskset.buffer[pos + 1]);
|
||||
var frontValue = opts.getFrontValue(maskset.mask, maskset.buffer, opts);
|
||||
-1 !== frontValue.indexOf(opts.placeholder[0]) && (frontValue = "01" + opts.separator);
|
||||
var isValid = 1 === chrs.length ? opts.regex.val2pre(opts.separator).test(frontValue + chrs) : opts.regex.val2(opts.separator).test(frontValue + chrs);
|
||||
return strict || isValid || !(isValid = opts.regex.val2(opts.separator).test(frontValue + "0" + chrs)) ? isValid : (maskset.buffer[pos] = "0",
|
||||
pos++, {
|
||||
pos: pos
|
||||
});
|
||||
},
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
y: {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
if (opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) {
|
||||
var dayMonthValue = maskset.buffer.join("").substr(0, 6);
|
||||
if (dayMonthValue !== opts.leapday) return !0;
|
||||
var year = parseInt(chrs, 10);
|
||||
return year % 4 === 0 ? year % 100 === 0 ? year % 400 === 0 ? !0 : !1 : !0 : !1;
|
||||
}
|
||||
return !1;
|
||||
},
|
||||
cardinality: 4,
|
||||
prevalidator: [ {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear);
|
||||
if (!strict && !isValid) {
|
||||
var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 1);
|
||||
if (isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(0),
|
||||
{
|
||||
pos: pos
|
||||
};
|
||||
if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs + "0").toString().slice(0, 2),
|
||||
isValid = opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(0),
|
||||
maskset.buffer[pos++] = yearPrefix.charAt(1), {
|
||||
pos: pos
|
||||
};
|
||||
}
|
||||
return isValid;
|
||||
},
|
||||
cardinality: 1
|
||||
}, {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var isValid = opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear);
|
||||
if (!strict && !isValid) {
|
||||
var yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2);
|
||||
if (isValid = opts.isInYearRange(chrs[0] + yearPrefix[1] + chrs[1], opts.yearrange.minyear, opts.yearrange.maxyear)) return maskset.buffer[pos++] = yearPrefix.charAt(1),
|
||||
{
|
||||
pos: pos
|
||||
};
|
||||
if (yearPrefix = opts.determinebaseyear(opts.yearrange.minyear, opts.yearrange.maxyear, chrs).toString().slice(0, 2),
|
||||
opts.isInYearRange(yearPrefix + chrs, opts.yearrange.minyear, opts.yearrange.maxyear)) {
|
||||
var dayMonthValue = maskset.buffer.join("").substr(0, 6);
|
||||
if (dayMonthValue !== opts.leapday) isValid = !0; else {
|
||||
var year = parseInt(chrs, 10);
|
||||
isValid = year % 4 === 0 ? year % 100 === 0 ? year % 400 === 0 ? !0 : !1 : !0 : !1;
|
||||
}
|
||||
} else isValid = !1;
|
||||
if (isValid) return maskset.buffer[pos - 1] = yearPrefix.charAt(0), maskset.buffer[pos++] = yearPrefix.charAt(1),
|
||||
maskset.buffer[pos++] = chrs.charAt(0), {
|
||||
refreshFromBuffer: {
|
||||
start: pos - 3,
|
||||
end: pos
|
||||
},
|
||||
pos: pos
|
||||
};
|
||||
}
|
||||
return isValid;
|
||||
},
|
||||
cardinality: 2
|
||||
}, {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
return opts.isInYearRange(chrs, opts.yearrange.minyear, opts.yearrange.maxyear);
|
||||
},
|
||||
cardinality: 3
|
||||
} ]
|
||||
}
|
||||
},
|
||||
insertMode: !1,
|
||||
autoUnmask: !1
|
||||
},
|
||||
"mm/dd/yyyy": {
|
||||
placeholder: "mm/dd/yyyy",
|
||||
alias: "dd/mm/yyyy",
|
||||
regex: {
|
||||
val2pre: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])");
|
||||
},
|
||||
val2: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)");
|
||||
},
|
||||
val1pre: new RegExp("[01]"),
|
||||
val1: new RegExp("0[1-9]|1[012]")
|
||||
},
|
||||
leapday: "02/29/",
|
||||
onKeyDown: function(e, buffer, caretPos, opts) {
|
||||
var $input = $(this);
|
||||
if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) {
|
||||
var today = new Date();
|
||||
$input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()),
|
||||
$input.trigger("setvalue");
|
||||
}
|
||||
}
|
||||
},
|
||||
"yyyy/mm/dd": {
|
||||
mask: "y/1/2",
|
||||
placeholder: "yyyy/mm/dd",
|
||||
alias: "mm/dd/yyyy",
|
||||
leapday: "/02/29",
|
||||
onKeyDown: function(e, buffer, caretPos, opts) {
|
||||
var $input = $(this);
|
||||
if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) {
|
||||
var today = new Date();
|
||||
$input.val(today.getFullYear().toString() + (today.getMonth() + 1).toString() + today.getDate().toString()),
|
||||
$input.trigger("setvalue");
|
||||
}
|
||||
}
|
||||
},
|
||||
"dd.mm.yyyy": {
|
||||
mask: "1.2.y",
|
||||
placeholder: "dd.mm.yyyy",
|
||||
leapday: "29.02.",
|
||||
separator: ".",
|
||||
alias: "dd/mm/yyyy"
|
||||
},
|
||||
"dd-mm-yyyy": {
|
||||
mask: "1-2-y",
|
||||
placeholder: "dd-mm-yyyy",
|
||||
leapday: "29-02-",
|
||||
separator: "-",
|
||||
alias: "dd/mm/yyyy"
|
||||
},
|
||||
"mm.dd.yyyy": {
|
||||
mask: "1.2.y",
|
||||
placeholder: "mm.dd.yyyy",
|
||||
leapday: "02.29.",
|
||||
separator: ".",
|
||||
alias: "mm/dd/yyyy"
|
||||
},
|
||||
"mm-dd-yyyy": {
|
||||
mask: "1-2-y",
|
||||
placeholder: "mm-dd-yyyy",
|
||||
leapday: "02-29-",
|
||||
separator: "-",
|
||||
alias: "mm/dd/yyyy"
|
||||
},
|
||||
"yyyy.mm.dd": {
|
||||
mask: "y.1.2",
|
||||
placeholder: "yyyy.mm.dd",
|
||||
leapday: ".02.29",
|
||||
separator: ".",
|
||||
alias: "yyyy/mm/dd"
|
||||
},
|
||||
"yyyy-mm-dd": {
|
||||
mask: "y-1-2",
|
||||
placeholder: "yyyy-mm-dd",
|
||||
leapday: "-02-29",
|
||||
separator: "-",
|
||||
alias: "yyyy/mm/dd"
|
||||
},
|
||||
datetime: {
|
||||
mask: "1/2/y h:s",
|
||||
placeholder: "dd/mm/yyyy hh:mm",
|
||||
alias: "dd/mm/yyyy",
|
||||
regex: {
|
||||
hrspre: new RegExp("[012]"),
|
||||
hrs24: new RegExp("2[0-4]|1[3-9]"),
|
||||
hrs: new RegExp("[01][0-9]|2[0-4]"),
|
||||
ampm: new RegExp("^[a|p|A|P][m|M]"),
|
||||
mspre: new RegExp("[0-5]"),
|
||||
ms: new RegExp("[0-5][0-9]")
|
||||
},
|
||||
timeseparator: ":",
|
||||
hourFormat: "24",
|
||||
definitions: {
|
||||
h: {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
if ("24" === opts.hourFormat && 24 === parseInt(chrs, 10)) return maskset.buffer[pos - 1] = "0",
|
||||
maskset.buffer[pos] = "0", {
|
||||
refreshFromBuffer: {
|
||||
start: pos - 1,
|
||||
end: pos
|
||||
},
|
||||
c: "0"
|
||||
};
|
||||
var isValid = opts.regex.hrs.test(chrs);
|
||||
if (!strict && !isValid && (chrs.charAt(1) === opts.timeseparator || -1 !== "-.:".indexOf(chrs.charAt(1))) && (isValid = opts.regex.hrs.test("0" + chrs.charAt(0)))) return maskset.buffer[pos - 1] = "0",
|
||||
maskset.buffer[pos] = chrs.charAt(0), pos++, {
|
||||
refreshFromBuffer: {
|
||||
start: pos - 2,
|
||||
end: pos
|
||||
},
|
||||
pos: pos,
|
||||
c: opts.timeseparator
|
||||
};
|
||||
if (isValid && "24" !== opts.hourFormat && opts.regex.hrs24.test(chrs)) {
|
||||
var tmp = parseInt(chrs, 10);
|
||||
return 24 === tmp ? (maskset.buffer[pos + 5] = "a", maskset.buffer[pos + 6] = "m") : (maskset.buffer[pos + 5] = "p",
|
||||
maskset.buffer[pos + 6] = "m"), tmp -= 12, 10 > tmp ? (maskset.buffer[pos] = tmp.toString(),
|
||||
maskset.buffer[pos - 1] = "0") : (maskset.buffer[pos] = tmp.toString().charAt(1),
|
||||
maskset.buffer[pos - 1] = tmp.toString().charAt(0)), {
|
||||
refreshFromBuffer: {
|
||||
start: pos - 1,
|
||||
end: pos + 6
|
||||
},
|
||||
c: maskset.buffer[pos]
|
||||
};
|
||||
}
|
||||
return isValid;
|
||||
},
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var isValid = opts.regex.hrspre.test(chrs);
|
||||
return strict || isValid || !(isValid = opts.regex.hrs.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0",
|
||||
pos++, {
|
||||
pos: pos
|
||||
});
|
||||
},
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
s: {
|
||||
validator: "[0-5][0-9]",
|
||||
cardinality: 2,
|
||||
prevalidator: [ {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
var isValid = opts.regex.mspre.test(chrs);
|
||||
return strict || isValid || !(isValid = opts.regex.ms.test("0" + chrs)) ? isValid : (maskset.buffer[pos] = "0",
|
||||
pos++, {
|
||||
pos: pos
|
||||
});
|
||||
},
|
||||
cardinality: 1
|
||||
} ]
|
||||
},
|
||||
t: {
|
||||
validator: function(chrs, maskset, pos, strict, opts) {
|
||||
return opts.regex.ampm.test(chrs + "m");
|
||||
},
|
||||
casing: "lower",
|
||||
cardinality: 1
|
||||
}
|
||||
},
|
||||
insertMode: !1,
|
||||
autoUnmask: !1
|
||||
},
|
||||
datetime12: {
|
||||
mask: "1/2/y h:s t\\m",
|
||||
placeholder: "dd/mm/yyyy hh:mm xm",
|
||||
alias: "datetime",
|
||||
hourFormat: "12"
|
||||
},
|
||||
"mm/dd/yyyy hh:mm xm": {
|
||||
mask: "1/2/y h:s t\\m",
|
||||
placeholder: "mm/dd/yyyy hh:mm xm",
|
||||
alias: "datetime12",
|
||||
regex: {
|
||||
val2pre: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[13-9]|1[012])" + escapedSeparator + "[0-3])|(02" + escapedSeparator + "[0-2])");
|
||||
},
|
||||
val2: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + escapedSeparator + "30)|((0[13578]|1[02])" + escapedSeparator + "31)");
|
||||
},
|
||||
val1pre: new RegExp("[01]"),
|
||||
val1: new RegExp("0[1-9]|1[012]")
|
||||
},
|
||||
leapday: "02/29/",
|
||||
onKeyDown: function(e, buffer, caretPos, opts) {
|
||||
var $input = $(this);
|
||||
if (e.ctrlKey && e.keyCode === Inputmask.keyCode.RIGHT) {
|
||||
var today = new Date();
|
||||
$input.val((today.getMonth() + 1).toString() + today.getDate().toString() + today.getFullYear().toString()),
|
||||
$input.trigger("setvalue");
|
||||
}
|
||||
}
|
||||
},
|
||||
"hh:mm t": {
|
||||
mask: "h:s t\\m",
|
||||
placeholder: "hh:mm xm",
|
||||
alias: "datetime",
|
||||
hourFormat: "12"
|
||||
},
|
||||
"h:s t": {
|
||||
mask: "h:s t\\m",
|
||||
placeholder: "hh:mm xm",
|
||||
alias: "datetime",
|
||||
hourFormat: "12"
|
||||
},
|
||||
"hh:mm:ss": {
|
||||
mask: "h:s:s",
|
||||
placeholder: "hh:mm:ss",
|
||||
alias: "datetime",
|
||||
autoUnmask: !1
|
||||
},
|
||||
"hh:mm": {
|
||||
mask: "h:s",
|
||||
placeholder: "hh:mm",
|
||||
alias: "datetime",
|
||||
autoUnmask: !1
|
||||
},
|
||||
date: {
|
||||
alias: "dd/mm/yyyy"
|
||||
},
|
||||
"mm/yyyy": {
|
||||
mask: "1/y",
|
||||
placeholder: "mm/yyyy",
|
||||
leapday: "donotuse",
|
||||
separator: "/",
|
||||
alias: "mm/dd/yyyy"
|
||||
},
|
||||
shamsi: {
|
||||
regex: {
|
||||
val2pre: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "[0-3])");
|
||||
},
|
||||
val2: function(separator) {
|
||||
var escapedSeparator = Inputmask.escapeRegex.call(this, separator);
|
||||
return new RegExp("((0[1-9]|1[012])" + escapedSeparator + "(0[1-9]|[12][0-9]))|((0[1-9]|1[012])" + escapedSeparator + "30)|((0[1-6])" + escapedSeparator + "31)");
|
||||
},
|
||||
val1pre: new RegExp("[01]"),
|
||||
val1: new RegExp("0[1-9]|1[012]")
|
||||
},
|
||||
yearrange: {
|
||||
minyear: 1300,
|
||||
maxyear: 1499
|
||||
},
|
||||
mask: "y/1/2",
|
||||
leapday: "/12/30",
|
||||
placeholder: "yyyy/mm/dd",
|
||||
alias: "mm/dd/yyyy",
|
||||
clearIncomplete: !0
|
||||
}
|
||||
}), Inputmask;
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue