movies
25
.dockerignore
Executable file
@ -0,0 +1,25 @@
|
||||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/azds.yaml
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
63
.gitattributes
vendored
Executable file
@ -0,0 +1,63 @@
|
||||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
# This is need for earlier builds of msysgit that does not have it on by
|
||||
# default for csharp files.
|
||||
# Note: This is only used by command line
|
||||
###############################################################################
|
||||
#*.cs diff=csharp
|
||||
|
||||
###############################################################################
|
||||
# Set the merge driver for project and solution files
|
||||
#
|
||||
# Merging from the command prompt will add diff markers to the files if there
|
||||
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||
# the diff markers are never inserted). Diff markers may cause the following
|
||||
# file extensions to fail to load in VS. An alternative would be to treat
|
||||
# these files as binary and thus will always conflict and require user
|
||||
# intervention with every merge. To do so, just uncomment the entries below
|
||||
###############################################################################
|
||||
#*.sln merge=binary
|
||||
#*.csproj merge=binary
|
||||
#*.vbproj merge=binary
|
||||
#*.vcxproj merge=binary
|
||||
#*.vcproj merge=binary
|
||||
#*.dbproj merge=binary
|
||||
#*.fsproj merge=binary
|
||||
#*.lsproj merge=binary
|
||||
#*.wixproj merge=binary
|
||||
#*.modelproj merge=binary
|
||||
#*.sqlproj merge=binary
|
||||
#*.wwaproj merge=binary
|
||||
|
||||
###############################################################################
|
||||
# behavior for image files
|
||||
#
|
||||
# image files are treated as binary by default.
|
||||
###############################################################################
|
||||
#*.jpg binary
|
||||
#*.png binary
|
||||
#*.gif binary
|
||||
|
||||
###############################################################################
|
||||
# diff behavior for common document formats
|
||||
#
|
||||
# Convert binary document formats to text before diffing them. This feature
|
||||
# is only available from the command line. Turn it on by uncommenting the
|
||||
# entries below.
|
||||
###############################################################################
|
||||
#*.doc diff=astextplain
|
||||
#*.DOC diff=astextplain
|
||||
#*.docx diff=astextplain
|
||||
#*.DOCX diff=astextplain
|
||||
#*.dot diff=astextplain
|
||||
#*.DOT diff=astextplain
|
||||
#*.pdf diff=astextplain
|
||||
#*.PDF diff=astextplain
|
||||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
340
.gitignore
vendored
Executable file
@ -0,0 +1,340 @@
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- Backup*.rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# JetBrains Rider
|
||||
.idea/
|
||||
*.sln.iml
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
3340
CMS/JXCMS.CMS.Movie/Admin/Content/css/animate.css
vendored
Executable file
5
CMS/JXCMS.CMS.Movie/Admin/Content/css/bootstrap.min.css
vendored
Executable file
2
CMS/JXCMS.CMS.Movie/Admin/Content/css/materialdesignicons.min.css
vendored
Executable file
4368
CMS/JXCMS.CMS.Movie/Admin/Content/css/style.min.css
vendored
Executable file
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/fonts/materialdesignicons.eot
Executable file
6150
CMS/JXCMS.CMS.Movie/Admin/Content/fonts/materialdesignicons.svg
Executable file
After Width: | Height: | Size: 2.1 MiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/fonts/materialdesignicons.ttf
Executable file
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/fonts/materialdesignicons.woff
Executable file
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/fonts/materialdesignicons.woff2
Executable file
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/captcha.png
Executable file
After Width: | Height: | Size: 2.4 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/1.jpg
Executable file
After Width: | Height: | Size: 46 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/10.jpg
Executable file
After Width: | Height: | Size: 67 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/11.jpg
Executable file
After Width: | Height: | Size: 56 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/13.jpg
Executable file
After Width: | Height: | Size: 60 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/14.jpg
Executable file
After Width: | Height: | Size: 61 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/15.jpg
Executable file
After Width: | Height: | Size: 55 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/16.jpg
Executable file
After Width: | Height: | Size: 55 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/17.jpg
Executable file
After Width: | Height: | Size: 55 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/2.jpg
Executable file
After Width: | Height: | Size: 47 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/3.jpg
Executable file
After Width: | Height: | Size: 56 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/4.jpg
Executable file
After Width: | Height: | Size: 114 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/5.jpg
Executable file
After Width: | Height: | Size: 24 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/6.jpg
Executable file
After Width: | Height: | Size: 29 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/7.jpg
Executable file
After Width: | Height: | Size: 69 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/8.jpg
Executable file
After Width: | Height: | Size: 97 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/gallery/9.jpg
Executable file
After Width: | Height: | Size: 62 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/img-slide-1.jpg
Executable file
After Width: | Height: | Size: 37 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/img-slide-2.jpg
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/img-slide-3.jpg
Executable file
After Width: | Height: | Size: 24 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/img-slide-4.jpg
Executable file
After Width: | Height: | Size: 33 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/img-slide-5.jpg
Executable file
After Width: | Height: | Size: 25 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/logo-ico.png
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/logo-sidebar.png
Executable file
After Width: | Height: | Size: 1.7 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/logo.png
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
CMS/JXCMS.CMS.Movie/Admin/Content/images/users/avatar.jpg
Executable file
After Width: | Height: | Size: 2.5 KiB |
18962
CMS/JXCMS.CMS.Movie/Admin/Content/js/Chart.js
vendored
Executable file
446
CMS/JXCMS.CMS.Movie/Admin/Content/js/Validate.js
Normal file
@ -0,0 +1,446 @@
|
||||
function cronValidate(cronExpression ){
|
||||
//返回错误信息用
|
||||
var message = '';
|
||||
//先将cron表达式进行分割
|
||||
var cronParams = cronExpression.split(" ");
|
||||
//判断cron表达式是否具有该具有的属性长度,没有年份的长度为6,带年份的长度为7,其他情况都是错误的
|
||||
if (cronParams.length < 6 || cronParams.length > 7) {
|
||||
return "cron表达式需要输入6-7位参数,请重新输入";
|
||||
}else{
|
||||
//日和周必须有一个为?,或者全为*
|
||||
if((cronParams[3] == "?" && cronParams[5] != "?") || (cronParams[5] == "?" && cronParams[3] != "?") || (cronParams[3] == "*" && cronParams[5] == "*")){
|
||||
//检查第一位的秒是否正确
|
||||
message = checkSecondsField(cronParams[0]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
|
||||
//检查第二位的分是否正确
|
||||
message = checkMinutesField(cronParams[1]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
|
||||
//检查第三位的时是否正确
|
||||
message = checkHoursField(cronParams[2]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
|
||||
//检查第四位的日是否正确
|
||||
message = checkDayOfMonthField(cronParams[3]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
|
||||
//检查第五位的月是否正确
|
||||
message = checkMonthsField(cronParams[4]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
|
||||
//检查第6位的周是否正确
|
||||
message = checkDayOfWeekField(cronParams[5]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
|
||||
//检查第七位的年是否正确
|
||||
if(cronParams.length>6){
|
||||
message = checkYearField(cronParams[6]);
|
||||
if (message != true) {
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}else{
|
||||
return "指定日时周必须设为不指定(?),指定周时日必须设为不指定(?)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//检查秒的函数方法
|
||||
function checkSecondsField(secondsField) {
|
||||
return checkField(secondsField, 0, 59, "秒");
|
||||
}
|
||||
|
||||
//检查分的函数方法
|
||||
function checkMinutesField(minutesField) {
|
||||
return checkField(minutesField, 0, 59, "分");
|
||||
}
|
||||
|
||||
//检查小时的函数方法
|
||||
function checkHoursField(hoursField) {
|
||||
return checkField(hoursField, 0, 23, "时");
|
||||
}
|
||||
|
||||
//检查日期的函数方法
|
||||
function checkDayOfMonthField(dayOfMonthField) {
|
||||
if (dayOfMonthField == "?") {
|
||||
return true;
|
||||
}
|
||||
if (dayOfMonthField.indexOf("L") >= 0) {
|
||||
return checkFieldWithLetter(dayOfMonthField, "L", 1, 7, "日");
|
||||
} else if ( dayOfMonthField.indexOf("W") >= 0) {
|
||||
return checkFieldWithLetter(dayOfMonthField, "W", 1, 31, "日");
|
||||
} else if (dayOfMonthField.indexOf("C") >= 0) {
|
||||
return checkFieldWithLetter(dayOfMonthField, "C", 1, 31, "日");
|
||||
}
|
||||
return checkField( dayOfMonthField, 1, 31, "日");
|
||||
}
|
||||
|
||||
//检查月份的函数方法
|
||||
function checkMonthsField(monthsField) {
|
||||
//月份简写处理
|
||||
if(monthsField != "*"){
|
||||
monthsField=monthsField.replace("JAN", "1");
|
||||
monthsField=monthsField.replace("FEB", "2");
|
||||
monthsField=monthsField.replace("MAR", "3");
|
||||
monthsField=monthsField.replace("APR", "4");
|
||||
monthsField=monthsField.replace("MAY", "5");
|
||||
monthsField=monthsField.replace("JUN", "6");
|
||||
monthsField=monthsField.replace("JUL", "7");
|
||||
monthsField=monthsField.replace("AUG", "8");
|
||||
monthsField=monthsField.replace("SEP", "9");
|
||||
monthsField=monthsField.replace("OCT", "10");
|
||||
monthsField=monthsField.replace("NOV", "11");
|
||||
monthsField=monthsField.replace("DEC", "12");
|
||||
return checkField(monthsField, 1, 12, "月份");
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//星期验证
|
||||
function checkDayOfWeekField(dayOfWeekField) {
|
||||
dayOfWeekField=dayOfWeekField.replace("SUN", "1" );
|
||||
dayOfWeekField=dayOfWeekField.replace("MON", "2" );
|
||||
dayOfWeekField=dayOfWeekField.replace("TUE", "3" );
|
||||
dayOfWeekField=dayOfWeekField.replace("WED", "4" );
|
||||
dayOfWeekField=dayOfWeekField.replace("THU", "5" );
|
||||
dayOfWeekField=dayOfWeekField.replace("FRI", "6" );
|
||||
dayOfWeekField=dayOfWeekField.replace("SAT", "7" );
|
||||
if (dayOfWeekField == "?") {
|
||||
return true;
|
||||
}
|
||||
if (dayOfWeekField.indexOf("L") >= 0) {
|
||||
return checkFieldWithLetterWeek(dayOfWeekField, "L", 1, 7, "星期");
|
||||
} else if (dayOfWeekField.indexOf("C") >= 0) {
|
||||
return checkFieldWithLetterWeek(dayOfWeekField, "C", 1, 7, "星期");
|
||||
} else if (dayOfWeekField.indexOf("#") >= 0) {
|
||||
return checkFieldWithLetterWeek(dayOfWeekField, "#", 1, 7, "星期");
|
||||
} else {
|
||||
return checkField(dayOfWeekField, 1, 7, "星期");
|
||||
}
|
||||
}
|
||||
|
||||
//检查年份的函数方法
|
||||
function checkYearField(yearField) {
|
||||
return checkField(yearField, 1970, 2099, "年的");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//通用的检查值的大小范围的方法( - , / *)
|
||||
function checkField(value, minimal, maximal, attribute) {
|
||||
//校验值中是否有“-”,如果有“-”的话,下标会>0
|
||||
if (value.indexOf("-") > -1 ) {
|
||||
return checkRangeAndCycle(value, minimal, maximal,attribute);
|
||||
}
|
||||
//校验值中是否有“,”,如果有“,”的话,下标会>0
|
||||
else if (value.indexOf(",") > -1) {
|
||||
return checkListField(value, minimal, maximal,attribute);
|
||||
}
|
||||
//校验值中是否有“/”,如果有“/”的话,下标会>0
|
||||
else if (value.indexOf( "/" ) > -1) {
|
||||
return checkIncrementField( value, minimal, maximal ,attribute);
|
||||
}
|
||||
//校验值是否为“*”
|
||||
else if (value=="*") {
|
||||
return true;
|
||||
}
|
||||
//校验单独的数字,英文字母,以及各种神奇的符号等...
|
||||
else {
|
||||
return checkIntValue(value, minimal, maximal,true, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//检测是否是整数以及是否在范围内,参数:检测的值,下限,上限,是否检查端点,检查的属性
|
||||
function checkIntValue(value, minimal, maximal, checkExtremity,attribute) {
|
||||
try {
|
||||
//用10进制犯法来进行整数转换
|
||||
var val = parseInt(value, 10);
|
||||
if (value == val) {
|
||||
if (checkExtremity) {
|
||||
if (val < minimal || val > maximal) {
|
||||
return (attribute+"的参数取值范围必须在"+ minimal + "-" + maximal +"之间");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return (attribute+"的参数存在非法字符,必须为整数或允许的大写英文");
|
||||
} catch (e) {
|
||||
return (attribute+"的参数有非法字符,必须是整数~")
|
||||
}
|
||||
}
|
||||
//检验枚举类型的参数是否正确
|
||||
function checkListField(value, minimal, maximal,attribute) {
|
||||
var st = value.split(",");
|
||||
var values = new Array(st.length);
|
||||
//计算枚举的数字在数组中中出现的次数,出现一次为没有重复的。
|
||||
var count=0;
|
||||
for(var j = 0; j < st.length; j++) {
|
||||
values[j] = st[j];
|
||||
}
|
||||
//判断枚举类型的值是否重复
|
||||
for(var i=0;i<values.length;i++){
|
||||
//判断枚举的值是否在范围内
|
||||
message = checkIntValue(values[i], minimal, maximal, true, attribute);
|
||||
if (message!=true) {
|
||||
return message;
|
||||
}
|
||||
count=0;
|
||||
for(var j=0;j<values.length;j++){
|
||||
if(values[i]==values[j])
|
||||
{
|
||||
count++;
|
||||
}
|
||||
if(count>1){
|
||||
return (attribute+"中的参数重复");
|
||||
}
|
||||
}
|
||||
}
|
||||
var previousValue = -1;
|
||||
//判断枚举的值是否排序正确
|
||||
for (var i= 0; i < values.length; i++) {
|
||||
var currentValue = values[i];
|
||||
try {
|
||||
var val = parseInt(currentValue, 10);
|
||||
if (val < previousValue) {
|
||||
return (attribute+"的参数应该从小到大");
|
||||
} else {
|
||||
previousValue = val;
|
||||
}
|
||||
} catch (e) {
|
||||
//前面验证过了,这边的代码不可能跑到
|
||||
return ("这段提示用不到")
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//检验循环
|
||||
function checkIncrementField(value, minimal, maximal, attribute) {
|
||||
if(value.split("/").length>2){
|
||||
return (attribute + "中的参数只能有一个'/'");
|
||||
}
|
||||
var start = value.substring(0, value.indexOf("/"));
|
||||
var increment = value.substring(value.indexOf("/") + 1);
|
||||
if (start != "*") {
|
||||
//检验前值是否正确
|
||||
message = checkIntValue(start, minimal, maximal, true, attribute);
|
||||
if(message != true){
|
||||
return message;
|
||||
}
|
||||
//检验后值是否正确
|
||||
message = checkIntValue(increment, minimal, maximal, true, attribute);
|
||||
if(message != true){
|
||||
return message;
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
//检验后值是否正确
|
||||
return checkIntValue(increment, minimal, maximal, false, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
//检验范围
|
||||
function checkRangeAndCycle(params, minimal, maximal, attribute){
|
||||
//校验“-”符号是否只有一个
|
||||
if(params.split("-").length>2){
|
||||
return (attribute + "中的参数只能有一个'-'");
|
||||
}
|
||||
var value = null;
|
||||
var cycle = null;
|
||||
//检验范围内是否有嵌套周期
|
||||
if(params.indexOf("/") > -1){
|
||||
//校验“/”符号是否只有一个
|
||||
if(params.split("/").length>2){
|
||||
return (attribute + "中的参数只能有一个'/'");
|
||||
}
|
||||
value = params.split("/")[0];
|
||||
cycle = params.split("/")[1];
|
||||
//判断循环的参数是否正确
|
||||
message =checkIntValue(cycle, minimal, maximal, true, attribute);
|
||||
if (message!=true) {
|
||||
return message;
|
||||
}
|
||||
}else{
|
||||
value = params;
|
||||
}
|
||||
var startValue = value.substring(0, value.indexOf( "-" ));
|
||||
var endValue = value.substring(value.indexOf( "-" ) + 1);
|
||||
//判断参数范围的第一个值是否正确
|
||||
message =checkIntValue(startValue, minimal, maximal, true, attribute);
|
||||
if (message!=true) {
|
||||
return message;
|
||||
}
|
||||
//判断参数范围的第二个值是否正确
|
||||
message =checkIntValue(endValue, minimal, maximal, true, attribute);
|
||||
if(message!=true){
|
||||
return message;
|
||||
}
|
||||
//判断参数的范围前值是否小于后值
|
||||
try {
|
||||
var startVal = parseInt(startValue, 10);
|
||||
var endVal = parseInt(endValue, 10);
|
||||
if(endVal < startVal){
|
||||
return (attribute+"的取值范围错误,前值必须小于后值");
|
||||
}
|
||||
if((endVal-startVal)<parseInt(cycle,10)){
|
||||
return (attribute+"的取值范围内的循环无意义");
|
||||
}
|
||||
return true;
|
||||
} catch (e) {
|
||||
//用不到这行代码的
|
||||
return (attribute+"的参数有非法字符,必须是整数");
|
||||
}
|
||||
}
|
||||
|
||||
//检查日中的特殊字符
|
||||
function checkFieldWithLetter(value, letter, minimalBefore, maximalBefore,attribute) {
|
||||
//判断是否只有一个字母
|
||||
for(var i=0;i<value.length;i++){
|
||||
var count = 0;
|
||||
if(value.charAt(i)==letter){
|
||||
count++;
|
||||
}
|
||||
if(count>1){
|
||||
return (attribute+"的值的"+letter+"字母只能有一个")
|
||||
}
|
||||
}
|
||||
//校验L
|
||||
if(letter == "L"){
|
||||
if(value == "LW"){
|
||||
return true;
|
||||
}
|
||||
if(value=="L"){
|
||||
return true;
|
||||
}
|
||||
if(value.endsWith("LW")&&value.length>2)
|
||||
{
|
||||
return (attribute + "中的参数,最后的LW前面不能有任何字母参数")
|
||||
}
|
||||
if(!value.endsWith("L"))
|
||||
{
|
||||
return (attribute + "中的参数,L字母后面不能有W以外的字符、数字等")
|
||||
}else{
|
||||
var num = value.substring(0,value.indexOf(letter));
|
||||
return checkIntValue(num, minimalBefore, maximalBefore, true, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
//校验W
|
||||
if(letter == "W"){
|
||||
if(!value.endsWith("W")){
|
||||
return (attribute + "中的参数的W必须作为结尾")
|
||||
}else{
|
||||
if(value=="W"){
|
||||
return (attribute + "中的参数的W前面必须有数字")
|
||||
}
|
||||
var num = value.substring(0,value.indexOf(letter));
|
||||
return checkIntValue(num, minimalBefore, maximalBefore, true, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
if(letter == "C"){
|
||||
if(!value.endsWith("C")){
|
||||
return (attribute + "中的参数的C必须作为结尾")
|
||||
}else{
|
||||
if(value=="C"){
|
||||
return (attribute + "中的参数的C前面必须有数字")
|
||||
}
|
||||
var num = value.substring(0,value.indexOf(letter));
|
||||
return checkIntValue(num, minimalBefore, maximalBefore, true, attribute);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//检查星期中的特殊字符
|
||||
function checkFieldWithLetterWeek(value, letter, minimalBefore, maximalBefore,attribute) {
|
||||
//判断是否只有一个字母
|
||||
for(var i=0;i<value.length;i++){
|
||||
var count = 0;
|
||||
if(value.charAt(i)==letter){
|
||||
count++;
|
||||
}
|
||||
if(count>1){
|
||||
return (attribute+"的值的"+letter+"字母只能有一个")
|
||||
}
|
||||
}
|
||||
//校验L
|
||||
if(letter == "L"){
|
||||
if(value=="L"){
|
||||
return true;
|
||||
}
|
||||
if(!value.endsWith("L"))
|
||||
{
|
||||
return (attribute + "中的参数,L字母必须是最后一位")
|
||||
}else{
|
||||
var num = value.substring(0,value.indexOf(letter));
|
||||
return checkIntValue(num, minimalBefore, maximalBefore, true, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
if(letter == "C"){
|
||||
if(!value.endsWith("C")){
|
||||
return (attribute + "中的参数的C必须作为结尾")
|
||||
}else{
|
||||
if(value=="C"){
|
||||
return (attribute + "中的参数的C前面必须有数字")
|
||||
}
|
||||
var num = value.substring(0,value.indexOf(letter));
|
||||
return checkIntValue(num, minimalBefore, maximalBefore, true, attribute);
|
||||
}
|
||||
}
|
||||
|
||||
if(letter == "#"){
|
||||
if(value=="#"){
|
||||
return (attribute + "中的#前后必须有整数");
|
||||
}
|
||||
if(value.charAt(0)==letter){
|
||||
return (attribute + "中的#前面必须有整数")
|
||||
}
|
||||
if(value.endsWith("#")){
|
||||
return (attribute + "中的#后面必须有整数")
|
||||
}
|
||||
var num1 = value.substring(0,value.indexOf(letter));
|
||||
var num2 = value.substring(value.indexOf(letter)+1,value.length)
|
||||
message = checkIntValue(num1, 1, 4, true, (attribute+"的#前面"));
|
||||
if(message!=true){
|
||||
return message;
|
||||
}
|
||||
message = checkIntValue(num2, minimalBefore, maximalBefore, true, (attribute+"的#后面"));
|
||||
if(message!=true){
|
||||
return message;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function IsURL (str_url) {
|
||||
var Expression=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
|
||||
var objExp=new RegExp(Expression);
|
||||
if(objExp.test(str_url)==true){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
1106
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-colorpicker/bootstrap-colorpicker.js
vendored
Executable file
5
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-colorpicker/bootstrap-colorpicker.min.js
vendored
Executable file
222
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-colorpicker/css/bootstrap-colorpicker.css
vendored
Executable file
@ -0,0 +1,222 @@
|
||||
/*!
|
||||
* Bootstrap Colorpicker v2.3.3
|
||||
* http://mjolnic.github.io/bootstrap-colorpicker/
|
||||
*
|
||||
* Originally written by (c) 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*
|
||||
*/
|
||||
.colorpicker-saturation {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-image: url("../img/bootstrap-colorpicker/saturation.png");
|
||||
cursor: crosshair;
|
||||
float: left;
|
||||
}
|
||||
.colorpicker-saturation i {
|
||||
display: block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
border: 1px solid #000;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: -4px 0 0 -4px;
|
||||
}
|
||||
.colorpicker-saturation i b {
|
||||
display: block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
border: 1px solid #fff;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.colorpicker-hue,
|
||||
.colorpicker-alpha {
|
||||
width: 15px;
|
||||
height: 100px;
|
||||
float: left;
|
||||
cursor: row-resize;
|
||||
margin-left: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.colorpicker-hue i,
|
||||
.colorpicker-alpha i {
|
||||
display: block;
|
||||
height: 1px;
|
||||
background: #000;
|
||||
border-top: 1px solid #fff;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
margin-top: -1px;
|
||||
}
|
||||
.colorpicker-hue {
|
||||
background-image: url("../img/bootstrap-colorpicker/hue.png");
|
||||
}
|
||||
.colorpicker-alpha {
|
||||
background-image: url("../img/bootstrap-colorpicker/alpha.png");
|
||||
display: none;
|
||||
}
|
||||
.colorpicker-saturation,
|
||||
.colorpicker-hue,
|
||||
.colorpicker-alpha {
|
||||
background-size: contain;
|
||||
}
|
||||
.colorpicker {
|
||||
padding: 4px;
|
||||
min-width: 130px;
|
||||
margin-top: 1px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
z-index: 2500;
|
||||
}
|
||||
.colorpicker:before,
|
||||
.colorpicker:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.colorpicker:after {
|
||||
clear: both;
|
||||
}
|
||||
.colorpicker:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.colorpicker:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.colorpicker div {
|
||||
position: relative;
|
||||
}
|
||||
.colorpicker.colorpicker-with-alpha {
|
||||
min-width: 140px;
|
||||
}
|
||||
.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
|
||||
display: block;
|
||||
}
|
||||
.colorpicker-color {
|
||||
height: 10px;
|
||||
margin-top: 5px;
|
||||
clear: both;
|
||||
background-image: url("../img/bootstrap-colorpicker/alpha.png");
|
||||
background-position: 0 100%;
|
||||
}
|
||||
.colorpicker-color div {
|
||||
height: 10px;
|
||||
}
|
||||
.colorpicker-selectors {
|
||||
display: none;
|
||||
height: 10px;
|
||||
margin-top: 5px;
|
||||
clear: both;
|
||||
}
|
||||
.colorpicker-selectors i {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
}
|
||||
.colorpicker-selectors i + i {
|
||||
margin-left: 3px;
|
||||
}
|
||||
.colorpicker-element .input-group-addon i,
|
||||
.colorpicker-element .add-on i {
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
height: 16px;
|
||||
vertical-align: text-top;
|
||||
width: 16px;
|
||||
}
|
||||
.colorpicker.colorpicker-inline {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
float: none;
|
||||
z-index: auto;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal {
|
||||
width: 110px;
|
||||
min-width: 110px;
|
||||
height: auto;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-saturation {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-color {
|
||||
width: 100px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue,
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||
width: 100px;
|
||||
height: 15px;
|
||||
float: left;
|
||||
cursor: col-resize;
|
||||
margin-left: 0px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue i,
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
|
||||
display: block;
|
||||
height: 15px;
|
||||
background: #ffffff;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 1px;
|
||||
border: none;
|
||||
margin-top: 0px;
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-hue {
|
||||
background-image: url("../img/bootstrap-colorpicker/hue-horizontal.png");
|
||||
}
|
||||
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
|
||||
background-image: url("../img/bootstrap-colorpicker/alpha-horizontal.png");
|
||||
}
|
||||
.colorpicker.colorpicker-hidden {
|
||||
display: none;
|
||||
}
|
||||
.colorpicker.colorpicker-visible {
|
||||
display: block;
|
||||
}
|
||||
.colorpicker-inline.colorpicker-visible {
|
||||
display: inline-block;
|
||||
}
|
||||
.colorpicker-right:before {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
.colorpicker-right:after {
|
||||
left: auto;
|
||||
right: 7px;
|
||||
}
|
||||
.colorpicker-no-arrow:before {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
.colorpicker-no-arrow:after {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-colorpicker.css.map */
|
10
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css
vendored
Executable file
@ -0,0 +1,10 @@
|
||||
/*!
|
||||
* Bootstrap Colorpicker v2.3.3
|
||||
* http://mjolnic.github.io/bootstrap-colorpicker/
|
||||
*
|
||||
* Originally written by (c) 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*
|
||||
*/.colorpicker-saturation{width:100px;height:100px;background-image:url(../img/bootstrap-colorpicker/saturation.png);cursor:crosshair;float:left}.colorpicker-saturation i{display:block;height:5px;width:5px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}.colorpicker-saturation i b{display:block;height:5px;width:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-alpha,.colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}.colorpicker-alpha i,.colorpicker-hue i{display:block;height:1px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker-hue{background-image:url(../img/bootstrap-colorpicker/hue.png)}.colorpicker-alpha{background-image:url(../img/bootstrap-colorpicker/alpha.png);display:none}.colorpicker-alpha,.colorpicker-hue,.colorpicker-saturation{background-size:contain}.colorpicker{padding:4px;min-width:130px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;z-index:2500}.colorpicker:after,.colorpicker:before{display:table;content:"";line-height:0}.colorpicker:after{clear:both}.colorpicker:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.colorpicker:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url(../img/bootstrap-colorpicker/alpha.png);background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{cursor:pointer;float:left;height:10px;width:10px}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .add-on i,.colorpicker-element .input-group-addon i{display:inline-block;cursor:pointer;height:16px;vertical-align:text-top;width:16px}.colorpicker.colorpicker-inline{position:relative;display:inline-block;float:none;z-index:auto}.colorpicker.colorpicker-horizontal{width:110px;min-width:110px;height:auto}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-alpha,.colorpicker.colorpicker-horizontal .colorpicker-hue{width:100px;height:15px;float:left;cursor:col-resize;margin-left:0;margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-alpha i,.colorpicker.colorpicker-horizontal .colorpicker-hue i{display:block;height:15px;background:#fff;position:absolute;top:0;left:0;width:1px;border:none;margin-top:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url(../img/bootstrap-colorpicker/hue-horizontal.png)}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url(../img/bootstrap-colorpicker/alpha-horizontal.png)}.colorpicker.colorpicker-hidden{display:none}.colorpicker.colorpicker-visible{display:block}.colorpicker-inline.colorpicker-visible{display:inline-block}.colorpicker-right:before{left:auto;right:6px}.colorpicker-right:after{left:auto;right:7px}.colorpicker-no-arrow:before{border-right:0;border-left:0}.colorpicker-no-arrow:after{border-right:0;border-left:0}
|
||||
/*# sourceMappingURL=bootstrap-colorpicker.min.css.map */
|
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["src/less/colorpicker.less"],"names":[],"mappings":";;;;;;;;AAqBA,wBACE,MAAA,MACA,OAAA,MAXA,iBAAsB,iDAatB,OAAA,UACA,MAAA,KACA,0BACE,QAAA,MACA,OAAA,IACA,MAAA,IACA,OAAA,IAAA,MAAA,KAfF,sBAAA,IACA,mBAAA,IACA,cAAA,IAeE,SAAA,SACA,IAAA,EACA,KAAA,EACA,OAAA,KAAA,EAAA,EAAA,KACA,4BACE,QAAA,MACA,OAAA,IACA,MAAA,IACA,OAAA,IAAA,MAAA,KAzBJ,sBAAA,IACA,mBAAA,IACA,cAAA,IA8BF,mBADA,iBAEE,MAAA,KACA,OAAA,MACA,MAAA,KACA,OAAA,WACA,YAAA,IACA,cAAA,IAIiB,qBADF,mBAEf,QAAA,MACA,OAAA,IACA,WAAA,KACA,WAAA,IAAA,MAAA,KACA,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,KACA,WAAA,KAGF,iBA1DE,iBAAsB,0CA8DxB,mBA9DE,iBAAsB,4CAgEtB,QAAA,KAKF,mBADA,iBADA,wBAGE,gBAAA,QAGF,aACE,QAAA,IACA,UAAA,MACA,WAAA,IAxEA,sBAAA,IACA,mBAAA,IACA,cAAA,IAwEA,QAAA,KAIU,mBADA,oBAEV,QAAA,MACA,QAAA,GACA,YAAA,EAGU,mBACV,MAAA,KAGU,oBACV,QAAA,GACA,QAAA,aACA,YAAA,IAAA,MAAA,YACA,aAAA,IAAA,MAAA,YACA,cAAA,IAAA,MAAA,KACA,oBAAA,eACA,SAAA,SACA,IAAA,KACA,KAAA,IAGU,mBACV,QAAA,GACA,QAAA,aACA,YAAA,IAAA,MAAA,YACA,aAAA,IAAA,MAAA,YACA,cAAA,IAAA,MAAA,KACA,SAAA,SACA,IAAA,KACA,KAAA,IAGW,iBACX,SAAA,SAGU,oCACV,UAAA,MAGkC,uDAClC,QAAA,MAGF,mBACE,OAAA,KACA,WAAA,IACA,MAAA,KAlIA,iBAAsB,4CAoItB,oBAAA,EAAA,KAGiB,uBACjB,OAAA,KAGF,uBACE,QAAA,KACA,OAAA,KACA,WAAA,IACA,MAAA,KAGqB,yBACrB,OAAA,QACA,MAAA,KACA,OAAA,KACA,MAAA,KAGuB,2BACvB,YAAA,IAI2B,+BADW,0CAEtC,QAAA,aACA,OAAA,QACA,OAAA,KACA,eAAA,SACA,MAAA,KAGU,gCACV,SAAA,SACA,QAAA,aACA,MAAA,KACA,QAAA,KAGU,oCACV,MAAA,MACA,UAAA,MACA,OAAA,KAGkC,4DAClC,cAAA,IAGkC,uDAClC,MAAA,MAIkC,uDADA,qDAElC,MAAA,MACA,OAAA,KACA,MAAA,KACA,OAAA,WACA,YAAA,EACA,cAAA,IAIqD,yDADF,uDAEnD,QAAA,MACA,OAAA,KACA,WAAA,KACA,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,IACA,OAAA,KACA,WAAA,EAGkC,qDAlNlC,iBAAsB,qDAsNY,uDAtNlC,iBAAsB,uDA0NZ,gCACV,QAAA,KAGU,iCACV,QAAA,MAGiB,wCACjB,QAAA,aAGgB,0BAChB,KAAA,KACA,MAAA,IAGgB,yBAChB,KAAA,KACA,MAAA,IAGmB,6BACnB,aAAA,EACA,YAAA,EAGmB,4BACnB,aAAA,EACA,YAAA"}
|
After Width: | Height: | Size: 557 B |
After Width: | Height: | Size: 488 B |
After Width: | Height: | Size: 478 B |
After Width: | Height: | Size: 504 B |
After Width: | Height: | Size: 4.0 KiB |
2089
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-datepicker/bootstrap-datepicker.js
vendored
Executable file
9
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-datepicker/bootstrap-datepicker.min.js
vendored
Executable file
681
CMS/JXCMS.CMS.Movie/Admin/Content/js/bootstrap-datepicker/bootstrap-datepicker3.css
vendored
Executable file
@ -0,0 +1,681 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.6.1 (https://github.com/eternicode/bootstrap-datepicker)
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Improvements by Andrew Rowls
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
.datepicker {
|
||||
border-radius: 4px;
|
||||
direction: ltr;
|
||||
}
|
||||
.datepicker-inline {
|
||||
width: 220px;
|
||||
}
|
||||
.datepicker.datepicker-rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
.datepicker.datepicker-rtl table tr td span {
|
||||
float: right;
|
||||
}
|
||||
.datepicker-dropdown {
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 4px;
|
||||
}
|
||||
.datepicker-dropdown:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid rgba(0, 0, 0, 0.15);
|
||||
border-top: 0;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
}
|
||||
.datepicker-dropdown:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
border-top: 0;
|
||||
position: absolute;
|
||||
}
|
||||
.datepicker-dropdown.datepicker-orient-left:before {
|
||||
left: 6px;
|
||||
}
|
||||
.datepicker-dropdown.datepicker-orient-left:after {
|
||||
|