@ -0,0 +1,851 @@
|
||||
!SESSION 2022-06-20 11:38:57.070 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-20 11:40:06.194
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-20 11:40:24.571
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 0 2022-06-20 11:42:30.890
|
||||
!MESSAGE Unexpected error loading extension: org.eclipse.equinox.p2.metadata.repository.compositeRepository
|
||||
!STACK 0
|
||||
java.lang.IllegalStateException: BundleContext is no longer valid
|
||||
at org.eclipse.osgi.internal.framework.BundleContextImpl.checkValid(BundleContextImpl.java:992)
|
||||
at org.eclipse.osgi.internal.framework.BundleContextImpl.getServiceReference(BundleContextImpl.java:567)
|
||||
at org.eclipse.osgi.internal.framework.BundleContextImpl.getServiceReference(BundleContextImpl.java:1019)
|
||||
at org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper.getService(ServiceHelper.java:32)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:515)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1018)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getRepositoryProperty(AbstractRepositoryManager.java:567)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:234)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 0 2022-06-20 11:42:30.917
|
||||
!MESSAGE Unexpected error loading extension: org.eclipse.equinox.p2.metadata.repository.compositeRepository
|
||||
!STACK 0
|
||||
org.eclipse.oomph.util.ReflectUtil$ReflectionException: java.lang.NullPointerException
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:132)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
|
||||
Caused by: java.lang.NullPointerException
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.findMatchingRepositoryExtensions(AbstractRepositoryManager.java:407)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:765)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
... 23 more
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.updatechecker 4 0 2022-06-20 11:42:30.918
|
||||
!MESSAGE Exception in update check thread
|
||||
!STACK 0
|
||||
org.eclipse.oomph.util.ReflectUtil$ReflectionException: java.lang.NullPointerException
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:132)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
|
||||
Caused by: java.lang.NullPointerException
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.findMatchingRepositoryExtensions(AbstractRepositoryManager.java:407)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:765)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
... 8 more
|
||||
!SESSION 2022-06-20 20:10:01.439 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-20 20:11:17.489
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-20 20:11:37.240
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:18:35.804
|
||||
!MESSAGE Connection to http://jope.ow2.org/update/jope/site.xml failed on jope.ow2.org. Retry attempt 0 started
|
||||
!STACK 0
|
||||
java.net.UnknownHostException: jope.ow2.org
|
||||
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
|
||||
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)
|
||||
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName0(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
|
||||
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
|
||||
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
|
||||
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:18:36.183
|
||||
!MESSAGE Connection to http://jope.ow2.org/update/jope/p2.index failed on jope.ow2.org. Retry attempt 0 started
|
||||
!STACK 0
|
||||
java.net.UnknownHostException: jope.ow2.org
|
||||
at java.net.InetAddress.getAllByName0(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
|
||||
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
|
||||
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
|
||||
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:19:53.441
|
||||
!MESSAGE Connection to http://jope.ow2.org/update/jope/site.xml failed on jope.ow2.org. Retry attempt 0 started
|
||||
!STACK 0
|
||||
java.net.UnknownHostException: jope.ow2.org
|
||||
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
|
||||
at java.net.InetAddress$2.lookupAllHostAddr(Unknown Source)
|
||||
at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName0(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
|
||||
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
|
||||
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
|
||||
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2022-06-20 20:19:53.676
|
||||
!MESSAGE Connection to http://jope.ow2.org/update/jope/p2.index failed on jope.ow2.org. Retry attempt 0 started
|
||||
!STACK 0
|
||||
java.net.UnknownHostException: jope.ow2.org
|
||||
at java.net.InetAddress.getAllByName0(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at java.net.InetAddress.getAllByName(Unknown Source)
|
||||
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162)
|
||||
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
|
||||
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
|
||||
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-20 20:22:08.807
|
||||
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
|
||||
|
||||
!ENTRY org.eclipse.ui 4 0 2022-06-20 20:23:54.244
|
||||
!MESSAGE Unhandled event loop exception
|
||||
!STACK 0
|
||||
org.eclipse.swt.SWTException: Widget is disposed
|
||||
at org.eclipse.swt.SWT.error(SWT.java:4595)
|
||||
at org.eclipse.swt.SWT.error(SWT.java:4510)
|
||||
at org.eclipse.swt.SWT.error(SWT.java:4481)
|
||||
at org.eclipse.swt.widgets.Widget.error(Widget.java:451)
|
||||
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:350)
|
||||
at org.eclipse.swt.widgets.Text.setText(Text.java:2187)
|
||||
at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite.init(TomcatRuntimeComposite.java:354)
|
||||
at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeComposite.setRuntime(TomcatRuntimeComposite.java:121)
|
||||
at org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment.enter(TomcatRuntimeWizardFragment.java:56)
|
||||
at org.eclipse.wst.server.ui.internal.wizard.TaskWizard$2$1.run(TaskWizard.java:173)
|
||||
at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:61)
|
||||
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:171)
|
||||
at org.eclipse.ui.internal.UISynchronizer.lambda$0(UISynchronizer.java:153)
|
||||
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
|
||||
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
|
||||
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3919)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3550)
|
||||
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:168)
|
||||
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
|
||||
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:977)
|
||||
at org.eclipse.wst.server.ui.internal.wizard.TaskWizard.performFinish(TaskWizard.java:223)
|
||||
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:775)
|
||||
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:414)
|
||||
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:622)
|
||||
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
|
||||
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
|
||||
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
|
||||
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
|
||||
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
|
||||
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
|
||||
at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
|
||||
at org.eclipse.jface.window.Window.open(Window.java:798)
|
||||
at org.eclipse.wst.server.ui.internal.ServerUIPlugin.showNewRuntimeWizard(ServerUIPlugin.java:582)
|
||||
at org.eclipse.wst.server.ui.ServerUIUtil.showNewRuntimeWizard(ServerUIUtil.java:57)
|
||||
at org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage.launchNewRuntimeWizard(DataModelFacetCreationWizardPage.java:420)
|
||||
at org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage.internalLaunchNewRuntimeWizard(DataModelFacetCreationWizardPage.java:478)
|
||||
at org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage$7.widgetSelected(DataModelFacetCreationWizardPage.java:530)
|
||||
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
|
||||
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
|
||||
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
|
||||
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
|
||||
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
|
||||
at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
|
||||
at org.eclipse.jface.window.Window.open(Window.java:798)
|
||||
at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:102)
|
||||
at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
|
||||
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
|
||||
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
|
||||
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
|
||||
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131)
|
||||
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
|
||||
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547)
|
||||
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
|
||||
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
|
||||
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
|
||||
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
|
||||
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
|
||||
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
|
||||
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
|
||||
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
|
||||
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
|
||||
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
|
||||
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
|
||||
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
|
||||
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
|
||||
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
|
||||
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
|
||||
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
|
||||
|
||||
!ENTRY org.eclipse.jface 2 0 2022-06-20 20:28:14.067
|
||||
!MESSAGE Ignored reentrant call while viewer is busy. This is only logged once per viewer instance, but similar calls will still be ignored.
|
||||
!STACK 0
|
||||
java.lang.RuntimeException
|
||||
at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:764)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTreeViewer.java:153)
|
||||
at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java:305)
|
||||
at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.lambda$1(ResourceExtensionContentProvider.java:282)
|
||||
at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.runUpdates(ResourceExtensionContentProvider.java:314)
|
||||
at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.lambda$0(ResourceExtensionContentProvider.java:142)
|
||||
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
|
||||
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
|
||||
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3919)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3550)
|
||||
at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:128)
|
||||
at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:102)
|
||||
at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:147)
|
||||
at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:276)
|
||||
at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:205)
|
||||
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:95)
|
||||
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:297)
|
||||
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:124)
|
||||
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2243)
|
||||
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2290)
|
||||
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2322)
|
||||
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadModel(AbstractMergedModelProvider.java:249)
|
||||
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:219)
|
||||
at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:139)
|
||||
at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider.getCachedContentProvider(JEE5ContentProvider.java:98)
|
||||
at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getChildren(Web25ContentProvider.java:35)
|
||||
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:98)
|
||||
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:244)
|
||||
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
|
||||
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:160)
|
||||
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
|
||||
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:146)
|
||||
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:132)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1415)
|
||||
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:350)
|
||||
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:903)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:621)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2663)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1953)
|
||||
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:677)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1929)
|
||||
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1886)
|
||||
at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:532)
|
||||
at org.eclipse.jface.viewers.StructuredViewer.lambda$3(StructuredViewer.java:1533)
|
||||
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1449)
|
||||
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:363)
|
||||
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1410)
|
||||
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1533)
|
||||
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:538)
|
||||
at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:349)
|
||||
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run(PackageExplorerContentProvider.java:986)
|
||||
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(PackageExplorerContentProvider.java:209)
|
||||
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runPendingUpdates(PackageExplorerContentProvider.java:201)
|
||||
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$1.runInUIThread(PackageExplorerContentProvider.java:179)
|
||||
at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:98)
|
||||
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
|
||||
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
|
||||
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3919)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3550)
|
||||
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:168)
|
||||
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
|
||||
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:474)
|
||||
at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:240)
|
||||
at org.eclipse.ui.internal.progress.ProgressManager.lambda$24(ProgressManager.java:801)
|
||||
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
|
||||
at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:834)
|
||||
at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:810)
|
||||
at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:970)
|
||||
at org.eclipse.ui.actions.CopyFilesAndFoldersOperation.copyFileStores(CopyFilesAndFoldersOperation.java:926)
|
||||
at org.eclipse.ui.actions.CopyFilesAndFoldersOperation.copyFiles(CopyFilesAndFoldersOperation.java:822)
|
||||
at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction$FilePaster.paste(PasteAction.java:1294)
|
||||
at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.run(PasteAction.java:274)
|
||||
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
|
||||
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252)
|
||||
at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
|
||||
at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:121)
|
||||
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:96)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
|
||||
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:320)
|
||||
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:254)
|
||||
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:164)
|
||||
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
|
||||
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:497)
|
||||
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:490)
|
||||
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
|
||||
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)
|
||||
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:584)
|
||||
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:653)
|
||||
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:443)
|
||||
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$2(KeyBindingDispatcher.java:386)
|
||||
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:96)
|
||||
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
|
||||
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1193)
|
||||
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1054)
|
||||
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
|
||||
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1064)
|
||||
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1106)
|
||||
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1102)
|
||||
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1489)
|
||||
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4888)
|
||||
at org.eclipse.swt.widgets.Tree.WM_CHAR(Tree.java:5967)
|
||||
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4768)
|
||||
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5962)
|
||||
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4770)
|
||||
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
|
||||
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3545)
|
||||
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
|
||||
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
|
||||
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
|
||||
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
|
||||
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
|
||||
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
|
||||
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
|
||||
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
|
||||
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
|
||||
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
|
||||
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
|
||||
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
|
||||
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
|
||||
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
|
||||
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
|
||||
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
|
||||
!SESSION 2022-06-20 23:25:19.029 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-20 23:28:22.753
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-20 23:28:39.929
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.jst.server.tomcat.core 4 0 2022-06-20 23:29:04.696
|
||||
!MESSAGE Several ports (8005, 8080) required by Tomcat v8.5 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
|
||||
!SESSION 2022-06-21 17:55:45.785 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-21 17:56:28.014
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-21 17:56:42.648
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-21 18:57:18.596
|
||||
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
|
||||
!SESSION 2022-06-21 21:39:41.193 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.core.resources 2 10035 2022-06-21 21:40:01.863
|
||||
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-21 21:40:16.840
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-21 21:40:30.191
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-21 21:46:57.942
|
||||
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-21 23:10:31.342
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
!SESSION 2022-06-22 15:48:31.578 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 15:49:00.972
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-22 15:49:18.049
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.oomph.setup.core 2 0 2022-06-22 15:49:29.526
|
||||
!MESSAGE The Eclipse Git-hosted URI 'http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup' is blocked for direct access.
|
||||
Please open a Bugzilla to add it to an official Oomph catalog.
|
||||
For initial testing, use the file system local version of the resource.
|
||||
Alternatively, run the setup archiver application as follows:
|
||||
D:\eclipse\eclipsec.exe -application org.eclipse.oomph.setup.core.SetupArchiver -consoleLog -noSplash -uris http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup
|
||||
|
||||
!ENTRY org.eclipse.jst.server.tomcat.core 4 0 2022-06-22 15:54:08.322
|
||||
!MESSAGE Several ports (8005, 8080) required by Tomcat v8.5 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-22 16:09:04.669
|
||||
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 16:09:31.491
|
||||
!MESSAGE Unable to read repository at http://download.jboss.org/jbosstools/updates/webtools/photon/compositeContent.xml.
|
||||
!STACK 0
|
||||
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
|
||||
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:449)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:220)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.layerProtocol(ManagedClientConnectionImpl.java:419)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:813)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
Caused by: java.io.EOFException: SSL peer shut down incorrectly
|
||||
at sun.security.ssl.InputRecord.read(Unknown Source)
|
||||
... 16 more
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.core 4 0 2022-06-22 16:10:34.475
|
||||
!MESSAGE Provisioning exception
|
||||
!STACK 1
|
||||
org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at http://download.eclipse.org/jetty/updates/jetty-wtp/1.0.0.201107011148/content.xml.
|
||||
at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:246)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:69)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:89)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
|
||||
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
|
||||
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:152)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:130)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:78)
|
||||
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
|
||||
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:449)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:220)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.layerProtocol(ManagedClientConnectionImpl.java:419)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:813)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
Caused by: java.io.EOFException: SSL peer shut down incorrectly
|
||||
at sun.security.ssl.InputRecord.read(Unknown Source)
|
||||
... 16 more
|
||||
!SUBENTRY 1 org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 16:10:34.545
|
||||
!MESSAGE Unable to read repository at http://download.eclipse.org/jetty/updates/jetty-wtp/1.0.0.201107011148/content.xml.
|
||||
!STACK 0
|
||||
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
|
||||
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:449)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:220)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.layerProtocol(ManagedClientConnectionImpl.java:419)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:813)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:614)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
Caused by: java.io.EOFException: SSL peer shut down incorrectly
|
||||
at sun.security.ssl.InputRecord.read(Unknown Source)
|
||||
... 16 more
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.core 4 0 2022-06-22 16:15:14.800
|
||||
!MESSAGE Provisioning exception
|
||||
!STACK 1
|
||||
org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://download.jboss.org/jbosstools/targetplatforms/jbtcentraltarget/4.23.0.AM1-SNAPSHOT/REPO/.
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:398)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:353)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:244)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.addChild(CompositeMetadataRepository.java:168)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository.<init>(CompositeMetadataRepository.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepositoryFactory.load(CompositeMetadataRepositoryFactory.java:124)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:63)
|
||||
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:770)
|
||||
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:117)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:409)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:201)
|
||||
at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Metadata.loadRepository(CachingRepositoryManager.java:476)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:110)
|
||||
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:105)
|
||||
at org.eclipse.equinox.p2.engine.ProvisioningContext.loadMetadataRepository(ProvisioningContext.java:238)
|
||||
at org.eclipse.equinox.p2.engine.ProvisioningContext.getLoadedMetadataRepositories(ProvisioningContext.java:216)
|
||||
at org.eclipse.equinox.p2.engine.ProvisioningContext.getMetadata(ProvisioningContext.java:304)
|
||||
at org.eclipse.equinox.internal.p2.director.SimplePlanner.updatesFor(SimplePlanner.java:1003)
|
||||
at org.eclipse.equinox.p2.operations.UpdateOperation.updatesFor(UpdateOperation.java:144)
|
||||
at org.eclipse.equinox.p2.operations.UpdateOperation.computeProfileChangeRequest(UpdateOperation.java:179)
|
||||
at org.eclipse.equinox.p2.operations.UpdateOperation.lambda$0(UpdateOperation.java:314)
|
||||
at org.eclipse.equinox.internal.p2.operations.SearchForUpdatesResolutionJob.runModal(SearchForUpdatesResolutionJob.java:41)
|
||||
at org.eclipse.equinox.p2.operations.ProfileChangeOperation.resolveModal(ProfileChangeOperation.java:118)
|
||||
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdater.updatesAvailable(AutomaticUpdater.java:111)
|
||||
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdater.updatesAvailable(AutomaticUpdater.java:91)
|
||||
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler$1.updatesAvailable(AutomaticUpdateScheduler.java:151)
|
||||
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:83)
|
||||
!SUBENTRY 1 org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-22 16:15:14.801
|
||||
!MESSAGE No repository found at http://download.jboss.org/jbosstools/targetplatforms/jbtcentraltarget/4.23.0.AM1-SNAPSHOT/REPO/.
|
||||
!SESSION 2022-06-22 19:33:21.564 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 19:33:37.107
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-22 19:33:47.535
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.oomph.setup.core 2 0 2022-06-22 19:34:41.513
|
||||
!MESSAGE The Eclipse Git-hosted URI 'http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup' is blocked for direct access.
|
||||
Please open a Bugzilla to add it to an official Oomph catalog.
|
||||
For initial testing, use the file system local version of the resource.
|
||||
Alternatively, run the setup archiver application as follows:
|
||||
D:\eclipse\eclipsec.exe -application org.eclipse.oomph.setup.core.SetupArchiver -consoleLog -noSplash -uris http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/interim/GMFRuntime.setup
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 19:52:27.021
|
||||
!MESSAGE Unable to read repository at http://download.oracle.com/otn_software/oepe/12.2.1.8/oxygen/repository/dependencies/compositeContent.xml.
|
||||
!STACK 0
|
||||
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
|
||||
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:573)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:557)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.SNIAwareHttpClient$1.connectSocket(SNIAwareHttpClient.java:64)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
Caused by: java.io.EOFException: SSL peer shut down incorrectly
|
||||
at sun.security.ssl.InputRecord.read(Unknown Source)
|
||||
... 17 more
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 19:53:46.554
|
||||
!MESSAGE Unable to connect to repository http://download.oracle.com/otn_software/oepe/library/eclipse-oomph-1.8/content.xml
|
||||
!STACK 0
|
||||
java.net.ConnectException: Connection timed out: connect
|
||||
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
|
||||
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
|
||||
at java.net.PlainSocketImpl.connect(Unknown Source)
|
||||
at java.net.SocksSocketImpl.connect(Unknown Source)
|
||||
at java.net.Socket.connect(Unknown Source)
|
||||
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 19:54:31.036
|
||||
!MESSAGE Unable to connect to repository http://download.oracle.com/otn_software/oepe/oxygen/compositeContent.xml
|
||||
!STACK 0
|
||||
java.net.ConnectException: Connection timed out: connect
|
||||
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
|
||||
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
|
||||
at java.net.PlainSocketImpl.connect(Unknown Source)
|
||||
at java.net.SocksSocketImpl.connect(Unknown Source)
|
||||
at java.net.Socket.connect(Unknown Source)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:542)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.SNIAwareHttpClient$1.connectSocket(SNIAwareHttpClient.java:64)
|
||||
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-22 19:55:24.554
|
||||
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2022-06-22 20:00:13.074
|
||||
!MESSAGE Unable to connect to repository http://download.oracle.com/otn_software/oepe/library/eclipse-oxygen.2/compositeContent.xml
|
||||
!STACK 0
|
||||
java.net.ConnectException: Connection timed out: connect
|
||||
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
|
||||
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
|
||||
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
|
||||
at java.net.PlainSocketImpl.connect(Unknown Source)
|
||||
at java.net.SocksSocketImpl.connect(Unknown Source)
|
||||
at java.net.Socket.connect(Unknown Source)
|
||||
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
|
||||
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
|
||||
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
|
||||
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
|
||||
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
|
||||
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
|
||||
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
|
||||
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
|
||||
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 22:38:47.088
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-22 22:38:47.185
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
!SESSION 2022-06-27 10:02:58.885 -----------------------------------------------
|
||||
eclipse.buildId=4.10.0.I20181206-0815
|
||||
java.version=1.8.0_192
|
||||
java.vendor=Oracle Corporation
|
||||
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
|
||||
Framework arguments: -product org.eclipse.epp.package.jee.product
|
||||
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
|
||||
|
||||
!ENTRY org.eclipse.jface.text 2 0 2022-06-27 10:04:08.491
|
||||
!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean'
|
||||
|
||||
!ENTRY org.eclipse.egit.ui 2 0 2022-06-27 10:04:35.771
|
||||
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
|
||||
user global configuration and to define the default location to store repositories: 'C:\Users\gjy45'. If this is
|
||||
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
|
||||
EGit might behave differently since they see different configuration options.
|
||||
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
|
||||
|
||||
!ENTRY org.eclipse.equinox.p2.metadata.repository 4 1000 2022-06-27 10:12:36.038
|
||||
!MESSAGE No repository found at http://download.eclipse.org/technology/m2e/releases/.
|
@ -0,0 +1,23 @@
|
||||
/* Malaysian initialisation for the jQuery UI date picker plugin. */
|
||||
/* Written by Mohd Nawawi Mohamad Jamili (nawawi@ronggeng.net). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['ms'] = {
|
||||
closeText: 'Tutup',
|
||||
prevText: '<Sebelum',
|
||||
nextText: 'Selepas>',
|
||||
currentText: 'hari ini',
|
||||
monthNames: ['Januari','Februari','Mac','April','Mei','Jun',
|
||||
'Julai','Ogos','September','Oktober','November','Disember'],
|
||||
monthNamesShort: ['Jan','Feb','Mac','Apr','Mei','Jun',
|
||||
'Jul','Ogo','Sep','Okt','Nov','Dis'],
|
||||
dayNames: ['Ahad','Isnin','Selasa','Rabu','Khamis','Jumaat','Sabtu'],
|
||||
dayNamesShort: ['Aha','Isn','Sel','Rab','kha','Jum','Sab'],
|
||||
dayNamesMin: ['Ah','Is','Se','Ra','Kh','Ju','Sa'],
|
||||
weekHeader: 'Mg',
|
||||
dateFormat: 'dd/mm/yy',
|
||||
firstDay: 0,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: false,
|
||||
yearSuffix: ''};
|
||||
$.datepicker.setDefaults($.datepicker.regional['ms']);
|
||||
});
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,71 @@
|
||||
table {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
td {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 10pt;
|
||||
color: #404040;
|
||||
}
|
||||
|
||||
.divMain {
|
||||
width: 900px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.divTitle {
|
||||
border: 1px solid #d0d0d0;
|
||||
background: url(/goods/images/bg_btns.png) repeat-x;
|
||||
background-position: 0 -132px;
|
||||
margin-left: 2px;
|
||||
height: 30px;
|
||||
width: 99.8%;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.price_t {
|
||||
color: #c30;
|
||||
font-weight: bold;
|
||||
padding-right: 10px;
|
||||
font-family: Arial;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.tt {
|
||||
background-color: #efeae5;
|
||||
height: 25px;
|
||||
font-family: Arial;
|
||||
color: #878787;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #018BD3;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #018BD3;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #FF6600;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a.link2 {
|
||||
border: 1px solid #ffffff;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a.link2:HOVER {
|
||||
border: 1px solid #d0d0d0;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a.link2:active {
|
||||
border: 1px dotted #404040;
|
||||
display: inline-block;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
/* Indonesian initialisation for the jQuery UI date picker plugin. */
|
||||
/* Written by Deden Fathurahman (dedenf@gmail.com). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['id'] = {
|
||||
closeText: 'Tutup',
|
||||
prevText: '<mundur',
|
||||
nextText: 'maju>',
|
||||
currentText: 'hari ini',
|
||||
monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
|
||||
'Juli','Agustus','September','Oktober','Nopember','Desember'],
|
||||
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
|
||||
'Jul','Agus','Sep','Okt','Nop','Des'],
|
||||
dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
|
||||
dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
|
||||
dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
|
||||
weekHeader: 'Mg',
|
||||
dateFormat: 'dd/mm/yy',
|
||||
firstDay: 0,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: false,
|
||||
yearSuffix: ''};
|
||||
$.datepicker.setDefaults($.datepicker.regional['id']);
|
||||
});
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* jQuery UI Dialog 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Dialog
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.widget.js
|
||||
* jquery.ui.button.js
|
||||
* jquery.ui.draggable.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.position.js
|
||||
* jquery.ui.resizable.js
|
||||
*/
|
||||
(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
|
||||
position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
|
||||
b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
|
||||
h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
|
||||
e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
|
||||
a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
|
||||
b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=
|
||||
1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
|
||||
f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
|
||||
function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
|
||||
handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
|
||||
originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
|
||||
f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
|
||||
[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
|
||||
if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
|
||||
e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
|
||||
this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
|
||||
b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.14",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
|
||||
create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),
|
||||
height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
|
||||
b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=
|
||||
a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
|
@ -0,0 +1,39 @@
|
||||
package cn.itcast.goods.admin.admin.web.servlet;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.itcast.commons.CommonUtils;
|
||||
import cn.itcast.goods.admin.admin.domain.Admin;
|
||||
import cn.itcast.goods.admin.admin.service.AdminService;
|
||||
import cn.itcast.servlet.BaseServlet;
|
||||
|
||||
public class AdminServlet extends BaseServlet {
|
||||
private AdminService adminService = new AdminService();
|
||||
|
||||
/**
|
||||
* 登录功能
|
||||
* @param req
|
||||
* @param resp
|
||||
* @return
|
||||
* @throws ServletException
|
||||
* @throws IOException
|
||||
*/
|
||||
public String login(HttpServletRequest req, HttpServletResponse resp)
|
||||
throws ServletException, IOException {
|
||||
/*
|
||||
* 1. 封装表单数据到Admin
|
||||
*/
|
||||
Admin form = CommonUtils.toBean(req.getParameterMap(), Admin.class);
|
||||
Admin admin = adminService.login(form);
|
||||
if(admin == null) {
|
||||
req.setAttribute("msg", "用户名或密码错误!");
|
||||
return "/adminjsps/login.jsp";
|
||||
}
|
||||
req.getSession().setAttribute("admin", admin);
|
||||
return "r:/adminjsps/admin/index.jsp";
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>添加分类</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
<script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
|
||||
<script type="text/javascript">
|
||||
function checkForm() {
|
||||
if(!$("#cname").val()) {
|
||||
alert("分类名不能为空!");
|
||||
return false;
|
||||
}
|
||||
if(!$("#desc").val()) {
|
||||
alert("分类描述不能为空!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
body {background: rgb(254,238,189);}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h3>修改1级分类</h3>
|
||||
<h1></h1>
|
||||
<p style="font-weight: 900; color: red">${msg }</p>
|
||||
<form action="<c:url value='/admin/AdminCategoryServlet'/>" method="post" onsubmit="return checkForm()">
|
||||
<input type="hidden" name="cid" value="${parent.cid }"/>
|
||||
<input type="hidden" name="method" value="editParent"/>
|
||||
分类名称:<input type="text" name="cname" id="cname" value="${parent.cname }"/><br/>
|
||||
分类描述:<textarea rows="5" cols="50" id="desc" name="desc">${parent.desc }</textarea><br/>
|
||||
<input type="submit" value="修改分类"/>
|
||||
<input type="button" value="返回" onclick="history.go(-1)"/>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* jQuery UI Effects Clip 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Effects/Clip
|
||||
*
|
||||
* Depends:
|
||||
* jquery.effects.core.js
|
||||
*/
|
||||
(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
|
||||
c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
|
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* jQuery UI Effects Blind 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Effects/Blind
|
||||
*
|
||||
* Depends:
|
||||
* jquery.effects.core.js
|
||||
*/
|
||||
(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
|
||||
g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
|
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,23 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>body.jsp</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
|
||||
</head>
|
||||
|
||||
<body style="margin: 0px;">
|
||||
<img src="<c:url value='/images/welcome.jpg'/>" width="100%" height="100%"/>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,52 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>组合查询</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
<style type="text/css">
|
||||
table {
|
||||
color: #404040;
|
||||
font-size: 10pt;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form action="<c:url value='/jsps/book/list.jsp'/>" method="get">
|
||||
<input type="hidden" name="method" value=""/>
|
||||
<table align="center">
|
||||
<tr>
|
||||
<td>书名:</td>
|
||||
<td><input type="text" name="bname"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>作者:</td>
|
||||
<td><input type="text" name="author"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>出版社:</td>
|
||||
<td><input type="text" name="press"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input type="submit" value="搜 索"/>
|
||||
<input type="reset" value="重新填写"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,296 @@
|
||||
/*
|
||||
* jQuery UI Droppable 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Droppables
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.widget.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.draggable.js
|
||||
*/
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.widget("ui.droppable", {
|
||||
widgetEventPrefix: "drop",
|
||||
options: {
|
||||
accept: '*',
|
||||
activeClass: false,
|
||||
addClasses: true,
|
||||
greedy: false,
|
||||
hoverClass: false,
|
||||
scope: 'default',
|
||||
tolerance: 'intersect'
|
||||
},
|
||||
_create: function() {
|
||||
|
||||
var o = this.options, accept = o.accept;
|
||||
this.isover = 0; this.isout = 1;
|
||||
|
||||
this.accept = $.isFunction(accept) ? accept : function(d) {
|
||||
return d.is(accept);
|
||||
};
|
||||
|
||||
//Store the droppable's proportions
|
||||
this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };
|
||||
|
||||
// Add the reference and positions to the manager
|
||||
$.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];
|
||||
$.ui.ddmanager.droppables[o.scope].push(this);
|
||||
|
||||
(o.addClasses && this.element.addClass("ui-droppable"));
|
||||
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
var drop = $.ui.ddmanager.droppables[this.options.scope];
|
||||
for ( var i = 0; i < drop.length; i++ )
|
||||
if ( drop[i] == this )
|
||||
drop.splice(i, 1);
|
||||
|
||||
this.element
|
||||
.removeClass("ui-droppable ui-droppable-disabled")
|
||||
.removeData("droppable")
|
||||
.unbind(".droppable");
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
_setOption: function(key, value) {
|
||||
|
||||
if(key == 'accept') {
|
||||
this.accept = $.isFunction(value) ? value : function(d) {
|
||||
return d.is(value);
|
||||
};
|
||||
}
|
||||
$.Widget.prototype._setOption.apply(this, arguments);
|
||||
},
|
||||
|
||||
_activate: function(event) {
|
||||
var draggable = $.ui.ddmanager.current;
|
||||
if(this.options.activeClass) this.element.addClass(this.options.activeClass);
|
||||
(draggable && this._trigger('activate', event, this.ui(draggable)));
|
||||
},
|
||||
|
||||
_deactivate: function(event) {
|
||||
var draggable = $.ui.ddmanager.current;
|
||||
if(this.options.activeClass) this.element.removeClass(this.options.activeClass);
|
||||
(draggable && this._trigger('deactivate', event, this.ui(draggable)));
|
||||
},
|
||||
|
||||
_over: function(event) {
|
||||
|
||||
var draggable = $.ui.ddmanager.current;
|
||||
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
|
||||
|
||||
if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
|
||||
if(this.options.hoverClass) this.element.addClass(this.options.hoverClass);
|
||||
this._trigger('over', event, this.ui(draggable));
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_out: function(event) {
|
||||
|
||||
var draggable = $.ui.ddmanager.current;
|
||||
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
|
||||
|
||||
if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
|
||||
if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);
|
||||
this._trigger('out', event, this.ui(draggable));
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_drop: function(event,custom) {
|
||||
|
||||
var draggable = custom || $.ui.ddmanager.current;
|
||||
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element
|
||||
|
||||
var childrenIntersection = false;
|
||||
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
|
||||
var inst = $.data(this, 'droppable');
|
||||
if(
|
||||
inst.options.greedy
|
||||
&& !inst.options.disabled
|
||||
&& inst.options.scope == draggable.options.scope
|
||||
&& inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element))
|
||||
&& $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
|
||||
) { childrenIntersection = true; return false; }
|
||||
});
|
||||
if(childrenIntersection) return false;
|
||||
|
||||
if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
|
||||
if(this.options.activeClass) this.element.removeClass(this.options.activeClass);
|
||||
if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);
|
||||
this._trigger('drop', event, this.ui(draggable));
|
||||
return this.element;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
},
|
||||
|
||||
ui: function(c) {
|
||||
return {
|
||||
draggable: (c.currentItem || c.element),
|
||||
helper: c.helper,
|
||||
position: c.position,
|
||||
offset: c.positionAbs
|
||||
};
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$.extend($.ui.droppable, {
|
||||
version: "1.8.14"
|
||||
});
|
||||
|
||||
$.ui.intersect = function(draggable, droppable, toleranceMode) {
|
||||
|
||||
if (!droppable.offset) return false;
|
||||
|
||||
var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
|
||||
y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;
|
||||
var l = droppable.offset.left, r = l + droppable.proportions.width,
|
||||
t = droppable.offset.top, b = t + droppable.proportions.height;
|
||||
|
||||
switch (toleranceMode) {
|
||||
case 'fit':
|
||||
return (l <= x1 && x2 <= r
|
||||
&& t <= y1 && y2 <= b);
|
||||
break;
|
||||
case 'intersect':
|
||||
return (l < x1 + (draggable.helperProportions.width / 2) // Right Half
|
||||
&& x2 - (draggable.helperProportions.width / 2) < r // Left Half
|
||||
&& t < y1 + (draggable.helperProportions.height / 2) // Bottom Half
|
||||
&& y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
|
||||
break;
|
||||
case 'pointer':
|
||||
var draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left),
|
||||
draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top),
|
||||
isOver = $.ui.isOver(draggableTop, draggableLeft, t, l, droppable.proportions.height, droppable.proportions.width);
|
||||
return isOver;
|
||||
break;
|
||||
case 'touch':
|
||||
return (
|
||||
(y1 >= t && y1 <= b) || // Top edge touching
|
||||
(y2 >= t && y2 <= b) || // Bottom edge touching
|
||||
(y1 < t && y2 > b) // Surrounded vertically
|
||||
) && (
|
||||
(x1 >= l && x1 <= r) || // Left edge touching
|
||||
(x2 >= l && x2 <= r) || // Right edge touching
|
||||
(x1 < l && x2 > r) // Surrounded horizontally
|
||||
);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
This manager tracks offsets of draggables and droppables
|
||||
*/
|
||||
$.ui.ddmanager = {
|
||||
current: null,
|
||||
droppables: { 'default': [] },
|
||||
prepareOffsets: function(t, event) {
|
||||
|
||||
var m = $.ui.ddmanager.droppables[t.options.scope] || [];
|
||||
var type = event ? event.type : null; // workaround for #2317
|
||||
var list = (t.currentItem || t.element).find(":data(droppable)").andSelf();
|
||||
|
||||
droppablesLoop: for (var i = 0; i < m.length; i++) {
|
||||
|
||||
if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) continue; //No disabled and non-accepted
|
||||
for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item
|
||||
m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue
|
||||
|
||||
if(type == "mousedown") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables
|
||||
|
||||
m[i].offset = m[i].element.offset();
|
||||
m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
drop: function(draggable, event) {
|
||||
|
||||
var dropped = false;
|
||||
$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
|
||||
|
||||
if(!this.options) return;
|
||||
if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))
|
||||
dropped = dropped || this._drop.call(this, event);
|
||||
|
||||
if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
|
||||
this.isout = 1; this.isover = 0;
|
||||
this._deactivate.call(this, event);
|
||||
}
|
||||
|
||||
});
|
||||
return dropped;
|
||||
|
||||
},
|
||||
dragStart: function( draggable, event ) {
|
||||
//Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
|
||||
draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
|
||||
if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );
|
||||
});
|
||||
},
|
||||
drag: function(draggable, event) {
|
||||
|
||||
//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
|
||||
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event);
|
||||
|
||||
//Run through all droppables and check their positions based on specific tolerance options
|
||||
$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
|
||||
|
||||
if(this.options.disabled || this.greedyChild || !this.visible) return;
|
||||
var intersects = $.ui.intersect(draggable, this, this.options.tolerance);
|
||||
|
||||
var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null);
|
||||
if(!c) return;
|
||||
|
||||
var parentInstance;
|
||||
if (this.options.greedy) {
|
||||
var parent = this.element.parents(':data(droppable):eq(0)');
|
||||
if (parent.length) {
|
||||
parentInstance = $.data(parent[0], 'droppable');
|
||||
parentInstance.greedyChild = (c == 'isover' ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
// we just moved into a greedy child
|
||||
if (parentInstance && c == 'isover') {
|
||||
parentInstance['isover'] = 0;
|
||||
parentInstance['isout'] = 1;
|
||||
parentInstance._out.call(parentInstance, event);
|
||||
}
|
||||
|
||||
this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0;
|
||||
this[c == "isover" ? "_over" : "_out"].call(this, event);
|
||||
|
||||
// we just moved out of a greedy child
|
||||
if (parentInstance && c == 'isout') {
|
||||
parentInstance['isout'] = 0;
|
||||
parentInstance['isover'] = 1;
|
||||
parentInstance._over.call(parentInstance, event);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
dragStop: function( draggable, event ) {
|
||||
draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
|
||||
//Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
|
||||
if( !draggable.options.refreshPositions ) $.ui.ddmanager.prepareOffsets( draggable, event );
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery);
|
After Width: | Height: | Size: 38 KiB |
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* jQuery UI Effects Clip 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Effects/Clip
|
||||
*
|
||||
* Depends:
|
||||
* jquery.effects.core.js
|
||||
*/
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.effects.clip = function(o) {
|
||||
|
||||
return this.queue(function() {
|
||||
|
||||
// Create element
|
||||
var el = $(this), props = ['position','top','bottom','left','right','height','width'];
|
||||
|
||||
// Set options
|
||||
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
|
||||
var direction = o.options.direction || 'vertical'; // Default direction
|
||||
|
||||
// Adjust
|
||||
$.effects.save(el, props); el.show(); // Save & Show
|
||||
var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
|
||||
var animate = el[0].tagName == 'IMG' ? wrapper : el;
|
||||
var ref = {
|
||||
size: (direction == 'vertical') ? 'height' : 'width',
|
||||
position: (direction == 'vertical') ? 'top' : 'left'
|
||||
};
|
||||
var distance = (direction == 'vertical') ? animate.height() : animate.width();
|
||||
if(mode == 'show') { animate.css(ref.size, 0); animate.css(ref.position, distance / 2); } // Shift
|
||||
|
||||
// Animation
|
||||
var animation = {};
|
||||
animation[ref.size] = mode == 'show' ? distance : 0;
|
||||
animation[ref.position] = mode == 'show' ? 0 : distance / 2;
|
||||
|
||||
// Animate
|
||||
animate.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
|
||||
if(mode == 'hide') el.hide(); // Hide
|
||||
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
|
||||
if(o.callback) o.callback.apply(el[0], arguments); // Callback
|
||||
el.dequeue();
|
||||
}});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
@ -0,0 +1,81 @@
|
||||
.menuBar {
|
||||
border:1px solid rgb(211,211,211);
|
||||
width:168px;
|
||||
color:#ffffff;
|
||||
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
|
||||
}
|
||||
.barTitle {
|
||||
height:55px;
|
||||
background-color:rgb(25,119,176);
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.barTitleText {
|
||||
float:left;
|
||||
width:100%;
|
||||
margin-top:20px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.menuTitleText {
|
||||
margin-top:3px;
|
||||
margin-left:10px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
|
||||
.menuTitle {
|
||||
background-color:rgb(25,119,176);
|
||||
width:168px;
|
||||
height:25px;
|
||||
margin-top:1px;
|
||||
border-right-color:rgb(211,211,211);
|
||||
border-bottom-color:rgb(211,211,211);
|
||||
border-right-width:1px;
|
||||
border-bottom-width:1px;
|
||||
border-right-style:solid;
|
||||
border-bottom-style:solid;
|
||||
cursor:pointer;
|
||||
}
|
||||
.menuTitleIcon {
|
||||
margin-top:3px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.menuContent {
|
||||
/* height:150px;*/
|
||||
color:#FFFFFF;
|
||||
display:none;
|
||||
overflow:auto;
|
||||
text-align:center;
|
||||
}
|
||||
.barBottom {
|
||||
background-color:rgb(25,119,176);
|
||||
width:168px;
|
||||
height:15px;
|
||||
}
|
||||
a {
|
||||
color:#000000;
|
||||
font-family: "Verdana", "Arial", "Helvetica", "sans-serif";
|
||||
}
|
||||
a:link {
|
||||
TEXT-DECORATION: none
|
||||
}
|
||||
a:visited {
|
||||
TEXT-DECORATION: none
|
||||
}
|
||||
a:hover {
|
||||
TEXT-DECORATION: none;
|
||||
font
|
||||
}
|
||||
a:active {
|
||||
TEXT-DECORATION: none;/*underline*/
|
||||
}
|
||||
|
||||
.menuItem {
|
||||
height:25px;
|
||||
margin-bottom:1px;
|
||||
border: 1px solid rgb(68,141,174);
|
||||
background-color: rgb(121,201,236);
|
||||
cursor:pointer;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
.bold {font-weight: 900;}
|
||||
.divBody {
|
||||
background: url(/goods/images/paginating_bg.png) repeat-x;
|
||||
border-top: 2px solid #FE7C2C;
|
||||
height: 35px;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
}
|
||||
.divContent {
|
||||
line-height: 35px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
.spanBtnSelect {
|
||||
border: 1px solid #F75A00;
|
||||
color: #FFFFFF;
|
||||
background-color: #FE7C2C;
|
||||
text-align:center;
|
||||
padding: 4px 8px 3px 8px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.aBtn {
|
||||
border: 1px solid #c1c1c1;
|
||||
text-align:center;
|
||||
background-color: #FFFFFF;
|
||||
color: #555555;
|
||||
padding: 4px 8px 3px 8px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.spanBtnDisabled {
|
||||
border: 1px solid #c1c1c1;
|
||||
text-align:center;
|
||||
background-color: #FFFFFF;
|
||||
color: #c1c1c1;
|
||||
padding: 4px 8px 3px 8px;
|
||||
font-weight: 900;
|
||||
}
|
||||
.spanApostrophe {
|
||||
font-family: Arial;
|
||||
}
|
||||
.aBtn:HOVER {
|
||||
border: 1px solid #F75A00;
|
||||
background-color: #FE7C2C;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.inputPagecode {
|
||||
border: 1px solid #c1c1c1;
|
||||
width: 25px;
|
||||
padding: 0px;
|
||||
}
|
||||
.aSubmit {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding:1px 4px 1px 4px;
|
||||
color: #555555;
|
||||
text-decoration: none;
|
||||
}
|
||||
.aSubmit:HOVER {
|
||||
border: 1px solid #c1c1c1;
|
||||
padding:1px 4px 1px 4px;
|
||||
color: #555555;
|
||||
background: url(/goods/images/qd.png) repeat-x;
|
||||
}
|
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 53 KiB |
@ -0,0 +1,75 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>pwd.jsp</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/css/css.css'/>">
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/css/user/pwd.css'/>">
|
||||
<script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/jsps/js/user/pwd.js'/>"></script>
|
||||
<script src="<c:url value='/js/common.js'/>"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="div0">
|
||||
<span>修改密码</span>
|
||||
</div>
|
||||
|
||||
<div class="div1">
|
||||
<form action="<c:url value='/UserServlet'/>" method="post" target="_top">
|
||||
<input type="hidden" name="method" value="updatePassword"/>
|
||||
<table>
|
||||
<tr>
|
||||
<td><label class="error">${msg }</label></td>
|
||||
<td colspan="2"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">原密码:</td>
|
||||
<td><input class="input" type="password" name="loginpass" id="loginpass" value="${user.loginpass }"/></td>
|
||||
<td><label id="loginpassError" class="error"></label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">新密码:</td>
|
||||
<td><input class="input" type="password" name="newpass" id="newpass" value="${user.newpass }""/></td>
|
||||
<td><label id="newpassError" class="error"></label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">确认密码:</td>
|
||||
<td><input class="input" type="password" name="reloginpass" id="reloginpass" value="${user.reloginpass }""/></td>
|
||||
<td><label id="reloginpassError" class="error"></label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"></td>
|
||||
<td>
|
||||
<img id="vCode" src="<c:url value='/VerifyCodeServlet'/>" border="1"/>
|
||||
<a href="javascript:_change();">看不清,换一张</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">验证码:</td>
|
||||
<td>
|
||||
<input class="input" type="text" name="verifyCode" id="verifyCode" value="${user.verifyCode }""/>
|
||||
</td>
|
||||
<td><label id="verifyCodeError" class="error"></label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"></td>
|
||||
<td><input id="submit" type="submit" value="修改密码"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 625 B |
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* jQuery UI Effects Transfer 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Effects/Transfer
|
||||
*
|
||||
* Depends:
|
||||
* jquery.effects.core.js
|
||||
*/
|
||||
(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
|
||||
b.dequeue()})})}})(jQuery);
|
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 22 KiB |
@ -0,0 +1,187 @@
|
||||
table {
|
||||
font-size: 10pt;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
.tt {
|
||||
border-top: 1px solid #e1ddd4;
|
||||
border-bottom: 1px solid #e1ddd4;
|
||||
height: 30px;
|
||||
background-color: #f9f8f3;
|
||||
}
|
||||
|
||||
.td {
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 10pt;
|
||||
color: #404040;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #018BD3;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #FF6600;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.divOrder {
|
||||
width: 90%;
|
||||
font-weight: 900;
|
||||
font-size: 15px;
|
||||
padding: 20px;
|
||||
margin-left: 100px;
|
||||
}
|
||||
|
||||
.divRow {
|
||||
width: 1100px;
|
||||
margin-left: 100px;
|
||||
border: 2px solid #e9c9b2;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.divContent {
|
||||
border-bottom: 1px solid #f2e2d4;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 900;
|
||||
font-size: 15px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.title {
|
||||
border: 1px solid #d0d0d0;
|
||||
background: url(/goods/images/bg_btns.png) repeat-x;
|
||||
background-position: 0 -132px;
|
||||
margin-left: 2px;
|
||||
height: 30px;
|
||||
width: 99.8%;
|
||||
}
|
||||
|
||||
td .bookname {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
word-break: keep-all;
|
||||
white-space: nowrap;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.pay {
|
||||
background: url(/goods/images/sprites_orderdetails.gif)
|
||||
no-repeat;
|
||||
display: inline-block;
|
||||
background-position: 0 -200px;
|
||||
height: 34px;
|
||||
width: 142px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.price_t {
|
||||
font-size: 15px;
|
||||
color: #c30;
|
||||
font-weight: bold;
|
||||
padding-right: 10px;
|
||||
font-family: Arial;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tab a:visited {
|
||||
color: #018BD3;
|
||||
}
|
||||
|
||||
.tab a:hover {
|
||||
color: #FF6600;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#confirm {
|
||||
background: url(/goods/images/confirm.jpg) no-repeat;
|
||||
display: inline-block;
|
||||
height: 34px;
|
||||
width: 142px;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
padding-top: 6px;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#cancel {
|
||||
background: url(/goods/images/huang_2_btn.jpg)
|
||||
no-repeat;
|
||||
display: inline-block;
|
||||
height: 34px;
|
||||
width: 142px;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
padding-top: 6px;
|
||||
padding-left: 30px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#cancel:hover {
|
||||
background: url(/goods/images/huang_1_btn.jpg)
|
||||
no-repeat;
|
||||
display: inline-block;
|
||||
height: 34px;
|
||||
width: 142px;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
padding-top: 6px;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#deliver {
|
||||
background: url(/goods/images/hong_2_btn.jpg) no-repeat;
|
||||
display: inline-block;
|
||||
height: 34px;
|
||||
width: 142px;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
padding-top: 6px;
|
||||
padding-left: 30px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#deliver:hover {
|
||||
background: url(/goods/images/hong_1_btn.jpg) no-repeat;
|
||||
display: inline-block;
|
||||
height: 34px;
|
||||
width: 142px;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
padding-top: 6px;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.spanTotal {
|
||||
font-weight: 900;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.divBtn {
|
||||
margin: 10px 10px 10px 900px;
|
||||
}
|
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* jQuery UI Effects Slide 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Effects/Slide
|
||||
*
|
||||
* Depends:
|
||||
* jquery.effects.core.js
|
||||
*/
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.effects.slide = function(o) {
|
||||
|
||||
return this.queue(function() {
|
||||
|
||||
// Create element
|
||||
var el = $(this), props = ['position','top','bottom','left','right'];
|
||||
|
||||
// Set options
|
||||
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
|
||||
var direction = o.options.direction || 'left'; // Default Direction
|
||||
|
||||
// Adjust
|
||||
$.effects.save(el, props); el.show(); // Save & Show
|
||||
$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
|
||||
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
|
||||
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
|
||||
var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true}));
|
||||
if (mode == 'show') el.css(ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance); // Shift
|
||||
|
||||
// Animation
|
||||
var animation = {};
|
||||
animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
|
||||
|
||||
// Animate
|
||||
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
|
||||
if(mode == 'hide') el.hide(); // Hide
|
||||
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
|
||||
if(o.callback) o.callback.apply(this, arguments); // Callback
|
||||
el.dequeue();
|
||||
}});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,23 @@
|
||||
/* Chinese initialisation for the jQuery UI date picker plugin. */
|
||||
/* Written by Ressol (ressol@gmail.com). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['zh-TW'] = {
|
||||
closeText: '關閉',
|
||||
prevText: '<上月',
|
||||
nextText: '下月>',
|
||||
currentText: '今天',
|
||||
monthNames: ['一月','二月','三月','四月','五月','六月',
|
||||
'七月','八月','九月','十月','十一月','十二月'],
|
||||
monthNamesShort: ['一','二','三','四','五','六',
|
||||
'七','八','九','十','十一','十二'],
|
||||
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
|
||||
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
|
||||
dayNamesMin: ['日','一','二','三','四','五','六'],
|
||||
weekHeader: '周',
|
||||
dateFormat: 'yy/mm/dd',
|
||||
firstDay: 1,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: true,
|
||||
yearSuffix: '年'};
|
||||
$.datepicker.setDefaults($.datepicker.regional['zh-TW']);
|
||||
});
|
@ -0,0 +1,18 @@
|
||||
/*
|
||||
* jQuery UI Tabs 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Tabs#theming
|
||||
*/
|
||||
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
||||
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||
.ui-tabs .ui-tabs-hide { display: none !important; }
|
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 29 KiB |
@ -0,0 +1,266 @@
|
||||
/*
|
||||
* jQuery UI Selectable 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Selectables
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.widget.js
|
||||
*/
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.widget("ui.selectable", $.ui.mouse, {
|
||||
options: {
|
||||
appendTo: 'body',
|
||||
autoRefresh: true,
|
||||
distance: 0,
|
||||
filter: '*',
|
||||
tolerance: 'touch'
|
||||
},
|
||||
_create: function() {
|
||||
var self = this;
|
||||
|
||||
this.element.addClass("ui-selectable");
|
||||
|
||||
this.dragged = false;
|
||||
|
||||
// cache selectee children based on filter
|
||||
var selectees;
|
||||
this.refresh = function() {
|
||||
selectees = $(self.options.filter, self.element[0]);
|
||||
selectees.each(function() {
|
||||
var $this = $(this);
|
||||
var pos = $this.offset();
|
||||
$.data(this, "selectable-item", {
|
||||
element: this,
|
||||
$element: $this,
|
||||
left: pos.left,
|
||||
top: pos.top,
|
||||
right: pos.left + $this.outerWidth(),
|
||||
bottom: pos.top + $this.outerHeight(),
|
||||
startselected: false,
|
||||
selected: $this.hasClass('ui-selected'),
|
||||
selecting: $this.hasClass('ui-selecting'),
|
||||
unselecting: $this.hasClass('ui-unselecting')
|
||||
});
|
||||
});
|
||||
};
|
||||
this.refresh();
|
||||
|
||||
this.selectees = selectees.addClass("ui-selectee");
|
||||
|
||||
this._mouseInit();
|
||||
|
||||
this.helper = $("<div class='ui-selectable-helper'></div>");
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this.selectees
|
||||
.removeClass("ui-selectee")
|
||||
.removeData("selectable-item");
|
||||
this.element
|
||||
.removeClass("ui-selectable ui-selectable-disabled")
|
||||
.removeData("selectable")
|
||||
.unbind(".selectable");
|
||||
this._mouseDestroy();
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
_mouseStart: function(event) {
|
||||
var self = this;
|
||||
|
||||
this.opos = [event.pageX, event.pageY];
|
||||
|
||||
if (this.options.disabled)
|
||||
return;
|
||||
|
||||
var options = this.options;
|
||||
|
||||
this.selectees = $(options.filter, this.element[0]);
|
||||
|
||||
this._trigger("start", event);
|
||||
|
||||
$(options.appendTo).append(this.helper);
|
||||
// position helper (lasso)
|
||||
this.helper.css({
|
||||
"left": event.clientX,
|
||||
"top": event.clientY,
|
||||
"width": 0,
|
||||
"height": 0
|
||||
});
|
||||
|
||||
if (options.autoRefresh) {
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
this.selectees.filter('.ui-selected').each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
selectee.startselected = true;
|
||||
if (!event.metaKey) {
|
||||
selectee.$element.removeClass('ui-selected');
|
||||
selectee.selected = false;
|
||||
selectee.$element.addClass('ui-unselecting');
|
||||
selectee.unselecting = true;
|
||||
// selectable UNSELECTING callback
|
||||
self._trigger("unselecting", event, {
|
||||
unselecting: selectee.element
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$(event.target).parents().andSelf().each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
if (selectee) {
|
||||
var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
|
||||
selectee.$element
|
||||
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
|
||||
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
|
||||
selectee.unselecting = !doSelect;
|
||||
selectee.selecting = doSelect;
|
||||
selectee.selected = doSelect;
|
||||
// selectable (UN)SELECTING callback
|
||||
if (doSelect) {
|
||||
self._trigger("selecting", event, {
|
||||
selecting: selectee.element
|
||||
});
|
||||
} else {
|
||||
self._trigger("unselecting", event, {
|
||||
unselecting: selectee.element
|
||||
});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
_mouseDrag: function(event) {
|
||||
var self = this;
|
||||
this.dragged = true;
|
||||
|
||||
if (this.options.disabled)
|
||||
return;
|
||||
|
||||
var options = this.options;
|
||||
|
||||
var x1 = this.opos[0], y1 = this.opos[1], x2 = event.pageX, y2 = event.pageY;
|
||||
if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }
|
||||
if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }
|
||||
this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
|
||||
|
||||
this.selectees.each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
//prevent helper from being selected if appendTo: selectable
|
||||
if (!selectee || selectee.element == self.element[0])
|
||||
return;
|
||||
var hit = false;
|
||||
if (options.tolerance == 'touch') {
|
||||
hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
|
||||
} else if (options.tolerance == 'fit') {
|
||||
hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
|
||||
}
|
||||
|
||||
if (hit) {
|
||||
// SELECT
|
||||
if (selectee.selected) {
|
||||
selectee.$element.removeClass('ui-selected');
|
||||
selectee.selected = false;
|
||||
}
|
||||
if (selectee.unselecting) {
|
||||
selectee.$element.removeClass('ui-unselecting');
|
||||
selectee.unselecting = false;
|
||||
}
|
||||
if (!selectee.selecting) {
|
||||
selectee.$element.addClass('ui-selecting');
|
||||
selectee.selecting = true;
|
||||
// selectable SELECTING callback
|
||||
self._trigger("selecting", event, {
|
||||
selecting: selectee.element
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// UNSELECT
|
||||
if (selectee.selecting) {
|
||||
if (event.metaKey && selectee.startselected) {
|
||||
selectee.$element.removeClass('ui-selecting');
|
||||
selectee.selecting = false;
|
||||
selectee.$element.addClass('ui-selected');
|
||||
selectee.selected = true;
|
||||
} else {
|
||||
selectee.$element.removeClass('ui-selecting');
|
||||
selectee.selecting = false;
|
||||
if (selectee.startselected) {
|
||||
selectee.$element.addClass('ui-unselecting');
|
||||
selectee.unselecting = true;
|
||||
}
|
||||
// selectable UNSELECTING callback
|
||||
self._trigger("unselecting", event, {
|
||||
unselecting: selectee.element
|
||||
});
|
||||
}
|
||||
}
|
||||
if (selectee.selected) {
|
||||
if (!event.metaKey && !selectee.startselected) {
|
||||
selectee.$element.removeClass('ui-selected');
|
||||
selectee.selected = false;
|
||||
|
||||
selectee.$element.addClass('ui-unselecting');
|
||||
selectee.unselecting = true;
|
||||
// selectable UNSELECTING callback
|
||||
self._trigger("unselecting", event, {
|
||||
unselecting: selectee.element
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
_mouseStop: function(event) {
|
||||
var self = this;
|
||||
|
||||
this.dragged = false;
|
||||
|
||||
var options = this.options;
|
||||
|
||||
$('.ui-unselecting', this.element[0]).each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
selectee.$element.removeClass('ui-unselecting');
|
||||
selectee.unselecting = false;
|
||||
selectee.startselected = false;
|
||||
self._trigger("unselected", event, {
|
||||
unselected: selectee.element
|
||||
});
|
||||
});
|
||||
$('.ui-selecting', this.element[0]).each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
|
||||
selectee.selecting = false;
|
||||
selectee.selected = true;
|
||||
selectee.startselected = true;
|
||||
self._trigger("selected", event, {
|
||||
selected: selectee.element
|
||||
});
|
||||
});
|
||||
this._trigger("stop", event);
|
||||
|
||||
this.helper.remove();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$.extend($.ui.selectable, {
|
||||
version: "1.8.14"
|
||||
});
|
||||
|
||||
})(jQuery);
|
@ -0,0 +1,33 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>book_main.jsp</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/book/main.css'/>">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table class="table" align="center" width="100%" height="100%" border="0">
|
||||
<tr style="height: 120px; ">
|
||||
<td align="center" width="200px;">
|
||||
<iframe frameborder="0" src="<c:url value='/adminjsps/admin/book/left.jsp'/>" name="left"></iframe>
|
||||
</td>
|
||||
<td>
|
||||
<iframe frameborder="0" src="<c:url value='/adminjsps/admin/book/body.jsp'/>" name="body"></iframe>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,95 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>订单列表</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/jsps/pager/pager.css'/>" />
|
||||
<script type="text/javascript" src="<c:url value='/jsps/pager/pager.js'/>"></script>
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/order/list.css'/>" />
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/css/css.css'/>" />
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p class="pLink">
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=1'/>">未付款</a> |
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=2'/>">已付款</a> |
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=3'/>">已发货</a> |
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=4'/>">交易成功</a> |
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=findByStatus&status=5'/>">已取消</a>
|
||||
</p>
|
||||
<div class="divMain">
|
||||
<div class="title">
|
||||
<div style="margin-top:7px;">
|
||||
<span style="margin-left: 150px;margin-right: 280px;">商品信息</span>
|
||||
<span style="margin-left: 40px;margin-right: 100px;">金额</span>
|
||||
<span style="margin-left: 50px;margin-right: 53px;">订单状态</span>
|
||||
<span style="margin-left: 100px;">操作</span>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<table align="center" border="0" width="100%" cellpadding="0" cellspacing="0">
|
||||
<c:forEach items="${pb.beanList }" var="order">
|
||||
|
||||
<tr class="tt">
|
||||
<td width="320px">订单号:<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }'/>">${order.oid }</a></td>
|
||||
<td width="200px">下单时间:${order.ordertime }</td>
|
||||
<td width="178px"> </td>
|
||||
<td width="205px"> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr style="padding-top: 10px; padding-bottom: 10px;">
|
||||
<td colspan="2">
|
||||
|
||||
|
||||
<c:forEach items="${order.orderItemList }" var="orderItem">
|
||||
<img border="0" width="70" src="<c:url value='/${orderItem.book.image_b }'/>"/>
|
||||
</c:forEach>
|
||||
|
||||
</td>
|
||||
<td style="padding-left: 0">
|
||||
<span class="price_t">¥${order.total }</span>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${order.status eq 1 }">(等待付款)</c:when>
|
||||
<c:when test="${order.status eq 2 }">(准备发货)</c:when>
|
||||
<c:when test="${order.status eq 3 }">(等待确认)</c:when>
|
||||
<c:when test="${order.status eq 4 }">(交易成功)</c:when>
|
||||
<c:when test="${order.status eq 5 }">(已取消)</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }'/>">查看</a><br/>
|
||||
<c:if test="${order.status eq 1 }">
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }&btn=cancel'/>">取消</a><br/>
|
||||
</c:if>
|
||||
<c:if test="${order.status eq 2 }">
|
||||
<a href="<c:url value='/admin/AdminOrderServlet?method=load&oid=${order.oid }&btn=deliver'/>">发货</a><br/>
|
||||
</c:if>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
</table>
|
||||
<br/>
|
||||
<%@include file="/jsps/pager/pager.jsp" %>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,23 @@
|
||||
* {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
body {
|
||||
text-align: center;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-collapse: collapse; /*单线的列表边框*/
|
||||
}
|
||||
|
||||
.table td {
|
||||
border: 1px solid gray; /*固定边框,1像素*/
|
||||
}
|
||||
|
||||
iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,23 @@
|
||||
/* Esperanto initialisation for the jQuery UI date picker plugin. */
|
||||
/* Written by Olivier M. (olivierweb@ifrance.com). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['eo'] = {
|
||||
closeText: 'Fermi',
|
||||
prevText: '<Anta',
|
||||
nextText: 'Sekv>',
|
||||
currentText: 'Nuna',
|
||||
monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
|
||||
'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
|
||||
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
|
||||
'Jul','Aŭg','Sep','Okt','Nov','Dec'],
|
||||
dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
|
||||
dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
|
||||
dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
|
||||
weekHeader: 'Sb',
|
||||
dateFormat: 'dd/mm/yy',
|
||||
firstDay: 0,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: false,
|
||||
yearSuffix: ''};
|
||||
$.datepicker.setDefaults($.datepicker.regional['eo']);
|
||||
});
|
After Width: | Height: | Size: 8.1 KiB |
@ -0,0 +1,98 @@
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>订单详细</title>
|
||||
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta http-equiv="cache-control" content="no-cache">
|
||||
<meta http-equiv="expires" content="0">
|
||||
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta http-equiv="description" content="This is my page">
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
-->
|
||||
<link rel="stylesheet" type="text/css" href="<c:url value='/adminjsps/admin/css/order/desc.css'/>">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="divOrder">
|
||||
<span>订单号:${oder.oid }
|
||||
<c:choose>
|
||||
<c:when test="${order.status eq 1 }">(等待付款)</c:when>
|
||||
<c:when test="${order.status eq 2 }">(准备发货)</c:when>
|
||||
<c:when test="${order.status eq 3 }">(等待确认)</c:when>
|
||||
<c:when test="${order.status eq 4 }">(交易成功)</c:when>
|
||||
<c:when test="${order.status eq 5 }">(已取消)</c:when>
|
||||
</c:choose>
|
||||
下单时间:${order.ordertime }
|
||||
</span>
|
||||
</div>
|
||||
<div class="divRow">
|
||||
<div class="divContent">
|
||||
<dl>
|
||||
<dt>收货人信息</dt>
|
||||
<dd>${order.address }</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="divContent">
|
||||
<dl>
|
||||
<dt>商品清单</dt>
|
||||
<dd>
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<th class="tt">商品名称</th>
|
||||
<th class="tt" align="left">单价</th>
|
||||
<th class="tt" align="left">数量</th>
|
||||
<th class="tt" align="left">小计</th>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
<c:forEach items="${order.orderItemList }" var="orderItem">
|
||||
<tr style="padding-top: 20px; padding-bottom: 20px;">
|
||||
<td class="td" width="400px">
|
||||
<div class="bookname">
|
||||
<img align="middle" width="70" src="<c:url value='/${orderItem.book.image_b }'/>"/>
|
||||
${orderItem.book.bname }
|
||||
</div>
|
||||
</td>
|
||||
<td class="td" >
|
||||
<span>¥${orderItem.book.currPrice }</span>
|
||||
</td>
|
||||
<td class="td">
|
||||
<span>${orderItem.quantity }</span>
|
||||
</td>
|
||||
<td class="td">
|
||||
<span>¥${orderItem.subtotal }</span>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="divBtn">
|
||||
<span class="spanTotal">合 计:</span>
|
||||
<span class="price_t">¥${order.total }</span><br/>
|
||||
|
||||
<c:if test="${order.status eq 2 and btn eq 'deliver' }">
|
||||
<a id="deliver" href="<c:url value='/admin/AdminOrderServlet?method=deliver&oid=${order.oid }'/>">发 货</a>
|
||||
</c:if>
|
||||
<c:if test="${order.status eq 1 and btn eq 'cancel' }">
|
||||
<a id="cancel" href="<c:url value='/admin/AdminOrderServlet?method=cancel&oid=${order.oid }'/>">取 消</a>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 129 B |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* jQuery UI Resizable 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Resizables
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.widget.js
|
||||
*/
|
||||
(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
|
||||
_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
|
||||
top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
|
||||
this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
|
||||
nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
|
||||
String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
|
||||
this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
|
||||
var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
|
||||
false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
|
||||
this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
|
||||
{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
|
||||
if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},
|
||||
_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,
|
||||
{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
|
||||
Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
|
||||
b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
|
||||
a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=
|
||||
null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||
|
||||
0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
|
||||
a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+
|
||||
c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);
|
||||
b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.14"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),
|
||||
10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-
|
||||
f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?
|
||||
e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=
|
||||
e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,
|
||||
step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
|
||||
e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;
|
||||
var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:
|
||||
a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-
|
||||
d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,
|
||||
f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
|
||||
display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=
|
||||
e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=
|
||||
d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
|
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* jQuery UI Effects Slide 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Effects/Slide
|
||||
*
|
||||
* Depends:
|
||||
* jquery.effects.core.js
|
||||
*/
|
||||
(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
|
||||
var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* jQuery UI Resizable 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Resizable#theming
|
||||
*/
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
|
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* jQuery UI Accordion 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Accordion#theming
|
||||
*/
|
||||
/* IE/Win - Fix animation bug - #4615 */
|
||||
.ui-accordion { width: 100%; }
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
||||
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 28 KiB |
@ -0,0 +1,215 @@
|
||||
package cn.itcast.goods.order.web.servlet;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class PaymentUtil {
|
||||
|
||||
private static String encodingCharset = "UTF-8";
|
||||
|
||||
/**
|
||||
* 生成hmac方法
|
||||
*
|
||||
* @param p0_Cmd 业务类型
|
||||
* @param p1_MerId 商户编号
|
||||
* @param p2_Order 商户订单号
|
||||
* @param p3_Amt 支付金额
|
||||
* @param p4_Cur 交易币种
|
||||
* @param p5_Pid 商品名称
|
||||
* @param p6_Pcat 商品种类
|
||||
* @param p7_Pdesc 商品描述
|
||||
* @param p8_Url 商户接收支付成功数据的地址
|
||||
* @param p9_SAF 送货地址
|
||||
* @param pa_MP 商户扩展信息
|
||||
* @param pd_FrpId 银行编码
|
||||
* @param pr_NeedResponse 应答机制
|
||||
* @param keyValue 商户密钥
|
||||
* @return
|
||||
*/
|
||||
public static String buildHmac(String p0_Cmd,String p1_MerId,
|
||||
String p2_Order, String p3_Amt, String p4_Cur,String p5_Pid, String p6_Pcat,
|
||||
String p7_Pdesc,String p8_Url, String p9_SAF,String pa_MP,String pd_FrpId,
|
||||
String pr_NeedResponse,String keyValue) {
|
||||
StringBuilder sValue = new StringBuilder();
|
||||
// 业务类型
|
||||
sValue.append(p0_Cmd);
|
||||
// 商户编号
|
||||
sValue.append(p1_MerId);
|
||||
// 商户订单号
|
||||
sValue.append(p2_Order);
|
||||
// 支付金额
|
||||
sValue.append(p3_Amt);
|
||||
// 交易币种
|
||||
sValue.append(p4_Cur);
|
||||
// 商品名称
|
||||
sValue.append(p5_Pid);
|
||||
// 商品种类
|
||||
sValue.append(p6_Pcat);
|
||||
// 商品描述
|
||||
sValue.append(p7_Pdesc);
|
||||
// 商户接收支付成功数据的地址
|
||||
sValue.append(p8_Url);
|
||||
// 送货地址
|
||||
sValue.append(p9_SAF);
|
||||
// 商户扩展信息
|
||||
sValue.append(pa_MP);
|
||||
// 银行编码
|
||||
sValue.append(pd_FrpId);
|
||||
// 应答机制
|
||||
sValue.append(pr_NeedResponse);
|
||||
|
||||
return PaymentUtil.hmacSign(sValue.toString(), keyValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回校验hmac方法
|
||||
*
|
||||
* @param hmac 支付网关发来的加密验证码
|
||||
* @param p1_MerId 商户编号
|
||||
* @param r0_Cmd 业务类型
|
||||
* @param r1_Code 支付结果
|
||||
* @param r2_TrxId 易宝支付交易流水号
|
||||
* @param r3_Amt 支付金额
|
||||
* @param r4_Cur 交易币种
|
||||
* @param r5_Pid 商品名称
|
||||
* @param r6_Order 商户订单号
|
||||
* @param r7_Uid 易宝支付会员ID
|
||||
* @param r8_MP 商户扩展信息
|
||||
* @param r9_BType 交易结果返回类型
|
||||
* @param keyValue 密钥
|
||||
* @return
|
||||
*/
|
||||
public static boolean verifyCallback(String hmac, String p1_MerId,
|
||||
String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,
|
||||
String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,
|
||||
String r8_MP, String r9_BType, String keyValue) {
|
||||
StringBuilder sValue = new StringBuilder();
|
||||
// 商户编号
|
||||
sValue.append(p1_MerId);
|
||||
// 业务类型
|
||||
sValue.append(r0_Cmd);
|
||||
// 支付结果
|
||||
sValue.append(r1_Code);
|
||||
// 易宝支付交易流水号
|
||||
sValue.append(r2_TrxId);
|
||||
// 支付金额
|
||||
sValue.append(r3_Amt);
|
||||
// 交易币种
|
||||
sValue.append(r4_Cur);
|
||||
// 商品名称
|
||||
sValue.append(r5_Pid);
|
||||
// 商户订单号
|
||||
sValue.append(r6_Order);
|
||||
// 易宝支付会员ID
|
||||
sValue.append(r7_Uid);
|
||||
// 商户扩展信息
|
||||
sValue.append(r8_MP);
|
||||
// 交易结果返回类型
|
||||
sValue.append(r9_BType);
|
||||
String sNewString = PaymentUtil.hmacSign(sValue.toString(), keyValue);
|
||||
return sNewString.equals(hmac);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aValue
|
||||
* @param aKey
|
||||
* @return
|
||||
*/
|
||||
public static String hmacSign(String aValue, String aKey) {
|
||||
byte k_ipad[] = new byte[64];
|
||||
byte k_opad[] = new byte[64];
|
||||
byte keyb[];
|
||||
byte value[];
|
||||
try {
|
||||
keyb = aKey.getBytes(encodingCharset);
|
||||
value = aValue.getBytes(encodingCharset);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
keyb = aKey.getBytes();
|
||||
value = aValue.getBytes();
|
||||
}
|
||||
|
||||
Arrays.fill(k_ipad, keyb.length, 64, (byte) 54);
|
||||
Arrays.fill(k_opad, keyb.length, 64, (byte) 92);
|
||||
for (int i = 0; i < keyb.length; i++) {
|
||||
k_ipad[i] = (byte) (keyb[i] ^ 0x36);
|
||||
k_opad[i] = (byte) (keyb[i] ^ 0x5c);
|
||||
}
|
||||
|
||||
MessageDigest md = null;
|
||||
try {
|
||||
md = MessageDigest.getInstance("MD5");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
|
||||
return null;
|
||||
}
|
||||
md.update(k_ipad);
|
||||
md.update(value);
|
||||
byte dg[] = md.digest();
|
||||
md.reset();
|
||||
md.update(k_opad);
|
||||
md.update(dg, 0, 16);
|
||||
dg = md.digest();
|
||||
return toHex(dg);
|
||||
}
|
||||
|
||||
public static String toHex(byte input[]) {
|
||||
if (input == null)
|
||||
return null;
|
||||
StringBuffer output = new StringBuffer(input.length * 2);
|
||||
for (int i = 0; i < input.length; i++) {
|
||||
int current = input[i] & 0xff;
|
||||
if (current < 16)
|
||||
output.append("0");
|
||||
output.append(Integer.toString(current, 16));
|
||||
}
|
||||
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param args
|
||||
* @param key
|
||||
* @return
|
||||
*/
|
||||
public static String getHmac(String[] args, String key) {
|
||||
if (args == null || args.length == 0) {
|
||||
return (null);
|
||||
}
|
||||
StringBuffer str = new StringBuffer();
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
str.append(args[i]);
|
||||
}
|
||||
return (hmacSign(str.toString(), key));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param aValue
|
||||
* @return
|
||||
*/
|
||||
public static String digest(String aValue) {
|
||||
aValue = aValue.trim();
|
||||
byte value[];
|
||||
try {
|
||||
value = aValue.getBytes(encodingCharset);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
value = aValue.getBytes();
|
||||
}
|
||||
MessageDigest md = null;
|
||||
try {
|
||||
md = MessageDigest.getInstance("SHA");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
return toHex(md.digest(value));
|
||||
|
||||
}
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// System.out.println(hmacSign("AnnulCard1000043252120080620160450.0http://localhost/SZXpro/callback.asp杩?4564868265473632445648682654736324511","8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"));
|
||||
// }
|
||||
}
|
||||
|
@ -0,0 +1,23 @@
|
||||
/* Hungarian initialisation for the jQuery UI date picker plugin. */
|
||||
/* Written by Istvan Karaszi (jquery@spam.raszi.hu). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['hu'] = {
|
||||
closeText: 'bezárás',
|
||||
prevText: '« vissza',
|
||||
nextText: 'előre »',
|
||||
currentText: 'ma',
|
||||
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
|
||||
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
|
||||
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
|
||||
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
|
||||
dayNames: ['Vasárnap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
|
||||
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
|
||||
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
|
||||
weekHeader: 'Hé',
|
||||
dateFormat: 'yy-mm-dd',
|
||||
firstDay: 1,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: true,
|
||||
yearSuffix: ''};
|
||||
$.datepicker.setDefaults($.datepicker.regional['hu']);
|
||||
});
|
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* jQuery UI Progressbar 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Progressbar#theming
|
||||
*/
|
||||
.ui-progressbar { height:2em; text-align: left; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
|
@ -0,0 +1,39 @@
|
||||
package cn.itcast.goods.admin.admin.web.servlet;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.itcast.commons.CommonUtils;
|
||||
import cn.itcast.goods.admin.admin.domain.Admin;
|
||||
import cn.itcast.goods.admin.admin.service.AdminService;
|
||||
import cn.itcast.servlet.BaseServlet;
|
||||
|
||||
public class AdminServlet extends BaseServlet {
|
||||
private AdminService adminService = new AdminService();
|
||||
|
||||
/**
|
||||
* 登录功能
|
||||
* @param req
|
||||
* @param resp
|
||||
* @return
|
||||
* @throws ServletException
|
||||
* @throws IOException
|
||||
*/
|
||||
public String login(HttpServletRequest req, HttpServletResponse resp)
|
||||
throws ServletException, IOException {
|
||||
/*
|
||||
* 1. 封装表单数据到Admin
|
||||
*/
|
||||
Admin form = CommonUtils.toBean(req.getParameterMap(), Admin.class);
|
||||
Admin admin = adminService.login(form);
|
||||
if(admin == null) {
|
||||
req.setAttribute("msg", "用户名或密码错误!");
|
||||
return "/adminjsps/login.jsp";
|
||||
}
|
||||
req.getSession().setAttribute("admin", admin);
|
||||
return "r:/adminjsps/admin/index.jsp";
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 38 KiB |
@ -0,0 +1,89 @@
|
||||
package cn.itcast.goods.cart.service;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
import cn.itcast.commons.CommonUtils;
|
||||
import cn.itcast.goods.cart.dao.CartItemDao;
|
||||
import cn.itcast.goods.cart.domain.CartItem;
|
||||
|
||||
public class CartItemService {
|
||||
private CartItemDao cartItemDao = new CartItemDao();
|
||||
|
||||
/*
|
||||
* 加载多个CartItem
|
||||
*/
|
||||
public List<CartItem> loadCartItems(String cartItemIds) {
|
||||
try {
|
||||
return cartItemDao.loadCartItems(cartItemIds);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改购物车条目数量
|
||||
* @param cartItemId
|
||||
* @param quantity
|
||||
* @return
|
||||
*/
|
||||
public CartItem updateQuantity(String cartItemId, int quantity) {
|
||||
try {
|
||||
cartItemDao.updateQuantity(cartItemId, quantity);
|
||||
return cartItemDao.findByCartItemId(cartItemId);
|
||||
} catch(SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除功能
|
||||
* @param cartItemIds
|
||||
*/
|
||||
public void batchDelete(String cartItemIds) {
|
||||
try {
|
||||
cartItemDao.batchDelete(cartItemIds);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加条目
|
||||
* @param cartItem
|
||||
*/
|
||||
public void add(CartItem cartItem) {
|
||||
try {
|
||||
/*
|
||||
* 1. 使用uid和bid去数据库中查询这个条目是否存在
|
||||
*/
|
||||
CartItem _cartItem = cartItemDao.findByUidAndBid(
|
||||
cartItem.getUser().getUid(),
|
||||
cartItem.getBook().getBid());
|
||||
if(_cartItem == null) {//如果原来没有这个条目,那么添加条目
|
||||
cartItem.setCartItemId(CommonUtils.uuid());
|
||||
cartItemDao.addCartItem(cartItem);
|
||||
} else {//如果原来有这个条目,修改数量
|
||||
// 使用原有数量和新条目数量之各,来做为新的数量
|
||||
int quantity = cartItem.getQuantity() + _cartItem.getQuantity();
|
||||
// 修改这个老条目的数量
|
||||
cartItemDao.updateQuantity(_cartItem.getCartItemId(), quantity);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 我的购物车功能
|
||||
* @param uid
|
||||
* @return
|
||||
*/
|
||||
public List<CartItem> myCart(String uid) {
|
||||
try {
|
||||
return cartItemDao.findByUser(uid);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* jQuery UI Slider 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Slider
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.widget.js
|
||||
*/
|
||||
(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=a.values&&a.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
|
||||
this.orientation+" ui-widget ui-widget-content ui-corner-all"+(a.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(a.range){if(a.range===true){if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(a.range==="min"||a.range==="max"?" ui-slider-range-"+a.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
|
||||
this.handles=c.add(d(e.join("")).appendTo(b.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
|
||||
g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!b.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");i=b._start(g,l);if(i===false)return}break}m=b.options.step;i=b.options.values&&b.options.values.length?
|
||||
(h=b.values(l)):(h=b.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=b._trimAlignValue(i+(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(i-(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===b._valueMax())return;h=b._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===b._valueMin())return;h=b._trimAlignValue(i-
|
||||
m);break}b._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(g,k);b._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
|
||||
return this},_mouseCapture:function(b){var a=this.options,c,f,e,j,g;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:b.pageX,y:b.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(a.range===true&&this.values(1)===a.min){g+=1;e=d(this.handles[g])}if(this._start(b,g)===false)return false;
|
||||
this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();a=e.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-e.width()/2,top:b.pageY-a.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(b,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(b){var a=
|
||||
this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;if(this.orientation==="horizontal"){a=
|
||||
this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);
|
||||
c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var f;if(this.options.values&&this.options.values.length){f=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>f||a===1&&c<f))c=f;if(c!==this.values(a)){f=this.values();f[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:f});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],value:c});
|
||||
b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=
|
||||
this._trimAlignValue(b);this._refreshValue();this._change(null,0)}else return this._value()},values:function(b,a){var c,f,e;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):
|
||||
this.value();else return this._values()},_setOption:function(b,a){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
|
||||
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];
|
||||
return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<=this._valueMin())return this._valueMin();if(b>=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},
|
||||
_refreshValue:function(){var b=this.options.range,a=this.options,c=this,f=!this._animateOff?a.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},a.animate);
|
||||
if(h===1)c.range[f?"animate":"css"]({width:e-g+"%"},{queue:false,duration:a.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},a.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:a.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,
|
||||
1)[f?"animate":"css"]({width:e+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.14"})})(jQuery);
|
@ -0,0 +1,823 @@
|
||||
/*
|
||||
* jQuery UI Draggable 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Draggables
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.widget.js
|
||||
*/
|
||||
(function( $, undefined ) {
|
||||
|
||||
$.widget("ui.draggable", $.ui.mouse, {
|
||||
widgetEventPrefix: "drag",
|
||||
options: {
|
||||
addClasses: true,
|
||||
appendTo: "parent",
|
||||
axis: false,
|
||||
connectToSortable: false,
|
||||
containment: false,
|
||||
cursor: "auto",
|
||||
cursorAt: false,
|
||||
grid: false,
|
||||
handle: false,
|
||||
helper: "original",
|
||||
iframeFix: false,
|
||||
opacity: false,
|
||||
refreshPositions: false,
|
||||
revert: false,
|
||||
revertDuration: 500,
|
||||
scope: "default",
|
||||
scroll: true,
|
||||
scrollSensitivity: 20,
|
||||
scrollSpeed: 20,
|
||||
snap: false,
|
||||
snapMode: "both",
|
||||
snapTolerance: 20,
|
||||
stack: false,
|
||||
zIndex: false
|
||||
},
|
||||
_create: function() {
|
||||
|
||||
if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
|
||||
this.element[0].style.position = 'relative';
|
||||
|
||||
(this.options.addClasses && this.element.addClass("ui-draggable"));
|
||||
(this.options.disabled && this.element.addClass("ui-draggable-disabled"));
|
||||
|
||||
this._mouseInit();
|
||||
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
if(!this.element.data('draggable')) return;
|
||||
this.element
|
||||
.removeData("draggable")
|
||||
.unbind(".draggable")
|
||||
.removeClass("ui-draggable"
|
||||
+ " ui-draggable-dragging"
|
||||
+ " ui-draggable-disabled");
|
||||
this._mouseDestroy();
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
_mouseCapture: function(event) {
|
||||
|
||||
var o = this.options;
|
||||
|
||||
// among others, prevent a drag on a resizable-handle
|
||||
if (this.helper || o.disabled || $(event.target).is('.ui-resizable-handle'))
|
||||
return false;
|
||||
|
||||
//Quit if we're not on a valid handle
|
||||
this.handle = this._getHandle(event);
|
||||
if (!this.handle)
|
||||
return false;
|
||||
|
||||
$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
|
||||
$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>')
|
||||
.css({
|
||||
width: this.offsetWidth+"px", height: this.offsetHeight+"px",
|
||||
position: "absolute", opacity: "0.001", zIndex: 1000
|
||||
})
|
||||
.css($(this).offset())
|
||||
.appendTo("body");
|
||||
});
|
||||
|
||||
return true;
|
||||
|
||||
},
|
||||
|
||||
_mouseStart: function(event) {
|
||||
|
||||
var o = this.options;
|
||||
|
||||
//Create and append the visible helper
|
||||
this.helper = this._createHelper(event);
|
||||
|
||||
//Cache the helper size
|
||||
this._cacheHelperProportions();
|
||||
|
||||
//If ddmanager is used for droppables, set the global draggable
|
||||
if($.ui.ddmanager)
|
||||
$.ui.ddmanager.current = this;
|
||||
|
||||
/*
|
||||
* - Position generation -
|
||||
* This block generates everything position related - it's the core of draggables.
|
||||
*/
|
||||
|
||||
//Cache the margins of the original element
|
||||
this._cacheMargins();
|
||||
|
||||
//Store the helper's css position
|
||||
this.cssPosition = this.helper.css("position");
|
||||
this.scrollParent = this.helper.scrollParent();
|
||||
|
||||
//The element's absolute position on the page minus margins
|
||||
this.offset = this.positionAbs = this.element.offset();
|
||||
this.offset = {
|
||||
top: this.offset.top - this.margins.top,
|
||||
left: this.offset.left - this.margins.left
|
||||
};
|
||||
|
||||
$.extend(this.offset, {
|
||||
click: { //Where the click happened, relative to the element
|
||||
left: event.pageX - this.offset.left,
|
||||
top: event.pageY - this.offset.top
|
||||
},
|
||||
parent: this._getParentOffset(),
|
||||
relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
|
||||
});
|
||||
|
||||
//Generate the original position
|
||||
this.originalPosition = this.position = this._generatePosition(event);
|
||||
this.originalPageX = event.pageX;
|
||||
this.originalPageY = event.pageY;
|
||||
|
||||
//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied
|
||||
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
|
||||
|
||||
//Set a containment if given in the options
|
||||
if(o.containment)
|
||||
this._setContainment();
|
||||
|
||||
//Trigger event + callbacks
|
||||
if(this._trigger("start", event) === false) {
|
||||
this._clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
//Recache the helper size
|
||||
this._cacheHelperProportions();
|
||||
|
||||
//Prepare the droppable offsets
|
||||
if ($.ui.ddmanager && !o.dropBehaviour)
|
||||
$.ui.ddmanager.prepareOffsets(this, event);
|
||||
|
||||
this.helper.addClass("ui-draggable-dragging");
|
||||
this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
|
||||
|
||||
//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
|
||||
if ( $.ui.ddmanager ) $.ui.ddmanager.dragStart(this, event);
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
_mouseDrag: function(event, noPropagation) {
|
||||
|
||||
//Compute the helpers position
|
||||
this.position = this._generatePosition(event);
|
||||
this.positionAbs = this._convertPositionTo("absolute");
|
||||
|
||||
//Call plugins and callbacks and use the resulting position if something is returned
|
||||
if (!noPropagation) {
|
||||
var ui = this._uiHash();
|
||||
if(this._trigger('drag', event, ui) === false) {
|
||||
this._mouseUp({});
|
||||
return false;
|
||||
}
|
||||
this.position = ui.position;
|
||||
}
|
||||
|
||||
if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px';
|
||||
if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px';
|
||||
if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
_mouseStop: function(event) {
|
||||
|
||||
//If we are using droppables, inform the manager about the drop
|
||||
var dropped = false;
|
||||
if ($.ui.ddmanager && !this.options.dropBehaviour)
|
||||
dropped = $.ui.ddmanager.drop(this, event);
|
||||
|
||||
//if a drop comes from outside (a sortable)
|
||||
if(this.dropped) {
|
||||
dropped = this.dropped;
|
||||
this.dropped = false;
|
||||
}
|
||||
|
||||
//if the original element is removed, don't bother to continue if helper is set to "original"
|
||||
if((!this.element[0] || !this.element[0].parentNode) && this.options.helper == "original")
|
||||
return false;
|
||||
|
||||
if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
|
||||
var self = this;
|
||||
$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
|
||||
if(self._trigger("stop", event) !== false) {
|
||||
self._clear();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if(this._trigger("stop", event) !== false) {
|
||||
this._clear();
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
_mouseUp: function(event) {
|
||||
if (this.options.iframeFix === true) {
|
||||
$("div.ui-draggable-iframeFix").each(function() {
|
||||
this.parentNode.removeChild(this);
|
||||
}); //Remove frame helpers
|
||||
}
|
||||
|
||||
//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
|
||||
if( $.ui.ddmanager ) $.ui.ddmanager.dragStop(this, event);
|
||||
|
||||
return $.ui.mouse.prototype._mouseUp.call(this, event);
|
||||
},
|
||||
|
||||
cancel: function() {
|
||||
|
||||
if(this.helper.is(".ui-draggable-dragging")) {
|
||||
this._mouseUp({});
|
||||
} else {
|
||||
this._clear();
|
||||
}
|
||||
|
||||
return this;
|
||||
|
||||
},
|
||||
|
||||
_getHandle: function(event) {
|
||||
|
||||
var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false;
|
||||
$(this.options.handle, this.element)
|
||||
.find("*")
|
||||
.andSelf()
|
||||
.each(function() {
|
||||
if(this == event.target) handle = true;
|
||||
});
|
||||
|
||||
return handle;
|
||||
|
||||
},
|
||||
|
||||
_createHelper: function(event) {
|
||||
|
||||
var o = this.options;
|
||||
var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper == 'clone' ? this.element.clone().removeAttr('id') : this.element);
|
||||
|
||||
if(!helper.parents('body').length)
|
||||
helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo));
|
||||
|
||||
if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position")))
|
||||
helper.css("position", "absolute");
|
||||
|
||||
return helper;
|
||||
|
||||
},
|
||||
|
||||
_adjustOffsetFromHelper: function(obj) {
|
||||
if (typeof obj == 'string') {
|
||||
obj = obj.split(' ');
|
||||
}
|
||||
if ($.isArray(obj)) {
|
||||
obj = {left: +obj[0], top: +obj[1] || 0};
|
||||
}
|
||||
if ('left' in obj) {
|
||||
this.offset.click.left = obj.left + this.margins.left;
|
||||
}
|
||||
if ('right' in obj) {
|
||||
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
|
||||
}
|
||||
if ('top' in obj) {
|
||||
this.offset.click.top = obj.top + this.margins.top;
|
||||
}
|
||||
if ('bottom' in obj) {
|
||||
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
|
||||
}
|
||||
},
|
||||
|
||||
_getParentOffset: function() {
|
||||
|
||||
//Get the offsetParent and cache its position
|
||||
this.offsetParent = this.helper.offsetParent();
|
||||
var po = this.offsetParent.offset();
|
||||
|
||||
// This is a special case where we need to modify a offset calculated on start, since the following happened:
|
||||
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
|
||||
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
|
||||
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
|
||||
if(this.cssPosition == 'absolute' && this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) {
|
||||
po.left += this.scrollParent.scrollLeft();
|
||||
po.top += this.scrollParent.scrollTop();
|
||||
}
|
||||
|
||||
if((this.offsetParent[0] == document.body) //This needs to be actually done for all browsers, since pageX/pageY includes this information
|
||||
|| (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == 'html' && $.browser.msie)) //Ugly IE fix
|
||||
po = { top: 0, left: 0 };
|
||||
|
||||
return {
|
||||
top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
|
||||
left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
|
||||
};
|
||||
|
||||
},
|
||||
|
||||
_getRelativeOffset: function() {
|
||||
|
||||
if(this.cssPosition == "relative") {
|
||||
var p = this.element.position();
|
||||
return {
|
||||
top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
|
||||
left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
|
||||
};
|
||||
} else {
|
||||
return { top: 0, left: 0 };
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_cacheMargins: function() {
|
||||
this.margins = {
|
||||
left: (parseInt(this.element.css("marginLeft"),10) || 0),
|
||||
top: (parseInt(this.element.css("marginTop"),10) || 0),
|
||||
right: (parseInt(this.element.css("marginRight"),10) || 0),
|
||||
bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
|
||||
};
|
||||
},
|
||||
|
||||
_cacheHelperProportions: function() {
|
||||
this.helperProportions = {
|
||||
width: this.helper.outerWidth(),
|
||||
height: this.helper.outerHeight()
|
||||
};
|
||||
},
|
||||
|
||||
_setContainment: function() {
|
||||
|
||||
var o = this.options;
|
||||
if(o.containment == 'parent') o.containment = this.helper[0].parentNode;
|
||||
if(o.containment == 'document' || o.containment == 'window') this.containment = [
|
||||
o.containment == 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
|
||||
o.containment == 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
|
||||
(o.containment == 'document' ? 0 : $(window).scrollLeft()) + $(o.containment == 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
|
||||
(o.containment == 'document' ? 0 : $(window).scrollTop()) + ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
||||
];
|
||||
|
||||
if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) {
|
||||
var c = $(o.containment);
|
||||
var ce = c[0]; if(!ce) return;
|
||||
var co = c.offset();
|
||||
var over = ($(ce).css("overflow") != 'hidden');
|
||||
|
||||
this.containment = [
|
||||
(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
|
||||
(parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),
|
||||
(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,
|
||||
(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom
|
||||
];
|
||||
this.relative_container = c;
|
||||
|
||||
} else if(o.containment.constructor == Array) {
|
||||
this.containment = o.containment;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_convertPositionTo: function(d, pos) {
|
||||
|
||||
if(!pos) pos = this.position;
|
||||
var mod = d == "absolute" ? 1 : -1;
|
||||
var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
|
||||
return {
|
||||
top: (
|
||||
pos.top // The absolute mouse position
|
||||
+ this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
+ this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border)
|
||||
- ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
|
||||
),
|
||||
left: (
|
||||
pos.left // The absolute mouse position
|
||||
+ this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
+ this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border)
|
||||
- ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
|
||||
)
|
||||
};
|
||||
|
||||
},
|
||||
|
||||
_generatePosition: function(event) {
|
||||
|
||||
var o = this.options, scroll = this.cssPosition == 'absolute' && !(this.scrollParent[0] != document && $.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
var pageX = event.pageX;
|
||||
var pageY = event.pageY;
|
||||
|
||||
/*
|
||||
* - Position constraining -
|
||||
* Constrain the position to a mix of grid, containment.
|
||||
*/
|
||||
|
||||
if(this.originalPosition) { //If we are not dragging yet, we won't check for options
|
||||
var containment;
|
||||
if(this.containment) {
|
||||
if (this.relative_container){
|
||||
var co = this.relative_container.offset();
|
||||
containment = [ this.containment[0] + co.left,
|
||||
this.containment[1] + co.top,
|
||||
this.containment[2] + co.left,
|
||||
this.containment[3] + co.top ];
|
||||
}
|
||||
else {
|
||||
containment = this.containment;
|
||||
}
|
||||
|
||||
if(event.pageX - this.offset.click.left < containment[0]) pageX = containment[0] + this.offset.click.left;
|
||||
if(event.pageY - this.offset.click.top < containment[1]) pageY = containment[1] + this.offset.click.top;
|
||||
if(event.pageX - this.offset.click.left > containment[2]) pageX = containment[2] + this.offset.click.left;
|
||||
if(event.pageY - this.offset.click.top > containment[3]) pageY = containment[3] + this.offset.click.top;
|
||||
}
|
||||
|
||||
if(o.grid) {
|
||||
//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
|
||||
var top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
|
||||
pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
|
||||
|
||||
var left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
|
||||
pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
top: (
|
||||
pageY // The absolute mouse position
|
||||
- this.offset.click.top // Click offset (relative to the element)
|
||||
- this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
- this.offset.parent.top // The offsetParent's offset without borders (offset + border)
|
||||
+ ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
|
||||
),
|
||||
left: (
|
||||
pageX // The absolute mouse position
|
||||
- this.offset.click.left // Click offset (relative to the element)
|
||||
- this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
- this.offset.parent.left // The offsetParent's offset without borders (offset + border)
|
||||
+ ($.browser.safari && $.browser.version < 526 && this.cssPosition == 'fixed' ? 0 : ( this.cssPosition == 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
|
||||
)
|
||||
};
|
||||
|
||||
},
|
||||
|
||||
_clear: function() {
|
||||
this.helper.removeClass("ui-draggable-dragging");
|
||||
if(this.helper[0] != this.element[0] && !this.cancelHelperRemoval) this.helper.remove();
|
||||
//if($.ui.ddmanager) $.ui.ddmanager.current = null;
|
||||
this.helper = null;
|
||||
this.cancelHelperRemoval = false;
|
||||
},
|
||||
|
||||
// From now on bulk stuff - mainly helpers
|
||||
|
||||
_trigger: function(type, event, ui) {
|
||||
ui = ui || this._uiHash();
|
||||
$.ui.plugin.call(this, type, [event, ui]);
|
||||
if(type == "drag") this.positionAbs = this._convertPositionTo("absolute"); //The absolute position has to be recalculated after plugins
|
||||
return $.Widget.prototype._trigger.call(this, type, event, ui);
|
||||
},
|
||||
|
||||
plugins: {},
|
||||
|
||||
_uiHash: function(event) {
|
||||
return {
|
||||
helper: this.helper,
|
||||
position: this.position,
|
||||
originalPosition: this.originalPosition,
|
||||
offset: this.positionAbs
|
||||
};
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$.extend($.ui.draggable, {
|
||||
version: "1.8.14"
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "connectToSortable", {
|
||||
start: function(event, ui) {
|
||||
|
||||
var inst = $(this).data("draggable"), o = inst.options,
|
||||
uiSortable = $.extend({}, ui, { item: inst.element });
|
||||
inst.sortables = [];
|
||||
$(o.connectToSortable).each(function() {
|
||||
var sortable = $.data(this, 'sortable');
|
||||
if (sortable && !sortable.options.disabled) {
|
||||
inst.sortables.push({
|
||||
instance: sortable,
|
||||
shouldRevert: sortable.options.revert
|
||||
});
|
||||
sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
|
||||
sortable._trigger("activate", event, uiSortable);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
|
||||
//If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
|
||||
var inst = $(this).data("draggable"),
|
||||
uiSortable = $.extend({}, ui, { item: inst.element });
|
||||
|
||||
$.each(inst.sortables, function() {
|
||||
if(this.instance.isOver) {
|
||||
|
||||
this.instance.isOver = 0;
|
||||
|
||||
inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
|
||||
this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
|
||||
|
||||
//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: 'valid/invalid'
|
||||
if(this.shouldRevert) this.instance.options.revert = true;
|
||||
|
||||
//Trigger the stop of the sortable
|
||||
this.instance._mouseStop(event);
|
||||
|
||||
this.instance.options.helper = this.instance.options._helper;
|
||||
|
||||
//If the helper has been the original item, restore properties in the sortable
|
||||
if(inst.options.helper == 'original')
|
||||
this.instance.currentItem.css({ top: 'auto', left: 'auto' });
|
||||
|
||||
} else {
|
||||
this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
|
||||
this.instance._trigger("deactivate", event, uiSortable);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
},
|
||||
drag: function(event, ui) {
|
||||
|
||||
var inst = $(this).data("draggable"), self = this;
|
||||
|
||||
var checkPos = function(o) {
|
||||
var dyClick = this.offset.click.top, dxClick = this.offset.click.left;
|
||||
var helperTop = this.positionAbs.top, helperLeft = this.positionAbs.left;
|
||||
var itemHeight = o.height, itemWidth = o.width;
|
||||
var itemTop = o.top, itemLeft = o.left;
|
||||
|
||||
return $.ui.isOver(helperTop + dyClick, helperLeft + dxClick, itemTop, itemLeft, itemHeight, itemWidth);
|
||||
};
|
||||
|
||||
$.each(inst.sortables, function(i) {
|
||||
|
||||
//Copy over some variables to allow calling the sortable's native _intersectsWith
|
||||
this.instance.positionAbs = inst.positionAbs;
|
||||
this.instance.helperProportions = inst.helperProportions;
|
||||
this.instance.offset.click = inst.offset.click;
|
||||
|
||||
if(this.instance._intersectsWith(this.instance.containerCache)) {
|
||||
|
||||
//If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
|
||||
if(!this.instance.isOver) {
|
||||
|
||||
this.instance.isOver = 1;
|
||||
//Now we fake the start of dragging for the sortable instance,
|
||||
//by cloning the list group item, appending it to the sortable and using it as inst.currentItem
|
||||
//We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
|
||||
this.instance.currentItem = $(self).clone().removeAttr('id').appendTo(this.instance.element).data("sortable-item", true);
|
||||
this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
|
||||
this.instance.options.helper = function() { return ui.helper[0]; };
|
||||
|
||||
event.target = this.instance.currentItem[0];
|
||||
this.instance._mouseCapture(event, true);
|
||||
this.instance._mouseStart(event, true, true);
|
||||
|
||||
//Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
|
||||
this.instance.offset.click.top = inst.offset.click.top;
|
||||
this.instance.offset.click.left = inst.offset.click.left;
|
||||
this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
|
||||
this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
|
||||
|
||||
inst._trigger("toSortable", event);
|
||||
inst.dropped = this.instance.element; //draggable revert needs that
|
||||
//hack so receive/update callbacks work (mostly)
|
||||
inst.currentItem = inst.element;
|
||||
this.instance.fromOutside = inst;
|
||||
|
||||
}
|
||||
|
||||
//Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
|
||||
if(this.instance.currentItem) this.instance._mouseDrag(event);
|
||||
|
||||
} else {
|
||||
|
||||
//If it doesn't intersect with the sortable, and it intersected before,
|
||||
//we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
|
||||
if(this.instance.isOver) {
|
||||
|
||||
this.instance.isOver = 0;
|
||||
this.instance.cancelHelperRemoval = true;
|
||||
|
||||
//Prevent reverting on this forced stop
|
||||
this.instance.options.revert = false;
|
||||
|
||||
// The out event needs to be triggered independently
|
||||
this.instance._trigger('out', event, this.instance._uiHash(this.instance));
|
||||
|
||||
this.instance._mouseStop(event, true);
|
||||
this.instance.options.helper = this.instance.options._helper;
|
||||
|
||||
//Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
|
||||
this.instance.currentItem.remove();
|
||||
if(this.instance.placeholder) this.instance.placeholder.remove();
|
||||
|
||||
inst._trigger("fromSortable", event);
|
||||
inst.dropped = false; //draggable revert needs that
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "cursor", {
|
||||
start: function(event, ui) {
|
||||
var t = $('body'), o = $(this).data('draggable').options;
|
||||
if (t.css("cursor")) o._cursor = t.css("cursor");
|
||||
t.css("cursor", o.cursor);
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
var o = $(this).data('draggable').options;
|
||||
if (o._cursor) $('body').css("cursor", o._cursor);
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "opacity", {
|
||||
start: function(event, ui) {
|
||||
var t = $(ui.helper), o = $(this).data('draggable').options;
|
||||
if(t.css("opacity")) o._opacity = t.css("opacity");
|
||||
t.css('opacity', o.opacity);
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
var o = $(this).data('draggable').options;
|
||||
if(o._opacity) $(ui.helper).css('opacity', o._opacity);
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "scroll", {
|
||||
start: function(event, ui) {
|
||||
var i = $(this).data("draggable");
|
||||
if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') i.overflowOffset = i.scrollParent.offset();
|
||||
},
|
||||
drag: function(event, ui) {
|
||||
|
||||
var i = $(this).data("draggable"), o = i.options, scrolled = false;
|
||||
|
||||
if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML') {
|
||||
|
||||
if(!o.axis || o.axis != 'x') {
|
||||
if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
|
||||
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
|
||||
else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)
|
||||
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
|
||||
}
|
||||
|
||||
if(!o.axis || o.axis != 'y') {
|
||||
if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
|
||||
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
|
||||
else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)
|
||||
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if(!o.axis || o.axis != 'x') {
|
||||
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
|
||||
else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
|
||||
}
|
||||
|
||||
if(!o.axis || o.axis != 'y') {
|
||||
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
|
||||
else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
|
||||
$.ui.ddmanager.prepareOffsets(i, event);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "snap", {
|
||||
start: function(event, ui) {
|
||||
|
||||
var i = $(this).data("draggable"), o = i.options;
|
||||
i.snapElements = [];
|
||||
|
||||
$(o.snap.constructor != String ? ( o.snap.items || ':data(draggable)' ) : o.snap).each(function() {
|
||||
var $t = $(this); var $o = $t.offset();
|
||||
if(this != i.element[0]) i.snapElements.push({
|
||||
item: this,
|
||||
width: $t.outerWidth(), height: $t.outerHeight(),
|
||||
top: $o.top, left: $o.left
|
||||
});
|
||||
});
|
||||
|
||||
},
|
||||
drag: function(event, ui) {
|
||||
|
||||
var inst = $(this).data("draggable"), o = inst.options;
|
||||
var d = o.snapTolerance;
|
||||
|
||||
var x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
|
||||
y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
|
||||
|
||||
for (var i = inst.snapElements.length - 1; i >= 0; i--){
|
||||
|
||||
var l = inst.snapElements[i].left, r = l + inst.snapElements[i].width,
|
||||
t = inst.snapElements[i].top, b = t + inst.snapElements[i].height;
|
||||
|
||||
//Yes, I know, this is insane ;)
|
||||
if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) {
|
||||
if(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
|
||||
inst.snapElements[i].snapping = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(o.snapMode != 'inner') {
|
||||
var ts = Math.abs(t - y2) <= d;
|
||||
var bs = Math.abs(b - y1) <= d;
|
||||
var ls = Math.abs(l - x2) <= d;
|
||||
var rs = Math.abs(r - x1) <= d;
|
||||
if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
|
||||
if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
|
||||
if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
|
||||
if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
|
||||
}
|
||||
|
||||
var first = (ts || bs || ls || rs);
|
||||
|
||||
if(o.snapMode != 'outer') {
|
||||
var ts = Math.abs(t - y1) <= d;
|
||||
var bs = Math.abs(b - y2) <= d;
|
||||
var ls = Math.abs(l - x1) <= d;
|
||||
var rs = Math.abs(r - x2) <= d;
|
||||
if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
|
||||
if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
|
||||
if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
|
||||
if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
|
||||
}
|
||||
|
||||
if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first))
|
||||
(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
|
||||
inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "stack", {
|
||||
start: function(event, ui) {
|
||||
|
||||
var o = $(this).data("draggable").options;
|
||||
|
||||
var group = $.makeArray($(o.stack)).sort(function(a,b) {
|
||||
return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
|
||||
});
|
||||
if (!group.length) { return; }
|
||||
|
||||
var min = parseInt(group[0].style.zIndex) || 0;
|
||||
$(group).each(function(i) {
|
||||
this.style.zIndex = min + i;
|
||||
});
|
||||
|
||||
this[0].style.zIndex = min + group.length;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "zIndex", {
|
||||
start: function(event, ui) {
|
||||
var t = $(ui.helper), o = $(this).data("draggable").options;
|
||||
if(t.css("zIndex")) o._zIndex = t.css("zIndex");
|
||||
t.css('zIndex', o.zIndex);
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
var o = $(this).data("draggable").options;
|
||||
if(o._zIndex) $(ui.helper).css('zIndex', o._zIndex);
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
@ -0,0 +1,25 @@
|
||||
package cn.itcast.goods.admin.admin.dao;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.dbutils.QueryRunner;
|
||||
import org.apache.commons.dbutils.handlers.BeanHandler;
|
||||
|
||||
import cn.itcast.goods.admin.admin.domain.Admin;
|
||||
import cn.itcast.jdbc.TxQueryRunner;
|
||||
|
||||
public class AdminDao {
|
||||
private QueryRunner qr = new TxQueryRunner();
|
||||
|
||||
/**
|
||||
* 通过管理员登录名和登录密码查询
|
||||
* @param adminname
|
||||
* @param adminpwd
|
||||
* @return
|
||||
* @throws SQLException
|
||||
*/
|
||||
public Admin find(String adminname, String adminpwd) throws SQLException {
|
||||
String sql = "select * from t_admin where adminname=? and adminpwd=?";
|
||||
return qr.query(sql, new BeanHandler<Admin>(Admin.class), adminname, adminpwd);
|
||||
}
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* jQuery UI Sortable 1.8.14
|
||||
*
|
||||
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Sortables
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.core.js
|
||||
* jquery.ui.mouse.js
|
||||
* jquery.ui.widget.js
|
||||
*/
|
||||
(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
|
||||
this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
|
||||
"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
|
||||
!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
|
||||
left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
|
||||
this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
|
||||
document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
|
||||
return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
|
||||
b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
|
||||
b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
|
||||
a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
|
||||
e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
|
||||
c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
|
||||
this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
|
||||
dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
|
||||
toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
|
||||
this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
|
||||
var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
|
||||
_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
|
||||
if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
|
||||
this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
|
||||
this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
|
||||
this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
|
||||
this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
|
||||
d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
|
||||
0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
|
||||
a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
|
||||
f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
|
||||
this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
|
||||
""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
|
||||
this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
|
||||
{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
|
||||
10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
|
||||
document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
|
||||
10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
|
||||
this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
|
||||
this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
|
||||
var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
|
||||
this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
|
||||
this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
|
||||
this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
|
||||
"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
|
||||
f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
|
||||
this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
|
||||
a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
|
||||
_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.14"})})(jQuery);
|
@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId">
|
||||
<wb-module deploy-name="goods"/>
|
||||
</project-modules>
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 438 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 47 KiB |
@ -0,0 +1,42 @@
|
||||
package cn.itcast.goods.pager;
|
||||
|
||||
public class Expression {
|
||||
private String name;
|
||||
private String operator;
|
||||
private String value;
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public String getOperator() {
|
||||
return operator;
|
||||
}
|
||||
public void setOperator(String operator) {
|
||||
this.operator = operator;
|
||||
}
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Expression [name=" + name + ", operator=" + operator
|
||||
+ ", value=" + value + "]";
|
||||
}
|
||||
public Expression() {
|
||||
super();
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
public Expression(String name, String operator, String value) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.operator = operator;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
/* Korean initialisation for the jQuery calendar extension. */
|
||||
/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */
|
||||
jQuery(function($){
|
||||
$.datepicker.regional['ko'] = {
|
||||
closeText: '닫기',
|
||||
prevText: '이전달',
|
||||
nextText: '다음달',
|
||||
currentText: '오늘',
|
||||
monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
|
||||
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
|
||||
monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
|
||||
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
|
||||
dayNames: ['일','월','화','수','목','금','토'],
|
||||
dayNamesShort: ['일','월','화','수','목','금','토'],
|
||||
dayNamesMin: ['일','월','화','수','목','금','토'],
|
||||
weekHeader: 'Wk',
|
||||
dateFormat: 'yy-mm-dd',
|
||||
firstDay: 0,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: false,
|
||||
yearSuffix: '년'};
|
||||
$.datepicker.setDefaults($.datepicker.regional['ko']);
|
||||
});
|
After Width: | Height: | Size: 178 B |
After Width: | Height: | Size: 30 KiB |